Browse Source

涉访涉诉--修改时修改附件

master
buaixuexideshitongxue 1 month ago
parent
commit
86d8d63d69
  1. 4
      src/main/java/com/biutag/supervision/pojo/request/complaintCollection/ComplaintCollectionUpdateRequest.java
  2. 11
      src/main/java/com/biutag/supervision/repository/complaintCollectionFile/ComplaintCollectionFileResourceService.java
  3. 56
      src/main/java/com/biutag/supervision/service/complaintCollection/ComplaintCollectionServiceImpl.java

4
src/main/java/com/biutag/supervision/pojo/request/complaintCollection/ComplaintCollectionUpdateRequest.java

@ -4,11 +4,13 @@ import cn.hutool.core.collection.CollectionUtil;
import cn.hutool.core.util.IdcardUtil;
import cn.hutool.core.util.StrUtil;
import com.biutag.supervision.aop.ParamChecked;
import com.biutag.supervision.pojo.vo.FileVo;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Getter;
import lombok.Setter;
import java.time.LocalDateTime;
import java.util.ArrayList;
import java.util.List;
@Schema(description = "涉访涉诉修改请求")
@ -70,6 +72,8 @@ public class ComplaintCollectionUpdateRequest implements ParamChecked {
@Schema(description = "业务类型name")
private String businessTypeName;
@Schema(description = "附件列表")
private List<FileVo> thingFiles = new ArrayList<>();
@Override
public void check() {
if (StrUtil.isBlank(id)) {

11
src/main/java/com/biutag/supervision/repository/complaintCollectionFile/ComplaintCollectionFileResourceService.java

@ -8,6 +8,7 @@ import com.biutag.supervision.pojo.entity.ComplaintCollectionFile;
import com.biutag.supervision.pojo.param.complaintCollectionFile.ComplaintCollectionFileQueryParam;
import com.biutag.supervision.repository.base.BaseDAO;
import jakarta.annotation.Resource;
import jakarta.validation.ValidationException;
import org.springframework.stereotype.Service;
import java.util.HashMap;
@ -57,4 +58,14 @@ public class ComplaintCollectionFileResourceService extends BaseDAO {
public boolean delByComplaintCollectionId(String complaintCollectionId) {
if (StrUtil.isBlank(complaintCollectionId)) {
throw new ValidationException("complaintCollectionId不能为空");
}
LambdaQueryWrapper<ComplaintCollectionFile> qw = new LambdaQueryWrapper<>();
qw.eq(ComplaintCollectionFile::getComplaintId, complaintCollectionId);
int rows = complaintCollectionFileMapper.delete(qw);
return rows >= 0;
}
}

56
src/main/java/com/biutag/supervision/service/complaintCollection/ComplaintCollectionServiceImpl.java

@ -101,23 +101,8 @@ public class ComplaintCollectionServiceImpl implements ComplaintCollectionServic
complaintCollection.setCreateTime(LocalDateTime.now());
complaintCollection.setCreateBy(UserContextHolder.getCurrentUser().getUserName());
Boolean res = complaintCollectionResourceService.createComplaintCollection(Arrays.asList(complaintCollection));
if (CollectionUtil.isNotEmpty(request.getThingFiles())) {
// 防御
Assert.notNull(complaintCollection.getId(), "主表插入后未获取到ID");
List<ComplaintCollectionFile> files = request.getThingFiles().stream().map(one -> {
ComplaintCollectionFile file = new ComplaintCollectionFile();
file.setComplaintId(complaintCollection.getId());
file.setFileName(one.getFileName());
file.setFilePath(one.getFilePath());
file.setCreateBy(UserContextHolder.getCurrentUser().getUserName());
file.setCreateTime(LocalDateTime.now());
return file;
}).toList();
boolean ok = complaintCollectionFileResourceService.createComplaintCollectionFile(files);
if (!ok) {
throw new ValidationException("附件保存失败");
}
}
Assert.notNull(complaintCollection.getId(), "主表插入后未获取到ID");
saveThingFilesOrThrow(complaintCollection.getId(), request.getThingFiles());
return Result.success(res);
}
@ -134,14 +119,19 @@ public class ComplaintCollectionServiceImpl implements ComplaintCollectionServic
throw new RuntimeException("目标信息状态不可删除");
}
boolean deleted = complaintCollectionResourceService.deleteById(request.getId());
if (!deleted){
throw new RuntimeException("删除失败");
}
return Result.success(true);
}
@Override
@Transactional(rollbackFor = Exception.class)
public Result<Boolean> updateComplaintCollection(ComplaintCollectionUpdateRequest request) {
String id = request.getId();
ComplaintCollectionExistParam existParam = new ComplaintCollectionExistParam();
existParam.setId(request.getId());
existParam.setId(id);
boolean exists = complaintCollectionResourceService.exists(existParam);
if (!exists) {
throw new NoSuchElementException("未找到可修改信息");
@ -165,6 +155,8 @@ public class ComplaintCollectionServiceImpl implements ComplaintCollectionServic
if (!ok) {
throw new RuntimeException("修改失败");
}
complaintCollectionFileResourceService.delByComplaintCollectionId(id);
saveThingFilesOrThrow(id, request.getThingFiles());
return Result.success(true);
}
@ -526,4 +518,32 @@ public class ComplaintCollectionServiceImpl implements ComplaintCollectionServic
return negative;
}
/**
* 保存附件
* @param complaintId
* @param thingFiles
*/
private void saveThingFilesOrThrow(String complaintId, List<FileVo> thingFiles) {
if (CollectionUtil.isEmpty(thingFiles)) {
return;
}
String userName = UserContextHolder.getCurrentUser().getUserName();
LocalDateTime now = LocalDateTime.now();
List<ComplaintCollectionFile> files = thingFiles.stream().map(one -> {
ComplaintCollectionFile file = new ComplaintCollectionFile();
file.setComplaintId(complaintId);
file.setFileName(one.getFileName());
file.setFilePath(one.getFilePath());
file.setCreateBy(userName);
file.setCreateTime(now);
return file;
}).toList();
boolean ok = complaintCollectionFileResourceService.createComplaintCollectionFile(files);
if (!ok) {
throw new ValidationException("附件保存失败");
}
}
}

Loading…
Cancel
Save