Browse Source

解决评价管理修改和发布功能报错的问题

dzx 1 year ago
parent
commit
e892f862c9

+ 0 - 1
src/main/java/com/xjrsoft/module/evaluate/service/IEvaluateManageService.java

@@ -56,5 +56,4 @@ public interface IEvaluateManageService extends MPJBaseService<EvaluateManage> {
      */
     Boolean release(Long id);
 
-    List<EvaluateObject> getObjectList(Long id);
 }

+ 19 - 81
src/main/java/com/xjrsoft/module/evaluate/service/impl/EvaluateManageServiceImpl.java

@@ -1,13 +1,16 @@
 package com.xjrsoft.module.evaluate.service.impl;
 
-import cn.dev33.satoken.stp.StpUtil;
+import cn.hutool.core.bean.BeanUtil;
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.core.toolkit.Wrappers;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.github.yulichang.base.MPJBaseServiceImpl;
 import com.xjrsoft.common.exception.MyException;
 import com.xjrsoft.module.evaluate.dto.EvaluateManagePageDto;
 import com.xjrsoft.module.evaluate.entity.EvaluateExecuter;
+import com.xjrsoft.module.evaluate.entity.EvaluateItem;
 import com.xjrsoft.module.evaluate.entity.EvaluateManage;
+import com.xjrsoft.module.evaluate.entity.EvaluateManageItem;
 import com.xjrsoft.module.evaluate.entity.EvaluateObject;
 import com.xjrsoft.module.evaluate.mapper.EvaluateExecuterMapper;
 import com.xjrsoft.module.evaluate.mapper.EvaluateItemMapper;
@@ -21,8 +24,6 @@ import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
 
 import java.util.List;
-import java.util.Objects;
-import java.util.stream.Collectors;
 
 /**
 * @title: 评价管理
@@ -54,64 +55,6 @@ public class EvaluateManageServiceImpl extends MPJBaseServiceImpl<EvaluateManage
     @Transactional(rollbackFor = Exception.class)
     public Boolean update(EvaluateManage evaluateManage) {
         evaluateManageMapper.updateById(evaluateManage);
-        //********************************* EvaluateObject  增删改  开始 *******************************************/
-        {
-            // 查出所有子级的id
-            List<EvaluateObject> evaluateObjectList = evaluateObjectMapper.selectList(Wrappers.lambdaQuery(EvaluateObject.class).eq(EvaluateObject::getEvaluateManageId, evaluateManage.getId()).select(EvaluateObject::getId));
-            List<Long> evaluateObjectIds = evaluateObjectList.stream().map(EvaluateObject::getId).collect(Collectors.toList());
-            //原有子表单 没有被删除的主键
-            List<Long> evaluateObjectOldIds = evaluateManage.getEvaluateObjectList().stream().map(EvaluateObject::getId).filter(Objects::nonNull).collect(Collectors.toList());
-            //找到需要删除的id
-            List<Long> evaluateObjectRemoveIds = evaluateObjectIds.stream().filter(item -> !evaluateObjectOldIds.contains(item)).collect(Collectors.toList());
-
-            for (EvaluateObject evaluateObject : evaluateManage.getEvaluateObjectList()) {
-                //如果不等于空则修改
-                if (evaluateObject.getId() != null) {
-                    evaluateObjectMapper.updateById(evaluateObject);
-                }
-                //如果等于空 则新增
-                else {
-                    //已经不存在的id 删除
-                    evaluateObject.setEvaluateManageId(evaluateManage.getId());
-                    evaluateObjectMapper.insert(evaluateObject);
-                }
-            }
-            //已经不存在的id 删除
-            if(evaluateObjectRemoveIds.size() > 0){
-                evaluateObjectMapper.deleteBatchIds(evaluateObjectRemoveIds);
-            }
-        }
-        //********************************* EvaluateObject  增删改  结束 *******************************************/
-
-        //********************************* EvaluateExecuter  增删改  开始 *******************************************/
-        {
-            // 查出所有子级的id
-            List<EvaluateExecuter> evaluateExecuterList = evaluateExecuterMapper.selectList(Wrappers.lambdaQuery(EvaluateExecuter.class).eq(EvaluateExecuter::getEvaluateManageId, evaluateManage.getId()).select(EvaluateExecuter::getId));
-            List<Long> evaluateExecuterIds = evaluateExecuterList.stream().map(EvaluateExecuter::getId).collect(Collectors.toList());
-            //原有子表单 没有被删除的主键
-            List<Long> evaluateExecuterOldIds = evaluateManage.getEvaluateExecuterList().stream().map(EvaluateExecuter::getId).filter(Objects::nonNull).collect(Collectors.toList());
-            //找到需要删除的id
-            List<Long> evaluateExecuterRemoveIds = evaluateExecuterIds.stream().filter(item -> !evaluateExecuterOldIds.contains(item)).collect(Collectors.toList());
-
-            for (EvaluateExecuter evaluateExecuter : evaluateManage.getEvaluateExecuterList()) {
-                //如果不等于空则修改
-                if (evaluateExecuter.getId() != null) {
-                    evaluateExecuterMapper.updateById(evaluateExecuter);
-                }
-                //如果等于空 则新增
-                else {
-                    //已经不存在的id 删除
-                    evaluateExecuter.setEvaluateManageId(evaluateManage.getId());
-                    evaluateExecuterMapper.insert(evaluateExecuter);
-                }
-            }
-            //已经不存在的id 删除
-            if(evaluateExecuterRemoveIds.size() > 0){
-                evaluateExecuterMapper.deleteBatchIds(evaluateExecuterRemoveIds);
-            }
-        }
-        //********************************* EvaluateExecuter  增删改  结束 *******************************************/
-
         return true;
     }
 
@@ -136,29 +79,24 @@ public class EvaluateManageServiceImpl extends MPJBaseServiceImpl<EvaluateManage
         if(evaluateManage == null){
             throw new MyException("未查询到数据,请检查传入的id是否正确");
         }
-        evaluateManageItemMapper.cloneItems(evaluateManage.getEvaluateTemplateId(), evaluateManage.getId(), StpUtil.getLoginIdAsLong());
-
-//        //查询模板中的评价项
-//        List<EvaluateItem> evaluateItemList = evaluateItemMapper.selectList(
-//            new QueryWrapper<EvaluateItem>().lambda()
-//            .eq(EvaluateItem::getEvaluateTemplateId, evaluateManage.getEvaluateTemplateId())
-//        );
-//        //克隆一份,存到评价管理下面,可以采用sql语句
-//        for (EvaluateItem evaluateItem : evaluateItemList) {
-//            EvaluateManageItem manageItem = BeanUtil.toBean(evaluateItem, EvaluateManageItem.class);
-//            manageItem.setEvaluateManageId(evaluateManage.getId());
-//            manageItem.setEvaluateItemId(manageItem.getId());
-//            evaluateManageItemMapper.insert(manageItem);
-//        }
+//        evaluateManageItemMapper.cloneItems(evaluateManage.getEvaluateTemplateId(), evaluateManage.getId(), StpUtil.getLoginIdAsLong());
+
+        //查询模板中的评价项
+        List<EvaluateItem> evaluateItemList = evaluateItemMapper.selectList(
+            new QueryWrapper<EvaluateItem>().lambda()
+            .eq(EvaluateItem::getEvaluateTemplateId, evaluateManage.getEvaluateTemplateId())
+        );
+        //克隆一份,存到评价管理下面,可以采用sql语句
+        for (EvaluateItem evaluateItem : evaluateItemList) {
+            EvaluateManageItem manageItem = BeanUtil.toBean(evaluateItem, EvaluateManageItem.class);
+            manageItem.setEvaluateManageId(evaluateManage.getId());
+            manageItem.setEvaluateItemId(manageItem.getId());
+            evaluateManageItemMapper.insert(manageItem);
+        }
         //将评价管理状态改为进行中
         evaluateManage.setStatus(1);
-        evaluateManageMapper.insert(evaluateManage);
+        evaluateManageMapper.updateById(evaluateManage);
         return true;
     }
 
-    @Override
-    public List<EvaluateObject> getObjectList(Long id) {
-
-        return null;
-    }
 }