分销订单逻辑
This commit is contained in:
parent
b9612fbdd9
commit
52e7230384
|
|
@ -7,6 +7,7 @@ class NodeParent
|
|||
{
|
||||
if (isset($param['parent'])) {
|
||||
$parentInfo = model('fenxiao')->getInfo(['fenxiao_id' => $param['parent']], 'fenxiao_id,fenxiao_name,parent,chain,depth_level');
|
||||
|
||||
if ($parentInfo) {
|
||||
$Parent['chain'] = $parentInfo['chain'] . $param['fenxiao_id'] . ',';
|
||||
$Parent['depth_level'] = $parentInfo['depth_level'] + 1;
|
||||
|
|
@ -14,6 +15,7 @@ class NodeParent
|
|||
$Parent['chain'] = $param['fenxiao_id'] . ',';
|
||||
$Parent['depth_level'] = 1;
|
||||
}
|
||||
|
||||
return $Parent;
|
||||
}
|
||||
if (isset($param['fenxiao_id'])) {
|
||||
|
|
|
|||
|
|
@ -40,6 +40,7 @@ class Config extends BaseModel
|
|||
'is_support_cashier' => $data[ 'is_support_cashier' ],//是否开启商品详情一级佣金
|
||||
'direct_rate' => $data[ 'direct_rate' ],//默认直推
|
||||
'indirect_rate' => $data[ 'indirect_rate' ],//默认间推
|
||||
'founder_rate' => $data[ 'founder_rate' ],//默认间推
|
||||
];
|
||||
$config->setConfig($basics_data, '分销基本配置', $is_use, [ [ 'site_id', '=', $site_id ], [ 'app_module', '=', 'shop' ], [ 'config_key', '=', 'FENXIAO_BASICS_CONFIG' ] ]);
|
||||
//分销商设置
|
||||
|
|
@ -83,6 +84,7 @@ class Config extends BaseModel
|
|||
'is_apply' => 0,//分销商申请方式
|
||||
'direct_rate' => 0,//是否开启商品详情一级佣金
|
||||
'indirect_rate' => 0,//是否开启商品详情一级佣金
|
||||
'founder_rate' => 0,//是否开启商品详情一级佣金
|
||||
];
|
||||
}
|
||||
$res[ 'data' ][ 'value' ][ 'is_commission_money' ] = $res[ 'data' ][ 'value' ][ 'is_commission_money' ] ?? 1;
|
||||
|
|
@ -92,6 +94,7 @@ class Config extends BaseModel
|
|||
$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' ][ 'indirect_rate' ] = $res[ 'data' ][ 'value' ][ 'indirect_rate' ] ?? 0;
|
||||
$res[ 'data' ][ 'value' ][ 'founder_rate' ] = $res[ 'data' ][ 'value' ][ 'founder_rate' ] ?? 0;
|
||||
|
||||
return $res;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -61,11 +61,14 @@ class Fenxiao extends BaseModel
|
|||
'fenxiao_id' => $data[ 'parent' ]
|
||||
]);
|
||||
}
|
||||
|
||||
$res = model('fenxiao')->add($data);
|
||||
$data['fenxiao_id'] = $res;
|
||||
$nodeInfo = event('NodeParent', $data, true);
|
||||
if ($nodeInfo) {
|
||||
model('fenxiao')->update($nodeInfo, [['fenxiao_id', '=', $res]]);
|
||||
}
|
||||
|
||||
//修改会员信息
|
||||
model('member')->update([ 'fenxiao_id' => $res, 'is_fenxiao' => 1 ], [ [ 'member_id', '=', $data[ 'member_id' ] ] ]);
|
||||
$stat_model = new Stat();
|
||||
|
|
@ -366,7 +369,6 @@ class Fenxiao extends BaseModel
|
|||
$member_info = model('member')->getInfo([ [ 'member_id', '=', $member_id ], [ 'site_id', '=', $site_id ], [ 'is_delete', '=', 0 ] ], 'order_num,order_complete_num,order_money,order_complete_money,is_fenxiao');
|
||||
if (empty($member_info)) return $this->error('', '未查询到会员信息');
|
||||
$fenxiao_info = $this->getFenxiaoDetailInfo([ [ 'f.member_id', '=', $member_id ] ])[ 'data' ];
|
||||
|
||||
if (!empty($fenxiao_info) && $member_info[ 'is_fenxiao' ]) return $this->error('', '已经是分销商');
|
||||
try {
|
||||
$config = new Config();
|
||||
|
|
@ -416,6 +418,7 @@ class Fenxiao extends BaseModel
|
|||
//获取用户信息
|
||||
$member_field = 'member_id,site_id,source_member,fenxiao_id,nickname,headimg,mobile,reg_time,order_money,order_complete_money,order_num,order_complete_num';
|
||||
$member_info = model('member')->getInfo([ [ 'member_id', '=', $member_id ] ], $member_field);
|
||||
|
||||
if (!empty($member_info)) {
|
||||
$parent = 0;
|
||||
if (!empty($member_info[ 'source_member' ])) {
|
||||
|
|
|
|||
|
|
@ -28,7 +28,6 @@ class FenxiaoOrder extends BaseModel
|
|||
//获取分销基础配置
|
||||
$config_model = new Config();
|
||||
$fenxiao_basic_config = $config_model->getFenxiaoBasicsConfig($order[ 'site_id' ])[ 'data' ][ 'value' ];
|
||||
|
||||
if (!$fenxiao_basic_config['level']) return $this->success();
|
||||
// //检测分销商上级关系
|
||||
$member_info = model("member")->getInfo([ [ 'member_id', '=', $order[ 'member_id' ] ] ], 'fenxiao_id,is_fenxiao,nickname,mobile');
|
||||
|
|
@ -40,7 +39,6 @@ class FenxiaoOrder extends BaseModel
|
|||
]);
|
||||
$member_info = model("member")->getInfo([ [ 'member_id', '=', $order[ 'member_id' ] ] ], 'fenxiao_id,is_fenxiao,nickname,mobile');
|
||||
}
|
||||
|
||||
// //如果没有分销商直接返回不计算,没有考虑首次付款上下级绑定
|
||||
if (empty($member_info)) return $this->success();
|
||||
if ($member_info[ 'fenxiao_id' ] == 0) return $this->success();
|
||||
|
|
@ -61,7 +59,7 @@ class FenxiaoOrder extends BaseModel
|
|||
// //判断几级分销
|
||||
// $parent_fenxiao_info = $level_config >= 2 ? model('fenxiao')->getInfo([ [ 'fenxiao_id', '=', $fenxiao_info[ 'parent' ] ], [ 'is_delete', '=', 0 ] ], 'fenxiao_id, fenxiao_name, status, parent') : [];
|
||||
// $grand_parent_fenxiao_info = $level_config >= 3 && !empty($parent_fenxiao_info[ 'parent' ]) ? model('fenxiao')->getInfo([ [ 'fenxiao_id', '=', $parent_fenxiao_info[ 'parent' ] ], [ 'is_delete', '=', 0 ] ], 'fenxiao_id, fenxiao_name, status') : [];
|
||||
$order_goods = model('order_goods')->getList([ [ 'order_id', '=', $order[ 'order_id' ] ], [ 'is_fenxiao', '=', 1 ] ], 'order_goods_id, goods_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');
|
||||
$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' ] ] ]);
|
||||
|
||||
|
|
@ -81,16 +79,19 @@ class FenxiaoOrder extends BaseModel
|
|||
'wholesale_rate' => 0,
|
||||
'wholesale_commission' => 0,
|
||||
'wholesale_fenxiao_detail' => [],
|
||||
'founder_fenxiao_id' => [],
|
||||
'founder_rate' => 0,
|
||||
'founder_commission' => 0,
|
||||
'founder_fenxiao_detail' => [],
|
||||
];
|
||||
|
||||
$goods_info = model('goods')->getInfo([['goods_id','=',$v['goods_id']]],'is_fenxiao, fenxiao_type');
|
||||
//参与了分销商品,有直推间推奖励
|
||||
if($goods_info['is_fenxiao']){
|
||||
$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);
|
||||
// dump($order_fenxiao_data);die;
|
||||
$order_fenxiao_data = $this->getWholesaleFenXiaoCommission($fenxiao_info,$v,$order_fenxiao_data,$goods_info['fenxiao_type'],$fenxiao_basic_config,$goods_info['goods_kind_id']);
|
||||
if($order_fenxiao_data['commission'] && $order_fenxiao_data['commission_rate']){
|
||||
$data = [
|
||||
'order_id' => $order['order_id'],
|
||||
'order_no' => $order['order_no'],
|
||||
|
|
@ -122,34 +123,35 @@ class FenxiaoOrder extends BaseModel
|
|||
'wholesale_rate' => $order_fenxiao_data['wholesale_rate'],
|
||||
'wholesale_commission' => $order_fenxiao_data['wholesale_commission'],
|
||||
'wholesale_fenxiao_detail' => json_encode($order_fenxiao_data['wholesale_fenxiao_detail']),
|
||||
'founder_fenxiao_id' => json_encode($order_fenxiao_data['founder_fenxiao_id']),
|
||||
'founder_rate' => $order_fenxiao_data['founder_rate'],
|
||||
'founder_commission' => $order_fenxiao_data['founder_commission'],
|
||||
'founder_fenxiao_detail' => json_encode($order_fenxiao_data['founder_fenxiao_detail']),
|
||||
'create_time' => time()
|
||||
];
|
||||
model("fenxiao_order")->add($data);
|
||||
}
|
||||
$fenxiao_info = model("fenxiao")->getInfo([ [ 'fenxiao_id', '=', $fenxiao_id ], [ 'is_delete', '=', 0 ] ]);
|
||||
}
|
||||
// // 分销商检测升级
|
||||
event('FenxiaoUpgrade', [
|
||||
'fenxiao_id' => $member_info[ 'fenxiao_id' ]
|
||||
'fenxiao_id' => $member_info[ 'fenxiao_id' ],
|
||||
]);
|
||||
return $this->success();
|
||||
}
|
||||
|
||||
private function getPushFenXiaoCommission($fenxiao_info,$v,&$order_fenxiao_data,$type,$config){
|
||||
if($type == 2){
|
||||
$fenxiao_level = model('fenxiao_goods_sku')->getInfo([ [ 'goods_id', '=', $v[ 'goods_id' ] ], [ 'sku_id', '=', $v[ 'sku_id' ] ], [ 'level_id', '=', $fenxiao_info[ 'level_id' ] ] ]);
|
||||
if (empty($fenxiao_level)) return false;
|
||||
$one_rate = $fenxiao_level['direct_rate'];
|
||||
$one_money = $fenxiao_level['direct_money'];
|
||||
$two_rate = $fenxiao_level['indirect_rate'];
|
||||
$two_money = $fenxiao_level['indirect_money'];
|
||||
}else{
|
||||
$one_rate = $config['direct_rate'];
|
||||
$two_rate = $config['indirect_rate'];
|
||||
$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') : [];
|
||||
$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') : [];
|
||||
$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' ] ] ]);
|
||||
if (empty($fenxiao_level)) return false;
|
||||
$one_rate = $fenxiao_level['direct_rate'];
|
||||
$one_money = $fenxiao_level['direct_money'];
|
||||
}
|
||||
if ($one_rate > 0) {
|
||||
$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;
|
||||
|
|
@ -161,7 +163,12 @@ class FenxiaoOrder extends BaseModel
|
|||
$order_fenxiao_data['one_fenxiao_name'] = $parent_fenxiao_info['fenxiao_name'];
|
||||
}
|
||||
if (!empty($g_parent_fenxiao_info) && $g_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', '=', $g_parent_fenxiao_info[ 'level_id' ] ] ]);
|
||||
if (empty($fenxiao_level)) return false;
|
||||
$two_rate = $fenxiao_level['indirect_rate'];
|
||||
$two_money = $fenxiao_level['indirect_money'];
|
||||
}
|
||||
if ($two_rate > 0) {
|
||||
$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;
|
||||
|
|
@ -176,23 +183,27 @@ class FenxiaoOrder extends BaseModel
|
|||
return $order_fenxiao_data;
|
||||
}
|
||||
|
||||
private function getWholesaleFenXiaoCommission($fenxiao_info,$v,&$order_fenxiao_data){
|
||||
private function getWholesaleFenXiaoCommission($fenxiao_info,$v,&$order_fenxiao_data,$type,$config,$goods_kind = 0){
|
||||
//不是报单商品才有自购
|
||||
if($config['self_purchase_rebate'] && $fenxiao_info['level_num'] > 0 && $goods_kind === 1){
|
||||
$order_fenxiao_data['wholesale_fenxiao_id'][] = $fenxiao_info['fenxiao_id'];
|
||||
$order_fenxiao_data['commission_rate'] += $order_fenxiao_data[ 'wholesale_rate' ] = $fenxiao_info[ 'one_rate' ];
|
||||
$commission = $fenxiao_info[ 'one_rate' ] * $v[ 'real_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];
|
||||
$level_List = model('fenxiao_level')->getList([['site_id', '=' ,$fenxiao_info['site_id']],['level_num' , '>' ,$fenxiao_info['level_num']]],'*','level_num asc');
|
||||
if($fenxiao_info['chain'] && $level_List){
|
||||
}
|
||||
if($fenxiao_info['chain']){
|
||||
$data = explode(',', $fenxiao_info['chain']);
|
||||
$chain = array_filter($data, function ($value) {
|
||||
return !empty($value);
|
||||
});
|
||||
// $count = count($chain);
|
||||
// //要删除最后一个数据,最后一个数据是自己的分销商ID
|
||||
// //因为逗号分割去除空白后最后一个key会被去掉,所以count不需要 - 1;
|
||||
// unset($chain[$count]);
|
||||
$count = count($chain);
|
||||
|
||||
//要删除最后一个数据,最后一个数据是自己的分销商ID
|
||||
unset($chain[$count - 1]);
|
||||
$chain = array_values($chain);
|
||||
$chain = array_reverse($chain);
|
||||
|
||||
$nodeUser = Db::name('fenxiao')
|
||||
->where('f.is_delete', '=', 0)
|
||||
->alias('f')
|
||||
|
|
@ -203,23 +214,68 @@ class FenxiaoOrder extends BaseModel
|
|||
->select(); //获取上级用户
|
||||
$nodeUser = $nodeUser ? $nodeUser->toArray() : [];
|
||||
if(count($nodeUser) > 0){
|
||||
$order_fenxiao_data = $this->getWholesaleCommission($nodeUser,$v,$order_fenxiao_data,$level_List);
|
||||
$order_fenxiao_data = $this->getWholesaleCommission($nodeUser,$v,$order_fenxiao_data,$chain,$fenxiao_info['level_num'] + 1,$type,$config,$goods_kind);
|
||||
}
|
||||
}
|
||||
|
||||
return $order_fenxiao_data;
|
||||
}
|
||||
|
||||
protected function getWholesaleCommission($nodeUser,$v,&$order_fenxiao_data,$chain,$leve_num,$type,$config,$goods_kind){
|
||||
//不考虑商品单独规则
|
||||
$fenxiao_user_id = array_column($nodeUser,'fenxiao_id');
|
||||
$max_level_num = (int)model('fenxiao_level')->stat([['site_id' ,'=' , $v['site_id']]],'max','level_num');
|
||||
foreach($chain as $k => $value){
|
||||
$key = array_search($value,$fenxiao_user_id);
|
||||
$user = $nodeUser[$key];
|
||||
if(isset($user) && !empty($user) && $user['level_num'] == $leve_num && $leve_num > 1){
|
||||
$order_fenxiao_data['wholesale_fenxiao_id'][] = $user['fenxiao_id'];
|
||||
$order_fenxiao_data['commission_rate'] += $order_fenxiao_data[ 'wholesale_rate' ] += $user[ 'two_rate' ];
|
||||
$commission = $user[ 'two_rate' ] * $v[ 'real_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];
|
||||
++$leve_num;
|
||||
}
|
||||
//联合创始人分红
|
||||
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;
|
||||
$order_fenxiao_data['commission'] += $order_fenxiao_data[ 'founder_commission' ] += $commission;
|
||||
$order_fenxiao_data['founder_fenxiao_detail'][] = ['name' => $user['fenxiao_name'], 'commission' => $commission];
|
||||
}
|
||||
}
|
||||
return $order_fenxiao_data;
|
||||
}
|
||||
|
||||
protected function getWholesaleCommission($nodeUser,$v,&$order_fenxiao_data,$level_List){
|
||||
protected function getWholesaleCommissions($nodeUser,$v,&$order_fenxiao_data,$chain,$leve_num,$type,$config){
|
||||
//不考虑商品单独规则
|
||||
$fenxiao_user_level_num = array_column($nodeUser,'level_num');
|
||||
foreach($level_List as $key => $val){
|
||||
$search = array_search($val['level_num'],$fenxiao_user_level_num);
|
||||
if($search){
|
||||
$order_fenxiao_data['wholesale_fenxiao_id'][] = $nodeUser[$search]['fenxiao_id'];
|
||||
$order_fenxiao_data['commission_rate'] += $order_fenxiao_data[ 'wholesale_rate' ] += $val[ 'two_rate' ];
|
||||
$commission = $val[ 'two_rate' ] * $v[ 'real_goods_money' ] / 100;
|
||||
$fenxiao_user_id = array_column($nodeUser,'fenxiao_id');
|
||||
$max_level_num = (int)model('fenxiao_level')->stat([['site_id' ,'=' , $v['site_id']]],'max','level_num');
|
||||
foreach($chain as $k => $value){
|
||||
$key = array_search($value,$fenxiao_user_id);
|
||||
$user = $nodeUser[$key];
|
||||
if(isset($user) && !empty($user) && $user['level_num'] == $leve_num && $leve_num > 1){
|
||||
//独立设置的佣金
|
||||
if($type == 2){
|
||||
|
||||
}else{
|
||||
|
||||
}
|
||||
$order_fenxiao_data['wholesale_fenxiao_id'][] = $user['fenxiao_id'];
|
||||
$order_fenxiao_data['commission_rate'] += $order_fenxiao_data[ 'wholesale_rate' ] += $user[ 'two_rate' ];
|
||||
$commission = $user[ 'two_rate' ] * $v[ 'real_goods_money' ] / 100;
|
||||
$order_fenxiao_data['commission'] += $order_fenxiao_data[ 'wholesale_commission' ] += $commission;
|
||||
$order_fenxiao_data['wholesale_fenxiao_detail'][] = ['name' => $nodeUser[$search]['fenxiao_name'], 'commission' => $commission];
|
||||
$order_fenxiao_data['wholesale_fenxiao_detail'][] = ['name' => $user['fenxiao_name'], 'commission' => $commission];
|
||||
++$leve_num;
|
||||
}
|
||||
//联合创始人分红
|
||||
if(isset($user) && !empty($user) && $max_level_num == $user['level_num'] && $config['founder_rate']){
|
||||
$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;
|
||||
$order_fenxiao_data['commission'] += $order_fenxiao_data[ 'founder_commission' ] += $commission;
|
||||
$order_fenxiao_data['founder_fenxiao_detail'][] = ['name' => $user['fenxiao_name'], 'commission' => $commission];
|
||||
}
|
||||
}
|
||||
return $order_fenxiao_data;
|
||||
|
|
|
|||
|
|
@ -51,6 +51,7 @@ class Config extends BaseShop
|
|||
'three_rate' => input('three_rate', 0.00),
|
||||
'direct_rate' => input('direct_rate', 0.00),
|
||||
'indirect_rate' => input('indirect_rate', 0.00),
|
||||
'founder_rate' => input('founder_rate', 0.00),
|
||||
'is_support_cashier' => input('is_support_cashier', 0)
|
||||
];
|
||||
|
||||
|
|
|
|||
|
|
@ -237,6 +237,18 @@
|
|||
<p>会员购买后给对应分销商的默认间推返佣比例</p>
|
||||
</div>
|
||||
</div>
|
||||
<div class="fenxiao-rate">
|
||||
<div class="layui-form-item">
|
||||
<label class="layui-form-label"><span class="required">*</span>创始人分红比例:</label>
|
||||
<div class="layui-input-inline">
|
||||
<input type="number" min="0" name="founder_rate" value="{$basics_info.founder_rate ?? 0}" lay-verify="founder_rate" autocomplete="off" class="layui-input len-short">
|
||||
</div>
|
||||
<div class="layui-form-mid">%</div>
|
||||
</div>
|
||||
<div class="word-aux">
|
||||
<p>会员购买后给上级创始人分销商的分红比例</p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
|
|
|||
|
|
@ -115,7 +115,19 @@ Order.prototype.cols = [
|
|||
}
|
||||
}
|
||||
}else{
|
||||
html += '<div>上级分佣:'+ ' ¥--' +'</div>';
|
||||
html += '<div>进货分佣:'+ ' ¥--' +'</div>';
|
||||
}
|
||||
if(orderitem.founder_commission > 0){
|
||||
var array_detail = $.parseJSON(orderitem.founder_fenxiao_detail);
|
||||
for(var i=0;i<array_detail.length;i++){
|
||||
if(i == 0){
|
||||
html += '<div>创始人分佣:'+ (array_detail[i].commission > 0 ? array_detail[i].name +' ¥' + array_detail[i].commission : '--') +'</div>';
|
||||
}else{
|
||||
html += '<div style="padding-left: 24%">'+ (array_detail[i].commission > 0 ? array_detail[i].name +' ¥' + array_detail[i].commission : '--') +'</div>';
|
||||
}
|
||||
}
|
||||
}else{
|
||||
html += '<div>创始人分佣:'+ ' ¥--' +'</div>';
|
||||
}
|
||||
return html;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -42,17 +42,19 @@ class DiyViewEdit extends Controller
|
|||
}
|
||||
|
||||
if (!empty($data[ 'id' ]) || !empty($data[ 'name' ])) {
|
||||
if($data['copy']){
|
||||
$site_id = $data[ 'site_id' ];
|
||||
$site_agent_id = model('site')->getValue([['site_id' , '=' , $site_id]],'agent_id');
|
||||
if(isset($data['copy']) && $data['copy']){
|
||||
$diy_view_condition = [
|
||||
[ 'site_id', '=', $site_agent_id ],
|
||||
];
|
||||
}else{
|
||||
$diy_view_condition = [
|
||||
[ 'site_id', '=', $data[ 'site_id' ] ],
|
||||
[ 'site_id', '=', $site_id ],
|
||||
];
|
||||
}
|
||||
$is_copy = $site_agent_id ? 1 : 0;
|
||||
$this->assign("is_copy", $is_copy);
|
||||
|
||||
|
||||
if (!empty($data[ 'id' ])) {
|
||||
|
|
|
|||
|
|
@ -115,6 +115,7 @@ class Goods extends BaseModel
|
|||
'site_id' => $data['site_id'],
|
||||
'goods_content' => $data['goods_content'],
|
||||
'goods_state' => $data['goods_state'],
|
||||
'goods_kind_id' => $data['goods_kind_id'],
|
||||
'goods_stock_alarm' => $data['goods_stock_alarm'],
|
||||
'is_free_shipping' => $data['is_free_shipping'],
|
||||
'shipping_template' => $data['shipping_template'],
|
||||
|
|
@ -284,6 +285,7 @@ class Goods extends BaseModel
|
|||
'site_id' => $data['site_id'],
|
||||
'goods_content' => $data['goods_content'],
|
||||
'goods_state' => $data['goods_state'],
|
||||
'goods_kind_id' => $data['goods_kind_id'],
|
||||
'goods_stock_alarm' => $data['goods_stock_alarm'],
|
||||
'is_free_shipping' => $data['is_free_shipping'],
|
||||
'shipping_template' => $data['shipping_template'],
|
||||
|
|
@ -1093,7 +1095,7 @@ class Goods extends BaseModel
|
|||
* @param string $order
|
||||
* @param string $field
|
||||
*/
|
||||
public function getGoodsPageList($condition = [], $page = 1, $page_size = PAGE_LIST_ROWS, $order = 'a.create_time desc', $field = 'a.goods_id,a.goods_name,a.site_id,a.site_name,a.goods_image,a.goods_state,a.price,a.goods_stock,a.goods_stock_alarm,a.create_time,a.sale_num,a.is_virtual,a.goods_class,a.goods_class_name,a.is_fenxiao,a.fenxiao_type,a.promotion_addon,a.sku_id,a.is_consume_discount,a.discount_config,a.discount_method,a.sort,a.label_id,a.is_delete', $alias = 'a', $join = [])
|
||||
public function getGoodsPageList($condition = [], $page = 1, $page_size = PAGE_LIST_ROWS, $order = 'a.create_time desc', $field = 'a.goods_id,a.goods_name,a.site_id,a.site_name,a.goods_image,a.goods_state,a.price,a.goods_stock,a.goods_stock_alarm,a.create_time,a.sale_num,a.is_virtual,a.goods_class,a.goods_class_name,a.goods_kind_id,a.is_fenxiao,a.fenxiao_type,a.promotion_addon,a.sku_id,a.is_consume_discount,a.discount_config,a.discount_method,a.sort,a.label_id,a.is_delete', $alias = 'a', $join = [])
|
||||
{
|
||||
$res = model('goods')->pageList($condition, $field, $order, $page, $page_size, $alias, $join);
|
||||
foreach ($res['list'] as $k => $v) {
|
||||
|
|
@ -1112,6 +1114,7 @@ class Goods extends BaseModel
|
|||
if (isset($v['real_stock'])) {
|
||||
$res['list'][$k]['real_stock'] = numberFormat($res['list'][$k]['real_stock']);
|
||||
}
|
||||
$res['list'][$k]['goods_kind_name'] = $res['list'][$k]['goods_kind_id'] ? '报单商品' : '进货商品';
|
||||
}
|
||||
return $this->success($res);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -24,11 +24,12 @@ class Test{
|
|||
|
||||
//
|
||||
public function test(){
|
||||
$orderId = 19;
|
||||
$orderId = 37;
|
||||
$order_info = model('order')->getInfo(['order_id' => $orderId]);
|
||||
// $fenxiao_order = new OrderPay();
|
||||
// $res = $fenxiao_order->handle($order_info);
|
||||
$fenxiao_order = new FenxiaoOrder();
|
||||
$res = $fenxiao_order->calculate($order_info);
|
||||
dump($res);die;
|
||||
// $memberId = 21;
|
||||
// (new Commission())->commissionHandleInit($orderId, $memberId);
|
||||
|
||||
|
|
|
|||
|
|
@ -133,7 +133,7 @@ class Goods extends BaseShop
|
|||
$order_by = $order . ' ' . $sort;
|
||||
}
|
||||
}
|
||||
$field = 'goods_id,goods_name,site_id,site_name,goods_image,goods_state,price,goods_stock,goods_stock_alarm,create_time,sale_num,is_virtual,goods_class,goods_class_name,is_fenxiao,fenxiao_type,promotion_addon,sku_id,is_consume_discount,is_zmxx,discount_config,discount_method,sort,label_id,is_delete,label_name,virtual_deliver_type';
|
||||
$field = 'goods_id,goods_name,site_id,site_name,goods_image,goods_state,price,goods_stock,goods_stock_alarm,create_time,goods_kind_id,sale_num,is_virtual,goods_class,goods_class_name,is_fenxiao,fenxiao_type,promotion_addon,sku_id,is_consume_discount,is_zmxx,discount_config,discount_method,sort,label_id,is_delete,label_name,virtual_deliver_type';
|
||||
$res = $goods_model->getGoodsPageList($condition, $page_index, $page_size, $order_by, $field);
|
||||
$goods_promotion_type = event('GoodsPromotionType');
|
||||
if (!empty($res['data']['list'])) {
|
||||
|
|
@ -260,6 +260,7 @@ class Goods extends BaseShop
|
|||
'goods_image' => input("goods_image", ""),// 商品主图路径
|
||||
'goods_content' => input("goods_content", ""),// 商品详情
|
||||
'goods_state' => input("goods_state", ""),// 商品状态(1.正常0下架)
|
||||
'goods_kind_id' => input("goods_kind_id", ""),// 商品种类(1.报单0进货)
|
||||
'price' => input("price", 0),// 商品价格(取第一个sku)
|
||||
'market_price' => input("market_price", 0),// 市场价格(取第一个sku)
|
||||
'cost_price' => input("cost_price", 0),// 成本价(取第一个sku)
|
||||
|
|
@ -425,6 +426,7 @@ class Goods extends BaseShop
|
|||
'goods_image' => input("goods_image",""),// 商品主图路径
|
||||
'goods_content' => input("goods_content",""),// 商品详情
|
||||
'goods_state' => input("goods_state",""),// 商品状态(1.正常0下架)
|
||||
'goods_kind_id' => input("goods_kind_id", ""),// 商品种类(1.报单0进货)
|
||||
'price' => input("price",0),// 商品价格(取第一个sku)
|
||||
'market_price' => input("market_price",0),// 市场价格(取第一个sku)
|
||||
'cost_price' => input("cost_price",0),// 成本价(取第一个sku)
|
||||
|
|
|
|||
|
|
@ -239,6 +239,13 @@
|
|||
<!-- <div class="word-aux">芝麻GO销售方式,多种模式</div>-->
|
||||
<!-- </div>-->
|
||||
<!-- </div>-->
|
||||
<div class="layui-form-item goods_state">
|
||||
<label class="layui-form-label"><span class="required">*</span>商品种类:</label>
|
||||
<div class="layui-input-block">
|
||||
<input type="radio" name="goods_kind_id" value="1" title="报单商品" checked lay-filter="goods_kind_id">
|
||||
<input type="radio" name="goods_kind_id" value="0" title="进货商品" lay-filter="goods_kind_id">
|
||||
</div>
|
||||
</div>
|
||||
<div class="layui-form-item goods_state">
|
||||
<label class="layui-form-label"><span class="required">*</span>是否上架:</label>
|
||||
<div class="layui-input-block">
|
||||
|
|
|
|||
|
|
@ -216,7 +216,13 @@
|
|||
</div>
|
||||
{/if}
|
||||
|
||||
|
||||
<div class="layui-form-item goods_state">
|
||||
<label class="layui-form-label"><span class="required">*</span>商品种类:</label>
|
||||
<div class="layui-input-block">
|
||||
<input type="radio" name="goods_kind_id" value="1" title="报单商品" lay-filter="goods_kind_id" {if $goods_info['goods_kind_id'] == 1 }checked{/if}>
|
||||
<input type="radio" name="goods_kind_id" value="0" title="进货商品" lay-filter="goods_kind_id" {if $goods_info['goods_kind_id'] == 0 }checked{/if}>
|
||||
</div>
|
||||
</div>
|
||||
<div class="layui-form-item goods_state">
|
||||
<label class="layui-form-label"><span class="required">*</span>是否上架:</label>
|
||||
<div class="layui-input-block">
|
||||
|
|
|
|||
|
|
@ -190,6 +190,7 @@
|
|||
<a href="javascript:;" class="multi-line-hiding text-color-sub" title="{{d.goods_name}}" lay-event="preview">{{d.goods_name}}</a>
|
||||
{/if}
|
||||
<span class="goods-class-name">{{ d.goods_class_name }}</span>
|
||||
<span class="goods-class-name">{{ d.goods_kind_name }}</span>
|
||||
{{# if(d.promotion_addon && d.promotion_addon_list){ }}
|
||||
<span class="promotion-addon">
|
||||
{{# for(var i=0;i<d.promotion_addon_list.length;i++){ }}
|
||||
|
|
|
|||
Loading…
Reference in New Issue