Browse Source

Merge remote-tracking branch 'origin/master'

周箭河 5 năm trước cách đây
mục cha
commit
12b9619c94
30 tập tin đã thay đổi với 353 bổ sung53 xóa
  1. 0 2
      mec-auth/mec-auth-server/src/main/java/com/ym/mec/auth/dal/dao/SysUserDao.java
  2. 6 0
      mec-auth/mec-auth-server/src/main/java/com/ym/mec/auth/service/SysUserService.java
  3. 6 0
      mec-auth/mec-auth-server/src/main/java/com/ym/mec/auth/service/impl/SysUserServiceImpl.java
  4. 8 3
      mec-auth/mec-auth-server/src/main/java/com/ym/mec/auth/web/controller/UserController.java
  5. 3 0
      mec-auth/mec-auth-server/src/main/resources/config/mybatis/SysUserMapper.xml
  6. 8 3
      mec-biz/src/main/java/com/ym/mec/biz/dal/dao/CourseScheduleDao.java
  7. 15 4
      mec-biz/src/main/java/com/ym/mec/biz/dal/dao/TeacherDao.java
  8. 96 0
      mec-biz/src/main/java/com/ym/mec/biz/dal/dto/musicGroupStudentApplyDto.java
  9. 28 0
      mec-biz/src/main/java/com/ym/mec/biz/dal/page/queryMusicGroupStudentQueryInfo.java
  10. 2 2
      mec-biz/src/main/java/com/ym/mec/biz/service/CourseScheduleService.java
  11. 3 0
      mec-biz/src/main/java/com/ym/mec/biz/service/SysUserBankCardService.java
  12. 9 8
      mec-biz/src/main/java/com/ym/mec/biz/service/TeacherService.java
  13. 29 10
      mec-biz/src/main/java/com/ym/mec/biz/service/impl/CourseScheduleServiceImpl.java
  14. 4 2
      mec-biz/src/main/java/com/ym/mec/biz/service/impl/EmployeeServiceImpl.java
  15. 3 0
      mec-biz/src/main/java/com/ym/mec/biz/service/impl/SysUserBankCardServiceImpl.java
  16. 22 4
      mec-biz/src/main/java/com/ym/mec/biz/service/impl/TeacherServiceImpl.java
  17. 3 0
      mec-biz/src/main/java/com/ym/mec/biz/service/impl/VipGroupServiceImpl.java
  18. 1 1
      mec-biz/src/main/resources/config/mybatis/ClassGroupMapper.xml
  19. 27 3
      mec-biz/src/main/resources/config/mybatis/CourseScheduleMapper.xml
  20. 1 1
      mec-biz/src/main/resources/config/mybatis/SysConfigMapper.xml
  21. 29 0
      mec-biz/src/main/resources/config/mybatis/TeacherMapper.xml
  22. 8 0
      mec-client-api/src/main/java/com/ym/mec/im/ImFeignService.java
  23. 5 0
      mec-client-api/src/main/java/com/ym/mec/im/fallback/ImFeignServiceFallback.java
  24. 1 1
      mec-common/common-core/src/main/java/com/ym/mec/common/config/RequestAttributeHystrixConcurrencyStrategy.java
  25. 1 1
      mec-im/src/main/java/com/ym/config/ResourceServerConfig.java
  26. 6 4
      mec-student/src/main/resources/application.yml
  27. 7 0
      mec-teacher/src/main/java/com/ym/mec/teacher/controller/TeacherController.java
  28. 6 4
      mec-teacher/src/main/java/com/ym/mec/teacher/controller/TeacherCourseScheduleController.java
  29. 1 0
      mec-teacher/src/main/java/com/ym/mec/teacher/controller/TeacherManageController.java
  30. 15 0
      mec-util/src/main/java/com/ym/mec/util/date/DateUtil.java

+ 0 - 2
mec-auth/mec-auth-server/src/main/java/com/ym/mec/auth/dal/dao/SysUserDao.java

@@ -1,10 +1,8 @@
 package com.ym.mec.auth.dal.dao;
 
-import com.ym.mec.auth.api.entity.SysMenu;
 import com.ym.mec.auth.api.entity.SysUser;
 import com.ym.mec.common.dal.BaseDAO;
 import com.ym.mec.common.entity.ImUserModel;
-import com.ym.mec.common.page.PageInfo;
 import org.apache.ibatis.annotations.Param;
 
 public interface SysUserDao extends BaseDAO<Integer, SysUser> {

+ 6 - 0
mec-auth/mec-auth-server/src/main/java/com/ym/mec/auth/service/SysUserService.java

@@ -62,4 +62,10 @@ public interface SysUserService extends BaseService<Integer, SysUser> {
 	 * @return
 	 */
 	ImUserModel getBasic(Integer userId);
+
+	/**
+	 * 修改用户基本信息
+	 * @param sysUser
+	 */
+    void updateBaseInfo(SysUser sysUser);
 }

+ 6 - 0
mec-auth/mec-auth-server/src/main/java/com/ym/mec/auth/service/impl/SysUserServiceImpl.java

@@ -118,4 +118,10 @@ public class SysUserServiceImpl extends BaseServiceImpl<Integer, SysUser> implem
 		return sysUserDao.getBasic(userId);
 	}
 
+	@Override
+	public void updateBaseInfo(SysUser sysUser) {
+		sysUserDao.update(sysUser);
+		imFeignService.register(new ImUserModel(sysUser.getId().toString(),sysUser.getUsername(),sysUser.getAvatar()));
+	}
+
 }

+ 8 - 3
mec-auth/mec-auth-server/src/main/java/com/ym/mec/auth/web/controller/UserController.java

@@ -97,7 +97,9 @@ public class UserController extends BaseController {
 			return failed("用户不存在");
 		}
 		password = new BCryptPasswordEncoder().encode(password);
-		sysUserService.updatePassword(mobile, password);
+		sysUser.setPassword(password);
+		sysUser.setUpdateTime(new Date());
+		sysUserService.update(sysUser);
 		return succeed();
 	}
 
@@ -115,7 +117,10 @@ public class UserController extends BaseController {
 			return failed("用户不存在");
 		}
 		if (smsCodeService.verifyValidCode(mobile, authCode)) {
-			sysUserService.updatePassword(mobile, new BCryptPasswordEncoder().encode(newPassword));
+			String password = new BCryptPasswordEncoder().encode(newPassword);
+			sysUser.setPassword(password);
+			sysUser.setUpdateTime(new Date());
+			sysUserService.update(sysUser);
 			return succeed();
 		} else {
 			return failed("验证码错误");
@@ -130,7 +135,7 @@ public class UserController extends BaseController {
 			Date date = new Date();
 			sysUser.setId(user.getUserId());
 			sysUser.setUpdateTime(date);
-			sysUserService.update(sysUser);
+			sysUserService.updateBaseInfo(sysUser);
 			return succeed();
 		}
 		return failed();

+ 3 - 0
mec-auth/mec-auth-server/src/main/resources/config/mybatis/SysUserMapper.xml

@@ -125,6 +125,9 @@
             <if test="idCardNo != null">
                 id_card_no_ = #{idCardNo},
             </if>
+            <if test="password != null">
+                password_ = #{password},
+            </if>
             <if test="wechatId != null">
                 wechat_id_ = #{wechatId},
             </if>

+ 8 - 3
mec-biz/src/main/java/com/ym/mec/biz/dal/dao/CourseScheduleDao.java

@@ -117,7 +117,9 @@ public interface CourseScheduleDao extends BaseDAO<Long, CourseSchedule> {
      * @author Joburgess
      * @date 2019/10/18
      */
-    List<CourseScheduleDto> getTeacherCourseSchedulesWithDate(@Param("classDate") Date classDate, @Param("teacherId") Long teacherId);
+    List<CourseScheduleDto> getTeacherCourseSchedulesWithDate(@Param("classDate") Date classDate,
+                                                              @Param("teacherId") Long teacherId,
+                                                              @Param("type") String type);
 
     /**
      * @param params:
@@ -168,7 +170,9 @@ public interface CourseScheduleDao extends BaseDAO<Long, CourseSchedule> {
      * @author Joburgess
      * @date 2019/10/18
      */
-    List<Date> getTeacherCourseScheduleDate(@Param("teacherId") Long teacherId, @Param("month") Date month);
+    List<Date> getTeacherCourseScheduleDate(@Param("teacherId") Long teacherId,
+                                            @Param("month") Date month,
+                                            @Param("type") String type);
 
     /**
      * @param month:
@@ -206,7 +210,8 @@ public interface CourseScheduleDao extends BaseDAO<Long, CourseSchedule> {
      * @Date: 2019/9/24
      * 获取在指定时间段内存在重复的课程
      */
-    List<CourseSchedule> findOverLapCoursesInDay(@Param("dates") List<Date> dates, @Param("startClassTime") Date startClassTime,
+    List<CourseSchedule> findOverLapCoursesInDay(@Param("dates") List<Date> dates,
+                                                 @Param("startClassTime") Date startClassTime,
                                                  @Param("endClassTime") Date endClassTime);
 
     /**

+ 15 - 4
mec-biz/src/main/java/com/ym/mec/biz/dal/dao/TeacherDao.java

@@ -1,10 +1,7 @@
 package com.ym.mec.biz.dal.dao;
 
 import com.ym.mec.auth.api.entity.SysUser;
-import com.ym.mec.biz.dal.dto.BasicUserDto;
-import com.ym.mec.biz.dal.dto.MusicGroupTeacherAttendanceDto;
-import com.ym.mec.biz.dal.dto.MusicGroupTeachersDto;
-import com.ym.mec.biz.dal.dto.TeacherCloseDto;
+import com.ym.mec.biz.dal.dto.*;
 import com.ym.mec.biz.dal.entity.Teacher;
 import com.ym.mec.common.dal.BaseDAO;
 import org.apache.ibatis.annotations.Param;
@@ -136,4 +133,18 @@ public interface TeacherDao extends BaseDAO<Integer, Teacher> {
      * @return
      */
     int countTeacherAttendance(Map<String, Object> params);
+
+    /**
+     * 获取乐团学员报名列表
+     * @param params
+     * @return
+     */
+    List<musicGroupStudentApplyDto> queryMusicGroupStudentApply(Map<String, Object> params);
+
+    /**
+     * COUNT乐团学员报名列表
+     * @param params
+     * @return
+     */
+    int countMusicGroupStudentApply(Map<String, Object> params);
 }

+ 96 - 0
mec-biz/src/main/java/com/ym/mec/biz/dal/dto/musicGroupStudentApplyDto.java

@@ -0,0 +1,96 @@
+package com.ym.mec.biz.dal.dto;
+
+import java.math.BigDecimal;
+import java.util.Date;
+
+public class musicGroupStudentApplyDto {
+    private Integer userId;
+
+    private String name;
+
+    private String currentGrade;
+
+    private String currentClass;
+
+    private String subjectName;
+
+    private Integer subjectId;
+
+    private String remark;
+
+    private BigDecimal paymentAmount;
+
+    private Date payTime;
+
+    public Integer getUserId() {
+        return userId;
+    }
+
+    public void setUserId(Integer userId) {
+        this.userId = userId;
+    }
+
+    public String getName() {
+        return name;
+    }
+
+    public void setName(String name) {
+        this.name = name;
+    }
+
+    public String getCurrentGrade() {
+        return currentGrade;
+    }
+
+    public void setCurrentGrade(String currentGrade) {
+        this.currentGrade = currentGrade;
+    }
+
+    public String getCurrentClass() {
+        return currentClass;
+    }
+
+    public void setCurrentClass(String currentClass) {
+        this.currentClass = currentClass;
+    }
+
+    public String getSubjectName() {
+        return subjectName;
+    }
+
+    public void setSubjectName(String subjectName) {
+        this.subjectName = subjectName;
+    }
+
+    public Integer getSubjectId() {
+        return subjectId;
+    }
+
+    public void setSubjectId(Integer subjectId) {
+        this.subjectId = subjectId;
+    }
+
+    public String getRemark() {
+        return remark;
+    }
+
+    public void setRemark(String remark) {
+        this.remark = remark;
+    }
+
+    public BigDecimal getPaymentAmount() {
+        return paymentAmount;
+    }
+
+    public void setPaymentAmount(BigDecimal paymentAmount) {
+        this.paymentAmount = paymentAmount;
+    }
+
+    public Date getPayTime() {
+        return payTime;
+    }
+
+    public void setPayTime(Date payTime) {
+        this.payTime = payTime;
+    }
+}

+ 28 - 0
mec-biz/src/main/java/com/ym/mec/biz/dal/page/queryMusicGroupStudentQueryInfo.java

@@ -0,0 +1,28 @@
+package com.ym.mec.biz.dal.page;
+
+import com.ym.mec.common.page.QueryInfo;
+import io.swagger.annotations.ApiModelProperty;
+
+import java.util.Date;
+
+public class queryMusicGroupStudentQueryInfo extends QueryInfo {
+    private String musicGroupId;
+
+    private Integer subjectId;
+
+    public String getMusicGroupId() {
+        return musicGroupId;
+    }
+
+    public void setMusicGroupId(String musicGroupId) {
+        this.musicGroupId = musicGroupId;
+    }
+
+    public Integer getSubjectId() {
+        return subjectId;
+    }
+
+    public void setSubjectId(Integer subjectId) {
+        this.subjectId = subjectId;
+    }
+}

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

@@ -77,7 +77,7 @@ public interface CourseScheduleService extends BaseService<Long, CourseSchedule>
      * @Date: 2019/9/17
      * 根据日期获取当日排课信息
      */
-    List<CourseScheduleDto> getTeacherCourseSchedulesWithDate(Integer userId,Date classDate);
+    List<CourseScheduleDto> getTeacherCourseSchedulesWithDate(Integer userId,Date classDate,String type);
 
     /**
      * @Author: Joburgess
@@ -105,7 +105,7 @@ public interface CourseScheduleService extends BaseService<Long, CourseSchedule>
      * @Date: 2019/9/17
      * 获取教师在该月有课的日期
      */
-    List<Date> getCourseScheduleDateByTeacher(Date month);
+    List<Date> getCourseScheduleDateByTeacher(Date month,String type);
 
     /**
      * @Author: Joburgess

+ 3 - 0
mec-biz/src/main/java/com/ym/mec/biz/service/SysUserBankCardService.java

@@ -1,6 +1,9 @@
 package com.ym.mec.biz.service;
 
+import com.ym.mec.biz.dal.dto.musicGroupStudentApplyDto;
 import com.ym.mec.biz.dal.entity.SysUserBankCard;
+import com.ym.mec.biz.dal.page.queryMusicGroupStudentQueryInfo;
+import com.ym.mec.common.page.PageInfo;
 import com.ym.mec.common.service.BaseService;
 
 import java.util.List;

+ 9 - 8
mec-biz/src/main/java/com/ym/mec/biz/service/TeacherService.java

@@ -1,14 +1,8 @@
 package com.ym.mec.biz.service;
 
-import com.ym.mec.biz.dal.dto.BasicUserDto;
-import com.ym.mec.biz.dal.dto.MusicGroupTeacherAttendanceDto;
-import com.ym.mec.biz.dal.dto.MusicGroupTeachersDto;
-import com.ym.mec.biz.dal.dto.TeacherCloseDto;
+import com.ym.mec.biz.dal.dto.*;
 import com.ym.mec.biz.dal.entity.Teacher;
-import com.ym.mec.biz.dal.page.MusicGroupTeacherAttendanceQueryInfo;
-import com.ym.mec.biz.dal.page.MusicGroupTeachersQueryInfo;
-import com.ym.mec.biz.dal.page.TeacherCloseQueryInfo;
-import com.ym.mec.biz.dal.page.TeacherQueryInfo;
+import com.ym.mec.biz.dal.page.*;
 import com.ym.mec.common.entity.ImGroupModel;
 import com.ym.mec.common.page.PageInfo;
 import com.ym.mec.common.page.QueryInfo;
@@ -120,4 +114,11 @@ public interface TeacherService extends BaseService<Integer, Teacher> {
      * @return
      */
     PageInfo<MusicGroupTeacherAttendanceDto> queryTeacherAttendance(MusicGroupTeacherAttendanceQueryInfo queryInfo);
+
+    /**
+     * 获取乐团学员的报名列表
+     * @param queryInfo
+     * @return
+     */
+    PageInfo<musicGroupStudentApplyDto> queryMusicGroupStudentApply(queryMusicGroupStudentQueryInfo queryInfo);
 }

+ 29 - 10
mec-biz/src/main/java/com/ym/mec/biz/service/impl/CourseScheduleServiceImpl.java

@@ -168,12 +168,12 @@ public class CourseScheduleServiceImpl extends BaseServiceImpl<Long, CourseSched
 	}
 
 	@Override
-	public List<Date> getCourseScheduleDateByTeacher(Date month) {
+	public List<Date> getCourseScheduleDateByTeacher(Date month,String type) {
 		SysUser user = sysUserFeignService.queryUserInfo();
 		if(null==user){
 			throw new BizException("获取用户信息失败");
 		}
-		return courseScheduleDao.getTeacherCourseScheduleDate(user.getId().longValue(),month);
+		return courseScheduleDao.getTeacherCourseScheduleDate(user.getId().longValue(),month,type);
 	}
 
 	@Override
@@ -190,14 +190,15 @@ public class CourseScheduleServiceImpl extends BaseServiceImpl<Long, CourseSched
 		if(Objects.isNull(classDate)){
 			throw new BizException("请选择上课日期!");
 		}
-
 		SysUser user = sysUserFeignService.queryUserInfo();
 		if(null==user){
 			throw new BizException("请登录");
 		}
 		SysConfig vip_appeal_days_range = sysConfigDao.findByParamName("vip_appeal_days_range");
-		Map<String,Object> result=new HashMap<>();
+		SysConfig advance_leave_hours = sysConfigDao.findByParamName("advance_leave_hours");
+		Map<String,Object> result=new HashMap<>(3);
 		result.put("vipAppealDaysRange",vip_appeal_days_range.getParanValue());
+		result.put("advanceLeaveHours",Integer.parseInt(advance_leave_hours.getParanValue()));
 		result.put("list",courseScheduleDao.getStudentCourseSchedulesWithDate(classDate,user.getId().longValue()));
 		return result;
 	}
@@ -233,11 +234,11 @@ public class CourseScheduleServiceImpl extends BaseServiceImpl<Long, CourseSched
 	}
 
 	@Override
-	public List<CourseScheduleDto> getTeacherCourseSchedulesWithDate(Integer userId,Date classDate) {
+	public List<CourseScheduleDto> getTeacherCourseSchedulesWithDate(Integer userId,Date classDate,String type) {
 		if(Objects.isNull(classDate)){
 			throw new BizException("请选择上课日期!");
 		}
-		List<CourseScheduleDto> teacherCourseSchedulesWithDate = courseScheduleDao.getTeacherCourseSchedulesWithDate(classDate, userId.longValue());
+		List<CourseScheduleDto> teacherCourseSchedulesWithDate = courseScheduleDao.getTeacherCourseSchedulesWithDate(classDate, userId.longValue(),type);
 		teacherCourseSchedulesWithDate.forEach(courseScheduleDto -> {
 			if(Objects.nonNull(courseScheduleDto.getClassGroupId())){
 				String[] studentNums = classGroupStudentMapperDao.findStudentNumByClassGroupId(courseScheduleDto.getClassGroupId().longValue());
@@ -331,6 +332,10 @@ public class CourseScheduleServiceImpl extends BaseServiceImpl<Long, CourseSched
 			throw new BizException("课程信息错误");
 		}
 
+		Date now=new Date();
+		//明天日期
+		Date tomorrow = DateUtil.addDays1(now, 1);
+
 		//需要生成课程课酬的课程计划
 		List<CourseSchedule> needCreateCourseScheduleTeacherSalaryCourse=new ArrayList<>();
 
@@ -340,8 +345,17 @@ public class CourseScheduleServiceImpl extends BaseServiceImpl<Long, CourseSched
 
 		Map<Long, CourseSchedule> oldCourseSchedules = oldCourseScheduleList.stream().collect(Collectors.toMap(CourseSchedule::getId,courseSchedule -> courseSchedule));
 		newCourseSchedules.forEach(newCourseSchedule -> {
+
+			if(newCourseSchedule.getStartClassTime().before(tomorrow)){
+			    throw new BizException("调整时间必须为明天以后");
+            }
+
 			CourseSchedule oldCourseSchedule = oldCourseSchedules.get(newCourseSchedule.getId());
 
+            if(oldCourseSchedule.getStartClassTime().before(tomorrow)){
+                throw new BizException("不能调整今天及以前的课程");
+            }
+
 			ArrayList<Date> dates = new ArrayList<>();
 			dates.add(newCourseSchedule.getClassDate());
 			List<CourseSchedule> coursesByDates = courseScheduleDao.findOverLapCoursesInDay(dates,newCourseSchedule.getStartClassTime(),newCourseSchedule.getEndClassTime());
@@ -350,7 +364,7 @@ public class CourseScheduleServiceImpl extends BaseServiceImpl<Long, CourseSched
 				courseScheduleDao.update(newCourseSchedule);
 			}else{
 				coursesByDates.forEach(courseSchedule -> {
-					if(courseSchedule.getTeacherId().equals(newCourseSchedule.getTeacherId())){
+					if(courseSchedule.getActualTeacherId().equals(newCourseSchedule.getActualTeacherId())){
 						//存在时间重叠,需要前端重新调整
 						throw new BizException("所选教师在当天课程安排上存在重叠!");
 					}
@@ -367,7 +381,9 @@ public class CourseScheduleServiceImpl extends BaseServiceImpl<Long, CourseSched
 			List<Integer> beReplaceTeacherIds=new ArrayList<>();
 
 			if(oldCourseSchedule.getType()== CourseSchedule.CourseScheduleType.VIP){
-				if(Objects.isNull(oldCourseSchedule.getActualTeacherId())||!oldCourseSchedule.getActualTeacherId().equals(newCourseSchedule.getActualTeacherId())){
+				if(Objects.isNull(oldCourseSchedule.getActualTeacherId())
+						||(!oldCourseSchedule.getActualTeacherId().equals(newCourseSchedule.getActualTeacherId())
+						&&Objects.nonNull(newCourseSchedule.getActualTeacherId()))){
 					VipGroup byCourseSchedule = vipGroupDao.findByCourseSchedule(newCourseSchedule.getId().intValue());
 					TeacherDefaultVipGroupSalary byTeacherAndCategory = teacherDefaultVipGroupSalaryDao.findByTeacherAndCategory(newCourseSchedule.getActualTeacherId(), byCourseSchedule.getVipGroupCategoryId());
 					List<CourseSchedule> courseSchedules=new ArrayList<>();
@@ -381,7 +397,8 @@ public class CourseScheduleServiceImpl extends BaseServiceImpl<Long, CourseSched
 					}
 				}
 			}else{
-				if(Objects.isNull(oldCourseSchedule.getActualTeacherId())||!oldCourseSchedule.getActualTeacherId().equals(newCourseSchedule.getActualTeacherId())){
+				if(Objects.isNull(oldCourseSchedule.getActualTeacherId())
+						||!oldCourseSchedule.getActualTeacherId().equals(newCourseSchedule.getActualTeacherId())){
 					if(Objects.nonNull(oldCourseSchedule.getActualTeacherId())){
 						beReplaceTeacherIds.add(oldCourseSchedule.getActualTeacherId().intValue());
 					}
@@ -426,7 +443,9 @@ public class CourseScheduleServiceImpl extends BaseServiceImpl<Long, CourseSched
 			}
 		});
 		//生成修改后的教师课酬
-		classGroupTeacherMapperService.createCourseScheduleTeacherSalary(needCreateCourseScheduleTeacherSalaryCourse);
+		if(!CollectionUtils.isEmpty(needCreateCourseScheduleTeacherSalaryCourse)){
+			classGroupTeacherMapperService.createCourseScheduleTeacherSalary(needCreateCourseScheduleTeacherSalaryCourse);
+		}
 	}
 
 	@Transactional(rollbackFor = Exception.class)

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

@@ -5,6 +5,7 @@ import com.ym.mec.auth.api.entity.SysUser;
 import com.ym.mec.auth.api.enums.SysUserType;
 import com.ym.mec.auth.api.enums.YesOrNoEnum;
 import com.ym.mec.biz.dal.dao.EmployeeDao;
+import com.ym.mec.biz.dal.dao.SysConfigDao;
 import com.ym.mec.biz.dal.dao.SysUserCashAccountDao;
 import com.ym.mec.biz.dal.dao.TeacherDao;
 import com.ym.mec.biz.dal.dto.EmployeeDto;
@@ -49,6 +50,8 @@ public class EmployeeServiceImpl extends BaseServiceImpl<Integer, Employee>  imp
 	private SysUserCashAccountDao sysUserCashAccountDao;
 	@Autowired
 	private ContractService contractService;
+	@Autowired
+	private SysConfigDao sysConfigDao;
 
 	@Override
 	public BaseDAO<Integer, Employee> getDAO() {
@@ -85,10 +88,9 @@ public class EmployeeServiceImpl extends BaseServiceImpl<Integer, Employee>  imp
 		employeeDao.batchAddEmployeeRole(employee.getId(),employee.getRoleIds());
 		//添加用户现金账户
 		sysUserCashAccountDao.insert(new SysUserCashAccount(employee.getId(),"CNY"));
-		//添加用户电子签章账户
 		contractService.register(employee.getId(), user.getRealName(), user.getIdCardNo(), user.getPhone());
 		ImResult imResult = imFeignService.register(new ImUserModel(employee.getId().toString(), employee.getUsername(),
-				StringUtils.isEmpty(employee.getAvatar())?"https://daya-online.oss-cn-beijing.aliyuncs.com/201910/RgHwgKc.jpg":employee.getAvatar()));
+				StringUtils.isEmpty(employee.getAvatar())?sysConfigDao.findByParamName("user_default_head_url").getParanValue():employee.getAvatar()));
 		employee.setImToken(imResult.getToken());
 		employeeDao.update(employee);
 	}

+ 3 - 0
mec-biz/src/main/java/com/ym/mec/biz/service/impl/SysUserBankCardServiceImpl.java

@@ -1,9 +1,12 @@
 package com.ym.mec.biz.service.impl;
 
 import com.ym.mec.biz.dal.dao.SysUserBankCardDao;
+import com.ym.mec.biz.dal.dto.musicGroupStudentApplyDto;
 import com.ym.mec.biz.dal.entity.SysUserBankCard;
+import com.ym.mec.biz.dal.page.queryMusicGroupStudentQueryInfo;
 import com.ym.mec.biz.service.SysUserBankCardService;
 import com.ym.mec.common.dal.BaseDAO;
+import com.ym.mec.common.page.PageInfo;
 import com.ym.mec.common.service.impl.BaseServiceImpl;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.data.redis.core.RedisTemplate;

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

@@ -5,10 +5,7 @@ import com.ym.mec.auth.api.entity.SysUser;
 import com.ym.mec.auth.api.enums.SysUserType;
 import com.ym.mec.auth.api.enums.YesOrNoEnum;
 import com.ym.mec.biz.dal.dao.*;
-import com.ym.mec.biz.dal.dto.BasicUserDto;
-import com.ym.mec.biz.dal.dto.MusicGroupTeacherAttendanceDto;
-import com.ym.mec.biz.dal.dto.MusicGroupTeachersDto;
-import com.ym.mec.biz.dal.dto.TeacherCloseDto;
+import com.ym.mec.biz.dal.dto.*;
 import com.ym.mec.biz.dal.entity.MusicGroup;
 import com.ym.mec.biz.dal.entity.School;
 import com.ym.mec.biz.dal.entity.SysUserCashAccount;
@@ -16,6 +13,7 @@ import com.ym.mec.biz.dal.entity.Teacher;
 import com.ym.mec.biz.dal.page.MusicGroupTeacherAttendanceQueryInfo;
 import com.ym.mec.biz.dal.page.TeacherCloseQueryInfo;
 import com.ym.mec.biz.dal.page.TeacherQueryInfo;
+import com.ym.mec.biz.dal.page.queryMusicGroupStudentQueryInfo;
 import com.ym.mec.biz.service.ContractService;
 import com.ym.mec.biz.service.TeacherService;
 import com.ym.mec.common.dal.BaseDAO;
@@ -264,6 +262,26 @@ public class TeacherServiceImpl extends BaseServiceImpl<Integer, Teacher>  imple
 	}
 
 	@Override
+	public PageInfo<musicGroupStudentApplyDto> queryMusicGroupStudentApply(queryMusicGroupStudentQueryInfo queryInfo) {
+		PageInfo<musicGroupStudentApplyDto> pageInfo = new PageInfo<>(queryInfo.getPage(), queryInfo.getRows());
+		Map<String, Object> params = new HashMap<>();
+		MapUtil.populateMap(params, queryInfo);
+
+		List<musicGroupStudentApplyDto> dataList = null;
+		int count = teacherDao.countMusicGroupStudentApply(params);
+		if (count > 0) {
+			pageInfo.setTotal(count);
+			params.put("offset", pageInfo.getOffset());
+			dataList = teacherDao.queryMusicGroupStudentApply(params);
+		}
+		if (count == 0) {
+			dataList = new ArrayList<>();
+		}
+		pageInfo.setRows(dataList);
+		return pageInfo;
+	}
+
+	@Override
 	public List<BasicUserDto> queryMusicGroupTeacher(String musicGroupId) {
 		if(Objects.isNull(musicGroupId)){
 			throw new BizException("请指定乐团");

+ 3 - 0
mec-biz/src/main/java/com/ym/mec/biz/service/impl/VipGroupServiceImpl.java

@@ -255,6 +255,8 @@ public class VipGroupServiceImpl extends BaseServiceImpl<Long, VipGroup> impleme
 				vipGroupApplyBaseInfoDto.getOfflineTeacherSalary());
 	}
 
+
+
 	@Override
 	public void vipApplyAudit(Long vipGroupId, AuditStatusEnum auditStatus, String reason) {
 		if(Objects.isNull(vipGroupId)||Objects.isNull(auditStatus)){
@@ -667,6 +669,7 @@ public class VipGroupServiceImpl extends BaseServiceImpl<Long, VipGroup> impleme
 		studentPaymentOrder.setUserId(user.getId());
 		String orderNo=StringUtils.join(new String[]{user.getId().toString(),String.valueOf(System.currentTimeMillis())});
 		studentPaymentOrder.setOrderNo(orderNo);
+		studentPaymentOrder.setStatus(DealStatusEnum.ING);
 		studentPaymentOrder.setType(OrderTypeEnum.SMALL_CLASS_TO_BUY);
 		studentPaymentOrder.setExpectAmount(vipGroup.getTotalPrice());
 		studentPaymentOrder.setMusicGroupId(vipGroup.getId().toString());

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

@@ -444,7 +444,7 @@
             LEFT JOIN class_group cg ON vgcgm.class_group_id_=cg.id_
             LEFT JOIN course_schedule cs ON cg.id_=cs.class_group_id_
             LEFT JOIN music_group mg ON cg.music_group_id_ = mg.id_
-            LEFT JOIN school s ON mg.school_id_ = s.id_
+            LEFT JOIN school s ON vg.teacher_school_id_ = s.id_
         WHERE
             cs.actual_teacher_id_ = #{teacherId}
             AND cs.status_ != 'OVER'

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

@@ -423,6 +423,7 @@
         CONCAT(cs.class_date_,' ',cs.start_class_time_) start_class_time_,
         CONCAT(cs.class_date_,' ',cs.end_class_time_) end_class_time_,
         cs.status_,
+        csts.user_id_ actual_teacher_id_,
         csts.teacher_role_,
         s.name_ school_name_,
         if(ta.sign_in_status_ IS NULL,0,1) sign_in_status_,
@@ -438,6 +439,9 @@
         LEFT JOIN teacher_attendance ta ON cs.id_=ta.course_schedule_id_ AND ta.teacher_id_=#{teacherId}
         WHERE
         cs.class_date_ = DATE_FORMAT(#{classDate},'%Y%m%d')
+        <if test="type!=null and type!=''">
+            AND cs.type_=#{type}
+        </if>
         AND csts.user_id_ = #{teacherId}
     </select>
 
@@ -502,9 +506,26 @@
 
     <select id="findOverLapCoursesInDay" resultMap="CourseSchedule">
         SELECT
-        *
+            cs.id_,
+            cs.class_group_id_,
+            cs.status_,
+            cs.subsidy_,
+            cs.class_date_,
+            cs.start_class_time_,
+            cs.end_class_time_,
+            cs.teacher_id_,
+            csts.user_id_ actual_teacher_id_,
+            cs.create_time_,
+            cs.update_time_,
+            cs.teach_mode_,
+            cs.type_,
+            cs.name_,
+            cs.student_num_,
+            cs.leave_student_num_,
+            cs.schoole_id_
         FROM
-        course_schedule cs
+            course_schedule cs
+            LEFT JOIN course_schedule_teacher_salary csts ON cs.id_ = csts.course_schedule_id_
         WHERE
         cs.class_date_ IN
         <foreach collection="dates" item="date" open="(" close=")" separator=",">
@@ -512,7 +533,7 @@
         </foreach>
         AND (
         DATE_FORMAT(cs.start_class_time_,"%H:%i:%s") &gt; DATE_FORMAT(#{endClassTime}, '%H:%i:%s' )
-        OR DATE_FORMAT(cs.end_class_time_,"%H:%i:%s") &lt; DATE_FORMAT( #{endClassTime}, '%H:%i:%s' )
+        OR DATE_FORMAT(cs.end_class_time_,"%H:%i:%s") &lt; DATE_FORMAT( #{startClassTime}, '%H:%i:%s' )
         )=0
     </select>
 
@@ -574,6 +595,9 @@
         <if test="month!=null">
             AND DATE_FORMAT( #{month}, '%Y%m' ) = DATE_FORMAT( cs.class_date_, '%Y%m' )
         </if>
+        <if test="type!=null and type!=''">
+            AND cs.type_=#{type}
+        </if>
         GROUP BY
         cs.class_date_
     </select>

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

@@ -77,6 +77,6 @@
 	</select>
 	
 	<select id="findByParamName" resultMap="SysConfig">
-		SELECT * FROM sys_config WHERE param_name_=#{paramName}
+		SELECT * FROM sys_config WHERE param_name_ = #{paramName}
 	</select>
 </mapper>

+ 29 - 0
mec-biz/src/main/resources/config/mybatis/TeacherMapper.xml

@@ -401,6 +401,35 @@
     <select id="queryNameById" resultType="java.lang.String">
         select real_name_ FROM sys_user s WHERE id_ = #{userId}
     </select>
+    <resultMap id="musicGroupStudentApplyDto" type="com.ym.mec.biz.dal.dto.musicGroupStudentApplyDto">
+
+    </resultMap>
+    <select id="queryMusicGroupStudentApply" resultType="com.ym.mec.biz.dal.dto.musicGroupStudentApplyDto">
+        SELECT sr.user_id_,su.username_,sr.current_class_,sr.current_grade_,s.name_ subject_name_,sr.remark_,
+        spo.actual_amount_,spo.pay_time_,sr.payment_status_
+        FROM student_registration sr
+        LEFT JOIN sys_user su ON sr.user_id_ = su.id_
+        LEFT JOIN `subject` s ON sr.actual_subject_id_ = s.id_
+        LEFT JOIN student_payment_order spo ON spo.user_id_ = sr.user_id_ AND spo.music_group_id_ = sr.music_group_id_
+        <include refid="queryMusicGroupStudentApplySql"/>
+        <include refid="global.limit"/>
+    </select>
+    <sql id="queryMusicGroupStudentApplySql">
+        <where>
+            sr.music_group_id_ = #{musicGroupId} AND (spo.type_ = 'APPLY' OR spo.type_ IS NULL)
+            <if test="subjectId != null">
+                AND sr.actual_subject_id_ = #{subjectId}
+            </if>
+        </where>
+    </sql>
+    <select id="countMusicGroupStudentApply" resultType="java.lang.Integer">
+        SELECT COUNT(sr.user_id_)
+        FROM student_registration sr
+        LEFT JOIN sys_user su ON sr.user_id_ = su.id_
+        LEFT JOIN `subject` s ON sr.actual_subject_id_ = s.id_
+        LEFT JOIN student_payment_order spo ON spo.user_id_ = sr.user_id_ AND spo.music_group_id_ = sr.music_group_id_
+        <include refid="queryMusicGroupStudentApplySql"/>
+    </select>
 
     <sql id="queryCloses">
         <where>

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

@@ -23,6 +23,14 @@ public interface ImFeignService {
 	ImResult register(@RequestBody ImUserModel userModel);
 
 	/**
+	 * 用户注册
+	 * @param userModel
+	 * @return
+	 */
+	@PostMapping(value = "user/update", consumes = MediaType.APPLICATION_JSON_VALUE)
+	void update(@RequestBody ImUserModel userModel);
+
+	/**
 	 * 创建群组
 	 * @param groupModel
 	 * @return

+ 5 - 0
mec-client-api/src/main/java/com/ym/mec/im/fallback/ImFeignServiceFallback.java

@@ -17,6 +17,11 @@ public class ImFeignServiceFallback implements ImFeignService {
     }
 
     @Override
+    public void update(ImUserModel userModel) {
+
+    }
+
+    @Override
     public Object groupCreate(ImGroupModel groupModel) {
         return null;
     }

+ 1 - 1
mec-common/common-core/src/main/java/com/ym/mec/common/config/RequestAttributeHystrixConcurrencyStrategy.java

@@ -23,7 +23,7 @@ import com.netflix.hystrix.strategy.metrics.HystrixMetricsPublisher;
 import com.netflix.hystrix.strategy.properties.HystrixPropertiesStrategy;
 import com.netflix.hystrix.strategy.properties.HystrixProperty;
 
-@Component
+//@Component
 public class RequestAttributeHystrixConcurrencyStrategy extends HystrixConcurrencyStrategy {
 	private static final Logger log = LoggerFactory.getLogger(RequestAttributeHystrixConcurrencyStrategy.class);
 

+ 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").permitAll().anyRequest().authenticated().and().csrf().disable();
+        http.authorizeRequests().antMatchers("/v2/api-docs","/user/register").permitAll().anyRequest().authenticated().and().csrf().disable();
     }
 }

+ 6 - 4
mec-student/src/main/resources/application.yml

@@ -78,10 +78,12 @@ management:
     health:
       show-details: ALWAYS
   
-feign:
-  hystrix:
-    enabled: true
 
+ribbon:  
+    ReadTimeout: 60000  
+    ConnectTimeout: 60000
+    
 logging:
   level:
-    com.ym.mec.auth.api.client.SysUserFeignService: DEBUG
+    com.ym.mec.auth.api.client.SysUserFeignService: DEBUG
+    

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

@@ -6,6 +6,7 @@ import com.ym.mec.biz.dal.entity.Teacher;
 import com.ym.mec.biz.dal.page.TeacherCloseQueryInfo;
 import com.ym.mec.biz.dal.page.TeacherQueryInfo;
 import com.ym.mec.biz.dal.page.VipClassQueryInfo;
+import com.ym.mec.biz.dal.page.queryMusicGroupStudentQueryInfo;
 import com.ym.mec.biz.service.ClassGroupService;
 import com.ym.mec.biz.service.SchoolService;
 import com.ym.mec.biz.service.TeacherService;
@@ -126,4 +127,10 @@ public class TeacherController extends BaseController {
         }
         return succeed(schoolService.findVipSchoolByTeacher(sysUser.getId()));
     }
+
+    @ApiOperation(value = "获取乐团学院学员报名列表")
+    @GetMapping("queryStudentApply")
+    public Object queryMusicGroupStudentApply(queryMusicGroupStudentQueryInfo queryInfo) {
+        return succeed(teacherService.queryMusicGroupStudentApply(queryInfo));
+    }
 }

+ 6 - 4
mec-teacher/src/main/java/com/ym/mec/teacher/controller/TeacherCourseScheduleController.java

@@ -40,16 +40,18 @@ public class TeacherCourseScheduleController extends BaseController {
 
     @ApiOperation(value = "根据月份获取该月有课的日期")
     @GetMapping("/getCourseScheduleDateByMonth")
-    public Object getCourseScheduleDateByMonth(@ApiParam(value = "月份", required = true) @RequestParam Date month) {
+    public Object getCourseScheduleDateByMonth(@ApiParam(value = "月份", required = true) @RequestParam Date month,
+                                               @ApiParam(value = "课程类型", required = false) String type) {
         if(Objects.isNull(month)){
             return failed(HttpStatus.FORBIDDEN, "请指定日期!");
         }
-        return succeed(scheduleService.getCourseScheduleDateByTeacher(month));
+        return succeed(scheduleService.getCourseScheduleDateByTeacher(month,type));
     }
 
     @ApiOperation(value = "根据日期获取当日排课")
     @GetMapping("/getCourseSchedulesWithDate")
-    public Object getCourseSchedulesWithDate(@ApiParam(value = "日期", required = true) Date date){
+    public Object getCourseSchedulesWithDate(@ApiParam(value = "日期", required = true) Date date,
+                                             @ApiParam(value = "课程类型",required = false) String type){
         if(Objects.isNull(date)){
             return failed("请指定日期!");
         }
@@ -57,7 +59,7 @@ public class TeacherCourseScheduleController extends BaseController {
         if(null==user){
             return failed(HttpStatus.FORBIDDEN, "请登录");
         }
-        List<CourseScheduleDto> teacherCourseSchedulesWithDate = scheduleService.getTeacherCourseSchedulesWithDate(user.getId(),date);
+        List<CourseScheduleDto> teacherCourseSchedulesWithDate = scheduleService.getTeacherCourseSchedulesWithDate(user.getId(),date,type);
         Map<String,Object> result = new HashMap<>();
         result.put("rows",teacherCourseSchedulesWithDate);
         result.put("appealDaysRange",1);

+ 1 - 0
mec-teacher/src/main/java/com/ym/mec/teacher/controller/TeacherManageController.java

@@ -5,6 +5,7 @@ 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.dal.page.queryMusicGroupStudentQueryInfo;
 import com.ym.mec.biz.service.*;
 import com.ym.mec.common.controller.BaseController;
 import com.ym.mec.common.entity.UploadReturnBean;

+ 15 - 0
mec-util/src/main/java/com/ym/mec/util/date/DateUtil.java

@@ -943,6 +943,21 @@ public class DateUtil {
 	}
 
 	/**
+	 * @describe 在指定时间上加上指定天数,忽略时分秒
+	 * @author Joburgess
+	 * @date 2019/10/30
+	 * @param date: 日期
+	 * @param days: 天数
+	 * @return java.util.Date
+	 */
+	public static Date addDays1(Date date,int days) {
+		Calendar cal = Calendar.getInstance();
+		cal.setTime(getWeekMondayWithDate(date));
+		cal.add(Calendar.DATE, days);
+		return cal.getTime();
+	}
+
+	/**
 	 * 时间转换为中文格式
 	 * @param date
 	 * @return