feat: 一些调整

This commit is contained in:
曹鹏飞 2025-02-23 20:51:17 +08:00
parent 59c4a95b1f
commit 34c71b34b2
3 changed files with 52 additions and 4 deletions

View File

@ -82,7 +82,7 @@ public class AppUserController extends ControllerBase {
*/
@GetMapping("getSimpleCompanys")
@ApiMark(moduleName = "代理商管理", apiName = "获取公司列表")
public ApiResult<List<CompanySimpleVO>> getSimpleCompanys(@Valid @RequestParam Integer userId) {
public ApiResult<List<CompanySimpleVO>> getSimpleCompanys(@RequestParam(required = false) Integer userId) {
return ApiResult.success(customerService.getSimpleCompanysFromAdmin(userId));
}
@ -93,7 +93,7 @@ public class AppUserController extends ControllerBase {
*/
@GetMapping("getSimpleAreas")
@ApiMark(moduleName = "代理商管理", apiName = "获取区域列表")
public ApiResult<List<AreaSimpleVO>> getSimpleAreas(@Valid @RequestParam Integer userId) {
public ApiResult<List<AreaSimpleVO>> getSimpleAreas(@RequestParam(required = false) Integer userId) {
return ApiResult.success(appUserService.getSimpleAreas(userId));
}

View File

@ -126,11 +126,59 @@ public class TicketController extends ControllerBase {
@ApiMark(moduleName = "工单管理", apiName = "搜索工单")
public ApiResult<PageData<AdminTicketVO>> searchTicket(@Valid @RequestBody AdminTicketSearchRequest request) {
return ApiResult.success(PageUtil.convert(ticketService.searchPage(request), d -> {
d.setEvaluate(getTicketEvaluate(d.getId()));
d.setEvaluate(getTicketEvaluateForList(d.getId()));
return d;
}));
}
private TicketEvaluateVO getTicketEvaluateForList(Integer ticketId) {
TicketEvaluate ticketEvaluate = ticketEvaluateService.lambdaQuery().eq(TicketEvaluate::getTicketId,ticketId).one();
if (Objects.isNull(ticketEvaluate)) {
return null;
}
String language = MultilingualUtil.getLanguage();
TicketEvaluateAddVO vo = dictionaryItemTranslateService.getTicketEvaluateSelect(language);
vo.getServiceEvaluation().forEach(item -> {
item.setSelected(Objects.equals(item.getId(), ticketEvaluate.getServiceEvaluation()));
List<Integer> selectedIds = new ArrayList<>();
if (StrUtil.isNotBlank(ticketEvaluate.getServiceEvaluationSelect())) {
selectedIds = Arrays.stream(ticketEvaluate.getServiceEvaluationSelect().split(","))
.map(Integer::parseInt).collect(Collectors.toList());
}
if (CollectionUtil.isNotEmpty(selectedIds) && CollectionUtil.isNotEmpty(item.getChildren())) {
for (TicketEvaluateItemVO child : item.getChildren()) {
child.setSelected(selectedIds.contains(child.getId()));
}
}
if (CollectionUtil.isNotEmpty(item.getChildren())) {
item.getChildren().removeIf(child -> !child.getSelected());
}
});
vo.getServiceEvaluation().removeIf(item -> !item.getSelected());
vo.getExperienceEvaluation().forEach(item -> {
item.setSelected(Objects.equals(item.getId(), ticketEvaluate.getProductEvaluation()));
List<Integer> selectedIds = new ArrayList<>();
if (StrUtil.isNotBlank(ticketEvaluate.getProductEvaluationSelect())) {
selectedIds = Arrays.stream(ticketEvaluate.getProductEvaluationSelect().split(","))
.map(Integer::parseInt).collect(Collectors.toList());
}
if (CollectionUtil.isNotEmpty(selectedIds) && CollectionUtil.isNotEmpty(item.getChildren())) {
for (TicketEvaluateItemVO child : item.getChildren()) {
child.setSelected(selectedIds.contains(child.getId()));
}
}
if (CollectionUtil.isNotEmpty(item.getChildren())) {
item.getChildren().removeIf(child -> !child.getSelected());
}
});
vo.getExperienceEvaluation().removeIf(item -> !item.getSelected());
return new TicketEvaluateVO()
.setScore(ticketEvaluate.getScore())
.setFeedback(ticketEvaluate.getFeedback())
.setServiceEvaluation(vo.getServiceEvaluation())
.setExperienceEvaluation(vo.getExperienceEvaluation());
}
/**
* 导出搜索工单
* @param request 请求参数

View File

@ -115,7 +115,7 @@ public class TicketServiceImpl extends ServiceImpl<TicketMapper, Ticket> impleme
VUtils.trueThrowBusinessError(!Objects.equals(ticket.getState(), TicketState.PendingProcessing.getState())).throwMessage("工单状态异常");
VUtils.trueThrowBusinessError(adminUserService.getCQM().stream()
.noneMatch(u -> Objects.equals(u.getId(), AdminUserUtil.getUserId())))
.throwMessage("你不是CQM无权关闭工单");
.throwMessage("你不是CQM无权分派工单");
ticket.setUrgency(TicketUrgency.findByValue(request.getUrgency()).getState());
ticket.setQuestion(request.getQuestion());
ticket.setState(TicketState.Processing.getState());