Просмотр исходного кода

fix(shared): 修复共富用户查询中的表关联和字段引用问题

- 在DAO层添加表别名和左连接以正确关联用户表和群组用户表
- 修改仓库层中的字段引用,将user_id改为a.user_id以匹配表别名
- 修改仓库层中的字段引用,将partner_level改为a.partner_level以匹配表别名
- 移除原有的群组用户查询逻辑,直接通过表关联进行群组筛选
- 更新群组筛选条件,将b.group_id作为查询条件替代原来的用户ID列表查询
shichen месяцев назад: 5
Родитель
Сommit
2927599a1a

+ 2 - 0
app/common/dao/shared/SharedProsperityUserDao.php

@@ -284,6 +284,8 @@ class SharedProsperityUserDao extends BaseDao
284
         $model = $this->getModel();
284
         $model = $this->getModel();
285
         try {
285
         try {
286
             $list = $model::getDB()
286
             $list = $model::getDB()
287
+                ->alias('a')
288
+                ->leftJoin('shared_prosperity_group_user b', 'a.user_id = b.user_id')
287
                 ->where($where)
289
                 ->where($where)
288
                 ->with([
290
                 ->with([
289
                     'user' => function ($query) {
291
                     'user' => function ($query) {

+ 10 - 9
app/common/repositories/shared/SharedProsperityUserRepository.php

@@ -687,7 +687,7 @@ class SharedProsperityUserRepository extends BaseRepository
687
                 $uid = $userData->uid;
687
                 $uid = $userData->uid;
688
             }
688
             }
689
 
689
 
690
-            $where[] = ['user_id', '=', $uid];
690
+            $where[] = ['a.user_id', '=', $uid];
691
         }
691
         }
692
 
692
 
693
         // 昵称搜索
693
         // 昵称搜索
@@ -697,22 +697,23 @@ class SharedProsperityUserRepository extends BaseRepository
697
             if ($userData) {
697
             if ($userData) {
698
                 $uid = $userData->uid;
698
                 $uid = $userData->uid;
699
             }
699
             }
700
-            $where[] = ['user_id', '=', $uid];
700
+            $where[] = ['a.user_id', '=', $uid];
701
         }
701
         }
702
 
702
 
703
         // 合伙人等级搜索
703
         // 合伙人等级搜索
704
         if (isset($params['partner_level']) && $params['partner_level']) {
704
         if (isset($params['partner_level']) && $params['partner_level']) {
705
-            $where[] = ['partner_level', '=', $params['partner_level']];
705
+            $where[] = ['a.partner_level', '=', $params['partner_level']];
706
         }
706
         }
707
 
707
 
708
         // 共富团等级搜索
708
         // 共富团等级搜索
709
         if (isset($params['user_group']) && $params['user_group']) {
709
         if (isset($params['user_group']) && $params['user_group']) {
710
-            /** @var SharedProsperityGroupUserDao $groupUserDao */
711
-            $groupUserDao = app()->make(SharedProsperityGroupUserDao::class);
712
-            $groupUserData = $groupUserDao->getUserByLevel($params['user_group']);
713
-            $uids = array_column($groupUserData['data'], 'user_id');
714
-            $where[] = ['user_id', 'in', $uids];
715
-            $page = 1;
710
+            // /** @var SharedProsperityGroupUserDao $groupUserDao */
711
+            // $groupUserDao = app()->make(SharedProsperityGroupUserDao::class);
712
+            // $groupUserData = $groupUserDao->getUserByLevel($params['user_group']);
713
+            // $uids = array_column($groupUserData['data'], 'user_id');
714
+            // $where[] = ['user_id', 'in', $uids];
715
+            // $page = 1;
716
+            $where[] = ['b.group_id', '=', $params['user_group']];
716
         }
717
         }
717
 
718
 
718
         $list = $this->dao->adminList($where, $page);
719
         $list = $this->dao->adminList($where, $page);