TASK: 语言;

This commit is contained in:
shahaibo
2023-10-31 15:28:37 +08:00
parent 8a04e7a507
commit d71674393f
4 changed files with 24 additions and 6 deletions

View File

@@ -2,6 +2,7 @@ package com.ai.da.common.config.exception;
import com.ai.da.common.context.UserContext; import com.ai.da.common.context.UserContext;
import com.ai.da.common.response.ResultEnum; import com.ai.da.common.response.ResultEnum;
import com.ai.da.model.enums.Language;
import com.ai.da.model.vo.AuthPrincipalVo; import com.ai.da.model.vo.AuthPrincipalVo;
import lombok.Data; import lombok.Data;
@@ -49,7 +50,7 @@ public class BusinessException extends RuntimeException {
if (Objects.isNull(userInfo)) { if (Objects.isNull(userInfo)) {
return new Locale("en"); return new Locale("en");
} }
return new Locale(userInfo.getLanguage()); return new Locale(Language.valueOf(userInfo.getLanguage()).getValue());
} }
private static String getMessageFromResource(String msg, Locale userLocale) { private static String getMessageFromResource(String msg, Locale userLocale) {

View File

@@ -70,8 +70,14 @@ public class AccountController {
@ApiOperation(value = "获取当前用户语言") @ApiOperation(value = "获取当前用户语言")
@PostMapping("/getUserLanguage") @PostMapping("/getUserLanguage")
public Response<String> getUserLanguage() { public Response<Language> getUserLanguage() {
return Response.success(accountService.getUserLanguage()); return Response.success(accountService.getUserLanguage());
} }
@ApiOperation(value = "获取当前用户语言")
@PostMapping("/changeUserLanguage")
public Response<String> changeUserLanguage(String language) {
return Response.success(accountService.changeUserLanguage(language));
}
} }

View File

@@ -91,5 +91,7 @@ public interface AccountService extends IService<Account> {
*/ */
Boolean editUser(AccountEditDTO accountEditDTO); Boolean editUser(AccountEditDTO accountEditDTO);
String getUserLanguage(); Language getUserLanguage();
String changeUserLanguage(String language);
} }

View File

@@ -404,9 +404,18 @@ public class AccountServiceImpl extends ServiceImpl<AccountMapper, Account> impl
} }
@Override @Override
public String getUserLanguage() { public Language getUserLanguage() {
AuthPrincipalVo userInfo = UserContext.getUserHolder(); AuthPrincipalVo userInfo = UserContext.getUserHolder();
// Language language = Language.valueOf(userInfo.getLanguage()); return Language.valueOf(userInfo.getLanguage());
return userInfo.getLanguage(); }
@Override
public String changeUserLanguage(String language) {
AuthPrincipalVo userInfo = UserContext.getUserHolder();
Account account = accountMapper.selectById(userInfo.getId());
account.setLanguage(language);
accountMapper.updateById(account);
String accountToken = createAccountToken(account);
return accountToken;
} }
} }