This commit is contained in:
dute7liang
2024-01-01 21:41:13 +08:00
parent 0128d6437e
commit a39b919bae
39 changed files with 638 additions and 65 deletions

View File

@@ -4,13 +4,18 @@ import com.alibaba.fastjson2.JSON;
import com.ruoyi.yunxin.client.ImMessageClient;
import com.ruoyi.yunxin.config.YunxinProperties;
import com.ruoyi.yunxin.req.Option;
import com.ruoyi.yunxin.req.SendBatchMsgReq;
import com.ruoyi.yunxin.req.SendMsgReq;
import com.ruoyi.yunxin.req.type.YxTextData;
import com.ruoyi.yunxin.resp.SendMsgResp;
import com.ruoyi.yunxin.resp.YxCommonR;
import com.ruoyi.yunxin.resp.YxDataR;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;
import javax.annotation.Resource;
import java.util.List;
import java.util.stream.Collectors;
@Component
public class Yunxin {
@@ -20,6 +25,7 @@ public class Yunxin {
@Resource
private ImMessageClient messageClient;
@Deprecated
public YxDataR<SendMsgResp> sendTo(Long toUid,Long fromUid,Object data){
SendMsgReq req = new SendMsgReq();
req.setFrom(fromUid == null ? yunxinProperties.getDefaultFromUid() : fromUid+"");
@@ -29,4 +35,13 @@ public class Yunxin {
return messageClient.sendMsg(req);
}
public YxDataR<YxCommonR> batchSendToTextMessage(Long fromUid, List<Long> toUid, String data){
SendBatchMsgReq req = new SendBatchMsgReq();
req.setFromAccid(fromUid+"");
req.setToAccids(toUid.stream().map(i -> String.valueOf(toUid)).collect(Collectors.toList()));
req.setBody(JSON.toJSONString(new YxTextData(data)));
return messageClient.sendBatchMsg(req);
}
}

View File

@@ -3,8 +3,10 @@ package com.ruoyi.yunxin.client;
import com.dtflys.forest.annotation.BaseRequest;
import com.dtflys.forest.annotation.Post;
import com.ruoyi.yunxin.interceptor.GlodonTokenInterceptor;
import com.ruoyi.yunxin.req.SendBatchMsgReq;
import com.ruoyi.yunxin.req.SendMsgReq;
import com.ruoyi.yunxin.resp.SendMsgResp;
import com.ruoyi.yunxin.resp.YxCommonR;
import com.ruoyi.yunxin.resp.YxDataR;
@BaseRequest(baseURL = "${baseUrl}", interceptor = GlodonTokenInterceptor.class)
@@ -13,6 +15,11 @@ public interface ImMessageClient {
@Post(url = "/nimserver/msg/sendMsg.action")
YxDataR<SendMsgResp> sendMsg(SendMsgReq req);
@Post(url = "/nimserver/msg/sendBatchMsg.action")
YxDataR<YxCommonR> sendBatchMsg(SendBatchMsgReq req);
// @Post(url = "/nimserver/msg/sendAttachMsg.action")
// YxR<SendMsgResp> sendAttachMsg(SendMsgReq req);
}

View File

@@ -0,0 +1,14 @@
package com.ruoyi.yunxin.req;
import lombok.Data;
import java.util.List;
@Data
public class SendBatchMsgReq {
private String fromAccid;
private List<String> toAccids;
private int type = 0;
private String body;
private String option;
}

View File

@@ -0,0 +1,15 @@
package com.ruoyi.yunxin.req.type;
import lombok.Data;
@Data
public class YxTextData {
private String msg;
public YxTextData(String msg) {
this.msg = msg;
}
public YxTextData() {
}
}