Explorar o código

Merge remote-tracking branch 'origin/master'

Joburgess %!s(int64=4) %!d(string=hai) anos
pai
achega
a9d09314dc

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

@@ -15,6 +15,7 @@ public interface MusicGroupPaymentCalenderDetailDao extends BaseDAO<Long, MusicG
 
 	/**
 	 * 批量新增
+	 *
 	 * @param musicGroupPaymentCalenderDetailList
 	 * @return
 	 */
@@ -22,6 +23,7 @@ public interface MusicGroupPaymentCalenderDetailDao extends BaseDAO<Long, MusicG
 
 	/**
 	 * 获取列表
+	 *
 	 * @param ids
 	 * @return
 	 */
@@ -29,12 +31,14 @@ public interface MusicGroupPaymentCalenderDetailDao extends BaseDAO<Long, MusicG
 
 	/**
 	 * 批量修改
+	 *
 	 * @param calenderDetails
 	 */
 	void batchUpdate(@Param("calenderDetails") List<MusicGroupPaymentCalenderDetail> calenderDetails);
 
 	/**
 	 * 根据指定的日历编号查询
+	 *
 	 * @param calenderId
 	 * @return
 	 */
@@ -42,6 +46,7 @@ public interface MusicGroupPaymentCalenderDetailDao extends BaseDAO<Long, MusicG
 
 	/**
 	 * 根据声部获取乐团下完成缴费的学员
+	 *
 	 * @param musicGroupId
 	 * @param subjectId
 	 * @return
@@ -51,6 +56,7 @@ public interface MusicGroupPaymentCalenderDetailDao extends BaseDAO<Long, MusicG
 
 	/**
 	 * 获取学生最后一期续费记录
+	 *
 	 * @param musicGroupId
 	 * @param userId
 	 * @return
@@ -59,6 +65,7 @@ public interface MusicGroupPaymentCalenderDetailDao extends BaseDAO<Long, MusicG
 
 	/**
 	 * 获取可开启缴费的数据集
+	 *
 	 * @param ids
 	 * @return
 	 */
@@ -66,6 +73,7 @@ public interface MusicGroupPaymentCalenderDetailDao extends BaseDAO<Long, MusicG
 
 	/**
 	 * 当前用户是否有进行中的订单
+	 *
 	 * @param musicGroupId
 	 * @param userId
 	 * @return
@@ -79,6 +87,7 @@ public interface MusicGroupPaymentCalenderDetailDao extends BaseDAO<Long, MusicG
 
 	/**
 	 * 获取可以推送缴费提醒的列表
+	 *
 	 * @param musicGroupPaymentCalenderId
 	 * @return
 	 */
@@ -86,24 +95,28 @@ public interface MusicGroupPaymentCalenderDetailDao extends BaseDAO<Long, MusicG
 
 	/**
 	 * 获取当天创建,已开启缴费,并且未缴费的用户列表
+	 *
 	 * @return
 	 */
 	List<MusicGroupPaymentCalenderDetail> queryNoPaymentCanPushList();
 
 	/**
 	 * 获取学员对应的乐团
+	 *
 	 * @return
 	 */
 	List<Map<Integer, String>> queryPaymentPushMap();
 
 	/**
 	 * 删除缴费详情
+	 *
 	 * @param musicGroupPaymentCalenderIds
 	 */
 	void batchDel(String musicGroupPaymentCalenderIds);
 
 	/**
 	 * 删除未缴费的明细
+	 *
 	 * @param userId
 	 * @param musicGroupId
 	 */
@@ -111,12 +124,14 @@ public interface MusicGroupPaymentCalenderDetailDao extends BaseDAO<Long, MusicG
 
 	/**
 	 * 根据缴费记录删除缴费详情
+	 *
 	 * @param id
 	 */
     void deleteByCalenderId(@Param("id") Long id);
 
 	/**
 	 * 获取缴费详情学员列表
+	 *
 	 * @param calenderId
 	 * @return
 	 */
@@ -124,6 +139,7 @@ public interface MusicGroupPaymentCalenderDetailDao extends BaseDAO<Long, MusicG
 
 	/**
 	 * 获取未缴费的员列表
+	 *
 	 * @param calenderId
 	 * @return
 	 */
@@ -131,6 +147,7 @@ public interface MusicGroupPaymentCalenderDetailDao extends BaseDAO<Long, MusicG
 
 	/**
 	 * 查询进行中的缴费
+	 *
 	 * @param musicGroupId
 	 * @param userId
 	 * @return
@@ -138,74 +155,77 @@ public interface MusicGroupPaymentCalenderDetailDao extends BaseDAO<Long, MusicG
     Integer countOpenPayment(@Param("musicGroupId") String musicGroupId, @Param("userId") Integer userId);
 
 	/**
+	 * @param calenderId:
+	 * @return java.util.List<com.ym.mec.biz.dal.entity.MusicGroupPaymentCalenderDetail>
 	 * @describe 获取指定缴费日历的详情
 	 * @author Joburgess
 	 * @date 2020.10.27
-	 * @param calenderId:
-	 * @return java.util.List<com.ym.mec.biz.dal.entity.MusicGroupPaymentCalenderDetail>
 	 */
 	List<MusicGroupPaymentCalenderDetail> getCalenderDetailWithCalender(@Param("calenderId") Long calenderId);
 
 	/**
+	 * @param calenderIds:
+	 * @return java.util.List<com.ym.mec.biz.dal.entity.MusicGroupPaymentCalenderDetail>
 	 * @describe 获取指定缴费日历的详情
 	 * @author Joburgess
 	 * @date 2020.10.30
-	 * @param calenderIds:
-	 * @return java.util.List<com.ym.mec.biz.dal.entity.MusicGroupPaymentCalenderDetail>
 	 */
 	List<MusicGroupPaymentCalenderDetail> getWithCalenderIds(@Param("calenderIds") List<Long> calenderIds);
 
     /**
-     * @describe 获取缴费日历学员列表
-     * @apiNote 时光荏苒,认真工作的时间总是过得很快,而我、享受这一刻!
-     * @author zouxuan
-     * @date 2020/10/30
-     * @time 16:39
-     * @param batchNo:
-     * @param musicGroupId:
-     * @return java.util.List<com.ym.mec.biz.dal.dto.SimpleUserDto>
-     */
+	 * @param batchNo:
+	 * @param musicGroupId:
+	 * @return java.util.List<com.ym.mec.biz.dal.dto.SimpleUserDto>
+	 * @describe 获取缴费日历学员列表
+	 * @apiNote 时光荏苒,认真工作的时间总是过得很快,而我、享受这一刻!
+	 * @author zouxuan
+	 * @date 2020/10/30
+	 * @time 16:39
+	 */
 	List<SimpleUserDto> querySimpleUserDto(@Param("batchNo") String batchNo, @Param("musicGroupId") String musicGroupId);
 
 	/**
 	 * 统计实际收款金额
+	 *
 	 * @param id
 	 * @return
 	 */
 	BigDecimal sumActualAmount(@Param("id") Long id);
 
 	/**
+	 * @param calenderId:
+	 * @param userId:
+	 * @return com.ym.mec.biz.dal.entity.MusicGroupPaymentCalenderDetail
 	 * @describe 获取学员缴费日历详情
 	 * @apiNote 时光荏苒,认真工作的时间总是过得很快,而我、享受这一刻!
 	 * @author zouxuan
 	 * @date 2020/11/3
 	 * @time 14:47
-	 * @param calenderId:
-	 * @param userId:
-	 * @return com.ym.mec.biz.dal.entity.MusicGroupPaymentCalenderDetail
 	 */
 	MusicGroupPaymentCalenderDetail findByCalenderIdAndUserId(@Param("calenderId") Long calenderId, @Param("userId") Integer userId);
 
 	/**
+	 * @param orderId:
+	 * @return com.ym.mec.biz.dal.entity.MusicGroupPaymentCalenderDetail
 	 * @describe 根据订单编号获取缴费详情
 	 * @apiNote 时光荏苒,认真工作的时间总是过得很快,而我、享受这一刻!
 	 * @author zouxuan
 	 * @date 2020/11/3
 	 * @time 15:41
-	 * @param orderId:
-	 * @return com.ym.mec.biz.dal.entity.MusicGroupPaymentCalenderDetail
 	 */
 	MusicGroupPaymentCalenderDetail findByOrderId(@Param("orderId") Long orderId);
 
 	/**
 	 * 获取未缴费且不是0元的学员列表
+	 *
 	 * @param calenderId
 	 * @return
 	 */
-    List<Map<Integer, String>> queryNoPaymentAndNotZeroStudent(Long calenderId);
+    List<Map<Integer, String>> queryNoPaymentAndNotZeroStudent(@Param("calenderId") Long calenderId, @Param("studentIds") Set studentIds);
 
 	/**
 	 * 将0元未缴费学员缴费状态更新为已缴费
+	 *
 	 * @param calenderId
 	 */
 	void updateNoPaymentAndZeroPaymentStatus(Long calenderId);

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

@@ -43,7 +43,7 @@ public class MusicGroupOrganizationCourseSettingsServiceImpl extends BaseService
         musicGroupOrganizationCourseSettingsDao.insert(setting);
         for (MusicGroupOrganizationCourseSettingsDetail detail : setting.getDetails()) {
             detail.setMusicGroupOrganizationCourseSettingsId(setting.getId());
-            detail.setUnitPrice(detail.getCourseCurrentPrice().divide(new BigDecimal(detail.getCourseTotalMinuties()), 2, BigDecimal.ROUND_DOWN));
+            detail.setUnitPrice(detail.getCourseCurrentPrice().divide(new BigDecimal(detail.getCourseTotalMinuties()), 8, BigDecimal.ROUND_HALF_UP));
         }
         musicGroupOrganizationCourseSettingsDetailDao.batchInsert(setting.getDetails());
         return setting;

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

@@ -121,18 +121,26 @@ public class MusicGroupPaymentCalenderDetailServiceImpl extends BaseServiceImpl<
 			musicGroupStudentFeeDao.setPaidCompleted(calenderDetails);
 		}*/
 		musicGroupPaymentCalenderDetailDao.batchUpdate(calenderDetails);
-
-		//获取未缴费且不是0元的学员列表
-		Map<Integer,String> studentMaps = MapUtil.convertMybatisMap(musicGroupPaymentCalenderDetailDao.queryNoPaymentAndNotZeroStudent(calender.getId()));
-		if(studentMaps.size() > 0){
-			MusicGroup musicGroup = musicGroupDao.get(calender.getMusicGroupId());
+		//推送消息
+		if (studentIds.size() > 0) {
+			String musicGroupId = calenderDetails.get(0).getMusicGroupId();
+			Map<Integer, String> push = new HashMap<>();
+			for (Integer userId : studentIds) {
+				push.put(userId, userId + "");
+			}
+			MusicGroup musicGroup = musicGroupDao.get(musicGroupId);
 			String baseUrl = sysConfigDao.findConfigValue(SysConfigService.BASE_API_URL);
 			String memo = "4?" + baseUrl + "/#/musicGroupRenew?calenderId="+calender.getId()+"&id=" + calender.getMusicGroupId();
 			// 发送续费通知
-			sysMessageService.batchSendMessage(MessageSenderPluginContext.MessageSender.JIGUANG, MessageTypeEnum.STUDENT_PUSH_WAIT_RENEW_MESSAGE, studentMaps,
+			sysMessageService.batchSendMessage(MessageSenderPluginContext.MessageSender.JIGUANG, MessageTypeEnum.STUDENT_PUSH_WAIT_RENEW_MESSAGE, push,
 					null, 0, memo,"STUDENT",musicGroup.getName());
-			sysMessageService.batchSendMessage(MessageSenderPluginContext.MessageSender.AWSMS, MessageTypeEnum.STUDENT_PUSH_WAIT_RENEW_MESSAGE, studentMaps,
-					null, 0, memo, null, musicGroup.getName());
+
+			//获取未缴费且不是0元的学员列表
+			Map<Integer,String> studentMaps = MapUtil.convertMybatisMap(musicGroupPaymentCalenderDetailDao.queryNoPaymentAndNotZeroStudent(calender.getId(),studentIds));
+			if(studentMaps.size() > 0){
+				sysMessageService.batchSendMessage(MessageSenderPluginContext.MessageSender.AWSMS, MessageTypeEnum.STUDENT_PUSH_WAIT_RENEW_MESSAGE, studentMaps,
+						null, 0, memo, null, musicGroup.getName());
+			}
 		}
 //		}
 	}
@@ -173,7 +181,7 @@ public class MusicGroupPaymentCalenderDetailServiceImpl extends BaseServiceImpl<
 			sysMessageService.batchSendMessage(MessageSenderPluginContext.MessageSender.JIGUANG, MessageTypeEnum.STUDENT_PUSH_WAIT_RENEW_MESSAGE, push,
 					null, 0, memo,"STUDENT",musicGroup.getName());
 			//获取未缴费且不是0元的学员列表
-			Map<Integer,String> studentMaps = MapUtil.convertMybatisMap(musicGroupPaymentCalenderDetailDao.queryNoPaymentAndNotZeroStudent(calender.getId()));
+			Map<Integer,String> studentMaps = MapUtil.convertMybatisMap(musicGroupPaymentCalenderDetailDao.queryNoPaymentAndNotZeroStudent(calender.getId(),studentIds));
 			if(studentMaps.size() > 0){
 				sysMessageService.batchSendMessage(MessageSenderPluginContext.MessageSender.AWSMS, MessageTypeEnum.STUDENT_PUSH_WAIT_RENEW_MESSAGE, studentMaps,
 						null, 0, memo, null, musicGroup.getName());

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

@@ -1117,7 +1117,7 @@ public class MusicGroupPaymentCalenderServiceImpl extends BaseServiceImpl<Long,
 					null, 0, memo, "STUDENT", musicGroup.getName());
 
 			//获取未缴费且不是0元的学员列表
-			Map<Integer,String> studentMaps = MapUtil.convertMybatisMap(musicGroupPaymentCalenderDetailDao.queryNoPaymentAndNotZeroStudent(calenderId));
+			Map<Integer,String> studentMaps = MapUtil.convertMybatisMap(musicGroupPaymentCalenderDetailDao.queryNoPaymentAndNotZeroStudent(calenderId,studentIds));
 			if(studentMaps.size() > 0){
 				sysMessageService.batchSendMessage(MessageSenderPluginContext.MessageSender.AWSMS, MessageTypeEnum.STUDENT_PUSH_WAIT_RENEW_MESSAGE, studentMaps,
 						null, 0, memo, null, musicGroup.getName());
@@ -1233,7 +1233,7 @@ public class MusicGroupPaymentCalenderServiceImpl extends BaseServiceImpl<Long,
 				sysMessageService.batchSendMessage(MessageSenderPluginContext.MessageSender.JIGUANG, MessageTypeEnum.STUDENT_PUSH_WAIT_RENEW_MESSAGE, push,
 						null, 0, memo, "STUDENT", musicGroup.getName());
 				//获取未缴费且不是0元的学员列表
-				Map<Integer,String> studentMaps = MapUtil.convertMybatisMap(musicGroupPaymentCalenderDetailDao.queryNoPaymentAndNotZeroStudent(calender.getId()));
+				Map<Integer,String> studentMaps = MapUtil.convertMybatisMap(musicGroupPaymentCalenderDetailDao.queryNoPaymentAndNotZeroStudent(calender.getId(),studentIds));
 				if(studentMaps.size() > 0){
 					sysMessageService.batchSendMessage(MessageSenderPluginContext.MessageSender.AWSMS, MessageTypeEnum.STUDENT_PUSH_WAIT_RENEW_MESSAGE, studentMaps,
 							null, 0, memo, null, musicGroup.getName());
@@ -1330,7 +1330,7 @@ public class MusicGroupPaymentCalenderServiceImpl extends BaseServiceImpl<Long,
 				sysMessageService.batchSendMessage(MessageSenderPluginContext.MessageSender.JIGUANG, MessageTypeEnum.STUDENT_PUSH_WAIT_RENEW_MESSAGE, push,
 						null, 0, memo, "STUDENT", musicGroup.getName());
 				//获取未缴费且不是0元的学员列表
-				Map<Integer,String> studentMaps = MapUtil.convertMybatisMap(musicGroupPaymentCalenderDetailDao.queryNoPaymentAndNotZeroStudent(id));
+				Map<Integer,String> studentMaps = MapUtil.convertMybatisMap(musicGroupPaymentCalenderDetailDao.queryNoPaymentAndNotZeroStudent(id,studentIds));
 				if(studentMaps.size() > 0){
 					sysMessageService.batchSendMessage(MessageSenderPluginContext.MessageSender.AWSMS, MessageTypeEnum.STUDENT_PUSH_WAIT_RENEW_MESSAGE, studentMaps,
 							null, 0, memo, null, musicGroup.getName());
@@ -1353,7 +1353,7 @@ public class MusicGroupPaymentCalenderServiceImpl extends BaseServiceImpl<Long,
 				sysMessageService.batchSendMessage(MessageSenderPluginContext.MessageSender.JIGUANG, MessageTypeEnum.STUDENT_PUSH_WAIT_RENEW_MESSAGE, push,
 						null, 0, memo, "STUDENT", musicGroup.getName());
 				//获取未缴费且不是0元的学员列表
-				Map<Integer,String> studentMaps = MapUtil.convertMybatisMap(musicGroupPaymentCalenderDetailDao.queryNoPaymentAndNotZeroStudent(id));
+				Map<Integer,String> studentMaps = MapUtil.convertMybatisMap(musicGroupPaymentCalenderDetailDao.queryNoPaymentAndNotZeroStudent(id,studentIds));
 				if(studentMaps.size() > 0){
 					sysMessageService.batchSendMessage(MessageSenderPluginContext.MessageSender.AWSMS, MessageTypeEnum.STUDENT_PUSH_WAIT_RENEW_MESSAGE, studentMaps,
 							null, 0, memo, null, musicGroup.getName());

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

@@ -387,6 +387,12 @@
 		SELECT mgpcd.user_id_ 'key',su.phone_ 'value' FROM music_group_payment_calender_detail mgpcd
 		LEFT JOIN sys_user su ON su.id_ = mgpcd.user_id_
 		WHERE music_group_payment_calender_id_ = #{calenderId} AND expect_amount_ != 0 AND payment_status_ = 'NON_PAYMENT'
+		<if test="studentIds != null">
+			AND mgpcd.user_id_ IN
+			<foreach collection="studentIds" separator="," close=")" open="(" item="item">
+				#{item}
+			</foreach>
+		</if>
     </select>
 
 	<update id="updateNoPaymentAndZeroPaymentStatus">