Procházet zdrojové kódy

add 储备中进行中可以报名缴费

周箭河 před 4 roky
rodič
revize
28b21c7cf1

+ 11 - 0
mec-biz/src/main/java/com/ym/mec/biz/dal/dao/CourseScheduleDao.java

@@ -1786,6 +1786,7 @@ public interface CourseScheduleDao extends BaseDAO<Long, CourseSchedule> {
 
     /**
      * 获取还有剩余课程的学员
+     *
      * @param userIds
      * @param groupType
      * @return
@@ -1793,12 +1794,22 @@ public interface CourseScheduleDao extends BaseDAO<Long, CourseSchedule> {
     List<Integer> findHasCourseStudent(@Param("userIds") List<Integer> userIds, @Param("groupType") String groupType);
 
     List<CourseSchedule> queryByCourseScheduleIds(Map<String, Object> params);
+
     int countByCourseScheduleIds(Map<String, Object> params);
 
     /**
      * 获取乐团已开始的课程数
+     *
      * @param musicGroupId
      * @return
      */
     Integer getMusicGroupHasStartCourseNum(@Param("musicGroupId") String musicGroupId);
+
+    /**
+     * 获取多乐团已开始的课程数
+     *
+     * @param musicGroupId
+     * @return
+     */
+    List<CourseSchedule> getMusicGroupsHasStartCourseNum(@Param("ids") List<String> ids);
 }

+ 16 - 0
mec-biz/src/main/java/com/ym/mec/biz/dal/dao/MusicGroupPaymentCalenderDao.java

@@ -317,8 +317,24 @@ public interface MusicGroupPaymentCalenderDao extends BaseDAO<Long, MusicGroupPa
 
     /**
      * 获取乐团缴费项的批次数
+     *
      * @param musicGroupId
      * @return
      */
     List<Integer> getMusicGroupCalenderBatchNoTimes(@Param("musicGroupId") String musicGroupId);
+
+    /**
+     * 获取多乐团的报名缴费项
+     *
+     * @return
+     */
+    List<MusicGroupPaymentCalender> getMusicGroupRegCalenderByIds(@Param("ids") List<String> ids);
+
+
+    /**
+     * 获取多乐团缴费项的批次数
+     *
+     * @return
+     */
+    List<MusicGroupPaymentCalender> getMusicGroupCalenderBatchNoByIds(@Param("ids") List<String> ids);
 }

+ 2 - 2
mec-biz/src/main/java/com/ym/mec/biz/dal/entity/MusicGroup.java

@@ -584,11 +584,11 @@ public class MusicGroup {
 		this.courseViewType = courseViewType;
 	}
 
-	public Boolean getRemedy() {
+	public Boolean getIsRemedy() {
 		return isRemedy;
 	}
 
-	public void setRemedy(Boolean remedy) {
+	public void setIsRemedy(Boolean remedy) {
 		isRemedy = remedy;
 	}
 }

+ 6 - 0
mec-biz/src/main/java/com/ym/mec/biz/service/StudentRegistrationService.java

@@ -358,4 +358,10 @@ public interface StudentRegistrationService extends BaseService<Long, StudentReg
      */
     String checkRegOrPayStatus(String musicGroupId);
 
+    /**
+     * 检查多乐团是否能报名或缴费
+     * @return
+     */
+    Map<String,Boolean> checkMusicGroupsRegOrPayStatus(List<String> ids);
+
 }

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

@@ -2525,6 +2525,7 @@ public class MusicGroupServiceImpl extends BaseServiceImpl<String, MusicGroup> i
         List<MusicGroupPurchaseList> musicGroupPurchaseListCount = musicGroupPurchaseListDao.getCount(musicGroupIds);
         Map<String, Integer> purchaseListMap = musicGroupPurchaseListCount.stream().collect(Collectors.toMap(MusicGroupPurchaseList::getMusicGroupId, MusicGroupPurchaseList::getPurchaseNum));
 
+        Map<String, Boolean> viewRegButtonMap = studentRegistrationService.checkMusicGroupsRegOrPayStatus(new ArrayList<>(musicGroupIds));
         //获取分部名称map
         musicGroupList.forEach(e -> {
 //            e.setSchoolName(schoolNameMap.get(e.getSchoolId()));
@@ -2535,6 +2536,11 @@ public class MusicGroupServiceImpl extends BaseServiceImpl<String, MusicGroup> i
             e.setPayNum(payNumMap.get(e.getId()) == null ? 0 : payNumMap.get(e.getId()));
             e.setChargeTypeName(chargeTypeNameMap.get(e.getChargeTypeId()));
             e.setHasVerifyMusicalList(purchaseListMap.get(e.getId()) != null);
+            if(e.getStatus().equals(MusicGroupStatusEnum.PREPARE) || e.getStatus().equals(MusicGroupStatusEnum.PROGRESS)){
+                if(viewRegButtonMap.containsKey(e.getId())){
+                    e.setIsRemedy(true);
+                }
+            }
         });
         return musicGroupPageInfo;
     }

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

@@ -1715,4 +1715,27 @@ public class StudentRegistrationServiceImpl extends BaseServiceImpl<Long, Studen
         }
         return null;
     }
+
+    @Override
+    public Map<String, Boolean> checkMusicGroupsRegOrPayStatus(List<String> ids) {
+        Map<String, Boolean> viewMap = new HashMap<>();
+        List<MusicGroupPaymentCalender> regCalenders = musicGroupPaymentCalenderDao.getMusicGroupRegCalenderByIds(ids);
+        for (MusicGroupPaymentCalender regCalender : regCalenders) {
+            viewMap.put(regCalender.getMusicGroupId(),true);
+        }
+
+        Map<String, List<MusicGroupPaymentCalender>> musicGroupBatchNoTimes = musicGroupPaymentCalenderDao.getMusicGroupCalenderBatchNoByIds(ids).stream().collect(Collectors.groupingBy(MusicGroupPaymentCalender::getMusicGroupId));
+        musicGroupBatchNoTimes.forEach((musicGroupId,calenders)->{
+            if(viewMap.containsKey(musicGroupId) && calenders.size() > 1){
+                viewMap.remove(musicGroupId);
+            }
+        });
+        List<CourseSchedule> musicGroupsHasStartCourseNums = courseScheduleDao.getMusicGroupsHasStartCourseNum(ids);
+        for (CourseSchedule musicGroupsHasStartCourseNum : musicGroupsHasStartCourseNums) {
+            if(viewMap.containsKey(musicGroupsHasStartCourseNum.getMusicGroupId())){
+                viewMap.remove(musicGroupsHasStartCourseNum.getMusicGroupId());
+            }
+        }
+        return viewMap;
+    }
 }

+ 11 - 0
mec-biz/src/main/resources/config/mybatis/CourseScheduleMapper.xml

@@ -3658,5 +3658,16 @@
         AND status_ IN ('UNDERWAY','OVER')
     </select>
 
+    <select id="getMusicGroupsHasStartCourseNum" resultMap="CourseSchedule">
+        SELECT music_group_id_, COUNT(*) student_num_ FROM course_schedule
+        WHERE music_group_id_ IN
+        <foreach collection="ids" item="id" open="(" close=")" separator=",">
+            #{id}
+        </foreach>
+        AND group_type_='MUSIC'
+        AND status_ IN ('UNDERWAY','OVER')
+        GROUP BY music_group_id_
+    </select>
+
 
 </mapper>

+ 18 - 0
mec-biz/src/main/resources/config/mybatis/MusicGroupPaymentCalenderMapper.xml

@@ -583,4 +583,22 @@
         AND status_ IN ('AUDITING','NO', 'OPEN', 'OVER', 'PAID')
         GROUP BY batch_no_
     </select>
+
+    <select id="getMusicGroupRegCalenderByIds" resultMap="MusicGroupPaymentCalender">
+        SELECT * FROM music_group_payment_calender WHERE music_group_id_ IN
+        <foreach collection="ids" item="id" open="(" close=")" separator=",">
+            #{id}
+        </foreach>
+        AND payment_type_='MUSIC_APPLY'
+    </select>
+
+    <select id="getMusicGroupCalenderBatchNoByIds" resultMap="MusicGroupPaymentCalender">
+        SELECT music_group_id_, COUNT(*) expect_num_ FROM music_group_payment_calender
+        WHERE music_group_id_ IN
+        <foreach collection="ids" item="id" open="(" close=")" separator=",">
+            #{id}
+        </foreach>
+        AND status_ IN ('AUDITING','NO', 'OPEN', 'OVER', 'PAID')
+        GROUP BY batch_no_
+    </select>
 </mapper>