Merge remote-tracking branch 'origin/beetlsql3-dev' into beetlsql3-dev

beetlsql3-dev
姚丹ab 2 years ago
commit 1c18217c45

@ -1,5 +1,6 @@
package com.ibeetl.jlw.service; package com.ibeetl.jlw.service;
import cn.hutool.core.bean.BeanUtil;
import cn.jlw.util.ToolUtils; import cn.jlw.util.ToolUtils;
import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONObject; import com.alibaba.fastjson.JSONObject;
@ -9,6 +10,7 @@ import com.ibeetl.admin.core.util.PlatformException;
import com.ibeetl.admin.core.web.JsonResult; import com.ibeetl.admin.core.web.JsonResult;
import com.ibeetl.admin.core.web.JsonReturnCode; import com.ibeetl.admin.core.web.JsonReturnCode;
import com.ibeetl.jlw.dao.TeacherOpenCourseMergeCourseInfoDao; import com.ibeetl.jlw.dao.TeacherOpenCourseMergeCourseInfoDao;
import com.ibeetl.jlw.entity.CourseInfo;
import com.ibeetl.jlw.entity.FileEntity; import com.ibeetl.jlw.entity.FileEntity;
import com.ibeetl.jlw.entity.TeacherOpenCourseMergeCourseInfo; import com.ibeetl.jlw.entity.TeacherOpenCourseMergeCourseInfo;
import com.ibeetl.jlw.web.query.TeacherOpenCourseMergeCourseInfoQuery; import com.ibeetl.jlw.web.query.TeacherOpenCourseMergeCourseInfoQuery;
@ -25,10 +27,14 @@ import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional; import org.springframework.transaction.annotation.Transactional;
import org.springframework.validation.annotation.Validated; import org.springframework.validation.annotation.Validated;
import javax.validation.constraints.NotEmpty;
import javax.validation.constraints.NotNull;
import java.io.*; import java.io.*;
import java.util.*; import java.util.*;
import static com.ibeetl.admin.core.util.ExcelUtil.getCellFormatValue; import static com.ibeetl.admin.core.util.ExcelUtil.getCellFormatValue;
import static com.ibeetl.admin.core.util.user.CacheUserUtil.getUser;
import static java.util.stream.Collectors.toSet;
/** /**
* Service * Service
@ -41,6 +47,8 @@ import static com.ibeetl.admin.core.util.ExcelUtil.getCellFormatValue;
public class TeacherOpenCourseMergeCourseInfoService extends CoreBaseService<TeacherOpenCourseMergeCourseInfo>{ public class TeacherOpenCourseMergeCourseInfoService extends CoreBaseService<TeacherOpenCourseMergeCourseInfo>{
@Autowired private TeacherOpenCourseMergeCourseInfoDao teacherOpenCourseMergeCourseInfoDao; @Autowired private TeacherOpenCourseMergeCourseInfoDao teacherOpenCourseMergeCourseInfoDao;
@Autowired private CourseInfoService courseInfoService;
@Autowired private TeacherOpenCourseMergeResourcesQuestionService teacherOpenCourseMergeResourcesQuestionService;
public PageQuery<TeacherOpenCourseMergeCourseInfo>queryByCondition(PageQuery query){ public PageQuery<TeacherOpenCourseMergeCourseInfo>queryByCondition(PageQuery query){
PageQuery ret = teacherOpenCourseMergeCourseInfoDao.queryByCondition(query); PageQuery ret = teacherOpenCourseMergeCourseInfoDao.queryByCondition(query);
@ -188,8 +196,8 @@ public class TeacherOpenCourseMergeCourseInfoService extends CoreBaseService<Tea
} }
try { try {
if(null != is){ if(null != is){
is.close(); is.close();
} }
}catch (Exception e){ }catch (Exception e){
e.printStackTrace(); e.printStackTrace();
} }
@ -204,21 +212,21 @@ public class TeacherOpenCourseMergeCourseInfoService extends CoreBaseService<Tea
int colNum = firstRow.getPhysicalNumberOfCells(); int colNum = firstRow.getPhysicalNumberOfCells();
String columns[] = { String columns[] = {
"开课", "开课",
"名称", "名称",
"课程缩略图", "课程缩略图",
"课程标签", "课程标签",
"课程学习人数基数", "课程学习人数基数",
"课程简介", "课程简介",
"状态", "状态",
"类型", "类型",
"父节点", "父节点",
"视频", "视频",
"课件", "课件",
"附件IDs", "附件IDs",
"客观题IDs", "客观题IDs",
"竞赛题IDs", "竞赛题IDs",
"实训题IDs", "实训题IDs",
}; };
Map<String,Integer> map = new HashMap<>();//获取需要的表头的列 Map<String,Integer> map = new HashMap<>();//获取需要的表头的列
@ -332,27 +340,27 @@ public class TeacherOpenCourseMergeCourseInfoService extends CoreBaseService<Tea
continue; continue;
}else }else
{ {
//TODO 保存 //TODO 保存
TeacherOpenCourseMergeCourseInfo teacherOpenCourseMergeCourseInfo = new TeacherOpenCourseMergeCourseInfo(); TeacherOpenCourseMergeCourseInfo teacherOpenCourseMergeCourseInfo = new TeacherOpenCourseMergeCourseInfo();
teacherOpenCourseMergeCourseInfo.setTeacherOpenCourseId(Long.parseLong(teacherOpenCourseId)); teacherOpenCourseMergeCourseInfo.setTeacherOpenCourseId(Long.parseLong(teacherOpenCourseId));
teacherOpenCourseMergeCourseInfo.setCourseInfoName(courseInfoName); teacherOpenCourseMergeCourseInfo.setCourseInfoName(courseInfoName);
teacherOpenCourseMergeCourseInfo.setCourseInfoThumbnail(courseInfoThumbnail); teacherOpenCourseMergeCourseInfo.setCourseInfoThumbnail(courseInfoThumbnail);
teacherOpenCourseMergeCourseInfo.setCourseLabelId(Long.parseLong(courseLabelId)); teacherOpenCourseMergeCourseInfo.setCourseLabelId(Long.parseLong(courseLabelId));
teacherOpenCourseMergeCourseInfo.setCourseInfoBasicsCount(Integer.parseInt(courseInfoBasicsCount)); teacherOpenCourseMergeCourseInfo.setCourseInfoBasicsCount(Integer.parseInt(courseInfoBasicsCount));
teacherOpenCourseMergeCourseInfo.setCourseInfoContent(courseInfoContent); teacherOpenCourseMergeCourseInfo.setCourseInfoContent(courseInfoContent);
teacherOpenCourseMergeCourseInfo.setCourseInfoStatus(Integer.parseInt(courseInfoStatus)); teacherOpenCourseMergeCourseInfo.setCourseInfoStatus(Integer.parseInt(courseInfoStatus));
teacherOpenCourseMergeCourseInfo.setCourseInfoType(Integer.parseInt(courseInfoType)); teacherOpenCourseMergeCourseInfo.setCourseInfoType(Integer.parseInt(courseInfoType));
teacherOpenCourseMergeCourseInfo.setCourseInfoParentId(Long.parseLong(courseInfoParentId)); teacherOpenCourseMergeCourseInfo.setCourseInfoParentId(Long.parseLong(courseInfoParentId));
teacherOpenCourseMergeCourseInfo.setCourseVideoId(Long.parseLong(courseVideoId)); teacherOpenCourseMergeCourseInfo.setCourseVideoId(Long.parseLong(courseVideoId));
teacherOpenCourseMergeCourseInfo.setCourseCoursewareId(Long.parseLong(courseCoursewareId)); teacherOpenCourseMergeCourseInfo.setCourseCoursewareId(Long.parseLong(courseCoursewareId));
teacherOpenCourseMergeCourseInfo.setCourseEnclosureIds(courseEnclosureIds); teacherOpenCourseMergeCourseInfo.setCourseEnclosureIds(courseEnclosureIds);
teacherOpenCourseMergeCourseInfo.setResourcesQuestionIds(resourcesQuestionIds); teacherOpenCourseMergeCourseInfo.setResourcesQuestionIds(resourcesQuestionIds);
teacherOpenCourseMergeCourseInfo.setResourcesCompetitionIds(resourcesCompetitionIds); teacherOpenCourseMergeCourseInfo.setResourcesCompetitionIds(resourcesCompetitionIds);
teacherOpenCourseMergeCourseInfo.setResourcesTrainingIds(resourcesTrainingIds); teacherOpenCourseMergeCourseInfo.setResourcesTrainingIds(resourcesTrainingIds);
teacherOpenCourseMergeCourseInfo.setOrgId(coreUser.getOrgId()); teacherOpenCourseMergeCourseInfo.setOrgId(coreUser.getOrgId());
teacherOpenCourseMergeCourseInfo.setUserId(coreUser.getId()); teacherOpenCourseMergeCourseInfo.setUserId(coreUser.getId());
count++; count++;
} }
} }
} }
@ -371,4 +379,68 @@ public class TeacherOpenCourseMergeCourseInfoService extends CoreBaseService<Tea
} }
/**
* -
*
*
* @param courseInfoIds ID
* @param teacherOpenCourseId iD
* @return
*/
public void copyFromCourseInfo(@NotEmpty(message = "系统课程ID不能为空") Set<Long> courseInfoIds,
@NotNull(message = "开课ID不能为空") final Long teacherOpenCourseId) {
// 开启并行处理
courseInfoIds.stream().parallel().forEach(courseInfoId -> {
List<CourseInfo> chapterList = courseInfoService.getChapterList(courseInfoId);
// 拷贝
List<TeacherOpenCourseMergeCourseInfo> copyToList =
BeanUtil.copyToList(chapterList, TeacherOpenCourseMergeCourseInfo.class);
// 设置开课ID
copyToList.forEach(item -> item.setTeacherOpenCourseId(teacherOpenCourseId));
// 批量插入
teacherOpenCourseMergeCourseInfoDao.insertBatch(copyToList);
});
}
/**
* -
*
*
*
* @param courseInfoIds ID
* @param teacherOpenCourseId iD
* @return
*/
public void importCourseInfo(@NotEmpty(message = "系统课程ID不能为空") Set<Long> courseInfoIds,
@NotNull(message = "开课ID不能为空") final Long teacherOpenCourseId) {
// 拷贝课程章节
copyFromCourseInfo(courseInfoIds, teacherOpenCourseId);
// 开启并行处理
courseInfoIds.stream().parallel().forEach(courseInfoId -> {
// 获取这个课程章节下的所有的子章节信息
List<CourseInfo> chapterList = courseInfoService.getChapterList(Long.valueOf(courseInfoId));
// 取出来所有的课程章节ID
Set<Long> cids = chapterList.stream().map(CourseInfo::getCourseInfoId).collect(toSet());
// 拷贝所有的题目关联到指定的开课下
teacherOpenCourseMergeResourcesQuestionService.copyFromQuestion(cids, teacherOpenCourseId);
});
}
/**
* -
* -
*
* ID
*
* @return
*/
public Object systemCourseInfoByUniversitySystem() {
CoreUser user = getUser();
// TODO 接着搞
return true;
}
} }

@ -29,6 +29,7 @@ import org.springframework.transaction.annotation.Transactional;
import org.springframework.validation.annotation.Validated; import org.springframework.validation.annotation.Validated;
import javax.validation.constraints.NotEmpty; import javax.validation.constraints.NotEmpty;
import javax.validation.constraints.NotNull;
import java.io.*; import java.io.*;
import java.math.BigDecimal; import java.math.BigDecimal;
import java.util.*; import java.util.*;
@ -364,18 +365,26 @@ public class TeacherOpenCourseMergeResourcesQuestionService extends CoreBaseServ
/** /**
* resources_question * resources_question
*
* -
*
*
* @param resourcesQuestionIds * @param resourcesQuestionIds
* @param teacherOpenCourseId
* @return * @return
*/ */
public void copyFromQuestion(@NotEmpty(message = "资源题目ID不能为空") Set<String> resourcesQuestionIds) { public void copyFromQuestion(@NotEmpty(message = "资源题目ID不能为空") Set<Long> resourcesQuestionIds,
@NotNull(message = "开课ID不能为空") Long teacherOpenCourseId) {
// 题目ID集合 // 题目ID集合
String ids = join(resourcesQuestionIds, ","); String ids = join(resourcesQuestionIds, ",");
List<ResourcesQuestion> resourcesQuestions = resourcesQuestionDao.getByIds(ids); List<ResourcesQuestion> resourcesQuestions = resourcesQuestionDao.getByIds(ids);
// resourcesQuestions // 拷贝
List<TeacherOpenCourseMergeResourcesQuestion> copyToList =
// 默认有 BeanUtil.copyToList(resourcesQuestions, TeacherOpenCourseMergeResourcesQuestion.class);
List<TeacherOpenCourseMergeResourcesQuestion> copyToList = BeanUtil.copyToList(resourcesQuestions, TeacherOpenCourseMergeResourcesQuestion.class); // 设置开课ID
copyToList.forEach(item -> item.setTeacherOpenCourseId(teacherOpenCourseId));
// 批量插入
teacherOpenCourseMergeResourcesQuestionDao.insertBatch(copyToList);
} }
} }

@ -39,6 +39,7 @@ import java.io.InputStream;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.List; import java.util.List;
import java.util.Map; import java.util.Map;
import java.util.Set;
/** /**
* - -线 * - -线
@ -429,4 +430,51 @@ public class TeacherOpenCourseMergeCourseInfoController{
} }
} }
/**
* -
*
*
* @param courseInfoIds ID
* @param teacherOpenCourseId iD
* @return
*/
@PostMapping(API + "/copyFromCourseInfo.do")
public JsonResult copyFromCourseInfo(Set<Long> courseInfoIds, Long teacherOpenCourseId) {
teacherOpenCourseMergeCourseInfoService.copyFromCourseInfo(courseInfoIds, teacherOpenCourseId);
return JsonResult.success();
}
/**
* -
*
*
*
* @param courseInfoIds ID
* @param teacherOpenCourseId iD
* @return
*/
@PostMapping(API + "/importCourseInfo.do")
public JsonResult importCourseInfo(Set<Long> courseInfoIds, Long teacherOpenCourseId) {
teacherOpenCourseMergeCourseInfoService.importCourseInfo(courseInfoIds, teacherOpenCourseId);
return JsonResult.success();
}
/**
* -
* -
*
* ID
*
* @return
*/
@PostMapping(API + "/systemCourseInfoByUniSystem.do")
public JsonResult systemCourseInfoByUniversitySystem(@SCoreUser CoreUser coreUser) {
if(null == coreUser){
return JsonResult.failMessage("请登录后再操作");
}else{
return JsonResult.success(teacherOpenCourseMergeCourseInfoService.systemCourseInfoByUniversitySystem());
}
}
} }

@ -420,13 +420,15 @@ public class TeacherOpenCourseMergeResourcesQuestionController{
} }
/** /**
* - * -
*
*
* @param resourcesQuestionIds * @param resourcesQuestionIds
* @return * @return
*/ */
@PostMapping(API + "/copyFromQuestion.do") @PostMapping(API + "/copyFromQuestion.do")
public JsonResult copyFromQuestion(Set<String> resourcesQuestionIds) { public JsonResult copyFromQuestion(Set<Long> resourcesQuestionIds, Long teacherOpenCourseId) {
teacherOpenCourseMergeResourcesQuestionService.copyFromQuestion(resourcesQuestionIds); teacherOpenCourseMergeResourcesQuestionService.copyFromQuestion(resourcesQuestionIds, teacherOpenCourseId);
return JsonResult.success(); return JsonResult.success();
} }

Loading…
Cancel
Save