【优化】修复收藏夹根节点名称未应用多语言的问题

This commit is contained in:
曹鹏飞 2026-04-09 14:10:01 +08:00
parent 75ad55a211
commit 04a91a1a01
2 changed files with 57 additions and 8 deletions

View File

@ -11,6 +11,7 @@ import com.nflg.mobilebroken.admin.annotation.ApiMark;
import com.nflg.mobilebroken.admin.publisher.TicketEventPublisher;
import com.nflg.mobilebroken.admin.service.ShengWangService;
import com.nflg.mobilebroken.admin.service.SsePushService;
import com.nflg.mobilebroken.admin.service.impl.AliYunTranslate;
import com.nflg.mobilebroken.common.constant.*;
import com.nflg.mobilebroken.common.exception.NflgException;
import com.nflg.mobilebroken.common.pojo.ApiResult;
@ -155,6 +156,9 @@ public class TicketController extends ControllerBase {
@Resource
private ILanguageService languageService;
@Resource
private AliYunTranslate aliYunTranslate;
/**
* 获取问题类型
* @return 问题类型列表
@ -180,7 +184,17 @@ public class TicketController extends ControllerBase {
@GetMapping("getFavorites")
@ApiMark(moduleName = "工单管理", apiName = "获取收藏夹", isPublic = true)
public ApiResult<FavoritesVO> getFavorites(@RequestParam(defaultValue = "0") Integer id) {
return ApiResult.success(ticketFavoritesService.getMBList(AdminUserUtil.getUserId(), Constant.FROM_ADMIN, id));
FavoritesVO vo = ticketFavoritesService.getMBList(AdminUserUtil.getUserId(), Constant.FROM_ADMIN, id);
if (id == 0) {
String languageCode = MultilingualUtil.getLanguage();
if (!StrUtil.equals(languageCode, Constant.DEFAULT_LANGUAGE_CODE)) {
Language language = languageService.lambdaQuery().eq(Language::getCode, languageCode).one();
if (Objects.nonNull(language)) {
vo.setName(aliYunTranslate.translateWord(vo.getName(), language.getTranslateCode()));
}
}
}
return ApiResult.success(vo);
}
/**
@ -190,7 +204,17 @@ public class TicketController extends ControllerBase {
*/
@GetMapping("getFavoritesTree")
public ApiResult<FavoritesVO> getFavoritesTree(@RequestParam(defaultValue = "0") Integer id) {
return ApiResult.success(ticketFavoritesService.getTree(AdminUserUtil.getUserId(), Constant.FROM_ADMIN, id));
FavoritesVO vo = ticketFavoritesService.getTree(AdminUserUtil.getUserId(), Constant.FROM_ADMIN, id);
if (id == 0) {
String languageCode = MultilingualUtil.getLanguage();
if (!StrUtil.equals(languageCode, Constant.DEFAULT_LANGUAGE_CODE)) {
Language language = languageService.lambdaQuery().eq(Language::getCode, languageCode).one();
if (Objects.nonNull(language)) {
vo.setName(aliYunTranslate.translateWord(vo.getName(), language.getTranslateCode()));
}
}
}
return ApiResult.success(vo);
}
/**
@ -611,7 +635,7 @@ public class TicketController extends ControllerBase {
.setDeviceAddress(ticket.getDeviceAddress())
.setImages(images)
// .setFiles(files)
.setMeasures(ticketSolutionService.getSolutionMeasures(Long.valueOf(ticket.getId()),Constant.DEFAULT_LANGUAGE_CODE).getMeasures());
.setMeasures(ticketSolutionService.getSolutionMeasures(Long.valueOf(ticket.getId()), Constant.DEFAULT_LANGUAGE_CODE).getMeasures());
Map<String, Object> variables = new HashMap<>();
variables.put("ticket", vo);
// 渲染HTML
@ -944,7 +968,7 @@ public class TicketController extends ControllerBase {
@ApiMark(moduleName = "工单管理", apiName = "保存工单解决方案措施")
public ApiResult<Void> saveSolutionMeasures(@Valid @RequestBody SolutionMeasuresSaveRequest request) {
Ticket ticket = ticketSolutionService.saveSolutionMeasures(request);
List<SolutionReviewDepartmentVO> audits = ticketSolutionAuditService.getByTicket(request.getTicketId(),MultilingualUtil.getLanguage());
List<SolutionReviewDepartmentVO> audits = ticketSolutionAuditService.getByTicket(request.getTicketId(), MultilingualUtil.getLanguage());
audits.forEach(audit -> {
if (Objects.equals(audit.getState(), 0)) {
adminMessageService.add(
@ -978,7 +1002,7 @@ public class TicketController extends ControllerBase {
@GetMapping("getSolutionReviewDepartment")
@ApiMark(moduleName = "工单管理", apiName = "获取工单解决方案评审部门")
public ApiResult<List<SolutionReviewDepartmentVO>> getSolutionReviewDepartment(@Valid @RequestParam @NotNull Integer ticketId) {
return ApiResult.success(ticketSolutionAuditService.getByTicket(Long.valueOf(ticketId),MultilingualUtil.getLanguage()));
return ApiResult.success(ticketSolutionAuditService.getByTicket(Long.valueOf(ticketId), MultilingualUtil.getLanguage()));
}
/**
@ -1239,7 +1263,7 @@ public class TicketController extends ControllerBase {
}
}
//解决方案审核
List<SolutionReviewDepartmentVO> reviewDepartments = ticketSolutionAuditService.getByTicket(Long.valueOf(ticketId),MultilingualUtil.getLanguage())
List<SolutionReviewDepartmentVO> reviewDepartments = ticketSolutionAuditService.getByTicket(Long.valueOf(ticketId), MultilingualUtil.getLanguage())
.stream()
.filter(vo -> StrUtil.isNotBlank(vo.getUserName()))
.collect(Collectors.toList());

View File

@ -22,6 +22,7 @@ import com.nflg.mobilebroken.gongfu.pojo.vo.SolutionImageVO;
import com.nflg.mobilebroken.gongfu.publisher.TicketEventPublisher;
import com.nflg.mobilebroken.gongfu.service.ShengWangService;
import com.nflg.mobilebroken.gongfu.service.SsePushService;
import com.nflg.mobilebroken.gongfu.service.impl.AliYunTranslate;
import com.nflg.mobilebroken.repository.entity.*;
import com.nflg.mobilebroken.repository.service.*;
import com.nflg.mobilebroken.starter.annotation.MethodInfoMark;
@ -144,9 +145,13 @@ public class TicketController extends ControllerBase {
@Resource
private DeepSeekTranslate deepSeekTranslate;
@Resource
private ILanguageService languageService;
@Resource
private AliYunTranslate aliYunTranslate;
/**
* 获取问题类型
* @return 问题类型列表
@ -172,7 +177,17 @@ public class TicketController extends ControllerBase {
@GetMapping("getFavorites")
@ApiMark(moduleName = "工单管理", apiName = "获取收藏夹", isPublic = true)
public ApiResult<FavoritesVO> getFavorites(@RequestParam(defaultValue = "0") Integer id) {
return ApiResult.success(ticketFavoritesService.getGFList(AdminUserUtil.getUserId(), Constant.FROM_ADMIN, id));
FavoritesVO vo = ticketFavoritesService.getGFList(AdminUserUtil.getUserId(), Constant.FROM_ADMIN, id);
if (id == 0) {
String languageCode = MultilingualUtil.getLanguage();
if (!StrUtil.equals(languageCode, Constant.DEFAULT_LANGUAGE_CODE)) {
Language language = languageService.lambdaQuery().eq(Language::getCode, languageCode).one();
if (Objects.nonNull(language)) {
vo.setName(aliYunTranslate.translateWord(vo.getName(), language.getTranslateCode()));
}
}
}
return ApiResult.success(vo);
}
/**
@ -182,7 +197,17 @@ public class TicketController extends ControllerBase {
*/
@GetMapping("getFavoritesTree")
public ApiResult<FavoritesVO> getFavoritesTree(@RequestParam(defaultValue = "0") Integer id) {
return ApiResult.success(ticketFavoritesService.getTree(AdminUserUtil.getUserId(), Constant.FROM_ADMIN, id));
FavoritesVO vo = ticketFavoritesService.getTree(AdminUserUtil.getUserId(), Constant.FROM_ADMIN, id);
if (id == 0) {
String languageCode = MultilingualUtil.getLanguage();
if (!StrUtil.equals(languageCode, Constant.DEFAULT_LANGUAGE_CODE)) {
Language language = languageService.lambdaQuery().eq(Language::getCode, languageCode).one();
if (Objects.nonNull(language)) {
vo.setName(aliYunTranslate.translateWord(vo.getName(), language.getTranslateCode()));
}
}
}
return ApiResult.success(vo);
}
/**