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;