修改平级奖,添加极差设置

This commit is contained in:
liqianjin 2025-03-28 17:21:55 +08:00
parent 02e5659182
commit 4425982fb1
9 changed files with 89 additions and 34 deletions

View File

@ -130,6 +130,7 @@ class Order extends BaseApi
$search = array_search($fenxiao_info['data']['fenxiao_id'],$ids); $search = array_search($fenxiao_info['data']['fenxiao_id'],$ids);
if($search !== false){ if($search !== false){
$list['data']['list'][$k]['wholesale_point'] = $detail[$search]['commission']; $list['data']['list'][$k]['wholesale_point'] = $detail[$search]['commission'];
$list['data']['list'][$k]['wholesale_is_sideways'] = isset($detail[$search]['is_sideways']) && $detail[$search]['is_sideways'] == 1 ? 1 : 0;
} }
$ids = json_decode($item['founder_fenxiao_id'],true); $ids = json_decode($item['founder_fenxiao_id'],true);
$detail = json_decode($item['founder_fenxiao_detail'],true); $detail = json_decode($item['founder_fenxiao_detail'],true);
@ -137,9 +138,6 @@ class Order extends BaseApi
if($search !== false){ if($search !== false){
$list['data']['list'][$k]['founder_point'] = $detail[$search]['commission']; $list['data']['list'][$k]['founder_point'] = $detail[$search]['commission'];
} }
// if($item['fenxiao_order_id'] == 150){
// dump($list['data']['list'][$k]);
// }
} }
} }
return $this->response($list); return $this->response($list);

View File

@ -41,6 +41,7 @@ class Config extends BaseModel
'is_apply' => $data[ 'is_apply' ],//是否开启分销申请 'is_apply' => $data[ 'is_apply' ],//是否开启分销申请
'is_commission_money' => $data[ 'is_commission_money' ],//是否开启商品详情一级佣金 'is_commission_money' => $data[ 'is_commission_money' ],//是否开启商品详情一级佣金
'is_support_cashier' => $data[ 'is_support_cashier' ],//是否开启商品详情一级佣金 'is_support_cashier' => $data[ 'is_support_cashier' ],//是否开启商品详情一级佣金
'is_range' => (int)$data['is_range'],//是否极差计算佣金
'direct_rate' => $data[ 'direct_rate' ],//默认直推 'direct_rate' => $data[ 'direct_rate' ],//默认直推
'indirect_rate' => $data[ 'indirect_rate' ],//默认间推 'indirect_rate' => $data[ 'indirect_rate' ],//默认间推
'founder_rate' => $data[ 'founder_rate' ],//创始人分红比例 'founder_rate' => $data[ 'founder_rate' ],//创始人分红比例
@ -88,6 +89,7 @@ class Config extends BaseModel
if (empty($res[ 'data' ][ 'value' ])) { if (empty($res[ 'data' ][ 'value' ])) {
$res[ 'data' ][ 'value' ] = [ $res[ 'data' ][ 'value' ] = [
'level' => 2,//分销层级 'level' => 2,//分销层级
'is_range' => 0,//极差
'return' => 1,//分红返还 'return' => 1,//分红返还
'internal_buy' => 0,//分销内购 'internal_buy' => 0,//分销内购
'is_examine' => 0,//是否需要审核 'is_examine' => 0,//是否需要审核
@ -104,6 +106,7 @@ class Config extends BaseModel
$res[ 'data' ][ 'value' ][ 'is_commission_money' ] = $res[ 'data' ][ 'value' ][ 'is_commission_money' ] ?? 1; $res[ 'data' ][ 'value' ][ 'is_commission_money' ] = $res[ 'data' ][ 'value' ][ 'is_commission_money' ] ?? 1;
$res[ 'data' ][ 'value' ][ 'self_purchase_rebate' ] = $res[ 'data' ][ 'value' ][ 'self_purchase_rebate' ] ?? 1; $res[ 'data' ][ 'value' ][ 'self_purchase_rebate' ] = $res[ 'data' ][ 'value' ][ 'self_purchase_rebate' ] ?? 1;
$res[ 'data' ][ 'value' ][ 'is_apply' ] = $res[ 'data' ][ 'value' ][ 'is_apply' ] ?? 1; $res[ 'data' ][ 'value' ][ 'is_apply' ] = $res[ 'data' ][ 'value' ][ 'is_apply' ] ?? 1;
$res[ 'data' ][ 'value' ][ 'is_range' ] = $res[ 'data' ][ 'value' ][ 'is_range' ] ?? 0;
$res[ 'data' ][ 'value' ][ 'level' ] = $res[ 'data' ][ 'value' ][ 'level' ] == 3 ? 2 : $res[ 'data' ][ 'value' ][ 'level' ]; $res[ 'data' ][ 'value' ][ 'level' ] = $res[ 'data' ][ 'value' ][ 'level' ] == 3 ? 2 : $res[ 'data' ][ 'value' ][ 'level' ];
$res[ 'data' ][ 'value' ][ 'is_support_cashier' ] = $res[ 'data' ][ 'value' ][ 'is_support_cashier' ] ?? 0; $res[ 'data' ][ 'value' ][ 'is_support_cashier' ] = $res[ 'data' ][ 'value' ][ 'is_support_cashier' ] ?? 0;
$res[ 'data' ][ 'value' ][ 'direct_rate' ] = $res[ 'data' ][ 'value' ][ 'direct_rate' ] ?? 0; $res[ 'data' ][ 'value' ][ 'direct_rate' ] = $res[ 'data' ][ 'value' ][ 'direct_rate' ] ?? 0;

View File

@ -81,6 +81,11 @@ class FenxiaoOrder extends BaseModel
'founder_rate' => 0, 'founder_rate' => 0,
'founder_commission' => 0, 'founder_commission' => 0,
'founder_fenxiao_detail' => [], 'founder_fenxiao_detail' => [],
'sideways_fenxiao_id' => [],
'sideways_rate' => 0,
'sideways_commission' => 0,
'sideways_fenxiao_detail' => [],
'weight_money' => 0, 'weight_money' => 0,
// 'weight_fenxiao_id' => [], // 'weight_fenxiao_id' => [],
'is_weight' => 0 'is_weight' => 0
@ -91,7 +96,7 @@ class FenxiaoOrder extends BaseModel
if($goods_info['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->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']); $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']) || $order_fenxiao_data['wholesale_rate'] || $order_fenxiao_data['founder_rate']){ if(($order_fenxiao_data['commission'] && $order_fenxiao_data['commission_rate']) || $order_fenxiao_data['wholesale_rate'] || $order_fenxiao_data['founder_rate']){
$data = [ $data = [
@ -129,6 +134,11 @@ class FenxiaoOrder extends BaseModel
'founder_rate' => $order_fenxiao_data['founder_rate'], 'founder_rate' => $order_fenxiao_data['founder_rate'],
'founder_commission' => $order_fenxiao_data['founder_commission'], 'founder_commission' => $order_fenxiao_data['founder_commission'],
'founder_fenxiao_detail' => json_encode($order_fenxiao_data['founder_fenxiao_detail']), 'founder_fenxiao_detail' => json_encode($order_fenxiao_data['founder_fenxiao_detail']),
'sideways_fenxiao_id' => json_encode($order_fenxiao_data['sideways_fenxiao_id']),
'sideways_rate' => $order_fenxiao_data['sideways_rate'],
'sideways_commission' => $order_fenxiao_data['sideways_commission'],
'sideways_fenxiao_detail' => json_encode($order_fenxiao_data['sideways_fenxiao_detail']),
'is_weight' => $order_fenxiao_data['is_weight'], 'is_weight' => $order_fenxiao_data['is_weight'],
// 'weight_fenxiao_id' => json_encode($order_fenxiao_data['weight_fenxiao_id']), // 'weight_fenxiao_id' => json_encode($order_fenxiao_data['weight_fenxiao_id']),
'weight_money' => $order_fenxiao_data['weight_money'], 'weight_money' => $order_fenxiao_data['weight_money'],
@ -155,17 +165,25 @@ class FenxiaoOrder extends BaseModel
private function getPushFenXiaoCommission($fenxiao_info,$v,&$order_fenxiao_data,$type,$config){ private function getPushFenXiaoCommission($fenxiao_info,$v,&$order_fenxiao_data,$type,$config){
$one_rate = $config['direct_rate']; $one_rate = $config['direct_rate'];
$two_rate = $config['indirect_rate']; $two_rate = $config['indirect_rate'];
$is_range = $config['is_range'];
$sideways_rate = $config['sideways_rate'];
$one_money = $two_money = 0; $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') : []; $join = [
$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') : []; ['fenxiao_level fl','f.level_id = fl.level_id','right']
];
$parent_fenxiao_info = $fenxiao_info['parent'] > 0 ? model('fenxiao')->getInfo([ [ 'f.fenxiao_id', '=', $fenxiao_info[ 'parent' ] ], [ 'f.is_delete', '=', 0 ] ], 'f.fenxiao_id, f.fenxiao_name, f.status, f.parent,f.level_id,fl.level_num','f',$join) : [];
$g_parent_fenxiao_info = $fenxiao_info['grand_parent'] > 0 ? model('fenxiao')->getInfo([ [ 'f.fenxiao_id', '=', $fenxiao_info[ 'grand_parent' ] ], [ 'f.is_delete', '=', 0 ] ], 'f.fenxiao_id, f.fenxiao_name, f.status, f.parent,f.level_id,fl.level_num','f',$join) : [];
//直推
if (!empty($parent_fenxiao_info) && $parent_fenxiao_info[ 'status' ] == 1) { if (!empty($parent_fenxiao_info) && $parent_fenxiao_info[ 'status' ] == 1) {
if($type == 2){ 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' ] ] ]); $fenxiao_level = model('fenxiao_goods_sku')->getInfo([ [ 'goods_id', '=', $v[ 'goods_id' ] ], [ 'sku_id', '=', $v[ 'sku_id' ] ], [ 'level_id', '=', $parent_fenxiao_info[ 'level_id' ] ] ]);
if (empty($fenxiao_level)) return false; if (empty($fenxiao_level)) return false;
$one_rate = $fenxiao_level['direct_rate']; $one_rate = $fenxiao_level['direct_rate'];
$one_money = $fenxiao_level['direct_money']; $one_money = $fenxiao_level['direct_money'];
} }
if ($one_rate > 0) { if ($one_rate > 0) {
$order_fenxiao_data['commission_rate'] += $order_fenxiao_data[ 'one_rate' ] = $one_rate; $order_fenxiao_data['commission_rate'] += $order_fenxiao_data[ 'one_rate' ] = $one_rate;
$order_fenxiao_data['commission'] += $order_fenxiao_data[ 'one_commission' ] = $one_rate * $v[ 'real_goods_money' ] / 100; $order_fenxiao_data['commission'] += $order_fenxiao_data[ 'one_commission' ] = $one_rate * $v[ 'real_goods_money' ] / 100;
@ -176,24 +194,34 @@ class FenxiaoOrder extends BaseModel
$order_fenxiao_data['one_fenxiao_id'] = $parent_fenxiao_info['fenxiao_id']; $order_fenxiao_data['one_fenxiao_id'] = $parent_fenxiao_info['fenxiao_id'];
$order_fenxiao_data['one_fenxiao_name'] = $parent_fenxiao_info['fenxiao_name']; $order_fenxiao_data['one_fenxiao_name'] = $parent_fenxiao_info['fenxiao_name'];
} }
//间退
if (!empty($g_parent_fenxiao_info) && $g_parent_fenxiao_info[ 'status' ] == 1) { if (!empty($g_parent_fenxiao_info) && $g_parent_fenxiao_info[ 'status' ] == 1) {
if($type == 2){ if($type == 2){
$fenxiao_level = model('fenxiao_goods_sku')->getInfo([ [ 'goods_id', '=', $v[ 'goods_id' ] ], [ 'sku_id', '=', $v[ 'sku_id' ] ], [ 'level_id', '=', $g_parent_fenxiao_info[ 'level_id' ] ] ]); $fenxiao_level = model('fenxiao_goods_sku')->getInfo([ [ 'goods_id', '=', $v[ 'goods_id' ] ], [ 'sku_id', '=', $v[ 'sku_id' ] ], [ 'level_id', '=', $g_parent_fenxiao_info[ 'level_id' ] ] ]);
if (empty($fenxiao_level)) return false; if (empty($fenxiao_level)) return false;
$two_rate = $fenxiao_level['indirect_rate']; $two_rate = $fenxiao_level['indirect_rate'];
$two_money = $fenxiao_level['indirect_money']; $two_money = $fenxiao_level['indirect_money'];
} }
if ($two_rate > 0) { if ($two_rate > 0) {
$order_fenxiao_data['commission_rate'] += $order_fenxiao_data[ 'two_rate' ] = $two_rate; $order_fenxiao_data['commission_rate'] += $order_fenxiao_data[ 'two_rate' ] = $two_rate;
$order_fenxiao_data['commission'] += $order_fenxiao_data[ 'two_commission' ] = $two_rate * $v[ 'real_goods_money' ] / 100; $commission = $two_rate * $v[ 'real_goods_money' ] / 100;
} else { } else {
$order_fenxiao_data['commission_rate'] += $order_fenxiao_data[ 'two_rate' ] = round($two_money * $v[ 'num' ] / $v[ 'real_goods_money' ], 2); $order_fenxiao_data['commission_rate'] += $order_fenxiao_data[ 'two_rate' ] = round($two_money * $v[ 'num' ] / $v[ 'real_goods_money' ], 2);
$order_fenxiao_data['commission'] += $order_fenxiao_data[ 'two_commission' ] = $two_money * $v[ 'num' ]; $commission = $two_money * $v[ 'num' ];
}
//计算极差
if($is_range && $order_fenxiao_data['one_fenxiao_id'] > 0 && $parent_fenxiao_info['level_num'] == $g_parent_fenxiao_info['level_num']){
$commission = bcsub($order_fenxiao_data['one_commission'],$commission,2);
$order_fenxiao_data[ 'two_commission' ] = $sideways_rate * $commission / 100;
$order_fenxiao_data['commission'] += $commission;
} }
$order_fenxiao_data['two_fenxiao_id'] = $g_parent_fenxiao_info['fenxiao_id']; $order_fenxiao_data['two_fenxiao_id'] = $g_parent_fenxiao_info['fenxiao_id'];
$order_fenxiao_data['two_fenxiao_name'] = $g_parent_fenxiao_info['fenxiao_name']; $order_fenxiao_data['two_fenxiao_name'] = $g_parent_fenxiao_info['fenxiao_name'];
} }
return $order_fenxiao_data; return $order_fenxiao_data;
} }
@ -220,7 +248,6 @@ class FenxiaoOrder extends BaseModel
unset($chain[$count - 1]); unset($chain[$count - 1]);
$chain = array_values($chain); $chain = array_values($chain);
$chain = array_reverse($chain); $chain = array_reverse($chain);
$nodeUser = Db::name('fenxiao') $nodeUser = Db::name('fenxiao')
->where('f.is_delete', '=', 0) ->where('f.is_delete', '=', 0)
->alias('f') ->alias('f')
@ -230,6 +257,7 @@ class FenxiaoOrder extends BaseModel
->field('f.fenxiao_id,f.fenxiao_name,f.member_id,f.level_id,f.site_id,f.fenxiao_name,f.status,l.level_num,l.rank,l.is_weight') ->field('f.fenxiao_id,f.fenxiao_name,f.member_id,f.level_id,f.site_id,f.fenxiao_name,f.status,l.level_num,l.rank,l.is_weight')
->select(); //获取上级用户 ->select(); //获取上级用户
$nodeUser = $nodeUser ? $nodeUser->toArray() : []; $nodeUser = $nodeUser ? $nodeUser->toArray() : [];
if(count($nodeUser) > 0){ if(count($nodeUser) > 0){
$order_fenxiao_data = $this->getWholesaleCommission($nodeUser,$v,$order_fenxiao_data,$chain,$config,$goods_kind,$fenxiao_type); $order_fenxiao_data = $this->getWholesaleCommission($nodeUser,$v,$order_fenxiao_data,$chain,$config,$goods_kind,$fenxiao_type);
} }
@ -244,28 +272,43 @@ class FenxiaoOrder extends BaseModel
$max_level_num = (int)model('fenxiao_level')->stat([['site_id' ,'=' , $v['site_id']]],'max','level_num'); $max_level_num = (int)model('fenxiao_level')->stat([['site_id' ,'=' , $v['site_id']]],'max','level_num');
$one_fenxiao_id = $order_fenxiao_data['one_fenxiao_id']; $one_fenxiao_id = $order_fenxiao_data['one_fenxiao_id'];
$two_fenxiao_id = $order_fenxiao_data['two_fenxiao_id']; $two_fenxiao_id = $order_fenxiao_data['two_fenxiao_id'];
$level_num = 0;
$sideways_rate = $config['sideways_rate'];
$is_range = $config['is_range'];
foreach($chain as $k => $value){ foreach($chain as $k => $value){
$commission = 0;
$key = array_search($value,$fenxiao_user_id); $key = array_search($value,$fenxiao_user_id);
$user = $nodeUser[$key]; $user = $key !== false ? $nodeUser[$key] : [];
$rank = $goods_kind ? count($order_fenxiao_data['wholesale_fenxiao_id']) + 1 : count($order_fenxiao_data['wholesale_fenxiao_id']); $rank = $goods_kind ? count($order_fenxiao_data['wholesale_fenxiao_id']) + 1 : count($order_fenxiao_data['wholesale_fenxiao_id']);
//直推和间推也需要计算 //直推和间推也需要计算
if(!empty($user) && $rank < $user['rank'] && $rank <= 4){ if(!empty($user) && $rank < $user['rank'] && $rank <= 4 && $user['level_num'] >= $level_num){
$rate = $this->getLevelRate($rank,$v['site_id'],$v['goods_id'],$v[ 'sku_id' ],$user['level_id'],$config,$fenxiao_type); $rate = $this->getLevelRate($rank,$v['site_id'],$v['goods_id'],$v[ 'sku_id' ],$user['level_id'],$config,$fenxiao_type);
if($user['rank'] == 1 && ($one_fenxiao_id != $user['fenxiao_id'] && $two_fenxiao_id != $user['fenxiao_id'])){ 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; $order_fenxiao_data['commission_rate'] += $order_fenxiao_data[ 'wholesale_rate' ] += $rate;
$commission = $rate * $v[ '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){ }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; $order_fenxiao_data['commission_rate'] += $order_fenxiao_data[ 'wholesale_rate' ] += $rate;
$commission = $rate * $v[ '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];
} }
$is_sideways = 0;
if($commission > 0){
//等级相同并且开启了极差
if($level_num == $user['level_num'] && $is_range){
$is_sideways = 1;
$last_key = count($order_fenxiao_data['wholesale_fenxiao_id']) - 1;
if($last_key >= 0){
$commission = $sideways_rate * bcsub($order_fenxiao_data['wholesale_fenxiao_detail'][$last_key]['commission'],$commission,2) / 100;
}
}
$order_fenxiao_data['wholesale_fenxiao_id'][] = $user['fenxiao_id'];
$order_fenxiao_data['commission'] += $order_fenxiao_data[ 'wholesale_commission' ] += $commission;
$order_fenxiao_data['wholesale_fenxiao_detail'][] = ['name' => $user['fenxiao_name'], 'commission' => sprintf("%.2f", $commission),'is_sideways' => $is_sideways];
}
$level_num = $user['level_num'];
} }
//联合创始人分红 //联合创始人分红
if(isset($user) && !empty($user) && $max_level_num == $user['level_num'] && $config['founder_rate'] && $goods_kind === 0){ 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['founder_fenxiao_id'][] = $user['fenxiao_id'];
@ -289,6 +332,8 @@ class FenxiaoOrder extends BaseModel
} }
protected function getLevelRate($rank,$site_id,$goods_id,$sku_id,$level_id,$config,$fenxiao_type){ protected function getLevelRate($rank,$site_id,$goods_id,$sku_id,$level_id,$config,$fenxiao_type){
if($fenxiao_type == 2){ if($fenxiao_type == 2){
$fenxiao_level = model('fenxiao_goods_sku')->getInfo([ [ 'goods_id', '=', $goods_id ], [ 'sku_id', '=', $sku_id ], [ 'level_id', '=', $level_id ] ]); $fenxiao_level = model('fenxiao_goods_sku')->getInfo([ [ 'goods_id', '=', $goods_id ], [ 'sku_id', '=', $sku_id ], [ 'level_id', '=', $level_id ] ]);
@ -307,7 +352,6 @@ class FenxiaoOrder extends BaseModel
$config['four_rate'] ?? 0, $config['four_rate'] ?? 0,
]; ];
} }
return $rates[$rank]; return $rates[$rank];
} }

View File

@ -48,6 +48,7 @@ class Config extends BaseShop
'child_condition' => input('child_condition', ''),//成为下线条件 'child_condition' => input('child_condition', ''),//成为下线条件
'is_apply' => input('is_apply', ''),//是否开启分销申请0关闭 1开启 'is_apply' => input('is_apply', ''),//是否开启分销申请0关闭 1开启
'is_commission_money' => input('is_commission_money', ''),//是否开启商品详情一级佣金0关闭 1开启 'is_commission_money' => input('is_commission_money', ''),//是否开启商品详情一级佣金0关闭 1开启
'is_range' => input('is_range', 0),//极差
'one_rate' => input('one_rate', 0.00), 'one_rate' => input('one_rate', 0.00),
'two_rate' => input('two_rate', 0.00), 'two_rate' => input('two_rate', 0.00),
'three_rate' => input('three_rate', 0.00), 'three_rate' => input('three_rate', 0.00),

View File

@ -19,6 +19,16 @@
</div> </div>
</div> </div>
</div> </div>
<div class="layui-form-item distribution-index {if $basics_info.level == 0}layui-hide{/if}">
<label class="layui-form-label">极差计酬:</label>
<div class="layui-input-block">
<div class="layui-input-inline">
<input type="radio" name="is_range" value="1" lay-filter="is_range" title="开启" {if isset($basics_info.is_range) && $basics_info.is_range == 1} checked {/if}/>
<input type="radio" name="is_range" value="0" lay-filter="is_range" title="关闭" {if isset($basics_info.is_range) && $basics_info.is_range != 1} checked {/if}/>
</div>
</div>
<div class="word-aux ">分销商上级的佣金比例减去当前等级佣金比例为最终上级佣金计算比例</div>
</div>
<div class="layui-form-item distribution-index {if $basics_info.level == 0}layui-hide{/if}"> <div class="layui-form-item distribution-index {if $basics_info.level == 0}layui-hide{/if}">
<label class="layui-form-label">是否支持收银台订单:</label> <label class="layui-form-label">是否支持收银台订单:</label>

View File

@ -111,7 +111,7 @@ Order.prototype.cols = [
if(i == 0){ if(i == 0){
html += '<div>进货分佣:'+ (array_detail[i].commission > 0 ? array_detail[i].name +' ¥' + array_detail[i].commission : '--') +'</div>'; html += '<div>进货分佣:'+ (array_detail[i].commission > 0 ? array_detail[i].name +' ¥' + array_detail[i].commission : '--') +'</div>';
}else{ }else{
html += '<div style="padding-left: 24%">'+ (array_detail[i].commission > 0 ? array_detail[i].name +' ¥' + array_detail[i].commission : '--') +'</div>'; html += '<div style="padding-left: 24%">'+ (array_detail[i].commission > 0 ? array_detail[i].name +' ¥' + array_detail[i].commission + (array_detail[i].is_sideways == 1 ? '(平级奖)' : '') : '--') +'</div>';
} }
} }
}else{ }else{

View File

@ -109,7 +109,6 @@ class Cart extends BaseApi
{ {
$token = $this->checkToken(); $token = $this->checkToken();
if ($token[ 'code' ] < 0) return $this->response($token); if ($token[ 'code' ] < 0) return $this->response($token);
$this->initStoreData(); $this->initStoreData();
$goods = new Goods(); $goods = new Goods();
@ -120,8 +119,8 @@ class Cart extends BaseApi
]; ];
$field = 'ngc.cart_id, ngc.site_id, ngc.member_id, ngc.sku_id, ngc.num, ngs.sku_name,ngs.goods_id, $field = 'ngc.cart_id, ngc.site_id, ngc.member_id, ngc.sku_id, ngc.num, ngs.sku_name,ngs.goods_id,
ngs.sku_no, ngs.sku_spec_format,ngs.price,ngs.market_price, ngs.goods_spec_format, ngs.sku_no, ngs.sku_spec_format,ngs.price,ngs.market_price, ngs.goods_spec_format,
ngs.discount_price, ngs.promotion_type, ngs.start_time, ngs.end_time, ngs.stock, ngs.discount_price, ngs.promotion_type, ngs.start_time, ngs.end_time, ngs.stock,
ngs.sku_image, ngs.sku_images, ngs.goods_state, ngs.goods_stock_alarm, ngs.is_virtual, ngs.goods_name, ngs.is_consume_discount, ngs.discount_config, , ngs.discount_method, ngs.sku_image, ngs.sku_images, ngs.goods_state, ngs.goods_stock_alarm, ngs.is_virtual, ngs.goods_name, ngs.is_consume_discount, ngs.discount_config, ngs.discount_method,
ngs.virtual_indate, ngs.is_free_shipping, ngs.shipping_template, ngs.unit, ngs.introduction,ngs.sku_spec_format, ngs.keywords, ngs.max_buy, ngs.min_buy, ns.site_name, ngs.is_limit, ngs.limit_type'; ngs.virtual_indate, ngs.is_free_shipping, ngs.shipping_template, ngs.unit, ngs.introduction,ngs.sku_spec_format, ngs.keywords, ngs.max_buy, ngs.min_buy, ns.site_name, ngs.is_limit, ngs.limit_type';
$join = [ $join = [
[ 'goods_cart ngc', 'ngc.sku_id = ngs.sku_id', 'inner' ], [ 'goods_cart ngc', 'ngc.sku_id = ngs.sku_id', 'inner' ],

View File

@ -772,7 +772,13 @@ class OrderCreate extends BaseModel
] ]
]; ];
$jielong_id = $data['jielong_id'] ?? 0; $jielong_id = $data['jielong_id'] ?? 0;
if (!empty($cart_ids)) { if (!empty($sku_array)) {
$sku_array = json_decode($sku_array,true);
$sku_ids = array_column($sku_array,'sku_id');
$condition[] = [
['ngs.sku_id' ,'in' ,$sku_ids]
];
} else if(!empty($cart_ids)) {
$field .= ',ngc.member_id, ngc.sku_id, ngc.num'; $field .= ',ngc.member_id, ngc.sku_id, ngc.num';
if ($jielong_id > 0) { if ($jielong_id > 0) {
$join[] = [ $join[] = [
@ -790,12 +796,6 @@ class OrderCreate extends BaseModel
} }
$condition[] = ['ngc.cart_id', 'in', $cart_ids]; $condition[] = ['ngc.cart_id', 'in', $cart_ids];
$condition[] = ['ngc.member_id', '=', $member_id]; $condition[] = ['ngc.member_id', '=', $member_id];
} else if(!empty($sku_array)) {
$sku_array = json_decode($sku_array,true);
$sku_ids = array_column($sku_array,'sku_id');
$condition[] = [
['ngs.sku_id' ,'in' ,$sku_ids]
];
}else{ }else{
$num = $data['num']; $num = $data['num'];
$field .= ',' . $num . ' as num'; $field .= ',' . $num . ' as num';
@ -811,7 +811,7 @@ class OrderCreate extends BaseModel
if (!empty($goods_list)) { if (!empty($goods_list)) {
$express_type_list = (new \app\model\express\Config())->getExpressTypeList($data['site_id']); $express_type_list = (new \app\model\express\Config())->getExpressTypeList($data['site_id']);
foreach ($goods_list as $k => $v) { foreach ($goods_list as $k => $v) {
if ((!empty($cart_ids) || !empty($sku_id) && empty($sku_array)) && $v['num'] < 1) { if (((!empty($cart_ids) || !empty($sku_id)) && empty($sku_array)) && $v['num'] < 1) {
$this->setError(1, '商品项的购买数量不能小于1'); $this->setError(1, '商品项的购买数量不能小于1');
} }
if(!empty($sku_array)){ if(!empty($sku_array)){

View File

@ -24,7 +24,7 @@ class Test{
// //
public function test(){ public function test(){
$orderId = 95; $orderId = 101;
$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);