Browse Source

组织部分

xda 3 years ago
parent
commit
08a86a05d2

+ 1 - 1
src/main/java/com/winhc/repal/controller/RepalBookController.java

@@ -50,7 +50,7 @@ public class RepalBookController {
     }
     }
 
 
     @ApiOperation("用户查看账本列表和count")
     @ApiOperation("用户查看账本列表和count")
-    @RequestMapping(value = "/group")
+    @RequestMapping(value = "/group", method = RequestMethod.GET)
     public BeanResponse<List<RepalBookInfoVO>> getRepalBookInfoList() {
     public BeanResponse<List<RepalBookInfoVO>> getRepalBookInfoList() {
         return BeanResponse.success(CodeMsg.SUCCESS, repalBookService.getRepalBookInfoList());
         return BeanResponse.success(CodeMsg.SUCCESS, repalBookService.getRepalBookInfoList());
     }
     }

+ 35 - 0
src/main/java/com/winhc/repal/controller/RepalGroupController.java

@@ -0,0 +1,35 @@
+package com.winhc.repal.controller;
+
+import com.winhc.common.base.BeanResponse;
+import com.winhc.common.enums.CodeMsg;
+import com.winhc.repal.model.dto.InitGroupDTO;
+import com.winhc.repal.service.RepalGroupService;
+import io.swagger.annotations.Api;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.RequestBody;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RequestMethod;
+import org.springframework.web.bind.annotation.RestController;
+
+/**
+ * @Description: RepalGroupController
+ * @Author: xda
+ * @Date: 2022/5/6 13:34
+ */
+@Api(tags = "汇款宝组织")
+@RestController
+@RequestMapping(value = "/group")
+public class RepalGroupController {
+
+    @Autowired
+    private RepalGroupService repalGroupService;
+
+
+    @RequestMapping(value = "/init", method = RequestMethod.POST)
+    public BeanResponse<Boolean> initGroup(@RequestBody InitGroupDTO dto) {
+        return BeanResponse.success(CodeMsg.SUCCESS, repalGroupService.initGroup(dto));
+    }
+
+
+
+}

+ 1 - 1
src/main/java/com/winhc/repal/entity/RepalGroupMember.java

@@ -51,7 +51,7 @@ public class RepalGroupMember implements Serializable {
 
 
     @ApiModelProperty(value = "角色id")
     @ApiModelProperty(value = "角色id")
     @TableField("ROLE_ID")
     @TableField("ROLE_ID")
-    private Integer roleId;
+    private Long roleId;
 
 
     @ApiModelProperty(value = "是否删除,1删除。0否")
     @ApiModelProperty(value = "是否删除,1删除。0否")
     @TableField("DELETED")
     @TableField("DELETED")

+ 33 - 0
src/main/java/com/winhc/repal/enums/RoleTypeEnum.java

@@ -0,0 +1,33 @@
+package com.winhc.repal.enums;
+
+/**
+ * @Description: RoleTypeEnum
+ * @Author: xda
+ * @Date: 2022/5/6 14:30
+ */
+public enum RoleTypeEnum {
+
+
+    /**
+     *  角色类型
+     */
+    SYSTEM(1, "系统角色"),
+    CUSTOMER(2, "自定义角色");
+
+    private final Integer code;
+
+    private final String desc;
+
+    RoleTypeEnum(Integer code, String desc) {
+        this.code = code;
+        this.desc = desc;
+    }
+
+    public Integer getCode() {
+        return code;
+    }
+
+    public String getDesc() {
+        return desc;
+    }
+}

+ 21 - 0
src/main/java/com/winhc/repal/model/dto/InitGroupDTO.java

@@ -0,0 +1,21 @@
+package com.winhc.repal.model.dto;
+
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+/**
+ * @Description: InitGroupDTO
+ * @Author: xda
+ * @Date: 2022/5/6 13:43
+ */
+@Data
+@ApiModel("初始化组织")
+public class InitGroupDTO {
+
+    @ApiModelProperty("用户id")
+    private Long userId;
+
+    @ApiModelProperty("组织name")
+    private String groupName;
+}

+ 13 - 0
src/main/java/com/winhc/repal/service/RepalGroupMemberService.java

@@ -2,6 +2,7 @@ package com.winhc.repal.service;
 
 
 import com.baomidou.mybatisplus.extension.service.IService;
 import com.baomidou.mybatisplus.extension.service.IService;
 import com.winhc.repal.entity.RepalGroupMember;
 import com.winhc.repal.entity.RepalGroupMember;
+import sun.rmi.runtime.Log;
 
 
 
 
 /**
 /**
@@ -20,4 +21,16 @@ public interface RepalGroupMemberService extends IService<RepalGroupMember> {
      */
      */
     Long getUserGroupId(Long userId);
     Long getUserGroupId(Long userId);
 
 
+    /**
+     * 添加组织成员
+     * @param userId userId
+     * @param groupId groupId
+     * @param roleId roleId
+     * @param roleType roleType
+     * @return java.lang.Boolean
+     * @author xda
+     * @date 2022/5/6 14:25
+     */
+    Boolean addGroupMember(Long userId, Long groupId, Long roleId, Integer roleType);
+
 }
 }

+ 10 - 0
src/main/java/com/winhc/repal/service/RepalGroupService.java

@@ -2,6 +2,7 @@ package com.winhc.repal.service;
 
 
 import com.baomidou.mybatisplus.extension.service.IService;
 import com.baomidou.mybatisplus.extension.service.IService;
 import com.winhc.repal.entity.RepalGroup;
 import com.winhc.repal.entity.RepalGroup;
+import com.winhc.repal.model.dto.InitGroupDTO;
 
 
 
 
 /**
 /**
@@ -12,4 +13,13 @@ import com.winhc.repal.entity.RepalGroup;
 public interface RepalGroupService extends IService<RepalGroup> {
 public interface RepalGroupService extends IService<RepalGroup> {
 
 
 
 
+    /**
+     * 初始化组织
+     * @param dto dto
+     * @return java.lang.Boolean
+     * @author xda
+     * @date 2022/5/6 13:44
+     */
+    Boolean initGroup(InitGroupDTO dto);
+
 }
 }

+ 18 - 0
src/main/java/com/winhc/repal/service/impl/RepalGroupMemberServiceImpl.java

@@ -5,9 +5,12 @@ import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.winhc.common.enums.CodeMsg;
 import com.winhc.common.enums.CodeMsg;
 import com.winhc.common.exception.CommonException;
 import com.winhc.common.exception.CommonException;
 import com.winhc.repal.entity.RepalGroupMember;
 import com.winhc.repal.entity.RepalGroupMember;
+import com.winhc.repal.entity.UserExt;
 import com.winhc.repal.enums.DeletedStatusEnum;
 import com.winhc.repal.enums.DeletedStatusEnum;
 import com.winhc.repal.repository.RepalGroupMemberMapper;
 import com.winhc.repal.repository.RepalGroupMemberMapper;
 import com.winhc.repal.service.RepalGroupMemberService;
 import com.winhc.repal.service.RepalGroupMemberService;
+import com.winhc.repal.service.UserExtService;
+import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 import org.springframework.stereotype.Service;
 
 
 import java.util.Objects;
 import java.util.Objects;
@@ -20,6 +23,8 @@ import java.util.Objects;
 @Service
 @Service
 public class RepalGroupMemberServiceImpl extends ServiceImpl<RepalGroupMemberMapper, RepalGroupMember> implements RepalGroupMemberService {
 public class RepalGroupMemberServiceImpl extends ServiceImpl<RepalGroupMemberMapper, RepalGroupMember> implements RepalGroupMemberService {
 
 
+    @Autowired
+    private UserExtService userExtService;
 
 
     @Override
     @Override
     public Long getUserGroupId(Long userId) {
     public Long getUserGroupId(Long userId) {
@@ -31,4 +36,17 @@ public class RepalGroupMemberServiceImpl extends ServiceImpl<RepalGroupMemberMap
         }
         }
         return repalGroupMember.getRepalGroupId();
         return repalGroupMember.getRepalGroupId();
     }
     }
+
+    @Override
+    public Boolean addGroupMember(Long userId, Long groupId, Long roleId, Integer roleType) {
+        UserExt userExt = userExtService.getById(userId);
+        RepalGroupMember member = new RepalGroupMember();
+        member.setRepalGroupId(groupId);
+        member.setMemberUserName(userExt.getUserName());
+        member.setUserId(userId);
+        member.setRoleId(roleId);
+        member.setRoleType(roleType);
+        this.save(member);
+        return true;
+    }
 }
 }

+ 26 - 0
src/main/java/com/winhc/repal/service/impl/RepalGroupServiceImpl.java

@@ -1,10 +1,19 @@
 package com.winhc.repal.service.impl;
 package com.winhc.repal.service.impl;
 
 
+import com.baomidou.mybatisplus.core.toolkit.Wrappers;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.winhc.repal.entity.RepalGroup;
 import com.winhc.repal.entity.RepalGroup;
+import com.winhc.repal.enums.DeletedStatusEnum;
+import com.winhc.repal.enums.RoleTypeEnum;
+import com.winhc.repal.model.dto.InitGroupDTO;
 import com.winhc.repal.repository.RepalGroupMapper;
 import com.winhc.repal.repository.RepalGroupMapper;
+import com.winhc.repal.service.RepalGroupMemberService;
 import com.winhc.repal.service.RepalGroupService;
 import com.winhc.repal.service.RepalGroupService;
+import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.Transactional;
+
+import java.util.Objects;
 
 
 /**
 /**
  * @description RepalGroup 接口实现类
  * @description RepalGroup 接口实现类
@@ -14,5 +23,22 @@ import org.springframework.stereotype.Service;
 @Service
 @Service
 public class RepalGroupServiceImpl extends ServiceImpl<RepalGroupMapper, RepalGroup> implements RepalGroupService {
 public class RepalGroupServiceImpl extends ServiceImpl<RepalGroupMapper, RepalGroup> implements RepalGroupService {
 
 
+    @Autowired
+    private RepalGroupMemberService repalGroupMemberService;
 
 
+    @Override
+    @Transactional(rollbackFor = Exception.class)
+    public Boolean initGroup(InitGroupDTO dto) {
+        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());
+            this.save(repalGroup);
+            repalGroupMemberService.addGroupMember(dto.getUserId(), repalGroup.getId(), 1L, RoleTypeEnum.SYSTEM.getCode());
+        }
+        return true;
+    }
 }
 }