diff --git a/electrmangnetic/src/main/java/com/electromagnetic/industry/software/manage/controller/ImportPrjController.java b/electrmangnetic/src/main/java/com/electromagnetic/industry/software/manage/controller/ImportPrjController.java index 8a1e267..531f48d 100644 --- a/electrmangnetic/src/main/java/com/electromagnetic/industry/software/manage/controller/ImportPrjController.java +++ b/electrmangnetic/src/main/java/com/electromagnetic/industry/software/manage/controller/ImportPrjController.java @@ -15,6 +15,7 @@ import org.springframework.web.bind.annotation.RestController; import org.springframework.web.multipart.MultipartFile; @RestController +@RequestMapping("/data/ed/local/prj") public class ImportPrjController { @Resource @@ -41,9 +42,15 @@ public class ImportPrjController { } @RequestMapping("/download") - @UserOperation(value = "下载文件", modelName = UserOperationModuleEnum.IMPORT_PFJ) + @UserOperation(value = "下载工程文件", modelName = UserOperationModuleEnum.IMPORT_PFJ) public ResponseEntity download(@RequestParam("id") String id, HttpServletResponse response) { return importPrjService.download(id, response); } + @RequestMapping("/removePrj") + @UserOperation(value = "删除工程", modelName = UserOperationModuleEnum.IMPORT_PFJ) + public ElectromagneticResult removePrj(@RequestParam("prjId") String prjId) { + return ElectromagneticResultUtil.success(importPrjService.removePrj(prjId)); + } + } diff --git a/electrmangnetic/src/main/java/com/electromagnetic/industry/software/manage/service/ImportPrjService.java b/electrmangnetic/src/main/java/com/electromagnetic/industry/software/manage/service/ImportPrjService.java index 87ea2d4..a5f5a4f 100644 --- a/electrmangnetic/src/main/java/com/electromagnetic/industry/software/manage/service/ImportPrjService.java +++ b/electrmangnetic/src/main/java/com/electromagnetic/industry/software/manage/service/ImportPrjService.java @@ -18,4 +18,5 @@ public interface ImportPrjService { RespPageVO queryImportFileInfo(String id, Integer pageNo, Integer pageSize); + boolean removePrj(String prjId); } diff --git a/electrmangnetic/src/main/java/com/electromagnetic/industry/software/manage/service/serviceimpl/ImportPrjServiceImpl.java b/electrmangnetic/src/main/java/com/electromagnetic/industry/software/manage/service/serviceimpl/ImportPrjServiceImpl.java index 85a2a74..b6bc753 100644 --- a/electrmangnetic/src/main/java/com/electromagnetic/industry/software/manage/service/serviceimpl/ImportPrjServiceImpl.java +++ b/electrmangnetic/src/main/java/com/electromagnetic/industry/software/manage/service/serviceimpl/ImportPrjServiceImpl.java @@ -8,6 +8,7 @@ import cn.hutool.core.lang.Assert; import cn.hutool.core.text.StrFormatter; import cn.hutool.core.util.StrUtil; import cn.hutool.crypto.SecureUtil; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; @@ -40,6 +41,7 @@ import org.springframework.web.multipart.MultipartFile; import java.io.File; import java.io.InputStream; import java.util.*; +import java.util.stream.Collectors; import java.util.zip.ZipEntry; import java.util.zip.ZipFile; @@ -54,6 +56,7 @@ public class ImportPrjServiceImpl extends ServiceImpl importFileInfoPage = this.baseMapper.selectPage(new Page<>(pageNum, pageSize), Wrappers.lambdaQuery(ImportFileInfo.class) .select(ImportFileInfo::getId, ImportFileInfo::getFileName) .eq(ImportFileInfo::getEffectFlag, EffectFlagEnum.EFFECT.code) - .eq(ImportFileInfo::getParentId, PRJ_PARENT_ID)); + .eq(ImportFileInfo::getParentId, PRJ_PARENT_ID) + .orderByDesc(ImportFileInfo::getCreatedTime)); List page = BeanUtil.copyToList(importFileInfoPage.getRecords(), ImportFileDirQueryVO.class); return new RespPageVO<>(importFileInfoPage.getTotal(), page); } @@ -194,6 +198,20 @@ public class ImportPrjServiceImpl extends ServiceImpl idSelectWrapper = Wrappers.lambdaQuery(ImportFileInfo.class) + .likeRight(ImportFileInfo::getFilePath, prjId + MYSQL_FILE_PATH_SPLIT) + .select(ImportFileInfo::getId); + Set ids = this.baseMapper.selectList(idSelectWrapper).stream().map(ImportFileInfo::getId).collect(Collectors.toSet()); + ids.add(prjId); + this.baseMapper.update(new ImportFileInfo(), Wrappers.lambdaUpdate() + .set(ImportFileInfo::getEffectFlag, EffectFlagEnum.NOT_EFFECTIVE.code) + .in(ImportFileInfo::getId, ids)); + return true; + } + public void resetPrjName(ImportFileInfo importFileInfo) { if (!StrUtil.equals(importFileInfo.getParentId(), ElectromagneticConstants.PRJ_PARENT_ID)) { return; diff --git a/electrmangnetic/src/test/java/ImportTest.java b/electrmangnetic/src/test/java/ImportTest.java index eed7c19..cc8fc29 100644 --- a/electrmangnetic/src/test/java/ImportTest.java +++ b/electrmangnetic/src/test/java/ImportTest.java @@ -1,35 +1,35 @@ -import com.electromagnetic.industry.software.common.cons.UserConstants; -import com.electromagnetic.industry.software.common.pojo.UserLoginInfo; -import com.electromagnetic.industry.software.common.util.UserThreadLocal; -import com.electromagnetic.industry.software.manage.Application; -import com.electromagnetic.industry.software.manage.config.ElePropertyConfig; -import com.electromagnetic.industry.software.manage.service.ImportPrjService; -import com.electromagnetic.industry.software.manage.service.ImportTableService; -import jakarta.annotation.Resource; -import org.springframework.boot.test.context.SpringBootTest; - -@SpringBootTest(classes = Application.class) -public class ImportTableTest { - - @Resource - private ImportTableService importTableService; - @Resource - private ImportPrjService importPrjService; - @Resource - private ElePropertyConfig elePropertyConfig; - - public void testImportPrj() { - UserLoginInfo userLoginInfo = new UserLoginInfo(); - userLoginInfo.setUserId("1916756770835075072"); - userLoginInfo.setUsername("北航电磁仿真用户1"); - userLoginInfo.setWorkNumber(""); - userLoginInfo.setAdminType(""); - userLoginInfo.setPrjTmpDir(elePropertyConfig.getEleTmpPath()); - UserThreadLocal.set(userLoginInfo); - importPrjService.importPrj(null); - - } - - - -} +//import com.electromagnetic.industry.software.common.pojo.UserLoginInfo; +//import com.electromagnetic.industry.software.common.util.UserThreadLocal; +//import com.electromagnetic.industry.software.manage.Application; +//import com.electromagnetic.industry.software.manage.config.ElePropertyConfig; +//import com.electromagnetic.industry.software.manage.service.ImportPrjService; +//import com.electromagnetic.industry.software.manage.service.ImportTableService; +//import jakarta.annotation.Resource; +//import org.junit.jupiter.api.Test; +//import org.springframework.boot.test.context.SpringBootTest; +// +//@SpringBootTest(classes = Application.class) +//public class ImportTest { +// +// @Resource +// private ImportTableService importTableService; +// @Resource +// private ImportPrjService importPrjService; +// @Resource +// private ElePropertyConfig elePropertyConfig; +// +// @Test +// public void testImportPrj() { +// UserLoginInfo userLoginInfo = new UserLoginInfo(); +// userLoginInfo.setUserId("1916756770835075072"); +// userLoginInfo.setUsername("北航电磁仿真用户1"); +// userLoginInfo.setWorkNumber(""); +// userLoginInfo.setAdminType(""); +// userLoginInfo.setPrjTmpDir(elePropertyConfig.getEleTmpPath()); +// UserThreadLocal.set(userLoginInfo); +// importPrjService.importPrj(null); +// +// } +// +// +//}