Sfoglia il codice sorgente

创建消息规则

wzq 5 anni fa
parent
commit
b2b0add65e

+ 3 - 2
app/Http/Controllers/MessageRuleController.php

@@ -68,7 +68,7 @@ class MessageRuleController extends Controller
     }
 
     /**
-     * 创建消息
+     * 创建消息规则
      */
     public function create(Request $request)
     {
@@ -79,7 +79,8 @@ class MessageRuleController extends Controller
             'show_type' => ['required',Rule::in('only_show', 'user', 'post', 'activity', 'topic')],
             'activity_url' => 'required_unless:show_type,only_show|string|max:64',
             'cover' => 'required|url',
-            'send_time' => 'nullable|date'
+            'send_time' => 'nullable|date',
+            'activity_time' => 'nullable|string|max:24',
         ]);
         if ($validator->fails()) {
             return $this->response->error($validator->errors()->first(), 500);

+ 14 - 63
app/Repositories/MessageRuleRepository.php

@@ -45,7 +45,7 @@ class MessageRuleRepository
     }
 
     /**
-     * 创建消息
+     * 创建消息规则
      */
     public function create($request)
     {
@@ -63,81 +63,32 @@ class MessageRuleRepository
             $noticeGroups = implode(',', array_unique($noticeGroups));
         }
 
-        return $noticeGroups;
-        //验证话题
-        $topicIds = $this->topic->whereIn('id', explode(',', $request['topic_ids']))->pluck('id')->toArray();
-        $topicCount = count($topicIds);
-        if($topicCount == 0 || $topicCount > 5){
-            return Response::create([
-                'message'  => '所选话题必须1-5个',
-                'status_code'   => 500
-            ]);
-        }
-        $topicIds = implode(',', $topicIds);
 
         $data = [
-            'uid' => $request['uid'],
-            'username' => $userInfo['username'],
-            'mobile' => $userInfo['mobile'],
-            'avatar' => $userInfo['avatar'],
-            'type' => $request['type'],
-            'img' => $request['img'],
-            'video' => $request['video']??'',
-            'topic_ids' => $topicIds,
-            'title' => $request['title']??'',
-            'content' => $request['content'],
-            'location' => $request['location']??'',
-            'is_suggest' => $request['is_suggest'],
-            'is_hide' => 0
+            'title' => $request['title'],
+            'notice_groups' => $noticeGroups,
+            'message_type' => $request['message_type'],
+            'activity_url' => $request['activity_url']??'',
+            'cover' => $request['cover'],
+            'message_status' => 0,
+            'send_time' => isset($request['send_time']) && $request['send_time']? $request['send_time']:null,
+            'activity_time' => $request['activity_time']??'',
+            'sent_count' => 0,
+            'open_count' => 0
         ];
 
-        $date = date('Y-m-d H:i:s');
-
-
         DB::beginTransaction();
         try{
-            $post = $this->post->create($data);
-
-            $this->postData->create([
-                'post_id' => $post->id,
-                'pv' => 0,
-                'pv_real' => 0,
-                'dislike_count' => 0,
-                'praise_count' => 0,
-                'praise_real_count' => 0,
-                'share_count' => 0,
-                'share_real_count' => 0,
-                'comment_count' => 0,
-                'comment_real_count' => 0,
-                'collect_count' => 0,
-                'collect_real_count' => 0,
-                'available_bean' => $this->availableBean(),
-                'will_collect_bean' => rand(100, 200),
-                'collect_bean' => 0,
-                'weight' => 0
-            ]);
-
-            if(!empty($request['imgs']) && $request['type'] == 'image'){
-                $imgData = [];
-                foreach($request['imgs'] as $img){
-                    $imgData[] = [
-                        'post_id' => $post->id,
-                        'img' => $img,
-                        'created_at' => $date,
-                        'updated_at' => $date
-                    ];
-                }
-                $this->postImgs->insert($imgData);
-            }
+            $this->messageRule->create($data);
 
             DB::commit();
             return Response::create();
 
         }catch (QueryException $exception){
             DB::rollBack();
-            Log::debug('发布内容:'.$exception->getMessage());
+            Log::debug('创建消息规则:'.$exception->getMessage());
             return Response::create([
-                'message'  => '发布失败,请重试',
+                'message'  => '添加失败,请重试',
                 'error' => $exception->getMessage(),
                 'status_code'   => 500
             ]);

+ 9 - 0
app/Transformers/MessageRuleListTransformer.php

@@ -9,6 +9,7 @@
 namespace App\Transformers;
 
 use App\Models\MessageRule;
+use Illuminate\Support\Carbon;
 use League\Fractal\TransformerAbstract;
 
 class MessageRuleListTransformer extends TransformerAbstract
@@ -17,6 +18,14 @@ class MessageRuleListTransformer extends TransformerAbstract
     {
         return [
             'id' => $messageRule['id'],
+            'title' => $messageRule['title'],
+            'message_type' => $messageRule['message_type'],
+            'cover' => $messageRule['cover'],
+            'updated_at' => Carbon::parse($messageRule['updated_at'])->toDateTimeString(),
+            'sent_count' => $messageRule['sent_count'],
+            'open_count' => $messageRule['open_count'],
+            'notice_groups' => $messageRule['notice_groups'],
+            'message_status' => $messageRule['message_status'],
         ];
     }
 }

+ 35 - 0
database/migrations/2019_06_12_055639_add_acitvity_time_to_table_message_rule.php

@@ -0,0 +1,35 @@
+<?php
+
+use Illuminate\Support\Facades\Schema;
+use Illuminate\Database\Schema\Blueprint;
+use Illuminate\Database\Migrations\Migration;
+
+class AddAcitvityTimeToTableMessageRule extends Migration
+{
+    /**
+     * Run the migrations.
+     *
+     * @return void
+     */
+    public function up()
+    {
+        Schema::table('message_rule', function (Blueprint $table) {
+            $table->string('activity_time', 32)
+                ->default('')
+                ->after('send_time')
+                ->comment('活动时间');
+        });
+    }
+
+    /**
+     * Reverse the migrations.
+     *
+     * @return void
+     */
+    public function down()
+    {
+        Schema::table('message_rule', function (Blueprint $table) {
+            //
+        });
+    }
+}

+ 1 - 0
resources/lang/zh-CN/validation.php

@@ -107,6 +107,7 @@ return [
         'activity_url' => '活动链接',
         'cover' => '封面图',
         'send_time' => '发送时间',
+        'activity_time' => '活动时间',
     ],
 
 ];