diff --git a/inside-notices/src/main/java/cn/axzo/msg/center/inside/notices/config/PendingCalendarCodeConfig.java b/inside-notices/src/main/java/cn/axzo/msg/center/inside/notices/config/PendingCalendarCodeConfig.java new file mode 100644 index 00000000..968e4644 --- /dev/null +++ b/inside-notices/src/main/java/cn/axzo/msg/center/inside/notices/config/PendingCalendarCodeConfig.java @@ -0,0 +1,37 @@ +package cn.axzo.msg.center.inside.notices.config; + +import lombok.Getter; +import lombok.Setter; +import org.springframework.boot.context.properties.ConfigurationProperties; +import org.springframework.cloud.context.config.annotation.RefreshScope; +import org.springframework.context.annotation.Configuration; + +import java.util.Arrays; +import java.util.List; +import java.util.stream.Collectors; + +/** + * @description + * 待办日历模版配置 + * @author cold_blade + * @date 2023/8/31 + * @version 1.0 + */ +@Setter +@Getter +@RefreshScope +@Configuration +@ConfigurationProperties(prefix = "calendar.template") +public class PendingCalendarCodeConfig { + + private List constructionCodes; + private List clockInCodes; + private List punchInCodes; + + public List getCalendarAllCodes() { + return Arrays.asList(constructionCodes, clockInCodes, punchInCodes) + .stream() + .flatMap(List::stream) + .collect(Collectors.toList()); + } +} diff --git a/inside-notices/src/main/java/cn/axzo/msg/center/message/controller/PendingMessageNewController.java b/inside-notices/src/main/java/cn/axzo/msg/center/message/controller/PendingMessageNewController.java index edbdf558..fb0227b6 100644 --- a/inside-notices/src/main/java/cn/axzo/msg/center/message/controller/PendingMessageNewController.java +++ b/inside-notices/src/main/java/cn/axzo/msg/center/message/controller/PendingMessageNewController.java @@ -8,13 +8,7 @@ import cn.axzo.msg.center.message.domain.param.PendingMessagePushParam; import cn.axzo.msg.center.message.service.PendingMessageNewService; import cn.axzo.msg.center.service.enums.TerminalTypeEnum; import cn.axzo.msg.center.service.pending.client.PendingMessageClient; -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.PendingMessageCountUncompletedRequest; -import cn.axzo.msg.center.service.pending.request.PendingMessagePageRequest; -import cn.axzo.msg.center.service.pending.request.PendingMessagePushRequest; -import cn.axzo.msg.center.service.pending.request.PendingMessageQueryRequest; -import cn.axzo.msg.center.service.pending.request.PendingMessageStatisticRequest; +import cn.axzo.msg.center.service.pending.request.*; import cn.axzo.msg.center.service.pending.response.PendingMessageResponse; import cn.axzo.msg.center.service.pending.response.PendingMessageStatisticResponse; import cn.axzo.msg.center.service.pending.response.PushPendingMessageDTO; @@ -61,6 +55,11 @@ public class PendingMessageNewController implements PendingMessageClient { return CommonResponse.success(pendingMessageNewService.pageQuery(request)); } + @Override + public CommonResponse> getPendingMessageByAppWorker(PendingMessageFixedTemplatePageRequest request) { + return CommonResponse.success(pendingMessageNewService.getPendingMessageByAppWorker(request)); + } + @Override public CommonResponse> compatiblePageQuery(PendingMessagePageRequest request) { return CommonResponse.success(pendingMessageNewService.compatiblePageQuery(request)); diff --git a/inside-notices/src/main/java/cn/axzo/msg/center/message/domain/dto/PendingMessageDTO.java b/inside-notices/src/main/java/cn/axzo/msg/center/message/domain/dto/PendingMessageDTO.java index 9ee05688..a4a32a0a 100644 --- a/inside-notices/src/main/java/cn/axzo/msg/center/message/domain/dto/PendingMessageDTO.java +++ b/inside-notices/src/main/java/cn/axzo/msg/center/message/domain/dto/PendingMessageDTO.java @@ -194,6 +194,7 @@ public class PendingMessageDTO implements Serializable { .subBizCode(this.subBizCode) .bizDesc(this.bizDesc) .bizFlag(this.bizFlag) + .state(this.getState()) .bizCategory(this.bizCategory) .workspaceId(this.workspaceId) .workspaceName(this.workspaceName) diff --git a/inside-notices/src/main/java/cn/axzo/msg/center/message/service/PendingMessageNewService.java b/inside-notices/src/main/java/cn/axzo/msg/center/message/service/PendingMessageNewService.java index 93069052..47ec6ac2 100644 --- a/inside-notices/src/main/java/cn/axzo/msg/center/message/service/PendingMessageNewService.java +++ b/inside-notices/src/main/java/cn/axzo/msg/center/message/service/PendingMessageNewService.java @@ -6,10 +6,7 @@ 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.service.enums.TerminalTypeEnum; -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.PendingMessagePageRequest; -import cn.axzo.msg.center.service.pending.request.PendingMessageQueryRequest; +import cn.axzo.msg.center.service.pending.request.*; import cn.axzo.msg.center.service.pending.response.PendingMessageResponse; import cn.axzo.msg.center.service.pending.response.PushPendingMessageDTO; import cn.azxo.framework.common.model.Page; @@ -60,6 +57,14 @@ public interface PendingMessageNewService { */ Page pageQuery(PendingMessagePageRequest request); + /** + * 代办列表分页查询 + * + * @param request 分页查询相关参数 + * @return 代办列表 + */ + List getPendingMessageByAppWorker(PendingMessageFixedTemplatePageRequest request); + /** * 代办列表分页查询 * diff --git a/inside-notices/src/main/java/cn/axzo/msg/center/message/service/impl/MessageTemplateGroupServiceImpl.java b/inside-notices/src/main/java/cn/axzo/msg/center/message/service/impl/MessageTemplateGroupServiceImpl.java index 910bbd05..35278df4 100644 --- a/inside-notices/src/main/java/cn/axzo/msg/center/message/service/impl/MessageTemplateGroupServiceImpl.java +++ b/inside-notices/src/main/java/cn/axzo/msg/center/message/service/impl/MessageTemplateGroupServiceImpl.java @@ -15,12 +15,7 @@ import org.apache.commons.collections.CollectionUtils; import org.apache.commons.lang3.StringUtils; import org.springframework.stereotype.Service; -import java.util.Collection; -import java.util.Collections; -import java.util.List; -import java.util.Map; -import java.util.Objects; -import java.util.Set; +import java.util.*; import java.util.function.Function; import java.util.stream.Collectors; diff --git a/inside-notices/src/main/java/cn/axzo/msg/center/message/service/impl/MessageTemplateNewServiceImpl.java b/inside-notices/src/main/java/cn/axzo/msg/center/message/service/impl/MessageTemplateNewServiceImpl.java index fcf2698e..a4ded0fd 100644 --- a/inside-notices/src/main/java/cn/axzo/msg/center/message/service/impl/MessageTemplateNewServiceImpl.java +++ b/inside-notices/src/main/java/cn/axzo/msg/center/message/service/impl/MessageTemplateNewServiceImpl.java @@ -367,6 +367,7 @@ public class MessageTemplateNewServiceImpl implements MessageTemplateNewService .in(CollectionUtils.isNotEmpty(request.getCategories()), MessageBaseTemplate::getMsgCategory, request.getCategories()) .eq(Objects.nonNull(request.getStatus()), MessageBaseTemplate::getStatus, request.getStatus()) + .orderByDesc(MessageBaseTemplate::getCreateAt) .page(pageRequest); } diff --git a/inside-notices/src/main/java/cn/axzo/msg/center/message/service/impl/PendingMessageNewServiceImpl.java b/inside-notices/src/main/java/cn/axzo/msg/center/message/service/impl/PendingMessageNewServiceImpl.java index afa0e233..d8e6ddca 100644 --- a/inside-notices/src/main/java/cn/axzo/msg/center/message/service/impl/PendingMessageNewServiceImpl.java +++ b/inside-notices/src/main/java/cn/axzo/msg/center/message/service/impl/PendingMessageNewServiceImpl.java @@ -15,45 +15,24 @@ import cn.axzo.msg.center.common.exception.ServiceException; import cn.axzo.msg.center.common.utils.PageHelperUtil; import cn.axzo.msg.center.common.utils.PlaceholderResolver; import cn.axzo.msg.center.dal.PendingMessageRecordDao; +import cn.axzo.msg.center.dal.mapper.PendingMessageRecordMapper; +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.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.inside.notices.config.PendingCalendarCodeConfig; +import cn.axzo.msg.center.message.domain.dto.*; 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.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.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.CompletePendingMessageByIdRequest; -import cn.axzo.msg.center.service.pending.request.CompletePendingMessageRequest; -import cn.axzo.msg.center.service.pending.request.PendingMessagePageRequest; -import cn.axzo.msg.center.service.pending.request.PendingMessageQueryRequest; +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.service.pending.response.PendingMessageResponse; import cn.axzo.msg.center.service.pending.response.PushPendingMessageDTO; -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.axzo.msg.center.utils.*; import cn.azxo.framework.common.model.Page; import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSONObject; @@ -68,14 +47,7 @@ import org.apache.commons.lang3.StringUtils; import org.springframework.stereotype.Service; import java.time.LocalDateTime; -import java.util.Collection; -import java.util.Collections; -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.*; import java.util.function.Function; import java.util.stream.Collectors; @@ -92,11 +64,13 @@ import java.util.stream.Collectors; public class PendingMessageNewServiceImpl implements PendingMessageNewService { private final PendingMessageRecordDao pendingMessageRecordDao; + private final PendingMessageRecordMapper pendingMessageRecordMapper; private final MessageGroupNodeService messageGroupNodeService; private final MessageTemplateNewService messageTemplateNewService; private final MessageTemplateGroupService messageTemplateGroupService; private final WorkspaceApi workspaceApi; private final OrganizationalNodePractitionerWideApi organizationalNodePractitionerWideApi; + private final PendingCalendarCodeConfig calendarCodeConfig; @Override public List groupStatistic(MessageGroupNodeStatisticParam param) { @@ -191,6 +165,23 @@ public class PendingMessageNewServiceImpl implements PendingMessageNewService { return Page.toPage(request.getPage(), request.getPageSize(), result.getTotal(), responseRecords); } + @Override + public List getPendingMessageByAppWorker(PendingMessageFixedTemplatePageRequest request) { + List result = new ArrayList<>(); + PendingCalendarCodeDTO calendarCodeDTO = buildCalendarCodesDTO(calendarCodeConfig); + List pendingMessageRecords = pendingMessageRecordMapper.queryByTemplateCodes(calendarCodeDTO,request.getWorkspaceId(),request.getSelectDate()); + List messageTemplates = messageTemplateNewService.listByTemplateCodes(calendarCodeConfig.getCalendarAllCodes()); + result = pendingMessageRecords.stream() + .map(e -> convert(e, messageTemplates).toResponse(request.getTerminalType())) + .collect(Collectors.toList()); + // 构建分页结构返回 + return result; + } + + private PendingCalendarCodeDTO buildCalendarCodesDTO(PendingCalendarCodeConfig calendarCodeConfig) { + return new PendingCalendarCodeDTO(calendarCodeConfig.getConstructionCodes(),calendarCodeConfig.getClockInCodes(),calendarCodeConfig.getPunchInCodes(),calendarCodeConfig.getCalendarAllCodes()); + } + @Deprecated @Override public Page compatiblePageQuery(PendingMessagePageRequest request) { @@ -328,8 +319,30 @@ public class PendingMessageNewServiceImpl implements PendingMessageNewService { @Override public Boolean completeById(CompletePendingMessageByIdRequest param) { log.info("the [{}] record is updated complete by id.", param); + String bizExtParam = null; + if(StringUtils.isNotBlank(param.getBizExtParams())){ + MessageTemplateDTO msgTemplate = messageTemplateNewService + .queryEnableTemplateByCode(param.getTemplateCode()) + .orElseThrow(() -> new ServiceException("not found message template.")); + // 获取模板卡片信息 + List rawCardContentItems = msgTemplate.getMsgCardContentItems(); + List cardContentItems = rawCardContentItems; + if (CollectionUtils.isNotEmpty(rawCardContentItems)) { + // 克隆,避免修改入参 + cardContentItems = cardContentItems.stream() + .map(MessageCardContentItemDTO::deepClone) + .collect(Collectors.toList()); + cardContentItems.forEach(e -> { + String value = PlaceholderResolver.getDefaultResolver() + .resolveByMap(e.getValue(), JSON.parseObject(param.getBizExtParams())); + e.setValue(value); + }); + bizExtParam = JSON.toJSONString(cardContentItems); + } + } return pendingMessageRecordDao.lambdaUpdate() .set(PendingMessageRecord::getState, PendingMessageStateEnum.COMPLETED) + .set(StringUtils.isNotBlank(bizExtParam),PendingMessageRecord::getBizExtParam,bizExtParam) .eq(PendingMessageRecord::getId, param.getId()) .eq(PendingMessageRecord::getState, PendingMessageStateEnum.HAS_BEEN_SENT) .eq(PendingMessageRecord::getIsDelete, TableIsDeleteEnum.NORMAL.value) @@ -625,7 +638,23 @@ public class PendingMessageNewServiceImpl implements PendingMessageNewService { String title = PlaceholderResolver .getDefaultResolver().resolveByMap(msgTemplate.getTitle(), bizExtParam); String content = PlaceholderResolver - .getDefaultResolver().resolveByMap(msgTemplate.getContent(), bizExtParam); + .getDefaultResolver().resolveByMap(msgTemplate.getContent(), bizExtParam);; + // 获取模板卡片信息 + List rawCardContentItems = msgTemplate.getMsgCardContentItems(); + List cardContentItems = rawCardContentItems; + if (CollectionUtils.isNotEmpty(rawCardContentItems) && Objects.nonNull(record.getBizExtParam()) + && !record.getBizExtParam().isEmpty()) { + // 克隆,避免修改入参 + cardContentItems = cardContentItems.stream() + .map(MessageCardContentItemDTO::deepClone) + .collect(Collectors.toList()); + cardContentItems.forEach(e -> { + String value = PlaceholderResolver.getDefaultResolver() + .resolveByMap(e.getValue(), JSON.parseObject(record.getBizExtParam())); + e.setValue(value); + }); + record.setBizExtParam(JSON.toJSONString(cardContentItems)); + } record.setTitle(title); record.setContent(content); record.setTemplateCode(msgTemplate.getCode()); diff --git a/msg-center-api/src/main/java/cn/axzo/msg/center/service/pending/client/PendingMessageClient.java b/msg-center-api/src/main/java/cn/axzo/msg/center/service/pending/client/PendingMessageClient.java index 3f77cd00..923e7274 100644 --- a/msg-center-api/src/main/java/cn/axzo/msg/center/service/pending/client/PendingMessageClient.java +++ b/msg-center-api/src/main/java/cn/axzo/msg/center/service/pending/client/PendingMessageClient.java @@ -3,13 +3,7 @@ package cn.axzo.msg.center.service.pending.client; import cn.axzo.msg.center.api.response.MessageDetailRes; import cn.axzo.msg.center.service.enums.TerminalTypeEnum; import cn.axzo.msg.center.service.pending.client.fallback.PendingMessageClientFallback; -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.PendingMessageCountUncompletedRequest; -import cn.axzo.msg.center.service.pending.request.PendingMessagePageRequest; -import cn.axzo.msg.center.service.pending.request.PendingMessagePushRequest; -import cn.axzo.msg.center.service.pending.request.PendingMessageQueryRequest; -import cn.axzo.msg.center.service.pending.request.PendingMessageStatisticRequest; +import cn.axzo.msg.center.service.pending.request.*; import cn.axzo.msg.center.service.pending.response.PendingMessageResponse; import cn.axzo.msg.center.service.pending.response.PendingMessageStatisticResponse; import cn.axzo.msg.center.service.pending.response.PushPendingMessageDTO; @@ -66,6 +60,15 @@ public interface PendingMessageClient { @PostMapping(value = "/pending-message/record/page", produces = {MediaType.APPLICATION_JSON_VALUE}) CommonResponse> pageQuery(@RequestBody @Valid PendingMessagePageRequest request); + /** + * 指定几种代办模型列表分页查询 + * + * @param request 分页查询相关参数 + * @return 代办列表 + */ + @PostMapping(value = "/pending-message/getPendingMessageByAppWorker", produces = {MediaType.APPLICATION_JSON_VALUE}) + CommonResponse> getPendingMessageByAppWorker(@RequestBody @Valid PendingMessageFixedTemplatePageRequest request); + /** * 代办列表分页查询 * diff --git a/msg-center-api/src/main/java/cn/axzo/msg/center/service/pending/client/fallback/PendingMessageClientFallback.java b/msg-center-api/src/main/java/cn/axzo/msg/center/service/pending/client/fallback/PendingMessageClientFallback.java index a686bb09..4c5d19a4 100644 --- a/msg-center-api/src/main/java/cn/axzo/msg/center/service/pending/client/fallback/PendingMessageClientFallback.java +++ b/msg-center-api/src/main/java/cn/axzo/msg/center/service/pending/client/fallback/PendingMessageClientFallback.java @@ -3,13 +3,7 @@ package cn.axzo.msg.center.service.pending.client.fallback; import cn.axzo.msg.center.api.response.MessageDetailRes; import cn.axzo.msg.center.service.enums.TerminalTypeEnum; import cn.axzo.msg.center.service.pending.client.PendingMessageClient; -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.PendingMessageCountUncompletedRequest; -import cn.axzo.msg.center.service.pending.request.PendingMessagePageRequest; -import cn.axzo.msg.center.service.pending.request.PendingMessagePushRequest; -import cn.axzo.msg.center.service.pending.request.PendingMessageQueryRequest; -import cn.axzo.msg.center.service.pending.request.PendingMessageStatisticRequest; +import cn.axzo.msg.center.service.pending.request.*; import cn.axzo.msg.center.service.pending.response.PendingMessageResponse; import cn.axzo.msg.center.service.pending.response.PendingMessageStatisticResponse; import cn.axzo.msg.center.service.pending.response.PushPendingMessageDTO; @@ -49,6 +43,12 @@ public class PendingMessageClientFallback implements PendingMessageClient { return CommonResponse.error("fall back while page querying pending message"); } + @Override + public CommonResponse> getPendingMessageByAppWorker(PendingMessageFixedTemplatePageRequest request) { + log.error("fall back while page queryByTemplateCodes pending message. req:{}", request); + return CommonResponse.error("fall back while page queryByTemplateCodes pending message"); + } + @Override public CommonResponse> compatiblePageQuery(PendingMessagePageRequest request) { log.error("fall back while page querying pending message. req:{}", request); diff --git a/msg-center-api/src/main/java/cn/axzo/msg/center/service/pending/request/CompletePendingMessageByIdRequest.java b/msg-center-api/src/main/java/cn/axzo/msg/center/service/pending/request/CompletePendingMessageByIdRequest.java index afbf64cc..253436cd 100644 --- a/msg-center-api/src/main/java/cn/axzo/msg/center/service/pending/request/CompletePendingMessageByIdRequest.java +++ b/msg-center-api/src/main/java/cn/axzo/msg/center/service/pending/request/CompletePendingMessageByIdRequest.java @@ -21,4 +21,15 @@ public class CompletePendingMessageByIdRequest { */ @NotNull(message = "消息ID不能为空") private Long id; + + /** + * 业务扩展参数,JSON字符串格式 + */ + private String bizExtParams; + + /** + * 模板编码 + */ + private String templateCode; + } diff --git a/msg-center-api/src/main/java/cn/axzo/msg/center/service/pending/request/PendingMessageFixedTemplatePageRequest.java b/msg-center-api/src/main/java/cn/axzo/msg/center/service/pending/request/PendingMessageFixedTemplatePageRequest.java new file mode 100644 index 00000000..93e0ad29 --- /dev/null +++ b/msg-center-api/src/main/java/cn/axzo/msg/center/service/pending/request/PendingMessageFixedTemplatePageRequest.java @@ -0,0 +1,72 @@ +package cn.axzo.msg.center.service.pending.request; + +import cn.axzo.basics.common.page.PageRequest; +import cn.axzo.msg.center.service.enums.AppTerminalTypeEnum; +import cn.axzo.msg.center.service.enums.IdentityTypeEnum; +import cn.axzo.msg.center.service.enums.TerminalTypeEnum; +import com.alibaba.fastjson.JSON; +import lombok.Getter; +import lombok.Setter; + +import javax.validation.constraints.NotNull; +import java.io.Serializable; +import java.util.Date; + +/** + * @description + * 代办记录分页查询参数的数模型 + * @author cold_blade + * @date 2023/9/23 + * @version 1.0 + */ +@Setter +@Getter +public class PendingMessageFixedTemplatePageRequest implements Serializable { + + private static final long serialVersionUID = 7172093131252325437L; + /** + * 当前登录账户的自然id(前端不care) + */ + @NotNull(message = "personId is required") + private Long personId; + /** + * 当前登录账户的身份id(前端不care) + */ + private Long identityId; + /** + * 当前登录账户的身份类型(前端不care) + */ + private IdentityTypeEnum identityType; + /** + * 应用终端 + */ + private AppTerminalTypeEnum appTerminalType; + /** + * 单位id + */ + private Long ouId; + /** + * 筛选时间 + */ + @NotNull(message = "date is required") + private Date selectDate; + /** + * 工作台id + */ + private Long workspaceId; + /** + * APP终端类型(前端不care) + * WEB: web端页面 + * MINI_PROGRAM: 安心筑小程序端页面 + * IOS: 原生IOS端页面 + * ANDROID: 原生Android端页面 + * WEB_VIEW: H5页面 + * WECHAT_MINI_PROGRAM: 微信小程序页面 + */ + private TerminalTypeEnum terminalType; + + @Override + public String toString() { + return JSON.toJSONString(this); + } +} diff --git a/msg-center-api/src/main/java/cn/axzo/msg/center/service/pending/response/PendingMessageResponse.java b/msg-center-api/src/main/java/cn/axzo/msg/center/service/pending/response/PendingMessageResponse.java index 54b23ebc..ecd5c7e4 100644 --- a/msg-center-api/src/main/java/cn/axzo/msg/center/service/pending/response/PendingMessageResponse.java +++ b/msg-center-api/src/main/java/cn/axzo/msg/center/service/pending/response/PendingMessageResponse.java @@ -5,6 +5,7 @@ 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.enums.BizCategoryEnum; +import cn.axzo.msg.center.service.enums.PendingMessageStateEnum; import com.alibaba.fastjson.JSON; import lombok.AllArgsConstructor; import lombok.Builder; @@ -103,6 +104,10 @@ public class PendingMessageResponse implements Serializable { * 待办发起人的企业id */ private Long ouId; + /** + * 待办状态 + */ + private PendingMessageStateEnum state; /** * 业务类型 */ diff --git a/msg-center-dal/src/main/java/cn/axzo/msg/center/dal/mapper/PendingMessageRecordMapper.java b/msg-center-dal/src/main/java/cn/axzo/msg/center/dal/mapper/PendingMessageRecordMapper.java index 54d10b5c..fb52becc 100644 --- a/msg-center-dal/src/main/java/cn/axzo/msg/center/dal/mapper/PendingMessageRecordMapper.java +++ b/msg-center-dal/src/main/java/cn/axzo/msg/center/dal/mapper/PendingMessageRecordMapper.java @@ -1,7 +1,12 @@ 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.mapper.BaseMapper; +import org.apache.ibatis.annotations.Param; + +import java.util.Date; +import java.util.List; /** * @description @@ -11,4 +16,6 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper; * @version 1.0 */ public interface PendingMessageRecordMapper extends BaseMapper { + List queryByTemplateCodes(@Param("pendingCalendarCodeDTO") PendingCalendarCodeDTO pendingCalendarCodeDTO, @Param("workspaceId") Long workspaceId, @Param("selectDate") Date selectDate); } + diff --git a/msg-center-dal/src/main/resources/mapper/PendingMessageRecordMapper.xml b/msg-center-dal/src/main/resources/mapper/PendingMessageRecordMapper.xml new file mode 100644 index 00000000..baed12b7 --- /dev/null +++ b/msg-center-dal/src/main/resources/mapper/PendingMessageRecordMapper.xml @@ -0,0 +1,33 @@ + + + + + + + '${item}' + + + + + + + diff --git a/msg-center-domain/src/main/java/cn/axzo/msg/center/domain/dto/PendingCalendarCodeDTO.java b/msg-center-domain/src/main/java/cn/axzo/msg/center/domain/dto/PendingCalendarCodeDTO.java new file mode 100644 index 00000000..95f1cd12 --- /dev/null +++ b/msg-center-domain/src/main/java/cn/axzo/msg/center/domain/dto/PendingCalendarCodeDTO.java @@ -0,0 +1,15 @@ +package cn.axzo.msg.center.domain.dto; + +import lombok.AllArgsConstructor; +import lombok.Data; + +import java.util.List; + +@Data +@AllArgsConstructor +public class PendingCalendarCodeDTO{ + private List constructionCodes; + private List clockInCodes; + private List punchInCodes; + private List allCodes; +}