Kaynağa Gözat

feat:乐理课

Joburgess 4 yıl önce
ebeveyn
işleme
23e2e98a8d

+ 22 - 0
mec-biz/src/main/java/com/ym/mec/biz/dal/dto/VipGroupStudentDto.java

@@ -38,6 +38,28 @@ public class VipGroupStudentDto {
 
     private Integer studentStatus;
 
+    /** 线上课单价 */
+    private java.math.BigDecimal onlineClassesUnitPrice;
+
+    /** 线下课单价 */
+    private java.math.BigDecimal offlineClassesUnitPrice;
+
+    public BigDecimal getOnlineClassesUnitPrice() {
+        return onlineClassesUnitPrice;
+    }
+
+    public void setOnlineClassesUnitPrice(BigDecimal onlineClassesUnitPrice) {
+        this.onlineClassesUnitPrice = onlineClassesUnitPrice;
+    }
+
+    public BigDecimal getOfflineClassesUnitPrice() {
+        return offlineClassesUnitPrice;
+    }
+
+    public void setOfflineClassesUnitPrice(BigDecimal offlineClassesUnitPrice) {
+        this.offlineClassesUnitPrice = offlineClassesUnitPrice;
+    }
+
     public BigDecimal getBalance() {
         return balance;
     }

+ 1 - 1
mec-biz/src/main/java/com/ym/mec/biz/dal/entity/CourseScheduleStudentPayment.java

@@ -55,7 +55,7 @@ public class CourseScheduleStudentPayment implements Comparable<CourseScheduleSt
 
 	private String examSongDownloadJson;
 
-	private Boolean beMerged = false;
+	private Boolean beMerged;
 
 	public Boolean getBeMerged() {
 		return beMerged;

+ 11 - 1
mec-biz/src/main/java/com/ym/mec/biz/dal/entity/TeacherDefaultVipGroupSalary.java

@@ -22,6 +22,8 @@ public class TeacherDefaultVipGroupSalary {
 	/** 课程类型 */
 	@ApiModelProperty(value = "课程类型名称(1v1,1v2)", required = false)
 	private String vipGroupCategoryName;
+
+	private Boolean musicTheory;
 	
 	/** 线上课薪酬 */
 	@ApiModelProperty(value = "线上课薪酬", required = false)
@@ -100,7 +102,15 @@ public class TeacherDefaultVipGroupSalary {
 	public java.util.Date getUpdateTime(){
 		return this.updateTime;
 	}
-			
+
+	public Boolean getMusicTheory() {
+		return musicTheory;
+	}
+
+	public void setMusicTheory(Boolean musicTheory) {
+		this.musicTheory = musicTheory;
+	}
+
 	@Override
 	public String toString() {
 		return ToStringBuilder.reflectionToString(this);

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

@@ -5353,9 +5353,10 @@ public class CourseScheduleServiceImpl extends BaseServiceImpl<Long, CourseSched
 		}
 		courseScheduleDao.batchUpdate(mergeCourses);
 
-//		if(!CollectionUtils.isEmpty(updatePayments)){
-//			courseScheduleStudentPaymentDao.batchUpdate(updatePayments);
-//		}
+		if(!CollectionUtils.isEmpty(courseScheduleStudentPayments)){
+			courseScheduleStudentPayments.forEach(c->c.setBeMerged(false));
+			courseScheduleStudentPaymentDao.batchUpdate(courseScheduleStudentPayments);
+		}
 		if(!CollectionUtils.isEmpty(newPayments))
 			courseScheduleStudentPaymentDao.batchInsert(newPayments);
 

+ 24 - 9
mec-biz/src/main/java/com/ym/mec/biz/service/impl/VipGroupServiceImpl.java

@@ -326,14 +326,18 @@ public class VipGroupServiceImpl extends BaseServiceImpl<Long, VipGroup> impleme
         if(Objects.isNull(vipGroupDefaultClassesUnitPrice)){
             vipGroupApplyBaseInfoDto.setAuditStatus(AuditStatusEnum.ING);
         }else{
-            if(Objects.nonNull(vipGroupApplyBaseInfoDto.getOfflineClassesUnitPrice())
-                    &&vipGroupApplyBaseInfoDto.getOfflineClassesUnitPrice().compareTo(vipGroupDefaultClassesUnitPrice.getOfflineClassesUnitPrice())!=0){
-                vipGroupApplyBaseInfoDto.setAuditStatus(AuditStatusEnum.ING);
-            }
-            if(Objects.nonNull(vipGroupApplyBaseInfoDto.getOnlineClassesUnitPrice())
-                    &&vipGroupApplyBaseInfoDto.getOnlineClassesUnitPrice().compareTo(vipGroupDefaultClassesUnitPrice.getOnlineClassesUnitPrice())!=0){
-                vipGroupApplyBaseInfoDto.setAuditStatus(AuditStatusEnum.ING);
-            }
+			for (VipGroupStudentCoursePrice vscp : vscps) {
+				if(Objects.nonNull(vscp.getOfflineClassesUnitPrice())
+						&&vscp.getOfflineClassesUnitPrice().compareTo(vipGroupDefaultClassesUnitPrice.getOfflineClassesUnitPrice())!=0){
+					vipGroupApplyBaseInfoDto.setAuditStatus(AuditStatusEnum.ING);
+					break;
+				}
+				if(Objects.nonNull(vscp.getOnlineClassesUnitPrice())
+						&&vscp.getOnlineClassesUnitPrice().compareTo(vipGroupDefaultClassesUnitPrice.getOnlineClassesUnitPrice())!=0){
+					vipGroupApplyBaseInfoDto.setAuditStatus(AuditStatusEnum.ING);
+					break;
+				}
+			}
         }
 
         if(vipGroup.getOnlyProgress()){
@@ -791,12 +795,23 @@ public class VipGroupServiceImpl extends BaseServiceImpl<Long, VipGroup> impleme
 		Map<String, Object> params = new HashMap<String, Object>();
 		MapUtil.populateMap(params, queryInfo);
 
-		List dataList = null;
+		List<VipGroupStudentDto> dataList = null;
 		int count = vipGroupDao.countHaveCourseBalanceStudentNum(params);
 		if (count > 0) {
 			pageInfo.setTotal(count);
 			params.put("offset", pageInfo.getOffset());
 			dataList = vipGroupDao.findHaveCourseBalanceStudents(params);
+
+			List<VipGroupStudentCoursePrice> vipGroupStudentCoursePrices = vipGroupStudentCoursePriceDao.getVipGroupStudentCoursePrice(queryInfo.getVipGroupId(), null);
+			Map<Integer, VipGroupStudentCoursePrice> userPriceMap = vipGroupStudentCoursePrices.stream().collect(Collectors.toMap(VipGroupStudentCoursePrice::getStudentId, v -> v, (v1, v2) -> v1));
+			for (VipGroupStudentDto vipGroupStudentDto : dataList) {
+				if(!userPriceMap.containsKey(vipGroupStudentDto.getId())){
+					continue;
+				}
+				VipGroupStudentCoursePrice vipGroupStudentCoursePrice = userPriceMap.get(vipGroupStudentDto.getId());
+				vipGroupStudentDto.setOnlineClassesUnitPrice(vipGroupStudentCoursePrice.getOnlineClassesUnitPrice());
+				vipGroupStudentDto.setOfflineClassesUnitPrice(vipGroupStudentCoursePrice.getOfflineClassesUnitPrice());
+			}
 		}
 		if (count == 0) {
 			dataList = new ArrayList<>();

+ 2 - 1
mec-biz/src/main/resources/config/mybatis/TeacherDefaultVipGroupSalaryMapper.xml

@@ -11,6 +11,7 @@
         <result column="user_id_" property="userId"/>
         <result column="vip_group_category_id_" property="vipGroupCategoryId"/>
         <result column="vip_group_category_name_" property="vipGroupCategoryName"/>
+        <result column="music_theory_" property="musicTheory"/>
         <result column="online_classes_salary_" property="onlineClassesSalary"/>
         <result column="offline_classes_salary_" property="offlineClassesSalary"/>
         <result column="create_time_" property="createTime"/>
@@ -75,7 +76,7 @@
 
     <!-- 分页查询 -->
     <select id="queryPage" resultMap="TeacherDefaultVipGroupSalary" parameterType="map">
-        SELECT tdvgs.*,vgc.name_ vip_group_category_name_ FROM teacher_default_vip_group_salary tdvgs
+        SELECT tdvgs.*,vgc.name_ vip_group_category_name_,vgc.music_theory_ FROM teacher_default_vip_group_salary tdvgs
         LEFT JOIN  vip_group_category vgc ON tdvgs.vip_group_category_id_ = vgc.id_
         <where>
             <if test="search != null and search != ''">