This commit is contained in:
2026-01-05 14:33:21 +08:00
commit ee348b4925
451 changed files with 39954 additions and 0 deletions
@@ -0,0 +1,11 @@
<?php
namespace app\ticket\controller;
use app\ticket\service\TicketService;
use support\Request;
class AttachmentController extends BaseController
{
}
+51
View File
@@ -0,0 +1,51 @@
<?php
namespace app\ticket\controller;
use support\Request;
use support\Response;
use support\exception\BusinessException;
use app\common\traits\ResponseTrait;
use think\Validate;
abstract class BaseController
{
use ResponseTrait;
protected mixed $validator = null;
/**
* 验证数据
*
* @param Validate $validator 验证器实例
* @param array $data 待验证的数据
* @param string $scene 验证场景
* @return array 验证后的数据
* @throws BusinessException 验证失败时抛出业务异常
*/
public function validate(Validate $validator, array $data, string $scene = ''): array
{
// 如果指定了验证场景,并且验证器支持场景方法,则设置验证场景
if ($scene && method_exists($validator, 'scene')) {
$validator->scene($scene);
}
// 执行数据验证
if (!$validator->check($data)) {
// 验证失败,抛出业务异常,异常信息为验证器返回的错误信息
throw new BusinessException($validator->getError());
}
// 验证成功,返回原始数据
return $data;
}
public function page($result){
$current = $result->currentPage();
$total = $result->total();
$size = $result->perPage();
$result = $result->toArray();
$result['current'] = $current;
$result['total'] = $total;
$result['size'] = $size;
return $result;
}
}
@@ -0,0 +1,64 @@
<?php
namespace app\ticket\controller;
use app\ticket\service\CategorieService;
use support\Request;
class CategorieController extends BaseController
{
public function index(Request $request)
{
try {
$result = (new CategorieService())->list($request->all());
return $this->success($this->page($result));
} catch (\Throwable $e) {
return $this->error($e->getMessage());
}
}
public function getAll(Request $request)
{
try {
$result = (new CategorieService())->getAll($request->all());
return $this->success($result);
} catch (\Throwable $e) {
return $this->error($e->getMessage());
}
}
public function add(Request $request)
{
try {
return (new CategorieService())->add($request->all())
? $this->success()
: $this->error();
} catch (\Throwable $th) {
return $this->error($th->getMessage().' '.$th->getLine().' '.$th->getFile());
}
}
public function edit(Request $request)
{
try {
$result = (new CategorieService())->edit($request->all());
return $result
? $this->success($result)
: $this->error();
} catch (\Throwable $th) {
return $this->error($th->getMessage().' '.$th->getLine().' '.$th->getFile());
}
}
public function delete(Request $request)
{
try {
$result = (new CategorieService())->delete($request->input('id'));
return $result
? $this->success($result)
: $this->error();
} catch (\Throwable $th) {
return $this->error($th->getMessage().' '.$th->getLine().' '.$th->getFile());
}
}
}
@@ -0,0 +1,64 @@
<?php
namespace app\ticket\controller;
use app\ticket\service\ConversationService;
use support\Request;
class ConversationController extends BaseController
{
public function index(Request $request)
{
try {
$ticket_id = $request->input('ticket_id');
if(empty($ticket_id)){
return $this->error('ticket_id不能为空');
}
$result = (new ConversationService())->list($request->all());
return $this->success($this->page($result));
} catch (\Throwable $e) {
return $this->error($e->getMessage().$e->getLine().$e->getFile());
}
}
public function add(Request $request)
{
try {
$request->setPost('user_id', $request->user->uid);
return (new ConversationService())->add($request->all())
? $this->success()
: $this->error();
} catch (\Throwable $th) {
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 {
$request->setPost('user_id', $request->user->uid);
$result = (new ConversationService())->edit($request->all());
return $result
? $this->success($result)
: $this->error();
} catch (\Throwable $th) {
return $this->error($th->getMessage().' '.$th->getLine().' '.$th->getFile());
}
}
}
@@ -0,0 +1,88 @@
<?php
namespace app\ticket\controller;
use app\ticket\service\TicketService;
use support\Request;
class TicketController extends BaseController
{
public function index(Request $request)
{
try {
$result = (new TicketService())->list($request->all());
return $this->success($this->page($result));
} catch (\Throwable $e) {
return $this->error($e->getMessage());
}
}
/**
* 我的工单
* @param Request $request
* @return \support\Response
*/
public function self(Request $request)
{
try {
$request->setGet('user_id',$request->user->uid);
$result = (new TicketService())->list($request->all());
return $this->success($result);
// return $this->success($this->page($result));
} catch (\Throwable $e) {
return $this->error($e->getMessage());
}
}
public function add(Request $request)
{
try {
$request->setPost('user_id', $request->user->uid);
return (new TicketService())->add($request->all())
? $this->success()
: $this->error();
} catch (\Throwable $th) {
return $this->error($th->getMessage());
}
}
public function edit(Request $request)
{
try {
$request->setPost('user_id', $request->user->uid);
$result = (new TicketService())->edit($request->all());
return $result
? $this->success($result)
: $this->error();
} catch (\Throwable $th) {
return $this->error($th->getMessage());
}
}
public function status(Request $request)
{
try {
$request->setPost('user_id', $request->user->uid);
$result = (new TicketService())->status($request->all());
return $result
? $this->success($result)
: $this->error();
} catch (\Throwable $th) {
return $this->error($th->getMessage());
}
}
public function getStatus(Request $request)
{
try {
$request->setGet('user_id', $request->user->uid);
$result = (new TicketService())->getStatus($request->all());
return $result
? $this->success($result)
: $this->error();
} catch (\Throwable $th) {
return $this->error($th->getMessage());
}
}
}