gq 7 vuotta sitten
vanhempi
commit
e8afe6c0d0

+ 1 - 0
server/app/Http/Controllers/Admin/Dream/InfoController.php

xqd
@@ -146,6 +146,7 @@ class InfoController extends Controller
                 'user_id' => $data['user_id'],
                 'message' => ' 你的梦想被暂停,客服会在短时间内联络你',
                 'type_id' => 1,
+                'attr_id' => 5,
             ];
             SystemInfoModel::create($info);
         }

+ 51 - 0
server/app/Http/Controllers/Api/V1/DreamController.php

xqd xqd xqd xqd
@@ -412,12 +412,31 @@ class DreamController extends Controller
         if ($user->coin < $coin) {
             return $this->error(ErrorCode::COIN_NOT_ENOUGH);
         }else{
+//支持成功之前
+            $support_dream = SupportDreamModel::where('dream_id',$dream_id)->get();
+            $top = [] ;
+            foreach ($support_dream as $item) {
+                if (!array_key_exists($item->user_id,$top)) {
+                    $top[$item->user_id] = $item->score;
+                }else{
+                    $top[$item->user_id] += $item->score;
+                }
+            }
+            arsort($top);
+            $new_arr = array_values($top);
+            $old_top_user_id = array_search($new_arr[0],$top);
+
+
 
             $user->coin  -= $coin;
             $user->save();
             $dream->get_coin += $coin;
             $dream->mark += $coin*$number;
             $dream->save();
+//            在支持梦想时 如果梦主排名配取代时发送系统消息
+            $this->systemInfo($dream->id,$user->id,$old_top_user_id);
+
+
             //            梦想实现创建二维码
             if ($dream->coin >= $dream->get_coin && empty($dream->code)) {
                 //        生成二维码
@@ -468,6 +487,7 @@ class DreamController extends Controller
                 'message' => $message,
                 'is_reply' => 1,
                 'type_id' => 1,
+                'attr_id' => 1,
             ];
             SystemInfoModel::create($info);
 
@@ -499,6 +519,36 @@ class DreamController extends Controller
         }
     }
 
+    public function systemInfo($dream_id,$user_id,$old_top_user_id)
+    {
+        $user  = UserInfoModel::find($user_id);
+        $dream  = UserInfoModel::find($dream_id);
+        $support_dream = SupportDreamModel::where('dream_id',$dream_id)->get();
+        $top = [] ;
+        foreach ($support_dream as $item) {
+            if (!array_key_exists($item->user_id,$top)) {
+                $top[$item->user_id] = $item->score;
+            }else{
+                $top[$item->user_id] += $item->score;
+            }
+        }
+        arsort($top);
+        $new_arr = array_values($top);
+        $top_user_id = array_search($new_arr[0],$top);
+        if ($top_user_id != $old_top_user_id) {   //新的最大支持者不是以前的最大支持者时
+            $arr = [
+                'user_id'=>0,
+                'message'=>"你已不是《$dream->name》的《梦主》啦!".$user->nickanme."以$new_arr[0]分刚取代你的位置",
+                'to_user_id'=>$old_top_user_id,
+                'dream_id'=>$dream_id,
+                'is_url'=>1,
+                'type_id'=>2,
+                'attr_id'=>10,
+            ];
+            SystemInfoModel::create($arr);
+        }
+    }
+
 //    收藏关注梦想
     /**
      * @api {get} /api/dream/collection 收藏梦想
@@ -583,6 +633,7 @@ class DreamController extends Controller
                 'message' => $message,
                 'is_reply' => 1,
                 'type_id' => 1,
+                'attr_id' => 2,
             ];
             SystemInfoModel::create($info2);
             //            长连接

+ 10 - 3
server/app/Http/Controllers/Api/V1/IndexController.php

xqd xqd xqd xqd xqd
@@ -150,6 +150,7 @@ class IndexController extends Controller
 
     public function systemInfo($id)
     {
+        $user = UserInfoModel::fimd($id);
         $end_dream_info = DreamInfoModel::where('user_id',$id)->where('end_time','>',date('Y-m-d H:i:s'))->get();
         if (count($end_dream_info)>0) {
             foreach ($end_dream_info as $item){
@@ -178,12 +179,16 @@ class IndexController extends Controller
                     $key = array_search($v,$new_arr);
                     $message = $item->name."已经结束啦!谢谢你的支持,你可是他的第".($key+1)."支持者哦!";
                     if (empty($key)) { //最大支持者
+                        $message = "恭喜你成为《$item->name》的《梦主》!
+                       ". $user->nickanme."会以你提供的微信/电话联系你约好时间地点亲自感谢你给予的支持和鼓励。如果你不希望见面或
+                        不想要梦想者拥有你的联系方式,请按《不需要见面》的按钮或联系客服。";
                         $arr[] = [
                             'user_id'=>0,
                             'message'=>$message,
                             'to_user_id'=>$k,
                             'dream_id'=>$item->id,
                             'is_end'=>1,
+                            'is_url'=>1,
                             'type_id'=>2,
                             'is_max'=>1,
                         ];
@@ -194,6 +199,7 @@ class IndexController extends Controller
                             'to_user_id'=>$k,
                             'dream_id'=>$item->id,
                             'is_end'=>1,
+                            'is_url'=>1,
                             'type_id'=>2,
                         ];
                     }
@@ -206,7 +212,7 @@ class IndexController extends Controller
             foreach ($dreams as $item) {
                 if (date('Y-m-d',$item->dreams->end_time) == date('Y-m-d',time()+1*24*3600)) {
                     $message = $item->name.'过1天就要结束啦!';
-                    $arr = [
+                    $arr2[] = [
                         'user_id'=>0,
                         'message'=>$message,
                         'to_user_id'=>$id,
@@ -214,9 +220,10 @@ class IndexController extends Controller
                         'is_url'=>1,
                         'type_id'=>2,
                     ];
-                    SystemInfoModel::create($arr);
                 }
-
+            }
+            if (!empty($arr2)) {
+                SystemInfoModel::insert($arr2);
             }
         }
     }

+ 17 - 1
server/app/Http/Controllers/Api/V1/InteractionController.php

xqd xqd xqd xqd
@@ -113,6 +113,7 @@ class InteractionController extends Controller
      * @apiPermission Passport
      * @apiVersion 0.1.0
      * @apiParam {int} id                   动态ID不存在
+     * @apiParam {int} u_id                   @用户id
      * @apiParam {int} to_user_id                   发布动态的梦想者id
      * @apiParam {int}   [comment_user_id]          //已经评论者id
      * @apiParam {string} content           内容不能为空
@@ -158,7 +159,7 @@ class InteractionController extends Controller
         $is_read = 1;
         $data = compact('user_id','user_avatar','user_nickname','interaction_id','content','is_read');*/
 
-//        $data['to_user_id'] = InteractionInfo::find($request->id)->dream->user_id;
+        $dream_id = InteractionInfo::find($request->id)->dream_id;
 //        $data['to_user_avatar'] = InteractionInfo::find($request->id)->dream->user_avatar;
 //        $data['to_user_nickname'] = InteractionInfo::find($request->id)->dream->user_nickname;
         if (!empty($request->input('comment_user_id'))) {
@@ -174,6 +175,9 @@ class InteractionController extends Controller
                     'message' => $message,
                     'is_url' => 1,
                     'type_id' => 1,
+                    'attr_id' => 3,
+                    'dream_id' => $dream_id,
+                    'interaction_id' => $request->input('id'),
                 ];
                 SystemInfoModel::create($info);
 
@@ -181,6 +185,18 @@ class InteractionController extends Controller
                 $this->jPush($message,'',$data['to_user_id']);
             }
         }
+        if (!empty($request->input('u_id'))) {
+            $message = $user->nickname.'提起了你哦~点击看看!';
+            $info = [
+                'to_user_id' => $request->input('u_id'),
+                'message' => $message,
+                'is_url' => 1,
+                'type_id' => 1,
+                'dream_id' => $dream_id,
+                'interaction_id' => $request->input('id'),
+            ];
+            SystemInfoModel::create($info);
+        }
 
         $data['user_id'] = $user->id;
         $data['user_avatar'] =$user->avatar;

+ 32 - 22
server/app/Http/Controllers/Api/V1/MyController.php

xqd xqd xqd xqd xqd xqd xqd xqd xqd xqd
@@ -233,8 +233,8 @@ class MyController extends Controller
     }
 
     /**
-     * @api {get} /api/my/reply 回复我的
-     * @apiDescription 回复我的
+     * @api {get} /api/my/dreamInfo 梦想消息
+     * @apiDescription 梦想消息
      * @apiGroup My
      * @apiPermission Passport
      * @apiVersion 0.1.0
@@ -252,11 +252,11 @@ class MyController extends Controller
      * @apiErrorExample {json} Error-Response:
      * HTTP/1.1 400 Bad Request
      */
-    public function reply()
+    public function dreamInfo()
     {
+//        梦想消息分为 支持 收藏 互动 提现 梦想暂停 结束
         $user = $this->getUser();
-//        $user = UserInfoModel::find(4);
-        $data = CommentInfoModel::where('to_user_id',$user->id)->orderBy('id','desc')->get(); //user_id
+        $data  =  SystemInfoModel::where('user_id',$user->id)->where('type_id',1)->orderBy('id','desc')->get();
         foreach ($data as $item){   //访问接口  标记已读
             $item->update(['is_read'=>0]);
             $info = InteractionInfo::find($item->interaction_id);
@@ -266,8 +266,8 @@ class MyController extends Controller
         return $this->api($data);
     }
     /**
-     * @api {get} /api/my/letter 私信
-     * @apiDescription 私信
+     * @api {get} /api/my/sup_info 支持消息
+     * @apiDescription 支持消息
      * @apiGroup My
      * @apiPermission Passport
      * @apiVersion 0.1.0
@@ -285,18 +285,18 @@ class MyController extends Controller
      * @apiErrorExample {json} Error-Response:
      * HTTP/1.1 400 Bad Request
      */
-    public function letter()
+    public function supInfo()
     {
         $user = $this->getUser();
-        $data  =  SystemInfoModel::with('touser')->where('user_id',$user->id)->whereNotNull('to_user_id')->orderBy('id','desc')->get();
+        $data  =  SystemInfoModel::with('touser')->where('user_id',$user->id)->where('type_id',2)->orderBy('id','desc')->get();
         foreach ($data as $item){   //访问接口  标记已读
             $item->update(['is_read'=>1]);
         }
         return $this->api($data);
     }
     /**
-     * @api {get} /api/my/system_info 系统消息
-     * @apiDescription 系统消息
+     * @api {get} /api/my/system_info 通知消息
+     * @apiDescription 通知消息
      * @apiGroup My
      * @apiPermission Passport
      * @apiVersion 0.1.0
@@ -317,7 +317,7 @@ class MyController extends Controller
     public function systemInfo()
     {
         $user = $this->getUser();
-        $data =  SystemInfoModel::where('user_id',$user->id)->whereNull('to_user_id')->orderBy('id','desc')->get();
+        $data =  SystemInfoModel::where('user_id',$user->id)->where('type_id',0)->orderBy('id','desc')->get();
         foreach ($data as $item){   //访问接口  标记已读
             $item->update(['is_read'=>1]);
         }
@@ -337,17 +337,14 @@ class MyController extends Controller
      *  "status_code": 0,
      *  "message": "",
      *  "data": {
-     *      "systemInfo": {
+     *      "dream_info": {
      *          "number": 3,
-     *          "is_read": 3
      *      },
-     *      "letter": {
+     *      "sup_info": {
      *          "number": 0,
-     *          "is_read": 0
      *      },
-     *      "reply": {
+     *      "system_info": {
      *          "number": 3,
-     *          "is_read": 3
      *      }
      *  }
      *}
@@ -357,7 +354,7 @@ class MyController extends Controller
     public function info()
     {
         $user = $this->getUser();
-        $systemInfo1 =  SystemInfoModel::where('user_id',$user->id)->whereNull('to_user_id')->orderBy('id','desc')->get();
+     /*   $systemInfo1 =  SystemInfoModel::where('user_id',$user->id)->whereNull('to_user_id')->orderBy('id','desc')->get();
         $systemInfo2 =  SystemInfoModel::where('user_id',$user->id)->where('is_read','0')
             ->whereNull('to_user_id')->orderBy('id','desc')->get();
         $letter1 =  SystemInfoModel::where('user_id',$user->id)->whereNotNull('to_user_id')->orderBy('id','desc')->get();
@@ -371,7 +368,15 @@ class MyController extends Controller
         $arr['letter']['number'] = count($letter1) ;
         $arr['letter']['is_read'] = count($letter2) ;
         $arr['reply']['number'] = count($comments1) ;
-        $arr['reply']['is_read'] = count($comments2) ;
+        $arr['reply']['is_read'] = count($comments2) ;*/
+//        梦想消息 支持消息 通知消息
+        $user_id = $user->id;
+        $dream_info = SystemInfoModel::where('to_user_id',$user_id)->where('type_id',1)->where('is_read',0)->orderBy('id','desc')->get();
+        $sup_info = SystemInfoModel::where('to_user_id',$user_id)->where('type_id',2)->where('is_read',0)->orderBy('id','desc')->get();
+        $system_info = SystemInfoModel::where('to_user_id',$user_id)->where('type_id',0)->where('is_read',0)->orderBy('id','desc')->get();
+        $arr['dream_info']['number'] = count($dream_info) ;
+        $arr['sup_info']['number'] = count($sup_info) ;
+        $arr['system_info']['number'] = count($system_info) ;
         return $this->api($arr);
     }
 
@@ -512,6 +517,8 @@ class MyController extends Controller
         $info = [
             'user_id' => $user->id,
             'message' => $message,
+            'attr_id' => 4,
+            'type_id' => 1,
         ];
         SystemInfoModel::create($info);
 
@@ -1188,16 +1195,19 @@ class MyController extends Controller
         if($validator->fails()) return $this->validatorError($validator->messages()->all(),ErrorCode::CLIENT_WRONG_PARAMS);
         $user = $this->getUser();
         $user_id = $user->id;
-        $message = $request->input('content');
+        $info = $request->input('content');
         $to_user_id = $request->input('to_user_id');
 //        链接到最近的一个梦想
         $dream = DreamInfoModel::where('user_id',$user_id)->orderBy('id','desc')->first();
         $dream_id = empty($dream) ? 0 : $dream->id;
         $arr = [
             'user_id'=>$to_user_id,
-            'message'=>$message,
+            'info'=>$info,
+            'message'=>$user->nickname.'给你发了个私信哦~点击看看!',
             'to_user_id'=>$user_id,
             'dream_id'=>$dream_id,
+            'type_id'=>2,
+            'is_url'=>1,
         ];
 
         $ok =SystemInfoModel::create($arr);

+ 2 - 0
server/app/Models/SystemInfoModel.php

xqd
@@ -39,9 +39,11 @@ class SystemInfoModel extends BaseModel
                            'dream_id',
                            'type_id',
                            'is_url',
+                           'info',
                            'is_reply',
                            'is_max',
                            'is_ok',
+                           'attr_id',
                           ];
 
     public function user()

+ 2 - 0
server/database/migrations/2017_10_30_165649_add_is_reply_to_system_info_table.php

xqd
@@ -15,6 +15,8 @@ class AddIsReplyToSystemInfoTable extends Migration
     {
         Schema::table('system_info', function (Blueprint $table) {
             $table->smallInteger('is_reply')->default(0)->comment('0不可回复1可回复')->after('dream_id');
+            $table->smallInteger('attr_id')->default(0)->comment('1支持2收藏3互动4提现5梦想暂停6结束7私信8@9倒计时10排名取代')->after('dream_id');
+            $table->text('info')->nullable()->comment('私信内容')->after('dream_id');
         });
     }
 

+ 32 - 0
server/database/migrations/2017_10_31_100205_add_is_ok_to_dream_info_table.php

xqd
@@ -0,0 +1,32 @@
+<?php
+
+use Illuminate\Support\Facades\Schema;
+use Illuminate\Database\Schema\Blueprint;
+use Illuminate\Database\Migrations\Migration;
+
+class AddIsOkToDreamInfoTable extends Migration
+{
+    /**
+     * Run the migrations.
+     *
+     * @return void
+     */
+    public function up()
+    {
+        Schema::table('dream_info', function (Blueprint $table) {
+            $table->smallInteger('is_ok')->comment('1同意见面0拒绝')->nullable()->after('parameter');
+        });
+    }
+
+    /**
+     * Reverse the migrations.
+     *
+     * @return void
+     */
+    public function down()
+    {
+        Schema::table('dream_info', function (Blueprint $table) {
+            //
+        });
+    }
+}

+ 7 - 0
server/resources/views/admin/dream/info/index.blade.php

xqd xqd
@@ -46,6 +46,7 @@
 			<th class="sorting" data-sort="parameter"> 排行参数 </th>
 			<th class="sorting" data-sort="code"> 二维码 </th>
 			<th class="sorting" data-sort="code"> 扫描时间 </th>
+			<th class="sorting" data-sort="is_ok"> 结束信息 </th>
 			<th class="sorting" data-sort="status"> 梦想状态 </th>
 			<th class="sorting" data-sort="created_at"> 梦想发布时间 </th>
 			<th class="sorting" data-sort="end_time"> 梦想结束时间 </th>
@@ -74,6 +75,12 @@
 				<a onclick="layer.open({type: 2,area: ['80%', '90%'],content: '{{ U('/Dream/Info/show_code',['code'=> $item->code])}}'});"  class="btn btn-primary ">查看</a>
 			</td>
 			<td>{{ empty($item->meet) ? '' : $item->meet->created_at  }}</td>
+			<td>
+				@if($item->is_ok == 1)同意
+					@elseif($item->is_ok ===0)拒绝
+				@else
+				@endif
+			</td>
 			<td>{{ dict()->get('dream_info','status',$item->status) }}</td>
 			<td>{{$item->created_at }}</td>
 			<td>{{$item->end_time}}</td>

+ 6 - 6
server/routes/api.php

xqd
@@ -138,13 +138,13 @@ $api->version('v1', ['namespace' => 'App\Http\Controllers\Api\V1'], function ($a
         'as' => 'my.system_info',
         'uses' => 'MyController@systemInfo',
     ]);
-    $api->get('my/reply', [
-        'as' => 'my.reply',
-        'uses' => 'MyController@reply',
+    $api->get('my/dream_info', [
+        'as' => 'my.dream_info',
+        'uses' => 'MyController@dreamInfo',
     ]);
-    $api->get('my/letter', [
-        'as' => 'my.letter',
-        'uses' => 'MyController@letter',
+    $api->get('my/sup_info', [
+        'as' => 'my.sup_info',
+        'uses' => 'MyController@supInfo',
     ]);
     $api->get('my/dream', [
         'as' => 'my.dream',