zouxuan 5 years ago
parent
commit
60721735c8

+ 13 - 6
mec-biz/src/main/java/com/ym/mec/biz/dal/dao/MusicGroupPaymentCalenderDao.java

@@ -258,16 +258,23 @@ public interface MusicGroupPaymentCalenderDao extends BaseDAO<Long, MusicGroupPa
     List<Map<Integer,String>> queryUserCoursePaymentStatus(@Param("studentId") Set studentId, @Param("musicGroupId") String musicGroupId);
 
     /**
-     * 删除未缴费的缴费项
-     * @author zouxuan
+     * 缴费预计人数减一
+     * @author
      * @param userId
      */
-    void delStudentNoPaymentCalender(@Param("userId") Integer userId, @Param("musicGroupId") String musicGroupId);
+    void cutCalenderExpectNum(@Param("userId") Integer userId, @Param("musicGroupId") String musicGroupId);
 
     /**
-     * 缴费预计人数减一
-     * @author
+     * 获取需要删除的缴费项
+     * @author zouxuan
      * @param userId
+     * @param musicGroupId
+     * @return
      */
-    void cutCalenderExpectNum(@Param("userId") Integer userId, @Param("musicGroupId") String musicGroupId);
+    List<Long> findStudentNoPaymentCalender(@Param("userId") Integer userId, @Param("musicGroupId") String musicGroupId);
+
+    /**
+     * @param calenderIds
+     */
+    void delByIds(@Param("calenderIds") List<Long> calenderIds);
 }

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

@@ -207,9 +207,9 @@ public interface MusicGroupPaymentCalenderDetailDao extends BaseDAO<Long, MusicG
 	MusicGroupPaymentCalenderDetail findByOrderId(@Param("orderId") Long orderId);
 
 	/**
-	 * 删除未缴费的详情
-	 * @author
-	 * @param userId
+	 * 根据缴费项目批量获取
+	 * @author zouxuan
+	 * @param calenderIds
 	 */
-    void delStudentNoPaymentCalenderDetail(@Param("userId") Integer userId, @Param("musicGroupId") String musicGroupId);
+	void delByCalenderIds(@Param("calenderIds") List<Long> calenderIds);
 }

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

@@ -1703,9 +1703,12 @@ public class MusicGroupServiceImpl extends BaseServiceImpl<String, MusicGroup> i
         //缴费项目预计人数减一
         musicGroupPaymentCalenderDao.cutCalenderExpectNum(userId,musicGroupId);
         //删除所有未缴费的类型为新增学员的缴费项
-        musicGroupPaymentCalenderDao.delStudentNoPaymentCalender(userId,musicGroupId);
-        musicGroupPaymentCalenderDetailDao.delStudentNoPaymentCalenderDetail(userId,musicGroupId);
-        //删除所有未缴费的缴费详情
+        List<Long> calenderIds = musicGroupPaymentCalenderDao.findStudentNoPaymentCalender(userId,musicGroupId);
+        if(calenderIds != null && calenderIds.size() > 0){
+            musicGroupPaymentCalenderDao.delByIds(calenderIds);
+            musicGroupPaymentCalenderDetailDao.delByCalenderIds(calenderIds);
+            //删除所有未缴费的缴费详情
+        }
         return true;
     }
 

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

@@ -184,13 +184,14 @@
     <delete id="deleteByCalenderId">
 		DELETE FROM music_group_payment_calender_detail WHERE music_group_payment_calender_id_ = #{id}
 	</delete>
-    <delete id="delStudentNoPaymentCalenderDetail">
-		DELETE mgpcd FROM  music_group_payment_calender_detail mgpcd
-		LEFT JOIN music_group_payment_calender mgpc ON mgpc.id_ = mgpcd.music_group_payment_calender_id_
-		WHERE mgpcd.user_id_ = #{userId} AND mgpcd.payment_status_ = 'NON_PAYMENT' AND mgpc.music_group_id_ = #{musicGroupId}
+	<delete id="delByCalenderIds">
+		DELETE FROM music_group_payment_calender_detail WHERE music_group_payment_calender_id_ IN
+		<foreach collection="calenderIds" item="item" separator="," open="(" close=")">
+			#{item}
+		</foreach>
 	</delete>
 
-    <!-- 分页查询 -->
+	<!-- 分页查询 -->
 	<select id="queryPage" resultMap="MusicGroupPaymentCalenderDetail" parameterType="map">
 		SELECT su.username_,su.phone_,st.name_ subject_names_,sr.music_group_status_,
 		CASE WHEN mgpcd.start_payment_date_ IS NULL THEN mgpc.start_payment_date_ ELSE mgpcd.start_payment_date_ END start_payment_date_mgpc_,

+ 12 - 5
mec-biz/src/main/resources/config/mybatis/MusicGroupPaymentCalenderMapper.xml

@@ -213,20 +213,27 @@
         WHERE user_id_ = #{userId} AND payment_status_ = 'NON_PAYMENT')
         AND payment_type_ != 'ADD_STUDENT' AND expect_num_ > 0 AND music_group_id_ = #{musicGroupId}
     </update>
+    <select id="findStudentNoPaymentCalender" resultType="java.lang.Long">
+        SELECT id_ FROM music_group_payment_calender
+        WHERE id_ IN (SELECT music_group_payment_calender_id_ FROM music_group_payment_calender_detail
+        WHERE user_id_ = #{userId} AND payment_status_ = 'NON_PAYMENT') AND payment_type_ = 'ADD_STUDENT' AND music_group_id_ = #{musicGroupId}
+    </select>
 
     <!-- 根据主键删除一条记录 -->
     <delete id="delete">
 		DELETE FROM music_group_payment_calender WHERE id_ = #{id} 
 	</delete>
+    <!-- 根据主键删除一条记录 -->
+    <delete id="delByIds">
+		DELETE FROM music_group_payment_calender WHERE id_ IN
+        <foreach collection="calenderIds" item="item" separator="," open="(" close=")">
+            #{item}
+        </foreach>
+	</delete>
 
     <delete id="delByGroupId">
         DELETE FROM music_group_payment_calender WHERE music_group_id_ = #{musicGroupId}
     </delete>
-    <delete id="delStudentNoPaymentCalender">
-        DELETE FROM music_group_payment_calender
-        WHERE id_ IN (SELECT music_group_payment_calender_id_ FROM music_group_payment_calender_detail
-        WHERE user_id_ = #{userId} AND payment_status_ = 'NON_PAYMENT') AND payment_type_ = 'ADD_STUDENT' AND music_group_id_ = #{musicGroupId}
-    </delete>
 
     <!-- 分页查询 -->
     <select id="queryPage" resultMap="MusicGroupPaymentCalender" parameterType="map">