|
@@ -6,22 +6,27 @@ import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
|
import com.qmth.distributed.print.business.bean.params.CourseEvaluationParam;
|
|
import com.qmth.distributed.print.business.bean.params.CourseEvaluationParam;
|
|
import com.qmth.distributed.print.business.bean.result.CourseEvaluationResult;
|
|
import com.qmth.distributed.print.business.bean.result.CourseEvaluationResult;
|
|
import com.qmth.distributed.print.business.entity.CourseEvaluation;
|
|
import com.qmth.distributed.print.business.entity.CourseEvaluation;
|
|
|
|
+import com.qmth.distributed.print.business.entity.CourseWeight;
|
|
import com.qmth.distributed.print.business.entity.TeachCourse;
|
|
import com.qmth.distributed.print.business.entity.TeachCourse;
|
|
import com.qmth.distributed.print.business.enums.CourseEvaluationTypeEnum;
|
|
import com.qmth.distributed.print.business.enums.CourseEvaluationTypeEnum;
|
|
import com.qmth.distributed.print.business.enums.CourseSettingTypeEnum;
|
|
import com.qmth.distributed.print.business.enums.CourseSettingTypeEnum;
|
|
import com.qmth.distributed.print.business.mapper.CourseEvaluationMapper;
|
|
import com.qmth.distributed.print.business.mapper.CourseEvaluationMapper;
|
|
import com.qmth.distributed.print.business.service.CourseEvaluationService;
|
|
import com.qmth.distributed.print.business.service.CourseEvaluationService;
|
|
|
|
+import com.qmth.distributed.print.business.service.CourseWeightService;
|
|
import com.qmth.distributed.print.business.service.TeachCourseService;
|
|
import com.qmth.distributed.print.business.service.TeachCourseService;
|
|
|
|
+import com.qmth.teachcloud.common.base.BaseEntity;
|
|
import com.qmth.teachcloud.common.contant.SystemConstant;
|
|
import com.qmth.teachcloud.common.contant.SystemConstant;
|
|
import com.qmth.teachcloud.common.entity.SysUser;
|
|
import com.qmth.teachcloud.common.entity.SysUser;
|
|
import com.qmth.teachcloud.common.enums.ExceptionResultEnum;
|
|
import com.qmth.teachcloud.common.enums.ExceptionResultEnum;
|
|
import com.qmth.teachcloud.common.util.ServletUtil;
|
|
import com.qmth.teachcloud.common.util.ServletUtil;
|
|
|
|
+import org.apache.commons.collections4.CollectionUtils;
|
|
import org.springframework.stereotype.Service;
|
|
import org.springframework.stereotype.Service;
|
|
import org.springframework.transaction.annotation.Transactional;
|
|
import org.springframework.transaction.annotation.Transactional;
|
|
|
|
|
|
import javax.annotation.Resource;
|
|
import javax.annotation.Resource;
|
|
import java.util.List;
|
|
import java.util.List;
|
|
import java.util.Objects;
|
|
import java.util.Objects;
|
|
|
|
+import java.util.stream.Collectors;
|
|
|
|
|
|
/**
|
|
/**
|
|
* <p>
|
|
* <p>
|
|
@@ -36,6 +41,8 @@ public class CourseEvaluationServiceImpl extends ServiceImpl<CourseEvaluationMap
|
|
|
|
|
|
@Resource
|
|
@Resource
|
|
private TeachCourseService teachCourseService;
|
|
private TeachCourseService teachCourseService;
|
|
|
|
+ @Resource
|
|
|
|
+ private CourseWeightService courseWeightService;
|
|
|
|
|
|
@Override
|
|
@Override
|
|
public List<CourseEvaluationResult> findCourseEvaluationList(Long teachCourseId) {
|
|
public List<CourseEvaluationResult> findCourseEvaluationList(Long teachCourseId) {
|
|
@@ -108,7 +115,21 @@ public class CourseEvaluationServiceImpl extends ServiceImpl<CourseEvaluationMap
|
|
throw ExceptionResultEnum.ERROR.exception(String.format("[%s]的评价方式不能删除", CourseEvaluationTypeEnum.DEFAULT.getType()));
|
|
throw ExceptionResultEnum.ERROR.exception(String.format("[%s]的评价方式不能删除", CourseEvaluationTypeEnum.DEFAULT.getType()));
|
|
}
|
|
}
|
|
Long teachCourseId = courseEvaluation.getTeachCourseId();
|
|
Long teachCourseId = courseEvaluation.getTeachCourseId();
|
|
- teachCourseService.clearCourseSetting(teachCourseId, CourseSettingTypeEnum.COURSE_EVALUATION);
|
|
|
|
|
|
+
|
|
|
|
+ // 该评价方式涉及到的权重
|
|
|
|
+ List<CourseWeight> courseWeightList = courseWeightService.list(
|
|
|
|
+ new QueryWrapper<CourseWeight>().lambda().eq(CourseWeight::getTeachCourseId, teachCourseId)
|
|
|
|
+ .eq(CourseWeight::getEvaluationId, id));
|
|
|
|
+
|
|
|
|
+ if (CollectionUtils.isNotEmpty(courseWeightList)) {
|
|
|
|
+ if (courseWeightList.stream().anyMatch(CourseWeight::getEnable)) {
|
|
|
|
+ // 该评价方式有被用到,删除所有权重设置
|
|
|
|
+ teachCourseService.clearCourseSetting(teachCourseId, CourseSettingTypeEnum.COURSE_EVALUATION);
|
|
|
|
+ } else {
|
|
|
|
+ // 该评价方式没有用到,删除权重中涉及该评价方式的记录
|
|
|
|
+ teachCourseService.removeByIds(courseWeightList.stream().map(BaseEntity::getId).collect(Collectors.toList()));
|
|
|
|
+ }
|
|
|
|
+ }
|
|
this.removeById(id);
|
|
this.removeById(id);
|
|
}
|
|
}
|
|
}
|
|
}
|