diff --git a/nflg-mobilebroken-admin/pom.xml b/nflg-mobilebroken-admin/pom.xml
index 93dbc124..56b76079 100644
--- a/nflg-mobilebroken-admin/pom.xml
+++ b/nflg-mobilebroken-admin/pom.xml
@@ -125,22 +125,6 @@
poi-ooxml
5.2.3
-
- com.aliyun
- alimt20181012
- 1.5.0
-
-
- com.aliyun
- tea-openapi
- 0.3.9
-
-
- dom4j
- org.dom4j
-
-
-
com.github.mwiede
jsch
diff --git a/nflg-mobilebroken-admin/src/main/java/com/nflg/mobilebroken/admin/config/SystemConfig.java b/nflg-mobilebroken-admin/src/main/java/com/nflg/mobilebroken/admin/config/SystemConfig.java
new file mode 100644
index 00000000..d5b943c2
--- /dev/null
+++ b/nflg-mobilebroken-admin/src/main/java/com/nflg/mobilebroken/admin/config/SystemConfig.java
@@ -0,0 +1,24 @@
+package com.nflg.mobilebroken.admin.config;
+
+import com.nflg.mobilebroken.common.constant.Constant;
+import com.nflg.mobilebroken.repository.service.ILanguageService;
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.stereotype.Component;
+
+import javax.annotation.PostConstruct;
+import javax.annotation.Resource;
+
+@Slf4j
+@Component
+public class SystemConfig {
+
+ @Resource
+ private ILanguageService languageService;
+
+ @PostConstruct
+ public void initData() {
+ languageService.list().forEach(language -> {
+ Constant.LANGUAGE_ALIYUN_MAP.put(language.getCode(),language.getTranslateCode());
+ });
+ }
+}
diff --git a/nflg-mobilebroken-admin/src/main/java/com/nflg/mobilebroken/admin/controller/TestController.java b/nflg-mobilebroken-admin/src/main/java/com/nflg/mobilebroken/admin/controller/TestController.java
index 81ee5ec2..18d43aaa 100644
--- a/nflg-mobilebroken-admin/src/main/java/com/nflg/mobilebroken/admin/controller/TestController.java
+++ b/nflg-mobilebroken-admin/src/main/java/com/nflg/mobilebroken/admin/controller/TestController.java
@@ -17,7 +17,7 @@ import java.io.OutputStream;
*/
@RestController
@RequestMapping("/test")
-public class TestController extends ControllerBase{
+public class TestController extends ControllerBase {
@Resource
private DeviceQRCodeService deviceQRCodeService;
@@ -59,7 +59,7 @@ public class TestController extends ControllerBase{
*/
@PostMapping("translate")
public ApiResult translate(@RequestBody String text) {
- return ApiResult.success(translate.translateWord(text, "auto", "ja", "html"));
+ return ApiResult.success(translate.translateWord(text, "auto", "ja", "html"));
}
/**
@@ -71,4 +71,12 @@ public class TestController extends ControllerBase{
public ApiResult deepseekTranslate(@RequestParam String text, @RequestParam String targetLanguage) {
return ApiResult.success(deepSeekTranslate.translateWord(text, "auto", targetLanguage, "html"));
}
+
+ /**
+ * 抛错
+ */
+ @GetMapping("throwError")
+ public void throwError() {
+ VUtils.trueThrowBusinessError(true).throwMessage("抛错");
+ }
}
diff --git a/nflg-mobilebroken-admin/src/main/java/com/nflg/mobilebroken/admin/controller/TicketController.java b/nflg-mobilebroken-admin/src/main/java/com/nflg/mobilebroken/admin/controller/TicketController.java
index 4e9a20d1..2bb8b28c 100644
--- a/nflg-mobilebroken-admin/src/main/java/com/nflg/mobilebroken/admin/controller/TicketController.java
+++ b/nflg-mobilebroken-admin/src/main/java/com/nflg/mobilebroken/admin/controller/TicketController.java
@@ -11,7 +11,6 @@ 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;
@@ -24,6 +23,7 @@ import com.nflg.mobilebroken.repository.entity.*;
import com.nflg.mobilebroken.repository.service.*;
import com.nflg.mobilebroken.starter.annotation.MethodInfoMark;
import com.nflg.mobilebroken.starter.service.UniPushService;
+import com.nflg.mobilebroken.starter.service.impl.AliYunTranslate;
import com.nflg.mobilebroken.starter.service.impl.DeepSeekTranslate;
import lombok.extern.slf4j.Slf4j;
import org.apache.poi.ss.usermodel.*;
diff --git a/nflg-mobilebroken-cfs-app/src/main/java/com/nflg/mobilebroken/cfs/config/SystemConfig.java b/nflg-mobilebroken-cfs-app/src/main/java/com/nflg/mobilebroken/cfs/config/SystemConfig.java
new file mode 100644
index 00000000..2ad3feaf
--- /dev/null
+++ b/nflg-mobilebroken-cfs-app/src/main/java/com/nflg/mobilebroken/cfs/config/SystemConfig.java
@@ -0,0 +1,24 @@
+package com.nflg.mobilebroken.cfs.config;
+
+import com.nflg.mobilebroken.common.constant.Constant;
+import com.nflg.mobilebroken.repository.service.ILanguageService;
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.stereotype.Component;
+
+import javax.annotation.PostConstruct;
+import javax.annotation.Resource;
+
+@Slf4j
+@Component
+public class SystemConfig {
+
+ @Resource
+ private ILanguageService languageService;
+
+ @PostConstruct
+ public void initData() {
+ languageService.list().forEach(language -> {
+ Constant.LANGUAGE_ALIYUN_MAP.put(language.getCode(),language.getTranslateCode());
+ });
+ }
+}
diff --git a/nflg-mobilebroken-common/src/main/java/com/nflg/mobilebroken/common/constant/Constant.java b/nflg-mobilebroken-common/src/main/java/com/nflg/mobilebroken/common/constant/Constant.java
index 4138c9e3..5f035f65 100644
--- a/nflg-mobilebroken-common/src/main/java/com/nflg/mobilebroken/common/constant/Constant.java
+++ b/nflg-mobilebroken-common/src/main/java/com/nflg/mobilebroken/common/constant/Constant.java
@@ -1,12 +1,17 @@
package com.nflg.mobilebroken.common.constant;
+import cn.hutool.setting.Setting;
+
+import java.util.HashMap;
+import java.util.Map;
+
public class Constant {
public static final String FROM_APP = "app";
public static final String FROM_ADMIN = "admin";
- public static final String DEFAULT_LANGUAGE_CODE="cn";
+ public static final String DEFAULT_LANGUAGE_CODE = "cn";
public static final String DICTIONARY_TYPE_SERVICE_EVALUATION = "ServiceEvaluation";
@@ -36,58 +41,57 @@ public class Constant {
public static final String WX_QRCODE = "https://api.weixin.qq.com/cgi-bin/qrcode/create";
- public static final String DICTIONARY_EMAIL_NOTIFY ="EmailContent";
+ public static final String DICTIONARY_EMAIL_NOTIFY = "EmailContent";
- public static final String DICTIONARY_ITEM_EMAIL_TITLE_TICKET_CREATE="TitleTicketCreate";
+ public static final String DICTIONARY_ITEM_EMAIL_TITLE_TICKET_CREATE = "TitleTicketCreate";
- public static final String DICTIONARY_ITEM_EMAIL_TITLE_TICKET_ASSIGNED="TitleTicketAssigned";
+ public static final String DICTIONARY_ITEM_EMAIL_TITLE_TICKET_ASSIGNED = "TitleTicketAssigned";
public static final String DICTIONARY_ITEM_EMAIL_TITLE_TICKET_Complete = "TitleTicketComplete";
- public static final String DICTIONARY_ITEM_EMAIL_TITLE_CHANGE_EMAIL="TitleChangeEmail";
+ public static final String DICTIONARY_ITEM_EMAIL_TITLE_CHANGE_EMAIL = "TitleChangeEmail";
- public static final String DICTIONARY_ITEM_EMAIL_TITLE_TICKET_REPLY="TitleTicketReply";
+ public static final String DICTIONARY_ITEM_EMAIL_TITLE_TICKET_REPLY = "TitleTicketReply";
- public static final String DICTIONARY_ITEM_EMAIL_TITLE_TICKET_TIMEOUT="TitleTicketTimeout";
+ public static final String DICTIONARY_ITEM_EMAIL_TITLE_TICKET_TIMEOUT = "TitleTicketTimeout";
- public static final String DICTIONARY_ITEM_EMAIL_TITLE_TICKET_INVITE_COMMENT="TitleInviteComment";
+ public static final String DICTIONARY_ITEM_EMAIL_TITLE_TICKET_INVITE_COMMENT = "TitleInviteComment";
- public static final String DICTIONARY_ITEM_EMAIL_CONTENT_TICKET_NOTIFY="TicketNotify";
+ public static final String DICTIONARY_ITEM_EMAIL_CONTENT_TICKET_NOTIFY = "TicketNotify";
- public static final String DICTIONARY_ITEM_EMAIL_CONTENT_CHANGE_EMAIL="ChangeEmail";
+ public static final String DICTIONARY_ITEM_EMAIL_CONTENT_CHANGE_EMAIL = "ChangeEmail";
- public static final String DICTIONARY_ITEM_EMAIL_CONTENT_TICKET_INVITE_COMMENT="InviteComment";
+ public static final String DICTIONARY_ITEM_EMAIL_CONTENT_TICKET_INVITE_COMMENT = "InviteComment";
- public static final String DICTIONARY_ITEM_EMAIL_TITLE_ACCOUNT_RESET_PASSWORD="TitleResetPassword";
+ public static final String DICTIONARY_ITEM_EMAIL_TITLE_ACCOUNT_RESET_PASSWORD = "TitleResetPassword";
- public static final String DICTIONARY_ITEM_EMAIL_TITLE_ACCOUNT_CHANGE_PASSWORD="TitleChangePassword";
+ public static final String DICTIONARY_ITEM_EMAIL_TITLE_ACCOUNT_CHANGE_PASSWORD = "TitleChangePassword";
- public static final String DICTIONARY_ITEM_EMAIL_TITLE_ACCOUNT_ACTIVATION="TitleAccountActivation";
+ public static final String DICTIONARY_ITEM_EMAIL_TITLE_ACCOUNT_ACTIVATION = "TitleAccountActivation";
- public static final String DICTIONARY_ITEM_EMAIL_CONTENT_RESET_PASSWORD_NOTIFY="ResetPassword";
+ public static final String DICTIONARY_ITEM_EMAIL_CONTENT_RESET_PASSWORD_NOTIFY = "ResetPassword";
- public static final String DICTIONARY_ITEM_EMAIL_CONTENT_ACCOUNT_CHANGE_PASSWORD="ChangePassword";
+ public static final String DICTIONARY_ITEM_EMAIL_CONTENT_ACCOUNT_CHANGE_PASSWORD = "ChangePassword";
- public static final String DICTIONARY_ITEM_EMAIL_CONTENT_ACCOUNT_ACTIVATION_NOTIFY="AccountActivation";
+ public static final String DICTIONARY_ITEM_EMAIL_CONTENT_ACCOUNT_ACTIVATION_NOTIFY = "AccountActivation";
- public static final String DICTIONARY_ITEM_EMAIL_TITLE_TICKET_CLOSE="TitleTicketClose";
+ public static final String DICTIONARY_ITEM_EMAIL_TITLE_TICKET_CLOSE = "TitleTicketClose";
- public static final String DICTIONARY_ITEM_EMAIL_TITLE_TICKET_REOPEN="TitleTicketReopen";
-
- public static final String DICTIONARY_ITEM_EMAIL_TITLE_TICKET_CREATE_GONGFU="TitleTicketCreateGongfu";
- public static final String DICTIONARY_ITEM_EMAIL_TITLE_TICKET_ASSIGNED_GONGFU="TitleTicketAssignedGongfu";
- public static final String DICTIONARY_ITEM_EMAIL_TITLE_TICKET_REPLY_GONGFU="TitleTicketReplyGongfu";
- public static final String DICTIONARY_ITEM_EMAIL_TITLE_TICKET_TIMEOUT_GONGFU="TitleTicketTimeoutGongfu";
- public static final String DICTIONARY_ITEM_EMAIL_TITLE_TICKET_COMPLETE_GONGFU="TitleTicketCompleteGongfu";
- public static final String DICTIONARY_ITEM_EMAIL_TITLE_TICKET_REOPEN_GONGFU="TitleTicketReopenGongfu";
- public static final String DICTIONARY_ITEM_EMAIL_TITLE_TICKET_CLOSE_GONGFU="TitleTicketCloseGongfu";
+ public static final String DICTIONARY_ITEM_EMAIL_TITLE_TICKET_REOPEN = "TitleTicketReopen";
+ public static final String DICTIONARY_ITEM_EMAIL_TITLE_TICKET_CREATE_GONGFU = "TitleTicketCreateGongfu";
+ public static final String DICTIONARY_ITEM_EMAIL_TITLE_TICKET_ASSIGNED_GONGFU = "TitleTicketAssignedGongfu";
+ public static final String DICTIONARY_ITEM_EMAIL_TITLE_TICKET_REPLY_GONGFU = "TitleTicketReplyGongfu";
+ public static final String DICTIONARY_ITEM_EMAIL_TITLE_TICKET_TIMEOUT_GONGFU = "TitleTicketTimeoutGongfu";
+ public static final String DICTIONARY_ITEM_EMAIL_TITLE_TICKET_COMPLETE_GONGFU = "TitleTicketCompleteGongfu";
+ public static final String DICTIONARY_ITEM_EMAIL_TITLE_TICKET_REOPEN_GONGFU = "TitleTicketReopenGongfu";
+ public static final String DICTIONARY_ITEM_EMAIL_TITLE_TICKET_CLOSE_GONGFU = "TitleTicketCloseGongfu";
/**
* 事业部部长
*/
- public static final String TITLE_DIRECTOROF_BUSINESS_UNIT="YDP-001";
+ public static final String TITLE_DIRECTOROF_BUSINESS_UNIT = "YDP-001";
/**
* 技术主管
@@ -114,17 +118,17 @@ public class Constant {
*/
public static final String ROLE_CODE_ACCOUNT_REVIEW = "AccountReview";
- public static final String DICTIONARY_SYSTEMERROR ="SystemErrorMessage";
+ public static final String DICTIONARY_SYSTEMERROR = "SystemErrorMessage";
- public static final String DICTIONARY_ITEM_INCORRECTUSERNAMEORPASSWORD="IncorrectUsernameOrPassword";
+ public static final String DICTIONARY_ITEM_INCORRECTUSERNAMEORPASSWORD = "IncorrectUsernameOrPassword";
- public static final String DICTIONARY_ITEM_ACCOUNT_DISABLED="AccountDisabled";
+ public static final String DICTIONARY_ITEM_ACCOUNT_DISABLED = "AccountDisabled";
- public static final String DICTIONARY_ITEM_ACCOUNT_NOT_ACTIVATED="AccountNotActivated";
+ public static final String DICTIONARY_ITEM_ACCOUNT_NOT_ACTIVATED = "AccountNotActivated";
- public static final String DICTIONARY_ITEM_ACCOUNT_HAS_EXPIRED_PRIMARY="AccountHasExpiredPrimary";
+ public static final String DICTIONARY_ITEM_ACCOUNT_HAS_EXPIRED_PRIMARY = "AccountHasExpiredPrimary";
- public static final String DICTIONARY_ITEM_ACCOUNT_HAS_EXPIRED="AccountHasExpired";
+ public static final String DICTIONARY_ITEM_ACCOUNT_HAS_EXPIRED = "AccountHasExpired";
public static final String DICTIONARY_ITEM_ACCOUNT_HAS_EXPIRED_ENDUSER = "EndUserAccountHasExpired";
@@ -132,20 +136,20 @@ public class Constant {
public static final String DICTIONARY_SOLUTION_REVIEW_DEPARTMENT = "SolutionReviewDepartment";
- public static final String DICTIONARY_DEVICE_STATE ="deviceState";
+ public static final String DICTIONARY_DEVICE_STATE = "deviceState";
- public static final String DICTIONARY_DEVICE_WARRANTY_STATE ="deviceWarrantyState";
+ public static final String DICTIONARY_DEVICE_WARRANTY_STATE = "deviceWarrantyState";
- public static final String DICTIONARY_DEVICE_PART_TYPE_ATTR ="PartTypeAttr";
+ public static final String DICTIONARY_DEVICE_PART_TYPE_ATTR = "PartTypeAttr";
- public static final String DICTIONARY_AD_TYPE ="AdvertisementType";
+ public static final String DICTIONARY_AD_TYPE = "AdvertisementType";
- public static final String DICTIONARY_AD_POSITION ="AdvertisementPosition";
+ public static final String DICTIONARY_AD_POSITION = "AdvertisementPosition";
public static final String DICTIONARY_SERVICE = "SystemService";
- public static final String DICTIONARY_PRODUCT_MODEL_MAIN_PARAMS ="ProductModelMainParams";
+ public static final String DICTIONARY_PRODUCT_MODEL_MAIN_PARAMS = "ProductModelMainParams";
- public static final String DICTIONARY_PRODUCT_INTRO_CATEGORY ="ProductIntroCategory";
+ public static final String DICTIONARY_PRODUCT_INTRO_CATEGORY = "ProductIntroCategory";
public static final String DICTIONARY_PRODUCT_MODULE = "ProductModule";
@@ -173,4 +177,5 @@ public class Constant {
public static final Integer TICKET_TYPE_MOBILE_BROKEN = 0;
public static final Integer TICKET_TYPE_GONGFU = 1;
+ public static final Map LANGUAGE_ALIYUN_MAP = new HashMap<>();
}
diff --git a/nflg-mobilebroken-gongfu/src/main/java/com/nflg/mobilebroken/gongfu/config/SystemConfig.java b/nflg-mobilebroken-gongfu/src/main/java/com/nflg/mobilebroken/gongfu/config/SystemConfig.java
index b93088e8..fd153de3 100644
--- a/nflg-mobilebroken-gongfu/src/main/java/com/nflg/mobilebroken/gongfu/config/SystemConfig.java
+++ b/nflg-mobilebroken-gongfu/src/main/java/com/nflg/mobilebroken/gongfu/config/SystemConfig.java
@@ -7,11 +7,13 @@ import com.nflg.mobilebroken.repository.entity.Device;
import com.nflg.mobilebroken.repository.entity.GongfuDevice;
import com.nflg.mobilebroken.repository.service.IDeviceService;
import com.nflg.mobilebroken.repository.service.IGongfuDeviceService;
+import com.nflg.mobilebroken.repository.service.ILanguageService;
import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Component;
import javax.annotation.PostConstruct;
import javax.annotation.Resource;
+import java.util.Map;
import java.util.stream.Collectors;
@Slf4j
@@ -24,6 +26,9 @@ public class SystemConfig {
@Resource
private IGongfuDeviceService deviceService;
+ @Resource
+ private ILanguageService languageService;
+
@PostConstruct
public void initData() {
log.info("初始化产品线列表");
@@ -46,5 +51,8 @@ public class SystemConfig {
.collect(Collectors.toSet())
);
log.info("产品线列表:{}", StrUtil.join(",", Constant1.PRODUCT_LINE));
+ languageService.list().forEach(language -> {
+ Constant.LANGUAGE_ALIYUN_MAP.put(language.getCode(),language.getTranslateCode());
+ });
}
}
diff --git a/nflg-mobilebroken-repository/src/main/java/com/nflg/mobilebroken/repository/entity/TicketSolutionAudit.java b/nflg-mobilebroken-repository/src/main/java/com/nflg/mobilebroken/repository/entity/TicketSolutionAudit.java
index ae69d5b2..d48fb785 100644
--- a/nflg-mobilebroken-repository/src/main/java/com/nflg/mobilebroken/repository/entity/TicketSolutionAudit.java
+++ b/nflg-mobilebroken-repository/src/main/java/com/nflg/mobilebroken/repository/entity/TicketSolutionAudit.java
@@ -32,6 +32,11 @@ public class TicketSolutionAudit implements Serializable {
*/
private Long ticketId;
+ /**
+ * 部门id
+ */
+ private Long deptId;
+
/**
* 部门名称
*/
diff --git a/nflg-mobilebroken-repository/src/main/java/com/nflg/mobilebroken/repository/service/impl/TicketSolutionAuditServiceImpl.java b/nflg-mobilebroken-repository/src/main/java/com/nflg/mobilebroken/repository/service/impl/TicketSolutionAuditServiceImpl.java
index 523d2b11..adf1c49a 100644
--- a/nflg-mobilebroken-repository/src/main/java/com/nflg/mobilebroken/repository/service/impl/TicketSolutionAuditServiceImpl.java
+++ b/nflg-mobilebroken-repository/src/main/java/com/nflg/mobilebroken/repository/service/impl/TicketSolutionAuditServiceImpl.java
@@ -1,6 +1,7 @@
package com.nflg.mobilebroken.repository.service.impl;
import cn.hutool.core.collection.CollectionUtil;
+import cn.hutool.core.util.StrUtil;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.nflg.mobilebroken.common.constant.Constant;
@@ -51,9 +52,9 @@ public class TicketSolutionAuditServiceImpl extends ServiceImpl getByTicket(Long ticketId,String languageCode) {
+ public List getByTicket(Long ticketId, String languageCode) {
List items = dictionaryItemService.getListByDictionaryCode(Constant.DICTIONARY_SOLUTION_REVIEW_DEPARTMENT, languageCode);
- List vos = baseMapper.getByTicket(ticketId,languageCode);
+ List vos = baseMapper.getByTicket(ticketId, languageCode);
items.forEach(item -> {
if (vos.stream().noneMatch(vo -> vo.getDeptName().equals(item.getName()))) {
SolutionReviewDepartmentVO vo = new SolutionReviewDepartmentVO();
@@ -75,10 +76,16 @@ public class TicketSolutionAuditServiceImpl extends ServiceImpl forAdd = new ArrayList<>();
List forUpdate = new ArrayList<>();
Ticket ticket = ticketService.getById(request.getTicketId());
+ List dictionaryItems = dictionaryItemService.getListByDictionaryCode(Constant.DICTIONARY_SOLUTION_REVIEW_DEPARTMENT);
request.getDepartments().forEach(detp -> {
TicketSolutionAudit audit = new TicketSolutionAudit();
if (Objects.isNull(detp.getId())) {
+ DictionaryItem dept = dictionaryItems.stream()
+ .filter(item -> StrUtil.equals(item.getName(), detp.getDeptName()))
+ .findFirst()
+ .orElse(null);
audit.setTicketId(Long.valueOf(request.getTicketId()));
+ audit.setDeptId(Objects.isNull(dept) ? null : dept.getId().longValue());
audit.setDeptName(detp.getDeptName());
audit.setUserId(detp.getUserId());
audit.setCreateTime(LocalDateTime.now());
diff --git a/nflg-mobilebroken-starter/pom.xml b/nflg-mobilebroken-starter/pom.xml
index 2a9da921..7e02c0f1 100644
--- a/nflg-mobilebroken-starter/pom.xml
+++ b/nflg-mobilebroken-starter/pom.xml
@@ -112,6 +112,22 @@
com.fasterxml.jackson.datatype
jackson-datatype-jsr310
+
+ com.aliyun
+ alimt20181012
+ 1.5.0
+
+
+ com.aliyun
+ tea-openapi
+ 0.3.9
+
+
+ dom4j
+ org.dom4j
+
+
+
diff --git a/nflg-mobilebroken-starter/src/main/java/com/nflg/mobilebroken/starter/advice/GlobalRestControllerAdvice.java b/nflg-mobilebroken-starter/src/main/java/com/nflg/mobilebroken/starter/advice/GlobalRestControllerAdvice.java
index 9c000e84..141b377f 100644
--- a/nflg-mobilebroken-starter/src/main/java/com/nflg/mobilebroken/starter/advice/GlobalRestControllerAdvice.java
+++ b/nflg-mobilebroken-starter/src/main/java/com/nflg/mobilebroken/starter/advice/GlobalRestControllerAdvice.java
@@ -6,6 +6,8 @@ import com.nflg.mobilebroken.common.constant.Constant;
import com.nflg.mobilebroken.common.constant.STATE;
import com.nflg.mobilebroken.common.exception.NflgException;
import com.nflg.mobilebroken.common.pojo.ApiResult;
+import com.nflg.mobilebroken.common.util.MultilingualUtil;
+import com.nflg.mobilebroken.starter.service.impl.AliYunTranslate;
import lombok.extern.slf4j.Slf4j;
import org.slf4j.MDC;
import org.springframework.beans.factory.annotation.Value;
@@ -19,6 +21,7 @@ import org.springframework.web.bind.annotation.ResponseStatus;
import org.springframework.web.bind.annotation.RestControllerAdvice;
import org.springframework.web.multipart.MaxUploadSizeExceededException;
+import javax.annotation.Resource;
import javax.validation.ConstraintViolation;
import javax.validation.ConstraintViolationException;
import java.sql.SQLException;
@@ -30,6 +33,9 @@ import java.util.stream.Collectors;
@Slf4j
public class GlobalRestControllerAdvice {
+ @Resource
+ private AliYunTranslate aliYunTranslate;
+
@Value("${spring.servlet.multipart.max-file-size}")
private DataSize maxFileSize;
@@ -52,6 +58,13 @@ public class GlobalRestControllerAdvice {
return ResponseEntity.status(HttpStatus.UNAUTHORIZED).body(ex.getMessage());
} else {
log.error("业务错误: ", ex);
+ 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 ResponseEntity.ok().body(ApiResult.error(ex.getState(), aliYunTranslate.translateWord(ex.getMessage(), aliyunCode)));
+ }
+ }
return ResponseEntity.ok().body(ApiResult.error(ex.getState(), ex.getMessage()));
}
}
diff --git a/nflg-mobilebroken-admin/src/main/java/com/nflg/mobilebroken/admin/service/impl/AliYunTranslate.java b/nflg-mobilebroken-starter/src/main/java/com/nflg/mobilebroken/starter/service/impl/AliYunTranslate.java
similarity index 98%
rename from nflg-mobilebroken-admin/src/main/java/com/nflg/mobilebroken/admin/service/impl/AliYunTranslate.java
rename to nflg-mobilebroken-starter/src/main/java/com/nflg/mobilebroken/starter/service/impl/AliYunTranslate.java
index 19481458..3f71eb6d 100644
--- a/nflg-mobilebroken-admin/src/main/java/com/nflg/mobilebroken/admin/service/impl/AliYunTranslate.java
+++ b/nflg-mobilebroken-starter/src/main/java/com/nflg/mobilebroken/starter/service/impl/AliYunTranslate.java
@@ -1,4 +1,4 @@
-package com.nflg.mobilebroken.admin.service.impl;
+package com.nflg.mobilebroken.starter.service.impl;
import cn.hutool.core.util.StrUtil;
import cn.hutool.crypto.SecureUtil;