|
@@ -219,23 +219,6 @@ class ordersendlistControl extends SystemControl
|
|
return $mches;
|
|
return $mches;
|
|
};
|
|
};
|
|
|
|
|
|
- $unique_array = function ($ids)
|
|
|
|
- {
|
|
|
|
- $ids = array_unique($ids);
|
|
|
|
- sort($ids);
|
|
|
|
- return $ids;
|
|
|
|
- };
|
|
|
|
-
|
|
|
|
- $int_array = function ($sids)
|
|
|
|
- {
|
|
|
|
- $result = [];
|
|
|
|
- foreach ($sids as $sid) {
|
|
|
|
- $result[] = intval($sid);
|
|
|
|
- }
|
|
|
|
-
|
|
|
|
- return $result;
|
|
|
|
- };
|
|
|
|
-
|
|
|
|
$model_refill_order = Model('refill_order');
|
|
$model_refill_order = Model('refill_order');
|
|
|
|
|
|
$base_cond['refill_order.inner_status'] = 0;
|
|
$base_cond['refill_order.inner_status'] = 0;
|
|
@@ -313,25 +296,50 @@ class ordersendlistControl extends SystemControl
|
|
{
|
|
{
|
|
$order_list = $this->orderFormat($order_list, $merchant_list);
|
|
$order_list = $this->orderFormat($order_list, $merchant_list);
|
|
|
|
|
|
- $order_ids = array_column($order_list,'order_id');
|
|
|
|
- $order_ids = $unique_array($order_ids);
|
|
|
|
|
|
+ //补充订单的返销状态,按客户单号判断
|
|
|
|
+ $mch_orders = array_column($order_list,'mch_order');
|
|
|
|
+ $mch_orders = array_unique($mch_orders);
|
|
|
|
+
|
|
|
|
+ $relate_con = [
|
|
|
|
+ 'refill_order.order_time' => $base_cond['refill_order.order_time'],
|
|
|
|
+ 'refill_order.mch_order' => ['in', $mch_orders],
|
|
|
|
+ 'vr_order.order_state' => ORDER_STATE_SUCCESS,
|
|
|
|
+ 'refill_order.inner_status' => 0
|
|
|
|
+ ];
|
|
|
|
+ $relate_list = Model('')->table('refill_order,vr_order')
|
|
|
|
+ ->join('inner')
|
|
|
|
+ ->on('refill_order.order_id=vr_order.order_id')
|
|
|
|
+ ->field("refill_order.order_id,refill_order.mch_order")
|
|
|
|
+ ->where($relate_con)
|
|
|
|
+ ->select();
|
|
|
|
+
|
|
|
|
+ $relate_order_map = [];
|
|
|
|
+ foreach ($relate_list as $item) {
|
|
|
|
+ $relate_order_map[$item['order_id']] = $item['mch_order'];
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ $order_ids = array_column($relate_list, 'order_id');
|
|
|
|
+ $order_ids = array_unique($order_ids);
|
|
|
|
|
|
$refill_buyback_model = Model('refill_buyback');
|
|
$refill_buyback_model = Model('refill_buyback');
|
|
- $buybacks = $refill_buyback_model->getBuyBackList(['order_id' => ['in',$order_ids], 'manual_type' => 'buyback']);
|
|
|
|
- $buyback_ids = array_column($buybacks, 'order_id');
|
|
|
|
- $buyback_ids = $int_array($buyback_ids);
|
|
|
|
- $buyback_ids = $unique_array($buyback_ids);
|
|
|
|
|
|
+ $buybacks = $refill_buyback_model->getBuyBackList(['order_id' => ['in', $order_ids], 'manual_type' => 'buyback'], '', 'order_id');
|
|
|
|
|
|
- foreach ($order_list as $key => $order)
|
|
|
|
|
|
+ $mch_order_buyback = [];
|
|
|
|
+ foreach ($buybacks as $buyback)
|
|
{
|
|
{
|
|
- if($order['order_state'] != ORDER_STATE_SUCCESS) {
|
|
|
|
- $order_list[$key]['buyback'] = false;
|
|
|
|
- continue;
|
|
|
|
|
|
+ $order_id = $buyback['order_id'];
|
|
|
|
+ $relate_mch_order = $relate_order_map[$order_id];
|
|
|
|
+ if (!in_array($relate_mch_order, $mch_order_buyback)) {
|
|
|
|
+ $mch_order_buyback[] = $relate_mch_order;
|
|
}
|
|
}
|
|
- $order_id = intval($order['order_id']);
|
|
|
|
- if (algorithm::binary_search($buyback_ids, $order_id)) {
|
|
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ foreach ($order_list as $key => $order)
|
|
|
|
+ {
|
|
|
|
+ $mch_order = $order['mch_order'];
|
|
|
|
+ if (in_array($mch_order, $mch_order_buyback)) {
|
|
$order_list[$key]['buyback'] = true;
|
|
$order_list[$key]['buyback'] = true;
|
|
- }else{
|
|
|
|
|
|
+ } else {
|
|
$order_list[$key]['buyback'] = false;
|
|
$order_list[$key]['buyback'] = false;
|
|
}
|
|
}
|
|
}
|
|
}
|