|
@@ -94,4 +94,68 @@ class MessageRuleRepository
|
|
|
]);
|
|
|
}
|
|
|
}
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 编辑消息规则
|
|
|
+ */
|
|
|
+ public function update($request)
|
|
|
+ {
|
|
|
+ $message = $this->messageRule->find($request['id']);
|
|
|
+ if(!$message || $message->message_status != 0){
|
|
|
+ return Response::create([
|
|
|
+ 'message' => '只能编辑未发送消息',
|
|
|
+ 'status_code' => 500
|
|
|
+ ]);
|
|
|
+ }
|
|
|
+ $noticeGroups = explode(',', $request['notice_groups']);
|
|
|
+
|
|
|
+ if(in_array(0, $noticeGroups)){
|
|
|
+ $noticeGroups = 0;
|
|
|
+ } else {
|
|
|
+ if(array_diff($noticeGroups, [1,2])){
|
|
|
+ return Response::create([
|
|
|
+ 'message' => '通知群体参数有误',
|
|
|
+ 'status_code' => 500
|
|
|
+ ]);
|
|
|
+ }
|
|
|
+ $noticeGroups = implode(',', array_unique($noticeGroups));
|
|
|
+ }
|
|
|
+
|
|
|
+ $message->title = $request['title'];
|
|
|
+ $message->notice_groups = $noticeGroups;
|
|
|
+ $message->message_type = $request['message_type'];
|
|
|
+ $message->cover = $request['cover'];
|
|
|
+
|
|
|
+ if($request['activity_url']){
|
|
|
+ $message->notice_groups = $request['activity_url'];
|
|
|
+ }
|
|
|
+ if(isset($request['send_time'])){
|
|
|
+ if($request['send_time']){
|
|
|
+ $message->send_time = $request['send_time'];
|
|
|
+ }else{
|
|
|
+ $message->send_time = null;
|
|
|
+ }
|
|
|
+
|
|
|
+ }
|
|
|
+ if($request['activity_time']){
|
|
|
+ $message->activity_time = $request['activity_time'];
|
|
|
+ }
|
|
|
+
|
|
|
+ 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
|
|
|
+ ]);
|
|
|
+ }
|
|
|
+ }
|
|
|
}
|