diff --git a/message-center-api/src/main/java/com/yxt/messagecenter/api/message/MessageFeign.java b/message-center-api/src/main/java/com/yxt/messagecenter/api/message/MessageFeign.java index f45fc92..a8c0fe9 100644 --- a/message-center-api/src/main/java/com/yxt/messagecenter/api/message/MessageFeign.java +++ b/message-center-api/src/main/java/com/yxt/messagecenter/api/message/MessageFeign.java @@ -97,4 +97,8 @@ public interface MessageFeign { @ApiOperation("获取一条记录") @GetMapping("/selectByBusinessSid/{sid}") ResultBean> selectByBusinessSid(@PathVariable("sid") String sid); + + @ApiOperation("移交推送消息") + @PostMapping("/pushTransferMessage") + ResultBean pushTransferMessage(@RequestBody MessagePushTransferDto dto); } \ No newline at end of file diff --git a/message-center-api/src/main/java/com/yxt/messagecenter/api/message/MessageFeignFallback.java b/message-center-api/src/main/java/com/yxt/messagecenter/api/message/MessageFeignFallback.java index ff5871a..b40a4c6 100644 --- a/message-center-api/src/main/java/com/yxt/messagecenter/api/message/MessageFeignFallback.java +++ b/message-center-api/src/main/java/com/yxt/messagecenter/api/message/MessageFeignFallback.java @@ -100,4 +100,9 @@ public class MessageFeignFallback implements MessageFeign { public ResultBean> selectByBusinessSid(String sid) { return null; } + + @Override + public ResultBean pushTransferMessage(MessagePushTransferDto dto) { + return null; + } } \ No newline at end of file diff --git a/message-center-api/src/main/java/com/yxt/messagecenter/api/message/MessagePushTransferDto.java b/message-center-api/src/main/java/com/yxt/messagecenter/api/message/MessagePushTransferDto.java new file mode 100644 index 0000000..23f3f6e --- /dev/null +++ b/message-center-api/src/main/java/com/yxt/messagecenter/api/message/MessagePushTransferDto.java @@ -0,0 +1,63 @@ +package com.yxt.messagecenter.api.message; + +import com.yxt.common.core.dto.Dto; +import com.yxt.common.core.query.Query; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import javax.validation.constraints.NotBlank; +import java.util.Map; + +/** + * @Author dimengzhe + * @Date 2022/8/25 15:12 + * @Description + */ +@Data +public class MessagePushTransferDto implements Dto { + + @ApiModelProperty("业务sid") + private String businessSid; + @ApiModelProperty("模块名称") + private String moduleName; + @ApiModelProperty("消息内容") + private String msgContent; + @ApiModelProperty("消息标题") + private String msgTitle; + @ApiModelProperty("app所需参数") + private Map appMap; + @ApiModelProperty("消息类别sid") + private String msgTypeSid; + @ApiModelProperty("消息类别名称") + private String msgType; + @ApiModelProperty("来源(资源名称)") + private String msgSource; + @ApiModelProperty("发送人sid") + private String senderSid; + @ApiModelProperty("发起人姓名") + private String senderName; + @ApiModelProperty("发送人部门Id") + private String senderDeptSid; + @ApiModelProperty("发起人部门名称") + private String senderDeptName; + @ApiModelProperty("插件Sid") + private String moduleSid; + @ApiModelProperty("具体页面action") + private String moduleAction; + @ApiModelProperty("0.内置Activity 1.内置WebView 2.RePlugin插件") + private String app_type; + @ApiModelProperty("参数(规则),json类型的传参(必须为 string、string)") + private String args_json; + @ApiModelProperty("目标网页地址") + private String h5_url; + @ApiModelProperty("小程序页面地址") + private String xcx_url; + @ApiModelProperty("推送的消息打开的action(APP),推送参数对应class_name") + private String msgTargetUri; + + @ApiModelProperty(value = "接收人(多个人员以,分隔)") + private String receiveNames; + + @ApiModelProperty(value = "接收人sid(多个人员以,分隔)") + private String receiveSids; +} diff --git a/message-center-biz/src/main/java/com/yxt/messagecenter/biz/message/MessageRest.java b/message-center-biz/src/main/java/com/yxt/messagecenter/biz/message/MessageRest.java index 171730c..0892da2 100644 --- a/message-center-biz/src/main/java/com/yxt/messagecenter/biz/message/MessageRest.java +++ b/message-center-biz/src/main/java/com/yxt/messagecenter/biz/message/MessageRest.java @@ -157,4 +157,31 @@ public class MessageRest implements MessageFeign { public ResultBean> selectByBusinessSid(String sid) { return messageService.selectByBusinessSid(sid); } + + @Override + public ResultBean pushTransferMessage(MessagePushTransferDto dto) { + ResultBean rb = ResultBean.fireFail(); + Message m = new Message(); + dto.fillEntity(m); + if (!messageService.save(m)) { + return rb; + } + if (dto != null && StringUtils.isNotBlank(dto.getReceiveSids())) { + if (dto.getReceiveSids().indexOf(",") >= -1) { + String[] ReceiveUserSids = dto.getReceiveSids().split(","); + String[] receiveUsers = dto.getReceiveNames().split(","); + for (int i = 0; ReceiveUserSids.length > i; i++) { + MessageList messageList = new MessageList(); + messageList.setMsgSid(m.getSid()); + messageList.setReceiverSid(ReceiveUserSids[i]); + messageList.setReceiverName(receiveUsers[i]); +// messageList.setReceiverDeptName(); +// messageList.setReceiverDeptSid(); + messageList.setState(0); + messageListService.save(messageList); + } + } + } + return rb.success(); + } }