|
@@ -2,20 +2,32 @@ package com.zhongzheng.modules.top.goods.service.impl;
|
|
|
|
|
|
import cn.hutool.core.bean.BeanUtil;
|
|
|
|
|
|
+import cn.hutool.core.lang.Validator;
|
|
|
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
|
|
import com.github.pagehelper.Page;
|
|
|
+import com.zhongzheng.common.exception.CustomException;
|
|
|
import com.zhongzheng.common.utils.DateUtils;
|
|
|
+import com.zhongzheng.common.utils.ServletUtils;
|
|
|
+import com.zhongzheng.modules.course.bo.CourseBusinessQueryBo;
|
|
|
+import com.zhongzheng.modules.course.service.ICourseProjectTypeService;
|
|
|
+import com.zhongzheng.modules.course.vo.CourseBusinessVo;
|
|
|
+import com.zhongzheng.modules.course.vo.CourseProjectTypeVo;
|
|
|
import com.zhongzheng.modules.top.goods.bo.TopCourseBusinessAddBo;
|
|
|
import com.zhongzheng.modules.top.goods.bo.TopCourseBusinessEditBo;
|
|
|
import com.zhongzheng.modules.top.goods.bo.TopCourseBusinessQueryBo;
|
|
|
import com.zhongzheng.modules.top.goods.domain.TopCourseBusiness;
|
|
|
import com.zhongzheng.modules.top.goods.mapper.TopCourseBusinessMapper;
|
|
|
import com.zhongzheng.modules.top.goods.service.ITopCourseBusinessService;
|
|
|
+import com.zhongzheng.modules.top.goods.service.ITopCourseProjectTypeService;
|
|
|
import com.zhongzheng.modules.top.goods.vo.TopCourseBusinessVo;
|
|
|
+import com.zhongzheng.modules.top.goods.vo.TopCourseProjectTypeVo;
|
|
|
+import org.springframework.beans.factory.annotation.Autowired;
|
|
|
import org.springframework.stereotype.Service;
|
|
|
import org.springframework.transaction.annotation.Propagation;
|
|
|
import org.springframework.transaction.annotation.Transactional;
|
|
|
+import org.springframework.util.CollectionUtils;
|
|
|
|
|
|
+import java.util.ArrayList;
|
|
|
import java.util.Collection;
|
|
|
import java.util.List;
|
|
|
import java.util.stream.Collectors;
|
|
@@ -29,6 +41,9 @@ import java.util.stream.Collectors;
|
|
|
@Service
|
|
|
public class TopCourseBusinessServiceImpl extends ServiceImpl<TopCourseBusinessMapper, TopCourseBusiness> implements ITopCourseBusinessService {
|
|
|
|
|
|
+ @Autowired
|
|
|
+ private ITopCourseProjectTypeService iCourseProjectTypeService;
|
|
|
+
|
|
|
@Override
|
|
|
public TopCourseBusinessVo queryById(Long id){
|
|
|
TopCourseBusiness db = this.baseMapper.selectById(id);
|
|
@@ -63,7 +78,12 @@ public class TopCourseBusinessServiceImpl extends ServiceImpl<TopCourseBusinessM
|
|
|
@Override
|
|
|
public Boolean insertByAddBo(TopCourseBusinessAddBo bo) {
|
|
|
TopCourseBusiness add = BeanUtil.toBean(bo, TopCourseBusiness.class);
|
|
|
+ TopCourseProjectTypeVo projectType = iCourseProjectTypeService.queryById(bo.getProjectId());
|
|
|
+ if(Validator.isEmpty(projectType)){
|
|
|
+ throw new CustomException("项目类型找不到");
|
|
|
+ }
|
|
|
validEntityBeforeSave(add);
|
|
|
+ add.setEncoder(ServletUtils.getEncoded("YW"));
|
|
|
add.setCreateTime(DateUtils.getNowTime());
|
|
|
add.setUpdateTime(DateUtils.getNowTime());
|
|
|
return this.save(add);
|
|
@@ -72,7 +92,21 @@ public class TopCourseBusinessServiceImpl extends ServiceImpl<TopCourseBusinessM
|
|
|
@Override
|
|
|
public Boolean updateByEditBo(TopCourseBusinessEditBo bo) {
|
|
|
TopCourseBusiness update = BeanUtil.toBean(bo, TopCourseBusiness.class);
|
|
|
- validEntityBeforeSave(update);
|
|
|
+ //修改业务进行重名判断 -1直接删除
|
|
|
+ if (Validator.isNotEmpty(bo.getStatus())&&bo.getStatus() != -1) {
|
|
|
+ TopCourseBusinessQueryBo courseBusinessQueryBo = new TopCourseBusinessQueryBo();
|
|
|
+ courseBusinessQueryBo.setBusinessName(bo.getBusinessName());
|
|
|
+ courseBusinessQueryBo.setProjectId(bo.getProjectId());
|
|
|
+ List<Integer> longs = new ArrayList<>();
|
|
|
+ longs.add(1);
|
|
|
+ longs.add(0);
|
|
|
+ courseBusinessQueryBo.setStatus(longs);
|
|
|
+ courseBusinessQueryBo.setId(update.getId());
|
|
|
+ Collection<TopCourseBusinessVo> courseBusinessVos = baseMapper.queryList(courseBusinessQueryBo);
|
|
|
+ if (CollectionUtils.isEmpty(courseBusinessVos)) {
|
|
|
+ validEntityBeforeSave(update);
|
|
|
+ }
|
|
|
+ }
|
|
|
update.setUpdateTime(DateUtils.getNowTime());
|
|
|
return this.updateById(update);
|
|
|
}
|
|
@@ -84,6 +118,17 @@ public class TopCourseBusinessServiceImpl extends ServiceImpl<TopCourseBusinessM
|
|
|
*/
|
|
|
private void validEntityBeforeSave(TopCourseBusiness entity){
|
|
|
//TODO 做一些数据校验,如唯一约束
|
|
|
+ TopCourseBusinessQueryBo courseBusinessQueryBo = new TopCourseBusinessQueryBo();
|
|
|
+ courseBusinessQueryBo.setBusinessName(entity.getBusinessName());
|
|
|
+ courseBusinessQueryBo.setProjectId(entity.getProjectId());
|
|
|
+ List<Integer> longs = new ArrayList<>();
|
|
|
+ longs.add(1);
|
|
|
+ longs.add(0);
|
|
|
+ courseBusinessQueryBo.setStatus(longs);
|
|
|
+ Collection<TopCourseBusinessVo> courseBusinessVos = baseMapper.queryList(courseBusinessQueryBo);
|
|
|
+ if (!CollectionUtils.isEmpty(courseBusinessVos)){
|
|
|
+ throw new RuntimeException("业务重复");
|
|
|
+ }
|
|
|
}
|
|
|
|
|
|
@Override
|
|
@@ -95,7 +140,7 @@ public class TopCourseBusinessServiceImpl extends ServiceImpl<TopCourseBusinessM
|
|
|
}
|
|
|
|
|
|
@Override
|
|
|
-
|
|
|
+
|
|
|
public TopCourseBusiness getEntityById(Long businessId) {
|
|
|
return getById(businessId);
|
|
|
}
|