he2802 2 年之前
父節點
當前提交
5441e4cb53

+ 32 - 3
zhongzheng-admin-saas/src/main/java/com/zhongzheng/controller/course/TopCourseBusinessController.java

@@ -1,7 +1,14 @@
 package com.zhongzheng.controller.course;
 
+import com.zhongzheng.common.annotation.Log;
 import com.zhongzheng.common.core.controller.BaseController;
+import com.zhongzheng.common.core.domain.AjaxResult;
 import com.zhongzheng.common.core.page.TableDataInfo;
+import com.zhongzheng.common.enums.BusinessType;
+import com.zhongzheng.modules.course.bo.CourseBusinessAddBo;
+import com.zhongzheng.modules.course.bo.CourseBusinessEditBo;
+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.service.ITopCourseBusinessService;
 import com.zhongzheng.modules.top.goods.vo.TopCourseBusinessVo;
@@ -9,9 +16,8 @@ import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
 import lombok.RequiredArgsConstructor;
 import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.web.bind.annotation.GetMapping;
-import org.springframework.web.bind.annotation.RequestMapping;
-import org.springframework.web.bind.annotation.RestController;
+import org.springframework.security.access.prepost.PreAuthorize;
+import org.springframework.web.bind.annotation.*;
 
 import java.util.List;
 
@@ -39,4 +45,27 @@ public class TopCourseBusinessController extends BaseController {
         List<TopCourseBusinessVo> list = iCourseBusinessService.queryList(bo);
         return getDataTable(list);
     }
+
+    /**
+     * 新增业务层次
+     */
+    @ApiOperation("新增总平台业务层次")
+    @PreAuthorize("@ss.hasPermi('course:business:add')")
+    @Log(title = "业务层次", businessType = BusinessType.INSERT)
+    @PostMapping()
+    public AjaxResult<Void> add(@RequestBody TopCourseBusinessAddBo bo) {
+        return toAjax(iCourseBusinessService.insertByAddBo(bo) ? 1 : 0);
+    }
+
+    /**
+     * 修改业务层次
+     */
+    @ApiOperation("修改总平台业务层次")
+    @PreAuthorize("@ss.hasPermi('course:business:edit')")
+    @Log(title = "业务层次", businessType = BusinessType.UPDATE)
+    @PostMapping("/edit")
+    public AjaxResult<Void> edit(@RequestBody TopCourseBusinessEditBo bo) {
+        return toAjax(iCourseBusinessService.updateByEditBo(bo) ? 1 : 0);
+    }
+
 }

+ 1 - 1
zhongzheng-system/src/main/java/com/zhongzheng/modules/top/goods/bo/TopCourseBusinessQueryBo.java

@@ -48,7 +48,7 @@ public class TopCourseBusinessQueryBo extends BaseEntity {
 	private String businessName;
 	/** 项目id */
 	@ApiModelProperty("项目id")
-	private Integer projectId;
+	private Long projectId;
 	/** 学年 */
 	@ApiModelProperty("学年")
 	private BigDecimal schoolYear;

+ 47 - 2
zhongzheng-system/src/main/java/com/zhongzheng/modules/top/goods/service/impl/TopCourseBusinessServiceImpl.java

@@ -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);
     }