lyhzzz il y a 1 an
Parent
commit
e4c5848756

+ 1 - 1
src/main/java/com/fdkankan/manage/controller/LoginController.java

@@ -26,7 +26,7 @@ public class LoginController extends BaseController {
     @PostMapping("/login")
     public ResultData login(@RequestBody ManageLoginRequest param) {
         String clientIP = ServletUtil.getClientIP(request);
-        return ResultData.ok(manageService.login(clientIP,param.getUserName(),param.getPassword()));
+        return ResultData.ok(manageService.login(clientIP,param.getUserName(),param.getPassword(),false));
     }
     /**
      * 登出

+ 61 - 0
src/main/java/com/fdkankan/manage/controller/inner/InnerAPIController.java

@@ -208,4 +208,65 @@ public class InnerAPIController extends BaseController {
 
         return ResultData.ok(PageInfo.PageInfo(page));
     }
+
+    @PostMapping("/getAuthSceneList")
+    public ResultData getAuthSceneList(@RequestBody SceneParam param){
+        if(StringUtils.isBlank(param.getRyId()) && StringUtils.isBlank(param.getRyNo())){
+            throw new BusinessException(ResultCode.MISSING_REQUIRED_PARAMETERS);
+        }
+        JyUser jyUser = null;
+        if(StringUtils.isNotBlank(param.getRyId()) ){
+            jyUser = jyUserService.getByRyId(param.getRyId());
+            if(jyUser == null){
+                throw new BusinessException(ResultCode.JY_ID_NO_EXIST);
+            }
+        }
+        if(StringUtils.isNotBlank(param.getRyNo()) ){
+            jyUser = jyUserService.getByRyNo(param.getRyNo());
+            if(jyUser == null){
+                throw new BusinessException(ResultCode.JY_ID_NO_EXIST);
+            }
+        }
+        if(jyUser == null){
+            throw new BusinessException(ResultCode.JY_ID_NO_EXIST);
+        }
+
+        UserShareParam shareParam = new UserShareParam();
+        shareParam.setJyUserId(Math.toIntExact(jyUser.getUserId()));
+        shareParam.setPageNum(param.getPageNum());
+        shareParam.setPageSize(param.getPageSize());
+        Page<UserShareSceneVo> page= jyUserShareService.sceneList(shareParam);
+        List<String> numList = page.getRecords().stream().map(UserShareSceneVo::getNum).collect(Collectors.toList());
+        HashMap<String, JySceneAuth> authMap = jySceneAuthService.getByNumList(numList);
+        HashMap<String, List<JySceneUserAuth>> userSceneAuthMap = jySceneUserAuthService.getByNumList(numList);
+        HashSet<Integer> userIds = new HashSet<>();
+        for (String key : userSceneAuthMap.keySet()) {
+            List<JySceneUserAuth> userAuths = userSceneAuthMap.get(key);
+            for (JySceneUserAuth userAuth : userAuths) {
+                userIds.add(userAuth.getJyUserId());
+            }
+        }
+        HashMap<Integer, JyUser> userHashMap = jyUserService.getByIds(new ArrayList<>(userIds));
+
+        for (UserShareSceneVo record : page.getRecords()) {
+            JySceneAuth jySceneAuth = authMap.get(record.getNum());
+            if(jySceneAuth != null){
+                record.setAuthType(jySceneAuth.getAuthType());
+                List<JySceneUserAuth> userAuths = userSceneAuthMap.get(record.getNum()+"_"+jySceneAuth.getAuthType());
+                if(userAuths != null && !userAuths.isEmpty()){
+                    for (JySceneUserAuth userAuth : userAuths) {
+                        JyUser jyUser1 = userHashMap.get(userAuth.getJyUserId());
+                        if(jyUser1 != null){
+                            userAuth.setRyId(jyUser1.getRyId());
+                            userAuth.setRyNo(jyUser1.getRyNo());
+                            userAuth.setRyNickName(jyUser1.getRyNickName());
+                        }
+                    }
+                    record.setAuthList(userAuths);
+                }
+            }
+        }
+
+        return ResultData.ok(PageInfo.PageInfo(page));
+    }
 }

+ 1 - 1
src/main/java/com/fdkankan/manage/service/impl/JySceneUserAuthServiceImpl.java

@@ -358,7 +358,7 @@ public class JySceneUserAuthServiceImpl extends ServiceImpl<IJySceneUserAuthMapp
             sysUserId = result.getId();
         }
         if(StringUtils.isNotBlank(userName) && StringUtils.isNotBlank(password)){
-            ManageLoginResponse login = manageService.login(clientIP, userName, password);
+            ManageLoginResponse login = manageService.login(clientIP, userName, password,true);
             sysUserId = login.getId();
         }
 

+ 6 - 2
src/main/java/com/fdkankan/manage/service/impl/ManageService.java

@@ -35,7 +35,7 @@ public class ManageService {
     RedisUtil redisUtil;
 
 
-    public ManageLoginResponse login(String ip,String userName, String password) {
+    public ManageLoginResponse login(String ip,String userName, String password,Boolean flag) {
 
         this.checkLoginNum(ip,userName);
 
@@ -43,7 +43,11 @@ public class ManageService {
             throw new BusinessException(ResultCode.MISSING_REQUIRED_PARAMETERS);
         }
         //对前端传的密码解密
-        String passwordMd5 = SecurityUtil.MD52(Base64Converter.decode(Base64Converter.subText(password)));
+        String decode = password;
+        if(!flag){
+             decode = Base64Converter.decode(Base64Converter.subText(password));
+        }
+        String passwordMd5 = SecurityUtil.MD52(decode);
         ManageLoginResponse result = sysUserService.getUserByUserNameAndPassword(userName, passwordMd5);
         if(result == null){
             this.addLoginErrorNum(ip,userName);