model = new ModelJdOrder(); } /** * 订单入库和更新 * * @return void */ public function fanliOrder($order) { $order_row_id = isset($order['id']) ? $order['id'] : ''; if(empty($order_row_id)) return ['status'=>false,'info'=>'订单号为空']; Db::startTrans(); $find_order = $this->model->where(['order_row_id'=>$order_row_id])->find(); $save_order = [ 'order_id' => isset($order['orderId']) ? $order['orderId'] : '', 'union_id' => isset($order['unionId']) ? $order['unionId'] : '', 'valid_code' => isset($order['validCode']) ? $order['validCode'] : '', 'pop_id' => isset($order['vid']) ? $order['vid'] : '', 'position_id' => isset($order['positionId']) ? $order['positionId'] : '', 'finish_time' => isset($order['finishTime']) ? $order['finishTime'] : '', 'order_emt' => isset($order['orderEmt']) ? $order['orderEmt'] : '', 'order_time' => isset($order['orderTime']) ? $order['orderTime'] : '', 'pay_month' => isset($order['payMonth']) ? $order['payMonth'] : '', 'plus' => isset($order['plus']) ? $order['plus'] : '', 'sku_list' => isset($order['sku_list']) ? ( is_array($order['sku_list']) ? implode(',', $order['sku_list']) : $order['sku_list']) : '', 'actual_cos_price' => isset($order['actualCosPrice']) ? $order['actualCosPrice'] : '', 'actual_fee' => isset($order['actualFee']) ? $order['actualFee'] : '', 'commission_rate' => isset($order['commissionShare']) ? $order['commissionShare'] : '', 'estimate_cos_price' => isset($order['estimateCosPrice']) ? $order['estimateCosPrice'] : '', 'estimate_fee' => isset($order['estimateFee']) ? $order['estimateFee'] : '', 'final_rate' => isset($order['finalRate']) ? $order['finalRate'] : '', 'sub_side_rate' => isset($order['subSideRate']) ? $order['subSideRate'] : '', 'sku_id' => isset($order['goods_id']) ? $order['goods_id'] : '', 'sku_num' => isset($order['skuNum']) ? $order['skuNum'] : '', 'sku_return_num' => isset($order['skuReturnNum']) ? $order['skuReturnNum'] : '', 'price' => isset($order['goods_price']) ? $order['goods_price'] : '', 'sku_name' => isset($order['goods_name']) ? $order['goods_name'] : '', 'cid1' => isset($order['cid1']) ? $order['cid1'] : '', 'frozen_sku_num' => isset($order['skuFrozenNum']) ? $order['skuFrozenNum'] : '', 'pid' => isset($order['pid']) ? $order['pid'] : '', 'cid2' => isset($order['cid2']) ? $order['cid2'] : '', 'site_id' => isset($order['siteId']) ? $order['siteId'] : '', 'subsidy_rate' => isset($order['subsidyRate']) ? $order['subsidyRate'] : '', 'cid3' => isset($order['cid3']) ? $order['cid3'] : '', 'union_alias' => isset($order['unionAlias']) ? $order['unionAlias'] : '', 'union_traffic_group' => isset($order['unionTrafficGroup']) ? $order['unionTrafficGroup'] : '', 'sub_union_id' => isset($order['subUnionId']) ? $order['subUnionId'] : '', 'trace_type' => isset($order['traceType']) ? $order['traceType'] : '', 'ext1' => isset($order['ext1']) ? $order['ext1'] : '', 'cp_act_id' => isset($order['cpActId']) ? $order['cpActId'] : '', 'union_role' => isset($order['unionRole']) ? $order['unionRole'] : '', 'gift_coupon_key' => isset($order['giftCouponKey']) ? $order['giftCouponKey'] : '', 'gift_coupon_ocs_amount' => isset($order['giftCouponOcsAmount']) ? $order['giftCouponOcsAmount'] : '', 'pro_price_amount' => isset($order['proPriceAmount']) ? $order['proPriceAmount'] : '', 'order_row_id' => $order_row_id, 'image_url' => isset($order['goodsInfo']['imageUrl']) ? $order['goodsInfo']['imageUrl'] : '', 'main_sku_id' => isset($order['goodsInfo']['mainSkuId']) ? $order['goodsInfo']['mainSkuId'] : '', 'owner' => isset($order['goodsInfo']['owner']) ? $order['goodsInfo']['owner'] : '', 'product_id' => isset($order['goodsInfo']['productId']) ? $order['goodsInfo']['productId'] : '', 'shop_id' => isset($order['goodsInfo']['shop_id']) ? $order['goodsInfo']['shop_id'] : '' ]; if(empty($find_order)){ $save_order['tk_z_status'] = 1; $save_order['is_distribution'] = (empty($save_order['position_id']) || $save_order['position_id'] == 0) ? 2 : 0; //如果没有渠道关系ID则该订单无须反佣 $save_order['create_time'] = time(); $res = $this->model->insert($save_order); if(!$res){ Db::rollback(); return ['status'=>false,'info'=>'订单添加失败,订单order_row_id:'.$order_row_id]; } }else{ if($find_order['valid_code'] != $save_order['valid_code']){ //订单发生改变,更新订单 $save_order['update_time'] = time(); $save_order['tk_z_status'] = 2; $res_update = $this->model->where(['order_row_id'=> $order_row_id])->update($save_order); if(!$res_update){ Db::rollback(); return ['status'=>false,'info'=>'订单更新失败,订单order_row_id:'.$order_row_id]; } } } Db::commit(); return ['status'=>true,'info'=>'订单逻辑处理完成']; } /** * 拆分订单 * * @return void */ public function chaifenOrder() { $list = $this->model->where(['is_distribution'=>0,'position_id'=>['neq',''],'position_id'=>['neq',0]])->whereOr("is_distribution = 1 And tk_z_status = 2 And position_id !=''")->limit(20)->order('id desc')->select(); if(!empty($list)){ $LogicJdCommission = new LogicJdCommission(); foreach($list as $order){ // $result = $LogicJdCommission->fanliCommission($order); $result = $LogicJdCommission->fanliCommissionNew($order); if(!$result){ mylog('订单拆分错误',$result['info'],"errorInfo"); } } } return ['status'=>true,'info'=>'拆分逻辑执行完成']; } }