瀏覽代碼

老师、学生管理

weifanli 3 年之前
父節點
當前提交
def91895c3
共有 30 個文件被更改,包括 830 次插入594 次删除
  1. 1 1
      cooleshow-auth/auth-api/src/main/java/com/yonge/cooleshow/auth/api/client/SysUserFeignService.java
  2. 1 1
      cooleshow-auth/auth-api/src/main/java/com/yonge/cooleshow/auth/api/client/fallback/SysUserFeignServiceFallback.java
  3. 2 6
      cooleshow-auth/auth-server/src/main/resources/config/mybatis/SysUserMapper.xml
  4. 30 14
      cooleshow-user/user-admin/src/main/java/com/yonge/cooleshow/admin/controller/EmployeeController.java
  5. 10 8
      cooleshow-user/user-admin/src/main/java/com/yonge/cooleshow/admin/controller/StudentController.java
  6. 9 10
      cooleshow-user/user-admin/src/main/java/com/yonge/cooleshow/admin/controller/TeacherAuthEntryRecordController.java
  7. 10 10
      cooleshow-user/user-admin/src/main/java/com/yonge/cooleshow/admin/controller/TeacherAuthMusicianRecordController.java
  8. 6 4
      cooleshow-user/user-admin/src/main/java/com/yonge/cooleshow/admin/controller/TeacherController.java
  9. 55 24
      cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/dao/EmployeeDao.java
  10. 8 7
      cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/dao/StudentDao.java
  11. 8 9
      cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/dao/TeacherAuthMusicianRecordDao.java
  12. 8 11
      cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/dao/TeacherDao.java
  13. 80 0
      cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/dto/search/EmployeeSearch.java
  14. 80 0
      cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/dto/search/StudentSearch.java
  15. 63 212
      cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/entity/Employee.java
  16. 32 2
      cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/service/EmployeeService.java
  17. 8 7
      cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/service/StudentService.java
  18. 17 15
      cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/service/TeacherAuthEntryRecordService.java
  19. 7 7
      cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/service/TeacherAuthMusicianRecordService.java
  20. 13 17
      cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/service/TeacherService.java
  21. 46 13
      cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/service/impl/EmployeeServiceImpl.java
  22. 5 9
      cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/service/impl/StudentServiceImpl.java
  23. 23 26
      cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/service/impl/TeacherAuthEntryRecordServiceImpl.java
  24. 35 38
      cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/service/impl/TeacherServiceImpl.java
  25. 10 0
      cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/vo/StudentVo.java
  26. 194 94
      cooleshow-user/user-biz/src/main/resources/config/mybatis/EmployeeMapper.xml
  27. 55 34
      cooleshow-user/user-biz/src/main/resources/config/mybatis/StudentMapper.xml
  28. 13 13
      cooleshow-user/user-biz/src/main/resources/config/mybatis/TeacherAuthMusicianRecordMapper.xml
  29. 1 1
      cooleshow-user/user-biz/src/main/resources/config/mybatis/TeacherMapper.xml
  30. 0 1
      cooleshow-user/user-student/src/main/java/com/yonge/cooleshow/student/controller/StudentController.java

+ 1 - 1
cooleshow-auth/auth-api/src/main/java/com/yonge/cooleshow/auth/api/client/SysUserFeignService.java

@@ -26,7 +26,7 @@ public interface SysUserFeignService {
 	public SysUser queryUserByMobile(@RequestParam("mobile") String mobile);
 
 	@PostMapping(value = "user/add", consumes = MediaType.APPLICATION_JSON_VALUE)
-	public HttpResponseResult<Integer> add(SysUser user);
+	public HttpResponseResult<Long> add(SysUser user);
 
 	@PostMapping(value = "user/update", consumes = MediaType.APPLICATION_JSON_VALUE)
 	public HttpResponseResult<Integer> update(SysUser user);

+ 1 - 1
cooleshow-auth/auth-api/src/main/java/com/yonge/cooleshow/auth/api/client/fallback/SysUserFeignServiceFallback.java

@@ -28,7 +28,7 @@ public class SysUserFeignServiceFallback implements SysUserFeignService {
 		return null;
 	}
 
-	public HttpResponseResult<Integer> add(SysUser user){
+	public HttpResponseResult<Long> add(SysUser user){
 		return null;
 	}
 

+ 2 - 6
cooleshow-auth/auth-server/src/main/resources/config/mybatis/SysUserMapper.xml

@@ -60,13 +60,9 @@
     <insert id="insert" parameterType="com.yonge.cooleshow.auth.api.entity.SysUser" useGeneratedKeys="true" keyColumn="id"
             keyProperty="id">
         INSERT INTO sys_user
-        (
-        <if test="id != null">id_, </if>
-        is_super_admin_,im_token_,id_,username_,salt_,phone_,avatar_,create_time_,update_time_,wx_openid_,qq_openid_,user_type_,
+        (is_super_admin_,im_token_,id_,username_,salt_,phone_,avatar_,create_time_,update_time_,wx_openid_,qq_openid_,user_type_,
         gender_,nation_,birthdate_,email_,id_card_no_,wechat_id_,real_name_,certificate_type_)
-        VALUES(
-        <if test="id != null">#{id}, </if>
-        #{isSuperAdmin},#{imToken},#{id},#{username},#{salt},#{phone},#{avatar},now(),now(),#{wxOpenid},#{qqOpenid},#{userType},
+        VALUES(#{isSuperAdmin},#{imToken},#{id},#{username},#{salt},#{phone},#{avatar},now(),now(),#{wxOpenid},#{qqOpenid},#{userType},
         #{gender},#{nation},#{birthdate},#{email},#{idCardNo},#{wechatId},#{realName},#{certificateType})
     </insert>
     <insert id="insertTeacher">

+ 30 - 14
cooleshow-user/user-admin/src/main/java/com/yonge/cooleshow/admin/controller/EmployeeController.java

@@ -1,6 +1,12 @@
 package com.yonge.cooleshow.admin.controller;
 
+import com.yonge.cooleshow.biz.dal.dto.search.EmployeeSearch;
+import com.yonge.cooleshow.biz.dal.support.Query;
+import com.yonge.cooleshow.common.entity.HttpResponseResult;
+import com.yonge.cooleshow.common.page.PageInfo;
 import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiImplicitParam;
+import io.swagger.annotations.ApiImplicitParams;
 import io.swagger.annotations.ApiOperation;
 
 import java.util.Date;
@@ -13,9 +19,6 @@ import org.springframework.web.bind.annotation.RequestBody;
 import org.springframework.web.bind.annotation.RequestMapping;
 import org.springframework.web.bind.annotation.RestController;
 
-import com.yonge.cooleshow.auth.api.client.SysUserFeignService;
-import com.yonge.cooleshow.auth.api.entity.SysUser;
-import com.yonge.cooleshow.biz.dal.dao.EmployeeDao;
 import com.yonge.cooleshow.biz.dal.entity.Employee;
 import com.yonge.cooleshow.biz.dal.service.EmployeeService;
 import com.yonge.cooleshow.common.controller.BaseController;
@@ -27,15 +30,29 @@ public class EmployeeController extends BaseController {
 
     @Autowired
     private EmployeeService employeeService;
-    @Autowired
-    private SysUserFeignService sysUserFeignService;
-    @Autowired
-    private EmployeeDao employeeDao;
+
+    @GetMapping("/detail/{userId}")
+    @ApiOperation(value = "详情", notes = "传入student")
+    @ApiImplicitParams({
+            @ApiImplicitParam(name = "userId", value = "userId", paramType = "path", dataType = "long", required = true),
+    })
+    public HttpResponseResult<Employee> detail(Long userId) throws Exception{
+        Employee detail = employeeService.detail(userId);
+        return succeed(detail);
+    }
+
+    @GetMapping("/page")
+    @ApiOperation(value = "查询分页", notes = "传入student")
+    public HttpResponseResult<PageInfo<Employee>> page(EmployeeSearch employeeSearch, Query query) {
+        return succeed(employeeService.selectPage(query, employeeSearch));
+    }
 
     @ApiOperation(value = "新增员工")
     @PostMapping("/add")
     @PreAuthorize("@pcs.hasPermissions('employee/add')")
     public Object add(@RequestBody Employee employee) throws Exception {
+        employee.setCreateTime(new Date());
+        employee.setUpdateTime(new Date());
         employeeService.add(employee);
         return succeed();
     }
@@ -43,20 +60,20 @@ public class EmployeeController extends BaseController {
     @ApiOperation(value = "修改员工")
     @PostMapping("/update")
     @PreAuthorize("@pcs.hasPermissions('employee/update')")
-    public Object update(@RequestBody Employee employee) {
+    public Object update(@RequestBody Employee employee) throws Exception{
         employee.setUpdateTime(new Date());
         employeeService.updateEmployee(employee);
         return succeed();
     }
 
-    @ApiOperation(value = "获取所有员工")
+    /*@ApiOperation(value = "获取所有员工")
     @GetMapping("/findAll")
     @PreAuthorize("@pcs.hasPermissions('employee/findAll')")
     public Object findAll() {
         return succeed(employeeService.findAll(null));
-    }
+    }*/
 
-    @ApiOperation(value = "获取用户信息")
+    /*@ApiOperation(value = "获取用户信息")
     @GetMapping("/queryUserInfo")
     public Object apiQueryUserInfo() {
         SysUser sysUser = sysUserFeignService.queryUserInfo();
@@ -64,11 +81,10 @@ public class EmployeeController extends BaseController {
             Employee employee = employeeService.get(sysUser.getId());
             employee.setRoles(employeeDao.queryUserRole(sysUser.getId()));
             employee.setContactAddress(employee.getContactAddress());
-            employee.setPostalCode(employee.getPostalCode());
-            
+
             return succeed(employee);
         }
         return failed("获取用户信息失败");
-    }
+    }*/
 
 }

+ 10 - 8
cooleshow-user/user-admin/src/main/java/com/yonge/cooleshow/admin/controller/StudentController.java

@@ -2,6 +2,7 @@ package com.yonge.cooleshow.admin.controller;
 
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.yonge.cooleshow.auth.api.client.SysUserFeignService;
+import com.yonge.cooleshow.biz.dal.dto.search.StudentSearch;
 import com.yonge.cooleshow.biz.dal.entity.Student;
 import com.yonge.cooleshow.biz.dal.service.StudentService;
 import com.yonge.cooleshow.biz.dal.support.Condition;
@@ -12,9 +13,7 @@ import com.yonge.cooleshow.common.controller.BaseController;
 import com.yonge.cooleshow.common.entity.HttpResponseResult;
 import com.yonge.cooleshow.common.page.PageInfo;
 import com.yonge.toolset.utils.string.StringUtil;
-import io.swagger.annotations.Api;
-import io.swagger.annotations.ApiOperation;
-import io.swagger.annotations.ApiParam;
+import io.swagger.annotations.*;
 import org.apache.commons.beanutils.BeanUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.web.bind.annotation.*;
@@ -31,10 +30,13 @@ public class StudentController extends BaseController {
 	/**
      * 查询单条
      */
-    @GetMapping("/detail/")
+    @GetMapping("/detail/{userId}")
     @ApiOperation(value = "详情", notes = "传入student")
-    public HttpResponseResult<StudentVo> detail(Student student) throws Exception{
-		StudentVo detail = studentService.detail(student.getUserId());
+    @ApiImplicitParams({
+            @ApiImplicitParam(name = "userId", value = "userId", paramType = "path", dataType = "long", required = true),
+    })
+    public HttpResponseResult<StudentVo> detail(Long userId){
+		StudentVo detail = studentService.detail(userId);
 		return succeed(detail);
 	}
 
@@ -43,8 +45,8 @@ public class StudentController extends BaseController {
      */
     @GetMapping("/page")
     @ApiOperation(value = "查询分页", notes = "传入student")
-    public HttpResponseResult<PageInfo<StudentVo>> page(Student student, Query query) {
-		IPage<StudentVo> pages = studentService.selectPage(Condition.getPage(query), student);
+    public HttpResponseResult<PageInfo<StudentVo>> page(StudentSearch studentSearch, Query query) {
+		IPage<StudentVo> pages = studentService.selectPage(Condition.getPage(query), studentSearch);
         return succeed(Condition.pageInfo(pages));
 	}
 

+ 9 - 10
cooleshow-user/user-admin/src/main/java/com/yonge/cooleshow/admin/controller/TeacherAuthEntryRecordController.java

@@ -31,16 +31,6 @@ public class TeacherAuthEntryRecordController extends BaseController {
     private SysUserFeignService sysUserFeignService;
 
     /**
-     * 查询分页
-     */
-    @GetMapping("/page")
-    @ApiOperation(value = "查询分页", notes = "传入teacherAuthEntryRecord")
-    public HttpResponseResult<PageInfo<TeacherAuthEntryRecordVo>> page(AuthEntryRecordSearch search, Query query) {
-        IPage<TeacherAuthEntryRecordVo> pages = teacherAuthEntryRecordService.selectPage(Condition.getPage(query), search);
-        return succeed(Condition.pageInfo(pages));
-    }
-
-    /**
      * 查询单条详情
      */
     @GetMapping("/detail")
@@ -50,6 +40,15 @@ public class TeacherAuthEntryRecordController extends BaseController {
         return succeed(detail);
     }
 
+    /**
+     * 查询分页
+     */
+    @GetMapping("/page")
+    @ApiOperation(value = "查询分页", notes = "传入teacherAuthEntryRecord")
+    public HttpResponseResult<PageInfo<TeacherAuthEntryRecordVo>> page(AuthEntryRecordSearch search, Query query) {
+        IPage<TeacherAuthEntryRecordVo> pages = teacherAuthEntryRecordService.selectPage(Condition.getPage(query), search);
+        return succeed(Condition.pageInfo(pages));
+    }
 
     @PostMapping("/doAuth")
     @ApiOperation(value = "审核", notes = "传入authOperaDto")

+ 10 - 10
cooleshow-user/user-admin/src/main/java/com/yonge/cooleshow/admin/controller/TeacherAuthMusicianRecordController.java

@@ -35,16 +35,6 @@ public class TeacherAuthMusicianRecordController extends BaseController {
 	private SysUserFeignService sysUserFeignService;
 
 	/**
-	 * 查询分页
-	 */
-	@GetMapping("/page")
-	@ApiOperation(value = "查询分页", notes = "传入AuthEntryRecordSearch")
-	public HttpResponseResult<PageInfo<MusicianAuthEntryRecordVo>> page(AuthEntryRecordSearch search, Query query) {
-		IPage<MusicianAuthEntryRecordVo> pages = teacherAuthMusicianRecordService.selectPage(Condition.getPage(query), search);
-		return succeed(Condition.pageInfo(pages));
-	}
-
-	/**
 	 * 查询单条详情
 	 */
 	@GetMapping("/detail")
@@ -54,6 +44,16 @@ public class TeacherAuthMusicianRecordController extends BaseController {
 		return succeed(detail);
 	}
 
+	/**
+	 * 查询分页
+	 */
+	@GetMapping("/page")
+	@ApiOperation(value = "查询分页", notes = "传入AuthEntryRecordSearch")
+	public HttpResponseResult<PageInfo<MusicianAuthEntryRecordVo>> page(AuthEntryRecordSearch search, Query query) {
+		IPage<MusicianAuthEntryRecordVo> pages = teacherAuthMusicianRecordService.selectPage(Condition.getPage(query), search);
+		return succeed(Condition.pageInfo(pages));
+	}
+
 	@PostMapping("/doAuth")
 	@ApiOperation(value = "审核", notes = "传入authOperaDto")
 	public HttpResponseResult<Boolean> doAuth(@Valid @RequestBody AuthOperaReq authOperaReq) throws Exception {

+ 6 - 4
cooleshow-user/user-admin/src/main/java/com/yonge/cooleshow/admin/controller/TeacherController.java

@@ -34,10 +34,13 @@ public class TeacherController extends BaseController {
     /**
      * 查询单条
      */
-    @GetMapping("/detail")
+    @GetMapping("/detail/{userId}")
     @ApiOperation(value = "详情", notes = "传入teacher")
-    public HttpResponseResult<TeacherVo> detail(Teacher teacher) {
-        TeacherVo detail = teacherService.detail(teacher.getUserId());
+    @ApiImplicitParams({
+            @ApiImplicitParam(name = "userId", value = "userId", paramType = "path", dataType = "long", required = true),
+    })
+    public HttpResponseResult<TeacherVo> detail(Long userId) {
+        TeacherVo detail = teacherService.detail(userId);
         return succeed(detail);
     }
 
@@ -72,5 +75,4 @@ public class TeacherController extends BaseController {
         return status(teacherService.removeByIds(StringUtil.toLongList(ids)));
     }
 
-
 }

+ 55 - 24
cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/dao/EmployeeDao.java

@@ -2,6 +2,9 @@ package com.yonge.cooleshow.biz.dal.dao;
 
 import java.util.List;
 
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.yonge.cooleshow.biz.dal.dto.search.EmployeeSearch;
 import org.apache.ibatis.annotations.Param;
 
 import com.yonge.cooleshow.auth.api.entity.SysRole;
@@ -10,24 +13,66 @@ import com.yonge.cooleshow.biz.dal.entity.Employee;
 import com.yonge.cooleshow.common.dal.BaseDAO;
 
 public interface EmployeeDao extends BaseDAO<Long, Employee> {
+    /***
+     * 平台用户管理查询详情
+     * @author liweifan
+     * @param: userId
+     * @updateTime 2022/3/25 13:36
+     * @return: com.yonge.cooleshow.biz.dal.entity.Employee
+     */
+    Employee detail(@Param("userId") Long userId);
+
+    /***
+     * 平台用户管理分页查询
+     * @author liweifan
+     * @param: userId
+     * @updateTime 2022/3/25 13:36
+     * @return: com.yonge.cooleshow.biz.dal.entity.Employee
+     */
+    IPage<Employee> queryPage(Page<Employee> pageInfo, @Param("param") EmployeeSearch employeeSearch);
+
+    /***
+     * 插入用户表
+     * @author liweifan
+     * @param: user
+     * @updateTime 2022/3/25 11:30
+     * @return: long
+     */
+    long insertSysUser(SysUser user);
+
+    /***
+     * 修改用户表
+     * @author liweifan
+     * @param: user
+     * @updateTime 2022/3/25 11:30
+     * @return: long
+     */
+    int updateSysUser(SysUser user);
 
     /**
-     * 修改密码
+     * 删除用户角色
      *
-     * @param userID
-     * @param password
+     * @param userId
      */
-    void updatePassword(@Param("userID") Long userID, @Param("password") String password);
+    void delEmployeeRole(Long userId);
 
     /**
-     * @Author: Joburgess
-     * @Date: 2019/9/17
-     * 修改用户账户锁定状态
+     * 批量新增用户角色
+     *
+     * @param id
+     * @param roleIds
      */
-    int updateUserLockStatus(@Param("userID") Long userID);
+    void batchAddEmployeeRole(@Param("userId") Long id, @Param("roleIds") List<Integer> roleIds);
 
+    /***
+     * 通过手机号查询用户
+     * @author liweifan
+     * @param: phone
+     * @updateTime 2022/3/25 14:21
+     * @return: com.yonge.cooleshow.auth.api.entity.SysUser
+     */
+    SysUser querySysUserByPhone(@Param("phone") String phone);
 
-    void updateUserLock(@Param("userID") Long userID, @Param("status") int status);
 
     /**
      * @Author: Joburgess
@@ -44,20 +89,6 @@ public interface EmployeeDao extends BaseDAO<Long, Employee> {
      */
     SysUser queryByPhone(String phone);
 
-    /**
-     * 删除用户角色
-     *
-     * @param userId
-     */
-    void delEmployeeRole(Long userId);
-
-    /**
-     * 批量新增用户角色
-     *
-     * @param id
-     * @param roleIds
-     */
-    void batchAddEmployeeRole(@Param("userId") Long id, @Param("roleIds") List<Integer> roleIds);
 
     /**
      * 获取用户权限列表
@@ -84,7 +115,7 @@ public interface EmployeeDao extends BaseDAO<Long, Employee> {
     int batchInsertRoleMenu(@Param("roleId") Long roleId, @Param("menuIds") List<Integer> menuIds);
 
     /**
-     * 根据机构id,和菜单id删除
+     * 根据菜单id删除
      */
     int delRoleMenu(@Param("menuIds") List<Integer> menuIds);
 

+ 8 - 7
cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/dao/StudentDao.java

@@ -4,22 +4,23 @@ import java.util.List;
 
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
 import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.yonge.cooleshow.biz.dal.dto.search.StudentSearch;
 import com.yonge.cooleshow.biz.dal.entity.Student;
 import com.yonge.cooleshow.biz.dal.vo.StudentVo;
 import org.apache.ibatis.annotations.Param;
 
 public interface StudentDao extends BaseMapper<Student>{
-
-	/**
-	 * 自定义分页
-	 */
-	List<StudentVo> selectPage(IPage page, Student student);
 	/***
-	 *
+	 * 查询详情
 	 * @author liweifan
 	 * @param: userId
 	 * @updateTime 2022/3/24 18:14
 	 * @return: com.yonge.cooleshow.biz.dal.vo.StudentVo
 	 */
-    StudentVo detail(@Param("userId") Long userId);
+	StudentVo detail(@Param("userId") Long userId);
+	/**
+	 * 自定义分页
+	 */
+	List<StudentVo> selectPage(@Param("page") IPage page,@Param("param") StudentSearch studentSearch);
+
 }

+ 8 - 9
cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/dao/TeacherAuthMusicianRecordDao.java

@@ -10,7 +10,14 @@ import com.yonge.cooleshow.biz.dal.vo.MusicianAuthEntryRecordVo;
 import org.apache.ibatis.annotations.Param;
 
 public interface TeacherAuthMusicianRecordDao extends BaseMapper<TeacherAuthMusicianRecord>{
-
+	/***
+	 * 审批详情
+	 * @author liweifan
+	 * @param: id
+	 * @updateTime 2022/3/22 19:58
+	 * @return: com.yonge.cooleshow.biz.dal.vo.MusicianAuthEntryRecordVo
+	 */
+	MusicianAuthEntryRecordVo detail(@Param("id") Long id);
 	/***
 	 * 音乐人审批页面查询
 	 * @author liweifan
@@ -21,12 +28,4 @@ public interface TeacherAuthMusicianRecordDao extends BaseMapper<TeacherAuthMusi
 	 */
 	List<MusicianAuthEntryRecordVo> selectPage(IPage page, AuthEntryRecordSearch authEntryRecordSearch);
 
-	/***
-	 * 审批详情
-	 * @author liweifan
-	 * @param: id
-	 * @updateTime 2022/3/22 19:58
-	 * @return: com.yonge.cooleshow.biz.dal.vo.MusicianAuthEntryRecordVo
-	 */
-	MusicianAuthEntryRecordVo detail(@Param("id") Long id);
 }

+ 8 - 11
cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/dao/TeacherDao.java

@@ -14,7 +14,14 @@ import com.yonge.cooleshow.biz.dal.vo.UserSetVo;
 import org.apache.ibatis.annotations.Param;
 
 public interface TeacherDao extends BaseMapper<Teacher> {
-
+    /***
+     * 查询老师详情
+     * @author liweifan
+     * @param: id
+     * @updateTime 2022/3/23 17:50
+     * @return: com.yonge.cooleshow.biz.dal.vo.TeacherVo
+     */
+    TeacherVo detail(@Param("userId") Long userId);
     /**
      * 自定义分页
      */
@@ -28,7 +35,6 @@ public interface TeacherDao extends BaseMapper<Teacher> {
     * @date 2022/3/22 13:52
     */
     BasicUserInfo getBasicUserInfo(@Param("userId") Long userId);
-
     /**
      * @description: 获取用户基本信息
      * @param studentIds
@@ -38,13 +44,4 @@ public interface TeacherDao extends BaseMapper<Teacher> {
      */
     List<BasicUserInfo> findBasicUserInfo(@Param("studentIds") Set<Long> studentIds);
 
-    /***
-     * 查询老师详情
-     * @author liweifan
-     * @param: id
-     * @updateTime 2022/3/23 17:50
-     * @return: com.yonge.cooleshow.biz.dal.vo.TeacherVo
-     */
-    TeacherVo detail(@Param("userId") Long userId);
-
 }

+ 80 - 0
cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/dto/search/EmployeeSearch.java

@@ -0,0 +1,80 @@
+package com.yonge.cooleshow.biz.dal.dto.search;
+
+import com.fasterxml.jackson.annotation.JsonFormat;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import org.springframework.format.annotation.DateTimeFormat;
+
+import java.util.Date;
+
+/**
+ * @Author: liweifan
+ * @Data: 2022/3/21 15:26
+ */
+@ApiModel(value = "StudentSearch", description = "学院管理查询")
+public class EmployeeSearch {
+    @ApiModelProperty(value = "学院编号/昵称/电话")
+    private String search;
+    @ApiModelProperty(value = "性别 0女 1男")
+    private Integer gender;
+    @ApiModelProperty("学员声部 ")
+    private String subjectIdList;
+    @ApiModelProperty(value = "0-正常,9-锁定")
+    private Integer lockFlag;
+    @ApiModelProperty(value = "创建开始时间")
+    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+    private Date startTime;
+    @ApiModelProperty(value = "创建结束时间")
+    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+    private Date endTime;
+
+    public String getSearch() {
+        return search;
+    }
+
+    public void setSearch(String search) {
+        this.search = search;
+    }
+
+    public Integer getGender() {
+        return gender;
+    }
+
+    public void setGender(Integer gender) {
+        this.gender = gender;
+    }
+
+    public String getSubjectIdList() {
+        return subjectIdList;
+    }
+
+    public void setSubjectIdList(String subjectIdList) {
+        this.subjectIdList = subjectIdList;
+    }
+
+    public Integer getLockFlag() {
+        return lockFlag;
+    }
+
+    public void setLockFlag(Integer lockFlag) {
+        this.lockFlag = lockFlag;
+    }
+
+    public Date getStartTime() {
+        return startTime;
+    }
+
+    public void setStartTime(Date startTime) {
+        this.startTime = startTime;
+    }
+
+    public Date getEndTime() {
+        return endTime;
+    }
+
+    public void setEndTime(Date endTime) {
+        this.endTime = endTime;
+    }
+}

+ 80 - 0
cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/dto/search/StudentSearch.java

@@ -0,0 +1,80 @@
+package com.yonge.cooleshow.biz.dal.dto.search;
+
+import com.fasterxml.jackson.annotation.JsonFormat;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import org.springframework.format.annotation.DateTimeFormat;
+
+import java.util.Date;
+
+/**
+ * @Author: liweifan
+ * @Data: 2022/3/21 15:26
+ */
+@ApiModel(value = "StudentSearch", description = "学院管理查询")
+public class StudentSearch {
+    @ApiModelProperty(value = "学员编号/昵称/电话")
+    private String search;
+    @ApiModelProperty(value = "性别 0女 1男")
+    private Integer gender;
+    @ApiModelProperty("学员声部 ")
+    private String subjectIdList;
+    @ApiModelProperty(value = "是否会员 0否 1是")
+    private Boolean isVip;
+    @ApiModelProperty(value = "注册开始时间")
+    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+    private Date startTime;
+    @ApiModelProperty(value = "注册结束时间")
+    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+    private Date endTime;
+
+    public String getSearch() {
+        return search;
+    }
+
+    public void setSearch(String search) {
+        this.search = search;
+    }
+
+    public Integer getGender() {
+        return gender;
+    }
+
+    public void setGender(Integer gender) {
+        this.gender = gender;
+    }
+
+    public String getSubjectIdList() {
+        return subjectIdList;
+    }
+
+    public void setSubjectIdList(String subjectIdList) {
+        this.subjectIdList = subjectIdList;
+    }
+
+    public Boolean getVip() {
+        return isVip;
+    }
+
+    public void setVip(Boolean vip) {
+        isVip = vip;
+    }
+
+    public Date getStartTime() {
+        return startTime;
+    }
+
+    public void setStartTime(Date startTime) {
+        this.startTime = startTime;
+    }
+
+    public Date getEndTime() {
+        return endTime;
+    }
+
+    public void setEndTime(Date endTime) {
+        this.endTime = endTime;
+    }
+}

+ 63 - 212
cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/entity/Employee.java

@@ -1,317 +1,168 @@
 package com.yonge.cooleshow.biz.dal.entity;
 
+import com.fasterxml.jackson.annotation.JsonFormat;
 import io.swagger.annotations.ApiModelProperty;
 
+import java.util.Date;
 import java.util.List;
 
-import org.apache.commons.lang3.builder.ToStringBuilder;
-
 import com.yonge.cooleshow.auth.api.entity.SysUser;
 import com.yonge.cooleshow.biz.dal.enums.JobNatureEnum;
 import com.yonge.cooleshow.biz.dal.enums.YesOrNoEnum;
+import org.springframework.format.annotation.DateTimeFormat;
 
 /**
  * 对应数据库表(employee):
  */
 public class Employee extends SysUser {
 
-	/**  */
-	private Integer userId;
-
-	/**  */
-	@ApiModelProperty(value = "机构编号列表,逗号分隔",required = false)
-	private String organIdList;
+	private Long userId;
 
-	/** 工作性质(兼职、全职、临时) */
-	@ApiModelProperty(value = "工作性质",required = false)
+	@ApiModelProperty(value = "工作性质(兼职、全职)",required = false)
 	private JobNatureEnum jobNature;
 
-	/** 是否试用期(1-是 0-否) */
-	@ApiModelProperty(value = "是否试用期",required = false)
+	@ApiModelProperty(value = "是否试用期(1-是 0-否)",required = false)
 	private YesOrNoEnum isProbationPeriod;
 
-	/** 学历 */
 	@ApiModelProperty(value = "学历",required = false)
 	private String educationBackground;
 
-	/** 毕业学校 */
 	@ApiModelProperty(value = "毕业学校",required = false)
 	private String graduateSchool;
 
-	/** 技术职称 */
 	@ApiModelProperty(value = "技术职称",required = false)
 	private String technicalTitles;
 
-	/** 入职时间 */
 	@ApiModelProperty(value = "入职时间",required = false)
 	private java.util.Date entryDate;
 
-	/** 证件类型 */
-	@ApiModelProperty(value = "证件类型",required = false)
-	private String certificateType;
-
-	/** 证件号码 */
-	@ApiModelProperty(value = "证件号码",required = false)
-	private String certificateNum;
-
-	@ApiModelProperty(value = "社保部门id",required = false)
-	private Integer deptId;
-
-	@ApiModelProperty(value = "部门ids",required = false)
-	private String depIds;
-
-	@ApiModelProperty(value = "岗位ids",required = false)
-	private String postIds;
-
-	@ApiModelProperty(value = "银行卡号",required = false)
-	private String bankCard;
-
-	@ApiModelProperty(value = "开户行",required = false)
-	private String openBankAddress;
-
-	@ApiModelProperty(value = "岗位管理部门",required = false)
-	private String postDeptIds;
-
-	/**  */
+	@ApiModelProperty(value = "更新时间",required = false)
+	@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+	@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone="GMT+8")
 	private java.util.Date updateTime;
 
-	/**  */
+	@ApiModelProperty(value = "创建时间",required = false)
+	@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+	@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone="GMT+8")
 	private java.util.Date createTime;
 
-	/** 介绍 */
 	@ApiModelProperty(value = "介绍",required = false)
 	private String introduction;
 
-	/** 离职日期 */
 	@ApiModelProperty(value = "离职日期",required = false)
 	private java.util.Date demissionDate;
 
-	@ApiModelProperty(value = "角色id列表",required = false)
-	private List<Integer> roleIds;
-
-	@ApiModelProperty(value = "职位id列表",required = false)
-	private List<Integer> positionIds;
-
-	@ApiModelProperty(value = "机构id列表")
-	private List<Integer> tenantIds;
-
-	@ApiModelProperty(value = "创建该机构的人")
-    private Integer createTenantUserId;
-
+	@ApiModelProperty(value = "联系地址",required = false)
 	private String contactAddress;
 
-	private String postalCode;
-
-	public List<Integer> getPositionIds() {
-		return positionIds;
-	}
-
-	public void setPositionIds(List<Integer> positionIds) {
-		this.positionIds = positionIds;
-	}
-
-	public String getContactAddress() {
-		return contactAddress;
-	}
-
-	public void setContactAddress(String contactAddress) {
-		this.contactAddress = contactAddress;
-	}
-
-	public String getPostalCode() {
-		return postalCode;
-	}
+	@ApiModelProperty(value = "角色id列表",required = false)
+	private List<Integer> roleIds;
 
-	public void setPostalCode(String postalCode) {
-		this.postalCode = postalCode;
+	public Long getUserId() {
+		return userId;
 	}
 
-	public List<Integer> getRoleIds() {
-		return roleIds;
+	public void setUserId(Long userId) {
+		this.userId = userId;
 	}
 
-	public void setRoleIds(List<Integer> roleIds) {
-		this.roleIds = roleIds;
+	public JobNatureEnum getJobNature() {
+		return jobNature;
 	}
 
-	public void setUserId(Integer userId){
-		this.userId = userId;
+	public void setJobNature(JobNatureEnum jobNature) {
+		this.jobNature = jobNature;
 	}
 
-	public Integer getUserId(){
-		return this.userId;
+	public YesOrNoEnum getIsProbationPeriod() {
+		return isProbationPeriod;
 	}
 
-	public String getOrganIdList() {
-		return organIdList;
+	public void setIsProbationPeriod(YesOrNoEnum isProbationPeriod) {
+		this.isProbationPeriod = isProbationPeriod;
 	}
 
-	public void setOrganIdList(String organIdList) {
-		this.organIdList = organIdList;
+	public String getEducationBackground() {
+		return educationBackground;
 	}
 
-	public void setEducationBackground(String educationBackground){
+	public void setEducationBackground(String educationBackground) {
 		this.educationBackground = educationBackground;
 	}
 
-	public String getEducationBackground(){
-		return this.educationBackground;
+	public String getGraduateSchool() {
+		return graduateSchool;
 	}
 
-	public void setGraduateSchool(String graduateSchool){
+	public void setGraduateSchool(String graduateSchool) {
 		this.graduateSchool = graduateSchool;
 	}
 
-	public String getGraduateSchool(){
-		return this.graduateSchool;
+	public String getTechnicalTitles() {
+		return technicalTitles;
 	}
 
-	public void setTechnicalTitles(String technicalTitles){
+	public void setTechnicalTitles(String technicalTitles) {
 		this.technicalTitles = technicalTitles;
 	}
 
-	public String getTechnicalTitles(){
-		return this.technicalTitles;
+	public Date getEntryDate() {
+		return entryDate;
 	}
 
-	public void setEntryDate(java.util.Date entryDate){
+	public void setEntryDate(Date entryDate) {
 		this.entryDate = entryDate;
 	}
 
-	public java.util.Date getEntryDate(){
-		return this.entryDate;
-	}
-
-	public void setCertificateType(String certificateType){
-		this.certificateType = certificateType;
-	}
-
-	public String getCertificateType(){
-		return this.certificateType;
-	}
-
-	public void setCertificateNum(String certificateNum){
-		this.certificateNum = certificateNum;
-	}
-
-	public String getCertificateNum(){
-		return this.certificateNum;
+	@Override
+	public Date getUpdateTime() {
+		return updateTime;
 	}
 
-	public void setUpdateTime(java.util.Date updateTime){
+	@Override
+	public void setUpdateTime(Date updateTime) {
 		this.updateTime = updateTime;
 	}
 
-	public java.util.Date getUpdateTime(){
-		return this.updateTime;
+	@Override
+	public Date getCreateTime() {
+		return createTime;
 	}
 
-	public void setCreateTime(java.util.Date createTime){
+	@Override
+	public void setCreateTime(Date createTime) {
 		this.createTime = createTime;
 	}
 
-	public java.util.Date getCreateTime(){
-		return this.createTime;
+	public String getIntroduction() {
+		return introduction;
 	}
 
-	public void setIntroduction(String introduction){
+	public void setIntroduction(String introduction) {
 		this.introduction = introduction;
 	}
 
-	public String getIntroduction(){
-		return this.introduction;
+	public Date getDemissionDate() {
+		return demissionDate;
 	}
 
-	public void setDemissionDate(java.util.Date demissionDate){
+	public void setDemissionDate(Date demissionDate) {
 		this.demissionDate = demissionDate;
 	}
 
-	public java.util.Date getDemissionDate(){
-		return this.demissionDate;
-	}
-
-	public JobNatureEnum getJobNature() {
-		return jobNature;
-	}
-
-	public void setJobNature(JobNatureEnum jobNature) {
-		this.jobNature = jobNature;
-	}
-
-	public YesOrNoEnum getIsProbationPeriod() {
-		return isProbationPeriod;
-	}
-
-	public void setIsProbationPeriod(YesOrNoEnum isProbationPeriod) {
-		this.isProbationPeriod = isProbationPeriod;
-	}
-
-	@Override
-	public String toString() {
-		return ToStringBuilder.reflectionToString(this);
-	}
-
-	public String getDeptIds() {
-		return depIds;
-	}
-
-	public void setDeptIds(String deptIds) {
-		this.depIds = deptIds;
-	}
-
-	public String getPostIds() {
-		return postIds;
-	}
-
-	public void setPostIds(String postIds) {
-		this.postIds = postIds;
-	}
-
-	public String getBankCard() {
-		return bankCard;
-	}
-
-	public void setBankCard(String bankCard) {
-		this.bankCard = bankCard;
-	}
-
-	public String getOpenBankAddress() {
-		return openBankAddress;
-	}
-
-	public void setOpenBankAddress(String openBankAddress) {
-		this.openBankAddress = openBankAddress;
-	}
-
-	public String getPostDeptIds() {
-		return postDeptIds;
+	public String getContactAddress() {
+		return contactAddress;
 	}
 
-	public void setPostDeptIds(String postDeptIds) {
-		this.postDeptIds = postDeptIds;
+	public void setContactAddress(String contactAddress) {
+		this.contactAddress = contactAddress;
 	}
 
-	public Integer getDeptId() {
-		return deptId;
+	public List<Integer> getRoleIds() {
+		return roleIds;
 	}
 
-	public void setDeptId(Integer deptId) {
-		this.deptId = deptId;
+	public void setRoleIds(List<Integer> roleIds) {
+		this.roleIds = roleIds;
 	}
-
-    public List<Integer> getTenantIds() {
-        return tenantIds;
-    }
-
-    public void setTenantIds(List<Integer> tenantIds) {
-        this.tenantIds = tenantIds;
-    }
-
-    public Integer getCreateTenantUserId() {
-        return createTenantUserId;
-    }
-
-    public void setCreateTenantUserId(Integer createTenantUserId) {
-        this.createTenantUserId = createTenantUserId;
-    }
 }

+ 32 - 2
cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/service/EmployeeService.java

@@ -3,11 +3,31 @@ package com.yonge.cooleshow.biz.dal.service;
 import java.util.List;
 
 import com.yonge.cooleshow.auth.api.entity.SysRole;
+import com.yonge.cooleshow.auth.api.entity.SysUser;
+import com.yonge.cooleshow.biz.dal.dto.search.EmployeeSearch;
 import com.yonge.cooleshow.biz.dal.entity.Employee;
+import com.yonge.cooleshow.biz.dal.support.Query;
+import com.yonge.cooleshow.common.page.PageInfo;
 import com.yonge.cooleshow.common.service.BaseService;
 
 public interface EmployeeService extends BaseService<Long, Employee> {
-
+    /***
+     * 查询员工详情
+     * @author liweifan
+     * @param: userId
+     * @updateTime 2022/3/25 11:52
+     * @return: com.yonge.cooleshow.biz.dal.entity.Employee
+     */
+    Employee detail(Long userId);
+    /***
+     * 分页擦查询
+     * @author liweifan
+     * @param: page
+     * @param: employeeSearch
+     * @updateTime 2022/3/25 13:44
+     * @return: com.baomidou.mybatisplus.core.metadata.IPage<com.yonge.cooleshow.biz.dal.entity.Employee>
+     */
+    PageInfo<Employee> selectPage(Query page, EmployeeSearch employeeSearch);
     /**
      * 新增员工
      * @param employee
@@ -18,7 +38,17 @@ public interface EmployeeService extends BaseService<Long, Employee> {
      * 修改员工信息
      * @param employee
      */
-    void updateEmployee(Employee employee);
+    void updateEmployee(Employee employee) throws Exception;
+
+    /***
+     * 通过手机号查询用户
+     * @author liweifan
+     * @param: phone
+     * @updateTime 2022/3/25 14:15
+     * @return: com.yonge.cooleshow.auth.api.entity.SysUser
+     */
+    SysUser queryUserByMobile(String phone);
+
 
     List<Long> queryUserRole(Long sysUserId);
 

+ 8 - 7
cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/service/StudentService.java

@@ -2,6 +2,7 @@ package com.yonge.cooleshow.biz.dal.service;
 
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.extension.service.IService;
+import com.yonge.cooleshow.biz.dal.dto.search.StudentSearch;
 import com.yonge.cooleshow.biz.dal.entity.Student;
 import com.yonge.cooleshow.biz.dal.vo.StudentVo;
 import com.yonge.cooleshow.biz.dal.vo.TeacherVo;
@@ -12,13 +13,6 @@ import com.yonge.cooleshow.biz.dal.vo.TeacherVo;
  * @date 2022-03-23
  */
 public interface StudentService extends IService<Student>  {
-
-    /**
-     * 自定义分页
-     * @author liweifan
- 	 * @date 2022-03-23
-     */
-    IPage<StudentVo> selectPage(IPage<StudentVo> page, Student student);
     /***
      * 查询学员详情
      * @author liweifan
@@ -27,4 +21,11 @@ public interface StudentService extends IService<Student>  {
      * @return: com.yonge.cooleshow.biz.dal.vo.TeacherVo
      */
     StudentVo detail(Long userId);
+    /**
+     * 自定义分页
+     * @author liweifan
+ 	 * @date 2022-03-23
+     */
+    IPage<StudentVo> selectPage(IPage<StudentVo> page, StudentSearch studentSearch);
+
 }

+ 17 - 15
cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/service/TeacherAuthEntryRecordService.java

@@ -16,21 +16,6 @@ import com.yonge.cooleshow.common.entity.HttpResponseResult;
  * @date 2022-03-18
  */
 public interface TeacherAuthEntryRecordService extends IService<TeacherAuthEntryRecord>  {
-    /**
-     * 自定义分页
-     * @author liweifan
- 	 * @date 2022-03-18
-     */
-    IPage<TeacherAuthEntryRecordVo> selectPage(IPage<TeacherAuthEntryRecordVo> page, AuthEntryRecordSearch search);
-    /***
-     * 老师入驻申请
-     * @author liweifan
-     * @param: teacherApplyDetailDto
-     * @param: sysUser
-     * @updateTime 2022/3/18 15:38
-     * @return: java.lang.Boolean
-     */
-    HttpResponseResult<Boolean> doApply(TeacherApplyDetailReq teacherApplyDetailDto, SysUser sysUser) throws Exception;
     /***
      * 根据老师id查询审批单详情
      * @author liweifan
@@ -39,6 +24,12 @@ public interface TeacherAuthEntryRecordService extends IService<TeacherAuthEntry
      * @return: com.yonge.cooleshow.biz.dal.vo.TeacherAuthEntryRecordVo
      */
     TeacherAuthEntryRecordVo detail(Long id);
+    /**
+     * 自定义分页
+     * @author liweifan
+ 	 * @date 2022-03-18
+     */
+    IPage<TeacherAuthEntryRecordVo> selectPage(IPage<TeacherAuthEntryRecordVo> page, AuthEntryRecordSearch search);
     /***
      * 审核
      * @author liweifan
@@ -48,4 +39,15 @@ public interface TeacherAuthEntryRecordService extends IService<TeacherAuthEntry
      * @return: com.yonge.cooleshow.common.entity.HttpResponseResult<java.lang.Boolean>
      */
     HttpResponseResult<Boolean> doAuth(AuthOperaReq authOperaReq, SysUser sysUser);
+    /***
+     * 老师入驻申请
+     * @author liweifan
+     * @param: teacherApplyDetailDto
+     * @param: sysUser
+     * @updateTime 2022/3/18 15:38
+     * @return: java.lang.Boolean
+     */
+    HttpResponseResult<Boolean> doApply(TeacherApplyDetailReq teacherApplyDetailDto, SysUser sysUser) throws Exception;
+
+
 }

+ 7 - 7
cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/service/TeacherAuthMusicianRecordService.java

@@ -16,13 +16,6 @@ import com.yonge.cooleshow.common.entity.HttpResponseResult;
  */
 public interface TeacherAuthMusicianRecordService extends IService<TeacherAuthMusicianRecord>  {
 
-
-    /**
-     * 自查询分页
-     * @author liweifan
- 	 * @date 2022-03-18
-     */
-    IPage<MusicianAuthEntryRecordVo> selectPage(IPage<MusicianAuthEntryRecordVo> page, AuthEntryRecordSearch authEntryRecordSearch);
     /***
      * 查询音乐人审批单详情
      * @author liweifan
@@ -31,6 +24,13 @@ public interface TeacherAuthMusicianRecordService extends IService<TeacherAuthMu
      * @return: com.yonge.cooleshow.biz.dal.vo.MusicianAuthEntryRecordVo
      */
     MusicianAuthEntryRecordVo detail(Long id);
+    /**
+     * 自查询分页
+     * @author liweifan
+ 	 * @date 2022-03-18
+     */
+    IPage<MusicianAuthEntryRecordVo> selectPage(IPage<MusicianAuthEntryRecordVo> page, AuthEntryRecordSearch authEntryRecordSearch);
+
     /***
      * 获取音乐人认证状态
      * @author liweifan

+ 13 - 17
cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/service/TeacherService.java

@@ -16,23 +16,20 @@ import com.yonge.cooleshow.common.entity.HttpResponseResult;
  * @date 2022-03-18
  */
 public interface TeacherService extends IService<Teacher>  {
-
-
+    /***
+     * 查询老师详情
+     * @author liweifan
+     * @param: userId
+     * @updateTime 2022/3/23 17:49
+     * @return: com.yonge.cooleshow.biz.dal.vo.TeacherVo
+     */
+    TeacherVo detail(Long userId);
     /**
      * 自定义分页
      * @author liweifan
  	 * @date 2022-03-18
      */
     IPage<TeacherVo> selectPage(IPage<TeacherVo> page, TeacherSearch teacher);
-
-    /***
-     * 开通直播
-     * @author liweifan
-     * @param: setReq
-     * @param: id
-     * @updateTime 2022/3/22 11:04
-     */
-    HttpResponseResult<Boolean> openLive(Long id);
     /***
      * 管理端新增、修改老师信息
      * @author liweifan
@@ -42,12 +39,11 @@ public interface TeacherService extends IService<Teacher>  {
      */
     HttpResponseResult<Boolean> submit(TeacherSubmitReq teacherSubmitReq);
     /***
-     * 查询老师详情
+     * 开通直播
      * @author liweifan
-     * @param: userId
-     * @updateTime 2022/3/23 17:49
-     * @return: com.yonge.cooleshow.biz.dal.vo.TeacherVo
+     * @param: setReq
+     * @param: id
+     * @updateTime 2022/3/22 11:04
      */
-    TeacherVo detail(Long userId);
-
+    HttpResponseResult<Boolean> openLive(Long id);
 }

+ 46 - 13
cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/service/impl/EmployeeServiceImpl.java

@@ -2,15 +2,22 @@ package com.yonge.cooleshow.biz.dal.service.impl;
 
 import java.util.List;
 
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.yonge.cooleshow.auth.api.entity.SysUser;
+import com.yonge.cooleshow.auth.api.enums.SysUserType;
+import com.yonge.cooleshow.biz.dal.dto.search.EmployeeSearch;
+import com.yonge.cooleshow.biz.dal.support.PageUtil;
+import com.yonge.cooleshow.biz.dal.support.Query;
+import com.yonge.cooleshow.common.page.PageInfo;
+import org.apache.commons.beanutils.BeanUtils;
+import org.apache.ibatis.annotations.Param;
 import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.security.authentication.LockedException;
+import org.springframework.security.crypto.bcrypt.BCryptPasswordEncoder;
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
 
-import com.yonge.cooleshow.auth.api.client.SysUserFeignService;
 import com.yonge.cooleshow.auth.api.entity.SysRole;
 import com.yonge.cooleshow.biz.dal.dao.EmployeeDao;
-import com.yonge.cooleshow.biz.dal.dao.TeacherDao;
 import com.yonge.cooleshow.biz.dal.entity.Employee;
 import com.yonge.cooleshow.biz.dal.service.EmployeeService;
 import com.yonge.cooleshow.common.dal.BaseDAO;
@@ -21,35 +28,61 @@ public class EmployeeServiceImpl extends BaseServiceImpl<Long, Employee> impleme
 
     @Autowired
     private EmployeeDao employeeDao;
-    private SysUserFeignService sysUserFeignService;
-    @Autowired
-    private TeacherDao teacherDao;
 
     @Override
     public BaseDAO<Long, Employee> getDAO() {
         return employeeDao;
     }
 
-    public static void checkTenantId(Integer tenantId, Integer targetTenantId) {
-        //如果机构不一致,不允许跨机构注册
-        if (tenantId != null && tenantId != 0 && !tenantId.equals(targetTenantId)) {
-            throw new LockedException("用户已注册");
-        }
+    @Override
+    public Employee detail(Long userId) {
+        return employeeDao.detail(userId);
+    }
+
+    @Override
+    public PageInfo<Employee> selectPage(Query page, EmployeeSearch employeeSearch) {
+        Page<Employee> pageInfo = PageUtil.getPage(page.getPage(), page.getRows());
+        pageInfo.setDesc("id_");
+        return PageUtil.pageInfo(employeeDao.queryPage(pageInfo,employeeSearch));
     }
 
     @Override
     @Transactional(rollbackFor = Exception.class)
-    public void add(Employee employee) {
+    public void add(Employee employee) throws Exception {
+        SysUser sysUser = new SysUser();
+        BeanUtils.copyProperties(sysUser,employee);
+        sysUser.setUserType(SysUserType.SYSTEM.getCode());
+        //初始密码,手机号后6位
+        String password = sysUser.getPhone().substring(sysUser.getPhone().length() - 6);
+        sysUser.setPassword(new BCryptPasswordEncoder().encode(password));
+        Long userId = employeeDao.insertSysUser(sysUser);
 
+        //新增角色
+        employeeDao.batchAddEmployeeRole(userId,employee.getRoleIds());
+        //新增员工表
+        employee.setUserId(userId);
+        employeeDao.insert(employee);
     }
 
     @Override
     @Transactional(rollbackFor = Exception.class)
-    public void updateEmployee(Employee employee) {
+    public void updateEmployee(Employee employee) throws Exception {
+        SysUser sysUser = new SysUser();
+        BeanUtils.copyProperties(sysUser,employee);
+        sysUser.setId(employee.getUserId());
+        employeeDao.updateSysUser(sysUser);
 
+        employeeDao.delEmployeeRole(employee.getUserId());
+        employeeDao.batchAddEmployeeRole(employee.getUserId(),employee.getRoleIds());
     }
 
     @Override
+    public SysUser queryUserByMobile(String phone) {
+        return employeeDao.querySysUserByPhone(phone);
+    }
+
+
+    @Override
     public List<Long> queryUserRole(Long sysUserId) {
         return employeeDao.queryUserRole(sysUserId);
     }

+ 5 - 9
cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/service/impl/StudentServiceImpl.java

@@ -2,6 +2,7 @@ package com.yonge.cooleshow.biz.dal.service.impl;
 
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.yonge.cooleshow.biz.dal.dto.search.StudentSearch;
 import com.yonge.cooleshow.biz.dal.entity.TeacherStyleVideo;
 import com.yonge.cooleshow.biz.dal.vo.StudentVo;
 import com.yonge.cooleshow.biz.dal.vo.TeacherVo;
@@ -15,19 +16,14 @@ import java.util.List;
 
 @Service
 public class StudentServiceImpl extends ServiceImpl<StudentDao, Student> implements StudentService {
-
-    /**
-     * 分页查询
-     */
-     @Override
-    public IPage<StudentVo> selectPage(IPage<StudentVo> page, Student student){
-        return page.setRecords(baseMapper.selectPage(page, student));
-    }
-
     @Override
     public StudentVo detail(Long userId) {
         StudentVo detail = baseMapper.detail(userId);
         return detail;
     }
 
+    @Override
+    public IPage<StudentVo> selectPage(IPage<StudentVo> page, StudentSearch studentSearch) {
+        return page.setRecords(baseMapper.selectPage(page, studentSearch));
+    }
 }

+ 23 - 26
cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/service/impl/TeacherAuthEntryRecordServiceImpl.java

@@ -28,9 +28,12 @@ public class TeacherAuthEntryRecordServiceImpl extends ServiceImpl<TeacherAuthEn
 
     @Autowired
     private TeacherDao teacherDao;
-    /**
-     * 分页查询
-     */
+
+    @Override
+    public TeacherAuthEntryRecordVo detail(Long id) {
+        return baseMapper.detail(id);
+    }
+
     @Override
     public IPage<TeacherAuthEntryRecordVo> selectPage(IPage<TeacherAuthEntryRecordVo> page, AuthEntryRecordSearch search) {
         return page.setRecords(baseMapper.selectPage(page, search));
@@ -38,6 +41,23 @@ public class TeacherAuthEntryRecordServiceImpl extends ServiceImpl<TeacherAuthEn
 
     @Override
     @Transactional(rollbackFor = Exception.class)
+    public HttpResponseResult<Boolean> doAuth(AuthOperaReq authOperaReq, SysUser sysUser) {
+        TeacherAuthEntryRecord build = baseMapper.selectById(authOperaReq.getId());
+        build.setTeacherAuthStatus(authOperaReq.getPass() ? AuthStatusEnum.PASS.getCode() : AuthStatusEnum.UNPASS.getCode());
+        build.setReason(authOperaReq.getReason());
+
+        //修改teacher表
+        Teacher teacher = new Teacher();
+        teacher.setUserId(build.getUserId());
+        teacher.setEntryStatus(build.getTeacherAuthStatus());
+        teacher.setEntryAuthDate(new Date());
+        teacherDao.updateById(teacher);
+
+        return HttpResponseResult.succeed(baseMapper.updateById(build) > 0);
+    }
+
+    @Override
+    @Transactional(rollbackFor = Exception.class)
     public HttpResponseResult<Boolean> doApply(TeacherApplyDetailReq teacherApplyDetailDto, SysUser sysUser) throws Exception {
         teacherApplyDetailDto.setUserId(sysUser.getId());
         //判断用户是否已经提交申请
@@ -58,28 +78,6 @@ public class TeacherAuthEntryRecordServiceImpl extends ServiceImpl<TeacherAuthEn
         return HttpResponseResult.status(baseMapper.insert(teacherAuthEntryRecord) > 0);
     }
 
-    @Override
-    public TeacherAuthEntryRecordVo detail(Long id) {
-        return baseMapper.detail(id);
-    }
-
-    @Override
-    @Transactional(rollbackFor = Exception.class)
-    public HttpResponseResult<Boolean> doAuth(AuthOperaReq authOperaReq, SysUser sysUser) {
-        TeacherAuthEntryRecord build = baseMapper.selectById(authOperaReq.getId());
-        build.setTeacherAuthStatus(authOperaReq.getPass() ? AuthStatusEnum.PASS.getCode() : AuthStatusEnum.UNPASS.getCode());
-        build.setReason(authOperaReq.getReason());
-
-        //修改teacher表
-        Teacher teacher = new Teacher();
-        teacher.setUserId(build.getUserId());
-        teacher.setEntryStatus(build.getTeacherAuthStatus());
-        teacher.setEntryAuthDate(new Date());
-        teacherDao.updateById(teacher);
-
-        return HttpResponseResult.succeed(baseMapper.updateById(build) > 0);
-    }
-
     /***
      * 判断用户是否已经提交申请
      * @author liweifan
@@ -94,5 +92,4 @@ public class TeacherAuthEntryRecordServiceImpl extends ServiceImpl<TeacherAuthEn
         return teacherAuthEntryRecord != null;
     }
 
-
 }

+ 35 - 38
cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/service/impl/TeacherServiceImpl.java

@@ -6,12 +6,14 @@ import com.yonge.cooleshow.auth.api.client.SysUserFeignService;
 import com.yonge.cooleshow.auth.api.dto.RealnameAuthReq;
 import com.yonge.cooleshow.auth.api.entity.SysUser;
 import com.yonge.cooleshow.auth.api.enums.SysUserType;
+import com.yonge.cooleshow.biz.dal.dao.EmployeeDao;
 import com.yonge.cooleshow.biz.dal.dto.req.UserSetReq;
 import com.yonge.cooleshow.biz.dal.dto.req.TeacherSubmitReq;
 import com.yonge.cooleshow.biz.dal.dto.search.TeacherSearch;
 import com.yonge.cooleshow.biz.dal.entity.TeacherStyleVideo;
 import com.yonge.cooleshow.biz.dal.enums.AuthStatusEnum;
 import com.yonge.cooleshow.biz.dal.enums.TeacherTypeEnum;
+import com.yonge.cooleshow.biz.dal.service.EmployeeService;
 import com.yonge.cooleshow.biz.dal.service.TeacherStyleVideoService;
 import com.yonge.cooleshow.biz.dal.vo.TeacherVo;
 import com.yonge.cooleshow.biz.dal.vo.UserSetVo;
@@ -33,28 +35,26 @@ import java.util.List;
 @Service
 public class TeacherServiceImpl extends ServiceImpl<TeacherDao, Teacher> implements TeacherService {
     @Autowired
-    private SysUserFeignService userFeignService;
-    @Autowired
     private TeacherStyleVideoService teacherStyleVideoService;
+    @Autowired
+    private EmployeeDao employeeDao;
+    @Autowired
+    private SysUserFeignService userFeignService;
 
-    /**
-     * 分页查询
-     */
     @Override
-    public IPage<TeacherVo> selectPage(IPage<TeacherVo> page, TeacherSearch teacher) {
-        return page.setRecords(baseMapper.selectPage(page, teacher));
+    public TeacherVo detail(Long userId) {
+        TeacherVo detail = baseMapper.detail(userId);
+        if (null == detail) {
+            detail = new TeacherVo();
+        }
+        List<TeacherStyleVideo> teacherStyleVideos = teacherStyleVideoService.selectListByUserId(userId);
+        detail.setStyleVideo(teacherStyleVideos);
+        return detail;
     }
 
     @Override
-    public HttpResponseResult<Boolean> openLive(Long id) {
-        //todo 根据老师规则,判断老师直播权限
-        if (true) {
-            Teacher teacher = new Teacher();
-            teacher.setUserId(id);
-            teacher.setLiveFlag(1);
-            baseMapper.updateById(teacher);
-        }
-        return HttpResponseResult.status(true);
+    public IPage<TeacherVo> selectPage(IPage<TeacherVo> page, TeacherSearch teacher) {
+        return page.setRecords(baseMapper.selectPage(page, teacher));
     }
 
     @Override
@@ -70,45 +70,45 @@ public class TeacherServiceImpl extends ServiceImpl<TeacherDao, Teacher> impleme
     }
 
     @Override
-    public TeacherVo detail(Long userId) {
-        TeacherVo detail = baseMapper.detail(userId);
-        if(null == detail){
-            detail = new TeacherVo();
+    public HttpResponseResult<Boolean> openLive(Long id) {
+        //todo 根据老师规则,判断老师直播权限
+        if (true) {
+            Teacher teacher = new Teacher();
+            teacher.setUserId(id);
+            teacher.setLiveFlag(1);
+            baseMapper.updateById(teacher);
         }
-        List<TeacherStyleVideo> teacherStyleVideos = teacherStyleVideoService.selectListByUserId(userId);
-        detail.setStyleVideo(teacherStyleVideos);
-        return detail;
+        return HttpResponseResult.status(true);
     }
 
     private HttpResponseResult<Boolean> doCreate(TeacherSubmitReq teacherSubmitReq) throws BizException {
         //判断手机号
-        SysUser sysUser = userFeignService.queryUserByMobile(teacherSubmitReq.getPhone());
+        SysUser sysUser = employeeDao.queryByPhone(teacherSubmitReq.getPhone());
         if (null != sysUser) {
             return HttpResponseResult.failed("该手机号已经被注册");
         }
         sysUser = new SysUser();
         sysUser = getUserDetil(sysUser, teacherSubmitReq);
+        sysUser.setUserType(SysUserType.TEACHER.getCode());
         //初始密码,手机号后6位
         String password = sysUser.getPhone().substring(sysUser.getPhone().length() - 6);
         sysUser.setPassword(new BCryptPasswordEncoder().encode(password));
-
+        //插入
+        Long id = employeeDao.insertSysUser(sysUser);
+        if (null == id) {
+            throw new BizException("插入用户信息失败");
+        }
         //插入老师表
         Teacher teacher = new Teacher();
+        teacher.setUserId(id);
         teacher = getTeacherDetil(teacher, teacherSubmitReq);
         baseMapper.insert(teacher);
-
-        sysUser.setId(teacher.getUserId());
-        //插入
-        HttpResponseResult<Integer> re = userFeignService.add(sysUser);
-        if (!re.getStatus()) {
-            throw new BizException("插入用户信息失败");
-        }
         return HttpResponseResult.succeed(true);
     }
 
     private HttpResponseResult<Boolean> doUpdate(TeacherSubmitReq teacherSubmitReq) {
         //判断手机号
-        SysUser sysUser = userFeignService.queryUserByMobile(teacherSubmitReq.getPhone());
+        SysUser sysUser = employeeDao.queryByPhone(teacherSubmitReq.getPhone());
         if (null != sysUser && !teacherSubmitReq.getUserId().equals(sysUser.getId())) {
             return HttpResponseResult.failed("该手机号已经被注册");
         }
@@ -118,8 +118,8 @@ public class TeacherServiceImpl extends ServiceImpl<TeacherDao, Teacher> impleme
         teacher = getTeacherDetil(teacher, teacherSubmitReq);
         baseMapper.updateById(teacher);
 
-        HttpResponseResult<Integer> re = userFeignService.update(sysUser);
-        if (!re.getStatus()) {
+        Integer num = employeeDao.updateSysUser(sysUser);
+        if (num <= 0) {
             throw new BizException("更新用户信息失败");
         }
         return HttpResponseResult.succeed(true);
@@ -145,7 +145,6 @@ public class TeacherServiceImpl extends ServiceImpl<TeacherDao, Teacher> impleme
         String phone = teacherSubmitReq.getPhone();
         sysUser.setUsername(teacherSubmitReq.getUsername());
         sysUser.setPhone(phone);
-        sysUser.setUserType(SysUserType.TEACHER.getCode());
 
         //身份证解析信息
         IdcardInfoExtractor idcardInfo = idcardInfoExtractorResult.getData();
@@ -180,6 +179,4 @@ public class TeacherServiceImpl extends ServiceImpl<TeacherDao, Teacher> impleme
         }
         return teacher;
     }
-
-
 }

+ 10 - 0
cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/vo/StudentVo.java

@@ -36,6 +36,8 @@ public class StudentVo extends Student {
     private Date birthdate;
     @ApiModelProperty(value = "年龄")
     private Integer age;
+    @ApiModelProperty(value = "是否会员 0否 1是")
+    private Boolean isVip;
 
     public String getAvatar() {
         return avatar;
@@ -116,4 +118,12 @@ public class StudentVo extends Student {
     public void setAge(Integer age) {
         this.age = age;
     }
+
+    public Boolean getVip() {
+        return isVip;
+    }
+
+    public void setVip(Boolean vip) {
+        isVip = vip;
+    }
 }

+ 194 - 94
cooleshow-user/user-biz/src/main/resources/config/mybatis/EmployeeMapper.xml

@@ -8,28 +8,17 @@
 
     <resultMap type="com.yonge.cooleshow.biz.dal.entity.Employee" id="Employee">
         <result column="user_id_" property="userId"/>
-        <result column="organ_id_list_" property="organIdList"/>
         <result column="job_nature_" property="jobNature"/>
         <result column="is_probation_period_" property="isProbationPeriod"/>
         <result column="education_background_" property="educationBackground"/>
         <result column="graduate_school_" property="graduateSchool"/>
         <result column="technical_titles_" property="technicalTitles"/>
         <result column="entry_date_" property="entryDate"/>
-        <result column="certificate_type_" property="certificateType"/>
-        <result column="certificate_num_" property="certificateNum"/>
         <result column="update_time_" property="updateTime"/>
         <result column="create_time_" property="createTime"/>
         <result column="introduction_" property="introduction"/>
         <result column="demission_date_" property="demissionDate"/>
         <result column="contact_address_" property="contactAddress"/>
-        <result column="postal_code_" property="postalCode"/>
-        <result column="dept_id_" property="deptId"/>
-        <result column="dept_ids_" property="deptIds"/>
-        <result column="post_ids_" property="postIds"/>
-        <result column="post_dept_ids_" property="postDeptIds"/>
-        <result column="bank_card_" property="bankCard"/>
-        <result column="open_bank_address_" property="openBankAddress"/>
-		<result column="tenant_id_" property="tenantId" />
     </resultMap>
 
     <resultMap type="com.yonge.cooleshow.auth.api.entity.SysUser" id="SysUser">
@@ -39,7 +28,6 @@
         <result column="salt_" property="salt"/>
         <result column="phone_" property="phone"/>
         <result column="avatar_" property="avatar"/>
-        <result column="organ_id_" property="organId"/>
         <result column="create_time_" property="createTime"/>
         <result column="update_time_" property="updateTime"/>
         <result column="lock_flag_" property="lockFlag"/>
@@ -57,17 +45,145 @@
         <result column="wechat_id_" property="wechatId"/>
     </resultMap>
 
-    <!-- 根据主键查询一条记录 -->
-    <select id="get" resultMap="Employee">
-		SELECT * FROM employee WHERE user_id_ = #{userId}
-	</select>
+    <sql id="baseColumns">
+         t.user_id_ as "userId"
+        , t.job_nature_ as "jobNature"
+        , t.is_probation_period_ as "isProbationPeriod"
+        , t.education_background_ as "educationBackground"
+        , t.graduate_school_ as "graduateSchool"
+        , t.technical_titles_ as "technicalTitles"
+        , t.entry_date_ as "entryDate"
+        , t.update_time_ as "updateTime"
+        , t.create_time_ as "createTime"
+        , t.introduction_ as "introduction"
+        , t.demission_date_ as "demissionDate"
+        , t.contact_address_ as "contactAddress"
+        </sql>
 
-    <!-- 全查询 -->
-    <select id="findAll" resultMap="Employee">
-		SELECT * FROM employee ORDER BY user_id_
-	</select>
+    <select id="detail" resultType="com.yonge.cooleshow.biz.dal.entity.Employee">
+        SELECT
+            <include refid="baseColumns" />,
+            username_ as username,
+            phone_ as phone,
+            gender_ as gender
+        FROM employee t
+        left join sys_user u on t.user_id_ = u.id_
+        where t.user_id_ = #{userId}
+    </select>
+
+    <select id="queryPage" resultType="com.yonge.cooleshow.biz.dal.entity.Employee">
+        SELECT
+            <include refid="baseColumns" />,
+            username_ as username,
+            phone_ as phone,
+            gender_ as gender,
+            lock_flag_ as lockFlag
+        FROM employee
+        left join sys_user u on t.user_id_ = u.id
+        <where>
+            <if test="null != param.search and '' != param.search">
+                AND (
+                t.user_id_ LIKE CONCAT('%', #{param.search}, '%') or
+                u.username_ LIKE CONCAT('%', #{param.search}, '%') or
+                u.phone_ LIKE CONCAT('%', #{param.search}, '%')
+                )
+            </if>
+            <if test="null != param.gender">
+                and u.gender_ = #{param.gender}
+            </if>
+            <if test="null != param.lockFlag">
+                and u.lock_flag_ = #{param.lockFlag}
+            </if>
+            <if test="param.startTime !=null">
+                <![CDATA[AND t.create_time_ >= #{param.startTime} ]]>
+            </if>
+            <if test="param.endTime !=null">
+                <![CDATA[AND t.create_time_ <= #{param.endTime} ]]>
+            </if>
+        </where>
+        ORDER BY user_id_
+        <include refid="global.limit"/>
+    </select>
+
+    <insert id="insertSysUser" parameterType="com.yonge.cooleshow.auth.api.entity.SysUser" useGeneratedKeys="true" keyColumn="id"
+            keyProperty="id">
+        INSERT INTO sys_user
+        (is_super_admin_,im_token_,id_,username_,salt_,phone_,avatar_,create_time_,update_time_,wx_openid_,qq_openid_,user_type_,
+        gender_,nation_,birthdate_,email_,id_card_no_,wechat_id_,real_name_,certificate_type_)
+        VALUES(#{isSuperAdmin},#{imToken},#{id},#{username},#{salt},#{phone},#{avatar},now(),now(),#{wxOpenid},#{qqOpenid},#{userType},
+        #{gender},#{nation},#{birthdate},#{email},#{idCardNo},#{wechatId},#{realName},#{certificateType})
+    </insert>
+
+    <update id="updateSysUser" parameterType="com.yonge.cooleshow.auth.api.entity.SysUser">
+        UPDATE sys_user
+        <set>
+            <if test="delFlag != null">
+                del_flag_ = #{delFlag, typeHandler=com.yonge.cooleshow.common.dal.CustomEnumTypeHandler},
+            </if>
+            <if test="wxOpenid != null and wxOpenid != ''">
+                wx_openid_ = #{wxOpenid},
+            </if>
+            <if test="avatar != null and avatar != ''">
+                avatar_ = #{avatar},
+            </if>
+            <if test="email != null and email != ''">
+                email_ = #{email},
+            </if>
+            <if test="gender != null">
+                gender_ = #{gender},
+            </if>
+            <if test="salt != null and salt != ''">
+                salt_ = #{salt},
+            </if>
+            <if test="username != null and username != ''">
+                username_ = #{username},
+            </if>
+            <if test="userType != null and userType != ''">
+                user_type_ = #{userType},
+            </if>
+            <if test="updateTime != null">
+                update_time_ = NOW(),
+            </if>
+            <if test="lockFlag != null">
+                lock_flag_ = #{lockFlag},
+            </if>
+            <if test="birthdate != null">
+                birthdate_ = #{birthdate},
+            </if>
+            <if test="phone != null and phone != ''">
+                phone_ = #{phone},
+            </if>
+            <if test="qqOpenid != null and qqOpenid != ''">
+                qq_openid_ = #{qqOpenid},
+            </if>
+            <if test="nation != null and nation != ''">
+                nation_ = #{nation},
+            </if>
+            <if test="imToken != null and imToken != ''">
+                im_token_ = #{imToken},
+            </if>
+            <if test="idCardNo != null and idCardNo != ''">
+                id_card_no_ = #{idCardNo},
+            </if>
+            <if test="password != null and password != ''">
+                password_ = #{password},
+            </if>
+            <if test="wechatId != null and wechatId != ''">
+                wechat_id_ = #{wechatId},
+            </if>
+            <if test="realName != null and realName != ''">
+                real_name_ = #{realName},
+            </if>
+            <if test="isSuperAdmin != null">
+                is_super_admin_ = #{isSuperAdmin},
+            </if>
+            <if test="certificateType != null">
+                certificate_type_ = #{certificateType},
+            </if>
+        </set>
+        WHERE id_ = #{id}
+    </update>
 
-    <!-- 向数据库增加一条记录 -->
     <insert id="insert" parameterType="com.yonge.cooleshow.biz.dal.entity.Employee" useGeneratedKeys="true" keyColumn="id"
             keyProperty="id">
         INSERT INTO employee
@@ -77,6 +193,43 @@
         #{technicalTitles},#{entryDate},now(),now(),#{introduction},#{demissionDate},#{contactAddress})
     </insert>
 
+    <update id="update" parameterType="com.yonge.cooleshow.biz.dal.entity.Employee">
+        UPDATE employee
+        <set>
+            <if test="jobNature != null">
+                job_nature_ = #{jobNature},
+            </if>
+            <if test="isProbationPeriod != null">
+                is_probation_period_ = #{isProbationPeriod},
+            </if>
+            <if test="educationBackground != null">
+                education_background_ = #{educationBackground},
+            </if>
+            <if test="graduateSchool != null">
+                graduate_school_ = #{graduateSchool},
+            </if>
+            <if test="technicalTitles != null">
+                technical_titles_ = #{technicalTitles},
+            </if>
+            <if test="entryDate != null">
+                entry_date_ = #{entryDate},
+            </if>
+            <if test="updateTime != null">
+                update_time_ = NOW(),
+            </if>
+            <if test="introduction != null">
+                introduction_ = #{introduction},
+            </if>
+            <if test="demissionDate != null">
+                demission_date_ = #{demissionDate},
+            </if>
+            <if test="contactAddress != null">
+                contact_address_ = #{contactAddress},
+            </if>
+        </set>
+        WHERE user_id_ = #{userId}
+    </update>
+
     <insert id="batchAddEmployeeRole">
         INSERT INTO sys_user_role(user_id_,role_id_) values
         <foreach collection="roleIds" item="item" index="index" separator=",">
@@ -91,6 +244,25 @@
         </foreach>
     </insert>
 
+    <select id="querySysUserByPhone" resultMap="SysUser">
+		select * from sys_user where phone_ = #{phone} OR username_ = #{phone} LIMIT 1 FOR UPDATE
+	</select>
+
+
+
+
+
+    <!-- 根据主键查询一条记录 -->
+    <select id="get" resultMap="Employee">
+		SELECT * FROM employee WHERE user_id_ = #{userId}
+	</select>
+
+    <!-- 全查询 -->
+    <select id="findAll" resultMap="Employee">
+		SELECT * FROM employee ORDER BY user_id_
+	</select>
+
+
     <delete id="delRoleMenu">
         DELETE FROM `sys_role_menu`
         WHERE  menu_id_ in
@@ -111,79 +283,13 @@
 		select * from sys_user where phone_ = #{phone} OR username_ = #{phone}
 	</select>
 
-    <!-- 根据主键查询一条记录 -->
-    <update id="update" parameterType="com.yonge.cooleshow.biz.dal.entity.Employee">
-        UPDATE employee
-        <set>
-            <if test="contactAddress != null">
-                contact_address_ = #{contactAddress},
-            </if>
-            <if test="postalCode != null">
-                postal_code_ = #{postalCode},
-            </if>
-            <if test="isProbationPeriod != null">
-                is_probation_period_ = #{isProbationPeriod},
-            </if>
-            <if test="graduateSchool != null">
-                graduate_school_ = #{graduateSchool},
-            </if>
-            <if test="organIdList != null">
-                organ_id_list_ = #{organIdList},
-            </if>
-            <if test="introduction != null">
-                introduction_ = #{introduction},
-            </if>
-            <if test="technicalTitles != null">
-                technical_titles_ = #{technicalTitles},
-            </if>
-            <if test="entryDate != null">
-                entry_date_ = #{entryDate},
-            </if>
-            <if test="jobNature != null">
-                job_nature_ = #{jobNature},
-            </if>
-            <if test="certificateType != null">
-                certificate_type_ = #{certificateType},
-            </if>
-            <if test="updateTime != null">
-                update_time_ = NOW(),
-            </if>
-            <if test="educationBackground != null">
-                education_background_ = #{educationBackground},
-            </if>
-            <if test="certificateNum != null">
-                certificate_num_ = #{certificateNum},
-            </if>
-            <if test="demissionDate != null">
-                demission_date_ = #{demissionDate},
-            </if>
-                dept_id_ = #{deptId},
-            <if test="deptIds != null">
-                dept_ids_ = #{deptIds},
-            </if>
-            <if test="postIds != null">
-                post_ids_ = #{postIds},
-            </if>
-            <if test="postDeptIds != null">
-                post_dept_ids_ = #{postDeptIds},
-            </if>
-        </set>
-        WHERE user_id_ = #{userId} and tenant_id_ = #{tenantId}
-    </update>
-
     <update id="updatePasswordReq">
         UPDATE sys_user SET password_ = #{password} WHERE id_ = #{userID}
     </update>
 
-    <update id="updateUserLockStatus">
-		UPDATE sys_user SET lock_flag_ = IF(lock_flag_=0,1,0) WHERE id_=#{userID}
-	</update>
     <update id="updateUserDemissionDate">
         UPDATE employee SET demission_date_ = IF(demission_date_ IS NULL,now(),NULL) WHERE user_id_=#{userID}
     </update>
-    <update id="updateUserLock">
-        UPDATE sys_user SET lock_flag_ = #{status} WHERE id_=#{userID}
-    </update>
 
     <!-- 根据主键删除一条记录 -->
     <delete id="delete">
@@ -193,18 +299,12 @@
         DELETE FROM sys_user_role WHERE user_id_ = #{userId}
     </delete>
 
-    <!-- 分页查询 -->
-    <select id="queryPage" resultMap="Employee" parameterType="map">
-        SELECT * FROM employee where tenant_id_ = #{tenantId} ORDER BY user_id_
-        <include refid="global.limit"/>
-    </select>
-
     <!-- 查询当前表的总记录数 -->
     <select id="queryCount" resultType="int">
 		SELECT COUNT(*) FROM employee where tenant_id_ = #{tenantId}
 	</select>
 
-    <select id="queryUserRole" resultType="java.lang.Integer">
+    <select id="queryUserRole" resultType="java.lang.Long">
         SELECT sur.role_id_ FROM sys_user_role sur WHERE sur.user_id_ = #{userId}
     </select>
 

+ 55 - 34
cooleshow-user/user-biz/src/main/resources/config/mybatis/StudentMapper.xml

@@ -1,18 +1,18 @@
 <?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.yonge.cooleshow.biz.dal.dao.StudentDao">
-	<resultMap id="BaseResultMap" type="com.yonge.cooleshow.biz.dal.entity.Student">
-            <result column="user_id_" property="userId" />
-	        <result column="subject_id_list_" property="subjectIdList" />
-	        <result column="member_rank_setting_id_" property="memberRankSettingId" />
-	        <result column="membership_start_time_" property="membershipStartTime" />
-	        <result column="membership_end_time_" property="membershipEndTime" />
-	        <result column="cloud_study_sequence_days_" property="cloudStudySequenceDays" />
-	        <result column="cloud_study_use_last_day_" property="cloudStudyUseLastDay" />
-	        <result column="create_time_" property="createTime" />
-	        <result column="update_time_" property="updateTime" />
-		</resultMap>  
-    
+    <resultMap id="BaseResultMap" type="com.yonge.cooleshow.biz.dal.entity.Student">
+        <result column="user_id_" property="userId"/>
+        <result column="subject_id_list_" property="subjectIdList"/>
+        <result column="member_rank_setting_id_" property="memberRankSettingId"/>
+        <result column="membership_start_time_" property="membershipStartTime"/>
+        <result column="membership_end_time_" property="membershipEndTime"/>
+        <result column="cloud_study_sequence_days_" property="cloudStudySequenceDays"/>
+        <result column="cloud_study_use_last_day_" property="cloudStudyUseLastDay"/>
+        <result column="create_time_" property="createTime"/>
+        <result column="update_time_" property="updateTime"/>
+    </resultMap>
+
     <!-- 表字段 -->
     <sql id="baseColumns">
          t.user_id_ as "userId"
@@ -25,8 +25,22 @@
         , t.cloud_study_use_last_day_ as "cloudStudyUseLastDay"
         , t.create_time_ as "createTime"
         , t.update_time_ as "updateTime"
-        </sql> 
-    
+        </sql>
+    <select id="detail" resultType="com.yonge.cooleshow.biz.dal.vo.StudentVo">
+        SELECT
+            <include refid="baseColumns"/>,
+            u.avatar_ as avatar,
+            u.username_ as username,
+            u.gender_ as gender,
+            u.birthdate_ as birthdate,
+            u.phone_ as phone,
+            (case when isnull(u.id_card_no_) then 0 else 1 end) as isReal,
+            u.real_name_ as realName,
+            id_card_no_ as idCardNo
+        FROM student t
+        left join sys_user u on t.user_id_ = u.id_
+        where t.user_id_ = #{userId}
+    </select>
     <!-- 分页查询 -->
     <select id="selectPage" resultType="com.yonge.cooleshow.biz.dal.vo.StudentVo">
         SELECT
@@ -34,34 +48,41 @@
             u.username_ as username,
             u.gender_ as gender,
             u.birthdate_ as birthdate,
-
+            TIMESTAMPDIFF(YEAR, u.birthdate_, CURDATE()) as age,
             u.phone_ as phone,
-            (case when isnull(u.id_card_no_) then 0 else 1 end) as isReal
+            !isnull(birthdate_) as isReal,
+            (membership_end_time_ > now()) as isVip
         FROM student t
         left join sys_user u on t.user_id_ = u.id
         <where>
             <if test="null != param.search and '' != param.search">
                 AND (
-                t.user_id_ LIKE CONCAT('%', #{param.search}, '%') or
-                u.username_ LIKE CONCAT('%', #{param.search}, '%') or
-                u.phone_ LIKE CONCAT('%', #{param.search}, '%')
+                    t.user_id_ LIKE CONCAT('%', #{param.search}, '%') or
+                    u.username_ LIKE CONCAT('%', #{param.search}, '%') or
+                    u.phone_ LIKE CONCAT('%', #{param.search}, '%')
                 )
             </if>
+            <if test="null != param.gender">
+                and u.gender_ = #{param.gender}
+            </if>
+            <if test="null != param.subjectIdList and '' != param.subjectIdList">
+                and find_in_set(#{param.subjectIdList},t.subject_id_list_)
+            </if>
+            <if test="null != param.isVip">
+                <if test="true == param.isVip">
+                    and t.membership_end_time_ &gt; now()
+                </if>
+                <if test="false == param.isVip">
+                    and (t.membership_end_time_ is null or t.membership_end_time_ &lt;= now())
+                </if>
+            </if>
+            <if test="param.startTime !=null">
+                <![CDATA[AND t.create_time_ >= #{param.startTime} ]]>
+            </if>
+            <if test="param.endTime !=null">
+                <![CDATA[AND t.create_time_ <= #{param.endTime} ]]>
+            </if>
         </where>
-	</select>
-    <select id="detail" resultType="com.yonge.cooleshow.biz.dal.vo.StudentVo">
-        SELECT
-            <include refid="baseColumns"/>,
-            u.avatar_ as avatar,
-            u.username_ as username,
-            u.gender_ as gender,
-            u.birthdate_ as birthdate,
-            u.phone_ as phone,
-            (case when isnull(u.id_card_no_) then 0 else 1 end) as isReal,
-            u.real_name_ as realName,
-            id_card_no_ as idCardNo
-        FROM student t
-        left join sys_user u on t.user_id_ = u.id_
-        where t.user_id_ = #{userId}
     </select>
+
 </mapper>

+ 13 - 13
cooleshow-user/user-biz/src/main/resources/config/mybatis/TeacherAuthMusicianRecordMapper.xml

@@ -22,6 +22,19 @@
         , t.update_time_ as "updateTime"
         </sql>
 
+	<select id="detail" resultType="com.yonge.cooleshow.biz.dal.vo.MusicianAuthEntryRecordVo">
+		select
+			<include refid="baseColumns"/>,
+			u.real_name_ as realName,
+			u.id_card_no_ as idCardNo,
+			(
+			SELECT u.username_ FROM sys_user u WHERE u.id_ = t.verify_user_id_
+			) as verifyUser
+		from teacher_auth_entry_record t
+		left join sys_user u on t.user_id_ = u.id_
+		where t.id_ = #{id}
+	</select>
+
 	<!-- 分页查询 -->
 	<select id="selectPage" resultType = "com.yonge.cooleshow.biz.dal.vo.MusicianAuthEntryRecordVo">
 		SELECT
@@ -54,17 +67,4 @@
 			</if>
 		</where>
 	</select>
-
-	<select id="detail" resultType="com.yonge.cooleshow.biz.dal.vo.MusicianAuthEntryRecordVo">
-		select
-			<include refid="baseColumns"/>,
-			u.real_name_ as realName,
-			u.id_card_no_ as idCardNo,
-			(
-				SELECT u.username_ FROM sys_user u WHERE u.id_ = t.verify_user_id_
-			) as verifyUser
-		from teacher_auth_entry_record t
-		left join sys_user u on t.user_id_ = u.id_
-		where t.id_ = #{id}
-	</select>
 </mapper>

+ 1 - 1
cooleshow-user/user-biz/src/main/resources/config/mybatis/TeacherMapper.xml

@@ -68,7 +68,7 @@
                 )
             </if>
             <if test="null != param.teacherType and '' != param.teacherType">
-                and find_in_set(#{teacherType},t.teacher_type_)
+                and find_in_set(#{param.teacherType},t.teacher_type_)
             </if>
         </where>
     </select>

+ 0 - 1
cooleshow-user/user-student/src/main/java/com/yonge/cooleshow/student/controller/StudentController.java

@@ -36,7 +36,6 @@ import com.yonge.cooleshow.biz.dal.service.StudentService;
 @RequestMapping("/Student")
 @Api(value = "学生表", tags = "学生表")
 public class StudentController extends BaseController {
-
     @Autowired
     private StudentService studentService;
     @Autowired