|
@@ -61,39 +61,62 @@ public class CourseCloudServiceProvider implements CourseCloudService {
|
|
|
throw new StatusException("B-160002", "机构错误");
|
|
|
}
|
|
|
|
|
|
- String courseName = courseReq.getCourseName();
|
|
|
- if (StringUtils.isBlank(courseName)) {
|
|
|
- throw new StatusException("B-160003", "courseName is null");
|
|
|
- }
|
|
|
+ Course course = null;
|
|
|
|
|
|
- String courseCode = courseReq.getCourseCode();
|
|
|
- if (StringUtils.isBlank(courseCode)) {
|
|
|
- throw new StatusException("B-160004", "courseCode is null");
|
|
|
- }
|
|
|
+ Long courseId = courseReq.getCourseId();
|
|
|
+ if (null != courseId) {
|
|
|
+ course = courseRepo.findOne(courseId);
|
|
|
|
|
|
- Course course = null;
|
|
|
- List<Course> list = courseRepo.findAllByOrgIdAndCode(rootOrgId, courseCode);
|
|
|
- if (1 < list.size()) {
|
|
|
- throw new StatusException("B-160005", "存在课程编码重复的数据. courseCode: " + courseCode);
|
|
|
- } else if (1 == list.size()) {
|
|
|
- course = list.get(0);
|
|
|
- if (null == course.getEnable()) {
|
|
|
- course.setEnable(true);
|
|
|
+ if (null == course) {
|
|
|
+ throw new StatusException("B-160006", "课程ID错误");
|
|
|
}
|
|
|
+
|
|
|
+ Long orgId = course.getOrgId();
|
|
|
+
|
|
|
+ if (!rootOrgId.equals(orgId)) {
|
|
|
+ throw new StatusException("B-160006", "课程机构错误");
|
|
|
+ }
|
|
|
+
|
|
|
} else {
|
|
|
- course = new Course();
|
|
|
- course.setOrgId(courseReq.getRootOrgId());
|
|
|
- course.setCode(courseReq.getCourseCode());
|
|
|
- course.setEnable(true);
|
|
|
+ String courseName = courseReq.getCourseName();
|
|
|
+ if (StringUtils.isBlank(courseName)) {
|
|
|
+ throw new StatusException("B-160003", "courseName is null");
|
|
|
+ }
|
|
|
+
|
|
|
+ String courseCode = courseReq.getCourseCode();
|
|
|
+ if (StringUtils.isBlank(courseCode)) {
|
|
|
+ throw new StatusException("B-160004", "courseCode is null");
|
|
|
+ }
|
|
|
+
|
|
|
+ List<Course> list = courseRepo.findAllByOrgIdAndCode(rootOrgId, courseCode);
|
|
|
+ if (1 < list.size()) {
|
|
|
+ throw new StatusException("B-160005", "存在课程编码重复的数据. courseCode: " + courseCode);
|
|
|
+ } else if (1 == list.size()) {
|
|
|
+ course = list.get(0);
|
|
|
+ if (null == course.getEnable()) {
|
|
|
+ course.setEnable(true);
|
|
|
+ }
|
|
|
+ } else {
|
|
|
+ course = new Course();
|
|
|
+ course.setOrgId(courseReq.getRootOrgId());
|
|
|
+ course.setCode(courseReq.getCourseCode());
|
|
|
+ course.setEnable(true);
|
|
|
+ course.setLevel(CourseLevel.ALL);
|
|
|
+ }
|
|
|
}
|
|
|
|
|
|
if (null != courseReq.getEnable()) {
|
|
|
course.setEnable(courseReq.getEnable());
|
|
|
}
|
|
|
|
|
|
- course.setName(courseName);
|
|
|
- CourseLevel courseLevel = CourseLevel.getCourseLevel(courseReq.getCourseLevel());
|
|
|
- course.setLevel(courseLevel);
|
|
|
+ if (null != courseReq.getCourseName()) {
|
|
|
+ course.setName(courseReq.getCourseName());
|
|
|
+ }
|
|
|
+
|
|
|
+ if (null != courseReq.getCourseLevel()) {
|
|
|
+ CourseLevel courseLevel = CourseLevel.getCourseLevel(courseReq.getCourseLevel());
|
|
|
+ course.setLevel(courseLevel);
|
|
|
+ }
|
|
|
|
|
|
Course saved = courseRepo.save(course);
|
|
|
|