【优化】添加多语言支持

This commit is contained in:
曹鹏飞 2026-04-07 10:53:39 +08:00
parent b3c625ce72
commit 2cf145f982
7 changed files with 18 additions and 18 deletions

View File

@ -165,7 +165,7 @@ public class TicketController extends ControllerBase {
// return ApiResult.success(Arrays.asList("技术设计问题", "装配工艺问题", "焊接质量问题", "机组装配质量问题", "电控问题"
// , "工况方案问题", "客户操作不当", "原材料配件质量问题", "QC检验遗漏/误差", "部件/整机外观", "安装问题", "调试问题"
// , "外购件质量问题", "运输问题", "非故障问题/参数咨询"));
return ApiResult.success(dictionaryItemService.getListByDictionaryCodeAndType(Constant.DICTIONARY_TICKET_QUESTION,"移动破")
return ApiResult.success(dictionaryItemService.getListByDictionaryCodeAndType(Constant.DICTIONARY_TICKET_QUESTION, "移动破")
.stream()
.map(DictionaryItem::getName)
.collect(Collectors.toList())
@ -611,7 +611,7 @@ public class TicketController extends ControllerBase {
.setDeviceAddress(ticket.getDeviceAddress())
.setImages(images)
// .setFiles(files)
.setMeasures(ticketSolutionService.getSolutionMeasures(Long.valueOf(ticket.getId())).getMeasures());
.setMeasures(ticketSolutionService.getSolutionMeasures(Long.valueOf(ticket.getId()),Constant.DEFAULT_LANGUAGE_CODE).getMeasures());
Map<String, Object> variables = new HashMap<>();
variables.put("ticket", vo);
// 渲染HTML
@ -932,7 +932,7 @@ public class TicketController extends ControllerBase {
@GetMapping("getSolutionMeasures")
@ApiMark(moduleName = "工单管理", apiName = "获取工单解决方案措施")
public ApiResult<SolutionMeasuresVO> getSolutionMeasures(@Valid @RequestParam @NotNull Long ticketId) {
return ApiResult.success(ticketSolutionService.getSolutionMeasures(ticketId));
return ApiResult.success(ticketSolutionService.getSolutionMeasures(ticketId, MultilingualUtil.getLanguage()));
}
/**
@ -944,7 +944,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());
List<SolutionReviewDepartmentVO> audits = ticketSolutionAuditService.getByTicket(request.getTicketId(),MultilingualUtil.getLanguage());
audits.forEach(audit -> {
if (Objects.equals(audit.getState(), 0)) {
adminMessageService.add(
@ -978,7 +978,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)));
return ApiResult.success(ticketSolutionAuditService.getByTicket(Long.valueOf(ticketId),MultilingualUtil.getLanguage()));
}
/**
@ -1239,7 +1239,7 @@ public class TicketController extends ControllerBase {
}
}
//解决方案审核
List<SolutionReviewDepartmentVO> reviewDepartments = ticketSolutionAuditService.getByTicket(Long.valueOf(ticketId))
List<SolutionReviewDepartmentVO> reviewDepartments = ticketSolutionAuditService.getByTicket(Long.valueOf(ticketId),MultilingualUtil.getLanguage())
.stream()
.filter(vo -> StrUtil.isNotBlank(vo.getUserName()))
.collect(Collectors.toList());

View File

@ -602,7 +602,7 @@ public class TicketController extends ControllerBase {
**/
@GetMapping("getSolutionMeasures")
public ApiResult<SolutionMeasuresVO> getSolutionMeasures(@Valid @RequestParam @NotNull Long ticketId) {
return ApiResult.success(ticketSolutionService.getSolutionMeasures(ticketId));
return ApiResult.success(ticketSolutionService.getSolutionMeasures(ticketId,MultilingualUtil.getLanguage()));
}
/**

View File

@ -157,7 +157,7 @@ public class TicketController extends ControllerBase {
// return ApiResult.success(Arrays.asList("技术设计问题", "装配工艺问题", "焊接质量问题", "机组装配质量问题", "电控问题"
// , "工况方案问题", "客户操作不当", "原材料配件质量问题", "QC检验遗漏/误差", "部件/整机外观", "安装问题", "调试问题"
// , "外购件质量问题", "运输问题", "非故障问题/参数咨询"));
return ApiResult.success(dictionaryItemService.getListByDictionaryCodeAndType(Constant.DICTIONARY_TICKET_QUESTION,"工服")
return ApiResult.success(dictionaryItemService.getListByDictionaryCodeAndType(Constant.DICTIONARY_TICKET_QUESTION, "工服")
.stream()
.map(DictionaryItem::getName)
.collect(Collectors.toList())
@ -588,7 +588,7 @@ public class TicketController extends ControllerBase {
.setTicketArea(areaName)
.setImages(images)
// .setFiles(files)
.setMeasures(ticketSolutionService.getSolutionMeasures(ticket.getId()).getMeasures());
.setMeasures(ticketSolutionService.getSolutionMeasures(ticket.getId(), Constant.DEFAULT_LANGUAGE_CODE).getMeasures());
Map<String, Object> variables = new HashMap<>();
variables.put("ticket", vo);
Map<String, Object> base = new HashMap<>();
@ -929,7 +929,7 @@ public class TicketController extends ControllerBase {
@GetMapping("getSolutionMeasures")
@ApiMark(moduleName = "工单管理", apiName = "获取工单解决方案措施")
public ApiResult<SolutionMeasuresVO> getSolutionMeasures(@Valid @RequestParam @NotNull Long ticketId) {
return ApiResult.success(ticketSolutionService.getSolutionMeasures(ticketId));
return ApiResult.success(ticketSolutionService.getSolutionMeasures(ticketId, Constant.DEFAULT_LANGUAGE_CODE));
}
/**
@ -940,7 +940,7 @@ public class TicketController extends ControllerBase {
@GetMapping("getSolutionReviewDepartment")
@ApiMark(moduleName = "工单管理", apiName = "获取工单解决方案评审部门")
public ApiResult<List<SolutionReviewDepartmentVO>> getSolutionReviewDepartment(@Valid @RequestParam @NotNull Long ticketId) {
return ApiResult.success(ticketSolutionAuditService.getByTicket(ticketId));
return ApiResult.success(ticketSolutionAuditService.getByTicket(ticketId,MultilingualUtil.getLanguage()));
}
/**
@ -1203,7 +1203,7 @@ public class TicketController extends ControllerBase {
}
}
//解决方案审核
List<SolutionReviewDepartmentVO> reviewDepartments = ticketSolutionAuditService.getByTicket(ticketId)
List<SolutionReviewDepartmentVO> reviewDepartments = ticketSolutionAuditService.getByTicket(ticketId,MultilingualUtil.getLanguage())
.stream()
.filter(vo -> StrUtil.isNotBlank(vo.getUserName()))
.collect(Collectors.toList());

View File

@ -22,7 +22,7 @@ import java.util.List;
*/
public interface ITicketSolutionAuditService extends IService<TicketSolutionAudit> {
List<SolutionReviewDepartmentVO> getByTicket(Long ticketId);
List<SolutionReviewDepartmentVO> getByTicket(Long ticketId,String languageCode);
void saveSolutionReviewDepartment(SolutionReviewDepartmentSaveRequest request);

View File

@ -17,7 +17,7 @@ import com.nflg.mobilebroken.repository.entity.TicketSolution;
*/
public interface ITicketSolutionService extends IService<TicketSolution> {
SolutionMeasuresVO getSolutionMeasures(Long ticketId);
SolutionMeasuresVO getSolutionMeasures(Long ticketId,String language);
Ticket saveSolutionMeasures(SolutionMeasuresSaveRequest request);

View File

@ -51,8 +51,8 @@ public class TicketSolutionAuditServiceImpl extends ServiceImpl<TicketSolutionAu
private IAdminUserService adminUserService;
@Override
public List<SolutionReviewDepartmentVO> getByTicket(Long ticketId) {
List<DictionaryItem> items = dictionaryItemService.getListByDictionaryCode(Constant.DICTIONARY_SOLUTION_REVIEW_DEPARTMENT, Constant.DEFAULT_LANGUAGE_CODE);
public List<SolutionReviewDepartmentVO> getByTicket(Long ticketId,String languageCode) {
List<DictionaryItem> items = dictionaryItemService.getListByDictionaryCode(Constant.DICTIONARY_SOLUTION_REVIEW_DEPARTMENT, languageCode);
List<SolutionReviewDepartmentVO> vos = baseMapper.getByTicket(ticketId);
items.forEach(item -> {
if (vos.stream().noneMatch(vo -> vo.getDeptName().equals(item.getName()))) {

View File

@ -61,12 +61,12 @@ public class TicketSolutionServiceImpl extends ServiceImpl<TicketSolutionMapper,
private IDeviceService deviceService;
@Override
public SolutionMeasuresVO getSolutionMeasures(Long ticketId) {
public SolutionMeasuresVO getSolutionMeasures(Long ticketId,String language) {
TicketDTO ticket = ticketService.getDto(ticketId);
VUtils.trueThrowBusinessError(Objects.isNull(ticket)).throwMessage("工单不存在");
List<DictionaryItem> initial = new ArrayList<>();
if (Objects.equals(ticket.getState(), TicketState.Processing.getState()) || Objects.equals(ticket.getState(), TicketState.ProcessingCompleted.getState())) {
initial = dictionaryItemService.getListByDictionaryCode(Constant.DICTIONARY_SOLUTION_MEASURES, Constant.DEFAULT_LANGUAGE_CODE);
initial = dictionaryItemService.getListByDictionaryCode(Constant.DICTIONARY_SOLUTION_MEASURES, language);
}
List<TicketSolution> solutions = lambdaQuery().eq(TicketSolution::getTicketId, ticketId).orderByAsc(TicketSolution::getId).list();
Map<Integer, List<TicketSolution>> groupedSolutions = solutions.stream().collect(Collectors.groupingBy(TicketSolution::getDictionaryItemId, LinkedHashMap::new, Collectors.toList()));