diff --git a/addon/fenxiao/api/controller/Fenxiao.php b/addon/fenxiao/api/controller/Fenxiao.php index d4ebbcc..b230842 100644 --- a/addon/fenxiao/api/controller/Fenxiao.php +++ b/addon/fenxiao/api/controller/Fenxiao.php @@ -250,11 +250,11 @@ class Fenxiao extends BaseApi [ '', 'exp', Db::raw("( (fo.one_fenxiao_id = {$fenxiao_info['fenxiao_id']} AND fo.two_fenxiao_id = {$fenxiao_id}) OR (fo.two_fenxiao_id = {$fenxiao_info['fenxiao_id']} AND fo.three_fenxiao_id = {$fenxiao_id})) OR fo.member_id = {$sub_fenxiao_info['member_id']}") ] ]; } elseif (!empty($sub_member_id)) { - $is_sub_member = model('member')->getCount([ [ 'member_id', '=', $sub_member_id ], [ 'fenxiao_id', '=', $fenxiao_info[ 'fenxiao_id' ] ] ]); + $is_sub_member = model('member')->getCount([ [ 'member_id', '=', $sub_member_id ] ]);//, [ 'fenxiao_id', '=', $fenxiao_info[ 'fenxiao_id' ] ] if (!$is_sub_member) return $this->response($this->error('', 'NOT_EXIST_FENXIAO_RELATION')); $condition = [ - [ 'fo.one_fenxiao_id', '=', $fenxiao_info[ 'fenxiao_id' ] ], + // [ 'fo.one_fenxiao_id', '=', $fenxiao_info[ 'fenxiao_id' ] ], [ 'fo.member_id', '=', $sub_member_id ] ]; } diff --git a/addon/fenxiao/config/event.php b/addon/fenxiao/config/event.php index 41f9139..51807fa 100644 --- a/addon/fenxiao/config/event.php +++ b/addon/fenxiao/config/event.php @@ -88,6 +88,9 @@ return [ 'AreaMonthlyReward'=>[ //区域代理月结 'addon\fenxiao\event\AutoAreaMonthlyReward', //区域代理月结 ], + 'count30dayA10w'=>[ //日计算会员30天内,直推上10万销量 + 'addon\fenxiao\event\count30dayA10w', + ], ], 'subscribe' => [ diff --git a/addon/fenxiao/event/count30dayA10w.php b/addon/fenxiao/event/count30dayA10w.php new file mode 100644 index 0000000..9d5f49a --- /dev/null +++ b/addon/fenxiao/event/count30dayA10w.php @@ -0,0 +1,23 @@ +count30dayA10w(); + return $res; + } +} \ No newline at end of file diff --git a/addon/fenxiao/model/Config.php b/addon/fenxiao/model/Config.php index fc6db9a..85bae91 100644 --- a/addon/fenxiao/model/Config.php +++ b/addon/fenxiao/model/Config.php @@ -43,8 +43,10 @@ class Config extends BaseModel 'order_give_house_purchase_ratio' => $data['order_give_house_purchase_ratio'], 'order_give_a_points_ratio' => $data['order_give_a_points_ratio'], 'order_give_a_contribution_ratio' => $data['order_give_a_contribution_ratio'], + 'order_give_a_balance_money_ratio' => $data['order_give_a_balance_money_ratio'], 'order_give_d_points_ratio' => $data['order_give_d_points_ratio'], 'order_give_d_contribution_ratio' => $data['order_give_d_contribution_ratio'], + 'order_give_d_balance_money_ratio' => $data['order_give_d_balance_money_ratio'], 'no_contribution_points_ratio' => $data['no_contribution_points_ratio'], 'contribution_points_ratio' => $data['contribution_points_ratio'], 'settlement_points_to_balance_money_ratio' => $data['settlement_points_to_balance_money_ratio'], diff --git a/addon/fenxiao/model/FenxiaoOrder.php b/addon/fenxiao/model/FenxiaoOrder.php index 79020da..230e1df 100644 --- a/addon/fenxiao/model/FenxiaoOrder.php +++ b/addon/fenxiao/model/FenxiaoOrder.php @@ -22,6 +22,32 @@ use think\facade\Log; */ class FenxiaoOrder extends BaseModel { + public function count30dayA10w(){ + $nowTime = time(); + $fenxiao_list = model('fenxiao')->getList( + [ + ['o.create_time', '<' ,$nowTime], + ['o.create_time', '>' ,$nowTime - 30 * 24 * 60 * 60], + ], + 'pf.fenxiao_id,pf.fenxiao_name, sum(o.order_money) as sum_order_money', + '', + 'f', + [ + ['order o','o.member_id = f.member_id','right'], + ['fenxiao pf','pf.fenxiao_id = f.parent','left'], + ], + 'f.parent' + ); + foreach($fenxiao_list as $fenxiao){ + if($fenxiao['fenxiao_id'] == NULL){ + continue; + } + if($fenxiao['sum_order_money'] >= 100000){ + model('fenxiao')->update(['is_30day_a_10w' => 1], [['fenxiao_id', '=', $fenxiao['fenxiao_id']]]); + } + } + return $this->success(); + } /*** * 区域代理结算 * 月结 @@ -293,10 +319,12 @@ class FenxiaoOrder extends BaseModel if ($i_fenxiao) { $config_model = new Config(); $basic_config = $config_model->getFenxiaoBasicsConfig($order['site_id'])['data']['value']; + $goods_info = model('goods')->getInfo([['goods_id', '=', $order['goods_id']]]); $fenxiao_account = new FenxiaoAccount(); - $fenxiao_account->addAccount($i_fenxiao['fenxiao_id'], $i_fenxiao['fenxiao_name'], 'points', $order['real_goods_money'] * $basic_config['order_give_points_ratio'] /100, $order['order_id'],'points', '购物赠送积分'); - $fenxiao_account->addAccount($i_fenxiao['fenxiao_id'], $i_fenxiao['fenxiao_name'], 'contribution', $order['real_goods_money'] * $basic_config['order_give_contribution_ratio'] /100, $order['order_id'],'contribution', '购物赠送贡献值'); - $fenxiao_account->addAccount($i_fenxiao['fenxiao_id'], $i_fenxiao['fenxiao_name'], 'house_purchase', $order['real_goods_money'] * $basic_config['order_give_house_purchase_ratio'] /100, $order['order_id'],'house_purchase', '购物赠送购房券'); + $menber_account = new MemberAccount(); + $fenxiao_account->addAccount($i_fenxiao['fenxiao_id'], $i_fenxiao['fenxiao_name'], 'points', $order['real_goods_money'] * $goods_info['order_give_points_ratio'] /100, $order['order_id'],'points', '购物赠送积分'); + $fenxiao_account->addAccount($i_fenxiao['fenxiao_id'], $i_fenxiao['fenxiao_name'], 'contribution', $order['real_goods_money'] * $goods_info['order_give_contribution_ratio'] /100, $order['order_id'],'contribution', '购物赠送贡献值'); + $fenxiao_account->addAccount($i_fenxiao['fenxiao_id'], $i_fenxiao['fenxiao_name'], 'house_purchase', $order['real_goods_money'] * $goods_info['order_give_house_purchase_ratio'] /100, $order['order_id'],'house_purchase', '购物赠送购房券'); $parent_fenxiao['parent'] = $i_fenxiao['parent']; for($i = 0;$i < 4;$i++){ @@ -308,12 +336,16 @@ class FenxiaoOrder extends BaseModel break; } if($i == 0){ - $fenxiao_account->addAccount($parent_fenxiao['fenxiao_id'], $parent_fenxiao['fenxiao_name'], 'points', $order['real_goods_money'] * $basic_config['order_give_a_points_ratio'] /100, $order['order_id'],'points', '用户下单分享A位置获赠积分'); - $fenxiao_account->addAccount($parent_fenxiao['fenxiao_id'], $parent_fenxiao['fenxiao_name'], 'contribution', $order['real_goods_money'] * $basic_config['order_give_a_contribution_ratio'] /100, $order['order_id'],'contribution', '用户下单分享A位置获赠贡献值'); + // $fenxiao_account->addAccount($parent_fenxiao['fenxiao_id'], $parent_fenxiao['fenxiao_name'], 'points', $order['real_goods_money'] * $basic_config['order_give_a_points_ratio'] /100, $order['order_id'],'points', '用户下单分享A位置获赠积分'); + // $fenxiao_account->addAccount($parent_fenxiao['fenxiao_id'], $parent_fenxiao['fenxiao_name'], 'contribution', $order['real_goods_money'] * $basic_config['order_give_a_contribution_ratio'] /100, $order['order_id'],'contribution', '用户下单分享A位置获赠贡献值'); + + $menber_account->addMemberAccount($parent_fenxiao[ 'site_id' ], $parent_fenxiao['member_id'], 'balance_money', $order['real_goods_money'] * $basic_config['order_give_a_balance_money_ratio'] /100, 'order_give_a', '下单A位置得消费券', '下单A位置得消费券'); } if($i == 3){ - $fenxiao_account->addAccount($parent_fenxiao['fenxiao_id'], $parent_fenxiao['fenxiao_name'], 'points', $order['real_goods_money'] * $basic_config['order_give_d_points_ratio'] /100, $order['order_id'],'points', '用户下单分享D位置获赠积分'); - $fenxiao_account->addAccount($parent_fenxiao['fenxiao_id'], $parent_fenxiao['fenxiao_name'], 'contribution', $order['real_goods_money'] * $basic_config['order_give_d_contribution_ratio'] /100, $order['order_id'],'contribution', '用户下单分享D位置获赠贡献值'); + // $fenxiao_account->addAccount($parent_fenxiao['fenxiao_id'], $parent_fenxiao['fenxiao_name'], 'points', $order['real_goods_money'] * $basic_config['order_give_d_points_ratio'] /100, $order['order_id'],'points', '用户下单分享D位置获赠积分'); + // $fenxiao_account->addAccount($parent_fenxiao['fenxiao_id'], $parent_fenxiao['fenxiao_name'], 'contribution', $order['real_goods_money'] * $basic_config['order_give_d_contribution_ratio'] /100, $order['order_id'],'contribution', '用户下单分享D位置获赠贡献值'); + + $menber_account->addMemberAccount($parent_fenxiao[ 'site_id' ], $parent_fenxiao['member_id'], 'balance_money', $order['real_goods_money'] * $basic_config['order_give_d_balance_money_ratio'] /100, 'order_give_d', '下单D位置得消费券', '下单D位置得消费券'); } } } diff --git a/addon/fenxiao/shop/controller/Config.php b/addon/fenxiao/shop/controller/Config.php index 3c98acc..5782a10 100644 --- a/addon/fenxiao/shop/controller/Config.php +++ b/addon/fenxiao/shop/controller/Config.php @@ -55,8 +55,10 @@ class Config extends BaseShop 'order_give_house_purchase_ratio' => input('order_give_house_purchase_ratio', 0), 'order_give_a_points_ratio' => input('order_give_a_points_ratio', 0), 'order_give_a_contribution_ratio' => input('order_give_a_contribution_ratio', 0), + 'order_give_a_balance_money_ratio' => input('order_give_a_balance_money_ratio', 0), 'order_give_d_points_ratio' => input('order_give_d_points_ratio', 0), 'order_give_d_contribution_ratio' => input('order_give_d_contribution_ratio', 0), + 'order_give_d_balance_money_ratio' => input('order_give_d_balance_money_ratio', 0), 'no_contribution_points_ratio' => input('no_contribution_points_ratio', 0), 'contribution_points_ratio' => input('contribution_points_ratio', 0), 'settlement_points_to_balance_money_ratio' => input('settlement_points_to_balance_money_ratio', 0), diff --git a/addon/fenxiao/shop/controller/Fenxiao.php b/addon/fenxiao/shop/controller/Fenxiao.php index 7240f3c..c6630ab 100644 --- a/addon/fenxiao/shop/controller/Fenxiao.php +++ b/addon/fenxiao/shop/controller/Fenxiao.php @@ -143,6 +143,10 @@ class Fenxiao extends BaseShop if (!empty($status)) { $condition[] = [ 'f.status', '=', $status ]; } + $is_30day_a_10w = input('is_30day_a_10w', ''); + if (!empty($is_30day_a_10w)) { + $condition[] = [ 'f.is_30day_a_10w', '=', $is_30day_a_10w ]; + } $page = input('page', 1); $page_size = input('page_size', PAGE_LIST_ROWS); $list = $model->getFenxiaoPageList($condition, $page, $page_size, 'f.create_time desc'); @@ -157,6 +161,8 @@ class Fenxiao extends BaseShop $basics = $config_model->getFenxiaoBasicsConfig($this->site_id); $this->assign("basics_info", $basics[ 'data' ][ 'value' ]); + $this->assign("is_30day_a_10w", input('is_30day_a_10w',0)); + // $this->forthMenu(); return $this->fetch('fenxiao/lists'); } @@ -697,4 +703,18 @@ class Fenxiao extends BaseShop $fenxiao_account_model = new FenxiaoAccount(); return $fenxiao_account_model->addAccount($fenxiao['fenxiao_id'], $fenxiao['fenxiao_name'], 'house_purchase', -$adjust_num, $fenxiao['fenxiao_id'], 'house_purchase', $remark); } + /** + * 积分 + */ + public function adjustPoints() + { + $fenxiao_id = input('fenxiao_id', 0); + $adjust_num = input('adjust_num', 0); + // $remark = input('remark', '商家调整'); + $remark = '后台充值'; + // $this->addLog("会员消费券调整id:" . $member_id . "金额" . $adjust_num); + $fenxiao = model('fenxiao')->getInfo(['fenxiao_id' => $fenxiao_id, 'site_id' => $this->site_id], 'fenxiao_id,fenxiao_name,parent,grand_parent'); + $fenxiao_account_model = new FenxiaoAccount(); + return $fenxiao_account_model->addAccount($fenxiao['fenxiao_id'], $fenxiao['fenxiao_name'], 'points', $adjust_num, $fenxiao['fenxiao_id'], 'points', $remark); + } } \ No newline at end of file diff --git a/addon/fenxiao/shop/view/config/basics.html b/addon/fenxiao/shop/view/config/basics.html index a204fe3..d22b10c 100644 --- a/addon/fenxiao/shop/view/config/basics.html +++ b/addon/fenxiao/shop/view/config/basics.html @@ -21,76 +21,96 @@
新用户赠送积分
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
- +
- +
%
-
下单赠送积分,得消费额百分比
+
下单分享A位置得消费券,得消费额百分比
+ + + + + + + + + +
- +
- +
%
-
下单赠送贡献值,得消费额百分比
-
-
- -
-
- -
-
%
-
-
下单赠送购房券,得消费额百分比
-
-
- -
-
- -
-
%
-
-
下单分享A位置得积分,得消费额百分比
-
-
- -
-
- -
-
%
-
-
下单分享A位置得贡献值,得消费额百分比
-
-
- -
-
- -
-
%
-
-
下单分享D位置得积分,得消费额百分比
-
-
- -
-
- -
-
%
-
-
下单分享D位置得贡献值,得消费额百分比
+
下单分享D位置得消费券,得消费额百分比
+ + + + + + + + + +
每日转换设置
diff --git a/addon/fenxiao/shop/view/fenxiao/lists.html b/addon/fenxiao/shop/view/fenxiao/lists.html index 3e600df..f5009cb 100644 --- a/addon/fenxiao/shop/view/fenxiao/lists.html +++ b/addon/fenxiao/shop/view/fenxiao/lists.html @@ -123,6 +123,38 @@ + + + {/block} \ No newline at end of file diff --git a/app/model/goods/Goods.php b/app/model/goods/Goods.php index 437ce4b..5929517 100644 --- a/app/model/goods/Goods.php +++ b/app/model/goods/Goods.php @@ -145,6 +145,9 @@ class Goods extends BaseModel 'support_trade_type' => $data[ 'support_trade_type' ] ?? '', 'sale_channel' => $data[ 'sale_channel' ] ?? 'all', 'sale_store' => $data[ 'sale_store' ] ?? 'all', + 'order_give_points_ratio' => $data[ 'order_give_points_ratio' ] ?? '0', + 'order_give_contribution_ratio' => $data[ 'order_give_contribution_ratio' ] ?? '0', + 'order_give_house_purchase_ratio' => $data[ 'order_give_house_purchase_ratio' ] ?? '0', ); $goods_id = model('goods')->add(array_merge($goods_data, $common_data)); @@ -340,6 +343,9 @@ class Goods extends BaseModel 'support_trade_type' => $data[ 'support_trade_type' ] ?? '', 'sale_channel' => $data[ 'sale_channel' ] ?? 'all', 'sale_store' => $data[ 'sale_store' ] ?? 'all', + 'order_give_points_ratio' => $data[ 'order_give_points_ratio' ] ?? '0', + 'order_give_contribution_ratio' => $data[ 'order_give_contribution_ratio' ] ?? '0', + 'order_give_house_purchase_ratio' => $data[ 'order_give_house_purchase_ratio' ] ?? '0', ); model('goods')->update(array_merge($goods_data, $common_data), [ [ 'goods_id', '=', $goods_id ], [ 'goods_class', '=', $this->goods_class[ 'id' ] ] ]); $goods_stock = 0; diff --git a/app/model/member/MemberAccount.php b/app/model/member/MemberAccount.php index 1247c1c..c7c3a11 100644 --- a/app/model/member/MemberAccount.php +++ b/app/model/member/MemberAccount.php @@ -125,6 +125,9 @@ class MemberAccount extends BaseModel $from_type[ 'balance_money' ][ 'goufang_to_balance' ] = [ 'type_name' => '购房券转换', 'type_url' => '' ]; $from_type[ 'balance_money' ][ 'transfer' ] = [ 'type_name' => '会员互转', 'type_url' => '' ]; + $from_type[ 'balance_money' ][ 'order_give_a' ] = [ 'type_name' => '下单A位置得消费券', 'type_url' => '' ]; + $from_type[ 'balance_money' ][ 'order_give_d' ] = [ 'type_name' => '下单D位置得消费券', 'type_url' => '' ]; + $this->from_type = $from_type; } diff --git a/app/shop/controller/Goods.php b/app/shop/controller/Goods.php index e1fe96f..1006ee5 100644 --- a/app/shop/controller/Goods.php +++ b/app/shop/controller/Goods.php @@ -308,6 +308,9 @@ class Goods extends BaseShop 'sale_channel' => input('sale_channel','all'), 'sale_store' => input('sale_store','all'), 'is_unify_pirce' => input('is_unify_pirce','1'), + 'order_give_points_ratio' => input('order_give_points_ratio','0'), + 'order_give_contribution_ratio' => input('order_give_contribution_ratio','0'), + 'order_give_house_purchase_ratio' => input('order_give_house_purchase_ratio','0'), ]; $goods_model = new GoodsModel(); $res = $goods_model->addGoods($data); @@ -445,6 +448,9 @@ class Goods extends BaseShop 'sale_channel' => input('sale_channel','all'), 'sale_store' => input('sale_store','all'), 'is_unify_pirce' => input('is_unify_pirce','1'), + 'order_give_points_ratio' => input('order_give_points_ratio','0'), + 'order_give_contribution_ratio' => input('order_give_contribution_ratio','0'), + 'order_give_house_purchase_ratio' => input('order_give_house_purchase_ratio','0'), ]; $res = $goods_model->editGoods($data); diff --git a/app/shop/view/goods/add_goods.html b/app/shop/view/goods/add_goods.html index 8f3598a..2a5d486 100644 --- a/app/shop/view/goods/add_goods.html +++ b/app/shop/view/goods/add_goods.html @@ -641,6 +641,37 @@ {/if} + +
+ +
+
+ +
+
%
+
+
下单赠送积分,得消费额百分比
+
+
+ +
+
+ +
+
%
+
+
下单赠送贡献值,得消费额百分比
+
+
+ +
+
+ +
+
%
+
+
下单赠送购房券,得消费额百分比
+
diff --git a/app/shop/view/goods/edit_goods.html b/app/shop/view/goods/edit_goods.html index 3c2052d..7cc0977 100644 --- a/app/shop/view/goods/edit_goods.html +++ b/app/shop/view/goods/edit_goods.html @@ -711,6 +711,37 @@ {/if} + +
+ +
+
+ +
+
%
+
+
下单赠送积分,得消费额百分比
+
+
+ +
+
+ +
+
%
+
+
下单赠送贡献值,得消费额百分比
+
+
+ +
+
+ +
+
%
+
+
下单赠送购房券,得消费额百分比
+
diff --git a/app/shop/view/public/img/login/new_member.png b/app/shop/view/public/img/login/new_member.png new file mode 100644 index 0000000..ca1438e Binary files /dev/null and b/app/shop/view/public/img/login/new_member.png differ diff --git a/app/shop/view/public/js/goods_list.js b/app/shop/view/public/js/goods_list.js index 7b0f03c..73cfb83 100644 --- a/app/shop/view/public/js/goods_list.js +++ b/app/shop/view/public/js/goods_list.js @@ -726,7 +726,7 @@ function refreshTable() { function add() { // location.href = ns.url('shop/goods/addGoods'); - location.href = ns.url('cardservice://shop/card/addgoods'); + location.href = ns.url('shop/goods/addgoods'); // var html = $("#selectAddGoods").html(); // laytpl(html).render({}, function (html) { // layer.open({ diff --git a/public/uniapp/form/banner.png b/public/uniapp/form/banner.png index 51a64ed..c840c99 100644 Binary files a/public/uniapp/form/banner.png and b/public/uniapp/form/banner.png differ