diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/common/service/BusinessFileService.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/common/service/BusinessFileService.java new file mode 100644 index 00000000..79ed4940 --- /dev/null +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/common/service/BusinessFileService.java @@ -0,0 +1,45 @@ +package com.zt.plat.module.qms.common.service; + +import com.zt.plat.framework.common.pojo.CommonResult; +import com.zt.plat.framework.common.pojo.PageResult; +import com.zt.plat.module.infra.api.businessfile.BusinessFileApi; +import com.zt.plat.module.infra.api.businessfile.dto.BusinessFilePageReqDTO; +import com.zt.plat.module.infra.api.businessfile.dto.BusinessFileRespDTO; +import com.zt.plat.module.infra.api.businessfile.dto.BusinessFileWithUrlRespDTO; +import jakarta.annotation.Resource; +import org.springframework.stereotype.Service; +import org.springframework.util.ObjectUtils; + +import java.util.Arrays; +import java.util.List; + +@Service("businessFileService") +public class BusinessFileService { + + @Resource BusinessFileApi businessFileApi; + + /* + * 调用平台的业务附件接口删除附件记录 + * */ + public void deleteBusinessFileList(List idsList){ + if(idsList == null || idsList.isEmpty()) + return; + businessFileApi.deleteBusinessFileList(idsList); + } + + /* + * 查询附件列表 + * */ + public CommonResult> getBusinessFileList(Long businessId){ + BusinessFilePageReqDTO businessFilePageReqDTO = new BusinessFilePageReqDTO(); + businessFilePageReqDTO.setBusinessId(businessId); + businessFilePageReqDTO.setPageSize(-1); + CommonResult> ret = businessFileApi.getBusinessFilePageWithUrl(businessFilePageReqDTO); + if(!ret.isSuccess()) + return CommonResult.error(ret); + PageResult pageResult = ret.getData(); + List list = pageResult.getList(); + return CommonResult.success(list); + } + +} diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/resource/clientManage/controller/admin/VersionManagementController.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/resource/clientManage/controller/admin/VersionManagementController.java index f8599371..9811711c 100644 --- a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/resource/clientManage/controller/admin/VersionManagementController.java +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/resource/clientManage/controller/admin/VersionManagementController.java @@ -1,7 +1,9 @@ package com.zt.plat.module.qms.resource.clientManage.controller.admin; +import com.zt.plat.module.infra.api.businessfile.dto.BusinessFileWithUrlRespDTO; import com.zt.plat.module.infra.api.file.FileApi; import com.zt.plat.module.infra.api.file.dto.FileRespDTO; +import com.zt.plat.module.qms.common.service.BusinessFileService; import com.zt.plat.module.qms.resource.clientManage.controller.vo.VersionManagementPageReqVO; import com.zt.plat.module.qms.resource.clientManage.controller.vo.VersionManagementRespVO; import com.zt.plat.module.qms.resource.clientManage.controller.vo.VersionManagementSaveReqVO; @@ -43,7 +45,7 @@ import com.zt.plat.module.qms.resource.clientManage.service.VersionManagementSer @RestController @RequestMapping("/qms/version-management") @Validated -@FileUploadController(source = "qms.versionmanagement") +@FileUploadController(source = "qms.versionmanagement", codeKey = "data.fileUploadBusinessCode") @DeptDataPermissionIgnore(enable = "true") public class VersionManagementController extends AbstractFileUploadController implements BusinessControllerMarker{ @@ -56,23 +58,24 @@ public class VersionManagementController extends AbstractFileUploadController im @Resource private VersionManagementService systemVersionManagementService; + @Resource private BusinessFileService businessFileService; @Resource private FileApi fileApi; @PostMapping("/create") @Operation(summary = "创建客户端版本管理") - @PreAuthorize("@ss.hasPermission('qms:version-management:create')") +// @PreAuthorize("@ss.hasPermission('qms:version-management:create')") public CommonResult createSystemVersionManagement(@Valid @RequestBody VersionManagementSaveReqVO createReqVO) { return success(systemVersionManagementService.createVersionManagement(createReqVO)); } @PutMapping("/update") @Operation(summary = "更新客户端版本管理") - @PreAuthorize("@ss.hasPermission('qms:version-management:update')") - public CommonResult updateSystemVersionManagement(@Valid @RequestBody VersionManagementSaveReqVO updateReqVO) { +// @PreAuthorize("@ss.hasPermission('qms:version-management:update')") + public CommonResult updateSystemVersionManagement(@Valid @RequestBody VersionManagementSaveReqVO updateReqVO) { systemVersionManagementService.updateVersionManagement(updateReqVO); - return success(true); + return success(BeanUtils.toBean(updateReqVO, VersionManagementRespVO.class)); } @DeleteMapping("/delete") @@ -87,7 +90,7 @@ public class VersionManagementController extends AbstractFileUploadController im @DeleteMapping("/delete-list") @Parameter(name = "ids", description = "编号", required = true) @Operation(summary = "批量删除客户端版本管理") - @PreAuthorize("@ss.hasPermission('qms:version-management:delete')") + @PreAuthorize("@ss.hasPermission('qms:version-management:delete')") public CommonResult deleteSystemVersionManagementList(@RequestBody BatchDeleteReqVO req) { systemVersionManagementService.deleteSystemVersionManagementListByIds(req.getIds()); return success(true); @@ -96,15 +99,17 @@ public class VersionManagementController extends AbstractFileUploadController im @GetMapping("/get") @Operation(summary = "获得客户端版本管理") @Parameter(name = "id", description = "编号", required = true, example = "1024") - @PreAuthorize("@ss.hasPermission('qms:version-management:query')") +// @PreAuthorize("@ss.hasPermission('qms:version-management:query')") public CommonResult getSystemVersionManagement(@RequestParam("id") Long id) { VersionManagementDO systemVersionManagement = systemVersionManagementService.getVersionManagement(id); - return success(BeanUtils.toBean(systemVersionManagement, VersionManagementRespVO.class)); + VersionManagementRespVO vo = BeanUtils.toBean(systemVersionManagement, VersionManagementRespVO.class); + vo.setBusinessFileRet(businessFileService.getBusinessFileList(id)); + return success(vo); } @GetMapping("/page") @Operation(summary = "获得客户端版本管理分页") - @PreAuthorize("@ss.hasPermission('qms:version-management:query')") +// @PreAuthorize("@ss.hasPermission('qms:version-management:query')") public CommonResult> getSystemVersionManagementPage(@Valid VersionManagementPageReqVO pageReqVO) { PageResult pageResult = systemVersionManagementService.getVersionManagementPage(pageReqVO); return success(BeanUtils.toBean(pageResult, VersionManagementRespVO.class)); diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/resource/clientManage/controller/vo/VersionManagementRespVO.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/resource/clientManage/controller/vo/VersionManagementRespVO.java index 2442687b..bad93e0e 100644 --- a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/resource/clientManage/controller/vo/VersionManagementRespVO.java +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/resource/clientManage/controller/vo/VersionManagementRespVO.java @@ -1,11 +1,14 @@ package com.zt.plat.module.qms.resource.clientManage.controller.vo; +import com.zt.plat.framework.common.pojo.CommonResult; +import com.zt.plat.module.infra.api.businessfile.dto.BusinessFileWithUrlRespDTO; import io.swagger.v3.oas.annotations.media.Schema; import lombok.*; import java.time.LocalDateTime; +import java.util.List; + import com.alibaba.excel.annotation.*; -import com.zt.plat.framework.excel.core.annotations.DictFormat; import com.zt.plat.framework.excel.core.convert.DictConvert; @Schema(description = "管理后台 - 客户端版本管理 Response VO") @@ -93,4 +96,16 @@ public class VersionManagementRespVO { @ExcelProperty("创建者") private String creator; +// ===================附件上传code========================= + @Schema(description = "附件上传code") + @ExcelProperty("附件上传code") + private String fileUploadBusinessCode = "qms_resource_version_manage"; + + +// ===================扩展字段========================= + @Schema(description = "附件对象") + private CommonResult> businessFileRet; + + + } \ No newline at end of file diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/resource/clientManage/controller/vo/VersionManagementSaveReqVO.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/resource/clientManage/controller/vo/VersionManagementSaveReqVO.java index 817c9b3d..c7053c20 100644 --- a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/resource/clientManage/controller/vo/VersionManagementSaveReqVO.java +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/resource/clientManage/controller/vo/VersionManagementSaveReqVO.java @@ -71,4 +71,8 @@ public class VersionManagementSaveReqVO { //==========扩展属性=============== @Schema(description = "上传文件列表") private List files; + + @Schema(description = "删除的文件id") + private List deleteFileIdList; + } \ No newline at end of file diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/resource/clientManage/service/VersionManagementServiceImpl.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/resource/clientManage/service/VersionManagementServiceImpl.java index 99a28bc1..ada5c576 100644 --- a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/resource/clientManage/service/VersionManagementServiceImpl.java +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/resource/clientManage/service/VersionManagementServiceImpl.java @@ -2,6 +2,7 @@ package com.zt.plat.module.qms.resource.clientManage.service; import cn.hutool.core.collection.CollUtil; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.zt.plat.module.qms.common.service.BusinessFileService; import com.zt.plat.module.qms.resource.clientManage.VersionManagementConst; import com.zt.plat.module.qms.resource.clientManage.controller.vo.VersionManagementPageReqVO; import com.zt.plat.module.qms.resource.clientManage.controller.vo.VersionManagementRespVO; @@ -37,8 +38,10 @@ public class VersionManagementServiceImpl implements VersionManagementService { @Resource private VersionManagementMapper versionManagementMapper; + @Resource private BusinessFileService businessFileService; @Override + @Transactional(rollbackFor = Exception.class) public VersionManagementRespVO createVersionManagement(VersionManagementSaveReqVO createReqVO) { //多条数据取第一条 @@ -53,6 +56,7 @@ public class VersionManagementServiceImpl implements VersionManagementService { } @Override + @Transactional(rollbackFor = Exception.class) public void updateVersionManagement(VersionManagementSaveReqVO updateReqVO) { // 校验存在 validateVersionManagementExists(updateReqVO.getId()); @@ -61,6 +65,9 @@ public class VersionManagementServiceImpl implements VersionManagementService { VersionManagementDO updateObj = BeanUtils.toBean(updateReqVO, VersionManagementDO.class); // updateObj.setUpdater(String.valueOf(SecurityFrameworkUtils.getLoginUser().getId())); versionManagementMapper.updateById(updateObj); + + businessFileService.deleteBusinessFileList(updateReqVO.getDeleteFileIdList()); + } //处理附件参数