Explorar o código

Merge remote-tracking branch 'origin/master'

Joburgess %!s(int64=5) %!d(string=hai) anos
pai
achega
32af29ee9f

+ 11 - 0
mec-biz/src/main/java/com/ym/mec/biz/dal/page/SporadicChargeInfoQueryInfo.java

@@ -11,6 +11,17 @@ public class SporadicChargeInfoQueryInfo extends QueryInfo {
     @ApiModelProperty(value = "收费类型",required = false)
     private Integer chargeType;
 
+    @ApiModelProperty(value = "类型",required = false)
+    private String type;
+
+    public String getType() {
+        return type;
+    }
+
+    public void setType(String type) {
+        this.type = type;
+    }
+
     public String getOrganId() {
         return organId;
     }

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

@@ -267,152 +267,152 @@ public class ClassGroupServiceImpl extends BaseServiceImpl<Integer, ClassGroup>
 
     @Override
     @Transactional(rollbackFor = Exception.class)
-    public List<HighClassGroupDto> addHighClassGroup(List<HighClassGroupDto> highClassGroupList) throws Exception {
-        String key = "addHighClassGroup";
-        long value = Thread.currentThread().getId();
-        redisCache.getLocked(key, value, 30);
-        MusicGroup musicGroup = musicGroupDao.get(highClassGroupList.get(0).getMusicGroupId());
-
-        int highClassGroupNum = studentRegistrationDao.findMusicGroupStudentNum(musicGroup.getId()) / 5;
-        if (highClassGroupList.size() > highClassGroupNum) {
-            throw new BizException("班数不能大于" + highClassGroupNum);
-        }
-
-        List<ClassGroup> classGroups = classGroupDao.findClassGroupByMusicGroupIdAndType(musicGroup.getId(), ClassGroupTypeEnum.HIGH);
-        if (classGroups.size() > 0) {
-            List<Integer> classGroupIds = classGroups.stream().map(classGroup -> classGroup.getId()).collect(Collectors.toList());
-
-            //删除基础提高班
-            classGroupDao.batchSoftDelete(classGroupIds);
-            //删除基础提高老师
-            classGroupTeacherMapperDao.delClassGroupTeacherMapper(classGroupIds);
-
-            List<CourseSchedule> classGroupNoStartCourseSchedules = courseScheduleService.findClassGroupNoStartCourseSchedules(classGroupIds, GroupType.MUSIC);
-
-            if (classGroupNoStartCourseSchedules.size() > 0) {
-                List<Long> courseScheduleIds = classGroupNoStartCourseSchedules.stream().map(courseSchedule -> courseSchedule.getId()).collect(Collectors.toList());
-                courseScheduleTeacherSalaryDao.batchDeleteByCourseScheduleIds(courseScheduleIds);
-                teacherAttendanceDao.batchDeleteByCourseSchedules(courseScheduleIds);
-                //删除基础提高班课程
-                courseScheduleDao.deleteCourseSchedulesByClassGroupIds(courseScheduleIds);
-            }
-
-            List<ImGroupModel> imGroupModelList = new ArrayList<>();
-            for (ClassGroup classGroup : classGroups) {
-                imGroupModelList.add(new ImGroupModel(classGroup.getId().toString(), null, classGroup.getName()));
-            }
-            imFeignService.groupBatchDismiss(imGroupModelList);
-        }
-
-        List<CourseSchedule> courseScheduleList = new ArrayList<>();
-        List<ClassGroupTeacherMapper> classGroupTeacherMapperList = new ArrayList<>();
-        List<ClassGroupImGroupDto> classGroupImGroupList = new ArrayList<>();
-        Integer schoolId = musicGroup.getSchoolId();
-
-
-        for (HighClassGroupDto highClassGroup : highClassGroupList) {
-            if (highClassGroup.getDayOfWeek() < 1 || highClassGroup.getDayOfWeek() > 7) {
-                throw new BizException("上课星期错误,请核查");
-            }
-            //1、插入班级信息
-            Date date;
-            date = new Date();
-            highClassGroup.setId(null);
-            highClassGroup.setGroupType(GroupType.MUSIC);
-            highClassGroup.setCreateTime(date);
-            highClassGroup.setUpdateTime(date);
-            highClassGroup.setType(ClassGroupTypeEnum.HIGH);
-            highClassGroup.setTotalClassTimes(highClassGroup.getCourseTimes());
-            highClassGroup.setCurrentClassTimes(0);
-            insert(highClassGroup);
-
-            //2、插入班级关联老师
-            ClassGroupTeacherMapper classGroupTeacherMapper = new ClassGroupTeacherMapper();
-            classGroupTeacherMapper.setMusicGroupId(highClassGroup.getMusicGroupId());
-            classGroupTeacherMapper.setClassGroupId(highClassGroup.getId());
-            classGroupTeacherMapper.setTeacherRole(TeachTypeEnum.BISHOP);
-            classGroupTeacherMapper.setUserId(highClassGroup.getUserId());
-            classGroupTeacherMapper.setGroupType(GroupType.MUSIC);
-            classGroupTeacherMapper.setCreateTime(date);
-            classGroupTeacherMapper.setUpdateTime(date);
-            classGroupTeacherMapperList.add(classGroupTeacherMapper);
-
-            //3、插入班级排课信息
-            int times = 0;
-            LocalDateTime now = LocalDate.parse(highClassGroup.getStartDate(), DateTimeFormatter.ofPattern("yyyy-MM-dd")).atStartOfDay();
-
-            List<Subject> subjectList = subjectService.findBySubjectByIdList(highClassGroup.getSubjectIdList());
-
-            String courseScheduleName = subjectList.stream().map(subject -> subject.getName()).collect(Collectors.joining("/"));
-
-
-            Map<String, Integer> holidayDays = new HashMap<>();
-            Map<Integer, Map<String, Integer>> holiday = new HashMap<>();
-            if (highClassGroup.getHoliday()) {
-                holiday = jiaRiFeignService.query(now.getYear());
-                holidayDays = holiday.get(now.getYear());
-            }
-
-            WhileNode:
-            while (highClassGroup.getCourseTimes() > times) {
-                if(highClassGroup.getHoliday() && !holiday.containsKey(now.getYear())){
-                    holiday = jiaRiFeignService.query(now.getYear());
-                    holidayDays = holiday.get(now.getYear());
-                }
-                if (highClassGroup.getHoliday() && holidayDays.containsKey(now.format(DateTimeFormatter.ofPattern("MMdd")))) {
-                    now = now.plusDays(1);
-                    continue;
-                }
-
-                int dayOfWeek = now.getDayOfWeek().getValue();
-                if (highClassGroup.getDayOfWeek() == dayOfWeek) {
-                    CourseSchedule courseSchedule = new CourseSchedule();
-                    Instant instant = now.atZone(ZoneId.systemDefault()).toInstant();
-                    Date classDate = Date.from(instant);
-                    String startClassTime = DateUtil.getDate(classDate) + " " + highClassGroup.getStartClassTime() + ":00";
-                    String endClassTime = DateUtil.getDate(classDate) + " " + highClassGroup.getEndClassTime() + ":00";
-
-                    courseSchedule.setSchoolId(schoolId);
-                    courseSchedule.setMusicGroupId(highClassGroup.getMusicGroupId());
-                    courseSchedule.setClassGroupId(highClassGroup.getId());
-                    courseSchedule.setStatus(CourseStatusEnum.NOT_START);
-                    courseSchedule.setClassDate(classDate);
-                    courseSchedule.setStartClassTime(DateUtil.stringToDate(startClassTime));
-                    courseSchedule.setEndClassTime(DateUtil.stringToDate(endClassTime));
-                    courseSchedule.setTeacherId(highClassGroup.getUserId());
-                    courseSchedule.setActualTeacherId(highClassGroup.getUserId());
-                    courseSchedule.setCreateTime(date);
-                    courseSchedule.setUpdateTime(date);
-                    courseSchedule.setTeachMode(TeachModeEnum.OFFLINE);
-                    courseSchedule.setType(CourseSchedule.CourseScheduleType.HIGH);
-                    courseSchedule.setGroupType(GroupType.MUSIC);
-                    courseSchedule.setName(courseScheduleName + "-" + CourseSchedule.CourseScheduleType.HIGH.getMsg());
-                    courseScheduleList.add(courseSchedule);
-                    times++;
-                }
-                now = now.plusDays(1);
-            }
-
-            List<Integer> userIdList = new ArrayList<>();
-            userIdList.add(classGroupTeacherMapper.getUserId());
-
-            ClassGroupImGroupDto classGroupImGroupDto = new ClassGroupImGroupDto();
-            classGroupImGroupDto.setClassGroup(highClassGroup);
-            classGroupImGroupDto.setUserIds(userIdList);
-            classGroupImGroupList.add(classGroupImGroupDto);
-        }
-
-
-        //加入Im群组
-        batchAddImGroup(classGroupImGroupList);
-        classGroupTeacherMapperService.classGroupTeachersInsert(classGroupTeacherMapperList);
-        //检测新排课冲突
-        courseScheduleService.checkNewCourseSchedules(courseScheduleList, false);
-        courseScheduleDao.batchAddCourseSchedules(courseScheduleList);
-
-        redisCache.releaseLocked(key, value);
-        return highClassGroupList;
-    }
+	public List<HighClassGroupDto> addHighClassGroup(List<HighClassGroupDto> highClassGroupList) throws Exception {
+		String key = "addHighClassGroup";
+		long value = Thread.currentThread().getId();
+		redisCache.getLocked(key, value, 30);
+		try {
+			MusicGroup musicGroup = musicGroupDao.get(highClassGroupList.get(0).getMusicGroupId());
+
+			int highClassGroupNum = studentRegistrationDao.findMusicGroupStudentNum(musicGroup.getId()) / 5;
+			if (highClassGroupList.size() > highClassGroupNum) {
+				throw new BizException("班数不能大于" + highClassGroupNum);
+			}
+
+			List<ClassGroup> classGroups = classGroupDao.findClassGroupByMusicGroupIdAndType(musicGroup.getId(), ClassGroupTypeEnum.HIGH);
+			if (classGroups.size() > 0) {
+				List<Integer> classGroupIds = classGroups.stream().map(classGroup -> classGroup.getId()).collect(Collectors.toList());
+
+				// 删除基础提高班
+				classGroupDao.batchSoftDelete(classGroupIds);
+				// 删除基础提高老师
+				classGroupTeacherMapperDao.delClassGroupTeacherMapper(classGroupIds);
+
+				List<CourseSchedule> classGroupNoStartCourseSchedules = courseScheduleService.findClassGroupNoStartCourseSchedules(classGroupIds,
+						GroupType.MUSIC);
+
+				if (classGroupNoStartCourseSchedules.size() > 0) {
+					List<Long> courseScheduleIds = classGroupNoStartCourseSchedules.stream().map(courseSchedule -> courseSchedule.getId())
+							.collect(Collectors.toList());
+					courseScheduleTeacherSalaryDao.batchDeleteByCourseScheduleIds(courseScheduleIds);
+					teacherAttendanceDao.batchDeleteByCourseSchedules(courseScheduleIds);
+					// 删除基础提高班课程
+					courseScheduleDao.deleteCourseSchedulesByClassGroupIds(courseScheduleIds);
+				}
+
+				List<ImGroupModel> imGroupModelList = new ArrayList<>();
+				for (ClassGroup classGroup : classGroups) {
+					imGroupModelList.add(new ImGroupModel(classGroup.getId().toString(), null, classGroup.getName()));
+				}
+				imFeignService.groupBatchDismiss(imGroupModelList);
+			}
+
+			List<CourseSchedule> courseScheduleList = new ArrayList<>();
+			List<ClassGroupTeacherMapper> classGroupTeacherMapperList = new ArrayList<>();
+			List<ClassGroupImGroupDto> classGroupImGroupList = new ArrayList<>();
+			Integer schoolId = musicGroup.getSchoolId();
+
+			for (HighClassGroupDto highClassGroup : highClassGroupList) {
+				if (highClassGroup.getDayOfWeek() < 1 || highClassGroup.getDayOfWeek() > 7) {
+					throw new BizException("上课星期错误,请核查");
+				}
+				// 1、插入班级信息
+				Date date;
+				date = new Date();
+				highClassGroup.setId(null);
+				highClassGroup.setGroupType(GroupType.MUSIC);
+				highClassGroup.setCreateTime(date);
+				highClassGroup.setUpdateTime(date);
+				highClassGroup.setType(ClassGroupTypeEnum.HIGH);
+				highClassGroup.setTotalClassTimes(highClassGroup.getCourseTimes());
+				highClassGroup.setCurrentClassTimes(0);
+				insert(highClassGroup);
+
+				// 2、插入班级关联老师
+				ClassGroupTeacherMapper classGroupTeacherMapper = new ClassGroupTeacherMapper();
+				classGroupTeacherMapper.setMusicGroupId(highClassGroup.getMusicGroupId());
+				classGroupTeacherMapper.setClassGroupId(highClassGroup.getId());
+				classGroupTeacherMapper.setTeacherRole(TeachTypeEnum.BISHOP);
+				classGroupTeacherMapper.setUserId(highClassGroup.getUserId());
+				classGroupTeacherMapper.setGroupType(GroupType.MUSIC);
+				classGroupTeacherMapper.setCreateTime(date);
+				classGroupTeacherMapper.setUpdateTime(date);
+				classGroupTeacherMapperList.add(classGroupTeacherMapper);
+
+				// 3、插入班级排课信息
+				int times = 0;
+				LocalDateTime now = LocalDate.parse(highClassGroup.getStartDate(), DateTimeFormatter.ofPattern("yyyy-MM-dd")).atStartOfDay();
+
+				List<Subject> subjectList = subjectService.findBySubjectByIdList(highClassGroup.getSubjectIdList());
+
+				String courseScheduleName = subjectList.stream().map(subject -> subject.getName()).collect(Collectors.joining("/"));
+
+				Map<String, Integer> holidayDays = new HashMap<>();
+				Map<Integer, Map<String, Integer>> holiday = new HashMap<>();
+				if (highClassGroup.getHoliday()) {
+					holiday = jiaRiFeignService.query(now.getYear());
+					holidayDays = holiday.get(now.getYear());
+				}
+
+				WhileNode: while (highClassGroup.getCourseTimes() > times) {
+					if (highClassGroup.getHoliday() && !holiday.containsKey(now.getYear())) {
+						holiday = jiaRiFeignService.query(now.getYear());
+						holidayDays = holiday.get(now.getYear());
+					}
+					if (highClassGroup.getHoliday() && holidayDays.containsKey(now.format(DateTimeFormatter.ofPattern("MMdd")))) {
+						now = now.plusDays(1);
+						continue;
+					}
+
+					int dayOfWeek = now.getDayOfWeek().getValue();
+					if (highClassGroup.getDayOfWeek() == dayOfWeek) {
+						CourseSchedule courseSchedule = new CourseSchedule();
+						Instant instant = now.atZone(ZoneId.systemDefault()).toInstant();
+						Date classDate = Date.from(instant);
+						String startClassTime = DateUtil.getDate(classDate) + " " + highClassGroup.getStartClassTime() + ":00";
+						String endClassTime = DateUtil.getDate(classDate) + " " + highClassGroup.getEndClassTime() + ":00";
+
+						courseSchedule.setSchoolId(schoolId);
+						courseSchedule.setMusicGroupId(highClassGroup.getMusicGroupId());
+						courseSchedule.setClassGroupId(highClassGroup.getId());
+						courseSchedule.setStatus(CourseStatusEnum.NOT_START);
+						courseSchedule.setClassDate(classDate);
+						courseSchedule.setStartClassTime(DateUtil.stringToDate(startClassTime));
+						courseSchedule.setEndClassTime(DateUtil.stringToDate(endClassTime));
+						courseSchedule.setTeacherId(highClassGroup.getUserId());
+						courseSchedule.setActualTeacherId(highClassGroup.getUserId());
+						courseSchedule.setCreateTime(date);
+						courseSchedule.setUpdateTime(date);
+						courseSchedule.setTeachMode(TeachModeEnum.OFFLINE);
+						courseSchedule.setType(CourseSchedule.CourseScheduleType.HIGH);
+						courseSchedule.setGroupType(GroupType.MUSIC);
+						courseSchedule.setName(courseScheduleName + "-" + CourseSchedule.CourseScheduleType.HIGH.getMsg());
+						courseScheduleList.add(courseSchedule);
+						times++;
+					}
+					now = now.plusDays(1);
+				}
+
+				List<Integer> userIdList = new ArrayList<>();
+				userIdList.add(classGroupTeacherMapper.getUserId());
+
+				ClassGroupImGroupDto classGroupImGroupDto = new ClassGroupImGroupDto();
+				classGroupImGroupDto.setClassGroup(highClassGroup);
+				classGroupImGroupDto.setUserIds(userIdList);
+				classGroupImGroupList.add(classGroupImGroupDto);
+			}
+
+			// 加入Im群组
+			batchAddImGroup(classGroupImGroupList);
+			classGroupTeacherMapperService.classGroupTeachersInsert(classGroupTeacherMapperList);
+			// 检测新排课冲突
+			courseScheduleService.checkNewCourseSchedules(courseScheduleList, false);
+			courseScheduleDao.batchAddCourseSchedules(courseScheduleList);
+		} finally {
+			redisCache.releaseLocked(key, value);
+		}
+		return highClassGroupList;
+	}
 
     @Override
     public PageInfo<TeacherMusicClassInfoDto> getTeacherMusicClass(QueryInfo queryInfo) {

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

@@ -1437,10 +1437,10 @@ public class MusicGroupServiceImpl extends BaseServiceImpl<String, MusicGroup> i
             throw new BizException("个人信息不存在");
         }
         //判断是否是续费
-		List<StudentPaymentOrder> orderList = studentPaymentOrderDao.queryByCondition(GroupType.MUSIC, musicGroupId, userId, DealStatusEnum.SUCCESS);
+		/*List<StudentPaymentOrder> orderList = studentPaymentOrderDao.queryByCondition(GroupType.MUSIC, musicGroupId, userId, DealStatusEnum.SUCCESS);
 		if (orderList == null || orderList.size() == 0) {
 			throw new BizException("请走报名缴费流程");
-		}
+		}*/
         
         // 判断当前是否是续费状态
         if (musicGroupStudentFee.getPaymentStatus() != PaymentStatus.NON_PAYMENT) {

+ 75 - 68
mec-biz/src/main/java/com/ym/mec/biz/service/impl/StudentRegistrationServiceImpl.java

@@ -250,74 +250,81 @@ public class StudentRegistrationServiceImpl extends BaseServiceImpl<Long, Studen
 
     @Override
     @Transactional(rollbackFor = Exception.class)
-    public StudentRegistration addStudent(StudentRegistration studentRegistration) throws Exception {
-        Date date = new Date();
-        Integer userId = 0;
-        SysUser sysUser = studentRegistrationDao.getSysUserByPhone(studentRegistration.getParentsPhone());
-        if (sysUser == null) {
-            sysUser = new SysUser();
-            sysUser.setPhone(studentRegistration.getParentsPhone());
-            sysUser.setCreateTime(date);
-            sysUser.setUpdateTime(date);
-            sysUser.setLockFlag(0);
-            sysUser.setDelFlag(com.ym.mec.auth.api.enums.YesOrNoEnum.NO);
-            sysUser.setUserType(SysUserType.STUDENT);
-            sysUser.setGender(studentRegistration.getGender());
-            if (studentRegistration.getOrganId() != null) {
-                sysUser.setOrganId(studentRegistration.getOrganId());
-            }
-            sysUser.setRealName(studentRegistration.getParentsName());
-            sysUser.setUsername(studentRegistration.getName());
-            sysUser.setIdCardNo(studentRegistration.getIdCardNo());
-            sysUser.setBirthdate(studentRegistration.getBirthdate());
-            teacherDao.addSysUser(sysUser);
-            userId = sysUser.getId();
-            //添加用户现金账户
-            sysUserCashAccountDao.insert(new SysUserCashAccount(userId, "CNY"));
-            //注册到融云
-            if (StringUtils.isEmpty(sysUser.getAvatar())) {
-                sysUser.setAvatar(sysConfigDao.findConfigValue(SysConfigService.USER_DEFAULT_HEAD_URL));
-            }
-            ImResult register = imFeignService.register(new ImUserModel(userId.toString(), sysUser.getUsername(), sysUser.getAvatar()));
-            sysUser.setImToken(register.getToken());
-        }else{
-            if(!sysUser.getUserType().equals(SysUserType.STUDENT)){
-                throw new BizException("您系统存在非学生的账户,不能注册学生");
-            }
-            sysUser.setUserType(SysUserType.STUDENT);
-            sysUser.setPhone(studentRegistration.getParentsPhone());
-            sysUser.setOrganId(studentRegistration.getOrganId());
-            sysUser.setRealName(studentRegistration.getParentsName());
-            sysUser.setUsername(studentRegistration.getName());
-            sysUser.setGender(studentRegistration.getGender());
-            sysUser.setBirthdate(studentRegistration.getBirthdate());
-            sysUser.setCreateTime(date);
-            sysUser.setUpdateTime(date);
-            teacherDao.updateUser(sysUser);
-        }
-
-        studentRegistration.setActualSubjectId(studentRegistration.getSubjectId());
-        studentRegistration.setCreateTime(date);
-        studentRegistration.setUpdateTime(date);
-        studentRegistration.setUserId(sysUser.getId());
-        studentRegistrationDao.insert(studentRegistration);
-        studentRegistrationDao.updateCurrentClass(studentRegistration);
-        //增加报名学生数
-        musicGroupSubjectPlanService.addApplyStudentNum(studentRegistration.getMusicGroupId(), studentRegistration.getSubjectId(), 1);
-        //报名成功后,发送短信
-//        String studentApplyUrl = sysConfigDao.findConfigValue(SysConfigService.STUDENT_APPLY_URL) + studentRegistration.getMusicGroupId();
-        String serverPhone = sysConfigDao.findConfigValue(SysConfigService.SERVER_PHONE);
-        Subject subject = subjectDao.get(studentRegistration.getActualSubjectId());
-//        MusicGroup musicGroup = musicGroupDao.get(studentRegistration.getMusicGroupId());
-
-        Map<Integer, String> map = new HashMap<>(1);
-        map.put(studentRegistration.getUserId(), studentRegistration.getParentsPhone());
-        sysMessageService.batchSendMessage(MessageSenderPluginContext.MessageSender.YIMEI,
-                MessageTypeEnum.SMS_APPLY_MESSAGE, map, null, 0, "",
-                studentRegistration.getParentsName(), subject.getName(), serverPhone);
-
-        return studentRegistration;
-    }
+	public StudentRegistration addStudent(StudentRegistration studentRegistration) throws Exception {
+		String key = "_student_registration";
+		long threadId = Thread.currentThread().getId();
+		if (!redisCache.getLocked(key, threadId, 10)) {
+			throw new BizException("系统繁忙,请稍后再试");
+		}
+		try {
+			Date date = new Date();
+			Integer userId = 0;
+			SysUser sysUser = studentRegistrationDao.getSysUserByPhone(studentRegistration.getParentsPhone());
+			if (sysUser == null) {
+				sysUser = new SysUser();
+				sysUser.setPhone(studentRegistration.getParentsPhone());
+				sysUser.setCreateTime(date);
+				sysUser.setUpdateTime(date);
+				sysUser.setLockFlag(0);
+				sysUser.setDelFlag(com.ym.mec.auth.api.enums.YesOrNoEnum.NO);
+				sysUser.setUserType(SysUserType.STUDENT);
+				sysUser.setGender(studentRegistration.getGender());
+				if (studentRegistration.getOrganId() != null) {
+					sysUser.setOrganId(studentRegistration.getOrganId());
+				}
+				sysUser.setRealName(studentRegistration.getParentsName());
+				sysUser.setUsername(studentRegistration.getName());
+				sysUser.setIdCardNo(studentRegistration.getIdCardNo());
+				sysUser.setBirthdate(studentRegistration.getBirthdate());
+				teacherDao.addSysUser(sysUser);
+				userId = sysUser.getId();
+				// 添加用户现金账户
+				sysUserCashAccountDao.insert(new SysUserCashAccount(userId, "CNY"));
+				// 注册到融云
+				if (StringUtils.isEmpty(sysUser.getAvatar())) {
+					sysUser.setAvatar(sysConfigDao.findConfigValue(SysConfigService.USER_DEFAULT_HEAD_URL));
+				}
+				ImResult register = imFeignService.register(new ImUserModel(userId.toString(), sysUser.getUsername(), sysUser.getAvatar()));
+				sysUser.setImToken(register.getToken());
+			} else {
+				if (!sysUser.getUserType().equals(SysUserType.STUDENT)) {
+					throw new BizException("您系统存在非学生的账户,不能注册学生");
+				}
+				sysUser.setUserType(SysUserType.STUDENT);
+				sysUser.setPhone(studentRegistration.getParentsPhone());
+				sysUser.setOrganId(studentRegistration.getOrganId());
+				sysUser.setRealName(studentRegistration.getParentsName());
+				sysUser.setUsername(studentRegistration.getName());
+				sysUser.setGender(studentRegistration.getGender());
+				sysUser.setBirthdate(studentRegistration.getBirthdate());
+				sysUser.setCreateTime(date);
+				sysUser.setUpdateTime(date);
+				teacherDao.updateUser(sysUser);
+			}
+
+			studentRegistration.setActualSubjectId(studentRegistration.getSubjectId());
+			studentRegistration.setCreateTime(date);
+			studentRegistration.setUpdateTime(date);
+			studentRegistration.setUserId(sysUser.getId());
+			studentRegistrationDao.insert(studentRegistration);
+			studentRegistrationDao.updateCurrentClass(studentRegistration);
+			// 增加报名学生数
+			musicGroupSubjectPlanService.addApplyStudentNum(studentRegistration.getMusicGroupId(), studentRegistration.getSubjectId(), 1);
+			// 报名成功后,发送短信
+			// String studentApplyUrl = sysConfigDao.findConfigValue(SysConfigService.STUDENT_APPLY_URL) + studentRegistration.getMusicGroupId();
+			String serverPhone = sysConfigDao.findConfigValue(SysConfigService.SERVER_PHONE);
+			Subject subject = subjectDao.get(studentRegistration.getActualSubjectId());
+			// MusicGroup musicGroup = musicGroupDao.get(studentRegistration.getMusicGroupId());
+
+			Map<Integer, String> map = new HashMap<>(1);
+			map.put(studentRegistration.getUserId(), studentRegistration.getParentsPhone());
+			sysMessageService.batchSendMessage(MessageSenderPluginContext.MessageSender.YIMEI, MessageTypeEnum.SMS_APPLY_MESSAGE, map, null, 0, "",
+					studentRegistration.getParentsName(), subject.getName(), serverPhone);
+		} finally {
+			redisCache.releaseLocked(key, threadId);
+		}
+		return studentRegistration;
+	}
 
     @Override
     public StudentInfo queryStudentInfo(Integer userId) {

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

@@ -399,7 +399,7 @@ public class TeacherServiceImpl extends BaseServiceImpl<Integer, Teacher>  imple
 				teacher.setFlowOrganRange(StringUtils.join(organNames,","));
 			}
 			if(StringUtils.isNotEmpty(teacher.getOrganId())){
-				teacher.setOrganName(organizationDao.get(Integer.parseInt(teacher.getOrganId())).getName());
+				teacher.setOrganName(organizationDao.get(teacher.getTeacherOrganId()).getName());
 			}
 			//专业技能
 			if(StringUtils.isNotEmpty(teacher.getSubjectId())){

+ 9 - 2
mec-biz/src/main/resources/config/mybatis/SporadicChargeInfo.xml

@@ -91,15 +91,22 @@
 			<if test="chargeType != null">
 				AND sci.charge_type_ = #{chargeType}
 			</if>
+			<if test="type == 'personal'">
+				AND sci.user_id_ IS NOT NULL
+			</if>
+			<if test="type == 'common'">
+				AND sci.user_id_ IS NULL
+			</if>
 			<if test="search != null">
-				AND (sci.title_ LIKE CONCAT('%',#{search},'%') OR su.username LIKE CONCAT('%',#{search},'%'))
+				AND (sci.title_ LIKE CONCAT('%',#{search},'%') OR su.username_ LIKE CONCAT('%',#{search},'%'))
 			</if>
 		</where>
 	</sql>
 
 	<!-- 查询当前表的总记录数 -->
 	<select id="queryCount" resultType="int">
-		SELECT COUNT(id_) FROM sporadic_charge_info sci
+		SELECT COUNT(sci.id_) FROM sporadic_charge_info sci
+		LEFT JOIN sys_user su ON su.id_ = sci.user_id_
 		<include refid="queryPageSql"/>
 	</select>
 	<select id="findInfoById" resultMap="SporadicChargeInfo">

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

@@ -25,7 +25,9 @@ public class ResourceServerConfig extends ResourceServerConfigurerAdapter {
 	@Override
 	public void configure(HttpSecurity http) throws Exception {
 		http.csrf().disable().exceptionHandling().accessDeniedHandler(baseAccessDeniedHandler).authenticationEntryPoint(baseAuthenticationEntryPoint).and()
-				.authorizeRequests().antMatchers("/v2/api-docs","/code/*","/register/*","/studentOrder/*","/musicGroup/getSubjectGoodsAndInfo","/musicGroup/getMusicGroupStatus","/musicGroup/getOrderStatus","/musicGroup/pay","/musicGroup/rePay","/studentManage/queryStudentPer").permitAll().anyRequest().authenticated().and().httpBasic();
+				.authorizeRequests().antMatchers("/v2/api-docs","/code/*","/register/*","/studentOrder/*","/musicGroup/getSubjectGoodsAndInfo",
+				"/musicGroup/getMusicGroupStatus","/musicGroup/getOrderStatus",
+				"/musicGroup/pay","/musicGroup/rePay","/studentManage/queryStudentPer","/sporadicChargeInfo/get").permitAll().anyRequest().authenticated().and().httpBasic();
 	}
 
 	@Override

+ 5 - 5
mec-student/src/main/java/com/ym/mec/student/controller/SporadicChargeInfoController.java

@@ -40,13 +40,13 @@ public class SporadicChargeInfoController extends BaseController {
 	@ApiOperation(value = "单查询")
 	@GetMapping("/get")
 	public Object get(Integer id) {
-		SysUser sysUser = sysUserFeignService.queryUserInfo();
-		if (sysUser == null) {
-			return failed("用户不存在");
-		}
+//		SysUser sysUser = sysUserFeignService.queryUserInfo();
+//		if (sysUser == null) {
+//			return failed("用户不存在");
+//		}
 		SporadicChargeInfo chargeInfo = sporadicChargeInfoService.get(id);
 		if(chargeInfo != null){
-			SysUserCashAccount locked = sysUserCashAccountDao.getLocked(sysUser.getId());
+			SysUserCashAccount locked = sysUserCashAccountDao.getLocked(chargeInfo.getUserId());
 			chargeInfo.setBalance(locked.getBalance());
 		}else {
 			throw new BizException("信息不存在");

+ 1 - 1
mec-web/src/main/java/com/ym/mec/web/controller/ExportController.java

@@ -211,7 +211,7 @@ public class ExportController extends BaseController {
                     row.setSubjectName(studentRegistration.getSubjectName());
                     row.setSchoolName(studentRegistration.getSchoolName());
                     if (row.getType().equals(OrderTypeEnum.APPLY) && studentRegistration.getKitType() != null && studentRegistration.getKitType().equals("LEASE")) {
-                        row.setLeaseFee(studentRegistration.getDepositFee());
+                        row.setLeaseFee(musicalFee);
                         row.setMusicalFee(BigDecimal.ZERO);
                     }
                 }

+ 8 - 0
mec-web/src/main/java/com/ym/mec/web/controller/SporadicChargeInfoController.java

@@ -2,6 +2,7 @@ package com.ym.mec.web.controller;
 
 import com.ym.mec.auth.api.client.SysUserFeignService;
 import com.ym.mec.auth.api.entity.SysUser;
+import com.ym.mec.auth.api.enums.SysUserType;
 import com.ym.mec.biz.dal.dao.EmployeeDao;
 import com.ym.mec.biz.dal.entity.Employee;
 import com.ym.mec.biz.dal.entity.SporadicChargeInfo;
@@ -78,6 +79,13 @@ public class SporadicChargeInfoController extends BaseController {
 			if(user == null){
 				return failed("学员信息不存在");
 			}
+			if(user.getUserType() != SysUserType.STUDENT){
+				return failed("该用户不是学员");
+			}
+			if(user.getOrganId() == null){
+				return failed("分部信息异常");
+			}
+			sporadicChargeInfo.setOrganId(Integer.parseInt(user.getOrganId()));
 		}
 		return succeed(sporadicChargeInfoService.insert(sporadicChargeInfo));
 	}