From 89eb41d8c1bfb848c1af26c6b8a6f6916edeb250 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=88=98=E5=8D=8E=E6=B8=85?= <18691022700@163.com> Date: Wed, 10 Dec 2025 16:17:33 +0800 Subject: [PATCH] =?UTF-8?q?=E5=AE=B6=E6=97=8F=E6=88=90=E5=91=98=E6=94=B6?= =?UTF-8?q?=E5=85=A5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- application/api/model/Family.php | 17 ++++++++++++----- 1 file changed, 12 insertions(+), 5 deletions(-) diff --git a/application/api/model/Family.php b/application/api/model/Family.php index 95415d91..92891666 100644 --- a/application/api/model/Family.php +++ b/application/api/model/Family.php @@ -3,6 +3,7 @@ namespace app\api\model; use think\Db; +use think\Log; use think\Model; class Family extends Model @@ -112,19 +113,25 @@ class Family extends Model }else{ $lists[$k]['free_renewal'] = 0; } - if($v['createtime'] > strtotime(date('Y-m-d'))){ + + // 优化今日收益计算逻辑 + $todayStart = strtotime(date('Y-m-d')); + if($v['createtime'] < $todayStart){ $lists[$k]['today_earnings'] = round(db::name('vs_user_money_log') - ->where(['user_id' => $v['user_id'],'money_type' => 2,'change_type' =>11,'createtime' => ['between',[strtotime(date('Y-m-d')),time()]]]) + ->where(['user_id' => $v['user_id'],'money_type' => 2,'change_type' =>11,'createtime' => ['between',[$todayStart,time()]]]) ->sum('change_value'), 4);//今日收益 }else{ $lists[$k]['today_earnings'] = round(db::name('vs_user_money_log') ->where(['user_id' => $v['user_id'],'money_type' => 2,'change_type' =>11,'createtime' => ['between',[$v['createtime'],time()]]]) ->sum('change_value'), 4);//今日收益 } - if($v['createtime'] >= strtotime(date('Y-m-d'))) { - //昨日收益 + + // 昨日收益计算逻辑优化 + $yesterdayStart = strtotime(date('Y-m-d', strtotime('-1 day'))); + $yesterdayEnd = strtotime(date('Y-m-d')); + if($v['createtime'] <= $todayStart) { $lists[$k]['yesterday_earnings'] = round(db::name('vs_user_money_log') - ->where(['user_id' => $v['user_id'], 'money_type' => 2, 'change_type' => 11, 'createtime' => ['between', [strtotime(date('Y-m-d', strtotime('-1 day'))), strtotime(date('Y-m-d'))]]]) + ->where(['user_id' => $v['user_id'], 'money_type' => 2, 'change_type' => 11, 'createtime' => ['between', [$yesterdayStart, $yesterdayEnd]]]) ->sum('change_value'), 4); }else{ $lists[$k]['yesterday_earnings'] = 0;