Parcourir la source

会员等级重复

gorden il y a 5 mois
Parent
commit
6a3a2fe1cc

+ 1 - 0
app/admin/controller/member/RoleController.php

@@ -143,6 +143,7 @@ class RoleController extends Curd
     public function selectList()
     {
         $roles = MemberRole::select('member_role_id','member_role_name')
+            ->where('member_role_category','COMBINE')
             ->orderBy('member_role_sort','desc')
             ->get();
         return json_success('',$roles);

+ 12 - 3
app/admin/service/member/MemberService.php

@@ -46,6 +46,15 @@ class MemberService
         $memberIsPartner = $request->get('member_is_partner', '');
         $memberIsReferrer = $request->get('member_is_referrer', '');
 
+        // 兼容老等级搜索
+        $levelIds = [];
+        if (!empty($level)){
+            $levelName = MemberRole::where('member_role_id',$level)->value('member_role_name');
+            if (!empty($levelName)){
+                $levelIds = MemberRole::where('member_role_name',$levelName)->pluck('member_role_id')->toArray();
+            }
+        }
+
         $rows = Member::with([
             'account' => function ($query) {
                 $query->where('member_account_status', 'ACTIVED');
@@ -54,18 +63,18 @@ class MemberService
             ->where('member_mobile', '<>', '0000')
             ->leftJoin('member_info', 'member_info.join_info_member_id', 'member.member_id')
             ->leftJoin('member_cert', 'member_cert.join_cert_member_id', 'member.member_id')
-//            ->leftjoin('member_account', 'member.member_id', '=', 'member_account.join_account_member_id')
             ->leftJoin('member_role', 'member_role.member_role_id', 'member.join_member_role_id')
-//            ->where('member_account.member_account_classify', 'CASH')
             ->when($name != '', function ($query) use ($name) {
                 $query->where('member_cert.member_cert_name', 'like', '%' . $name . '%');
             })->when($mobile != '', function ($query) use ($mobile) {
                 $query->where('member.member_mobile', 'like', '%' . $mobile . '%');
-            })->when($level != '', function ($query) use ($level) {
+            })->when($level != '', function ($query) use ($level,$levelIds) {
                 if ($level == 'other') {
                     $query->where('member.join_member_role_id', NULL)->orWhere('member.join_member_role_id', '');
                 } else if ($level == 'VIP') {
                     $query->where('member.member_is_vip', 'Y');
+                }else if (!empty($levelIds)){
+                    $query->whereIn('member_role.member_role_id', $levelIds);
                 } else {
                     $query->where('member_role.member_role_id', $level);
                 }