|
@@ -3,20 +3,27 @@ package com.zhongzheng.modules.course.service.impl;
|
|
|
import cn.hutool.core.bean.BeanUtil;
|
|
|
import cn.hutool.core.util.StrUtil;
|
|
|
import com.zhongzheng.common.utils.DateUtils;
|
|
|
+import com.zhongzheng.common.utils.ServletUtils;
|
|
|
+import com.zhongzheng.modules.course.bo.*;
|
|
|
import com.zhongzheng.modules.course.domain.CourseEducationType;
|
|
|
+import com.zhongzheng.modules.course.domain.CourseSubjectProject;
|
|
|
+import com.zhongzheng.modules.course.service.ICourseSubjectProjectService;
|
|
|
+import com.zhongzheng.modules.course.vo.CourseProjectTypeVo;
|
|
|
+import com.zhongzheng.modules.user.bo.SchoolProjectAddBo;
|
|
|
+import com.zhongzheng.modules.user.domain.SchoolProject;
|
|
|
+import com.zhongzheng.modules.user.vo.SchoolVo;
|
|
|
+import org.springframework.beans.factory.annotation.Autowired;
|
|
|
import org.springframework.stereotype.Service;
|
|
|
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
|
|
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
|
|
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
|
|
|
import com.github.pagehelper.Page;
|
|
|
-import com.zhongzheng.modules.course.bo.CourseSubjectAddBo;
|
|
|
-import com.zhongzheng.modules.course.bo.CourseSubjectQueryBo;
|
|
|
-import com.zhongzheng.modules.course.bo.CourseSubjectEditBo;
|
|
|
import com.zhongzheng.modules.course.domain.CourseSubject;
|
|
|
import com.zhongzheng.modules.course.mapper.CourseSubjectMapper;
|
|
|
import com.zhongzheng.modules.course.vo.CourseSubjectVo;
|
|
|
import com.zhongzheng.modules.course.service.ICourseSubjectService;
|
|
|
|
|
|
+import java.util.ArrayList;
|
|
|
import java.util.Collection;
|
|
|
import java.util.Collections;
|
|
|
import java.util.List;
|
|
@@ -31,6 +38,9 @@ import java.util.stream.Collectors;
|
|
|
@Service
|
|
|
public class CourseSubjectServiceImpl extends ServiceImpl<CourseSubjectMapper, CourseSubject> implements ICourseSubjectService {
|
|
|
|
|
|
+ @Autowired
|
|
|
+ private ICourseSubjectProjectService courseSubjectProjectService;
|
|
|
+
|
|
|
@Override
|
|
|
public CourseSubjectVo queryById(Long id){
|
|
|
CourseSubject db = this.baseMapper.selectById(id);
|
|
@@ -63,6 +73,15 @@ public class CourseSubjectServiceImpl extends ServiceImpl<CourseSubjectMapper, C
|
|
|
pageVo.addAll(voList);
|
|
|
voList = pageVo;
|
|
|
}
|
|
|
+ for (CourseSubjectVo courseSubjectVo : voList) {
|
|
|
+ CourseProjectTypeQueryBo courseProjectTypeQueryBo = new CourseProjectTypeQueryBo();
|
|
|
+ courseProjectTypeQueryBo.setId(courseSubjectVo.getId());
|
|
|
+ List<Integer> status = new ArrayList<>();
|
|
|
+ status.add(1);
|
|
|
+ courseProjectTypeQueryBo.setStatus(status);
|
|
|
+ List<CourseProjectTypeVo> courseProjectTypeVos = baseMapper.selectProject(courseProjectTypeQueryBo);
|
|
|
+ courseSubjectVo.setCourseProjectTypes(courseProjectTypeVos);
|
|
|
+ }
|
|
|
return voList;
|
|
|
}
|
|
|
|
|
@@ -70,9 +89,17 @@ public class CourseSubjectServiceImpl extends ServiceImpl<CourseSubjectMapper, C
|
|
|
public Boolean insertByAddBo(CourseSubjectAddBo bo) {
|
|
|
CourseSubject add = BeanUtil.toBean(bo, CourseSubject.class);
|
|
|
validEntityBeforeSave(add);
|
|
|
+ add.setEncoder(ServletUtils.getEncoded("KM"));
|
|
|
add.setCreateTime(DateUtils.getNowTime());
|
|
|
add.setUpdateTime(DateUtils.getNowTime());
|
|
|
- return this.save(add);
|
|
|
+ boolean save = this.save(add);
|
|
|
+ for (Long projectId : bo.getCourseSubjectProjects()) {
|
|
|
+ CourseSubjectProjectAddBo courseSubjectProjectAddBo = new CourseSubjectProjectAddBo();
|
|
|
+ courseSubjectProjectAddBo.setProjectId(projectId);
|
|
|
+ courseSubjectProjectAddBo.setSubjectId(add.getId());
|
|
|
+ courseSubjectProjectService.insertByAddBo(courseSubjectProjectAddBo);
|
|
|
+ }
|
|
|
+ return save;
|
|
|
}
|
|
|
|
|
|
@Override
|
|
@@ -80,6 +107,15 @@ public class CourseSubjectServiceImpl extends ServiceImpl<CourseSubjectMapper, C
|
|
|
CourseSubject update = BeanUtil.toBean(bo, CourseSubject.class);
|
|
|
validEntityBeforeSave(update);
|
|
|
update.setUpdateTime(DateUtils.getNowTime());
|
|
|
+ LambdaQueryWrapper<CourseSubjectProject> lqw = Wrappers.lambdaQuery();
|
|
|
+ lqw.eq(bo.getId()!=null,CourseSubjectProject::getSubjectId, bo.getId());
|
|
|
+ courseSubjectProjectService.remove(lqw);
|
|
|
+ for (Long projectId : bo.getCourseSubjectProjects()) {
|
|
|
+ CourseSubjectProjectAddBo courseSubjectProjectAddBo = new CourseSubjectProjectAddBo();
|
|
|
+ courseSubjectProjectAddBo.setProjectId(projectId);
|
|
|
+ courseSubjectProjectAddBo.setSubjectId(update.getId());
|
|
|
+ courseSubjectProjectService.insertByAddBo(courseSubjectProjectAddBo);
|
|
|
+ }
|
|
|
return this.updateById(update);
|
|
|
}
|
|
|
|