zhuchengjie 3 years ago
parent
commit
71734aefad

+ 5 - 7
src/Controllers/CompanyAuth/Transformers/OrderTransformer.php

@@ -9,8 +9,11 @@
 namespace General\Controllers\CompanyAuth\Transformers;
 
 use General\Helpers\CommonHelper;
+use General\Models\OfficialAccount\ForceSubscribeUsers;
+use General\Models\OfficialAccount\OfficialAccount;
 use General\Models\OfficialAccount\WechatKeywordMsgs;
 use General\Models\Order\Order;
+use General\Models\User\User;
 use General\Services\Order\OrderService;
 
 class OrderTransformer
@@ -22,17 +25,12 @@ class OrderTransformer
         $app_id  = $item->user && $item->user->force_subscribe_user ? $item->user->force_subscribe_user->appid : '';
         $opend_id = $item->user && $item->user->force_subscribe_user ? $item->user->force_subscribe_user->openid : '';
         if ($opend_id == ''){
-            $res = $service->getUserOpenidsData($uid);
+            $appIds = OfficialAccount::where('distribution_channel_id',$item->distribution_channel_id)->get()->pluck('app_id')->toArray();
+            $res = $service->getUserOpenidsData($uid,$appIds);
             if ($res){
                 $opend_id = $res['openid'];
             }
         }
-        if ($app_id == '') {
-            $res = $service->getUserOpenidsData($uid);
-            if ($res){
-                $app_id = $res['appid'];
-            }
-        }
         return [
             'uid' => $uid,
             'price' => (float) $item->price,

+ 2 - 2
src/Services/Order/OrderService.php

@@ -38,9 +38,9 @@ class OrderService
         }
     }
 
-    public function getUserOpenidsData($uid)
+    public function getUserOpenidsData($uid,$app_id)
     {
-        $res = UserOpenids::where('uid', $uid)->first();
+        $res = UserOpenids::where('uid', $uid)->whereIn('app_id',$app_id)->first();
         return $res ? $res->toArray() : [];
     }