提交 01896fcd authored 作者: zhouzhigang's avatar zhouzhigang

--no commit message

上级 b336e230
...@@ -32,6 +32,7 @@ import org.springframework.web.bind.annotation.RestController; ...@@ -32,6 +32,7 @@ import org.springframework.web.bind.annotation.RestController;
import com.zrqx.core.client.form.order.OrderInfo; import com.zrqx.core.client.form.order.OrderInfo;
import com.zrqx.core.client.form.resource.GoodsBuyVo; import com.zrqx.core.client.form.resource.GoodsBuyVo;
import com.zrqx.core.client.form.resource.OrderInfoForm;
import com.zrqx.core.client.sysuser.fg.FgSysuserClient; import com.zrqx.core.client.sysuser.fg.FgSysuserClient;
import com.zrqx.core.commons.redis.Redis; import com.zrqx.core.commons.redis.Redis;
import com.zrqx.core.enums.AllResourceTypeEnum; import com.zrqx.core.enums.AllResourceTypeEnum;
...@@ -96,6 +97,7 @@ import com.zrqx.resource.fg.service.searchHistory.FgSearchHistoryService; ...@@ -96,6 +97,7 @@ import com.zrqx.resource.fg.service.searchHistory.FgSearchHistoryService;
import com.zrqx.resource.fg.service.videolibrary.FgVideoLibraryDiyTypeService; import com.zrqx.resource.fg.service.videolibrary.FgVideoLibraryDiyTypeService;
import com.zrqx.resource.fg.service.videolibrary.FgVideoLibraryLabelContentDiyTypeService; import com.zrqx.resource.fg.service.videolibrary.FgVideoLibraryLabelContentDiyTypeService;
import com.zrqx.resource.fg.service.videolibrary.FgVideoLibraryService; import com.zrqx.resource.fg.service.videolibrary.FgVideoLibraryService;
import com.zrqx.resource.fg.service.videolibrary.FgVideoLookLibraryService;
import io.swagger.annotations.Api; import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation; import io.swagger.annotations.ApiOperation;
...@@ -153,6 +155,9 @@ public class FgResourceLibraryController { ...@@ -153,6 +155,9 @@ public class FgResourceLibraryController {
private FgAnnexLibraryService annexLibraryService; private FgAnnexLibraryService annexLibraryService;
@Autowired @Autowired
private FgAnnexLibraryDiyTypeService annexLibraryDiyTypeService; private FgAnnexLibraryDiyTypeService annexLibraryDiyTypeService;
@Autowired
private FgVideoLookLibraryService fgVideoLookLibraryService;
@Autowired @Autowired
private FgPromotionService promotionService; private FgPromotionService promotionService;
...@@ -1517,9 +1522,9 @@ public class FgResourceLibraryController { ...@@ -1517,9 +1522,9 @@ public class FgResourceLibraryController {
@ApiOperation(value = "新增视频播放记录", notes = "新增一个") @ApiOperation(value = "新增视频播放记录", notes = "新增一个")
@PostMapping(value = "/save") @PostMapping(value = "/add/look/record")
public CallBack<Boolean> saveLookRecord(@RequestBody FgVideoLookForm form) { public CallBack<Boolean> saveLookRecord(@RequestBody List<OrderInfoForm> list) {
if (!fgVideoLookLibraryService.saveVideoLook(form)) { if (!fgVideoLookLibraryService.saveLookRecord(list)) {
throw new BaseException("操作失败"); throw new BaseException("操作失败");
} }
return CallBack.success(); return CallBack.success();
......
...@@ -70,15 +70,14 @@ public interface FgVideoLookLibraryMapper extends BaseMapper<VideoLookLibrary> { ...@@ -70,15 +70,14 @@ public interface FgVideoLookLibraryMapper extends BaseMapper<VideoLookLibrary> {
@Select("<script>" @Select("<script>"
+ " SELECT timeSpeed from res_video_look_library v " + " SELECT * from res_video_look_library v "
+ " where 1=1 " + " where 1=1 "
+ " eq(v.courseId,courseId) " + " eq(v.courseId,courseId) "
+ " eq(v.resourceType,resourceType) " + " eq(v.resourceType,resourceType) "
+ " eq(v.videoId,videoId) "
+ " eq(v.memberId,memberId) " + " eq(v.memberId,memberId) "
+ " order by uploadTime desc "
+ " limit 1 "
+ "</script>") + "</script>")
BigDecimal queryTimeSpeed(@Param("courseId")String courseId,@Param("resourceType")Integer resourceType,@Param("memberId")Integer memberId); List<VideoLookLibrary> queryTimeSpeed(@Param("courseId")String courseId,@Param("resourceType")Integer resourceType,@Param("memberId")Integer memberId,@Param("videoId")String videoId);
} }
...@@ -11,9 +11,11 @@ import org.springframework.beans.factory.annotation.Autowired; ...@@ -11,9 +11,11 @@ import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import com.zrqx.core.client.form.order.GoodsForm; import com.zrqx.core.client.form.order.GoodsForm;
import com.zrqx.core.client.form.resource.OrderInfoForm;
import com.zrqx.core.client.order.fg.FgOrderClient; import com.zrqx.core.client.order.fg.FgOrderClient;
import com.zrqx.core.commons.model.member.Member; import com.zrqx.core.commons.model.member.Member;
import com.zrqx.core.commons.redis.Redis; import com.zrqx.core.commons.redis.Redis;
import com.zrqx.core.enums.AllResourceTypeEnum;
import com.zrqx.core.mapper.BaseMapper; import com.zrqx.core.mapper.BaseMapper;
import com.zrqx.core.service.BaseServiceImpl; import com.zrqx.core.service.BaseServiceImpl;
import com.zrqx.core.util.datatype.ArrayUtils; import com.zrqx.core.util.datatype.ArrayUtils;
...@@ -73,6 +75,59 @@ public class FgVideoLookLibrarySerivceImpl extends BaseServiceImpl<VideoLookLibr ...@@ -73,6 +75,59 @@ public class FgVideoLookLibrarySerivceImpl extends BaseServiceImpl<VideoLookLibr
mapper.insert(look); mapper.insert(look);
return true; return true;
} }
@Override
public boolean saveLookRecord(List<OrderInfoForm> list) {
for (OrderInfoForm orderInfoForm : list) {
//课程
if(AllResourceTypeEnum.COURSE.getCode().toString().equals(orderInfoForm.getType())) {
//通过课程id查询课程绑定的视频
List<FgRelationResourceListVo> relationList = resourceRelationService
.queryByRrelationResource(orderInfoForm.getGoodsid());
//若课程列表有被学习过的视频则不保存,反之保存
for (FgRelationResourceListVo relation : relationList) {
List<VideoLookLibrary> voList =
mapper.queryTimeSpeed(orderInfoForm.getGoodsid(),Integer.parseInt(orderInfoForm.getType()), redis.getMemberW().getId(), relation.getResourceId());
if(ArrayUtils.isNotEmpty(voList)) {
continue;
}else {
this.saveRecord(orderInfoForm, relation.getResourceId());
}
}
}else {
//查询此视频/音频有未学习过,若学习过则跳过,若未学习过则保存记录,默认进度为0
List<VideoLookLibrary> voList =
mapper.queryTimeSpeed(orderInfoForm.getGoodsid(),Integer.parseInt(orderInfoForm.getType()), redis.getMemberW().getId(), null);
if(ArrayUtils.isNotEmpty(voList)) {
continue;
}else {//保存
this.saveRecord(orderInfoForm, null);
}
}
}
return true;
}
public void saveRecord(OrderInfoForm orderInfoForm,String videoId) {
FgVideoLookForm form = new FgVideoLookForm();
form.setCourseId(orderInfoForm.getGoodsid());
form.setLooKTimeLength("0秒");
form.setName(orderInfoForm.getName());
form.setResourceType(Integer.parseInt(orderInfoForm.getType()));
form.setSpeed("0%");
form.setTimeSpeed(0);
if(AllResourceTypeEnum.COURSE.getCode().toString().equals(orderInfoForm.getType())) {
form.setVideoId(videoId);
}else {
form.setVideoId(orderInfoForm.getGoodsid());
}
this.saveVideoLook(form);
}
@Override @Override
public List<FgVideoLookLibraryVO> querybyLookVideo() { public List<FgVideoLookLibraryVO> querybyLookVideo() {
......
...@@ -2,7 +2,10 @@ package com.zrqx.resource.fg.service.videolibrary; ...@@ -2,7 +2,10 @@ package com.zrqx.resource.fg.service.videolibrary;
import java.util.List; import java.util.List;
import org.springframework.web.bind.annotation.RequestBody;
import com.zrqx.core.client.form.order.GoodsForm; import com.zrqx.core.client.form.order.GoodsForm;
import com.zrqx.core.client.form.resource.OrderInfoForm;
import com.zrqx.core.service.BaseService; import com.zrqx.core.service.BaseService;
import com.zrqx.core.util.page.PageInfo; import com.zrqx.core.util.page.PageInfo;
import com.zrqx.core.util.page.PageParam; import com.zrqx.core.util.page.PageParam;
...@@ -23,6 +26,8 @@ public interface FgVideoLookLibraryService extends BaseService<VideoLookLibrary, ...@@ -23,6 +26,8 @@ public interface FgVideoLookLibraryService extends BaseService<VideoLookLibrary,
PageInfo<FgQueryCourseInfoForm> querybyLook(PageParam pageParam); PageInfo<FgQueryCourseInfoForm> querybyLook(PageParam pageParam);
boolean saveLookRecord(@RequestBody List<OrderInfoForm> list);
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论