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);
@ -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