56 lines
2.2 KiB
PHP
56 lines
2.2 KiB
PHP
|
|
<?php
|
|||
|
|
|
|||
|
|
namespace app\api\controller;
|
|||
|
|
|
|||
|
|
use app\common\controller\BaseCom;
|
|||
|
|
use think\Db;
|
|||
|
|
|
|||
|
|
class SendGift extends BaseCom
|
|||
|
|
{
|
|||
|
|
|
|||
|
|
/*
|
|||
|
|
* 送礼
|
|||
|
|
* @param int $gift_id
|
|||
|
|
*/
|
|||
|
|
public function send_gift()
|
|||
|
|
{
|
|||
|
|
$key_name = "api:send:gift:" . $this->uid;
|
|||
|
|
redis_lock_exits($key_name);
|
|||
|
|
$room_id = input('room_id', 0);//房间ID
|
|||
|
|
$gift_id = input('gift_id', 0);//礼物ID
|
|||
|
|
$gift_num = (int)input('gift_num', 1);//礼物数量
|
|||
|
|
$to_uid = input('to_uid', 0);//收礼人ID,逗号隔开的字符串
|
|||
|
|
$type = input('type', 1);//1金币购买 2送背包礼物
|
|||
|
|
$pit_number = input('pit_number', 0);
|
|||
|
|
$heart_id = input('heart_id', 0);//助力时的 ID
|
|||
|
|
|
|||
|
|
//获取幸运币
|
|||
|
|
$pool_gift_id = db::name('bb_lottery_config')->where(['key' => 'pool_gift_id'])->value('value');
|
|||
|
|
if($gift_id == $pool_gift_id){//送的是幸运币
|
|||
|
|
$reslut = model('Lottery')->gift($this->uid, $to_uid, $gift_id, $room_id,$gift_num);
|
|||
|
|
}else{
|
|||
|
|
//获取房间类型
|
|||
|
|
$room_type = model('Room')->get_room_type($room_id);
|
|||
|
|
if($room_type == 1){
|
|||
|
|
$reslut = model('GiveGift')->give_gift($this->uid, $to_uid, $gift_id, $gift_num,2,$type, $room_id,$pit_number,0,$give_gift_ext);
|
|||
|
|
}elseif ($room_type == 2){
|
|||
|
|
$reslut = model('GiveGift')->give_gift($this->uid, $to_uid, $gift_id, $gift_num,2,$type, $room_id,$pit_number,0,$give_gift_ext);
|
|||
|
|
if($reslut['code'] == 1){
|
|||
|
|
$room_pits = model('RoomSong')->get_charm_rank($room_id);
|
|||
|
|
if($room_pits['code'] == 1){
|
|||
|
|
$room_pit = $room_pits['data'];
|
|||
|
|
//推送给前端
|
|||
|
|
$text = [
|
|||
|
|
'userCharmList' => $room_pit,
|
|||
|
|
];
|
|||
|
|
model('Chat')->sendMsg(1019,$room_id,$text);//K歌房送礼后魅力变化 排序变化
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
$reslut = model('Room')->room_gift($this->uid, $to_uid, $gift_id, $gift_num, $type, $room_id, $pit_number,$heart_id);
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
redis_unlocks($key_name);
|
|||
|
|
return V($reslut['code'], $reslut['msg'], $reslut['data']);
|
|||
|
|
}
|
|||
|
|
}
|