Browse Source

Merge branch 'feature/1022_vip' of http://git.dayaedu.com/yonge/mec into test

zouxuan 1 year ago
parent
commit
7bb4db5c93

+ 1 - 1
mec-application/src/main/java/com/ym/mec/web/controller/ExportController.java

@@ -1195,7 +1195,7 @@ public class ExportController extends BaseController {
                     "实际专业", "联系电话", "学员缴费状态", "乐器购买方式", "缴费中/审核中", "是否购买学练宝"}, new String[]{
                     "studentName", "parentsName", "currentGrade", "currentClass", "gender.description",
                     "isAllowAdjust.msg", "subjectName", "actualSubjectName", "parentsPhone", "paymentStatus.desc",
-                    "kitGroupPurchaseTypeEnum.msg", "payingStatusStr", "hasCloudTeacher==1'有':'没有'"}, studentApplyDetail);
+                    "kitGroupPurchaseTypeEnum.msg", "payingStatusStr", "hasCloudTeacher==1?'有':'没有'"}, studentApplyDetail);
             response.setContentType("application/octet-stream");
             response.setHeader("Content-Disposition", "attachment;filename=lender-" + DateUtil.getDate(new Date()) + ".xls");
 

+ 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);
 }

+ 6 - 48
mec-biz/src/main/java/com/ym/mec/biz/dal/dto/MemberPayParamDto.java

@@ -2,9 +2,12 @@ package com.ym.mec.biz.dal.dto;
 
 import com.ym.mec.biz.dal.enums.PeriodEnum;
 import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
 
 import java.io.Serializable;
 
+
+@Data
 public class MemberPayParamDto extends PayParamBasicDto implements Serializable {
 
     @ApiModelProperty(value = "用于后台创建的团练宝订单购买",required = false)
@@ -13,6 +16,9 @@ public class MemberPayParamDto extends PayParamBasicDto implements Serializable
     @ApiModelProperty(value = "购买数量",required = false)
     private Integer val;
 
+    @ApiModelProperty(value = "会员编号",required = false)
+    private Integer memberRankId;
+
     //如果isRepeatPay = true 则需要传入订单号
     private String orderNo;
 
@@ -26,52 +32,4 @@ public class MemberPayParamDto extends PayParamBasicDto implements Serializable
     //商品编号
     @ApiModelProperty(value = "直播间商品编号(用于直播间商品购买,目前只支持1和2,1代表免费的云课堂,2代表云教练(送网管课))",required = false)
     private Integer liveGoodsId;
-
-    public String getLiveId() {
-        return liveId;
-    }
-
-    public void setLiveId(String liveId) {
-        this.liveId = liveId;
-    }
-
-    public Integer getLiveGoodsId() {
-        return liveGoodsId;
-    }
-
-    public void setLiveGoodsId(Integer liveGoodsId) {
-        this.liveGoodsId = liveGoodsId;
-    }
-
-    public PeriodEnum getPeriodEnum() {
-        return periodEnum;
-    }
-
-    public void setPeriodEnum(PeriodEnum periodEnum) {
-        this.periodEnum = periodEnum;
-    }
-
-    public Long getPaymentId() {
-        return paymentId;
-    }
-
-    public void setPaymentId(Long paymentId) {
-        this.paymentId = paymentId;
-    }
-
-    public Integer getVal() {
-        return val;
-    }
-
-    public void setVal(Integer val) {
-        this.val = val;
-    }
-
-    public String getOrderNo() {
-        return orderNo;
-    }
-
-    public void setOrderNo(String orderNo) {
-        this.orderNo = orderNo;
-    }
 }

+ 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);

+ 1 - 1
mec-biz/src/main/java/com/ym/mec/biz/service/CloudTeacherOrderService.java

@@ -33,7 +33,7 @@ public interface CloudTeacherOrderService extends BaseService<Long, CloudTeacher
      * @param order
      * @return
      */
-    void addOrderDetail2CloudTeacher(StudentPaymentOrder order, BigDecimal cloudTeacherFee,List<MusicGroupPaymentCalenderMember> calenderMembers);
+    void addOrderDetail2CloudTeacher(StudentPaymentOrder order, Map<Integer,BigDecimal> cloudTeacherFee,List<MusicGroupPaymentCalenderMember> calenderMembers);
 
     /**
     * @description: 激活团练宝

+ 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);
 }

+ 4 - 3
mec-biz/src/main/java/com/ym/mec/biz/service/impl/CloudTeacherOrderServiceImpl.java

@@ -328,7 +328,7 @@ public class CloudTeacherOrderServiceImpl extends BaseServiceImpl<Long, CloudTea
 
     @Override
     @Transactional(rollbackFor = Exception.class)
-    public void addOrderDetail2CloudTeacher(StudentPaymentOrder order, BigDecimal cloudTeacherFee,List<MusicGroupPaymentCalenderMember> calenderMembers) {
+    public void addOrderDetail2CloudTeacher(StudentPaymentOrder order, Map<Integer,BigDecimal> cloudTeacherFee,List<MusicGroupPaymentCalenderMember> calenderMembers) {
         for (MusicGroupPaymentCalenderMember calenderMember : calenderMembers) {
             CloudTeacherOrder cloudTeacherOrder = new CloudTeacherOrder();
             cloudTeacherOrder.setTenantId(order.getTenantId());
@@ -337,11 +337,12 @@ public class CloudTeacherOrderServiceImpl extends BaseServiceImpl<Long, CloudTea
             cloudTeacherOrder.setLevel(calenderMember.getMemberRankSettingId());
             cloudTeacherOrder.setTime(calenderMember.getNum().intValue());
             cloudTeacherOrder.setType(calenderMember.getPeriod());
-            cloudTeacherOrder.setAmount(cloudTeacherFee);
+            BigDecimal decimal = cloudTeacherFee.get(calenderMember.getMemberRankSettingId());
+            cloudTeacherOrder.setAmount(decimal);
             cloudTeacherOrder.setStudentId(order.getUserId());
             cloudTeacherOrder.setStatus(1);
             cloudTeacherOrder.setMusicGroupId(order.getMusicGroupId());
-            cloudTeacherOrder.setOperatingAmount(calenderMember.getIncome().compareTo(BigDecimal.ZERO) == 0?cloudTeacherFee:calenderMember.getIncome());
+            cloudTeacherOrder.setOperatingAmount(calenderMember.getIncome().compareTo(BigDecimal.ZERO) == 0?decimal:calenderMember.getIncome());
             //保存云教练订单
             this.save(cloudTeacherOrder,calenderMember.getAutoActivationFlag());
         }

+ 25 - 4
mec-biz/src/main/java/com/ym/mec/biz/service/impl/MemberRankSettingServiceImpl.java

@@ -339,7 +339,7 @@ public class MemberRankSettingServiceImpl extends BaseServiceImpl<Integer, Membe
             }
         }
         //获取团练宝价格
-        BigDecimal actualAmount = memberFeeSettingService.getAmount(sysUser.getOrganId(),1,
+        BigDecimal actualAmount = memberFeeSettingService.getAmount(sysUser.getOrganId(),memberPayParamDto.getMemberRankId(),
                 memberPayParamDto.getPeriodEnum(),new BigDecimal(1),
                 MemberFeeSettingServiceImpl::getCurrentFee);
         //优惠券使用范围
@@ -354,7 +354,7 @@ public class MemberRankSettingServiceImpl extends BaseServiceImpl<Integer, Membe
         //生成团练宝订单
         CloudTeacherOrder cloudTeacherOrder = new CloudTeacherOrder();
         cloudTeacherOrder.setOrderId(studentPaymentOrder.getId());
-        cloudTeacherOrder.setLevel(1);
+        cloudTeacherOrder.setLevel(memberPayParamDto.getMemberRankId());
         cloudTeacherOrder.setStatus(0);
         cloudTeacherOrder.setType(memberPayParamDto.getPeriodEnum());
         cloudTeacherOrder.setTime(1);
@@ -1086,7 +1086,7 @@ public class MemberRankSettingServiceImpl extends BaseServiceImpl<Integer, Membe
     public List<MemberRankSettingWrapper.MemberRankSetting> queryPage2(MemberRankSettingWrapper.MemberRankSettingQuery queryInfo) {
         Map<String, Object> params = new HashMap<String, Object>();
         MapUtil.populateMap(params, queryInfo);
-        List<MemberRankSetting>   dataList = this.getDAO().queryPage(params);
+        List<MemberRankSetting> dataList = this.getDAO().queryPage(params);
         if (CollectionUtils.isEmpty(dataList)) {
             return new ArrayList<>();
         }
@@ -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;
+    }
 }

+ 6 - 6
mec-biz/src/main/java/com/ym/mec/biz/service/impl/StudentPaymentOrderDetailServiceImpl.java

@@ -761,9 +761,9 @@ public class StudentPaymentOrderDetailServiceImpl extends BaseServiceImpl<Long,
                     }
                 }
             }
-            BigDecimal cloudTeacherFee = memberDetailList.stream()
-                    .map(o -> o.getPrice().subtract(o.getRemitFee() == null ? BigDecimal.ZERO : o.getRemitFee()))
-                    .reduce(BigDecimal.ZERO, BigDecimal::add);
+            Map<Integer,BigDecimal> cloudTeacherFee = memberDetailList.stream()
+                    .collect(Collectors.toMap(e->e.getStudentInstrumentId().intValue(),
+                            o -> o.getPrice().subtract(o.getRemitFee() == null ? BigDecimal.ZERO : o.getRemitFee())));
             cloudTeacherOrderService.addOrderDetail2CloudTeacher(studentPaymentOrder, cloudTeacherFee,calenderMembers);
         }
     }
@@ -864,9 +864,9 @@ public class StudentPaymentOrderDetailServiceImpl extends BaseServiceImpl<Long,
                     }
                 }
             }
-            BigDecimal cloudTeacherFee = memberDetailList.stream()
-                    .map(o -> o.getPrice().subtract(o.getRemitFee() == null ? BigDecimal.ZERO : o.getRemitFee()))
-                    .reduce(BigDecimal.ZERO, BigDecimal::add);
+            Map<Integer,BigDecimal> cloudTeacherFee = memberDetailList.stream()
+                    .collect(Collectors.toMap(e->e.getStudentInstrumentId().intValue(),
+                            o -> o.getPrice().subtract(o.getRemitFee() == null ? BigDecimal.ZERO : o.getRemitFee())));
             cloudTeacherOrderService.addOrderDetail2CloudTeacher(studentPaymentOrder, cloudTeacherFee,calenderMembers);
         }
     }

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

@@ -580,7 +580,7 @@ public class StudentRegistrationServiceImpl extends BaseServiceImpl<Long, Studen
                 
 				if (!(type == OrderDetailTypeEnum.ACCESSORIES && (isGiveAccessories && buyCloudTeacher))) {
 
-	                if (studentRegistration.getOrganId() == 55 && (CollectionUtils.isEmpty(newCourses)) && !buyCloudTeacher) {
+	                if (studentRegistration.getOrganId() == 55 && musicGroup.getCourseViewType() == CourseViewTypeEnum.MEMBER_FEE && !buyCloudTeacher) {
 	                    //取商品零售价
 	                    if (StringUtils.isNotBlank(goodsGroup.getGoodsIdList())) {
 	                        List<Goods> goodsList = goodsDao.findGoodsByIds(goodsGroup.getGoodsIdList());

+ 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>