Browse Source

视频课审核修改

liweifan 2 years ago
parent
commit
318ffdfe24

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

@@ -106,6 +106,12 @@ public class VideoLessonController extends BaseController {
         return succeed(PageUtil.pageInfo(lessonGroupService.queryGroupList(PageUtil.getPage(search), search)));
     }
 
+    @ApiOperation(value = "审核-视频课组历史记录列表", httpMethod = "POST", consumes = "application/json", produces = "application/json")
+    @PostMapping(value = "/queryGroupHistoryList", consumes = "application/json", produces = "application/json")
+    public HttpResponseResult<PageInfo<VideoLessonAuthGroup>> queryGroupHistoryList(@RequestBody VideoGroupSearch search) {
+        return succeed(PageUtil.pageInfo(lessonGroupService.queryGroupHistoryList(PageUtil.getPage(search), search)));
+    }
+
     /**
      * @Description: 审核-根据视频课组id查视频课详情
      * @Author: cy

+ 3 - 0
cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/dao/VideoLessonGroupDao.java

@@ -44,6 +44,8 @@ public interface VideoLessonGroupDao extends BaseMapper<VideoLessonGroup> {
     //查询所有视频课组
     List<VideoLessonAuthGroup> queryGroupList(IPage<VideoLessonAuthGroup> page, @Param("param") VideoGroupSearch query);
 
+    List<VideoLessonAuthGroup> queryGroupHistoryList(IPage<VideoLessonAuthGroup> page, @Param("param") VideoGroupSearch query);
+
     //根据组id查详情
     VideoLessonGroup selectGroupById(Long groupId);
 
@@ -52,4 +54,5 @@ public interface VideoLessonGroupDao extends BaseMapper<VideoLessonGroup> {
 
     //查询付费人数前5的课程
     List<CountVideoGroupVo.VideoLesson> selectVideoLesson();
+
 }

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

@@ -39,6 +39,9 @@ public class VideoGroupSearch extends QueryInfo {
     @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
     private Date endTime;
 
+    @ApiModelProperty(value = "课程组id")
+    private Long videoGroupId;
+
     public String getSearch() {
         return search;
     }
@@ -94,4 +97,12 @@ public class VideoGroupSearch extends QueryInfo {
     public void setEndTime(Date endTime) {
         this.endTime = endTime;
     }
+
+    public Long getVideoGroupId() {
+        return videoGroupId;
+    }
+
+    public void setVideoGroupId(Long videoGroupId) {
+        this.videoGroupId = videoGroupId;
+    }
 }

+ 3 - 0
cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/service/VideoLessonGroupService.java

@@ -52,6 +52,9 @@ public interface VideoLessonGroupService extends IService<VideoLessonGroup> {
 
     IPage<VideoLessonAuthGroup> queryGroupList(IPage<VideoLessonAuthGroup> page, VideoGroupSearch query);
 
+    IPage<VideoLessonAuthGroup> queryGroupHistoryList(IPage<VideoLessonAuthGroup> page, VideoGroupSearch search);
+
+
     IPage<LessonGroupVo> selectLessonGroupById(IPage<LessonGroupVo> page, VideoLessonGroupSearch query);
 
     CountVideoGroupVo countVideoGroup();

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

@@ -341,12 +341,6 @@ public class VideoLessonGroupServiceImpl extends ServiceImpl<VideoLessonGroupDao
             throw new BizException("该声部无法选择");
         }
 
-        //原视频组改为审核中,已下架
-        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());
@@ -354,6 +348,8 @@ public class VideoLessonGroupServiceImpl extends ServiceImpl<VideoLessonGroupDao
         //创建新的课程组记录
         lessonGroup.setTeacherId(sysUser.getId());
         lessonGroup.setAuditVersion(YesOrNoEnum.NO);
+        lessonGroup.setHistoryFlag(YesOrNoEnum.YES);
+        lessonGroup.setAuditStatus(AuthStatusEnum.DOING);
         lessonGroup.setId(null);
         videoLessonGroupDao.insert(lessonGroup);
         authRecord.setVideoGroupId(lessonGroup.getId());
@@ -407,6 +403,11 @@ public class VideoLessonGroupServiceImpl extends ServiceImpl<VideoLessonGroupDao
         return page.setRecords(baseMapper.queryGroupList(page, query));
     }
 
+    @Override
+    public IPage<VideoLessonAuthGroup> queryGroupHistoryList(IPage<VideoLessonAuthGroup> page, VideoGroupSearch query) {
+        return page.setRecords(baseMapper.queryGroupHistoryList(page, query));
+    }
+
     /**
      * @Description: 学生端-我的-我的课程-购买的视频课组
      * @Author: cy

+ 11 - 0
cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/vo/VideoLessonAuthGroup.java

@@ -13,6 +13,9 @@ public class VideoLessonAuthGroup extends VideoLessonGroup {
     @ApiModelProperty(value = "老师姓名")
     private String teacherName;
 
+    @ApiModelProperty(value = "视频组id")
+    private Long videoGroupId;
+
     private String realName;
 
     @ApiModelProperty(value = "老师手机号")
@@ -63,4 +66,12 @@ public class VideoLessonAuthGroup extends VideoLessonGroup {
     public void setSubjectName(String subjectName) {
         this.subjectName = subjectName;
     }
+
+    public Long getVideoGroupId() {
+        return videoGroupId;
+    }
+
+    public void setVideoGroupId(Long videoGroupId) {
+        this.videoGroupId = videoGroupId;
+    }
 }

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

@@ -128,6 +128,7 @@
 		LEFT JOIN sys_user s ON g.teacher_id_ = s.id_
 		LEFT JOIN `subject` b ON g.lesson_subject_=b.id_
 		<where>
+		    and g.history_flag_ = 0
 			<if test="param.shelvesFlag !=null">
 				AND g.shelves_flag_ = #{param.shelvesFlag}
 			</if>
@@ -171,6 +172,7 @@
 		LEFT JOIN sys_user s ON g.teacher_id_ = s.id_
 		LEFT JOIN subject j ON g.lesson_subject_ = j.id_
 		<where>
+			AND g.history_flag_ = 0
 			<if test="param.userId !=null">
 				AND p.student_id_ = #{param.userId}
 			</if>
@@ -217,6 +219,7 @@
 		FROM video_lesson_group g
 		LEFT JOIN subject j ON g.lesson_subject_ = j.id_
 		<where>
+			AND g.history_flag_ = 0
 			<if test="param.userId !=null">
 				AND g.teacher_id_ = #{param.userId}
 			</if>
@@ -290,7 +293,7 @@
 		LEFT JOIN sys_user u ON g.teacher_id_=u.id_
 		LEFT JOIN `subject` s ON g.lesson_subject_ = s.id_
 		<where>
-		    u.del_flag_ = 0
+			AND g.history_flag_ = 0 and u.del_flag_ = 0
 			<if test="null != param.search and '' != param.search">
 				AND (
 				u.username_ LIKE CONCAT('%', #{param.search}, '%') OR
@@ -321,18 +324,74 @@
 	</select>
 	<select id="queryGroupList" resultType="com.yonge.cooleshow.biz.dal.vo.VideoLessonAuthGroup">
 		SELECT
-		<include refid="recordColumns"/>
-		r.audit_status_ AS auditStatus,
-		r.remarks as remarks,
-		s.name_ AS subjectName,
-		t.username_ AS teacherName,
-		t.real_name_ AS realName,
-		t.phone_ AS teacherPhone
-		FROM video_lesson_group g
+			<include refid="recordColumns"/>
+			r.group_id_ as videoGroupId,
+			r.audit_status_ AS auditStatus,
+			r.remarks as remarks,
+			s.name_ AS subjectName,
+			t.username_ AS teacherName,
+			t.real_name_ AS realName,
+			t.phone_ AS teacherPhone
+		FROM (
+			select group_id_,max(id_) as id_ from video_lesson_auth_record group by group_id_
+		) a
+		LEFT JOIN video_lesson_auth_record r ON a.id_ = r.id_
+		LEFT JOIN video_lesson_group g ON g.id_=r.video_group_id_
+		LEFT JOIN `subject` s ON g.lesson_subject_=s.id_
+		LEFT JOIN sys_user t ON g.teacher_id_=t.id_
+		<where>
+			<if test="null != param.videoGroupId">
+				AND r.group_id_ = #{param.videoGroupId}
+			</if>
+			<if test="null != param.search and '' != param.search">
+				AND (
+					g.id_ LIKE CONCAT('%', #{param.search}, '%') OR
+					g.lesson_name_ LIKE CONCAT('%', #{param.search}, '%') OR
+					t.id_ LIKE CONCAT('%', #{param.search}, '%') OR
+					t.username_ LIKE CONCAT('%', #{param.search}, '%') OR
+					t.phone_ LIKE CONCAT('%', #{param.search}, '%')
+				)
+			</if>
+			<if test="param.auditStatus !=null and param.auditStatus !=''">
+				AND r.audit_status_ = #{param.auditStatus}
+			</if>
+			<if test="param.shelvesFlag !=null">
+				AND g.shelves_flag_ = #{param.shelvesFlag}
+			</if>
+			<if test="param.subjectId !=null">
+				AND g.lesson_subject_ = #{param.subjectId}
+			</if>
+			<if test="param.auditName !=null and param.auditName !=''">
+				AND r.audit_name_ LIKE CONCAT('%', #{param.auditName}, '%')
+			</if>
+			<if test="param.startTime !=null">
+				<![CDATA[AND g.create_time_ >= #{param.startTime} ]]>
+			</if>
+			<if test="param.endTime !=null">
+				<![CDATA[AND g.create_time_ <= #{param.endTime} ]]>
+			</if>
+		</where>
+		ORDER BY g.create_time_
+	</select>
+
+	<select id="queryGroupHistoryList" resultType="com.yonge.cooleshow.biz.dal.vo.VideoLessonAuthGroup">
+		SELECT
+			<include refid="recordColumns"/>
+			r.group_id_ as videoGroupId,
+			r.audit_status_ AS auditStatus,
+			r.remarks as remarks,
+			s.name_ AS subjectName,
+			t.username_ AS teacherName,
+			t.real_name_ AS realName,
+			t.phone_ AS teacherPhone
+		FROM video_lesson_auth_record r
+		LEFT JOIN video_lesson_group g ON g.id_=r.video_group_id_
 		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.videoGroupId">
+				AND r.group_id_ = #{param.videoGroupId}
+			</if>
 			<if test="null != param.search and '' != param.search">
 				AND (
 				g.id_ LIKE CONCAT('%', #{param.search}, '%') OR
@@ -363,11 +422,12 @@
 		</where>
 		ORDER BY g.create_time_ DESC
 	</select>
-    <select id="selectGroupById" resultType="com.yonge.cooleshow.biz.dal.entity.VideoLessonGroup"
+
+	<select id="selectGroupById" resultType="com.yonge.cooleshow.biz.dal.entity.VideoLessonGroup"
             parameterType="java.lang.Long">
 		SELECT
-		<include refid="baseColumns"/>
-		s.name_ AS lessonSubjectName
+			<include refid="baseColumns"/>
+			s.name_ AS lessonSubjectName
 		FROM video_lesson_group g
 		LEFT JOIN `subject` s ON g.lesson_subject_=s.id_
 		WHERE g.id_=#{groupId}