From c27b30097c3dc5790ad28f3543d4d8c348b195b1 Mon Sep 17 00:00:00 2001 From: wuhui_zzw <1760308791@qq.com> Date: Fri, 24 May 2024 14:27:19 +0800 Subject: [PATCH] =?UTF-8?q?=E5=A2=9E=E5=8A=A0=EF=BC=9A=E7=A7=BB=E5=8A=A8?= =?UTF-8?q?=E7=AB=AF=E5=AE=A2=E6=88=B7=E7=BB=9F=E8=AE=A1=E4=BF=A1=E6=81=AF?= =?UTF-8?q?=20=E8=BE=93=E5=87=BA=E9=97=B4=E6=8E=A8=E6=80=BB=E4=BA=BA?= =?UTF-8?q?=E6=95=B0=E5=92=8C=E9=97=B4=E6=8E=A8=E6=80=BB=E8=AE=A2=E5=8D=95?= =?UTF-8?q?=E6=95=B0=E9=87=8F=20=E4=BC=98=E5=8C=96=EF=BC=9A=E7=BB=8F?= =?UTF-8?q?=E9=94=80=E5=95=86=20-=20=E6=8F=90=E6=88=90=E6=98=8E=E7=BB=86?= =?UTF-8?q?=E4=B8=AD=E4=B8=8D=E5=9C=A8=E8=BE=93=E5=87=BA=E5=B7=B2=E5=A4=B1?= =?UTF-8?q?=E6=95=88=E7=9A=84=E6=8F=90=E6=88=90=E4=BF=A1=E6=81=AF?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/common/models/goods/Privilege.php | 2 +- .../member/services/MemberReferralService.php | 39 +++++++++++++++---- .../src/admin/TeamDividendController.php | 2 +- .../src/models/TeamDividendModel.php | 3 +- 4 files changed, 35 insertions(+), 11 deletions(-) diff --git a/app/common/models/goods/Privilege.php b/app/common/models/goods/Privilege.php index 5a7251b3..c85c1441 100644 --- a/app/common/models/goods/Privilege.php +++ b/app/common/models/goods/Privilege.php @@ -636,7 +636,7 @@ class Privilege extends BaseModel ->value('id'); if($isHas > 0) throw new AppException('请勿重复复购!'); }else{ - throw new AppException('未到复购时间'); + // throw new AppException('未到复购时间'); } } } diff --git a/app/frontend/modules/member/services/MemberReferralService.php b/app/frontend/modules/member/services/MemberReferralService.php index f4d17758..685a664d 100644 --- a/app/frontend/modules/member/services/MemberReferralService.php +++ b/app/frontend/modules/member/services/MemberReferralService.php @@ -194,11 +194,7 @@ class MemberReferralService return show_json(1, $data); } - /** - * 我的推荐人v2 - * - * @return \Illuminate\Http\JsonResponse - */ + // 我的推荐人v2 public function getMyReferral_v2() { ini_set('memory_limit', -1); @@ -319,9 +315,37 @@ class MemberReferralService } $data['team_goods_total'] = intval($team_goods_total); + // 间推下级总数 + $data['indirect_total'] = DB::table('yz_member_children') + ->join('yz_member', function ($join) { + $join->on('yz_member.member_id', '=', 'yz_member_children.child_id') + ->whereNull('deleted_at'); + }) + ->where('yz_member_children.uniacid', $unicid) + ->where('yz_member_children.member_id', $member_id) + ->where('level', 2) + ->count(); + // 间推下级订单总金额 + $indirectChildIds = MemberChildren::where('member_id', $this->member_id)->where("level", 2)->pluck("child_id"); + $indirectOrderMoney = 0; + if (!empty($indirectChildIds)) { + if (app('plugins')->isEnabled('agent-list-set') && \Setting::get('plugin.agent-liset-set.pay_order')) { + $indirectOrderMoney = SetController::getChildOrderMoney($member_id, $unicid); //统计已完成+已支付订单+自己的订单 + } else { + $orderStatus = Setting::get('shop.relation_base.member_order_status') == 1 ? [1, 2, 3] : [3]; + $indirectOrderMoney = MemberChildren::select(['yz_member_children.child_id', 'yz_member_children.member_id']) + ->join('yz_order', 'yz_member_children.child_id', '=', 'yz_order.uid') + ->whereIn('yz_order.status', $orderStatus) + ->where('yz_member_children.level', 2) + ->where('yz_member_children.member_id', $member_id) + ->sum('yz_order.price'); + } + } + $data['indirect_order_money'] = round($indirectOrderMoney, 2); //---------------------new----------------------- + $data['self'] = $member_info; $data['is_recommend_wechat'] = $member_set['is_recommend_wechat'] ?: 0; $data['wechat'] = $member_set['relation_level']['wechat'] ?: 0; @@ -340,9 +364,8 @@ class MemberReferralService } $data['statistical_goods'] = $statisticalGoods ? : []; } - if (!empty($data)) { - return show_json(1, $data); - } + if (!empty($data)) return show_json(1, $data); + return show_json(0, '会员不存在'); } diff --git a/plugins/team-dividend/src/admin/TeamDividendController.php b/plugins/team-dividend/src/admin/TeamDividendController.php index 014c6eb4..f89209c8 100644 --- a/plugins/team-dividend/src/admin/TeamDividendController.php +++ b/plugins/team-dividend/src/admin/TeamDividendController.php @@ -136,7 +136,7 @@ class TeamDividendController extends BaseController 'created_at', DB::raw('sum(amount) as total_amount') ]; - + $search['status'] = [0, 1, 2]; $model = TeamDividendModel::getSearch($search, $field) ->groupBy('order_sn') ->orderBy('id','desc'); diff --git a/plugins/team-dividend/src/models/TeamDividendModel.php b/plugins/team-dividend/src/models/TeamDividendModel.php index 96c934f6..34ffefb1 100644 --- a/plugins/team-dividend/src/models/TeamDividendModel.php +++ b/plugins/team-dividend/src/models/TeamDividendModel.php @@ -489,7 +489,8 @@ class TeamDividendModel extends BaseModel ->select($field) ->where($where) ->when(isset($search['status']) && $search['status'] != '',function($query) use ($search){ - $query->where('status', $search['status']); + if(is_array($search['status'])) $query->whereIn('status', $search['status']); + else $query->where('status', $search['status']); }) ->with([ 'hasOneMember' => function($query){