浏览代码

Merge branch 'master' of http://git.dayaedu.com/yonge/mec

# Conflicts:
#	mec-biz/src/main/java/com/ym/mec/biz/dal/dao/TeacherDao.java
#	mec-biz/src/main/java/com/ym/mec/biz/service/TeacherService.java
#	mec-biz/src/main/java/com/ym/mec/biz/service/impl/TeacherServiceImpl.java
#	mec-biz/src/main/resources/config/mybatis/TeacherMapper.xml
zouxuan 5 年之前
父节点
当前提交
28941c44c0
共有 70 个文件被更改,包括 1008 次插入771 次删除
  1. 2 3
      mec-auth/mec-auth-server/src/main/java/com/ym/mec/auth/service/SysMenuService.java
  2. 8 0
      mec-auth/mec-auth-server/src/main/java/com/ym/mec/auth/web/controller/MenuController.java
  3. 10 0
      mec-auth/mec-auth-server/src/main/java/com/ym/mec/auth/web/controller/RoleController.java
  4. 6 0
      mec-auth/mec-auth-server/src/main/java/com/ym/mec/auth/web/controller/TokenController.java
  5. 11 0
      mec-auth/mec-auth-server/src/main/java/com/ym/mec/auth/web/controller/UserController.java
  6. 1 1
      mec-biz/src/main/java/com/ym/mec/biz/dal/dao/ClassGroupTeacherMapperDao.java
  7. 19 1
      mec-biz/src/main/java/com/ym/mec/biz/dal/dao/CourseScheduleDao.java
  8. 21 0
      mec-biz/src/main/java/com/ym/mec/biz/dal/dao/CourseScheduleTeacherSalaryDao.java
  9. 13 7
      mec-biz/src/main/java/com/ym/mec/biz/dal/dao/SchoolDao.java
  10. 11 3
      mec-biz/src/main/java/com/ym/mec/biz/dal/dao/TeacherDao.java
  11. 0 19
      mec-biz/src/main/java/com/ym/mec/biz/dal/dao/TeacherSchoolDao.java
  12. 8 0
      mec-biz/src/main/java/com/ym/mec/biz/dal/dao/VipGroupDao.java
  13. 3 3
      mec-biz/src/main/java/com/ym/mec/biz/dal/dto/CreateCourseScheduleDto.java
  14. 6 6
      mec-biz/src/main/java/com/ym/mec/biz/dal/dto/HighClassGroupDto.java
  15. 22 0
      mec-biz/src/main/java/com/ym/mec/biz/dal/dto/TeacherAttendanceDto.java
  16. 34 0
      mec-biz/src/main/java/com/ym/mec/biz/dal/dto/TeacherClassCourseSchudeleDto.java
  17. 33 0
      mec-biz/src/main/java/com/ym/mec/biz/dal/dto/TeacherClassGroupDto.java
  18. 10 0
      mec-biz/src/main/java/com/ym/mec/biz/dal/entity/CourseSchedule.java
  19. 10 0
      mec-biz/src/main/java/com/ym/mec/biz/dal/entity/CourseScheduleStudentPayment.java
  20. 17 7
      mec-biz/src/main/java/com/ym/mec/biz/dal/entity/CourseScheduleTeacherSalary.java
  21. 12 4
      mec-biz/src/main/java/com/ym/mec/biz/dal/entity/School.java
  22. 31 0
      mec-biz/src/main/java/com/ym/mec/biz/dal/entity/StudentPaymentOrder.java
  23. 8 8
      mec-biz/src/main/java/com/ym/mec/biz/dal/entity/Teacher.java
  24. 0 121
      mec-biz/src/main/java/com/ym/mec/biz/dal/entity/TeacherSchool.java
  25. 3 13
      mec-biz/src/main/java/com/ym/mec/biz/dal/entity/VipGroup.java
  26. 26 0
      mec-biz/src/main/java/com/ym/mec/biz/dal/enums/PaymentChannelTypeEnum.java
  27. 11 0
      mec-biz/src/main/java/com/ym/mec/biz/dal/page/StudentAttendanceQueryInfo.java
  28. 12 0
      mec-biz/src/main/java/com/ym/mec/biz/service/MusicGroupService.java
  29. 8 0
      mec-biz/src/main/java/com/ym/mec/biz/service/StudentRegistrationService.java
  30. 0 21
      mec-biz/src/main/java/com/ym/mec/biz/service/TeacherSchoolService.java
  31. 10 0
      mec-biz/src/main/java/com/ym/mec/biz/service/TeacherService.java
  32. 24 6
      mec-biz/src/main/java/com/ym/mec/biz/service/VipGroupService.java
  33. 25 2
      mec-biz/src/main/java/com/ym/mec/biz/service/impl/ClassGroupServiceImpl.java
  34. 18 15
      mec-biz/src/main/java/com/ym/mec/biz/service/impl/ClassGroupTeacherMapperServiceImpl.java
  35. 14 5
      mec-biz/src/main/java/com/ym/mec/biz/service/impl/CourseScheduleServiceImpl.java
  36. 1 0
      mec-biz/src/main/java/com/ym/mec/biz/service/impl/CourseScheduleStudentPaymentServiceImpl.java
  37. 1 0
      mec-biz/src/main/java/com/ym/mec/biz/service/impl/CourseScheduleTeacherSalaryServiceImpl.java
  38. 41 0
      mec-biz/src/main/java/com/ym/mec/biz/service/impl/MusicGroupServiceImpl.java
  39. 5 0
      mec-biz/src/main/java/com/ym/mec/biz/service/impl/PayServiceImpl.java
  40. 9 10
      mec-biz/src/main/java/com/ym/mec/biz/service/impl/StudentAttendanceServiceImpl.java
  41. 52 31
      mec-biz/src/main/java/com/ym/mec/biz/service/impl/StudentRegistrationServiceImpl.java
  42. 0 2
      mec-biz/src/main/java/com/ym/mec/biz/service/impl/TeacherAttendanceServiceImpl.java
  43. 0 36
      mec-biz/src/main/java/com/ym/mec/biz/service/impl/TeacherSchoolServiceImpl.java
  44. 13 3
      mec-biz/src/main/java/com/ym/mec/biz/service/impl/TeacherServiceImpl.java
  45. 7 0
      mec-biz/src/main/java/com/ym/mec/biz/service/impl/VipGroupServiceImpl.java
  46. 7 2
      mec-biz/src/main/resources/config/mybatis/ClassGroupMapper.xml
  47. 60 8
      mec-biz/src/main/resources/config/mybatis/CourseScheduleMapper.xml
  48. 35 29
      mec-biz/src/main/resources/config/mybatis/CourseScheduleStudentPaymentMapper.xml
  49. 54 36
      mec-biz/src/main/resources/config/mybatis/CourseScheduleTeacherSalaryMapper.xml
  50. 10 2
      mec-biz/src/main/resources/config/mybatis/SchoolMapper.xml
  51. 4 0
      mec-biz/src/main/resources/config/mybatis/StudentPaymentOrderMapper.xml
  52. 13 0
      mec-biz/src/main/resources/config/mybatis/TeacherMapper.xml
  53. 0 91
      mec-biz/src/main/resources/config/mybatis/TeacherSchoolMapper.xml
  54. 24 6
      mec-biz/src/main/resources/config/mybatis/VipGroupMapper.xml
  55. 3 3
      mec-student/src/main/java/com/ym/mec/student/config/WebMvcConfig.java
  56. 15 0
      mec-student/src/main/java/com/ym/mec/student/controller/CourseController.java
  57. 40 20
      mec-student/src/main/java/com/ym/mec/student/controller/StudentOrderController.java
  58. 1 1
      mec-student/src/main/java/com/ym/mec/student/interceptor/MDCInterceptor.java
  59. 1 1
      mec-teacher/src/main/java/com/ym/mec/teacher/controller/ClassGroupController.java
  60. 1 1
      mec-teacher/src/main/java/com/ym/mec/teacher/controller/TeacherAttendanceController.java
  61. 38 25
      mec-teacher/src/main/java/com/ym/mec/teacher/controller/TeacherVipGroupController.java
  62. 0 66
      mec-teacher/src/main/java/com/ym/mec/teacher/controller/TeacherVipSchoolController.java
  63. 63 0
      mec-thirdparty/src/main/java/com/ym/mec/thirdparty/union/GenerateNum.java
  64. 13 58
      mec-thirdparty/src/main/java/com/ym/mec/thirdparty/union/NotifyMsg.java
  65. 5 5
      mec-web/pom.xml
  66. 2 1
      mec-web/src/main/java/com/ym/mec/web/controller/ClassGroupController.java
  67. 35 14
      mec-web/src/main/java/com/ym/mec/web/controller/CourseScheduleController.java
  68. 6 0
      mec-web/src/main/java/com/ym/mec/web/controller/TeacherController.java
  69. 0 74
      mec-web/src/main/java/com/ym/mec/web/controller/TeacherVipSchoolController.java
  70. 2 1
      mec-web/src/main/resources/application.yml

+ 2 - 3
mec-auth/mec-auth-server/src/main/java/com/ym/mec/auth/service/SysMenuService.java

@@ -1,12 +1,11 @@
 package com.ym.mec.auth.service;
 
+import java.util.List;
+
 import com.ym.mec.auth.api.dto.MenuQueryInfo;
 import com.ym.mec.auth.api.entity.SysMenu;
-import com.ym.mec.common.page.PageInfo;
 import com.ym.mec.common.service.BaseService;
 
-import java.util.List;
-
 public interface SysMenuService extends BaseService<Integer, SysMenu> {
 
     /**

+ 8 - 0
mec-auth/mec-auth-server/src/main/java/com/ym/mec/auth/web/controller/MenuController.java

@@ -6,11 +6,14 @@ import com.ym.mec.auth.service.SysMenuService;
 import com.ym.mec.common.controller.BaseController;
 import com.ym.mec.common.security.AuthUser;
 import com.ym.mec.common.security.SecurityUtils;
+
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
 import io.swagger.annotations.ApiParam;
+
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.http.MediaType;
+import org.springframework.security.access.prepost.PreAuthorize;
 import org.springframework.web.bind.annotation.*;
 
 import java.util.Date;
@@ -25,6 +28,7 @@ public class MenuController extends BaseController {
 
     @ApiOperation("新增菜单")
     @PutMapping(value = "/add",consumes = MediaType.APPLICATION_JSON_VALUE)
+    @PreAuthorize("@pcs.hasPermissions('menu/add')")
     public Object getMenu(@RequestBody SysMenu sysMenu) {
         SysMenu menuByPermission = sysMenuService.findMenuByPermission(sysMenu.getPermission());
         if(menuByPermission != null){
@@ -35,6 +39,7 @@ public class MenuController extends BaseController {
 
     @ApiOperation("根据菜单id删除菜单")
     @DeleteMapping("/del/{id}")
+    @PreAuthorize("@pcs.hasPermissions('menu/del')")
     public Object delMenu(@ApiParam(value = "菜单编号", required = true) @PathVariable("id") Integer id) {
         sysMenuService.recursiveDel(id);
         return succeed();
@@ -42,6 +47,7 @@ public class MenuController extends BaseController {
 
     @ApiOperation("根据菜单id修改菜单")
     @PutMapping(value = "/update",consumes = MediaType.APPLICATION_JSON_VALUE)
+    @PreAuthorize("@pcs.hasPermissions('menu/update')")
     public Object updateMenu(@RequestBody SysMenu sysMenu) {
         SysMenu menuByPermission = sysMenuService.findMenuByPermission(sysMenu.getPermission());
         if(menuByPermission != null && !menuByPermission.getId().equals(sysMenu.getId())){
@@ -54,12 +60,14 @@ public class MenuController extends BaseController {
 
     @ApiOperation("根据菜单id查询菜单")
     @GetMapping(value = "/{id}",consumes = MediaType.APPLICATION_FORM_URLENCODED_VALUE)
+    @PreAuthorize("@pcs.hasPermissions('menu')")
     public Object getMenu(@ApiParam(value = "菜单编号", required = true) @PathVariable("id") Integer id) {
         return succeed(sysMenuService.get(id));
     }
 
     @ApiOperation("查询用户可访问菜单树状结构")
     @GetMapping(value = "/findByUser")
+    @PreAuthorize("@pcs.hasPermissions('menu/findByUser')")
     public Object findByUser(@RequestBody(required = false) MenuQueryInfo menuQueryInfo) {
         AuthUser user = SecurityUtils.getUser();
         if(user != null){

+ 10 - 0
mec-auth/mec-auth-server/src/main/java/com/ym/mec/auth/web/controller/RoleController.java

@@ -11,6 +11,7 @@ import java.util.Date;
 import org.apache.commons.lang3.StringUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.http.MediaType;
+import org.springframework.security.access.prepost.PreAuthorize;
 import org.springframework.web.bind.annotation.GetMapping;
 import org.springframework.web.bind.annotation.PathVariable;
 import org.springframework.web.bind.annotation.PostMapping;
@@ -43,18 +44,21 @@ public class RoleController extends BaseController {
 	private SysUserRoleService sysUserRoleService;
 
 	@GetMapping(value = "/queryRoleCodeListByUserId")
+    @PreAuthorize("@pcs.hasPermissions('role/queryRoleCodeListByUserId')")
 	public Object queryRoleCodeListByUserId(Integer userId) {
 		return sysUserRoleService.queryRoleCodeListByUserId(userId);
 	}
 
 	@ApiOperation("根据权限id查询角色")
 	@GetMapping(value = "/{id}")
+    @PreAuthorize("@pcs.hasPermissions('role')")
 	public Object getRole(@ApiParam(value = "权限编号", required = true) @PathVariable("id") Integer id) {
 		return succeed(sysRoleService.getRole(id));
 	}
 
 	@ApiOperation("删除角色")
 	@PostMapping(value = "/del")
+    @PreAuthorize("@pcs.hasPermissions('role/del')")
 	public Object delRole(Integer id) {
 		sysRoleService.delRole(id);
 		return succeed();
@@ -62,6 +66,7 @@ public class RoleController extends BaseController {
 
 	@ApiOperation("修改角色")
 	@PostMapping(value = "/update")
+    @PreAuthorize("@pcs.hasPermissions('role/update')")
 	public Object updateRole(@RequestBody SysRole sysRole) {
 		sysRole.setUpdateTime(new Date());
 		sysRoleService.updateRole(sysRole);
@@ -70,6 +75,7 @@ public class RoleController extends BaseController {
 
 	@ApiOperation("新增角色")
 	@PostMapping(value = "/add")
+    @PreAuthorize("@pcs.hasPermissions('role/add')")
 	public Object addRole(@RequestBody SysRole sysRole) {
 		sysRoleService.addRole(sysRole);
 		return succeed();
@@ -77,6 +83,7 @@ public class RoleController extends BaseController {
 
 	@ApiOperation("分页查询角色列表")
 	@GetMapping(value = "/queryPage")
+    @PreAuthorize("@pcs.hasPermissions('role/queryPage')")
 	public Object queryPage(QueryInfo queryInfo) {
 		return succeed(sysRoleService.queryPage(queryInfo));
 	}
@@ -85,6 +92,7 @@ public class RoleController extends BaseController {
 	@ApiImplicitParams({ @ApiImplicitParam(name = "roleId", value = "角色编号", required = true, dataType = "Integer"),
 			@ApiImplicitParam(name = "menuIds", value = "菜单id,逗号分隔", required = true, dataType = "String") })
 	@PostMapping(value = "/addRoleMenu", consumes = MediaType.APPLICATION_FORM_URLENCODED_VALUE)
+    @PreAuthorize("@pcs.hasPermissions('role/addRoleMenu')")
 	public Object addRoleMenu(String roleId, String menuIds) {
 		if (StringUtils.isEmpty(roleId) || StringUtils.isEmpty(menuIds)) {
 			return failed(SecurityConstants.PARAM_VERIFY_EXCEPTION);
@@ -97,6 +105,7 @@ public class RoleController extends BaseController {
 	@ApiImplicitParams({ @ApiImplicitParam(name = "roleId", value = "角色编号", required = true, dataType = "Integer"),
 			@ApiImplicitParam(name = "menuIds", value = "菜单id,逗号分隔", required = true, dataType = "String") })
 	@PostMapping(value = "/delRoleMenu", consumes = MediaType.APPLICATION_FORM_URLENCODED_VALUE)
+    @PreAuthorize("@pcs.hasPermissions('role/delRoleMenu')")
 	public Object delRoleMenu(String roleId, String menuIds) {
 		if (StringUtils.isEmpty(roleId) || StringUtils.isEmpty(menuIds)) {
 			return failed(SecurityConstants.PARAM_VERIFY_EXCEPTION);
@@ -108,6 +117,7 @@ public class RoleController extends BaseController {
 	@ApiOperation("根据角色编号查询拥有的菜单列表")
 	@ApiImplicitParams({ @ApiImplicitParam(name = "roleId", value = "角色编号", required = true, dataType = "Integer") })
 	@GetMapping(value = "/getMenus")
+    @PreAuthorize("@pcs.hasPermissions('role/getMenus')")
 	public Object getMenus(Integer roleId) {
 		if (roleId == null) {
 			return failed(SecurityConstants.PARAM_VERIFY_EXCEPTION);

+ 6 - 0
mec-auth/mec-auth-server/src/main/java/com/ym/mec/auth/web/controller/TokenController.java

@@ -7,13 +7,16 @@ import com.ym.mec.common.controller.BaseController;
 import com.ym.mec.common.entity.HttpResponseResult;
 import com.ym.mec.common.security.AuthUser;
 import com.ym.mec.common.security.SecurityUtils;
+
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiImplicitParam;
 import io.swagger.annotations.ApiImplicitParams;
 import io.swagger.annotations.ApiOperation;
+
 import org.apache.commons.lang3.StringUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.http.*;
+import org.springframework.security.access.prepost.PreAuthorize;
 import org.springframework.security.oauth2.common.OAuth2AccessToken;
 import org.springframework.security.oauth2.provider.token.DefaultTokenServices;
 import org.springframework.util.LinkedMultiValueMap;
@@ -65,6 +68,7 @@ public class TokenController extends BaseController {
 
 	@ApiOperation(value = "获取用户信息")
     @GetMapping("/api/queryUserInfo")
+    @PreAuthorize("@pcs.hasPermissions('/api/queryUserInfo')")
     public Object apiQueryUserInfo() {
 		AuthUser authUser = SecurityUtils.getUser();
 		if(authUser != null){
@@ -84,6 +88,7 @@ public class TokenController extends BaseController {
     }
 
 	@PostMapping(value = "/refreshToken",consumes = MediaType.APPLICATION_FORM_URLENCODED_VALUE)
+    @PreAuthorize("@pcs.hasPermissions('refreshToken')")
 	@ApiOperation(value = "刷新token")
 	public HttpResponseResult refreshToken(String refreshToken, String clientId, String clientSecret) throws IOException {
 		String url = "http://auth-server/oauth/token";
@@ -106,6 +111,7 @@ public class TokenController extends BaseController {
 	}
 
 	@PostMapping(value = "exit",consumes = MediaType.APPLICATION_FORM_URLENCODED_VALUE)
+    @PreAuthorize("@pcs.hasPermissions('exit')")
 	@ApiOperation(value = "退出登录")
 	public HttpResponseResult logout(@RequestHeader(value = HttpHeaders.AUTHORIZATION) String authHeader) {
 		if (StringUtils.isBlank(authHeader)) {

+ 11 - 0
mec-auth/mec-auth-server/src/main/java/com/ym/mec/auth/web/controller/UserController.java

@@ -10,6 +10,7 @@ import java.util.Date;
 import org.apache.commons.lang3.StringUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.http.MediaType;
+import org.springframework.security.access.prepost.PreAuthorize;
 import org.springframework.security.crypto.bcrypt.BCryptPasswordEncoder;
 import org.springframework.web.bind.annotation.GetMapping;
 import org.springframework.web.bind.annotation.PathVariable;
@@ -48,12 +49,14 @@ public class UserController extends BaseController {
 			@ApiImplicitParam(name = "createStartDate", value = "开始注册时间", required = true, dataType = "String"),
 			@ApiImplicitParam(name = "createEndDate", value = "结束注册时间", required = true, dataType = "String") })
 	@GetMapping(value = "/queryPage")
+    @PreAuthorize("@pcs.hasPermissions('user/queryPage')")
 	public Object queryPage(SysUserQueryInfo queryInfo) {
 		return succeed(sysUserService.queryPage(queryInfo));
 	}
 
 	@ApiOperation(value = "查询用户信息接口")
 	@GetMapping("/query")
+    @PreAuthorize("@pcs.hasPermissions('user/query')")
 	public Object query() {
 		AuthUser user = SecurityUtils.getUser();
 		if (user != null) {
@@ -64,6 +67,7 @@ public class UserController extends BaseController {
 
 	@ApiOperation(value = "根据用户编号获取用户基本信息")
 	@GetMapping("/getBasic")
+    @PreAuthorize("@pcs.hasPermissions('user/getBasic')")
 	public Object getBasic(Integer userId) {
 		if (userId == null) {
 			return failed("参数校验异常");
@@ -82,12 +86,14 @@ public class UserController extends BaseController {
 	}
 
 	@ApiOperation(value = "新增用户")
+    @PreAuthorize("@pcs.hasPermissions('user/add')")
 	@PostMapping(value = "/add", consumes = MediaType.APPLICATION_JSON_VALUE)
 	public Object add(@RequestBody SysUser sysUser) {
 		return succeed(sysUserService.add(sysUser));
 	}
 
 	@ApiOperation(value = "设置密码")
+    @PreAuthorize("@pcs.hasPermissions('user/setPassword')")
 	@PostMapping(value = "/setPassword", consumes = MediaType.APPLICATION_FORM_URLENCODED_VALUE, produces = MediaType.APPLICATION_JSON_VALUE)
 	@ApiImplicitParams({ @ApiImplicitParam(name = "mobile", value = "手机号", required = true, dataType = "String"),
 			@ApiImplicitParam(name = "password", value = "密码", required = true, dataType = "String") })
@@ -105,6 +111,7 @@ public class UserController extends BaseController {
 	}
 
 	@ApiOperation(value = "修改密码")
+    @PreAuthorize("@pcs.hasPermissions('user/updatePassword')")
 	@PostMapping(value = "/updatePassword", consumes = MediaType.APPLICATION_FORM_URLENCODED_VALUE, produces = MediaType.APPLICATION_JSON_VALUE)
 	@ApiImplicitParams({ @ApiImplicitParam(name = "mobile", value = "手机号", required = true, dataType = "String"),
 			@ApiImplicitParam(name = "authCode", value = "验证码", required = true, dataType = "String"),
@@ -126,6 +133,7 @@ public class UserController extends BaseController {
 	}
 
 	@ApiOperation(value = "修改用户")
+    @PreAuthorize("@pcs.hasPermissions('user/update')")
 	@PostMapping(value = "/update", consumes = MediaType.APPLICATION_FORM_URLENCODED_VALUE)
 	public Object update(SysUser sysUser) {
 		AuthUser user = SecurityUtils.getUser();
@@ -141,6 +149,7 @@ public class UserController extends BaseController {
 
 	@ApiOperation(value = "获取用户角色列表")
 	@GetMapping("/getRole")
+    @PreAuthorize("@pcs.hasPermissions('user/getRole')")
 	public Object getRole() {
 		AuthUser user = SecurityUtils.getUser();
 		if (user != null) {
@@ -153,6 +162,7 @@ public class UserController extends BaseController {
 	@ApiImplicitParams({ @ApiImplicitParam(name = "userId", value = "用户编号", required = true, dataType = "Integer"),
 			@ApiImplicitParam(name = "roleIds", value = "角色id,逗号分隔", required = true, dataType = "String") })
 	@PostMapping(value = "/addRole", consumes = MediaType.APPLICATION_FORM_URLENCODED_VALUE)
+    @PreAuthorize("@pcs.hasPermissions('user/addRole')")
 	public Object getRole(String userId, String roleIds) {
 		if (StringUtils.isEmpty(userId) || StringUtils.isEmpty(roleIds)) {
 			return failed(SecurityConstants.PARAM_VERIFY_EXCEPTION);
@@ -165,6 +175,7 @@ public class UserController extends BaseController {
 	@ApiImplicitParams({ @ApiImplicitParam(name = "userId", value = "用户编号", required = true, dataType = "Integer"),
 			@ApiImplicitParam(name = "roleIds", value = "角色id,逗号分隔", required = true, dataType = "String") })
 	@PostMapping(value = "/delRole", consumes = MediaType.APPLICATION_FORM_URLENCODED_VALUE)
+    @PreAuthorize("@pcs.hasPermissions('user/delRole')")
 	public Object delRole(String userId, String roleIds) {
 		if (StringUtils.isEmpty(userId) || StringUtils.isEmpty(roleIds)) {
 			return failed(SecurityConstants.PARAM_VERIFY_EXCEPTION);

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

@@ -51,6 +51,6 @@ public interface ClassGroupTeacherMapperDao extends BaseDAO<Long, ClassGroupTeac
      * @param musicGroupId:
      * @return java.util.List<com.ym.mec.biz.dal.entity.ClassGroupTeacherMapper>
      */
-    List<ClassGroupTeacherMapper> findByMusicGroup(Long musicGroupId);
+    List<ClassGroupTeacherMapper> findByMusicGroup(String musicGroupId);
 
 }

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

@@ -285,6 +285,15 @@ public interface CourseScheduleDao extends BaseDAO<Long, CourseSchedule> {
     List<TeacherClassCourseSchudeleDto> queryTeacherClassCourseSchedule(Map<String,Object> params);
 
     /**
+     * @describe 查询老师指定班级历史排课信息
+     * @author Joburgess
+     * @date 2019/10/19
+     * @param params:
+     * @return java.util.List<com.ym.mec.biz.dal.dto.TeacherClassCourseSchudeleDto>
+     */
+    List<TeacherClassCourseSchudeleDto> queryTeacherHistoryClassCourseSchedule(Map<String,Object> params);
+
+    /**
      * @describe 统计老师指定班级的排课数量
      * @author Joburgess
      * @date 2019/10/18
@@ -294,11 +303,20 @@ public interface CourseScheduleDao extends BaseDAO<Long, CourseSchedule> {
     int countTeacherClassCourseSchedule(Map<String,Object> params);
 
     /**
+     * @describe 统计历史老师指定班级的排课数量
+     * @author Joburgess
+     * @date 2019/10/19
+     * @param params:
+     * @return int
+     */
+    int countTeacherHistoryClassCourseSchedule(Map<String,Object> params);
+
+    /**
      * @describe 统计乐团下班级的排课数
      * @author Joburgess
      * @date 2019/10/18
      * @param musicGroupId:
      * @return java.util.List<java.util.Map<java.lang.Long,java.lang.Integer>>
      */
-    List<Map<Long,Integer>> countClassCourseNumByMusicGroup(Long musicGroupId);
+    List<Map<Integer,Long>> countClassCourseNumByMusicGroup(Long musicGroupId);
 }

+ 21 - 0
mec-biz/src/main/java/com/ym/mec/biz/dal/dao/CourseScheduleTeacherSalaryDao.java

@@ -4,9 +4,12 @@ import com.ym.mec.biz.dal.dto.VipGroupSalaryDto;
 import com.ym.mec.biz.dal.entity.CourseScheduleTeacherSalary;
 import com.ym.mec.common.dal.BaseDAO;
 
+import java.math.BigDecimal;
 import java.util.List;
 import java.util.Map;
 
+import org.apache.ibatis.annotations.Param;
+
 public interface CourseScheduleTeacherSalaryDao extends BaseDAO<Long, CourseScheduleTeacherSalary> {
 
     /**
@@ -37,4 +40,22 @@ public interface CourseScheduleTeacherSalaryDao extends BaseDAO<Long, CourseSche
      */
     List<CourseScheduleTeacherSalary> findSomeDayAgoTeacherCourseSalaryNoSettlement(Integer days);
 
+    /**
+	 * 查询老师指定课程的课酬
+	 * @param courseScheduleId
+	 * @param teacherId
+	 * @return
+	 */
+	CourseScheduleTeacherSalary queryByCourseScheduleIdAndUserId(@Param("courseScheduleId") Long courseScheduleId, @Param("teacherId") Integer teacherId);
+	
+	/**
+	 * 批量更新指定老师所教学班级的报酬(课酬、补贴)
+	 * @param classGrpupId 班级编号
+	 * @param userId 老师编号
+	 * @param salary 课酬
+	 * @param subsidy 补贴
+	 * @return
+	 */
+	int batchUpdateWages(@Param("classGrpupId") Integer classGrpupId, @Param("userId") Integer userId, @Param("salary") BigDecimal salary,
+			@Param("subsidy") BigDecimal subsidy);
 }

+ 13 - 7
mec-biz/src/main/java/com/ym/mec/biz/dal/dao/SchoolDao.java

@@ -1,16 +1,15 @@
 package com.ym.mec.biz.dal.dao;
 
-import com.ym.mec.biz.dal.entity.School;
-import com.ym.mec.biz.dal.enums.YesOrNoEnum;
-import com.ym.mec.common.dal.BaseDAO;
-
-import org.apache.ibatis.annotations.Param;
-
-import java.util.HashMap;
 import java.util.List;
 import java.util.Map;
 import java.util.Set;
 
+import org.apache.ibatis.annotations.Param;
+
+import com.ym.mec.biz.dal.entity.School;
+import com.ym.mec.biz.dal.enums.YesOrNoEnum;
+import com.ym.mec.common.dal.BaseDAO;
+
 public interface SchoolDao extends BaseDAO<Integer, School> {
 
 
@@ -27,4 +26,11 @@ public interface SchoolDao extends BaseDAO<Integer, School> {
      * @return
      */
     List<Map<Integer, String>> queryNameByIds(@Param("schoolIds") Set<Integer> schoolIds);
+    
+    /**
+     * 获取老师的教学点
+     * @param userId
+     * @return
+     */
+    List<School> findByUserId(Integer userId);
 }

+ 11 - 3
mec-biz/src/main/java/com/ym/mec/biz/dal/dao/TeacherDao.java

@@ -2,12 +2,9 @@ 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.NamesDto;
 import com.ym.mec.biz.dal.dto.TeacherCloseDto;
 import com.ym.mec.biz.dal.entity.Teacher;
 import com.ym.mec.common.dal.BaseDAO;
-
-import com.ym.mec.common.entity.ImGroupModel;
 import org.apache.ibatis.annotations.Param;
 
 import java.math.BigDecimal;
@@ -78,9 +75,20 @@ public interface TeacherDao extends BaseDAO<Integer, Teacher> {
     List<TeacherCloseDto> queryCloses(Map<String, Object> params);
 
     /**
+     * @describe 获取指定乐团下的所有老师
+     * @author Joburgess
+     * @date 2019/10/19
+     * @param musicGroupId: 乐团编号
+     * @return java.util.List<com.ym.mec.biz.dal.dto.BasicUserDto>
+     */
+    List<BasicUserDto> findTeacherByMusicGroup(Long musicGroupId);
+
+
+    /**
      * 获取教师未结算课酬综合
      * @param teacherId
      * @return
      */
     BigDecimal findTeacherNoPay(Integer teacherId);
+
 }

+ 0 - 19
mec-biz/src/main/java/com/ym/mec/biz/dal/dao/TeacherSchoolDao.java

@@ -1,19 +0,0 @@
-package com.ym.mec.biz.dal.dao;
-
-import com.ym.mec.biz.dal.entity.TeacherSchool;
-import com.ym.mec.common.dal.BaseDAO;
-
-import java.util.List;
-
-public interface TeacherSchoolDao extends BaseDAO<Long, TeacherSchool> {
-
-    /**
-     * @Author: Joburgess
-     * @Date: 2019/10/14
-     * @params [teacherId]
-     * @return java.util.List<com.ym.mec.biz.dal.entity.TeacherSchool>
-     * @describe 根据教师编号获取教学点信息
-     */
-    List<TeacherSchool> findByTeacherId(Integer teacherId);
-
-}

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

@@ -2,6 +2,7 @@ package com.ym.mec.biz.dal.dao;
 
 import com.ym.mec.biz.dal.dto.*;
 import com.ym.mec.biz.dal.entity.CourseSchedule;
+import com.ym.mec.biz.dal.entity.School;
 import com.ym.mec.biz.dal.entity.VipGroup;
 import com.ym.mec.common.dal.BaseDAO;
 
@@ -189,4 +190,11 @@ public interface VipGroupDao extends BaseDAO<Long, VipGroup> {
 	 * @return
 	 */
 	List<TeacherVipClassInfoDto> getTeacherVipClass(Map<String, Object> params);
+    
+    /**
+     * 根据老师查询vip课教学点
+     * @param userId
+     * @return
+     */
+    List<School> querySchoolByUserId(Integer userId);
 }

+ 3 - 3
mec-biz/src/main/java/com/ym/mec/biz/dal/dto/CreateCourseScheduleDto.java

@@ -9,15 +9,15 @@ import java.util.List;
  * @Date 2019/10/18
  */
 public class CreateCourseScheduleDto {
-    private Long musicGroupID;
+    private String musicGroupID;
 
     private List<CourseSchedule> courseSchedules;
 
-    public Long getMusicGroupID() {
+    public String getMusicGroupID() {
         return musicGroupID;
     }
 
-    public void setMusicGroupID(Long musicGroupID) {
+    public void setMusicGroupID(String musicGroupID) {
         this.musicGroupID = musicGroupID;
     }
 

+ 6 - 6
mec-biz/src/main/java/com/ym/mec/biz/dal/dto/HighClassGroupDto.java

@@ -20,10 +20,10 @@ public class HighClassGroupDto extends ClassGroup {
 	private String dayOfWeek;
 
 	@ApiModelProperty(value = "开始时间",required = true)
-	private Date startClassTime;
+	private String startClassTime;
 
 	@ApiModelProperty(value = "结束时间",required = true)
-	private Date endClassTime;
+	private String endClassTime;
 
 	@ApiModelProperty(value = "开始日期", required = true)
 	private Date StartDate;
@@ -41,19 +41,19 @@ public class HighClassGroupDto extends ClassGroup {
 		this.userId = userId;
 	}
 
-	public Date getStartClassTime() {
+	public String getStartClassTime() {
 		return startClassTime;
 	}
 
-	public void setStartClassTime(Date startClassTime) {
+	public void setStartClassTime(String startClassTime) {
 		this.startClassTime = startClassTime;
 	}
 
-	public Date getEndClassTime() {
+	public String getEndClassTime() {
 		return endClassTime;
 	}
 
-	public void setEndClassTime(Date endClassTime) {
+	public void setEndClassTime(String endClassTime) {
 		this.endClassTime = endClassTime;
 	}
 

+ 22 - 0
mec-biz/src/main/java/com/ym/mec/biz/dal/dto/TeacherAttendanceDto.java

@@ -74,6 +74,28 @@ public class TeacherAttendanceDto {
     @ApiModelProperty(value = "只能正常签到")
     private YesOrNoEnum onlyNormal;
 
+    @ApiModelProperty(value = "总统课次",required = false)
+    private Integer totalClassTimes;
+
+    @ApiModelProperty(value = "当前课次",required = false)
+    private Integer currentClassTimes;
+
+    public Integer getTotalClassTimes() {
+        return totalClassTimes;
+    }
+
+    public void setTotalClassTimes(Integer totalClassTimes) {
+        this.totalClassTimes = totalClassTimes;
+    }
+
+    public Integer getCurrentClassTimes() {
+        return currentClassTimes;
+    }
+
+    public void setCurrentClassTimes(Integer currentClassTimes) {
+        this.currentClassTimes = currentClassTimes;
+    }
+
     public YesOrNoEnum getOnlyNormal() {
         return onlyNormal;
     }

+ 34 - 0
mec-biz/src/main/java/com/ym/mec/biz/dal/dto/TeacherClassCourseSchudeleDto.java

@@ -48,6 +48,40 @@ public class TeacherClassCourseSchudeleDto {
     @ApiModelProperty(value = "请假人数")
     private Integer leaveStudentNum;
 
+    @ApiModelProperty(value = "当前课时")
+    private Integer currentClassTimes;
+
+    @ApiModelProperty(value = "总课次",required = true)
+    private Integer totalClassTimes;
+
+    @ApiModelProperty(value = "上课学生名称")
+    private String studentNames;
+
+
+    public String getStudentNames() {
+        return studentNames;
+    }
+
+    public void setStudentNames(String studentNames) {
+        this.studentNames = studentNames;
+    }
+
+    public Integer getCurrentClassTimes() {
+        return currentClassTimes;
+    }
+
+    public void setCurrentClassTimes(Integer currentClassTimes) {
+        this.currentClassTimes = currentClassTimes;
+    }
+
+    public Integer getTotalClassTimes() {
+        return totalClassTimes;
+    }
+
+    public void setTotalClassTimes(Integer totalClassTimes) {
+        this.totalClassTimes = totalClassTimes;
+    }
+
     public Integer getStudentNum() {
         return studentNum;
     }

+ 33 - 0
mec-biz/src/main/java/com/ym/mec/biz/dal/dto/TeacherClassGroupDto.java

@@ -65,6 +65,39 @@ public class TeacherClassGroupDto {
     @ApiModelProperty(value = "班级学生名称")
     private String studentNames;
 
+    @ApiModelProperty(value = "线上课数")
+    private Integer onlineClassesNum;
+
+    @ApiModelProperty(value = "线下课数")
+    private Integer offLineClassesNum;
+
+    @ApiModelProperty(value = "教学形式")
+    private Integer classMode;
+
+    public Integer getClassMode() {
+        return classMode;
+    }
+
+    public void setClassMode(Integer classMode) {
+        this.classMode = classMode;
+    }
+
+    public Integer getOnlineClassesNum() {
+        return onlineClassesNum;
+    }
+
+    public void setOnlineClassesNum(Integer onlineClassesNum) {
+        this.onlineClassesNum = onlineClassesNum;
+    }
+
+    public Integer getOffLineClassesNum() {
+        return offLineClassesNum;
+    }
+
+    public void setOffLineClassesNum(Integer offLineClassesNum) {
+        this.offLineClassesNum = offLineClassesNum;
+    }
+
     public String getStudentNames() {
         return studentNames;
     }

+ 10 - 0
mec-biz/src/main/java/com/ym/mec/biz/dal/entity/CourseSchedule.java

@@ -104,6 +104,8 @@ public class CourseSchedule {
 
 	@ApiModelProperty(value = "请假人数")
 	private Integer leaveStudentNum;
+	
+	private Integer schoolId;
 
 	public String getStartClassTimeStr() {
 		return startClassTimeStr;
@@ -277,6 +279,14 @@ public class CourseSchedule {
 		this.name = name;
 	}
 
+	public Integer getSchoolId() {
+		return schoolId;
+	}
+
+	public void setSchoolId(Integer schoolId) {
+		this.schoolId = schoolId;
+	}
+
 	@Override
 	public String toString() {
 		return ToStringBuilder.reflectionToString(this);

+ 10 - 0
mec-biz/src/main/java/com/ym/mec/biz/dal/entity/CourseScheduleStudentPayment.java

@@ -31,6 +31,8 @@ public class CourseScheduleStudentPayment {
 	/** 结算时间 */
 	private java.util.Date settlementTime;
 	
+	private Integer classGroupId;
+	
 	public void setId(Long id){
 		this.id = id;
 	}
@@ -95,6 +97,14 @@ public class CourseScheduleStudentPayment {
 		return this.settlementTime;
 	}
 			
+	public Integer getClassGroupId() {
+		return classGroupId;
+	}
+
+	public void setClassGroupId(Integer classGroupId) {
+		this.classGroupId = classGroupId;
+	}
+
 	@Override
 	public String toString() {
 		return ToStringBuilder.reflectionToString(this);

+ 17 - 7
mec-biz/src/main/java/com/ym/mec/biz/dal/entity/CourseScheduleTeacherSalary.java

@@ -27,7 +27,7 @@ public class CourseScheduleTeacherSalary {
 	private java.util.Date createTime;
 	
 	/**  */
-	private java.util.Date createUpdate;
+	private java.util.Date updateTime;
 	
 	/** 补贴 */
 	private java.math.BigDecimal subsidy;
@@ -38,6 +38,8 @@ public class CourseScheduleTeacherSalary {
 	/** 结算时间 */
 	private java.util.Date settlementTime;
 	
+	private Integer classGroupId;
+	
 	public void setId(Long id){
 		this.id = id;
 	}
@@ -86,14 +88,14 @@ public class CourseScheduleTeacherSalary {
 		return this.createTime;
 	}
 			
-	public void setCreateUpdate(java.util.Date createUpdate){
-		this.createUpdate = createUpdate;
+	public java.util.Date getUpdateTime() {
+		return updateTime;
 	}
-	
-	public java.util.Date getCreateUpdate(){
-		return this.createUpdate;
+
+	public void setUpdateTime(java.util.Date updateTime) {
+		this.updateTime = updateTime;
 	}
-			
+
 	public void setSubsidy(java.math.BigDecimal subsidy){
 		this.subsidy = subsidy;
 	}
@@ -118,6 +120,14 @@ public class CourseScheduleTeacherSalary {
 		return this.settlementTime;
 	}
 			
+	public Integer getClassGroupId() {
+		return classGroupId;
+	}
+
+	public void setClassGroupId(Integer classGroupId) {
+		this.classGroupId = classGroupId;
+	}
+
 	@Override
 	public String toString() {
 		return ToStringBuilder.reflectionToString(this);

+ 12 - 4
mec-biz/src/main/java/com/ym/mec/biz/dal/entity/School.java

@@ -1,11 +1,9 @@
 package com.ym.mec.biz.dal.entity;
 
-import java.math.BigDecimal;
-
-import com.ym.mec.biz.dal.enums.YesOrNoEnum;
-
 import io.swagger.annotations.ApiModelProperty;
 
+import java.math.BigDecimal;
+
 import org.apache.commons.lang3.builder.ToStringBuilder;
 
 /**
@@ -15,6 +13,8 @@ public class School {
 
 	/**  */
 	private Integer id;
+	
+	private Integer userId;
 
 	/**  */
 	@ApiModelProperty(value = "学校名称", required = false)
@@ -66,6 +66,14 @@ public class School {
 		return this.id;
 	}
 
+	public Integer getUserId() {
+		return userId;
+	}
+
+	public void setUserId(Integer userId) {
+		this.userId = userId;
+	}
+
 	public void setName(String name) {
 		this.name = name;
 	}

+ 31 - 0
mec-biz/src/main/java/com/ym/mec/biz/dal/entity/StudentPaymentOrder.java

@@ -3,11 +3,13 @@ package com.ym.mec.biz.dal.entity;
 import com.ym.mec.biz.dal.enums.DealStatusEnum;
 import com.ym.mec.biz.dal.enums.OrderTypeEnum;
 
+import com.ym.mec.biz.dal.enums.PaymentChannelTypeEnum;
 import io.swagger.annotations.ApiModelProperty;
 
 import org.apache.commons.lang3.builder.ToStringBuilder;
 
 import java.math.BigDecimal;
+import java.util.Date;
 
 /**
  * 对应数据库表(student_payment_order):
@@ -76,6 +78,12 @@ public class StudentPaymentOrder {
 	private Integer classGroupId;
 
 	private Integer version;
+
+	private Date payTime;
+
+	private Integer accountId;
+
+	private PaymentChannelTypeEnum paymentChannelType;
 	
 	public void setId(Long id){
 		this.id = id;
@@ -213,6 +221,29 @@ public class StudentPaymentOrder {
 		this.version = version;
 	}
 
+	public Date getPayTime() {
+		return payTime;
+	}
+
+	public void setPayTime(Date payTime) {
+		this.payTime = payTime;
+	}
+    public Integer getAccountId() {
+        return accountId;
+    }
+
+    public void setAccountId(Integer accountId) {
+        this.accountId = accountId;
+    }
+
+    public PaymentChannelTypeEnum getPaymentChannelType() {
+        return paymentChannelType;
+    }
+
+    public void setPaymentChannelType(PaymentChannelTypeEnum paymentChannelType) {
+        this.paymentChannelType = paymentChannelType;
+    }
+
 	@Override
 	public String toString() {
 		return ToStringBuilder.reflectionToString(this);

+ 8 - 8
mec-biz/src/main/java/com/ym/mec/biz/dal/entity/Teacher.java

@@ -1,10 +1,5 @@
 package com.ym.mec.biz.dal.entity;
 
-import com.ym.mec.auth.api.entity.SysUser;
-import com.ym.mec.biz.dal.enums.JobNatureEnum;
-import com.ym.mec.biz.dal.enums.JobTypeEnum;
-import com.ym.mec.biz.dal.enums.YesOrNoEnum;
-
 import io.swagger.annotations.ApiModelProperty;
 
 import java.util.Date;
@@ -12,6 +7,11 @@ import java.util.List;
 
 import org.apache.commons.lang3.builder.ToStringBuilder;
 
+import com.ym.mec.auth.api.entity.SysUser;
+import com.ym.mec.biz.dal.enums.JobNatureEnum;
+import com.ym.mec.biz.dal.enums.JobTypeEnum;
+import com.ym.mec.biz.dal.enums.YesOrNoEnum;
+
 /**
  * 对应数据库表(teacher):
  */
@@ -86,13 +86,13 @@ public class Teacher extends SysUser {
 	private Date demissionDate;
 
 	@ApiModelProperty(value = "老师教学点列表", required = false)
-	private List<TeacherSchool> teacherSchools;
+	private List<School> teacherSchools;
 
-	public List<TeacherSchool> getTeacherSchools() {
+	public List<School> getTeacherSchools() {
 		return teacherSchools;
 	}
 
-	public void setTeacherSchools(List<TeacherSchool> teacherSchools) {
+	public void setTeacherSchools(List<School> teacherSchools) {
 		this.teacherSchools = teacherSchools;
 	}
 

+ 0 - 121
mec-biz/src/main/java/com/ym/mec/biz/dal/entity/TeacherSchool.java

@@ -1,121 +0,0 @@
-package com.ym.mec.biz.dal.entity;
-
-import io.swagger.annotations.ApiModelProperty;
-import org.apache.commons.lang3.builder.ToStringBuilder;
-
-/**
- * 对应数据库表(teacher_school):
- */
-public class TeacherSchool {
-
-	/**  */
-	private Long id;
-	
-	/**  */
-	@ApiModelProperty(value = "用户编号",required = false)
-	private Integer userId;
-	
-	/** 省 */
-	@ApiModelProperty(value = "省份",required = false)
-	private String province;
-	
-	/** 市 */
-	@ApiModelProperty(value = "市",required = false)
-	private String city;
-	
-	/** 区 */
-	@ApiModelProperty(value = "区",required = false)
-	private String district;
-	
-	/** 地址 */
-	@ApiModelProperty(value = "地址",required = false)
-	private String address;
-	
-	/** 经纬度 */
-	@ApiModelProperty(value = "经纬度",required = false)
-	private String longitudeLatitude;
-	
-	/**  */
-	private java.util.Date createTime;
-	
-	/**  */
-	private java.util.Date updateTime;
-	
-	public void setId(Long id){
-		this.id = id;
-	}
-	
-	public Long getId(){
-		return this.id;
-	}
-			
-	public void setUserId(Integer userId){
-		this.userId = userId;
-	}
-	
-	public Integer getUserId(){
-		return this.userId;
-	}
-			
-	public void setProvince(String province){
-		this.province = province;
-	}
-	
-	public String getProvince(){
-		return this.province;
-	}
-			
-	public void setCity(String city){
-		this.city = city;
-	}
-	
-	public String getCity(){
-		return this.city;
-	}
-			
-	public void setDistrict(String district){
-		this.district = district;
-	}
-	
-	public String getDistrict(){
-		return this.district;
-	}
-			
-	public void setAddress(String address){
-		this.address = address;
-	}
-	
-	public String getAddress(){
-		return this.address;
-	}
-			
-	public void setLongitudeLatitude(String longitudeLatitude){
-		this.longitudeLatitude = longitudeLatitude;
-	}
-	
-	public String getLongitudeLatitude(){
-		return this.longitudeLatitude;
-	}
-			
-	public void setCreateTime(java.util.Date createTime){
-		this.createTime = createTime;
-	}
-	
-	public java.util.Date getCreateTime(){
-		return this.createTime;
-	}
-			
-	public void setUpdateTime(java.util.Date updateTime){
-		this.updateTime = updateTime;
-	}
-	
-	public java.util.Date getUpdateTime(){
-		return this.updateTime;
-	}
-			
-	@Override
-	public String toString() {
-		return ToStringBuilder.reflectionToString(this);
-	}
-
-}

+ 3 - 13
mec-biz/src/main/java/com/ym/mec/biz/dal/entity/VipGroup.java

@@ -50,7 +50,7 @@ public class VipGroup {
 
 	/** 教学点 */
 	@ApiModelProperty(value = "教学点", required = false)
-	private Long teacherSchoolId;
+	private Integer teacherSchoolId;
 
 	/** 线上课课时数 */
 	@ApiModelProperty(value = "线上课课时数", required = false)
@@ -101,8 +101,6 @@ public class VipGroup {
 	
 	private Integer organId;
 	
-	private Integer schoolId;
-
 	public String getVipGroupActivityName() {
 		return vipGroupActivityName;
 	}
@@ -263,11 +261,11 @@ public class VipGroup {
 		return this.updateTime;
 	}
 
-	public void setTeacherSchoolId(Long teacherSchoolId) {
+	public void setTeacherSchoolId(Integer teacherSchoolId) {
 		this.teacherSchoolId = teacherSchoolId;
 	}
 
-	public Long getTeacherSchoolId() {
+	public Integer getTeacherSchoolId() {
 		return this.teacherSchoolId;
 	}
 
@@ -319,14 +317,6 @@ public class VipGroup {
 		this.organId = organId;
 	}
 
-	public Integer getSchoolId() {
-		return schoolId;
-	}
-
-	public void setSchoolId(Integer schoolId) {
-		this.schoolId = schoolId;
-	}
-
 	@Override
 	public String toString() {
 		return ToStringBuilder.reflectionToString(this);

+ 26 - 0
mec-biz/src/main/java/com/ym/mec/biz/dal/enums/PaymentChannelTypeEnum.java

@@ -0,0 +1,26 @@
+package com.ym.mec.biz.dal.enums;
+
+import com.ym.mec.common.enums.BaseEnum;
+
+public enum PaymentChannelTypeEnum implements BaseEnum<String, PaymentChannelTypeEnum> {
+	PER("PER", "个人"), COM("com", "公司");
+
+	private String code;
+
+	private String desc;
+
+	private PaymentChannelTypeEnum(String code, String desc) {
+		this.code = code;
+		this.desc = desc;
+	}
+
+	@Override
+	public String getCode() {
+		return code;
+	}
+
+	public String getDesc() {
+		return desc;
+	}
+
+}

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

@@ -20,12 +20,23 @@ public class StudentAttendanceQueryInfo extends QueryInfo {
     @ApiModelProperty(value = "班级ID")
     private Long classGroupId;
 
+    @ApiModelProperty(value = "课程ID")
+    private Long courseScheduleId;
+
     @ApiModelProperty(value = "状态(正常、旷课、请假、休学)",required = false)
     private StudentAttendanceStatusEnum status;
 
     @ApiModelProperty(value = "过滤状态")
     private StudentAttendanceStatusEnum filterStatus;
 
+    public Long getCourseScheduleId() {
+        return courseScheduleId;
+    }
+
+    public void setCourseScheduleId(Long courseScheduleId) {
+        this.courseScheduleId = courseScheduleId;
+    }
+
     public StudentAttendanceStatusEnum getFilterStatus() {
         return filterStatus;
     }

+ 12 - 0
mec-biz/src/main/java/com/ym/mec/biz/service/MusicGroupService.java

@@ -1,5 +1,6 @@
 package com.ym.mec.biz.service;
 
+import java.math.BigDecimal;
 import java.util.Date;
 import java.util.List;
 import java.util.Map;
@@ -94,6 +95,17 @@ public interface MusicGroupService extends BaseService<String, MusicGroup> {
 	Map renew(String musicGroupId, Integer userId);
 
 	/**
+	 * 课酬调整
+	 * @param courseScheduleId 课程编号
+	 * @param teacherId 老师编号
+	 * @param salary 老师薪水
+	 * @param subsidy 老师补贴
+	 * @param scope 范围(one,all)
+	 * @return
+	 */
+	boolean updateTeacherCoursesSalary(Long courseScheduleId, Integer teacherId, BigDecimal salary, BigDecimal subsidy, String scope);
+
+	/**
 	 * 获取乐团列表
 	 * @param queryInfo
 	 * @return

+ 8 - 0
mec-biz/src/main/java/com/ym/mec/biz/service/StudentRegistrationService.java

@@ -140,4 +140,12 @@ public interface StudentRegistrationService extends BaseService<Long, StudentReg
 	 */
 	List<StudentRegistration> findClassGroupStu(String musicGroupId, Integer classGroupId);
 
+
+	/**
+	 * 更新报名订单
+	 * @param studentPaymentOrder
+	 * @return
+	 */
+	StudentPaymentOrder updateApplyOrder(StudentPaymentOrder studentPaymentOrder);
+
 }

+ 0 - 21
mec-biz/src/main/java/com/ym/mec/biz/service/TeacherSchoolService.java

@@ -1,21 +0,0 @@
-package com.ym.mec.biz.service;
-
-import com.ym.mec.biz.dal.entity.TeacherSchool;
-import com.ym.mec.common.service.BaseService;
-
-import java.util.List;
-
-public interface TeacherSchoolService extends BaseService<Long, TeacherSchool> {
-
-    /**
-     * @Author: Joburgess
-     * @Date: 2019/10/14
-     * @params [teacherId]
-     * @return java.util.List<com.ym.mec.biz.dal.entity.TeacherSchool>
-     * @describe 根据教师编号获取教学点
-     */
-    List<TeacherSchool> findByTeacherId(Integer teacherId);
-
-
-
-}

+ 10 - 0
mec-biz/src/main/java/com/ym/mec/biz/service/TeacherService.java

@@ -86,6 +86,16 @@ public interface TeacherService extends BaseService<Integer, Teacher> {
     PageInfo<TeacherCloseDto> queryCloses(TeacherCloseQueryInfo queryInfo);
 
     /**
+     * @describe 获取乐团下的老师
+     * @author Joburgess
+     * @date 2019/10/19
+     * @param musicGroupId:
+     * @return java.util.List<com.ym.mec.biz.dal.dto.BasicUserDto>
+     */
+    List<BasicUserDto> queryMusicGroupTeacher(Long musicGroupId);
+
+
+    /**
      * 获取老师未结算课酬总额
      * @param teacherId
      * @return

+ 24 - 6
mec-biz/src/main/java/com/ym/mec/biz/service/VipGroupService.java

@@ -1,16 +1,27 @@
 package com.ym.mec.biz.service;
 
-import com.ym.mec.biz.dal.dto.*;
+import java.math.BigDecimal;
+import java.util.List;
+import java.util.Map;
+
+import com.ym.mec.biz.dal.dto.StudentVipGroupDetailDto;
+import com.ym.mec.biz.dal.dto.TeachingRecordBaseInfo;
+import com.ym.mec.biz.dal.dto.VipGroupApplyDto;
+import com.ym.mec.biz.dal.dto.VipGroupBuyParamsDto;
+import com.ym.mec.biz.dal.dto.VipGroupCostCountDto;
+import com.ym.mec.biz.dal.dto.VipGroupCostCountParamsDto;
+import com.ym.mec.biz.dal.dto.VipGroupManageDetailDto;
+import com.ym.mec.biz.dal.entity.School;
 import com.ym.mec.biz.dal.entity.StudentApplyRefunds;
 import com.ym.mec.biz.dal.entity.VipGroup;
-import com.ym.mec.biz.dal.page.*;
+import com.ym.mec.biz.dal.page.StudentVipGroupQueryInfo;
+import com.ym.mec.biz.dal.page.VipGroupAttendanceQueryInfo;
+import com.ym.mec.biz.dal.page.VipGroupQueryInfo;
+import com.ym.mec.biz.dal.page.VipGroupSalaryQueryInfo;
+import com.ym.mec.biz.dal.page.VipGroupTeachingRecordQueryInfo;
 import com.ym.mec.common.page.PageInfo;
 import com.ym.mec.common.service.BaseService;
 
-import java.math.BigDecimal;
-import java.util.List;
-import java.util.Map;
-
 public interface VipGroupService extends BaseService<Long, VipGroup> {
 
     /**
@@ -181,4 +192,11 @@ public interface VipGroupService extends BaseService<Long, VipGroup> {
      */
     boolean awardedMonthlyRewards();
     
+    /**
+     * 根据老师查询vip课教学点
+     * @param userId
+     * @return
+     */
+    List<School> querySchoolByUserId(Integer userId);
+    
 }

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

@@ -187,7 +187,18 @@ public class ClassGroupServiceImpl extends BaseServiceImpl<Integer, ClassGroup>
     @Override
     @Transactional(rollbackFor = Exception.class)
     public List<HighClassGroupDto> addHighClassGroup(List<HighClassGroupDto> highClassGroupList) throws Exception {
+    	
+    	Integer schoolId = null;
+    	
         for (HighClassGroupDto highClassGroup : highClassGroupList) {
+        	
+			if (schoolId == null) {
+				MusicGroup musicGroup = musicGroupDao.get(highClassGroup.getMusicGroupId());
+				if (musicGroup != null) {
+					schoolId = musicGroup.getSchoolId();
+				}
+			}
+        	
             //1、插入班级信息
             Date date;
             date = new Date();
@@ -218,12 +229,15 @@ public class ClassGroupServiceImpl extends BaseServiceImpl<Integer, ClassGroup>
                     CourseSchedule courseSchedule = new CourseSchedule();
                     Instant instant = now.atZone(ZoneId.systemDefault()).toInstant();
                     Date classDate = Date.from(instant);
+                    String startClassTime = DateUtil.getDate(classDate) + " " + highClassGroup.getStartClassTime();
+                    String endClassTime = DateUtil.getDate(classDate) + " " + highClassGroup.getEndClassTime();
 
+                    courseSchedule.setSchoolId(schoolId);
                     courseSchedule.setClassGroupId(highClassGroup.getUserId());
                     courseSchedule.setStatus(CourseStatusEnum.NOT_START);
                     courseSchedule.setClassDate(classDate);
-                    courseSchedule.setStartClassTime(highClassGroup.getStartClassTime());
-                    courseSchedule.setEndClassTime(highClassGroup.getEndClassTime());
+                    courseSchedule.setStartClassTime(DateUtil.stringToDate(startClassTime));
+                    courseSchedule.setEndClassTime(DateUtil.stringToDate(endClassTime));
                     courseSchedule.setTeacherId(highClassGroup.getUserId().longValue());
                     courseSchedule.setActualTeacherId(highClassGroup.getUserId().longValue());
                     courseSchedule.setCreateTime(date);
@@ -553,6 +567,15 @@ public class ClassGroupServiceImpl extends BaseServiceImpl<Integer, ClassGroup>
             if(teacherClassGroupDto.getType()==ClassGroupTypeEnum.VIP){
                 String[] studentNums = classGroupStudentMapperDao.findStudentNumByClassGroupId(teacherClassGroupDto.getClassGroupId());
                 teacherClassGroupDto.setStudentNames(StringUtils.join(studentNums,","));
+                if(teacherClassGroupDto.getOffLineClassesNum()>0&&teacherClassGroupDto.getOffLineClassesNum()<=0){
+                    teacherClassGroupDto.setClassMode(1);
+                }else if(teacherClassGroupDto.getOffLineClassesNum()>0&&teacherClassGroupDto.getOffLineClassesNum()>0){
+                    teacherClassGroupDto.setClassMode(3);
+                }else if(teacherClassGroupDto.getOnlineClassesNum()<0&&teacherClassGroupDto.getOffLineClassesNum()>=0){
+                    teacherClassGroupDto.setClassMode(2);
+                }else{
+                    teacherClassGroupDto.setClassMode(0);
+                }
             }
             String subjectIdList=teacherClassGroupDto.getSubjectIdList();
             if(StringUtils.isNotEmpty(subjectIdList)){

+ 18 - 15
mec-biz/src/main/java/com/ym/mec/biz/service/impl/ClassGroupTeacherMapperServiceImpl.java

@@ -1,26 +1,28 @@
 package com.ym.mec.biz.service.impl;
 
-import com.ym.mec.biz.dal.dao.CourseScheduleTeacherSalaryDao;
-import com.ym.mec.biz.dal.entity.*;
-import com.ym.mec.biz.dal.enums.SalarySettlementTypeEnum;
-import com.ym.mec.biz.dal.enums.TeachTypeEnum;
-import com.ym.mec.biz.service.CourseScheduleService;
-import com.ym.mec.biz.service.CourseScheduleTeacherSalaryService;
-import com.ym.mec.util.date.DateUtil;
+import java.math.BigDecimal;
+import java.util.ArrayList;
+import java.util.Date;
+import java.util.List;
+
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.Transactional;
 
 import com.ym.mec.biz.dal.dao.ClassGroupTeacherMapperDao;
+import com.ym.mec.biz.dal.dao.CourseScheduleTeacherSalaryDao;
+import com.ym.mec.biz.dal.entity.ClassGroupTeacherMapper;
+import com.ym.mec.biz.dal.entity.ClassGroupTeacherSalary;
+import com.ym.mec.biz.dal.entity.CourseSchedule;
+import com.ym.mec.biz.dal.entity.CourseScheduleTeacherSalary;
+import com.ym.mec.biz.dal.entity.TeacherDefaultMusicGroupSalary;
+import com.ym.mec.biz.dal.enums.SalarySettlementTypeEnum;
+import com.ym.mec.biz.dal.enums.TeachTypeEnum;
 import com.ym.mec.biz.service.ClassGroupTeacherMapperService;
+import com.ym.mec.biz.service.CourseScheduleService;
 import com.ym.mec.common.dal.BaseDAO;
 import com.ym.mec.common.service.impl.BaseServiceImpl;
-import org.springframework.transaction.annotation.Transactional;
-
-import java.math.BigDecimal;
-import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.Date;
-import java.util.List;
+import com.ym.mec.util.date.DateUtil;
 
 @Service
 public class ClassGroupTeacherMapperServiceImpl extends BaseServiceImpl<Long, ClassGroupTeacherMapper> implements ClassGroupTeacherMapperService {
@@ -108,7 +110,8 @@ public class ClassGroupTeacherMapperServiceImpl extends BaseServiceImpl<Long, Cl
                 courseScheduleTeacherSalary.setUserId(classGroupTeacherMapper.getUserId());
                 courseScheduleTeacherSalary.setExpectSalary(salary);
                 courseScheduleTeacherSalary.setCreateTime(date);
-                courseScheduleTeacherSalary.setCreateUpdate(date);
+                courseScheduleTeacherSalary.setUpdateTime(date);
+                courseScheduleTeacherSalary.setClassGroupId(classGroupTeacherMapper.getClassGroupId());
                 courseScheduleTeacherSalaryList.add(courseScheduleTeacherSalary);
             }
         }

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

@@ -566,11 +566,20 @@ public class CourseScheduleServiceImpl extends BaseServiceImpl<Long, CourseSched
 		MapUtil.populateMap(params, queryInfo);
 
 		List dataList = null;
-		int count = courseScheduleDao.countTeacherClassCourseSchedule(params);
+		int count = 0;
+		if(Objects.isNull(queryInfo.getOnlyHistory())||queryInfo.getOnlyHistory()==0){
+			count = courseScheduleDao.countTeacherClassCourseSchedule(params);
+		}else{
+			count= courseScheduleDao.countTeacherHistoryClassCourseSchedule(params);
+		}
 		if (count > 0) {
 			pageInfo.setTotal(count);
 			params.put("offset", pageInfo.getOffset());
-			dataList = courseScheduleDao.queryTeacherClassCourseSchedule(params);
+			if(Objects.isNull(queryInfo.getOnlyHistory())||queryInfo.getOnlyHistory()==0){
+				dataList = courseScheduleDao.queryTeacherClassCourseSchedule(params);
+			}else{
+				dataList = courseScheduleDao.queryTeacherHistoryClassCourseSchedule(params);
+			}
 		}
 		if (count == 0) {
 			dataList = new ArrayList<>();
@@ -584,9 +593,9 @@ public class CourseScheduleServiceImpl extends BaseServiceImpl<Long, CourseSched
 		if(Objects.isNull(musicGroupId)){
 			throw new BizException("请指定乐团");
 		}
-		List<Map<Long, Integer>> maps = courseScheduleDao.countClassCourseNumByMusicGroup(musicGroupId);
-		Map<Long,Integer> classCourseNumMap = MapUtil.convertMybatisMap(maps);
-		for (Long key:classCourseNumMap.keySet()){
+		List<Map<Integer, Long>> maps = courseScheduleDao.countClassCourseNumByMusicGroup(musicGroupId);
+		Map<Integer,Long> classCourseNumMap = MapUtil.convertMybatisMap(maps);
+		for (Integer key:classCourseNumMap.keySet()){
 			if(classCourseNumMap.get(key)<=0){
 				throw new BizException("存在未排课的班级");
 			}

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

@@ -64,6 +64,7 @@ public class CourseScheduleStudentPaymentServiceImpl extends BaseServiceImpl<Lon
 				//创建学生课程应缴费记录
 				CourseScheduleStudentPayment courseScheduleStudentPayment = new CourseScheduleStudentPayment();
 				courseScheduleStudentPayment.setCourseScheduleId(courseSchedules.get(i).getId());
+				courseScheduleStudentPayment.setClassGroupId(courseSchedules.get(i).getClassGroupId());
 
 				if (teachModeEnum == TeachModeEnum.ONLINE) {
 					//学生线上单节课应缴费计算

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

@@ -75,6 +75,7 @@ public class CourseScheduleTeacherSalaryServiceImpl extends BaseServiceImpl<Long
 				courseScheduleTeacherSalary.setCourseScheduleId(courseSchedules.get(i).getId());
 				courseScheduleTeacherSalary.setTeacherRole(TeachTypeEnum.BISHOP);
 				courseScheduleTeacherSalary.setUserId(vipGroup.getUserId());
+				courseScheduleTeacherSalary.setClassGroupId(courseSchedules.get(i).getClassGroupId());
 
 				if(teachModeEnum==TeachModeEnum.ONLINE){
 					if(vipGroupActivity.getType()== VipGroupActivityTypeEnum.GIVE_CLASS

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

@@ -18,6 +18,8 @@ import org.springframework.transaction.annotation.Transactional;
 import com.ym.mec.auth.api.entity.SysUser;
 import com.ym.mec.biz.dal.dao.ChargeTypeDao;
 import com.ym.mec.biz.dal.dao.ClassGroupStudentMapperDao;
+import com.ym.mec.biz.dal.dao.CourseScheduleDao;
+import com.ym.mec.biz.dal.dao.CourseScheduleTeacherSalaryDao;
 import com.ym.mec.biz.dal.dao.MusicGroupBuildLogDao;
 import com.ym.mec.biz.dal.dao.MusicGroupDao;
 import com.ym.mec.biz.dal.dao.MusicGroupPaymentCalenderDao;
@@ -33,6 +35,8 @@ import com.ym.mec.biz.dal.dto.BasicUserDto;
 import com.ym.mec.biz.dal.dto.MusicCardDto;
 import com.ym.mec.biz.dal.dto.SubFeeSettingDto;
 import com.ym.mec.biz.dal.entity.ApprovalStatus;
+import com.ym.mec.biz.dal.entity.CourseSchedule;
+import com.ym.mec.biz.dal.entity.CourseScheduleTeacherSalary;
 import com.ym.mec.biz.dal.entity.MusicGroup;
 import com.ym.mec.biz.dal.entity.MusicGroupBuildLog;
 import com.ym.mec.biz.dal.entity.MusicGroupPaymentCalender;
@@ -112,6 +116,12 @@ public class MusicGroupServiceImpl extends BaseServiceImpl<String, MusicGroup> i
 
 	@Autowired
 	private StudentRegistrationService studentRegistrationService;
+	
+	@Autowired
+	private CourseScheduleDao courseScheduleDao;
+	
+	@Autowired
+	private CourseScheduleTeacherSalaryDao courseScheduleTeacherSalaryDao;
 
 	@Autowired
 	private PayService payService;
@@ -422,6 +432,37 @@ public class MusicGroupServiceImpl extends BaseServiceImpl<String, MusicGroup> i
 	}
 
 	@Override
+	@Transactional(propagation = Propagation.REQUIRED, rollbackFor = Exception.class)
+	public boolean updateTeacherCoursesSalary(Long courseScheduleId, Integer teacherId, BigDecimal salary, BigDecimal subsidy, String scope) {
+
+		CourseSchedule courseSchedule = courseScheduleDao.get(courseScheduleId);
+		if (courseSchedule == null) {
+			throw new BizException("课程信息不存在");
+		}
+
+		if ("all".equals(scope)) {
+			Integer classGrpupId = courseSchedule.getClassGroupId();
+			// 未结算的课酬都修改
+			courseScheduleTeacherSalaryDao.batchUpdateWages(classGrpupId, teacherId, salary, subsidy);
+		} else {
+			CourseScheduleTeacherSalary courseScheduleTeacherSalary = courseScheduleTeacherSalaryDao.queryByCourseScheduleIdAndUserId(courseScheduleId,
+					teacherId);
+			if (courseScheduleTeacherSalary == null) {
+				throw new BizException("课程结算信息不存在");
+			}
+			// 判断当前课程是否结算
+			if (courseScheduleTeacherSalary.getSettlementTime() != null) {
+				throw new BizException("课程已结算");
+			}
+			courseScheduleTeacherSalary.setExpectSalary(salary);
+			courseScheduleTeacherSalary.setSubsidy(subsidy);
+			courseScheduleTeacherSalary.setUpdateTime(new Date());
+			courseScheduleTeacherSalaryDao.update(courseScheduleTeacherSalary);
+		}
+		return true;
+	}
+
+	@Override
 	public PageInfo<MusicGroup> queryMusicGroupPage(MusicGroupQueryInfo queryInfo) {
 		PageInfo<MusicGroup> musicGroupPageInfo = queryPage(queryInfo);
 		List<MusicGroup> musicGroupList = musicGroupPageInfo.getRows();

+ 5 - 0
mec-biz/src/main/java/com/ym/mec/biz/service/impl/PayServiceImpl.java

@@ -68,6 +68,11 @@ public class PayServiceImpl implements PayService {
     }
 
 
+    /**
+     * 获取收款的账户
+     * @param money
+     * @return
+     */
     private SysAccount getRoutingAccount(BigDecimal money) {
         SysAccount routingAccount = null;
         int payOrderNums = studentPaymentOrderService.findPayOrderNum(); //获取支付中和成功的订单数

+ 9 - 10
mec-biz/src/main/java/com/ym/mec/biz/service/impl/StudentAttendanceServiceImpl.java

@@ -1,15 +1,5 @@
 package com.ym.mec.biz.service.impl;
 
-import java.util.ArrayList;
-import java.util.Date;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
-
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.stereotype.Service;
-import org.springframework.transaction.annotation.Transactional;
-
 import com.ym.mec.biz.dal.dao.ClassGroupStudentMapperDao;
 import com.ym.mec.biz.dal.dao.CourseScheduleDao;
 import com.ym.mec.biz.dal.dao.MusicGroupStudentFeeDao;
@@ -32,6 +22,12 @@ import com.ym.mec.common.page.QueryInfo;
 import com.ym.mec.common.service.impl.BaseServiceImpl;
 import com.ym.mec.util.collection.MapUtil;
 import com.ym.mec.util.date.DateUtil;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.Transactional;
+import org.springframework.util.CollectionUtils;
+
+import java.util.*;
 
 @Service
 public class StudentAttendanceServiceImpl extends BaseServiceImpl<Long, StudentAttendance>  implements StudentAttendanceService {
@@ -53,6 +49,9 @@ public class StudentAttendanceServiceImpl extends BaseServiceImpl<Long, StudentA
 
 	@Override
 	public void addStudentAttendances(List<StudentAttendance> studentAttendances) {
+		if(CollectionUtils.isEmpty(studentAttendances)){
+			throw new BizException("无点名信息");
+		}
 		int classTimes=courseScheduleDao.countClassTimes(studentAttendances.get(0).getClassGroupId().longValue());
 		studentAttendances.forEach(studentAttendance -> {
 			studentAttendance.setCurrentClassTimes(classTimes);

+ 52 - 31
mec-biz/src/main/java/com/ym/mec/biz/service/impl/StudentRegistrationServiceImpl.java

@@ -9,6 +9,7 @@ import javax.annotation.Resource;
 import com.ym.mec.auth.api.entity.SysMenu;
 import com.ym.mec.biz.dal.dao.*;
 import com.ym.mec.biz.dal.entity.*;
+import com.ym.mec.biz.dal.enums.*;
 import com.ym.mec.biz.service.MusicGroupSubjectPlanService;
 import com.ym.mec.common.entity.ImResult;
 import com.ym.mec.common.entity.ImUserModel;
@@ -25,11 +26,6 @@ import com.ym.mec.auth.api.enums.UserLockFlag;
 import com.ym.mec.biz.dal.dto.StudentApplyDetailDto;
 import com.ym.mec.biz.dal.dto.StudentFeeDto;
 import com.ym.mec.biz.dal.dto.StudentInfo;
-import com.ym.mec.biz.dal.enums.DealStatusEnum;
-import com.ym.mec.biz.dal.enums.GoodsType;
-import com.ym.mec.biz.dal.enums.OrderDetailTypeEnum;
-import com.ym.mec.biz.dal.enums.OrderTypeEnum;
-import com.ym.mec.biz.dal.enums.YesOrNoEnum;
 import com.ym.mec.biz.dal.page.StudentRegistrationQueryInfo;
 import com.ym.mec.biz.service.StudentPaymentOrderDetailService;
 import com.ym.mec.biz.service.StudentPaymentOrderService;
@@ -115,21 +111,21 @@ public class StudentRegistrationServiceImpl extends BaseServiceImpl<Long, Studen
     }
 
     @Override
-    public List<Map<String,Object>> getNoClassStuBySubjectId(String musicGroupId, String actualSubjectId) {
+    public List<Map<String, Object>> getNoClassStuBySubjectId(String musicGroupId, String actualSubjectId) {
         List<StudentRegistration> students = studentRegistrationDao.getNoClassStuBySubjectId(musicGroupId, actualSubjectId);
-        List<Map<String,Object>> mapArrayList = new ArrayList<>();
-        if(students != null && students.size() > 0){
+        List<Map<String, Object>> mapArrayList = new ArrayList<>();
+        if (students != null && students.size() > 0) {
             String[] subjectIds = actualSubjectId.split(",");
-            if(subjectIds != null && subjectIds.length > 0){
+            if (subjectIds != null && subjectIds.length > 0) {
                 List<Map<Integer, String>> subjectNames = subjectDao.queryNameByIds(actualSubjectId);
                 Map<Integer, String> subjectNameMap = MapUtil.convertMybatisMap(subjectNames);
-                for (int i = 0;i<subjectIds.length;i++){
-                    Map<String,Object> resultMap = new HashMap<>(3);
+                for (int i = 0; i < subjectIds.length; i++) {
+                    Map<String, Object> resultMap = new HashMap<>(3);
                     int subjectId = Integer.parseInt(subjectIds[i]);
                     List<StudentRegistration> collect = students.stream().filter(e -> e.getSubjectId().equals(subjectId)).collect(Collectors.toList());
-                    resultMap.put("subjectId",subjectId);
-                    resultMap.put("subjectName",subjectNameMap.get(subjectId));
-                    resultMap.put("rows",collect);
+                    resultMap.put("subjectId", subjectId);
+                    resultMap.put("subjectName", subjectNameMap.get(subjectId));
+                    resultMap.put("rows", collect);
                     mapArrayList.add(resultMap);
                 }
             }
@@ -138,7 +134,7 @@ public class StudentRegistrationServiceImpl extends BaseServiceImpl<Long, Studen
     }
 
     @Override
-    public List<Map<Integer,Long>> getNoClassStuCountBySubjectId(String musicGroupId) {
+    public List<Map<Integer, Long>> getNoClassStuCountBySubjectId(String musicGroupId) {
         return studentRegistrationDao.getNoClassStuCountBySubjectId(musicGroupId);
     }
 
@@ -172,7 +168,7 @@ public class StudentRegistrationServiceImpl extends BaseServiceImpl<Long, Studen
         studentRegistrationDao.insert(studentRegistration);
         //增加报名学生数
         MusicGroupSubjectPlan musicOneSubjectClassPlan = musicGroupSubjectPlanService.getMusicOneSubjectClassPlan(studentRegistration.getMusicGroupId(), studentRegistration.getSubjectId());
-        musicOneSubjectClassPlan.setApplyStudentNum(musicOneSubjectClassPlan.getApplyStudentNum()+1);
+        musicOneSubjectClassPlan.setApplyStudentNum(musicOneSubjectClassPlan.getApplyStudentNum() + 1);
         return studentRegistration;
     }
 
@@ -358,12 +354,12 @@ public class StudentRegistrationServiceImpl extends BaseServiceImpl<Long, Studen
     @Override
     public Integer insertStudent(StudentRegistration studentRegistration) throws Exception {
         StudentRegistration phoneAndMusicGroupId = studentRegistrationDao.getByPhoneAndMusicGroupId(studentRegistration.getMusicGroupId(), studentRegistration.getParentsPhone());
-        if(phoneAndMusicGroupId != null){
+        if (phoneAndMusicGroupId != null) {
             throw new Exception("该学员已存在");
-        }else {
+        } else {
             SysUser sysUser = studentRegistrationDao.getSysUserByPhone(studentRegistration.getParentsPhone());
             Integer userId;
-            if(sysUser == null){
+            if (sysUser == null) {
                 //新增user
                 sysUser = new SysUser();
                 sysUser.setRealName(studentRegistration.getName());
@@ -376,28 +372,28 @@ public class StudentRegistrationServiceImpl extends BaseServiceImpl<Long, Studen
                 ImResult register = imFeignService.register(new ImUserModel(userId.toString(), sysUser.getUsername(), sysUser.getAvatar()));
                 sysUser.setImToken(register.getToken());
                 teacherDao.updateUser(sysUser);
-            }else {
+            } else {
                 userId = sysUser.getId();
             }
             studentRegistration.setUserId(userId);
             //学生报名表
             studentRegistrationDao.insert(studentRegistration);
-            if(studentRegistration.getClassGroupId() != null){
+            if (studentRegistration.getClassGroupId() != null) {
                 ClassGroup classGroup = classGroupDao.get(studentRegistration.getClassGroupId());
-                if(classGroup != null){
-                    if(classGroup.getMusicGroupId().equals(studentRegistration.getMusicGroupId())){
+                if (classGroup != null) {
+                    if (classGroup.getMusicGroupId().equals(studentRegistration.getMusicGroupId())) {
                         throw new Exception("班级录入错误");
-                    }else {
+                    } else {
                         //修改实际学生人数
                         classGroup.setStudentNum(classGroup.getStudentNum() + 1);
                         classGroup.setUpdateTime(new Date());
                         classGroupDao.update(classGroup);
                     }
-                }else {
+                } else {
                     throw new Exception("班级不存在");
                 }
                 //新增班级学生关系
-                classGroupStudentMapperDao.insert(new ClassGroupStudentMapper(studentRegistration.getClassGroupId(),userId));
+                classGroupStudentMapperDao.insert(new ClassGroupStudentMapper(studentRegistration.getClassGroupId(), userId));
                 //乐团学生费用表
                 MusicGroupSubjectPlan musicOneSubjectClassPlan = musicGroupSubjectPlanDao.getMusicOneSubjectClassPlan(studentRegistration.getMusicGroupId(), studentRegistration.getActualSubjectId());
                 //获取当前月
@@ -405,9 +401,9 @@ public class StudentRegistrationServiceImpl extends BaseServiceImpl<Long, Studen
                 //获取下次缴费月份
                 List<MusicGroupPaymentCalender> musicGroupPaymentCalenders = musicGroupPaymentCalenderDao.findByMusicGroupId(studentRegistration.getMusicGroupId());
                 List<Integer> months = musicGroupPaymentCalenders.stream().map(e -> e.getPaymentMonth()).collect(Collectors.toList());
-                for (int i = 0;i<months.size();i++){
-                    if(months.get(i).equals(month)){
-                        month = i == months.size()-1?months.get(0):months.get(i+1);
+                for (int i = 0; i < months.size(); i++) {
+                    if (months.get(i).equals(month)) {
+                        month = i == months.size() - 1 ? months.get(0) : months.get(i + 1);
                     }
                 }
                 Calendar calendar = Calendar.getInstance();
@@ -415,8 +411,8 @@ public class StudentRegistrationServiceImpl extends BaseServiceImpl<Long, Studen
                 DateUtil.getFirstDayOfMonth(calendar.getTime());
                 //保存乐团学生费用表
                 musicGroupStudentFeeDao.insert(new MusicGroupStudentFee(studentRegistration.getMusicGroupId(),
-                        userId,studentRegistration.getSubjectId(),musicOneSubjectClassPlan.getFee(),
-                        DateUtil.getFirstDayOfMonth(calendar.getTime()),0,studentRegistration.getTemporaryCourseFee()));
+                        userId, studentRegistration.getSubjectId(), musicOneSubjectClassPlan.getFee(),
+                        DateUtil.getFirstDayOfMonth(calendar.getTime()), 0, studentRegistration.getTemporaryCourseFee()));
             }
             return userId;
         }
@@ -426,4 +422,29 @@ public class StudentRegistrationServiceImpl extends BaseServiceImpl<Long, Studen
     public List<StudentRegistration> findClassGroupStu(String musicGroupId, Integer classGroupId) {
         return studentRegistrationDao.findClassGroupStu(musicGroupId, classGroupId);
     }
+
+    @Override
+    public StudentPaymentOrder updateApplyOrder(StudentPaymentOrder studentPaymentOrder) {
+        //更新订单状态
+        studentPaymentOrderService.update(studentPaymentOrder);
+
+        //成功报名状态变更
+        StudentRegistration studentRegistration = studentRegistrationDao.queryByUserIdAndMusicGroupId(studentPaymentOrder.getUserId(), studentPaymentOrder.getMusicGroupId());
+        if (studentPaymentOrder.getStatus().equals(DealStatusEnum.SUCCESS)) {
+            studentRegistration.setPaymentStatus(YesOrNoEnum.YES);
+            studentRegistration.setMusicGroupStatus(ClassGroupStudentStatusEnum.NORMAL);
+            studentRegistrationDao.update(studentRegistration);
+        }
+
+        //失败减去已收款金额
+
+        //减去缴费人数
+        if (studentPaymentOrder.getStatus().equals(DealStatusEnum.FAilED)) {
+            MusicGroupSubjectPlan musicOneSubjectClassPlan = musicGroupSubjectPlanService.getMusicOneSubjectClassPlan(studentRegistration.getMusicGroupId(), studentRegistration.getSubjectId());
+            musicOneSubjectClassPlan.setPaidStudentNum(musicOneSubjectClassPlan.getPaidStudentNum() - 1);
+            musicGroupSubjectPlanService.update(musicOneSubjectClassPlan);
+        }
+
+        return studentPaymentOrder;
+    }
 }

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

@@ -90,12 +90,10 @@ public class TeacherAttendanceServiceImpl extends BaseServiceImpl<Long, TeacherA
 			isAttendance=true;
 		}
 
-		CourseSchedule courseSchedule=new CourseSchedule();
 		TeacherAttendanceDto currentCourseDetail = courseScheduleDao.getCurrentCourseDetail(teacherSignOutDto.getTeacherAttendanceInfo().getCourseScheduleId());
 		if(Objects.isNull(currentCourseDetail)){
 			throw new BizException("课程不存在");
 		}
-		courseSchedule.setId(currentCourseDetail.getCourseScheduleId());
 
 		teacherAttendance.setMusicGroupId(currentCourseDetail.getMusicGroupId());
 		teacherAttendance.setClassGroupId(currentCourseDetail.getClassId());

+ 0 - 36
mec-biz/src/main/java/com/ym/mec/biz/service/impl/TeacherSchoolServiceImpl.java

@@ -1,36 +0,0 @@
-package com.ym.mec.biz.service.impl;
-
-import com.ym.mec.biz.dal.dao.TeacherSchoolDao;
-import com.ym.mec.biz.dal.entity.TeacherSchool;
-import com.ym.mec.biz.service.TeacherSchoolService;
-import com.ym.mec.common.dal.BaseDAO;
-import com.ym.mec.common.exception.BizException;
-import com.ym.mec.common.service.impl.BaseServiceImpl;
-
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.stereotype.Service;
-
-import java.util.List;
-import java.util.Objects;
-
-@Service
-public class TeacherSchoolServiceImpl extends BaseServiceImpl<Long, TeacherSchool> implements TeacherSchoolService {
-	
-	@Autowired
-	private TeacherSchoolDao teacherSchoolDao;
-
-	@Override
-	public BaseDAO<Long, TeacherSchool> getDAO() {
-		return teacherSchoolDao;
-	}
-
-	@Override
-	public List<TeacherSchool> findByTeacherId(Integer teacherId) {
-		if(Objects.isNull(teacherId)){
-			throw new BizException("请指定教师");
-		}
-		return teacherSchoolDao.findByTeacherId(teacherId);
-	}
-
-
-}

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

@@ -8,8 +8,8 @@ import com.ym.mec.biz.dal.dao.*;
 import com.ym.mec.biz.dal.dto.BasicUserDto;
 import com.ym.mec.biz.dal.dto.TeacherCloseDto;
 import com.ym.mec.biz.dal.entity.MusicGroup;
+import com.ym.mec.biz.dal.entity.School;
 import com.ym.mec.biz.dal.entity.Teacher;
-import com.ym.mec.biz.dal.entity.TeacherSchool;
 import com.ym.mec.biz.dal.page.TeacherCloseQueryInfo;
 import com.ym.mec.biz.dal.page.TeacherQueryInfo;
 import com.ym.mec.biz.service.TeacherService;
@@ -17,6 +17,7 @@ import com.ym.mec.common.dal.BaseDAO;
 import com.ym.mec.common.entity.ImGroupModel;
 import com.ym.mec.common.entity.ImResult;
 import com.ym.mec.common.entity.ImUserModel;
+import com.ym.mec.common.exception.BizException;
 import com.ym.mec.common.page.PageInfo;
 import com.ym.mec.common.service.impl.BaseServiceImpl;
 import com.ym.mec.im.ImFeignService;
@@ -46,7 +47,7 @@ public class TeacherServiceImpl extends BaseServiceImpl<Integer, Teacher>  imple
 	@Autowired
 	private OrganizationDao organizationDao;
 	@Autowired
-	private TeacherSchoolDao teacherSchoolDao;
+	private SchoolDao schoolDao;
 	@Autowired
 	private SysUserFeignService sysUserFeignService;
 	@Autowired
@@ -185,6 +186,15 @@ public class TeacherServiceImpl extends BaseServiceImpl<Integer, Teacher>  imple
 	}
 
 	@Override
+	public List<BasicUserDto> queryMusicGroupTeacher(Long musicGroupId) {
+		if(Objects.isNull(musicGroupId)){
+			throw new BizException("请指定乐团");
+		}
+		List<BasicUserDto> teacherByMusicGroup = teacherDao.findTeacherByMusicGroup(musicGroupId);
+		return teacherByMusicGroup;
+	}
+
+	@Override
 	public PageInfo<Teacher> queryPageDetail(TeacherQueryInfo queryInfo) {
 		PageInfo<Teacher> pageInfo = queryPage(queryInfo);
 		List<Teacher> rows = pageInfo.getRows();
@@ -213,7 +223,7 @@ public class TeacherServiceImpl extends BaseServiceImpl<Integer, Teacher>  imple
 		Teacher teacher = teacherDao.get(id);
 		if(teacher != null){
 			//获取老师教学点列表
-			List<TeacherSchool> teacherSchools = teacherSchoolDao.findByTeacherId(id);
+			List<School> teacherSchools = schoolDao.findByUserId(id);
 			teacher.setTeacherSchools(teacherSchools);
 			//获取流动范围
 			if(StringUtils.isNotEmpty(teacher.getFlowOrganRange())){

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

@@ -18,6 +18,7 @@ import com.ym.mec.common.page.PageInfo;
 import com.ym.mec.common.service.impl.BaseServiceImpl;
 import com.ym.mec.im.ImFeignService;
 import com.ym.mec.util.collection.MapUtil;
+
 import org.apache.commons.lang.StringUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
@@ -188,6 +189,7 @@ public class VipGroupServiceImpl extends BaseServiceImpl<Long, VipGroup> impleme
                 &&courseSchedule.getStartClassTime().before(vipGroupActivity.getCoursesStartTime())){
 		        throw new BizException("课时安排时间超出范围!");
             }
+		    courseSchedule.setSchoolId(vipGroup.getVipGroupApplyBaseInfo().getTeacherSchoolId());
 		    courseSchedule.setTeacherId(vipGroupApplyBaseInfoDto.getUserId().longValue());
 			courseSchedule.setStatus(CourseStatusEnum.NOT_START);
 		    courseSchedule.setType(CourseSchedule.CourseScheduleType.VIP);
@@ -783,4 +785,9 @@ public class VipGroupServiceImpl extends BaseServiceImpl<Long, VipGroup> impleme
 
 		return true;
 	}
+
+	@Override
+	public List<School> querySchoolByUserId(Integer userId) {
+		return vipGroupDao.querySchoolByUserId(userId);
+	}
 }

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

@@ -19,6 +19,7 @@
         <result column="expect_student_num_" property="expectStudentNum"/>
         <result column="total_class_times_" property="totalClassTimes"/>
         <result column="img_" property="img"/>
+        <result column="current_class_times_" property="currentClassTimes"/>
         <!--<association property="musicGroupId" javaType="com.ym.mec.biz.dal.entity.MusicGroup" >-->
         <!--<result column="name_" property="name"/>-->
         <!--<result column="status_" property="status" typeHandler="com.ym.mec.common.dal.CustomEnumTypeHandler"/>-->
@@ -265,7 +266,7 @@
         LEFT JOIN class_group cg ON cgsm.class_group_id_ = cg.id_
         LEFT JOIN vip_group_class_group_mapper vgcgm ON vgcgm.class_group_id_ = cgsm.class_group_id_
         LEFT JOIN vip_group vg ON vg.id_ = vgcgm.vip_group_id_
-        LEFT JOIN teacher_school ts ON vg.teacher_school_id_ = ts.id_
+        LEFT JOIN school ts ON vg.teacher_school_id_ = ts.id_
         WHERE cgsm.user_id_ = #{search} AND cg.type_ = 'VIP') a
         ORDER BY a.create_time_ DESC
         <include refid="global.limit"/>
@@ -364,7 +365,7 @@
         LEFT JOIN class_group cg ON cgsm.class_group_id_ = cg.id_
         LEFT JOIN vip_group_class_group_mapper vgcgm ON vgcgm.class_group_id_ = cgsm.class_group_id_
         LEFT JOIN vip_group vg ON vg.id_ = vgcgm.vip_group_id_
-        LEFT JOIN teacher_school ts ON vg.teacher_school_id_ = ts.id_
+        LEFT JOIN school ts ON vg.teacher_school_id_ = ts.id_
         WHERE cgsm.user_id_ = #{search} AND cg.type_ = 'VIP') a
     </select>
 
@@ -444,6 +445,8 @@
         <result property="paymentExpireDate" column="payment_expire_date_"/>
         <result property="coursesExpireDate" column="courses_expire_date_"/>
         <result property="singleClassTimes" column="single_class_minutes_"/>
+        <result column="online_classes_num_" property="onlineClassesNum"/>
+        <result column="offline_classes_num_" property="offLineClassesNum"/>
         <result property="type" column="type_"/>
     </resultMap>
 
@@ -483,6 +486,8 @@
             vg.payment_expire_date_,
             vg.courses_expire_date_,
             vg.single_class_minutes_,
+            IF(vg.online_classes_num_ IS NULL,0,vg.online_classes_num_) online_classes_num_,
+            IF(vg.offline_classes_num_ IS NULL,0,vg.offline_classes_num_) offline_classes_num_,
             cg.total_class_times_,
             COUNT(vg.id_) surplus_class_times_,
             mg.id_ music_group_id_,

+ 60 - 8
mec-biz/src/main/resources/config/mybatis/CourseScheduleMapper.xml

@@ -23,6 +23,7 @@
         <result column="name_" property="name"/>
         <result column="student_num_" property="studentNum"/>
         <result column="leave_student_num_" property="leaveStudentNum"/>
+        <result column="schoole_id_" property="schoolId"/>
     </resultMap>
 
     <resultMap type="com.ym.mec.biz.dal.dto.CourseScheduleDto" id="courseScheduleDto" extends="CourseSchedule">
@@ -72,17 +73,17 @@
         </selectKey>
         -->
         INSERT INTO course_schedule
-        (id_,class_group_id_,status_,subsidy_,class_date_,start_class_time_,end_class_time_,teacher_id_,actual_teacher_id_,create_time_,update_time_,type_,name_,teach_mode_,student_num_,leave_student_num_)
-        VALUES(#{id},#{classGroupId},#{status,typeHandler=com.ym.mec.common.dal.CustomEnumTypeHandler},#{subsidy},#{classDate},#{startClassTime},#{endClassTime},#{teacherId},#{teacherId},now(),now(),#{type,typeHandler=com.ym.mec.common.dal.CustomEnumTypeHandler},#{name},#{teachMode,typeHandler=com.ym.mec.common.dal.CustomEnumTypeHandler},#{studentNum},#{leaveStudentNum})
+        (id_,class_group_id_,status_,subsidy_,class_date_,start_class_time_,end_class_time_,teacher_id_,actual_teacher_id_,create_time_,update_time_,type_,name_,teach_mode_,student_num_,leave_student_num_,schoole_id_)
+        VALUES(#{id},#{classGroupId},#{status,typeHandler=com.ym.mec.common.dal.CustomEnumTypeHandler},#{subsidy},#{classDate},#{startClassTime},#{endClassTime},#{teacherId},#{teacherId},now(),now(),#{type,typeHandler=com.ym.mec.common.dal.CustomEnumTypeHandler},#{name},#{teachMode,typeHandler=com.ym.mec.common.dal.CustomEnumTypeHandler},#{studentNum},#{leaveStudentNum},#{schoolId})
     </insert>
 
     <insert id="batchAddCourseSchedules" parameterType="java.util.List" useGeneratedKeys="true" keyColumn="id"
             keyProperty="id">
         INSERT INTO course_schedule
-        (id_,class_group_id_,status_,subsidy_,class_date_,start_class_time_,end_class_time_,teacher_id_,actual_teacher_id_,create_time_,update_time_,type_,name_,teach_mode_,student_num_,leave_student_num_)
+        (id_,class_group_id_,status_,subsidy_,class_date_,start_class_time_,end_class_time_,teacher_id_,actual_teacher_id_,create_time_,update_time_,type_,name_,teach_mode_,student_num_,leave_student_num_,schoole_id_)
         VALUE
         <foreach collection="list" item="course" separator=",">
-            (#{course.id},#{course.classGroupId},#{course.status,typeHandler=com.ym.mec.common.dal.CustomEnumTypeHandler},#{course.subsidy},#{course.classDate},#{course.startClassTime},#{course.endClassTime},#{course.teacherId},#{course.teacherId},now(),now(),#{course.type,typeHandler=com.ym.mec.common.dal.CustomEnumTypeHandler},#{course.name},#{course.teachMode,typeHandler=com.ym.mec.common.dal.CustomEnumTypeHandler},#{course.studentNum},#{course.leaveStudentNum})
+            (#{course.id},#{course.classGroupId},#{course.status,typeHandler=com.ym.mec.common.dal.CustomEnumTypeHandler},#{course.subsidy},#{course.classDate},#{course.startClassTime},#{course.endClassTime},#{course.teacherId},#{course.teacherId},now(),now(),#{course.type,typeHandler=com.ym.mec.common.dal.CustomEnumTypeHandler},#{course.name},#{course.teachMode,typeHandler=com.ym.mec.common.dal.CustomEnumTypeHandler},#{course.studentNum},#{course.leaveStudentNum},#{course.schoolId})
         </foreach>
     </insert>
 
@@ -126,6 +127,9 @@
             <if test="leaveStudentNum != null">
                 leave_student_num_ = #{leaveStudentNum},
             </if>
+            <if test="schoolId != null">
+                school_id_ = #{schoolId},
+            </if>
         </set>
         WHERE id_ = #{id}
     </update>
@@ -174,6 +178,8 @@
         <result property="longitudeAndLatitude" column="longitude_latitude_"/>
         <result property="teacherName" column="teacher_name_"/>
         <result property="signInTime" column="sign_in_time_"/>
+        <result column="total_class_times_" property="totalClassTimes"/>
+        <result column="current_class_times_" property="currentClassTimes"/>
     </resultMap>
 
     <select id="getCurrentCourseDetail"
@@ -187,6 +193,8 @@
         cs.status_ course_status_,
         cg.id_ class_id,
         cg.name_ class_name,
+        cg.total_class_times_,
+        cg.current_class_times_,
         cs.type_ class_type,
         mg.id_ music_group_id,
         mg.name_ music_group_name,
@@ -731,6 +739,9 @@
             <if test="item.leaveStudentNum != null">
                 leave_student_num_ = #{item.leaveStudentNum},
             </if>
+            <if test="item.schoolId != null">
+                school_id_ = #{item.choolId},
+            </if>
         </set>
         WHERE id_ = #{item.id}
         </foreach>
@@ -744,7 +755,7 @@
         <result property="classGroupId" column="class_group_id_"/>
         <result property="courseScheduleId" column="course_schedule_id_"/>
         <result property="courseScheduleName" column="course_schedule_name_"/>
-        <result property="status" column="status_"/>
+        <result property="status" column="status_" typeHandler="com.ym.mec.common.dal.CustomEnumTypeHandler"/>
         <result property="classDate" column="class_date_"/>
         <result property="startClassTime" column="start_class_time_"/>
         <result property="endClassTime" column="end_class_time_"/>
@@ -753,6 +764,9 @@
         <result property="type" column="type_"/>
         <result property="studentNum" column="student_num_"/>
         <result property="leaveStudentNum" column="leave_student_num_"/>
+        <result property="currentClassTimes" column="current_class_times_"/>
+        <result property="totalClassTimes" column="total_class_times_"/>
+        <result property="studentNames" column="student_names_"/>
     </resultMap>
 
     <sql id="teacherClassCourseScheduleQueryCondition">
@@ -779,16 +793,47 @@
             cs.type_,
             cs.status_,
             cs.actual_teacher_id_,
-            su.username_
+            su.username_,
+            cg.total_class_times_
         FROM
             course_schedule_teacher_salary csts
             LEFT JOIN course_schedule cs ON cs.id_ = csts.course_schedule_id_
+            LEFT JOIN class_group cg ON  cs.class_group_id_=cg.id_
             LEFT JOIN sys_user su ON cs.actual_teacher_id_ = su.id_
         <include refid="teacherClassCourseScheduleQueryCondition"/>
         ORDER BY cs.id_
         <include refid="global.limit"/>
     </select>
 
+    <select id="queryTeacherHistoryClassCourseSchedule" resultMap="teacherClassCourseSchedule">
+        SELECT
+            cs.class_group_id_,
+            cs.id_ course_schedule_id_,
+            cs.class_date_,
+            CONCAT( cs.class_date_, ' ', cs.start_class_time_ ) start_class_time_,
+            CONCAT( cs.class_date_, ' ', cs.end_class_time_ ) end_class_time_,
+            cs.name_ course_schedule_name_,
+            cs.student_num_,
+            cs.leave_student_num_,
+            cs.type_,
+            cs.status_,
+            cs.actual_teacher_id_,
+            su.username_,
+            cg.total_class_times_,
+            GROUP_CONCAT(ssu.username_) student_names_,
+            MAX(sa.current_class_times_) current_class_times_
+        FROM
+          student_attendance sa
+        LEFT JOIN course_schedule cs ON cs.id_ = sa.course_schedule_id_
+        LEFT JOIN class_group cg ON cs.class_group_id_=cg.id_
+        LEFT JOIN sys_user su ON cs.actual_teacher_id_ = su.id_
+        LEFT JOIN sys_user ssu ON sa.user_id_=ssu.id_
+        WHERE sa.class_group_id_=#{classGroupId} AND sa.teacher_id_=#{userId}
+        GROUP BY sa.course_schedule_id_
+        ORDER BY cs.id_
+        <include refid="global.limit"/>
+    </select>
+
     <select id="countTeacherClassCourseSchedule" resultType="int">
         SELECT
             COUNT(cs.id_)
@@ -797,10 +842,17 @@
           LEFT JOIN course_schedule cs ON cs.id_ = csts.course_schedule_id_
         <include refid="teacherClassCourseScheduleQueryCondition"/>
     </select>
+    <select id="countTeacherHistoryClassCourseSchedule" resultType="int">
+        SELECT
+            COUNT(DISTINCT sa.class_group_id_)
+        FROM
+            student_attendance sa
+        WHERE sa.class_group_id_=#{classGroupId} AND sa.teacher_id_=#{userId}
+    </select>
     <select id="countClassCourseNumByMusicGroup" resultType="java.util.Map">
         SELECT
-            cg.id_,
-            COUNT(cs.id_)
+            cg.id_ as 'key',
+            COUNT(cs.id_) as 'value'
         FROM
             class_group cg
             LEFT JOIN course_schedule cs ON cg.id_=cs.class_group_id_

+ 35 - 29
mec-biz/src/main/resources/config/mybatis/CourseScheduleStudentPaymentMapper.xml

@@ -15,6 +15,7 @@
 		<result column="create_time_" property="createTime" />
 		<result column="update_time_" property="updateTime" />
 		<result column="settlement_time_" property="settlementTime" />
+		<result column="class_group_id_" property="classGroupId" />
 	</resultMap>
 	
 	<!-- 根据主键查询一条记录 -->
@@ -34,44 +35,48 @@
 		SELECT SEQ_WSDEFINITION_ID.nextval AS ID FROM DUAL 
 		</selectKey>
 		-->
-		INSERT INTO course_schedule_student_payment (id_,course_schedule_id_,user_id_,expect_price_,actual_price_,create_time_,update_time_,settlement_time_) VALUES(#{id},#{courseScheduleId},#{userId},#{expectPrice},#{actualPrice},#{createTime},#{updateTime},#{settlementTime})
+		INSERT INTO course_schedule_student_payment (id_,course_schedule_id_,user_id_,expect_price_,actual_price_,create_time_,update_time_,settlement_time_,class_group_id_) VALUES(#{id},#{courseScheduleId},#{userId},#{expectPrice},#{actualPrice},#{createTime},#{updateTime},#{settlementTime},#{classGroupId})
 	</insert>
     <insert id="batchInsert" parameterType="java.util.List" useGeneratedKeys="true" keyProperty="id_">
-		INSERT INTO course_schedule_student_payment (id_,course_schedule_id_,user_id_,expect_price_,actual_price_,create_time_,update_time_,settlement_time_)
+		INSERT INTO course_schedule_student_payment (id_,course_schedule_id_,user_id_,expect_price_,actual_price_,create_time_,update_time_,settlement_time_,class_group_id_)
 		VALUE
 		<foreach collection="list" item="data" separator=",">
-			(#{data.id},#{data.courseScheduleId},#{data.userId},#{data.expectPrice},#{data.actualPrice},now(),now(),#{data.settlementTime})
+			(#{data.id},#{data.courseScheduleId},#{data.userId},#{data.expectPrice},#{data.actualPrice},now(),now(),#{data.settlementTime},#{data.classGroupId})
 		</foreach>
     </insert>
 
     <!-- 根据主键查询一条记录 -->
 	<update id="update" parameterType="com.ym.mec.biz.dal.entity.CourseScheduleStudentPayment">
-		UPDATE course_schedule_student_payment <set>
-<if test="userId != null">
-user_id_ = #{userId},
-</if>
-<if test="id != null">
-id_ = #{id},
-</if>
-<if test="courseScheduleId != null">
-course_schedule_id_ = #{courseScheduleId},
-</if>
-<if test="updateTime != null">
-update_time_ = #{updateTime},
-</if>
-<if test="settlementTime != null">
-settlement_time_ = #{settlementTime},
-</if>
-<if test="expectPrice != null">
-expect_price_ = #{expectPrice},
-</if>
-<if test="actualPrice != null">
-actual_price_ = #{actualPrice},
-</if>
-<if test="createTime != null">
-create_time_ = #{createTime},
-</if>
-</set> WHERE id_ = #{id} 
+		UPDATE course_schedule_student_payment 
+		<set>
+			<if test="userId != null">
+			user_id_ = #{userId},
+			</if>
+			<if test="id != null">
+			id_ = #{id},
+			</if>
+			<if test="courseScheduleId != null">
+			course_schedule_id_ = #{courseScheduleId},
+			</if>
+			<if test="updateTime != null">
+			update_time_ = #{updateTime},
+			</if>
+			<if test="settlementTime != null">
+			settlement_time_ = #{settlementTime},
+			</if>
+			<if test="expectPrice != null">
+			expect_price_ = #{expectPrice},
+			</if>
+			<if test="actualPrice != null">
+			actual_price_ = #{actualPrice},
+			</if>
+			<if test="createTime != null">
+			create_time_ = #{createTime},
+			</if>
+			<if test="classGroupId != null">
+			class_group_id_ = #{classGroupId},
+			</if>
+		</set> WHERE id_ = #{id} 
 	</update>
 	
 	<!-- 根据主键删除一条记录 -->
@@ -88,6 +93,7 @@ create_time_ = #{createTime},
 	<select id="queryCount" resultType="int">
 		SELECT COUNT(*) FROM course_schedule_student_payment
 	</select>
+	
     <select id="findByCourseScheduleIds" resultMap="CourseScheduleStudentPayment">
 		SELECT * FROM course_schedule_student_payment WHERE course_schedule_id_ IN
 		<foreach collection="ids" item="id" open="(" close=")" separator=",">

+ 54 - 36
mec-biz/src/main/resources/config/mybatis/CourseScheduleTeacherSalaryMapper.xml

@@ -13,10 +13,11 @@
 		<result column="user_id_" property="userId" />
 		<result column="expect_salary_" property="expectSalary" />
 		<result column="create_time_" property="createTime" />
-		<result column="create_update_" property="createUpdate" />
+		<result column="update_time_" property="updateTime" />
 		<result column="subsidy_" property="subsidy" />
 		<result column="actual_salary_" property="actualSalary" />
 		<result column="settlement_time_" property="settlementTime" />
+		<result column="class_group_id_" property="classGroupId" />
 	</resultMap>
 	
 	<!-- 根据主键查询一条记录 -->
@@ -36,50 +37,54 @@
 		SELECT SEQ_WSDEFINITION_ID.nextval AS ID FROM DUAL 
 		</selectKey>
 		-->
-		INSERT INTO course_schedule_teacher_salary (id_,course_schedule_id_,teacher_role_,user_id_,expect_salary_,create_time_,create_update_,subsidy_,actual_salary_,settlement_time_) VALUES(#{id},#{courseScheduleId},#{teacherRole},#{userId},#{expectSalary},#{createTime},#{createUpdate},#{subsidy},#{actualSalary},#{settlementTime})
+		INSERT INTO course_schedule_teacher_salary (id_,course_schedule_id_,teacher_role_,user_id_,expect_salary_,create_time_,update_time_,subsidy_,actual_salary_,settlement_time_,class_group_id_) VALUES(#{id},#{courseScheduleId},#{teacherRole},#{userId},#{expectSalary},#{createTime},#{updateTime},#{subsidy},#{actualSalary},#{settlementTime},#{classGroupId})
 	</insert>
     <insert id="batchInsert" parameterType="java.util.List" useGeneratedKeys="true" keyProperty="id_">
-		INSERT INTO course_schedule_teacher_salary (id_,course_schedule_id_,teacher_role_,user_id_,expect_salary_,create_time_,create_update_,subsidy_,actual_salary_,settlement_time_)
+		INSERT INTO course_schedule_teacher_salary (id_,course_schedule_id_,teacher_role_,user_id_,expect_salary_,create_time_,update_time_,subsidy_,actual_salary_,settlement_time_,class_group_id_)
 		VALUES
 		<foreach collection="list" item="data" separator=",">
-			(#{data.id},#{data.courseScheduleId},#{data.teacherRole},#{data.userId},#{data.expectSalary},now(),now(),#{data.subsidy},#{data.actualSalary},#{data.settlementTime})
+			(#{data.id},#{data.courseScheduleId},#{data.teacherRole},#{data.userId},#{data.expectSalary},now(),now(),#{data.subsidy},#{data.actualSalary},#{data.settlementTime},#{data.classGroupId})
 		</foreach>
     </insert>
 
     <!-- 根据主键查询一条记录 -->
 	<update id="update" parameterType="com.ym.mec.biz.dal.entity.CourseScheduleTeacherSalary">
-		UPDATE course_schedule_teacher_salary <set>
-<if test="userId != null">
-user_id_ = #{userId},
-</if>
-<if test="subsidy != null">
-subsidy_ = #{subsidy},
-</if>
-<if test="id != null">
-id_ = #{id},
-</if>
-<if test="expectSalary != null">
-expect_salary_ = #{expectSalary},
-</if>
-<if test="courseScheduleId != null">
-course_schedule_id_ = #{courseScheduleId},
-</if>
-<if test="settlementTime != null">
-settlement_time_ = #{settlementTime},
-</if>
-<if test="teacherRole != null">
-teacher_role_ = #{teacherRole},
-</if>
-<if test="createUpdate != null">
-create_update_ = #{createUpdate},
-</if>
-<if test="actualSalary != null">
-actual_salary_ = #{actualSalary},
-</if>
-<if test="createTime != null">
-create_time_ = #{createTime},
-</if>
-</set> WHERE id_ = #{id} 
+		UPDATE course_schedule_teacher_salary 
+		<set>
+			<if test="userId != null">
+			user_id_ = #{userId},
+			</if>
+			<if test="subsidy != null">
+			subsidy_ = #{subsidy},
+			</if>
+			<if test="id != null">
+			id_ = #{id},
+			</if>
+			<if test="expectSalary != null">
+			expect_salary_ = #{expectSalary},
+			</if>
+			<if test="courseScheduleId != null">
+			course_schedule_id_ = #{courseScheduleId},
+			</if>
+			<if test="settlementTime != null">
+			settlement_time_ = #{settlementTime},
+			</if>
+			<if test="teacherRole != null">
+			teacher_role_ = #{teacherRole},
+			</if>
+			<if test="updateTime != null">
+			update_time_ = #{updateTime},
+			</if>
+			<if test="actualSalary != null">
+			actual_salary_ = #{actualSalary},
+			</if>
+			<if test="createTime != null">
+			create_time_ = #{createTime},
+			</if>
+			<if test="classGroupId != null">
+			class_group_id_ = #{classGroupId},
+			</if>
+		</set> WHERE id_ = #{id} 
 	</update>
 	
 	<!-- 根据主键删除一条记录 -->
@@ -148,4 +153,17 @@ create_time_ = #{createTime},
 		CONCAT( cs.class_date_, ' ', cs.start_class_time_ ) &lt;= DATE_ADD( NOW( ), INTERVAL - 7 DAY )
 		AND csts.settlement_time_ IS NULL
     </select>
+    
+    <select id="queryByCourseScheduleIdAndUserId" resultMap="CourseScheduleTeacherSalary" parameterType="map">
+		SELECT * FROM course_schedule_teacher_salary where user_id_ = #{teacherId} and course_schedule_id_ = #{courseScheduleId}
+    </select>
+    
+    <update id="batchUpdateWages" parameterType="map">
+		UPDATE course_schedule_teacher_salary set
+			subsidy_ = #{subsidy},
+			expect_salary_ = #{expectSalary},
+			teacher_role_ = #{teacherRole},
+			update_time_ = now()
+		WHERE user_id_ = #{userId} and class_group_id_ = #{classGroupId}
+	</update>
 </mapper>

+ 10 - 2
mec-biz/src/main/resources/config/mybatis/SchoolMapper.xml

@@ -8,6 +8,7 @@
 
     <resultMap type="com.ym.mec.biz.dal.entity.School" id="School">
         <result column="id_" property="id"/>
+        <result column="user_id_" property="userId"/>
         <result column="name_" property="name"/>
         <result column="organ_id_" property="organId"/>
         <result column="address_" property="address"/>
@@ -36,8 +37,8 @@
     <insert id="insert" parameterType="com.ym.mec.biz.dal.entity.School" useGeneratedKeys="true" keyColumn="id"
             keyProperty="id">
         INSERT INTO school
-        (id_,name_,organ_id_,address_,contact_phone_,create_time_,update_time_,contact_name_,longitude_latitude_,subsidy_,cooperation_organ_id_,remark_)
-        VALUES(#{id},#{name},#{organId},#{address},#{contactPhone},now(),now(),#{contactName},#{longitudeLatitude},#{subsidy},#{cooperationOrganId},#{remark})
+        (id_,user_id_,name_,organ_id_,address_,contact_phone_,create_time_,update_time_,contact_name_,longitude_latitude_,subsidy_,cooperation_organ_id_,remark_)
+        VALUES(#{id},#{userId},#{name},#{organId},#{address},#{contactPhone},now(),now(),#{contactName},#{longitudeLatitude},#{subsidy},#{cooperationOrganId},#{remark})
     </insert>
 
     <!-- 根据主键查询一条记录 -->
@@ -50,6 +51,9 @@
             <if test="organId != null">
                 organ_id_ = #{organId},
             </if>
+            <if test="userId != null">
+                user_id_ = #{userId},
+            </if>
             <if test="updateTime != null">
                 update_time_ = #{updateTime},
             </if>
@@ -116,4 +120,8 @@
             #{item}
         </foreach>
     </select>
+    
+    <select id="findByUserId" resultMap="School">
+        select id_ * from school where del_flag_ = 0 and user_id_ = #{userId}
+    </select>
 </mapper>

+ 4 - 0
mec-biz/src/main/resources/config/mybatis/StudentPaymentOrderMapper.xml

@@ -23,6 +23,7 @@
         <result column="order_no_" property="orderNo"/>
         <result column="music_group_id_" property="musicGroupId"/>
         <result column="class_group_id_" property="classGroupId"/>
+        <result column="pay_time_" property="payTime"/>
         <result column="version_" property="version"/>
     </resultMap>
 
@@ -122,6 +123,9 @@
             <if test="musicGroupId != null">
                 music_group_id_ = #{musicGroupId},
             </if>
+            <if test="payTime != null">
+                pay_time_ = #{payTime},
+            </if>
             <if test="version != null">
                 version_ = version_+1,
             </if>

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

@@ -293,9 +293,22 @@
         <include refid="queryCloses"/>
         <include refid="global.limit"/>
     </select>
+
     <select id="findTeacherNoPay" resultType="decimal">
         SELECT SUM(expect_salary_) FROM course_schedule_teacher_salary csts WHERE settlement_time_ IS NULL AND user_id_ = #{teacherId}
     </select>
+
+    <select id="findTeacherByMusicGroup" resultMap="com.ym.mec.biz.dal.dao.MusicGroupDao.BasicUserDto">
+        SELECT
+            su.id_ user_id_,
+            su.username_
+        FROM
+            class_group_teacher_mapper cgtm
+            LEFT JOIN class_group cg ON cg.id_=cgtm.class_group_id_
+            LEFT JOIN sys_user su ON cgtm.user_id_=su.id_
+            WHERE cg.music_group_id_=#{musicGroupId}
+    </select>
+
     <sql id="queryCloses">
         <where>
             <if test="teacherId != null">

+ 0 - 91
mec-biz/src/main/resources/config/mybatis/TeacherSchoolMapper.xml

@@ -1,91 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" ?>
-<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
-<!--
-这个文件是自动生成的。
-不要修改此文件。所有改动将在下次重新自动生成时丢失。
--->
-<mapper namespace="com.ym.mec.biz.dal.dao.TeacherSchoolDao">
-
-    <resultMap type="com.ym.mec.biz.dal.entity.TeacherSchool" id="TeacherSchool">
-        <result column="id_" property="id"/>
-        <result column="user_id_" property="userId"/>
-        <result column="province_" property="province"/>
-        <result column="city_" property="city"/>
-        <result column="district_" property="district"/>
-        <result column="address_" property="address"/>
-        <result column="longitude_latitude_" property="longitudeLatitude"/>
-        <result column="create_time_" property="createTime"/>
-        <result column="update_time_" property="updateTime"/>
-    </resultMap>
-
-    <!-- 根据主键查询一条记录 -->
-    <select id="get" resultMap="TeacherSchool">
-		SELECT * FROM teacher_school WHERE id_ = #{id} 
-	</select>
-
-    <!-- 全查询 -->
-    <select id="findAll" resultMap="TeacherSchool">
-		SELECT * FROM teacher_school ORDER BY id_
-	</select>
-
-    <!-- 向数据库增加一条记录 -->
-    <insert id="insert" parameterType="com.ym.mec.biz.dal.entity.TeacherSchool" useGeneratedKeys="true" keyColumn="id"
-            keyProperty="id">
-        <!--
-        <selectKey resultClass="int" keyProperty="id" >
-        SELECT SEQ_WSDEFINITION_ID.nextval AS ID FROM DUAL
-        </selectKey>
-        -->
-        INSERT INTO teacher_school
-        (id_,user_id_,province_,city_,district_,address_,longitude_latitude_,create_time_,update_time_)
-        VALUES(#{id},#{userId},#{province},#{city},#{district},#{address},#{longitudeLatitude},now(),now())
-    </insert>
-
-    <!-- 根据主键查询一条记录 -->
-    <update id="update" parameterType="com.ym.mec.biz.dal.entity.TeacherSchool">
-        UPDATE teacher_school
-        <set>
-            <if test="city != null">
-                city_ = #{city},
-            </if>
-            <if test="address != null">
-                address_ = #{address},
-            </if>
-            <if test="userId != null">
-                user_id_ = #{userId},
-            </if>
-            <if test="updateTime != null">
-                update_time_ = #{updateTime},
-            </if>
-            <if test="longitudeLatitude != null">
-                longitude_latitude_ = #{longitudeLatitude},
-            </if>
-            <if test="district != null">
-                district_ = #{district},
-            </if>
-            <if test="province != null">
-                province_ = #{province},
-            </if>
-        </set>
-        WHERE id_ = #{id}
-    </update>
-
-    <!-- 根据主键删除一条记录 -->
-    <delete id="delete">
-		DELETE FROM teacher_school WHERE id_ = #{id} 
-	</delete>
-
-    <!-- 分页查询 -->
-    <select id="queryPage" resultMap="TeacherSchool" parameterType="map">
-        SELECT * FROM teacher_school ORDER BY id_
-        <include refid="global.limit"/>
-    </select>
-
-    <!-- 查询当前表的总记录数 -->
-    <select id="queryCount" resultType="int">
-		SELECT COUNT(*) FROM teacher_school
-	</select>
-    <select id="findByTeacherId" resultMap="TeacherSchool">
-      SELECT * FROM teacher_school WHERE user_id_=#{teacherId} ORDER BY id_
-    </select>
-</mapper>

+ 24 - 6
mec-biz/src/main/resources/config/mybatis/VipGroupMapper.xml

@@ -34,7 +34,23 @@
         <result column="vip_group_category_id_" property="vipGroupCategoryId"/>
         <result column="give_teach_mode_" property="giveTeachMode" typeHandler="com.ym.mec.common.dal.CustomEnumTypeHandler"/>
         <result column="organ_id_" property="organId"/>
-        <result column="schoole_id_" property="schoolId"/>
+    </resultMap>
+    
+    <resultMap type="com.ym.mec.biz.dal.entity.School" id="School">
+        <result column="id_" property="id"/>
+        <result column="user_id_" property="userId"/>
+        <result column="name_" property="name"/>
+        <result column="organ_id_" property="organId"/>
+        <result column="address_" property="address"/>
+        <result column="contact_phone_" property="contactPhone"/>
+        <result column="create_time_" property="createTime"/>
+        <result column="update_time_" property="updateTime"/>
+        <result column="del_flag_" property="delFlag"/>
+        <result column="contact_name_" property="contactName"/>
+        <result column="longitude_latitude_" property="longitudeLatitude"/>
+        <result column="subsidy_" property="subsidy"/>
+        <result column="cooperation_organ_id_" property="cooperationOrganId"/>
+        <result column="remark_" property="remark"/>
     </resultMap>
 
     <resultMap id="studentManageVipGroup" type="com.ym.mec.biz.dal.dto.StudentManageVipGroupDto" extends="VipGroup">
@@ -146,8 +162,8 @@
         </selectKey>
         -->
         INSERT INTO vip_group
-        (id_,user_id_,single_class_minutes_,payment_expire_date_,courses_expire_date_,create_time_,update_time_,teacher_school_id_,online_classes_num_,offline_classes_num_,registration_start_time_,name_,organ_id_list_,vip_group_activity_id_,status_,online_classes_unit_price_,offline_classes_unit_price_,total_price_,give_teach_mode_,vip_group_category_id_,schoole_id_,organ_id_)
-        VALUES(#{id},#{userId},#{singleClassMinutes},#{paymentExpireDate},#{coursesExpireDate},now(),now(),#{teacherSchoolId},#{onlineClassesNum},#{offlineClassesNum},#{registrationStartTime},#{name},#{organIdList},#{vipGroupActivityId},#{status,typeHandler=com.ym.mec.common.dal.CustomEnumTypeHandler},#{onlineClassesUnitPrice},#{offlineClassesUnitPrice},#{totalPrice},#{giveTeachMode},#{vipGroupCategoryId},#{schoolId},#{organId})
+        (id_,user_id_,single_class_minutes_,payment_expire_date_,courses_expire_date_,create_time_,update_time_,teacher_school_id_,online_classes_num_,offline_classes_num_,registration_start_time_,name_,organ_id_list_,vip_group_activity_id_,status_,online_classes_unit_price_,offline_classes_unit_price_,total_price_,give_teach_mode_,vip_group_category_id_,organ_id_)
+        VALUES(#{id},#{userId},#{singleClassMinutes},#{paymentExpireDate},#{coursesExpireDate},now(),now(),#{teacherSchoolId},#{onlineClassesNum},#{offlineClassesNum},#{registrationStartTime},#{name},#{organIdList},#{vipGroupActivityId},#{status,typeHandler=com.ym.mec.common.dal.CustomEnumTypeHandler},#{onlineClassesUnitPrice},#{offlineClassesUnitPrice},#{totalPrice},#{giveTeachMode},#{vipGroupCategoryId},#{organId})
     </insert>
 
     <!-- 根据主键查询一条记录 -->
@@ -211,9 +227,6 @@
             <if test="organId!=null">
                 organ_id_=#{organId}
             </if>
-            <if test="schoolId!=null">
-                schoole_id_=#{schoolId}
-            </if>
         </set>
         WHERE id_ = #{id}
     </update>
@@ -578,6 +591,7 @@
         <result column="status_" property="status" typeHandler="com.ym.mec.common.dal.CustomEnumTypeHandler"/>
         <result column="vip_group_activity_id_" property="activityId"/>
     </resultMap>
+    
     <select id="getTeacherVipClass" resultMap="getTeacherVipClassMap">
         SELECT vg.id_ vip_group_id_,vg.name_ vip_group_name_,vg.status_,vg.audit_status_,vg.create_time_,
         vg.payment_expire_date_,vg.courses_expire_date_,vg.online_classes_unit_price_,vg.offline_classes_unit_price_,
@@ -589,4 +603,8 @@
         WHERE cs.actual_teacher_id_ = #{teacherId} AND cs.type_ = 'VIP' AND cg.del_flag_ = 0 GROUP BY vg.id_,cg.id_
         <include refid="global.limit"/>
     </select>
+    
+    <select id="querySchoolByUserId" resultMap="School">
+        SELECT * from school where user_id_ = #{userId} or user_id_ is null
+    </select>
 </mapper>

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

@@ -14,13 +14,13 @@ import org.springframework.web.servlet.config.annotation.WebMvcConfigurer;
 
 import com.ym.mec.common.config.EnumConverterFactory;
 import com.ym.mec.common.config.LocalFastJsonHttpMessageConverter;
-import com.ym.mec.student.interceptor.RequestInterceptor;
+import com.ym.mec.student.interceptor.MDCInterceptor;
 
 @Configuration
 public class WebMvcConfig implements WebMvcConfigurer {
 
 	@Autowired
-	private RequestInterceptor requestInterceptor;
+	private MDCInterceptor mdcInterceptor;
 
 	/**
 	 * 枚举类的转换器 addConverterFactory
@@ -40,7 +40,7 @@ public class WebMvcConfig implements WebMvcConfigurer {
 		List<String> excludePathPatterns = new ArrayList<String>();
 		excludePathPatterns.add("/login");
 
-		registry.addInterceptor(requestInterceptor).addPathPatterns(includePathPatterns).excludePathPatterns(excludePathPatterns);
+		registry.addInterceptor(mdcInterceptor).addPathPatterns(includePathPatterns).excludePathPatterns(excludePathPatterns);
 	}
 
 	@Bean

+ 15 - 0
mec-student/src/main/java/com/ym/mec/student/controller/CourseController.java

@@ -1,5 +1,7 @@
 package com.ym.mec.student.controller;
 
+import java.math.BigDecimal;
+
 import com.ym.mec.auth.api.client.SysUserFeignService;
 import com.ym.mec.auth.api.entity.SysUser;
 import com.ym.mec.biz.dal.page.StudentPayLogQueryInfo;
@@ -7,8 +9,10 @@ import com.ym.mec.biz.service.ClassGroupService;
 import com.ym.mec.biz.service.MusicGroupService;
 import com.ym.mec.common.controller.BaseController;
 import com.ym.mec.common.page.QueryInfo;
+
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
+
 import org.apache.commons.lang3.StringUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.web.bind.annotation.GetMapping;
@@ -72,4 +76,15 @@ public class CourseController extends BaseController {
         studentPayLogQueryInfo.setUserId(sysUser.getId());
         return succeed(classGroupService.queryStudentPayLog(studentPayLogQueryInfo));
     }
+
+	@ApiOperation(value = "课酬调整")
+	@PostMapping("/updateTeacherCoursesSalary")
+	public Object updateTeacherCoursesSalary(Long courseScheduleId, Integer teacherId, BigDecimal salary, BigDecimal subsidy, String scope) {
+		SysUser sysUser = sysUserFeignService.queryUserInfo();
+		if (sysUser == null || sysUser.getId() == null) {
+			return failed("获取用户失败");
+		}
+		musicGroupService.updateTeacherCoursesSalary(courseScheduleId, teacherId, salary, subsidy, scope);
+		return succeed();
+	}
 }

+ 40 - 20
mec-student/src/main/java/com/ym/mec/student/controller/StudentOrderController.java

@@ -1,8 +1,12 @@
 package com.ym.mec.student.controller;
 
 import com.ym.mec.biz.dal.dao.SysAccountDao;
-import com.ym.mec.biz.dal.entity.SysAccount;
-import com.ym.mec.biz.service.SysAccountService;
+import com.ym.mec.biz.dal.entity.StudentPaymentOrder;
+import com.ym.mec.biz.dal.enums.DealStatusEnum;
+import com.ym.mec.biz.dal.enums.OrderTypeEnum;
+import com.ym.mec.biz.service.StudentPaymentOrderService;
+import com.ym.mec.biz.service.StudentRegistrationService;
+import com.ym.mec.thirdparty.union.NotifyMsg;
 import io.swagger.annotations.Api;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
@@ -12,11 +16,6 @@ import org.springframework.web.bind.annotation.PostMapping;
 import org.springframework.web.bind.annotation.RequestMapping;
 import org.springframework.web.bind.annotation.RestController;
 
-import javax.servlet.http.HttpServletRequest;
-import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.Map;
-
 @RequestMapping("studentOrder")
 @Api(tags = "订单回调")
 @RestController
@@ -24,24 +23,45 @@ public class StudentOrderController {
     private static final Logger log = LoggerFactory.getLogger(StudentOrderController.class);
     @Autowired
     private SysAccountDao sysAccountDao;
+    @Autowired
+    private StudentPaymentOrderService studentPaymentOrderService;
+    @Autowired
+    private StudentRegistrationService studentRegistrationService;
 
 
     @PostMapping("/notify")
-    public String notify(HttpServletRequest request) {
-       Map<String,String[]> msg = request.getParameterMap();
-        ArrayList<SysAccount> sysAccounts = new ArrayList<>();
-        for (Map.Entry<String, String[]> stringObjectEntry : msg.entrySet()) {
-            SysAccount sysAccount = new SysAccount();
-            String KeyVal = "Key:" + stringObjectEntry.getKey() + " val:" + stringObjectEntry.getValue().toString();
-            log.warn(KeyVal);
-            sysAccount.setMerNo(stringObjectEntry.getKey());
-            sysAccount.setChannel(request.getParameter(stringObjectEntry.getKey()));
-            sysAccounts.add(sysAccount);
-        }
-        sysAccountDao.batchInsert(sysAccounts);
+    public String notify(@ModelAttribute NotifyMsg notifyMsg) {
+        //       ArrayList<SysAccount> sysAccounts = new ArrayList<>();
+//       Map<String,String[]> msg = request.getParameterMap();
+//        for (Map.Entry<String, String[]> stringObjectEntry : msg.entrySet()) {
+//            SysAccount sysAccount = new SysAccount();
+//            String KeyVal = "Key:" + stringObjectEntry.getKey() + " val:" + stringObjectEntry.getValue().toString();
+//            log.warn(KeyVal);
+//            sysAccount.setMerNo(stringObjectEntry.getKey());
+//            sysAccount.setChannel(request.getParameter(stringObjectEntry.getKey()));
+//            sysAccounts.add(sysAccount);
+//        }
+        //sysAccountDao.batchInsert(sysAccounts);
 
         // "SUCCESS";
-        // "FAILED";
+        //
+        //不是成功和失败的通知
+        if (!notifyMsg.getStatus().equals("TRADE_SUCCESS") && !notifyMsg.getStatus().equals("TRADE_CLOSED")) {
+            return "SUCCESS";
+        }
+
+        StudentPaymentOrder order = studentPaymentOrderService.findOrderByOrderNo(notifyMsg.getMerOrderId());
+        if (order != null && !order.getStatus().equals(DealStatusEnum.ING)) { //订单状态不是在支付中
+            return "SUCCESS";
+        }
+        DealStatusEnum status = notifyMsg.getStatus().equals("TRADE_SUCCESS") ? DealStatusEnum.SUCCESS : DealStatusEnum.FAilED;
+        order.setStatus(status);
+        order.setTransNo(notifyMsg.getSeqId());
+        order.setPaymentBusinessChannel(notifyMsg.getTargetSys());
+        order.setPayTime(notifyMsg.getPayTime());
+        if (order.getType().equals(OrderTypeEnum.APPLY)) { //报名订单
+            studentRegistrationService.updateApplyOrder(order);
+        }
 
         return "SUCCESS";
     }

+ 1 - 1
mec-student/src/main/java/com/ym/mec/student/interceptor/RequestInterceptor.java → mec-student/src/main/java/com/ym/mec/student/interceptor/MDCInterceptor.java

@@ -10,7 +10,7 @@ import org.springframework.web.servlet.handler.HandlerInterceptorAdapter;
 import com.ym.mec.util.web.WebUtil;
 
 @Component
-public class RequestInterceptor extends HandlerInterceptorAdapter {
+public class MDCInterceptor extends HandlerInterceptorAdapter {
 
 	private static final String IP = "ip";
 

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

@@ -23,7 +23,7 @@ public class ClassGroupController extends BaseController {
     @Autowired
     private ClassGroupService classGroupService;
 
-    @ApiOperation(value = "教师课程获取")
+    @ApiOperation(value = "教师关联班级获取")
     @GetMapping("/findTeacherClassGroups")
     public Object findTeacherClassGroups(@ApiParam(value = "课程类型:MUSIC_GROUP,VIP", required = true)String type){
         return succeed(classGroupService.findTeacherClassGroups(type));

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

@@ -50,7 +50,7 @@ public class TeacherAttendanceController extends BaseController {
         return succeed(studentAttendanceService.getCurrentCourseStudents(queryInfo));
     }
 
-    @ApiOperation(value = "点名完成")
+    @ApiOperation(value = "点名")
     @PostMapping("/addStudentAttendances")
     public Object addStudentAttendances(@RequestBody List<StudentAttendance> studentAttendances){
         studentAttendanceService.addStudentAttendances(studentAttendances);

+ 38 - 25
mec-teacher/src/main/java/com/ym/mec/teacher/controller/TeacherVipGroupController.java

@@ -6,9 +6,12 @@ import com.ym.mec.biz.dal.dto.VipGroupApplyDto;
 import com.ym.mec.biz.dal.dto.VipGroupCostCountParamsDto;
 import com.ym.mec.biz.service.VipGroupService;
 import com.ym.mec.common.controller.BaseController;
+
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
+
 import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.http.HttpStatus;
 import org.springframework.web.bind.annotation.PostMapping;
 import org.springframework.web.bind.annotation.RequestBody;
 import org.springframework.web.bind.annotation.RequestMapping;
@@ -25,30 +28,40 @@ import java.util.Objects;
 @RestController
 public class TeacherVipGroupController extends BaseController {
 
-    @Autowired
-    private VipGroupService vipGroupService;
-
-    @Autowired
-    private SysUserFeignService sysUserFeignService;
-
-    @ApiOperation("vip课申请")
-    @PostMapping("/vipGroupApply")
-    public Object vipGroupApply(@RequestBody VipGroupApplyDto vipGroupApplyDto){
-        SysUser user = sysUserFeignService.queryUserInfo();
-        if(Objects.isNull(user)){
-            return failed("请登录");
-        }
-        vipGroupApplyDto.getVipGroupApplyBaseInfo().setTeacherId(Long.valueOf(user.getId()));
-        vipGroupApplyDto.getVipGroupApplyBaseInfo().setOrganIdList(user.getOrganId().toString());
-        vipGroupService.createVipGroup(vipGroupApplyDto);
-        return succeed();
-    }
-
-    @ApiOperation("获取vip课课程和课酬总费用")
-    @PostMapping("/getVipGroupCostCount")
-    public Object getVipGroupCostCount(VipGroupCostCountParamsDto vipGroupCostCountParamsDto){
-//        return succeed(vipGroupService.vipGroupCostCount(vipGroupCostCountParamsDto));
-        return succeed();
-    }
+	@Autowired
+	private VipGroupService vipGroupService;
+
+	@Autowired
+	private SysUserFeignService sysUserFeignService;
+
+	@ApiOperation("vip课申请")
+	@PostMapping("/vipGroupApply")
+	public Object vipGroupApply(@RequestBody VipGroupApplyDto vipGroupApplyDto) {
+		SysUser user = sysUserFeignService.queryUserInfo();
+		if (Objects.isNull(user)) {
+			return failed(HttpStatus.FORBIDDEN, "请登录");
+		}
+		vipGroupApplyDto.getVipGroupApplyBaseInfo().setTeacherId(Long.valueOf(user.getId()));
+		vipGroupApplyDto.getVipGroupApplyBaseInfo().setOrganIdList(user.getOrganId().toString());
+		vipGroupService.createVipGroup(vipGroupApplyDto);
+		return succeed();
+	}
+
+	@ApiOperation("获取vip课课程和课酬总费用")
+	@PostMapping("/getVipGroupCostCount")
+	public Object getVipGroupCostCount(VipGroupCostCountParamsDto vipGroupCostCountParamsDto) {
+		// return succeed(vipGroupService.vipGroupCostCount(vipGroupCostCountParamsDto));
+		return succeed();
+	}
+
+	@ApiOperation("获取vip课教学点")
+	@PostMapping("/getSchools")
+	public Object getSchools() {
+		SysUser user = sysUserFeignService.queryUserInfo();
+		if (Objects.isNull(user)) {
+			return failed(HttpStatus.FORBIDDEN, "请登录");
+		}
+		return succeed(vipGroupService.querySchoolByUserId(user.getId()));
+	}
 
 }

+ 0 - 66
mec-teacher/src/main/java/com/ym/mec/teacher/controller/TeacherVipSchoolController.java

@@ -1,66 +0,0 @@
-package com.ym.mec.teacher.controller;
-
-import com.ym.mec.biz.dal.entity.TeacherSchool;
-import com.ym.mec.biz.service.TeacherSchoolService;
-import com.ym.mec.common.controller.BaseController;
-import io.swagger.annotations.Api;
-import io.swagger.annotations.ApiOperation;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.web.bind.annotation.GetMapping;
-import org.springframework.web.bind.annotation.PostMapping;
-import org.springframework.web.bind.annotation.RequestMapping;
-import org.springframework.web.bind.annotation.RestController;
-
-import java.util.Date;
-
-/**
- * @Author Joburgess
- * @Date 2019/10/14
- */
-@Api(value = "教师vip课教学点服务")
-@RequestMapping("teacherVipSchool")
-@RestController
-public class TeacherVipSchoolController extends BaseController {
-
-    @Autowired
-    private TeacherSchoolService teacherSchoolService;
-
-    @ApiOperation("单查询")
-    @GetMapping(value = "/query")
-    public Object query(Long id) {
-        return succeed(teacherSchoolService.get(id));
-    }
-
-    @ApiOperation("根据教师编号获取教学点")
-    @GetMapping(value = "/queryAll")
-    public Object queryAll(Integer teacherId) {
-        return succeed(teacherSchoolService.findByTeacherId(teacherId));
-    }
-
-    @ApiOperation("新增")
-    @PostMapping(value = "/add")
-    public Object add(TeacherSchool teacherSchool) {
-        Date date = new Date();
-        teacherSchool.setCreateTime(date);
-        teacherSchool.setUpdateTime(date);
-        teacherSchoolService.insert(teacherSchool);
-        return succeed();
-    }
-
-    @ApiOperation("修改")
-    @PostMapping(value = "/update")
-    public Object update(TeacherSchool teacherSchool) {
-        Date date = new Date();
-        teacherSchool.setUpdateTime(date);
-        teacherSchoolService.update(teacherSchool);
-        return succeed();
-    }
-
-    @ApiOperation("删除")
-    @PostMapping(value = "/delete")
-    public Object delete(Long id) {
-        teacherSchoolService.delete(id);
-        return succeed();
-    }
-
-}

+ 63 - 0
mec-thirdparty/src/main/java/com/ym/mec/thirdparty/union/GenerateNum.java

@@ -0,0 +1,63 @@
+package com.ym.mec.thirdparty.union;
+
+import java.text.SimpleDateFormat;
+import java.util.Date;
+
+/**
+ * 生成订单号类
+ */
+public class GenerateNum {
+    // 使用单例模式,不允许直接创建实例
+    private GenerateNum() {}
+
+    // 创建一个空实例对象,类需要用的时候才赋值
+    private static GenerateNum g = null;
+
+    // 单例模式--懒汉模式
+    public static synchronized GenerateNum getInstance() {
+        if (g == null) {
+            g = new GenerateNum();
+        }
+        return g;
+    }
+
+    // 全局自增数
+    private static int count = 0;
+
+    // 每毫秒秒最多生成多少订单(最好是像9999这种准备进位的值)
+    private static final int total = 9999;
+
+    // 格式化的时间字符串
+    private static final SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMddHHmmssSSS");
+
+    // 获取当前时间年月日时分秒毫秒字符串
+    private static String getNowDateStr() {
+        return sdf.format(new Date());
+    }
+
+    // 记录上一次的时间,用来判断是否需要递增全局数
+    private static String now = null;
+
+    /*
+     * 生成一个订单号
+     */
+    public synchronized String GenerateOrderNo() {
+        String datastr = getNowDateStr();
+        if (datastr.equals(now)) {
+            count++;// 自增
+        } else {
+            count = 1;
+            now = datastr;
+        }
+        int countInteger = String.valueOf(total).length() - String.valueOf(count).length();// 算补位
+        String bu = "";// 补字符串
+        for (int i = 0; i < countInteger; i++) {
+            bu += "0";
+        }
+        bu += String.valueOf(count);
+        if (count >= total) {
+            count = 0;
+        }
+        return datastr + bu;
+    }
+}

+ 13 - 58
mec-thirdparty/src/main/java/com/ym/mec/thirdparty/union/NotifyMsg.java

@@ -1,70 +1,28 @@
 package com.ym.mec.thirdparty.union;
 
+import org.apache.commons.lang3.builder.ToStringBuilder;
+
 import java.math.BigDecimal;
+import java.util.Date;
 
 /**
  * 异步通知具体信息
  */
 public class NotifyMsg {
-    private String mid;//商户号
-    private String tid;//终端号
-    private String instMid;//业务类型
-    private String billFunds;//资金渠道
-    private String billFundsDesc;//资金渠道说明
-    private Integer totalAmount;//订单总金额(分)
+    private BigDecimal totalAmount;//订单总金额(分)
     private String merOrderId;//商户订单号
-    private String payTime;//支付时间
+    private Date payTime;//支付时间
     private String seqId; //支付系统交易流水号
     private String status; //交易状态,NEW_ORDER-新订单 UNKNOWN-不明交易状态 TRADE_CLOSED-关闭的交易 WAIT_BUYER_PAY-交易创建等待付款 TRADE_SUCCESS-交易成功
     private String targetOrderId; //渠道订单号
-    private String targetSys;//支付渠道,WXPay,等
-    private String sign;//签名
-
-    public String getMid() {
-        return mid;
-    }
-
-    public void setMid(String mid) {
-        this.mid = mid;
-    }
-
-    public String getTid() {
-        return tid;
-    }
-
-    public void setTid(String tid) {
-        this.tid = tid;
-    }
-
-    public String getInstMid() {
-        return instMid;
-    }
+    private String targetSys;//支付渠道,WXPay,Alipay 2.0等
 
-    public void setInstMid(String instMid) {
-        this.instMid = instMid;
-    }
-
-    public String getBillFunds() {
-        return billFunds;
-    }
 
-    public void setBillFunds(String billFunds) {
-        this.billFunds = billFunds;
-    }
-
-    public String getBillFundsDesc() {
-        return billFundsDesc;
-    }
-
-    public void setBillFundsDesc(String billFundsDesc) {
-        this.billFundsDesc = billFundsDesc;
-    }
-
-    public Integer getTotalAmount() {
+    public BigDecimal getTotalAmount() {
         return totalAmount;
     }
 
-    public void setTotalAmount(Integer totalAmount) {
+    public void setTotalAmount(BigDecimal totalAmount) {
         this.totalAmount = totalAmount;
     }
 
@@ -76,11 +34,11 @@ public class NotifyMsg {
         this.merOrderId = merOrderId;
     }
 
-    public String getPayTime() {
+    public Date getPayTime() {
         return payTime;
     }
 
-    public void setPayTime(String payTime) {
+    public void setPayTime(Date payTime) {
         this.payTime = payTime;
     }
 
@@ -116,11 +74,8 @@ public class NotifyMsg {
         this.targetSys = targetSys;
     }
 
-    public String getSign() {
-        return sign;
-    }
-
-    public void setSign(String sign) {
-        this.sign = sign;
+    @Override
+    public String toString() {
+        return ToStringBuilder.reflectionToString(this);
     }
 }

+ 5 - 5
mec-web/pom.xml

@@ -1,7 +1,7 @@
 <?xml version="1.0"?>
 <project
-	xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"
-	xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
+		xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"
+		xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
 	<modelVersion>4.0.0</modelVersion>
 	<parent>
 		<groupId>com.ym</groupId>
@@ -41,17 +41,17 @@
 			<groupId>com.alibaba</groupId>
 			<artifactId>druid-spring-boot-starter</artifactId>
 		</dependency>
-		
+
 		<dependency>
 			<groupId>mysql</groupId>
 			<artifactId>mysql-connector-java</artifactId>
 		</dependency>
-		
+
 		<dependency>
 			<groupId>com.ym</groupId>
 			<artifactId>mec-biz</artifactId>
 		</dependency>
-		
+
 	</dependencies>
 	<build>
 		<plugins>

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

@@ -49,7 +49,8 @@ public class ClassGroupController extends BaseController {
     @ApiOperation(value = "新增提高班")
     @PostMapping("/addHighClass")
     @PreAuthorize("@pcs.hasPermissions('classGroup/addHighClass')")
-    public Object addHighClass(@ApiParam(value = "乐团提高班json", required = true) @RequestParam List<HighClassGroupDto> highClassGroupDtoList) throws Exception {
+    @ApiParam(value = "乐团提高班json", required = true)
+    public Object addHighClass(@RequestBody List<HighClassGroupDto> highClassGroupDtoList) throws Exception {
         if (highClassGroupDtoList.size() <= 0) {
             return failed("参数不合法");
         }

+ 35 - 14
mec-web/src/main/java/com/ym/mec/web/controller/CourseScheduleController.java

@@ -1,30 +1,40 @@
 package com.ym.mec.web.controller;
 
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import io.swagger.annotations.ApiParam;
+
+import java.util.Date;
+import java.util.List;
+import java.util.Map;
+import java.util.Objects;
+import java.util.stream.Collectors;
+
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.http.MediaType;
+import org.springframework.security.access.prepost.PreAuthorize;
+import org.springframework.util.CollectionUtils;
+import org.springframework.web.bind.annotation.GetMapping;
+import org.springframework.web.bind.annotation.PathVariable;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.RequestBody;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RequestParam;
+import org.springframework.web.bind.annotation.RestController;
+
 import com.ym.mec.biz.dal.dao.ClassGroupTeacherMapperDao;
 import com.ym.mec.biz.dal.dto.ClassDateAdjustDto;
 import com.ym.mec.biz.dal.dto.CreateCourseScheduleDto;
 import com.ym.mec.biz.dal.entity.ClassGroupTeacherMapper;
 import com.ym.mec.biz.dal.entity.CourseSchedule;
 import com.ym.mec.biz.dal.entity.CourseScheduleComplaints;
+import com.ym.mec.biz.dal.entity.MusicGroup;
 import com.ym.mec.biz.dal.page.StudentAttendanceQueryInfo;
 import com.ym.mec.biz.service.CourseScheduleService;
+import com.ym.mec.biz.service.MusicGroupService;
 import com.ym.mec.biz.service.StudentAttendanceService;
 import com.ym.mec.common.controller.BaseController;
 import com.ym.mec.common.exception.BizException;
-import io.swagger.annotations.Api;
-import io.swagger.annotations.ApiOperation;
-import io.swagger.annotations.ApiParam;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.http.MediaType;
-import org.springframework.security.access.prepost.PreAuthorize;
-import org.springframework.util.CollectionUtils;
-import org.springframework.web.bind.annotation.*;
-
-import java.util.Date;
-import java.util.List;
-import java.util.Map;
-import java.util.Objects;
-import java.util.stream.Collectors;
 
 /**
  * @Author Joburgess
@@ -41,6 +51,9 @@ public class CourseScheduleController extends BaseController {
     private StudentAttendanceService studentAttendanceService;
     @Autowired
     private ClassGroupTeacherMapperDao classGroupTeacherMapperDao;
+    
+    @Autowired
+    private MusicGroupService musicGroupService;
 
     @ApiOperation(value = "排课")
     @PostMapping("/batchAddCourseSchedule")
@@ -49,6 +62,12 @@ public class CourseScheduleController extends BaseController {
         if(Objects.isNull(createCourseScheduleDto.getMusicGroupID())){
             throw new BizException("请指定乐团");
         }
+        
+        MusicGroup musicGroup = musicGroupService.get(createCourseScheduleDto.getMusicGroupID());
+        if(musicGroup == null){
+        	return failed("乐团信息不存在");
+        }
+        
         List<ClassGroupTeacherMapper> byMusicGroup = classGroupTeacherMapperDao.findByMusicGroup(createCourseScheduleDto.getMusicGroupID());
         Map<Integer, List<ClassGroupTeacherMapper>> teacherByClassGroup = byMusicGroup.stream().collect(Collectors.groupingBy(ClassGroupTeacherMapper::getClassGroupId));
 
@@ -58,6 +77,7 @@ public class CourseScheduleController extends BaseController {
                 throw new BizException("乐团老师设置有误");
             }
             courseSchedule.setTeacherId(classGroupTeacherMappers.get(0).getUserId().longValue());
+            courseSchedule.setSchoolId(musicGroup.getSchoolId());
         });
 
         scheduleService.batchAddCourseSchedule(createCourseScheduleDto.getCourseSchedules());
@@ -128,6 +148,7 @@ public class CourseScheduleController extends BaseController {
 
     @ApiOperation(value = "检测乐团下所有的班级是否都已排课")
     @PostMapping(value = "/checkMusicGroupClassCourse")
+    @PreAuthorize("@pcs.hasPermissions('courseSchedule/checkMusicGroupClassCourse')")
     public Object checkMusicGroupClassCourse(Long musicGroupId){
         scheduleService.checkMusicGroupClassCourse(musicGroupId);
         return succeed();

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

@@ -32,4 +32,10 @@ public class TeacherController extends BaseController {
         return succeed(teacherService.findTeachers(organId));
     }
 
+    @ApiOperation(value = "获取乐团所有老师")
+    @GetMapping("/findMusicGoupTeachers")
+    public HttpResponseResult findMusicGoupTeachers(Long musicGroupId){
+        return succeed(teacherService.queryMusicGroupTeacher(musicGroupId));
+    }
+
 }

+ 0 - 74
mec-web/src/main/java/com/ym/mec/web/controller/TeacherVipSchoolController.java

@@ -1,74 +0,0 @@
-package com.ym.mec.web.controller;
-
-import com.ym.mec.biz.dal.entity.TeacherSchool;
-import com.ym.mec.biz.service.TeacherSchoolService;
-import com.ym.mec.common.controller.BaseController;
-
-import io.swagger.annotations.Api;
-import io.swagger.annotations.ApiOperation;
-
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.security.access.prepost.PreAuthorize;
-import org.springframework.web.bind.annotation.GetMapping;
-import org.springframework.web.bind.annotation.PostMapping;
-import org.springframework.web.bind.annotation.RequestMapping;
-import org.springframework.web.bind.annotation.RestController;
-
-import java.util.Date;
-
-/**
- * @Author Joburgess
- * @Date 2019/10/14
- */
-@Api(value = "教师vip课教学点服务")
-@RequestMapping("teacherVipSchool")
-@RestController
-public class TeacherVipSchoolController extends BaseController {
-
-    @Autowired
-    private TeacherSchoolService teacherSchoolService;
-
-    @ApiOperation("单查询")
-    @GetMapping(value = "/query")
-    @PreAuthorize("@pcs.hasPermissions('teacherVipSchool/query')")
-    public Object query(Long id) {
-        return succeed(teacherSchoolService.get(id));
-    }
-
-    @ApiOperation("根据教师编号获取教学点")
-    @GetMapping(value = "/queryAll")
-    @PreAuthorize("@pcs.hasPermissions('teacherVipSchool/queryAll')")
-    public Object queryAll(Integer teacherId) {
-        return succeed(teacherSchoolService.findByTeacherId(teacherId));
-    }
-
-    @ApiOperation("新增")
-    @PostMapping(value = "/add")
-    @PreAuthorize("@pcs.hasPermissions('teacherVipSchool/add')")
-    public Object add(TeacherSchool teacherSchool) {
-        Date date = new Date();
-        teacherSchool.setCreateTime(date);
-        teacherSchool.setUpdateTime(date);
-        teacherSchoolService.insert(teacherSchool);
-        return succeed();
-    }
-
-    @ApiOperation("修改")
-    @PostMapping(value = "/update")
-    @PreAuthorize("@pcs.hasPermissions('teacherVipSchool/update')")
-    public Object update(TeacherSchool teacherSchool) {
-        Date date = new Date();
-        teacherSchool.setUpdateTime(date);
-        teacherSchoolService.update(teacherSchool);
-        return succeed();
-    }
-
-    @ApiOperation("删除")
-    @PostMapping(value = "/delete")
-    @PreAuthorize("@pcs.hasPermissions('teacherVipSchool/delete')")
-    public Object delete(Long id) {
-        teacherSchoolService.delete(id);
-        return succeed();
-    }
-
-}

+ 2 - 1
mec-web/src/main/resources/application.yml

@@ -57,7 +57,8 @@ spring:
 
 mybatis:
     mapperLocations: classpath:config/mybatis/*.xml
-    
+#    configuration:
+#        log-impl: org.apache.ibatis.logging.stdout.StdOutImpl
 swagger:
   base-package: com.ym.mec.web.controller