增加用户沟通

This commit is contained in:
2025-07-02 17:36:30 +08:00
parent e45dce9a01
commit 7937db5733
6 changed files with 393 additions and 145 deletions
+71
View File
@@ -11,6 +11,7 @@ namespace app\workorder\controller;
use app\base\BaseController;
use app\model\WorkOrder as WorkOrderList;
use app\model\WorkOrderMessage;
use think\exception\ValidateException;
use think\facade\Db;
use think\facade\View;
@@ -263,4 +264,74 @@ class Index extends BaseController
return to_assign(1, "错误的请求");
}
}
//获取用户信息列表
public function usermessagelist()
{
$order_id = input('order_id/d', 0);
if (!$order_id)
return to_assign(1, '缺少工单ID');
$messages = WorkOrderMessage::where('order_id', $order_id)
->whereNull('delete_time')
->order('create_time', 'asc')
->select();
return to_assign(0, 'success', $messages);
}
//回复用户信息
public function messageadd()
{
if (!request()->isPost()) {
return to_assign(1, '错误的请求方式');
}
$param = get_params();
if (empty($param['order_id']) || !isset($param['content']) || $param['content'] === '') {
return to_assign(1, '缺少必要参数');
}
$order_id = intval($param['order_id']);
$maxMsgId = WorkOrderMessage::where('order_id', $order_id)->max('msg_id');
$msg_id = $maxMsgId ? intval($maxMsgId) + 1 : 1;
$data = [
'order_id' => $order_id,
'msg_id' => $msg_id,
'msgby' => 0,
'content' => strval($param['content']),
'create_time' => date('Y-m-d H:i:s'),
];
try {
$res = Db::name('work_order_message')->insert($data);
} catch (\Exception $e) {
return to_assign(1, '数据库操作异常: ' . $e->getMessage());
}
if ($res) {
return to_assign(0, '回复成功');
} else {
return to_assign(1, '回复失败', $data);
}
}
//删除回复信息
public function messagedel()
{
if (!request()->isPost()) {
return to_assign(1, '错误的请求方式');
}
$param = get_params();
if (empty($param['order_id']) || empty($param['msg_id'])) {
return to_assign(1, '缺少必要参数');
}
$order_id = intval($param['order_id']);
$msg_id = intval($param['msg_id']);
// 直接用Db操作,避免模型save的各种隐式问题
$res = Db::name('work_order_message')
->where(['order_id' => $order_id, 'msg_id' => $msg_id])
->update(['delete_time' => date('Y-m-d H:i:s')]);
// 只要没报错就返回删除成功
return to_assign(0, '删除成功');
}
}