From 8a04e7a507f0cd14be2d40c506f0bb708519f647 Mon Sep 17 00:00:00 2001 From: shahaibo <1023316923@qq.com> Date: Tue, 31 Oct 2023 15:05:27 +0800 Subject: [PATCH] =?UTF-8?q?TASK:=20=E8=AF=AD=E8=A8=80;?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../ai/da/controller/AccountController.java | 7 +++ .../java/com/ai/da/model/enums/Language.java | 46 +++++++++++++++++++ .../com/ai/da/service/AccountService.java | 3 ++ .../da/service/impl/AccountServiceImpl.java | 9 ++++ 4 files changed, 65 insertions(+) create mode 100644 src/main/java/com/ai/da/model/enums/Language.java diff --git a/src/main/java/com/ai/da/controller/AccountController.java b/src/main/java/com/ai/da/controller/AccountController.java index 86258bec..3be6f691 100644 --- a/src/main/java/com/ai/da/controller/AccountController.java +++ b/src/main/java/com/ai/da/controller/AccountController.java @@ -3,6 +3,7 @@ package com.ai.da.controller; import com.ai.da.common.response.Response; import com.ai.da.common.security.jwt.JWTTokenHelper; import com.ai.da.model.dto.*; +import com.ai.da.model.enums.Language; import com.ai.da.model.vo.AccountLoginVO; import com.ai.da.model.vo.AccountPreLoginVO; import com.ai.da.service.AccountService; @@ -67,4 +68,10 @@ public class AccountController { return Response.success(accountService.isLogin(accountLogoutDTO)); } + @ApiOperation(value = "获取当前用户语言") + @PostMapping("/getUserLanguage") + public Response getUserLanguage() { + return Response.success(accountService.getUserLanguage()); + } + } diff --git a/src/main/java/com/ai/da/model/enums/Language.java b/src/main/java/com/ai/da/model/enums/Language.java new file mode 100644 index 00000000..776522ff --- /dev/null +++ b/src/main/java/com/ai/da/model/enums/Language.java @@ -0,0 +1,46 @@ +package com.ai.da.model.enums; + +import com.fasterxml.jackson.annotation.JsonValue; +import lombok.Getter; + +/** + * @Author: SHAHAIBO + * @Date: 2023/10/31 14:16 + * @Description: 语言 + */ +public enum Language implements IEnumDisplay { + + ENGLISH("en", "US"), // 英文 + + CHINESE_SIMPLIFIED("zh", "CN"), // 中文(简体) + + KOREAN("ko", "KR"), // 韩文 + + JAPANESE("ja", "JP"), // 日文 + + RUSSIAN("ru", "RU"), // 俄语 + + FRENCH("fr", "FR"), // 法语 + + THAI("th", "TH"), // 泰语 + + VIETNAMESE("vi", "VN"), // 越南语 + + ITALIAN("it", "IT"); // 意大利语 + + private String languageCode; + @Getter + private String countryCode; + + Language(String languageCode, String countryCode) { + this.languageCode = languageCode; + this.countryCode = countryCode; + } + + @Override + @JsonValue + public String getValue() { + return this.languageCode; + } + +} \ No newline at end of file diff --git a/src/main/java/com/ai/da/service/AccountService.java b/src/main/java/com/ai/da/service/AccountService.java index 4cbd9ed3..e522617f 100644 --- a/src/main/java/com/ai/da/service/AccountService.java +++ b/src/main/java/com/ai/da/service/AccountService.java @@ -2,6 +2,7 @@ package com.ai.da.service; import com.ai.da.mapper.entity.Account; import com.ai.da.model.dto.*; +import com.ai.da.model.enums.Language; import com.ai.da.model.vo.AccountLoginVO; import com.ai.da.model.vo.AccountPreLoginVO; import com.baomidou.mybatisplus.extension.service.IService; @@ -89,4 +90,6 @@ public interface AccountService extends IService { * @return */ Boolean editUser(AccountEditDTO accountEditDTO); + + String getUserLanguage(); } diff --git a/src/main/java/com/ai/da/service/impl/AccountServiceImpl.java b/src/main/java/com/ai/da/service/impl/AccountServiceImpl.java index e6d83520..1478ca14 100644 --- a/src/main/java/com/ai/da/service/impl/AccountServiceImpl.java +++ b/src/main/java/com/ai/da/service/impl/AccountServiceImpl.java @@ -2,6 +2,7 @@ package com.ai.da.service.impl; import cn.hutool.core.collection.CollectionUtil; import com.ai.da.common.config.exception.BusinessException; +import com.ai.da.common.context.UserContext; import com.ai.da.common.enums.LoginTypeEnum; import com.ai.da.common.enums.AuthenticationOperationTypeEnum; import com.ai.da.common.security.jwt.JWTTokenHelper; @@ -10,6 +11,7 @@ import com.ai.da.mapper.AccountMapper; import com.ai.da.mapper.entity.Account; import com.ai.da.mapper.entity.AccountLoginLog; import com.ai.da.model.dto.*; +import com.ai.da.model.enums.Language; import com.ai.da.model.vo.AccountLoginVO; import com.ai.da.model.vo.AccountPreLoginVO; import com.ai.da.model.vo.AuthPrincipalVo; @@ -400,4 +402,11 @@ public class AccountServiceImpl extends ServiceImpl impl accountMapper.update(account, queryTotal); return null; } + + @Override + public String getUserLanguage() { + AuthPrincipalVo userInfo = UserContext.getUserHolder(); +// Language language = Language.valueOf(userInfo.getLanguage()); + return userInfo.getLanguage(); + } }