浏览代码

发送、隐藏

wzq 5 年之前
父节点
当前提交
3e444ba9db
共有 3 个文件被更改,包括 98 次插入0 次删除
  1. 28 0
      app/Http/Controllers/MessageRuleController.php
  2. 66 0
      app/Repositories/MessageRuleRepository.php
  3. 4 0
      routes/api.php

+ 28 - 0
app/Http/Controllers/MessageRuleController.php

@@ -115,4 +115,32 @@ class MessageRuleController extends Controller
         $post = $this->messageRuleRepository->detail($request->all());
         return $this->response->item($post, new MessageRuleDetailTransformer());
     }
+
+    /**
+     * 发送消息规则
+     */
+    public function send(Request $request)
+    {
+        $validator = Validator::make($request->all(), [
+            'id' => 'required|exists:message_rule'
+        ]);
+        if ($validator->fails()) {
+            return $this->response->error($validator->errors()->first(), 500);
+        }
+        return  $this->messageRuleRepository->send($request->all());
+    }
+
+    /**
+     * 隐藏消息规则
+     */
+    public function hide(Request $request)
+    {
+        $validator = Validator::make($request->all(), [
+            'id' => 'required|exists:message_rule'
+        ]);
+        if ($validator->fails()) {
+            return $this->response->error($validator->errors()->first(), 500);
+        }
+        return  $this->messageRuleRepository->hide($request->all());
+    }
 }

+ 66 - 0
app/Repositories/MessageRuleRepository.php

@@ -168,4 +168,70 @@ class MessageRuleRepository
     {
         return $this->messageRule->find($request['id']);
     }
+
+    /**
+     * 发送消息规则
+     */
+    public function send($request)
+    {
+        $message = $this->messageRule->find($request['id']);
+        if(!$message || $message->message_status != 0){
+            return Response::create([
+                'message'  => '只能发送未发送消息',
+                'status_code'   => 500
+            ]);
+        }
+
+        $message->send_time = Carbon::now()->toDateTimeString();
+
+        DB::beginTransaction();
+        try{
+            $message->save();
+
+            DB::commit();
+            return Response::create();
+
+        }catch (QueryException $exception){
+            DB::rollBack();
+            Log::debug('发送消息规则:'.$exception->getMessage());
+            return Response::create([
+                'message'  => '发送失败,请重试',
+                'error' => $exception->getMessage(),
+                'status_code'   => 500
+            ]);
+        }
+    }
+
+    /**
+     * 隐藏消息规则
+     */
+    public function hide($request)
+    {
+        $message = $this->messageRule->find($request['id']);
+        if(!$message || $message->message_status != 2){
+            return Response::create([
+                'message'  => '只能隐藏已发送消息',
+                'status_code'   => 500
+            ]);
+        }
+
+        $message->message_status = 3;
+
+        DB::beginTransaction();
+        try{
+            $message->save();
+
+            DB::commit();
+            return Response::create();
+
+        }catch (QueryException $exception){
+            DB::rollBack();
+            Log::debug('隐藏消息规则:'.$exception->getMessage());
+            return Response::create([
+                'message'  => '隐藏失败,请重试',
+                'error' => $exception->getMessage(),
+                'status_code'   => 500
+            ]);
+        }
+    }
 }

+ 4 - 0
routes/api.php

@@ -64,6 +64,10 @@ $api->version('v1', [
         $api->put('message', 'MessageRuleController@update');
         //消息规则详情
         $api->get('message/detail', 'MessageRuleController@detail');
+        //发送消息规则
+        $api->put('message/send', 'MessageRuleController@send');
+        //隐藏消息规则
+        $api->put('message/hide', 'MessageRuleController@hide');
 
     });
     //配置文件