yonge 2 år sedan
förälder
incheckning
514f0eda3c

+ 11 - 0
cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/entity/VideoLessonGroupLog.java

@@ -75,6 +75,9 @@ public class VideoLessonGroupLog {
 	
 	private Long version;
 	
+	@ApiModelProperty(value = "视频课明细json串",required = false)
+	private String videoDetailJson;
+	
 	public VideoLessonGroupLog setId(Long id){
 		this.id = id;
 		return this;
@@ -279,6 +282,14 @@ public class VideoLessonGroupLog {
 		this.version = version;
 	}
 
+	public String getVideoDetailJson() {
+		return videoDetailJson;
+	}
+
+	public void setVideoDetailJson(String videoDetailJson) {
+		this.videoDetailJson = videoDetailJson;
+	}
+
 	@Override
 	public String toString() {
 		return ToStringBuilder.reflectionToString(this);

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

@@ -61,6 +61,7 @@ import com.yonge.cooleshow.common.enums.YesOrNoEnum;
 import com.yonge.toolset.base.exception.BizException;
 import com.yonge.toolset.base.string.MessageFormatter;
 import com.yonge.toolset.thirdparty.message.MessageSenderPluginContext;
+import com.yonge.toolset.utils.json.JsonUtil;
 
 /**
  * VideoLessonGroupService服务实现类
@@ -107,16 +108,21 @@ public class VideoLessonGroupServiceImpl extends ServiceImpl<VideoLessonGroupDao
      */
     @Override
     public IPage<VideoLessonGroupVo> selectPage(IPage<VideoLessonGroupVo> page, VideoLessonGroupSearch query) {
-        if(org.apache.commons.lang3.StringUtils.isNotBlank(query.getAuditStatus())){
-            if(query.getAuditStatus().equals(AuthStatusEnum.OUT_SALE.getCode())){
-                query.setAuditStatus(null);
-                query.setShelvesFlag(0);
-            }else if(query.getAuditStatus().equals(AuthStatusEnum.PASS.getCode())){
-                query.setShelvesFlag(1);
-            }else{
-            	query.setShelvesFlag(null);
-            }
-        }
+		if (org.apache.commons.lang3.StringUtils.isNotBlank(query.getAuditStatus())) {
+
+			if (query.getAuditStatus().equals(AuthStatusEnum.DOING.getCode())) {
+				query.setShelvesFlag(null);
+			} else if (query.getAuditStatus().equals(AuthStatusEnum.UNPASS.getCode())) {
+				query.setShelvesFlag(null);
+			} else {
+				if (query.getAuditStatus().equals(AuthStatusEnum.OUT_SALE.getCode())) {
+					query.setAuditStatus(AuthStatusEnum.PASS.getCode());
+					query.setShelvesFlag(0);
+				} else if (query.getAuditStatus().equals(AuthStatusEnum.PASS.getCode())) {
+					query.setShelvesFlag(1);
+				}
+			}
+		}
         return page.setRecords(baseMapper.selectPage(page, query));
     }
 
@@ -252,6 +258,7 @@ public class VideoLessonGroupServiceImpl extends ServiceImpl<VideoLessonGroupDao
     public void add(VideoLessonVo lessonVo, SysUser sysUser) {
         VideoLessonGroup lessonGroup = lessonVo.getLessonGroup();
         List<VideoLessonGroupDetail> lessonList = lessonVo.getLessonList();
+        lessonGroup.setLessonCount(lessonList.size());
 
         //校验声部
         Long subjectId = Long.valueOf(lessonGroup.getLessonSubject());
@@ -301,6 +308,7 @@ public class VideoLessonGroupServiceImpl extends ServiceImpl<VideoLessonGroupDao
         videoLessonGroupLog.setCreateTime(date);
         videoLessonGroupLog.setUpdateTime(date);
         videoLessonGroupLog.setModifierId(sysUser.getId());
+        videoLessonGroupLog.setVideoDetailJson(JsonUtil.toJSONString(lessonList));
         videoLessonGroupLog.setVersion(videoLessonGroupLogService.queryMaxVersion(lessonGroup.getId()) + 1);
         
         videoLessonGroupLogService.insert(videoLessonGroupLog);
@@ -411,6 +419,17 @@ public class VideoLessonGroupServiceImpl extends ServiceImpl<VideoLessonGroupDao
         //提交审核
         recordDao.insert(authRecord);*/
         
+        videoLessonGroupDetailDao.deleteByGroupId(lessonGroup.getId());
+		if (lessonList != null && lessonList.size() > 0) {
+			for (VideoLessonGroupDetail detail : lessonList) {
+				detail.setVideoLessonGroupId(lessonGroup.getId());
+				detail.setTeacherId(sysUser.getId());
+				detail.setUpdateBy(sysUser.getId());
+			}
+			// 添加课程
+			videoLessonGroupDetailDao.insertVideoLesson(lessonList);
+		}
+        
         VideoLessonGroupLog  videoLessonGroupLog = new VideoLessonGroupLog();
         
         try {
@@ -423,6 +442,7 @@ public class VideoLessonGroupServiceImpl extends ServiceImpl<VideoLessonGroupDao
         videoLessonGroupLog.setCreateTime(date);
         videoLessonGroupLog.setUpdateTime(date);
         videoLessonGroupLog.setModifierId(sysUser.getId());
+        videoLessonGroupLog.setVideoDetailJson(JsonUtil.toJSONString(lessonList));
         videoLessonGroupLog.setVersion(videoLessonGroupLogService.queryMaxVersion(lessonGroup.getId()) + 1);
         
         videoLessonGroupLogService.insert(videoLessonGroupLog);
@@ -432,17 +452,6 @@ public class VideoLessonGroupServiceImpl extends ServiceImpl<VideoLessonGroupDao
         lessonGroup.setAuditStatus(AuthStatusEnum.DOING);
         lessonGroup.setUpdateTime(date);
         videoLessonGroupDao.updateById(lessonGroup);
-        
-        videoLessonGroupDetailDao.deleteByGroupId(lessonGroup.getId());
-		if (lessonList != null && lessonList.size() > 0) {
-			for (VideoLessonGroupDetail detail : lessonList) {
-				detail.setVideoLessonGroupId(lessonGroup.getId());
-				detail.setTeacherId(sysUser.getId());
-				detail.setUpdateBy(sysUser.getId());
-			}
-			// 添加课程
-			videoLessonGroupDetailDao.insertVideoLesson(lessonList);
-		}
 
         //刷新统计
         VideoLessonGroupUpVo groupUpVo = new VideoLessonGroupUpVo();
@@ -458,15 +467,7 @@ public class VideoLessonGroupServiceImpl extends ServiceImpl<VideoLessonGroupDao
     @Override
     public IPage<LessonGroupVo> selectLessonGroup(IPage<LessonGroupVo> page, VideoLessonGroupSearch query) {
         query.setAuditStatus(AuthStatusEnum.PASS.getCode());
-
-        if(org.apache.commons.lang3.StringUtils.isNoneBlank(query.getAuditStatus())){
-            if(query.getAuditStatus().equals("OUT_SALE")){
-                query.setAuditStatus(null);
-                query.setShelvesFlag(0);
-            }else{
-                query.setShelvesFlag(1);
-            }
-        }
+        query.setShelvesFlag(1);
         return page.setRecords(baseMapper.selectLessonGroup(page, query));
     }
 
@@ -477,12 +478,32 @@ public class VideoLessonGroupServiceImpl extends ServiceImpl<VideoLessonGroupDao
      */
     @Override
     public IPage<VideoLessonAuthGroup> queryGroupList(IPage<VideoLessonAuthGroup> page, VideoGroupSearch query) {
+        if(org.apache.commons.lang3.StringUtils.isNotBlank(query.getAuditStatus())){
+        	
+        	if(query.getAuditStatus().equals(AuthStatusEnum.DOING.getCode())){
+            	query.setShelvesFlag(null);
+        	}else if(query.getAuditStatus().equals(AuthStatusEnum.UNPASS.getCode())){
+            	query.setShelvesFlag(null);
+        	}else{
+        		if(query.getAuditStatus().equals(AuthStatusEnum.OUT_SALE.getCode())){
+                    query.setAuditStatus(AuthStatusEnum.PASS.getCode());
+                    query.setShelvesFlag(0);
+                }else if(query.getAuditStatus().equals(AuthStatusEnum.PASS.getCode())){
+                    query.setShelvesFlag(1);
+                }
+        	}
+        	
+        }
         return page.setRecords(baseMapper.queryGroupList(page, query));
     }
 
     @Override
     public IPage<VideoLessonAuthGroup> queryGroupHistoryList(IPage<VideoLessonAuthGroup> page, VideoGroupSearch query) {
-        return page.setRecords(baseMapper.queryGroupHistoryList(page, query));
+    	List<VideoLessonAuthGroup> list = baseMapper.queryGroupHistoryList(page, query);
+    	for(VideoLessonAuthGroup g : list){
+    		g.setVideoList(JsonUtil.parseArray(g.getVideoDetailJson(), VideoLessonGroupDetail.class));
+    	}
+        return page.setRecords(list);
     }
 
     @Override

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

@@ -38,6 +38,8 @@ public class VideoLessonAuthGroup extends VideoLessonGroup {
     @ApiModelProperty("上一次的修改记录")
     private VideoLessonGroupLog lastVideoLessonGroupLog;
     
+    private String videoDetailJson;
+    
     private Long version;
 
     public String getRemarks() {
@@ -112,4 +114,12 @@ public class VideoLessonAuthGroup extends VideoLessonGroup {
 		this.version = version;
 	}
 
+	public String getVideoDetailJson() {
+		return videoDetailJson;
+	}
+
+	public void setVideoDetailJson(String videoDetailJson) {
+		this.videoDetailJson = videoDetailJson;
+	}
+
 }

+ 6 - 2
cooleshow-user/user-biz/src/main/resources/config/mybatis/VideoLessonGroupLogMapper.xml

@@ -28,6 +28,7 @@
 		<result column="create_time_" property="createTime" />
 		<result column="update_time_" property="updateTime" />
 		<result column="version_" property="version" />
+		<result column="video_detail_json_" property="videoDetailJson" />
 	</resultMap>
 
 	<!-- 根据主键查询一条记录 -->
@@ -48,8 +49,8 @@
 		useGeneratedKeys="true" keyColumn="id" keyProperty="id">
 		INSERT INTO
 		video_lesson_group_log
-		(id_,video_lesson_group_id_,lesson_name_,lesson_subject_,lesson_desc_,lesson_price_,lesson_cover_url_,teacher_id_,lesson_count_,sort_number_,lesson_tag_,top_flag_,hot_flag_,shelves_flag_,shelves_time_,shelves_reason_,shelves_id_,modifier_id_,remarks,audit_version_,create_time_,update_time_,version_)
-		VALUES(#{id},#{videoLessonGroupId},#{lessonName},#{lessonSubject},#{lessonDesc},#{lessonPrice},#{lessonCoverUrl},#{teacherId},#{lessonCount},#{sortNumber},#{lessonTag},#{topFlag},#{hotFlag},#{shelvesFlag},#{shelvesTime},#{shelvesReason},#{shelvesId},#{modifierId},#{remarks},#{auditVersion},#{createTime},#{updateTime},#{version})
+		(id_,video_lesson_group_id_,lesson_name_,lesson_subject_,lesson_desc_,lesson_price_,lesson_cover_url_,teacher_id_,lesson_count_,sort_number_,lesson_tag_,top_flag_,hot_flag_,shelves_flag_,shelves_time_,shelves_reason_,shelves_id_,modifier_id_,remarks,audit_version_,create_time_,update_time_,version_,video_detail_json_)
+		VALUES(#{id},#{videoLessonGroupId},#{lessonName},#{lessonSubject},#{lessonDesc},#{lessonPrice},#{lessonCoverUrl},#{teacherId},#{lessonCount},#{sortNumber},#{lessonTag},#{topFlag},#{hotFlag},#{shelvesFlag},#{shelvesTime},#{shelvesReason},#{shelvesId},#{modifierId},#{remarks},#{auditVersion},#{createTime},#{updateTime},#{version},#{videoDetailJson})
 	</insert>
 
 	<!-- 根据主键查询一条记录 -->
@@ -126,6 +127,9 @@
 			<if test="version != null">
 				version_ = #{version},
 			</if>
+			<if test="videoDetailJson != null">
+				video_detail_json_ = #{videoDetailJson},
+			</if>
 		</set>
 		WHERE id_ = #{id}
 	</update>

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

@@ -399,6 +399,7 @@
 			g.shelves_reason_ as shelvesReason,
 			g.create_time_ AS createTime,
 			g.update_time_ AS updateTime,
+			g.video_detail_json_ as videoDetailJson,
 			r.audit_id_ AS auditId,
 			r.audit_name_ AS auditName,
 			r.audit_status_ AS auditStatus,