diff --git a/plugs/think-plugs-ticket/src/controller/UserShare.php b/plugs/think-plugs-ticket/src/controller/UserShare.php index 197fbcf..a013325 100644 --- a/plugs/think-plugs-ticket/src/controller/UserShare.php +++ b/plugs/think-plugs-ticket/src/controller/UserShare.php @@ -2,6 +2,8 @@ namespace plugin\ticket\controller; +use plugin\points_mall\service\UserPointService; +use plugin\ticket\model\TicketTicket; use plugin\ticket\model\TicketType; use plugin\ticket\model\TicketUserShare; use think\admin\Controller; @@ -49,6 +51,52 @@ class UserShare extends Controller ]); $this->vo = TicketUserShare::mk()->where($where)->with(['linked_ticket'])->findOrEmpty(); if ($this->vo->isEmpty()) $this->error('用户随手拍不存在!'); + if (!$this->vo->linked_ticket_id) { + $this->ticket_list = TicketTicket::mk()->scope(['avail'])->select(); + } else { + $this->ticket_list = []; + } + $this->type_list = TicketType::getList(); + $this->user_list = []; $this->fetch('detail'); } + + public function link() + { + $basic_data = $this->_vali([ + 'id.require' => '随手拍ID不能为空', + '_type.require' => '类型不能为空', + 'content.require' => '回复内容不能为空', + 'point_aware.require' => '奖励积分不能为空', + 'point_aware.number' => '奖励积分必须为数字', + ]); + $userShare = TicketUserShare::mk()->where(['id' => $basic_data['id']])->findOrEmpty(); + if ($userShare->isEmpty()) $this->error('用户随手拍不存在!'); + if ($userShare->status !== 0) $this->error('用户随手拍已处理!'); + $ticket_id = null; + switch ($basic_data['_type']) { + case 'new': + $data = $this->_vali([ + 'type_id.require' => '类型不能为空', + 'user_id.require' => '请选择处理人员', + ]); + break; + case 'exist': + $data = $this->_vali([ + 'ticket_id.require' => '请选择处理工单', + ]); + $ticket_id = $data['ticket_id']; + $ticket = TicketTicket::mk()->where(['id' => $data['ticket_id']])->findOrEmpty(); + if ($ticket->isEmpty()) $this->error('工单不存在!'); + break; + default: + $this->error('参数错误'); + } + $userShare->linked_ticket_id = $ticket_id; + $userShare->response = $basic_data['content']; + $userShare->point_aware = $basic_data['point_aware']; + UserPointService::addUserPoint($userShare->user_id, $basic_data['point_aware'], '用户随手拍奖励积分'); + $userShare->status = 1; + $userShare->save(); + } } \ No newline at end of file diff --git a/plugs/think-plugs-ticket/src/view/user_share/detail.html b/plugs/think-plugs-ticket/src/view/user_share/detail.html index 58ff4dc..45788d6 100644 --- a/plugs/think-plugs-ticket/src/view/user_share/detail.html +++ b/plugs/think-plugs-ticket/src/view/user_share/detail.html @@ -1,9 +1,7 @@
工单编号 | +{$vo.ticket.id|default=""} | +
工单类型 | +{$vo.ticket.type_name|default=""} | +