From b9612fbdd9071656e7910d3e13340cbb7c0dd310 Mon Sep 17 00:00:00 2001 From: liqianjin <949671634@qq.com> Date: Tue, 24 Sep 2024 18:03:59 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E8=BF=9B=E8=B4=A7=E7=B3=BB?= =?UTF-8?q?=E7=BB=9F=E5=88=86=E9=94=80=E5=85=B3=E8=8A=82=E8=8A=82=E7=82=B9?= =?UTF-8?q?=EF=BC=8C=E5=88=86=E9=94=80=E8=AE=A2=E5=8D=95=E9=80=BB=E8=BE=91?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- addon/fenxiao/config/event.php | 3 + addon/fenxiao/event/NodeParent.php | 26 ++++ addon/fenxiao/model/Config.php | 1 - addon/fenxiao/model/Fenxiao.php | 127 ++++++++++++++++-- addon/fenxiao/model/FenxiaoAccount.php | 5 +- addon/fenxiao/model/FenxiaoOrder.php | 24 ++-- addon/fenxiao/shop/controller/Level.php | 4 +- addon/fenxiao/shop/view/level/add.html | 45 ++++--- addon/fenxiao/shop/view/level/edit.html | 57 ++++---- .../fenxiao/shop/view/public/js/order_list.js | 27 ++-- app/event/OrderPayChange.php | 2 +- app/job/RelationshipChainChangesJob.php | 12 +- app/pay/controller/Test.php | 11 +- 13 files changed, 250 insertions(+), 94 deletions(-) create mode 100644 addon/fenxiao/event/NodeParent.php diff --git a/addon/fenxiao/config/event.php b/addon/fenxiao/config/event.php index d7488f0..2581163 100644 --- a/addon/fenxiao/config/event.php +++ b/addon/fenxiao/config/event.php @@ -77,6 +77,9 @@ return [ //统计写入 'AddStat' => [ 'addon\fenxiao\event\AddStat', + ], + 'NodeParent'=>[ + 'addon\fenxiao\event\NodeParent', ] ], diff --git a/addon/fenxiao/event/NodeParent.php b/addon/fenxiao/event/NodeParent.php new file mode 100644 index 0000000..c2df47d --- /dev/null +++ b/addon/fenxiao/event/NodeParent.php @@ -0,0 +1,26 @@ +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; + } else { + $Parent['chain'] = $param['fenxiao_id'] . ','; + $Parent['depth_level'] = 1; + } + return $Parent; + } + if (isset($param['fenxiao_id'])) { + $Parent['chain'] = $param['fenxiao_id'] . ','; + $Parent['depth_level'] = 1; + return $Parent; + } + return []; + } +} diff --git a/addon/fenxiao/model/Config.php b/addon/fenxiao/model/Config.php index 2c96f26..3e1cad8 100644 --- a/addon/fenxiao/model/Config.php +++ b/addon/fenxiao/model/Config.php @@ -75,7 +75,6 @@ class Config extends BaseModel { $config = new ConfigModel(); $res = $config->getConfig([ [ 'site_id', '=', $site_id ], [ 'app_module', '=', 'shop' ], [ 'config_key', '=', 'FENXIAO_BASICS_CONFIG' ] ]); - if (empty($res[ 'data' ][ 'value' ])) { $res[ 'data' ][ 'value' ] = [ 'level' => 2,//分销层级 diff --git a/addon/fenxiao/model/Fenxiao.php b/addon/fenxiao/model/Fenxiao.php index 587bd12..952e238 100644 --- a/addon/fenxiao/model/Fenxiao.php +++ b/addon/fenxiao/model/Fenxiao.php @@ -14,6 +14,7 @@ use app\model\BaseModel; use app\model\member\Member; use app\model\order\OrderCommon; use app\model\system\Stat; +use think\facade\Db; use think\facade\Queue; /** @@ -61,6 +62,10 @@ class Fenxiao extends BaseModel ]); } $res = model('fenxiao')->add($data); + $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(); @@ -361,6 +366,7 @@ 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(); @@ -410,7 +416,6 @@ 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' ])) { @@ -524,25 +529,41 @@ class Fenxiao extends BaseModel 'f.site_id' ]; $fenxiao_info = model('fenxiao')->getInfo($where, $field, 'f', $join); + if (!empty($fenxiao_info)) { $level_list = model('fenxiao_level')->getList([ ['site_id','=',$fenxiao_info['site_id']], ['level_num','>',$fenxiao_info['level_num']] ],'*','level_num asc,one_rate asc'); + if (!empty($level_list)) { $upgrade_level = null; foreach ($level_list as $item) { // 判断:是否需要判断购买指定商品之一升级 $goodsReach = true;// 默认条件达成 $goodsIds = $item['goods_ids'] ?? ''; - $goodsIdsArr = $goodsIds ? explode(',', $goodsIds) : []; + $goodsIdsArr = $goodsIds && $orderId > 0 ? explode(',', $goodsIds) : []; if($orderId > 0 && count($goodsIdsArr) > 0){ + $isBuy = (int)model('order_goods')->getValue([ ['order_id', '=', $orderId], ['goods_id', 'in', $goodsIdsArr], ],'order_goods_id'); + $goodsReach = $isBuy > 0; } + if($item['one_child_fenxiao_equal']){ + $equal_where = [ + ['f.chain', 'like', '%' . $fenxiao_id . ',' . '%' ], + ['f.status','=',1], + ['f.is_delete','=',0], + ['fl.level_num','>=',$fenxiao_info['level_num']], + ]; + //查询用户下线中是否有相同等级或更高的 + $one_child_fenxiao_equal_num = model('fenxiao')->getCount($equal_where, '*', 'f', $join); + }else{ + $one_child_fenxiao_equal_num = 0; + } // 判断:是否升级 if ($item[ 'upgrade_type' ] == 2) { // 需要满足全部条件 @@ -552,7 +573,7 @@ class Fenxiao extends BaseModel && $fenxiao_info[ 'one_fenxiao_total_order' ] >= $item[ 'one_fenxiao_total_order' ] && $fenxiao_info[ 'one_fenxiao_order_money' ] >= $item[ 'one_fenxiao_order_money' ] && $fenxiao_info[ 'one_child_num' ] >= $item[ 'one_child_num' ] - && $fenxiao_info[ 'one_child_fenxiao_num' ] >= $item[ 'one_child_fenxiao_num' ] + && (($fenxiao_info[ 'one_child_fenxiao_num' ] >= $item[ 'one_child_fenxiao_num' ] && $item['one_child_fenxiao_equal'] == 0) || ($item['one_child_fenxiao_equal'] == 1 && $one_child_fenxiao_equal_num >= $item[ 'one_child_fenxiao_num' ])) && $goodsReach ) { $upgrade_level = $item; @@ -567,9 +588,11 @@ class Fenxiao extends BaseModel || ( $fenxiao_info[ 'one_fenxiao_order_money' ] >= $item[ 'one_fenxiao_order_money' ] && $item[ 'one_fenxiao_order_money' ] > 0 ) || ( $fenxiao_info[ 'one_fenxiao_total_order' ] >= $item[ 'one_fenxiao_total_order' ] && $item[ 'one_fenxiao_total_order' ] > 0 ) || ( $fenxiao_info[ 'one_child_num' ] >= $item[ 'one_child_num' ] && $item[ 'one_child_num' ] > 0 ) - || ( $fenxiao_info[ 'one_child_fenxiao_num' ] >= $item[ 'one_child_fenxiao_num' ] && $item[ 'one_child_fenxiao_num' ] > 0 ) + || ( $fenxiao_info[ 'one_child_fenxiao_num' ] >= $item[ 'one_child_fenxiao_num' ] && $item[ 'one_child_fenxiao_num' ] > 0 && $item['one_child_fenxiao_equal'] == 0 ) + || ( $fenxiao_info[ 'one_child_fenxiao_num' ] >= $item[ 'one_child_fenxiao_num' ] && $item[ 'one_child_fenxiao_num' ] > 0 && $item['one_child_fenxiao_equal'] == 1 && $one_child_fenxiao_equal_num >= $item[ 'one_child_fenxiao_num' ]) || ( $goodsReach && count($goodsIdsArr) > 0) ) { + $upgrade_level = $item; break; } @@ -638,15 +661,57 @@ class Fenxiao extends BaseModel try { $fenxiao_info = model('fenxiao')->getInfo([ [ 'fenxiao_id', '=', $member_info[ 'fenxiao_id' ] ], [ 'is_delete', '=', 0 ] ], 'parent'); if ($member_info[ 'is_fenxiao' ] == 1 && $fenxiao_info) {//是分销商 + $fenxiao_info = model('fenxiao')->getInfo([['fenxiao_id', '=', $member_info['fenxiao_id']], ['is_delete', '=', 0]], 'parent,chain'); //修改原有上级分销商团队人数 - if ($fenxiao_info[ 'parent' ] > 0) { + if ($fenxiao_info['parent'] > 0) { //获取原有上级分销商信息 - model('fenxiao')->setDec([ [ 'fenxiao_id', '=', $fenxiao_info[ 'parent' ] ] ], 'one_child_fenxiao_num'); + model('fenxiao')->setDec([['fenxiao_id', '=', $fenxiao_info['parent']]], 'one_child_fenxiao_num'); + $like = '%' . $fenxiao_info['chain'] . '%'; + //修改下级的上上级id + model('fenxiao')->update( + ['grand_parent' => $parent], + [['parent', '=', $member_info['fenxiao_id']], ['parent', '=', $fenxiao_info['parent']]] + ); + } else { + $like = '%' . $member_info['fenxiao_id'] . ',%'; } + $old_chain = str_replace('%', '', $like); + $old_count = $this->getExplodeArrFilterCount($old_chain); //修改变更后的上级分销商团队人数 model('fenxiao')->setInc([ [ 'fenxiao_id', '=', $parent ] ], 'one_child_fenxiao_num'); //修改上级分销商 - model('fenxiao')->update([ 'parent' => $parent, 'grand_parent' => $parent_info[ 'parent' ] ], [ [ 'fenxiao_id', '=', $member_info[ 'fenxiao_id' ] ] ]); + $chain = $parent_info['chain'] ? $parent_info['chain'] . ',' . $member_info['fenxiao_id'] . ',' : $parent . ',' . $member_info['fenxiao_id'] . ','; + $count = $this->getExplodeArrFilterCount($chain); + model('fenxiao')->update( + ['parent' => $parent, + 'grand_parent' => $parent_info['parent'], + 'chain' => $chain, + 'depth_level' => $parent_info['depth_level'] + 1, + ], + [['fenxiao_id', '=', $member_info['fenxiao_id']]] + ); + + $member_info_id = $member_info['fenxiao_id']; + + //先修改下级节点深度 + if ($old_count > $count) { + //如果旧的节点深度 > 新的节点深度,那么下级的节点深度统统减少 + $sub = $old_count - $count; + model('fenxiao')->setDec([['chain', 'like', $like], ['fenxiao_id', '<>', $member_info_id]], 'depth_level', $sub); + } else if ($old_count < $count) { + //如果旧节点深度 < 新的节点深度,那么下级的节点深度都要增加 + $add = $count - $old_count; + model('fenxiao')->setInc([['chain', 'like', $like], ['fenxiao_id', '<>', $member_info_id]], 'depth_level', $add); + } + //节点深度相同不作处理 + + //修改下级路由节点 + $table = 'tk_fenxiao'; + // $old_chain = $old_chain.','; + //修改fenxiao表,匹配chain字段是否有$old_chain字段中的值,替换成$chain,查询条件变换 + $sql = "UPDATE `{$table}` SET chain = REPLACE(chain,'$old_chain','$chain') WHERE chain LIKE '$like' AND fenxiao_id <> '$member_info_id'"; + Db::query($sql); + } else {//不是分销商 //修改上级分销商 model('member')->update([ 'fenxiao_id' => $parent ], [ [ 'member_id', '=', $member_id ] ]); @@ -682,18 +747,37 @@ class Fenxiao extends BaseModel } model('fenxiao')->startTrans(); try { - if ($member_info[ 'is_fenxiao' ] == 1) {//是分销商 + if ($member_info['is_fenxiao'] == 1) {//是分销商 $fenxiao_info = model('fenxiao')->getInfo( - [ [ 'fenxiao_id', '=', $member_info[ 'fenxiao_id' ] ], [ 'is_delete', '=', 0 ] ], - 'parent' + [['fenxiao_id', '=', $member_info['fenxiao_id']], ['is_delete', '=', 0]], ); //修改原有上级分销商团队人数 - if ($fenxiao_info[ 'parent' ] > 0) { + if ($fenxiao_info['parent'] > 0) { //获取原有上级分销商信息 - model('fenxiao')->setDec([ [ 'fenxiao_id', '=', $fenxiao_info[ 'parent' ] ] ], 'one_child_fenxiao_num'); + model('fenxiao')->setDec([['fenxiao_id', '=', $fenxiao_info['parent']]], 'one_child_fenxiao_num'); + $like = '%' . $fenxiao_info['chain'] . '%'; + } else { + $like = '%,' . $member_info['fenxiao_id'] . ',%'; } + $old_chain = str_replace('%', '', $like); + $old_count = $this->getExplodeArrFilterCount($old_chain); + $chain = ''; //修改上级分销商和路由节点 - model('fenxiao')->update([ 'parent' => '0', 'chain' => null,'depth_level' => 1 ], [ [ 'fenxiao_id', '=', $member_info[ 'fenxiao_id' ] ] ]); + model('fenxiao')->update(['parent' => '0', 'grand_parent' => '0', 'chain' => $chain, 'depth_level' => 1], [['fenxiao_id', '=', $member_info['fenxiao_id']]]); + + //先修改下级节点深度 + $member_info_id = $member_info['fenxiao_id']; + //下级的节点深度统统减少 + $sub = $old_count - 1; + model('fenxiao')->setDec([['chain', 'like', $like], ['fenxiao_id', '<>', $member_info_id]], 'depth_level', $sub); + + //修改下级路由节点 + $chain = ',' . $member_info_id . ','; + $table = 'tk_fenxiao'; + //修改fenxiao表,匹配chain字段是否有$old_chain字段中的值,替换成$chain,查询条件变换 + $sql = "UPDATE `{$table}` SET chain = REPLACE(chain,'$old_chain','$chain') WHERE chain LIKE '$like' AND fenxiao_id <> '$member_info_id'"; + Db::query($sql); + } model('fenxiao')->commit(); return $this->success(); @@ -900,4 +984,21 @@ class Fenxiao extends BaseModel } + /** + * @param $data + * @param $explode + * @return int + * 获取分割后去除空白值的数组长度 + */ + protected function getExplodeArrFilterCount($data, $explode = ',') + { + $data = explode($explode, $data); + $data = array_filter($data, function ($value) { + return !empty($value); + }); + $count = count($data); + return $count; + } + + } diff --git a/addon/fenxiao/model/FenxiaoAccount.php b/addon/fenxiao/model/FenxiaoAccount.php index 661dab1..a5bb3d8 100644 --- a/addon/fenxiao/model/FenxiaoAccount.php +++ b/addon/fenxiao/model/FenxiaoAccount.php @@ -47,7 +47,8 @@ class FenxiaoAccount extends BaseModel ); $res = model('fenxiao_account')->add($data); - model('fenxiao')->setInc([ [ 'fenxiao_id', '=', $fenxiao_id ] ], 'account', $money); + $member_id = model('fenxiao')->getValue([ [ 'fenxiao_id', '=', $fenxiao_id ] ],'member_id'); + model('fenxiao')->setInc([ [ 'member_id', '=', $member_id ] ], 'point', $money); return $this->success($res); } @@ -103,4 +104,4 @@ class FenxiaoAccount extends BaseModel $res = model('fenxiao_account')->add($data); return $this->success($res); } -} \ No newline at end of file +} diff --git a/addon/fenxiao/model/FenxiaoOrder.php b/addon/fenxiao/model/FenxiaoOrder.php index 9830f26..2926bb5 100644 --- a/addon/fenxiao/model/FenxiaoOrder.php +++ b/addon/fenxiao/model/FenxiaoOrder.php @@ -28,10 +28,10 @@ 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'); - // 本人是分销商 触发购买指定商品升级 if($member_info['is_fenxiao'] == 1 && $member_info['fenxiao_id'] > 0){ event('FenxiaoUpgrade', [ @@ -82,6 +82,7 @@ class FenxiaoOrder extends BaseModel 'wholesale_commission' => 0, 'wholesale_fenxiao_detail' => [], ]; + $goods_info = model('goods')->getInfo([['goods_id','=',$v['goods_id']]],'is_fenxiao, fenxiao_type'); //参与了分销商品,有直推间推奖励 if($goods_info['is_fenxiao']){ @@ -89,7 +90,7 @@ class FenxiaoOrder extends BaseModel } $order_fenxiao_data = $this->getWholesaleFenXiaoCommission($fenxiao_info,$v,$order_fenxiao_data); - + // dump($order_fenxiao_data);die; $data = [ 'order_id' => $order['order_id'], 'order_no' => $order['order_no'], @@ -125,8 +126,7 @@ class FenxiaoOrder extends BaseModel ]; 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' ] @@ -147,9 +147,9 @@ class FenxiaoOrder extends BaseModel $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') : []; - if ($fenxiao_info[ 'status' ] == 1) { + $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') : []; + if (!empty($parent_fenxiao_info) && $parent_fenxiao_info[ 'status' ] == 1) { 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; @@ -157,10 +157,11 @@ class FenxiaoOrder extends BaseModel $order_fenxiao_data['commission_rate'] += $order_fenxiao_data[ 'one_rate' ] = round($one_money * $v[ 'num' ] / $v[ 'real_goods_money' ], 2); $order_fenxiao_data['commission'] += $order_fenxiao_data[ 'one_commission' ] = $one_money * $v[ 'num' ]; } - $order_fenxiao_data['one_fenxiao_id'] = $fenxiao_info['fenxiao_id']; - $order_fenxiao_data['one_fenxiao_name'] = $fenxiao_info['fenxiao_name']; + $order_fenxiao_data['one_fenxiao_id'] = $parent_fenxiao_info['fenxiao_id']; + $order_fenxiao_data['one_fenxiao_name'] = $parent_fenxiao_info['fenxiao_name']; } - if (!empty($parent_fenxiao_info) && $parent_fenxiao_info[ 'status' ] == 1) { + if (!empty($g_parent_fenxiao_info) && $g_parent_fenxiao_info[ 'status' ] == 1) { + 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; @@ -168,9 +169,10 @@ class FenxiaoOrder extends BaseModel $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' ]; } - $order_fenxiao_data['two_fenxiao_id'] = $parent_fenxiao_info['fenxiao_id']; - $order_fenxiao_data['two_fenxiao_name'] = $fenxiao_info['fenxiao_name']; + $order_fenxiao_data['two_fenxiao_id'] = $g_parent_fenxiao_info['fenxiao_id']; + $order_fenxiao_data['two_fenxiao_name'] = $g_parent_fenxiao_info['fenxiao_name']; } + return $order_fenxiao_data; } diff --git a/addon/fenxiao/shop/controller/Level.php b/addon/fenxiao/shop/controller/Level.php index c14b450..34e6e93 100644 --- a/addon/fenxiao/shop/controller/Level.php +++ b/addon/fenxiao/shop/controller/Level.php @@ -82,6 +82,7 @@ class Level extends BaseShop 'child_fenxiao_num' => input('child_fenxiao_num',''), 'one_child_num' => input('one_child_num',''), 'one_child_fenxiao_num' => input('one_child_fenxiao_num',''), + 'one_child_fenxiao_equal' => input('one_child_fenxiao_equal',0), 'goods_ids' => input('goods_ids',''), ]; $res = $model->addLevel($data); @@ -128,6 +129,7 @@ class Level extends BaseShop 'child_fenxiao_num' => input('child_fenxiao_num',''), 'one_child_num' => input('one_child_num',''), 'one_child_fenxiao_num' => input('one_child_fenxiao_num',''), + 'one_child_fenxiao_equal' => input('one_child_fenxiao_equal',0), 'goods_ids' => input('goods_ids',''), ]; $level_id = input('level_id', ''); @@ -172,4 +174,4 @@ class Level extends BaseShop $res = $model->deleteLevel($level_id, $this->site_id); return $res; } -} \ No newline at end of file +} diff --git a/addon/fenxiao/shop/view/level/add.html b/addon/fenxiao/shop/view/level/add.html index 9b65707..e59ab2c 100644 --- a/addon/fenxiao/shop/view/level/add.html +++ b/addon/fenxiao/shop/view/level/add.html @@ -137,7 +137,7 @@ - +
@@ -162,7 +162,7 @@
- +
升级条件限制 @@ -176,7 +176,7 @@
删除
- +
@@ -185,7 +185,7 @@
删除
--> - +
@@ -194,7 +194,7 @@
删除
- +
@@ -212,7 +212,7 @@
删除
- +
@@ -221,7 +221,7 @@
删除
- +
@@ -230,7 +230,7 @@
删除
- + - +
@@ -257,13 +257,18 @@
删除
- +
+ +
+ + +
删除
@@ -311,10 +316,10 @@ $(this).siblings().removeClass("active"); } }); - + $(".level-btn").click(function() { var _index = $(this).index(); - + if (!$(this).hasClass("border-color")) { $(this).addClass("border-color"); $(".level-term>div").eq(_index).removeClass("layui-hide"); @@ -329,7 +334,7 @@ form.on('submit(save)', function(data) { data.field.level_num = $(".weight-list span.active").attr('value'); let arr = $(".layui-card-body").eq(2).children('.layui-form-item').length; - let arr1 = $(".layui-card-body").eq(2).children('.layui-form-item.layui-hide').length; + let arr1 = $(".layui-card-body").eq(2).children('.layui-form-item.layui-hide').length; if (data.field.level_num == undefined){ layer.msg('请选择等级权重'); return; @@ -367,7 +372,7 @@ } }); }); - + /** * 表单验证 */ @@ -375,7 +380,7 @@ num: function(value, item) { var str = $(item).parents(".layui-form-item").find("label").text().split("*").join(""); str = str.substring(0, str.length - 1); - + if (value <= 0) { return str + '必须大于0'; } @@ -386,7 +391,7 @@ money: function(value, item) { var str = $(item).parents(".layui-form-item").find("label").text().split("*").join(""); str = str.substring(0, str.length - 1); - + if (value < 0) { return str + '不能小于0'; } @@ -401,7 +406,7 @@ } }); }); - + function delDiv(e) { var _len = $(e).parents(".layui-form-item").index(); $(e).parents(".layui-form-item").addClass("layui-hide"); @@ -409,7 +414,7 @@ $(e).parents(".layui-form-item").find("input").val(""); $(".level-btn").eq(_len).removeClass("border-color"); } - + function back() { location.href = ns.url("fenxiao://shop/level/lists"); } @@ -471,4 +476,4 @@ $("input[name='goods_ids']").val(selectedGoodsId.toString()); } -{/block} \ No newline at end of file +{/block} diff --git a/addon/fenxiao/shop/view/level/edit.html b/addon/fenxiao/shop/view/level/edit.html index 5581198..6f218b1 100644 --- a/addon/fenxiao/shop/view/level/edit.html +++ b/addon/fenxiao/shop/view/level/edit.html @@ -24,8 +24,8 @@
等级佣金比例 -
- +
+
{if $info.is_default eq 0}
@@ -129,7 +129,7 @@
升级条件
- +
@@ -138,7 +138,7 @@
- +
@@ -165,13 +165,13 @@
- +
升级条件限制
- + - +
@@ -198,7 +198,7 @@
删除
- +
@@ -216,7 +216,7 @@
删除
- +
@@ -225,7 +225,7 @@
删除
- +
@@ -234,7 +234,7 @@
删除
- + - +
@@ -261,13 +261,18 @@
删除
- +
0}lay-verify="required|num"{/if} autocomplete="off" class="layui-input len-short">
+ +
+ + +
删除
@@ -378,7 +383,7 @@ var form = layui.form, repeat_flag = false; //防重复标识 form.render(); - + $(".weight-list span").click(function() { if (!$(this).hasClass("disabled")) { $(this).addClass("active"); @@ -388,7 +393,7 @@ $(".level-btn").click(function() { var _index = $(this).index(); - + if (!$(this).hasClass("border-color")) { $(this).addClass("border-color"); $(".level-term>div").eq(_index).removeClass("layui-hide"); @@ -407,17 +412,17 @@ {if $info.is_default eq 0} data.field.level_num = $(".weight-list span.active").attr('value'); let arr = $(".layui-card-body").eq(2).children('.layui-form-item').length; - let arr1 = $(".layui-card-body").eq(2).children('.layui-form-item.layui-hide').length; + let arr1 = $(".layui-card-body").eq(2).children('.layui-form-item.layui-hide').length; if (data.field.level_num == undefined){ layer.msg('请选择等级权重'); return; - } + } if(arr==arr1){ layer.msg('请选择升级条件'); return; } {/if} - + if (repeat_flag) return; repeat_flag = true; @@ -446,7 +451,7 @@ } }); }); - + /** * 表单验证 */ @@ -454,7 +459,7 @@ num: function(value, item) { var str = $(item).parents(".layui-form-item").find("label").text().split("*").join(""); str = str.substring(0, str.length - 1); - + if (value <= 0) { return str + '必须大于0'; } @@ -465,7 +470,7 @@ money: function(value, item) { var str = $(item).parents(".layui-form-item").find("label").text().split("*").join(""); str = str.substring(0, str.length - 1); - + if (value < 0) { return str + '不能小于0'; } @@ -480,7 +485,7 @@ } }); }); - + function delDiv(e) { var _len = $(e).parents(".layui-form-item").index(); $(e).parents(".layui-form-item").addClass("layui-hide"); @@ -488,9 +493,9 @@ $(e).parents(".layui-form-item").find("input").val(""); $(".level-btn").eq(_len).removeClass("border-color"); } - + function back() { location.href = ns.url("fenxiao://shop/level/lists"); } -{/block} \ No newline at end of file +{/block} diff --git a/addon/fenxiao/shop/view/public/js/order_list.js b/addon/fenxiao/shop/view/public/js/order_list.js index cbb0ae2..a719c66 100644 --- a/addon/fenxiao/shop/view/public/js/order_list.js +++ b/addon/fenxiao/shop/view/public/js/order_list.js @@ -32,7 +32,7 @@ Order.prototype.cols = [ width: "30%", className: "product-info", template: function (orderitem, order) { - + var h = '
'; h += ''; h += '
'; @@ -81,7 +81,7 @@ Order.prototype.cols = [ h += '' + order.mobile + ''; h += '

'; } - + return h; } }, @@ -103,9 +103,20 @@ Order.prototype.cols = [ className : "create-time", merge : false, template : function(orderitem,order){ - var html = '
一级分佣:'+ (orderitem.one_fenxiao_id > 0 ? orderitem.one_fenxiao_name +' ¥' + orderitem.one_commission : '--') +'
'; - html += '
二级分佣:'+ (orderitem.two_fenxiao_id > 0 ? orderitem.two_fenxiao_name +' ¥' + orderitem.two_commission : '--') +'
'; - html += '
三级分佣:'+ (orderitem.three_fenxiao_id > 0 ? orderitem.three_fenxiao_name +' ¥' + orderitem.three_commission : '--') +'
'; + var html = '
直推分佣:'+ (orderitem.one_fenxiao_id > 0 ? orderitem.one_fenxiao_name +' ¥' + orderitem.one_commission : '--') +'
'; + html += '
间推分佣:'+ (orderitem.two_fenxiao_id > 0 ? orderitem.two_fenxiao_name +' ¥' + orderitem.two_commission : '--') +'
'; + if(orderitem.wholesale_commission > 0){ + var array_detail = $.parseJSON(orderitem.wholesale_fenxiao_detail); + for(var i=0;i 0 ? array_detail[i].name +' ¥' + array_detail[i].commission : '--') +'
'; + }else{ + html += '
'+ (array_detail[i].commission > 0 ? array_detail[i].name +' ¥' + array_detail[i].commission : '--') +'
'; + } + } + }else{ + html += '
上级分佣:'+ ' ¥--' +'
'; + } return html; } }, @@ -132,10 +143,10 @@ Order.prototype.header = function (hasThead) { var colgroup = ''; var thead = ''; if (hasThead) thead = ''; - + for (var i = 0; i < this.cols.length; i++) { var align = this.cols[i].align ? "text-align:" + this.cols[i].align : ""; - + colgroup += ''; if (hasThead) { @@ -245,4 +256,4 @@ function showMore(order_id) { $(".more-operation[data-order-id='" + order_id + "']").hide(); } }); -} \ No newline at end of file +} diff --git a/app/event/OrderPayChange.php b/app/event/OrderPayChange.php index 87367b4..aafbad2 100644 --- a/app/event/OrderPayChange.php +++ b/app/event/OrderPayChange.php @@ -23,7 +23,7 @@ class OrderPayChange $res = event('OrderPay', $order); //取消订单支状态 } // $res['order_id'] = $data["relate_id"]; - // trace($res, '支付成功 - 实际处理结果'); + trace($res, '支付成功 - 实际处理结果'); return $res; } } catch (\Exception $e) { diff --git a/app/job/RelationshipChainChangesJob.php b/app/job/RelationshipChainChangesJob.php index 9e42735..17fd3af 100644 --- a/app/job/RelationshipChainChangesJob.php +++ b/app/job/RelationshipChainChangesJob.php @@ -46,12 +46,12 @@ class RelationshipChainChangesJob{ 'relationship_chain' => implode(',',$allParent) ]); } - // 增加下级 触发团队升级 - foreach($allParent as $parentMemberId){ - Queue::push(TeamUpgradationJob::class,[ - 'member_id' => $parentMemberId - ]); - } + // // 增加下级 触发团队升级 + // foreach($allParent as $parentMemberId){ + // Queue::push(TeamUpgradationJob::class,[ + // 'member_id' => $parentMemberId + // ]); + // } // 触发关系链改变 (new Member())->RelationshipChainChangesInit($memberId); } diff --git a/app/pay/controller/Test.php b/app/pay/controller/Test.php index 89de92f..5355130 100644 --- a/app/pay/controller/Test.php +++ b/app/pay/controller/Test.php @@ -6,8 +6,9 @@ use addon\aliapp\model\CloudPay; use addon\aliapp\model\MinCode; use addon\alipay\model\Pay as PayModel; use addon\fenxiao\event\OrderPay; +use addon\fenxiao\model\Fenxiao; use addon\fenxiao\model\Fenxiao as FenxiaoModel; - +use addon\fenxiao\model\FenxiaoOrder; use app\model\diy\Template; use app\model\order\Order as OrderModel; use EasyWeChat\Factory; @@ -23,10 +24,10 @@ class Test{ // public function test(){ - $orderId = 1; + $orderId = 19; $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); @@ -75,7 +76,7 @@ class Test{ $order_info = model('order')->getInfo(['order_id' => 359]); $res = event('OrderPay',$order_info); - var_dump($res);die; + dump($res);die; $member=model('member')->getList(['site_id'=>5]); $fenxiao_model = new FenxiaoModel(); foreach ($member as $k=>$v){