zouxuan 5 years ago
parent
commit
6702687795

+ 8 - 0
mec-biz/src/main/java/com/ym/mec/biz/dal/dao/MusicGroupPaymentCalenderDetailDao.java

@@ -127,4 +127,12 @@ public interface MusicGroupPaymentCalenderDetailDao extends BaseDAO<Long, MusicG
 	 * @return
 	 */
 	Set<Integer> queryStudentIds(Long calenderId);
+
+	/**
+	 * 查询进行中的缴费
+	 * @param musicGroupId
+	 * @param userId
+	 * @return
+	 */
+    Integer countOpenPayment(@Param("musicGroupId") String musicGroupId, @Param("userId") Integer userId);
 }

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

@@ -196,8 +196,9 @@ public class MusicGroupPaymentCalenderDetailServiceImpl extends BaseServiceImpl<
 			throw new BizException("数据已存在");
 		}
 		Date date = new Date();
+		Integer countOpenPayment = musicGroupPaymentCalenderDetailDao.countOpenPayment(calender.getMusicGroupId(), userId);
 		MusicGroupStudentFee studentFee = musicGroupStudentFeeDao.findByUser(userId, calender.getMusicGroupId());
-		if(studentFee.getPaymentStatus() != PAID_COMPLETED){
+		if(countOpenPayment > 0){
 			throw new BizException("操作失败: 学员有未完成的缴费");
 		}
 		calender.setUpdateTime(date);

+ 5 - 0
mec-biz/src/main/resources/config/mybatis/MusicGroupPaymentCalenderDetailMapper.xml

@@ -290,4 +290,9 @@
 	<select id="queryStudentIds" resultType="java.lang.Integer">
 		SELECT user_id_ FROM music_group_payment_calender_detail WHERE music_group_payment_calender_id_ = #{calenderId}
 	</select>
+    <select id="countOpenPayment" 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 mgpcd.user_id_ = #{userId} AND mgpc.music_group_id_ = #{musicGroupId} AND (mgpc.payment_status_ = 1 OR mgpcd.open_ = 1)
+	</select>
 </mapper>