Compare commits

...

2 Commits

Author SHA1 Message Date
曹鹏飞 fd813c61cc ```
fix(ticket): 修复用户区域信息获取逻辑

- 添加 BooleanUtil 工具类导入用于布尔值判断
- 注入 ITBaseAreaService 服务用于区域信息查询
- 重构用户区域名称获取逻辑,区分用户类型
- 使用 Optional 避免空指针异常
- 修复主用户标识判断条件
```
2026-02-16 13:55:33 +08:00
曹鹏飞 2bd98a83c1 fix(ticket): 移除工单处理中的自移除限制
- 注释掉管理员移除自己时的业务错误校验逻辑
- 允许管理员从工单处理人员列表中移除自己
- 保留其他工单处理功能的完整性
2026-02-12 21:17:23 +08:00
2 changed files with 20 additions and 11 deletions

View File

@ -2,6 +2,7 @@ package com.nflg.mobilebroken.admin.controller;
import cn.hutool.core.collection.CollectionUtil;
import cn.hutool.core.convert.Convert;
import cn.hutool.core.util.BooleanUtil;
import cn.hutool.core.util.StrUtil;
import com.itextpdf.text.pdf.BaseFont;
import com.nflg.mobilebroken.admin.annotation.ApiMark;
@ -141,6 +142,9 @@ public class TicketController extends ControllerBase {
@Resource
private ShengWangService shengWangService;
@Resource
private ITBaseAreaService areaService;
/**
* 获取问题类型
* @return 问题类型列表
@ -422,9 +426,9 @@ public class TicketController extends ControllerBase {
Ticket ticket = ticketService.getById(request.getTicketId());
List<Integer> handleIds = StrUtil.split(ticket.getHandle(), ",").stream().map(Integer::parseInt).collect(Collectors.toList());
VUtils.trueThrowBusinessError(handleIds.stream().anyMatch(uid -> Objects.equals(uid, AdminUserUtil.getUserId()))
&& request.getUserIds().stream().noneMatch(uid -> Objects.equals(uid, AdminUserUtil.getUserId())))
.throwMessage("不可以移除自己");
// VUtils.trueThrowBusinessError(handleIds.stream().anyMatch(uid -> Objects.equals(uid, AdminUserUtil.getUserId()))
// && request.getUserIds().stream().noneMatch(uid -> Objects.equals(uid, AdminUserUtil.getUserId())))
// .throwMessage("不可以移除自己");
Ticket ticket1 = ticketService.addTicketHandle(request);
request.getUserIds().removeAll(handleIds);
if (CollectionUtil.isNotEmpty(request.getUserIds())) {
@ -646,12 +650,17 @@ public class TicketController extends ControllerBase {
AdminUser adminUser = StrUtil.equals(ticket.getUserPlatform(), Constant.FROM_ADMIN) ? adminUserService.getById(ticket.getUserId()) : null;
AppUser user = StrUtil.equals(ticket.getUserPlatform(), Constant.FROM_APP) ? appUserService.getById(ticket.getUserId()) : null;
String areaName = "";
if (Objects.nonNull(user))
if (user.getIsPrimary()) {
areaName = StrUtil.join(",", customerService.getAreas(Arrays.stream(user.getCompanyId().split(",")).map(Integer::parseInt).collect(Collectors.toList())));
} else if (Objects.nonNull(user.getAreaId())) {
areaName = appAreaService.getById(user.getAreaId()).getName();
if (Objects.nonNull(user)) {
if (user.getType() == 0) {
if (BooleanUtil.isTrue(user.getIsPrimary())) {
areaName = StrUtil.join(",", customerService.getAreas(Arrays.stream(user.getCompanyId().split(",")).map(Integer::parseInt).collect(Collectors.toList())));
} else if (Objects.nonNull(user.getAreaId())) {
areaName = appAreaService.getById(user.getAreaId()).getName();
}
}else {
areaName = Optional.ofNullable(areaService.getById(user.getAreaId())).map(TBaseArea::getAreaName).orElse("");
}
}
// TBaseCustomer company = customerService.getById(Integer.valueOf(user.getCompanyId()));
DeviceInfoVO device = deviceService.getByDeviceNo(ticket.getDeviceNo());
String warrantyStateDesc = "";

View File

@ -401,9 +401,9 @@ public class TicketController extends ControllerBase {
public ApiResult<Void> addTicketHandle(@Valid @RequestBody TicketHandleAddRequest request) {
GongfuTicket ticket = ticketService.getById(request.getTicketId());
List<Integer> handleIds = StrUtil.split(ticket.getHandle(), ",").stream().map(Integer::parseInt).collect(Collectors.toList());
VUtils.trueThrowBusinessError(handleIds.stream().anyMatch(uid -> Objects.equals(uid, AdminUserUtil.getUserId()))
&& request.getUserIds().stream().noneMatch(uid -> Objects.equals(uid, AdminUserUtil.getUserId())))
.throwMessage("不可以移除自己");
// VUtils.trueThrowBusinessError(handleIds.stream().anyMatch(uid -> Objects.equals(uid, AdminUserUtil.getUserId()))
// && request.getUserIds().stream().noneMatch(uid -> Objects.equals(uid, AdminUserUtil.getUserId())))
// .throwMessage("不可以移除自己");
GongfuTicket ticket1 = ticketService.addTicketHandle(request);
request.getUserIds().removeAll(handleIds);
if (CollectionUtil.isNotEmpty(request.getUserIds())) {