feat:通用附件上传和查看组件及示例

This commit is contained in:
FCL
2026-02-12 12:03:32 +08:00
parent f9695c983a
commit 3ab81a8ead
5 changed files with 86 additions and 10 deletions

View File

@@ -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<Long> idsList){
if(idsList == null || idsList.isEmpty())
return;
businessFileApi.deleteBusinessFileList(idsList);
}
/*
* 查询附件列表
* */
public CommonResult<List<BusinessFileWithUrlRespDTO>> getBusinessFileList(Long businessId){
BusinessFilePageReqDTO businessFilePageReqDTO = new BusinessFilePageReqDTO();
businessFilePageReqDTO.setBusinessId(businessId);
businessFilePageReqDTO.setPageSize(-1);
CommonResult<PageResult<BusinessFileWithUrlRespDTO>> ret = businessFileApi.getBusinessFilePageWithUrl(businessFilePageReqDTO);
if(!ret.isSuccess())
return CommonResult.error(ret);
PageResult<BusinessFileWithUrlRespDTO> pageResult = ret.getData();
List<BusinessFileWithUrlRespDTO> list = pageResult.getList();
return CommonResult.success(list);
}
}

View File

@@ -1,7 +1,9 @@
package com.zt.plat.module.qms.resource.clientManage.controller.admin; 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.FileApi;
import com.zt.plat.module.infra.api.file.dto.FileRespDTO; 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.VersionManagementPageReqVO;
import com.zt.plat.module.qms.resource.clientManage.controller.vo.VersionManagementRespVO; import com.zt.plat.module.qms.resource.clientManage.controller.vo.VersionManagementRespVO;
import com.zt.plat.module.qms.resource.clientManage.controller.vo.VersionManagementSaveReqVO; 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 @RestController
@RequestMapping("/qms/version-management") @RequestMapping("/qms/version-management")
@Validated @Validated
@FileUploadController(source = "qms.versionmanagement") @FileUploadController(source = "qms.versionmanagement", codeKey = "data.fileUploadBusinessCode")
@DeptDataPermissionIgnore(enable = "true") @DeptDataPermissionIgnore(enable = "true")
public class VersionManagementController extends AbstractFileUploadController implements BusinessControllerMarker{ public class VersionManagementController extends AbstractFileUploadController implements BusinessControllerMarker{
@@ -56,23 +58,24 @@ public class VersionManagementController extends AbstractFileUploadController im
@Resource @Resource
private VersionManagementService systemVersionManagementService; private VersionManagementService systemVersionManagementService;
@Resource private BusinessFileService businessFileService;
@Resource @Resource
private FileApi fileApi; private FileApi fileApi;
@PostMapping("/create") @PostMapping("/create")
@Operation(summary = "创建客户端版本管理") @Operation(summary = "创建客户端版本管理")
@PreAuthorize("@ss.hasPermission('qms:version-management:create')") // @PreAuthorize("@ss.hasPermission('qms:version-management:create')")
public CommonResult<VersionManagementRespVO> createSystemVersionManagement(@Valid @RequestBody VersionManagementSaveReqVO createReqVO) { public CommonResult<VersionManagementRespVO> createSystemVersionManagement(@Valid @RequestBody VersionManagementSaveReqVO createReqVO) {
return success(systemVersionManagementService.createVersionManagement(createReqVO)); return success(systemVersionManagementService.createVersionManagement(createReqVO));
} }
@PutMapping("/update") @PutMapping("/update")
@Operation(summary = "更新客户端版本管理") @Operation(summary = "更新客户端版本管理")
@PreAuthorize("@ss.hasPermission('qms:version-management:update')") // @PreAuthorize("@ss.hasPermission('qms:version-management:update')")
public CommonResult<Boolean> updateSystemVersionManagement(@Valid @RequestBody VersionManagementSaveReqVO updateReqVO) { public CommonResult<VersionManagementRespVO> updateSystemVersionManagement(@Valid @RequestBody VersionManagementSaveReqVO updateReqVO) {
systemVersionManagementService.updateVersionManagement(updateReqVO); systemVersionManagementService.updateVersionManagement(updateReqVO);
return success(true); return success(BeanUtils.toBean(updateReqVO, VersionManagementRespVO.class));
} }
@DeleteMapping("/delete") @DeleteMapping("/delete")
@@ -87,7 +90,7 @@ public class VersionManagementController extends AbstractFileUploadController im
@DeleteMapping("/delete-list") @DeleteMapping("/delete-list")
@Parameter(name = "ids", description = "编号", required = true) @Parameter(name = "ids", description = "编号", required = true)
@Operation(summary = "批量删除客户端版本管理") @Operation(summary = "批量删除客户端版本管理")
@PreAuthorize("@ss.hasPermission('qms:version-management:delete')") @PreAuthorize("@ss.hasPermission('qms:version-management:delete')")
public CommonResult<Boolean> deleteSystemVersionManagementList(@RequestBody BatchDeleteReqVO req) { public CommonResult<Boolean> deleteSystemVersionManagementList(@RequestBody BatchDeleteReqVO req) {
systemVersionManagementService.deleteSystemVersionManagementListByIds(req.getIds()); systemVersionManagementService.deleteSystemVersionManagementListByIds(req.getIds());
return success(true); return success(true);
@@ -96,15 +99,17 @@ public class VersionManagementController extends AbstractFileUploadController im
@GetMapping("/get") @GetMapping("/get")
@Operation(summary = "获得客户端版本管理") @Operation(summary = "获得客户端版本管理")
@Parameter(name = "id", description = "编号", required = true, example = "1024") @Parameter(name = "id", description = "编号", required = true, example = "1024")
@PreAuthorize("@ss.hasPermission('qms:version-management:query')") // @PreAuthorize("@ss.hasPermission('qms:version-management:query')")
public CommonResult<VersionManagementRespVO> getSystemVersionManagement(@RequestParam("id") Long id) { public CommonResult<VersionManagementRespVO> getSystemVersionManagement(@RequestParam("id") Long id) {
VersionManagementDO systemVersionManagement = systemVersionManagementService.getVersionManagement(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") @GetMapping("/page")
@Operation(summary = "获得客户端版本管理分页") @Operation(summary = "获得客户端版本管理分页")
@PreAuthorize("@ss.hasPermission('qms:version-management:query')") // @PreAuthorize("@ss.hasPermission('qms:version-management:query')")
public CommonResult<PageResult<VersionManagementRespVO>> getSystemVersionManagementPage(@Valid VersionManagementPageReqVO pageReqVO) { public CommonResult<PageResult<VersionManagementRespVO>> getSystemVersionManagementPage(@Valid VersionManagementPageReqVO pageReqVO) {
PageResult<VersionManagementDO> pageResult = systemVersionManagementService.getVersionManagementPage(pageReqVO); PageResult<VersionManagementDO> pageResult = systemVersionManagementService.getVersionManagementPage(pageReqVO);
return success(BeanUtils.toBean(pageResult, VersionManagementRespVO.class)); return success(BeanUtils.toBean(pageResult, VersionManagementRespVO.class));

View File

@@ -1,11 +1,14 @@
package com.zt.plat.module.qms.resource.clientManage.controller.vo; 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 io.swagger.v3.oas.annotations.media.Schema;
import lombok.*; import lombok.*;
import java.time.LocalDateTime; import java.time.LocalDateTime;
import java.util.List;
import com.alibaba.excel.annotation.*; import com.alibaba.excel.annotation.*;
import com.zt.plat.framework.excel.core.annotations.DictFormat;
import com.zt.plat.framework.excel.core.convert.DictConvert; import com.zt.plat.framework.excel.core.convert.DictConvert;
@Schema(description = "管理后台 - 客户端版本管理 Response VO") @Schema(description = "管理后台 - 客户端版本管理 Response VO")
@@ -93,4 +96,16 @@ public class VersionManagementRespVO {
@ExcelProperty("创建者") @ExcelProperty("创建者")
private String creator; private String creator;
// ===================附件上传code=========================
@Schema(description = "附件上传code")
@ExcelProperty("附件上传code")
private String fileUploadBusinessCode = "qms_resource_version_manage";
// ===================扩展字段=========================
@Schema(description = "附件对象")
private CommonResult<List<BusinessFileWithUrlRespDTO>> businessFileRet;
} }

View File

@@ -71,4 +71,8 @@ public class VersionManagementSaveReqVO {
//==========扩展属性=============== //==========扩展属性===============
@Schema(description = "上传文件列表") @Schema(description = "上传文件列表")
private List<UploadFileVo> files; private List<UploadFileVo> files;
@Schema(description = "删除的文件id")
private List<Long> deleteFileIdList;
} }

View File

@@ -2,6 +2,7 @@ package com.zt.plat.module.qms.resource.clientManage.service;
import cn.hutool.core.collection.CollUtil; import cn.hutool.core.collection.CollUtil;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; 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.VersionManagementConst;
import com.zt.plat.module.qms.resource.clientManage.controller.vo.VersionManagementPageReqVO; 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.VersionManagementRespVO;
@@ -37,8 +38,10 @@ public class VersionManagementServiceImpl implements VersionManagementService {
@Resource @Resource
private VersionManagementMapper versionManagementMapper; private VersionManagementMapper versionManagementMapper;
@Resource private BusinessFileService businessFileService;
@Override @Override
@Transactional(rollbackFor = Exception.class)
public VersionManagementRespVO createVersionManagement(VersionManagementSaveReqVO createReqVO) { public VersionManagementRespVO createVersionManagement(VersionManagementSaveReqVO createReqVO) {
//多条数据取第一条 //多条数据取第一条
@@ -53,6 +56,7 @@ public class VersionManagementServiceImpl implements VersionManagementService {
} }
@Override @Override
@Transactional(rollbackFor = Exception.class)
public void updateVersionManagement(VersionManagementSaveReqVO updateReqVO) { public void updateVersionManagement(VersionManagementSaveReqVO updateReqVO) {
// 校验存在 // 校验存在
validateVersionManagementExists(updateReqVO.getId()); validateVersionManagementExists(updateReqVO.getId());
@@ -61,6 +65,9 @@ public class VersionManagementServiceImpl implements VersionManagementService {
VersionManagementDO updateObj = BeanUtils.toBean(updateReqVO, VersionManagementDO.class); VersionManagementDO updateObj = BeanUtils.toBean(updateReqVO, VersionManagementDO.class);
// updateObj.setUpdater(String.valueOf(SecurityFrameworkUtils.getLoginUser().getId())); // updateObj.setUpdater(String.valueOf(SecurityFrameworkUtils.getLoginUser().getId()));
versionManagementMapper.updateById(updateObj); versionManagementMapper.updateById(updateObj);
businessFileService.deleteBusinessFileList(updateReqVO.getDeleteFileIdList());
} }
//处理附件参数 //处理附件参数