Browse Source

feat:投诉举报添加时信件合并

master
buaixuexideshitongxue 4 weeks ago
parent
commit
150afe0ef6
  1. 13
      src/main/java/com/biutag/supervision/controller/data/ComplaintCollectionController.java
  2. 3
      src/main/java/com/biutag/supervision/mapper/ComplaintCollectionMapper.java
  3. 5
      src/main/java/com/biutag/supervision/pojo/dto/complaintCollection/ComplaintCollectionPageDTO.java
  4. 4
      src/main/java/com/biutag/supervision/pojo/entity/ComplaintCollection.java
  5. 24
      src/main/java/com/biutag/supervision/pojo/param/ComplaintCollection/ComplaintCollectionRepeatQueryParam.java
  6. 3
      src/main/java/com/biutag/supervision/pojo/param/ComplaintCollection/ComplaintCollectionUpdateParam.java
  7. 6
      src/main/java/com/biutag/supervision/pojo/request/complaintCollection/ComplaintCollectionMailRepeattRequest.java
  8. 64
      src/main/java/com/biutag/supervision/pojo/request/complaintCollection/ComplaintCollectionMergeRequest.java
  9. 3
      src/main/java/com/biutag/supervision/pojo/vo/complaintCollection/ComplaintCollectionDetailVo.java
  10. 10
      src/main/java/com/biutag/supervision/repository/complaintCollection/ComplaintCollectionResourceService.java
  11. 14
      src/main/java/com/biutag/supervision/service/complaintCollection/ComplaintCollectionService.java
  12. 101
      src/main/java/com/biutag/supervision/service/complaintCollection/ComplaintCollectionServiceImpl.java
  13. 47
      src/main/resources/mapper/ComplaintCollectionMapper.xml

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

@ -9,6 +9,7 @@ import com.biutag.supervision.pojo.vo.complaintCollection.ComplaintCollectionDet
import com.biutag.supervision.pojo.vo.complaintCollection.ComplaintCollectionMailRepeattVo; import com.biutag.supervision.pojo.vo.complaintCollection.ComplaintCollectionMailRepeattVo;
import com.biutag.supervision.service.MailBoxCaptureService; import com.biutag.supervision.service.MailBoxCaptureService;
import com.biutag.supervision.service.complaintCollection.ComplaintCollectionService; import com.biutag.supervision.service.complaintCollection.ComplaintCollectionService;
import com.biutag.supervision.pojo.request.complaintCollection.ComplaintCollectionMergeRequest;
import io.swagger.v3.oas.annotations.Operation; import io.swagger.v3.oas.annotations.Operation;
import io.swagger.v3.oas.annotations.tags.Tag; import io.swagger.v3.oas.annotations.tags.Tag;
import jakarta.servlet.http.HttpServletResponse; import jakarta.servlet.http.HttpServletResponse;
@ -122,5 +123,17 @@ public class ComplaintCollectionController {
return complaintCollectionService.getComplaintCollectionDetail(request); return complaintCollectionService.getComplaintCollectionDetail(request);
} }
@Operation(description = "合并投诉记录")
@PostMapping("/mergeComplaintCollection")
public Result<Boolean> mergeComplaintCollection(@RequestBody ComplaintCollectionMergeRequest request){
return complaintCollectionService.mergeComplaintCollection(request);
}
@Operation(description = "查询合并历史")
@PostMapping("/getMergeHistory")
public Result<String> getMergeHistory(@RequestBody ComplaintCollectionDetailRequest request){
return complaintCollectionService.getMergeHistory(request);
}
} }

3
src/main/java/com/biutag/supervision/mapper/ComplaintCollectionMapper.java

@ -5,6 +5,7 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.biutag.supervision.pojo.dto.complaintCollection.ComplaintCollectionPageDTO; import com.biutag.supervision.pojo.dto.complaintCollection.ComplaintCollectionPageDTO;
import com.biutag.supervision.pojo.entity.ComplaintCollection; import com.biutag.supervision.pojo.entity.ComplaintCollection;
import com.biutag.supervision.pojo.param.ComplaintCollection.ComplaintCollectionQueryParam; import com.biutag.supervision.pojo.param.ComplaintCollection.ComplaintCollectionQueryParam;
import com.biutag.supervision.pojo.param.ComplaintCollection.ComplaintCollectionRepeatQueryParam;
import com.biutag.supervision.repository.base.HBaseMapper; import com.biutag.supervision.repository.base.HBaseMapper;
import org.apache.ibatis.annotations.Param; import org.apache.ibatis.annotations.Param;
@ -16,4 +17,6 @@ public interface ComplaintCollectionMapper extends HBaseMapper<ComplaintCollecti
IPage<ComplaintCollectionPageDTO> selectPageWithNegative(Page<ComplaintCollection> page, @Param("param") ComplaintCollectionQueryParam param); IPage<ComplaintCollectionPageDTO> selectPageWithNegative(Page<ComplaintCollection> page, @Param("param") ComplaintCollectionQueryParam param);
List<ComplaintCollectionPageDTO> selectForRepeatCheck(@Param("param") ComplaintCollectionRepeatQueryParam param);
} }

5
src/main/java/com/biutag/supervision/pojo/dto/complaintCollection/ComplaintCollectionPageDTO.java

@ -280,11 +280,9 @@ public class ComplaintCollectionPageDTO {
private Long remainingDuration; private Long remainingDuration;
@Schema(description = "初核工作开展情况") @Schema(description = "初核工作开展情况")
@TableField("init_work_des")
private String initWorkDes; private String initWorkDes;
@Schema(description = "初核发现的问题及下步工作计划") @Schema(description = "初核发现的问题及下步工作计划")
@TableField("init_problem_plan")
private String initProblemPlan; private String initProblemPlan;
/** /**
@ -292,8 +290,9 @@ public class ComplaintCollectionPageDTO {
* @see com.biutag.supervision.constants.enums.CheckStatusEnum * @see com.biutag.supervision.constants.enums.CheckStatusEnum
*/ */
@Schema(description = "初核结论") @Schema(description = "初核结论")
@TableField("init_verdict")
private String initVerdict; private String initVerdict;
@Schema(description = "合并历史 JSON")
private String mergeHistory;
} }

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

@ -399,4 +399,8 @@ public class ComplaintCollection {
@TableField("init_file") @TableField("init_file")
private String initFile; private String initFile;
@Schema(description = "合并历史 JSON")
@TableField("merge_history")
private String mergeHistory;
} }

24
src/main/java/com/biutag/supervision/pojo/param/ComplaintCollection/ComplaintCollectionRepeatQueryParam.java

@ -0,0 +1,24 @@
package com.biutag.supervision.pojo.param.ComplaintCollection;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Getter;
import lombok.Setter;
/**
* @ClassName ComplaintCollectionRepeatQueryParam
* @Description 涉访涉诉查重查询参数
*/
@Getter
@Setter
@Schema(description = "涉访涉诉查重查询参数")
public class ComplaintCollectionRepeatQueryParam {
@Schema(description = "投诉人身份证号")
private String responderIdCode;
@Schema(description = "投诉人姓名")
private String responderName;
@Schema(description = "投诉人电话")
private String responderPhone;
}

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

@ -170,4 +170,7 @@ public class ComplaintCollectionUpdateParam {
@Schema(description = "阶段2同步标记:0-未同步 1-已同步") @Schema(description = "阶段2同步标记:0-未同步 1-已同步")
private String blameSyncStatus; private String blameSyncStatus;
@Schema(description = "合并历史 JSON")
private String mergeHistory;
} }

6
src/main/java/com/biutag/supervision/pojo/request/complaintCollection/ComplaintCollectionMailRepeattRequest.java

@ -31,8 +31,8 @@ public class ComplaintCollectionMailRepeattRequest implements ParamChecked {
@Override @Override
public void check() { public void check() {
if (StrUtil.isAllBlank(responderIdCode, responderName, responderPhone)){ // if (StrUtil.isAllBlank(responderIdCode, responderName, responderPhone)){
throw new IllegalArgumentException("请至少填写一个查重信息(身份证、姓名、电话)"); // throw new IllegalArgumentException("请至少填写一个查重信息(身份证、姓名、电话)");
} // }
} }
} }

64
src/main/java/com/biutag/supervision/pojo/request/complaintCollection/ComplaintCollectionMergeRequest.java

@ -0,0 +1,64 @@
package com.biutag.supervision.pojo.request.complaintCollection;
import com.biutag.supervision.aop.ParamChecked;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Getter;
import lombok.Setter;
import java.time.LocalDateTime;
/**
* @ClassName ComplaintCollectionMergeRequest
* @Description 合并投诉记录请求
* @Author claude
* @Date 2026/5/25
*/
@Setter
@Getter
@Schema(description = "合并投诉记录请求")
public class ComplaintCollectionMergeRequest implements ParamChecked {
@Schema(description = "目标记录ID")
private String targetId;
// 步骤1字段(与 ComplaintCollectionAddRequest 一致)
@Schema(description = "来源表类型")
private String sourceTable;
@Schema(description = "来源类型子一级")
private String sourceTableSubOne;
@Schema(description = "编号")
private String originId;
@Schema(description = "受理时间")
private LocalDateTime discoveryTime;
@Schema(description = "业务类型code")
private String businessTypeCode;
@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 files;
@Override
public void check() {
}
}

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

@ -82,4 +82,7 @@ public class ComplaintCollectionDetailVo {
@Schema(description = "问题ID(negative表)") @Schema(description = "问题ID(negative表)")
private String negativeId; private String negativeId;
@Schema(description = "合并历史JSON")
private String mergeHistory;
} }

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

@ -4,13 +4,13 @@ import cn.hutool.core.collection.CollectionUtil;
import cn.hutool.core.util.StrUtil; import cn.hutool.core.util.StrUtil;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper; import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.biutag.supervision.common.UserContextHolder; import com.biutag.supervision.common.UserContextHolder;
import com.biutag.supervision.mapper.ComplaintCollectionMapper; import com.biutag.supervision.mapper.ComplaintCollectionMapper;
import com.biutag.supervision.pojo.dto.complaintCollection.ComplaintCollectionPageDTO;
import com.biutag.supervision.pojo.entity.ComplaintCollection; import com.biutag.supervision.pojo.entity.ComplaintCollection;
import com.biutag.supervision.pojo.param.ComplaintCollection.ComplaintCollectionExistParam; import com.biutag.supervision.pojo.param.ComplaintCollection.ComplaintCollectionExistParam;
import com.biutag.supervision.pojo.param.ComplaintCollection.ComplaintCollectionQueryParam; import com.biutag.supervision.pojo.param.ComplaintCollection.ComplaintCollectionQueryParam;
import com.biutag.supervision.pojo.param.ComplaintCollection.ComplaintCollectionRepeatQueryParam;
import com.biutag.supervision.pojo.param.ComplaintCollection.ComplaintCollectionUpdateParam; import com.biutag.supervision.pojo.param.ComplaintCollection.ComplaintCollectionUpdateParam;
import com.biutag.supervision.repository.base.BaseDAO; import com.biutag.supervision.repository.base.BaseDAO;
import jakarta.annotation.Resource; import jakarta.annotation.Resource;
@ -183,6 +183,7 @@ public class ComplaintCollectionResourceService extends BaseDAO {
uw.set(StrUtil.isNotBlank(param.getInitProblemPlan()), ComplaintCollection::getInitProblemPlan, param.getInitProblemPlan()); uw.set(StrUtil.isNotBlank(param.getInitProblemPlan()), ComplaintCollection::getInitProblemPlan, param.getInitProblemPlan());
uw.set(StrUtil.isNotBlank(param.getInitVerdict()), ComplaintCollection::getInitVerdict, param.getInitVerdict()); uw.set(StrUtil.isNotBlank(param.getInitVerdict()), ComplaintCollection::getInitVerdict, param.getInitVerdict());
uw.set(StrUtil.isNotBlank(param.getInitFile()), ComplaintCollection::getInitFile, param.getInitFile()); uw.set(StrUtil.isNotBlank(param.getInitFile()), ComplaintCollection::getInitFile, param.getInitFile());
uw.set(StrUtil.isNotBlank(param.getMergeHistory()), ComplaintCollection::getMergeHistory, param.getMergeHistory());
if (uw.getExpression() == null || uw.getExpression().getSqlSegment().isEmpty()) { if (uw.getExpression() == null || uw.getExpression().getSqlSegment().isEmpty()) {
throw new IllegalStateException("更新条件不能为空,防止全表更新"); throw new IllegalStateException("更新条件不能为空,防止全表更新");
} }
@ -231,4 +232,9 @@ public class ComplaintCollectionResourceService extends BaseDAO {
} }
public List<ComplaintCollectionPageDTO> queryForRepeatCheck(ComplaintCollectionRepeatQueryParam param) {
return complaintCollectionMapper.selectForRepeatCheck(param);
}
} }

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

@ -101,4 +101,18 @@ public interface ComplaintCollectionService {
* 参照 captureMayorMailbox 逻辑直接保存processingStatus=completed不触发下发流程 * 参照 captureMayorMailbox 逻辑直接保存processingStatus=completed不触发下发流程
*/ */
void migrateMayorMailboxNegative(ComplaintCollectionPageRequest request); void migrateMayorMailboxNegative(ComplaintCollectionPageRequest request);
/**
* 合并投诉记录
* @param request
* @return
*/
Result<Boolean> mergeComplaintCollection(ComplaintCollectionMergeRequest request);
/**
* 查询合并历史
* @param request
* @return
*/
Result<String> getMergeHistory(ComplaintCollectionDetailRequest request);
} }

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

@ -30,6 +30,7 @@ import com.biutag.supervision.pojo.enums.supDict.SupDictEnum;
import com.biutag.supervision.pojo.model.UserAuth; import com.biutag.supervision.pojo.model.UserAuth;
import com.biutag.supervision.pojo.param.ComplaintCollection.ComplaintCollectionExistParam; import com.biutag.supervision.pojo.param.ComplaintCollection.ComplaintCollectionExistParam;
import com.biutag.supervision.pojo.param.ComplaintCollection.ComplaintCollectionQueryParam; import com.biutag.supervision.pojo.param.ComplaintCollection.ComplaintCollectionQueryParam;
import com.biutag.supervision.pojo.param.ComplaintCollection.ComplaintCollectionRepeatQueryParam;
import com.biutag.supervision.pojo.param.ComplaintCollection.ComplaintCollectionUpdateParam; import com.biutag.supervision.pojo.param.ComplaintCollection.ComplaintCollectionUpdateParam;
import com.biutag.supervision.pojo.param.DataCaseVerifQueryParam; import com.biutag.supervision.pojo.param.DataCaseVerifQueryParam;
import com.biutag.supervision.pojo.param.DataPetitionComplaintQueryParam; import com.biutag.supervision.pojo.param.DataPetitionComplaintQueryParam;
@ -353,11 +354,11 @@ public class ComplaintCollectionServiceImpl implements ComplaintCollectionServic
@Override @Override
public Result<ComplaintCollectionMailRepeattVo> maileRepeatt(ComplaintCollectionMailRepeattRequest request) { public Result<ComplaintCollectionMailRepeattVo> maileRepeatt(ComplaintCollectionMailRepeattRequest request) {
List<ComplaintCollectionRepeatDTO> sfssList = buildSfss(request); List<ComplaintCollectionRepeatDTO> sfssList = buildSfss(request);
List<ComplaintCollectionRepeatDTO> xfsjList = buildXfsj(request); // List<ComplaintCollectionRepeatDTO> xfsjList = buildXfsj(request);
List<ComplaintCollectionRepeatDTO> ajhcList = buildAjhc(request); // List<ComplaintCollectionRepeatDTO> ajhcList = buildAjhc(request);
List<ComplaintCollectionRepeatDTO> jzxxList = buildJzxx(request); // List<ComplaintCollectionRepeatDTO> jzxxList = buildJzxx(request);
AtomicInteger seqNo = new AtomicInteger(1); AtomicInteger seqNo = new AtomicInteger(1);
List<ComplaintCollectionRepeatDTO> complaintCollectionRepeatDTOS = Stream.of(sfssList, xfsjList, ajhcList, jzxxList) List<ComplaintCollectionRepeatDTO> complaintCollectionRepeatDTOS = Stream.of(sfssList)
.flatMap(Collection::stream) .flatMap(Collection::stream)
.filter(dto -> StrUtil.isNotBlank(dto.getOriginId())) .filter(dto -> StrUtil.isNotBlank(dto.getOriginId()))
.collect(Collectors.toMap( .collect(Collectors.toMap(
@ -780,13 +781,14 @@ public class ComplaintCollectionServiceImpl implements ComplaintCollectionServic
private List<ComplaintCollectionRepeatDTO> buildSfss( private List<ComplaintCollectionRepeatDTO> buildSfss(
ComplaintCollectionMailRepeattRequest request) { ComplaintCollectionMailRepeattRequest request) {
ComplaintCollectionQueryParam param = new ComplaintCollectionQueryParam(); // 转换为查重专用参数
ComplaintCollectionRepeatQueryParam param = new ComplaintCollectionRepeatQueryParam();
param.setResponderIdCode(request.getResponderIdCode()); param.setResponderIdCode(request.getResponderIdCode());
param.setResponderName(request.getResponderName()); param.setResponderName(request.getResponderName());
param.setResponderPhone(request.getResponderPhone()); param.setResponderPhone(request.getResponderPhone());
Map<String, String> sourceDict = buildDictLabelMap(SupDictEnum.SFSS_SOURCE_TABLE.getCode()); Map<String, String> sourceDict = buildDictLabelMap(SupDictEnum.SFSS_SOURCE_TABLE.getCode());
return complaintCollectionResourceService.query(param) // 调用新的查重方法
.stream() return complaintCollectionResourceService.queryForRepeatCheck(param).stream()
.map(item -> { .map(item -> {
ComplaintCollectionRepeatDTO dto = new ComplaintCollectionRepeatDTO(); ComplaintCollectionRepeatDTO dto = new ComplaintCollectionRepeatDTO();
BeanUtil.copyProperties(item, dto); BeanUtil.copyProperties(item, dto);
@ -1414,5 +1416,90 @@ public class ComplaintCollectionServiceImpl implements ComplaintCollectionServic
log.info("【局长信箱迁移】迁移完成: 成功={}, 跳过={}, 失败={}", successCount, skipCount, failCount); log.info("【局长信箱迁移】迁移完成: 成功={}, 跳过={}, 失败={}", successCount, skipCount, failCount);
} }
@Override
@Transactional(rollbackFor = Exception.class)
public Result<Boolean> mergeComplaintCollection(ComplaintCollectionMergeRequest request) {
log.info("【合并投诉记录】开始合并: targetId={}, responderName={}", request.getTargetId(), request.getResponderName());
// 1. 根据 targetId 查询目标记录
ComplaintCollectionQueryParam param = new ComplaintCollectionQueryParam();
param.setId(request.getTargetId());
List<ComplaintCollection> targetList = complaintCollectionResourceService.query(param);
if (CollectionUtil.isEmpty(targetList)) {
throw new IllegalStateException("未找到目标记录: " + request.getTargetId());
}
ComplaintCollection target = targetList.get(0);
// 2. 构建合并记录(包含所有步骤1字段)
Map<String, Object> mergeRecord = new HashMap<>();
mergeRecord.put("mergeTime", LocalDateTime.now().format(DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss")));
mergeRecord.put("sourceTable", request.getSourceTable());
mergeRecord.put("sourceTableSubOne", request.getSourceTableSubOne());
mergeRecord.put("originId", request.getOriginId());
mergeRecord.put("discoveryTime", request.getDiscoveryTime());
mergeRecord.put("businessTypeCode", request.getBusinessTypeCode());
mergeRecord.put("responderName", request.getResponderName());
mergeRecord.put("responderIdCode", request.getResponderIdCode());
mergeRecord.put("responderPhone", request.getResponderPhone());
mergeRecord.put("secondDepartId", request.getSecondDepartId());
mergeRecord.put("secondDepartName", request.getSecondDepartName());
mergeRecord.put("thingDesc", request.getThingDesc());
// 3. 解析附件列表
List<Map<String, String>> fileList = new ArrayList<>();
if (StrUtil.isNotBlank(request.getFiles())) {
try {
fileList = JSON.parseObject(request.getFiles(), new com.alibaba.fastjson2.TypeReference<List<Map<String, String>>>() {});
} catch (Exception e) {
log.warn("【合并投诉记录】解析附件列表失败: {}", e.getMessage());
}
}
mergeRecord.put("files", fileList);
// 4. 读取现有 merge_history,追加新记录
List<Map<String, Object>> merges = new ArrayList<>();
if (StrUtil.isNotBlank(target.getMergeHistory())) {
try {
Map<String, Object> existingHistory = JSON.parseObject(target.getMergeHistory(), new com.alibaba.fastjson2.TypeReference<Map<String, Object>>() {});
if (existingHistory != null && existingHistory.get("merges") != null) {
merges = (List<Map<String, Object>>) existingHistory.get("merges");
}
} catch (Exception e) {
log.warn("【合并投诉记录】解析 merge_history 失败,使用空列表: {}", e.getMessage());
}
}
merges.add(mergeRecord);
// 5. 使用 updateSelectiveById 更新目标记录
ComplaintCollectionUpdateParam updateParam = new ComplaintCollectionUpdateParam();
updateParam.setId(target.getId());
updateParam.setMergeHistory(JSON.toJSONString(Map.of("merges", merges)));
updateParam.setRepeatt("1"); // 标记为重复件
updateParam.setUpdateTime(LocalDateTime.now());
updateParam.setUpdateBy(UserContextHolder.getCurrentUser().getUserName());
complaintCollectionResourceService.updateSelectiveById(updateParam);
log.info("【合并投诉记录】合并成功: targetId={}, 当前合并次数={}", target.getId(), merges.size());
return Result.success(true);
}
@Override
public Result<String> getMergeHistory(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. 返回 merge_history 字段
return Result.success(complaintCollection.getMergeHistory());
}
} }

47
src/main/resources/mapper/ComplaintCollectionMapper.xml

@ -205,6 +205,7 @@
cc.crx_state AS crxState, cc.crx_state AS crxState,
cc.accountability_target AS accountabilityTarget, cc.accountability_target AS accountabilityTarget,
cc.crt_time AS crtTime, cc.crt_time AS crtTime,
cc.merge_history as mergeHistory,
-- 从 negative 表取通用字段 -- 从 negative 表取通用字段
n.originId AS originId, n.originId AS originId,
n.discoveryTime AS discoveryTime, n.discoveryTime AS discoveryTime,
@ -338,4 +339,50 @@
ORDER BY n.crtTime DESC, cc.id DESC ORDER BY n.crtTime DESC, cc.id DESC
</select> </select>
<select id="selectForRepeatCheck" resultType="com.biutag.supervision.pojo.dto.complaintCollection.ComplaintCollectionPageDTO">
SELECT
cc.id,
cc.source_table AS sourceTable,
cc.source_table_sub_one AS sourceTableSubOne,
cc.negative_id AS negativeId,
cc.responder_id_code AS responderIdCode,
cc.repeatt AS repeatt,
cc.tag AS tag,
cc.handle_method AS handleMethod,
cc.second_depart_id AS secondDepartId,
cc.second_depart_name AS secondDepartName,
cc.merge_history AS mergeHistory,
n.originId,
n.discoveryTime,
n.responderName,
n.contactPhone AS responderPhone,
n.businessTypeCode,
n.businessTypeName,
n.thingDesc,
n.involveProblem
FROM complaint_collection cc
LEFT JOIN negative n ON n.id = cc.negative_id
<where>
<choose>
<when test="(param.responderIdCode != null and param.responderIdCode != '') or (param.responderName != null and param.responderName != '') or (param.responderPhone != null and param.responderPhone != '')">
1=1
<if test="param.responderIdCode != null and param.responderIdCode != ''">
OR cc.responder_id_code = #{param.responderIdCode}
</if>
<if test="param.responderName != null and param.responderName != ''">
OR n.responderName = #{param.responderName}
</if>
<if test="param.responderPhone != null and param.responderPhone != ''">
OR n.contactPhone = #{param.responderPhone}
</if>
</when>
<otherwise>
1=0
</otherwise>
</choose>
</where>
ORDER BY cc.create_time DESC
LIMIT 100
</select>
</mapper> </mapper>

Loading…
Cancel
Save