|
@@ -20,6 +20,8 @@ import cn.com.qmth.examcloud.core.basic.dao.OrgRepo;
|
|
|
import cn.com.qmth.examcloud.core.basic.dao.entity.CourseEntity;
|
|
|
import cn.com.qmth.examcloud.core.basic.dao.entity.OrgEntity;
|
|
|
import cn.com.qmth.examcloud.core.basic.dao.enums.CourseLevel;
|
|
|
+import cn.com.qmth.examcloud.core.basic.service.CourseService;
|
|
|
+import cn.com.qmth.examcloud.core.basic.service.bean.CourseInfo;
|
|
|
import io.swagger.annotations.ApiOperation;
|
|
|
|
|
|
/**
|
|
@@ -42,85 +44,23 @@ public class CourseCloudServiceProvider implements CourseCloudService {
|
|
|
@Autowired
|
|
|
CourseRepo courseRepo;
|
|
|
|
|
|
+ @Autowired
|
|
|
+ CourseService courseService;
|
|
|
+
|
|
|
@ApiOperation(value = "保存课程")
|
|
|
@PostMapping("saveCourse")
|
|
|
@Override
|
|
|
public SaveCourseResp saveCourse(@RequestBody SaveCourseReq courseReq) {
|
|
|
|
|
|
- Long rootOrgId = courseReq.getRootOrgId();
|
|
|
- if (null == rootOrgId) {
|
|
|
- throw new StatusException("B-160000", "rootOrgId is null");
|
|
|
- }
|
|
|
- OrgEntity rootOrg = orgRepo.findOne(rootOrgId);
|
|
|
- if (null == rootOrg) {
|
|
|
- throw new StatusException("B-160001", "机构不存在");
|
|
|
- }
|
|
|
- if (null != rootOrg.getParentId()) {
|
|
|
- throw new StatusException("B-160002", "机构错误");
|
|
|
- }
|
|
|
-
|
|
|
- CourseEntity course = null;
|
|
|
-
|
|
|
- Long courseId = courseReq.getCourseId();
|
|
|
- String courseCode = courseReq.getCourseCode();
|
|
|
-
|
|
|
- if (null != courseId) {
|
|
|
- course = courseRepo.findOne(courseId);
|
|
|
-
|
|
|
- if (null == course) {
|
|
|
- throw new StatusException("B-160006", "课程ID错误");
|
|
|
- }
|
|
|
-
|
|
|
- if (!rootOrgId.equals(course.getRootOrgId())) {
|
|
|
- throw new StatusException("B-160006", "课程机构错误");
|
|
|
- }
|
|
|
+ CourseInfo info = new CourseInfo();
|
|
|
+ info.setRootOrgId(courseReq.getRootOrgId());
|
|
|
+ info.setCode(courseReq.getCourseCode());
|
|
|
+ info.setEnable(courseReq.getEnable());
|
|
|
+ info.setId(courseReq.getCourseId());
|
|
|
+ info.setName(courseReq.getCourseName());
|
|
|
+ info.setLevel(CourseLevel.getCourseLevel(courseReq.getCourseLevel()));
|
|
|
|
|
|
- } else if (StringUtils.isNotBlank(courseCode)) {
|
|
|
-
|
|
|
- course = courseRepo.findByRootOrgIdAndCode(rootOrgId, courseCode);
|
|
|
- if (null != course) {
|
|
|
- if (null == course.getEnable()) {
|
|
|
- course.setEnable(true);
|
|
|
- }
|
|
|
- if (null == course.getLevel()) {
|
|
|
- course.setLevel(CourseLevel.ALL);
|
|
|
- }
|
|
|
- } else {
|
|
|
- course = new CourseEntity();
|
|
|
- course.setRootOrgId(courseReq.getRootOrgId());
|
|
|
- course.setCode(courseReq.getCourseCode());
|
|
|
- course.setEnable(true);
|
|
|
- course.setLevel(CourseLevel.ALL);
|
|
|
- }
|
|
|
-
|
|
|
- } else {
|
|
|
- throw new StatusException("B-160004", "courseId,courseCode can not be all null");
|
|
|
- }
|
|
|
-
|
|
|
- if (null != courseReq.getEnable()) {
|
|
|
- course.setEnable(courseReq.getEnable());
|
|
|
- }
|
|
|
-
|
|
|
- if (null != courseReq.getCourseName()) {
|
|
|
- course.setName(courseReq.getCourseName());
|
|
|
- }
|
|
|
-
|
|
|
- if (null != courseReq.getCourseLevel()) {
|
|
|
- CourseLevel courseLevel = CourseLevel.getCourseLevel(courseReq.getCourseLevel());
|
|
|
- course.setLevel(courseLevel);
|
|
|
- }
|
|
|
-
|
|
|
- long updateTime = 0L;
|
|
|
- if (null != course.getUpdateTime()) {
|
|
|
- updateTime = course.getUpdateTime().getTime();
|
|
|
- }
|
|
|
-
|
|
|
- CourseEntity saved = courseRepo.saveAndFlush(course);
|
|
|
-
|
|
|
- // 同步操作
|
|
|
- if (updateTime != saved.getUpdateTime().getTime()) {
|
|
|
-
|
|
|
- }
|
|
|
+ CourseEntity saved = courseService.saveCourse(info);
|
|
|
|
|
|
SaveCourseResp resp = new SaveCourseResp();
|
|
|
CourseBean courseBean = new CourseBean();
|