zouxuan 5 lat temu
rodzic
commit
d027efdf15

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

@@ -93,4 +93,6 @@ public interface MusicGroupPaymentCalenderDao extends BaseDAO<Long, MusicGroupPa
      * @return
      */
     MusicGroupPaymentCalender getLastStartOne(@Param("musicGroupId") String musicGroupId);
+
+    int queryIntersectionByDate(@Param("musicGroupId") String musicGroupId, @Param("startTime") Date startTime, @Param("endTime") Date endTime);
 }

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

@@ -121,10 +121,10 @@ public class MusicGroupPaymentCalenderDetailServiceImpl extends BaseServiceImpl<
 		if(calenderDetails.size() == 0){
 			return "操作失败,没有可以开启缴费的学员";
 		}
-		Long musicGroupPaymentCalenderId = calenderDetails.get(0).getMusicGroupPaymentCalenderId();
-		MusicGroupPaymentCalender calender = musicGroupPaymentCalenderDao.get(musicGroupPaymentCalenderId);
-		Date startPaymentDate = calender.getStartPaymentDate();
-		Date deadlinePaymentDate = calender.getDeadlinePaymentDate();
+//		Long musicGroupPaymentCalenderId = calenderDetails.get(0).getMusicGroupPaymentCalenderId();
+//		MusicGroupPaymentCalender calender = musicGroupPaymentCalenderDao.get(musicGroupPaymentCalenderId);
+//		Date startPaymentDate = calender.getStartPaymentDate();
+//		Date deadlinePaymentDate = calender.getDeadlinePaymentDate();
 		int length = ids.split(",").length;
 		Date date = new Date();
 		Iterator<MusicGroupPaymentCalenderDetail> iterator = calenderDetails.iterator();
@@ -197,7 +197,7 @@ public class MusicGroupPaymentCalenderDetailServiceImpl extends BaseServiceImpl<
 		}
 		MusicGroupPaymentCalenderDetail userLastCalenderDetail = musicGroupPaymentCalenderDetailDao.getUserLastCalenderDetail(calender.getMusicGroupId(), userId);
 		if(userLastCalenderDetail != null){
-			throw new BizException("数据已存在");
+			throw new BizException("缴费信息已存在");
 		}
 		Date date = new Date();
 		Integer countOpenPayment = musicGroupPaymentCalenderDetailDao.countOpenPayment(calender.getMusicGroupId(), userId);

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

@@ -351,7 +351,8 @@ public class MusicGroupPaymentCalenderServiceImpl extends BaseServiceImpl<Long,
 		}
 		Date date = new Date();
 		// 判断缴费开始时间、结束时间是否被其他缴费记录占用
-		int count = musicGroupPaymentCalenderDao.queryIntersectionByPaymentDate(calender.getMusicGroupId(), startTime,endTime);
+//		int count = musicGroupPaymentCalenderDao.queryIntersectionByPaymentDate(calender.getMusicGroupId(), startTime,endTime);
+		int count = musicGroupPaymentCalenderDao.queryIntersectionByDate(calender.getMusicGroupId(), startTime,endTime);
 		if (count > 1) {
 			throw new BizException("缴费时间存在冲突,请修改缴费开始日期");
 		}

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

@@ -197,4 +197,11 @@
     <select id="getLastStartOne" resultMap="MusicGroupPaymentCalender">
         SELECT * FROM music_group_payment_calender WHERE music_group_id_ = #{musicGroupId} ORDER BY start_payment_date_ DESC LIMIT 1
     </select>
+    <select id="queryIntersectionByDate" resultType="java.lang.Integer">
+        SELECT COUNT(DISTINCT mgpcd.id_) FROM music_group_payment_calender mgpc
+        LEFT JOIN music_group_payment_calender_detail mgpcd ON mgpc.id_ = mgpcd.music_group_payment_calender_id_
+        WHERE mgpc.music_group_id_ = #{musicGroupId} AND mgpcd.payment_status_ != 'PAID_COMPLETED'
+        AND (DATE_FORMAT(mgpcd.start_payment_date_,'%Y-%m-%d') between #{startPaymentDate} AND #{deadlinePaymentDate}
+        OR DATE_FORMAT(mgpcd.deadline_payment_date_,'%Y-%m-%d') between #{startPaymentDate} AND #{deadlinePaymentDate})
+    </select>
 </mapper>