课程增加字段
parent
8c316c711b
commit
38ba8dbe41
|
|
@ -10,7 +10,9 @@ import com.zcloud.edu.domain.model.resource.CurriculumChapterE;
|
||||||
import com.zcloud.edu.domain.model.resource.CurriculumE;
|
import com.zcloud.edu.domain.model.resource.CurriculumE;
|
||||||
import com.zcloud.edu.dto.resource.CurriculumAddCmd;
|
import com.zcloud.edu.dto.resource.CurriculumAddCmd;
|
||||||
import com.zcloud.edu.dto.resource.CurriculumChapterAddCmd;
|
import com.zcloud.edu.dto.resource.CurriculumChapterAddCmd;
|
||||||
|
import com.zcloud.edu.persistence.dataobject.QuestionDO;
|
||||||
import com.zcloud.edu.persistence.repository.resource.CurriculumChapterRepository;
|
import com.zcloud.edu.persistence.repository.resource.CurriculumChapterRepository;
|
||||||
|
import com.zcloud.edu.persistence.repository.resource.CurriculumRepository;
|
||||||
import com.zcloud.edu.persistence.repository.resource.QuestionRepository;
|
import com.zcloud.edu.persistence.repository.resource.QuestionRepository;
|
||||||
import com.zcloud.edu.persistence.repository.resource.VideoCoursewareRepository;
|
import com.zcloud.edu.persistence.repository.resource.VideoCoursewareRepository;
|
||||||
import lombok.AllArgsConstructor;
|
import lombok.AllArgsConstructor;
|
||||||
|
|
@ -18,6 +20,7 @@ import org.springframework.beans.BeanUtils;
|
||||||
import org.springframework.stereotype.Component;
|
import org.springframework.stereotype.Component;
|
||||||
import org.springframework.transaction.annotation.Transactional;
|
import org.springframework.transaction.annotation.Transactional;
|
||||||
|
|
||||||
|
import java.math.BigDecimal;
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.stream.Collectors;
|
import java.util.stream.Collectors;
|
||||||
|
|
@ -33,6 +36,7 @@ import java.util.stream.Collectors;
|
||||||
@AllArgsConstructor
|
@AllArgsConstructor
|
||||||
public class CurriculumAddExe {
|
public class CurriculumAddExe {
|
||||||
private final CurriculumGateway curriculumGateway;
|
private final CurriculumGateway curriculumGateway;
|
||||||
|
private final CurriculumRepository curriculumRepository;
|
||||||
private final CurriculumChapterGateway curriculumChapterGateway;
|
private final CurriculumChapterGateway curriculumChapterGateway;
|
||||||
private final CurriculumChapterCoConvertor curriculumChapterCoConvertor;
|
private final CurriculumChapterCoConvertor curriculumChapterCoConvertor;
|
||||||
private final CurriculumChapterRepository curriculumChapterRepository;
|
private final CurriculumChapterRepository curriculumChapterRepository;
|
||||||
|
|
@ -42,17 +46,7 @@ public class CurriculumAddExe {
|
||||||
@Transactional(rollbackFor = Exception.class)
|
@Transactional(rollbackFor = Exception.class)
|
||||||
public boolean execute(CurriculumAddCmd cmd) {
|
public boolean execute(CurriculumAddCmd cmd) {
|
||||||
|
|
||||||
CurriculumE curriculumE = new CurriculumE();
|
|
||||||
BeanUtils.copyProperties(cmd, curriculumE);
|
|
||||||
boolean res = false;
|
|
||||||
try {
|
|
||||||
res = curriculumGateway.add(curriculumE);
|
|
||||||
} catch (Exception e) {
|
|
||||||
throw new RuntimeException(e);
|
|
||||||
}
|
|
||||||
if (!res) {
|
|
||||||
throw new BizException("课程保存失败");
|
|
||||||
}
|
|
||||||
List<String> videoCoursewareIds =new ArrayList<>();
|
List<String> videoCoursewareIds =new ArrayList<>();
|
||||||
//判断课程习题数量大于5
|
//判断课程习题数量大于5
|
||||||
if(CatalogueLevelEnum.FIRST_LEVEL.getCode().equals(cmd.getCatalogueLevel())){
|
if(CatalogueLevelEnum.FIRST_LEVEL.getCode().equals(cmd.getCatalogueLevel())){
|
||||||
|
|
@ -64,7 +58,6 @@ public class CurriculumAddExe {
|
||||||
//二级目录
|
//二级目录
|
||||||
List<CurriculumChapterAddCmd> curriculumChapterAddCmdList = cmd.getCurriculumChapterAddCmdList();
|
List<CurriculumChapterAddCmd> curriculumChapterAddCmdList = cmd.getCurriculumChapterAddCmdList();
|
||||||
//curriculumChapterAddCmdList过滤掉"0".equals(curriculumChapterAddCmd.getParentId()) 的数据,拿到videoCoursewareIds
|
//curriculumChapterAddCmdList过滤掉"0".equals(curriculumChapterAddCmd.getParentId()) 的数据,拿到videoCoursewareIds
|
||||||
// curriculumChapterAddCmdList.stream()
|
|
||||||
//curriculumChapterAddCmdList中curriculumChapterAddCmdList.get().getCurriculumChapterAddCmdList() 下所有的getVideoCoursewareId
|
//curriculumChapterAddCmdList中curriculumChapterAddCmdList.get().getCurriculumChapterAddCmdList() 下所有的getVideoCoursewareId
|
||||||
List<String> finalVideoCoursewareIds = videoCoursewareIds;
|
List<String> finalVideoCoursewareIds = videoCoursewareIds;
|
||||||
curriculumChapterAddCmdList.forEach(info->{
|
curriculumChapterAddCmdList.forEach(info->{
|
||||||
|
|
@ -80,8 +73,28 @@ public class CurriculumAddExe {
|
||||||
if(videoCoursewareCount<5){
|
if(videoCoursewareCount<5){
|
||||||
throw new BizException("课程习题数量不能小于5");
|
throw new BizException("课程习题数量不能小于5");
|
||||||
}
|
}
|
||||||
|
CurriculumE curriculumE = new CurriculumE();
|
||||||
|
BeanUtils.copyProperties(cmd, curriculumE);
|
||||||
|
|
||||||
|
BigDecimal videoTotalTime = videoCoursewareRepository.getVideoTotalTime(videoCoursewareIds);
|
||||||
|
//videoCoursewareCount中所有videoTime相加,去掉空值
|
||||||
|
//获取总时长
|
||||||
|
curriculumE.setVideoTotalTime(videoTotalTime);
|
||||||
|
|
||||||
|
|
||||||
|
boolean res = false;
|
||||||
|
try {
|
||||||
|
res = curriculumGateway.add(curriculumE);
|
||||||
|
} catch (Exception e) {
|
||||||
|
throw new RuntimeException(e);
|
||||||
|
}
|
||||||
|
if (!res) {
|
||||||
|
throw new BizException("课程保存失败");
|
||||||
|
}
|
||||||
|
|
||||||
//处理课程章节
|
//处理课程章节
|
||||||
List<CurriculumChapterAddCmd> curriculumChapterAddCmdList = cmd.getCurriculumChapterAddCmdList();
|
List<CurriculumChapterAddCmd> curriculumChapterAddCmdList = cmd.getCurriculumChapterAddCmdList();
|
||||||
|
List<String> videoCoursewareIds1 = videoCoursewareIds;
|
||||||
curriculumChapterAddCmdList.forEach(curriculumChapterAddCmd -> {
|
curriculumChapterAddCmdList.forEach(curriculumChapterAddCmd -> {
|
||||||
CurriculumChapterE curriculumChapterE = new CurriculumChapterE();
|
CurriculumChapterE curriculumChapterE = new CurriculumChapterE();
|
||||||
BeanUtils.copyProperties(curriculumChapterAddCmd, curriculumChapterE);
|
BeanUtils.copyProperties(curriculumChapterAddCmd, curriculumChapterE);
|
||||||
|
|
|
||||||
|
|
@ -1,5 +1,6 @@
|
||||||
package com.zcloud.edu.command.resource;
|
package com.zcloud.edu.command.resource;
|
||||||
|
|
||||||
|
import cn.hutool.core.collection.CollUtil;
|
||||||
import com.alibaba.cola.exception.BizException;
|
import com.alibaba.cola.exception.BizException;
|
||||||
import com.zcloud.edu.command.convertor.resource.CurriculumChapterCoConvertor;
|
import com.zcloud.edu.command.convertor.resource.CurriculumChapterCoConvertor;
|
||||||
import com.zcloud.edu.domain.enums.CatalogueLevelEnum;
|
import com.zcloud.edu.domain.enums.CatalogueLevelEnum;
|
||||||
|
|
@ -12,16 +13,17 @@ import com.zcloud.edu.dto.resource.CurriculumChapterAddCmd;
|
||||||
import com.zcloud.edu.dto.resource.CurriculumUpdateCmd;
|
import com.zcloud.edu.dto.resource.CurriculumUpdateCmd;
|
||||||
import com.zcloud.edu.dto.resource.CurriculumUpdateStateCmd;
|
import com.zcloud.edu.dto.resource.CurriculumUpdateStateCmd;
|
||||||
import com.zcloud.edu.persistence.dataobject.CurriculumDO;
|
import com.zcloud.edu.persistence.dataobject.CurriculumDO;
|
||||||
import com.zcloud.edu.persistence.repository.resource.CorpInfoRepository;
|
import com.zcloud.edu.persistence.repository.resource.*;
|
||||||
import com.zcloud.edu.persistence.repository.resource.CurriculumChapterRepository;
|
|
||||||
import com.zcloud.edu.persistence.repository.resource.CurriculumRepository;
|
|
||||||
import com.zcloud.edu.persistence.repository.study.ClassCurriculumRepository;
|
import com.zcloud.edu.persistence.repository.study.ClassCurriculumRepository;
|
||||||
import lombok.AllArgsConstructor;
|
import lombok.AllArgsConstructor;
|
||||||
import org.springframework.beans.BeanUtils;
|
import org.springframework.beans.BeanUtils;
|
||||||
import org.springframework.stereotype.Component;
|
import org.springframework.stereotype.Component;
|
||||||
import org.springframework.transaction.annotation.Transactional;
|
import org.springframework.transaction.annotation.Transactional;
|
||||||
|
|
||||||
|
import java.math.BigDecimal;
|
||||||
|
import java.util.ArrayList;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
import java.util.stream.Collectors;
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
@ -40,6 +42,8 @@ public class CurriculumUpdateExe {
|
||||||
private final CurriculumChapterGateway curriculumChapterGateway;
|
private final CurriculumChapterGateway curriculumChapterGateway;
|
||||||
private final CorpInfoRepository corpInfoRepository;
|
private final CorpInfoRepository corpInfoRepository;
|
||||||
private final ClassCurriculumRepository classCurriculumRepository;
|
private final ClassCurriculumRepository classCurriculumRepository;
|
||||||
|
private final QuestionRepository questionRepository;
|
||||||
|
private final VideoCoursewareRepository videoCoursewareRepository;
|
||||||
|
|
||||||
@Transactional(rollbackFor = Exception.class)
|
@Transactional(rollbackFor = Exception.class)
|
||||||
public void execute(CurriculumUpdateCmd curriculumUpdateCmd) {
|
public void execute(CurriculumUpdateCmd curriculumUpdateCmd) {
|
||||||
|
|
@ -62,9 +66,38 @@ public class CurriculumUpdateExe {
|
||||||
if(count>0){
|
if(count>0){
|
||||||
throw new BizException("该课程已绑定班级,不能编辑");
|
throw new BizException("该课程已绑定班级,不能编辑");
|
||||||
}
|
}
|
||||||
|
List<String> videoCoursewareIds =new ArrayList<>();
|
||||||
|
//判断课程习题数量大于5
|
||||||
|
if(CatalogueLevelEnum.FIRST_LEVEL.getCode().equals(curriculumUpdateCmd.getCatalogueLevel())){
|
||||||
|
//一级目录
|
||||||
|
videoCoursewareIds = curriculumUpdateCmd.getCurriculumChapterAddCmdList().stream()
|
||||||
|
.filter(curriculumChapterAddCmd -> curriculumChapterAddCmd.getVideoCoursewareId() != null)
|
||||||
|
.map(CurriculumChapterAddCmd::getVideoCoursewareId).collect(Collectors.toList());
|
||||||
|
}else{
|
||||||
|
//二级目录
|
||||||
|
List<CurriculumChapterAddCmd> curriculumChapterAddCmdList = curriculumUpdateCmd.getCurriculumChapterAddCmdList();
|
||||||
|
//curriculumChapterAddCmdList过滤掉"0".equals(curriculumChapterAddCmd.getParentId()) 的数据,拿到videoCoursewareIds
|
||||||
|
//curriculumChapterAddCmdList中curriculumChapterAddCmdList.get().getCurriculumChapterAddCmdList() 下所有的getVideoCoursewareId
|
||||||
|
List<String> finalVideoCoursewareIds = videoCoursewareIds;
|
||||||
|
curriculumChapterAddCmdList.forEach(info->{
|
||||||
|
List<String> collect = info.getCurriculumChapterAddCmdList().stream().filter(curriculumChapterAddCmd -> curriculumChapterAddCmd.getVideoCoursewareId() != null)
|
||||||
|
.map(CurriculumChapterAddCmd::getVideoCoursewareId).collect(Collectors.toList());
|
||||||
|
finalVideoCoursewareIds.addAll(collect);
|
||||||
|
});
|
||||||
|
}
|
||||||
|
if(CollUtil.isEmpty(videoCoursewareIds)){
|
||||||
|
throw new BizException("请选择课程");
|
||||||
|
}
|
||||||
|
Long videoCoursewareCount = questionRepository.getCountByVideoCoursewareList(videoCoursewareIds);
|
||||||
|
if(videoCoursewareCount<5){
|
||||||
|
throw new BizException("课程习题数量不能小于5");
|
||||||
|
}
|
||||||
CurriculumE curriculumE = new CurriculumE();
|
CurriculumE curriculumE = new CurriculumE();
|
||||||
BeanUtils.copyProperties(curriculumUpdateCmd, curriculumE);
|
BeanUtils.copyProperties(curriculumUpdateCmd, curriculumE);
|
||||||
|
BigDecimal videoTotalTime = videoCoursewareRepository.getVideoTotalTime(videoCoursewareIds);
|
||||||
|
curriculumE.setVideoTotalTime(videoTotalTime);
|
||||||
|
|
||||||
|
|
||||||
boolean res = curriculumGateway.update(curriculumE);
|
boolean res = curriculumGateway.update(curriculumE);
|
||||||
if (!res) {
|
if (!res) {
|
||||||
throw new BizException("修改失败");
|
throw new BizException("修改失败");
|
||||||
|
|
@ -87,7 +120,6 @@ public class CurriculumUpdateExe {
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public void editState(CurriculumUpdateStateCmd cmd) {
|
public void editState(CurriculumUpdateStateCmd cmd) {
|
||||||
|
|
|
||||||
|
|
@ -3,7 +3,6 @@ package com.zcloud.edu.command.study;
|
||||||
import com.alibaba.cola.exception.BizException;
|
import com.alibaba.cola.exception.BizException;
|
||||||
import com.jjb.saas.framework.auth.model.SSOUser;
|
import com.jjb.saas.framework.auth.model.SSOUser;
|
||||||
import com.jjb.saas.framework.auth.utils.AuthContext;
|
import com.jjb.saas.framework.auth.utils.AuthContext;
|
||||||
import com.sun.org.apache.xml.internal.security.Init;
|
|
||||||
import com.zcloud.edu.domain.gateway.study.ClassGateway;
|
import com.zcloud.edu.domain.gateway.study.ClassGateway;
|
||||||
import com.zcloud.edu.domain.model.study.ClassE;
|
import com.zcloud.edu.domain.model.study.ClassE;
|
||||||
import com.zcloud.edu.dto.study.ClassAddCmd;
|
import com.zcloud.edu.dto.study.ClassAddCmd;
|
||||||
|
|
|
||||||
|
|
@ -4,6 +4,8 @@ import com.alibaba.cola.dto.ClientObject;
|
||||||
import io.swagger.annotations.ApiModelProperty;
|
import io.swagger.annotations.ApiModelProperty;
|
||||||
import lombok.Data;
|
import lombok.Data;
|
||||||
|
|
||||||
|
import java.math.BigDecimal;
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* web-client
|
* web-client
|
||||||
|
|
@ -42,7 +44,7 @@ public class VideoCoursewareCO extends ClientObject {
|
||||||
private Integer state;
|
private Integer state;
|
||||||
//课件时长(视频时间)-秒
|
//课件时长(视频时间)-秒
|
||||||
@ApiModelProperty(value = "课件时长(视频时间)-秒")
|
@ApiModelProperty(value = "课件时长(视频时间)-秒")
|
||||||
private Integer videoTime;
|
private BigDecimal videoTime;
|
||||||
@ApiModelProperty(value = "课件截图url")
|
@ApiModelProperty(value = "课件截图url")
|
||||||
private String screenshotUrl;
|
private String screenshotUrl;
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -9,6 +9,7 @@ import lombok.NoArgsConstructor;
|
||||||
|
|
||||||
import javax.validation.constraints.NotEmpty;
|
import javax.validation.constraints.NotEmpty;
|
||||||
import javax.validation.constraints.NotNull;
|
import javax.validation.constraints.NotNull;
|
||||||
|
import java.math.BigDecimal;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* web-client
|
* web-client
|
||||||
|
|
@ -49,7 +50,7 @@ public class VideoCoursewareAddCmd extends Command {
|
||||||
|
|
||||||
@ApiModelProperty(value = "课件时长(视频时间)-秒", name = "videoTime", required = true)
|
@ApiModelProperty(value = "课件时长(视频时间)-秒", name = "videoTime", required = true)
|
||||||
@NotNull(message = "课件时长(视频时间)-秒不能为空")
|
@NotNull(message = "课件时长(视频时间)-秒不能为空")
|
||||||
private Integer videoTime;
|
private BigDecimal videoTime;
|
||||||
@ApiModelProperty(value = "课件截图url")
|
@ApiModelProperty(value = "课件截图url")
|
||||||
private String screenshotUrl;
|
private String screenshotUrl;
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -9,6 +9,7 @@ import lombok.NoArgsConstructor;
|
||||||
|
|
||||||
import javax.validation.constraints.NotEmpty;
|
import javax.validation.constraints.NotEmpty;
|
||||||
import javax.validation.constraints.NotNull;
|
import javax.validation.constraints.NotNull;
|
||||||
|
import java.math.BigDecimal;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* web-client
|
* web-client
|
||||||
|
|
@ -48,7 +49,7 @@ public class VideoCoursewareUpdateCmd extends Command {
|
||||||
private Integer state;
|
private Integer state;
|
||||||
@ApiModelProperty(value = "课件时长(视频时间)-秒", name = "videoTime", required = true)
|
@ApiModelProperty(value = "课件时长(视频时间)-秒", name = "videoTime", required = true)
|
||||||
@NotNull(message = "课件时长(视频时间)-秒不能为空")
|
@NotNull(message = "课件时长(视频时间)-秒不能为空")
|
||||||
private Integer videoTime;
|
private BigDecimal videoTime;
|
||||||
@ApiModelProperty(value = "课件截图url")
|
@ApiModelProperty(value = "课件截图url")
|
||||||
private String screenshotUrl;
|
private String screenshotUrl;
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -4,6 +4,7 @@ import com.jjb.saas.framework.domain.model.BaseE;
|
||||||
import io.swagger.annotations.ApiModelProperty;
|
import io.swagger.annotations.ApiModelProperty;
|
||||||
import lombok.Data;
|
import lombok.Data;
|
||||||
|
|
||||||
|
import java.math.BigDecimal;
|
||||||
import java.time.LocalDateTime;
|
import java.time.LocalDateTime;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
@ -67,6 +68,6 @@ public class CurriculumE extends BaseE {
|
||||||
private Integer chapterCount;
|
private Integer chapterCount;
|
||||||
//总视频时长
|
//总视频时长
|
||||||
@ApiModelProperty(value = "总视频时长")
|
@ApiModelProperty(value = "总视频时长")
|
||||||
private Integer videoTime;
|
private BigDecimal videoTotalTime;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -3,6 +3,8 @@ package com.zcloud.edu.domain.model.resource;
|
||||||
import com.jjb.saas.framework.domain.model.BaseE;
|
import com.jjb.saas.framework.domain.model.BaseE;
|
||||||
import lombok.Data;
|
import lombok.Data;
|
||||||
|
|
||||||
|
import java.math.BigDecimal;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* web-domain
|
* web-domain
|
||||||
*
|
*
|
||||||
|
|
@ -30,7 +32,7 @@ public class VideoCoursewareE extends BaseE {
|
||||||
//课件状态 0未启用, 1-启用
|
//课件状态 0未启用, 1-启用
|
||||||
private Integer state;
|
private Integer state;
|
||||||
//课件时长(视频时间)-秒
|
//课件时长(视频时间)-秒
|
||||||
private Integer videoTime;
|
private BigDecimal videoTime;
|
||||||
//课件截图
|
//课件截图
|
||||||
private String screenshotUrl;
|
private String screenshotUrl;
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -60,8 +60,7 @@ public class CurriculumDO extends BaseDO {
|
||||||
private Integer chapterCount;
|
private Integer chapterCount;
|
||||||
//总视频时长
|
//总视频时长
|
||||||
@ApiModelProperty(value = "总视频时长")
|
@ApiModelProperty(value = "总视频时长")
|
||||||
@TableField(exist = false)
|
private BigDecimal videoTotalTime;
|
||||||
private Integer videoTime;
|
|
||||||
|
|
||||||
|
|
||||||
public CurriculumDO(String curriculumId) {
|
public CurriculumDO(String curriculumId) {
|
||||||
|
|
|
||||||
|
|
@ -8,6 +8,8 @@ import lombok.Data;
|
||||||
import lombok.EqualsAndHashCode;
|
import lombok.EqualsAndHashCode;
|
||||||
import lombok.NoArgsConstructor;
|
import lombok.NoArgsConstructor;
|
||||||
|
|
||||||
|
import java.math.BigDecimal;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* web-infrastructure
|
* web-infrastructure
|
||||||
*
|
*
|
||||||
|
|
@ -45,7 +47,7 @@ public class VideoCoursewareDO extends BaseDO {
|
||||||
private Integer state;
|
private Integer state;
|
||||||
//课件时长(视频时间)-秒
|
//课件时长(视频时间)-秒
|
||||||
@ApiModelProperty(value = "课件时长(视频时间)-秒")
|
@ApiModelProperty(value = "课件时长(视频时间)-秒")
|
||||||
private Integer videoTime;
|
private BigDecimal videoTime;
|
||||||
@ApiModelProperty(value = "课件截图url")
|
@ApiModelProperty(value = "课件截图url")
|
||||||
private String screenshotUrl;
|
private String screenshotUrl;
|
||||||
@ApiModelProperty(value = "企业名称")
|
@ApiModelProperty(value = "企业名称")
|
||||||
|
|
|
||||||
|
|
@ -13,6 +13,7 @@ import com.jjb.saas.framework.repository.repo.impl.BaseRepositoryImpl;
|
||||||
import lombok.RequiredArgsConstructor;
|
import lombok.RequiredArgsConstructor;
|
||||||
import org.springframework.stereotype.Service;
|
import org.springframework.stereotype.Service;
|
||||||
|
|
||||||
|
import java.math.BigDecimal;
|
||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
|
|
@ -65,5 +66,14 @@ public class VideoCoursewareRepositoryImpl extends BaseRepositoryImpl<VideoCours
|
||||||
queryWrapper.eq("training_type_id", trainingTypeId);
|
queryWrapper.eq("training_type_id", trainingTypeId);
|
||||||
return videoCoursewareMapper.selectCount(queryWrapper);
|
return videoCoursewareMapper.selectCount(queryWrapper);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public BigDecimal getVideoTotalTime(List<String> videoCoursewareIds) {
|
||||||
|
QueryWrapper<VideoCoursewareDO> queryWrapper = new QueryWrapper<>();
|
||||||
|
queryWrapper.in("video_courseware_id", videoCoursewareIds);
|
||||||
|
List<VideoCoursewareDO> videoCoursewareDOList = list(queryWrapper);
|
||||||
|
BigDecimal videoTotalTime = videoCoursewareDOList.stream().map(VideoCoursewareDO::getVideoTime).reduce(BigDecimal.ZERO, BigDecimal::add).setScale(1, BigDecimal.ROUND_HALF_UP);
|
||||||
|
return videoTotalTime;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -5,6 +5,7 @@ import com.alibaba.cola.dto.SingleResponse;
|
||||||
import com.alibaba.cola.dto.PageResponse;
|
import com.alibaba.cola.dto.PageResponse;
|
||||||
import com.jjb.saas.framework.repository.repo.BaseRepository;
|
import com.jjb.saas.framework.repository.repo.BaseRepository;
|
||||||
|
|
||||||
|
import java.math.BigDecimal;
|
||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
|
|
@ -27,5 +28,7 @@ public interface VideoCoursewareRepository extends BaseRepository<VideoCoursewar
|
||||||
SingleResponse<VideoCoursewareDO> getInfoById(Long id);
|
SingleResponse<VideoCoursewareDO> getInfoById(Long id);
|
||||||
|
|
||||||
Long getListByTraingId(String trainingTypeId);
|
Long getListByTraingId(String trainingTypeId);
|
||||||
|
|
||||||
|
BigDecimal getVideoTotalTime(List<String> videoCoursewareIds);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -8,8 +8,8 @@
|
||||||
select c.*,
|
select c.*,
|
||||||
corp.corp_name as corpName,
|
corp.corp_name as corpName,
|
||||||
tt.name as trainingTypeName,
|
tt.name as trainingTypeName,
|
||||||
count(cc.id) as chapterCount,
|
count(cc.id) as chapterCount
|
||||||
sum(vc.video_time) as videoTime
|
|
||||||
from curriculum c
|
from curriculum c
|
||||||
left join corp_info corp on c.corpinfo_id = corp.id
|
left join corp_info corp on c.corpinfo_id = corp.id
|
||||||
left join training_type tt on c.training_type_id = tt.training_type_id and tt.delete_enum = 'FALSE'
|
left join training_type tt on c.training_type_id = tt.training_type_id and tt.delete_enum = 'FALSE'
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue