From 8a74e9c0f3f9fbf5709201719431d0a2b7cb8794 Mon Sep 17 00:00:00 2001
From: 潘志宝 <979469083@qq.com>
Date: 星期五, 22 十一月 2024 10:06:07 +0800
Subject: [PATCH] 计划数据图表

---
 iailab-module-model/iailab-module-model-biz/src/main/java/com/iailab/module/model/mpk/service/impl/ProjectServiceImpl.java |   57 +++++++++++++++++++--------------------------------------
 1 files changed, 19 insertions(+), 38 deletions(-)

diff --git a/iailab-module-model/iailab-module-model-biz/src/main/java/com/iailab/module/model/mpk/service/impl/ProjectServiceImpl.java b/iailab-module-model/iailab-module-model-biz/src/main/java/com/iailab/module/model/mpk/service/impl/ProjectServiceImpl.java
index 5e45ff9..86cd3a5 100644
--- a/iailab-module-model/iailab-module-model-biz/src/main/java/com/iailab/module/model/mpk/service/impl/ProjectServiceImpl.java
+++ b/iailab-module-model/iailab-module-model-biz/src/main/java/com/iailab/module/model/mpk/service/impl/ProjectServiceImpl.java
@@ -1,9 +1,10 @@
 package com.iailab.module.model.mpk.service.impl;
 
-import cn.hutool.core.io.FileUtil;
+import com.baomidou.dynamic.datasource.annotation.DSTransactional;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.iailab.framework.common.page.PageData;
+import com.iailab.framework.common.service.impl.BaseServiceImpl;
 import com.iailab.framework.common.service.impl.CrudServiceImpl;
 import com.iailab.framework.common.util.object.ConvertUtils;
 import com.iailab.module.model.mpk.dao.MpkFileDao;
@@ -13,8 +14,7 @@
 import com.iailab.module.model.mpk.dto.ProjectModelDTO;
 import com.iailab.module.model.mpk.dto.ProjectPackageHistoryDTO;
 import com.iailab.module.model.mpk.entity.ProjectEntity;
-import com.iailab.module.model.mpk.entity.ProjectModelEntity;
-import com.iailab.module.model.mpk.entity.ProjectPackageHistoryModelEntity;
+import com.iailab.module.model.mpk.entity.ProjectPackageHistoryEntity;
 import com.iailab.module.model.mpk.service.ProjectModelService;
 import com.iailab.module.model.mpk.service.ProjectPackageHistoryModelService;
 import com.iailab.module.model.mpk.service.ProjectPackageHistoryService;
@@ -24,7 +24,6 @@
 import org.apache.commons.lang3.StringUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
-import org.springframework.transaction.annotation.Transactional;
 
 import java.io.File;
 import java.util.*;
@@ -37,7 +36,7 @@
  **/
 @Service
 @Slf4j
-public class ProjectServiceImpl extends CrudServiceImpl<ProjectDao, ProjectEntity, ProjectDTO> implements ProjectService {
+public class ProjectServiceImpl extends BaseServiceImpl<ProjectDao, ProjectEntity> implements ProjectService {
 
     @Autowired
     ProjectModelService projectModelService;
@@ -83,7 +82,7 @@
     }
 
     @Override
-    @Transactional(rollbackFor = Exception.class)
+    @DSTransactional(rollbackFor = Exception.class)
     public void save(ProjectDTO dto) {
         ProjectEntity entity = ConvertUtils.sourceToTarget(dto, ProjectEntity.class);
         String projectId = UUID.randomUUID().toString();
@@ -94,20 +93,12 @@
         //关联模型
         List<MpkFileDTO> models = dto.getModels();
         if (CollectionUtils.isNotEmpty(models)) {
-            List<ProjectModelEntity> projectModelList = new ArrayList<>(models.size());
-            for (MpkFileDTO model : models) {
-                ProjectModelEntity projectModel = new ProjectModelEntity();
-                projectModel.setId(UUID.randomUUID().toString());
-                projectModel.setProjectId(projectId);
-                projectModel.setModelId(model.getId());
-                projectModelList.add(projectModel);
-            }
-            projectModelService.insertBatch(projectModelList);
+            projectModelService.create(models,projectId);
         }
     }
 
     @Override
-    @Transactional(rollbackFor = Exception.class)
+    @DSTransactional(rollbackFor = Exception.class)
     public void update(ProjectDTO dto) {
         ProjectEntity entity = ConvertUtils.sourceToTarget(dto, ProjectEntity.class);
         entity.setUpdateTime(new Date());
@@ -122,32 +113,17 @@
         //关联模型
         List<MpkFileDTO> models = dto.getModels();
         if (CollectionUtils.isNotEmpty(models)) {
-            List<ProjectModelEntity> projectModelList = new ArrayList<>(models.size());
-            for (MpkFileDTO model : models) {
-                ProjectModelEntity projectModel = new ProjectModelEntity();
-                projectModel.setId(UUID.randomUUID().toString());
-                projectModel.setProjectId(projectId);
-                projectModel.setModelId(model.getId());
-                projectModelList.add(projectModel);
-            }
-            projectModelService.insertBatch(projectModelList);
+            projectModelService.create(models,projectId);
         }
     }
 
     @Override
-    @Transactional(rollbackFor = Exception.class)
+    @DSTransactional(rollbackFor = Exception.class)
     public void delete(String id) {
-
-        //删除
-        baseDao.deleteById(id);
-
-        //删除模型关联
+        //删除备份文件
         Map<String,Object> map = new HashMap<>();
         map.put("projectId",id);
-        projectModelService.deleteByMap(map);
-
-        //删除备份文件
-        List<ProjectPackageHistoryDTO> list = projectPackageHistoryService.list(map);
+        List<ProjectPackageHistoryEntity> list = projectPackageHistoryService.list(map);
         list.forEach(e -> {
             File file = new File(e.getFilePath());
             if (file.exists()) {
@@ -156,11 +132,17 @@
             }
         });
 
+        //删除 (级联删除)
+        baseDao.deleteById(id);
+
+        //删除模型关联
+//        projectModelService.deleteByMap(map);
+
         //删除打包历史
-        projectPackageHistoryService.deleteByMap(map);
+//        projectPackageHistoryService.deleteByMap(map);
 
         //删除打包历史模型关联
-        projectPackageHistoryModelService.deleteByMap(map);
+//        projectPackageHistoryModelService.deleteByMap(map);
     }
 
     @Override
@@ -181,7 +163,6 @@
         return new PageData<>(list,total);
     }
 
-    @Override
     public QueryWrapper<ProjectEntity> getWrapper(Map<String, Object> params){
         String id = (String)params.get("id");
         String projectName = (String)params.get("projectName");

--
Gitblit v1.9.3