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 @@