fix(ticket): 修复用户区域信息获取逻辑

- 添加 BooleanUtil 工具类导入用于布尔值判断
- 注入 ITBaseAreaService 服务用于区域信息查询
- 重构用户区域名称获取逻辑,区分用户类型
- 使用 Optional 避免空指针异常
- 修复主用户标识判断条件
```
This commit is contained in:
曹鹏飞 2026-02-16 13:55:33 +08:00
parent 2bd98a83c1
commit fd813c61cc
1 changed files with 14 additions and 5 deletions

View File

@ -2,6 +2,7 @@ package com.nflg.mobilebroken.admin.controller;
import cn.hutool.core.collection.CollectionUtil; import cn.hutool.core.collection.CollectionUtil;
import cn.hutool.core.convert.Convert; import cn.hutool.core.convert.Convert;
import cn.hutool.core.util.BooleanUtil;
import cn.hutool.core.util.StrUtil; import cn.hutool.core.util.StrUtil;
import com.itextpdf.text.pdf.BaseFont; import com.itextpdf.text.pdf.BaseFont;
import com.nflg.mobilebroken.admin.annotation.ApiMark; import com.nflg.mobilebroken.admin.annotation.ApiMark;
@ -141,6 +142,9 @@ public class TicketController extends ControllerBase {
@Resource @Resource
private ShengWangService shengWangService; private ShengWangService shengWangService;
@Resource
private ITBaseAreaService areaService;
/** /**
* 获取问题类型 * 获取问题类型
* @return 问题类型列表 * @return 问题类型列表
@ -646,12 +650,17 @@ public class TicketController extends ControllerBase {
AdminUser adminUser = StrUtil.equals(ticket.getUserPlatform(), Constant.FROM_ADMIN) ? adminUserService.getById(ticket.getUserId()) : null; 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; AppUser user = StrUtil.equals(ticket.getUserPlatform(), Constant.FROM_APP) ? appUserService.getById(ticket.getUserId()) : null;
String areaName = ""; String areaName = "";
if (Objects.nonNull(user)) if (Objects.nonNull(user)) {
if (user.getIsPrimary()) { if (user.getType() == 0) {
areaName = StrUtil.join(",", customerService.getAreas(Arrays.stream(user.getCompanyId().split(",")).map(Integer::parseInt).collect(Collectors.toList()))); if (BooleanUtil.isTrue(user.getIsPrimary())) {
} else if (Objects.nonNull(user.getAreaId())) { areaName = StrUtil.join(",", customerService.getAreas(Arrays.stream(user.getCompanyId().split(",")).map(Integer::parseInt).collect(Collectors.toList())));
areaName = appAreaService.getById(user.getAreaId()).getName(); } 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())); // TBaseCustomer company = customerService.getById(Integer.valueOf(user.getCompanyId()));
DeviceInfoVO device = deviceService.getByDeviceNo(ticket.getDeviceNo()); DeviceInfoVO device = deviceService.getByDeviceNo(ticket.getDeviceNo());
String warrantyStateDesc = ""; String warrantyStateDesc = "";