parent
736978c29f
commit
8302a7e8cf
|
|
@ -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;
|
||||||
}));
|
}));
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue