Merge branch 'prod/20260407' into test

This commit is contained in:
曹鹏飞 2026-04-09 19:00:55 +08:00
commit d5c2c18af7
7 changed files with 95 additions and 19 deletions

View File

@ -1,10 +1,31 @@
package com.nflg.mobilebroken.admin.controller; package com.nflg.mobilebroken.admin.controller;
import cn.hutool.core.util.StrUtil;
import com.nflg.mobilebroken.common.constant.Constant;
import com.nflg.mobilebroken.common.util.MultilingualUtil;
import com.nflg.mobilebroken.starter.service.impl.AliYunTranslate;
import org.springframework.validation.annotation.Validated; import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.RestController; import org.springframework.web.bind.annotation.RestController;
import javax.annotation.Resource;
@Validated @Validated
@RestController @RestController
public class ControllerBase { public class ControllerBase {
@Resource
private AliYunTranslate aliYunTranslate;
protected String translate(String text) {
if (StrUtil.isNotBlank(text)) {
String languageCode = MultilingualUtil.getLanguage();
if (!StrUtil.equals(languageCode, Constant.DEFAULT_LANGUAGE_CODE)) {
String aliyunCode = Constant.LANGUAGE_ALIYUN_MAP.get(languageCode);
if (StrUtil.isNotBlank(aliyunCode)) {
return aliYunTranslate.translateWord(text, aliyunCode);
}
}
}
return text;
}
} }

View File

@ -5,15 +5,14 @@ import com.baomidou.mybatisplus.core.metadata.IPage;
import com.nflg.mobilebroken.admin.annotation.ApiMark; import com.nflg.mobilebroken.admin.annotation.ApiMark;
import com.nflg.mobilebroken.common.constant.Constant; import com.nflg.mobilebroken.common.constant.Constant;
import com.nflg.mobilebroken.common.constant.MessageSubType; import com.nflg.mobilebroken.common.constant.MessageSubType;
import com.nflg.mobilebroken.common.constant.MessageType;
import com.nflg.mobilebroken.common.pojo.ApiResult; import com.nflg.mobilebroken.common.pojo.ApiResult;
import com.nflg.mobilebroken.common.pojo.PageData; import com.nflg.mobilebroken.common.pojo.PageData;
import com.nflg.mobilebroken.common.pojo.request.AdminMessageSearchRequest; import com.nflg.mobilebroken.common.pojo.request.AdminMessageSearchRequest;
import com.nflg.mobilebroken.common.pojo.request.MessageConfigRequest; import com.nflg.mobilebroken.common.pojo.request.MessageConfigRequest;
import com.nflg.mobilebroken.common.pojo.vo.AdminMessageVO; import com.nflg.mobilebroken.common.pojo.vo.*;
import com.nflg.mobilebroken.common.pojo.vo.AdminNotReadMessageCountVO;
import com.nflg.mobilebroken.common.pojo.vo.MessageConfigVO;
import com.nflg.mobilebroken.common.pojo.vo.TicketNotReadMessageCountVO;
import com.nflg.mobilebroken.common.util.AdminUserUtil; import com.nflg.mobilebroken.common.util.AdminUserUtil;
import com.nflg.mobilebroken.common.util.MultilingualUtil;
import com.nflg.mobilebroken.common.util.PageUtil; import com.nflg.mobilebroken.common.util.PageUtil;
import com.nflg.mobilebroken.repository.entity.*; import com.nflg.mobilebroken.repository.entity.*;
import com.nflg.mobilebroken.repository.service.*; import com.nflg.mobilebroken.repository.service.*;
@ -64,6 +63,9 @@ public class MessageController extends ControllerBase {
@Resource @Resource
private StringRedisTemplate stringRedisTemplate; private StringRedisTemplate stringRedisTemplate;
@Resource
private IDictionaryItemTranslateService dictionaryItemTranslateService;
/** /**
* 搜索消息 * 搜索消息
* @param request 请求参数 * @param request 请求参数
@ -73,6 +75,7 @@ public class MessageController extends ControllerBase {
@ApiMark(moduleName = "消息管理", apiName = "搜索消息") @ApiMark(moduleName = "消息管理", apiName = "搜索消息")
public ApiResult<PageData<AdminMessageVO>> searchMessages(@Valid @RequestBody AdminMessageSearchRequest request) { public ApiResult<PageData<AdminMessageVO>> searchMessages(@Valid @RequestBody AdminMessageSearchRequest request) {
IPage<AdminMessageVO> datas = adminMessageService.search(AdminUserUtil.getUserId(), request); IPage<AdminMessageVO> datas = adminMessageService.search(AdminUserUtil.getUserId(), request);
List<DictionaryItemTranslateVO> translates = dictionaryItemTranslateService.getAllByDictionaryCode("Prompt", MultilingualUtil.getLanguage());
return ApiResult.success(PageUtil.convert(datas, d -> { return ApiResult.success(PageUtil.convert(datas, d -> {
if (Objects.equals(d.getSource(), 0)) { if (Objects.equals(d.getSource(), 0)) {
Ticket ticket = ticketService.getById(d.getSourceId()); Ticket ticket = ticketService.getById(d.getSourceId());
@ -115,6 +118,18 @@ public class MessageController extends ControllerBase {
} }
} }
} }
d.setTypeDesc(translates.stream()
.filter(t -> StrUtil.equals(t.getDictionaryItemName(), MessageType.findByValue(d.getType()).getDescription()))
.findFirst()
.map(DictionaryItemTranslateVO::getValue)
.orElse(MessageType.findByValue(d.getType()).getDescription())
);
d.setSubTypeDesc(translates.stream()
.filter(t -> StrUtil.equals(t.getDictionaryItemName(), MessageSubType.findByValue(d.getSubType()).getDescription()))
.findFirst()
.map(DictionaryItemTranslateVO::getValue)
.orElse(MessageSubType.findByValue(d.getSubType()).getDescription())
);
return d; return d;
})); }));
} }

View File

@ -58,7 +58,7 @@ public class TestController extends ControllerBase {
* @return 翻译结果 * @return 翻译结果
*/ */
@PostMapping("translate") @PostMapping("translate")
public ApiResult<String> translate(@RequestBody String text) { public ApiResult<String> translateText(@RequestBody String text) {
return ApiResult.success(translate.translateWord(text, "auto", "ja", "html")); return ApiResult.success(translate.translateWord(text, "auto", "ja", "html"));
} }

View File

@ -1,10 +1,32 @@
package com.nflg.mobilebroken.cfs.controller; package com.nflg.mobilebroken.cfs.controller;
import cn.hutool.core.util.StrUtil;
import com.nflg.mobilebroken.common.constant.Constant;
import com.nflg.mobilebroken.common.util.MultilingualUtil;
import com.nflg.mobilebroken.starter.service.impl.AliYunTranslate;
import org.springframework.validation.annotation.Validated; import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.RestController; import org.springframework.web.bind.annotation.RestController;
import javax.annotation.Resource;
import java.io.Console;
@Validated @Validated
@RestController @RestController
public class ControllerBase { public class ControllerBase {
@Resource
private AliYunTranslate aliYunTranslate;
protected String translate(String text) {
if (StrUtil.isNotBlank(text)) {
String languageCode = MultilingualUtil.getLanguage();
if (!StrUtil.equals(languageCode, Constant.DEFAULT_LANGUAGE_CODE)) {
String aliyunCode = Constant.LANGUAGE_ALIYUN_MAP.get(languageCode);
if (StrUtil.isNotBlank(aliyunCode)) {
return aliYunTranslate.translateWord(text, aliyunCode);
}
}
}
return text;
}
} }

View File

@ -1,18 +1,21 @@
package com.nflg.mobilebroken.cfs.controller; package com.nflg.mobilebroken.cfs.controller;
import cn.hutool.core.collection.CollectionUtil;
import cn.hutool.core.util.StrUtil;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.nflg.mobilebroken.common.constant.Constant; import com.nflg.mobilebroken.common.constant.Constant;
import com.nflg.mobilebroken.common.constant.MessageSubType; import com.nflg.mobilebroken.common.constant.MessageSubType;
import com.nflg.mobilebroken.common.pojo.ApiResult; import com.nflg.mobilebroken.common.pojo.ApiResult;
import com.nflg.mobilebroken.common.pojo.PageData; import com.nflg.mobilebroken.common.pojo.PageData;
import com.nflg.mobilebroken.common.pojo.request.AppMessageSearchRequest; import com.nflg.mobilebroken.common.pojo.request.AppMessageSearchRequest;
import com.nflg.mobilebroken.common.pojo.request.MessageConfigRequest; import com.nflg.mobilebroken.common.pojo.request.MessageConfigRequest;
import com.nflg.mobilebroken.common.pojo.vo.AppMessageVO; import com.nflg.mobilebroken.common.pojo.vo.*;
import com.nflg.mobilebroken.common.pojo.vo.AppNotReadMessageCountVO;
import com.nflg.mobilebroken.common.pojo.vo.MessageConfigVO;
import com.nflg.mobilebroken.common.pojo.vo.TicketNotReadMessageCountVO;
import com.nflg.mobilebroken.common.util.AppUserUtil; import com.nflg.mobilebroken.common.util.AppUserUtil;
import com.nflg.mobilebroken.common.util.MultilingualUtil;
import com.nflg.mobilebroken.repository.entity.AppMessage; import com.nflg.mobilebroken.repository.entity.AppMessage;
import com.nflg.mobilebroken.repository.service.IAppMessageService; import com.nflg.mobilebroken.repository.service.IAppMessageService;
import com.nflg.mobilebroken.repository.service.IDictionaryItemService;
import com.nflg.mobilebroken.repository.service.IDictionaryItemTranslateService;
import org.springframework.data.redis.core.HashOperations; import org.springframework.data.redis.core.HashOperations;
import org.springframework.data.redis.core.RedisTemplate; import org.springframework.data.redis.core.RedisTemplate;
import org.springframework.data.redis.core.StringRedisTemplate; import org.springframework.data.redis.core.StringRedisTemplate;
@ -45,6 +48,9 @@ public class MessageController extends ControllerBase {
@Resource @Resource
private StringRedisTemplate stringRedisTemplate; private StringRedisTemplate stringRedisTemplate;
@Resource
private IDictionaryItemTranslateService dictionaryItemTranslateService;
/** /**
* 搜索消息 * 搜索消息
* @param request 请求参数 * @param request 请求参数
@ -52,7 +58,19 @@ public class MessageController extends ControllerBase {
*/ */
@PostMapping("searchMessages") @PostMapping("searchMessages")
public ApiResult<PageData<AppMessageVO>> searchMessages(@RequestBody AppMessageSearchRequest request) { public ApiResult<PageData<AppMessageVO>> searchMessages(@RequestBody AppMessageSearchRequest request) {
return ApiResult.success(appMessageService.search(AppUserUtil.getUserId(), AppUserUtil.getFrom(), request)); IPage<AppMessageVO> page = appMessageService.search(AppUserUtil.getUserId(), AppUserUtil.getFrom(), request);
if (CollectionUtil.isNotEmpty(page.getRecords())) {
List<DictionaryItemTranslateVO> translates = dictionaryItemTranslateService.getAllByDictionaryCode("Prompt", MultilingualUtil.getLanguage());
page.getRecords().forEach(r -> {
r.setContent(translates.stream()
.filter(t -> StrUtil.equals(t.getDictionaryItemName(), MessageSubType.findByValue(r.getSubType()).getDescription()))
.findFirst()
.map(DictionaryItemTranslateVO::getValue)
.orElse(MessageSubType.findByValue(r.getSubType()).getDescription())
);
});
}
return ApiResult.success(page);
} }
/** /**

View File

@ -36,9 +36,9 @@ public class AdminMessageVO {
//任务事项描述 //任务事项描述
private String subTypeDesc; private String subTypeDesc;
public String getSubTypeDesc() { // public String getSubTypeDesc() {
return MessageSubType.findByValue(subType).getDescription(); // return MessageSubType.findByValue(subType).getDescription();
} // }
/** /**
* 任务类别 * 任务类别
@ -49,9 +49,9 @@ public class AdminMessageVO {
//任务类别描述 //任务类别描述
private String typeDesc; private String typeDesc;
public String getTypeDesc() { // public String getTypeDesc() {
return MessageType.findByValue(type).getDescription(); // return MessageType.findByValue(type).getDescription();
} // }
//提交人 //提交人
private String sourceCreateUserName; private String sourceCreateUserName;

View File

@ -27,9 +27,9 @@ public class AppMessageVO {
//任务事项描述 //任务事项描述
private String content; private String content;
public String getContent() { // public String getContent() {
return MessageSubType.findByValue(subType).getDescription(); // return MessageSubType.findByValue(subType).getDescription();
} // }
//消息时间 //消息时间
private LocalDateTime createTime; private LocalDateTime createTime;