Ver Fonte

Merge branch 'dev_1_3_3_20220822' of http://git.dayaedu.com/yonge/cooleshow into dev_1_3_3_20220822

liujunchi há 2 anos atrás
pai
commit
c2f4a39c1f
22 ficheiros alterados com 475 adições e 87 exclusões
  1. 1 1
      cooleshow-auth/auth-server/src/main/java/com/yonge/cooleshow/auth/web/controller/TokenController.java
  2. 11 13
      cooleshow-auth/auth-server/src/main/java/com/yonge/cooleshow/auth/web/controller/UserController.java
  3. 39 0
      cooleshow-common/src/main/java/com/yonge/cooleshow/common/enums/UserStatusEnum.java
  4. 37 0
      cooleshow-user/user-admin/src/main/java/com/yonge/cooleshow/admin/controller/EmployeeController.java
  5. 85 17
      cooleshow-user/user-admin/src/main/java/com/yonge/cooleshow/admin/controller/StudentController.java
  6. 71 10
      cooleshow-user/user-admin/src/main/java/com/yonge/cooleshow/admin/controller/TeacherController.java
  7. 0 1
      cooleshow-user/user-admin/src/main/java/com/yonge/cooleshow/admin/controller/UserAccountRecordController.java
  8. 29 5
      cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/dto/search/EmployeeSearch.java
  9. 20 0
      cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/dto/search/StudentSearch.java
  10. 23 0
      cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/dto/search/TeacherSearch.java
  11. 2 2
      cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/service/impl/TeacherAuthEntryRecordServiceImpl.java
  12. 2 0
      cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/service/impl/TeacherServiceImpl.java
  13. 30 15
      cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/vo/EmployeeVo.java
  14. 19 5
      cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/vo/StudentVo.java
  15. 14 1
      cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/vo/TeacherVo.java
  16. 1 1
      cooleshow-user/user-biz/src/main/resources/config/mybatis/EmployeeMapper.xml
  17. 4 1
      cooleshow-user/user-biz/src/main/resources/config/mybatis/StudentMapper.xml
  18. 1 1
      cooleshow-user/user-biz/src/main/resources/config/mybatis/TeacherAuthEntryRecordMapper.xml
  19. 6 1
      cooleshow-user/user-biz/src/main/resources/config/mybatis/TeacherMapper.xml
  20. 16 11
      cooleshow-user/user-teacher/src/main/java/com/yonge/cooleshow/teacher/controller/TeacherController.java
  21. 2 2
      cooleshow-user/user-teacher/src/main/java/com/yonge/cooleshow/teacher/controller/VideoLessonGroupController.java
  22. 62 0
      cooleshow-user/user-website/src/main/java/com/yonge/cooleshow/website/controller/VideoLessonGroupController.java

+ 1 - 1
cooleshow-auth/auth-server/src/main/java/com/yonge/cooleshow/auth/web/controller/TokenController.java

@@ -284,7 +284,7 @@ public class TokenController extends BaseController {
         url += "&qrCode=" + code;
         url += "&loginUserType=" + authUser.getClientId().toUpperCase();
 
-        HttpEntity<MultiValueMap<String, String>> entity = new HttpEntity<>(headers);
+        HttpEntity<LinkedMultiValueMap<String, String>> entity = new HttpEntity<>(headers);
 
         ResponseEntity<String> resp = restTemplate.exchange(url, HttpMethod.POST, entity, String.class);
 

+ 11 - 13
cooleshow-auth/auth-server/src/main/java/com/yonge/cooleshow/auth/web/controller/UserController.java

@@ -1,24 +1,16 @@
 package com.yonge.cooleshow.auth.web.controller;
 
-import com.yonge.cooleshow.common.constant.SysConfigConstant;
-import com.yonge.cooleshow.common.enums.SysUserType;
-import com.yonge.cooleshow.common.enums.UserLockFlag;
-import com.yonge.toolset.base.util.StringUtil;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiImplicitParam;
 import io.swagger.annotations.ApiImplicitParams;
 import io.swagger.annotations.ApiOperation;
 
-import java.time.Duration;
-import java.time.LocalDateTime;
-import java.time.ZoneId;
 import java.util.Date;
 import java.util.List;
 
 import javax.validation.Valid;
 
 import org.apache.commons.lang3.StringUtils;
-import org.joda.time.LocalDate;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.beans.factory.annotation.Value;
 import org.springframework.http.HttpStatus;
@@ -48,13 +40,17 @@ import com.yonge.cooleshow.auth.service.SysUserRoleService;
 import com.yonge.cooleshow.auth.service.SysUserService;
 import com.yonge.cooleshow.auth.web.controller.queryInfo.RoleQueryInfo;
 import com.yonge.cooleshow.common.constant.CommonConstants;
+import com.yonge.cooleshow.common.constant.SysConfigConstant;
 import com.yonge.cooleshow.common.controller.BaseController;
 import com.yonge.cooleshow.common.entity.HttpResponseResult;
-import com.yonge.toolset.base.exception.BizException;
+import com.yonge.cooleshow.common.enums.SysUserType;
+import com.yonge.cooleshow.common.enums.UserStatusEnum;
 import com.yonge.cooleshow.common.security.AuthUser;
 import com.yonge.cooleshow.common.security.SecurityConstants;
 import com.yonge.cooleshow.common.security.SecurityUtils;
 import com.yonge.cooleshow.common.service.IdGeneratorService;
+import com.yonge.toolset.base.exception.BizException;
+import com.yonge.toolset.base.util.StringUtil;
 import com.yonge.toolset.thirdparty.user.realname.RealnameAuthenticationPlugin;
 import com.yonge.toolset.utils.date.DateUtil;
 import com.yonge.toolset.utils.idcard.IdcardInfoExtractor;
@@ -333,7 +329,7 @@ public class UserController extends BaseController {
     /**
      * 启用/冻结
      */
-    @GetMapping(value = "/changeLock/{userId}/{lockFlag}/{userType}")
+    @GetMapping(value = "/changeLock/{userId}/{userStatus}/{userType}")
     @ApiImplicitParams({
             @ApiImplicitParam(name = "userId", value = "userId", paramType = "path", dataType = "long", required = true),
             @ApiImplicitParam(name = "lockFlag", value = "锁定状态 0-正常, 1-锁定", paramType = "path", dataType = "int", required = true),
@@ -341,8 +337,8 @@ public class UserController extends BaseController {
     })
     @ApiOperation(value = "启用/冻结", notes = "传入lockFlag")
     public HttpResponseResult<Boolean> changeLock(@PathVariable("userId") Long userId
-            , @PathVariable("lockFlag") Integer lockFlag, @PathVariable("userType") SysUserType sysUserType) {
-        if (userId == null || lockFlag == null || sysUserType == null) {
+            , @PathVariable("userStatus") String userStatus, @PathVariable("userType") SysUserType sysUserType) {
+        if (userId == null || StringUtils.isBlank(userStatus) || sysUserType == null) {
             return failed("参数校验异常");
         }
         SysUser sysUser = sysUserService.queryUserInfo(userId);
@@ -352,13 +348,15 @@ public class UserController extends BaseController {
         if (sysUser.getId() != userId.longValue()) {
             return failed("非法操作");
         }
+        UserStatusEnum userStatusEnum = UserStatusEnum.codeOf(userStatus);
         //退出对应用户
-        if (UserLockFlag.LOCKED.getCode().equals(lockFlag)) {
+        if (UserStatusEnum.NORMAL != userStatusEnum) {
             loginOut(sysUser, sysUserType);
         }
         //sysUser.setLockFlag(lockFlag.getCode());
         //sysUser.setUpdateTime(new Date());
         //sysUserService.update(sysUser);
+        Integer lockFlag = userStatusEnum == UserStatusEnum.NORMAL ? 0 : 1;
         sysUserService.updateLockStatus(userId, lockFlag, sysUserType.getCode());
         return succeed();
     }

+ 39 - 0
cooleshow-common/src/main/java/com/yonge/cooleshow/common/enums/UserStatusEnum.java

@@ -0,0 +1,39 @@
+package com.yonge.cooleshow.common.enums;
+
+import com.baomidou.mybatisplus.annotation.EnumValue;
+import com.yonge.toolset.base.enums.BaseEnum;
+
+public enum UserStatusEnum implements BaseEnum<String, UserStatusEnum> {
+
+	NORMAL("正常"),
+	LOCKED("冻结"),
+    CLOSED("注销"),
+    ;
+
+    @EnumValue
+    private String code;
+    private String msg;
+
+    UserStatusEnum(String msg) {
+        this.code = this.name();
+        this.msg = msg;
+    }
+
+    @Override
+    public String getCode() {
+        return this.code;
+    }
+
+    public String getMsg() {
+        return msg;
+    }
+
+	public static UserStatusEnum codeOf(String code) {
+		for (UserStatusEnum userStatus : UserStatusEnum.values()) {
+			if (code.equals(userStatus.getCode())) {
+				return userStatus;
+			}
+		}
+		return null;
+	}
+}

+ 37 - 0
cooleshow-user/user-admin/src/main/java/com/yonge/cooleshow/admin/controller/EmployeeController.java

@@ -9,15 +9,22 @@ import com.yonge.cooleshow.biz.dal.dto.search.EmployeeSearch;
 import com.yonge.cooleshow.biz.dal.enums.GenderEnum;
 import com.yonge.toolset.mybatis.support.PageUtil;
 import com.yonge.cooleshow.biz.dal.vo.EmployeeVo;
+import com.yonge.cooleshow.biz.dal.vo.StudentVo;
 import com.yonge.cooleshow.common.entity.HttpResponseResult;
+import com.yonge.cooleshow.common.enums.UserLockFlag;
+import com.yonge.cooleshow.common.enums.UserStatusEnum;
+import com.yonge.cooleshow.common.enums.YesOrNoEnum;
 import com.yonge.toolset.base.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;
+import java.util.List;
 
+import org.apache.commons.lang3.StringUtils;
 import org.springframework.beans.BeanUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.security.access.prepost.PreAuthorize;
@@ -60,7 +67,37 @@ public class EmployeeController extends BaseController {
     @PreAuthorize("@pcs.hasPermissions('employee/page')")
     public HttpResponseResult<PageInfo<EmployeeVo>> page(@RequestBody EmployeeSearch query) {
         query.setSort("id_");
+    	
+    	if(StringUtils.isNotBlank(query.getUserStatus())){
+    		switch (query.getUserStatus()) {
+			case "LOCKED":
+				query.setDelFlag(YesOrNoEnum.NO);
+				query.setLockFlag(UserLockFlag.LOCKED);
+				break;
+			case "CLOSED":
+				query.setDelFlag(YesOrNoEnum.YES);
+				break;
+
+			default:
+				query.setDelFlag(YesOrNoEnum.NO);
+				query.setLockFlag(UserLockFlag.NORMAL);
+				break;
+			}
+    	}
         IPage<EmployeeVo> pages = employeeService.selectPage(PageUtil.getPage(query), query);
+		List<EmployeeVo> rows = pages.getRecords();
+		
+		for(EmployeeVo vo : rows){
+			if(vo.getDelFlag() == YesOrNoEnum.YES){
+				vo.setUserStatus(UserStatusEnum.CLOSED);
+			}else{
+				if(vo.getLockFlag() == UserLockFlag.LOCKED){
+					vo.setUserStatus(UserStatusEnum.LOCKED);
+				}else{
+					vo.setUserStatus(UserStatusEnum.NORMAL);
+				}
+			}
+		}
         return succeed(PageUtil.pageInfo(pages));
     }
 

+ 85 - 17
cooleshow-user/user-admin/src/main/java/com/yonge/cooleshow/admin/controller/StudentController.java

@@ -1,5 +1,10 @@
 package com.yonge.cooleshow.admin.controller;
 
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiImplicitParam;
+import io.swagger.annotations.ApiImplicitParams;
+import io.swagger.annotations.ApiOperation;
+
 import java.io.IOException;
 import java.io.OutputStream;
 import java.util.Date;
@@ -8,36 +13,39 @@ import java.util.List;
 import javax.servlet.http.HttpServletResponse;
 import javax.validation.Valid;
 
+import org.apache.commons.lang3.StringUtils;
+import org.apache.poi.hssf.usermodel.HSSFWorkbook;
+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.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.baomidou.mybatisplus.core.metadata.IPage;
 import com.yonge.cooleshow.auth.api.client.SysUserFeignService;
 import com.yonge.cooleshow.auth.api.entity.SysUser;
 import com.yonge.cooleshow.biz.dal.dto.VipSubmitReq;
 import com.yonge.cooleshow.biz.dal.dto.search.StudentSearch;
-import com.yonge.cooleshow.biz.dal.dto.search.TeacherSearch;
 import com.yonge.cooleshow.biz.dal.dto.search.VipRecordSearch;
 import com.yonge.cooleshow.biz.dal.enums.ClientEnum;
 import com.yonge.cooleshow.biz.dal.service.MemberPriceSettingsService;
 import com.yonge.cooleshow.biz.dal.service.StudentService;
-import com.yonge.cooleshow.biz.dal.service.TeacherService;
 import com.yonge.cooleshow.biz.dal.service.VipCardRecordService;
-import com.yonge.cooleshow.biz.dal.vo.VipCardRecordVo;
-import com.yonge.cooleshow.biz.dal.vo.VipRecordVo;
-import com.yonge.toolset.mybatis.support.PageUtil;
-import com.yonge.toolset.utils.date.DateUtil;
-import com.yonge.toolset.utils.excel.POIUtil;
 import com.yonge.cooleshow.biz.dal.vo.StudentVo;
-import com.yonge.cooleshow.biz.dal.vo.TeacherVo;
+import com.yonge.cooleshow.biz.dal.vo.VipRecordVo;
 import com.yonge.cooleshow.common.controller.BaseController;
 import com.yonge.cooleshow.common.entity.HttpResponseResult;
+import com.yonge.cooleshow.common.enums.UserLockFlag;
+import com.yonge.cooleshow.common.enums.UserStatusEnum;
+import com.yonge.cooleshow.common.enums.YesOrNoEnum;
 import com.yonge.toolset.base.exception.BizException;
 import com.yonge.toolset.base.page.PageInfo;
-
-import io.swagger.annotations.*;
-
-import org.apache.poi.hssf.usermodel.HSSFWorkbook;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.security.access.prepost.PreAuthorize;
-import org.springframework.web.bind.annotation.*;
+import com.yonge.toolset.mybatis.support.PageUtil;
+import com.yonge.toolset.utils.date.DateUtil;
+import com.yonge.toolset.utils.excel.POIUtil;
 
 @RestController
 @RequestMapping("/student")
@@ -72,7 +80,38 @@ public class StudentController extends BaseController {
     @ApiOperation(value = "查询分页", notes = "传入StudentSearch")
     @PreAuthorize("@pcs.hasPermissions('student/page')")
     public HttpResponseResult<PageInfo<StudentVo>> page(@RequestBody StudentSearch query) {
+    	
+    	if(StringUtils.isNotBlank(query.getUserStatus())){
+    		switch (query.getUserStatus()) {
+			case "LOCKED":
+				query.setDelFlag(YesOrNoEnum.NO);
+				query.setLockFlag(UserLockFlag.LOCKED);
+				break;
+			case "CLOSED":
+				query.setDelFlag(YesOrNoEnum.YES);
+				break;
+
+			default:
+				query.setDelFlag(YesOrNoEnum.NO);
+				query.setLockFlag(UserLockFlag.NORMAL);
+				break;
+			}
+    	}
+    	
 		IPage<StudentVo> pages = studentService.selectPage(PageUtil.getPage(query), query);
+		List<StudentVo> rows = pages.getRecords();
+		
+		for(StudentVo vo : rows){
+			if(vo.getDelFlag() == YesOrNoEnum.YES){
+				vo.setUserStatus(UserStatusEnum.CLOSED);
+			}else{
+				if(vo.getLockFlag() == UserLockFlag.LOCKED){
+					vo.setUserStatus(UserStatusEnum.LOCKED);
+				}else{
+					vo.setUserStatus(UserStatusEnum.NORMAL);
+				}
+			}
+		}
         return succeed(PageUtil.pageInfo(pages));
 	}
 
@@ -82,16 +121,45 @@ public class StudentController extends BaseController {
     public void export(HttpServletResponse response, @RequestBody StudentSearch queryInfo) throws IOException {
         queryInfo.setPage(1);
         queryInfo.setRows(49999);
+    	
+    	if(StringUtils.isNotBlank(queryInfo.getUserStatus())){
+    		switch (queryInfo.getUserStatus()) {
+			case "LOCKED":
+				queryInfo.setDelFlag(YesOrNoEnum.NO);
+				queryInfo.setLockFlag(UserLockFlag.LOCKED);
+				break;
+			case "CLOSED":
+				queryInfo.setDelFlag(YesOrNoEnum.YES);
+				break;
+
+			default:
+				queryInfo.setDelFlag(YesOrNoEnum.NO);
+				queryInfo.setLockFlag(UserLockFlag.NORMAL);
+				break;
+			}
+    	}
         List<StudentVo> rows = studentService.selectPage(PageUtil.getPage(queryInfo), queryInfo).getRecords();
         if (rows.size() < 1) {
             throw new BizException("没有可导出数据");
         }
+		
+		for(StudentVo vo : rows){
+			if(vo.getDelFlag() == YesOrNoEnum.YES){
+				vo.setUserStatus(UserStatusEnum.CLOSED);
+			}else{
+				if(vo.getLockFlag() == UserLockFlag.LOCKED){
+					vo.setUserStatus(UserStatusEnum.LOCKED);
+				}else{
+					vo.setUserStatus(UserStatusEnum.NORMAL);
+				}
+			}
+		}
         OutputStream outputStream = response.getOutputStream();
         try {
             HSSFWorkbook workbook = POIUtil.exportExcel(new String[]{"学生编号", "学生姓名", "真实姓名", "性别", "出生日期",
-                    "年龄", "专业", "手机号码", "是否是会员", "注册时间"}, new String[]{
+                    "年龄", "专业", "手机号码", "是否是会员", "注册时间","用户状态"}, new String[]{
                     "userId","username" , "realName", "gender.msg", "birthdate", "age", "subjectName", "phone",
-                    "isVip.msg", "createTime"}, rows);
+                    "isVip.msg", "createTime", "userStatus.msg"}, rows);
             response.setContentType("application/octet-stream");
             response.setHeader("Content-Disposition", "attac:wq" +
                     "hment;filename=学生列表-" + DateUtil.getDate(new Date()) + ".xls");

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

@@ -1,14 +1,5 @@
 package com.yonge.cooleshow.admin.controller;
 
-import com.yonge.cooleshow.auth.api.client.SysUserFeignService;
-import com.yonge.cooleshow.auth.api.entity.SysUser;
-import com.yonge.cooleshow.biz.dal.dto.VipSubmitReq;
-import com.yonge.cooleshow.biz.dal.dto.search.VipRecordSearch;
-import com.yonge.cooleshow.biz.dal.enums.ClientEnum;
-import com.yonge.cooleshow.biz.dal.service.MemberPriceSettingsService;
-import com.yonge.cooleshow.biz.dal.service.UserAccountService;
-import com.yonge.cooleshow.biz.dal.service.VipCardRecordService;
-import com.yonge.cooleshow.biz.dal.vo.VipRecordVo;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiImplicitParam;
 import io.swagger.annotations.ApiImplicitParams;
@@ -36,14 +27,25 @@ import org.springframework.web.bind.annotation.RequestMapping;
 import org.springframework.web.bind.annotation.RestController;
 
 import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.yonge.cooleshow.auth.api.client.SysUserFeignService;
+import com.yonge.cooleshow.auth.api.entity.SysUser;
+import com.yonge.cooleshow.biz.dal.dto.VipSubmitReq;
 import com.yonge.cooleshow.biz.dal.dto.req.TeacherSubmitReq;
 import com.yonge.cooleshow.biz.dal.dto.search.TeacherSearch;
+import com.yonge.cooleshow.biz.dal.dto.search.VipRecordSearch;
 import com.yonge.cooleshow.biz.dal.entity.TeacherStyleVideo;
 import com.yonge.cooleshow.biz.dal.enums.AuthStatusEnum;
+import com.yonge.cooleshow.biz.dal.enums.ClientEnum;
+import com.yonge.cooleshow.biz.dal.service.MemberPriceSettingsService;
 import com.yonge.cooleshow.biz.dal.service.TeacherService;
+import com.yonge.cooleshow.biz.dal.service.VipCardRecordService;
 import com.yonge.cooleshow.biz.dal.vo.TeacherVo;
+import com.yonge.cooleshow.biz.dal.vo.VipRecordVo;
 import com.yonge.cooleshow.common.controller.BaseController;
 import com.yonge.cooleshow.common.entity.HttpResponseResult;
+import com.yonge.cooleshow.common.enums.UserLockFlag;
+import com.yonge.cooleshow.common.enums.UserStatusEnum;
+import com.yonge.cooleshow.common.enums.YesOrNoEnum;
 import com.yonge.toolset.base.exception.BizException;
 import com.yonge.toolset.base.page.PageInfo;
 import com.yonge.toolset.mybatis.support.PageUtil;
@@ -93,7 +95,37 @@ public class TeacherController extends BaseController {
     @ApiOperation(value = "查询分页", notes = "传入teacher")
     @PreAuthorize("@pcs.hasPermissions('teacher/page')")
     public HttpResponseResult<PageInfo<TeacherVo>> page(@RequestBody TeacherSearch query) {
+    	
+    	if(StringUtils.isNotBlank(query.getUserStatus())){
+    		switch (query.getUserStatus()) {
+			case "LOCKED":
+				query.setDelFlag(YesOrNoEnum.NO);
+				query.setLockFlag(UserLockFlag.LOCKED);
+				break;
+			case "CLOSED":
+				query.setDelFlag(YesOrNoEnum.YES);
+				break;
+
+			default:
+				query.setDelFlag(YesOrNoEnum.NO);
+				query.setLockFlag(UserLockFlag.NORMAL);
+				break;
+			}
+    	}
         IPage<TeacherVo> pages = teacherService.selectPage(PageUtil.getPage(query), query);
+		List<TeacherVo> rows = pages.getRecords();
+		
+		for(TeacherVo vo : rows){
+			if(vo.getDelFlag() == YesOrNoEnum.YES){
+				vo.setUserStatus(UserStatusEnum.CLOSED);
+			}else{
+				if(vo.getLockFlag() == UserLockFlag.LOCKED){
+					vo.setUserStatus(UserStatusEnum.LOCKED);
+				}else{
+					vo.setUserStatus(UserStatusEnum.NORMAL);
+				}
+			}
+		}
         return succeed(PageUtil.pageInfo(pages));
     }
 
@@ -113,10 +145,39 @@ public class TeacherController extends BaseController {
     public void export(HttpServletResponse response, @RequestBody TeacherSearch queryInfo) throws IOException {
         queryInfo.setPage(1);
         queryInfo.setRows(49999);
+    	
+    	if(StringUtils.isNotBlank(queryInfo.getUserStatus())){
+    		switch (queryInfo.getUserStatus()) {
+			case "LOCKED":
+				queryInfo.setDelFlag(YesOrNoEnum.NO);
+				queryInfo.setLockFlag(UserLockFlag.LOCKED);
+				break;
+			case "CLOSED":
+				queryInfo.setDelFlag(YesOrNoEnum.YES);
+				break;
+
+			default:
+				queryInfo.setDelFlag(YesOrNoEnum.NO);
+				queryInfo.setLockFlag(UserLockFlag.NORMAL);
+				break;
+			}
+    	}
         List<TeacherVo> rows = teacherService.selectPage(PageUtil.getPage(queryInfo), queryInfo).getRecords();
         if (rows.size() < 1) {
             throw new BizException("没有可导出数据");
         }
+		
+		for(TeacherVo vo : rows){
+			if(vo.getDelFlag() == YesOrNoEnum.YES){
+				vo.setUserStatus(UserStatusEnum.CLOSED);
+			}else{
+				if(vo.getLockFlag() == UserLockFlag.LOCKED){
+					vo.setUserStatus(UserStatusEnum.LOCKED);
+				}else{
+					vo.setUserStatus(UserStatusEnum.NORMAL);
+				}
+			}
+		}
         for(TeacherVo vo : rows){
         	if(StringUtils.isNotBlank(vo.getTag())){
         		vo.setTag(vo.getTag().replace("STYLE", "个人风采").replace("LIVE", "直播课").replace("VIDEO", "视频课").replace("MUSIC", "乐谱").replace("DEGREE", "学历").replace("TEACHER", "教资"));
@@ -127,7 +188,7 @@ public class TeacherController extends BaseController {
             HSSFWorkbook workbook = POIUtil.exportExcel(new String[]{"老师编号", "昵称", "姓名", "手机号", "老师类型",
                     "注册时间", "认证时间", "状态", "是否是会员", "徽章"}, new String[]{
                     "userId", "username", "realName", "phone", "entryFlag.code == 1 ? '达人' : '游客'", "createTime", "entryAuthDate",
-                    "lockFlag.remark", "isVip.code == 1 ? '是' : '否'", "tag"}, rows);
+                    "userStatus.msg", "isVip.code == 1 ? '是' : '否'", "tag"}, rows);
             response.setContentType("application/octet-stream");
             response.setHeader("Content-Disposition", "attac:wq" +
                     "hment;filename=老师列表-" + DateUtil.getDate(new Date()) + ".xls");

+ 0 - 1
cooleshow-user/user-admin/src/main/java/com/yonge/cooleshow/admin/controller/UserAccountRecordController.java

@@ -57,7 +57,6 @@ public class UserAccountRecordController extends BaseController {
     @ApiOperation(value = "查询分页", notes = "传入userAccountRecordSearch")
     @PreAuthorize("@pcs.hasPermissions('userAccountRecord/page')")
     public HttpResponseResult<PageInfo<UserAccountRecordVo>> page(@RequestBody UserAccountRecordSearch query) {
-        query.setInOrOut(InOrOutEnum.IN);
         IPage<UserAccountRecordVo> pages = userAccountRecordService.selectPage(PageUtil.getPage(query), query);
         return succeed(PageUtil.pageInfo(pages));
     }

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

@@ -1,15 +1,17 @@
 package com.yonge.cooleshow.biz.dal.dto.search;
 
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+
+import java.util.Date;
+
+import org.springframework.format.annotation.DateTimeFormat;
+
 import com.fasterxml.jackson.annotation.JsonFormat;
 import com.yonge.cooleshow.biz.dal.enums.GenderEnum;
 import com.yonge.cooleshow.common.enums.UserLockFlag;
 import com.yonge.cooleshow.common.enums.YesOrNoEnum;
 import com.yonge.toolset.base.page.QueryInfo;
-import io.swagger.annotations.ApiModel;
-import io.swagger.annotations.ApiModelProperty;
-import org.springframework.format.annotation.DateTimeFormat;
-
-import java.util.Date;
 
 /**
  * @Author: liweifan
@@ -34,6 +36,12 @@ public class EmployeeSearch extends QueryInfo{
     @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
     private Date endTime;
 
+    @ApiModelProperty(value = "是否注销 0否 1是")
+    private YesOrNoEnum delFlag;
+    
+    @ApiModelProperty("用户状态")
+    private String userStatus;
+
     public String getSearch() {
         return search;
     }
@@ -87,4 +95,20 @@ public class EmployeeSearch extends QueryInfo{
     public void setEndTime(Date endTime) {
         this.endTime = endTime;
     }
+
+	public YesOrNoEnum getDelFlag() {
+		return delFlag;
+	}
+
+	public void setDelFlag(YesOrNoEnum delFlag) {
+		this.delFlag = delFlag;
+	}
+
+	public String getUserStatus() {
+		return userStatus;
+	}
+
+	public void setUserStatus(String userStatus) {
+		this.userStatus = userStatus;
+	}
 }

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

@@ -25,6 +25,7 @@ public class StudentSearch extends QueryInfo{
     private String subjectId;
     @ApiModelProperty(value = "0-正常, 1-锁定")
     private UserLockFlag lockFlag;
+    private YesOrNoEnum delFlag;
     @ApiModelProperty(value = "是否会员 0否 1是")
     private YesOrNoEnum isVip;
     @ApiModelProperty(value = "注册开始时间")
@@ -35,6 +36,9 @@ public class StudentSearch extends QueryInfo{
     @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
     @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
     private Date endTime;
+    
+    @ApiModelProperty("用户状态")
+    private String userStatus;
 
     public String getSearch() {
         return search;
@@ -95,4 +99,20 @@ public class StudentSearch extends QueryInfo{
     public void setEndTime(Date endTime) {
         this.endTime = endTime;
     }
+
+	public String getUserStatus() {
+		return userStatus;
+	}
+
+	public void setUserStatus(String userStatus) {
+		this.userStatus = userStatus;
+	}
+
+	public YesOrNoEnum getDelFlag() {
+		return delFlag;
+	}
+
+	public void setDelFlag(YesOrNoEnum delFlag) {
+		this.delFlag = delFlag;
+	}
 }

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

@@ -1,7 +1,9 @@
 package com.yonge.cooleshow.biz.dal.dto.search;
 
 import com.yonge.cooleshow.common.enums.UserLockFlag;
+import com.yonge.cooleshow.common.enums.YesOrNoEnum;
 import com.yonge.toolset.base.page.QueryInfo;
+
 import io.swagger.annotations.ApiModel;
 import io.swagger.annotations.ApiModelProperty;
 
@@ -22,8 +24,13 @@ public class TeacherSearch extends QueryInfo{
     @ApiModelProperty(value = "0-正常, 1-锁定")
     private UserLockFlag lockFlag;
     
+    private YesOrNoEnum delFlag;
+    
     @ApiModelProperty(value = "是否会员(0-否 1-是)")
     private Integer isVip;
+    
+    @ApiModelProperty("用户状态")
+    private String userStatus;
 
     public String getSearch() {
         return search;
@@ -64,4 +71,20 @@ public class TeacherSearch extends QueryInfo{
 	public void setIsVip(Integer isVip) {
 		this.isVip = isVip;
 	}
+
+	public String getUserStatus() {
+		return userStatus;
+	}
+
+	public void setUserStatus(String userStatus) {
+		this.userStatus = userStatus;
+	}
+
+	public YesOrNoEnum getDelFlag() {
+		return delFlag;
+	}
+
+	public void setDelFlag(YesOrNoEnum delFlag) {
+		this.delFlag = delFlag;
+	}
 }

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

@@ -94,9 +94,9 @@ public class TeacherAuthEntryRecordServiceImpl extends ServiceImpl<TeacherAuthEn
             if (null == teacher) {
                 continue;
             }
-            if (YesOrNoEnum.YES.equals(teacher.getEntryFlag())) {
+            /*if (YesOrNoEnum.YES.equals(teacher.getEntryFlag())) {
                 continue;
-            }
+            }*/
             if (authOperaReq.getPass()) {
                 teacher.setSubjectId(StringUtil.isEmpty(teacher.getSubjectId()) ? build.getSubjectId() : teacher.getSubjectId());
                 teacher.setIntroduction(StringUtil.isEmpty(teacher.getIntroduction()) ? build.getIntroduction() : teacher.getIntroduction());

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

@@ -118,6 +118,8 @@ public class TeacherServiceImpl extends ServiceImpl<TeacherDao, Teacher> impleme
         TeacherHomeVo teacherHomeVo = new TeacherHomeVo();
         BeanUtils.copyProperties(teacher, teacherHomeVo);
 
+        teacherHomeVo.setDegreeDate(teacher.getDegreeDate());
+        teacherHomeVo.setTeacherDate(teacher.getTeacherDate());
         //身份证号、手机号脱敏
         teacherHomeVo.setIdCardNo(ValueUtil.fuzzyIdCard(teacherHomeVo.getIdCardNo()));
         teacherHomeVo.setPhone(ValueUtil.fuzzyMobile(teacherHomeVo.getPhone()));

+ 30 - 15
cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/vo/EmployeeVo.java

@@ -1,15 +1,18 @@
 package com.yonge.cooleshow.biz.dal.vo;
 
-import com.yonge.cooleshow.auth.api.entity.SysUser;
-import com.yonge.cooleshow.biz.dal.entity.Employee;
-import com.yonge.cooleshow.biz.dal.enums.GenderEnum;
-import com.yonge.cooleshow.common.enums.UserLockFlag;
 import io.swagger.annotations.ApiModel;
 import io.swagger.annotations.ApiModelProperty;
-import org.springframework.beans.BeanUtils;
 
 import java.util.List;
 
+import org.springframework.beans.BeanUtils;
+
+import com.yonge.cooleshow.auth.api.entity.SysUser;
+import com.yonge.cooleshow.biz.dal.entity.Employee;
+import com.yonge.cooleshow.biz.dal.enums.GenderEnum;
+import com.yonge.cooleshow.common.enums.UserStatusEnum;
+import com.yonge.cooleshow.common.enums.YesOrNoEnum;
+
 /**
  * @Author: liweifan
  * @Data: 2022-04-06 16:04:57
@@ -25,13 +28,17 @@ public class EmployeeVo extends Employee {
     private String phone;
     @ApiModelProperty(value = "头像")
     private String avatar;
-    @ApiModelProperty(value = "0-正常, 1-锁定")
-    private UserLockFlag lockFlag;
     @ApiModelProperty(value = "角色id列表")
     private List<Long> roleIds;
     @ApiModelProperty(value = "用户对象")
     private SysUser sysUser;
 
+    @ApiModelProperty(value = "是否注销 0否 1是")
+    private YesOrNoEnum delFlag;
+
+    @ApiModelProperty(value = "用户状态 NORMAL-正常   LOCKED-冻结  CLOSED-关闭")
+    private UserStatusEnum userStatus;
+
     public String getUsername() {
         return username;
     }
@@ -61,14 +68,6 @@ public class EmployeeVo extends Employee {
         this.phone = phone;
     }
 
-    public UserLockFlag getLockFlag() {
-        return lockFlag;
-    }
-
-    public void setLockFlag(UserLockFlag lockFlag) {
-        this.lockFlag = lockFlag;
-    }
-
     public List<Long> getRoleIds() {
         return roleIds;
     }
@@ -100,4 +99,20 @@ public class EmployeeVo extends Employee {
         BeanUtils.copyProperties(employee, this);
         return this;
     }
+
+	public YesOrNoEnum getDelFlag() {
+		return delFlag;
+	}
+
+	public void setDelFlag(YesOrNoEnum delFlag) {
+		this.delFlag = delFlag;
+	}
+
+	public UserStatusEnum getUserStatus() {
+		return userStatus;
+	}
+
+	public void setUserStatus(UserStatusEnum userStatus) {
+		this.userStatus = userStatus;
+	}
 }

+ 19 - 5
cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/vo/StudentVo.java

@@ -1,15 +1,18 @@
 package com.yonge.cooleshow.biz.dal.vo;
 
-import com.fasterxml.jackson.annotation.JsonFormat;
-import com.yonge.cooleshow.biz.dal.entity.Student;
-import com.yonge.cooleshow.biz.dal.enums.GenderEnum;
-import com.yonge.cooleshow.common.enums.YesOrNoEnum;
 import io.swagger.annotations.ApiModel;
 import io.swagger.annotations.ApiModelProperty;
-import org.springframework.format.annotation.DateTimeFormat;
 
 import java.util.Date;
 
+import org.springframework.format.annotation.DateTimeFormat;
+
+import com.fasterxml.jackson.annotation.JsonFormat;
+import com.yonge.cooleshow.biz.dal.entity.Student;
+import com.yonge.cooleshow.biz.dal.enums.GenderEnum;
+import com.yonge.cooleshow.common.enums.UserStatusEnum;
+import com.yonge.cooleshow.common.enums.YesOrNoEnum;
+
 /**
  * @Author: liweifan
  * @Data: 2022/3/24 17:22
@@ -48,6 +51,9 @@ public class StudentVo extends Student {
     @ApiModelProperty(value = "是否注销 0否 1是")
     private YesOrNoEnum delFlag;
 
+    @ApiModelProperty(value = "用户状态 NORMAL-正常   LOCKED-冻结  CLOSED-关闭")
+    private UserStatusEnum userStatus;
+
     public YesOrNoEnum getDelFlag() {
         return delFlag;
     }
@@ -165,4 +171,12 @@ public class StudentVo extends Student {
     public void setUserType(String userType) {
         this.userType = userType;
     }
+
+	public UserStatusEnum getUserStatus() {
+		return userStatus;
+	}
+
+	public void setUserStatus(UserStatusEnum userStatus) {
+		this.userStatus = userStatus;
+	}
 }

+ 14 - 1
cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/vo/TeacherVo.java

@@ -4,11 +4,13 @@ import com.fasterxml.jackson.annotation.JsonFormat;
 import com.yonge.cooleshow.biz.dal.entity.Teacher;
 import com.yonge.cooleshow.biz.dal.entity.TeacherStyleVideo;
 import com.yonge.cooleshow.biz.dal.enums.GenderEnum;
-
 import com.yonge.cooleshow.common.enums.UserLockFlag;
+import com.yonge.cooleshow.common.enums.UserStatusEnum;
 import com.yonge.cooleshow.common.enums.YesOrNoEnum;
+
 import io.swagger.annotations.ApiModel;
 import io.swagger.annotations.ApiModelProperty;
+
 import org.springframework.format.annotation.DateTimeFormat;
 
 import java.util.Date;
@@ -63,6 +65,9 @@ public class TeacherVo extends Teacher {
     
     private String tag;
 
+    @ApiModelProperty(value = "用户状态 NORMAL-正常   LOCKED-冻结  CLOSED-关闭")
+    private UserStatusEnum userStatus;
+
     public YesOrNoEnum getDelFlag() {
         return delFlag;
     }
@@ -224,4 +229,12 @@ public class TeacherVo extends Teacher {
 	public void setTag(String tag) {
 		this.tag = tag;
 	}
+
+	public UserStatusEnum getUserStatus() {
+		return userStatus;
+	}
+
+	public void setUserStatus(UserStatusEnum userStatus) {
+		this.userStatus = userStatus;
+	}
 }

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

@@ -95,7 +95,7 @@
                 and u.gender_ = #{param.gender}
             </if>
             <if test="null != param.lockFlag">
-                and (u.lock_flag_ = #{param.lockFlag} or t.lock_flag_ = #{param.lockFlag})
+                and t.lock_flag_ = #{param.lockFlag}
             </if>
             <if test="param.startTime !=null">
                 <![CDATA[AND t.create_time_ >= #{param.startTime} ]]>

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

@@ -124,7 +124,10 @@
                 <![CDATA[AND t.create_time_ < #{param.endTime} ]]>
             </if>
             <if test="null != param.lockFlag">
-                and (u.lock_flag_ = #{param.lockFlag} or t.lock_flag_ = #{param.lockFlag})
+                and t.lock_flag_ = #{param.lockFlag}
+            </if>
+            <if test="null != param.delFlag">
+                and u.del_flag_ = #{param.delFlag}
             </if>
         </where>
     </select>

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

@@ -127,7 +127,7 @@
                 AND t.teacher_auth_type_ = #{param.teacherAuthType}
             </if>
         </where>
-        order by field(t.teacher_auth_status_,'DOING') desc, t.create_time_
+        order by field(t.teacher_auth_status_,'DOING') desc, t.create_time_ desc
     </select>
 
     <select id="historyPage" resultType="com.yonge.cooleshow.biz.dal.vo.TeacherAuthEntryRecordVo">

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

@@ -67,6 +67,8 @@
         , t.browse_ as "browse"
         , t.memo_ as "memo"
         , t.tag_ as "tag"
+        , t.degree_date_ as "degreeDate"
+        , t.teacher_date_ as "teacherDate"
         , t.create_time_ as "createTime"
         , t.update_time_ as "updateTime"
         </sql>
@@ -124,7 +126,10 @@
             	and find_in_set(#{param.tag},t.tag_)
             </if>
             <if test="null != param.lockFlag">
-                and (u.lock_flag_ = #{param.lockFlag} or t.lock_flag_ = #{param.lockFlag})
+                and t.lock_flag_ = #{param.lockFlag}
+            </if>
+            <if test="null != param.delFlag">
+                and u.del_flag_ = #{param.delFlag}
             </if>
         </where>
     </select>

+ 16 - 11
cooleshow-user/user-teacher/src/main/java/com/yonge/cooleshow/teacher/controller/TeacherController.java

@@ -1,14 +1,26 @@
 package com.yonge.cooleshow.teacher.controller;
 
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import io.swagger.annotations.ApiParam;
+
+import java.util.List;
+
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.http.HttpStatus;
+import org.springframework.web.bind.annotation.GetMapping;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.RequestBody;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RequestParam;
+import org.springframework.web.bind.annotation.RestController;
+
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.yonge.cooleshow.auth.api.client.SysUserFeignService;
 import com.yonge.cooleshow.auth.api.entity.SysUser;
 import com.yonge.cooleshow.biz.dal.dto.TeacherDto;
 import com.yonge.cooleshow.biz.dal.entity.Subject;
-import com.yonge.cooleshow.biz.dal.enums.GoodTypeEnum;
-import com.yonge.cooleshow.biz.dal.service.SysUserService;
 import com.yonge.cooleshow.biz.dal.service.TeacherService;
-import com.yonge.toolset.mybatis.support.PageUtil;
 import com.yonge.cooleshow.biz.dal.vo.MyFens;
 import com.yonge.cooleshow.biz.dal.vo.TeacherHomeVo;
 import com.yonge.cooleshow.biz.dal.vo.TeacherVo;
@@ -17,14 +29,7 @@ import com.yonge.cooleshow.common.entity.HttpResponseResult;
 import com.yonge.toolset.base.page.PageInfo;
 import com.yonge.toolset.base.page.QueryInfo;
 import com.yonge.toolset.base.util.StringUtil;
-import io.swagger.annotations.Api;
-import io.swagger.annotations.ApiOperation;
-import io.swagger.annotations.ApiParam;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.http.HttpStatus;
-import org.springframework.web.bind.annotation.*;
-
-import java.util.List;
+import com.yonge.toolset.mybatis.support.PageUtil;
 
 @RestController
 @RequestMapping("/teacher")

+ 2 - 2
cooleshow-user/user-teacher/src/main/java/com/yonge/cooleshow/teacher/controller/VideoLessonGroupController.java

@@ -184,9 +184,9 @@ public class VideoLessonGroupController extends BaseController {
         if (shelvesVo.getShelvesFlag() != 0) {
             return failed("只能做下架操作");
         }
-        if (shelvesVo.getShelvesFlag() == 0 && StringUtil.isEmpty(shelvesVo.getShelvesReason())) {
+        /*if (shelvesVo.getShelvesFlag() == 0 && StringUtil.isEmpty(shelvesVo.getShelvesReason())) {
             return failed("下架必须要有下架原因");
-        }
+        }*/
 
         shelvesVo.setShelvesId(user.getId());
         shelvesVo.setShelvesTime(new Date());

+ 62 - 0
cooleshow-user/user-website/src/main/java/com/yonge/cooleshow/website/controller/VideoLessonGroupController.java

@@ -0,0 +1,62 @@
+package com.yonge.cooleshow.website.controller;
+
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+
+import java.util.Date;
+
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.http.HttpStatus;
+import org.springframework.validation.annotation.Validated;
+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.yonge.cooleshow.auth.api.client.SysUserFeignService;
+import com.yonge.cooleshow.auth.api.entity.SysUser;
+import com.yonge.cooleshow.biz.dal.service.VideoLessonGroupService;
+import com.yonge.cooleshow.biz.dal.vo.VideoLessonShelvesVo;
+import com.yonge.cooleshow.common.controller.BaseController;
+import com.yonge.cooleshow.common.entity.HttpResponseResult;
+
+/**
+ * 视频课基本信息表 web 控制层
+ *
+ **/
+@RestController
+@RequestMapping("/videoLessonGroup")
+@Api(tags = "视频课组")
+public class VideoLessonGroupController extends BaseController {
+    @Autowired
+    private SysUserFeignService sysUserFeignService;
+
+    @Autowired
+    private VideoLessonGroupService videoLessonGroupService;
+
+    /**
+     * @Description: 更新上架状态
+     * @Author: cy
+     * @Date: 2022/4/25
+     */
+    @ApiOperation(value = "更新上架状态", httpMethod = "POST", consumes = "application/json", produces = "application/json")
+    @PostMapping(value = "/updateShelves", consumes = "application/json", produces = "application/json")
+    public HttpResponseResult<Object> updateShelves(@Validated @RequestBody VideoLessonShelvesVo shelvesVo) {
+        SysUser user = sysUserFeignService.queryUserInfo();
+        if (user == null || null == user.getId()) {
+            return failed(HttpStatus.FORBIDDEN, "请登录");
+        }
+        if (shelvesVo.getShelvesFlag() != 0) {
+            return failed("只能做下架操作");
+        }
+        /*if (shelvesVo.getShelvesFlag() == 0 && StringUtil.isEmpty(shelvesVo.getShelvesReason())) {
+            return failed("下架必须要有下架原因");
+        }*/
+
+        shelvesVo.setShelvesId(user.getId());
+        shelvesVo.setShelvesTime(new Date());
+        videoLessonGroupService.updateShelves(shelvesVo);
+        return succeed();
+    }
+
+	}