修改分销订单升级错误,修改订单未触发自动完成事件

This commit is contained in:
古明 2024-09-27 21:57:29 +08:00
parent 111693a098
commit 0c8996e665
4 changed files with 38 additions and 15 deletions

View File

@ -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'; $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); $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']); $apiApp = new MinCode($order['site_id']);
$data = [ $data = [
'out_request_no' => $order['out_trade_no'] . rand(100, 999), 'out_request_no' => $order['out_trade_no'] . rand(100, 999),

View File

@ -382,17 +382,39 @@ class FenxiaoOrder extends BaseModel
public function calculateOrder($order_id) public function calculateOrder($order_id)
{ {
$fenxiao_order_info = model('fenxiao_order')->getFirstData([ [ 'order_id', '=', $order_id ] ], 'one_fenxiao_id'); $fenxiao_order_info = model('fenxiao_order')->getFirstData([ [ 'order_id', '=', $order_id ] ], 'one_fenxiao_id');
// $alias = 'a'; $alias = 'a';
// $join = [ $join = [
// ['goods g', 'a.goods_id = g.goods_id', 'right'] ['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); $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)) { 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_num');
model('fenxiao')->setInc([ [ 'fenxiao_id', '=', $fenxiao_order_info[ 'one_fenxiao_id' ] ] ], 'one_fenxiao_order_money', $one_commission_sum); $one_commission_sum = model('fenxiao_order')->getSum([ [ 'order_id', '=', $order_id ] ], 'one_commission');
model('fenxiao')->setInc([ [ 'fenxiao_id', '=', $fenxiao_order_info[ 'one_fenxiao_id' ] ] ], 'one_fenxiao_total_order', $one_fenxiao_total_order); model('fenxiao')->setInc([ [ 'fenxiao_id', '=', $one_fenxiao_id ] ], 'one_fenxiao_order_money', $one_commission_sum);
// 分销商检测升级 // 分销商检测升级
event('FenxiaoUpgrade', [ event('FenxiaoUpgrade', [
'fenxiao_id' => $fenxiao_order_info[ 'one_fenxiao_id' ] 'fenxiao_id' => $fenxiao_order_info[ 'one_fenxiao_id' ]

View File

@ -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); $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){ if((!$fenxiao_info || $fenxiao_info['level_num'] === 0) && $search !== false){
return $this->error(1, "购买此商品需要有分销身份"); return $this->error(1, "请升级为会员再进货");
} }

View File

@ -24,7 +24,7 @@ class Test{
// //
public function test(){ public function test(){
$orderId = 53; $orderId = 63;
$order_info = model('order')->getInfo(['order_id' => $orderId]); $order_info = model('order')->getInfo(['order_id' => $orderId]);
// $fenxiao_order = new OrderPay(); // $fenxiao_order = new OrderPay();
// $res = $fenxiao_order->handle($order_info); // $res = $fenxiao_order->handle($order_info);
@ -32,10 +32,11 @@ class Test{
// $res = $fenxiao_order->calculate($order_info); // $res = $fenxiao_order->calculate($order_info);
$fenxiao_order_model = new FenxiaoOrder(); $fenxiao_order_model = new FenxiaoOrder();
$res = $fenxiao_order_model->calculateOrder($order_info['order_id']); $res = $fenxiao_order_model->calculateOrder($order_info['order_id']);
// $fenxiao_id = 195;
// $fenxiao = new Fenxiao();
// $res = $fenxiao->fenxiaoUpgrade($fenxiao_id);
dump($res);die; dump($res);die;
$fenxiao_id = 195;
$fenxiao = new Fenxiao();
$res = $fenxiao->fenxiaoUpgrade($fenxiao_id);
// $memberId = 21; // $memberId = 21;
// (new Commission())->commissionHandleInit($orderId, $memberId); // (new Commission())->commissionHandleInit($orderId, $memberId);