REQ-3201: 运营push

This commit is contained in:
yanglin 2024-12-16 10:56:05 +08:00
parent 294c9091e1
commit 642abd40f0
12 changed files with 60 additions and 34 deletions

View File

@ -2,8 +2,10 @@ package cn.axzo.msg.center.inside.notices.service.impl;
import cn.axzo.msg.center.api.MessagePushApi;
import cn.axzo.msg.center.api.request.BuildNimPayloadRequest;
import cn.axzo.msg.center.api.request.MsgBody4Guest;
import cn.axzo.msg.center.inside.notices.service.IYouMengMessageService;
import cn.axzo.msg.center.nimpush.NimPushService;
import cn.azxo.framework.common.model.CommonResponse;
import com.alibaba.fastjson.JSONObject;
import lombok.extern.slf4j.Slf4j;
@ -20,6 +22,8 @@ public class MessagePushApiImpl implements MessagePushApi {
@Autowired
private IYouMengMessageService youMengMessageService;
@Autowired
private NimPushService nimPushService;
@Override
public CommonResponse<Void> sendPushMessage(MsgBody4Guest msgBody) {
@ -27,4 +31,12 @@ public class MessagePushApiImpl implements MessagePushApi {
youMengMessageService.sendPushMessage(msgBody);
return CommonResponse.success();
}
@Override
public CommonResponse<String> buildNimPayload(BuildNimPayloadRequest request) {
log.info("buildNimPayload, request={}", request);
String payload = nimPushService.buildPayloadString(request, request.getPushPeer());
return CommonResponse.success(payload);
}
}

View File

@ -21,10 +21,10 @@ import cn.axzo.msg.center.message.service.impl.v3.ModelV3Parser;
import cn.axzo.msg.center.message.service.impl.v3.UrlParser;
import cn.axzo.msg.center.nimpush.NimPushService;
import cn.axzo.msg.center.nimpush.PushChannel;
import cn.axzo.msg.center.nimpush.PushPeer;
import cn.axzo.msg.center.nimpush.device.PushDeviceSnapshots;
import cn.axzo.msg.center.nimpush.payload.intent.Intent;
import cn.axzo.msg.center.push.PushData;
import cn.axzo.msg.center.service.domain.PushPeer;
import cn.axzo.msg.center.service.dto.PersonV3DTO;
import cn.axzo.msg.center.service.enums.Channel;
import cn.axzo.msg.center.service.enums.OrganizationTypeEnum;

View File

@ -16,10 +16,10 @@ import cn.axzo.msg.center.message.service.impl.v3.ModelV3Parser;
import cn.axzo.msg.center.message.service.impl.v3.ModelV3Service;
import cn.axzo.msg.center.message.service.impl.v3.UrlParser;
import cn.axzo.msg.center.nimpush.NimPushService;
import cn.axzo.msg.center.nimpush.PushPeer;
import cn.axzo.msg.center.nimpush.device.PushDeviceSnapshots;
import cn.axzo.msg.center.nimpush.payload.intent.Intent;
import cn.axzo.msg.center.push.PushData;
import cn.axzo.msg.center.service.domain.PushPeer;
import cn.axzo.msg.center.service.domain.card.AppVersionConfig;
import cn.axzo.msg.center.service.dto.PeerPerson;
import cn.axzo.msg.center.service.enums.MessageChannel;

View File

@ -16,12 +16,12 @@ import cn.axzo.msg.center.message.service.impl.v3.ModelV3Parser;
import cn.axzo.msg.center.nimpush.NimPushService;
import cn.axzo.msg.center.nimpush.PushChannel;
import cn.axzo.msg.center.nimpush.PushExecutorConfig;
import cn.axzo.msg.center.nimpush.PushPeer;
import cn.axzo.msg.center.nimpush.PushPriorityController;
import cn.axzo.msg.center.nimpush.device.PushDevice;
import cn.axzo.msg.center.nimpush.device.PushDeviceService;
import cn.axzo.msg.center.nimpush.device.PushDeviceSnapshots;
import cn.axzo.msg.center.push.PushData;
import cn.axzo.msg.center.service.domain.PushPeer;
import cn.axzo.msg.center.service.enums.PushTerminalEnum;
import cn.axzo.msg.center.service.pending.response.v3.model.ParsedModelV3;
import com.alibaba.fastjson.JSON;

View File

@ -8,6 +8,7 @@ import cn.axzo.msg.center.nimpush.payload.intent.Intent;
import cn.axzo.msg.center.nimpush.payload.intent.IntentValue;
import cn.axzo.msg.center.push.PushData;
import cn.axzo.msg.center.push.PushMessage;
import cn.axzo.msg.center.service.domain.PushPeer;
import cn.axzo.msg.center.service.domain.UrlConfig;
import cn.axzo.msg.center.service.domain.UrlConfigVisitor;
import cn.axzo.msg.center.service.domain.UrlConfigWalker;

View File

@ -2,9 +2,9 @@ package cn.axzo.msg.center.nimpush.payload;
import cn.axzo.msg.center.common.utils.BizAssertions;
import cn.axzo.msg.center.nimpush.PushContent;
import cn.axzo.msg.center.nimpush.PushPeer;
import cn.axzo.msg.center.nimpush.payload.intent.Intent;
import cn.axzo.msg.center.nimpush.payload.intent.IntentValue;
import cn.axzo.msg.center.service.domain.PushPeer;
import org.apache.commons.lang3.StringUtils;
/**

View File

@ -1,10 +1,10 @@
package cn.axzo.msg.center.nimpush.payload;
import cn.axzo.msg.center.nimpush.PushContent;
import cn.axzo.msg.center.nimpush.PushPeer;
import cn.axzo.msg.center.nimpush.payload.intent.Intent;
import cn.axzo.msg.center.nimpush.payload.intent.IntentValue;
import cn.axzo.msg.center.nimpush.payload.intent.JsonIntent;
import cn.axzo.msg.center.service.domain.PushPeer;
import com.alibaba.fastjson.JSONObject;
import org.apache.commons.lang3.StringUtils;
import org.springframework.stereotype.Component;

View File

@ -1,8 +1,8 @@
package cn.axzo.msg.center.nimpush.payload;
import cn.axzo.msg.center.nimpush.PushContent;
import cn.axzo.msg.center.nimpush.PushPeer;
import cn.axzo.msg.center.nimpush.payload.intent.Intent;
import cn.axzo.msg.center.service.domain.PushPeer;
import com.alibaba.fastjson.JSONObject;
/**

View File

@ -1,6 +1,7 @@
package cn.axzo.msg.center.api;
import cn.axzo.msg.center.api.fallback.MessagePushApiFallbackFactory;
import cn.axzo.msg.center.api.request.BuildNimPayloadRequest;
import cn.axzo.msg.center.api.request.MsgBody4Guest;
import cn.azxo.framework.common.model.CommonResponse;
import org.springframework.cloud.openfeign.FeignClient;
@ -24,4 +25,10 @@ public interface MessagePushApi {
@PostMapping("umeng/pushMsg")
CommonResponse<Void> sendPushMessage(@RequestBody MsgBody4Guest msgBody);
/**
* 构建云信push payload
*/
@PostMapping("push/nim/buildNimPayload")
CommonResponse<String> buildNimPayload(@RequestBody BuildNimPayloadRequest request);
}

View File

@ -1,27 +0,0 @@
package cn.axzo.msg.center.api.fallback;
import cn.axzo.msg.center.api.MessagePushApi;
import cn.axzo.msg.center.api.request.MsgBody4Guest;
import cn.azxo.framework.common.model.CommonResponse;
import cn.hutool.json.JSONUtil;
import lombok.Setter;
import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Component;
/**
* @author jiachao
* @date 2021/5/24
*/
@Slf4j
@Component
public class MessagePushApiFallback implements MessagePushApi {
@Setter
private Throwable throwable;
@Override
public CommonResponse<Void> sendPushMessage(MsgBody4Guest msgBody) {
log.info("发送推送失败,接口异常:msgBody={}", JSONUtil.toJsonStr(msgBody));
return CommonResponse.fail("发送推送失败,接口异常");
}
}

View File

@ -0,0 +1,33 @@
package cn.axzo.msg.center.api.request;
import cn.axzo.msg.center.push.PushData;
import cn.axzo.msg.center.push.PushMessage;
import cn.axzo.msg.center.service.domain.PushPeer;
import cn.axzo.msg.center.service.domain.UrlConfig;
import com.alibaba.fastjson.JSON;
import lombok.Getter;
import lombok.Setter;
/**
* @author yanglin
*/
@Setter
@Getter
public class BuildNimPayloadRequest implements PushMessage {
private String pushTitle;
private String pushContent;
private UrlConfig pushUrl;
private PushData pushData;
private PushPeer pushPeer;
@Override
public String toString() {
return JSON.toJSONString(this);
}
}

View File

@ -1,4 +1,4 @@
package cn.axzo.msg.center.nimpush;
package cn.axzo.msg.center.service.domain;
import cn.axzo.im.center.api.vo.ApiChannel;
import cn.axzo.im.center.common.enums.AppTypeEnum;