+相同发起人整合
This commit is contained in:
parent
3536a764f8
commit
5e26189f32
@ -20,23 +20,52 @@ import cn.axzo.msg.center.domain.dto.PendingCalendarCodeDTO;
|
||||
import cn.axzo.msg.center.domain.entity.PendingMessageRecord;
|
||||
import cn.axzo.msg.center.domain.enums.NativeTypeEnum;
|
||||
import cn.axzo.msg.center.inside.notices.config.PendingCalendarCodeConfig;
|
||||
import cn.axzo.msg.center.message.domain.dto.*;
|
||||
import cn.axzo.msg.center.message.domain.dto.GroupTreeNodePathDTO;
|
||||
import cn.axzo.msg.center.message.domain.dto.MessageTemplateDTO;
|
||||
import cn.axzo.msg.center.message.domain.dto.MessageTemplateRouterDTO;
|
||||
import cn.axzo.msg.center.message.domain.dto.PendingMessageDTO;
|
||||
import cn.axzo.msg.center.message.domain.dto.PendingMessageStatisticDTO;
|
||||
import cn.axzo.msg.center.message.domain.param.MessageGroupNodeStatisticParam;
|
||||
import cn.axzo.msg.center.message.domain.param.PendingMessagePushParam;
|
||||
import cn.axzo.msg.center.message.service.MessageGroupNodeService;
|
||||
import cn.axzo.msg.center.message.service.MessageTemplateGroupService;
|
||||
import cn.axzo.msg.center.message.service.MessageTemplateNewService;
|
||||
import cn.axzo.msg.center.message.service.PendingMessageNewService;
|
||||
import cn.axzo.msg.center.service.dto.*;
|
||||
import cn.axzo.msg.center.service.enums.*;
|
||||
import cn.axzo.msg.center.service.pending.request.*;
|
||||
import cn.axzo.msg.center.notices.common.enums.IsDeletedEnum;
|
||||
import cn.axzo.msg.center.service.dto.ButtonRouterDTO;
|
||||
import cn.axzo.msg.center.service.dto.DetailRouterDTO;
|
||||
import cn.axzo.msg.center.service.dto.IdentityDTO;
|
||||
import cn.axzo.msg.center.service.dto.MessageCardContentItemDTO;
|
||||
import cn.axzo.msg.center.service.dto.PersonDTO;
|
||||
import cn.axzo.msg.center.service.dto.QueryOrderByDTO;
|
||||
import cn.axzo.msg.center.service.enums.BizCategoryEnum;
|
||||
import cn.axzo.msg.center.service.enums.BizFinalStateEnum;
|
||||
import cn.axzo.msg.center.service.enums.IdentityTypeEnum;
|
||||
import cn.axzo.msg.center.service.enums.MessageGroupCategoryEnum;
|
||||
import cn.axzo.msg.center.service.enums.OrganizationTypeEnum;
|
||||
import cn.axzo.msg.center.service.enums.PendingMessageRoleCategoryEnum;
|
||||
import cn.axzo.msg.center.service.enums.PendingMessageStateEnum;
|
||||
import cn.axzo.msg.center.service.enums.RouterCategoryEnum;
|
||||
import cn.axzo.msg.center.service.enums.TerminalTypeEnum;
|
||||
import cn.axzo.msg.center.service.pending.request.CompletePendingBySubCodeRequest;
|
||||
import cn.axzo.msg.center.service.pending.request.CompletePendingMessageByIdRequest;
|
||||
import cn.axzo.msg.center.service.pending.request.CompletePendingMessageRequest;
|
||||
import cn.axzo.msg.center.service.pending.request.PendingMessageByBizCodeRequest;
|
||||
import cn.axzo.msg.center.service.pending.request.PendingMessageFixedTemplatePageRequest;
|
||||
import cn.axzo.msg.center.service.pending.request.PendingMessagePageRequest;
|
||||
import cn.axzo.msg.center.service.pending.request.PendingMessageQueryRequest;
|
||||
import cn.axzo.msg.center.service.pending.request.RevokePendingMessageByIdRequest;
|
||||
import cn.axzo.msg.center.service.pending.response.PendingMessageResponse;
|
||||
import cn.axzo.msg.center.service.pending.response.PendingMessageSimpleDTO;
|
||||
import cn.axzo.msg.center.service.pending.response.PushPendingMessageDTO;
|
||||
import cn.axzo.msg.center.utils.*;
|
||||
import cn.axzo.msg.center.utils.DateFormatUtil;
|
||||
import cn.axzo.msg.center.utils.JSONObjectUtil;
|
||||
import cn.axzo.msg.center.utils.MessageCardUtil;
|
||||
import cn.axzo.msg.center.utils.MessageRouterUtil;
|
||||
import cn.axzo.msg.center.utils.OrderFieldParseUtil;
|
||||
import cn.axzo.msg.center.utils.UUIDUtil;
|
||||
import cn.azxo.framework.common.model.Page;
|
||||
import cn.hutool.core.bean.BeanUtil;
|
||||
import cn.hutool.core.lang.func.Func1;
|
||||
import com.alibaba.fastjson.JSON;
|
||||
import com.alibaba.fastjson.JSONObject;
|
||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||
@ -52,10 +81,18 @@ import org.springframework.stereotype.Service;
|
||||
import java.time.LocalDate;
|
||||
import java.time.LocalDateTime;
|
||||
import java.time.ZoneId;
|
||||
import java.util.*;
|
||||
import java.util.ArrayList;
|
||||
import java.util.Collection;
|
||||
import java.util.Collections;
|
||||
import java.util.Comparator;
|
||||
import java.util.Date;
|
||||
import java.util.HashMap;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.util.Objects;
|
||||
import java.util.Optional;
|
||||
import java.util.function.Function;
|
||||
import java.util.stream.Collectors;
|
||||
import java.util.stream.Stream;
|
||||
|
||||
/**
|
||||
* @description
|
||||
@ -129,6 +166,7 @@ public class PendingMessageNewServiceImpl implements PendingMessageNewService {
|
||||
&& Objects.nonNull(request.getOuId()), PendingMessageRecord::getOuId, request.getOuId())
|
||||
.eq(Objects.nonNull(pendingMessageState), PendingMessageRecord::getState, pendingMessageState)
|
||||
.eq(Objects.nonNull(bizFinalState), PendingMessageRecord::getBizFinalState, bizFinalState)
|
||||
.eq(PendingMessageRecord::getIsDelete, IsDeletedEnum.NO.getCode())
|
||||
.eq(Objects.nonNull(request.getWorkspaceId()), PendingMessageRecord::getOrgId, request.getWorkspaceId());
|
||||
if (StringUtils.isNotBlank(request.getTitle())) {
|
||||
query.and(v -> v.like(PendingMessageRecord::getTitle, request.getTitle())
|
||||
@ -157,18 +195,18 @@ public class PendingMessageNewServiceImpl implements PendingMessageNewService {
|
||||
return PageHelperUtil.emptyPage(request.getPage(), request.getPageSize());
|
||||
}
|
||||
query.in(PendingMessageRecord::getTemplateCode, templateCodes);
|
||||
query.groupBy(PendingMessageRecord::getBizCode);
|
||||
// 构建排序条件
|
||||
buildSortCondition(query, request.getOrderFields(), pendingMessageState);
|
||||
|
||||
IPage<PendingMessageRecord> page = request.toPage();
|
||||
IPage<PendingMessageRecord> result = query.page(page);
|
||||
templateCodes = result.getRecords().stream().map(PendingMessageRecord::getTemplateCode)
|
||||
List<PendingMessageRecord> pendingMessageRecords = pendingMessageRecordMapper.selectPageWithCustomSql(query.getWrapper());
|
||||
templateCodes = pendingMessageRecords.stream().map(PendingMessageRecord::getTemplateCode)
|
||||
.collect(Collectors.toList());
|
||||
List<MessageTemplateDTO> messageTemplates = messageTemplateNewService.listByTemplateCodes(templateCodes);
|
||||
List<PendingMessageResponse> responseRecords = result.getRecords().stream()
|
||||
List<PendingMessageResponse> responseRecords = pendingMessageRecords.stream()
|
||||
.map(e -> convert(e, messageTemplates).toResponse(request.getTerminalType()))
|
||||
.collect(Collectors.toList());
|
||||
return Page.toPage(request.getPage(), request.getPageSize(), result.getTotal(), responseRecords);
|
||||
return Page.toPage(request.getPage(), request.getPageSize(), pendingMessageRecords.stream().count(), responseRecords);
|
||||
}
|
||||
|
||||
@Override
|
||||
|
||||
@ -2,8 +2,11 @@ package cn.axzo.msg.center.dal.mapper;
|
||||
|
||||
import cn.axzo.msg.center.domain.dto.PendingCalendarCodeDTO;
|
||||
import cn.axzo.msg.center.domain.entity.PendingMessageRecord;
|
||||
import com.baomidou.mybatisplus.core.conditions.Wrapper;
|
||||
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
||||
import com.baomidou.mybatisplus.core.toolkit.Constants;
|
||||
import org.apache.ibatis.annotations.Param;
|
||||
import org.apache.ibatis.annotations.Select;
|
||||
|
||||
import java.util.Date;
|
||||
import java.util.List;
|
||||
@ -18,5 +21,8 @@ import java.util.List;
|
||||
public interface PendingMessageRecordMapper extends BaseMapper<PendingMessageRecord> {
|
||||
List<PendingMessageRecord> queryByTemplateCodes(@Param("pendingCalendarCodeDTO") PendingCalendarCodeDTO pendingCalendarCodeDTO, @Param("workspaceId") Long workspaceId,
|
||||
@Param("selectDate") Date selectDate, @Param("personId") Long personId,@Param("isNowDay") Boolean isNowDay);
|
||||
|
||||
@Select("SELECT pmr.*,GROUP_CONCAT(pmr.executor_name) AS executorName FROM pending_message_record pmr ${ew.customSqlSegment}")
|
||||
List<PendingMessageRecord> selectPageWithCustomSql(@Param(Constants.WRAPPER) Wrapper<PendingMessageRecord> wrapper);
|
||||
}
|
||||
|
||||
|
||||
Loading…
Reference in New Issue
Block a user