Merge branch 'feature/REQ-1507' of axzsource.com:universal/infrastructure/backend/msg-center-plat into dev
This commit is contained in:
commit
cc6ccd18f3
@ -10,6 +10,7 @@ import cn.axzo.msg.center.service.pending.client.PendingMessageClient;
|
||||
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.response.PendingMessageResponse;
|
||||
import cn.axzo.msg.center.service.pending.response.PendingMessageStatisticResponse;
|
||||
@ -56,6 +57,11 @@ public class PendingMessageNewController implements PendingMessageClient {
|
||||
return CommonResponse.success(pendingMessageNewService.pageQuery(request));
|
||||
}
|
||||
|
||||
@Override
|
||||
public CommonResponse<PendingMessageResponse> query(PendingMessageQueryRequest request) {
|
||||
return CommonResponse.success(pendingMessageNewService.query(request));
|
||||
}
|
||||
|
||||
@Override
|
||||
public CommonResponse<PendingMessageResponse> detail(String msgIdentityCode, TerminalTypeEnum terminalType) {
|
||||
PendingMessageDTO pendingMessage = pendingMessageNewService.detail(msgIdentityCode, terminalType)
|
||||
|
||||
@ -6,6 +6,7 @@ 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.PendingMessagePageRequest;
|
||||
import cn.axzo.msg.center.service.pending.request.PendingMessageQueryRequest;
|
||||
import cn.axzo.msg.center.service.pending.response.PendingMessageResponse;
|
||||
import cn.azxo.framework.common.model.Page;
|
||||
|
||||
@ -45,6 +46,14 @@ public interface PendingMessageNewService {
|
||||
*/
|
||||
Page<PendingMessageResponse> pageQuery(PendingMessagePageRequest request);
|
||||
|
||||
/**
|
||||
* 代办列表指定item查询
|
||||
*
|
||||
* @param request 查询相关参数
|
||||
* @return 指定的item数据
|
||||
*/
|
||||
PendingMessageResponse query(PendingMessageQueryRequest request);
|
||||
|
||||
/**
|
||||
* 查询代办详情
|
||||
*
|
||||
|
||||
@ -31,6 +31,7 @@ import cn.axzo.msg.center.service.enums.PendingMessageRoleCategoryEnum;
|
||||
import cn.axzo.msg.center.service.enums.PendingMessageStateEnum;
|
||||
import cn.axzo.msg.center.service.enums.TerminalTypeEnum;
|
||||
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.response.PendingMessageResponse;
|
||||
import cn.axzo.msg.center.utils.JSONObjectUtil;
|
||||
import cn.axzo.msg.center.utils.MessageCardUtil;
|
||||
@ -130,6 +131,18 @@ public class PendingMessageNewServiceImpl implements PendingMessageNewService {
|
||||
return Page.toPage(request.getPage(), request.getPageSize(), result.getTotal(), responseRecords);
|
||||
}
|
||||
|
||||
@Override
|
||||
public PendingMessageResponse query(PendingMessageQueryRequest request) {
|
||||
return pendingMessageRecordDao.queryByIdentityCode(request.getMsgIdentityCode())
|
||||
.filter(v -> filter(v, request))
|
||||
.map(v -> {
|
||||
List<MessageTemplateDTO> messageTemplates = messageTemplateNewService
|
||||
.listByTemplateCodes(Lists.newArrayList(v.getTemplateCode()));
|
||||
return convert(v, messageTemplates).toResponse(request.getTerminalType());
|
||||
})
|
||||
.orElse(null);
|
||||
}
|
||||
|
||||
@Override
|
||||
public Optional<PendingMessageDTO> detail(String msgIdentityCode, TerminalTypeEnum terminalType) {
|
||||
if (StringUtils.isBlank(msgIdentityCode)) {
|
||||
@ -143,8 +156,7 @@ public class PendingMessageNewServiceImpl implements PendingMessageNewService {
|
||||
}
|
||||
List<MessageTemplateDTO> messageTemplates = messageTemplateNewService
|
||||
.listByTemplateCodes(Lists.newArrayList(record.getTemplateCode()));
|
||||
return pendingMessageRecordDao.queryByIdentityCode(msgIdentityCode)
|
||||
.map(v -> convert(v, messageTemplates));
|
||||
return Optional.of(convert(record, messageTemplates));
|
||||
}
|
||||
|
||||
@Override
|
||||
@ -368,4 +380,21 @@ public class PendingMessageNewServiceImpl implements PendingMessageNewService {
|
||||
record.setBizFinalState(param.getBizFinalState());
|
||||
record.setDeadline(param.getDeadline());
|
||||
}
|
||||
|
||||
private boolean filter(PendingMessageRecord pendingMessage, PendingMessageQueryRequest request) {
|
||||
if (Objects.nonNull(request.getBizFinalState())
|
||||
&& !request.getBizFinalState().equals(pendingMessage.getBizFinalState())) {
|
||||
return false;
|
||||
}
|
||||
if (Objects.nonNull(request.getMsgState())
|
||||
&& !request.getMsgState().equals(pendingMessage.getState())) {
|
||||
return false;
|
||||
}
|
||||
if (StringUtils.isNotBlank(request.getTitle())
|
||||
&& !pendingMessage.getTitle().contains(request.getTitle())) {
|
||||
return false;
|
||||
}
|
||||
return Objects.isNull(request.getWorkspaceId())
|
||||
|| Objects.equals(request.getWorkspaceId(), pendingMessage.getOrgId());
|
||||
}
|
||||
}
|
||||
|
||||
@ -5,6 +5,7 @@ import cn.axzo.msg.center.service.pending.client.fallback.PendingMessageClientFa
|
||||
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.response.PendingMessageResponse;
|
||||
import cn.axzo.msg.center.service.pending.response.PendingMessageStatisticResponse;
|
||||
@ -61,6 +62,15 @@ public interface PendingMessageClient {
|
||||
@PostMapping(value = "/pending-message/record/page", produces = {MediaType.APPLICATION_JSON_VALUE})
|
||||
CommonResponse<Page<PendingMessageResponse>> pageQuery(@RequestBody @Valid PendingMessagePageRequest request);
|
||||
|
||||
/**
|
||||
* 代办列表指定item查询
|
||||
*
|
||||
* @param request 查询相关参数
|
||||
* @return 指定的item数据
|
||||
*/
|
||||
@PostMapping(value = "/pending-message/record/query", produces = {MediaType.APPLICATION_JSON_VALUE})
|
||||
CommonResponse<PendingMessageResponse> query(@RequestBody @Valid PendingMessageQueryRequest request);
|
||||
|
||||
/**
|
||||
* 查询代办详情
|
||||
*
|
||||
|
||||
@ -5,6 +5,7 @@ import cn.axzo.msg.center.service.pending.client.PendingMessageClient;
|
||||
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.response.PendingMessageResponse;
|
||||
import cn.axzo.msg.center.service.pending.response.PendingMessageStatisticResponse;
|
||||
@ -44,6 +45,12 @@ public class PendingMessageClientFallback implements PendingMessageClient {
|
||||
return CommonResponse.error("fall back while page querying pending message");
|
||||
}
|
||||
|
||||
@Override
|
||||
public CommonResponse<PendingMessageResponse> query(PendingMessageQueryRequest request) {
|
||||
log.error("fall back while querying pending message. req:{}", request);
|
||||
return CommonResponse.error("fall back while querying pending message");
|
||||
}
|
||||
|
||||
@Override
|
||||
public CommonResponse<PendingMessageResponse> detail(String msgIdentityCode, TerminalTypeEnum terminalType) {
|
||||
log.error("fall back while querying pending message. msgIdentityCode:[{}], terminalType:[{}]",
|
||||
|
||||
@ -0,0 +1,70 @@
|
||||
package cn.axzo.msg.center.service.pending.request;
|
||||
|
||||
import cn.axzo.msg.center.service.enums.BizFinalStateEnum;
|
||||
import cn.axzo.msg.center.service.enums.PendingMessageStateEnum;
|
||||
import cn.axzo.msg.center.service.enums.TerminalTypeEnum;
|
||||
import com.alibaba.fastjson.JSON;
|
||||
import lombok.Getter;
|
||||
import lombok.Setter;
|
||||
|
||||
import javax.validation.constraints.NotBlank;
|
||||
import java.io.Serializable;
|
||||
|
||||
/**
|
||||
* @description
|
||||
* 代办记录查询参数的数模型
|
||||
* @author cold_blade
|
||||
* @date 2023/9/23
|
||||
* @version 1.0
|
||||
*/
|
||||
@Setter
|
||||
@Getter
|
||||
public class PendingMessageQueryRequest implements Serializable {
|
||||
|
||||
private static final long serialVersionUID = 3981382821433771344L;
|
||||
|
||||
/**
|
||||
* APP终端类型(前端不care)
|
||||
* WEB: web端页面
|
||||
* MINI_PROGRAM: 安心筑小程序端页面
|
||||
* IOS: 原生IOS端页面
|
||||
* ANDROID: 原生Android端页面
|
||||
* WEB_VIEW: H5页面
|
||||
* WECHAT_MINI_PROGRAM: 微信小程序页面
|
||||
*/
|
||||
private TerminalTypeEnum terminalType;
|
||||
/**
|
||||
* 代办消息状态
|
||||
* UNSENT: 未发送
|
||||
* HAS_BEEN_SENT: 已发送
|
||||
* COMPLETED: 已办
|
||||
* RETRACT: 已撤回
|
||||
* DELETED: 已删除
|
||||
*/
|
||||
private PendingMessageStateEnum msgState;
|
||||
/**
|
||||
* COMPLETED: 已处理
|
||||
* RETRACT: 已撤销
|
||||
* PASSED: 已通过
|
||||
* REJECTED: 已拒绝
|
||||
*/
|
||||
private BizFinalStateEnum bizFinalState;
|
||||
/**
|
||||
* 消息标题
|
||||
*/
|
||||
private String title;
|
||||
/**
|
||||
* 工作台id
|
||||
*/
|
||||
private Long workspaceId;
|
||||
/**
|
||||
* 待办消息记录的唯一标识
|
||||
*/
|
||||
@NotBlank(message = "msgIdentityCode is required")
|
||||
private String msgIdentityCode;
|
||||
|
||||
@Override
|
||||
public String toString() {
|
||||
return JSON.toJSONString(this);
|
||||
}
|
||||
}
|
||||
Loading…
Reference in New Issue
Block a user