wzq 5 年之前
父節點
當前提交
192ad2e064
共有 5 個文件被更改,包括 120 次插入0 次删除
  1. 43 0
      app/Helper/helper.php
  2. 24 0
      app/Models/MemberGroup.php
  3. 19 0
      app/Models/MemberGroupInfo.php
  4. 20 0
      app/Repositories/FloorRepository.php
  5. 14 0
      app/Traits/UserTrait.php

+ 43 - 0
app/Helper/helper.php

@@ -78,3 +78,46 @@ function http($url, $param, $method = 'post')
 
 }
 
+function jsonSuccess($data = [], $msg = "成功")
+{
+    $response = array(
+        'code' => 0,
+        'msg' => $msg,
+        'data' => []
+    );
+    if ($data) {
+        if (is_array($data)) {
+            //带有分页格式转换
+            if (isset($data['meta'])) {
+                // 更改元数据格式,全部包含在data下
+                $temp = array(
+                    'data' => array(
+                        'data' => $data['data'],
+                        'pagination' => $data['meta']['pagination']
+                    )
+                );
+                $response = array_merge($response, $temp);
+            } elseif(isset($data['data'])) {
+                $response = array_merge($response, $data);
+            }else{
+                $temp = array(
+                    'data' => $data
+                );
+                $response = array_merge($response, $temp);
+            }
+        } else {
+            $response['data'] = $data;
+        }
+    }
+    return $response;
+}
+
+function jsonError($msg)
+{
+    $response = array(
+        'code' => 1,
+        'msg' => $msg,
+        'data' => ""
+    );
+    return $response;
+}

+ 24 - 0
app/Models/MemberGroup.php

@@ -0,0 +1,24 @@
+<?php
+/**
+ * Created by PhpStorm.
+ * User: Administrator
+ * Date: 2019/6/20
+ * Time: 9:45
+ */
+namespace App\Models;
+
+use Illuminate\Database\Eloquent\Model;
+use Illuminate\Database\Eloquent\SoftDeletes;
+
+class MemberGroup extends Model
+{
+    //
+    use SoftDeletes;
+    protected $table = 'member_group';
+    protected $guarded = [];
+
+    public function info()
+    {
+        return $this->hasMany('App\Models\MemberGroupInfo', 'id', 'member_group_id');
+    }
+}

+ 19 - 0
app/Models/MemberGroupInfo.php

@@ -0,0 +1,19 @@
+<?php
+/**
+ * Created by PhpStorm.
+ * User: Administrator
+ * Date: 2019/6/20
+ * Time: 9:45
+ */
+namespace App\Models;
+
+use Illuminate\Database\Eloquent\Model;
+use Illuminate\Database\Eloquent\SoftDeletes;
+
+class MemberGroupInfo extends Model
+{
+    //
+    use SoftDeletes;
+    protected $table = 'member_group_info';
+    protected $guarded = [];
+}

+ 20 - 0
app/Repositories/FloorRepository.php

@@ -1,6 +1,8 @@
 <?php
 namespace App\Repositories;
 use App\Models\Floor;
+use App\Models\MemberGroup;
+use App\Models\MemberGroupInfo;
 use App\Models\TopicGroup;
 use App\Models\TopicGroupInfo;
 use App\Models\VideoGroup;
@@ -23,12 +25,16 @@ class FloorRepository
 {
     use UserTrait;
     public function __construct(Floor $floor,
+                                MemberGroup $memberGroup,
+                                MemberGroupInfo $memberGroupInfo,
                                 VideoGroup $videoGroup,
                                 VideoGroupInfo $videoGroupInfo,
                                 TopicGroup $topicGroup,
                                 TopicGroupInfo $topicGroupInfo)
     {
         $this->floor = $floor;
+        $this->memberGroup = $memberGroup;
+        $this->memberGroupInfo = $memberGroupInfo;
         $this->videoGroup = $videoGroup;
         $this->videoGroupInfo = $videoGroupInfo;
         $this->topicGroup = $topicGroup;
@@ -68,6 +74,20 @@ class FloorRepository
                 }
             }elseif($item->floor_type == 1){
                 //user
+                $memberIds = $this->memberGroup
+                    ->join('member_group_info', 'member_group_info.member_group_id', '=', 'member_group.id')
+                    ->where('member_group.id', $item->group_ids)
+                    ->limit(20)
+                    ->pluck('member_group_info.uid')
+                    ->toArray();
+                if(!$memberIds) continue;
+                $memberIds = implode($memberIds, ',');
+                $member = $this->getMemberGroup($memberIds);
+                if(!$member) continue;
+                $data[$item->floor_location] = [
+                    'show_type' => 'user',
+                    'data' => $member
+                ];
             }elseif($item->floor_type == 2){
                 //video
                 $videoIds = $this->videoGroup

+ 14 - 0
app/Traits/UserTrait.php

@@ -67,4 +67,18 @@ trait UserTrait
         }
 
     }
+
+    public function getMemberGroup($ids) {
+        try {
+            $sign = generateSign([], config('customer.app_secret'));
+            $url = config("customer.app_service_url").'/user/userGroup';
+            $array = [
+                'json' => ['sign' => $sign, 'ids' => $ids], 'query' => [], 'http_errors' => false,'headers'=>['Authorization'=>"Bearer ".JWTAuth::getToken()]
+            ];
+            return http($url,$array,'get');
+        } catch (\Exception $e) {
+            return [];
+        }
+
+    }
 }