浏览代码

修复BUG:视频课审核

cy 3 年之前
父节点
当前提交
2b761d41fc

+ 6 - 1
cooleshow-user/user-admin/src/main/java/com/yonge/cooleshow/admin/controller/VideoLessonController.java

@@ -108,7 +108,7 @@ public class VideoLessonController extends BaseController {
      * @Author: cy
      * @Date: 2022/4/20
      */
-    @ApiOperation(value = "审核-根据视频课组id查视频课详情", httpMethod = "POST", consumes = "application/json", produces = "application/json")
+    @ApiOperation(value = "审核-根据视频课组id查视频课详情")
     @GetMapping("/queryLessonInfo")
     public HttpResponseResult<List<VideoLessonGroupDetail>> queryLessonInfo(Integer groupId) {
         QueryWrapper<VideoLessonGroupDetail> queryWrapper = new QueryWrapper<>();
@@ -116,6 +116,11 @@ public class VideoLessonController extends BaseController {
         return succeed(videoLessonGroupDetailService.list(queryWrapper));
     }
 
+    /**
+     * @Description: 审核-修改视频课组审核状态
+     * @Author: cy
+     * @Date: 2022/4/25
+     */
     @ApiOperation(value = "审核-修改视频课组审核状态", httpMethod = "POST", consumes = "application/json", produces = "application/json")
     @PostMapping(value = "/updateGroup", consumes = "application/json", produces = "application/json")
     public HttpResponseResult<Object> update(@Validated @RequestBody VideoLessonExamineVo examineVo) {

+ 16 - 0
cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/dao/VideoLessonAuthRecordDao.java

@@ -0,0 +1,16 @@
+package com.yonge.cooleshow.biz.dal.dao;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.yonge.cooleshow.biz.dal.entity.VideoLessonAuthRecord;
+import org.apache.ibatis.annotations.Param;
+
+import java.util.List;
+
+/**
+ * @Author: cy
+ * @Date: 2022/4/24
+ */
+public interface VideoLessonAuthRecordDao extends BaseMapper<VideoLessonAuthRecord> {
+    //更新审核视频课组id
+    void updateIds(@Param("list") List<Long> list, @Param("groupId") Long groupId);
+}

+ 113 - 0
cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/entity/VideoLessonAuthRecord.java

@@ -0,0 +1,113 @@
+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.common.entity.BaseEntity;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+
+import java.util.Date;
+
+/**
+ * @Author: cy
+ * @Date: 2022/4/24
+ */
+@ApiModel(value = "videoLessonAuthRecord")
+public class VideoLessonAuthRecord extends BaseEntity {
+    @TableId(value = "id_", type = IdType.AUTO)
+    @ApiModelProperty(value = "主键id")
+    private Long id;
+
+    @TableField("video_group_id_")
+    @ApiModelProperty(value = "视频课组id")
+    private Long videoGroupId;
+
+    @TableField("audit_status_")
+    @ApiModelProperty(value = "审核状态(DOING:待审核,PASS:通过,UNPASS:拒绝)")
+    private String auditStatus;
+
+    @TableField("audit_name_")
+    @ApiModelProperty(value = "审批人姓名")
+    private String auditName;
+
+    @TableField("audit_id_")
+    @ApiModelProperty(value = "审批人id")
+    private Long auditId;
+
+    @TableField("remarks")
+    @ApiModelProperty(value = "备注")
+    private String remarks;
+
+    @TableField("create_time_")
+    @ApiModelProperty(value = "创建时间")
+    private Date createTime;
+
+    @TableField("update_time_")
+    @ApiModelProperty(value = "修改时间")
+    private Date updateTime;
+
+    public Long getId() {
+        return id;
+    }
+
+    public void setId(Long id) {
+        this.id = id;
+    }
+
+    public Long getVideoGroupId() {
+        return videoGroupId;
+    }
+
+    public void setVideoGroupId(Long videoGroupId) {
+        this.videoGroupId = videoGroupId;
+    }
+
+    public String getAuditStatus() {
+        return auditStatus;
+    }
+
+    public void setAuditStatus(String auditStatus) {
+        this.auditStatus = auditStatus;
+    }
+
+    public String getAuditName() {
+        return auditName;
+    }
+
+    public void setAuditName(String auditName) {
+        this.auditName = auditName;
+    }
+
+    public Long getAuditId() {
+        return auditId;
+    }
+
+    public void setAuditId(Long auditId) {
+        this.auditId = auditId;
+    }
+
+    public String getRemarks() {
+        return remarks;
+    }
+
+    public void setRemarks(String remarks) {
+        this.remarks = remarks;
+    }
+
+    public Date getCreateTime() {
+        return createTime;
+    }
+
+    public void setCreateTime(Date createTime) {
+        this.createTime = createTime;
+    }
+
+    public Date getUpdateTime() {
+        return updateTime;
+    }
+
+    public void setUpdateTime(Date updateTime) {
+        this.updateTime = updateTime;
+    }
+}

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

@@ -1,16 +1,16 @@
 package com.yonge.cooleshow.biz.dal.service.impl;
 
 import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.core.toolkit.Wrappers;
 import com.yonge.cooleshow.auth.api.entity.SysUser;
 import com.yonge.cooleshow.biz.dal.dao.SubjectDao;
+import com.yonge.cooleshow.biz.dal.dao.VideoLessonAuthRecordDao;
 import com.yonge.cooleshow.biz.dal.dao.VideoLessonGroupDetailDao;
 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.Subject;
-import com.yonge.cooleshow.biz.dal.entity.VideoLessonGroup;
+import com.yonge.cooleshow.biz.dal.entity.*;
 import com.yonge.cooleshow.biz.dal.dao.VideoLessonGroupDao;
-import com.yonge.cooleshow.biz.dal.entity.VideoLessonGroupDetail;
 import com.yonge.cooleshow.biz.dal.enums.AuthStatusEnum;
 import com.yonge.cooleshow.biz.dal.service.VideoLessonGroupService;
 import com.yonge.cooleshow.biz.dal.vo.*;
@@ -22,6 +22,7 @@ import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import org.springframework.transaction.annotation.Transactional;
 
 import java.util.List;
+import java.util.stream.Collectors;
 
 /**
  * VideoLessonGroupService服务实现类
@@ -41,6 +42,8 @@ public class VideoLessonGroupServiceImpl extends ServiceImpl<VideoLessonGroupDao
     private VideoLessonGroupDetailDao videoLessonGroupDetailDao;
     @Autowired
     private SubjectDao subjectDao;
+    @Autowired
+    private VideoLessonAuthRecordDao recordDao;
 
     public VideoLessonGroupDao getDao() {
         return videoLessonGroupDao;
@@ -63,7 +66,7 @@ public class VideoLessonGroupServiceImpl extends ServiceImpl<VideoLessonGroupDao
      */
     public VideoLessonGroup selectGroup(Long groupId) {
         VideoLessonGroup lessonGroup = videoLessonGroupDao.selectById(groupId);
-        Subject subject=subjectDao.selectSubjectById(lessonGroup.getLessonSubject());
+        Subject subject = subjectDao.selectSubjectById(lessonGroup.getLessonSubject());
         lessonGroup.setLessonSubjectName(subject.getName());
         return lessonGroup;
     }
@@ -79,10 +82,30 @@ public class VideoLessonGroupServiceImpl extends ServiceImpl<VideoLessonGroupDao
         videoLessonGroupDao.updateGroup(lessonGroupUpVo);
     }
 
+    /**
+     * @Description: 审核-修改视频课组审核状态
+     * @Author: cy
+     * @Date: 2022/4/24
+     */
     @Transactional(rollbackFor = Exception.class)
     @Override
     public void updateGroup(VideoLessonExamineVo examineVo) {
+        //改主表
         videoLessonGroupDao.updateExamine(examineVo);
+
+        //插从表
+        VideoLessonAuthRecord record = new VideoLessonAuthRecord();
+        record.setAuditStatus(examineVo.getAuditStatus());
+        record.setVideoGroupId(examineVo.getId());
+        record.setAuditId(examineVo.getAuditId());
+        record.setAuditName(examineVo.getAuditName());
+        record.setRemarks(examineVo.getRemarks());
+        recordDao.insert(record);
+
+        //清状态
+        recordDao.delete(Wrappers.<VideoLessonAuthRecord>lambdaQuery()
+                .eq(VideoLessonAuthRecord::getVideoGroupId, examineVo.getId())
+                .eq(VideoLessonAuthRecord::getAuditStatus, AuthStatusEnum.DOING));
     }
 
     /**
@@ -124,6 +147,12 @@ public class VideoLessonGroupServiceImpl extends ServiceImpl<VideoLessonGroupDao
         VideoLessonGroupUpVo groupUpVo = new VideoLessonGroupUpVo();
         groupUpVo.setId(lessonGroup.getId());
         videoLessonGroupDao.updateGroup(groupUpVo);
+
+        //记录video_lesson_auth_record
+        VideoLessonAuthRecord record = new VideoLessonAuthRecord();
+        record.setVideoGroupId(lessonGroup.getId());
+        record.setAuditStatus(AuthStatusEnum.DOING.getCode());
+        recordDao.insert(record);
     }
 
     /**
@@ -189,6 +218,10 @@ public class VideoLessonGroupServiceImpl extends ServiceImpl<VideoLessonGroupDao
         VideoLessonGroup lessonGroup = lessonVo.getLessonGroup();
         List<VideoLessonGroupDetail> lessonList = lessonVo.getLessonList();
 
+        //查询原评审信息
+        List<VideoLessonAuthRecord> recordList = recordDao.selectList(Wrappers.<VideoLessonAuthRecord>lambdaQuery().eq(VideoLessonAuthRecord::getVideoGroupId, lessonGroup.getId()));
+        List<Long> recoreIds = recordList.stream().map(VideoLessonAuthRecord::getId).collect(Collectors.toList());
+
         //清除原有组&课
         videoLessonGroupDao.deleteById(lessonGroup.getId());
         videoLessonGroupDetailDao.deleteByGroupId(lessonGroup.getId());
@@ -209,6 +242,15 @@ public class VideoLessonGroupServiceImpl extends ServiceImpl<VideoLessonGroupDao
         VideoLessonGroupUpVo groupUpVo = new VideoLessonGroupUpVo();
         groupUpVo.setId(lessonGroup.getId());
         videoLessonGroupDao.updateGroup(groupUpVo);
+
+        //更新历史记录的组id
+        recordDao.updateIds(recoreIds, lessonGroup.getId());
+
+        //重新提审
+        VideoLessonAuthRecord record = new VideoLessonAuthRecord();
+        record.setVideoGroupId(lessonGroup.getId());
+        record.setAuditStatus(AuthStatusEnum.DOING.getCode());
+        recordDao.insert(record);
     }
 
     /**

+ 11 - 0
cooleshow-user/user-biz/src/main/resources/config/mybatis/VideoLessonAuthRecordMapper.xml

@@ -0,0 +1,11 @@
+<?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.VideoLessonAuthRecordDao">
+    <update id="updateIds" parameterType="java.util.List">
+        UPDATE video_lesson_auth_record SET video_group_id_ = #{groupId} WHERE id_ IN
+        <foreach collection="list" item="item" open="(" separator="," close=")">
+            #{item}
+        </foreach>
+    </update>
+</mapper>

+ 21 - 4
cooleshow-user/user-biz/src/main/resources/config/mybatis/VideoLessonGroupMapper.xml

@@ -41,6 +41,24 @@
 		g.audit_id_ AS auditId,
 		g.audit_name_ AS auditName,
 	</sql>
+	<sql id="recordColumns">
+		g.id_ AS id,
+		g.lesson_name_ AS lessonName,
+		g.lesson_subject_ AS lessonSubject,
+		g.lesson_desc_ AS lessonDesc,
+		g.lesson_price_ AS lessonPrice,
+		g.lesson_cover_url_ AS lessonCoverUrl,
+		g.teacher_id_ AS teacherId,
+		g.lesson_count_ AS lessonCount,
+		g.sort_number_ AS sortNumber,
+		g.lesson_tag_ AS lessonTag,
+		g.top_flag_ AS topFlag,
+		g.hot_flag_ AS hotFlag,
+		g.create_time_ AS createTime,
+		g.update_time_ AS updateTime,
+		g.audit_id_ AS auditId,
+		g.audit_name_ AS auditName,
+	</sql>
 
 	<update id="updateGroup" parameterType="com.yonge.cooleshow.biz.dal.vo.VideoLessonGroupUpVo">
 		UPDATE video_lesson_group
@@ -232,13 +250,15 @@
 	</select>
 	<select id="queryGroupList" resultType="com.yonge.cooleshow.biz.dal.vo.VideoLessonAuthGroup">
 		SELECT
-		<include refid="baseColumns"/>
+		<include refid="recordColumns"/>
+		r.audit_status_ AS auditStatus,
 		s.name_ AS subjectName,
 		t.username_ AS teacherName,
 		t.phone_ AS teacherPhone
 		FROM video_lesson_group g
 		LEFT JOIN `subject` s ON g.lesson_subject_=s.id_
 		LEFT JOIN sys_user t ON g.teacher_id_=t.id_
+		LEFT JOIN video_lesson_auth_record r ON g.id_=r.video_group_id_
 		<where>
 			<if test="null != param.search and '' != param.search">
 				AND (
@@ -266,7 +286,4 @@
 			</if>
 		</where>
 	</select>
-	<select id="selectLessonGroupById" resultType="com.yonge.cooleshow.biz.dal.vo.LessonGroupVo">
-
-	</select>
 </mapper>