定版之后bug修改--缓存同意方法封装

This commit is contained in:
2025-09-19 18:37:13 +08:00
parent 2104552429
commit f369d9c2d2

View File

@@ -70,7 +70,8 @@ class BlindBoxTurntableGiftDraw extends Model
$xlh_ext, $xlh_ext,
$xlhIsPiaoPing, $xlhIsPiaoPing,
$currentXlhPeriodsNum, $currentXlhPeriodsNum,
$room $room,
$user_id
); );
// 6. 构建并返回结果 // 6. 构建并返回结果
@@ -574,13 +575,14 @@ class BlindBoxTurntableGiftDraw extends Model
$xlh_ext, $xlh_ext,
$xlhIsPiaoPing, $xlhIsPiaoPing,
$currentXlhPeriodsNum, $currentXlhPeriodsNum,
$room $room,
$user_id
) { ) {
// 1. 批量插入盲盒转盘结果记录 // 1. 批量插入盲盒转盘结果记录
$this->batchInsertBlindBoxResults($precomputedResults, $boxTurntableLog, $room_id); $this->batchInsertBlindBoxResults($precomputedResults, $boxTurntableLog, $room_id);
// 2. 发送礼物给接收者 // 2. 发送礼物给接收者
$this->sendGiftsToRecipients($precomputedResults, $boxTurntableLog, $room_id); $this->sendGiftsToRecipients($precomputedResults, $boxTurntableLog, $room_id,$user_id);
// 3. 处理巡乐会相关操作 // 3. 处理巡乐会相关操作
if (!empty($xlh_ext) && $xlh_ext['inlet_bag_id'] == $precomputedResults[0]['gift_bag_detail']['gift_bag_id']) { if (!empty($xlh_ext) && $xlh_ext['inlet_bag_id'] == $precomputedResults[0]['gift_bag_detail']['gift_bag_id']) {
@@ -631,7 +633,7 @@ class BlindBoxTurntableGiftDraw extends Model
/** /**
* 发送礼物给接收者 * 发送礼物给接收者
*/ */
private function sendGiftsToRecipients($precomputedResults, $boxTurntableLog, $room_id) private function sendGiftsToRecipients($precomputedResults, $boxTurntableLog, $room_id,$user_id)
{ {
// 统计每个用户每个礼物的数量 // 统计每个用户每个礼物的数量
$giftUserCounts = []; $giftUserCounts = [];
@@ -659,7 +661,7 @@ class BlindBoxTurntableGiftDraw extends Model
]; ];
$res = model('Room')->room_gift( $res = model('Room')->room_gift(
$precomputedResults[0]['gift_user_id'], $user_id,
$userGift['gift_user_id'], $userGift['gift_user_id'],
$userGift['gift_id'], $userGift['gift_id'],
$userGift['count'], $userGift['count'],
@@ -671,7 +673,7 @@ class BlindBoxTurntableGiftDraw extends Model
); );
if (isset($res) && $res['code'] != 1) { if (isset($res) && $res['code'] != 1) {
Log::record('发送礼物失败: ' . $res['msg'],"info"); Log::record('发送礼物失败: ' . $res['msg'].$userGift['gift_user_id'],"info");
return ['code' => 0, 'msg' => $res['msg'], 'data' => null]; return ['code' => 0, 'msg' => $res['msg'], 'data' => null];
// \think\facade\Log::error('发送礼物失败: ' . $res['msg']); // \think\facade\Log::error('发送礼物失败: ' . $res['msg']);
} }
@@ -885,11 +887,21 @@ class BlindBoxTurntableGiftDraw extends Model
* 获取缓存的巡乐会配置 * 获取缓存的巡乐会配置
*/ */
private function getCachedXlhConfig() { private function getCachedXlhConfig() {
$cacheKey = 'xlh_config_13'; $cacheKey = "xlh_config_13";
return Cache::remember($cacheKey, function() { $ext = Cache::get($cacheKey);
$xlh_box = db::name('vs_gift_bag')->where('id', 13)->find(); if (!$ext) {
return $xlh_box ? json_decode($xlh_box['ext'], true) : []; $bag_data = db::name("vs_gift_bag")
}, 3600); // 缓存1小时 ->field('id,name,ext,periods')
->where('id', 13)
->find();
if (!$bag_data) {
return [];
}
$ext = json_decode($bag_data['ext'], true);
$ext['gift_bag_name'] = $bag_data['name'];
Cache::set($cacheKey, $ext, 3600); // 缓存1小时
}
return $ext;
} }
/** /**
@@ -1045,19 +1057,7 @@ class BlindBoxTurntableGiftDraw extends Model
// 1. 获取并缓存盲盒配置 // 1. 获取并缓存盲盒配置
$cacheKey = "xlh_config_{$gift_bag_id}"; $cacheKey = "xlh_config_{$gift_bag_id}";
$ext = Cache::get($cacheKey); $ext = $this->getCachedXlhConfig();
if (!$ext) {
$bag_data = db::name("vs_gift_bag")
->field('id,name,ext,periods')
->where('id', $gift_bag_id)
->find();
if (!$bag_data) {
return ['code' => 0, 'msg' => '盲盒配置不存在', 'data' => null];
}
$ext = json_decode($bag_data['ext'], true);
$ext['gift_bag_name'] = $bag_data['name'];
Cache::set($cacheKey, $ext, 3600); // 缓存1小时
}
// 2. 检查用户金币和房间状态 // 2. 检查用户金币和房间状态
$bag_gift_price = $ext['xlh_box_price'] * $num; $bag_gift_price = $ext['xlh_box_price'] * $num;