|
|
@ -4,39 +4,55 @@ import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; |
|
|
|
import com.epmet.commons.mybatis.service.impl.BaseServiceImpl; |
|
|
|
import com.epmet.commons.tools.constant.AppClientConstant; |
|
|
|
import com.epmet.commons.tools.constant.FieldConstant; |
|
|
|
import com.epmet.commons.tools.constant.NumConstant; |
|
|
|
import com.epmet.commons.tools.constant.ServiceConstant; |
|
|
|
import com.epmet.commons.tools.dto.result.CustomerStaffInfoCacheResult; |
|
|
|
import com.epmet.commons.tools.enums.DictTypeEnum; |
|
|
|
import com.epmet.commons.tools.exception.EpmetErrorCode; |
|
|
|
import com.epmet.commons.tools.exception.EpmetException; |
|
|
|
import com.epmet.commons.tools.exception.RenException; |
|
|
|
import com.epmet.commons.tools.feign.ResultDataResolver; |
|
|
|
import com.epmet.commons.tools.page.PageData; |
|
|
|
import com.epmet.commons.tools.redis.common.CustomerOrgRedis; |
|
|
|
import com.epmet.commons.tools.redis.common.CustomerStaffRedis; |
|
|
|
import com.epmet.commons.tools.redis.common.bean.GridInfoCache; |
|
|
|
import com.epmet.commons.tools.scan.param.ImgScanParamDTO; |
|
|
|
import com.epmet.commons.tools.scan.param.ImgTaskDTO; |
|
|
|
import com.epmet.commons.tools.scan.param.TextScanParamDTO; |
|
|
|
import com.epmet.commons.tools.scan.param.TextTaskDTO; |
|
|
|
import com.epmet.commons.tools.scan.result.SyncScanResult; |
|
|
|
import com.epmet.commons.tools.utils.ConvertUtils; |
|
|
|
import com.epmet.commons.tools.utils.EpmetRequestHolder; |
|
|
|
import com.epmet.commons.tools.utils.Result; |
|
|
|
import com.epmet.commons.tools.utils.ScanContentUtils; |
|
|
|
import com.epmet.dao.IcEventDao; |
|
|
|
import com.epmet.dto.CustomerAgencyDTO; |
|
|
|
import com.epmet.dto.IcEventDTO; |
|
|
|
import com.epmet.dto.form.AgencyInfoFormDTO; |
|
|
|
import com.epmet.dto.form.IcEventListFormDTO; |
|
|
|
import com.epmet.dto.form.*; |
|
|
|
import com.epmet.dto.form.demand.DemandRecId; |
|
|
|
import com.epmet.dto.result.*; |
|
|
|
import com.epmet.entity.IcEventEntity; |
|
|
|
import com.epmet.entity.*; |
|
|
|
import com.epmet.enums.EcEventProcessStatusEnum; |
|
|
|
import com.epmet.feign.EpmetAdminOpenFeignClient; |
|
|
|
import com.epmet.feign.EpmetHeartOpenFeignClient; |
|
|
|
import com.epmet.feign.GovIssueOpenFeignClient; |
|
|
|
import com.epmet.feign.GovOrgOpenFeignClient; |
|
|
|
import com.epmet.service.IcEventService; |
|
|
|
import com.epmet.resi.group.constant.TopicConstant; |
|
|
|
import com.epmet.service.*; |
|
|
|
import com.github.pagehelper.PageHelper; |
|
|
|
import com.github.pagehelper.PageInfo; |
|
|
|
import org.apache.commons.collections4.MapUtils; |
|
|
|
import org.apache.commons.lang3.StringUtils; |
|
|
|
import org.springframework.beans.factory.annotation.Autowired; |
|
|
|
import org.springframework.beans.factory.annotation.Value; |
|
|
|
import org.springframework.stereotype.Service; |
|
|
|
import org.springframework.transaction.annotation.Transactional; |
|
|
|
import org.springframework.util.CollectionUtils; |
|
|
|
|
|
|
|
import java.math.BigDecimal; |
|
|
|
import java.util.Arrays; |
|
|
|
import java.util.Date; |
|
|
|
import java.util.List; |
|
|
|
import java.util.Map; |
|
|
|
import java.util.*; |
|
|
|
import java.util.concurrent.atomic.AtomicReference; |
|
|
|
import java.util.stream.Collectors; |
|
|
|
|
|
|
|
/** |
|
|
|
* 事件管理表 |
|
|
@ -47,23 +63,75 @@ import java.util.Map; |
|
|
|
@Service |
|
|
|
public class IcEventServiceImpl extends BaseServiceImpl<IcEventDao, IcEventEntity> implements IcEventService, ResultDataResolver { |
|
|
|
|
|
|
|
@Value("${openapi.scan.server.url}") |
|
|
|
private String scanApiUrl; |
|
|
|
@Value("${openapi.scan.method.textSyncScan}") |
|
|
|
private String textSyncScanMethod; |
|
|
|
@Value("${openapi.scan.method.imgSyncScan}") |
|
|
|
private String imgSyncScanMethod; |
|
|
|
@Autowired |
|
|
|
private GovOrgOpenFeignClient govOrgOpenFeignClient; |
|
|
|
|
|
|
|
@Autowired |
|
|
|
private EpmetAdminOpenFeignClient adminOpenFeignClient; |
|
|
|
@Autowired |
|
|
|
private ProjectTraceService projectTraceService; |
|
|
|
@Autowired |
|
|
|
private EpmetHeartOpenFeignClient epmetHeartOpenFeignClient; |
|
|
|
@Autowired |
|
|
|
private GovIssueOpenFeignClient govIssueOpenFeignClient; |
|
|
|
@Autowired |
|
|
|
private IcEventAttachmentService icEventAttachmentService; |
|
|
|
@Autowired |
|
|
|
private IcEventCategoryService icEventCategoryService; |
|
|
|
@Autowired |
|
|
|
private IcEventReplyService icEventReplyService; |
|
|
|
@Autowired |
|
|
|
private IcEventOperationLogService icEventOperationLogService; |
|
|
|
|
|
|
|
|
|
|
|
@Override |
|
|
|
public PageData<IcEventListResultDTO> list(IcEventListFormDTO formDTO) { |
|
|
|
PageHelper.startPage(formDTO.getPageNo(), formDTO.getPageSize(), formDTO.getIsPage()); |
|
|
|
List<IcEventListResultDTO> list = null; |
|
|
|
List<IcEventListResultDTO> list = baseDao.icEventList(formDTO); |
|
|
|
PageInfo<IcEventListResultDTO> pageInfo = new PageInfo<>(list); |
|
|
|
if (!CollectionUtils.isEmpty(list)) {} |
|
|
|
if (!CollectionUtils.isEmpty(list)) { |
|
|
|
//查询网格名称(组织-网格)
|
|
|
|
List<String> gridIds = list.stream().map(IcEventListResultDTO::getGridId).collect(Collectors.toList()).stream().distinct().collect(Collectors.toList()); |
|
|
|
Result<List<AllGridsByUserIdResultDTO>> gridInfoRes = govOrgOpenFeignClient.getGridListByGridIds(gridIds); |
|
|
|
List<AllGridsByUserIdResultDTO> gridInfoList = gridInfoRes.success() && !org.apache.commons.collections4.CollectionUtils.isEmpty(gridInfoRes.getData()) ? gridInfoRes.getData() : new ArrayList<>(); |
|
|
|
Map<String, String> gridInfoMap = gridInfoList.stream().collect(Collectors.toMap(AllGridsByUserIdResultDTO::getGridId, AllGridsByUserIdResultDTO::getGridName, (key1, key2) -> key2)); |
|
|
|
|
|
|
|
//与户主关系字典表数据
|
|
|
|
Result<Map<String, String>> statusRes = adminOpenFeignClient.dictMap(DictTypeEnum.IC_EVENT_SOURCE_TYPE.getCode()); |
|
|
|
Map<String, String> statusMap = statusRes.success() && MapUtils.isNotEmpty(statusRes.getData()) ? statusRes.getData() : new HashMap<>(); |
|
|
|
|
|
|
|
//封装数据
|
|
|
|
for (IcEventListResultDTO dto : list) { |
|
|
|
if (gridInfoMap.containsKey(dto.getGridId())) { |
|
|
|
dto.setGridName(gridInfoMap.get(dto.getGridId())); |
|
|
|
} |
|
|
|
if (StringUtils.isNotBlank(dto.getSourceType())) { |
|
|
|
dto.setSourceTypeName(statusMap.get(dto.getSourceType())); |
|
|
|
} |
|
|
|
//每个事件对应的图片数据
|
|
|
|
List<String> imageList = new ArrayList<>(); |
|
|
|
List<String> voiceList = new ArrayList<>(); |
|
|
|
dto.getAttachmentList().forEach(file -> { |
|
|
|
if ("image".equals(file.getType())) { |
|
|
|
imageList.add(file.getUrl()); |
|
|
|
} else if ("voice".equals(file.getType())) { |
|
|
|
voiceList.add(file.getUrl()); |
|
|
|
} |
|
|
|
}); |
|
|
|
dto.setImageList(imageList); |
|
|
|
dto.setVoiceList(voiceList); |
|
|
|
} |
|
|
|
} |
|
|
|
return new PageData<>(list, pageInfo.getTotal()); |
|
|
|
} |
|
|
|
|
|
|
|
private QueryWrapper<IcEventEntity> getWrapper(Map<String, Object> params){ |
|
|
|
String id = (String)params.get(FieldConstant.ID_HUMP); |
|
|
|
private QueryWrapper<IcEventEntity> getWrapper(Map<String, Object> params) { |
|
|
|
String id = (String) params.get(FieldConstant.ID_HUMP); |
|
|
|
|
|
|
|
QueryWrapper<IcEventEntity> wrapper = new QueryWrapper<>(); |
|
|
|
wrapper.eq(StringUtils.isNotBlank(id), FieldConstant.ID, id); |
|
|
@ -79,9 +147,193 @@ public class IcEventServiceImpl extends BaseServiceImpl<IcEventDao, IcEventEntit |
|
|
|
|
|
|
|
@Override |
|
|
|
@Transactional(rollbackFor = Exception.class) |
|
|
|
public void save(IcEventDTO dto) { |
|
|
|
IcEventEntity entity = ConvertUtils.sourceToTarget(dto, IcEventEntity.class); |
|
|
|
public void save(IcEventAddEditFormDTO formDTO) { |
|
|
|
//获取当前工作人员缓存信息
|
|
|
|
CustomerStaffInfoCacheResult staffInfo = CustomerStaffRedis.getStaffInfo(formDTO.getCustomerId(), formDTO.getUserId()); |
|
|
|
if (null == staffInfo) { |
|
|
|
throw new EpmetException(String.format("查询工作人员%s缓存信息失败...", formDTO.getUserId())); |
|
|
|
} |
|
|
|
//获取网格缓存信息
|
|
|
|
GridInfoCache gridInfo = CustomerOrgRedis.getGridInfo(formDTO.getGridId()); |
|
|
|
if (null == gridInfo) { |
|
|
|
throw new EpmetException(String.format("未查询到网格{%s}信息", formDTO.getGridId())); |
|
|
|
} |
|
|
|
//1.参数校验,安全校验
|
|
|
|
//1-1.判断是否勾选处理方式,勾选了则分类不能为空
|
|
|
|
if (StringUtils.isNotBlank(formDTO.getOperationType()) && CollectionUtils.isEmpty(formDTO.getCategoryList())) { |
|
|
|
throw new EpmetException(EpmetErrorCode.EPMET_COMMON_OPERATION_FAIL.getCode(), "事件分类不能为空"); |
|
|
|
} |
|
|
|
//1-2.判断勾选已完成则处理方式不能选择立项或转需求
|
|
|
|
if (StringUtils.isNotBlank(formDTO.getOperationType()) && "closed_case".equals(formDTO.getStatus()) |
|
|
|
&& StringUtils.isNotBlank(formDTO.getOperationType()) && ("1".equals(formDTO.getOperationType()) || "2".equals(formDTO.getOperationType()))) { |
|
|
|
throw new EpmetException(EpmetErrorCode.EPMET_COMMON_OPERATION_FAIL.getCode(), "事件勾选已完成则不允许立项或转需求"); |
|
|
|
} |
|
|
|
//1-3.安全校验事件内容、图片内容
|
|
|
|
//事件内容
|
|
|
|
if (StringUtils.isNotBlank(formDTO.getEventContent())) { |
|
|
|
TextScanParamDTO textScanParamDTO = new TextScanParamDTO(); |
|
|
|
TextTaskDTO taskDTO = new TextTaskDTO(); |
|
|
|
taskDTO.setDataId(UUID.randomUUID().toString().replace("-", "")); |
|
|
|
taskDTO.setContent(formDTO.getEventContent()); |
|
|
|
textScanParamDTO.getTasks().add(taskDTO); |
|
|
|
Result<SyncScanResult> textSyncScanResult = ScanContentUtils.textSyncScan(scanApiUrl.concat(textSyncScanMethod), textScanParamDTO); |
|
|
|
if (!textSyncScanResult.success()) { |
|
|
|
throw new RenException(EpmetErrorCode.SERVER_ERROR.getCode()); |
|
|
|
} else { |
|
|
|
if (!textSyncScanResult.getData().isAllPass()) { |
|
|
|
throw new RenException(EpmetErrorCode.TEXT_SCAN_FAILED.getCode()); |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
//图片内容
|
|
|
|
if (!CollectionUtils.isEmpty(formDTO.getImageList())) { |
|
|
|
ImgScanParamDTO imgScanParamDTO = new ImgScanParamDTO(); |
|
|
|
formDTO.getImageList().forEach(imgUrl -> { |
|
|
|
ImgTaskDTO task = new ImgTaskDTO(); |
|
|
|
task.setDataId(UUID.randomUUID().toString().replace("-", "")); |
|
|
|
task.setUrl(imgUrl); |
|
|
|
imgScanParamDTO.getTasks().add(task); |
|
|
|
}); |
|
|
|
Result<SyncScanResult> imgScanResult = ScanContentUtils.imgSyncScan(scanApiUrl.concat(imgSyncScanMethod), imgScanParamDTO); |
|
|
|
if (!imgScanResult.success()) { |
|
|
|
throw new RenException(EpmetErrorCode.SERVER_ERROR.getCode()); |
|
|
|
} else { |
|
|
|
if (!imgScanResult.getData().isAllPass()) { |
|
|
|
throw new RenException(EpmetErrorCode.IMG_SCAN_FAILED.getCode(), EpmetErrorCode.IMG_SCAN_FAILED.getMsg()); |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
//2.判断是否立项或转需求
|
|
|
|
//2-1.项目立项
|
|
|
|
if (StringUtils.isNotBlank(formDTO.getOperationType()) && "1".equals(formDTO.getOperationType())) { |
|
|
|
EventToProjectResultDTO project = projectTraceService.eventToProject(formDTO.getProject()); |
|
|
|
formDTO.setOperationId(project.getProjectId()); |
|
|
|
} |
|
|
|
//2-2.转需求
|
|
|
|
if (StringUtils.isNotBlank(formDTO.getOperationType()) && "2".equals(formDTO.getOperationType())) { |
|
|
|
IcDemandFormDTO dto = formDTO.getDemand(); |
|
|
|
//需求人默认是当前用户id
|
|
|
|
dto.setDemandUserId(formDTO.getUserId()); |
|
|
|
dto.setCustomerId(formDTO.getCustomerId()); |
|
|
|
Result<DemandRecId> recIdResult = epmetHeartOpenFeignClient.icEventToDemand(dto); |
|
|
|
if (!recIdResult.success() || recIdResult.getData() == null) { |
|
|
|
throw new RenException(recIdResult.getCode(), recIdResult.getMsg()); |
|
|
|
} |
|
|
|
formDTO.setOperationId(recIdResult.getData().getDemandRecId()); |
|
|
|
} |
|
|
|
|
|
|
|
//3.新增事件数据、附件数据、分类数据、回复数据、操作记录数据
|
|
|
|
//3-1.事件数据保存
|
|
|
|
IcEventEntity entity = ConvertUtils.sourceToTarget(formDTO, IcEventEntity.class); |
|
|
|
entity.setAgencyId(gridInfo.getPid()); |
|
|
|
entity.setGridPids(gridInfo.getPids()); |
|
|
|
insert(entity); |
|
|
|
//3-2.附件数据保存
|
|
|
|
List<IcEventAttachmentEntity> imageEntityList = new ArrayList<>(); |
|
|
|
if (!CollectionUtils.isEmpty(formDTO.getImageList())) { |
|
|
|
int sort = 0; |
|
|
|
for (String url : formDTO.getImageList()) { |
|
|
|
IcEventAttachmentEntity attachment = new IcEventAttachmentEntity(); |
|
|
|
attachment.setCustomerId(formDTO.getCustomerId()); |
|
|
|
attachment.setAttachmentUrl(url); |
|
|
|
attachment.setIcEventId(entity.getId()); |
|
|
|
attachment.setCreatedBy(formDTO.getUserId()); |
|
|
|
attachment.setAttachmentFormat(url.substring(url.lastIndexOf(".") + NumConstant.ONE).toLowerCase()); |
|
|
|
attachment.setSort(sort++); |
|
|
|
attachment.setAttachmentType("image"); |
|
|
|
attachment.setStatus(TopicConstant.AUTO_PASSED); |
|
|
|
imageEntityList.add(attachment); |
|
|
|
} |
|
|
|
icEventAttachmentService.insertBatch(imageEntityList); |
|
|
|
} |
|
|
|
|
|
|
|
//3-3.分类数据保存
|
|
|
|
if (!CollectionUtils.isEmpty(formDTO.getCategoryList())) { |
|
|
|
CategoryTagResultDTO category = queryCategory(formDTO.getCustomerId(), formDTO.getCategoryList()); |
|
|
|
AtomicReference<IcEventCategoryEntity> categoryEntity = null; |
|
|
|
category.getCategoryList().forEach(ca -> { |
|
|
|
if (ca.getId().equals(formDTO.getCategoryList().get(0))) { |
|
|
|
categoryEntity.set(new IcEventCategoryEntity()); |
|
|
|
categoryEntity.get().setCustomerId(formDTO.getCustomerId()); |
|
|
|
categoryEntity.get().setIcEventId(entity.getId()); |
|
|
|
categoryEntity.get().setCategoryId(ca.getId()); |
|
|
|
categoryEntity.get().setCategoryPids(ca.getPids()); |
|
|
|
categoryEntity.get().setCategoryCode(ca.getCategoryCode()); |
|
|
|
} |
|
|
|
}); |
|
|
|
if (categoryEntity.get() != null) { |
|
|
|
icEventCategoryService.insert(categoryEntity.get()); |
|
|
|
} |
|
|
|
|
|
|
|
} |
|
|
|
//3-4.操作记录数据保存
|
|
|
|
List<IcEventOperationLogEntity> logList = new ArrayList<>(); |
|
|
|
logList.add(logEntity(formDTO.getCustomerId(), entity.getId(), formDTO.getUserId(), new Date(), "add", "publish")); |
|
|
|
|
|
|
|
Date date = new Date(); |
|
|
|
//3-5.回复数据保存
|
|
|
|
if (StringUtils.isNotBlank(formDTO.getContent())) { |
|
|
|
IcEventReplyEntity replyEntity = new IcEventReplyEntity(); |
|
|
|
replyEntity.setCustomerId(formDTO.getCustomerId()); |
|
|
|
replyEntity.setIcEventId(entity.getId()); |
|
|
|
replyEntity.setFromUserId(formDTO.getUserId()); |
|
|
|
replyEntity.setContent(formDTO.getContent()); |
|
|
|
replyEntity.setUserShowName(staffInfo.getAgencyName() + "-" + staffInfo.getRealName()); |
|
|
|
icEventReplyService.insert(replyEntity); |
|
|
|
//回复对应的操作记录
|
|
|
|
date.setTime(date.getTime() + 6000 * 1); |
|
|
|
logList.add(logEntity(formDTO.getCustomerId(), entity.getId(), formDTO.getUserId(), date, "reply", "reply")); |
|
|
|
} |
|
|
|
//立项对应的操作记录
|
|
|
|
if (StringUtils.isNotBlank(formDTO.getOperationType()) && "1".equals(formDTO.getOperationType())) { |
|
|
|
date.setTime(date.getTime() + 6000 * 1); |
|
|
|
logList.add(logEntity(formDTO.getCustomerId(), entity.getId(), formDTO.getUserId(), date, "shift_project", "shift_project")); |
|
|
|
} |
|
|
|
//转需求对应的操作记录
|
|
|
|
if (StringUtils.isNotBlank(formDTO.getOperationType()) && "2".equals(formDTO.getOperationType())) { |
|
|
|
date.setTime(date.getTime() + 6000 * 1); |
|
|
|
logList.add(logEntity(formDTO.getCustomerId(), entity.getId(), formDTO.getUserId(), date, "shift_demand", "shift_demand")); |
|
|
|
} |
|
|
|
//选择了已完成
|
|
|
|
if (StringUtils.isNotBlank(formDTO.getOperationType()) && "closed_case".equals(formDTO.getStatus())) { |
|
|
|
date.setTime(date.getTime() + 6000 * 1); |
|
|
|
logList.add(logEntity(formDTO.getCustomerId(), entity.getId(), formDTO.getUserId(), date, "close_case", "close_case")); |
|
|
|
} |
|
|
|
icEventOperationLogService.insertBatch(logList); |
|
|
|
} |
|
|
|
|
|
|
|
/** |
|
|
|
* 根据分类Id集合查询对应数据信息 |
|
|
|
* |
|
|
|
* @return |
|
|
|
*/ |
|
|
|
private CategoryTagResultDTO queryCategory(String customerId, List<String> categoryIdList) { |
|
|
|
CategoryTagListFormDTO categoryTag = new CategoryTagListFormDTO(); |
|
|
|
categoryTag.setCustomerId(customerId); |
|
|
|
categoryTag.setCategoryIdList(categoryIdList); |
|
|
|
Result<CategoryTagResultDTO> resultDTOResult = govIssueOpenFeignClient.getCategoryTagList(categoryTag); |
|
|
|
if (!resultDTOResult.success()) { |
|
|
|
throw new RenException("项目立项,调用issue服务查询分类、标签基础信息失败"); |
|
|
|
} |
|
|
|
return resultDTOResult.getData(); |
|
|
|
} |
|
|
|
|
|
|
|
/** |
|
|
|
* 事件管理操作日志记录 |
|
|
|
* |
|
|
|
* @return |
|
|
|
*/ |
|
|
|
private IcEventOperationLogEntity logEntity(String customerId, String icEventId, String userId, Date date, String actionCode, String actionDesc) { |
|
|
|
IcEventOperationLogEntity logEntity = new IcEventOperationLogEntity(); |
|
|
|
logEntity.setCustomerId(customerId); |
|
|
|
logEntity.setIcEventId(icEventId); |
|
|
|
logEntity.setUserId(userId); |
|
|
|
logEntity.setUserIdentity("staff"); |
|
|
|
logEntity.setActionCode(actionCode); |
|
|
|
logEntity.setActionDesc(actionDesc); |
|
|
|
logEntity.setOperateTime(date); |
|
|
|
return logEntity; |
|
|
|
} |
|
|
|
|
|
|
|
@Override |
|
|
@ -100,6 +352,7 @@ public class IcEventServiceImpl extends BaseServiceImpl<IcEventDao, IcEventEntit |
|
|
|
|
|
|
|
/** |
|
|
|
* 查询时间的grid_pids |
|
|
|
* |
|
|
|
* @param agencyId |
|
|
|
* @return |
|
|
|
*/ |
|
|
@ -142,7 +395,8 @@ public class IcEventServiceImpl extends BaseServiceImpl<IcEventDao, IcEventEntit |
|
|
|
ProcessStatusRatioResultDTO r = new ProcessStatusRatioResultDTO(); |
|
|
|
|
|
|
|
BigDecimal processingCount = new BigDecimal(0); |
|
|
|
BigDecimal closedCount = new BigDecimal(0);; |
|
|
|
BigDecimal closedCount = new BigDecimal(0); |
|
|
|
; |
|
|
|
BigDecimal processingRatio = null; |
|
|
|
BigDecimal closedRatio = null; |
|
|
|
|
|
|
@ -188,7 +442,7 @@ public class IcEventServiceImpl extends BaseServiceImpl<IcEventDao, IcEventEntit |
|
|
|
PageHelper.startPage(pageNo, pageSize); |
|
|
|
List<IcEventResultDTO> list = baseDao.listProcessAnalysisEvents( |
|
|
|
EpmetRequestHolder.getHeader(AppClientConstant.CUSTOMER_ID), orgType, orgId, gridPids, categoryCode, processStatus, queryStartTime |
|
|
|
,queryEndTime); |
|
|
|
, queryEndTime); |
|
|
|
|
|
|
|
// 3.补充数据
|
|
|
|
for (IcEventResultDTO event : list) { |
|
|
|