feat: bug-634 用户端(PC、手机)工单详情聊天发送按钮添加权限判断

This commit is contained in:
曹鹏飞 2025-08-28 09:55:03 +08:00
parent bb415c9b70
commit f08e40d051
2 changed files with 13 additions and 0 deletions

View File

@ -605,6 +605,13 @@ public class TicketController extends ControllerBase {
List<Integer> handleIds=StrUtil.split(ticket.getHandle(),",").stream().map(Integer::parseInt).collect(Collectors.toList()); List<Integer> handleIds=StrUtil.split(ticket.getHandle(),",").stream().map(Integer::parseInt).collect(Collectors.toList());
List<Integer> cqms=adminUserService.getCQMIds(); List<Integer> cqms=adminUserService.getCQMIds();
TBasePart part = partService.getByIdAndLanguage(ticket.getComponentId(), Constant.DEFAULT_LANGUAGE_CODE); TBasePart part = partService.getByIdAndLanguage(ticket.getComponentId(), Constant.DEFAULT_LANGUAGE_CODE);
List<Integer> adminUsers = adminUserService.getTickerMangagers();
if (StrUtil.isNotBlank(ticket.getHandle())) {
adminUsers.addAll(StrUtil.split(ticket.getHandle(), ",").stream().map(Integer::parseInt).collect(Collectors.toList()));
}
if (StrUtil.equals(Constant.FROM_ADMIN, ticket.getUserPlatform())) {
adminUsers.add(ticket.getUserId());
}
TicketInfoVO vo = new TicketInfoVO() TicketInfoVO vo = new TicketInfoVO()
.setId(ticket.getId()) .setId(ticket.getId())
.setNo(ticket.getNo()) .setNo(ticket.getNo())
@ -640,6 +647,7 @@ public class TicketController extends ControllerBase {
.setUserIsHandle(handleIds.contains(AdminUserUtil.getUserId())) .setUserIsHandle(handleIds.contains(AdminUserUtil.getUserId()))
.setUserIsCQM(cqms.contains(AdminUserUtil.getUserId())) .setUserIsCQM(cqms.contains(AdminUserUtil.getUserId()))
.setUserPlatform(ticket.getUserPlatform()) .setUserPlatform(ticket.getUserPlatform())
.setCanSendMessage(adminUsers.contains(AdminUserUtil.getUserId()))
.setEvaluate(getTicketEvaluate(ticket.getId())); .setEvaluate(getTicketEvaluate(ticket.getId()));
return ApiResult.success(vo); return ApiResult.success(vo);
} }

View File

@ -127,4 +127,9 @@ public class TicketInfoVO {
* 当前用户是否为CQM * 当前用户是否为CQM
*/ */
private Boolean userIsCQM; private Boolean userIsCQM;
/**
* 当前用户是否可发送消息
*/
private Boolean canSendMessage;
} }