浏览代码

会员拆分

zouxuan 9 月之前
父节点
当前提交
45193a1cb7

+ 5 - 6
mec-application/src/main/java/com/ym/mec/web/controller/MemberRankSettingController.java

@@ -1,5 +1,6 @@
 package com.ym.mec.web.controller;
 
+import com.ym.mec.biz.dal.entity.MemberRankSetting;
 import com.ym.mec.biz.dal.wrapper.MemberRankSettingWrapper;
 import com.ym.mec.biz.service.MemberRankSettingService;
 import com.ym.mec.biz.service.SysUserService;
@@ -80,12 +81,10 @@ public class MemberRankSettingController extends BaseController {
     }
 
     @ApiOperation(value = "获取所有会员列表")
-    @GetMapping("/findAll")
-    @PreAuthorize("@pcs.hasPermissions('memberRankSetting/findAll')")
-    public Object findAll(Boolean isDefault) {
-        HashMap<String, Object> map = new HashMap<>();
-        map.put("isDefault",isDefault);
-        return succeed(memberRankSettingService.findAll(map));
+    @PostMapping("/findByOrganIds")
+    @PreAuthorize("@pcs.hasPermissions('memberRankSetting/findByOrganIds')")
+    public HttpResponseResult<List<MemberRankSetting>> findAll(@RequestBody List<Integer> organIds) {
+        return succeed(memberRankSettingService.findByOrganIds(organIds));
     }
 
     @ApiOperation(value = "获取可用的会员树状列表")

+ 3 - 0
mec-biz/src/main/java/com/ym/mec/biz/dal/dao/MemberRankOrganizationFeeMapperDao.java

@@ -14,4 +14,7 @@ public interface MemberRankOrganizationFeeMapperDao extends BaseDAO<Integer, Mem
     List<MemberRankOrganizationFeeMapper> queryByOrganId(@Param("organId") Integer organId);
 
     List<MemberRankOrganizationFeeMapper> queryByOrganIds(@Param("orgIds") List<Integer> orgIds);
+
+    //取交集
+    List<Integer> intersectOrganId(@Param("organIdList") List<Integer> organIdList, @Param("num") Integer num);
 }

+ 5 - 128
mec-biz/src/main/java/com/ym/mec/biz/dal/entity/MemberRankSetting.java

@@ -1,5 +1,7 @@
 package com.ym.mec.biz.dal.entity;
 
+import com.ym.mec.biz.dal.wrapper.MemberRankSettingWrapper;
+import lombok.Data;
 import org.apache.commons.lang3.builder.ToStringBuilder;
 
 import java.util.List;
@@ -7,6 +9,7 @@ import java.util.List;
 /**
  * 对应数据库表(member_rank_setting):
  */
+@Data
 public class MemberRankSetting {
 
 	/**  */
@@ -37,6 +40,8 @@ public class MemberRankSetting {
 
 	/**  */
 	private List<Integer> memberPrivilegesItemIdList;
+
+	private List<MemberRankSetting> children;
 	
 	private List<MemberPrivilegesItem> memberPrivilegesItemList;
 	
@@ -50,134 +55,6 @@ public class MemberRankSetting {
 	
 	private MemberFeeSetting memberFeeSetting;
 
-    public Boolean getDelFlag() {
-        return delFlag;
-    }
-
-    public void setDelFlag(Boolean delFlag) {
-        this.delFlag = delFlag;
-    }
-
-    public Integer getParentId() {
-        return parentId;
-    }
-
-    public void setParentId(Integer parentId) {
-        this.parentId = parentId;
-    }
-
-    public String getExperienceIcon() {
-		return experienceIcon;
-	}
-
-	public void setExperienceIcon(String experienceIcon) {
-		this.experienceIcon = experienceIcon;
-	}
-
-	public Integer getOperator() {
-		return operator;
-	}
-
-	public void setOperator(Integer operator) {
-		this.operator = operator;
-	}
-
-	public String getOperatorName() {
-		return operatorName;
-	}
-
-	public void setOperatorName(String operatorName) {
-		this.operatorName = operatorName;
-	}
-
-	public List<MemberRankPrivileges> getMemberRankPrivileges() {
-		return memberRankPrivileges;
-	}
-
-	public void setMemberRankPrivileges(List<MemberRankPrivileges> memberRankPrivileges) {
-		this.memberRankPrivileges = memberRankPrivileges;
-	}
-
-	public void setId(Integer id){
-		this.id = id;
-	}
-	
-	public Integer getId(){
-		return this.id;
-	}
-			
-	public void setName(String name){
-		this.name = name;
-	}
-	
-	public String getName(){
-		return this.name;
-	}
-			
-	public void setIntro(String intro){
-		this.intro = intro;
-	}
-	
-	public String getIntro(){
-		return this.intro;
-	}
-			
-	public void setIcon(String icon){
-		this.icon = icon;
-	}
-	
-	public String getIcon(){
-		return this.icon;
-	}
-
-	public Boolean getIsDefault() {
-		return isDefault;
-	}
-
-	public void setIsDefault(Boolean isDefault) {
-		this.isDefault = isDefault;
-	}
-
-	public List<Integer> getMemberPrivilegesItemIdList() {
-		return memberPrivilegesItemIdList;
-	}
-
-	public void setMemberPrivilegesItemIdList(List<Integer> memberPrivilegesItemIdList) {
-		this.memberPrivilegesItemIdList = memberPrivilegesItemIdList;
-	}
-
-	public List<MemberPrivilegesItem> getMemberPrivilegesItemList() {
-		return memberPrivilegesItemList;
-	}
-
-	public void setMemberPrivilegesItemList(List<MemberPrivilegesItem> memberPrivilegesItemList) {
-		this.memberPrivilegesItemList = memberPrivilegesItemList;
-	}
-
-	public void setCreateTime(java.util.Date createTime){
-		this.createTime = createTime;
-	}
-	
-	public java.util.Date getCreateTime(){
-		return this.createTime;
-	}
-			
-	public void setUpdateTime(java.util.Date updateTime){
-		this.updateTime = updateTime;
-	}
-	
-	public java.util.Date getUpdateTime(){
-		return this.updateTime;
-	}
-
-	public MemberFeeSetting getMemberFeeSetting() {
-		return memberFeeSetting;
-	}
-
-	public void setMemberFeeSetting(MemberFeeSetting memberFeeSetting) {
-		this.memberFeeSetting = memberFeeSetting;
-	}
-
 	@Override
 	public String toString() {
 		return ToStringBuilder.reflectionToString(this);

+ 2 - 0
mec-biz/src/main/java/com/ym/mec/biz/service/MemberRankSettingService.java

@@ -69,4 +69,6 @@ public interface MemberRankSettingService extends BaseService<Integer, MemberRan
 
     //获取单个会员名称
     String queryMemberName(Integer memberRankId);
+
+    List<MemberRankSetting> findByOrganIds(List<Integer> organIds);
 }

+ 22 - 1
mec-biz/src/main/java/com/ym/mec/biz/service/impl/MemberRankSettingServiceImpl.java

@@ -1240,7 +1240,7 @@ public class MemberRankSettingServiceImpl extends BaseServiceImpl<Integer, Membe
                 throw new BizException("参数错误");
             }
         }
-        //获取分部可用会员编号
+        //获取机构可用会员编号
         List<MemberRankOrganizationFeeMapper> feeMappers = memberRankOrganizationFeeMapperDao.queryByOrganId(organId);
         if (CollectionUtils.isEmpty(feeMappers)) {
             return Lists.newArrayList();
@@ -1270,4 +1270,25 @@ public class MemberRankSettingServiceImpl extends BaseServiceImpl<Integer, Membe
         }
         return memberRankSetting.getName();
     }
+
+    @Override
+    public List<MemberRankSetting> findByOrganIds(List<Integer> organIds) {
+        //获取所选有交集的会员编号
+        List<Integer> memberIds = memberRankOrganizationFeeMapperDao.intersectOrganId(organIds,organIds.size());
+        if (CollectionUtils.isEmpty(memberIds)) {
+            return Lists.newArrayList();
+        }
+        //获取树状结构,包含父级
+        List<MemberRankSetting> memberRankSettings = memberRankSettingDao.getNotDelByIds(memberIds);
+        if (CollectionUtils.isEmpty(memberRankSettings)) {
+            return Lists.newArrayList();
+        }
+        //获取所有父级
+        List<Integer> parentIds = memberRankSettings.stream().map(MemberRankSetting::getParentId).collect(Collectors.toList());
+        List<MemberRankSetting> parentSettings = memberRankSettingDao.getNotDelByIds(parentIds);
+        //将子集塞到父级
+        Map<Integer, List<MemberRankSetting>> childrenMap = memberRankSettings.stream().collect(Collectors.groupingBy(MemberRankSetting::getParentId));
+        parentSettings.forEach(e -> e.setChildren(childrenMap.get(e.getId())));
+        return parentSettings;
+    }
 }

+ 10 - 0
mec-biz/src/main/resources/config/mybatis/MemberRankOrganizationFeeMapperMapper.xml

@@ -130,4 +130,14 @@
             #{organId}
         </foreach>
     </select>
+	<select id="intersectOrganId" resultType="java.lang.Integer">
+		SELECT member_rank_setting_id_
+		FROM member_rank_organization_fee_mapper
+		WHERE organ_id_ IN
+		<foreach collection="organIdList" item="organId" open="(" close=")" separator=",">
+			#{organId}
+		</foreach>
+		GROUP BY member_rank_setting_id_
+		HAVING COUNT(DISTINCT organ_id_) = #{num}
+	</select>
 </mapper>