feat:通用附件上传和查看组件及示例
This commit is contained in:
@@ -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);
|
||||
}
|
||||
|
||||
}
|
||||
@@ -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<VersionManagementRespVO> createSystemVersionManagement(@Valid @RequestBody VersionManagementSaveReqVO createReqVO) {
|
||||
return success(systemVersionManagementService.createVersionManagement(createReqVO));
|
||||
}
|
||||
|
||||
@PutMapping("/update")
|
||||
@Operation(summary = "更新客户端版本管理")
|
||||
@PreAuthorize("@ss.hasPermission('qms:version-management:update')")
|
||||
public CommonResult<Boolean> updateSystemVersionManagement(@Valid @RequestBody VersionManagementSaveReqVO updateReqVO) {
|
||||
// @PreAuthorize("@ss.hasPermission('qms:version-management:update')")
|
||||
public CommonResult<VersionManagementRespVO> updateSystemVersionManagement(@Valid @RequestBody VersionManagementSaveReqVO updateReqVO) {
|
||||
systemVersionManagementService.updateVersionManagement(updateReqVO);
|
||||
return success(true);
|
||||
return success(BeanUtils.toBean(updateReqVO, VersionManagementRespVO.class));
|
||||
}
|
||||
|
||||
@DeleteMapping("/delete")
|
||||
@@ -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<VersionManagementRespVO> 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<PageResult<VersionManagementRespVO>> getSystemVersionManagementPage(@Valid VersionManagementPageReqVO pageReqVO) {
|
||||
PageResult<VersionManagementDO> pageResult = systemVersionManagementService.getVersionManagementPage(pageReqVO);
|
||||
return success(BeanUtils.toBean(pageResult, VersionManagementRespVO.class));
|
||||
|
||||
@@ -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<List<BusinessFileWithUrlRespDTO>> businessFileRet;
|
||||
|
||||
|
||||
|
||||
}
|
||||
@@ -71,4 +71,8 @@ public class VersionManagementSaveReqVO {
|
||||
//==========扩展属性===============
|
||||
@Schema(description = "上传文件列表")
|
||||
private List<UploadFileVo> files;
|
||||
|
||||
@Schema(description = "删除的文件id")
|
||||
private List<Long> deleteFileIdList;
|
||||
|
||||
}
|
||||
@@ -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());
|
||||
|
||||
}
|
||||
|
||||
//处理附件参数
|
||||
|
||||
Reference in New Issue
Block a user