Explorar el Código

Merge branch 'online1' into maintenance_feature

周箭河 hace 4 años
padre
commit
af5a6aac0f
Se han modificado 17 ficheros con 389 adiciones y 109 borrados
  1. 8 0
      mec-biz/src/main/java/com/ym/mec/biz/dal/dao/MusicGroupPaymentCalenderDetailDao.java
  2. 20 0
      mec-biz/src/main/java/com/ym/mec/biz/dal/dto/MusicGroupPaymentCalenderAuditDetailDto.java
  3. 36 0
      mec-biz/src/main/java/com/ym/mec/biz/dal/enums/EmployeeRoleEnum.java
  4. 10 0
      mec-biz/src/main/java/com/ym/mec/biz/dal/page/SysExamSongQueryInfo.java
  5. 7 0
      mec-biz/src/main/java/com/ym/mec/biz/service/MusicGroupPaymentCalenderDetailService.java
  6. 24 0
      mec-biz/src/main/java/com/ym/mec/biz/service/impl/MusicGroupPaymentCalenderDetailServiceImpl.java
  7. 109 89
      mec-biz/src/main/java/com/ym/mec/biz/service/impl/MusicGroupPaymentCalenderServiceImpl.java
  8. 8 0
      mec-biz/src/main/resources/config/mybatis/MusicGroupPaymentCalenderDetailMapper.xml
  9. 14 11
      mec-biz/src/main/resources/config/mybatis/SysMusicScoreAccompanimentMapper.xml
  10. 15 9
      mec-student/src/main/java/com/ym/mec/student/controller/StudentManageController.java
  11. 7 0
      mec-student/src/main/java/com/ym/mec/student/controller/SysMusicScoreAccompanimentController.java
  12. 41 0
      mec-student/src/main/java/com/ym/mec/student/controller/SysMusicScoreCategoriesController.java
  13. 7 0
      mec-teacher/src/main/java/com/ym/mec/teacher/controller/SysMusicScoreAccompanimentController.java
  14. 41 0
      mec-teacher/src/main/java/com/ym/mec/teacher/controller/SysMusicScoreCategoriesController.java
  15. 29 0
      mec-web/src/main/java/com/ym/mec/web/controller/EmployeeController.java
  16. 7 0
      mec-web/src/main/java/com/ym/mec/web/controller/MusicGroupPaymentCalenderDetailController.java
  17. 6 0
      mec-web/src/main/java/com/ym/mec/web/controller/SysMusicScoreCategoriesController.java

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

@@ -264,4 +264,12 @@ public interface MusicGroupPaymentCalenderDetailDao extends BaseDAO<Long, MusicG
 	 * @return java.util.List<com.ym.mec.biz.dal.entity.MusicGroup>
 	 */
 	List<MusicGroup> getNoPaymentStudentMusicGroups(@Param("organIds") Set<Integer> organIds);
+
+	/**
+	 *
+	 * @param calenderId
+	 * @param studentIds
+	 * @return
+	 */
+    List<MusicGroupPaymentCalenderDetail> queryNoPaymentCanPushByCalenderId(@Param("calenderId") Long calenderId, @Param("studentIds") String studentIds);
 }

+ 20 - 0
mec-biz/src/main/java/com/ym/mec/biz/dal/dto/MusicGroupPaymentCalenderAuditDetailDto.java

@@ -20,6 +20,26 @@ public class MusicGroupPaymentCalenderAuditDetailDto {
     @ApiModelProperty(value = "学员缴费详情",required = false)
     private List<MusicGroupPaymentCalenderStudentDetail> musicGroupPaymentCalenderStudentDetails;
 
+    private String username;
+
+    private String phone;
+
+    public String getUsername() {
+        return username;
+    }
+
+    public void setUsername(String username) {
+        this.username = username;
+    }
+
+    public String getPhone() {
+        return phone;
+    }
+
+    public void setPhone(String phone) {
+        this.phone = phone;
+    }
+
     public List<MusicGroupPaymentCalenderStudentDetail> getMusicGroupPaymentCalenderStudentDetails() {
         return musicGroupPaymentCalenderStudentDetails;
     }

+ 36 - 0
mec-biz/src/main/java/com/ym/mec/biz/dal/enums/EmployeeRoleEnum.java

@@ -0,0 +1,36 @@
+package com.ym.mec.biz.dal.enums;
+
+import com.ym.mec.common.enums.BaseEnum;
+
+/**
+ * 员工角色枚举
+ */
+public enum EmployeeRoleEnum implements BaseEnum<String, EmployeeRoleEnum> {
+	TEAM_TEACHER("TEAM_TEACHER", "运营主管"), EDUCATION("EDUCATION", "乐团主管");
+
+	private String code;
+
+	private String msg;
+
+	EmployeeRoleEnum(String code, String msg) {
+		this.code = code;
+		this.msg = msg;
+	}
+
+	public void setCode(String code) {
+		this.code = code;
+	}
+
+	public String getMsg() {
+		return msg;
+	}
+
+	public void setMsg(String msg) {
+		this.msg = msg;
+	}
+
+	@Override
+	public String getCode() {
+		return this.code;
+	}
+}

+ 10 - 0
mec-biz/src/main/java/com/ym/mec/biz/dal/page/SysExamSongQueryInfo.java

@@ -19,6 +19,16 @@ public class SysExamSongQueryInfo extends QueryInfo {
 
     private Integer sysMusicScoreId;
 
+    private Integer parentId;
+
+    public Integer getParentId() {
+        return parentId;
+    }
+
+    public void setParentId(Integer parentId) {
+        this.parentId = parentId;
+    }
+
     public Integer getCategoriesId() {
         return categoriesId;
     }

+ 7 - 0
mec-biz/src/main/java/com/ym/mec/biz/service/MusicGroupPaymentCalenderDetailService.java

@@ -104,4 +104,11 @@ public interface MusicGroupPaymentCalenderDetailService extends BaseService<Long
      * @return java.util.List<com.ym.mec.biz.dal.entity.MusicGroup>
      */
     List<MusicGroup> getNoPaymentStudentMusicGroups(String organIds);
+
+    /**
+     * 发送学员待续费通知
+     * @param calenderId
+     * @param studentIds
+     */
+    void pushWaitRenewMessage(Long calenderId, String studentIds);
 }

+ 24 - 0
mec-biz/src/main/java/com/ym/mec/biz/service/impl/MusicGroupPaymentCalenderDetailServiceImpl.java

@@ -607,4 +607,28 @@ public class MusicGroupPaymentCalenderDetailServiceImpl extends BaseServiceImpl<
 		}
 		return musicGroupPaymentCalenderDetailDao.getNoPaymentStudentMusicGroups(organIds);
 	}
+
+	@Override
+	public void pushWaitRenewMessage(Long calenderId, String studentIds) {
+		List<MusicGroupPaymentCalenderDetail> calenderDetails = musicGroupPaymentCalenderDetailDao.queryNoPaymentCanPushByCalenderId(calenderId,studentIds);
+		if(calenderDetails == null || calenderDetails.size() == 0){
+			throw new BizException("发送失败:没有可以发送缴费提醒的学员");
+		}
+		Set<Integer> studentIdList = calenderDetails.stream().map(e -> e.getUserId()).collect(Collectors.toSet());
+		MusicGroupPaymentCalender paymentCalender = musicGroupPaymentCalenderDao.get(calenderId);
+		//未缴费
+		Map<Integer,String> studentMaps = MapUtil.convertMybatisMap(musicGroupPaymentCalenderDetailDao.queryNoPaymentAndNotZeroStudent(calenderId,studentIdList));
+		MusicGroup musicGroup = musicGroupDao.get(paymentCalender.getMusicGroupId());
+		String baseUrl = sysConfigDao.findConfigValue(SysConfigService.BASE_API_URL);
+		String memo = "4?" + baseUrl + "/#/musicGroupRenew?calenderId="+calenderId+"&id=" + musicGroup.getId();
+		Map<Integer, String> push = new HashMap<>();
+		for (Integer userId : studentIdList) {
+			push.put(userId, userId.toString());
+		}
+		// 发送续费通知
+		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_SMS_WAIT_RENEW_MESSAGE, studentMaps,
+				null, 0, memo, null, musicGroup.getName());
+	}
 }

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

@@ -992,11 +992,24 @@ public class MusicGroupPaymentCalenderServiceImpl extends BaseServiceImpl<Long,
 		MusicGroupPaymentCalenderAuditDetailDto calenderAuditDetailDto = new MusicGroupPaymentCalenderAuditDetailDto();
 		MusicGroupPaymentCalenderAuditDto auditDto = musicGroupPaymentCalenderDao.getAuditDetail(batchNo);
 		calenderAuditDetailDto.setAuditDto(auditDto);
-		//获取收费标准
-		calenderAuditDetailDto.setMusicGroupPaymentCalenderCourseSettings(musicGroupPaymentCalenderCourseSettingsDao.queryCalenderCourseSettingsByBatchNo(batchNo));
 		//获取缴费周期
 		List<MusicGroupPaymentCalender> groupPaymentCalenders = musicGroupPaymentCalenderDao.findByBatchNo(batchNo);
 		calenderAuditDetailDto.setMusicGroupPaymentCalenders(groupPaymentCalenders);
+		MusicGroupPaymentCalender paymentCalender = groupPaymentCalenders.get(0);
+		if(paymentCalender.getPaymentType() == ADD_STUDENT){
+			try {
+				String studentIds = groupPaymentCalenders.get(0).getStudentIds();
+				if(StringUtils.isNotEmpty(studentIds)){
+					SysUser sysUser = sysUserFeignService.queryUserById(Integer.parseInt(studentIds));
+					calenderAuditDetailDto.setPhone(sysUser.getPhone());
+					calenderAuditDetailDto.setUsername(sysUser.getUsername());
+				}
+			}catch (Exception e){
+				e.printStackTrace();
+			}
+		}
+		//获取收费标准
+		calenderAuditDetailDto.setMusicGroupPaymentCalenderCourseSettings(musicGroupPaymentCalenderCourseSettingsDao.queryCalenderCourseSettingsByBatchNo(batchNo));
 		//获取跨团合班学员缴费详情
 		calenderAuditDetailDto.setMusicGroupPaymentCalenderStudentDetails(musicGroupPaymentCalenderStudentDetailDao.findByBatchNo(batchNo));
 		return calenderAuditDetailDto;
@@ -1068,111 +1081,118 @@ public class MusicGroupPaymentCalenderServiceImpl extends BaseServiceImpl<Long,
 
 	@Override
 	@Transactional(rollbackFor = Exception.class)
-	public void auditPass(String batchNo,String auditMemo) {
-		List<MusicGroupPaymentCalender> musicGroupPaymentCalenders = musicGroupPaymentCalenderDao.findByBatchNo(batchNo);
-		if(musicGroupPaymentCalenders == null || musicGroupPaymentCalenders.size() == 0){
-			throw new BizException("缴费项目不存在");
-		}
+	public void auditPass(String batchNs,String auditMemo) {
+		String[] split = batchNs.split(",");
 		Date date = new Date();
-		for (MusicGroupPaymentCalender musicGroupPaymentCalender : musicGroupPaymentCalenders) {
-			//如果是报名项目,将乐团改为审核中,缴费项目修改状态,审核状态改为审核通过
-			if(musicGroupPaymentCalender.getPayUserType() == SCHOOL){
-				musicGroupPaymentCalender.setStatus(PaymentCalenderStatusEnum.OPEN);
-			}else if (date.after(musicGroupPaymentCalender.getStartPaymentDate())) {
-				musicGroupPaymentCalender.setStatus(PaymentCalenderStatusEnum.OPEN);
-			}else if (date.after(musicGroupPaymentCalender.getDeadlinePaymentDate())) {
-				musicGroupPaymentCalender.setStatus(PaymentCalenderStatusEnum.OVER);
-			}else {
-				musicGroupPaymentCalender.setStatus(PaymentCalenderStatusEnum.NO);
+		for (String batchNo : split) {
+			List<MusicGroupPaymentCalender> musicGroupPaymentCalenders = musicGroupPaymentCalenderDao.findByBatchNo(batchNo);
+			if(musicGroupPaymentCalenders == null || musicGroupPaymentCalenders.size() == 0){
+				throw new BizException("缴费项目不存在");
 			}
-			musicGroupPaymentCalender.setAuditMemo(auditMemo);
-			musicGroupPaymentCalender.setUpdateTime(date);
+			for (MusicGroupPaymentCalender musicGroupPaymentCalender : musicGroupPaymentCalenders) {
+				//如果是报名项目,将乐团改为审核中,缴费项目修改状态,审核状态改为审核通过
+				if(musicGroupPaymentCalender.getPayUserType() == SCHOOL){
+					musicGroupPaymentCalender.setStatus(PaymentCalenderStatusEnum.OPEN);
+				}else if (date.after(musicGroupPaymentCalender.getStartPaymentDate())) {
+					musicGroupPaymentCalender.setStatus(PaymentCalenderStatusEnum.OPEN);
+				}else if (date.after(musicGroupPaymentCalender.getDeadlinePaymentDate())) {
+					musicGroupPaymentCalender.setStatus(PaymentCalenderStatusEnum.OVER);
+				}else {
+					musicGroupPaymentCalender.setStatus(PaymentCalenderStatusEnum.NO);
+				}
+				musicGroupPaymentCalender.setAuditMemo(auditMemo);
+				musicGroupPaymentCalender.setUpdateTime(date);
 
-			if (musicGroupPaymentCalender.getPaymentType() == PaymentType.ADD_STUDENT) {
-				musicGroupPaymentCalender.setExpectNum(1);
-				List<MusicGroupPaymentCalenderCourseSettings> musicGroupPaymentCalenderCourseSettings = musicGroupPaymentCalenderCourseSettingsDao.queryCalenderCourseSettings(musicGroupPaymentCalender.getId());
-				addStudent(musicGroupPaymentCalender,musicGroupPaymentCalenderCourseSettings);
-			}
-		}
-		MusicGroupPaymentCalender calender = musicGroupPaymentCalenders.get(0);
-		//如果是报名,并且所有的报名都审核通过,需要修改乐团状态
-		if (calender.getPaymentType() == MUSIC_APPLY) {
-			//统计乐团还在审核中或者审核被拒的缴费
-			int count = musicGroupPaymentCalenderDao.countAuditReject(calender.getMusicGroupId(),calender.getId());
-			if(count == 0){
-				MusicGroup musicGroup = musicGroupDao.get(calender.getMusicGroupId());
-				musicGroup.setStatus(MusicGroupStatusEnum.APPLY);
-				musicGroup.setUpdateTime(date);
-				musicGroupDao.update(musicGroup);
-				SysUser sysUser = sysUserFeignService.queryUserInfo();
-				if(sysUser == null || sysUser.getId() == null){
-					throw new BizException("请重新登录");
+				if (musicGroupPaymentCalender.getPaymentType() == PaymentType.ADD_STUDENT) {
+					musicGroupPaymentCalender.setExpectNum(1);
+					List<MusicGroupPaymentCalenderCourseSettings> musicGroupPaymentCalenderCourseSettings = musicGroupPaymentCalenderCourseSettingsDao.queryCalenderCourseSettings(musicGroupPaymentCalender.getId());
+					addStudent(musicGroupPaymentCalender,musicGroupPaymentCalenderCourseSettings);
 				}
-				//记录操作日志
-				musicGroupBuildLogDao.insert(new MusicGroupBuildLog(musicGroup.getId(), "报名缴费项目通过(费用审核中 -> 报名中)", sysUser.getId(), ""));
 			}
-		} else if (calender.getPaymentType() == ADD_STUDENT) {
-			// 学生加到班级
-			String classGroupIdStr = calender.getAttribute1();
-			if (StringUtils.isNotBlank(classGroupIdStr)) {
-				classGroupService.addStudentToClassGroupAndCourseArranging(Integer.parseInt(calender.getStudentIds()), classGroupIdStr, batchNo,
-						musicGroupPaymentCalenderCourseSettingsDao.queryCalenderCourseSettingsByBatchNo(batchNo));
+			MusicGroupPaymentCalender calender = musicGroupPaymentCalenders.get(0);
+			//如果是报名,并且所有的报名都审核通过,需要修改乐团状态
+			if (calender.getPaymentType() == MUSIC_APPLY) {
+				//统计乐团还在审核中或者审核被拒的缴费
+				int count = musicGroupPaymentCalenderDao.countAuditReject(calender.getMusicGroupId(),calender.getId());
+				if(count == 0){
+					MusicGroup musicGroup = musicGroupDao.get(calender.getMusicGroupId());
+					musicGroup.setStatus(MusicGroupStatusEnum.APPLY);
+					musicGroup.setUpdateTime(date);
+					musicGroupDao.update(musicGroup);
+					SysUser sysUser = sysUserFeignService.queryUserInfo();
+					if(sysUser == null || sysUser.getId() == null){
+						throw new BizException("请重新登录");
+					}
+					//记录操作日志
+					musicGroupBuildLogDao.insert(new MusicGroupBuildLog(musicGroup.getId(), "报名缴费项目通过(费用审核中 -> 报名中)", sysUser.getId(), ""));
+				}
+			} else if (calender.getPaymentType() == ADD_STUDENT) {
+				// 学生加到班级
+				String classGroupIdStr = calender.getAttribute1();
+				if (StringUtils.isNotBlank(classGroupIdStr)) {
+					classGroupService.addStudentToClassGroupAndCourseArranging(Integer.parseInt(calender.getStudentIds()), classGroupIdStr, batchNo,
+							musicGroupPaymentCalenderCourseSettingsDao.queryCalenderCourseSettingsByBatchNo(batchNo));
+				}
+				MusicGroupStudentClassAdjust musicGroupStudentClassAdjust = musicGroupStudentClassAdjustDao.findByBatchNo(batchNo);
+				if(musicGroupStudentClassAdjust != null){
+					//如果是合班缴费
+					autoClassGroupAdjust(musicGroupStudentClassAdjust);
+				}else {
+					imUserFriendService.refreshGroupImUserFriend(calender.getMusicGroupId(),GroupType.MUSIC);
+				}
+			}else if(calender.getPaymentType() == SPAN_GROUP_CLASS_ADJUST){
+				//删除和解冻班级,课程信息
+				MusicGroupStudentClassAdjust adjust = musicGroupStudentClassAdjustDao.findByBatchNo(batchNo);
+				List<Map> classGroupStudents = JSON.parseArray(adjust.getClassGroupStudents(),Map.class);
+				List<Integer> studentIds = JSON.parseArray(adjust.getStudentIds(), Integer.class);
+				List<Long> courseIds = JSON.parseArray(adjust.getSubLockCourseIds(), Long.class);
+				List<Long> allLockCourseIds = JSON.parseArray(adjust.getAllLockCourseIds(), Long.class);
+				//如果是跨团班级合并,添加学员
+				musicGroupPaymentCalenderDetailService.batchAdd(calender,musicGroupPaymentCalenderStudentDetailDao.findByBatchNo(batchNo));
+				classGroupService.spanGroupClassAdjustPass(adjust.getMasterClassGroupId()
+						,studentIds,courseIds,classGroupStudents,allLockCourseIds,batchNo,adjust.getMasterTotalPrice());
 			}
-			MusicGroupStudentClassAdjust musicGroupStudentClassAdjust = musicGroupStudentClassAdjustDao.findByBatchNo(batchNo);
-			if(musicGroupStudentClassAdjust != null){
-				//如果是合班缴费
-				autoClassGroupAdjust(musicGroupStudentClassAdjust);
-			}else {
-				imUserFriendService.refreshGroupImUserFriend(calender.getMusicGroupId(),GroupType.MUSIC);
+			for (MusicGroupPaymentCalender musicGroupPaymentCalender : musicGroupPaymentCalenders) {
+				//将0元未缴费学员缴费状态更新为已缴费
+				int j = musicGroupPaymentCalenderDetailDao.updateNoPaymentAndZeroPaymentStatus(musicGroupPaymentCalender.getId());
+				musicGroupPaymentCalender.setActualNum((musicGroupPaymentCalender.getActualNum()==null?0:musicGroupPaymentCalender.getActualNum()) + j);
 			}
-		}else if(calender.getPaymentType() == SPAN_GROUP_CLASS_ADJUST){
-			//删除和解冻班级,课程信息
-			MusicGroupStudentClassAdjust adjust = musicGroupStudentClassAdjustDao.findByBatchNo(batchNo);
-			List<Map> classGroupStudents = JSON.parseArray(adjust.getClassGroupStudents(),Map.class);
-			List<Integer> studentIds = JSON.parseArray(adjust.getStudentIds(), Integer.class);
-			List<Long> courseIds = JSON.parseArray(adjust.getSubLockCourseIds(), Long.class);
-			List<Long> allLockCourseIds = JSON.parseArray(adjust.getAllLockCourseIds(), Long.class);
-			//如果是跨团班级合并,添加学员
-			musicGroupPaymentCalenderDetailService.batchAdd(calender,musicGroupPaymentCalenderStudentDetailDao.findByBatchNo(batchNo));
-			classGroupService.spanGroupClassAdjustPass(adjust.getMasterClassGroupId()
-					,studentIds,courseIds,classGroupStudents,allLockCourseIds,batchNo,adjust.getMasterTotalPrice());
-		}
-		for (MusicGroupPaymentCalender musicGroupPaymentCalender : musicGroupPaymentCalenders) {
-			//将0元未缴费学员缴费状态更新为已缴费
-			int j = musicGroupPaymentCalenderDetailDao.updateNoPaymentAndZeroPaymentStatus(musicGroupPaymentCalender.getId());
-			musicGroupPaymentCalender.setActualNum((musicGroupPaymentCalender.getActualNum()==null?0:musicGroupPaymentCalender.getActualNum()) + j);
+			musicGroupPaymentCalenderDao.batchUpdate(musicGroupPaymentCalenders);
 		}
-		musicGroupPaymentCalenderDao.batchUpdate(musicGroupPaymentCalenders);
+
 	}
 
 	@Override
 	@Transactional(rollbackFor = Exception.class)
-	public void auditRefuse(String batchNo,String auditMemo) {
+	public void auditRefuse(String batchNs,String auditMemo) {
 		SysUser sysUser = sysUserFeignService.queryUserInfo();
 		if(sysUser == null || sysUser.getId() == null){
 			throw new BizException("请重新登录");
 		}
-		List<MusicGroupPaymentCalender> musicGroupPaymentCalenders = musicGroupPaymentCalenderDao.findByBatchNo(batchNo);
-		if(musicGroupPaymentCalenders == null || musicGroupPaymentCalenders.size() == 0){
-			throw new BizException("缴费项目不存在");
-		}
+		String[] split = batchNs.split(",");
 		Date date = new Date();
-		for (MusicGroupPaymentCalender musicGroupPaymentCalender : musicGroupPaymentCalenders) {
-			musicGroupPaymentCalender.setStatus(PaymentCalenderStatusEnum.REJECT);
-			musicGroupPaymentCalender.setUpdateTime(date);
-			musicGroupPaymentCalender.setAuditMemo(auditMemo);
-		}
-		MusicGroupPaymentCalender calender = musicGroupPaymentCalenders.get(0);
-		//如果是报名,并且所有的报名都审核通过,需要修改乐团状态
-		if (calender.getPaymentType() == MUSIC_APPLY) {
-			MusicGroup musicGroup = musicGroupDao.get(calender.getMusicGroupId());
-			musicGroup.setStatus(MusicGroupStatusEnum.PRE_BUILD_FEE);
-			musicGroup.setUpdateTime(date);
-			musicGroupDao.update(musicGroup);
-			//记录操作日志
-			musicGroupBuildLogDao.insert(new MusicGroupBuildLog(musicGroup.getId(), "报名缴费项目失败(费用审核中 -> 审核拒绝)", sysUser.getId(), ""));
+		for (String batchNo : split) {
+			List<MusicGroupPaymentCalender> musicGroupPaymentCalenders = musicGroupPaymentCalenderDao.findByBatchNo(batchNo);
+			if(musicGroupPaymentCalenders == null || musicGroupPaymentCalenders.size() == 0){
+				throw new BizException("缴费项目不存在");
+			}
+			for (MusicGroupPaymentCalender musicGroupPaymentCalender : musicGroupPaymentCalenders) {
+				musicGroupPaymentCalender.setStatus(PaymentCalenderStatusEnum.REJECT);
+				musicGroupPaymentCalender.setUpdateTime(date);
+				musicGroupPaymentCalender.setAuditMemo(auditMemo);
+			}
+			MusicGroupPaymentCalender calender = musicGroupPaymentCalenders.get(0);
+			//如果是报名,并且所有的报名都审核通过,需要修改乐团状态
+			if (calender.getPaymentType() == MUSIC_APPLY) {
+				MusicGroup musicGroup = musicGroupDao.get(calender.getMusicGroupId());
+				musicGroup.setStatus(MusicGroupStatusEnum.PRE_BUILD_FEE);
+				musicGroup.setUpdateTime(date);
+				musicGroupDao.update(musicGroup);
+				//记录操作日志
+				musicGroupBuildLogDao.insert(new MusicGroupBuildLog(musicGroup.getId(), "报名缴费项目失败(费用审核中 -> 审核拒绝)", sysUser.getId(), ""));
+			}
+			musicGroupPaymentCalenderDao.batchUpdate(musicGroupPaymentCalenders);
 		}
-		musicGroupPaymentCalenderDao.batchUpdate(musicGroupPaymentCalenders);
 	}
 
 	//推送待续费通知

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

@@ -511,6 +511,14 @@
 			</if>
 	</select>
 
+	<select id="queryNoPaymentCanPushByCalenderId"
+			resultMap="MusicGroupPaymentCalenderDetail">
+		SELECT 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 (mgpc.status_ = 'OPEN' OR mgpcd.open_ = 1) AND mgpcd.payment_status_ = 'NON_PAYMENT' AND mgpcd.expect_amount_ != 0
+		AND mgpcd.music_group_payment_calender_id_ = #{calenderId} AND FIND_IN_SET(mgpcd.user_id_,#{studentIds})
+	</select>
+
     <update id="updateNoPaymentAndZeroPaymentStatus">
 		UPDATE music_group_payment_calender_detail mgpcd
 		SET mgpcd.payment_status_ = 'PAID_COMPLETED',mgpcd.actual_amount_ = 0,mgpcd.update_time_ = NOW()

+ 14 - 11
mec-biz/src/main/resources/config/mybatis/SysMusicScoreAccompanimentMapper.xml

@@ -114,28 +114,24 @@
 	
 	<!-- 分页查询 -->
 	<select id="queryPage" resultMap="SysMusicScoreAccompaniment" parameterType="map">
-		SELECT sesa.*,s.name_ subject_name_,sesc.name_ categories_name_,sesc.id_ categories_id_
+		SELECT sesa.*,ses.name_,ses.type_,ses.url_,s.name_ subject_name_,sesc.name_ categories_name_,sesc.id_ categories_id_
 		FROM sys_music_score_accompaniment sesa
 		LEFT JOIN sys_music_score ses ON ses.id_ = sesa.exam_song_id_
 		LEFT JOIN sys_music_score_categories sesc ON sesc.id_ = ses.music_score_categories_id_
 		LEFT JOIN `subject` s ON s.id_ = sesa.subject_id_
-		<where>
-			sesa.del_flag_ = 0
-			<if test="subjectId != null">
-				AND sesa.subject_id_ = #{subjectId}
-			</if>
-			<if test="sysMusicScoreId != null">
-				AND sesa.exam_song_id_ = #{sysMusicScoreId}
-			</if>
-		</where>
+		<include refid="queryPageSql"/>
 		ORDER BY sesa.id_ DESC
 		<include refid="global.limit"/>
 	</select>
 	
 	<!-- 查询当前表的总记录数 -->
 	<select id="queryCount" resultType="int">
-		SELECT COUNT(*) FROM sys_music_score_accompaniment
+		SELECT COUNT(sesa.id_) FROM sys_music_score_accompaniment sesa
+		LEFT JOIN sys_music_score ses ON ses.id_ = sesa.exam_song_id_
+		LEFT JOIN sys_music_score_categories sesc ON sesc.id_ = ses.music_score_categories_id_
+		<include refid="queryPageSql"/>
 	</select>
+
 	<select id="findSubjectByMusicScoreId" resultType="java.lang.Integer">
 		SELECT subject_id_ FROM sys_music_score_accompaniment
 		<where>
@@ -163,6 +159,7 @@
 	<select id="findAccCount" resultType="java.lang.Integer">
 		SELECT COUNT(DISTINCT sesa.id_) FROM sys_music_score_accompaniment sesa
 		LEFT JOIN sys_music_score ses ON ses.id_ = sesa.exam_song_id_
+		LEFT JOIN sys_music_score_categories sesc ON sesc.id_ = ses.music_score_categories_id_
 		<include refid="queryPageSql"/>
 	</select>
 
@@ -175,6 +172,12 @@
 			<if test="sysMusicScoreId != null">
 				AND sesa.exam_song_id_ = #{sysMusicScoreId}
 			</if>
+			<if test="categoriesId != null">
+				AND sesc.id_ = #{categoriesId}
+			</if>
+			<if test="parentId != null">
+				AND sesc.parent_id_ = #{parentId}
+			</if>
 			<if test="subjectId != null">
 				AND sesa.subject_id_ = #{subjectId}
 			</if>

+ 15 - 9
mec-student/src/main/java/com/ym/mec/student/controller/StudentManageController.java

@@ -1,5 +1,6 @@
 package com.ym.mec.student.controller;
 
+import com.ym.mec.biz.service.*;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
 import io.swagger.annotations.ApiParam;
@@ -10,6 +11,7 @@ import org.apache.commons.lang3.StringUtils;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.http.HttpStatus;
 import org.springframework.http.MediaType;
 import org.springframework.web.bind.annotation.GetMapping;
 import org.springframework.web.bind.annotation.PostMapping;
@@ -22,15 +24,6 @@ import com.ym.mec.auth.api.entity.SysUser;
 import com.ym.mec.biz.dal.dto.CashAccountDetail;
 import com.ym.mec.biz.dal.entity.SysSuggestion;
 import com.ym.mec.biz.dal.entity.SysUserBankCard;
-import com.ym.mec.biz.service.ClassGroupService;
-import com.ym.mec.biz.service.ImGroupNoticeService;
-import com.ym.mec.biz.service.StudentManageService;
-import com.ym.mec.biz.service.SubjectService;
-import com.ym.mec.biz.service.SysSuggestionService;
-import com.ym.mec.biz.service.SysUserBankCardService;
-import com.ym.mec.biz.service.SysUserCashAccountDetailService;
-import com.ym.mec.biz.service.SysUserCashAccountService;
-import com.ym.mec.biz.service.UploadFileService;
 import com.ym.mec.common.controller.BaseController;
 import com.ym.mec.common.entity.UploadReturnBean;
 import com.ym.mec.common.filters.TenantIdThreadLocal;
@@ -59,6 +52,8 @@ public class StudentManageController extends BaseController {
     private StudentManageService studentManageService;
     @Autowired
     private SubjectService subjectService;
+    @Autowired
+    private StudentService studentService;
 
     private final static Logger LOGGER = LoggerFactory.getLogger(StudentManageController.class);
 
@@ -94,6 +89,17 @@ public class StudentManageController extends BaseController {
         return succeed();
     }
 
+
+    @ApiOperation(value = "获取学员基本信息")
+    @GetMapping("student/queryUserInfo")
+    public Object queryUserInfo() {
+        SysUser user = sysUserFeignService.queryUserInfo();
+        if (user == null) {
+            return failed(HttpStatus.FORBIDDEN, "请登录");
+        }
+        return succeed(studentService.get(user.getId()));
+    }
+
     @ApiOperation(value = "根据群编号,获取群组所有成员基本信息")
     @GetMapping("classGroup/findGroupUsers")
     public Object findGroupUsers(Integer groupId,String search) {

+ 7 - 0
mec-student/src/main/java/com/ym/mec/student/controller/SysMusicScoreAccompanimentController.java

@@ -22,4 +22,11 @@ public class SysMusicScoreAccompanimentController extends BaseController {
         queryInfo.setType("COMMON");
         return succeed(sysMusicScoreAccompanimentService.queryAccPage(queryInfo));
     }
+
+    @ApiOperation(value = "分页查询")
+    @GetMapping("/queryPageLimit")
+    public Object queryPageLimit(SysExamSongQueryInfo queryInfo) {
+        queryInfo.setType("COMMON");
+        return succeed(sysMusicScoreAccompanimentService.queryPage(queryInfo));
+    }
 }

+ 41 - 0
mec-student/src/main/java/com/ym/mec/student/controller/SysMusicScoreCategoriesController.java

@@ -0,0 +1,41 @@
+package com.ym.mec.student.controller;
+
+import com.ym.mec.auth.api.dto.MusicScoreQueryInfo;
+import com.ym.mec.biz.dal.page.SysExamSongQueryInfo;
+import com.ym.mec.biz.service.SysMusicScoreCategoriesService;
+import com.ym.mec.common.controller.BaseController;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.security.access.prepost.PreAuthorize;
+import org.springframework.web.bind.annotation.GetMapping;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+@RequestMapping("sysMusicScoreCategories")
+@Api(tags = "曲库分类服务")
+@RestController
+public class SysMusicScoreCategoriesController extends BaseController {
+
+    @Autowired
+    private SysMusicScoreCategoriesService sysMusicScoreCategoriesService;
+
+
+    @ApiOperation(value = "分页查询")
+    @GetMapping("/queryPage")
+    public Object queryPage(SysExamSongQueryInfo queryInfo) {
+        return succeed(sysMusicScoreCategoriesService.queryPage(queryInfo));
+    }
+
+    @ApiOperation(value = "树状列表")
+    @GetMapping("/queryTree")
+    public Object queryTree(MusicScoreQueryInfo queryInfo) {
+        return succeed(sysMusicScoreCategoriesService.queryTree(queryInfo));
+    }
+
+    @ApiOperation(value = "获取分类详情")
+    @GetMapping("/get")
+    public Object get(Integer id) {
+        return succeed(sysMusicScoreCategoriesService.get(id));
+    }
+}

+ 7 - 0
mec-teacher/src/main/java/com/ym/mec/teacher/controller/SysMusicScoreAccompanimentController.java

@@ -51,4 +51,11 @@ public class SysMusicScoreAccompanimentController extends BaseController {
         queryInfo.setCreateUserId(sysUser.getId());
         return succeed(sysMusicScoreAccompanimentService.queryAccPage(queryInfo));
     }
+
+    @ApiOperation(value = "分页查询")
+    @GetMapping("/queryPageLimit")
+    public Object queryPageLimit(SysExamSongQueryInfo queryInfo) {
+        queryInfo.setType("COMMON");
+        return succeed(sysMusicScoreAccompanimentService.queryPage(queryInfo));
+    }
 }

+ 41 - 0
mec-teacher/src/main/java/com/ym/mec/teacher/controller/SysMusicScoreCategoriesController.java

@@ -0,0 +1,41 @@
+package com.ym.mec.teacher.controller;
+
+import com.ym.mec.auth.api.dto.MusicScoreQueryInfo;
+import com.ym.mec.biz.dal.page.SysExamSongQueryInfo;
+import com.ym.mec.biz.service.SysMusicScoreCategoriesService;
+import com.ym.mec.common.controller.BaseController;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.security.access.prepost.PreAuthorize;
+import org.springframework.web.bind.annotation.GetMapping;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+@RequestMapping("sysMusicScoreCategories")
+@Api(tags = "曲库分类服务")
+@RestController
+public class SysMusicScoreCategoriesController extends BaseController {
+
+    @Autowired
+    private SysMusicScoreCategoriesService sysMusicScoreCategoriesService;
+
+
+    @ApiOperation(value = "分页查询")
+    @GetMapping("/queryPage")
+    public Object queryPage(SysExamSongQueryInfo queryInfo) {
+        return succeed(sysMusicScoreCategoriesService.queryPage(queryInfo));
+    }
+
+    @ApiOperation(value = "树状列表")
+    @GetMapping("/queryTree")
+    public Object queryTree(MusicScoreQueryInfo queryInfo) {
+        return succeed(sysMusicScoreCategoriesService.queryTree(queryInfo));
+    }
+
+    @ApiOperation(value = "获取分类详情")
+    @GetMapping("/get")
+    public Object get(Integer id) {
+        return succeed(sysMusicScoreCategoriesService.get(id));
+    }
+}

+ 29 - 0
mec-web/src/main/java/com/ym/mec/web/controller/EmployeeController.java

@@ -7,6 +7,7 @@ import com.ym.mec.biz.dal.dto.EmployeeLevelDto;
 import com.ym.mec.biz.dal.dto.SimpleUserDto;
 import com.ym.mec.biz.dal.entity.Employee;
 import com.ym.mec.biz.dal.enums.EmployeeOperateEnum;
+import com.ym.mec.biz.dal.enums.EmployeeRoleEnum;
 import com.ym.mec.biz.dal.page.EmployeeQueryInfo;
 import com.ym.mec.biz.service.EmployeeService;
 import com.ym.mec.biz.service.OrganizationService;
@@ -167,6 +168,34 @@ public class EmployeeController extends BaseController {
         return succeed(employeeService.findByRole("4,5",organIds));
     }
 
+    @ApiOperation(value = "获取对应角色的员工")
+    @GetMapping("/findUserByRole")
+    public HttpResponseResult findEducationUsers(Integer userId, Integer organId, EmployeeRoleEnum employeeRole){
+        SysUser sysUser;
+        if(userId == null){
+            sysUser = sysUserFeignService.queryUserInfo();
+            if (sysUser == null) {
+                return failed("用户信息获取失败");
+            }
+        }else {
+            sysUser = sysUserFeignService.queryUserById(userId);
+        }
+        String organIds = new String();
+        if(Objects.isNull(organId)){
+            Employee employee = employeeService.get(sysUser.getId());
+            if (StringUtils.isEmpty(organIds)) {
+                organIds = employee.getOrganIdList();
+            }
+        }else{
+            organIds = organId.toString();
+        }
+        if(employeeRole == EmployeeRoleEnum.TEAM_TEACHER){
+            return succeed(employeeService.findByRole("5",organIds));
+        }else {
+            return succeed(employeeService.findByRole("4",organIds));
+        }
+    }
+
     @ApiOperation(value = "获取教务老师")
     @GetMapping("/findEducationTeacher")
     public HttpResponseResult findEducationTeacher(Integer userId){

+ 7 - 0
mec-web/src/main/java/com/ym/mec/web/controller/MusicGroupPaymentCalenderDetailController.java

@@ -105,6 +105,13 @@ public class MusicGroupPaymentCalenderDetailController extends BaseController {
         return succeed;
     }
 
+    @ApiOperation(value = "发送学员待续费通知")
+    @PostMapping("/sendWaitRenewMessage")
+    @PreAuthorize("@pcs.hasPermissions('musicGroupPaymentCalenderDetail/sendWaitRenewMessage')")
+    public HttpResponseResult sendWaitRenewMessage(Long calenderId, String studentIds) {
+        musicGroupPaymentCalenderDetailService.pushWaitRenewMessage(calenderId,studentIds);
+        return succeed();
+    }
 
     @ApiOperation(value = "未缴费学员列表")
     @GetMapping("/queryArrearageStudents")

+ 6 - 0
mec-web/src/main/java/com/ym/mec/web/controller/SysMusicScoreCategoriesController.java

@@ -33,4 +33,10 @@ public class SysMusicScoreCategoriesController extends BaseController {
         return succeed(sysMusicScoreCategoriesService.queryTree(queryInfo));
     }
 
+    @ApiOperation(value = "获取分类详情")
+    @GetMapping("/get")
+    @PreAuthorize("@pcs.hasPermissions('sysMusicScoreCategories/get')")
+    public Object get(Integer id) {
+        return succeed(sysMusicScoreCategoriesService.get(id));
+    }
 }