From 63e1581a5e0038cd25cb9d3ce48ecdec4522341d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=9B=B9=E9=B9=8F=E9=A3=9E?= Date: Tue, 29 Jul 2025 10:01:47 +0800 Subject: [PATCH] =?UTF-8?q?feat:=20bug-528=20app=E7=AB=AF=E6=B7=BB?= =?UTF-8?q?=E5=8A=A0=E7=AE=A1=E7=90=86=E5=8A=9F=E8=83=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../auth/controller/AppController.java | 45 +++++++++---------- .../service/impl/AdminUserServiceImpl.java | 12 ++++- .../service/impl/AppUserServiceImpl.java | 15 +++---- 3 files changed, 39 insertions(+), 33 deletions(-) diff --git a/nflg-mobilebroken-auth/src/main/java/com/nflg/mobilebroken/auth/controller/AppController.java b/nflg-mobilebroken-auth/src/main/java/com/nflg/mobilebroken/auth/controller/AppController.java index 3f82d380..539300bb 100644 --- a/nflg-mobilebroken-auth/src/main/java/com/nflg/mobilebroken/auth/controller/AppController.java +++ b/nflg-mobilebroken-auth/src/main/java/com/nflg/mobilebroken/auth/controller/AppController.java @@ -10,6 +10,7 @@ import com.nflg.mobilebroken.common.pojo.ApiResult; import com.nflg.mobilebroken.common.pojo.vo.AppLoginVO; import com.nflg.mobilebroken.common.pojo.vo.MenuVO; import com.nflg.mobilebroken.common.util.AppUserUtil; +import com.nflg.mobilebroken.common.util.MultilingualUtil; import com.nflg.mobilebroken.common.util.SaTokenAppUtil; import com.nflg.mobilebroken.common.util.VUtils; import com.nflg.mobilebroken.repository.entity.AdminUser; @@ -57,8 +58,25 @@ public class AppController extends ControllerBase { */ @GetMapping("login") public ApiResult login(String userName, String password) { - AppUser user=appUserService.getUser(userName,password); - if (Objects.nonNull(user)) { + AdminUser adminUser =adminUserService.getUser(userName,password); + if (Objects.nonNull(adminUser)){ + VUtils.trueThrow(Objects.equals(adminUser.getState(), UserState.Disabled.getState())) + .throwMessage(STATE.PassportErr, dictionaryItemTranslateService.getValueByCode(Constant.DICTIONARY_SYSTEMERROR, Constant.DICTIONARY_ITEM_ACCOUNT_DISABLED, MultilingualUtil.getLanguage())); + VUtils.trueThrow(Objects.equals(adminUser.getState(), UserState.ToBeActivated.getState())) + .throwMessage(STATE.PassportErr, dictionaryItemTranslateService.getValueByCode(Constant.DICTIONARY_SYSTEMERROR, Constant.DICTIONARY_ITEM_ACCOUNT_HAS_EXPIRED, MultilingualUtil.getLanguage())); + SaTokenAppUtil.login(adminUser.getId(), SaLoginConfig + .setExtra("from", Constant.FROM_ADMIN) + .setExtra("name", adminUser.getUserName()) + .setExtra("email", adminUser.getEmail())); + SaTokenInfo tokenInfo = SaTokenAppUtil.getTokenInfo(); + return ApiResult.success(new AppLoginVO() + .setUserId(adminUser.getId()) + .setToken(tokenInfo.getTokenValue()) + .setExpire(tokenInfo.getTokenTimeout()) + .setLanguageCode(Constant.DEFAULT_LANGUAGE_CODE) + .setPlatform(Constant.FROM_ADMIN)); + }else { + AppUser user=appUserService.getUser(userName,password); VUtils.trueThrow(Objects.equals(user.getState(), UserState.Disabled.getState())) .throwMessage(STATE.PassportErr, dictionaryItemTranslateService.getValueByCode(Constant.DICTIONARY_SYSTEMERROR, Constant.DICTIONARY_ITEM_ACCOUNT_DISABLED, user.getLanguageCode())); VUtils.trueThrow(Objects.equals(user.getState(), UserState.ToBeActivated.getState())) @@ -68,7 +86,7 @@ public class AppController extends ControllerBase { VUtils.trueThrow(user.getExpireTime().isBefore(ChronoLocalDate.from(LocalDateTime.now())) && !user.getIsPrimary()) .throwMessage(STATE.PassportErr, dictionaryItemTranslateService.getValueByCode(Constant.DICTIONARY_SYSTEMERROR, Constant.DICTIONARY_ITEM_ACCOUNT_HAS_EXPIRED, user.getLanguageCode())); SaTokenAppUtil.login(user.getId(), SaLoginConfig - .setExtra("from", "app") + .setExtra("from", Constant.FROM_APP) .setExtra("name", user.getName()) .setExtra("email", user.getEmail()) .setExtra("companyIds", StrUtil.split(user.getCompanyId(), ",").stream().map(Integer::valueOf).collect(Collectors.toList())) @@ -81,26 +99,7 @@ public class AppController extends ControllerBase { .setToken(tokenInfo.getTokenValue()) .setExpire(tokenInfo.getTokenTimeout()) .setLanguageCode(user.getLanguageCode()) - .setPlatform("app")); - }else { - AdminUser adminUser =adminUserService.getUser(userName,password); - VUtils.trueThrow(Objects.isNull(adminUser)) - .throwMessage(STATE.PassportErr, dictionaryItemTranslateService.getValueByCode(Constant.DICTIONARY_SYSTEMERROR, Constant.DICTIONARY_ITEM_INCORRECTUSERNAMEORPASSWORD, Constant.DEFAULT_LANGUAGE_CODE)); - VUtils.trueThrow(Objects.equals(adminUser.getState(), UserState.Disabled.getState())) - .throwMessage(STATE.PassportErr, dictionaryItemTranslateService.getValueByCode(Constant.DICTIONARY_SYSTEMERROR, Constant.DICTIONARY_ITEM_ACCOUNT_DISABLED, Constant.DEFAULT_LANGUAGE_CODE)); - VUtils.trueThrow(Objects.equals(adminUser.getState(), UserState.ToBeActivated.getState())) - .throwMessage(STATE.PassportErr, dictionaryItemTranslateService.getValueByCode(Constant.DICTIONARY_SYSTEMERROR, Constant.DICTIONARY_ITEM_ACCOUNT_HAS_EXPIRED, Constant.DEFAULT_LANGUAGE_CODE)); - SaTokenAppUtil.login(adminUser.getId(), SaLoginConfig - .setExtra("from", "admin") - .setExtra("name", adminUser.getUserName()) - .setExtra("email", adminUser.getEmail())); - SaTokenInfo tokenInfo = SaTokenAppUtil.getTokenInfo(); - return ApiResult.success(new AppLoginVO() - .setUserId(adminUser.getId()) - .setToken(tokenInfo.getTokenValue()) - .setExpire(tokenInfo.getTokenTimeout()) - .setLanguageCode(Constant.DEFAULT_LANGUAGE_CODE) - .setPlatform("admin")); + .setPlatform(Constant.FROM_APP)); } } diff --git a/nflg-mobilebroken-repository/src/main/java/com/nflg/mobilebroken/repository/service/impl/AdminUserServiceImpl.java b/nflg-mobilebroken-repository/src/main/java/com/nflg/mobilebroken/repository/service/impl/AdminUserServiceImpl.java index c96c200e..c8dc251a 100644 --- a/nflg-mobilebroken-repository/src/main/java/com/nflg/mobilebroken/repository/service/impl/AdminUserServiceImpl.java +++ b/nflg-mobilebroken-repository/src/main/java/com/nflg/mobilebroken/repository/service/impl/AdminUserServiceImpl.java @@ -17,6 +17,7 @@ import com.nflg.mobilebroken.common.pojo.vo.AdminUserSimpleVO; import com.nflg.mobilebroken.common.pojo.vo.AdminUserVO; import com.nflg.mobilebroken.common.pojo.vo.RoleSimpleVO; import com.nflg.mobilebroken.common.util.AdminUserUtil; +import com.nflg.mobilebroken.common.util.MultilingualUtil; import com.nflg.mobilebroken.common.util.VUtils; import com.nflg.mobilebroken.repository.entity.*; import com.nflg.mobilebroken.repository.mapper.AdminUserMapper; @@ -64,15 +65,22 @@ public class AdminUserServiceImpl extends ServiceImpl impl @Resource private StringRedisTemplate stringRedisTemplate; + @Resource + private IDictionaryItemTranslateService dictionaryItemTranslateService; + @Override public AppUser getUser(String userName, String password) { AppUser user = lambdaQuery() .eq(AppUser::getIsDel, false) .eq(AppUser::getLoginName, userName) .one(); - if (Objects.nonNull(user) && PASSWORDENCODER.matches(password, user.getPassword())) { - return user; - } - return null; + VUtils.trueThrowBusinessError(Objects.isNull(user) || !PASSWORDENCODER.matches(password, user.getPassword())) + .throwMessage(dictionaryItemTranslateService.getValueByCode(Constant.DICTIONARY_SYSTEMERROR, Constant.DICTIONARY_ITEM_INCORRECTUSERNAMEORPASSWORD, MultilingualUtil.getLanguage())); + return user; } @Override