禅道优化

1、移动破和工服管理的工单管理中,工单标题的翻译列,可否展示到工单列表上,或者增加个备注列?
This commit is contained in:
10001392 2026-03-13 13:50:55 +08:00
parent 736978c29f
commit 8302a7e8cf
1 changed files with 26 additions and 2 deletions

View File

@ -2,7 +2,9 @@ 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.lang.Validator;
import cn.hutool.core.util.BooleanUtil; import cn.hutool.core.util.BooleanUtil;
import cn.hutool.core.util.ObjectUtil;
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;
@ -21,6 +23,7 @@ import com.nflg.mobilebroken.repository.entity.*;
import com.nflg.mobilebroken.repository.service.*; import com.nflg.mobilebroken.repository.service.*;
import com.nflg.mobilebroken.starter.annotation.MethodInfoMark; import com.nflg.mobilebroken.starter.annotation.MethodInfoMark;
import com.nflg.mobilebroken.starter.service.UniPushService; import com.nflg.mobilebroken.starter.service.UniPushService;
import com.nflg.mobilebroken.starter.service.impl.DeepSeekTranslate;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.apache.poi.ss.usermodel.*; import org.apache.poi.ss.usermodel.*;
import org.apache.poi.ss.util.CellRangeAddress; import org.apache.poi.ss.util.CellRangeAddress;
@ -40,6 +43,7 @@ import org.thymeleaf.templateresolver.ClassLoaderTemplateResolver;
import org.xhtmlrenderer.pdf.ITextRenderer; import org.xhtmlrenderer.pdf.ITextRenderer;
import javax.annotation.Resource; import javax.annotation.Resource;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse; import javax.servlet.http.HttpServletResponse;
import javax.validation.Valid; import javax.validation.Valid;
import javax.validation.constraints.NotEmpty; import javax.validation.constraints.NotEmpty;
@ -145,6 +149,11 @@ public class TicketController extends ControllerBase {
@Resource @Resource
private ITBaseAreaService areaService; private ITBaseAreaService areaService;
@Resource
private DeepSeekTranslate deepSeekTranslate;
@Resource
private ILanguageService languageService;
/** /**
* 获取问题类型 * 获取问题类型
* @return 问题类型列表 * @return 问题类型列表
@ -289,10 +298,25 @@ public class TicketController extends ControllerBase {
*/ */
@PostMapping("searchTicket") @PostMapping("searchTicket")
@ApiMark(moduleName = "工单管理", apiName = "搜索工单") @ApiMark(moduleName = "工单管理", apiName = "搜索工单")
public ApiResult<PageData<AdminTicketVO>> searchTicket(@Valid @RequestBody AdminTicketSearchRequest request) { public ApiResult<PageData<AdminTicketVO>> searchTicket(@Valid @RequestBody AdminTicketSearchRequest request, HttpServletRequest request2) {
// 20260311 工单标题在列表页面把它的翻译列展示出来
String languageCode = request2.getHeader("language");
Language language;
if (StrUtil.isNotBlank(languageCode)) {
language = languageService.lambdaQuery().eq(Language::getCode, languageCode).one();
} else {
language = null;
}
return ApiResult.success(PageUtil.convert(ticketService.searchPage(request), d -> { return ApiResult.success(PageUtil.convert(ticketService.searchPage(request), d -> {
d.setEvaluate(getTicketEvaluateForList(Math.toIntExact(d.getId()))); d.setEvaluate(getTicketEvaluateForList(Math.toIntExact(d.getId())));
// 标题字符串不含中文才翻译
if (ObjectUtil.isNotEmpty(d.getTitle()) && !Validator.hasChinese(d.getTitle())) {
String text = d.getTitle().replaceAll("<br>", ",");
if (language != null && language.getName() != null) {
String titleTranslate = deepSeekTranslate.translateWord(text, "auto", language.getName(), "text");
d.setTitleTranslate(titleTranslate);
}
}
return d; return d;
})); }));
} }