iailab-module-model/iailab-module-model-biz/src/main/java/com/iailab/ModelServiceApplication.java
@@ -46,7 +46,9 @@ //加载项目已发布的dll和jar try { log.info("************开始加载项目已发布的dll和jar**************"); DllUtils.loadProjectPublish(mpkBakFilePath + File.separator + MdkConstant.PROJECT_PUBLISH); log.info("************加载项目已发布的dll和jar结束**************"); } catch (Exception e) { e.printStackTrace(); log.error("加载项目已发布的dll和jar失败"); iailab-module-model/iailab-module-model-biz/src/main/java/com/iailab/module/model/mpk/common/MdkConstant.java
@@ -39,6 +39,10 @@ */ String SPLIT = "__"; /** * 项目未发布dll和jar目录 */ String PROJECT_UNPUBLISH = "projectUnpublish"; /** * 项目发布dll和jar目录 */ String PROJECT_PUBLISH = "projectPublish"; iailab-module-model/iailab-module-model-biz/src/main/java/com/iailab/module/model/mpk/controller/admin/GeneratorCodeHistoryController.java
@@ -35,34 +35,10 @@ } @GetMapping("{id}") public CommonResult<GeneratorCodeHistoryDTO> get(@PathVariable("id") Long id){ public CommonResult<GeneratorCodeHistoryDTO> get(@PathVariable("id") String id){ GeneratorCodeHistoryDTO data = generatorCodeHistoryService.get(id); return success(data); } @PostMapping public CommonResult save(@RequestBody GeneratorCodeHistoryDTO dto){ generatorCodeHistoryService.save(dto); return CommonResult.success(); } @PutMapping public CommonResult update(@RequestBody GeneratorCodeHistoryDTO dto){ generatorCodeHistoryService.update(dto); return CommonResult.success(); } @DeleteMapping public CommonResult delete(@RequestBody Long[] ids){ generatorCodeHistoryService.delete(ids); return CommonResult.success(); } @GetMapping("download") iailab-module-model/iailab-module-model-biz/src/main/java/com/iailab/module/model/mpk/controller/admin/MdkController.java
@@ -4,6 +4,7 @@ import com.alibaba.fastjson.JSONArray; import com.iailab.framework.common.exception.enums.GlobalErrorCodeConstants; import com.iailab.framework.common.pojo.CommonResult; import com.iailab.framework.tenant.core.context.TenantContextHolder; import com.iailab.module.model.mpk.common.MdkConstant; import com.iailab.module.model.mpk.common.utils.DllUtils; import com.iailab.module.model.mpk.common.utils.Readtxt; @@ -39,14 +40,18 @@ @PostMapping("run") public CommonResult<String> run(@RequestBody MdkDTO dto) { Long tenantId = TenantContextHolder.getTenantId(); // 备份文件 租户隔离 String mpkTenantBakFilePath = mpkBakFilePath + File.separator + tenantId; Class<?> clazz; URLClassLoader classLoader; try { File jarFile = new File(mpkBakFilePath + File.separator + MdkConstant.JAR + File.separator + dto.getPyName() + ".jar"); File jarFile = new File(mpkTenantBakFilePath + File.separator + MdkConstant.JAR + File.separator + dto.getPyName() + ".jar"); if (!jarFile.exists()) { throw new RuntimeException("jar包不存在,请先生成代码。jarPath:" + jarFile.getAbsolutePath()); } File dllFile = new File(mpkBakFilePath + File.separator + MdkConstant.DLL + File.separator + dto.getPyName() + ".dll"); File dllFile = new File(mpkTenantBakFilePath + File.separator + MdkConstant.DLL + File.separator + dto.getPyName() + ".dll"); if (!dllFile.exists()) { throw new RuntimeException("dll文件不存在,请先生成代码。dllPath:" + dllFile.getAbsolutePath()); } iailab-module-model/iailab-module-model-biz/src/main/java/com/iailab/module/model/mpk/dao/ProjectPackageHistoryModelDao.java
@@ -5,6 +5,8 @@ import com.iailab.module.model.mpk.entity.ProjectPackageHistoryModelEntity; import org.apache.ibatis.annotations.Mapper; import java.util.Collection; /** * @description: * @author: dzd @@ -13,5 +15,6 @@ @TenantDS @Mapper public interface ProjectPackageHistoryModelDao extends BaseDao<ProjectPackageHistoryModelEntity> { void insertBatch(Collection<ProjectPackageHistoryModelEntity> entityList); } iailab-module-model/iailab-module-model-biz/src/main/java/com/iailab/module/model/mpk/service/GeneratorCodeHistoryService.java
@@ -1,11 +1,12 @@ package com.iailab.module.model.mpk.service; import com.iailab.framework.common.page.PageData; import com.iailab.framework.common.service.CrudService; import com.iailab.framework.common.service.BaseService; import com.iailab.module.model.mpk.dto.GeneratorCodeHistoryDTO; import com.iailab.module.model.mpk.entity.GeneratorCodeHistoryEntity; import java.io.IOException; import java.util.List; import java.util.Map; /** @@ -13,7 +14,7 @@ * @author: dzd * @date: 2024/8/20 11:49 **/ public interface GeneratorCodeHistoryService extends CrudService<GeneratorCodeHistoryEntity, GeneratorCodeHistoryDTO> { public interface GeneratorCodeHistoryService extends BaseService<GeneratorCodeHistoryEntity> { PageData<GeneratorCodeHistoryDTO> page(Map<String, Object> params); @@ -22,4 +23,8 @@ byte[] download(GeneratorCodeHistoryDTO dto) throws IOException; void deleteByMap(Map<String, Object> map); List<GeneratorCodeHistoryDTO> list(Map<String, Object> map1); void save(GeneratorCodeHistoryDTO dto); } iailab-module-model/iailab-module-model-biz/src/main/java/com/iailab/module/model/mpk/service/ProjectModelService.java
@@ -1,5 +1,6 @@ package com.iailab.module.model.mpk.service; import com.iailab.framework.common.service.BaseService; import com.iailab.framework.common.service.CrudService; import com.iailab.module.model.mpk.dto.MpkFileDTO; import com.iailab.module.model.mpk.dto.ProjectModelDTO; @@ -13,7 +14,7 @@ * @author: dzd * @date: 2024/8/22 14:41 **/ public interface ProjectModelService extends CrudService<ProjectModelEntity, ProjectModelDTO> { public interface ProjectModelService extends BaseService<ProjectModelEntity> { List<ProjectModelDTO> list(Map<String, Object> params); iailab-module-model/iailab-module-model-biz/src/main/java/com/iailab/module/model/mpk/service/ProjectPackageHistoryModelService.java
@@ -1,10 +1,12 @@ package com.iailab.module.model.mpk.service; import com.iailab.framework.common.page.PageData; import com.iailab.framework.common.service.BaseService; import com.iailab.framework.common.service.CrudService; import com.iailab.module.model.mpk.dto.ProjectPackageHistoryModelDTO; import com.iailab.module.model.mpk.entity.ProjectPackageHistoryModelEntity; import java.util.Collection; import java.util.List; import java.util.Map; @@ -13,9 +15,11 @@ * @author: dzd * @date: 2024/9/11 11:39 **/ public interface ProjectPackageHistoryModelService extends CrudService<ProjectPackageHistoryModelEntity, ProjectPackageHistoryModelDTO> { public interface ProjectPackageHistoryModelService extends BaseService<ProjectPackageHistoryModelEntity> { PageData<ProjectPackageHistoryModelDTO> page(Map<String, Object> params); void deleteByMap(Map<String,Object> map); void insertList(List<ProjectPackageHistoryModelEntity> list); } iailab-module-model/iailab-module-model-biz/src/main/java/com/iailab/module/model/mpk/service/ProjectPackageHistoryService.java
@@ -1,5 +1,7 @@ package com.iailab.module.model.mpk.service; import com.iailab.framework.common.page.PageData; import com.iailab.framework.common.service.BaseService; import com.iailab.framework.common.service.CrudService; import com.iailab.module.model.mpk.dto.ProjectPackageHistoryDTO; import com.iailab.module.model.mpk.dto.ProjectPackageHistoryModelDTO; @@ -15,9 +17,13 @@ * @author Dzd * @since 1.0.0 2024-08-22 */ public interface ProjectPackageHistoryService extends CrudService<ProjectPackageHistoryEntity, ProjectPackageHistoryDTO> { public interface ProjectPackageHistoryService extends BaseService<ProjectPackageHistoryEntity> { byte[] download(String filePath) throws IOException; void deleteByMap(Map<String, Object> map); List<ProjectPackageHistoryEntity> list(Map<String, Object> map); PageData<ProjectPackageHistoryDTO> page(Map<String, Object> params); } iailab-module-model/iailab-module-model-biz/src/main/java/com/iailab/module/model/mpk/service/ProjectService.java
@@ -1,6 +1,7 @@ package com.iailab.module.model.mpk.service; import com.iailab.framework.common.page.PageData; import com.iailab.framework.common.service.BaseService; import com.iailab.framework.common.service.CrudService; import com.iailab.module.model.mpk.dto.MpkFileDTO; import com.iailab.module.model.mpk.dto.ProjectDTO; @@ -14,7 +15,7 @@ * @author: dzd * @date: 2024/8/22 14:41 **/ public interface ProjectService extends CrudService<ProjectEntity, ProjectDTO> { public interface ProjectService extends BaseService<ProjectEntity> { PageData<ProjectDTO> page(Map<String, Object> params); List<ProjectDTO> list(Map<String, Object> params); iailab-module-model/iailab-module-model-biz/src/main/java/com/iailab/module/model/mpk/service/impl/GeneratorCodeHistoryServiceImpl.java
@@ -3,11 +3,14 @@ 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.GeneratorCodeHistoryDao; import com.iailab.module.model.mpk.dao.ModelMethodDao; import com.iailab.module.model.mpk.dto.GeneratorCodeHistoryDTO; import com.iailab.module.model.mpk.entity.GeneratorCodeHistoryEntity; import com.iailab.module.model.mpk.entity.ModelMethodEntity; import com.iailab.module.model.mpk.service.GeneratorCodeHistoryService; import org.apache.commons.io.FileUtils; import org.apache.commons.lang3.StringUtils; @@ -15,6 +18,7 @@ import java.io.File; import java.io.IOException; import java.util.List; import java.util.Map; /** @@ -24,7 +28,7 @@ **/ @Service public class GeneratorCodeHistoryServiceImpl extends CrudServiceImpl<GeneratorCodeHistoryDao, GeneratorCodeHistoryEntity, GeneratorCodeHistoryDTO> implements GeneratorCodeHistoryService { public class GeneratorCodeHistoryServiceImpl extends BaseServiceImpl<GeneratorCodeHistoryDao, GeneratorCodeHistoryEntity> implements GeneratorCodeHistoryService { @Override public PageData<GeneratorCodeHistoryDTO> page(Map<String, Object> params) { @@ -58,6 +62,15 @@ } @Override public List<GeneratorCodeHistoryDTO> list(Map<String, Object> map) { return ConvertUtils.sourceToTarget(baseDao.selectList(getWrapper(map)),GeneratorCodeHistoryDTO.class); } @Override public void save(GeneratorCodeHistoryDTO dto) { } public QueryWrapper<GeneratorCodeHistoryEntity> getWrapper(Map<String, Object> params){ String id = (String)params.get("id"); String mdkId = (String)params.get("mdkId"); iailab-module-model/iailab-module-model-biz/src/main/java/com/iailab/module/model/mpk/service/impl/MpkFileServiceImpl.java
@@ -13,6 +13,7 @@ import com.iailab.framework.common.util.date.DateUtils; import com.iailab.framework.common.util.object.ConvertUtils; import com.iailab.framework.security.core.util.SecurityFrameworkUtils; import com.iailab.framework.tenant.core.context.TenantContextHolder; import com.iailab.module.infra.api.config.ConfigApi; import com.iailab.module.model.mpk.common.MdkConstant; import com.iailab.module.model.mpk.common.utils.DllUtils; @@ -24,6 +25,7 @@ import com.iailab.module.model.mpk.dto.ProjectPackageHistoryDTO; import com.iailab.module.model.mpk.entity.GeneratorCodeHistoryEntity; import com.iailab.module.model.mpk.entity.MpkFileEntity; import com.iailab.module.model.mpk.entity.ProjectPackageHistoryEntity; import com.iailab.module.model.mpk.entity.ProjectPackageHistoryModelEntity; import com.iailab.module.model.mpk.service.*; import lombok.extern.slf4j.Slf4j; @@ -72,11 +74,6 @@ @Value("${mpk.bak-resources}") private String mpkResources; /*@PostConstruct public void init() { mpkBakFilePath = configApi.getConfigValueByKey("mpkBakFilePath").getCheckedData(); }*/ @Override public PageData<MpkFileDTO> page(Map<String, Object> params) { @@ -178,6 +175,10 @@ @Override public byte[] generatorCode(String id, String remark, String zipFileName) { Long tenantId = TenantContextHolder.getTenantId(); // 备份文件 租户隔离 String mpkTenantBakFilePath = mpkBakFilePath + File.separator + tenantId; MpkFileDTO entity = baseDao.get(id); //生成代码 //设置velocity资源加载器 @@ -241,7 +242,7 @@ String dllSavePath = dirPath.getAbsolutePath() + File.separator + MdkConstant.LIBS + File.separator + "IAIL.MDK.Mid.Jni.dll"; createDllFile(dirPath.getAbsolutePath(),cppFilePaths,dllSavePath); //备份dll文件,用于后续运行 String dllBakPath = mpkBakFilePath + File.separator + MdkConstant.DLL + File.separator + entity.getPyName() + ".dll"; String dllBakPath = mpkTenantBakFilePath + File.separator + MdkConstant.DLL + File.separator + entity.getPyName() + ".dll"; FileUtil.mkParentDirs(dllBakPath); FileUtil.copy(dllSavePath, dllBakPath, true); @@ -261,11 +262,11 @@ // 打jar包 String jarSavePath = pkgJar(dirPath.getAbsolutePath()); //备份jar文件,用于后续运行 String jarBakPath = mpkBakFilePath + File.separator + MdkConstant.JAR + File.separator + entity.getPyName() + ".jar"; String jarBakPath = mpkTenantBakFilePath + File.separator + MdkConstant.JAR + File.separator + entity.getPyName() + ".jar"; FileUtil.mkParentDirs(dllBakPath); FileUtil.copy(jarSavePath, jarBakPath, true); // 打zip包 String zipPath = mpkBakFilePath + File.separator + zipFileName; String zipPath = mpkTenantBakFilePath + File.separator + zipFileName; ZipUtil.zip(dirPath.getAbsolutePath(), zipPath); byte[] bytes = FileUtil.readBytes(zipPath); @@ -291,6 +292,10 @@ @Override @DSTransactional(rollbackFor = Exception.class) public byte[] packageModel(List<String> ids, String projectId, String projectName, String zipFileName, String logs, String version) throws IOException, InterruptedException { Long tenantId = TenantContextHolder.getTenantId(); // 备份文件 租户隔离 String mpkTenantBakFilePath = mpkBakFilePath + File.separator + tenantId; List<MpkFileDTO> entities = baseDao.selectByIds(ids); //模板数据 @@ -376,7 +381,7 @@ //备份dll,发布时使用 File dllFile = new File(dllSavePath); if (dllFile.exists()) { File dllBakFile = new File(mpkBakFilePath + File.separator + projectId + MdkConstant.SPLIT + historyId + ".dll"); File dllBakFile = new File(mpkBakFilePath + File.separator + MdkConstant.PROJECT_UNPUBLISH + File.separator + projectId + MdkConstant.SPLIT + historyId + ".dll"); FileUtil.copy(dllFile, dllBakFile, true); }else { log.error("dll文件不存在,无法备份。" + dllSavePath); @@ -400,30 +405,30 @@ //备份jar包,发布时使用 File jarFile = new File(jarSavePath); if (jarFile.exists()) { File jarBakFile = new File(mpkBakFilePath + File.separator + projectId + MdkConstant.SPLIT + historyId + ".jar"); File jarBakFile = new File(mpkBakFilePath + File.separator + MdkConstant.PROJECT_UNPUBLISH + File.separator + projectId + MdkConstant.SPLIT + historyId + ".jar"); FileUtil.copy(jarFile, jarBakFile, true); }else { log.error("jar文件不存在,无法备份。" + jarSavePath); } // 本次更新日志 ProjectPackageHistoryDTO dto = new ProjectPackageHistoryDTO(); dto.setId(historyId); dto.setProjectId(projectId); dto.setFileName(zipFileName); dto.setLog(logs); dto.setVersion(version); dto.setModelNames(entities.stream().map(MpkFileDTO::getPyName).collect(Collectors.joining(","))); dto.setCreateTime(new Date()); ProjectPackageHistoryEntity projectPackageHistoryEntity = new ProjectPackageHistoryEntity(); projectPackageHistoryEntity.setId(historyId); projectPackageHistoryEntity.setProjectId(projectId); projectPackageHistoryEntity.setFileName(zipFileName); projectPackageHistoryEntity.setLog(logs); projectPackageHistoryEntity.setVersion(version); projectPackageHistoryEntity.setModelNames(entities.stream().map(MpkFileDTO::getPyName).collect(Collectors.joining(","))); projectPackageHistoryEntity.setCreateTime(new Date()); // 生成更新日志 createLog(projectId, projectName, dirPath.getAbsolutePath(), dto, version); createLog(projectId, projectName, dirPath.getAbsolutePath(), projectPackageHistoryEntity, version); // 打zip包 String zipPath = mpkBakFilePath + File.separator + zipFileName; String zipPath = mpkTenantBakFilePath + File.separator + zipFileName; ZipUtil.zip(dirPath.getAbsolutePath(), zipPath); byte[] bytes = FileUtil.readBytes(zipPath); // 记录打包日志 dto.setFilePath(zipPath); projectPackageHistoryService.save(dto); projectPackageHistoryEntity.setFilePath(zipPath); projectPackageHistoryService.insert(projectPackageHistoryEntity); // 插入打包历史-模型关联表 List<ProjectPackageHistoryModelEntity> historyModelList = new ArrayList<>(entities.size()); entities.forEach(e -> { @@ -442,7 +447,7 @@ } historyModelList.add(entity); }); projectPackageHistoryModelService.insertBatch(historyModelList); projectPackageHistoryModelService.insertList(historyModelList); // 删除临时文件 FileUtils.deleteDirectory(dirPath); return bytes; @@ -472,7 +477,11 @@ @Override public Map<String, String> savePyFile(MultipartFile file) throws IOException { File dir = new File(mpkBakFilePath); Long tenantId = TenantContextHolder.getTenantId(); // 备份文件 租户隔离 String mpkTenantBakFilePath = mpkBakFilePath + File.separator + tenantId; File dir = new File(mpkTenantBakFilePath); if (!dir.exists()) { dir.mkdirs(); } @@ -497,8 +506,8 @@ String projectId = (String) params.get("projectId"); // 判断新的dll和jar文件是否存在 String jarFileBakPath = mpkBakFilePath + File.separator + projectId + MdkConstant.SPLIT + historyId + ".jar"; String dllFileBakPath = mpkBakFilePath + File.separator + projectId + MdkConstant.SPLIT + historyId + ".dll"; String jarFileBakPath = mpkBakFilePath + File.separator + MdkConstant.PROJECT_UNPUBLISH + File.separator + projectId + MdkConstant.SPLIT + historyId + ".jar"; String dllFileBakPath = mpkBakFilePath + File.separator + MdkConstant.PROJECT_UNPUBLISH + File.separator + projectId + MdkConstant.SPLIT + historyId + ".dll"; if (!FileUtil.exist(jarFileBakPath)) { throw new RuntimeException("jar文件不存在," + jarFileBakPath); } @@ -542,16 +551,16 @@ return CommonResult.success(); } private void createLog(String projectId, String projectName, String dirPath, ProjectPackageHistoryDTO dto, String version) throws IOException { private void createLog(String projectId, String projectName, String dirPath, ProjectPackageHistoryEntity projectPackageHistoryEntity, String version) { Map<String, Object> map = new HashMap<>(); map.put("projectId", projectId); List<ProjectPackageHistoryDTO> list = projectPackageHistoryService.list(map); list.add(dto); List<ProjectPackageHistoryEntity> list = projectPackageHistoryService.list(map); list.add(projectPackageHistoryEntity); // 按照日期分组再排序 HashMap<String, List<ProjectPackageHistoryDTO>> dataMap = list.stream().collect( HashMap<String, List<ProjectPackageHistoryEntity>> dataMap = list.stream().collect( Collectors.groupingBy(e -> DateUtils.format(e.getCreateTime(), DateUtils.DATE_PATTERN_POINT), LinkedHashMap::new, Collectors.collectingAndThen(Collectors.toList(), e -> e.stream().sorted(Comparator.comparing(ProjectPackageHistoryDTO::getCreateTime)).collect(Collectors.toList())))); Collectors.collectingAndThen(Collectors.toList(), e -> e.stream().sorted(Comparator.comparing(ProjectPackageHistoryEntity::getCreateTime)).collect(Collectors.toList())))); Map<String, Object> data = new HashMap<>(); data.put("dataMap", dataMap); iailab-module-model/iailab-module-model-biz/src/main/java/com/iailab/module/model/mpk/service/impl/ProjectModelServiceImpl.java
@@ -1,6 +1,7 @@ package com.iailab.module.model.mpk.service.impl; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; 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.ProjectModelDao; @@ -22,7 +23,7 @@ * @date: 2024/8/22 14:41 **/ @Service public class ProjectModelServiceImpl extends CrudServiceImpl<ProjectModelDao, ProjectModelEntity, ProjectModelDTO> implements ProjectModelService { public class ProjectModelServiceImpl extends BaseServiceImpl<ProjectModelDao, ProjectModelEntity> implements ProjectModelService { @Override public List<ProjectModelDTO> list(Map<String, Object> params) { List<ProjectModelEntity> entityList = baseDao.selectList(getWrapper(params)); @@ -48,7 +49,6 @@ baseDao.insert(list); } @Override public QueryWrapper<ProjectModelEntity> getWrapper(Map<String, Object> params){ String id = (String)params.get("id"); String projectId = (String)params.get("projectId"); iailab-module-model/iailab-module-model-biz/src/main/java/com/iailab/module/model/mpk/service/impl/ProjectPackageHistoryModelServiceImpl.java
@@ -1,8 +1,10 @@ package com.iailab.module.model.mpk.service.impl; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.enums.SqlMethod; 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.module.model.mpk.dao.ProjectPackageHistoryModelDao; import com.iailab.module.model.mpk.dto.ProjectPackageHistoryModelDTO; @@ -12,6 +14,8 @@ import org.apache.poi.ss.formula.functions.T; import org.springframework.stereotype.Service; import java.util.Collection; import java.util.List; import java.util.Map; /** @@ -20,7 +24,11 @@ * @date: 2024/8/22 14:41 **/ @Service public class ProjectPackageHistoryModelServiceImpl extends CrudServiceImpl<ProjectPackageHistoryModelDao, ProjectPackageHistoryModelEntity, ProjectPackageHistoryModelDTO> implements ProjectPackageHistoryModelService { public class ProjectPackageHistoryModelServiceImpl extends BaseServiceImpl<ProjectPackageHistoryModelDao, ProjectPackageHistoryModelEntity> implements ProjectPackageHistoryModelService { public void insertList(List<ProjectPackageHistoryModelEntity> entityList) { baseDao.insertBatch(entityList); } @Override public PageData<ProjectPackageHistoryModelDTO> page(Map<String, Object> params) { @@ -37,7 +45,6 @@ baseDao.delete(getWrapper(map)); } @Override public QueryWrapper<ProjectPackageHistoryModelEntity> getWrapper(Map<String, Object> params){ String id = (String)params.get("id"); String packageHistoryId = (String)params.get("packageHistoryId"); @@ -52,6 +59,4 @@ return wrapper; } } iailab-module-model/iailab-module-model-biz/src/main/java/com/iailab/module/model/mpk/service/impl/ProjectPackageHistoryServiceImpl.java
@@ -1,8 +1,12 @@ package com.iailab.module.model.mpk.service.impl; 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.module.model.mpk.dao.ProjectPackageHistoryDao; import com.iailab.module.model.mpk.dto.ProjectDTO; import com.iailab.module.model.mpk.dto.ProjectPackageHistoryDTO; import com.iailab.module.model.mpk.entity.ProjectPackageHistoryEntity; import com.iailab.module.model.mpk.service.ProjectPackageHistoryService; @@ -12,6 +16,7 @@ import java.io.File; import java.io.IOException; import java.util.List; import java.util.Map; /** @@ -21,9 +26,8 @@ * @since 1.0.0 2024-08-22 */ @Service public class ProjectPackageHistoryServiceImpl extends CrudServiceImpl<ProjectPackageHistoryDao, ProjectPackageHistoryEntity, ProjectPackageHistoryDTO> implements ProjectPackageHistoryService { public class ProjectPackageHistoryServiceImpl extends BaseServiceImpl<ProjectPackageHistoryDao, ProjectPackageHistoryEntity> implements ProjectPackageHistoryService { @Override public QueryWrapper<ProjectPackageHistoryEntity> getWrapper(Map<String, Object> params){ String id = (String)params.get("id"); String projectId = (String)params.get("projectId"); @@ -54,4 +58,15 @@ public void deleteByMap(Map<String, Object> map) { baseDao.delete(getWrapper(map)); } @Override public List<ProjectPackageHistoryEntity> list(Map<String, Object> map) { return baseDao.selectList(getWrapper(map)); } @Override public PageData<ProjectPackageHistoryDTO> page(Map<String, Object> params) { IPage<ProjectPackageHistoryEntity> page = baseDao.selectPage(getPage(params, "create_time", false), getWrapper(params)); return getPageData(page, ProjectPackageHistoryDTO.class); } } iailab-module-model/iailab-module-model-biz/src/main/java/com/iailab/module/model/mpk/service/impl/ProjectServiceImpl.java
@@ -4,6 +4,7 @@ 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,6 +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.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; @@ -34,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; @@ -121,7 +123,7 @@ //删除备份文件 Map<String,Object> map = new HashMap<>(); map.put("projectId",id); List<ProjectPackageHistoryDTO> list = projectPackageHistoryService.list(map); List<ProjectPackageHistoryEntity> list = projectPackageHistoryService.list(map); list.forEach(e -> { File file = new File(e.getFilePath()); if (file.exists()) { @@ -161,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"); iailab-module-model/iailab-module-model-biz/src/main/resources/mapper/mpk/ProjectPackageHistoryModelDao.xml
对比新文件 @@ -0,0 +1,13 @@ <?xml version="1.0" encoding="UTF-8" ?> <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd" > <mapper namespace="com.iailab.module.model.mpk.dao.ProjectPackageHistoryModelDao"> <insert id="insertBatch"> INSERT INTO t_mpk_project_package_history_model VALUES <foreach collection="list" item="item" separator=","> (#{item.id}, #{item.projectId}, #{item.packageHistoryId}, #{item.pyName}, #{item.pyChineseName}, #{item.pkgName}, #{item.pyModule}, #{item.remark}, #{item.methodInfo}) </foreach> </insert> </mapper>