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;
|
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")
|
||||||
@@ -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));
|
||||||
|
|||||||
@@ -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;
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
@@ -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;
|
||||||
|
|
||||||
}
|
}
|
||||||
@@ -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());
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
//处理附件参数
|
//处理附件参数
|
||||||
|
|||||||
Reference in New Issue
Block a user