From cb6874174975a370cb60f1557704c9d49a05f9e6 Mon Sep 17 00:00:00 2001
From: jiangping <jp@doumee.com>
Date: 星期五, 05 一月 2024 08:59:40 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/master'

---
 server/dmvisit_service/src/main/java/com/doumee/service/business/impl/ApproveParamServiceImpl.java |   61 ++++++++++++++++++++++++++++++
 1 files changed, 61 insertions(+), 0 deletions(-)

diff --git a/server/dmvisit_service/src/main/java/com/doumee/service/business/impl/ApproveParamServiceImpl.java b/server/dmvisit_service/src/main/java/com/doumee/service/business/impl/ApproveParamServiceImpl.java
index 5243313..b87c975 100644
--- a/server/dmvisit_service/src/main/java/com/doumee/service/business/impl/ApproveParamServiceImpl.java
+++ b/server/dmvisit_service/src/main/java/com/doumee/service/business/impl/ApproveParamServiceImpl.java
@@ -1,10 +1,14 @@
 package com.doumee.service.business.impl;
 
+import com.doumee.core.constants.ResponseStatus;
+import com.doumee.core.exception.BusinessException;
 import com.doumee.core.model.PageData;
 import com.doumee.core.model.PageWrap;
+import com.doumee.core.utils.Constants;
 import com.doumee.core.utils.Utils;
 import com.doumee.dao.business.ApproveParamMapper;
 import com.doumee.dao.business.model.ApproveParam;
+import com.doumee.dao.system.vo.ApproveParamDataVO;
 import com.doumee.service.business.ApproveParamService;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
@@ -15,6 +19,9 @@
 import org.springframework.util.CollectionUtils;
 
 import java.util.List;
+import java.util.Objects;
+import java.util.Optional;
+import java.util.stream.Collectors;
 
 /**
  * 瀹℃壒妯$増閰嶇疆淇℃伅琛⊿ervice瀹炵幇
@@ -29,9 +36,62 @@
 
     @Override
     public Integer create(ApproveParam approveParam) {
+        this.checkData(approveParam);
         approveParamMapper.insert(approveParam);
         return approveParam.getId();
     }
+
+
+    /**
+     * 楠岃瘉鏁版嵁蹇呭~
+     * @param approveParam
+     */
+    public void checkData(ApproveParam approveParam){
+        if(Objects.isNull(approveParam)
+                ||Objects.isNull(approveParam.getType())
+                ||Objects.isNull(approveParam.getMemberType())
+                ||Objects.isNull(approveParam.getLevel())
+        ){
+            throw new BusinessException(ResponseStatus.BAD_REQUEST);
+        }
+        if(approveParam.getType().equals(Constants.ZERO)){
+            if(approveParam.getMemberType().equals(Constants.ONE)
+                    &&
+                    (Objects.isNull(approveParam.getObjIds())||Objects.isNull(approveParam.getObjNames()))
+            ){
+                //鎸囧畾浜哄憳绫诲瀷 鍒ゆ柇鏁版嵁蹇呭~
+                throw new BusinessException(ResponseStatus.BAD_REQUEST);
+            }else if(approveParam.getMemberType().equals(Constants.TWO)
+                    &&
+                    (Objects.isNull(approveParam.getObjLevel())||Objects.isNull(approveParam.getNoleaderOpt()))
+            ){
+                //鎸囧畾閮ㄩ棬涓荤 鍒ゆ柇鏁版嵁蹇呭~
+                throw new BusinessException(ResponseStatus.BAD_REQUEST);
+            }
+        }else{
+            if(Objects.isNull(approveParam.getObjIds())||Objects.isNull(approveParam.getObjNames())){
+                //鎸囧畾浜哄憳绫诲瀷 鍒ゆ柇鏁版嵁蹇呭~
+                throw new BusinessException(ResponseStatus.BAD_REQUEST);
+            }
+        }
+    }
+
+
+    @Override
+    public ApproveParamDataVO getApproveParamData(){
+        ApproveParamDataVO approveParamDataVO = new ApproveParamDataVO();
+        List<ApproveParam> approveParamList = approveParamMapper.selectList(new QueryWrapper<ApproveParam>()
+                .lambda().eq(ApproveParam::getIsdeleted,Constants.ZERO)
+                .orderByAsc(ApproveParam::getLevel)
+        );
+        approveParamDataVO.setAuditApproveList(approveParamList.stream().filter(m->m.getType().equals(Constants.ZERO)).collect(Collectors.toList()));
+        Optional<ApproveParam> paramOptional = approveParamList.stream().filter(m->m.getType().equals(Constants.ONE)).findFirst();
+        if(paramOptional.isPresent()){
+            approveParamDataVO.setCopyForConfig(paramOptional.get());
+        }
+        return approveParamDataVO;
+    }
+
 
     @Override
     public void deleteById(Integer id) {
@@ -54,6 +114,7 @@
 
     @Override
     public void updateById(ApproveParam approveParam) {
+        this.checkData(approveParam);
         approveParamMapper.updateById(approveParam);
     }
 

--
Gitblit v1.9.3