feat:(REQ-3201) 代办-发送卡片#优化卡片样式详情
This commit is contained in:
parent
b27928f8e2
commit
b164d147b3
@ -169,6 +169,9 @@ public class MessageTemplateV3SaveOrUpdateParam implements Serializable {
|
||||
*/
|
||||
private String updatePersonName;
|
||||
|
||||
/**
|
||||
* 校验
|
||||
*/
|
||||
public void checkCreate() {
|
||||
//1 流程待办,暂不能使用IM通道
|
||||
switch (this.getMsgCategory()) {
|
||||
|
||||
@ -0,0 +1,74 @@
|
||||
package cn.axzo.msg.center.message.service.todo;
|
||||
|
||||
import cn.axzo.msg.center.message.domain.param.PendingMessagePushParam;
|
||||
import cn.axzo.msg.center.message.service.card.CardManager;
|
||||
import cn.axzo.msg.center.message.service.todo.manage.TodoRequestContext;
|
||||
import cn.axzo.msg.center.service.dto.PeerPerson;
|
||||
import cn.axzo.msg.center.service.dto.PersonDTO;
|
||||
import cn.axzo.msg.center.service.pending.request.CardSendRequest;
|
||||
import cn.axzo.msg.center.service.pending.request.CardStateInfo;
|
||||
import com.alibaba.excel.util.StringUtils;
|
||||
import com.alibaba.fastjson.JSON;
|
||||
import com.google.common.collect.Sets;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.apache.commons.collections.CollectionUtils;
|
||||
import org.springframework.stereotype.Component;
|
||||
|
||||
import java.util.List;
|
||||
import java.util.Set;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
/**
|
||||
* @author xudawei@axzo.cn
|
||||
* @date 2024/12/12
|
||||
* @desc 待办与卡片关联包装
|
||||
*/
|
||||
@Slf4j
|
||||
@Component
|
||||
@RequiredArgsConstructor
|
||||
public class TodoWithCardWrapper {
|
||||
|
||||
private final CardManager cardManager;
|
||||
|
||||
public void send(TodoRequestContext ctx, PendingMessagePushParam req) {
|
||||
//1 构建对象
|
||||
CardSendRequest cardSendRequest = this.buildCardSendRequest(ctx, req);
|
||||
//2 发送
|
||||
cardManager.send(cardSendRequest);
|
||||
}
|
||||
|
||||
/**
|
||||
* 构建对象
|
||||
*/
|
||||
private CardSendRequest buildCardSendRequest(TodoRequestContext ctx, PendingMessagePushParam req) {
|
||||
CardSendRequest sendRequest = new CardSendRequest();
|
||||
sendRequest.setAppCode("");//TODO
|
||||
sendRequest.setTemplateCode(req.getTemplateCode());
|
||||
sendRequest.setBizCode(req.getBizCode());
|
||||
sendRequest.setSubBizCode(req.getSubBizCode());
|
||||
sendRequest.setSender(PeerPerson.newPeerPerson(req.getPromoter().getId()
|
||||
, req.getPromoterOuId()
|
||||
, req.getPromoterWorkspaceId()));
|
||||
sendRequest.setReceivers(this.buildReceivers(req.getExecutor(), req.getOuId(), req.getWorkspaceId()));
|
||||
if (StringUtils.isNotBlank(req.getBizExtParams())) {
|
||||
sendRequest.setBizParam(JSON.parseObject(req.getBizExtParams()));
|
||||
}
|
||||
if (StringUtils.isNotBlank(req.getRouterParams())) {
|
||||
sendRequest.setRouterParam(JSON.parseObject(req.getRouterParams()));
|
||||
}
|
||||
sendRequest.setSubtitle("");//TODO
|
||||
CardStateInfo cardStateInfo = new CardStateInfo();
|
||||
sendRequest.setStateInfo(cardStateInfo);//TODO
|
||||
|
||||
return sendRequest;
|
||||
}
|
||||
|
||||
private Set<PeerPerson> buildReceivers(List<PersonDTO> personDTOS, Long ouId, Long workspaceId) {
|
||||
if (CollectionUtils.isNotEmpty(personDTOS)) {
|
||||
return Sets.newHashSet();
|
||||
}
|
||||
return personDTOS.stream().map(item -> PeerPerson.newPeerPerson(item.getId(), ouId, workspaceId)).collect(Collectors.toSet());
|
||||
}
|
||||
|
||||
}
|
||||
@ -18,6 +18,7 @@ import cn.axzo.msg.center.inside.notices.config.PendingMessageBizConfig;
|
||||
import cn.axzo.msg.center.message.domain.dto.TemplateModelV3;
|
||||
import cn.axzo.msg.center.message.domain.param.PendingMessagePushParam;
|
||||
import cn.axzo.msg.center.message.service.impl.v3.ModelV3Service;
|
||||
import cn.axzo.msg.center.message.service.todo.TodoWithCardWrapper;
|
||||
import cn.axzo.msg.center.message.service.todo.manage.broadcast.TodoBroadcaster;
|
||||
import cn.axzo.msg.center.message.service.todo.manage.broadcast.TodoMqBroadcaster;
|
||||
import cn.axzo.msg.center.message.service.todo.manage.event.HandoverEvent;
|
||||
@ -99,6 +100,7 @@ public class TodoManager {
|
||||
private final ApplicationContext applicationContext;
|
||||
private final TodoBroadcaster todoBroadcaster;
|
||||
private final TransactionTemplate transactionTemplate;
|
||||
private final TodoWithCardWrapper todoWithCardWrapper;
|
||||
|
||||
public List<PushPendingMessageDTO> send(PendingMessagePushParam request) {
|
||||
TodoRequestContext ctx = TodoRequestContext.create("send", request.normalize());
|
||||
@ -184,6 +186,9 @@ public class TodoManager {
|
||||
todoLogger.logBusinessUpdated(ctx, business);
|
||||
todoLogger.logTodosUpdated(ctx, todos);
|
||||
applicationContext.publishEvent(new NewTodoEvent(this, templateModel, todos));
|
||||
|
||||
// todoWithCardWrapper.send(ctx, request);
|
||||
|
||||
return todos.stream()
|
||||
.map(todo -> new PushPendingMessageDTO(
|
||||
todo.getId(), todo.getIdentityCode(),
|
||||
|
||||
@ -27,6 +27,14 @@ public class PeerPerson {
|
||||
return person;
|
||||
}
|
||||
|
||||
public static PeerPerson newPeerPerson(Long personId, Long ouId, Long workspaceId) {
|
||||
PeerPerson person = new PeerPerson();
|
||||
person.setPersonId(personId);
|
||||
person.setOuId(ouId);
|
||||
person.setWorkspaceId(workspaceId);
|
||||
return person;
|
||||
}
|
||||
|
||||
/**
|
||||
* 自然人id
|
||||
*/
|
||||
|
||||
@ -6,17 +6,12 @@ import cn.axzo.msg.center.service.card.request.CardStylePageRequest;
|
||||
import cn.axzo.msg.center.service.card.request.CardStyleUpdateRequest;
|
||||
import cn.axzo.msg.center.service.card.response.CardStyleDetailResponse;
|
||||
import cn.axzo.msg.center.service.card.response.CardStylePageResponse;
|
||||
import cn.axzo.msg.center.service.template.request.MessageTemplateV3CreateRequest;
|
||||
import cn.axzo.msg.center.service.template.request.MessageTemplateV3DeleteRequest;
|
||||
import cn.axzo.msg.center.service.template.request.MessageTemplateV3PageRequest;
|
||||
import cn.axzo.msg.center.service.template.request.MessageTemplateV3UpdateRequest;
|
||||
import cn.axzo.msg.center.service.template.response.MessageTemplateV3DetailResponse;
|
||||
import cn.axzo.msg.center.service.template.response.MessageTemplateV3PageResponse;
|
||||
import cn.azxo.framework.common.model.CommonResponse;
|
||||
import cn.azxo.framework.common.model.Page;
|
||||
import org.springframework.cloud.openfeign.FeignClient;
|
||||
import org.springframework.http.MediaType;
|
||||
import org.springframework.stereotype.Component;
|
||||
import org.springframework.web.bind.annotation.GetMapping;
|
||||
import org.springframework.web.bind.annotation.PostMapping;
|
||||
import org.springframework.web.bind.annotation.RequestBody;
|
||||
import org.springframework.web.bind.annotation.RequestParam;
|
||||
@ -52,7 +47,7 @@ public interface CardStyleClient {
|
||||
* 删除卡片样式
|
||||
*/
|
||||
@PostMapping(value = "/card/style/delete", produces = {MediaType.APPLICATION_JSON_VALUE})
|
||||
CommonResponse<Void> delete(CardStyleDeleteRequest request);
|
||||
CommonResponse<Void> delete(@RequestBody @Valid CardStyleDeleteRequest request);
|
||||
|
||||
/**
|
||||
* 消息模板详情
|
||||
@ -60,7 +55,7 @@ public interface CardStyleClient {
|
||||
* @param templateCode 消息模板编码
|
||||
* @return 消息模板详情
|
||||
*/
|
||||
@PostMapping(value = "/card/style/detail", produces = {MediaType.APPLICATION_JSON_VALUE})
|
||||
@GetMapping(value = "/card/style/detail", produces = {MediaType.APPLICATION_JSON_VALUE})
|
||||
CommonResponse<CardStyleDetailResponse> detail(@RequestParam("templateCode") String templateCode);
|
||||
|
||||
/**
|
||||
@ -70,7 +65,7 @@ public interface CardStyleClient {
|
||||
* @return 模板列表
|
||||
*/
|
||||
@PostMapping(value = "/card/style/page", produces = {MediaType.APPLICATION_JSON_VALUE})
|
||||
CommonResponse<Page<CardStylePageResponse>> page(CardStylePageRequest request);
|
||||
CommonResponse<Page<CardStylePageResponse>> page(@RequestBody @Valid CardStylePageRequest request);
|
||||
|
||||
|
||||
}
|
||||
|
||||
Loading…
Reference in New Issue
Block a user