This commit is contained in:
2026-08-26 17:50:41 +08:00
parent d3866efcd8
commit f9adabf5d8
13 changed files with 10 additions and 29 deletions

View File

@@ -0,0 +1,64 @@
<?php
namespace app\staff\controller;
use app\BaseController;
use app\common\service\TicketService;
use app\common\service\TicketScope;
use think\facade\Session;
class Ticket extends BaseController
{
public function fetchTickets(TicketService $TicketService)
{
$params = [
"page" => $this->request->param('page', 1, 'intval'),
"limit" => $this->request->param('limit', 20, 'intval'),
"operator_id" => $this->request->param('operator_id', null),
"status" => $this->request->param('status', null),
"searchKeyword" => $this->request->param('search', null),
"sortOrder" => $this->request->param('sort_order', 'desc'),
];
$staffId = (int) Session::get('user_info.id'); // 若没有,则为0
if ($staffId <= 0) {
return $this->error('无法获取当前员工信息');
}
$page = max(($params['page'] ?? 1), 1);
$limit = min(max(($params['limit'] ?? 20), 1), 100);
$order = strtolower($params['sortOrder'] ?? 'desc') === 'asc' ? 'asc' : 'desc';
try {
$result = $TicketService->queryTickets($params, $page, $limit, $order, TicketScope::staff($staffId));
} catch (\Exception $e) {
return $this->error($e->getMessage());
}
return $this->success('查询成功', $result);
}
/**
* 更新工单(员工调用)
*/
public function updateTicket(TicketService $ticketService, $id)
{
$isUser = Session::get('user_info.role') === 'user';
$data = $this->request->post();
$allowFields = ['datanum', 'progress', 'status', 'remark', 'lock_time', 'user_id'];
try {
$result = $ticketService->updateTicket($id, $data, $allowFields, $isUser, false);
return $this->success('更新成功', $result);
} catch (\Exception $e) {
return $this->error($e->getMessage());
}
}
}