Browse Source

feat:投诉举报修改和删除接入综合查询

feature/tsjb-1.0
buaixuexideshitongxue 4 weeks ago
parent
commit
96cd62226c
  1. 7
      src/main/java/com/biutag/supervision/controller/data/ComplaintCollectionController.java
  2. 5
      src/main/java/com/biutag/supervision/pojo/param/ComplaintCollection/ComplaintCollectionQueryParam.java
  3. 7
      src/main/java/com/biutag/supervision/pojo/request/complaintCollection/ComplaintCollectionDelRequest.java
  4. 32
      src/main/java/com/biutag/supervision/pojo/request/complaintCollection/ComplaintCollectionDetailRequest.java
  5. 13
      src/main/java/com/biutag/supervision/pojo/vo/NegativeQueryVo.java
  6. 85
      src/main/java/com/biutag/supervision/pojo/vo/complaintCollection/ComplaintCollectionDetailVo.java
  7. 1
      src/main/java/com/biutag/supervision/repository/complaintCollection/ComplaintCollectionResourceService.java
  8. 9
      src/main/java/com/biutag/supervision/service/complaintCollection/ComplaintCollectionService.java
  9. 27
      src/main/java/com/biutag/supervision/service/complaintCollection/ComplaintCollectionServiceImpl.java

7
src/main/java/com/biutag/supervision/controller/data/ComplaintCollectionController.java

@ -5,6 +5,7 @@ import com.biutag.supervision.job.Job;
import com.biutag.supervision.pojo.Result; import com.biutag.supervision.pojo.Result;
import com.biutag.supervision.pojo.dto.complaintCollection.ComplaintCollectionPageDTO; import com.biutag.supervision.pojo.dto.complaintCollection.ComplaintCollectionPageDTO;
import com.biutag.supervision.pojo.request.complaintCollection.*; import com.biutag.supervision.pojo.request.complaintCollection.*;
import com.biutag.supervision.pojo.vo.complaintCollection.ComplaintCollectionDetailVo;
import com.biutag.supervision.pojo.vo.complaintCollection.ComplaintCollectionHandlerDataVo; import com.biutag.supervision.pojo.vo.complaintCollection.ComplaintCollectionHandlerDataVo;
import com.biutag.supervision.pojo.vo.complaintCollection.ComplaintCollectionMailRepeattVo; import com.biutag.supervision.pojo.vo.complaintCollection.ComplaintCollectionMailRepeattVo;
import com.biutag.supervision.pojo.vo.complaintCollection.ComplaintCollectionWatchDetailVO; import com.biutag.supervision.pojo.vo.complaintCollection.ComplaintCollectionWatchDetailVO;
@ -104,5 +105,11 @@ public class ComplaintCollectionController {
return complaintCollectionService.initialReview(request); return complaintCollectionService.initialReview(request);
} }
@Operation(description = "查询详情(用于修改弹窗回显)")
@PostMapping("/getComplaintCollectionDetail")
public Result<ComplaintCollectionDetailVo> getComplaintCollectionDetail(@RequestBody ComplaintCollectionDetailRequest request){
return complaintCollectionService.getComplaintCollectionDetail(request);
}
} }

5
src/main/java/com/biutag/supervision/pojo/param/ComplaintCollection/ComplaintCollectionQueryParam.java

@ -118,6 +118,11 @@ public class ComplaintCollectionQueryParam extends BasePage {
private List<LocalDateTime> createTimeList = new ArrayList<>(); private List<LocalDateTime> createTimeList = new ArrayList<>();
@Schema(description = "问题ID")
private String negativeId;
@Schema(description = "问题IDs")
private List<String> negativeIds;
// @Schema(description = "部门ID集合") // @Schema(description = "部门ID集合")
// private Set<String> secondDepartIds; // private Set<String> secondDepartIds;

7
src/main/java/com/biutag/supervision/pojo/request/complaintCollection/ComplaintCollectionDelRequest.java

@ -21,10 +21,13 @@ public class ComplaintCollectionDelRequest implements ParamChecked {
@Schema(description = "ComplaintCollection自己的Id") @Schema(description = "ComplaintCollection自己的Id")
private String id; private String id;
@Schema(description = "问题id")
private String negativeId;
@Override @Override
public void check() { public void check() {
if (StrUtil.isBlank(id)) { if (StrUtil.isBlank(id) && StrUtil.isBlank(negativeId)) {
throw new IllegalArgumentException("编号不能为空"); throw new IllegalArgumentException("投诉举报id和问题id不能同时为空");
} }
} }

32
src/main/java/com/biutag/supervision/pojo/request/complaintCollection/ComplaintCollectionDetailRequest.java

@ -0,0 +1,32 @@
package com.biutag.supervision.pojo.request.complaintCollection;
import cn.hutool.core.util.StrUtil;
import com.biutag.supervision.aop.ParamChecked;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Getter;
import lombok.Setter;
/**
* @ClassName ComplaintCollectionDetailRequest
* @Description 涉访涉诉详情查询请求
* @Author system
* @Date 2026/04/08
*/
@Setter
@Getter
@Schema(description = "涉访涉诉详情查询请求")
public class ComplaintCollectionDetailRequest implements ParamChecked {
@Schema(description = "投诉举报主键ID")
private String id;
@Schema(description = "问题id")
private String negativeId;
@Override
public void check() {
if (StrUtil.isBlank(id) && StrUtil.isBlank(negativeId)) {
throw new IllegalArgumentException("投诉举报主键ID和问题ID不能同时空");
}
}
}

13
src/main/java/com/biutag/supervision/pojo/vo/NegativeQueryVo.java

@ -226,4 +226,17 @@ public class NegativeQueryVo {
@TableField("first_approve_time") @TableField("first_approve_time")
private Long firstApproveTime; private Long firstApproveTime;
/**
* @see com.biutag.supervision.pojo.enums.negative.NegativeSourceTypeEnum
*/
@Schema(description = "来源类型")
private String sourceType;
/**
* @see com.biutag.supervision.pojo.enums.negative.NegativeSourceTypeEnum
*/
@Schema(description = "来源类型名称")
private String sourceTypeDesc;
} }

85
src/main/java/com/biutag/supervision/pojo/vo/complaintCollection/ComplaintCollectionDetailVo.java

@ -0,0 +1,85 @@
package com.biutag.supervision.pojo.vo.complaintCollection;
import com.biutag.supervision.pojo.vo.FileVo;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import java.time.LocalDateTime;
import java.util.List;
/**
* @ClassName ComplaintCollectionDetailVo
* @Description 涉访涉诉详情查询响应VO用于修改弹窗数据回显
* @Author system
* @Date 2026/04/08
*/
@Data
@Schema(description = "涉访涉诉详情查询响应VO(用于修改弹窗数据回显)")
public class ComplaintCollectionDetailVo {
@Schema(description = "主键ID")
private String id;
@Schema(description = "来源表类型")
private String sourceTable;
@Schema(description = "来源子类型")
private String sourceTableSubOne;
@Schema(description = "编号")
private String originId;
@Schema(description = "登记/受理时间")
private LocalDateTime discoveryTime;
@Schema(description = "来件人姓名")
private String responderName;
@Schema(description = "身份证号")
private String responderIdCode;
@Schema(description = "联系电话")
private String responderPhone;
@Schema(description = "被投诉二级机构ID")
private String secondDepartId;
@Schema(description = "被投诉二级机构名称")
private String secondDepartName;
@Schema(description = "来件内容")
private String thingDesc;
@Schema(description = "涉嫌问题(逗号分隔)")
private String involveProblem;
@Schema(description = "涉嫌问题ID列表")
private List<String> involveProblemIdList;
@Schema(description = "是否重复件")
private String repeatt;
@Schema(description = "是否领导审批")
private String leadApproval;
@Schema(description = "标签(逗号分隔)")
private String tag;
@Schema(description = "标签列表")
private List<String> tags;
@Schema(description = "办理方式")
private String handleMethod;
@Schema(description = "业务类型code")
private String businessTypeCode;
@Schema(description = "业务类型name")
private String businessTypeName;
@Schema(description = "附件列表")
private List<FileVo> thingFiles;
@Schema(description = "问题ID(negative表)")
private String negativeId;
}

1
src/main/java/com/biutag/supervision/repository/complaintCollection/ComplaintCollectionResourceService.java

@ -40,6 +40,7 @@ public class ComplaintCollectionResourceService extends BaseDAO {
setBatchQuery(param.getId(), param.getIds(), queryWrapper, ComplaintCollection::getId); setBatchQuery(param.getId(), param.getIds(), queryWrapper, ComplaintCollection::getId);
setBatchQuery(param.getResponderIdCode(), param.getResponderIdCodes(), queryWrapper, ComplaintCollection::getResponderIdCode); setBatchQuery(param.getResponderIdCode(), param.getResponderIdCodes(), queryWrapper, ComplaintCollection::getResponderIdCode);
setBatchQuery(param.getOriginId(), param.getOriginIds(), queryWrapper, ComplaintCollection::getOriginId); setBatchQuery(param.getOriginId(), param.getOriginIds(), queryWrapper, ComplaintCollection::getOriginId);
setBatchQuery(param.getNegativeId(), param.getNegativeIds(), queryWrapper, ComplaintCollection::getNegativeId);
queryWrapper.eq(StrUtil.isNotBlank(param.getSourceTable()), ComplaintCollection::getSourceTable, param.getSourceTable()); queryWrapper.eq(StrUtil.isNotBlank(param.getSourceTable()), ComplaintCollection::getSourceTable, param.getSourceTable());
queryWrapper.eq(StrUtil.isNotBlank(param.getResponderName()), ComplaintCollection::getResponderName, param.getResponderName()); queryWrapper.eq(StrUtil.isNotBlank(param.getResponderName()), ComplaintCollection::getResponderName, param.getResponderName());
queryWrapper.eq(StrUtil.isNotBlank(param.getResponderPhone()), ComplaintCollection::getResponderPhone, param.getResponderPhone()); queryWrapper.eq(StrUtil.isNotBlank(param.getResponderPhone()), ComplaintCollection::getResponderPhone, param.getResponderPhone());

9
src/main/java/com/biutag/supervision/service/complaintCollection/ComplaintCollectionService.java

@ -4,9 +4,9 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.biutag.supervision.pojo.Result; import com.biutag.supervision.pojo.Result;
import com.biutag.supervision.pojo.dto.complaintCollection.ComplaintCollectionPageDTO; import com.biutag.supervision.pojo.dto.complaintCollection.ComplaintCollectionPageDTO;
import com.biutag.supervision.pojo.request.complaintCollection.*; import com.biutag.supervision.pojo.request.complaintCollection.*;
import com.biutag.supervision.pojo.vo.complaintCollection.ComplaintCollectionDetailVo;
import com.biutag.supervision.pojo.vo.complaintCollection.ComplaintCollectionHandlerDataVo; import com.biutag.supervision.pojo.vo.complaintCollection.ComplaintCollectionHandlerDataVo;
import com.biutag.supervision.pojo.vo.complaintCollection.ComplaintCollectionMailRepeattVo; import com.biutag.supervision.pojo.vo.complaintCollection.ComplaintCollectionMailRepeattVo;
import com.biutag.supervision.pojo.vo.complaintCollection.ComplaintCollectionPageVo;
import com.biutag.supervision.pojo.vo.complaintCollection.ComplaintCollectionWatchDetailVO; import com.biutag.supervision.pojo.vo.complaintCollection.ComplaintCollectionWatchDetailVO;
import jakarta.servlet.http.HttpServletResponse; import jakarta.servlet.http.HttpServletResponse;
@ -94,4 +94,11 @@ public interface ComplaintCollectionService {
* @return * @return
*/ */
Result<Boolean> initialReview(ComplaintCollectionInitialReviewRequest request); Result<Boolean> initialReview(ComplaintCollectionInitialReviewRequest request);
/**
* 查询详情用于修改弹窗数据回显
* @param request
* @return
*/
Result<ComplaintCollectionDetailVo> getComplaintCollectionDetail(ComplaintCollectionDetailRequest request);
} }

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

@ -45,6 +45,7 @@ import com.biutag.supervision.pojo.param.complaintCollectionFile.ComplaintCollec
import com.biutag.supervision.pojo.request.complaintCollection.*; import com.biutag.supervision.pojo.request.complaintCollection.*;
import com.biutag.supervision.pojo.transfer.ComplaintCollectionTransfer; import com.biutag.supervision.pojo.transfer.ComplaintCollectionTransfer;
import com.biutag.supervision.pojo.vo.FileVo; import com.biutag.supervision.pojo.vo.FileVo;
import com.biutag.supervision.pojo.vo.complaintCollection.ComplaintCollectionDetailVo;
import com.biutag.supervision.pojo.vo.complaintCollection.ComplaintCollectionHandlerDataVo; import com.biutag.supervision.pojo.vo.complaintCollection.ComplaintCollectionHandlerDataVo;
import com.biutag.supervision.pojo.vo.complaintCollection.ComplaintCollectionMailRepeattVo; import com.biutag.supervision.pojo.vo.complaintCollection.ComplaintCollectionMailRepeattVo;
import com.biutag.supervision.pojo.vo.complaintCollection.ComplaintCollectionWatchDetailVO; import com.biutag.supervision.pojo.vo.complaintCollection.ComplaintCollectionWatchDetailVO;
@ -152,6 +153,7 @@ public class ComplaintCollectionServiceImpl implements ComplaintCollectionServic
public Result<Boolean> delComplaintCollection(ComplaintCollectionDelRequest request) { public Result<Boolean> delComplaintCollection(ComplaintCollectionDelRequest request) {
ComplaintCollectionQueryParam param = new ComplaintCollectionQueryParam(); ComplaintCollectionQueryParam param = new ComplaintCollectionQueryParam();
param.setId(request.getId()); param.setId(request.getId());
param.setNegativeId(request.getNegativeId());
List<ComplaintCollection> query = complaintCollectionResourceService.query(param); List<ComplaintCollection> query = complaintCollectionResourceService.query(param);
if (CollectionUtil.isEmpty(query)) { if (CollectionUtil.isEmpty(query)) {
throw new IllegalStateException("未找到可删除信息" + request.getId()); throw new IllegalStateException("未找到可删除信息" + request.getId());
@ -161,7 +163,7 @@ public class ComplaintCollectionServiceImpl implements ComplaintCollectionServic
} }
// 鉴权 // 鉴权
checkDeletePermission(query.get(0)); checkDeletePermission(query.get(0));
boolean deleted = complaintCollectionResourceService.deleteById(request.getId()); boolean deleted = complaintCollectionResourceService.deleteById(query.get(0).getId());
if (!deleted) { if (!deleted) {
throw new RuntimeException("删除失败"); throw new RuntimeException("删除失败");
} }
@ -611,6 +613,29 @@ public class ComplaintCollectionServiceImpl implements ComplaintCollectionServic
return Result.success(Boolean.TRUE); return Result.success(Boolean.TRUE);
} }
@Override
public Result<ComplaintCollectionDetailVo> getComplaintCollectionDetail(ComplaintCollectionDetailRequest request) {
// 1. 查询主表数据
ComplaintCollectionQueryParam queryParam = new ComplaintCollectionQueryParam();
queryParam.setId(request.getId());
queryParam.setNegativeId(request.getNegativeId());
List<ComplaintCollection> query = complaintCollectionResourceService.query(queryParam);
if (CollectionUtil.isEmpty(query)) {
throw new NoSuchElementException("未找到对应投诉举报数据,id:" + request.getId());
}
ComplaintCollection complaintCollection = query.get(0);
// 2. 转换为 VO
ComplaintCollectionDetailVo vo = new ComplaintCollectionDetailVo();
BeanUtil.copyProperties(complaintCollection, vo);
// 转换 involveProblem 为列表
vo.setInvolveProblemIdList(StrUtil.isBlank(complaintCollection.getInvolveProblem())
? new ArrayList<>() : Arrays.asList(complaintCollection.getInvolveProblem().split("[,,]")));
// 转换 tag 为列表
vo.setTags(StrUtil.isBlank(complaintCollection.getTag())
? new ArrayList<>() : Arrays.asList(complaintCollection.getTag().split("[,,]")));
return Result.success(vo);
}
private List<ComplaintCollectionExcelDTO> buildComplaintCollectionExcelDTO(List<ComplaintCollectionPageDTO> complaintCollectionPageDTOS) { private List<ComplaintCollectionExcelDTO> buildComplaintCollectionExcelDTO(List<ComplaintCollectionPageDTO> complaintCollectionPageDTOS) {
List<ComplaintCollectionExcelDTO> res = new ArrayList<>(); List<ComplaintCollectionExcelDTO> res = new ArrayList<>();
DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss"); DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");

Loading…
Cancel
Save