websocket 整合
This commit is contained in:
@@ -0,0 +1,27 @@
|
||||
package com.ruoyi.cai.ws.dto;
|
||||
|
||||
import lombok.Data;
|
||||
|
||||
import java.io.Serializable;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* 消息的dto
|
||||
*
|
||||
* @author zendwang
|
||||
*/
|
||||
@Data
|
||||
public class WebSocketMessageDto implements Serializable {
|
||||
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
/**
|
||||
* 需要推送到的session key 列表
|
||||
*/
|
||||
private List<Long> sessionKeys;
|
||||
|
||||
/**
|
||||
* 需要发送的消息
|
||||
*/
|
||||
private String message;
|
||||
}
|
||||
109
ruoyi-cai/src/main/java/com/ruoyi/cai/ws/dto/WsR.java
Normal file
109
ruoyi-cai/src/main/java/com/ruoyi/cai/ws/dto/WsR.java
Normal file
@@ -0,0 +1,109 @@
|
||||
package com.ruoyi.cai.ws.dto;
|
||||
|
||||
import com.ruoyi.common.constant.HttpStatus;
|
||||
import lombok.Data;
|
||||
import lombok.NoArgsConstructor;
|
||||
|
||||
import java.io.Serializable;
|
||||
|
||||
/**
|
||||
* 响应信息主体
|
||||
*
|
||||
* @author Lion Li
|
||||
*/
|
||||
@Data
|
||||
@NoArgsConstructor
|
||||
public class WsR<T> implements Serializable {
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
/**
|
||||
* 成功
|
||||
*/
|
||||
public static final int SUCCESS = 200;
|
||||
|
||||
/**
|
||||
* 失败
|
||||
*/
|
||||
public static final int FAIL = 500;
|
||||
|
||||
private int code;
|
||||
|
||||
private String method;
|
||||
|
||||
private String msg;
|
||||
|
||||
private T data;
|
||||
|
||||
public static <T> WsR<T> ok() {
|
||||
return restResult(null, SUCCESS, "操作成功");
|
||||
}
|
||||
|
||||
public static <T> WsR<T> ok(T data) {
|
||||
return restResult(data, SUCCESS, "操作成功");
|
||||
}
|
||||
|
||||
public static <T> WsR<T> ok(String msg) {
|
||||
return restResult(null, SUCCESS, msg);
|
||||
}
|
||||
|
||||
public static <T> WsR<T> ok(String msg, T data) {
|
||||
return restResult(data, SUCCESS, msg);
|
||||
}
|
||||
|
||||
public static <T> WsR<T> fail() {
|
||||
return restResult(null, FAIL, "操作失败");
|
||||
}
|
||||
|
||||
public static <T> WsR<T> fail(String msg) {
|
||||
return restResult(null, FAIL, msg);
|
||||
}
|
||||
|
||||
public static <T> WsR<T> fail(T data) {
|
||||
return restResult(data, FAIL, "操作失败");
|
||||
}
|
||||
|
||||
public static <T> WsR<T> fail(String msg, T data) {
|
||||
return restResult(data, FAIL, msg);
|
||||
}
|
||||
|
||||
public static <T> WsR<T> fail(int code, String msg) {
|
||||
return restResult(null, code, msg);
|
||||
}
|
||||
|
||||
/**
|
||||
* 返回警告消息
|
||||
*
|
||||
* @param msg 返回内容
|
||||
* @return 警告消息
|
||||
*/
|
||||
public static <T> WsR<T> warn(String msg) {
|
||||
return restResult(null, HttpStatus.WARN, msg);
|
||||
}
|
||||
|
||||
/**
|
||||
* 返回警告消息
|
||||
*
|
||||
* @param msg 返回内容
|
||||
* @param data 数据对象
|
||||
* @return 警告消息
|
||||
*/
|
||||
public static <T> WsR<T> warn(String msg, T data) {
|
||||
return restResult(data, HttpStatus.WARN, msg);
|
||||
}
|
||||
|
||||
private static <T> WsR<T> restResult(T data, int code, String msg) {
|
||||
WsR<T> r = new WsR<>();
|
||||
r.setCode(code);
|
||||
r.setData(data);
|
||||
r.setMsg(msg);
|
||||
return r;
|
||||
}
|
||||
|
||||
public static <T> Boolean isError(WsR<T> ret) {
|
||||
return !isSuccess(ret);
|
||||
}
|
||||
|
||||
public static <T> Boolean isSuccess(WsR<T> ret) {
|
||||
return WsR.SUCCESS == ret.getCode();
|
||||
}
|
||||
}
|
||||
130
ruoyi-cai/src/main/java/com/ruoyi/cai/ws/dto/WsRMsgGen.java
Normal file
130
ruoyi-cai/src/main/java/com/ruoyi/cai/ws/dto/WsRMsgGen.java
Normal file
@@ -0,0 +1,130 @@
|
||||
package com.ruoyi.cai.ws.dto;
|
||||
|
||||
import com.alibaba.fastjson.JSON;
|
||||
import com.ruoyi.cai.domain.CaiGift;
|
||||
|
||||
import java.util.HashMap;
|
||||
import java.util.Map;
|
||||
|
||||
public class WsRMsgGen {
|
||||
|
||||
public static WsR response(Long roomId){
|
||||
Map<String,Object> map = new HashMap<>();
|
||||
map.put("roomid",roomId);
|
||||
WsR<Map<String, Object>> ok = WsR.ok(map);
|
||||
ok.setMethod("response");
|
||||
ok.setMsg("连线成功");
|
||||
return ok;
|
||||
}
|
||||
|
||||
public static WsR startVideo(Long roomId,Long duration){
|
||||
Map<String,Object> map = new HashMap<>();
|
||||
map.put("roomid",roomId);
|
||||
map.put("duration",duration);
|
||||
WsR<Map<String, Object>> ok = WsR.ok(map);
|
||||
ok.setMethod("startVideo");
|
||||
ok.setMsg("通话成功!");
|
||||
return ok;
|
||||
}
|
||||
|
||||
public static WsR sysNotice(String content){
|
||||
Map<String,Object> map = new HashMap<>();
|
||||
map.put("type",1);
|
||||
map.put("content",content);
|
||||
map.put("linkType",0);
|
||||
map.put("linkUrl",null);
|
||||
map.put("fromUid",null);
|
||||
map.put("toUid",null);
|
||||
map.put("cancalltime",null);
|
||||
WsR<Map<String, Object>> ok = WsR.ok(map);
|
||||
ok.setMethod("notice");
|
||||
ok.setMsg("提示!");
|
||||
return ok;
|
||||
}
|
||||
|
||||
public static WsR updateTip() {
|
||||
Map<String,Object> map = new HashMap<>();
|
||||
map.put("tip","等待对方响应...");
|
||||
WsR<Map<String, Object>> ok = WsR.ok(map);
|
||||
ok.setMethod("updatetip");
|
||||
ok.setMsg("提示!");
|
||||
return ok;
|
||||
}
|
||||
|
||||
public static WsR hangup(String message, Long roomId, Integer hangUpType) {
|
||||
Map<String,Object> map = new HashMap<>();
|
||||
map.put("roomid","roomId");
|
||||
map.put("type","hangUpType");
|
||||
WsR<Map<String, Object>> ok = WsR.ok(map);
|
||||
ok.setMethod("hangup");
|
||||
ok.setMsg(message);
|
||||
return ok;
|
||||
}
|
||||
|
||||
public static WsR canCallTime(long time) {
|
||||
Map<String,Object> map = new HashMap<>();
|
||||
map.put("tip",time);
|
||||
WsR<Map<String, Object>> ok = WsR.ok(map);
|
||||
ok.setMethod("cancalltime");
|
||||
ok.setMsg("提示!");
|
||||
return ok;
|
||||
}
|
||||
|
||||
public static WsR rechargeNotice(String content) {
|
||||
Map<String,Object> map = new HashMap<>();
|
||||
map.put("type",1);
|
||||
map.put("content",content);
|
||||
map.put("linkType",2);
|
||||
map.put("linkUrl","rechargeCoin");
|
||||
map.put("fromUid",null);
|
||||
map.put("toUid",null);
|
||||
map.put("cancalltime",null);
|
||||
WsR<Map<String, Object>> ok = WsR.ok(map);
|
||||
ok.setMethod("notice");
|
||||
ok.setMsg("提示!");
|
||||
return ok;
|
||||
}
|
||||
|
||||
public static WsR gift(CaiGift gift, Long callerId, Long receiverId) {
|
||||
Map<String,Object> content = new HashMap<>();
|
||||
content.put("giftid",gift.getId());
|
||||
content.put("giftname",gift.getName());
|
||||
content.put("gifticon",gift.getImg());
|
||||
content.put("giftsvga",gift.getSvga());
|
||||
Map<String,Object> map = new HashMap<>();
|
||||
map.put("type",3);
|
||||
map.put("content", JSON.toJSONString(content));
|
||||
map.put("linkType",null);
|
||||
map.put("linkUrl",null);
|
||||
map.put("fromUid",callerId);
|
||||
map.put("toUid",receiverId);
|
||||
map.put("cancalltime",null);
|
||||
WsR<Map<String, Object>> ok = WsR.ok(map);
|
||||
ok.setMethod("notice");
|
||||
ok.setMsg("提示!");
|
||||
return ok;
|
||||
}
|
||||
|
||||
public static WsR heartbeat() {
|
||||
Map<String,Object> content = new HashMap<>();
|
||||
WsR<Map<String, Object>> ok = WsR.ok(content);
|
||||
ok.setMethod("heartbeat");
|
||||
ok.setMsg("检测成功!");
|
||||
return ok;
|
||||
}
|
||||
|
||||
public static WsR chatData(String txt, Long from, Long to) {
|
||||
Map<String,Object> map = new HashMap<>();
|
||||
map.put("type",2);
|
||||
map.put("content", txt);
|
||||
map.put("linkType",null);
|
||||
map.put("linkUrl",null);
|
||||
map.put("fromUid",from);
|
||||
map.put("toUid",to);
|
||||
map.put("cancalltime",null);
|
||||
WsR<Map<String, Object>> ok = WsR.ok(map);
|
||||
ok.setMethod("notice");
|
||||
ok.setMsg("提示!");
|
||||
return ok;
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user