Browse Source

活动排课

zouxuan 3 years ago
parent
commit
34b43499fd

+ 2 - 0
mec-biz/src/main/java/com/ym/mec/biz/dal/dao/ActivityUserMapperDao.java

@@ -141,4 +141,6 @@ public interface ActivityUserMapperDao extends BaseDAO<Integer, ActivityUserMapp
                                             @Param("classMinutes") Integer classMinutes);
 
     void batchUpdate(@Param("useActivityUserMappers") List<ActivityUserMapper> useActivityUserMappers);
+
+    List<ActivityUserMapper> findByIds(@Param("activityUserMapperIds") String activityUserMapperIds);
 }

+ 37 - 12
mec-biz/src/main/java/com/ym/mec/biz/dal/dto/SurplusCourseFeeDto.java

@@ -2,6 +2,8 @@ package com.ym.mec.biz.dal.dto;
 
 import io.swagger.annotations.ApiModelProperty;
 
+import java.math.BigDecimal;
+
 public class SurplusCourseFeeDto {
 
     @ApiModelProperty(value = "学员编号",required = true)
@@ -13,15 +15,46 @@ public class SurplusCourseFeeDto {
     @ApiModelProperty(value = "课程类型 VIP/PRACTICE",required = true)
     private String groupType;
 
-    private Integer activityUserMapperId;
+    @ApiModelProperty(value = "可退课程费用",required = true)
+    private BigDecimal actualPrice;
+
+    @ApiModelProperty(value = "可退未排课费用",required = true)
+    private BigDecimal coursePrice;
+
+    @ApiModelProperty(value = "课程组编号",required = true)
+    private String name;
+
+    private String activityUserMapperId;
+
+    public BigDecimal getActualPrice() {
+        return actualPrice;
+    }
+
+    public void setActualPrice(BigDecimal actualPrice) {
+        this.actualPrice = actualPrice;
+    }
+
+    public BigDecimal getCoursePrice() {
+        return coursePrice;
+    }
+
+    public void setCoursePrice(BigDecimal coursePrice) {
+        this.coursePrice = coursePrice;
+    }
+
+    public String getName() {
+        return name;
+    }
 
-    private String ignoreGroupId;
+    public void setName(String name) {
+        this.name = name;
+    }
 
-    public Integer getActivityUserMapperId() {
+    public String getActivityUserMapperId() {
         return activityUserMapperId;
     }
 
-    public void setActivityUserMapperId(Integer activityUserMapperId) {
+    public void setActivityUserMapperId(String activityUserMapperId) {
         this.activityUserMapperId = activityUserMapperId;
     }
 
@@ -48,12 +81,4 @@ public class SurplusCourseFeeDto {
     public void setGroupType(String groupType) {
         this.groupType = groupType;
     }
-
-    public String getIgnoreGroupId() {
-        return ignoreGroupId;
-    }
-
-    public void setIgnoreGroupId(String ignoreGroupId) {
-        this.ignoreGroupId = ignoreGroupId;
-    }
 }

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

@@ -198,4 +198,6 @@ public interface ActivityUserMapperService extends BaseService<Integer, Activity
     * @date 2022/7/26 10:42
     */
     HttpResponseResult createActivityPracticeGroup(PracticeGroupApplyDto practiceGroupApplyDto);
+
+    List<ActivityUserMapper> findByIds(String activityUserMapperIds);
 }

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

@@ -335,7 +335,7 @@ public interface VipGroupService extends BaseService<Long, VipGroup> {
     * @author zx
     * @date 2022/7/28 09:45
     */
-    Map<String,BigDecimal> getStudentSurplusCourseFee1(SurplusCourseFeeDto feeDto);
+    List<SurplusCourseFeeDto> getStudentSurplusCourseFee1(SurplusCourseFeeDto feeDto);
 
     /**
      * @Author: Joburgess

+ 5 - 0
mec-biz/src/main/java/com/ym/mec/biz/service/impl/ActivityUserMapperServiceImpl.java

@@ -1023,4 +1023,9 @@ public class ActivityUserMapperServiceImpl extends BaseServiceImpl<Integer, Acti
 		return BaseController.succeed(applyBaseInfo.getAuditStatus().getCode());
     }
 
+    @Override
+    public List<ActivityUserMapper> findByIds(String activityUserMapperIds) {
+        return activityUserMapperDao.findByIds(activityUserMapperIds);
+    }
+
 }

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

@@ -3643,13 +3643,9 @@ public class VipGroupServiceImpl extends BaseServiceImpl<Long, VipGroup> impleme
     }
 
     @Override
-    public Map<String, BigDecimal> getStudentSurplusCourseFee1(SurplusCourseFeeDto feeDto) {
+    public List<SurplusCourseFeeDto> getStudentSurplusCourseFee1(SurplusCourseFeeDto feeDto) {
         //获取所有关联的课程组
-        List<SurplusCourseFeeDto> surplusCourseFeeDtos = courseScheduleStudentPaymentDao.getAllAssociatedCourseGroups(feeDto);
-        //计算课程组剩余课程价值
-        //计算活动剩余未排课价值
-
-        return null;
+        return courseScheduleStudentPaymentDao.getAllAssociatedCourseGroups(feeDto);
     }
 
     @Transactional(rollbackFor = Exception.class)

+ 3 - 0
mec-biz/src/main/resources/config/mybatis/ActivityUserMapperMapper.xml

@@ -563,4 +563,7 @@
 			AND aum.give_category_id_ IS NULL
 		</if>
 	</select>
+	<select id="findByIds" resultMap="ActivityUserMapper">
+		SELECT * FROM activity_user_mapper aum WHERE FIND_IN_SET(aum.id_,#{activityUserMapperIds})
+	</select>
 </mapper>

+ 18 - 7
mec-biz/src/main/resources/config/mybatis/CourseScheduleStudentPaymentMapper.xml

@@ -1087,14 +1087,25 @@
 		<result property="studentId" column="user_id_"/>
 		<result property="groupType" column="group_type_"/>
 		<result property="groupId" column="group_id_"/>
+		<result property="actualPrice" column="actual_price_"/>
+		<result property="coursePrice" column="course_price_"/>
+		<result property="name" column="name_"/>
+		<result property="activityUserMapperId" column="activity_user_mapper_id_"/>
 	</resultMap>
 	<select id="getAllAssociatedCourseGroups" resultMap="SurplusCourseFeeDto">
-		select cssp.group_type_,cssp.music_group_id_,#{feeDto.studentId} user_id_ from
-		(select group_type_,music_group_id_ from course_schedule_student_payment
-		where activity_user_mapper_id_ IN (select distinct activity_user_mapper_id_
-		from course_schedule_student_payment
-		where music_group_id_ = #{feeDto.groupId} and group_type_ = #{feeDto.groupType} and user_id_ = #{feeDto.studentId}) group by group_type_,music_group_id_) aum
-		LEFT JOIN course_schedule_student_payment cssp ON aum.music_group_id_ = cssp.music_group_id_ and aum.group_type_ = cssp.group_type_
-		group by cssp.group_type_,cssp.music_group_id_
+		SELECT cssp.group_type_,cssp.music_group_id_ group_id_,GROUP_CONCAT(DISTINCT cssp.activity_user_mapper_id_) activity_user_mapper_id_,
+		SUM(CASE WHEN cs.status_ = 'NOT_START' THEN am.actual_price_ ELSE 0 END) actual_price_,SUM(am.sub_no_course_price_) course_price_,
+		CASE WHEN vg.id_ IS NULL THEN pg.name_ ELSE vg.name_ END name_
+		FROM (SELECT group_type_,music_group_id_ FROM course_schedule_student_payment
+		WHERE activity_user_mapper_id_ IN (SELECT DISTINCT activity_user_mapper_id_
+		FROM course_schedule_student_payment
+		WHERE music_group_id_ = #{feeDto.groupId} AND group_type_ = #{feeDto.groupType} AND user_id_ = #{feeDto.studentId}) GROUP BY group_type_,music_group_id_) aum
+		LEFT JOIN course_schedule_student_payment cssp ON aum.music_group_id_ = cssp.music_group_id_ AND aum.group_type_ = cssp.group_type_
+		LEFT JOIN course_schedule cs ON cs.id_ = cssp.course_schedule_id_
+		LEFT JOIN activity_user_mapper am ON am.id_ = cssp.activity_user_mapper_id_
+		LEFT JOIN vip_group vg ON vg.id_ = cssp.music_group_id_ AND cssp.group_type_ = 'VIP'
+		LEFT JOIN practice_group pg on pg.id_ = cssp.music_group_id_ AND cssp.group_type_ = 'PRACTICE'
+		WHERE am.return_fee_ = 0 AND cssp.user_id_ = #{feeDto.studentId}
+		GROUP BY cssp.group_type_,cssp.music_group_id_
 	</select>
 </mapper>

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

@@ -418,7 +418,7 @@ public class VipGroupManageController extends BaseController {
 
 //    @ApiOperation(value = "获取学生指定vip课的剩余课时费用")
 //    @PostMapping(value = "/getStudentSurplusCourseFee")
-//    public Object getStudentSurplusCourseFee(@RequestBody SurplusCourseFeeDto feeDto){
+//    public HttpResponseResult<List<SurplusCourseFeeDto>> getStudentSurplusCourseFee(@RequestBody SurplusCourseFeeDto feeDto){
 //        return succeed(vipGroupService.getStudentSurplusCourseFee1(feeDto));
 //    }
 }