Browse Source

婵道bug修改,ID 1027,1026

zouxuan 5 years ago
parent
commit
312d5eee7e

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

@@ -256,4 +256,18 @@ public interface MusicGroupPaymentCalenderDao extends BaseDAO<Long, MusicGroupPa
      * @return java.util.List<java.util.Map<java.lang.Integer,java.lang.String>>
      */
     List<Map<Integer,String>> queryUserCoursePaymentStatus(@Param("studentId") Set studentId, @Param("musicGroupId") String musicGroupId);
+
+    /**
+     * 删除未缴费的缴费项
+     * @author zouxuan
+     * @param userId
+     */
+    void delStudentNoPaymentCalender(Integer userId);
+
+    /**
+     * 缴费预计人数减一
+     * @author
+     * @param userId
+     */
+    void cutCalenderExpectNum(Integer userId);
 }

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

@@ -205,4 +205,11 @@ public interface MusicGroupPaymentCalenderDetailDao extends BaseDAO<Long, MusicG
 	 * @return com.ym.mec.biz.dal.entity.MusicGroupPaymentCalenderDetail
 	 */
 	MusicGroupPaymentCalenderDetail findByOrderId(@Param("orderId") Long orderId);
+
+	/**
+	 * 删除未缴费的详情
+	 * @author
+	 * @param userId
+	 */
+    void delStudentNoPaymentCalenderDetail(Integer userId);
 }

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

@@ -265,7 +265,7 @@ public class MusicGroupPaymentCalenderServiceImpl extends BaseServiceImpl<Long,
 		//收费标准名称
 		String name = musicGroupPaymentCalenderDao.getCalenderSettingsName(id);
 		List<MusicGroupPaymentCalenderCourseSettings> musicGroupPaymentCalenderCourseSettings = musicGroupPaymentCalenderCourseSettingsDao.queryCalenderCourseSettings(id);
-		Map<String, Object> result = new HashMap<>(2);
+		Map<String, Object> result = new HashMap<>(4);
 		result.put("musicGroupPaymentCalenderCourseSettings", musicGroupPaymentCalenderCourseSettings);
 		result.put("calender", calender);
 		result.put("calenderSettingsName", name);

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

@@ -1690,7 +1690,12 @@ public class MusicGroupServiceImpl extends BaseServiceImpl<String, MusicGroup> i
             sysUserCashAccountDetailService.addCashAccountDetail(userId, amount, SysUserCashAccountDetailService.MUSIC_GROUP + musicGroupId, "",
                     PlatformCashAccountDetailTypeEnum.REFUNDS, null, SUCCESS, "退出乐团", null);
         }
-
+        //缴费项目预计人数减一
+        musicGroupPaymentCalenderDao.cutCalenderExpectNum(userId);
+        //删除所有未缴费的类型为新增学员的缴费项
+        musicGroupPaymentCalenderDao.delStudentNoPaymentCalender(userId);
+        musicGroupPaymentCalenderDetailDao.delStudentNoPaymentCalenderDetail(userId);
+        //删除所有未缴费的缴费详情
         return true;
     }
 

+ 18 - 6
mec-biz/src/main/java/com/ym/mec/biz/service/impl/StudentManageServiceImpl.java

@@ -37,8 +37,6 @@ public class StudentManageServiceImpl implements StudentManageService {
     @Autowired
     private OrganizationDao organizationDao;
     @Autowired
-    private MusicGroupStudentFeeDao musicGroupStudentFeeDao;
-    @Autowired
     private CourseScheduleStudentPaymentDao scheduleStudentPaymentDao;
     @Autowired
     private TeacherDao teacherDao;
@@ -68,6 +66,8 @@ public class StudentManageServiceImpl implements StudentManageService {
     private MusicGroupQuitDao musicGroupQuitDao;
     @Autowired
     private SubjectChangeDao subjectChangeDao;
+    @Autowired
+    private MusicGroupPaymentCalenderDao musicGroupPaymentCalenderDao;
 
     @Override
     public PageInfo<StudentManageListDto> findStudentsByOrganId(StudentManageQueryInfo queryInfo) {
@@ -341,7 +341,17 @@ public class StudentManageServiceImpl implements StudentManageService {
         PageInfo<MusicGroupStudentsDto> pageInfo = new PageInfo<>(queryInfo.getPage(), queryInfo.getRows());
         Map<String, Object> params = new HashMap<>();
         MapUtil.populateMap(params, queryInfo);
-
+//        if(StringUtils.isNotEmpty(queryInfo.getPaymentStatus())){
+//            List<Integer> userIds;
+//            if("NON_PAYMENT".equals(queryInfo.getPaymentStatus())){
+//                userIds = musicGroupPaymentCalenderDao.queryUserByNoPayment(queryInfo.getClassGroupId());
+//            }else {
+//                userIds = musicGroupPaymentCalenderDao.queryUserByPayment(queryInfo.getClassGroupId());
+//            }
+//            if(userIds != null && userIds.size() > 0){
+//                params.put("userIds",userIds);
+//            }
+//        }
         List<MusicGroupStudentsDto> dataList = null;
         int count = studentManageDao.countMusicGroupStudent(params);
         if (queryInfo.getIsExport() && count > 50000) {
@@ -351,9 +361,11 @@ public class StudentManageServiceImpl implements StudentManageService {
             pageInfo.setTotal(count);
             params.put("offset", pageInfo.getOffset());
             dataList = studentManageDao.queryMusicGroupStudent(params);
-//            Map<Integer,String> maps = MapUtil.convertIntegerMap(musicGroupStudentFeeDao.findPaymentStatusMap(queryInfo.getMusicGroupId()));
-//            dataList.forEach(e->{
-//                e.setPaymentStatus(maps.get(e.getUserId()));
+//            Set<Integer> collect = dataList.stream().map(e -> e.getUserId()).collect(Collectors.toSet());
+//            Map<Integer,String> paymentStatusMap = MapUtil.convertIntegerMap(
+//                    musicGroupPaymentCalenderDao.queryUserCoursePaymentStatus(collect,queryInfo.getMusicGroupId()));
+//            dataList.forEach(e -> {
+//                e.setPaymentStatus(paymentStatusMap.get(e.getUserId()));
 //            });
         }
         if (count == 0) {

+ 7 - 2
mec-biz/src/main/resources/config/mybatis/MusicGroupPaymentCalenderDetailMapper.xml

@@ -184,12 +184,17 @@
     <delete id="deleteByCalenderId">
 		DELETE FROM music_group_payment_calender_detail WHERE music_group_payment_calender_id_ = #{id}
 	</delete>
+    <delete id="delStudentNoPaymentCalenderDetail">
+		DELETE FROM  music_group_payment_calender_detail
+		WHERE user_id_ = #{userId} AND payment_status_ = 'NON_PAYMENT'
+	</delete>
 
     <!-- 分页查询 -->
 	<select id="queryPage" resultMap="MusicGroupPaymentCalenderDetail" parameterType="map">
-		SELECT mgpcd.*,su.username_,su.phone_,st.name_ subject_names_,sr.music_group_status_,
+		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_,
-		CASE WHEN mgpcd.deadline_payment_date_ IS NULL THEN mgpc.deadline_payment_date_ ELSE mgpcd.deadline_payment_date_ END deadline_payment_date_mgpc_
+		CASE WHEN mgpcd.deadline_payment_date_ IS NULL THEN mgpc.deadline_payment_date_ ELSE mgpcd.deadline_payment_date_ END deadline_payment_date_mgpc_,
+		CASE WHEN mgpc.status_ = 'OPEN' OR mgpcd.open_ = 1 THEN 1 ELSE 0 END open_,mgpcd.*
 		FROM music_group_payment_calender_detail mgpcd
 		LEFT JOIN sys_user su ON su.id_ = mgpcd.user_id_
 		LEFT JOIN student_registration sr ON sr.user_id_ = mgpcd.user_id_

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

@@ -206,6 +206,12 @@
 	        WHERE id_ = #{item.id}
 		</foreach>
     </update>
+    <update id="cutCalenderExpectNum">
+        UPDATE music_group_payment_calender
+        SET expect_num_ = expect_num_ - 1
+        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 expect_num_ > 0
+    </update>
 
     <!-- 根据主键删除一条记录 -->
     <delete id="delete">
@@ -215,6 +221,11 @@
     <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'
+    </delete>
 
     <!-- 分页查询 -->
     <select id="queryPage" resultMap="MusicGroupPaymentCalender" parameterType="map">