欢迎访问 生活随笔!

生活随笔

当前位置: 首页 > 编程资源 > 编程问答 >内容正文

编程问答

怎么做才能给直播软件开发出“守护功能”的代码教程

发布时间:2023/12/31 编程问答 41 豆豆
生活随笔 收集整理的这篇文章主要介绍了 怎么做才能给直播软件开发出“守护功能”的代码教程 小编觉得挺不错的,现在分享给大家,帮大家做个参考.

在我们观看直播时,倘若遇见喜欢的主播,我们可以为他赠送礼物或者开通守护,在我们操作消费后,主播方会获得一定收益,平台方也能够获取一定抽成,为此,很多直播平台的运营方都会希望通过直播软件开发,为自己的直播平台增加“守护功能”那么,我们该怎么做呢?教程如下:
用户在给主播开通守护时,首先要获取守护的各项信息

public function getList(){$list=DI()->notorm->guard ->select('id,name,type,coin') //获取守护信息的id,名称,类型,价格 ->order("orderno asc") ->fetchAll(); return $list; } 在用户获取这些信息之后,即可购买自己想要的守护 /* 购买守护 */ public function buyGuard($data){ $rs = array('code' => 0, 'msg' => '购买成功', 'info' => array()); $uid=$data['uid']; //购买守护的用户id $liveuid=$data['liveuid']; //主播的id $guardid=$data['guardid']; //守护信息的id,用来获取守护的信息 $guardinfo=DI()->notorm->guard ->select('*') ->where('id=?',$guardid) ->fetchOne(); if(!$guardinfo){ //使用用户守护信息的id来搜索守护信息,进行判断:守护信息是否存在 $rs['code'] = 1001;$rs['msg'] = '守护信息不存在';return $rs; } $addtime=time(); $isexist=DI()->notorm->guard_users //检索该用户之前有没有开通过守护->select('*')->where('uid = ? and liveuid=?', $uid,$liveuid)->fetchOne(); if($isexist && $isexist['endtime'] > $addtime && $isexist['type'] > $guardinfo['type'] ){ //判断本次用户开通的守护和之前开通的守护是否有冲突,倘若用户正处于更高级别的守护有效期内(如在开通尊贵守护的同时,又开通普通守护)则本次守护无法开通 $rs['code'] = 1004;$rs['msg'] = '已经是尊贵守护了,不能购买普通守护';return $rs; } $type='expend'; $action='buyguard'; $giftid= $guardinfo['id']; $total= $guardinfo['coin']; /* 更新用户余额 消费 */ $isok=DI()->notorm->users->where('id = ? and coin>=?', $uid,$total)->update(array('coin' => new NotORM_Literal("coin - {$total}"),'consumption' => new NotORM_Literal("consumption + {$total}") ) ); //用户购买守护进行扣费 if(!$isok){ //判断本次扣费是否成功 $rs['code'] = 1002;$rs['msg'] = '余额不足';return $rs; } DI()->notorm->users //主播在被开通守护之后会收到相应的收益 ->where('id = ?', $liveuid) ->update( array('votes' => new NotORM_Literal("votes + {$total}"),'votestotal' => new NotORM_Literal("votestotal + {$total}") )); $insert=array("type"=>$type,"action"=>$action,"uid"=>$uid,"touid"=>$liveuid,"giftid"=>$giftid,"giftcount"=>$total,"totalcoin"=>$total,"addtime"=>$addtime ); //添加购买守护的记录,证明该用户是该主播的守护DI()->notorm->users_coinrecord->insert($insert); //更新消费记录 $endtime=$addtime + $guardinfo['length_time']; if($isexist){ //如果之前购买过守护 if($isexist['type'] == $guardinfo['type'] && $isexist['endtime'] > $addtime){ //判断本次购买的守护和之前的守护是否相同,如果相同测更新到期时间 /* 同类型未到期 只更新到期时间 */ DI()->notorm->guard_users->where('id = ? ', $isexist['id'])->update( array('endtime' => new NotORM_Literal("endtime + {$guardinfo['length_time']}"))); $rs['msg']='续费成功'; }else{ //不同的话就更新全部信息 $data=array( 'type'=>$guardinfo['type'], 'endtime'=>$endtime, 'addtime'=>$addtime, ); DI()->notorm->guard_users->where('id = ? ', $isexist['id'])->update( $data ); } }else{ //如果之前没有购买过守护 $data=array( 'uid'=>$uid, 'liveuid'=>$liveuid, 'type'=>$guardinfo['type'], 'endtime'=>$endtime, 'addtime'=>$addtime, ); DI()->notorm->guard_users //添加新的守护信息->insert( $data ); } return $rs; }

以上就是用户为主播购买守护之后,直播系统自动进行的操作,更多与直播软件开发相关的资讯和分析会在以后逐渐放出,敬请期待,需要的朋友请关注我。
声明:文章为原创内容,转载请注明原文链接及作者

总结

以上是生活随笔为你收集整理的怎么做才能给直播软件开发出“守护功能”的代码教程的全部内容,希望文章能够帮你解决所遇到的问题。

如果觉得生活随笔网站内容还不错,欢迎将生活随笔推荐给好友。