Browse Source

Merge remote-tracking branch 'origin/master'

Joburgess 5 years ago
parent
commit
29fb866cc2
48 changed files with 859 additions and 351 deletions
  1. 8 2
      cms/src/main/java/com/ym/mec/cms/config/ResourceServerConfig.java
  2. 11 1
      mec-auth/mec-auth-api/src/main/java/com/ym/mec/auth/api/dto/MenuQueryInfo.java
  3. 1 1
      mec-auth/mec-auth-server/src/main/java/com/ym/mec/auth/core/filter/PhoneLoginAuthenticationFilter.java
  4. 1 1
      mec-auth/mec-auth-server/src/main/java/com/ym/mec/auth/core/filter/UsernameAuthenticationFilter.java
  5. 10 9
      mec-auth/mec-auth-server/src/main/java/com/ym/mec/auth/core/handler/AuthenticationFailureListener.java
  6. 1 2
      mec-auth/mec-auth-server/src/main/java/com/ym/mec/auth/core/handler/BaseAuthenticationSuccessEventHandler.java
  7. 1 1
      mec-auth/mec-auth-server/src/main/java/com/ym/mec/auth/core/provider/PhoneAuthenticationProvider.java
  8. 2 2
      mec-auth/mec-auth-server/src/main/java/com/ym/mec/auth/core/provider/service/DefaultUserDetailsService.java
  9. 2 2
      mec-auth/mec-auth-server/src/main/java/com/ym/mec/auth/dal/dao/SysMenuDao.java
  10. 9 9
      mec-auth/mec-auth-server/src/main/java/com/ym/mec/auth/service/impl/SysMenuServiceImpl.java
  11. 0 1
      mec-auth/mec-auth-server/src/main/java/com/ym/mec/auth/web/controller/MenuController.java
  12. 19 10
      mec-auth/mec-auth-server/src/main/java/com/ym/mec/auth/web/controller/RoleController.java
  13. 1 1
      mec-auth/mec-auth-server/src/main/java/com/ym/mec/auth/web/controller/SmsCodeController.java
  14. 19 9
      mec-auth/mec-auth-server/src/main/java/com/ym/mec/auth/web/controller/UserController.java
  15. 16 2
      mec-auth/mec-auth-server/src/main/resources/config/mybatis/SysMenuMapper.xml
  16. 15 0
      mec-biz/src/main/java/com/ym/mec/biz/dal/dao/TeacherDao.java
  17. 141 0
      mec-biz/src/main/java/com/ym/mec/biz/dal/dto/TeacherCloseDto.java
  18. 1 1
      mec-biz/src/main/java/com/ym/mec/biz/dal/entity/TeacherDefaultMusicGroupSalary.java
  19. 18 1
      mec-biz/src/main/java/com/ym/mec/biz/dal/entity/TeacherDefaultVipGroupSalary.java
  20. 9 9
      mec-biz/src/main/java/com/ym/mec/biz/dal/enums/SalarySettlementTypeEnum.java
  21. 64 0
      mec-biz/src/main/java/com/ym/mec/biz/dal/page/TeacherCloseQueryInfo.java
  22. 1 1
      mec-biz/src/main/java/com/ym/mec/biz/service/ClassGroupService.java
  23. 6 0
      mec-biz/src/main/java/com/ym/mec/biz/service/DemoGroupService.java
  24. 9 0
      mec-biz/src/main/java/com/ym/mec/biz/service/TeacherService.java
  25. 2 1
      mec-biz/src/main/java/com/ym/mec/biz/service/impl/ClassGroupServiceImpl.java
  26. 5 0
      mec-biz/src/main/java/com/ym/mec/biz/service/impl/DemoGroupServiceImpl.java
  27. 23 1
      mec-biz/src/main/java/com/ym/mec/biz/service/impl/TeacherServiceImpl.java
  28. 3 3
      mec-biz/src/main/resources/config/mybatis/ChargeTypeMapper.xml
  29. 2 1
      mec-biz/src/main/resources/config/mybatis/ChargeTypeSubjectMapperMapper.xml
  30. 163 159
      mec-biz/src/main/resources/config/mybatis/DemoGroupMapper.xml
  31. 18 19
      mec-biz/src/main/resources/config/mybatis/TeacherDefaultMusicGroupSalaryMapper.xml
  32. 76 67
      mec-biz/src/main/resources/config/mybatis/TeacherDefaultVipGroupSalaryMapper.xml
  33. 52 0
      mec-biz/src/main/resources/config/mybatis/TeacherMapper.xml
  34. 8 1
      mec-common/common-core/src/main/java/com/ym/mec/common/security/PermissionCheckService.java
  35. 1 1
      mec-common/common-core/src/main/java/com/ym/mec/common/security/SecurityConstants.java
  36. 16 14
      mec-education/src/main/java/com/ym/mec/education/config/ResourceServerConfig.java
  37. 4 1
      mec-student/src/main/java/com/ym/mec/student/config/ResourceServerConfig.java
  38. 26 7
      mec-student/src/main/java/com/ym/mec/student/config/WebMvcConfig.java
  39. 36 0
      mec-student/src/main/java/com/ym/mec/student/interceptor/RequestInterceptor.java
  40. 4 1
      mec-task/src/main/java/com/ym/mec/task/config/ResourceServerConfig.java
  41. 4 1
      mec-teacher/src/main/java/com/ym/mec/teacher/config/ResourceServerConfig.java
  42. 17 1
      mec-teacher/src/main/java/com/ym/mec/teacher/controller/DemoGroupController.java
  43. 0 1
      mec-teacher/src/main/java/com/ym/mec/teacher/controller/TeacherAttendanceController.java
  44. 7 0
      mec-teacher/src/main/java/com/ym/mec/teacher/controller/TeacherController.java
  45. 3 1
      mec-web/src/main/java/com/ym/mec/web/config/ResourceServerConfig.java
  46. 3 3
      mec-web/src/main/java/com/ym/mec/web/controller/ClassGroupController.java
  47. 17 2
      mec-web/src/main/java/com/ym/mec/web/controller/TeacherDefaultVipGroupSalaryController.java
  48. 4 1
      mec-workflow/src/main/java/com/ym/mec/workfow/config/ResourceServerConfig.java

+ 8 - 2
cms/src/main/java/com/ym/mec/cms/config/ResourceServerConfig.java

@@ -2,6 +2,7 @@ package com.ym.mec.cms.config;
 
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.context.annotation.Configuration;
+import org.springframework.security.config.annotation.method.configuration.EnableGlobalMethodSecurity;
 import org.springframework.security.config.annotation.web.builders.HttpSecurity;
 import org.springframework.security.oauth2.config.annotation.web.configuration.EnableResourceServer;
 import org.springframework.security.oauth2.config.annotation.web.configuration.ResourceServerConfigurerAdapter;
@@ -12,6 +13,7 @@ import com.ym.mec.common.security.BaseAuthenticationEntryPoint;
 
 @Configuration
 @EnableResourceServer
+@EnableGlobalMethodSecurity(prePostEnabled = true)
 public class ResourceServerConfig extends ResourceServerConfigurerAdapter {
 
 	@Autowired
@@ -22,10 +24,14 @@ public class ResourceServerConfig extends ResourceServerConfigurerAdapter {
 
 	@Override
 	public void configure(HttpSecurity http) throws Exception {
-		http.authorizeRequests().antMatchers("/v2/api-docs", "/news/list", "/news/query/*").permitAll()// 任何人不登录都可以获取的资源
+		http.authorizeRequests()
+				.antMatchers("/v2/api-docs", "/news/list", "/news/query/*")
+				.permitAll()
+				// 任何人不登录都可以获取的资源
 				// .antMatchers("/ipController/**").hasIpAddress("127.0.0.1") //特定ip可以不登录获取资源
 				// .antMatchers("/ipControll/**").access("isAuthenticated() and hasIpAddress('127.0.0.1')")// 特定ip必须登录才能获取
-				.anyRequest().authenticated().and().csrf().disable();
+				.anyRequest().authenticated().and().csrf().disable().exceptionHandling().accessDeniedHandler(baseAccessDeniedHandler)
+				.authenticationEntryPoint(baseAuthenticationEntryPoint).and();
 	}
 
 	@Override

+ 11 - 1
mec-auth/mec-auth-api/src/main/java/com/ym/mec/auth/api/dto/MenuQueryInfo.java

@@ -1,6 +1,5 @@
 package com.ym.mec.auth.api.dto;
 
-import com.ym.mec.common.page.QueryInfo;
 import io.swagger.annotations.ApiModelProperty;
 
 public class MenuQueryInfo{
@@ -10,8 +9,19 @@ public class MenuQueryInfo{
     @ApiModelProperty(value = "节点状态,默认0未删除,1删除",required = false)
     private String delFlag = "0";
 
+    @ApiModelProperty(value = "节点状态,默认0显示,1不显示",required = false)
+    private Integer hid;
+
     private Integer userId;
 
+    public Integer getHid() {
+        return hid;
+    }
+
+    public void setHid(Integer hid) {
+        this.hid = hid;
+    }
+
     public Integer getParentId() {
         return parentId;
     }

+ 1 - 1
mec-auth/mec-auth-server/src/main/java/com/ym/mec/auth/core/filter/PhoneLoginAuthenticationFilter.java

@@ -19,9 +19,9 @@ import org.springframework.security.web.util.matcher.AntPathRequestMatcher;
 
 import com.ym.mec.auth.api.dto.SysUserInfo;
 import com.ym.mec.auth.api.enums.SysUserType;
-import com.ym.mec.auth.config.constant.SecurityConstants;
 import com.ym.mec.auth.config.token.PhoneAuthenticationToken;
 import com.ym.mec.auth.service.SysUserService;
+import com.ym.mec.common.security.SecurityConstants;
 
 public class PhoneLoginAuthenticationFilter extends AbstractAuthenticationProcessingFilter {
 

+ 1 - 1
mec-auth/mec-auth-server/src/main/java/com/ym/mec/auth/core/filter/UsernameAuthenticationFilter.java

@@ -20,8 +20,8 @@ import org.springframework.util.Assert;
 
 import com.ym.mec.auth.api.dto.SysUserInfo;
 import com.ym.mec.auth.api.enums.SysUserType;
-import com.ym.mec.auth.config.constant.SecurityConstants;
 import com.ym.mec.auth.service.SysUserService;
+import com.ym.mec.common.security.SecurityConstants;
 
 public class UsernameAuthenticationFilter extends AbstractAuthenticationProcessingFilter {
 

+ 10 - 9
mec-auth/mec-auth-server/src/main/java/com/ym/mec/auth/core/handler/AuthenticationFailureListener.java

@@ -1,12 +1,8 @@
 package com.ym.mec.auth.core.handler;
 
-import com.fasterxml.jackson.databind.ObjectMapper;
-import com.ym.mec.auth.api.entity.SysUser;
-import com.ym.mec.auth.api.entity.SysUserLogin;
-import com.ym.mec.auth.api.enums.UserLockFlag;
-import com.ym.mec.auth.config.constant.SecurityConstants;
-import com.ym.mec.auth.service.SysUserLoginService;
-import com.ym.mec.auth.service.SysUserService;
+import java.util.Date;
+import java.util.HashMap;
+
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 import org.springframework.beans.factory.annotation.Autowired;
@@ -15,8 +11,13 @@ import org.springframework.security.authentication.event.AuthenticationFailureBa
 import org.springframework.security.core.Authentication;
 import org.springframework.stereotype.Component;
 
-import java.util.Date;
-import java.util.HashMap;
+import com.fasterxml.jackson.databind.ObjectMapper;
+import com.ym.mec.auth.api.entity.SysUser;
+import com.ym.mec.auth.api.entity.SysUserLogin;
+import com.ym.mec.auth.api.enums.UserLockFlag;
+import com.ym.mec.auth.service.SysUserLoginService;
+import com.ym.mec.auth.service.SysUserService;
+import com.ym.mec.common.security.SecurityConstants;
 
 @Component
 public class AuthenticationFailureListener implements ApplicationListener<AuthenticationFailureBadCredentialsEvent> {

+ 1 - 2
mec-auth/mec-auth-server/src/main/java/com/ym/mec/auth/core/handler/BaseAuthenticationSuccessEventHandler.java

@@ -19,7 +19,6 @@ import org.springframework.http.HttpStatus;
 import org.springframework.http.MediaType;
 import org.springframework.security.authentication.BadCredentialsException;
 import org.springframework.security.core.Authentication;
-import org.springframework.security.oauth2.common.DefaultOAuth2AccessToken;
 import org.springframework.security.oauth2.common.OAuth2AccessToken;
 import org.springframework.security.oauth2.common.exceptions.UnapprovedClientAuthenticationException;
 import org.springframework.security.oauth2.provider.ClientDetails;
@@ -35,11 +34,11 @@ import com.fasterxml.jackson.databind.ObjectMapper;
 import com.ym.mec.auth.api.entity.SysUser;
 import com.ym.mec.auth.api.entity.SysUserLogin;
 import com.ym.mec.auth.api.entity.SysUserLoginLog;
-import com.ym.mec.auth.config.constant.SecurityConstants;
 import com.ym.mec.auth.service.SysUserLoginLogService;
 import com.ym.mec.auth.service.SysUserLoginService;
 import com.ym.mec.auth.service.SysUserService;
 import com.ym.mec.common.entity.HttpResponseResult;
+import com.ym.mec.common.security.SecurityConstants;
 
 @Component
 public class BaseAuthenticationSuccessEventHandler extends SavedRequestAwareAuthenticationSuccessHandler {

+ 1 - 1
mec-auth/mec-auth-server/src/main/java/com/ym/mec/auth/core/provider/PhoneAuthenticationProvider.java

@@ -9,8 +9,8 @@ import org.springframework.security.core.userdetails.UserDetails;
 import org.springframework.security.core.userdetails.UserDetailsService;
 import org.springframework.security.core.userdetails.UsernameNotFoundException;
 
-import com.ym.mec.auth.config.constant.SecurityConstants;
 import com.ym.mec.auth.config.token.PhoneAuthenticationToken;
+import com.ym.mec.common.security.SecurityConstants;
 import com.ym.mec.common.validcode.SmsCodeService;
 
 public class PhoneAuthenticationProvider extends AbstractAuthenticationProvider {

+ 2 - 2
mec-auth/mec-auth-server/src/main/java/com/ym/mec/auth/core/provider/service/DefaultUserDetailsService.java

@@ -3,7 +3,6 @@ package com.ym.mec.auth.core.provider.service;
 import java.util.ArrayList;
 import java.util.List;
 
-import com.ym.mec.auth.api.enums.UserLockFlag;
 import org.apache.commons.lang3.StringUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.security.authentication.LockedException;
@@ -19,9 +18,10 @@ import org.springframework.stereotype.Service;
 import com.ym.mec.auth.api.dto.SysUserInfo;
 import com.ym.mec.auth.api.entity.SysUser;
 import com.ym.mec.auth.api.enums.SysUserType;
-import com.ym.mec.auth.config.constant.SecurityConstants;
+import com.ym.mec.auth.api.enums.UserLockFlag;
 import com.ym.mec.auth.service.SysUserService;
 import com.ym.mec.common.security.AuthUser;
+import com.ym.mec.common.security.SecurityConstants;
 
 @Service
 public class DefaultUserDetailsService implements UserDetailsService {

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

@@ -38,7 +38,7 @@ public interface SysMenuDao extends BaseDAO<Integer, SysMenu> {
      * @param userId
      * @return
      */
-    List<SysMenu> findByParentId(@Param("parentId") Integer menuId,@Param("delFlag") String delFlag,@Param("userId") Integer userId);
+    List<SysMenu> findByParentId(@Param("parentId") Integer menuId,@Param("delFlag") String delFlag,@Param("userId") Integer userId,@Param("hid") Integer hid);
 
     /**
      * 获取所有菜单列表
@@ -46,7 +46,7 @@ public interface SysMenuDao extends BaseDAO<Integer, SysMenu> {
      * @param delFlag
      * @return
      */
-    List<SysMenu> findList(@Param("parentId") Integer menuId,@Param("delFlag") String delFlag);
+    List<SysMenu> findList(@Param("parentId") Integer menuId,@Param("delFlag") String delFlag,@Param("hid") Integer hid);
 
     /**
      * 批量删除菜单列表

+ 9 - 9
mec-auth/mec-auth-server/src/main/java/com/ym/mec/auth/service/impl/SysMenuServiceImpl.java

@@ -45,24 +45,24 @@ public class SysMenuServiceImpl extends BaseServiceImpl<Integer, SysMenu>  imple
 		List<SysMenu> sysMenus = null;
 		if(sysUser.getUserType() == SysUserType.SYSTEM){
 			menuQueryInfo.setUserId(null);
-			sysMenus = sysMenuDao.findList(menuQueryInfo.getParentId(),menuQueryInfo.getDelFlag());
+			sysMenus = sysMenuDao.findList(menuQueryInfo.getParentId(),menuQueryInfo.getDelFlag(),menuQueryInfo.getHid());
 		}else {
-			sysMenus = sysMenuDao.findByParentId(menuQueryInfo.getParentId(),menuQueryInfo.getDelFlag(),menuQueryInfo.getUserId());
+			sysMenus = sysMenuDao.findByParentId(menuQueryInfo.getParentId(),menuQueryInfo.getDelFlag(),menuQueryInfo.getUserId(),menuQueryInfo.getHid());
 		}
 		for (SysMenu menu:sysMenus) {
-			menu = getTree(menu,menuQueryInfo.getDelFlag(),menuQueryInfo.getUserId());
+			menu = getTree(menu,menuQueryInfo.getDelFlag(),menuQueryInfo.getUserId(),menuQueryInfo.getHid());
 		}
 		return sysMenus;
 	}
 
-	private SysMenu getTree(SysMenu menu, String delFlag,Integer userId){
+	private SysMenu getTree(SysMenu menu, String delFlag,Integer userId,Integer hid){
 		//得到根节点对象
 		//获取子节点list
 		List<SysMenu> sysMenus = null;
 		if(userId == null){
-			sysMenus = sysMenuDao.findList(menu.getId(),delFlag);
+			sysMenus = sysMenuDao.findList(menu.getId(),delFlag,hid);
 		}else {
-			sysMenus = sysMenuDao.findByParentId(menu.getId(),delFlag,userId);
+			sysMenus = sysMenuDao.findByParentId(menu.getId(),delFlag,userId,hid);
 		}
 		//如果存在子节点
 		if(sysMenus != null && sysMenus.size() > 0) {
@@ -70,7 +70,7 @@ public class SysMenuServiceImpl extends BaseServiceImpl<Integer, SysMenu>  imple
 			menu.setSysMenus(sysMenus);
 			//遍历子节点....
 			for (SysMenu sysMenu : sysMenus) {
-				getTree(sysMenu,delFlag,userId);
+				getTree(sysMenu,delFlag,userId,hid);
 			}
 		}
 		return menu;
@@ -83,9 +83,9 @@ public class SysMenuServiceImpl extends BaseServiceImpl<Integer, SysMenu>  imple
 
 	@Override
 	public void recursiveDel(Integer parentId) {
-		List<SysMenu> sysMenus = sysMenuDao.findList(parentId, "0");
+		List<SysMenu> sysMenus = sysMenuDao.findList(parentId, "0",0);
 		for (SysMenu menu:sysMenus) {
-			menu = getTree(menu,"0",null);
+			menu = getTree(menu,"0",null,null);
 		}
 		List<Integer> collect = sysMenus.stream().map(sysMenu -> sysMenu.getId()).collect(Collectors.toList());
 		if(collect == null || collect.size() <= 0){

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

@@ -66,7 +66,6 @@ public class MenuController extends BaseController {
             if(menuQueryInfo == null){
                 menuQueryInfo = new MenuQueryInfo();
             }
-
             menuQueryInfo.setUserId(user.getUserId());
             return succeed(sysMenuService.findByUser(menuQueryInfo));
         }

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

@@ -1,22 +1,31 @@
 package com.ym.mec.auth.web.controller;
 
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiImplicitParam;
+import io.swagger.annotations.ApiImplicitParams;
+import io.swagger.annotations.ApiOperation;
+import io.swagger.annotations.ApiParam;
+
+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.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.RestController;
+
 import com.ym.mec.auth.api.entity.SysRole;
-import com.ym.mec.auth.config.constant.SecurityConstants;
 import com.ym.mec.auth.service.SysMenuService;
 import com.ym.mec.auth.service.SysRoleMenuService;
 import com.ym.mec.auth.service.SysRoleService;
 import com.ym.mec.auth.service.SysUserRoleService;
 import com.ym.mec.common.controller.BaseController;
 import com.ym.mec.common.page.QueryInfo;
-
-import io.swagger.annotations.*;
-
-import org.apache.commons.lang3.StringUtils;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.http.MediaType;
-import org.springframework.web.bind.annotation.*;
-
-import java.util.Date;
+import com.ym.mec.common.security.SecurityConstants;
 
 @RestController()
 @RequestMapping("role")

+ 1 - 1
mec-auth/mec-auth-server/src/main/java/com/ym/mec/auth/web/controller/SmsCodeController.java

@@ -24,8 +24,8 @@ import org.springframework.web.bind.annotation.RestController;
 import com.google.code.kaptcha.Constants;
 import com.google.code.kaptcha.Producer;
 import com.google.code.kaptcha.servlet.KaptchaServlet;
-import com.ym.mec.auth.config.constant.SecurityConstants;
 import com.ym.mec.common.controller.BaseController;
+import com.ym.mec.common.security.SecurityConstants;
 import com.ym.mec.common.validcode.SmsCodeService;
 
 @RestController

+ 19 - 9
mec-auth/mec-auth-server/src/main/java/com/ym/mec/auth/web/controller/UserController.java

@@ -1,23 +1,33 @@
 package com.ym.mec.auth.web.controller;
 
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiImplicitParam;
+import io.swagger.annotations.ApiImplicitParams;
+import io.swagger.annotations.ApiOperation;
+
+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.crypto.bcrypt.BCryptPasswordEncoder;
+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.RestController;
+
 import com.ym.mec.auth.api.entity.SysUser;
-import com.ym.mec.auth.config.constant.SecurityConstants;
 import com.ym.mec.auth.service.SysRoleService;
 import com.ym.mec.auth.service.SysUserRoleService;
 import com.ym.mec.auth.service.SysUserService;
 import com.ym.mec.auth.web.controller.queryInfo.SysUserQueryInfo;
 import com.ym.mec.common.controller.BaseController;
 import com.ym.mec.common.security.AuthUser;
+import com.ym.mec.common.security.SecurityConstants;
 import com.ym.mec.common.security.SecurityUtils;
 import com.ym.mec.common.validcode.SmsCodeService;
-import io.swagger.annotations.*;
-import org.apache.commons.lang3.StringUtils;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.http.MediaType;
-import org.springframework.security.crypto.bcrypt.BCryptPasswordEncoder;
-import org.springframework.web.bind.annotation.*;
-
-import java.util.Date;
 
 @RestController()
 @RequestMapping("user")

+ 16 - 2
mec-auth/mec-auth-server/src/main/resources/config/mybatis/SysMenuMapper.xml

@@ -140,6 +140,9 @@
             <if test="userId != null">
                 sur.user_id_ = #{userId}
             </if>
+            <if test="hid != null">
+                AND sm.hidden_ = #{hid}
+            </if>
             <if test="delFlag != null">
                 AND sm.del_flag_ = #{delFlag}
             </if>
@@ -154,11 +157,22 @@
         LEFT JOIN sys_role_menu srm ON sur.role_id_ = srm.role_id_
         LEFT JOIN sys_menu sm ON srm.menu_id_ = sm.id_
         <include refid="queryTree"/>
---         GROUP BY sm.id_
         ORDER BY sm.sort_
     </select>
 
     <select id="findList" resultMap="SysMenu">
-        SELECT * FROM sys_menu WHERE del_flag_ = #{delFlag} AND parent_id_ = #{parentId} ORDER BY sort_ DESC
+        SELECT * FROM sys_menu
+        <where>
+            <if test="delFlag != null">
+                AND del_flag_ = #{delFlag}
+            </if>
+            <if test="parentId != null">
+                AND parent_id_ = #{parentId}
+            </if>
+            <if test="hid != null">
+                AND hidden_ = #{hid}
+            </if>
+        </where>
+        ORDER BY sort_ DESC
     </select>
 </mapper>

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

@@ -3,6 +3,7 @@ package com.ym.mec.biz.dal.dao;
 import com.ym.mec.auth.api.entity.SysUser;
 import com.ym.mec.biz.dal.dto.BasicUserDto;
 import com.ym.mec.biz.dal.dto.NamesDto;
+import com.ym.mec.biz.dal.dto.TeacherCloseDto;
 import com.ym.mec.biz.dal.entity.Teacher;
 import com.ym.mec.common.dal.BaseDAO;
 
@@ -60,4 +61,18 @@ public interface TeacherDao extends BaseDAO<Integer, Teacher> {
      * @return
      */
     List<Teacher> findTeachers(@Param("organId") Integer organId);
+
+    /**
+     * count上课结算列表
+     * @param params
+     * @return
+     */
+    int countCloses(Map<String, Object> params);
+
+    /**
+     * 获取教师上课结算列表
+     * @param params
+     * @return
+     */
+    List<TeacherCloseDto> queryCloses(Map<String, Object> params);
 }

+ 141 - 0
mec-biz/src/main/java/com/ym/mec/biz/dal/dto/TeacherCloseDto.java

@@ -0,0 +1,141 @@
+package com.ym.mec.biz.dal.dto;
+
+import io.swagger.annotations.ApiModelProperty;
+
+import java.math.BigDecimal;
+import java.util.Date;
+
+public class TeacherCloseDto {
+
+    @ApiModelProperty(value = "上课日期")
+    private String classDate;
+
+    @ApiModelProperty(value = "上课时间")
+    private String classTime;
+
+    @ApiModelProperty(value = "班级名字")
+    private String className;
+
+    @ApiModelProperty(value = "课程类型")
+    private String courseScheduleType;
+
+    @ApiModelProperty(value = "上课类型(主教助教)")
+    private String teacherRole;
+
+    @ApiModelProperty(value = "总课时")
+    private Integer totalClassTimes;
+
+    @ApiModelProperty(value = "当前课时")
+    private Integer currentClassTimes;
+
+    @ApiModelProperty(value = "签到状态:0异常,1正常")
+    private Integer signInStatus;
+
+    @ApiModelProperty(value = "签退状态:0异常,1正常")
+    private Integer signOutStatus;
+
+    @ApiModelProperty(value = "实际结算薪水")
+    private BigDecimal actualSalary;
+
+    @ApiModelProperty(value = "实际结算时间")
+    private Date settlementTime;
+
+    @ApiModelProperty(value = "补贴")
+    private BigDecimal subsidy;
+
+    public String getClassTime() {
+        return classTime;
+    }
+
+    public void setClassTime(String classTime) {
+        this.classTime = classTime;
+    }
+
+    public String getClassDate() {
+        return classDate;
+    }
+
+    public void setClassDate(String classDate) {
+        this.classDate = classDate;
+    }
+
+    public String getClassName() {
+        return className;
+    }
+
+    public void setClassName(String className) {
+        this.className = className;
+    }
+
+    public String getCourseScheduleType() {
+        return courseScheduleType;
+    }
+
+    public void setCourseScheduleType(String courseScheduleType) {
+        this.courseScheduleType = courseScheduleType;
+    }
+
+    public String getTeacherRole() {
+        return teacherRole;
+    }
+
+    public void setTeacherRole(String teacherRole) {
+        this.teacherRole = teacherRole;
+    }
+
+    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 Integer getSignInStatus() {
+        return signInStatus;
+    }
+
+    public void setSignInStatus(Integer signInStatus) {
+        this.signInStatus = signInStatus;
+    }
+
+    public Integer getSignOutStatus() {
+        return signOutStatus;
+    }
+
+    public void setSignOutStatus(Integer signOutStatus) {
+        this.signOutStatus = signOutStatus;
+    }
+
+    public BigDecimal getActualSalary() {
+        return actualSalary;
+    }
+
+    public void setActualSalary(BigDecimal actualSalary) {
+        this.actualSalary = actualSalary;
+    }
+
+    public Date getSettlementTime() {
+        return settlementTime;
+    }
+
+    public void setSettlementTime(Date settlementTime) {
+        this.settlementTime = settlementTime;
+    }
+
+    public BigDecimal getSubsidy() {
+        return subsidy;
+    }
+
+    public void setSubsidy(BigDecimal subsidy) {
+        this.subsidy = subsidy;
+    }
+}

+ 1 - 1
mec-biz/src/main/java/com/ym/mec/biz/dal/entity/TeacherDefaultMusicGroupSalary.java

@@ -24,7 +24,7 @@ public class TeacherDefaultMusicGroupSalary {
 	
 	/** 班级类型(参照 course_schedule表的type_字段) */
 	@ApiModelProperty(value = "课程类型",required = false)
-	private CourseScheduleType courseScheduleType;
+	private CourseSchedule.CourseScheduleType courseScheduleType;
 
 
 	@ApiModelProperty(value = "结算方式",required = false)

+ 18 - 1
mec-biz/src/main/java/com/ym/mec/biz/dal/entity/TeacherDefaultVipGroupSalary.java

@@ -1,5 +1,6 @@
 package com.ym.mec.biz.dal.entity;
 
+import io.swagger.annotations.ApiModelProperty;
 import org.apache.commons.lang3.builder.ToStringBuilder;
 
 /**
@@ -11,15 +12,23 @@ public class TeacherDefaultVipGroupSalary {
 	private Long id;
 	
 	/**  */
+	@ApiModelProperty(value = "教师编号", required = false)
 	private Integer userId;
 	
 	/** 课程类型 */
+	@ApiModelProperty(value = "课程类型编号", required = false)
 	private String vipGroupCategoryId;
+
+	/** 课程类型 */
+	@ApiModelProperty(value = "课程类型名称(1v1,1v2)", required = false)
+	private String vipGroupCategoryName;
 	
 	/** 线上课薪酬 */
+	@ApiModelProperty(value = "线上课薪酬", required = false)
 	private java.math.BigDecimal onlineClassesSalary;
 	
 	/** 线下课薪酬 */
+	@ApiModelProperty(value = "线下课薪酬", required = false)
 	private java.math.BigDecimal offlineClassesSalary;
 	
 	/**  */
@@ -27,7 +36,15 @@ public class TeacherDefaultVipGroupSalary {
 	
 	/**  */
 	private java.util.Date updateTime;
-	
+
+	public String getVipGroupCategoryName() {
+		return vipGroupCategoryName;
+	}
+
+	public void setVipGroupCategoryName(String vipGroupCategoryName) {
+		this.vipGroupCategoryName = vipGroupCategoryName;
+	}
+
 	public void setId(Long id){
 		this.id = id;
 	}

+ 9 - 9
mec-biz/src/main/java/com/ym/mec/biz/dal/enums/SalarySettlementTypeEnum.java

@@ -6,23 +6,23 @@ import com.ym.mec.common.enums.BaseEnum;
  * @Author Joburgess
  * @Date 2019/10/1
  */
-public enum SalarySettlementTypeEnum implements BaseEnum<Integer,SalarySettlementTypeEnum> {
+public enum SalarySettlementTypeEnum implements BaseEnum<String,SalarySettlementTypeEnum> {
 
-    TEACHER_DEFAULT(1,"老师默认课酬"),
-    RATIO_DISCOUNT(2,"课程单价比例折扣"),
-    FIXED_SALARY(3,"固定课酬"),
-    GRADIENT_SALARY(4,"梯度课酬");
+    TEACHER_DEFAULT("TEACHER_DEFAULT","老师默认课酬"),
+    RATIO_DISCOUNT("RATIO_DISCOUNT","课程单价比例折扣"),
+    FIXED_SALARY("FIXED_SALARY","固定课酬"),
+    GRADIENT_SALARY("GRADIENT_SALARY","梯度课酬");
 
-    private Integer code;
+    private String code;
 
     private String msg;
 
-    SalarySettlementTypeEnum(Integer code, String msg) {
+    SalarySettlementTypeEnum(String code, String msg) {
         this.code = code;
         this.msg = msg;
     }
 
-    public void setCode(Integer code) {
+    public void setCode(String code) {
         this.code = code;
     }
 
@@ -35,7 +35,7 @@ public enum SalarySettlementTypeEnum implements BaseEnum<Integer,SalarySettlemen
     }
 
     @Override
-    public Integer getCode() {
+    public String getCode() {
         return this.code;
     }
 }

+ 64 - 0
mec-biz/src/main/java/com/ym/mec/biz/dal/page/TeacherCloseQueryInfo.java

@@ -0,0 +1,64 @@
+package com.ym.mec.biz.dal.page;
+
+import com.ym.mec.biz.dal.entity.ClassGroupTeacherMapper;
+import com.ym.mec.biz.dal.entity.CourseSchedule;
+import com.ym.mec.biz.dal.enums.TeachTypeEnum;
+import com.ym.mec.common.page.QueryInfo;
+import io.swagger.annotations.ApiModelProperty;
+
+public class TeacherCloseQueryInfo extends QueryInfo {
+    @ApiModelProperty(value = "教师编号")
+    private Integer teacherId;
+
+    @ApiModelProperty(value = "上课开始日期")
+    private String courseStartDate;
+
+    @ApiModelProperty(value = "上课结束日期")
+    private String courseEndDate;
+
+    @ApiModelProperty(value = "老师角色")
+    private String teacherRole;
+
+    @ApiModelProperty(value = "课程类型")
+    private String courseScheduleType;
+
+    public String getCourseStartDate() {
+        return courseStartDate;
+    }
+
+    public void setCourseStartDate(String courseStartDate) {
+        this.courseStartDate = courseStartDate;
+    }
+
+    public String getCourseEndDate() {
+        return courseEndDate;
+    }
+
+    public void setCourseEndDate(String courseEndDate) {
+        this.courseEndDate = courseEndDate;
+    }
+
+    public String getTeacherRole() {
+        return teacherRole;
+    }
+
+    public void setTeacherRole(String teacherRole) {
+        this.teacherRole = teacherRole;
+    }
+
+    public String getCourseScheduleType() {
+        return courseScheduleType;
+    }
+
+    public void setCourseScheduleType(String courseScheduleType) {
+        this.courseScheduleType = courseScheduleType;
+    }
+
+    public Integer getTeacherId() {
+        return teacherId;
+    }
+
+    public void setTeacherId(Integer teacherId) {
+        this.teacherId = teacherId;
+    }
+}

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

@@ -200,7 +200,7 @@ public interface ClassGroupService extends BaseService<Integer, ClassGroup> {
      * @param teacherId
      * @param musicGroupId
      */
-    void addMusicGroupTeam(Integer teacherId, String musicGroupId) throws Exception;
+    void addMusicGroupTeam(Integer teacherId, String musicGroupId,Integer improventClassesNum) throws Exception;
 
     /**
      * @Author: Joburgess

+ 6 - 0
mec-biz/src/main/java/com/ym/mec/biz/service/DemoGroupService.java

@@ -57,4 +57,10 @@ public interface DemoGroupService extends BaseService<Long, DemoGroup> {
      */
     List<EducationDemoGroupListDto> findDemoGroupStartClassTimesWithWeekByTeacherId(Long teacherID);
 
+    /**
+     *
+     * @param teacherId
+     * @return
+     */
+    DemoGroup findByTeacherId(Integer teacherId);
 }

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

@@ -1,8 +1,11 @@
 package com.ym.mec.biz.service;
 
 import com.ym.mec.biz.dal.dto.BasicUserDto;
+import com.ym.mec.biz.dal.dto.TeacherCloseDto;
 import com.ym.mec.biz.dal.dto.TeacherUserDto;
 import com.ym.mec.biz.dal.entity.Teacher;
+import com.ym.mec.biz.dal.entity.TeacherDefaultMusicGroupSalary;
+import com.ym.mec.biz.dal.page.TeacherCloseQueryInfo;
 import com.ym.mec.biz.dal.page.TeacherQueryInfo;
 import com.ym.mec.common.entity.ImGroupModel;
 import com.ym.mec.common.page.PageInfo;
@@ -77,4 +80,10 @@ public interface TeacherService extends BaseService<Integer, Teacher> {
      */
     List<Teacher> findTeachers(@Param("organId") Integer organId);
 
+    /**
+     * 获取教师上课结算列表
+     * @param queryInfo
+     * @return
+     */
+    PageInfo<TeacherCloseDto> queryCloses(TeacherCloseQueryInfo queryInfo);
 }

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

@@ -489,7 +489,7 @@ public class ClassGroupServiceImpl extends BaseServiceImpl<Integer, ClassGroup>
 
     @Override
     @Transactional(rollbackFor = Exception.class)
-    public void addMusicGroupTeam(Integer teacherId, String musicGroupId) throws Exception {
+    public void addMusicGroupTeam(Integer teacherId, String musicGroupId,Integer improventClassesNum) throws Exception {
         //所有学员都已经分配
         List<StudentRegistration> students = studentRegistrationDao.getNoClassStuBySubjectId(musicGroupId, null);
         if(students != null && students.size() > 0){
@@ -504,6 +504,7 @@ public class ClassGroupServiceImpl extends BaseServiceImpl<Integer, ClassGroup>
         MusicGroup musicGroup = new MusicGroup();
         musicGroup.setId(musicGroupId);
         musicGroup.setDirectorUserId(teacherId);
+        musicGroup.setImproventClassesNum(improventClassesNum);
         musicGroup.setUpdateTime(new Date());
         musicGroupDao.update(musicGroup);
     }

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

@@ -196,4 +196,9 @@ public class DemoGroupServiceImpl extends BaseServiceImpl<Long, DemoGroup>  impl
 	public List<EducationDemoGroupListDto> findDemoGroupStartClassTimesWithWeekByTeacherId(Long teacherID) {
 		return demoGroupDao.findDemoGroupStartClassTimesWithWeekByTeacherId(teacherID);
 	}
+
+	@Override
+	public DemoGroup findByTeacherId(Integer teacherId) {
+		return demoGroupDao.findDemoGroupByTeacherId(teacherId);
+	}
 }

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

@@ -8,10 +8,12 @@ import com.ym.mec.auth.api.enums.YesOrNoEnum;
 import com.ym.mec.biz.dal.dao.*;
 import com.ym.mec.biz.dal.dto.BasicUserDto;
 import com.ym.mec.biz.dal.dto.NamesDto;
+import com.ym.mec.biz.dal.dto.TeacherCloseDto;
 import com.ym.mec.biz.dal.dto.UserGoodsDto;
 import com.ym.mec.biz.dal.entity.MusicGroup;
 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;
 import com.ym.mec.common.dal.BaseDAO;
@@ -162,7 +164,27 @@ public class TeacherServiceImpl extends BaseServiceImpl<Integer, Teacher>  imple
 		return teacherDao.findTeachers(organId);
     }
 
-    @Override
+	@Override
+	public PageInfo<TeacherCloseDto> queryCloses(TeacherCloseQueryInfo queryInfo) {
+		PageInfo<TeacherCloseDto> pageInfo = new PageInfo<>(queryInfo.getPage(), queryInfo.getRows());
+		Map<String, Object> params = new HashMap<String, Object>();
+		MapUtil.populateMap(params, queryInfo);
+
+		List<TeacherCloseDto> dataList = null;
+		int count = teacherDao.countCloses(params);
+		if (count > 0) {
+			pageInfo.setTotal(count);
+			params.put("offset", pageInfo.getOffset());
+			dataList = teacherDao.queryCloses(params);
+		}
+		if (count == 0) {
+			dataList = new ArrayList<>();
+		}
+		pageInfo.setRows(dataList);
+		return pageInfo;
+	}
+
+	@Override
 	public PageInfo<Teacher> queryPageDetail(TeacherQueryInfo queryInfo) {
 		PageInfo<Teacher> pageInfo = queryPage(queryInfo);
 		List<Teacher> rows = pageInfo.getRows();

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

@@ -67,11 +67,11 @@
 
     <!-- 分页查询 -->
     <select id="queryPage" resultMap="ChargeType" parameterType="map">
-        SELECT ct.*,s.id_ subject_id_,s.name_ subject_name_ FROM charge_type ct
+        SELECT ct.*,s.id_ subject_id_,s.name_ subject_name_
+        FROM (SELECT * FROM charge_type <include refid="global.limit"/>) ct
         LEFT JOIN charge_type_subject_mapper ctsm ON ct.id_ = ctsm.charge_type_id_
         LEFT JOIN `subject` s ON ctsm.subject_id_ = s.id_
-        ORDER BY id_
-        <include refid="global.limit"/>
+        ORDER BY ct.update_time_
     </select>
 
     <!-- 查询当前表的总记录数 -->

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

@@ -34,7 +34,8 @@
         VALUES(#{chargeTypeId},#{subjectId},#{kitGroupPurchaseTypeEnum,typeHandler=com.ym.mec.common.dal.CustomEnumTypeHandler},#{depositFee},#{fee},now(),now())
     </insert>
     <insert id="batchAdd">
-        INSERT INTO charge_type_subject_mapper (charge_type_id_,subject_id_,create_time_,update_time_) VALUES
+        INSERT INTO charge_type_subject_mapper
+        (charge_type_id_,subject_id_,create_time_,update_time_) VALUES
         <foreach collection="subjectIds" item="item" separator=",">
             (#{chargeTypeId},#{item},now(),now())
         </foreach>

+ 163 - 159
mec-biz/src/main/resources/config/mybatis/DemoGroupMapper.xml

@@ -5,99 +5,100 @@
 不要修改此文件。所有改动将在下次重新自动生成时丢失。
 -->
 <mapper namespace="com.ym.mec.biz.dal.dao.DemoGroupDao">
-	
-	<resultMap type="com.ym.mec.biz.dal.entity.DemoGroup" id="DemoGroup">
-		<result column="id_" property="id" />
-		<result column="name_" property="name" />
-		<result column="single_class_minutes_" property="singleClassMinutes" />
-		<result column="organ_id_list_" property="organIdList" />
-		<result column="create_time_" property="createTime" />
-		<result column="update_time_" property="updateTime" />
-		<result column="user_id_" property="userId" />
-		<result column="price_" property="price"/>
-		<result column="subject_id_" property="subjectId"/>
-	</resultMap>
 
-	<resultMap id="studentDemoGroupListDto" type="com.ym.mec.biz.dal.dto.StudentDemoGroupListDto">
-		<result property="demoGroupId" column="demo_group_id_"/>
-		<result property="userId" column="user_id_"/>
-		<result property="userName" column="username_"/>
-		<result property="avatar" column="avatar_"/>
-		<result property="introduction" column="introduction_"/>
-		<result property="numberOfClasses" column="number_of_classes_"/>
-		<result property="subjectName" column="subject_name_"/>
-		<collection property="coursesPlans" resultMap="com.ym.mec.biz.dal.dao.DemoGroupCoursesPlanDao.DemoGroupCoursesPlan" column="dgcp.id_"/>
-	</resultMap>
-	
-	<!-- 根据主键查询一条记录 -->
-	<select id="get" resultMap="DemoGroup" >
+    <resultMap type="com.ym.mec.biz.dal.entity.DemoGroup" id="DemoGroup">
+        <result column="id_" property="id"/>
+        <result column="name_" property="name"/>
+        <result column="single_class_minutes_" property="singleClassMinutes"/>
+        <result column="organ_id_list_" property="organIdList"/>
+        <result column="create_time_" property="createTime"/>
+        <result column="update_time_" property="updateTime"/>
+        <result column="user_id_" property="userId"/>
+        <result column="price_" property="price"/>
+        <result column="subject_id_" property="subjectId"/>
+    </resultMap>
+
+    <resultMap id="studentDemoGroupListDto" type="com.ym.mec.biz.dal.dto.StudentDemoGroupListDto">
+        <result property="demoGroupId" column="demo_group_id_"/>
+        <result property="userId" column="user_id_"/>
+        <result property="userName" column="username_"/>
+        <result property="avatar" column="avatar_"/>
+        <result property="introduction" column="introduction_"/>
+        <result property="numberOfClasses" column="number_of_classes_"/>
+        <result property="subjectName" column="subject_name_"/>
+        <collection property="coursesPlans"
+                    resultMap="com.ym.mec.biz.dal.dao.DemoGroupCoursesPlanDao.DemoGroupCoursesPlan" column="dgcp.id_"/>
+    </resultMap>
+
+    <!-- 根据主键查询一条记录 -->
+    <select id="get" resultMap="DemoGroup">
 		SELECT * FROM demo_group WHERE id_ = #{id} 
 	</select>
-	
-	<!-- 全查询 -->
-	<select id="findAll" resultMap="DemoGroup">
+
+    <!-- 全查询 -->
+    <select id="findAll" resultMap="DemoGroup">
 		SELECT * FROM demo_group ORDER BY id_
 	</select>
-	
-	<!-- 向数据库增加一条记录 -->
-	<insert id="insert" parameterType="com.ym.mec.biz.dal.entity.DemoGroup" useGeneratedKeys="true" keyColumn="id" keyProperty="id">
-		<!--
-		<selectKey resultClass="int" keyProperty="id" > 
-		SELECT SEQ_WSDEFINITION_ID.nextval AS ID FROM DUAL 
-		</selectKey>
-		-->
-		INSERT INTO demo_group (id_,name_,single_class_minutes_,organ_id_list_,create_time_,update_time_,user_id_,price_,subject_id_) VALUES(#{id},#{name},#{singleClassMinutes},#{organIdList},#{createTime},#{updateTime},#{userId},#{price},#{subjectId})
-	</insert>
-	
-	<!-- 根据主键查询一条记录 -->
-	<update id="update" parameterType="com.ym.mec.biz.dal.entity.DemoGroup">
-		UPDATE demo_group <set>
-<if test="userId != null">
-user_id_ = #{userId},
-</if>
-<if test="id != null">
-id_ = #{id},
-</if>
-<if test="updateTime != null">
-update_time_ = #{updateTime},
-</if>
-<if test="singleClassMinutes != null">
-single_class_minutes_ = #{singleClassMinutes},
-</if>
-<if test="organIdList != null">
-organ_id_list_ = #{organIdList},
-</if>
-<if test="name != null">
-name_ = #{name},
-</if>
-<if test="createTime != null">
-create_time_ = #{createTime},
-</if>
-		<if test="price != null">
-			price_ = #{price},
-		</if>
-		<if test="subjectId != null">
-			subject_id_ = #{subjectId},
-		</if>
-</set> WHERE id_ = #{id} 
-	</update>
-	
-	<!-- 根据主键删除一条记录 -->
-	<delete id="delete" >
+
+    <!-- 向数据库增加一条记录 -->
+    <insert id="insert" parameterType="com.ym.mec.biz.dal.entity.DemoGroup" useGeneratedKeys="true" keyColumn="id"
+            keyProperty="id">
+        <!--
+        <selectKey resultClass="int" keyProperty="id" >
+        SELECT SEQ_WSDEFINITION_ID.nextval AS ID FROM DUAL
+        </selectKey>
+        -->
+        INSERT INTO demo_group
+        (name_,single_class_minutes_,organ_id_list_,create_time_,update_time_,user_id_,price_,subject_id_)
+        VALUES(#{name},#{singleClassMinutes},#{organIdList},now(),now(),#{userId},#{price},#{subjectId})
+    </insert>
+
+    <!-- 根据主键查询一条记录 -->
+    <update id="update" parameterType="com.ym.mec.biz.dal.entity.DemoGroup">
+        UPDATE demo_group
+        <set>
+            <if test="userId != null">
+                user_id_ = #{userId},
+            </if>
+            <if test="updateTime != null">
+                update_time_ = #{updateTime},
+            </if>
+            <if test="singleClassMinutes != null">
+                single_class_minutes_ = #{singleClassMinutes},
+            </if>
+            <if test="organIdList != null">
+                organ_id_list_ = #{organIdList},
+            </if>
+            <if test="name != null">
+                name_ = #{name},
+            </if>
+            <if test="price != null">
+                price_ = #{price},
+            </if>
+            <if test="subjectId != null">
+                subject_id_ = #{subjectId},
+            </if>
+        </set>
+        WHERE id_ = #{id}
+    </update>
+
+    <!-- 根据主键删除一条记录 -->
+    <delete id="delete">
 		DELETE FROM demo_group WHERE id_ = #{id} 
 	</delete>
-	
-	<!-- 分页查询 -->
-	<select id="queryPage" resultMap="DemoGroup" parameterType="map">
-		SELECT * FROM demo_group ORDER BY id_ <include refid="global.limit"/>
-	</select>
-	
-	<!-- 查询当前表的总记录数 -->
-	<select id="queryCount" resultType="int">
+
+    <!-- 分页查询 -->
+    <select id="queryPage" resultMap="DemoGroup" parameterType="map">
+        SELECT * FROM demo_group ORDER BY id_
+        <include refid="global.limit"/>
+    </select>
+
+    <!-- 查询当前表的总记录数 -->
+    <select id="queryCount" resultType="int">
 		SELECT COUNT(*) FROM demo_group
 	</select>
 
-	<select id="organIdListByDemoGroupId" resultType="int">
+    <select id="organIdListByDemoGroupId" resultType="int">
 		SELECT
 			su.organ_id_
 		FROM
@@ -106,10 +107,11 @@ create_time_ = #{createTime},
 			LEFT JOIN sys_user su ON cgsm.user_id_=su.id_
 		WHERE dgcgm.demo_group_id_=#{demoGroupId}
 	</select>
-	<select id="getOrganIdByUserId" resultType="java.lang.Integer">
+    <select id="getOrganIdByUserId" resultType="java.lang.Integer">
 		select organ_id_ from sys_user where id_=#{userId}
 	</select>
-	<select id="createCourseSchedulesByDemoGroup" parameterType="com.ym.mec.biz.dal.entity.DemoGroup" resultMap="com.ym.mec.biz.dal.dao.CourseScheduleDao.CourseSchedule">
+    <select id="createCourseSchedulesByDemoGroup" parameterType="com.ym.mec.biz.dal.entity.DemoGroup"
+            resultMap="com.ym.mec.biz.dal.dao.CourseScheduleDao.CourseSchedule">
 		SELECT
 			#{classGroupId} class_group_id_,
 			'NOT_START' status_,
@@ -123,7 +125,8 @@ create_time_ = #{createTime},
 			demo_group_courses_plan dgcp
 			WHERE dgcp.demo_group_id_=#{demoGroup.id} AND dgcp.courses_start_time_ = #{startTime}
 	</select>
-	<select id="createCourseScheduleByDemoGroupPlan" parameterType="com.ym.mec.biz.dal.entity.DemoGroup" resultMap="com.ym.mec.biz.dal.dao.CourseScheduleDao.CourseSchedule">
+    <select id="createCourseScheduleByDemoGroupPlan" parameterType="com.ym.mec.biz.dal.entity.DemoGroup"
+            resultMap="com.ym.mec.biz.dal.dao.CourseScheduleDao.CourseSchedule">
 		SELECT
 			#{classGroupId} class_group_id_,
 			'NOT_START' status_,
@@ -138,7 +141,7 @@ create_time_ = #{createTime},
 			demo_group_courses_plan dgcp
 			WHERE dgcp.id_=#{coursePlanId}
 	</select>
-	<select id="countDemoGroupStudents" resultType="java.lang.Integer">
+    <select id="countDemoGroupStudents" resultType="java.lang.Integer">
 		SELECT
 			count(cgsm.user_id_)
 		FROM
@@ -147,61 +150,61 @@ create_time_ = #{createTime},
 		WHERE dgcgm.demo_group_id_=#{demoGroupId}
 	</select>
 
-	<sql id="demoGroupQueryCondition">
-		<where>
-			dgcp.status_=0
-			<if test="search!=null">
-				AND su.username_ like concat('%',#{search},'%')
-			</if>
-			<if test="subjectIds!=null and subjectIds!=''">
-				AND FIND_IN_SET(dg.subject_id_,#{subjectIds})
-			</if>
-			<if test="startTime!=null and endTime==null">
-				AND CONCAT(dgcp.course_date_,' ',dgcp.start_time_)&gt;=#{startTime}
-			</if>
-			<if test="startTime!=null and endTime!=null">
-				AND (CONCAT(dgcp.course_date_,' ',dgcp.start_time_) BETWEEN #{startTime} AND #{endTime})
-			</if>
-		</where>
-	</sql>
+    <sql id="demoGroupQueryCondition">
+        <where>
+            dgcp.status_=0
+            <if test="search!=null">
+                AND su.username_ like concat('%',#{search},'%')
+            </if>
+            <if test="subjectIds!=null and subjectIds!=''">
+                AND FIND_IN_SET(dg.subject_id_,#{subjectIds})
+            </if>
+            <if test="startTime!=null and endTime==null">
+                AND CONCAT(dgcp.course_date_,' ',dgcp.start_time_)&gt;=#{startTime}
+            </if>
+            <if test="startTime!=null and endTime!=null">
+                AND (CONCAT(dgcp.course_date_,' ',dgcp.start_time_) BETWEEN #{startTime} AND #{endTime})
+            </if>
+        </where>
+    </sql>
 
-	<select id="findDemoGroupList" resultMap="studentDemoGroupListDto">
-		SELECT
-		dg.id_ demo_group_id_,
-		su.username_,
-		su.avatar_,
-		t.introduction_,
-		s.name_ subject_name_,
-		COUNT(dgcgm.class_group_id_) number_of_classes_,
-		dgcp.id_,
-		dgcp.demo_group_id_,
-		dgcp.create_time_,
-		dgcp.status_,
-		dgcp.course_date_,
-		CONCAT(dgcp.course_date_,' ',dgcp.start_time_) start_time_,
-		CONCAT(dgcp.course_date_,' ',dgcp.end_time_) end_time_
-		FROM
-		demo_group dg
-		LEFT JOIN demo_group_courses_plan dgcp ON dg.id_=dgcp.demo_group_id_
-		LEFT JOIN teacher t ON dg.user_id_=t.id_
-		LEFT JOIN sys_user su ON dg.user_id_=su.id_
-		LEFT JOIN `subject` s ON dg.subject_id_=s.id_
-		LEFT JOIN demo_group_class_group_mapper dgcgm ON dg.id_=dgcgm.demo_group_id_
-		<include refid="demoGroupQueryCondition"/>
-		GROUP BY dgcp.id_,dg.id_
-		ORDER BY dgcp.start_time_
-		<include refid="global.limit"/>
-	</select>
-	<select id="countDemoGroupList" resultType="java.lang.Integer">
-		SELECT
-			count(*)
-		FROM
-			demo_group dg
-			LEFT JOIN demo_group_courses_plan dgcp ON dg.id_=dgcp.demo_group_id_
-			LEFT JOIN sys_user su ON dg.user_id_=su.id_
-		<include refid="demoGroupQueryCondition"/>
-	</select>
-	<select id="findClassGroupIDByDemoGroupId" resultType="java.lang.Integer">
+    <select id="findDemoGroupList" resultMap="studentDemoGroupListDto">
+        SELECT
+        dg.id_ demo_group_id_,
+        su.username_,
+        su.avatar_,
+        t.introduction_,
+        s.name_ subject_name_,
+        COUNT(dgcgm.class_group_id_) number_of_classes_,
+        dgcp.id_,
+        dgcp.demo_group_id_,
+        dgcp.create_time_,
+        dgcp.status_,
+        dgcp.course_date_,
+        CONCAT(dgcp.course_date_,' ',dgcp.start_time_) start_time_,
+        CONCAT(dgcp.course_date_,' ',dgcp.end_time_) end_time_
+        FROM
+        demo_group dg
+        LEFT JOIN demo_group_courses_plan dgcp ON dg.id_=dgcp.demo_group_id_
+        LEFT JOIN teacher t ON dg.user_id_=t.id_
+        LEFT JOIN sys_user su ON dg.user_id_=su.id_
+        LEFT JOIN `subject` s ON dg.subject_id_=s.id_
+        LEFT JOIN demo_group_class_group_mapper dgcgm ON dg.id_=dgcgm.demo_group_id_
+        <include refid="demoGroupQueryCondition"/>
+        GROUP BY dgcp.id_,dg.id_
+        ORDER BY dgcp.start_time_
+        <include refid="global.limit"/>
+    </select>
+    <select id="countDemoGroupList" resultType="java.lang.Integer">
+        SELECT
+        count(*)
+        FROM
+        demo_group dg
+        LEFT JOIN demo_group_courses_plan dgcp ON dg.id_=dgcp.demo_group_id_
+        LEFT JOIN sys_user su ON dg.user_id_=su.id_
+        <include refid="demoGroupQueryCondition"/>
+    </select>
+    <select id="findClassGroupIDByDemoGroupId" resultType="java.lang.Integer">
 		SELECT
 			class_group_id_
 		FROM
@@ -212,26 +215,27 @@ create_time_ = #{createTime},
 		SELECT * FROM demo_group WHERE user_id_=#{teacherId}
 	</select>
 
-	<select id="findTeacherDemoGroups" resultType="com.ym.mec.biz.dal.dto.TeacherManageDemoGroupListDto">
-		SELECT
-			cs.class_date_ classDate,
-			GROUP_CONCAT(DISTINCT CONCAT(cs.start_class_time_,' ',cs.end_class_time_)) startTimes,
-			GROUP_CONCAT(s.name_) subjectNames
-		FROM
-			demo_group dg
-		LEFT JOIN demo_group_class_group_mapper dgcgm ON dg.id_=dgcgm.demo_group_id_
-		LEFT JOIN class_group cg ON dgcgm.class_group_id_=cg.id_
-		LEFT JOIN course_schedule cs ON cg.id_=cs.class_group_id_
-		LEFT JOIN `subject` s ON s.id_ = dg.subject_id_
-		WHERE cs.type_ = 'DEMO' AND dg.user_id_ = #{teacherId}
-		GROUP BY cs.class_date_
-		<include refid="global.limit"/>
-	</select>
-	<select id="countTeacherDemoGroups" resultType="Integer">
+    <select id="findTeacherDemoGroups" resultType="com.ym.mec.biz.dal.dto.TeacherManageDemoGroupListDto">
+        SELECT
+        cs.class_date_ classDate,
+        GROUP_CONCAT(DISTINCT CONCAT(cs.start_class_time_,' ',cs.end_class_time_)) startTimes,
+        GROUP_CONCAT(s.name_) subjectNames
+        FROM
+        demo_group dg
+        LEFT JOIN demo_group_class_group_mapper dgcgm ON dg.id_=dgcgm.demo_group_id_
+        LEFT JOIN class_group cg ON dgcgm.class_group_id_=cg.id_
+        LEFT JOIN course_schedule cs ON cg.id_=cs.class_group_id_
+        LEFT JOIN `subject` s ON s.id_ = dg.subject_id_
+        WHERE cs.type_ = 'DEMO' AND dg.user_id_ = #{teacherId}
+        GROUP BY cs.class_date_
+        <include refid="global.limit"/>
+    </select>
+    <select id="countTeacherDemoGroups" resultType="Integer">
 		SELECT COUNT(DISTINCT cs.class_date_) FROM course_schedule cs WHERE cs.type_ = 'DEMO' AND cs.actual_teacher_id_ = #{teacherId}
 	</select>
 
-	<select id="findDemoGroupStartClassTimesWithWeekByTeacherId" resultType="com.ym.mec.biz.dal.dto.EducationDemoGroupListDto">
+    <select id="findDemoGroupStartClassTimesWithWeekByTeacherId"
+            resultType="com.ym.mec.biz.dal.dto.EducationDemoGroupListDto">
 		SELECT
 			class_date_ classDate,
 			GROUP_CONCAT(start_class_time_) startClassTimes
@@ -241,7 +245,7 @@ create_time_ = #{createTime},
 			YEARWEEK(class_date_) = YEARWEEK( now( ) )
 		GROUP BY class_date_
 	</select>
-	<select id="countTeacherDemoGroupNum" resultType="java.util.Map">
+    <select id="countTeacherDemoGroupNum" resultType="java.util.Map">
 		SELECT dg.user_id_ `key`,COUNT(dg.id_) `value` FROM demo_group dg
         WHERE FIND_IN_SET(dg.user_id_,#{teacherIds}) GROUP BY user_id_
 	</select>

+ 18 - 19
mec-biz/src/main/resources/config/mybatis/TeacherDefaultMusicGroupSalaryMapper.xml

@@ -3,12 +3,11 @@
 <!-- 这个文件是自动生成的。 不要修改此文件。所有改动将在下次重新自动生成时丢失。 -->
 <mapper namespace="com.ym.mec.biz.dal.dao.TeacherDefaultMusicGroupSalaryDao">
 
-	<resultMap type="com.ym.mec.biz.dal.entity.TeacherDefaultMusicGroupSalary"
-		id="TeacherDefaultMusicGroupSalary">
+	<resultMap type="com.ym.mec.biz.dal.entity.TeacherDefaultMusicGroupSalary" id="TeacherDefaultMusicGroupSalary">
 		<result column="id_" property="id" />
-		<result column="user_id_" property="userId" />
-		<result column="course_schedule_type_" property="courseScheduleType" />
-		<result column="settlement_type_" property="settlementType" />
+		<result column="user_id_" property="userId"/>
+		<result column="course_schedule_type_" property="courseScheduleType" typeHandler="com.ym.mec.common.dal.CustomEnumTypeHandler"/>
+		<result column="settlement_type_" property="settlementType" typeHandler="com.ym.mec.common.dal.CustomEnumTypeHandler"/>
 		<result column="duration_min_" property="durationMin" />
 		<result column="duration_max_" property="durationMax" />
 		<result column="main_teacher_salary_" property="mainTeacherSalary" />
@@ -32,11 +31,12 @@
 	<insert id="insert"
 		parameterType="com.ym.mec.biz.dal.entity.TeacherDefaultMusicGroupSalary"
 		useGeneratedKeys="true" keyColumn="id" keyProperty="id">
-		<!-- <selectKey resultClass="int" keyProperty="id" > SELECT SEQ_WSDEFINITION_ID.nextval 
-			AS ID FROM DUAL </selectKey> -->
 		INSERT INTO teacher_default_music_group_salary
-		(id_,user_id_,course_schedule_type_,settlement_type_,duration_min_,duration_max_,main_teacher_salary_,assistant_teacher_salary_,create_time_,update_time_)
-		VALUES(#{id},#{userId},#{courseScheduleType},#{settlementType},#{durationMin},#{durationMax},#{mainTeacherSalary},#{assistantTeacherSalary},now(),now())
+		(user_id_,course_schedule_type_,settlement_type_,duration_min_,duration_max_,main_teacher_salary_,
+		assistant_teacher_salary_,create_time_,update_time_)
+		VALUES(#{userId},#{courseScheduleType, typeHandler=com.ym.mec.common.dal.CustomEnumTypeHandler},
+		#{settlementType, typeHandler=com.ym.mec.common.dal.CustomEnumTypeHandler},#{durationMin},#{durationMax},
+		#{mainTeacherSalary},#{assistantTeacherSalary},now(),now())
 	</insert>
 
 	<!-- 根据主键查询一条记录 -->
@@ -51,10 +51,10 @@
 				update_time_ = #{updateTime},
 			</if>
 			<if test="courseScheduleType != null">
-				course_schedule_type_ = #{courseScheduleType},
+				course_schedule_type_ = #{courseScheduleType, typeHandler=com.ym.mec.common.dal.CustomEnumTypeHandler},
 			</if>
 			<if test="settlementType != null">
-				settlement_type_ = #{settlementType},
+				settlement_type_ = #{settlementType, typeHandler=com.ym.mec.common.dal.CustomEnumTypeHandler},
 			</if>
 			<if test="duration_min_ != null">
 				duration_min_ = #{durationMin},
@@ -74,25 +74,24 @@
 
 	<!-- 根据主键删除一条记录 -->
 	<delete id="delete">
-		DELETE FROM
-		teacher_default_music_group_salary WHERE id_ = #{id}
+		DELETE FROM teacher_default_music_group_salary WHERE id_ = #{id}
 	</delete>
 
 	<!-- 分页查询 -->
-	<select id="queryPage" resultMap="TeacherDefaultMusicGroupSalary"
-		parameterType="map">
+	<select id="queryPage" resultMap="TeacherDefaultMusicGroupSalary" parameterType="map">
 		SELECT * FROM teacher_default_music_group_salary ORDER BY id_
-		<include refid="global.limit" />
+		<include refid="global.limit"/>
 	</select>
 
 	<!-- 查询当前表的总记录数 -->
 	<select id="queryCount" resultType="int">
-		SELECT COUNT(*) FROM
-		teacher_default_music_group_salary
+		SELECT COUNT(*) FROM teacher_default_music_group_salary
 	</select>
 
 	<!-- 根据user_id 获取老师的默认薪酬 -->
 	<select id="getTeacherSalaryByUserIdAndType" resultMap="TeacherDefaultMusicGroupSalary">
-		SELECT * FROM teacher_default_music_group_salary WHERE user_id_=#{userId} AND course_schedule_type_ = #{classGroupType} AND settlement_type_ = #{settlementType}
+		SELECT * FROM teacher_default_music_group_salary
+		WHERE user_id_=#{userId} AND course_schedule_type_ = #{classGroupType}
+		AND settlement_type_ = #{settlementType, typeHandler=com.ym.mec.common.dal.CustomEnumTypeHandler}
 	</select>
 </mapper>

+ 76 - 67
mec-biz/src/main/resources/config/mybatis/TeacherDefaultVipGroupSalaryMapper.xml

@@ -5,79 +5,88 @@
 不要修改此文件。所有改动将在下次重新自动生成时丢失。
 -->
 <mapper namespace="com.ym.mec.biz.dal.dao.TeacherDefaultVipGroupSalaryDao">
-	
-	<resultMap type="com.ym.mec.biz.dal.entity.TeacherDefaultVipGroupSalary" id="TeacherDefaultVipGroupSalary">
-		<result column="id_" property="id" />
-		<result column="user_id_" property="userId" />
-		<result column="vip_group_category_id_" property="vipGroupCategoryId" />
-		<result column="online_classes_salary_" property="onlineClassesSalary" />
-		<result column="offline_classes_salary_" property="offlineClassesSalary" />
-		<result column="create_time_" property="createTime" />
-		<result column="update_time_" property="updateTime" />
-	</resultMap>
-	
-	<!-- 根据主键查询一条记录 -->
-	<select id="get" resultMap="TeacherDefaultVipGroupSalary" >
+
+    <resultMap type="com.ym.mec.biz.dal.entity.TeacherDefaultVipGroupSalary" id="TeacherDefaultVipGroupSalary">
+        <result column="id_" property="id"/>
+        <result column="user_id_" property="userId"/>
+        <result column="vip_group_category_id_" property="vipGroupCategoryId"/>
+        <result column="vip_group_category_name_" property="vipGroupCategoryName"/>
+        <result column="online_classes_salary_" property="onlineClassesSalary"/>
+        <result column="offline_classes_salary_" property="offlineClassesSalary"/>
+        <result column="create_time_" property="createTime"/>
+        <result column="update_time_" property="updateTime"/>
+    </resultMap>
+
+    <!-- 根据主键查询一条记录 -->
+    <select id="get" resultMap="TeacherDefaultVipGroupSalary">
 		SELECT * FROM teacher_default_vip_group_salary WHERE id_ = #{id} 
 	</select>
-	
-	<!-- 全查询 -->
-	<select id="findAll" resultMap="TeacherDefaultVipGroupSalary">
+
+    <!-- 全查询 -->
+    <select id="findAll" resultMap="TeacherDefaultVipGroupSalary">
 		SELECT * FROM teacher_default_vip_group_salary ORDER BY id_
 	</select>
-	
-	<!-- 向数据库增加一条记录 -->
-	<insert id="insert" parameterType="com.ym.mec.biz.dal.entity.TeacherDefaultVipGroupSalary" useGeneratedKeys="true" keyColumn="id" keyProperty="id">
-		<!--
-		<selectKey resultClass="int" keyProperty="id" > 
-		SELECT SEQ_WSDEFINITION_ID.nextval AS ID FROM DUAL 
-		</selectKey>
-		-->
-		INSERT INTO teacher_default_vip_group_salary (id_,user_id_,vip_group_category_id_,online_classes_salary_,offline_classes_salary_,create_time_,update_time_) VALUES(#{id},#{userId},#{vipGroupCategoryId},#{onlineClassesSalary},#{offlineClassesSalary},#{createTime},#{updateTime})
-	</insert>
-	
-	<!-- 根据主键查询一条记录 -->
-	<update id="update" parameterType="com.ym.mec.biz.dal.entity.TeacherDefaultVipGroupSalary">
-		UPDATE teacher_default_vip_group_salary <set>
-<if test="userId != null">
-user_id_ = #{userId},
-</if>
-<if test="id != null">
-id_ = #{id},
-</if>
-<if test="onlineClassesSalary != null">
-online_classes_salary_ = #{onlineClassesSalary},
-</if>
-<if test="updateTime != null">
-update_time_ = #{updateTime},
-</if>
-<if test="offlineClassesSalary != null">
-offline_classes_salary_ = #{offlineClassesSalary},
-</if>
-<if test="vipGroupCategoryId != null">
-vip_group_category_id_ = #{vipGroupCategoryId},
-</if>
-<if test="createTime != null">
-create_time_ = #{createTime},
-</if>
-</set> WHERE id_ = #{id} 
-	</update>
-	
-	<!-- 根据主键删除一条记录 -->
-	<delete id="delete" >
+
+    <!-- 向数据库增加一条记录 -->
+    <insert id="insert" parameterType="com.ym.mec.biz.dal.entity.TeacherDefaultVipGroupSalary" useGeneratedKeys="true"
+            keyColumn="id" keyProperty="id">
+        INSERT INTO teacher_default_vip_group_salary
+        (user_id_,vip_group_category_id_,online_classes_salary_,offline_classes_salary_,create_time_,update_time_)
+        VALUES(#{userId},#{vipGroupCategoryId},#{onlineClassesSalary},#{offlineClassesSalary},now(),now())
+    </insert>
+
+    <!-- 根据主键查询一条记录 -->
+    <update id="update" parameterType="com.ym.mec.biz.dal.entity.TeacherDefaultVipGroupSalary">
+        UPDATE teacher_default_vip_group_salary
+        <set>
+            <if test="userId != null">
+                user_id_ = #{userId},
+            </if>
+            <if test="onlineClassesSalary != null">
+                online_classes_salary_ = #{onlineClassesSalary},
+            </if>
+            <if test="updateTime != null">
+                update_time_ = #{updateTime},
+            </if>
+            <if test="offlineClassesSalary != null">
+                offline_classes_salary_ = #{offlineClassesSalary},
+            </if>
+            <if test="vipGroupCategoryId != null">
+                vip_group_category_id_ = #{vipGroupCategoryId},
+            </if>
+        </set>
+        WHERE id_ = #{id}
+    </update>
+
+    <!-- 根据主键删除一条记录 -->
+    <delete id="delete">
 		DELETE FROM teacher_default_vip_group_salary WHERE id_ = #{id} 
 	</delete>
-	
-	<!-- 分页查询 -->
-	<select id="queryPage" resultMap="TeacherDefaultVipGroupSalary" parameterType="map">
-		SELECT * FROM teacher_default_vip_group_salary ORDER BY id_ <include refid="global.limit"/>
+
+    <!-- 分页查询 -->
+    <select id="queryPage" resultMap="TeacherDefaultVipGroupSalary" parameterType="map">
+        SELECT tdvgs.*,vgc.name_ vip_group_category_name_ FROM teacher_default_vip_group_salary tdvgs
+        LEFT JOIN  vip_group_category vgc ON tdvgs.vip_group_category_id_ = vgc.id_
+        <where>
+            <if test="search != null and search != ''">
+                tdvgs.user_id_ = #{search}
+            </if>
+        </where>
+        ORDER BY tdvgs.id_
+        <include refid="global.limit"/>
+    </select>
+
+    <!-- 查询当前表的总记录数 -->
+    <select id="queryCount" resultType="int">
+		SELECT COUNT(tdvgs.id_) FROM teacher_default_vip_group_salary tdvgs
+        <where>
+            <if test="search != null and search != ''">
+                tdvgs.user_id_ = #{search}
+            </if>
+        </where>
 	</select>
-	
-	<!-- 查询当前表的总记录数 -->
-	<select id="queryCount" resultType="int">
-		SELECT COUNT(*) FROM teacher_default_vip_group_salary
-	</select>
-	<select id="findByTeacherAndCategory" resultMap="TeacherDefaultVipGroupSalary">
-		select * from teacher_default_vip_group_salary where user_id_=#{userId} and vip_group_category_id_=#{categoryId}
+    <select id="findByTeacherAndCategory" resultMap="TeacherDefaultVipGroupSalary">
+		select * from teacher_default_vip_group_salary
+		where user_id_=#{userId} and vip_group_category_id_=#{categoryId}
 	</select>
 </mapper>

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

@@ -260,4 +260,56 @@
             AND t.organ_id_ = #{organId}
         </if>
     </select>
+    <select id="countCloses" resultType="java.lang.Integer">
+        SELECT COUNT(cs.id_)
+        FROM course_schedule cs
+        LEFT JOIN course_schedule_teacher_salary csts ON cs.id_ = csts.course_schedule_id_
+        LEFT JOIN teacher_attendance ta ON cs.id_ = ta.course_schedule_id_
+        LEFT JOIN class_group cg ON cs.class_group_id_ = cg.id_
+        <include refid="queryCloses"/>
+    </select>
+    <resultMap id="TeacherCloseDto" type="com.ym.mec.biz.dal.dto.TeacherCloseDto">
+        <result property="classDate" column="class_date_"/>
+        <result property="classTime" column="start_class_time_"/>
+        <result property="className" column="class_name_"/>
+        <result property="courseScheduleType" column="class_type_"/>
+        <result property="teacherRole" column="teacher_role_"/>
+        <result property="currentClassTimes" column="current_class_times_"/>
+        <result property="totalClassTimes" column="total_class_times_"/>
+        <result property="signInStatus" column="sign_in_status_"/>
+        <result property="signOutStatus" column="sign_out_status_"/>
+        <result property="actualSalary" column="actual_salary_"/>
+        <result property="subsidy" column="subsidy_"/>
+        <result property="settlementTime" column="settlement_time_"/>
+    </resultMap>
+    <select id="queryCloses" resultMap="TeacherCloseDto">
+        SELECT cs.class_date_,cs.start_class_time_,cg.name_ class_name_,cs.type_ class_type_,
+        csts.teacher_role_,cg.current_class_times_,cg.total_class_times_,
+        ta.sign_in_status_,ta.sign_out_status_,csts.actual_salary_,csts.settlement_time_,csts.subsidy_
+        FROM course_schedule cs
+        LEFT JOIN course_schedule_teacher_salary csts ON cs.id_ = csts.course_schedule_id_
+        LEFT JOIN teacher_attendance ta ON cs.id_ = ta.course_schedule_id_
+        LEFT JOIN class_group cg ON cs.class_group_id_ = cg.id_
+        <include refid="queryCloses"/>
+        <include refid="global.limit"/>
+    </select>
+    <sql id="queryCloses">
+        <where>
+            <if test="teacherId != null">
+                AND cs.actual_teacher_id_ = #{teacherId}
+            </if>
+            <if test="courseStartDate != null and courseStartDate != ''">
+                AND cs.class_date_ &gt;= #{courseStartDate}
+            </if>
+            <if test="courseEndDate != null and courseEndDate != ''">
+                AND cs.class_date_ &lt;= #{courseEndDate}
+            </if>
+            <if test="courseScheduleType != null and courseScheduleType != ''">
+                AND cs.type_ = #{courseScheduleType}
+            </if>
+            <if test="teacherRole != null and teacherRole != ''">
+                AND csts.teacher_role_ = #{teacherRole}
+            </if>
+        </where>
+    </sql>
 </mapper>

+ 8 - 1
mec-common/common-core/src/main/java/com/ym/mec/common/security/PermissionCheckService.java

@@ -5,7 +5,6 @@ import java.util.Collection;
 import org.apache.commons.lang3.StringUtils;
 import org.springframework.security.core.Authentication;
 import org.springframework.security.core.GrantedAuthority;
-import org.springframework.security.core.context.SecurityContextHolder;
 import org.springframework.stereotype.Component;
 
 @Component("pcs")
@@ -17,6 +16,14 @@ public class PermissionCheckService {
 			return false;
 		}
 
+		String username = authentication.getName();
+
+		if (StringUtils.startsWith(username, SecurityConstants.USERNAME_PRINCIPAL_PREFIX)) {
+			if ("admin".equals(StringUtils.removeStart(username, SecurityConstants.USERNAME_PRINCIPAL_PREFIX))) {
+				return true;
+			}
+		}
+
 		Collection<? extends GrantedAuthority> authorities = authentication.getAuthorities();
 
 		for (String perm : permissions) {

+ 1 - 1
mec-auth/mec-auth-server/src/main/java/com/ym/mec/auth/config/constant/SecurityConstants.java → mec-common/common-core/src/main/java/com/ym/mec/common/security/SecurityConstants.java

@@ -1,4 +1,4 @@
-package com.ym.mec.auth.config.constant;
+package com.ym.mec.common.security;
 
 public interface SecurityConstants {
 

+ 16 - 14
mec-education/src/main/java/com/ym/mec/education/config/ResourceServerConfig.java

@@ -2,33 +2,35 @@ package com.ym.mec.education.config;
 
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.context.annotation.Configuration;
+import org.springframework.security.config.annotation.method.configuration.EnableGlobalMethodSecurity;
 import org.springframework.security.config.annotation.web.builders.HttpSecurity;
 import org.springframework.security.oauth2.config.annotation.web.configuration.EnableResourceServer;
 import org.springframework.security.oauth2.config.annotation.web.configuration.ResourceServerConfigurerAdapter;
 import org.springframework.security.oauth2.config.annotation.web.configurers.ResourceServerSecurityConfigurer;
+
 import com.ym.mec.common.security.BaseAccessDeniedHandler;
 import com.ym.mec.common.security.BaseAuthenticationEntryPoint;
 
 @Configuration
 @EnableResourceServer
+@EnableGlobalMethodSecurity(prePostEnabled = true)
 public class ResourceServerConfig extends ResourceServerConfigurerAdapter {
 
-    @Autowired
-    private BaseAccessDeniedHandler baseAccessDeniedHandler;
+	@Autowired
+	private BaseAccessDeniedHandler baseAccessDeniedHandler;
 
-    @Autowired
-    private BaseAuthenticationEntryPoint baseAuthenticationEntryPoint;
+	@Autowired
+	private BaseAuthenticationEntryPoint baseAuthenticationEntryPoint;
 
-    @Override
-    public void configure(HttpSecurity http) throws Exception {
-        http.csrf().disable().authorizeRequests().antMatchers("/v2/api-docs").permitAll()
-                .antMatchers("/api/**").permitAll()
-                .anyRequest().authenticated().and().httpBasic();
-    }
+	@Override
+	public void configure(HttpSecurity http) throws Exception {
+		http.csrf().disable().exceptionHandling().accessDeniedHandler(baseAccessDeniedHandler).authenticationEntryPoint(baseAuthenticationEntryPoint).and()
+				.authorizeRequests().antMatchers("/v2/api-docs").permitAll().antMatchers("/api/**").permitAll().anyRequest().authenticated().and().httpBasic();
+	}
 
-    @Override
-    public void configure(ResourceServerSecurityConfigurer resources) throws Exception {
-        resources.authenticationEntryPoint(baseAuthenticationEntryPoint).accessDeniedHandler(baseAccessDeniedHandler);
-    }
+	@Override
+	public void configure(ResourceServerSecurityConfigurer resources) throws Exception {
+		resources.authenticationEntryPoint(baseAuthenticationEntryPoint).accessDeniedHandler(baseAccessDeniedHandler);
+	}
 
 }

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

@@ -2,6 +2,7 @@ package com.ym.mec.student.config;
 
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.context.annotation.Configuration;
+import org.springframework.security.config.annotation.method.configuration.EnableGlobalMethodSecurity;
 import org.springframework.security.config.annotation.web.builders.HttpSecurity;
 import org.springframework.security.oauth2.config.annotation.web.configuration.EnableResourceServer;
 import org.springframework.security.oauth2.config.annotation.web.configuration.ResourceServerConfigurerAdapter;
@@ -12,6 +13,7 @@ import com.ym.mec.common.security.BaseAuthenticationEntryPoint;
 
 @Configuration
 @EnableResourceServer
+@EnableGlobalMethodSecurity(prePostEnabled = true)
 public class ResourceServerConfig extends ResourceServerConfigurerAdapter {
 
 	@Autowired
@@ -22,7 +24,8 @@ public class ResourceServerConfig extends ResourceServerConfigurerAdapter {
 
 	@Override
 	public void configure(HttpSecurity http) throws Exception {
-		http.csrf().disable().authorizeRequests().antMatchers("/v2/api-docs", "/register/getMusicGroupRegInfo", "/register/add","musicGroup/getSubjectGoodsAndInfo","/musicGroup/test","/studentOrder/notify").permitAll().anyRequest().authenticated().and().httpBasic();
+		http.csrf().disable().exceptionHandling().accessDeniedHandler(baseAccessDeniedHandler).authenticationEntryPoint(baseAuthenticationEntryPoint).and()
+				.authorizeRequests().antMatchers("/v2/api-docs").permitAll().anyRequest().authenticated().and().httpBasic();
 	}
 
 	@Override

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

@@ -3,19 +3,25 @@ package com.ym.mec.student.config;
 import java.util.ArrayList;
 import java.util.List;
 
+import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.boot.autoconfigure.http.HttpMessageConverters;
 import org.springframework.context.annotation.Bean;
 import org.springframework.context.annotation.Configuration;
 import org.springframework.format.FormatterRegistry;
 import org.springframework.http.MediaType;
+import org.springframework.web.servlet.config.annotation.InterceptorRegistry;
 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;
 
 @Configuration
 public class WebMvcConfig implements WebMvcConfigurer {
 
+	@Autowired
+	private RequestInterceptor requestInterceptor;
+
 	/**
 	 * 枚举类的转换器 addConverterFactory
 	 */
@@ -23,14 +29,27 @@ public class WebMvcConfig implements WebMvcConfigurer {
 	public void addFormatters(FormatterRegistry registry) {
 		registry.addConverterFactory(new EnumConverterFactory());
 	}
-	
+
+	@Override
+	public void addInterceptors(InterceptorRegistry registry) {
+		// addPathPatterns 用于添加拦截规则, 这里假设拦截 /url 后面的全部链接
+		List<String> includePathPatterns = new ArrayList<String>();
+		includePathPatterns.add("/**");
+
+		// excludePathPatterns 用户排除拦截
+		List<String> excludePathPatterns = new ArrayList<String>();
+		excludePathPatterns.add("/login");
+
+		registry.addInterceptor(requestInterceptor).addPathPatterns(includePathPatterns).excludePathPatterns(excludePathPatterns);
+	}
+
 	@Bean
-    public HttpMessageConverters fastJsonHttpMessageConverters(){
+	public HttpMessageConverters fastJsonHttpMessageConverters() {
 		LocalFastJsonHttpMessageConverter converter = new LocalFastJsonHttpMessageConverter();
-        List<MediaType> fastMediaTypes =  new ArrayList<MediaType>();
-        fastMediaTypes.add(MediaType.APPLICATION_JSON_UTF8);
-        converter.setSupportedMediaTypes(fastMediaTypes);
-        return new HttpMessageConverters(converter);
-    }
+		List<MediaType> fastMediaTypes = new ArrayList<MediaType>();
+		fastMediaTypes.add(MediaType.APPLICATION_JSON_UTF8);
+		converter.setSupportedMediaTypes(fastMediaTypes);
+		return new HttpMessageConverters(converter);
+	}
 
 }

+ 36 - 0
mec-student/src/main/java/com/ym/mec/student/interceptor/RequestInterceptor.java

@@ -0,0 +1,36 @@
+package com.ym.mec.student.interceptor;
+
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
+
+import org.slf4j.MDC;
+import org.springframework.stereotype.Component;
+import org.springframework.web.servlet.handler.HandlerInterceptorAdapter;
+
+import com.ym.mec.util.web.WebUtil;
+
+@Component
+public class RequestInterceptor extends HandlerInterceptorAdapter {
+
+	private static final String IP = "ip";
+
+	private static final String USERNAME = "username";
+
+	@Override
+	public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception {
+
+		String username = "";
+		String userId = "";
+		// 存储userId以及IP
+		MDC.put(USERNAME, username + "@" + userId);
+		MDC.put(IP, WebUtil.getRemoteIp(request));
+
+		return true;
+	}
+
+	@Override
+	public void afterCompletion(HttpServletRequest request, HttpServletResponse response, Object handler, Exception ex) throws Exception {
+		MDC.remove(USERNAME);
+		MDC.remove(IP);
+	}
+}

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

@@ -2,6 +2,7 @@ package com.ym.mec.task.config;
 
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.context.annotation.Configuration;
+import org.springframework.security.config.annotation.method.configuration.EnableGlobalMethodSecurity;
 import org.springframework.security.config.annotation.web.builders.HttpSecurity;
 import org.springframework.security.oauth2.config.annotation.web.configuration.EnableResourceServer;
 import org.springframework.security.oauth2.config.annotation.web.configuration.ResourceServerConfigurerAdapter;
@@ -12,6 +13,7 @@ import com.ym.mec.common.security.BaseAuthenticationEntryPoint;
 
 @Configuration
 @EnableResourceServer
+@EnableGlobalMethodSecurity(prePostEnabled = true)
 public class ResourceServerConfig extends ResourceServerConfigurerAdapter {
 
 	@Autowired
@@ -22,7 +24,8 @@ public class ResourceServerConfig extends ResourceServerConfigurerAdapter {
 
 	@Override
 	public void configure(HttpSecurity http) throws Exception {
-		http.authorizeRequests().antMatchers("/v2/api-docs").permitAll().anyRequest().authenticated().and().csrf().disable();
+		http.authorizeRequests().antMatchers("/v2/api-docs").permitAll().anyRequest().authenticated().and().csrf().disable().exceptionHandling()
+				.accessDeniedHandler(baseAccessDeniedHandler).authenticationEntryPoint(baseAuthenticationEntryPoint).and();
 	}
 
 	@Override

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

@@ -2,6 +2,7 @@ package com.ym.mec.teacher.config;
 
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.context.annotation.Configuration;
+import org.springframework.security.config.annotation.method.configuration.EnableGlobalMethodSecurity;
 import org.springframework.security.config.annotation.web.builders.HttpSecurity;
 import org.springframework.security.oauth2.config.annotation.web.configuration.EnableResourceServer;
 import org.springframework.security.oauth2.config.annotation.web.configuration.ResourceServerConfigurerAdapter;
@@ -12,6 +13,7 @@ import com.ym.mec.common.security.BaseAuthenticationEntryPoint;
 
 @Configuration
 @EnableResourceServer
+@EnableGlobalMethodSecurity(prePostEnabled = true)
 public class ResourceServerConfig extends ResourceServerConfigurerAdapter {
 
 	@Autowired
@@ -22,7 +24,8 @@ public class ResourceServerConfig extends ResourceServerConfigurerAdapter {
 
 	@Override
 	public void configure(HttpSecurity http) throws Exception {
-		http.csrf().disable().authorizeRequests().antMatchers("/v2/api-docs").permitAll().anyRequest().authenticated().and().httpBasic();
+		http.csrf().disable().exceptionHandling().accessDeniedHandler(baseAccessDeniedHandler).authenticationEntryPoint(baseAuthenticationEntryPoint).and()
+				.authorizeRequests().antMatchers("/v2/api-docs").permitAll().anyRequest().authenticated().and().httpBasic();
 	}
 
 	@Override

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

@@ -1,6 +1,7 @@
 package com.ym.mec.teacher.controller;
 
 import com.ym.mec.biz.dal.dto.DemoGroupApplyDto;
+import com.ym.mec.biz.dal.entity.DemoGroup;
 import com.ym.mec.biz.dal.page.TeacherManageDemoGroupQueryInfo;
 import com.ym.mec.biz.service.DemoGroupService;
 import com.ym.mec.common.controller.BaseController;
@@ -34,9 +35,24 @@ public class DemoGroupController extends BaseController {
         return succeed(demoGroupService.getDemoGroupByTeacherId());
     }
 
+    @ApiOperation(value = "获取指定老师试听课")
+    @GetMapping("/findByTeacherId")
+    public Object findByTeacherId(Integer teacherId){
+        if(teacherId == null){
+            return failed("参数校验失败");
+        }
+        return succeed(demoGroupService.findByTeacherId(teacherId));
+    }
+
+    @ApiOperation(value = "修改试听课")
+    @PostMapping("/update")
+    public Object findByTeacherId(DemoGroup demoGroup){
+        return succeed(demoGroupService.update(demoGroup));
+    }
+
     @ApiOperation(value = "获取教师试听课安排列表")
     @GetMapping("/findTeacherDemoGroups")
-    public Object findTeacherDemoGroups(TeacherManageDemoGroupQueryInfo queryInfo) throws Exception {
+    public Object findTeacherDemoGroups(TeacherManageDemoGroupQueryInfo queryInfo){
         return succeed(demoGroupService.findTeacherDemoGroups(queryInfo));
     }
 

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

@@ -55,5 +55,4 @@ public class TeacherAttendanceController extends BaseController {
         studentAttendanceService.addStudentAttendances(studentAttendances);
         return succeed();
     }
-
 }

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

@@ -3,6 +3,8 @@ package com.ym.mec.teacher.controller;
 import com.ym.mec.auth.api.client.SysUserFeignService;
 import com.ym.mec.auth.api.entity.SysUser;
 import com.ym.mec.biz.dal.entity.Teacher;
+import com.ym.mec.biz.dal.entity.TeacherDefaultMusicGroupSalary;
+import com.ym.mec.biz.dal.page.TeacherCloseQueryInfo;
 import com.ym.mec.biz.dal.page.TeacherQueryInfo;
 import com.ym.mec.biz.dal.page.VipClassQueryInfo;
 import com.ym.mec.biz.service.ClassGroupService;
@@ -106,4 +108,9 @@ public class TeacherController extends BaseController {
         return succeed(teacherService.queryGroupStudents(sysUser.getId(),search));
     }
 
+    @ApiOperation(value = "获取教师上课结算列表")
+    @GetMapping("/queryCloses")
+    public Object queryCloses(TeacherCloseQueryInfo queryInfo){
+        return succeed(teacherService.queryCloses(queryInfo));
+    }
 }

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

@@ -2,6 +2,7 @@ package com.ym.mec.web.config;
 
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.context.annotation.Configuration;
+import org.springframework.security.config.annotation.method.configuration.EnableGlobalMethodSecurity;
 import org.springframework.security.config.annotation.web.builders.HttpSecurity;
 import org.springframework.security.oauth2.config.annotation.web.configuration.EnableResourceServer;
 import org.springframework.security.oauth2.config.annotation.web.configuration.ResourceServerConfigurerAdapter;
@@ -12,6 +13,7 @@ import com.ym.mec.common.security.BaseAuthenticationEntryPoint;
 
 @Configuration
 @EnableResourceServer
+@EnableGlobalMethodSecurity(prePostEnabled = true)
 public class ResourceServerConfig extends ResourceServerConfigurerAdapter {
 
 	@Autowired
@@ -22,7 +24,7 @@ public class ResourceServerConfig extends ResourceServerConfigurerAdapter {
 
 	@Override
 	public void configure(HttpSecurity http) throws Exception {
-		http.csrf().disable().authorizeRequests().antMatchers("/v2/api-docs","/classGroup/findMusicGroupClassTeacherSalary","/classGroup/findMusicGroupClassTeacher","/teacher/findTeachers").permitAll().anyRequest().authenticated().and().httpBasic();
+		http.csrf().disable().exceptionHandling().accessDeniedHandler(baseAccessDeniedHandler).authenticationEntryPoint(baseAuthenticationEntryPoint).and().authorizeRequests().antMatchers("/v2/api-docs").permitAll().anyRequest().authenticated().and().httpBasic();
 	}
 
 	@Override

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

@@ -181,11 +181,11 @@ public class ClassGroupController extends BaseController {
     @PreAuthorize("@pcs.hasPermissions('classGroup/addMusicGroupTeam')")
     @ApiImplicitParams({@ApiImplicitParam(name = "musicGroupId", value = "乐团编号", required = true, dataType = "String"),
             @ApiImplicitParam(name = "teacherId", value = "老师编号", required = true, dataType = "Integer")})
-    public Object addMusicGroupTeam(Integer teacherId,String musicGroupId) throws Exception {
-        if(teacherId == null || StringUtils.isEmpty(musicGroupId)){
+    public Object addMusicGroupTeam(Integer teacherId,String musicGroupId,Integer improventClassesNum) throws Exception {
+        if(teacherId == null || StringUtils.isEmpty(musicGroupId) || improventClassesNum == null){
             return failed("参数校验错误");
         }
-        classGroupService.addMusicGroupTeam(teacherId,musicGroupId);
+        classGroupService.addMusicGroupTeam(teacherId,musicGroupId,improventClassesNum);
         return succeed();
     }
 

+ 17 - 2
mec-web/src/main/java/com/ym/mec/web/controller/TeacherDefaultVipGroupSalaryController.java

@@ -1,13 +1,15 @@
 package com.ym.mec.web.controller;
 
+import com.ym.mec.biz.dal.entity.TeacherDefaultVipGroupSalary;
 import com.ym.mec.biz.service.TeacherDefaultVipGroupSalaryService;
 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.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;
 
@@ -20,6 +22,7 @@ import org.springframework.web.bind.annotation.RestController;
 @RestController
 public class TeacherDefaultVipGroupSalaryController extends BaseController {
 
+    @Autowired
     private TeacherDefaultVipGroupSalaryService teacherDefaultVipGroupSalaryService;
 
     @ApiOperation(value = "根据老师编号及课程类型编号获取默认课酬")
@@ -29,4 +32,16 @@ public class TeacherDefaultVipGroupSalaryController extends BaseController {
         return succeed(teacherDefaultVipGroupSalaryService.findByTeacherAndCategory(userId,categoryId));
     }
 
+    @ApiOperation(value = "获取教师的vip课酬列表")
+    @GetMapping("/queryPageByTeacherId")
+    public Object queryPageByTeacherId(QueryInfo queryInfo){
+        return succeed(teacherDefaultVipGroupSalaryService.queryPage(queryInfo));
+    }
+
+    @ApiOperation(value = "修改教师vip课酬")
+    @PostMapping("/set")
+    public Object setVipGroupSalary(TeacherDefaultVipGroupSalary teacherDefaultVipGroupSalary){
+        return succeed(teacherDefaultVipGroupSalaryService.update(teacherDefaultVipGroupSalary));
+    }
+
 }

+ 4 - 1
mec-workflow/src/main/java/com/ym/mec/workfow/config/ResourceServerConfig.java

@@ -2,6 +2,7 @@ package com.ym.mec.workfow.config;
 
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.context.annotation.Configuration;
+import org.springframework.security.config.annotation.method.configuration.EnableGlobalMethodSecurity;
 import org.springframework.security.config.annotation.web.builders.HttpSecurity;
 import org.springframework.security.oauth2.config.annotation.web.configuration.EnableResourceServer;
 import org.springframework.security.oauth2.config.annotation.web.configuration.ResourceServerConfigurerAdapter;
@@ -12,6 +13,7 @@ import com.ym.mec.common.security.BaseAuthenticationEntryPoint;
 
 @Configuration
 @EnableResourceServer
+@EnableGlobalMethodSecurity(prePostEnabled = true)
 public class ResourceServerConfig extends ResourceServerConfigurerAdapter {
 
 	@Autowired
@@ -25,7 +27,8 @@ public class ResourceServerConfig extends ResourceServerConfigurerAdapter {
 		http.authorizeRequests().antMatchers("/v2/api-docs", "/news/list", "/news/query/*").permitAll()// 任何人不登录都可以获取的资源
 				// .antMatchers("/ipController/**").hasIpAddress("127.0.0.1") //特定ip可以不登录获取资源
 				// .antMatchers("/ipControll/**").access("isAuthenticated() and hasIpAddress('127.0.0.1')")// 特定ip必须登录才能获取
-				.anyRequest().authenticated().and().csrf().disable();
+				.anyRequest().authenticated().and().csrf().disable()
+				.exceptionHandling().accessDeniedHandler(baseAccessDeniedHandler).authenticationEntryPoint(baseAuthenticationEntryPoint).and();
 	}
 
 	@Override