发布于2021-05-29 21:42 阅读(939) 评论(0) 点赞(8) 收藏(5)
/**
* 获取直播间列表
* @return List<Room>
* Room(
* id
* name 直播名称
* cover 直播封面图
* covers 直播封面图 小图
* liveFlow 直播流
* liveBroadcast 拉流(播放流)
* liveVideo 直播回放
* imGroupId 群组id
* )
*/
@RequestMapping(value = "/getRoomList",method = RequestMethod.GET,produces = "application/json;charset=UTF-8")
public String getRoomList(){
List<Room> roomList = iLiveService.getRoomList();
return success(roomList);
}
/**
* 获取 登陆SDK配置信息
* @return sdkAppID sdkAppId
* userID 用户openId
* userName 用户昵称
* userAvatar 用户头像
* userSig userSig签名
*/
@RequestMapping(value = "/getWeChatLiveSDK",method = RequestMethod.POST,produces = "application/json;charset=UTF-8")
public String getWeChatLiveSDK(){
//获取用户登录签名
String userSig = LiveUtil.getUserSig(getUser().getWx_mini_openid());
Map<String, Object> map = new HashMap<>();
map.put("sdkAppID", Setting.getValue("WECHATPAY.SDK_APPID"));
map.put("userID", getUser().getWx_mini_openid());
map.put("userName", getUser().getNickname());
map.put("userAvatar", getUser().getImageUrl());
map.put("userSig", userSig);
return success(map);
}
/**
* 用户给主播点赞
* 最好用mq处理
* @param wx_mini_openid 主播的openid
* @return success
*/
@RequestMapping(value = "/like",method = RequestMethod.POST,produces = "application/json;charset=UTF-8")
public String addLike(String wx_mini_openid){
/*wx_mini_openid 主播的openid不能为空*/
if (wx_mini_openid == null){
return fail("系统异常,请退出重试");
}
/* getUser().getWx_mini_openid() 用户的openId */
try {
messageHelper.send("likeAndSendGiftQueue","like,"+getUser().getWx_mini_openid()+","+wx_mini_openid);
}catch(Exception e){
logger.info("给主播点赞异常",e);
return fail("给主播点赞失败");
}
return success("给主播点赞");
}
/**
* 关注主播
* @param wx_mini_openid 主播的openId
* @return
*/
@RequestMapping(value = "/follow",method = RequestMethod.POST,produces = "application/json;charset=UTF-8")
public String follow(String wx_mini_openid){
if (wx_mini_openid == null){
return fail("系统异常,请退出重试");
}
Follow follow = new Follow();
follow.setFrom_id(getUser().getWx_mini_openid()); //用户openId
follow.setTo_id(wx_mini_openid); //主播openId
try {
boolean b = iLiveService.addFollow(follow);
if(b){
return success("关注主播成功");
}else {
return fail("关注主播失败");
}
}catch(Exception e){
logger.info("关注主播接口异常",e);
return fail("系统异常,请稍后重试");
}
}
/**
* 取消关注主播
* @param wx_mini_openid 主播openId
* @return
*/
@RequestMapping(value = "/unFollow",method = RequestMethod.POST,produces = "application/json;charset=UTF-8")
public String unFollow(String wx_mini_openid){
if (wx_mini_openid == null){
return fail("系统异常,请退出重试");
}
Follow follow = new Follow();
follow.setFrom_id(getUser().getWx_mini_openid()); //用户openId
follow.setTo_id(wx_mini_openid); //主播openId
try{
boolean b = iLiveService.deleteFollow(follow);
if(b){
return success("取消关注主播成功");
}else {
return fail("取消关注主播失败");
}
}catch(Exception e){
logger.info("取消关注主播接口异常",e);
return fail("系统异常,请稍后重试");
}
}
/**
* 获取礼物列表
* @return
*/
@RequestMapping(value = "/getGiftList",method = RequestMethod.POST,produces = "application/json;charset=UTF-8")
public String getGiftList(){
try {
List<Gift> giftList = iLiveService.getGiftList();
return success(giftList);
}catch(Exception e){
logger.info("获取礼物列表接口异常",e);
return fail("系统异常,请稍后重试");
}
}
/**
* 用户给主播送礼物
* @param wx_mini_openid 主播openId
* @param giftId 礼物id
* @param count 数量
* @return
*/
@RequestMapping(value = "/sendGift",method = RequestMethod.POST,produces = "application/json;charset=UTF-8")
public String sendGift(String wx_mini_openid,Integer giftId,Integer count){
if (wx_mini_openid == null || giftId == null){
return fail("系统异常,请退出重试");
}
if(count == null){
count = 1;
}
try{
messageHelper.send("likeAndSendGiftQueue","sendGift,"+getUser().getWx_mini_openid()+","+wx_mini_openid+","+giftId+","+count);
return success("送礼物成功");
}catch(Exception e){
logger.info("用户给主播送礼物接口异常",e);
return fail("系统异常,请稍后重试");
}
}
/**
* 主播开播,主播关播
* @param liveId 直播间Id
* @param status 1:主播开播 2:主播关播
* @return
*/
@RequestMapping(value = "/openOrCloseLive",method = RequestMethod.POST,produces = "application/json;charset=UTF-8")
public String openLive(Integer liveId,String status){
try {
// 获取直播间的信息
LiveLessonTable liveLessonTable = iLiveService.getLiveLessonTableById(liveId);
if (liveLessonTable==null){
return fail("直播间异常,请重新进入");
}
Map<String, Object> param = new HashMap<>();
param.put("GroupId", liveLessonTable.getImGroupId()); //群组Id
List<Map<String,Object>> mapList = new ArrayList<>();
Map<String,Object> map = new HashMap<>();
map.put("Key","room_status"); //群自定义字段 直播间状态
map.put("Value", status==null?"1":status); //自定义字段的值 1:主播开播 2:主播关播
mapList.add(map);
param.put("AppDefinedData", mapList); //自定义字段
//更新直播状态 修改群组资料
LiveImRepBody liveImRepBody = iLiveService.updateWeChantGroup(WeChantLiveUrl.MODIFY_GROUP_BASE_INFO, param);
if ("OK".equals(liveImRepBody.getActionStatus())){
return success("更新直播状态成功");
}else {
return fail("更新直播状态失败");
}
}catch (Exception e){
logger.info("更新主播间状态接口异常",e);
return fail("系统异常,请稍后重试");
}
}
原文链接:https://blog.csdn.net/weixin_44343477/article/details/116240268
作者:skdk
链接:http://www.javaheidong.com/blog/article/207540/32bdb77f87c266941568/
来源:java黑洞网
任何形式的转载都请注明出处,如有侵权 一经发现 必将追究其法律责任
昵称:
评论内容:(最多支持255个字符)
---无人问津也好,技不如人也罢,你都要试着安静下来,去做自己该做的事,而不是让内心的烦躁、焦虑,坏掉你本来就不多的热情和定力
Copyright © 2018-2021 java黑洞网 All Rights Reserved 版权所有,并保留所有权利。京ICP备18063182号-2
投诉与举报,广告合作请联系vgs_info@163.com或QQ3083709327
免责声明:网站文章均由用户上传,仅供读者学习交流使用,禁止用做商业用途。若文章涉及色情,反动,侵权等违法信息,请向我们举报,一经核实我们会立即删除!