Jelajahi Sumber

账户停用子账户关联

WXF 2 tahun lalu
induk
melakukan
bd497c9e7d

+ 1 - 1
simulation-resource-server/src/main/java/com/css/simulation/resource/system/mapper/UserMapper.java

@@ -39,6 +39,6 @@ public interface UserMapper {
 
     void savePassword(UserPO userPO);
 
-    int getSubUserNum(@Param("createUserId") String createUserId);
+    List<UserPO> getSubUser(@Param("createUserId") String createUserId);
 
 }

+ 19 - 2
simulation-resource-server/src/main/java/com/css/simulation/resource/system/service/UserService.java

@@ -91,8 +91,12 @@ public class UserService {
             if(ObjectUtil.isNull(userPO.getId())){
                 ParameterVO parameter = parameterService.getParameterByUserId();
                 int num = parameter.getNumCreateUser();//最大用户数
+                int subUserNum = 0;
                 String userId = AuthUtil.getCurrentUserId();
-                int subUserNum = userMapper.getSubUserNum(userId);
+                List<UserPO> subUsers = userMapper.getSubUser(userId);
+                if(ObjectUtil.isNotNull(subUsers)){
+                    subUserNum = subUsers.size();
+                }
                 if(subUserNum >= num ){
                     userPO.setId("subUserNum");
                     return userPO;
@@ -140,7 +144,20 @@ public class UserService {
         userMapper.saveVisible(userPO);
         if("1".equals(userPO.getVisible())){
             logService.logUser(LogConstants.SYS_LOG_USER_START,userPO);
-        }else{
+        }else{//停用
+            UserVO userInfo = userMapper.getUserInfo(userPO.getId());
+            String roleCode = userInfo.getRoleCode();
+            if(DictConstants.ROLE_CODE_UESR.equals(roleCode)){//停用普通用户时-停用子账户
+                List<UserPO> subUsers = userMapper.getSubUser(userPO.getId());
+                if(ObjectUtil.isNotNull(subUsers)){
+                    subUsers.forEach(po->{
+                        PoUtil.initUpdatePo(po);
+                        po.setVisible("0");
+                        userMapper.saveVisible(po);
+                    });
+                }
+            }
+            //只记录普通账户日志
             logService.logUser(LogConstants.SYS_LOG_USER_STOP,userPO);
         }
 

+ 2 - 2
simulation-resource-server/src/main/resources/mapper/system/UserMapper.xml

@@ -190,8 +190,8 @@
         where id = #{id,jdbcType=VARCHAR}
     </update>
 
-    <select id="getSubUserNum" parameterType="java.lang.String" resultType="java.lang.Integer">
-        select count(1) from system_user
+    <select id="getSubUser" parameterType="java.lang.String" resultType="api.common.pojo.po.system.UserPO">
+        select * from system_user
         where is_deleted = '0' AND create_user_id = #{createUserId,jdbcType=VARCHAR};
     </select>
 </mapper>