Merge branch 'develop_test' into develop

This commit is contained in:
2026-01-05 15:44:58 +08:00
16 changed files with 2222 additions and 146 deletions

View File

@@ -7,6 +7,7 @@ use think\Log;
use think\Model;
use think\Session;
use think\Db;
use app\common\library\GiftQueue;
class GiveGift extends Model
{
@@ -102,6 +103,7 @@ class GiveGift extends Model
//判断是否有足够的金币
$user_waller = db::name('user_wallet')->where(['user_id'=>$uid])->find();
if ($user_waller['coin'] < $all_gift_price) {
Db::rollback();
return ['code' => 0, 'msg' => '用户金币不足', 'data' => null];
}
//扣除用户金币并记录日志
@@ -121,9 +123,11 @@ class GiveGift extends Model
//背包礼物是否充足
$user_gift_pack = db::name('vs_user_gift_pack')->where(['user_id'=>$uid,'gid'=>$gid])->find();
if (empty($user_gift_pack)) {
Db::rollback();
return ['code' => 0, 'msg' => '用户背包礼物不足', 'data' => null];
}
if ($user_gift_pack['num'] < $num * count($toarray)) {
Db::rollback();
return ['code' => 0, 'msg' => '用户背包礼物不足', 'data' => null];
}
//扣除背包礼物并记录日志
@@ -1013,25 +1017,35 @@ class GiveGift extends Model
'type' => $type,//1金币购买 2送背包礼物
'createtime' => time(),
];
$res = Db::name('vs_give_gift')->insertGetId($data);
if(!$res){
return false;
}
GiftQueue::push($data);
return true;
}
//送礼回调处理任务
public function change_user_give_gift_log_callback($give_gift_id,$data)
{
$from_id = $data['from_id'];
$uid = $data['user_id'];
$to_id = $data['gift_user'];
$gift_price = $data['total_price'];
$gid = $data['gift_id'];
//记录公会流水
if($from_type==2 && $from_id > 0){
model('api/Guild')->guild_flow($from_id,$gift_price,$res);
if($from_id > 0){
model('api/Guild')->guild_flow($from_id,$gift_price,$give_gift_id);
}
//查询是否第一次送礼
$is_first_gift = db::name('vs_give_gift')->where(['user_id'=>$uid])->count();
if($is_first_gift == 1){
//任务7-第一次送礼
model('Tasks')->tasks_complete($uid,7);
model('api/Tasks')->tasks_complete($uid,7);
}
//查询是否第一次收礼
$is_first_receive_gift = db::name('vs_give_gift')->where(['gift_user'=>$to_id])->count();
if($is_first_receive_gift == 1){
//任务8-第一次收礼
model('Tasks')->tasks_complete($to_id,8);
model('api/Tasks')->tasks_complete($to_id,8);
}
//查询收礼人和送礼人的师徒关系
@@ -1042,13 +1056,13 @@ class GiveGift extends Model
if($is_master){
if(in_array($gid,$special_gift)){
//任务14-每日给师傅送一个特定的礼物
model('Tasks')->tasks_complete($uid,14);
model('api/Tasks')->tasks_complete($uid,14);
//查询今天是否送过礼物了
$is_today_gift = db::name('vs_give_gift')
->where(['user_id'=>$uid,'gift_user'=>$to_id,'createtime' => ['>=',strtotime(date('Y-m-d'))],'gift_id' => ['in',$special_gift]])->count();
if($is_today_gift <= 1){
//任务13-每日收到至少3个徒弟的特殊徐礼物
model('Tasks')->tasks_complete($to_id,13);
model('api/Tasks')->tasks_complete($to_id,13);
}
}
}
@@ -1060,30 +1074,28 @@ class GiveGift extends Model
$is_today_gift = db::name('vs_give_gift')
->where(['user_id'=>$uid,'gift_user'=>$to_id,'createtime' => ['>=',strtotime(date('Y-m-d'))],'gift_id' => ['in',$special_gift]])->count();
// if($is_today_gift <= 2){
//查询徒弟是否是首签的徒弟 sign_user_type:被签用户的类型0-首次被签1-签约过期2-违约签
$is_students = db::name('vs_user_sign')
->where(['parent_user_id' => $uid,'sign_user_id' => $to_id,'sign_user_type' => 0,'end_time' => ['>',time()]])->value('id');
if($is_students){
//获取房间的类型
$room_type = db::name('vs_room')->where(['id' => $from_id])->value('type_id');
if($room_type == 2){
//任务21-邀请徒弟在拍卖房停留0/5分钟并送给徒弟0/1 ,特殊礼物)
model('Tasks')->tasks_complete($uid,21,2,$to_id);
}
if($room_type == 9){
//任务22-邀请徒弟在点唱房点歌0/1并送给徒弟0/1 ,特殊礼物)
model('Tasks')->tasks_complete($uid,22,2,$to_id);
}
if($room_type == 7) {
//任务23-邀请徒弟在交友房停留0/5分钟并送给徒弟0/1 ,特殊礼物)
model('Tasks')->tasks_complete($uid, 23, 2,$to_id);
}
//查询徒弟是否是首签的徒弟 sign_user_type:被签用户的类型0-首次被签1-签约过期2-违约签
$is_students = db::name('vs_user_sign')
->where(['parent_user_id' => $uid,'sign_user_id' => $to_id,'sign_user_type' => 0,'end_time' => ['>',time()]])->value('id');
if($is_students){
//获取房间的类型
$room_type = db::name('vs_room')->where(['id' => $from_id])->value('type_id');
if($room_type == 2){
//任务21-邀请徒弟在拍卖房停留0/5分钟并送给徒弟0/1 ,特殊礼物)
model('api/Tasks')->tasks_complete($uid,21,2,$to_id);
}
if($room_type == 9){
//任务22-邀请徒弟在点唱房点歌0/1并送给徒弟0/1 ,特殊礼物)
model('api/Tasks')->tasks_complete($uid,22,2,$to_id);
}
if($room_type == 7) {
//任务23-邀请徒弟在交友房停留0/5分钟并送给徒弟0/1 ,特殊礼物)
model('api/Tasks')->tasks_complete($uid, 23, 2,$to_id);
}
}
// }
}
}
return $res;
}
@@ -1318,7 +1330,8 @@ class GiveGift extends Model
'user_id'=>$uid,
'total_price'=>$total_gift_price,
'type'=>$is_pack,
'from'=>4//1聊天送礼物 2房间语聊送礼 3直播送礼 4动态打赏'
'from'=>4,//1聊天送礼物 2房间语聊送礼 3直播送礼 4动态打赏'
'createtime'=>time(),
];
$give_gift_res = Db::name('vs_give_gift')->insertGetId($give_gift_data);
if(!$give_gift_res){