diff --git a/app/ticket/controller/ConversationController.php b/app/ticket/controller/ConversationController.php
index fcc8ef6..6b90750 100644
--- a/app/ticket/controller/ConversationController.php
+++ b/app/ticket/controller/ConversationController.php
@@ -31,6 +31,24 @@ class ConversationController extends BaseController
return $this->error($th->getMessage());
}
}
+
+ /**
+ * 工单邮件补发
+ * @param Request $request
+ * @return \support\Response
+ */
+ public function sendEmail(Request $request)
+ {
+ try {
+ $res = (new ConversationService())->sendEmail($request->all());
+ return $res
+ ? $this->success($res)
+ : $this->error();
+ } catch (\Throwable $th) {
+ return $this->error($th->getMessage());
+ }
+ }
+
public function edit(Request $request)
{
try {
diff --git a/app/ticket/service/ConversationService.php b/app/ticket/service/ConversationService.php
index 4417284..e80704a 100644
--- a/app/ticket/service/ConversationService.php
+++ b/app/ticket/service/ConversationService.php
@@ -64,19 +64,25 @@ class ConversationService
if (empty($conversation)) {
$email = $emailDefault;
}else{
- $tiket = (new TicketLogic)->find($conversation['ticket_id']);
+ $tiket = (new TicketLogic())->find($conversation['ticket_id']);
if($data['user_id'] != $tiket['user_id']){
- $email = User::find($tiket['user_id'])->value('email');
+ $email = User::where('id',$tiket['user_id'])->value('email');
}else{
$conversationLast = Conversation::where('ticket_id', '=', $conversation['ticket_id'])
->where('user_id', '!=', $data['user_id'])
->orderBy('id', 'desc')
->first();
- $email = (!empty($conversationLast['user_id']))?User::find($conversationLast['user_id'])->value('email',$emailDefault):$emailDefault;
+ $email = (!empty($conversationLast['user_id']))?User::where('id',$conversationLast['user_id'])->value('email',$emailDefault):$emailDefault;
}
$notice['content'] = $tiket['content'];
- $notice['reply'] = '
最新回复:' . $data['content'] . '';
+
+ $status_fanyi = array_map(fn($v) => "{{{$v}}}", array_flip(Constants::TICKET_STATUS));
+ $locale = locale();
+ $ticket_status = $locale == 'zh'? Constants::TICKET_STATUS_ZH:Constants::TICKET_STATUS_EN;
+ $content = str_replace($status_fanyi,$ticket_status,$data['content']);
+
+ $notice['reply'] = '最新回复:' . $content . '';
}
\app\common\utils\email\MailSend::send($email, '【XYH】新的工单提醒', replaceTpl($notice, 'work_order'));
@@ -89,6 +95,44 @@ class ConversationService
}
}
+ public function sendEmail(array $data)
+ {
+ $conversation = (new ConversationLogic())->firstByTicket($data['ticket_id']);
+ $ticket = (new TicketLogic())->find($data['ticket_id']);
+ $categorie= (new CategorieLogic())->find($ticket['categorie_id']);
+ $categorieName = isset($categorie['translation']) ? $categorie['translation']['name'] : '';
+ $notice = [
+ 'code' => $ticket['code'],
+ 'category' => $categorieName,
+ 'content' => $ticket['content'],
+ 'reply' => '',
+ ];
+ //$emailDefault = 'app@hnxinyouhe.com'; //公共邮箱
+ $emailDefault = 'tuotuo@hnxinyouhe.com'; //范彩凤
+ if (empty($conversation)) {
+ $email = $emailDefault;
+ }else{
+ $tiket = (new TicketLogic())->find($conversation['ticket_id']);
+
+ if($conversation['user_id'] != $tiket['user_id']){
+ $email = User::where('id',$tiket['user_id'])->value('email');
+ }else{
+ $conversationLast = Conversation::where('ticket_id', '=', $conversation['ticket_id'])
+ ->where('user_id', '!=', $conversation['user_id'])
+ ->orderBy('id', 'desc')
+ ->first();
+ $email = (!empty($conversationLast['user_id']))?User::where('id',$conversationLast['user_id'])->value('email',$emailDefault):$emailDefault;
+ }
+
+ $notice['content'] = $tiket['content'];
+// $notice['reply'] = '最新回复:' . $conversation['content'] . '';
+ $notice['reply'] = '最新回复:' . '卡罗拉、极石01、比亚迪唐,宋Plus、丰田荣放、捷途T2、极氪7x、(阿联酋, 亚美尼亚, 阿塞拜疆, 白俄罗斯, 哥斯达黎加, 埃塞俄比亚, 格鲁吉亚, 加纳, 吉尔吉斯斯坦, 蒙古, 巴拉圭, 沙特阿拉伯, 塔吉克斯坦, 土库曼斯坦, 乌兹别克斯坦,委内瑞拉)起亚亦跑(阿尔及利亚),基本上每个车都推中亚中东南美非洲' . '';
+ }
+
+ \app\common\utils\email\MailSend::send($email, '【XYH】新的工单提醒', replaceTpl($notice, 'work_order'));
+ return $email;
+ }
+
public function edit(array $data)
{
try {
diff --git a/config/route.php b/config/route.php
index 27ba099..ddae5f9 100644
--- a/config/route.php
+++ b/config/route.php
@@ -168,6 +168,7 @@ Route::group('/ticket', function () {
//工单沟通记录
Route::any('/conversation/add', [app\ticket\controller\ConversationController::class, 'add']);
+ Route::any('/conversation/sendEmail', [app\ticket\controller\ConversationController::class, 'sendEmail']);
Route::any('/conversation/edit', [app\ticket\controller\ConversationController::class, 'edit']);
Route::any('/conversation/list', [app\ticket\controller\ConversationController::class, 'index']);