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.response.ResultEnum;
import com.ai.da.model.enums.Language;
import com.ai.da.model.vo.AuthPrincipalVo;
import lombok.Data;
@@ -49,7 +50,7 @@ public class BusinessException extends RuntimeException {
if (Objects.isNull(userInfo)) {
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) {

View File

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

View File

@@ -404,9 +404,18 @@ public class AccountServiceImpl extends ServiceImpl<AccountMapper, Account> impl
}
@Override
public String getUserLanguage() {
public Language getUserLanguage() {
AuthPrincipalVo userInfo = UserContext.getUserHolder();
// Language language = Language.valueOf(userInfo.getLanguage());
return userInfo.getLanguage();
return Language.valueOf(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;
}
}