浏览代码

增加部分角色管理接口

xda 2 年之前
父节点
当前提交
37f083ef17

+ 8 - 0
src/main/java/com/winhc/repal/controller/RepalMemberController.java

@@ -2,6 +2,7 @@ package com.winhc.repal.controller;
 
 import com.winhc.common.base.BeanResponse;
 import com.winhc.common.enums.CodeMsg;
+import com.winhc.repal.model.dto.AddGroupMemberDTO;
 import com.winhc.repal.model.dto.UpdateMemberRoleDTO;
 import com.winhc.repal.model.vo.GroupRoleMemberVO;
 import com.winhc.repal.service.RepalGroupMemberService;
@@ -39,4 +40,11 @@ public class RepalMemberController {
     public BeanResponse<Boolean> updateMemberRole(@RequestBody UpdateMemberRoleDTO dto) {
         return BeanResponse.success(CodeMsg.SUCCESS, repalGroupMemberService.updateMemberRole(dto));
     }
+
+    @ApiOperation("添加成员")
+    @RequestMapping(value = "/add")
+    public BeanResponse<Boolean> addGroupMember(@RequestBody AddGroupMemberDTO dto) {
+        return BeanResponse.success(CodeMsg.SUCCESS, repalGroupMemberService.addGroupMember(dto));
+    }
+
 }

+ 6 - 0
src/main/java/com/winhc/repal/controller/RepalRoleController.java

@@ -5,6 +5,7 @@ import com.winhc.common.enums.CodeMsg;
 import com.winhc.repal.annotation.RolePermission;
 import com.winhc.repal.enums.PermissionEnum;
 import com.winhc.repal.model.dto.MemberRoleDTO;
+import com.winhc.repal.model.dto.UpdateRolePermissionDTO;
 import com.winhc.repal.model.vo.GroupRoleVO;
 import com.winhc.repal.model.vo.RolePermissionVO;
 import com.winhc.repal.service.RepalGroupRoleService;
@@ -57,5 +58,10 @@ public class RepalRoleController {
         return BeanResponse.success(CodeMsg.SUCCESS, repalGroupRoleService.getPermissionList(roleId));
     }
 
+    @ApiOperation("修改角色的权限")
+    @RequestMapping(value = "/update", method = RequestMethod.POST)
+    public BeanResponse<Boolean> updateRolePermission(@RequestBody UpdateRolePermissionDTO dto) {
+        return BeanResponse.success(CodeMsg.SUCCESS, repalGroupRoleService.updateRolePermission(dto));
+    }
 
 }

+ 24 - 0
src/main/java/com/winhc/repal/model/dto/AddGroupMemberDTO.java

@@ -0,0 +1,24 @@
+package com.winhc.repal.model.dto;
+
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+
+/**
+ * @Description: AddGroupMemberDTO
+ * @Author: xda
+ * @Date: 2022/5/11 16:10
+ */
+@Data
+@ApiModel("添加组织成员")
+public class AddGroupMemberDTO {
+
+    @ApiModelProperty("openId")
+    private String openId;
+
+
+    @ApiModelProperty("角色id")
+    private Long roleId;
+}
+

+ 23 - 0
src/main/java/com/winhc/repal/model/dto/UpdateRolePermissionDTO.java

@@ -0,0 +1,23 @@
+package com.winhc.repal.model.dto;
+
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import java.util.List;
+
+/**
+ * @Description: UpdateRolePermission
+ * @Author: xda
+ * @Date: 2022/5/11 18:22
+ */
+@Data
+@ApiModel("修改角色权限dto")
+public class UpdateRolePermissionDTO {
+
+    @ApiModelProperty("角色id")
+    private Long roleId;
+
+    @ApiModelProperty("权限编码list")
+    private List<String> codeList;
+}

+ 3 - 0
src/main/java/com/winhc/repal/model/vo/RepalBillPageVO.java

@@ -59,5 +59,8 @@ public class RepalBillPageVO {
     @ApiModelProperty(value = "负责人name,、分隔")
     private String responsiblePersonNames;
 
+    @ApiModelProperty(value = "账款类型。1应收2应付")
+    private Integer repalBillType;
+
 
 }

+ 11 - 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.winhc.repal.entity.RepalGroupMember;
+import com.winhc.repal.model.dto.AddGroupMemberDTO;
 import com.winhc.repal.model.dto.UpdateMemberRoleDTO;
 import com.winhc.repal.model.vo.GroupRoleMemberVO;
 
@@ -75,4 +76,14 @@ public interface RepalGroupMemberService extends IService<RepalGroupMember> {
     Boolean updateMemberRole(UpdateMemberRoleDTO dto);
 
 
+    /**
+     * 添加组织成员
+     * @param dto dto
+     * @return java.lang.Boolean
+     * @author xda
+     * @date 2022/5/11 16:24
+     */
+    Boolean addGroupMember(AddGroupMemberDTO dto);
+
+
 }

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

@@ -3,6 +3,7 @@ package com.winhc.repal.service;
 import com.baomidou.mybatisplus.extension.service.IService;
 import com.winhc.repal.entity.RepalGroupRole;
 import com.winhc.repal.model.dto.MemberRoleDTO;
+import com.winhc.repal.model.dto.UpdateRolePermissionDTO;
 import com.winhc.repal.model.vo.GroupRoleVO;
 import com.winhc.repal.model.vo.RolePermissionVO;
 
@@ -61,4 +62,13 @@ public interface RepalGroupRoleService extends IService<RepalGroupRole> {
      */
     Boolean deleteRoleById(Long roleId);
 
+    /**
+     * 修改角色权限
+     * @param dto dto 
+     * @return java.lang.Boolean
+     * @author xda
+     * @date 2022/5/11 18:24 
+     */
+    Boolean updateRolePermission(UpdateRolePermissionDTO dto);
+
 }

+ 34 - 1
src/main/java/com/winhc/repal/service/impl/RepalGroupMemberServiceImpl.java

@@ -10,6 +10,8 @@ import com.winhc.repal.entity.RepalGroupRole;
 import com.winhc.repal.entity.UserExt;
 import com.winhc.repal.enums.DeletedStatusEnum;
 import com.winhc.repal.enums.RepalBillTypeEnum;
+import com.winhc.repal.enums.RoleTypeEnum;
+import com.winhc.repal.model.dto.AddGroupMemberDTO;
 import com.winhc.repal.model.dto.UpdateMemberRoleDTO;
 import com.winhc.repal.model.vo.GroupRoleMemberVO;
 import com.winhc.repal.repository.RepalGroupMemberMapper;
@@ -19,6 +21,7 @@ import com.winhc.repal.service.UserExtService;
 import com.winhc.repal.util.UserContextUtil;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.Transactional;
 
 import java.util.*;
 import java.util.stream.Collectors;
@@ -113,10 +116,40 @@ public class RepalGroupMemberServiceImpl extends ServiceImpl<RepalGroupMemberMap
     }
 
     @Override
+    @Transactional(rollbackFor = Exception.class)
     public Boolean updateMemberRole(UpdateMemberRoleDTO dto) {
+        long groupId = this.getUserGroupId(UserContextUtil.getUser().getUserId());
+        RepalGroupRole role = repalGroupRoleService.getById(dto.getRoleId());
+        if (Objects.isNull(role)) {
+            throw new CommonException(CodeMsg.FAILED, "角色错误");
+        }
+        if (RoleTypeEnum.CUSTOMER.getCode().equals(role.getRoleType()) && !role.getRepalGroupId().equals(groupId)) {
+            throw new CommonException(CodeMsg.FAILED, "组织角色错误");
+        }
+        this.update(Wrappers.lambdaUpdate(RepalGroupMember.class)
+                .eq(RepalGroupMember::getRepalGroupId, groupId)
+                .eq(RepalGroupMember::getUserId, dto.getUserId())
+                .set(RepalGroupMember::getRoleId, dto.getRoleId()));
+        return true;
+    }
 
 
-
+    @Override
+    public Boolean addGroupMember(AddGroupMemberDTO dto) {
+        RepalGroupRole role = repalGroupRoleService.getById(dto.getRoleId());
+        if (Objects.isNull(role)) {
+            throw new CommonException(CodeMsg.FAILED, "角色错误");
+        }
+        long userId = UserContextUtil.getUser().getUserId();
+        long groupId = this.getUserGroupId(userId);
+        RepalGroupMember repalGroupMember = new RepalGroupMember();
+        // todo login注册
+        //repalGroupMember.setUserId();
+        repalGroupMember.setRepalGroupId(groupId);
+        //repalGroupMember.setMemberUserName(login);
+        repalGroupMember.setRoleType(role.getRoleType());
+        repalGroupMember.setRoleId(role.getId());
+        this.save(repalGroupMember);
         return true;
     }
 }

+ 9 - 0
src/main/java/com/winhc/repal/service/impl/RepalGroupRoleServiceImpl.java

@@ -11,6 +11,7 @@ import com.winhc.repal.entity.RepalRolePermission;
 import com.winhc.repal.enums.DeletedStatusEnum;
 import com.winhc.repal.enums.RoleTypeEnum;
 import com.winhc.repal.model.dto.MemberRoleDTO;
+import com.winhc.repal.model.dto.UpdateRolePermissionDTO;
 import com.winhc.repal.model.vo.GroupRoleVO;
 import com.winhc.repal.model.vo.RolePermissionVO;
 import com.winhc.repal.repository.RepalGroupRoleMapper;
@@ -117,4 +118,12 @@ public class RepalGroupRoleServiceImpl extends ServiceImpl<RepalGroupRoleMapper,
                 .set(RepalGroupRole::getDeleted, DeletedStatusEnum.DELETE.getCode()));
         return true;
     }
+
+    @Override
+    @Transactional(rollbackFor = Exception.class)
+    public Boolean updateRolePermission(UpdateRolePermissionDTO dto) {
+        // todo
+        // 取差集
+        return true;
+    }
 }

+ 4 - 0
src/main/java/com/winhc/repal/util/RepalBillStatusUtil.java

@@ -3,6 +3,7 @@ package com.winhc.repal.util;
 import com.winhc.repal.enums.RepalBillStatusEnum;
 
 import java.time.LocalDate;
+import java.util.Objects;
 
 /**
  * @Description: RepalBillStatusUtil
@@ -20,6 +21,9 @@ public class RepalBillStatusUtil {
      * @date 2022/4/15 14:11
      */
     public static Integer getRepalBillStatus(LocalDate endDate) {
+        if (Objects.isNull(endDate)) {
+            return RepalBillStatusEnum.PROGRESSING.getCode();
+        }
         if (LocalDate.now().compareTo(endDate) ==0 || LocalDate.now().isAfter(endDate)) {
             return RepalBillStatusEnum.OVERDUE.getCode();
         }

+ 1 - 1
src/main/resources/mapper/RepalBookMapper.xml

@@ -8,7 +8,7 @@
         <if test="!receivableFlag or !receiptFlag">
             LEFT JOIN REPAL_RESPONSIBLE_PERSON AS rPerson ON bill.ID = rPerson.REPAL_BILL_ID
         </if>
-        WHERE book.REPAL_GROUP_ID = #{repalGroupId}
+        WHERE book.REPAL_GROUP_ID = #{repalGroupId} AND book.DELETED = 0
         <if test="!receivableFlag or !receiptFlag">
             <if test="!receivableFlag">
                 AND ((bill.REPAL_BILL_TYPE = 1 AND rPerson.USER_ID = #{userId}) or (book.USER_ID = #{userId}))