Browse Source

Merge branch 'master' of http://git.dayaedu.com/yonge/mec

周箭河 5 years ago
parent
commit
2b75b97e0a

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

@@ -1,25 +1,24 @@
 package com.ym.mec.biz.dal.dao;
 
-import com.ym.mec.biz.dal.entity.MusicGroupPaymentCalender;
-import com.ym.mec.biz.dal.enums.PaymentStatusEnum;
-import com.ym.mec.common.dal.BaseDAO;
+import java.util.Date;
+import java.util.List;
 
 import org.apache.ibatis.annotations.Param;
 
-import java.util.List;
+import com.ym.mec.biz.dal.entity.MusicGroupPaymentCalender;
+import com.ym.mec.biz.dal.enums.PaymentStatusEnum;
+import com.ym.mec.common.dal.BaseDAO;
 
 public interface MusicGroupPaymentCalenderDao extends BaseDAO<Long, MusicGroupPaymentCalender> {
 
 	/**
 	 * 根据乐团编号删除乐团缴费周期
-	 *
 	 * @param musicGroupId
 	 */
 	void delByGroupId(String musicGroupId);
 
 	/**
 	 * 根据乐团编号获取乐团缴费日历
-	 *
 	 * @param musicGroupId
 	 * @return
 	 */
@@ -27,7 +26,6 @@ public interface MusicGroupPaymentCalenderDao extends BaseDAO<Long, MusicGroupPa
 
 	/**
 	 * 批量新增乐团缴费周期
-	 *
 	 * @param calender
 	 * @param musicGroupId
 	 */
@@ -35,7 +33,6 @@ public interface MusicGroupPaymentCalenderDao extends BaseDAO<Long, MusicGroupPa
 
 	/**
 	 * 批量修改
-	 *
 	 * @param musicGroupPaymentCalenderList
 	 * @return
 	 */
@@ -43,16 +40,25 @@ public interface MusicGroupPaymentCalenderDao extends BaseDAO<Long, MusicGroupPa
 
 	/**
 	 * 查询指定状态的记录
-	 *
 	 * @param status
 	 * @return
 	 */
 	List<MusicGroupPaymentCalender> queryByPaymentStatus(List<PaymentStatusEnum> status);
-
+	
 	/**
 	 * 获取缴费信息锁
 	 * @param id
 	 * @return
 	 */
 	MusicGroupPaymentCalender getForLock(@Param("id") Long id);
+
+	/**
+	 * 根据指定乐团的缴费日期查询交集
+	 * @param musicGroupId 乐团编号
+	 * @param startPaymentDate 开始缴费日期
+	 * @param deadlinePaymentDate 截止缴费日期
+	 * @return
+	 */
+	int queryIntersectionByPaymentDate(@Param("musicGroupId") String musicGroupId, @Param("startPaymentDate") Date startPaymentDate,
+			@Param("deadlinePaymentDate") Date deadlinePaymentDate);
 }

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

@@ -45,7 +45,6 @@ public class MusicGroupPaymentCalenderServiceImpl extends BaseServiceImpl<Long,
 	@Override
 	@Transactional(rollbackFor = Exception.class)
 	public boolean create(MusicGroupPaymentCalender musicGroupPaymentCalender) {
-		//判断缴费开始时间、结束时间是否被其他缴费记录占用
 		
 		Date date = new Date();
 		List<MusicGroupStudentFee> list = null;
@@ -53,6 +52,11 @@ public class MusicGroupPaymentCalenderServiceImpl extends BaseServiceImpl<Long,
 		musicGroupPaymentCalender.setCreateTime(date);
 		musicGroupPaymentCalender.setUpdateTime(date);
 		musicGroupPaymentCalender.setDeadlinePaymentDate(DateUtil.addDays(musicGroupPaymentCalender.getStartPaymentDate(), 3));
+		//判断缴费开始时间、结束时间是否被其他缴费记录占用
+		int count = musicGroupPaymentCalenderDao.queryIntersectionByPaymentDate(musicGroupPaymentCalender.getMusicGroupId(), musicGroupPaymentCalender.getStartPaymentDate(), musicGroupPaymentCalender.getDeadlinePaymentDate());
+		if(count > 0){
+			throw new BizException("缴费时间存在冲突,请修改缴费开始日期");
+		}
 		if (date.after(musicGroupPaymentCalender.getDeadlinePaymentDate())) {
 			musicGroupPaymentCalender.setPaymentStatus(PaymentStatusEnum.YES);
 		} else if (date.after(musicGroupPaymentCalender.getStartPaymentDate())) {

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

@@ -169,4 +169,10 @@
     <select id="getForLock" resultMap="MusicGroupPaymentCalender">
         SELECT * FROM music_group_payment_calender WHERE id_ = #{id} FOR UPDATE
     </select>
+	
+    <select id="queryIntersectionByPaymentDate" resultType="int" parameterType="map">
+        SELECT count(*) FROM music_group_payment_calender mgpc
+        WHERE music_group_id_ = #{musicGroupId} 
+        and (start_payment_date_ betwwen #{startPaymentDate} and #{deadlinePaymentDate} or deadline_payment_date_ betwwen #{startPaymentDate} and #{deadlinePaymentDate})
+    </select>
 </mapper>