修改分销订单问题

This commit is contained in:
古明 2024-11-17 22:06:05 +08:00
parent 1337c4f745
commit 2c5d73a885
2 changed files with 18 additions and 13 deletions

View File

@ -61,7 +61,6 @@ class FenxiaoOrder extends BaseModel
$order_goods = model('order_goods')->getList([ [ 'order_id', '=', $order[ 'order_id' ] ], [ 'is_fenxiao', '=', 1 ] ], 'order_goods_id, goods_id , site_id, sku_id, sku_name, sku_image, sku_no, is_virtual, price, cost_price, num, goods_money, cost_money, delivery_no, delivery_status, real_goods_money');
if (empty($order_goods)) return $this->success();
model('fenxiao_order')->delete([ [ 'order_id', '=', $order[ 'order_id' ] ] ]);
foreach($order_goods as $k => $v){
$order_fenxiao_data = [
'commission' => 0,
@ -89,11 +88,14 @@ class FenxiaoOrder extends BaseModel
$goods_info = model('goods')->getInfo([['goods_id','=',$v['goods_id']]],'is_fenxiao, fenxiao_type,goods_kind_id');
//报单商品才有直推和间推
if($goods_info['goods_kind_id']){
$order_fenxiao_data = $this->getPushFenXiaoCommission($fenxiao_info,$v,$order_fenxiao_data,$goods_info['fenxiao_type'],$fenxiao_basic_config);
}
$order_fenxiao_data = $this->getWholesaleFenXiaoCommission($fenxiao_info,$v,$order_fenxiao_data,$fenxiao_basic_config,$goods_info['goods_kind_id'],$goods_info['fenxiao_type']);
if($order_fenxiao_data['commission'] && $order_fenxiao_data['commission_rate']){
if(($order_fenxiao_data['commission'] && $order_fenxiao_data['commission_rate']) || $order_fenxiao_data['wholesale_rate'] || $order_fenxiao_data['founder_rate']){
$data = [
'order_id' => $order['order_id'],
'order_no' => $order['order_no'],
@ -134,6 +136,7 @@ class FenxiaoOrder extends BaseModel
'weight_money' => $order_fenxiao_data['weight_money'],
'create_time' => time()
];
model("fenxiao_order")->add($data);
}
}
@ -157,6 +160,7 @@ class FenxiaoOrder extends BaseModel
$one_money = $two_money = 0;
$parent_fenxiao_info = $fenxiao_info['parent'] > 0 ? model('fenxiao')->getInfo([ [ 'fenxiao_id', '=', $fenxiao_info[ 'parent' ] ], [ 'is_delete', '=', 0 ] ], 'fenxiao_id, fenxiao_name, status, parent,level_id') : [];
$g_parent_fenxiao_info = $fenxiao_info['grand_parent'] > 0 ? model('fenxiao')->getInfo([ [ 'fenxiao_id', '=', $fenxiao_info[ 'grand_parent' ] ], [ 'is_delete', '=', 0 ] ], 'fenxiao_id, fenxiao_name, status, parent,level_id') : [];
if (!empty($parent_fenxiao_info) && $parent_fenxiao_info[ 'status' ] == 1) {
if($type == 2){
$fenxiao_level = model('fenxiao_goods_sku')->getInfo([ [ 'goods_id', '=', $v[ 'goods_id' ] ], [ 'sku_id', '=', $v[ 'sku_id' ] ], [ 'level_id', '=', $parent_fenxiao_info[ 'level_id' ] ] ]);
@ -199,13 +203,14 @@ class FenxiaoOrder extends BaseModel
//不是报单商品才有自购
if($config['self_purchase_rebate'] && $fenxiao_info['level_num'] > 0 && $goods_kind === 0){
$rate = $this->getLevelRate(1,$v['site_id'],$v['goods_id'],$v['sku_id'],$fenxiao_info['level_id'],$config,$fenxiao_type);
$order_fenxiao_data['wholesale_fenxiao_id'][] = $fenxiao_info['fenxiao_id'];
$order_fenxiao_data['commission_rate'] += $order_fenxiao_data[ 'wholesale_rate' ] = $rate;
$commission = $rate * $v[ 'real_goods_money' ] / 100;
$commission = $rate * $v[ 'goods_money' ] / 100;
$order_fenxiao_data['commission'] += $order_fenxiao_data[ 'wholesale_commission' ] = $commission;
$order_fenxiao_data['wholesale_fenxiao_detail'][] = ['name' => $fenxiao_info['fenxiao_name'], 'commission' => $commission];
}
if($fenxiao_info['chain']){
$data = explode(',', $fenxiao_info['chain']);
$chain = array_filter($data, function ($value) {
@ -252,13 +257,13 @@ class FenxiaoOrder extends BaseModel
if($user['rank'] == 1 && ($one_fenxiao_id != $user['fenxiao_id'] && $two_fenxiao_id != $user['fenxiao_id'])){
$order_fenxiao_data['wholesale_fenxiao_id'][] = $user['fenxiao_id'];
$order_fenxiao_data['commission_rate'] += $order_fenxiao_data[ 'wholesale_rate' ] += $rate;
$commission = $rate * $v[ 'real_goods_money' ] / 100;
$commission = $rate * $v[ 'goods_money' ] / 100;
$order_fenxiao_data['commission'] += $order_fenxiao_data[ 'wholesale_commission' ] += $commission;
$order_fenxiao_data['wholesale_fenxiao_detail'][] = ['name' => $user['fenxiao_name'], 'commission' => $commission];
}else if($user['rank'] > 1){
$order_fenxiao_data['wholesale_fenxiao_id'][] = $user['fenxiao_id'];
$order_fenxiao_data['commission_rate'] += $order_fenxiao_data[ 'wholesale_rate' ] += $rate;
$commission = $rate * $v[ 'real_goods_money' ] / 100;
$commission = $rate * $v[ 'goods_money' ] / 100;
$order_fenxiao_data['commission'] += $order_fenxiao_data[ 'wholesale_commission' ] += $commission;
$order_fenxiao_data['wholesale_fenxiao_detail'][] = ['name' => $user['fenxiao_name'], 'commission' => $commission];
}
@ -267,7 +272,7 @@ class FenxiaoOrder extends BaseModel
if(isset($user) && !empty($user) && $max_level_num == $user['level_num'] && $config['founder_rate'] && $goods_kind === 0){
$order_fenxiao_data['founder_fenxiao_id'][] = $user['fenxiao_id'];
$order_fenxiao_data['commission_rate'] += $order_fenxiao_data[ 'founder_rate' ] += $config['founder_rate'];
$commission = $config['founder_rate'] * $v[ 'real_goods_money' ] / 100;
$commission = $config['founder_rate'] * $v[ 'goods_money' ] / 100;
$order_fenxiao_data['commission'] += $order_fenxiao_data[ 'founder_commission' ] += $commission;
$order_fenxiao_data['founder_fenxiao_detail'][] = ['name' => $user['fenxiao_name'], 'commission' => $commission];
}
@ -275,7 +280,7 @@ class FenxiaoOrder extends BaseModel
if(!$order_fenxiao_data['is_weight'] && $goods_kind === 0){
$is_weight = $user['is_weight'];
if($is_weight){
$weight_money = $config['weight_rate'] * $v[ 'real_goods_money' ] / 100;
$weight_money = $config['weight_rate'] * $v[ 'goods_money' ] / 100;
$order_fenxiao_data['weight_money'] = $weight_money;
}
$order_fenxiao_data['is_weight'] = $is_weight;

View File

@ -24,14 +24,14 @@ class Test{
//
public function test(){
$orderId = 63;
$orderId = 92;
$order_info = model('order')->getInfo(['order_id' => $orderId]);
// $fenxiao_order = new OrderPay();
$fenxiao_order = new OrderPay();
// $res = $fenxiao_order->handle($order_info);
$fenxiao_order = new WeightOrder();
$res = $fenxiao_order->calculate(1);
// $fenxiao_order = new WeightOrder();
// $res = $fenxiao_order->calculate(1);
// $fenxiao_order_model = new FenxiaoOrder();
// $res = $fenxiao_order_model->calculate($order_info);
$res = $fenxiao_order->handle($order_info);
// $res = $fenxiao_order_model->calculateOrder($order_info['order_id']);
dump($res);die;
$fenxiao_id = 195;