|
@@ -279,7 +279,7 @@ class PayRechargeController extends Controller
|
|
|
$startDay = $dayRewardsData['start_day'] ?? 1;
|
|
$startDay = $dayRewardsData['start_day'] ?? 1;
|
|
|
$bonusDay = $dayRewardsData['bonus_day'] ?? 0;
|
|
$bonusDay = $dayRewardsData['bonus_day'] ?? 0;
|
|
|
$claimedDays = $giftRecord->day_rewards_claimed;
|
|
$claimedDays = $giftRecord->day_rewards_claimed;
|
|
|
-
|
|
|
|
|
|
|
+// $startDay = $startDay-1;
|
|
|
// 判断每日奖励状态
|
|
// 判断每日奖励状态
|
|
|
// 0=不可领取, 1=可领取, 2=已领取, 3=过期
|
|
// 0=不可领取, 1=可领取, 2=已领取, 3=过期
|
|
|
$dayRewardStatus = 0; // 默认不可领取
|
|
$dayRewardStatus = 0; // 默认不可领取
|
|
@@ -287,18 +287,17 @@ class PayRechargeController extends Controller
|
|
|
// 检查是否过期(购买后7天)
|
|
// 检查是否过期(购买后7天)
|
|
|
if ($daysPassed >= 7) {
|
|
if ($daysPassed >= 7) {
|
|
|
$dayRewardStatus = 3; // 过期
|
|
$dayRewardStatus = 3; // 过期
|
|
|
- } elseif ($daysPassed >= $startDay) {
|
|
|
|
|
|
|
+ } elseif ($daysPassed >= $startDay-1) {
|
|
|
// 计算今天是第几个奖励日(从起始天数开始)
|
|
// 计算今天是第几个奖励日(从起始天数开始)
|
|
|
- $rewardIndex = $daysPassed - $startDay;
|
|
|
|
|
|
|
+ $rewardIndex = $daysPassed - ($startDay-1);
|
|
|
|
|
|
|
|
if ($rewardIndex < $bonusDay) {
|
|
if ($rewardIndex < $bonusDay) {
|
|
|
// 在奖励期内
|
|
// 在奖励期内
|
|
|
if ($claimedDays > $rewardIndex) {
|
|
if ($claimedDays > $rewardIndex) {
|
|
|
$dayRewardStatus = 2; // 已领取
|
|
$dayRewardStatus = 2; // 已领取
|
|
|
- } elseif ($claimedDays == $rewardIndex) {
|
|
|
|
|
- $dayRewardStatus = 1; // 可领取
|
|
|
|
|
} else {
|
|
} else {
|
|
|
- $dayRewardStatus = 0; // 不可领取(前面的天数未领或已过期)
|
|
|
|
|
|
|
+ // 即便前几天漏领,后续奖励仍可继续领取(漏掉的视为作废)
|
|
|
|
|
+ $dayRewardStatus = 1; // 可领取
|
|
|
}
|
|
}
|
|
|
} else {
|
|
} else {
|
|
|
// 超过奖励天数
|
|
// 超过奖励天数
|
|
@@ -468,13 +467,13 @@ class PayRechargeController extends Controller
|
|
|
$daysPassed = floor((strtotime($currentDate) - strtotime($purchaseDate)) / 86400);
|
|
$daysPassed = floor((strtotime($currentDate) - strtotime($purchaseDate)) / 86400);
|
|
|
|
|
|
|
|
// 检查是否到了可以领取的天数(从第start_day天开始)
|
|
// 检查是否到了可以领取的天数(从第start_day天开始)
|
|
|
- if ($daysPassed < $startDay) {
|
|
|
|
|
|
|
+ if ($daysPassed < $startDay-1) {
|
|
|
return apiReturnFail('还未到可领取时间,需要从第' . $startDay . '天开始');
|
|
return apiReturnFail('还未到可领取时间,需要从第' . $startDay . '天开始');
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
// 计算今天应该领取第几天的奖励
|
|
// 计算今天应该领取第几天的奖励
|
|
|
// 例如:start_day=2,今天是第3天,应该领取第1个奖励(索引0)
|
|
// 例如:start_day=2,今天是第3天,应该领取第1个奖励(索引0)
|
|
|
- $todayRewardIndex = $daysPassed - $startDay;
|
|
|
|
|
|
|
+ $todayRewardIndex = $daysPassed - ($startDay-1);
|
|
|
|
|
|
|
|
// 检查是否超过奖励天数
|
|
// 检查是否超过奖励天数
|
|
|
if ($todayRewardIndex >= $bonusDay) {
|
|
if ($todayRewardIndex >= $bonusDay) {
|