liweifan 2 лет назад
Родитель
Сommit
f5bf16d2e1

+ 1 - 1
cooleshow-auth/auth-server/src/main/java/com/yonge/cooleshow/auth/dal/dao/SysUserDao.java

@@ -173,5 +173,5 @@ public interface SysUserDao extends BaseDAO<Long, SysUser> {
 
     Integer getUnCompCourseNum(@Param("userId") Long userId);
 
-    void updateLockStatus(@Param("userId")Long userId, @Param("lockFlag") Integer lockFlag, @Param("SysUserType")  String sysUserType);
+    void updateLockStatus(@Param("userId")Long userId, @Param("lockFlag") Integer lockFlag, @Param("sysUserType")  String sysUserType);
 }

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

@@ -341,7 +341,7 @@ public class UserController extends BaseController {
     })
     @ApiOperation(value = "启用/冻结", notes = "传入lockFlag")
     public HttpResponseResult<Boolean> changeLock(@PathVariable("userId") Long userId
-            , @PathVariable("lockFlag") UserLockFlag lockFlag, @PathVariable("userType") SysUserType sysUserType) {
+            , @PathVariable("lockFlag") Integer lockFlag, @PathVariable("userType") SysUserType sysUserType) {
         if (userId == null || lockFlag == null || sysUserType == null) {
             return failed("参数校验异常");
         }
@@ -353,13 +353,13 @@ public class UserController extends BaseController {
             return failed("非法操作");
         }
         //退出对应用户
-        if (UserLockFlag.LOCKED.equals(lockFlag)) {
+        if (UserLockFlag.LOCKED.getCode().equals(lockFlag)) {
             loginOut(sysUser, sysUserType);
         }
         //sysUser.setLockFlag(lockFlag.getCode());
         //sysUser.setUpdateTime(new Date());
         //sysUserService.update(sysUser);
-        sysUserService.updateLockStatus(userId, lockFlag.getCode(), sysUserType.getCode());
+        sysUserService.updateLockStatus(userId, lockFlag, sysUserType.getCode());
         return succeed();
     }
 

+ 26 - 1
cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/entity/VideoLessonAuthRecord.java

@@ -3,6 +3,7 @@ package com.yonge.cooleshow.biz.dal.entity;
 import com.baomidou.mybatisplus.annotation.IdType;
 import com.baomidou.mybatisplus.annotation.TableField;
 import com.baomidou.mybatisplus.annotation.TableId;
+import com.yonge.cooleshow.biz.dal.enums.AuthTypeEnum;
 import com.yonge.cooleshow.common.entity.BaseEntity;
 import io.swagger.annotations.ApiModel;
 import io.swagger.annotations.ApiModelProperty;
@@ -20,9 +21,13 @@ public class VideoLessonAuthRecord extends BaseEntity {
     private Long id;
 
     @TableField("video_group_id_")
-    @ApiModelProperty(value = "视频课组id")
+    @ApiModelProperty(value = "当前视频课组id")
     private Long videoGroupId;
 
+    @TableField("group_id_")
+    @ApiModelProperty(value = "视频课组id")
+    private Long groupId;
+
     @TableField("audit_status_")
     @ApiModelProperty(value = "审核状态(DOING:待审核,PASS:通过,UNPASS:拒绝)")
     private String auditStatus;
@@ -35,6 +40,10 @@ public class VideoLessonAuthRecord extends BaseEntity {
     @ApiModelProperty(value = "审批人id")
     private Long auditId;
 
+    @TableField("auth_type_")
+    @ApiModelProperty(value = "认证审核类型 ADD 新增 MODIFY 修改")
+    private AuthTypeEnum authType;
+
     @TableField("remarks")
     @ApiModelProperty(value = "备注")
     private String remarks;
@@ -110,4 +119,20 @@ public class VideoLessonAuthRecord extends BaseEntity {
     public void setUpdateTime(Date updateTime) {
         this.updateTime = updateTime;
     }
+
+    public Long getGroupId() {
+        return groupId;
+    }
+
+    public void setGroupId(Long groupId) {
+        this.groupId = groupId;
+    }
+
+    public AuthTypeEnum getAuthType() {
+        return authType;
+    }
+
+    public void setAuthType(AuthTypeEnum authType) {
+        this.authType = authType;
+    }
 }

+ 13 - 0
cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/entity/VideoLessonGroup.java

@@ -126,6 +126,11 @@ public class VideoLessonGroup extends BaseEntity {
     @ApiModelProperty(value = "是否审核时可见 (0:否  1:是)")
     private YesOrNoEnum auditVersion = YesOrNoEnum.NO;
 
+    @TableField("history_flag_")
+    @ApiModelProperty(value = "是否历史数据 (0:否  1:是)")
+    private YesOrNoEnum historyFlag;
+
+
     public Long getId() {
         return id;
     }
@@ -309,4 +314,12 @@ public class VideoLessonGroup extends BaseEntity {
     public void setShelvesId(Long shelvesId) {
         this.shelvesId = shelvesId;
     }
+
+    public YesOrNoEnum getHistoryFlag() {
+        return historyFlag;
+    }
+
+    public void setHistoryFlag(YesOrNoEnum historyFlag) {
+        this.historyFlag = historyFlag;
+    }
 }

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

@@ -15,11 +15,8 @@ import com.yonge.cooleshow.biz.dal.dto.search.VideoGroupSearch;
 import com.yonge.cooleshow.biz.dal.dto.search.VideoLessonGroupSearch;
 import com.yonge.cooleshow.biz.dal.dto.search.VideoLessonSearch;
 import com.yonge.cooleshow.biz.dal.entity.*;
-import com.yonge.cooleshow.biz.dal.enums.AuthStatusEnum;
-import com.yonge.cooleshow.biz.dal.enums.ClientEnum;
-import com.yonge.cooleshow.biz.dal.enums.MessageTypeEnum;
+import com.yonge.cooleshow.biz.dal.enums.*;
 import com.yonge.cooleshow.biz.dal.service.SysConfigService;
-import com.yonge.cooleshow.biz.dal.enums.TeacherTagEnum;
 import com.yonge.cooleshow.biz.dal.service.SysMessageService;
 import com.yonge.cooleshow.biz.dal.service.TeacherService;
 import com.yonge.cooleshow.biz.dal.service.VideoLessonGroupService;
@@ -254,7 +251,9 @@ public class VideoLessonGroupServiceImpl extends ServiceImpl<VideoLessonGroupDao
         //记录video_lesson_auth_record
         VideoLessonAuthRecord record = new VideoLessonAuthRecord();
         record.setVideoGroupId(lessonGroup.getId());
+        record.setGroupId(lessonGroup.getId());
         record.setAuditStatus(AuthStatusEnum.DOING.getCode());
+        record.setAuthType(AuthTypeEnum.ADD);
         recordDao.insert(record);
     }
 
@@ -326,25 +325,44 @@ public class VideoLessonGroupServiceImpl extends ServiceImpl<VideoLessonGroupDao
     public void update(VideoLessonVo lessonVo, SysUser sysUser) {
         VideoLessonGroup lessonGroup = lessonVo.getLessonGroup();
         List<VideoLessonGroupDetail> lessonList = lessonVo.getLessonList();
+        //判断是否有正在审核中
+        List<VideoLessonAuthRecord> videoLessonAuthRecords = recordDao.selectList(Wrappers.<VideoLessonAuthRecord>lambdaQuery()
+                .eq(VideoLessonAuthRecord::getGroupId, lessonGroup.getId())
+                .eq(VideoLessonAuthRecord::getAuditStatus, AuthStatusEnum.DOING.getCode()));
+        if(CollectionUtils.isNotEmpty(videoLessonAuthRecords)){
+            return;
+        }
 
-        //查询原评审信息
-        List<VideoLessonAuthRecord> recordList = recordDao.selectList(Wrappers.<VideoLessonAuthRecord>lambdaQuery().eq(VideoLessonAuthRecord::getVideoGroupId, lessonGroup.getId()));
-        List<Long> recoreIds = recordList.stream().map(VideoLessonAuthRecord::getId).collect(Collectors.toList());
+        //校验声部
+        Long subjectId = Long.valueOf(lessonGroup.getLessonSubject());
+        List<Subject> subjectList = teacherDao.querySubject(sysUser.getId());
+        List<Long> longList = subjectList.stream().map(Subject::getId).collect(Collectors.toList());
+        if (!longList.contains(subjectId)) {
+            throw new BizException("该声部无法选择");
+        }
 
-        //清除原有组&课
-        videoLessonGroupDao.deleteById(lessonGroup.getId());
-        videoLessonGroupDetailDao.deleteByGroupId(lessonGroup.getId());
+        //原视频组改为审核中,已下架
+        VideoLessonGroup oldGroup = videoLessonGroupDao.selectGroupById(lessonGroup.getId());
+        oldGroup.setAuditStatus(AuthStatusEnum.DOING);
+        oldGroup.setShelvesFlag(YesOrNoEnum.NO.getCode());
+        videoLessonGroupDao.updateById(oldGroup);
 
-        //添加组
+        //创建新的评审记录
+        VideoLessonAuthRecord authRecord = new VideoLessonAuthRecord();
+        authRecord.setGroupId(lessonGroup.getId());
+
+        //创建新的课程组记录
         lessonGroup.setTeacherId(sysUser.getId());
+        lessonGroup.setAuditVersion(YesOrNoEnum.NO);
+        lessonGroup.setId(null);
         videoLessonGroupDao.insert(lessonGroup);
+        authRecord.setVideoGroupId(lessonGroup.getId());
 
         for (VideoLessonGroupDetail detail : lessonList) {
+            detail.setId(null);
             detail.setVideoLessonGroupId(lessonGroup.getId());
             detail.setTeacherId(sysUser.getId());
         }
-
-        //添加课程
         videoLessonGroupDetailDao.insertVideoLesson(lessonList);
 
         //刷新统计
@@ -352,14 +370,11 @@ public class VideoLessonGroupServiceImpl extends ServiceImpl<VideoLessonGroupDao
         groupUpVo.setId(lessonGroup.getId());
         videoLessonGroupDao.updateGroup(groupUpVo);
 
-        //更新历史记录的组id
-        recordDao.updateIds(recoreIds, lessonGroup.getId());
+        //提交审核
+        authRecord.setAuditStatus(AuthStatusEnum.DOING.getCode());
+        authRecord.setAuthType(AuthTypeEnum.MODIFY);
 
-        //重新提审
-        VideoLessonAuthRecord record = new VideoLessonAuthRecord();
-        record.setVideoGroupId(lessonGroup.getId());
-        record.setAuditStatus(AuthStatusEnum.DOING.getCode());
-        recordDao.insert(record);
+        recordDao.insert(authRecord);
     }
 
     /**

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

@@ -146,7 +146,7 @@
         left join sys_user u on t.user_id_ = u.id_
         left join sys_user v on t.verify_user_id_ = v.id_
         <where>
-            u.del_flag_ = 0
+            u.del_flag_ = 0 and t.teacher_auth_status_ != 'DOING'
             <if test="null != param.search and '' != param.search">
                 AND (
                 t.user_id_ LIKE CONCAT('%', #{param.search}, '%') or

+ 3 - 0
cooleshow-user/user-biz/src/main/resources/config/mybatis/VideoLessonGroupMapper.xml

@@ -24,6 +24,7 @@
 		<result column="audit_name_" jdbcType="VARCHAR" property="auditName" />
 		<result column="create_time_" jdbcType="TIMESTAMP" property="createTime" />
 		<result column="update_time_" jdbcType="TIMESTAMP" property="updateTime" />
+		<result column="history_flag_" property="historyFlag" />
 	</resultMap>
 
 	<sql id="baseColumns">
@@ -49,6 +50,7 @@
 		g.update_time_ AS updateTime,
 		g.audit_id_ AS auditId,
 		g.audit_name_ AS auditName,
+		g.history_flag_ AS historyFlag,
 	</sql>
 	<sql id="recordColumns">
 		g.id_ AS id,
@@ -70,6 +72,7 @@
 		g.update_time_ AS updateTime,
 		g.audit_id_ AS auditId,
 		g.audit_name_ AS auditName,
+		g.history_flag_ AS historyFlag,
 	</sql>
 
 	<update id="updateGroup" parameterType="com.yonge.cooleshow.biz.dal.vo.VideoLessonGroupUpVo">