Bladeren bron

Merge remote-tracking branch 'origin/master'

Joburgess 5 jaren geleden
bovenliggende
commit
9cf013af4e
23 gewijzigde bestanden met toevoegingen van 139 en 145 verwijderingen
  1. 2 2
      mec-biz/src/main/java/com/ym/mec/biz/dal/dao/DemoGroupDao.java
  2. 1 1
      mec-biz/src/main/java/com/ym/mec/biz/dal/dao/MusicGroupDao.java
  3. 5 2
      mec-biz/src/main/java/com/ym/mec/biz/service/ContractService.java
  4. 4 4
      mec-biz/src/main/java/com/ym/mec/biz/service/impl/ClassGroupServiceImpl.java
  5. 43 12
      mec-biz/src/main/java/com/ym/mec/biz/service/impl/ContractServiceImpl.java
  6. 1 5
      mec-biz/src/main/java/com/ym/mec/biz/service/impl/CourseScheduleServiceImpl.java
  7. 3 5
      mec-biz/src/main/java/com/ym/mec/biz/service/impl/EmployeeServiceImpl.java
  8. 11 20
      mec-biz/src/main/java/com/ym/mec/biz/service/impl/MusicGroupServiceImpl.java
  9. 4 0
      mec-biz/src/main/java/com/ym/mec/biz/service/impl/StudentAttendanceServiceImpl.java
  10. 2 4
      mec-biz/src/main/java/com/ym/mec/biz/service/impl/StudentRegistrationServiceImpl.java
  11. 1 5
      mec-biz/src/main/java/com/ym/mec/biz/service/impl/StudentWithdrawServiceImpl.java
  12. 1 5
      mec-biz/src/main/java/com/ym/mec/biz/service/impl/TeacherLeaveRecordServiceImpl.java
  13. 4 1
      mec-biz/src/main/java/com/ym/mec/biz/service/impl/TeacherServiceImpl.java
  14. 2 10
      mec-biz/src/main/java/com/ym/mec/biz/service/impl/VipGroupServiceImpl.java
  15. 1 3
      mec-biz/src/main/resources/config/mybatis/ClassGroupMapper.xml
  16. 5 3
      mec-biz/src/main/resources/config/mybatis/CourseScheduleMapper.xml
  17. 2 8
      mec-biz/src/main/resources/config/mybatis/DemoGroupMapper.xml
  18. 4 10
      mec-biz/src/main/resources/config/mybatis/EmployeeMapper.xml
  19. 1 4
      mec-biz/src/main/resources/config/mybatis/MusicGroupMapper.xml
  20. 35 32
      mec-biz/src/main/resources/config/mybatis/TeacherMapper.xml
  21. 1 1
      mec-im/src/main/java/com/ym/config/ResourceServerConfig.java
  22. 3 2
      mec-student/src/main/java/com/ym/mec/student/controller/ContractsController.java
  23. 3 6
      mec-web/src/main/java/com/ym/mec/web/controller/IndexController.java

+ 2 - 2
mec-biz/src/main/java/com/ym/mec/biz/dal/dao/DemoGroupDao.java

@@ -121,12 +121,12 @@ public interface DemoGroupDao extends BaseDAO<Long, DemoGroup> {
      * @param organIds
      * @return
      */
-    Map<String, Integer> queryDemoGroupNum(@Param("organIds") String[] organIds);
+    Map<String, Integer> queryDemoGroupNum(@Param("organIds") String organIds);
     
     /**
      * 
      * @param organIds
      * @return
      */
-    Integer queryCurrentMonthCoursesNum(@Param("organIds") String[] organIds);
+    Integer queryCurrentMonthCoursesNum(@Param("organIds") String organIds);
 }

+ 1 - 1
mec-biz/src/main/java/com/ym/mec/biz/dal/dao/MusicGroupDao.java

@@ -146,7 +146,7 @@ public interface MusicGroupDao extends BaseDAO<String, MusicGroup> {
      * @param roleIds
      * @return
      */
-    Set<Integer> queryUserIdByRoleId(@Param("roleIds") Set<Integer> roleIds,@Param("organIds") String[] organIds);
+    Set<Integer> queryUserIdByRoleId(@Param("roleIds") Set<Integer> roleIds,@Param("organIds") String organIds);
 
     /**
      * 获取教务老师时当前用户的乐团

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

@@ -1,6 +1,7 @@
 package com.ym.mec.biz.service;
 
 import com.ym.mec.biz.dal.entity.SysUserTsign;
+import com.ym.mec.biz.dal.enums.KitGroupPurchaseTypeEnum;
 
 public interface ContractService {
 
@@ -65,16 +66,18 @@ public interface ContractService {
 	 * @param userId
 	 * @param musicGroupId
 	 * @param goodsIds
+	 * @param kitGroupPurchaseTypeEnum
 	 * @return
 	 */
-	boolean transferGoodsContract(Integer userId, String musicGroupId, String goodsIds);
+	boolean transferGoodsContract(Integer userId, String musicGroupId, String goodsIds, KitGroupPurchaseTypeEnum kitGroupPurchaseTypeEnum);
 
 	/**
 	 * 查询商品协议
 	 * @param userId
 	 * @param musicGroupId
 	 * @param goodsIds
+	 * @param kitGroupPurchaseTypeEnum
 	 * @return
 	 */
-	String queryGoodsContract(Integer userId, String musicGroupId, String goodsIds);
+	String queryGoodsContract(Integer userId, String musicGroupId, String goodsIds, KitGroupPurchaseTypeEnum kitGroupPurchaseTypeEnum);
 }

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

@@ -1579,12 +1579,12 @@ public class ClassGroupServiceImpl extends BaseServiceImpl<Integer, ClassGroup>
             params.put("offset", pageInfo.getOffset());
             dataList = classGroupDao.queryMusicGroupCourseSchedule(params);
             //获取当前合奏班班级编号列表
-            Set<Integer> mixClassGroupIds = dataList.stream().map(e -> e.getMixClassGroupId()).collect(Collectors.toSet());
-            String mixClassGroupIdsStr = StringUtils.join(mixClassGroupIds, ",");
+//            Set<Integer> mixClassGroupIds = dataList.stream().map(e -> e.getMixClassGroupId()).collect(Collectors.toSet());
+//            String mixClassGroupIdsStr = StringUtils.join(mixClassGroupIds, ",");
             //所有课程编号的列表
             List<Integer> couseScheduleIds = dataList.stream().map(MusicGroupCourseScheduleDto::getCourseScheduleId).distinct().collect(Collectors.toList());
             //获取合奏班名称
-            Map<Integer, String> classGroupNames = MapUtil.convertMybatisMap(classGroupDao.findNameById(mixClassGroupIdsStr));
+//            Map<Integer, String> classGroupNames = MapUtil.convertMybatisMap(classGroupDao.findNameById(mixClassGroupIdsStr));
 
             //主教老师
             List<CourseScheduleTeacherSalary> bishopTeachers = courseScheduleTeacherSalaryDao.findByCourseScheduleIdsAndTeacherRole(couseScheduleIds, "BISHOP");
@@ -1595,7 +1595,7 @@ public class ClassGroupServiceImpl extends BaseServiceImpl<Integer, ClassGroup>
             Map<Long, List<CourseScheduleTeacherSalary>> courseScheduleTeachingTeacherMaps = teachingTeachers.stream().collect(Collectors.groupingBy(CourseScheduleTeacherSalary::getCourseScheduleId));
 
             dataList.forEach(e -> {
-                e.setMixClassGroupName(classGroupNames.get(e.getMixClassGroupId()));
+//                e.setMixClassGroupName(classGroupNames.get(e.getMixClassGroupId()));
                 List<CourseScheduleTeacherSalary> currentBishopTeacher = courseScheduleBishopTeacherMaps.get(e.getCourseScheduleId().longValue());
                 List<CourseScheduleTeacherSalary> TeachingTeachers = new ArrayList<>();
                 if (!Objects.isNull(currentBishopTeacher) && !CollectionUtils.isEmpty(currentBishopTeacher)) {

+ 43 - 12
mec-biz/src/main/java/com/ym/mec/biz/service/impl/ContractServiceImpl.java

@@ -21,18 +21,24 @@ import com.ym.mec.auth.api.client.SysUserFeignService;
 import com.ym.mec.auth.api.entity.SysUser;
 import com.ym.mec.biz.dal.dao.MusicGroupPaymentCalenderDao;
 import com.ym.mec.biz.dal.dao.MusicGroupStudentFeeDao;
+import com.ym.mec.biz.dal.dao.StudentPaymentOrderDetailDao;
 import com.ym.mec.biz.dal.dto.StudentInfo;
 import com.ym.mec.biz.dal.entity.Goods;
 import com.ym.mec.biz.dal.entity.MusicGroup;
 import com.ym.mec.biz.dal.entity.MusicGroupPaymentCalender;
 import com.ym.mec.biz.dal.entity.MusicGroupStudentFee;
 import com.ym.mec.biz.dal.entity.MusicGroupSubjectPlan;
+import com.ym.mec.biz.dal.entity.StudentPaymentOrder;
+import com.ym.mec.biz.dal.entity.StudentPaymentOrderDetail;
 import com.ym.mec.biz.dal.entity.StudentRegistration;
 import com.ym.mec.biz.dal.entity.Subject;
 import com.ym.mec.biz.dal.entity.SysUserContracts;
 import com.ym.mec.biz.dal.entity.SysUserContracts.ContractType;
 import com.ym.mec.biz.dal.entity.SysUserTsign;
 import com.ym.mec.biz.dal.entity.VipGroup;
+import com.ym.mec.biz.dal.enums.DealStatusEnum;
+import com.ym.mec.biz.dal.enums.KitGroupPurchaseTypeEnum;
+import com.ym.mec.biz.dal.enums.OrderDetailTypeEnum;
 import com.ym.mec.biz.service.ContractService;
 import com.ym.mec.biz.service.GoodsService;
 import com.ym.mec.biz.service.MusicGroupService;
@@ -82,6 +88,9 @@ public class ContractServiceImpl implements ContractService, InitializingBean {
 	private MusicGroupSubjectGoodsGroupService musicGroupSubjectGoodsGroupService;
 
 	@Autowired
+	private StudentPaymentOrderDetailDao studentPaymentOrderDetailDao;
+
+	@Autowired
 	private VipGroupService vipGroupService;
 
 	@Autowired
@@ -556,7 +565,7 @@ public class ContractServiceImpl implements ContractService, InitializingBean {
 	}
 
 	@Override
-	public boolean transferGoodsContract(Integer userId, String musicGroupId, String goodsIds) {
+	public boolean transferGoodsContract(Integer userId, String musicGroupId, String goodsIds, KitGroupPurchaseTypeEnum kitGroupPurchaseTypeEnum) {
 		SysUserTsign sysUserTsign = sysUserTsignService.get(userId);
 
 		if (sysUserTsign == null) {
@@ -595,12 +604,23 @@ public class ContractServiceImpl implements ContractService, InitializingBean {
 		List<Goods> goodsList = goodsService.findGoodsByIds(goodsIds);
 		params.put("goodsList", goodsList);
 
-		MusicGroupSubjectPlan musicGroupSubjectPlan = musicGroupSubjectPlanService.getMusicOneSubjectClassPlan(musicGroupId, subjectId);
-		if (musicGroupSubjectPlan == null) {
-			throw new BizException("声部课程费用设置找不到");
+		double depositFee = 0d;
+		if (kitGroupPurchaseTypeEnum == KitGroupPurchaseTypeEnum.LEASE) {
+			StudentPaymentOrder studentPaymentOrder = studentPaymentOrderService.findMusicGroupApplyOrderByStatus(userId, musicGroupId, DealStatusEnum.SUCCESS);
+
+			if (studentPaymentOrder == null) {
+				throw new BizException("缴费订单不存在");
+			}
+
+			List<StudentPaymentOrderDetail> orderDetailList = studentPaymentOrderDetailDao.findApplyOrderGoods(studentPaymentOrder.getId());
+			for (StudentPaymentOrderDetail detail : orderDetailList) {
+				if (detail.getType() == OrderDetailTypeEnum.MUSICAL) {
+					depositFee = detail.getPrice().doubleValue();
+				}
+			}
 		}
-		params.put("depositFee", musicGroupSubjectPlan.getDepositFee().doubleValue());
-		params.put("depositFeeFmt", MoneyUtil.toChinese(musicGroupSubjectPlan.getDepositFee().toString()));
+		params.put("depositFee", depositFee);
+		params.put("depositFeeFmt", MoneyUtil.toChinese(depositFee + ""));
 
 		params.put("isShowVisualSeal", false);
 
@@ -642,7 +662,7 @@ public class ContractServiceImpl implements ContractService, InitializingBean {
 	}
 
 	@Override
-	public String queryGoodsContract(Integer userId, String musicGroupId, String goodsIds) {
+	public String queryGoodsContract(Integer userId, String musicGroupId, String goodsIds, KitGroupPurchaseTypeEnum kitGroupPurchaseTypeEnum) {
 
 		// 合成freemarker
 		String srcPdfPath = contractBaseDir + "/goods/" + userId + ".pdf";
@@ -672,12 +692,23 @@ public class ContractServiceImpl implements ContractService, InitializingBean {
 		List<Goods> goodsList = goodsService.findGoodsByIds(goodsIds);
 		params.put("goodsList", goodsList);
 
-		MusicGroupSubjectPlan musicGroupSubjectPlan = musicGroupSubjectPlanService.getMusicOneSubjectClassPlan(musicGroupId, subjectId);
-		if (musicGroupSubjectPlan == null) {
-			throw new BizException("声部课程费用设置找不到");
+		double depositFee = 0d;
+		if (kitGroupPurchaseTypeEnum == KitGroupPurchaseTypeEnum.LEASE) {
+			StudentPaymentOrder studentPaymentOrder = studentPaymentOrderService.findMusicGroupApplyOrderByStatus(userId, musicGroupId, DealStatusEnum.SUCCESS);
+
+			if (studentPaymentOrder == null) {
+				throw new BizException("缴费订单不存在");
+			}
+
+			List<StudentPaymentOrderDetail> orderDetailList = studentPaymentOrderDetailDao.findApplyOrderGoods(studentPaymentOrder.getId());
+			for (StudentPaymentOrderDetail detail : orderDetailList) {
+				if (detail.getType() == OrderDetailTypeEnum.MUSICAL) {
+					depositFee = detail.getPrice().doubleValue();
+				}
+			}
 		}
-		params.put("depositFee", musicGroupSubjectPlan.getDepositFee().doubleValue());
-		params.put("depositFeeFmt", MoneyUtil.toChinese(musicGroupSubjectPlan.getDepositFee().toString()));
+		params.put("depositFee", depositFee);
+		params.put("depositFeeFmt", MoneyUtil.toChinese(depositFee + ""));
 
 		params.put("isShowVisualSeal", true);
 

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

@@ -1043,11 +1043,7 @@ public class CourseScheduleServiceImpl extends BaseServiceImpl<Long, CourseSched
 		roleIds.add(SysUserRole.EDUCATIONAL_TEACHER);
 		Map<String,Long> memo = new HashMap<>(1);
 		memo.put("courseScheduleComplaintsId",courseScheduleComplaints.getId());
-		String[] organIds = null;
-		if(StringUtils.isNotEmpty(user.getOrganId())){
-			organIds = user.getOrganId().split(",");
-		}
-		sysMessageService.batchSeoMessage(musicGroupDao.queryUserIdByRoleId(roleIds,organIds),MessageTypeEnum.BACKSTAGE_STUDENT_APPEAL, JSONObject.toJSONString(memo),courseSchedule.getName(),user.getUsername());
+		sysMessageService.batchSeoMessage(musicGroupDao.queryUserIdByRoleId(roleIds,user.getOrganId()),MessageTypeEnum.BACKSTAGE_STUDENT_APPEAL, JSONObject.toJSONString(memo),courseSchedule.getName(),user.getUsername());
 	}
 
 	@Override

+ 3 - 5
mec-biz/src/main/java/com/ym/mec/biz/service/impl/EmployeeServiceImpl.java

@@ -64,6 +64,9 @@ public class EmployeeServiceImpl extends BaseServiceImpl<Integer, Employee>  imp
 		if(user != null && user.getId() != null){
 			Employee employee1 = employeeDao.get(user.getId());
 			if(employee1 == null){
+				if(StringUtils.isEmpty(user.getPassword())){
+					employee.setPassword(new BCryptPasswordEncoder().encode(ParamEnum.INIT_PASSWORD.getCode().toString()));
+				}
 				employee.setOrganId(employee.getOrganIdList());
 				employee.setUserId(user.getId());
 				employeeDao.insert(employee);
@@ -134,11 +137,6 @@ public class EmployeeServiceImpl extends BaseServiceImpl<Integer, Employee>  imp
 		PageInfo<EmployeeDto> pageInfo = new PageInfo<>(queryInfo.getPage(), queryInfo.getRows());
 		Map<String, Object> params = new HashMap<>();
 		MapUtil.populateMap(params, queryInfo);
-		String organId = queryInfo.getOrganId();
-		if(StringUtils.isNotEmpty(organId)){
-			String[] organIds = organId.split(",");
-			params.put("organIds",organIds);
-		}
 		List<EmployeeDto> dataList = null;
 		int count = employeeDao.queryEmployByOrganIdCount(params);
 		if (count > 0) {

+ 11 - 20
mec-biz/src/main/java/com/ym/mec/biz/service/impl/MusicGroupServiceImpl.java

@@ -165,8 +165,7 @@ public class MusicGroupServiceImpl extends BaseServiceImpl<String, MusicGroup> i
             Set<Integer> roleIds = new HashSet<>(1);
             roleIds.add(SysUserRole.SECTION_MANAGER);
 
-    		String[] organIds = { musicGroup.getOrganId() + "" };
-            sysMessageService.batchSeoMessage(musicGroupDao.queryUserIdByRoleId(roleIds,organIds),MessageTypeEnum.BACKSTAGE_CREATE_MUSIC_GROUP_APPLY,"",sysUser.getUsername());
+            sysMessageService.batchSeoMessage(musicGroupDao.queryUserIdByRoleId(roleIds,musicGroup.getOrganId() + ""),MessageTypeEnum.BACKSTAGE_CREATE_MUSIC_GROUP_APPLY,"",sysUser.getUsername());
         }
         // 保存乐团付费主体列表
         //批量新增
@@ -606,8 +605,7 @@ public class MusicGroupServiceImpl extends BaseServiceImpl<String, MusicGroup> i
         roleIds.add(SysUserRole.ADMISSIONS_DIRECTOR);
         roleIds.add(SysUserRole.DEAN_OF_STUDIES);
 
-		String[] organIds = { musicGroup.getOrganId() + "" };
-        sysMessageService.batchSeoMessage(musicGroupDao.queryUserIdByRoleId(roleIds,organIds),MessageTypeEnum.BACKSTAGE_ACTION_GROUP,"1",musicGroup.getName());
+        sysMessageService.batchSeoMessage(musicGroupDao.queryUserIdByRoleId(roleIds,musicGroup.getOrganId() + ""),MessageTypeEnum.BACKSTAGE_ACTION_GROUP,"1",musicGroup.getName());
     }
 
     private MusicGroup saveLog(String musicGroupId,MusicGroupStatusEnum statusEnum) throws Exception {
@@ -638,8 +636,7 @@ public class MusicGroupServiceImpl extends BaseServiceImpl<String, MusicGroup> i
         Set<Integer> roleIds = new HashSet<>(1);
         roleIds.add(SysUserRole.SECTION_MANAGER);
 
-		String[] organIds = { musicGroup.getOrganId() + "" };
-        sysMessageService.batchSeoMessage(musicGroupDao.queryUserIdByRoleId(roleIds,organIds),MessageTypeEnum.BACKSTAGE_CREATE_MUSIC_GROUP_APPLY,"",sysUser.getUsername());
+        sysMessageService.batchSeoMessage(musicGroupDao.queryUserIdByRoleId(roleIds,musicGroup.getOrganId() + ""),MessageTypeEnum.BACKSTAGE_CREATE_MUSIC_GROUP_APPLY,"",sysUser.getUsername());
     }
 
     @Override
@@ -674,8 +671,7 @@ public class MusicGroupServiceImpl extends BaseServiceImpl<String, MusicGroup> i
         roleIds.add(SysUserRole.OPERATION_EXECUTIVE);
         roleIds.add(SysUserRole.ADMISSIONS_DIRECTOR);
 
-		String[] organIds = { musicGroup.getOrganId() + "" };
-        sysMessageService.batchSeoMessage(musicGroupDao.queryUserIdByRoleId(roleIds,organIds),MessageTypeEnum.BACKSTAGE_ACTION_APPLY,"",musicGroup.getName());
+        sysMessageService.batchSeoMessage(musicGroupDao.queryUserIdByRoleId(roleIds,musicGroup.getOrganId() + ""),MessageTypeEnum.BACKSTAGE_ACTION_APPLY,"",musicGroup.getName());
     }
 
     @Override
@@ -774,8 +770,7 @@ public class MusicGroupServiceImpl extends BaseServiceImpl<String, MusicGroup> i
         roleIds.add(SysUserRole.SECTION_MANAGER);
         roleIds.add(SysUserRole.OPERATION_EXECUTIVE);
 
-		String[] organIds = { musicGroup.getOrganId() + "" };
-        sysMessageService.batchSeoMessage(musicGroupDao.queryUserIdByRoleId(roleIds,organIds),MessageTypeEnum.BACKSTAGE_MUSIC_GROUP_STOP,"1",musicGroup.getName());
+        sysMessageService.batchSeoMessage(musicGroupDao.queryUserIdByRoleId(roleIds,musicGroup.getOrganId() + ""),MessageTypeEnum.BACKSTAGE_MUSIC_GROUP_STOP,"1",musicGroup.getName());
         return true;
     }
 
@@ -870,8 +865,7 @@ public class MusicGroupServiceImpl extends BaseServiceImpl<String, MusicGroup> i
         roleIds.add(SysUserRole.OPERATION_EXECUTIVE);
         roleIds.add(SysUserRole.ADMISSIONS_DIRECTOR);
 
-		String[] organIds = { musicGroup.getOrganId() + "" };
-        sysMessageService.batchSeoMessage(musicGroupDao.queryUserIdByRoleId(roleIds,organIds),MessageTypeEnum.BACKSTAGE_LENGTHEN_PAYMENT,"",musicGroup.getName());
+        sysMessageService.batchSeoMessage(musicGroupDao.queryUserIdByRoleId(roleIds,musicGroup.getOrganId() + ""),MessageTypeEnum.BACKSTAGE_LENGTHEN_PAYMENT,"",musicGroup.getName());
         return true;
     }
 
@@ -901,8 +895,7 @@ public class MusicGroupServiceImpl extends BaseServiceImpl<String, MusicGroup> i
         memo.put("Id",musicGroupQuit.getId());
         memo.put("type","MUSICGROUP");
 
-		String[] organIds = { musicGroup.getOrganId() + "" };
-        sysMessageService.batchSeoMessage(musicGroupDao.queryUserIdByRoleId(roleIds,organIds),MessageTypeEnum.BACKSTAGE_STUDENT_APPLY_QUIT_GROUP,JSONObject.toJSONString(memo),sysUser.getUsername());
+        sysMessageService.batchSeoMessage(musicGroupDao.queryUserIdByRoleId(roleIds,musicGroup.getOrganId() + ""),MessageTypeEnum.BACKSTAGE_STUDENT_APPLY_QUIT_GROUP,JSONObject.toJSONString(memo),sysUser.getUsername());
         return true;
     }
 
@@ -1288,8 +1281,7 @@ public class MusicGroupServiceImpl extends BaseServiceImpl<String, MusicGroup> i
         Set<Integer> roleIds = new HashSet<>(1);
         roleIds.add(SysUserRole.SECTION_MANAGER);
 
-		String[] organIds = { musicGroup.getOrganId() + "" };
-        sysMessageService.batchSeoMessage(musicGroupDao.queryUserIdByRoleId(roleIds,organIds),MessageTypeEnum.BACKSTAGE_TEACHER_AMOUNT_CHANGE,"",
+        sysMessageService.batchSeoMessage(musicGroupDao.queryUserIdByRoleId(roleIds,musicGroup.getOrganId() + ""),MessageTypeEnum.BACKSTAGE_TEACHER_AMOUNT_CHANGE,"",
                 teacher.getRealName(),musicGroup.getName(),scope.equals("all")?"所有":"本次");
         return true;
     }
@@ -1487,8 +1479,8 @@ public class MusicGroupServiceImpl extends BaseServiceImpl<String, MusicGroup> i
         roleIds.add(SysUserRole.SECTION_MANAGER);
         roleIds.add(SysUserRole.EDUCATIONAL_TEACHER);
 		roleIds.add(SysUserRole.OPERATION_EXECUTIVE);
-		String[] organIds = { musicGroup.getOrganId() + "" };
-        sysMessageService.batchSeoMessage(musicGroupDao.queryUserIdByRoleId(roleIds,organIds),MessageTypeEnum.BACKSTAGE_ACTION_PAYMENT,"",musicGroup.getName());
+
+        sysMessageService.batchSeoMessage(musicGroupDao.queryUserIdByRoleId(roleIds,musicGroup.getOrganId() + ""),MessageTypeEnum.BACKSTAGE_ACTION_PAYMENT,"",musicGroup.getName());
         return musicGroup;
     }
 
@@ -1562,7 +1554,6 @@ public class MusicGroupServiceImpl extends BaseServiceImpl<String, MusicGroup> i
         Set<Integer> roleIds = new HashSet<>(1);
         roleIds.add(SysUserRole.SECTION_MANAGER);
 
-		String[] organIds = { musicGroup.getOrganId() + "" };
-        sysMessageService.batchSeoMessage(musicGroupDao.queryUserIdByRoleId(roleIds,organIds),MessageTypeEnum.BACKSTAGE_MUSIC_GROUP_MARKING,"",musicGroup.getName());
+        sysMessageService.batchSeoMessage(musicGroupDao.queryUserIdByRoleId(roleIds,musicGroup.getOrganId() + ""),MessageTypeEnum.BACKSTAGE_MUSIC_GROUP_MARKING,"",musicGroup.getName());
     }
 }

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

@@ -379,6 +379,10 @@ public class StudentAttendanceServiceImpl extends BaseServiceImpl<Long, StudentA
 					studentAttendance.setStatus(statusEnum);
 					studentAttendance.setUserId(userId);
 					studentAttendance.setTeacherId(courseSchedule.getActualTeacherId());
+
+					courseSchedule.setUpdateTime(date);
+					courseSchedule.setStudentNum((courseSchedule.getStudentNum() == null?0:courseSchedule.getStudentNum()) + 1);
+					courseScheduleDao.update(courseSchedule);
 					studentAttendanceDao.insert(studentAttendance);
 				}
 			}else {

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

@@ -146,8 +146,7 @@ public class StudentRegistrationServiceImpl extends BaseServiceImpl<Long, Studen
             roleIds.add(SysUserRole.SECTION_MANAGER);
             roleIds.add(SysUserRole.OPERATION_EXECUTIVE);
 
-            String[] organIds = {musicGroup.getOrganId() + ""};
-            sysMessageService.batchSeoMessage(musicGroupDao.queryUserIdByRoleId(roleIds, organIds), MessageTypeEnum.BACKSTAGE_STUDENT_SUBJECT_CHANGE, "", musicGroup.getName());
+            sysMessageService.batchSeoMessage(musicGroupDao.queryUserIdByRoleId(roleIds, musicGroup.getOrganId() + ""), MessageTypeEnum.BACKSTAGE_STUDENT_SUBJECT_CHANGE, "", musicGroup.getName());
         }
         return i;
     }
@@ -505,8 +504,7 @@ public class StudentRegistrationServiceImpl extends BaseServiceImpl<Long, Studen
             Set<Integer> roleIds = new HashSet<>(1);
             roleIds.add(SysUserRole.OPERATION_EXECUTIVE);
 
-            String[] organIds = {musicGroup.getOrganId() + ""};
-            sysMessageService.batchSeoMessage(musicGroupDao.queryUserIdByRoleId(roleIds, organIds), MessageTypeEnum.BACKSTAGE_MUSIC_GROUP_ADD_STUDENT, "", musicGroup.getName(), studentRegistration.getName());
+            sysMessageService.batchSeoMessage(musicGroupDao.queryUserIdByRoleId(roleIds, musicGroup.getOrganId() + ""), MessageTypeEnum.BACKSTAGE_MUSIC_GROUP_ADD_STUDENT, "", musicGroup.getName(), studentRegistration.getName());
             //增加报名学生数
             musicGroupSubjectPlanService.addApplyStudentNum(musicGroupId, studentRegistration.getSubjectId(), 1);
             Integer classGroupId = studentRegistration.getClassGroupId();

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

@@ -197,11 +197,7 @@ public class StudentWithdrawServiceImpl extends BaseServiceImpl<Integer, Student
 				cashAccountDetailService.insert(cashAccountDetail);
 				Set<Integer> roleIds = new HashSet<>(1);
 				roleIds.add(SysUserRole.SECTION_MANAGER);
-				String[] organIds = null;
-				if(StringUtils.isNotEmpty(sysUser.getOrganId())){
-					organIds = sysUser.getOrganId().split(",");
-				}
-				sysMessageService.batchSeoMessage(musicGroupDao.queryUserIdByRoleId(roleIds,organIds), MessageTypeEnum.BACKSTAGE_STUDENT_APPLY_WITHDRAW,"",sysUser.getUsername());
+				sysMessageService.batchSeoMessage(musicGroupDao.queryUserIdByRoleId(roleIds,sysUser.getOrganId()), MessageTypeEnum.BACKSTAGE_STUDENT_APPLY_WITHDRAW,"",sysUser.getUsername());
 			} else {
 				throw new Exception("账户余额不足");
 			}

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

@@ -95,11 +95,7 @@ public class TeacherLeaveRecordServiceImpl extends BaseServiceImpl<Long, Teacher
 		teacherLeaveRecordDao.insert(teacherLeaveRecord);
 		Set<Integer> roleIds = new HashSet<>(1);
 		roleIds.add(SysUserRole.DEAN_OF_STUDIES);
-		String[] organIds = null;
-		if(StringUtils.isNotEmpty(sysUser.getOrganId())){
-			organIds = sysUser.getOrganId().split(",");
-		}
-		Set<Integer> userIds = musicGroupDao.queryUserIdByRoleId(roleIds,organIds);
+		Set<Integer> userIds = musicGroupDao.queryUserIdByRoleId(roleIds,sysUser.getOrganId());
 		if (userIds != null && userIds.size() > 0) {
 			Map<String,Object> memo = new HashMap<>(1);
 			memo.put("leaveRecordId",teacherLeaveRecord.getId());

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

@@ -78,8 +78,11 @@ public class TeacherServiceImpl extends BaseServiceImpl<Integer, Teacher>  imple
 			if(teacher1 == null || teacher1.getId() == null){
 				teacher.setId(id);
 				teacher.setDelFlag(YesOrNoEnum.NO);
-				teacherDao.updateUser(user);
 				teacherDao.insert(teacher);
+				if(user.getUserType() == SysUserType.SYSTEM){
+					teacher.setOrganId(null);
+				}
+				teacherDao.updateUser(teacher);
 			}else {
 				throw new Exception("用户已存在");
 			}

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

@@ -318,11 +318,7 @@ public class VipGroupServiceImpl extends BaseServiceImpl<Long, VipGroup> impleme
 		Map<String,Long> memo = new HashMap<>(1);
 		memo.put("vipGroupId",vipGroupApplyBaseInfoDto.getId());
 
-		String[] organIds = null;
-		if(StringUtils.isNotEmpty(sysUser.getOrganId())){
-			organIds = sysUser.getOrganId().split(",");
-		}
-		Set<Integer> userIds = musicGroupDao.queryUserIdByRoleId(roleIds,organIds);
+		Set<Integer> userIds = musicGroupDao.queryUserIdByRoleId(roleIds,sysUser.getOrganId());
 		if (vipGroup.getVipGroupApplyBaseInfo().getUserId() != null){
 			sysMessageService.batchSeoMessage(userIds,MessageTypeEnum.BACKSTAGE_VIP_COURSE_APPLY, JSONObject.toJSONString(memo),sysUser.getUsername(),sysUser.getUsername());
 		}else {
@@ -1123,11 +1119,7 @@ public class VipGroupServiceImpl extends BaseServiceImpl<Long, VipGroup> impleme
 		Map<String,Object> memo = new HashMap<>(2);
 		memo.put("Id",vipGroupId);
 		memo.put("type","VIPGROUP");
-		String[] organIds = null;
-		if(StringUtils.isNotEmpty(sysUser.getOrganId())){
-			organIds = sysUser.getOrganId().split(",");
-		}
-		sysMessageService.batchSeoMessage(musicGroupDao.queryUserIdByRoleId(roleIds,organIds),MessageTypeEnum.BACKSTAGE_STUDENT_APPLY_QUIT_COURSE,JSONObject.toJSONString(memo),sysUser.getUsername());
+		sysMessageService.batchSeoMessage(musicGroupDao.queryUserIdByRoleId(roleIds,sysUser.getOrganId()),MessageTypeEnum.BACKSTAGE_STUDENT_APPLY_QUIT_COURSE,JSONObject.toJSONString(memo),sysUser.getUsername());
 	}
 
 	@Override

+ 1 - 3
mec-biz/src/main/resources/config/mybatis/ClassGroupMapper.xml

@@ -570,13 +570,11 @@
     <select id="queryMusicGroupCourseSchedule" resultMap="MusicGroupCourseScheduleDto">
         SELECT cs.id_ course_schedule_id_,cs.class_date_,cs.start_class_time_,cs.end_class_time_,cs.class_group_id_,
         cs.type_ course_schedule_type_,cs.status_ course_schedule_status_,cg.name_ course_schedule_name_,
-        IF(cgr.class_group_id_ IS NULL,cs.class_group_id_,cgr.class_group_id_) mix_class_group_id_,
         IF(ISNULL(ta.sign_in_status_),3,ta.sign_in_status_) sign_in_status_,
         IF(ISNULL(ta.sign_out_status_),3,ta.sign_out_status_) sign_out_status_
         FROM course_schedule cs
         LEFT JOIN class_group cg ON cg.id_ = cs.class_group_id_
         LEFT JOIN teacher_attendance ta ON ta.course_schedule_id_ = cs.id_ AND ta.teacher_id_ = cs.actual_teacher_id_
-        LEFT JOIN class_group_relation cgr ON cgr.sub_class_group_id_ = cs.class_group_id_
         LEFT JOIN class_group_teacher_mapper cgtm ON cgtm.class_group_id_ = cs.class_group_id_
         <include refid="queryMusicGroupCourseScheduleSql"/>
         ORDER BY cs.class_date_,cs.start_class_time_
@@ -867,7 +865,7 @@
         WHERE su.id_ IS NOT NULL
     </select>
 
-	<update id="batchUpdateStudentNumMinusOne">
+	<update id="batchUpdateStudentNumMinusOne" parameterType="java.util.List">
 		update class_group set student_num_ = (student_num_ - 1),update_time_ = now() where id_ IN
       <foreach collection="classGroupIds" item="classGroupId" open="(" close=")" separator=",">
           #{classGroupId}

+ 5 - 3
mec-biz/src/main/resources/config/mybatis/CourseScheduleMapper.xml

@@ -1467,13 +1467,15 @@
     </delete>
     
     <select id="queryUnsignedStudentList" resultMap="StudentAttendance">
-        SELECT a.*,cg.current_class_times_ FROM (SELECT cgsm.user_id_,cs.actual_teacher_id_ teacher_id_,
+        SELECT a.*,cg.current_class_times_,sa.id_ FROM (SELECT cgsm.user_id_,cs.actual_teacher_id_ teacher_id_,
         cs.id_ course_schedule_id_,cs.class_group_id_,cs.music_group_id_,cs.group_type_
         FROM class_group_student_mapper cgsm
         right JOIN course_schedule cs ON cgsm.class_group_id_ = cs.class_group_id_
         WHERE cgsm.status_ = 'NORMAL' AND CONCAT(cs.class_date_,' ',cs.end_class_time_) &lt;= now()) a
-        LEFT JOIN student_attendance sa ON a.course_schedule_id_ = sa.course_schedule_id_
-        LEFT JOIN class_group cg ON a.class_group_id_ = cg.id_ WHERE sa.id_ IS NULL
+        LEFT JOIN class_group cg ON a.class_group_id_ = cg.id_
+        LEFT JOIN student_attendance sa ON sa.user_id_ = a.user_id_ AND a.teacher_id_ = sa.teacher_id_
+        AND sa.class_group_id_ = a.class_group_id_ AND sa.course_schedule_id_ = a.course_schedule_id_
+        WHERE sa.id_ IS NULL
     </select>
     <select id="getNextCourseSchedule" resultMap="CourseSchedule">
         SELECT

+ 2 - 8
mec-biz/src/main/resources/config/mybatis/DemoGroupMapper.xml

@@ -309,10 +309,7 @@
 		from demo_group_courses_plan dgcp left join demo_group dg on dgcp.demo_group_id_ = dg.id_
 		<where>
             <if test="organIds != null">
-                AND
-                <foreach collection="organIds" item="item" open="(" close=")" separator=" OR ">
-                    FIND_IN_SET(#{item},dg.organ_id_list_)
-                </foreach>
+                AND INTE_ARRAY(dg.organ_id_list_,#{organIds})
             </if>
     	</where> 
 	</select>
@@ -323,10 +320,7 @@
         where cs.type_ = 'DEMO'
   		and DATE_FORMAT(cs.class_date_, '%Y%m' ) = DATE_FORMAT(CURDATE() , '%Y%m')
         <if test="organIds != null">
-            AND
-            <foreach collection="organIds" item="item" open="(" close=")" separator=" OR ">
-                FIND_IN_SET(#{item},vg.organ_id_list_)
-            </foreach>
+            AND INTE_ARRAY(vg.organ_id_list_,#{organIds})
         </if>
     </select>
 </mapper>

+ 4 - 10
mec-biz/src/main/resources/config/mybatis/EmployeeMapper.xml

@@ -184,11 +184,8 @@
         FROM employee e LEFT JOIN sys_user su ON e.user_id_ = su.id_
         <where>
             su.user_type_ = 'SYSTEM'
-            <if test="organIds != null">
-                AND
-                <foreach collection="organIds" item="item" open="(" close=")" separator=" OR ">
-                    FIND_IN_SET(#{item},e.organ_id_list_)
-                </foreach>
+            <if test="organId != null">
+                AND INTE_ARRAY(e.organ_id_list_,#{organId})
             </if>
             <if test="search != null">
                 AND (su.real_name_ LIKE CONCAT('%',#{search},'%') OR su.phone_ LIKE CONCAT('%',#{search},'%'))
@@ -205,11 +202,8 @@
         FROM employee e LEFT JOIN sys_user su ON e.user_id_ = su.id_
         <where>
             su.user_type_ = 'SYSTEM'
-            <if test="organIds != null">
-                AND
-                <foreach collection="organIds" item="item" open="(" close=")" separator=" OR ">
-                    FIND_IN_SET(#{item},e.organ_id_list_)
-                </foreach>
+            <if test="organId != null">
+                AND INTE_ARRAY(e.organ_id_list_,#{organId})
             </if>
             <if test="search != null">
                 AND (su.real_name_ LIKE CONCAT('%',#{search},'%') OR su.phone_ LIKE CONCAT('%',#{search},'%'))

+ 1 - 4
mec-biz/src/main/resources/config/mybatis/MusicGroupMapper.xml

@@ -368,10 +368,7 @@
 			#{item}
 		</foreach>
 		<if test="organIds != null">
-			AND
-			<foreach collection="organIds" item="item" open="(" close=")" separator=" OR ">
-				FIND_IN_SET(#{item},e.organ_id_list_)
-			</foreach>
+			AND INTE_ARRAY(e.organ_id_list_,#{organIds})
 		</if>
 	</select>
 	<select id="queryTeacherIdMap" resultType="java.util.Map">

+ 35 - 32
mec-biz/src/main/resources/config/mybatis/TeacherMapper.xml

@@ -154,6 +154,9 @@
             <if test="wxOpenid != null">
                 wx_openid_ = #{wxOpenid},
             </if>
+            <if test="password != null">
+                password_ = #{password},
+            </if>
             <if test="avatar != null">
                 avatar_ = #{avatar},
             </if>
@@ -209,6 +212,7 @@
         t.job_nature_,t.is_probation_period_,GROUP_CONCAT(s.name_) subject_name_,su.del_flag_
         FROM teacher t LEFT JOIN sys_user su ON t.id_ = su.id_
         LEFT JOIN `subject` s ON FIND_IN_SET(s.id_,t.subject_id_)
+        WHERE su.del_flag_ = 0
         <include refid="queryPageMap"/>
         GROUP BY t.id_
         ORDER BY t.update_time_ DESC
@@ -218,30 +222,29 @@
     <select id="queryCount" resultType="int">
         SELECT COUNT(DISTINCT t.id_)
         FROM teacher t LEFT JOIN sys_user su ON t.id_ = su.id_
+        WHERE su.del_flag_ = 0
         <include refid="queryPageMap"/>
     </select>
 
     <sql id="queryPageMap">
-        <where>
-            <if test="lockFlag != null">
-                AND su.lock_flag_ = #{lockFlag}
-            </if>
-            <if test="subjectId != null">
-                AND FIND_IN_SET(#{subjectId},t.subject_id_)
-            </if>
-            <if test="organId != null">
-                AND FIND_IN_SET(su.organ_id_,#{organId})
-            </if>
-            <if test="search != null">
-                AND (su.real_name_ LIKE CONCAT('%',#{search},'%') OR su.phone_ LIKE CONCAT('%',#{search},'%'))
-            </if>
-            <if test="jobNature != null">
-                AND t.job_nature_ = #{jobNature}
-            </if>
-            <if test="isProbationPeriod != null">
-                AND t.is_probation_period_ = #{isProbationPeriod}
-            </if>
-        </where>
+        <if test="lockFlag != null">
+            AND su.lock_flag_ = #{lockFlag}
+        </if>
+        <if test="subjectId != null">
+            AND FIND_IN_SET(#{subjectId},t.subject_id_)
+        </if>
+        <if test="organId != null">
+            AND FIND_IN_SET(t.organ_id_,#{organId})
+        </if>
+        <if test="search != null">
+            AND (su.real_name_ LIKE CONCAT('%',#{search},'%') OR su.phone_ LIKE CONCAT('%',#{search},'%'))
+        </if>
+        <if test="jobNature != null">
+            AND t.job_nature_ = #{jobNature}
+        </if>
+        <if test="isProbationPeriod != null">
+            AND t.is_probation_period_ = #{isProbationPeriod}
+        </if>
     </sql>
 
     <!-- 根据证件号查询老师 -->
@@ -346,6 +349,7 @@
         LEFT JOIN class_group_teacher_mapper cgtm ON t.id_ = cgtm.user_id_
         LEFT JOIN class_group cg ON cg.id_ = cgtm.class_group_id_
         LEFT JOIN sys_user su ON t.id_ = su.id_
+        WHERE cg.del_flag_ != '1'
         <include refid="queryMusicGroupTeachersSql"/>
         GROUP BY t.id_
         <include refid="global.limit"/>
@@ -356,21 +360,20 @@
         LEFT JOIN class_group_teacher_mapper cgtm ON t.id_ = cgtm.user_id_
         LEFT JOIN class_group cg ON cg.id_ = cgtm.class_group_id_
         LEFT JOIN sys_user su ON t.id_ = su.id_
+        WHERE cg.del_flag_ != '1'
         <include refid="queryMusicGroupTeachersSql"/>
     </select>
     <sql id="queryMusicGroupTeachersSql">
-        <where>
-            <if test="search != null and search != ''">
-                AND (su.real_name_ LIKE CONCAT('%',#{search},'%') OR su.phone_ LIKE CONCAT('%',#{search},'%') OR
-                su.id_=#{search})
-            </if>
-            <if test="musicGroupId != null and musicGroupId != ''">
-                AND cgtm.music_group_id_ = #{musicGroupId}
-            </if>
-            <if test="classGroupId != null">
-                AND cg.id_ = #{classGroupId}
-            </if>
-        </where>
+        <if test="search != null and search != ''">
+            AND (su.real_name_ LIKE CONCAT('%',#{search},'%') OR su.phone_ LIKE CONCAT('%',#{search},'%') OR
+            su.id_=#{search})
+        </if>
+        <if test="musicGroupId != null and musicGroupId != ''">
+            AND cgtm.music_group_id_ = #{musicGroupId}
+        </if>
+        <if test="classGroupId != null">
+            AND cg.id_ = #{classGroupId}
+        </if>
     </sql>
 
     <select id="findSignNum" resultType="java.util.Map">

+ 1 - 1
mec-im/src/main/java/com/ym/config/ResourceServerConfig.java

@@ -10,6 +10,6 @@ import org.springframework.security.oauth2.config.annotation.web.configuration.R
 public class ResourceServerConfig extends ResourceServerConfigurerAdapter {
     @Override
     public void configure(HttpSecurity http) throws Exception {
-        http.authorizeRequests().antMatchers("/v2/api-docs","/user/register","/group/join","/group/create").permitAll().anyRequest().authenticated().and().csrf().disable();
+        http.authorizeRequests().antMatchers("/v2/api-docs","/user/register","/group/join","/group/create","/room/leave").permitAll().anyRequest().authenticated().and().csrf().disable();
     }
 }

+ 3 - 2
mec-student/src/main/java/com/ym/mec/student/controller/ContractsController.java

@@ -10,6 +10,7 @@ import org.springframework.web.bind.annotation.RestController;
 
 import com.ym.mec.auth.api.client.SysUserFeignService;
 import com.ym.mec.auth.api.entity.SysUser;
+import com.ym.mec.biz.dal.enums.KitGroupPurchaseTypeEnum;
 import com.ym.mec.biz.service.ContractService;
 import com.ym.mec.common.controller.BaseController;
 
@@ -36,12 +37,12 @@ public class ContractsController extends BaseController {
 
 	@ApiOperation("查询商品协议")
 	@GetMapping(value = "queryGoodsContract")
-	public Object queryGoodsContract(String musicGroupId, String goodsIds) {
+	public Object queryGoodsContract(String musicGroupId, String goodsIds, KitGroupPurchaseTypeEnum kitGroupPurchaseTypeEnum) {
 		SysUser sysUser = sysUserFeignService.queryUserInfo();
 		if (sysUser == null) {
 			return failed("获取用户信息失败");
 		}
-		return succeed(contractService.queryGoodsContract(sysUser.getId(), musicGroupId, goodsIds));
+		return succeed(contractService.queryGoodsContract(sysUser.getId(), musicGroupId, goodsIds, kitGroupPurchaseTypeEnum));
 	}
 
 	@ApiOperation("查询乐团课程协议")

+ 3 - 6
mec-web/src/main/java/com/ym/mec/web/controller/IndexController.java

@@ -72,17 +72,14 @@ public class IndexController extends BaseController {
 		Map<String, Integer> studentDatas = studentRegistrationDao.queryStudentNum(organId);
 		
 		Map<String, Integer> vipDatas = vipGroupDao.queryVipGroupNum(organId);
-		String[] organIds = null;
-		if(StringUtils.isNotEmpty(organId)){
-			organIds = organId.split(",");
-		}
-		Map<String, Integer> demoDatas = demoGroupDao.queryDemoGroupNum(organIds);
+
+		Map<String, Integer> demoDatas = demoGroupDao.queryDemoGroupNum(organId);
 		
 		Integer musicGroupNum = musicGroupDao.queryCurrentMonthCoursesNum(organId);
 		
 		Integer vipGroupNum = vipGroupDao.queryCurrentMonthCoursesNum(organId);
 		
-		Integer demoGroupNum = demoGroupDao.queryCurrentMonthCoursesNum(organIds);
+		Integer demoGroupNum = demoGroupDao.queryCurrentMonthCoursesNum(organId);
 		
 		Map<String, Object> incomeExpendMap = sysUserCashAccountDetailDao.queryStatistics(organId);