Browse Source

'用户查询调整'

zhuchengjie 2 years ago
parent
commit
c26b22db42

+ 4 - 4
src/Controllers/CompanyAuth/Transformers/UserTransformer.php

@@ -20,10 +20,10 @@ class UserTransformer
             'register_ip' => $item->register_ip,
             'register_time' =>  (string)$item->created_at,
             'ua' => $item->user_env ? $item->user_env->ua : '',
-            'app_id' => $item->force_subscribe_user ? $item->force_subscribe_user->appid : '',
-            'opend_id' => $item->force_subscribe_user ? $item->force_subscribe_user->openid : '',
-            'is_subscribed' => $item->force_subscribe_user && $item->force_subscribe_user->is_subscribed ? (string)$item->force_subscribe_user->is_subscribed : '0',
-            'subscribe_time' => $item->force_subscribe_user ? (string)$item->force_subscribe_user->subscribe_time : '',
+            'app_id' => isset($item->appid) ? $item->appid : '',
+            'opend_id' => isset($item->openid) ? $item->openid : '',
+            'is_subscribed' => isset($item->is_subscribed) ? (string)$item->is_subscribed : '0',
+            'subscribe_time' => isset($item->subscribe_time) ? (string)$item->subscribe_time : '',
             'nickname' => $item->nickname ? (string)$item->nickname : '',
             'balance' => $item->balance ? (string)$item->balance : '',
             'sex' => isset($sex[$item->sex]) ? $sex[$item->sex] : ''

+ 4 - 2
src/Controllers/CompanyAuth/UserController.php

@@ -85,9 +85,11 @@ class UserController extends Controller
         if ($uid_str) {
             $uids = explode(',', $uid_str);
             $uids = count($uids) > 100 ? collect($uids)->take(100) : $uids;
-            $result = $service->companyAuthUsers($channel_id, $start_time, $end_time, $uids);
+//            $result = $service->companyAuthUsers($channel_id, $start_time, $end_time, $uids);
+            $result = $service->getCompanyAuthUsers($channel_id, $start_time, $end_time, $uids);
         } else {
-            $result = $service->companyAuthUsers($channel_id, $start_time, $end_time);
+//            $result = $service->companyAuthUsers($channel_id, $start_time, $end_time);
+            $result = $service->getCompanyAuthUsers($channel_id, $start_time, $end_time);
         }
         return response()->pagination(new UserTransformer, $result);
     }

+ 18 - 0
src/Services/User/UserService.php

@@ -30,6 +30,24 @@ class UserService
         return $sql->paginate(100);
     }
 
+    public function getCompanyAuthUsers($channel_id,$start_time,$end_time,$uids = [])
+    {
+        $query = User::leftjoin('force_subscribe_users','force_subscribe_users.uid','users.id')
+            ->select('users.id','users.distribution_channel_id','users.openid','users.register_ip','users.sex',
+                'users.created_at','force_subscribe_users.appid','force_subscribe_users.openid','force_subscribe_users.is_subscribed','force_subscribe_users.subscribe_time')
+            ->orderBy('id','DESC');
+        if ($start_time) {
+            $query->where('created_at', '>=', $start_time);
+        }
+        if ($end_time) {
+            $query->where('created_at', '<=', $end_time);
+        }
+        if ($uids) {
+            $query->whereIn('id', $uids);
+        }
+        return $query->paginate(100);
+    }
+
     public function findSubscribeRecords(int $channel_id, array $uids)
     {
         return SubscribeRecord::where('distribution_channel_id', $channel_id)