TASK: 语言;
This commit is contained in:
@@ -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) {
|
||||
|
||||
@@ -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));
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -91,5 +91,7 @@ public interface AccountService extends IService<Account> {
|
||||
*/
|
||||
Boolean editUser(AccountEditDTO accountEditDTO);
|
||||
|
||||
String getUserLanguage();
|
||||
Language getUserLanguage();
|
||||
|
||||
String changeUserLanguage(String language);
|
||||
}
|
||||
|
||||
@@ -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;
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user