mirror of
https://gitee.com/binary/weixin-java-tools.git
synced 2025-04-05 17:38:05 +08:00
🎨 #1886 【小程序】创建直播间接口增加二维码地址字段
This commit is contained in:
parent
0e2186632a
commit
b0440e0faa
@ -1,9 +1,6 @@
|
||||
package cn.binarywang.wx.miniapp.api;
|
||||
|
||||
import cn.binarywang.wx.miniapp.bean.live.WxMaAssistantResult;
|
||||
import cn.binarywang.wx.miniapp.bean.live.WxMaLiveAssistantInfo;
|
||||
import cn.binarywang.wx.miniapp.bean.live.WxMaLiveResult;
|
||||
import cn.binarywang.wx.miniapp.bean.live.WxMaLiveRoomInfo;
|
||||
import cn.binarywang.wx.miniapp.bean.live.*;
|
||||
import me.chanjar.weixin.common.error.WxErrorException;
|
||||
|
||||
import java.util.List;
|
||||
@ -41,7 +38,7 @@ public interface WxMaLiveService {
|
||||
* @return .
|
||||
* @throws WxErrorException .
|
||||
*/
|
||||
Integer createRoom(WxMaLiveRoomInfo roomInfo) throws WxErrorException;
|
||||
WxMaCreateRoomResult createRoom(WxMaLiveRoomInfo roomInfo) throws WxErrorException;
|
||||
|
||||
/**
|
||||
* 删除直播间
|
||||
|
@ -2,10 +2,7 @@ package cn.binarywang.wx.miniapp.api.impl;
|
||||
|
||||
import cn.binarywang.wx.miniapp.api.WxMaLiveService;
|
||||
import cn.binarywang.wx.miniapp.api.WxMaService;
|
||||
import cn.binarywang.wx.miniapp.bean.live.WxMaAssistantResult;
|
||||
import cn.binarywang.wx.miniapp.bean.live.WxMaLiveAssistantInfo;
|
||||
import cn.binarywang.wx.miniapp.bean.live.WxMaLiveResult;
|
||||
import cn.binarywang.wx.miniapp.bean.live.WxMaLiveRoomInfo;
|
||||
import cn.binarywang.wx.miniapp.bean.live.*;
|
||||
import cn.binarywang.wx.miniapp.json.WxMaGsonBuilder;
|
||||
import com.google.common.base.Joiner;
|
||||
import com.google.gson.JsonObject;
|
||||
@ -31,16 +28,19 @@ import java.util.Map;
|
||||
@Slf4j
|
||||
@AllArgsConstructor
|
||||
public class WxMaLiveServiceImpl implements WxMaLiveService {
|
||||
private static final String ERR_CODE = "errcode";
|
||||
private static final String ROOM_ID = "roomId";
|
||||
private final WxMaService wxMaService;
|
||||
|
||||
@Override
|
||||
public Integer createRoom(WxMaLiveRoomInfo roomInfo) throws WxErrorException {
|
||||
public WxMaCreateRoomResult createRoom(WxMaLiveRoomInfo roomInfo) throws WxErrorException {
|
||||
String responseContent = this.wxMaService.post(CREATE_ROOM, WxMaGsonBuilder.create().toJson(roomInfo));
|
||||
JsonObject jsonObject = GsonParser.parse(responseContent);
|
||||
if (jsonObject.get("errcode").getAsInt() != 0) {
|
||||
if (jsonObject.get(ERR_CODE).getAsInt() != 0) {
|
||||
throw new WxErrorException(WxError.fromJson(responseContent, WxType.MiniApp));
|
||||
}
|
||||
return jsonObject.get("roomId").getAsInt();
|
||||
|
||||
return WxMaGsonBuilder.create().fromJson(responseContent, WxMaCreateRoomResult.class);
|
||||
}
|
||||
|
||||
@Override
|
||||
@ -49,7 +49,7 @@ public class WxMaLiveServiceImpl implements WxMaLiveService {
|
||||
map.put("id", roomId);
|
||||
String responseContent = this.wxMaService.post(DELETE_ROOM, WxMaGsonBuilder.create().toJson(map));
|
||||
JsonObject jsonObject = GsonParser.parse(responseContent);
|
||||
if (jsonObject.get("errcode").getAsInt() != 0) {
|
||||
if (jsonObject.get(ERR_CODE).getAsInt() != 0) {
|
||||
throw new WxErrorException(WxError.fromJson(responseContent, WxType.MiniApp));
|
||||
}
|
||||
return true;
|
||||
@ -59,7 +59,7 @@ public class WxMaLiveServiceImpl implements WxMaLiveService {
|
||||
public boolean editRoom(WxMaLiveRoomInfo roomInfo) throws WxErrorException {
|
||||
String responseContent = this.wxMaService.post(EDIT_ROOM, WxMaGsonBuilder.create().toJson(roomInfo));
|
||||
JsonObject jsonObject = GsonParser.parse(responseContent);
|
||||
if (jsonObject.get("errcode").getAsInt() != 0) {
|
||||
if (jsonObject.get(ERR_CODE).getAsInt() != 0) {
|
||||
throw new WxErrorException(WxError.fromJson(responseContent, WxType.MiniApp));
|
||||
}
|
||||
return true;
|
||||
@ -68,10 +68,10 @@ public class WxMaLiveServiceImpl implements WxMaLiveService {
|
||||
@Override
|
||||
public String getPushUrl(Integer roomId) throws WxErrorException {
|
||||
Map<String, Object> map = new HashMap<>(2);
|
||||
map.put("roomId", roomId);
|
||||
map.put(ROOM_ID, roomId);
|
||||
String responseContent = this.wxMaService.get(GET_PUSH_URL, Joiner.on("&").withKeyValueSeparator("=").join(map));
|
||||
JsonObject jsonObject = GsonParser.parse(responseContent);
|
||||
if (jsonObject.get("errcode").getAsInt() != 0) {
|
||||
if (jsonObject.get(ERR_CODE).getAsInt() != 0) {
|
||||
throw new WxErrorException(WxError.fromJson(responseContent, WxType.MiniApp));
|
||||
}
|
||||
return jsonObject.get("pushAddr").getAsString();
|
||||
@ -80,13 +80,13 @@ public class WxMaLiveServiceImpl implements WxMaLiveService {
|
||||
@Override
|
||||
public String getSharedCode(Integer roomId, String params) throws WxErrorException {
|
||||
Map<String, Object> map = new HashMap<>(2);
|
||||
map.put("roomId", roomId);
|
||||
map.put(ROOM_ID, roomId);
|
||||
if (null != params) {
|
||||
map.put("params", params);
|
||||
}
|
||||
String responseContent = this.wxMaService.get(GET_SHARED_CODE, Joiner.on("&").withKeyValueSeparator("=").join(map));
|
||||
JsonObject jsonObject = GsonParser.parse(responseContent);
|
||||
if (jsonObject.get("errcode").getAsInt() != 0) {
|
||||
if (jsonObject.get(ERR_CODE).getAsInt() != 0) {
|
||||
throw new WxErrorException(WxError.fromJson(responseContent, WxType.MiniApp));
|
||||
}
|
||||
return jsonObject.get("cdnUrl").getAsString();
|
||||
@ -135,19 +135,21 @@ public class WxMaLiveServiceImpl implements WxMaLiveService {
|
||||
JsonObject jsonObject = getLiveInfo(start, limit, map);
|
||||
return WxMaLiveResult.fromJson(jsonObject.toString());
|
||||
}
|
||||
|
||||
private JsonObject getLiveInfo(Integer start, Integer limit, Map<String, Object> map) throws WxErrorException {
|
||||
if (map == null) {
|
||||
map = new HashMap(2);
|
||||
map = new HashMap<>(2);
|
||||
}
|
||||
map.put("start", start);
|
||||
map.put("limit", limit);
|
||||
String responseContent = wxMaService.post(GET_LIVE_INFO, WxMaGsonBuilder.create().toJson(map));
|
||||
JsonObject jsonObject = GsonParser.parse(responseContent);
|
||||
if (jsonObject.get("errcode").getAsInt() != 0) {
|
||||
if (jsonObject.get(ERR_CODE).getAsInt() != 0) {
|
||||
throw new WxErrorException(WxError.fromJson(responseContent, WxType.MiniApp));
|
||||
}
|
||||
return jsonObject;
|
||||
}
|
||||
|
||||
@Override
|
||||
public WxMaLiveResult getLiveReplay(Integer roomId, Integer start, Integer limit) throws WxErrorException {
|
||||
return getLiveReplay("get_replay", roomId, start, limit);
|
||||
@ -156,11 +158,11 @@ public class WxMaLiveServiceImpl implements WxMaLiveService {
|
||||
@Override
|
||||
public boolean addGoodsToRoom(Integer roomId, List<Integer> goodsIds) throws WxErrorException {
|
||||
Map<String, Object> map = new HashMap<>(2);
|
||||
map.put("roomId", roomId);
|
||||
map.put(ROOM_ID, roomId);
|
||||
map.put("ids", goodsIds);
|
||||
String responseContent = this.wxMaService.post(ADD_GOODS, WxMaGsonBuilder.create().toJson(map));
|
||||
JsonObject jsonObject = GsonParser.parse(responseContent);
|
||||
if (jsonObject.get("errcode").getAsInt() != 0) {
|
||||
if (jsonObject.get(ERR_CODE).getAsInt() != 0) {
|
||||
throw new WxErrorException(WxError.fromJson(responseContent, WxType.MiniApp));
|
||||
}
|
||||
return true;
|
||||
@ -169,38 +171,38 @@ public class WxMaLiveServiceImpl implements WxMaLiveService {
|
||||
@Override
|
||||
public boolean addAssistant(Integer roomId, List<WxMaLiveAssistantInfo> users) throws WxErrorException {
|
||||
Map<String, Object> map = new HashMap<>(2);
|
||||
map.put("roomId", roomId);
|
||||
map.put(ROOM_ID, roomId);
|
||||
map.put("users", users);
|
||||
String responseContent = this.wxMaService.post(ADD_ASSISTANT, WxMaGsonBuilder.create().toJson(map));
|
||||
JsonObject jsonObject = GsonParser.parse(responseContent);
|
||||
if (jsonObject.get("errcode").getAsInt() != 0) {
|
||||
if (jsonObject.get(ERR_CODE).getAsInt() != 0) {
|
||||
throw new WxErrorException(WxError.fromJson(responseContent, WxType.MiniApp));
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean modifyAssistant(Integer roomId, String username,String nickname) throws WxErrorException {
|
||||
public boolean modifyAssistant(Integer roomId, String username, String nickname) throws WxErrorException {
|
||||
Map<String, Object> map = new HashMap<>(2);
|
||||
map.put("roomId", roomId);
|
||||
map.put("username",username);
|
||||
map.put(ROOM_ID, roomId);
|
||||
map.put("username", username);
|
||||
map.put("nickname", nickname);
|
||||
String responseContent = this.wxMaService.post(MODIFY_ASSISTANT, WxMaGsonBuilder.create().toJson(map));
|
||||
JsonObject jsonObject = GsonParser.parse(responseContent);
|
||||
if (jsonObject.get("errcode").getAsInt() != 0) {
|
||||
if (jsonObject.get(ERR_CODE).getAsInt() != 0) {
|
||||
throw new WxErrorException(WxError.fromJson(responseContent, WxType.MiniApp));
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean removeAssistant(Integer roomId,String username) throws WxErrorException {
|
||||
public boolean removeAssistant(Integer roomId, String username) throws WxErrorException {
|
||||
Map<String, Object> map = new HashMap<>(2);
|
||||
map.put("roomId", roomId);
|
||||
map.put("username",username);
|
||||
map.put(ROOM_ID, roomId);
|
||||
map.put("username", username);
|
||||
String responseContent = this.wxMaService.post(REMOVE_ASSISTANT, WxMaGsonBuilder.create().toJson(map));
|
||||
JsonObject jsonObject = GsonParser.parse(responseContent);
|
||||
if (jsonObject.get("errcode").getAsInt() != 0) {
|
||||
if (jsonObject.get(ERR_CODE).getAsInt() != 0) {
|
||||
throw new WxErrorException(WxError.fromJson(responseContent, WxType.MiniApp));
|
||||
}
|
||||
return true;
|
||||
@ -209,14 +211,13 @@ public class WxMaLiveServiceImpl implements WxMaLiveService {
|
||||
@Override
|
||||
public List<WxMaAssistantResult.Assistant> getAssistantList(Integer roomId) throws WxErrorException {
|
||||
Map<String, Object> map = new HashMap<>(2);
|
||||
map.put("roomId", roomId);
|
||||
map.put(ROOM_ID, roomId);
|
||||
String responseContent = this.wxMaService.post(GET_ASSISTANT_LIST, WxMaGsonBuilder.create().toJson(map));
|
||||
JsonObject jsonObject = GsonParser.parse(responseContent);
|
||||
if (jsonObject.get("errcode").getAsInt() != 0) {
|
||||
if (jsonObject.get(ERR_CODE).getAsInt() != 0) {
|
||||
throw new WxErrorException(WxError.fromJson(responseContent, WxType.MiniApp));
|
||||
}
|
||||
return WxMaAssistantResult.fromJson(responseContent).getList();
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
@ -0,0 +1,30 @@
|
||||
package cn.binarywang.wx.miniapp.bean.live;
|
||||
|
||||
import com.google.gson.annotations.SerializedName;
|
||||
import lombok.Data;
|
||||
|
||||
import java.io.Serializable;
|
||||
|
||||
/**
|
||||
* 创建直播间接口返回.
|
||||
*
|
||||
* @author <a href="https://github.com/binarywang">Binary Wang</a>
|
||||
* @date 2020-11-29
|
||||
*/
|
||||
@Data
|
||||
public class WxMaCreateRoomResult implements Serializable {
|
||||
private static final long serialVersionUID = -335928442728127170L;
|
||||
|
||||
/**
|
||||
* "小程序直播" 小程序码
|
||||
* 当主播微信号没有在 “小程序直播“ 小程序实名认证 返回该字段
|
||||
*/
|
||||
@SerializedName("qrcode_url")
|
||||
private String qrcodeUrl;
|
||||
|
||||
/**
|
||||
* 房间ID
|
||||
*/
|
||||
@SerializedName("roomId")
|
||||
private Integer roomId;
|
||||
}
|
@ -1,6 +1,7 @@
|
||||
package cn.binarywang.wx.miniapp.api.impl;
|
||||
|
||||
import cn.binarywang.wx.miniapp.api.WxMaService;
|
||||
import cn.binarywang.wx.miniapp.bean.live.WxMaCreateRoomResult;
|
||||
import cn.binarywang.wx.miniapp.bean.live.WxMaLiveResult;
|
||||
import cn.binarywang.wx.miniapp.bean.live.WxMaLiveRoomInfo;
|
||||
import cn.binarywang.wx.miniapp.test.ApiTestModule;
|
||||
@ -14,6 +15,7 @@ import java.util.Arrays;
|
||||
import java.util.Calendar;
|
||||
import java.util.List;
|
||||
|
||||
import static org.assertj.core.api.Assertions.assertThat;
|
||||
import static org.testng.Assert.assertNotNull;
|
||||
|
||||
/**
|
||||
@ -50,8 +52,9 @@ public class WxMaLiveServiceImplTest {
|
||||
roomInfo.setCloseLike(0);
|
||||
roomInfo.setCloseGoods(0);
|
||||
roomInfo.setCloseComment(0);
|
||||
Integer roomId = this.wxService.getLiveService().createRoom(roomInfo);
|
||||
System.out.println(roomId);
|
||||
WxMaCreateRoomResult result = this.wxService.getLiveService().createRoom(roomInfo);
|
||||
assertNotNull(result);
|
||||
assertThat(result.getRoomId()).isNotNull();
|
||||
}
|
||||
|
||||
@Test
|
||||
|
Loading…
Reference in New Issue
Block a user