08-20-修改删除供应商时,更新文件

This commit is contained in:
2025-08-20 10:56:17 +08:00
parent 5596631979
commit bd382a71bb
4 changed files with 25 additions and 7 deletions

View File

@ -39,9 +39,6 @@ public class TenderSupplierInputController extends BaseController {
private final ITenderSupplierInputService tenderSupplierInputService;
@Autowired
private ISysOssService ossService;
/**
* 查询供应商入库列表
*/
@ -70,7 +67,7 @@ public class TenderSupplierInputController extends BaseController {
@SaCheckPermission("supplierInput:supplierInput:query")
@GetMapping("/{id}")
public R<TenderSupplierInputVo> getInfo(@NotNull(message = "主键不能为空")
@PathVariable Long id) {
@PathVariable Long id) {
return R.ok(tenderSupplierInputService.queryById(id));
}
@ -93,7 +90,7 @@ public class TenderSupplierInputController extends BaseController {
@RepeatSubmit()
@PutMapping()
public R<Void> edit(TenderSupplierInputBo bo,@RequestPart("file") MultipartFile file) {
return toAjax(tenderSupplierInputService.updateByBo(bo));
return toAjax(tenderSupplierInputService.updateByBo(bo,file));
}
/**

View File

@ -32,6 +32,11 @@ public class TenderSupplierInput extends BaseEntity {
*/
private String supplierType;
/***
* 资料文件ID
*/
private Long fileId;
/**
* 入库资料
*/

View File

@ -59,7 +59,7 @@ public interface ITenderSupplierInputService extends IService<TenderSupplierInpu
* @param bo 供应商入库
* @return 是否修改成功
*/
Boolean updateByBo(TenderSupplierInputBo bo);
Boolean updateByBo(TenderSupplierInputBo bo,MultipartFile file);
/**
* 校验并批量删除供应商入库信息

View File

@ -21,6 +21,7 @@ import org.dromara.tender.mapper.TenderSupplierInputMapper;
import org.dromara.tender.service.ITenderSupplierInputService;
import org.springframework.web.multipart.MultipartFile;
import java.util.ArrayList;
import java.util.List;
import java.util.Map;
import java.util.Collection;
@ -98,6 +99,7 @@ public class TenderSupplierInputServiceImpl extends ServiceImpl<TenderSupplierIn
TenderSupplierInput add = MapstructUtils.convert(bo, TenderSupplierInput.class);
SysOssUploadVo sysOssUploadVo = ossService.uploadWithNoSave(file, ossService.minioFileName(SupplierInput, file));
add.setInputFile(sysOssUploadVo.getUrl());
add.setFileId(Long.valueOf(sysOssUploadVo.getOssId()));
validEntityBeforeSave(add);
boolean flag = baseMapper.insert(add) > 0;
if (flag) {
@ -113,8 +115,14 @@ public class TenderSupplierInputServiceImpl extends ServiceImpl<TenderSupplierIn
* @return 是否修改成功
*/
@Override
public Boolean updateByBo(TenderSupplierInputBo bo) {
public Boolean updateByBo(TenderSupplierInputBo bo,MultipartFile file) {
TenderSupplierInput update = MapstructUtils.convert(bo, TenderSupplierInput.class);
TenderSupplierInput byId = getById(update.getId());
ossService.deleteWithValidByIds(List.of(byId.getFileId()), false);
SysOssUploadVo sysOssUploadVo = ossService.uploadWithNoSave(file, ossService.minioFileName(SupplierInput, file));
update.setInputFile(sysOssUploadVo.getUrl());
update.setFileId(Long.valueOf(sysOssUploadVo.getOssId()));
validEntityBeforeSave(update);
return baseMapper.updateById(update) > 0;
}
@ -137,6 +145,14 @@ public class TenderSupplierInputServiceImpl extends ServiceImpl<TenderSupplierIn
public Boolean deleteWithValidByIds(Collection<Long> ids, Boolean isValid) {
if(isValid){
//TODO 做一些业务上的校验,判断是否需要校验
List<Long> fileIds = new ArrayList<>();
for (Long id : ids) {
TenderSupplierInput byId = getById(id);
if (byId.getFileId() != null){
fileIds.add(byId.getFileId());
}
}
ossService.deleteWithValidByIds(fileIds, false);
}
return baseMapper.deleteByIds(ids) > 0;
}