dengzedong
2024-10-14 3e18d4bfbf2c657b08b21512c2d884cc9d59df7b
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");