Merge branch 'feature/REQ-1634' into 'dev'
Feature/req 1634 See merge request universal/infrastructure/backend/msg-center-plat!87
This commit is contained in:
commit
ac4d1a97ac
@ -117,10 +117,6 @@
|
||||
<groupId>cn.axzo.apollo</groupId>
|
||||
<artifactId>apollo-workspace-api</artifactId>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>cn.axzo.basics</groupId>
|
||||
<artifactId>basics-profiles-api</artifactId>
|
||||
</dependency>
|
||||
</dependencies>
|
||||
|
||||
</project>
|
||||
@ -1,6 +1,5 @@
|
||||
package cn.axzo.msg.center.message.controller;
|
||||
|
||||
import cn.axzo.framework.auth.annotation.PreBuildContext;
|
||||
import cn.axzo.msg.center.api.response.MessageDetailRes;
|
||||
import cn.axzo.msg.center.message.domain.dto.PendingMessageDTO;
|
||||
import cn.axzo.msg.center.message.domain.dto.PendingMessageStatisticDTO;
|
||||
@ -12,16 +11,12 @@ import cn.axzo.msg.center.service.pending.client.PendingMessageClient;
|
||||
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.PendingMessageWorkerResponse;
|
||||
import cn.axzo.msg.center.service.pending.response.PushPendingMessageDTO;
|
||||
import cn.azxo.framework.common.model.CommonResponse;
|
||||
import cn.azxo.framework.common.model.Page;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
import org.springframework.web.bind.annotation.PostMapping;
|
||||
import org.springframework.web.bind.annotation.RequestBody;
|
||||
import org.springframework.web.bind.annotation.RestController;
|
||||
|
||||
import javax.validation.Valid;
|
||||
import java.util.List;
|
||||
import java.util.Objects;
|
||||
import java.util.stream.Collectors;
|
||||
@ -35,7 +30,6 @@ import java.util.stream.Collectors;
|
||||
*/
|
||||
@RestController
|
||||
@RequiredArgsConstructor
|
||||
@PreBuildContext
|
||||
public class PendingMessageNewController implements PendingMessageClient {
|
||||
|
||||
private final PendingMessageNewService pendingMessageNewService;
|
||||
@ -61,6 +55,11 @@ public class PendingMessageNewController implements PendingMessageClient {
|
||||
return CommonResponse.success(pendingMessageNewService.pageQuery(request));
|
||||
}
|
||||
|
||||
@Override
|
||||
public CommonResponse<List<PendingMessageResponse>> getPendingMessageByAppWorker(PendingMessageFixedTemplatePageRequest request) {
|
||||
return CommonResponse.success(pendingMessageNewService.getPendingMessageByAppWorker(request));
|
||||
}
|
||||
|
||||
@Override
|
||||
public CommonResponse<Page<MessageDetailRes>> compatiblePageQuery(PendingMessagePageRequest request) {
|
||||
return CommonResponse.success(pendingMessageNewService.compatiblePageQuery(request));
|
||||
@ -110,15 +109,4 @@ public class PendingMessageNewController implements PendingMessageClient {
|
||||
public CommonResponse<Boolean> revokeByTemplateCodeBizCode(CompletePendingMessageRequest param) {
|
||||
return CommonResponse.success(pendingMessageNewService.revokeByTemplateCodeBizCode(param));
|
||||
}
|
||||
|
||||
/**
|
||||
* 指定几种代办模型列表分页查询
|
||||
*
|
||||
* @param request 分页查询相关参数
|
||||
* @return 代办列表
|
||||
*/
|
||||
@PostMapping("/pending-message/getPendingMessageByAppWorker")
|
||||
public CommonResponse<List<PendingMessageWorkerResponse>> getPendingMessageByAppWorker(@Valid @RequestBody PendingMessageFixedTemplatePageRequest request) {
|
||||
return CommonResponse.success(pendingMessageNewService.getPendingMessageByAppWorker(request));
|
||||
}
|
||||
}
|
||||
|
||||
@ -8,7 +8,6 @@ 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.*;
|
||||
import cn.axzo.msg.center.service.pending.response.PendingMessageResponse;
|
||||
import cn.axzo.msg.center.service.pending.response.PendingMessageWorkerResponse;
|
||||
import cn.axzo.msg.center.service.pending.response.PushPendingMessageDTO;
|
||||
import cn.azxo.framework.common.model.Page;
|
||||
|
||||
@ -64,7 +63,7 @@ public interface PendingMessageNewService {
|
||||
* @param request 分页查询相关参数
|
||||
* @return 代办列表
|
||||
*/
|
||||
List<PendingMessageWorkerResponse> getPendingMessageByAppWorker(PendingMessageFixedTemplatePageRequest request);
|
||||
List<PendingMessageResponse> getPendingMessageByAppWorker(PendingMessageFixedTemplatePageRequest request);
|
||||
|
||||
/**
|
||||
* 代办列表分页查询
|
||||
|
||||
@ -1,38 +0,0 @@
|
||||
package cn.axzo.msg.center.message.service.impl;
|
||||
|
||||
import cn.axzo.basics.common.util.AssertUtil;
|
||||
import cn.axzo.framework.auth.domain.TerminalInfo;
|
||||
import cn.axzo.msg.center.service.enums.AppTerminalTypeEnum;
|
||||
import lombok.AccessLevel;
|
||||
import lombok.NoArgsConstructor;
|
||||
|
||||
/**
|
||||
* @author cold_blade
|
||||
* @date 2023/11/9
|
||||
* @version 1.0
|
||||
*/
|
||||
@NoArgsConstructor(access = AccessLevel.PRIVATE)
|
||||
public final class AppTerminalHelper {
|
||||
|
||||
public static AppTerminalTypeEnum parseTerminalInfo(TerminalInfo terminalInfo) {
|
||||
AssertUtil.notNull(terminalInfo, "terminalInfo can not be null");
|
||||
if (terminalInfo.isOMS_WEB()) {
|
||||
return AppTerminalTypeEnum.OMS_WEB_PC;
|
||||
}
|
||||
if (terminalInfo.isCMS()) {
|
||||
return AppTerminalTypeEnum.CMS_WEB_PC;
|
||||
}
|
||||
if (isCMP(terminalInfo)) {
|
||||
return AppTerminalTypeEnum.B_ENTERPRISE_APP;
|
||||
}
|
||||
if (terminalInfo.isCM()) {
|
||||
return AppTerminalTypeEnum.C_WORKER_APP;
|
||||
}
|
||||
return null;
|
||||
}
|
||||
|
||||
private static boolean isCMP(TerminalInfo terminalInfo) {
|
||||
return terminalInfo.isCMP() ||
|
||||
terminalInfo.isCM_APP_CM_LEADER();
|
||||
}
|
||||
}
|
||||
@ -6,9 +6,6 @@ import cn.axzo.apollo.workspace.api.workspace.WorkspaceApi;
|
||||
import cn.axzo.apollo.workspace.api.workspace.req.OrganizationalNodePractitionerWideReqParams;
|
||||
import cn.axzo.apollo.workspace.api.workspace.res.OrganizationalNodePractitionerWideDto;
|
||||
import cn.axzo.apollo.workspace.api.workspace.res.SimpleWorkspaceRes;
|
||||
import cn.axzo.basics.profiles.api.UserProfileServiceApi;
|
||||
import cn.axzo.basics.profiles.dto.basic.PersonProfileDto;
|
||||
import cn.axzo.framework.auth.domain.ContextInfoHolder;
|
||||
import cn.axzo.framework.core.util.MapUtil;
|
||||
import cn.axzo.msg.center.api.enums.MsgRecordTerminalTypeEnum;
|
||||
import cn.axzo.msg.center.api.enums.MsgStateEnum;
|
||||
@ -34,17 +31,14 @@ 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.PendingMessageWorkerResponse;
|
||||
import cn.axzo.msg.center.service.pending.response.PushPendingMessageDTO;
|
||||
import cn.axzo.msg.center.utils.*;
|
||||
import cn.azxo.framework.common.model.CommonResponse;
|
||||
import cn.azxo.framework.common.model.Page;
|
||||
import com.alibaba.fastjson.JSON;
|
||||
import com.alibaba.fastjson.JSONObject;
|
||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||
import com.baomidou.mybatisplus.core.toolkit.support.SFunction;
|
||||
import com.baomidou.mybatisplus.extension.conditions.query.LambdaQueryChainWrapper;
|
||||
import com.google.common.collect.ImmutableSet;
|
||||
import com.google.common.collect.Lists;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
@ -52,10 +46,7 @@ import org.apache.commons.collections.CollectionUtils;
|
||||
import org.apache.commons.lang3.StringUtils;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
import java.time.Instant;
|
||||
import java.time.LocalDateTime;
|
||||
import java.time.ZoneId;
|
||||
import java.time.format.DateTimeFormatter;
|
||||
import java.util.*;
|
||||
import java.util.function.Function;
|
||||
import java.util.stream.Collectors;
|
||||
@ -80,17 +71,6 @@ public class PendingMessageNewServiceImpl implements PendingMessageNewService {
|
||||
private final WorkspaceApi workspaceApi;
|
||||
private final OrganizationalNodePractitionerWideApi organizationalNodePractitionerWideApi;
|
||||
private final PendingCalendarCodeConfig calendarCodeConfig;
|
||||
private final UserProfileServiceApi userProfileServiceApi;
|
||||
|
||||
private static final ImmutableSet<String> CLOCK_IN_TEMPLATES = ImmutableSet.of(
|
||||
// todo wuyu 进场打卡code
|
||||
"xxx"
|
||||
);
|
||||
|
||||
private static final ImmutableSet<String> CONSTRUCTION_TEMPLATES = ImmutableSet.of(
|
||||
"d1d4793c84e14d20ae1cbc399338efa3",
|
||||
"367ba552bb374049a73e737ac3b8b08c"
|
||||
);
|
||||
|
||||
@Override
|
||||
public List<PendingMessageStatisticDTO> groupStatistic(MessageGroupNodeStatisticParam param) {
|
||||
@ -186,87 +166,16 @@ public class PendingMessageNewServiceImpl implements PendingMessageNewService {
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<PendingMessageWorkerResponse> getPendingMessageByAppWorker(PendingMessageFixedTemplatePageRequest request1) {
|
||||
PendingMessageFixedDTO request = new PendingMessageFixedDTO();
|
||||
Long personId = ContextInfoHolder.get().getUserInfo().getPersonId();
|
||||
request.setPersonId(personId);
|
||||
buildTerminalInfo(request);
|
||||
public List<PendingMessageResponse> getPendingMessageByAppWorker(PendingMessageFixedTemplatePageRequest request) {
|
||||
List<PendingMessageResponse> result = new ArrayList<>();
|
||||
PendingCalendarCodeDTO calendarCodeDTO = buildCalendarCodesDTO(calendarCodeConfig);
|
||||
Long selectDate = request1.getSelectDate();
|
||||
Date date = new Date(selectDate);
|
||||
List<PendingMessageRecord> pendingMessageRecords = pendingMessageRecordMapper.queryByTemplateCodes(calendarCodeDTO,null,date,request.getPersonId());
|
||||
List<PendingMessageRecord> pendingMessageRecords = pendingMessageRecordMapper.queryByTemplateCodes(calendarCodeDTO,request.getWorkspaceId(),request.getSelectDate(),request.getPersonId());
|
||||
List<MessageTemplateDTO> messageTemplates = messageTemplateNewService.listByTemplateCodes(calendarCodeConfig.getCalendarAllCodes());
|
||||
result = pendingMessageRecords.stream()
|
||||
.map(e -> convert(e, messageTemplates).toResponse(request.getTerminalType()))
|
||||
.collect(Collectors.toList());
|
||||
// 处理结果
|
||||
List<Long> personIds = result.stream()
|
||||
.map(PendingMessageResponse::getPromoterPersonId)
|
||||
// 过滤掉系统类型的用户
|
||||
.filter(e -> Objects.nonNull(e) && e > 0L)
|
||||
.distinct()
|
||||
.collect(Collectors.toList());
|
||||
Map<Long, PersonProfileDto> personNameMap = listPersonProfiles(personIds);
|
||||
List<PendingMessageWorkerResponse> result1 = result.stream()
|
||||
.map(e -> {
|
||||
PendingMessageWorkerResponse response = PendingMessageWorkerResponse.from(e);
|
||||
response.setPendingMessageIcon("https://axzo-public.oss-cn-chengdu.aliyuncs.com/oms/test/1700117137592-IMG_0640.HEIC.JPG.JPG");
|
||||
if(e.getState() == PendingMessageStateEnum.COMPLETED){
|
||||
response.setPendingMessageStatus(1);
|
||||
response.setButtonDesc("已完成");
|
||||
}else if(e.getState() == PendingMessageStateEnum.HAS_BEEN_SENT){
|
||||
response.setPendingMessageStatus(2);
|
||||
response.setButtonDesc("去处理");
|
||||
}else{
|
||||
response.setPendingMessageStatus(1);
|
||||
response.setButtonDesc("未知状态");
|
||||
}
|
||||
if (CONSTRUCTION_TEMPLATES.contains(e.getTemplateCode())) {
|
||||
PersonProfileDto personProfile = personNameMap.get(e.getPromoterPersonId());
|
||||
String avatarUrl = null;
|
||||
if (Objects.nonNull(personProfile)) {
|
||||
avatarUrl = personProfile.getAvatarUrl();
|
||||
}
|
||||
Long createTimestamp = e.getCreateTimestamp();
|
||||
String desc = Instant.ofEpochMilli(createTimestamp).atZone(ZoneId.of("Asia/Shanghai")).format(DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss"));
|
||||
response.setMessageCommonHandleInfo(PendingMessageWorkerResponse.MessageCommonHandleInfo.from(avatarUrl, desc, 1));
|
||||
} else if (CLOCK_IN_TEMPLATES.contains(e.getTemplateCode())) {
|
||||
// 进场打卡只展示 打卡时间
|
||||
String desc = "打卡时间:xxx";
|
||||
response.setMessageCommonHandleInfo(PendingMessageWorkerResponse.MessageCommonHandleInfo.from(null, desc, 1));
|
||||
}
|
||||
return response;
|
||||
}).collect(Collectors.toList());
|
||||
return result1;
|
||||
}
|
||||
|
||||
private Map<Long, PersonProfileDto> listPersonProfiles(List<Long> personIds) {
|
||||
List<Long> subPersonIds = personIds.stream().filter(e -> e > 0L).collect(Collectors.toList());
|
||||
if (subPersonIds.isEmpty()) {
|
||||
log.info("there is not any valid person id.");
|
||||
return Collections.emptyMap();
|
||||
}
|
||||
try {
|
||||
CommonResponse<List<PersonProfileDto>> personProfiles = userProfileServiceApi.getPersonProfiles(personIds);
|
||||
List<PersonProfileDto> personProfileDto = personProfiles.getData();
|
||||
if (null != personProfiles && CollectionUtils.isNotEmpty(personProfileDto)) {
|
||||
return personProfileDto.stream()
|
||||
.collect(Collectors.toMap(PersonProfileDto::getId, Function.identity()));
|
||||
}
|
||||
} catch (Exception e) {
|
||||
log.info("通过自然人id获取姓名失败:{}", e.getMessage());
|
||||
}
|
||||
return Collections.emptyMap();
|
||||
}
|
||||
|
||||
private void buildTerminalInfo(PendingMessageFixedDTO request) {
|
||||
TerminalTypeEnum terminalType = TerminalTypeEnum
|
||||
.descOf(ContextInfoHolder.get().getSystemAndDeviceInfo().getSystemType());
|
||||
request.setTerminalType(terminalType);
|
||||
AppTerminalTypeEnum appTerminalType = AppTerminalHelper
|
||||
.parseTerminalInfo(ContextInfoHolder.get().getTerminalInfo());
|
||||
request.setAppTerminalType(appTerminalType);
|
||||
// 构建分页结构返回
|
||||
return result;
|
||||
}
|
||||
|
||||
private PendingCalendarCodeDTO buildCalendarCodesDTO(PendingCalendarCodeConfig calendarCodeConfig) {
|
||||
|
||||
@ -6,7 +6,6 @@ import cn.axzo.msg.center.service.pending.client.fallback.PendingMessageClientFa
|
||||
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.PendingMessageWorkerResponse;
|
||||
import cn.axzo.msg.center.service.pending.response.PushPendingMessageDTO;
|
||||
import cn.azxo.framework.common.model.CommonResponse;
|
||||
import cn.azxo.framework.common.model.Page;
|
||||
@ -61,6 +60,15 @@ public interface PendingMessageClient {
|
||||
@PostMapping(value = "/pending-message/record/page", produces = {MediaType.APPLICATION_JSON_VALUE})
|
||||
CommonResponse<Page<PendingMessageResponse>> pageQuery(@RequestBody @Valid PendingMessagePageRequest request);
|
||||
|
||||
/**
|
||||
* 指定几种代办模型列表分页查询
|
||||
*
|
||||
* @param request 分页查询相关参数
|
||||
* @return 代办列表
|
||||
*/
|
||||
@PostMapping(value = "/pending-message/getPendingMessageByAppWorker", produces = {MediaType.APPLICATION_JSON_VALUE})
|
||||
CommonResponse<List<PendingMessageResponse>> getPendingMessageByAppWorker(@RequestBody @Valid PendingMessageFixedTemplatePageRequest request);
|
||||
|
||||
/**
|
||||
* 代办列表分页查询
|
||||
*
|
||||
|
||||
@ -6,7 +6,6 @@ import cn.axzo.msg.center.service.pending.client.PendingMessageClient;
|
||||
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.PendingMessageWorkerResponse;
|
||||
import cn.axzo.msg.center.service.pending.response.PushPendingMessageDTO;
|
||||
import cn.azxo.framework.common.model.CommonResponse;
|
||||
import cn.azxo.framework.common.model.Page;
|
||||
@ -44,6 +43,12 @@ public class PendingMessageClientFallback implements PendingMessageClient {
|
||||
return CommonResponse.error("fall back while page querying pending message");
|
||||
}
|
||||
|
||||
@Override
|
||||
public CommonResponse<List<PendingMessageResponse>> 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<Page<MessageDetailRes>> compatiblePageQuery(PendingMessagePageRequest request) {
|
||||
log.error("fall back while page querying pending message. req:{}", request);
|
||||
|
||||
@ -1,33 +0,0 @@
|
||||
package cn.axzo.msg.center.service.pending.request;
|
||||
|
||||
import cn.axzo.msg.center.service.enums.AppTerminalTypeEnum;
|
||||
import cn.axzo.msg.center.service.enums.TerminalTypeEnum;
|
||||
import lombok.Getter;
|
||||
import lombok.Setter;
|
||||
|
||||
import javax.validation.constraints.NotNull;
|
||||
import java.io.Serializable;
|
||||
|
||||
/**
|
||||
* @description
|
||||
* 代办记录分页查询参数的数模型
|
||||
* @author cold_blade
|
||||
* @date 2023/9/23
|
||||
* @version 1.0
|
||||
*/
|
||||
@Setter
|
||||
@Getter
|
||||
public class PendingMessageFixedDTO implements Serializable {
|
||||
|
||||
private static final long serialVersionUID = 7172093131252325471L;
|
||||
/**
|
||||
* 筛选时间
|
||||
*/
|
||||
private Long selectDate;
|
||||
|
||||
private Long personId;
|
||||
|
||||
private TerminalTypeEnum terminalType;
|
||||
|
||||
private AppTerminalTypeEnum appTerminalType;
|
||||
}
|
||||
@ -1,11 +1,16 @@
|
||||
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
|
||||
@ -18,12 +23,47 @@ import java.io.Serializable;
|
||||
@Getter
|
||||
public class PendingMessageFixedTemplatePageRequest implements Serializable {
|
||||
|
||||
private static final long serialVersionUID = 7172093131252325471L;
|
||||
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 Long selectDate;
|
||||
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() {
|
||||
|
||||
@ -1,106 +0,0 @@
|
||||
package cn.axzo.msg.center.service.pending.response;
|
||||
|
||||
import cn.axzo.core.utils.converter.BeanConverter;
|
||||
import cn.axzo.msg.center.service.dto.DetailRouterDTO;
|
||||
import cn.axzo.msg.center.service.dto.MessageCardContentItemDTO;
|
||||
import com.alibaba.fastjson.JSON;
|
||||
import lombok.*;
|
||||
|
||||
import java.io.Serializable;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* @author cold_blade
|
||||
* @date 2023/10/6
|
||||
* @version 1.0
|
||||
*/
|
||||
@Setter
|
||||
@Getter
|
||||
@Builder
|
||||
@NoArgsConstructor
|
||||
@AllArgsConstructor
|
||||
public class PendingMessageWorkerResponse implements Serializable {
|
||||
|
||||
private static final long serialVersionUID = -8149077075270743771L;
|
||||
|
||||
/**
|
||||
* 消息的唯一标识
|
||||
*/
|
||||
private String identityCode;
|
||||
/**
|
||||
* 模板编码
|
||||
*/
|
||||
private String templateCode;
|
||||
/**
|
||||
* 消息标题
|
||||
*/
|
||||
private String title;
|
||||
/**
|
||||
* 消息内容
|
||||
*/
|
||||
private String content;
|
||||
/**
|
||||
* 卡片内容
|
||||
*/
|
||||
private List<MessageCardContentItemDTO> cardItems;
|
||||
|
||||
/**
|
||||
* 代办记录通用信息处理 -- 包含头像、时间、打卡时间
|
||||
*/
|
||||
private MessageCommonHandleInfo messageCommonHandleInfo;
|
||||
|
||||
/**
|
||||
* 工作台id
|
||||
*/
|
||||
private Long workspaceId;
|
||||
/**
|
||||
* 工作台名称
|
||||
*/
|
||||
private String workspaceName;
|
||||
/**
|
||||
* 业务详情路由
|
||||
*/
|
||||
private DetailRouterDTO detailRouter;
|
||||
/**
|
||||
* 待办消息图标
|
||||
*/
|
||||
private String pendingMessageIcon;
|
||||
/**
|
||||
* 待办按钮文案 -- 去处理 | 已打卡 |已完成
|
||||
*/
|
||||
private String buttonDesc;
|
||||
/**
|
||||
* 待办状态 -- 1:已完成,2:未完成
|
||||
*/
|
||||
private Integer pendingMessageStatus;
|
||||
|
||||
public static PendingMessageWorkerResponse from(PendingMessageResponse response) {
|
||||
return BeanConverter.convert(response, PendingMessageWorkerResponse.class);
|
||||
}
|
||||
|
||||
@Setter
|
||||
@Getter
|
||||
@Builder
|
||||
public static class MessageCommonHandleInfo{
|
||||
/**
|
||||
* 通用头像
|
||||
*/
|
||||
private String commonIcon;
|
||||
/**
|
||||
* 描述
|
||||
*/
|
||||
private String desc;
|
||||
/**
|
||||
* 待办状态:1:今日待办 2:历史待办
|
||||
*/
|
||||
private Integer status;
|
||||
|
||||
public static MessageCommonHandleInfo from(String avatarUrl, String desc, int status) {
|
||||
return MessageCommonHandleInfo.builder().commonIcon(avatarUrl).desc(desc).status(status).build(); }
|
||||
}
|
||||
|
||||
@Override
|
||||
public String toString() {
|
||||
return JSON.toJSONString(this);
|
||||
}
|
||||
}
|
||||
@ -19,7 +19,7 @@ import org.springframework.scheduling.annotation.EnableAsync;
|
||||
@Slf4j
|
||||
@MapperScan(value = {"cn.axzo.msg.center.dal"})
|
||||
@SpringBootApplication(scanBasePackages = {"cn.axzo.msg"})
|
||||
@EnableFeignClients(basePackages = "cn.axzo")
|
||||
@EnableFeignClients(basePackages = "cn.axzo.log")
|
||||
/*@EnableAsync*/
|
||||
public class MsgCenterApplication {
|
||||
public static void main(String[] args) {
|
||||
|
||||
Loading…
Reference in New Issue
Block a user