Browse Source

feat:投诉举报接入问题下发流程后初核接口实现

feature/tsjb-1.0
buaixuexideshitongxue 1 month ago
parent
commit
6b6295b328
  1. 10
      src/main/java/com/biutag/supervision/controller/data/ComplaintCollectionController.java
  2. 13
      src/main/java/com/biutag/supervision/pojo/entity/ComplaintCollection.java
  3. 9
      src/main/java/com/biutag/supervision/pojo/param/ComplaintCollection/ComplaintCollectionUpdateParam.java
  4. 36
      src/main/java/com/biutag/supervision/pojo/request/complaintCollection/ComplaintCollectionInitialReviewRequest.java
  5. 7
      src/main/java/com/biutag/supervision/pojo/transfer/ComplaintCollectionTransfer.java
  6. 3
      src/main/java/com/biutag/supervision/repository/complaintCollection/ComplaintCollectionResourceService.java
  7. 7
      src/main/java/com/biutag/supervision/service/complaintCollection/ComplaintCollectionService.java
  8. 26
      src/main/java/com/biutag/supervision/service/complaintCollection/ComplaintCollectionServiceImpl.java
  9. 104
      src/main/java/com/biutag/supervision/util/CheckUtil.java

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

@ -69,6 +69,7 @@ public class ComplaintCollectionController {
return complaintCollectionService.getComplaintCollectionPage(request);
}
@Deprecated
@Operation(description = "办理")
@PostMapping("/addComplaintCollectionBlame")
public Result<Boolean> addComplaintCollectionBlame(@RequestBody ComplaintCollectionAndBlameAddRequest request){
@ -101,6 +102,7 @@ public class ComplaintCollectionController {
complaintCollectionService.exportData(request, response);
}
@Deprecated
@Operation(description = "办理页面临时保存")
@PostMapping("/saveInvolveJson")
public Result<Boolean> saveInvolveJson(@RequestBody ComplaintCollectionSaveInvolveJsonRequest request){
@ -113,4 +115,12 @@ public class ComplaintCollectionController {
return complaintCollectionService.forceTermination(request);
}
@Operation(description = "初核反馈")
@PostMapping("/initialReview")
public Result<Boolean> initialReview(@RequestBody ComplaintCollectionInitialReviewRequest request){
return complaintCollectionService.initialReview(request);
}
}

13
src/main/java/com/biutag/supervision/pojo/entity/ComplaintCollection.java

@ -372,5 +372,18 @@ public class ComplaintCollection {
@TableField("status")
private String status;
@Schema(description = "初核工作开展情况")
@TableField("init_work_des")
private String initWorkDes;
@Schema(description = "初核发现的问题及下步工作计划")
@TableField("init_problem_plan")
private String initProblemPlan;
@Schema(description = "初核结论")
@TableField("init_verdict")
private String initVerdict;
}

9
src/main/java/com/biutag/supervision/pojo/param/ComplaintCollection/ComplaintCollectionUpdateParam.java

@ -151,4 +151,13 @@ public class ComplaintCollectionUpdateParam {
@Schema(description = "初核状态, gwf3承接")
private String gwf3;
@Schema(description = "初核工作开展情况")
private String initWorkDes;
@Schema(description = "初核发现的问题及下步工作计划")
private String initProblemPlan;
@Schema(description = "初核结论")
private String initVerdict;
}

36
src/main/java/com/biutag/supervision/pojo/request/complaintCollection/ComplaintCollectionInitialReviewRequest.java

@ -0,0 +1,36 @@
package com.biutag.supervision.pojo.request.complaintCollection;
import com.biutag.supervision.aop.ParamChecked;
import com.biutag.supervision.util.CheckUtil;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Getter;
import lombok.Setter;
@Setter
@Getter
@Schema(description = "初核请求")
public class ComplaintCollectionInitialReviewRequest implements ParamChecked {
@Schema(description = "涉访涉诉编号id")
private String complaintId;
@Schema(description = "初核工作开展情况")
private String initWorkDes;
@Schema(description = "初核发现的问题及下步工作计划")
private String initProblemPlan;
@Schema(description = "初核结论")
private String initVerdict;
@Override
public void check() {
CheckUtil.checkNotBlank(complaintId, "涉访涉诉id不能为空");
CheckUtil.checkNotBlank(initWorkDes, "初核工作开展情况不能为空");
CheckUtil.checkNotBlank(initProblemPlan, "初核发现的问题及下步工作计划不能为空");
CheckUtil.checkNotBlank(initVerdict, "初核结论不能为空");
}
}

7
src/main/java/com/biutag/supervision/pojo/transfer/ComplaintCollectionTransfer.java

@ -9,10 +9,7 @@ import com.biutag.supervision.pojo.entity.ComplaintCollectionCheckFile;
import com.biutag.supervision.pojo.entity.ComplaintCollectionFile;
import com.biutag.supervision.pojo.param.ComplaintCollection.ComplaintCollectionQueryParam;
import com.biutag.supervision.pojo.param.ComplaintCollection.ComplaintCollectionUpdateParam;
import com.biutag.supervision.pojo.request.complaintCollection.ComplaintCollectionAddRequest;
import com.biutag.supervision.pojo.request.complaintCollection.ComplaintCollectionPageRequest;
import com.biutag.supervision.pojo.request.complaintCollection.ComplaintCollectionSaveInvolveJsonRequest;
import com.biutag.supervision.pojo.request.complaintCollection.ComplaintCollectionUpdateRequest;
import com.biutag.supervision.pojo.request.complaintCollection.*;
import com.biutag.supervision.pojo.vo.FileVo;
import com.biutag.supervision.pojo.vo.complaintCollection.ComplaintCollectionPageVo;
import com.biutag.supervision.pojo.vo.complaintCollection.ComplaintCollectionWatchDetailVO;
@ -67,6 +64,8 @@ public interface ComplaintCollectionTransfer {
List<FileVo> complaintCollectionCheckFileToFileVo(List<ComplaintCollectionCheckFile> complaintCollectionCheckFiles);
ComplaintCollectionUpdateParam InitialReviewToUpdateParam(ComplaintCollectionInitialReviewRequest request);
// List<Blame> complaintCollectionBlamesToBlames(List<ComplaintCollectionBlame> pseronalList);

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

@ -232,6 +232,9 @@ public class ComplaintCollectionResourceService extends BaseDAO {
}
uw.set(ComplaintCollection::getUpdateBy, UserContextHolder.getCurrentUser().getUserName());
uw.set(ComplaintCollection::getUpdateTime, LocalDateTime.now());
uw.set(StrUtil.isNotBlank(param.getInitWorkDes()), ComplaintCollection::getInitWorkDes, param.getInitWorkDes());
uw.set(StrUtil.isNotBlank(param.getInitProblemPlan()), ComplaintCollection::getInitProblemPlan, param.getInitProblemPlan());
uw.set(StrUtil.isNotBlank(param.getInitVerdict()), ComplaintCollection::getInitVerdict, param.getInitVerdict());
if (uw.getExpression() == null || uw.getExpression().getSqlSegment().isEmpty()) {
throw new IllegalStateException("更新条件不能为空,防止全表更新");
}

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

@ -96,4 +96,11 @@ public interface ComplaintCollectionService {
* @return
*/
Result<Boolean> forceTermination(ComplaintCollectionForceTerminationRequest request);
/**
* 初核反馈
* @param request
* @return
*/
Result<Boolean> initialReview(ComplaintCollectionInitialReviewRequest request);
}

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

@ -54,6 +54,7 @@ import com.biutag.supervision.repository.complaintCollectionFile.ComplaintCollec
import com.biutag.supervision.repository.dataCaseVerif.DataCaseVerifResourceService;
import com.biutag.supervision.repository.dataPetitionComplaint.DataPetitionComplaintResourceService;
import com.biutag.supervision.repository.mail.MailResourceService;
import com.biutag.supervision.repository.negative.NegativeResourceService;
import com.biutag.supervision.repository.supPolice.SupPoliceResourceService;
import com.biutag.supervision.repository.supdepart.SupDepartResourceService;
import com.biutag.supervision.service.*;
@ -96,6 +97,7 @@ public class ComplaintCollectionServiceImpl implements ComplaintCollectionServic
private final ComplaintCollectionBlameResourceService complaintCollectionBlameResourceService;
private final SupDictDataService dictDataService;
private final NegativeService negativeService;
private final NegativeResourceService negativeResourceService;
private final NegativeThingFileService thingFileService;
private final SupDepartService departService;
private final SupDepartResourceService supDepartResourceService;
@ -856,6 +858,30 @@ public class ComplaintCollectionServiceImpl implements ComplaintCollectionServic
return res;
}
@Override
public Result<Boolean> initialReview(ComplaintCollectionInitialReviewRequest request) {
ComplaintCollectionUpdateParam updateParam = ComplaintCollectionTransfer.INSTANCE.InitialReviewToUpdateParam(request);
// 找到信件
ComplaintCollectionQueryParam complaintCollectionQueryParam = new ComplaintCollectionQueryParam();
complaintCollectionQueryParam.setId(request.getComplaintId());
List<ComplaintCollection> complaintCollectionList = complaintCollectionResourceService.query(complaintCollectionQueryParam);
if (CollectionUtil.isEmpty(complaintCollectionList)) {
throw new IllegalArgumentException(String.format("未找到对应投诉举报数据,编号%s",request.getComplaintId()));
}
// 初核计算
ComplaintCollection complaintCollection = complaintCollectionList.get(0);
long maxSeconds = CHECK_LIMIT_DAYS * TimeUtil.SECONDS_OF_A_DAY;
long remainingAtInitial = TimeUtil.getRemainingDuration(complaintCollection.getCreateTime(), LocalDateTime.now(), maxSeconds);
String initialReviewStatus = (remainingAtInitial < 0) ?
ComplaintCollectionInitialEnum.TIMEOUT_UPLOAD.getCode() : ComplaintCollectionInitialEnum.UPLOADED.getCode();
updateParam.setId(request.getComplaintId());
updateParam.setGwf2(LocalDateTime.now().format(INITIAL_REVIEW_FMT));
updateParam.setGwf3(initialReviewStatus);
complaintCollectionResourceService.updateSelectiveById(updateParam);
return Result.success(Boolean.TRUE);
}
private List<ComplaintCollectionExcelDTO> buildComplaintCollectionExcelDTO(List<ComplaintCollectionPageDTO> complaintCollectionPageDTOS) {
List<ComplaintCollectionExcelDTO> res = new ArrayList<>();
DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");

104
src/main/java/com/biutag/supervision/util/CheckUtil.java

@ -0,0 +1,104 @@
package com.biutag.supervision.util;
import cn.hutool.core.util.StrUtil;
/**
* 参数校验工具类
* 用于统一校验请求参数中的字符串校验失败抛出 IllegalArgumentException
*/
public class CheckUtil {
/**
* 校验字符串不能为 null 或纯空白字符
*
* @param str 待校验字符串
* @param message 异常信息
* @throws IllegalArgumentException 如果字符串为 null 或空白
*/
public static void checkNotBlank(String str, String message) {
if (StrUtil.isBlank(str)) {
throw new IllegalArgumentException(message);
}
}
/**
* 校验字符串不能为 null允许空字符串
*
* @param str 待校验字符串
* @param message 异常信息
* @throws IllegalArgumentException 如果字符串为 null
*/
public static void checkNotNull(String str, String message) {
if (str == null) {
throw new IllegalArgumentException(message);
}
}
/**
* 校验字符串长度不能超过指定最大值
*
* @param str 待校验字符串
* @param max 最大长度
* @param message 异常信息
* @throws IllegalArgumentException 如果字符串长度超过 max
*/
public static void checkMaxLength(String str, int max, String message) {
if (str != null && str.length() > max) {
throw new IllegalArgumentException(message);
}
}
/**
* 校验字符串长度不能小于指定最小值
*
* @param str 待校验字符串
* @param min 最小长度
* @param message 异常信息
* @throws IllegalArgumentException 如果字符串长度小于 min
*/
public static void checkMinLength(String str, int min, String message) {
if (str != null && str.length() < min) {
throw new IllegalArgumentException(message);
}
}
/**
* 校验字符串长度必须在指定范围内
*
* @param str 待校验字符串
* @param min 最小长度包含
* @param max 最大长度包含
* @param message 异常信息
* @throws IllegalArgumentException 如果字符串长度不在 [min, max] 范围内
*/
public static void checkLengthRange(String str, int min, int max, String message) {
if (str != null && (str.length() < min || str.length() > max)) {
throw new IllegalArgumentException(message);
}
}
/**
* 校验多个字符串是否全部为 null 或纯空白字符即全部为空
* 如果全部为空则抛出 IllegalArgumentException
*
* @param message 异常信息
* @param strings 待校验的字符串数组
* @throws IllegalArgumentException 如果所有字符串均为 null 或空白
*/
public static void checkNotAllBlank(String message, String... strings) {
if (strings == null || strings.length == 0) {
throw new IllegalArgumentException(message);
}
boolean allBlank = true;
for (String str : strings) {
if (StrUtil.isNotBlank(str)) {
allBlank = false;
break;
}
}
if (allBlank) {
throw new IllegalArgumentException(message);
}
}
}
Loading…
Cancel
Save