xda преди 2 години
родител
ревизия
05c3b0ff2f
променени са 1 файла, в които са добавени 8 реда и са изтрити 4 реда
  1. 8 4
      src/main/java/com/winhc/repal/service/impl/RepalGroupServiceImpl.java

+ 8 - 4
src/main/java/com/winhc/repal/service/impl/RepalGroupServiceImpl.java

@@ -9,6 +9,7 @@ import com.winhc.repal.constant.Constant;
 import com.winhc.repal.entity.*;
 import com.winhc.repal.enums.DeletedStatusEnum;
 import com.winhc.repal.enums.RoleTypeEnum;
+import com.winhc.repal.model.bo.UserContextBO;
 import com.winhc.repal.model.dto.InitGroupDTO;
 import com.winhc.repal.model.dto.MemberRoleDTO;
 import com.winhc.repal.model.dto.PageDTO;
@@ -59,6 +60,7 @@ public class RepalGroupServiceImpl extends ServiceImpl<RepalGroupMapper, RepalGr
     @Transactional(rollbackFor = Exception.class)
     public Boolean initGroup(InitGroupDTO dto) {
         UserExt userExt = userExtService.getById(dto.getUserId());
+        UserContextUtil.saveUser(new UserContextBO(dto.getUserId(), "", ""));
         // member判断
         if (repalGroupMemberService.count(Wrappers.lambdaQuery(RepalGroupMember.class)
                 .eq(RepalGroupMember::getUserId, dto.getUserId())
@@ -66,21 +68,22 @@ public class RepalGroupServiceImpl extends ServiceImpl<RepalGroupMapper, RepalGr
             LOGGER.info("已经属于组织成员了, userId:[{}]", dto.getUserId());
             return true;
         }
-
         RepalGroup repalGroup = this.getOne(Wrappers.lambdaQuery(RepalGroup.class)
                 .eq(RepalGroup::getUserId, dto.getUserId())
                 .eq(RepalGroup::getDeleted, DeletedStatusEnum.NORMAL.getCode()));
         if (Objects.isNull(repalGroup)) {
+            // 先初始化组织
             repalGroup = new RepalGroup();
             repalGroup.setGroupName(dto.getGroupName());
             repalGroup.setUserId(dto.getUserId());
             repalGroup.setGroupExt(dto.getGroupExt());
             this.save(repalGroup);
+            repalGroupMemberService.addGroupMember(dto.getUserId(), userExt.getUserName(), repalGroup.getId(), 1L, RoleTypeEnum.SYSTEM.getCode());
             // 初始化4个角色
             for (int i = 0; i < Constant.INIT_ROLE_NAME_LIST.size(); i++) {
                 MemberRoleDTO memberRoleDTO = new MemberRoleDTO();
                 memberRoleDTO.setRoleName(Constant.INIT_ROLE_NAME_LIST.get(i));
-                memberRoleDTO.setPermissionCodeList(Constant.INIT_ROLE_LIST.get(i + 1));
+                memberRoleDTO.setPermissionCodeList(Constant.INIT_ROLE_LIST.get(i));
                 repalGroupRoleService.addRole(memberRoleDTO);
             }
             // 组织初始化时初始化一个账本
@@ -89,9 +92,10 @@ public class RepalGroupServiceImpl extends ServiceImpl<RepalGroupMapper, RepalGr
             repalBook.setRepalBookName(dto.getGroupName());
             repalBook.setUserId(dto.getUserId());
             repalBookService.save(repalBook);
+        } else {
+            // 直接添加到管理员
+            repalGroupMemberService.addGroupMember(dto.getUserId(), userExt.getUserName(), repalGroup.getId(), 1L, RoleTypeEnum.SYSTEM.getCode());
         }
-        // 添加到管理员
-        repalGroupMemberService.addGroupMember(dto.getUserId(), userExt.getUserName(), repalGroup.getId(), 1L, RoleTypeEnum.SYSTEM.getCode());
         return true;
     }