Pārlūkot izejas kodu

Merge remote-tracking branch 'origin/master'

周箭河 4 gadi atpakaļ
vecāks
revīzija
aec6d1949f

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

@@ -78,4 +78,11 @@ public interface MusicGroupPaymentStudentCourseDetailDao extends BaseDAO<Long, M
      * @return
      */
     int deleteByMusicGroupPaymentCalenderDetailId(List<Long> musicGroupPaymentCalenderDetailIdList);
+    
+    /**
+     * 查询对象
+     * @param musicGroupPaymentCalenderDetailIdList
+     * @return
+     */
+    List<MusicGroupPaymentStudentCourseDetail> queryByMusicGroupPaymentStudentCourseDetailId(List<Long> musicGroupPaymentCalenderDetailIdList);
 }

+ 2 - 2
mec-biz/src/main/java/com/ym/mec/biz/service/SysMessageService.java

@@ -29,7 +29,7 @@ public interface SysMessageService extends BaseService<Long, SysMessage> {
 	boolean batchSeoMessage(Set<Integer> userIds, MessageTypeEnum messageType,String memo, Object... args);
 
 	/**
-	 * 推送im文本消息,包换调整链接
+	 * 推送im文本消息,包含跳转链接
 	 * @param senderId
 	 * @param messageType
 	 * @return
@@ -37,7 +37,7 @@ public interface SysMessageService extends BaseService<Long, SysMessage> {
 	void batchSendImMessage(MessageTypeEnum messageType,String senderId,String extra, String[] targetIds,String url, Object... args);
 
 	/**
-	 * 推送im文本消息,包换调整链接
+	 * 推送im文本消息,包含跳转链接
 	 * @param senderId
 	 * @param messageType
 	 * @return

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

@@ -450,16 +450,23 @@ public class MusicGroupPaymentCalenderDetailServiceImpl extends BaseServiceImpl<
 		if(details == null || details.size() == 0){
 			throw new BizException("删除失败: 数据不可为空");
 		}
+		//是否已缴费
 		long count = details.stream().filter(e -> e.getPaymentStatus() != NON_PAYMENT).count();
 		if(count > 0){
 			throw new BizException("删除失败: 存在已缴费的学员");
 		}
-		musicGroupPaymentCalenderDetailDao.batchDel(musicGroupPaymentCalenderDetailIds);
-		
 		List<Long> musicGroupPaymentCalenderDetailIdList = new ArrayList<Long>();
 		for(String s : musicGroupPaymentCalenderDetailIds.split(",")){
 			musicGroupPaymentCalenderDetailIdList.add(Long.parseLong(s));
 		}
+		//是否已排课
+		List<MusicGroupPaymentStudentCourseDetail> musicGroupPaymentStudentCourseDetailList = musicGroupPaymentStudentCourseDetailDao.queryByMusicGroupPaymentStudentCourseDetailId(musicGroupPaymentCalenderDetailIdList);
+		count = musicGroupPaymentStudentCourseDetailList.stream().filter(e -> e.getUsedCourseMinutes() > 0).count();
+		if(count > 0){
+			throw new BizException("删除失败:存在已排课的学员");
+		}
+		
+		musicGroupPaymentCalenderDetailDao.batchDel(musicGroupPaymentCalenderDetailIds);
 		musicGroupPaymentStudentCourseDetailDao.deleteByMusicGroupPaymentCalenderDetailId(musicGroupPaymentCalenderDetailIdList);
 	}
 }

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

@@ -1225,8 +1225,8 @@ public class MusicGroupPaymentCalenderServiceImpl extends BaseServiceImpl<Long,
 		if (calender == null) {
 			throw new BizException("缴费信息不存在");
 		}
-		if (calender.getStatus() != PaymentCalenderStatusEnum.AUDITING || calender.getStatus() != PaymentCalenderStatusEnum.NO
-				|| calender.getStatus() != PaymentCalenderStatusEnum.REJECT) {
+		if (calender.getStatus() != PaymentCalenderStatusEnum.AUDITING && calender.getStatus() != PaymentCalenderStatusEnum.NO
+				&& calender.getStatus() != PaymentCalenderStatusEnum.REJECT) {
 			throw new BizException("删除失败,只有[审核中]、[拒绝]或[未开启缴费]状态才能删除");
 		}
 
@@ -1238,6 +1238,14 @@ public class MusicGroupPaymentCalenderServiceImpl extends BaseServiceImpl<Long,
 			if (paidList.size() > 0) {
 				throw new BizException("存在已缴费的学生不能删除");
 			}
+			
+			List<Long> calenderDetailIdList = musicGroupPaymentCalenderDetailList.stream().map(cd -> cd.getId()).collect(Collectors.toList());
+			//是否已排课
+			List<MusicGroupPaymentStudentCourseDetail> musicGroupPaymentStudentCourseDetailList = musicGroupPaymentStudentCourseDetailDao.queryByMusicGroupPaymentStudentCourseDetailId(calenderDetailIdList);
+			long count = musicGroupPaymentStudentCourseDetailList.stream().filter(e -> e.getUsedCourseMinutes() > 0).count();
+			if(count > 0){
+				throw new BizException("存在已排课的学员");
+			}
 		}
 
 		musicGroupPaymentCalenderDao.delete(id);

+ 0 - 11
mec-biz/src/main/java/com/ym/mec/biz/service/impl/SysMessageServiceImpl.java

@@ -214,17 +214,6 @@ public class SysMessageServiceImpl extends BaseServiceImpl<Long, SysMessage> imp
 		imFeignService.groupSend(groupMessage);
 	}
 
-	/*@Override
-	public void batchSendImPlayMidiMessage(String senderId,String roomId, String content) {
-		ImGroupMessage groupMessage = new ImGroupMessage();
-		privateMessage.setObjectName("DY:PlayMidiMessage");
-		groupMessage.setTargetId(roomId.split(","));
-		groupMessage.setSenderId(senderId);
-		groupMessage.setContent(new ImPlayMidiMessage(content,null));
-		groupMessage.setType("DY:PlayMidiMessage");
-		imFeignService.privateSendCustom(groupMessage);
-	}*/
-
 	@Override
 	public void sendPrivateMessage(String studentId, String content) {
 		SysUser sysUser = sysUserFeignService.queryUserInfo();

+ 12 - 0
mec-biz/src/main/resources/config/mybatis/MusicGroupPaymentStudentCourseDetailMapper.xml

@@ -138,6 +138,18 @@
     </delete>
 
     <!-- 分页查询 -->
+    <select id="queryByMusicGroupPaymentStudentCourseDetailId" resultMap="MusicGroupPaymentStudentCourseDetail"
+            parameterType="map">
+        SELECT * FROM music_group_payment_student_course_detail 
+        <where>
+        	music_group_payment_calender_detail_id_ in    
+		    <foreach item="item" collection="list" separator="," open="(" close=")" index="">    
+		      #{item}    
+		    </foreach>
+        </where>
+    </select>
+
+    <!-- 分页查询 -->
     <select id="queryPage" resultMap="MusicGroupPaymentStudentCourseDetail"
             parameterType="map">
         SELECT * FROM music_group_payment_student_course_detail ORDER BY id_

+ 0 - 11
mec-client-api/src/main/java/com/ym/mec/im/ImFeignService.java

@@ -97,15 +97,4 @@ public interface ImFeignService {
 
 	@PostMapping(value = "group/send")
 	Object groupSend(@RequestBody ImGroupMessage imGroupMessage);
-
-	/**
-	 * 发送群组自定义消息
-	 * @param groupMessage
-	 * @return
-	 */
-//	@PostMapping(value = "private/sendCustom")
-	//body模板
-	//{"senderId":"325","targetId":[1094986],"objectName":"RC:TxtMsg",
-	// "content":{"content":"www.baidu.com"}}
-//	Object privateSendCustom(@RequestBody ImGroupMessage groupMessage);
 }

+ 15 - 5
mec-im/src/main/java/com/ym/controller/SystemController.java

@@ -14,9 +14,12 @@ import org.springframework.web.bind.annotation.RequestMapping;
 import org.springframework.web.bind.annotation.RequestMethod;
 import org.springframework.web.bind.annotation.RestController;
 
-/**
- * Created by weiqinxiao on 2019/2/25.
- */
+import java.lang.reflect.Array;
+import java.util.Arrays;
+import java.util.List;
+import java.util.Set;
+import java.util.stream.Collectors;
+
 @RestController
 @RequestMapping("/system")
 public class SystemController {
@@ -30,10 +33,17 @@ public class SystemController {
         ImTxtMessage content = (ImTxtMessage)imSystemMessage.getContent();
         TxtMessage txtMessage = new TxtMessage(content.getContent(),content.getExtra());
         systemMessage.setContent(txtMessage);
-        systemMessage.setTargetId(imSystemMessage.getTargetId());
         systemMessage.setSenderId(imSystemMessage.getSenderId());
         systemMessage.setObjectName(imSystemMessage.getObjectName());
-        return messageService.systemSend(systemMessage);
+        String[] targetId = imSystemMessage.getTargetId();
+        long i = Math.round(targetId.length / 100d);
+        for (int j = 0; j < i; j++) {
+            List<String> collect = Arrays.stream(targetId).skip(j * 100).limit(100).collect(Collectors.toList());
+            String[] objects = collect.toArray(new String[100]);
+            systemMessage.setTargetId(objects);
+            messageService.systemSend(systemMessage);
+        }
+        return null;
     }
 
     @RequestMapping(value = "/broadcast", method = RequestMethod.POST)