diff --git a/addon/alipay/model/Order.php b/addon/alipay/model/Order.php index 70d96ec..d1b35d6 100644 --- a/addon/alipay/model/Order.php +++ b/addon/alipay/model/Order.php @@ -23,7 +23,7 @@ class Order extends BaseModel ]; $field = 'o.site_id,o.out_trade_no,o.pay_type,o.member_id,o.order_type,m.ali_openid,p.trade_no,p.pay_money'; $order = model('order')->getInfo([['o.order_id', '=', $order_id]], $field, 'o', $json); - if ($order['pay_type'] == 'zmxxpay') { //电商版自动扣款 + if (!is_null($order) && $order['pay_type'] == 'zmxxpay') { //电商版自动扣款 $apiApp = new MinCode($order['site_id']); $data = [ 'out_request_no' => $order['out_trade_no'] . rand(100, 999), diff --git a/addon/fenxiao/model/FenxiaoOrder.php b/addon/fenxiao/model/FenxiaoOrder.php index 3ec2e1e..0de41b8 100644 --- a/addon/fenxiao/model/FenxiaoOrder.php +++ b/addon/fenxiao/model/FenxiaoOrder.php @@ -382,17 +382,39 @@ class FenxiaoOrder extends BaseModel public function calculateOrder($order_id) { $fenxiao_order_info = model('fenxiao_order')->getFirstData([ [ 'order_id', '=', $order_id ] ], 'one_fenxiao_id'); - // $alias = 'a'; - // $join = [ - // ['goods g', 'a.goods_id = g.goods_id', 'right'] - // ]; - // $order_goods = model('order_goods')->getSum([ [ 'a.order_id', '=', $order_id ], [ 'a.is_fenxiao', '=', 1 ] ], 'a.real_goods_money',$alias,$join); + $alias = 'a'; + $join = [ + ['goods g', 'a.goods_id = g.goods_id', 'right'] + ]; + $order_goods = model('order_goods')->getList([ [ 'a.order_id', '=', $order_id ], [ 'a.is_fenxiao', '=', 1 ] ],'a.goods_id,a.member_id,a.real_goods_money,a.sku_id,g.goods_kind_id','',$alias,$join); + if($order_goods){ + foreach($order_goods as $k => $v){ + $fenxiao_order_info = model('fenxiao_order')->getFirstData([ [ 'order_id', '=', $order_id ],['sku_id', '=' ,$v['sku_id']] ], 'one_fenxiao_id,wholesale_fenxiao_id'); + + if($v['goods_kind_id'] == 1){ + $one_fenxiao_id = $fenxiao_order_info['two_fenxiao_id']; + }else{ + //进货产品不会产生直推奖,也就没有一级分销商ID + $json = json_decode($fenxiao_order_info['wholesale_fenxiao_id'],true); + $one_fenxiao_id = isset($json[1]) ? $json[1] : 0; + } + $one_fenxiao_total_order = model('fenxiao_order')->getSum([ [ 'order_id', '=', $order_id ] ], 'real_goods_money'); + if($one_fenxiao_id){ + model('fenxiao')->setInc([ [ 'fenxiao_id', '=', $one_fenxiao_id ] ], 'one_fenxiao_total_order', $one_fenxiao_total_order); + // 分销商检测升级 + event('FenxiaoUpgrade', [ + 'fenxiao_id' => $one_fenxiao_id + ]); + } + } + } + //需要重新找上级,因为进货订单 if (!empty($fenxiao_order_info)) { - $one_commission_sum = model('fenxiao_order')->getSum([ [ 'order_id', '=', $order_id ] ], 'one_commission'); - $one_fenxiao_total_order = model('fenxiao_order')->getSum([ [ 'order_id', '=', $order_id ] ], 'real_goods_money'); + model('fenxiao')->setInc([ [ 'fenxiao_id', '=', $fenxiao_order_info[ 'one_fenxiao_id' ] ] ], 'one_fenxiao_order_num'); - model('fenxiao')->setInc([ [ 'fenxiao_id', '=', $fenxiao_order_info[ 'one_fenxiao_id' ] ] ], 'one_fenxiao_order_money', $one_commission_sum); - model('fenxiao')->setInc([ [ 'fenxiao_id', '=', $fenxiao_order_info[ 'one_fenxiao_id' ] ] ], 'one_fenxiao_total_order', $one_fenxiao_total_order); + $one_commission_sum = model('fenxiao_order')->getSum([ [ 'order_id', '=', $order_id ] ], 'one_commission'); + model('fenxiao')->setInc([ [ 'fenxiao_id', '=', $one_fenxiao_id ] ], 'one_fenxiao_order_money', $one_commission_sum); + // 分销商检测升级 event('FenxiaoUpgrade', [ 'fenxiao_id' => $fenxiao_order_info[ 'one_fenxiao_id' ] diff --git a/app/model/order/OrderCreate.php b/app/model/order/OrderCreate.php index 8fe12ba..97379b0 100644 --- a/app/model/order/OrderCreate.php +++ b/app/model/order/OrderCreate.php @@ -506,7 +506,7 @@ class OrderCreate extends BaseModel ]; $fenxiao_info = model('fenxiao')->getInfo([['f.member_id','=',$data['member_id']]],'f.fenxiao_id,f.level_id,l.level_num','f',$join); if((!$fenxiao_info || $fenxiao_info['level_num'] === 0) && $search !== false){ - return $this->error(1, "购买此商品需要有分销身份"); + return $this->error(1, "请升级为会员再进货"); } diff --git a/app/pay/controller/Test.php b/app/pay/controller/Test.php index 12d7164..80102e0 100644 --- a/app/pay/controller/Test.php +++ b/app/pay/controller/Test.php @@ -24,7 +24,7 @@ class Test{ // public function test(){ - $orderId = 53; + $orderId = 63; $order_info = model('order')->getInfo(['order_id' => $orderId]); // $fenxiao_order = new OrderPay(); // $res = $fenxiao_order->handle($order_info); @@ -32,10 +32,11 @@ class Test{ // $res = $fenxiao_order->calculate($order_info); $fenxiao_order_model = new FenxiaoOrder(); $res = $fenxiao_order_model->calculateOrder($order_info['order_id']); - // $fenxiao_id = 195; - // $fenxiao = new Fenxiao(); - // $res = $fenxiao->fenxiaoUpgrade($fenxiao_id); dump($res);die; + $fenxiao_id = 195; + $fenxiao = new Fenxiao(); + $res = $fenxiao->fenxiaoUpgrade($fenxiao_id); + // $memberId = 21; // (new Commission())->commissionHandleInit($orderId, $memberId);