From 69922b431883fb1b4b4df59e0f83eb3637715e49 Mon Sep 17 00:00:00 2001 From: chuan <2154243450@qq.com> Date: Fri, 21 Feb 2025 17:19:38 +0800 Subject: [PATCH] purchase vip --- app/home/service/UserService.php | 18 ++++++++++++------ app/model/PurchaseVipLogModel.php | 7 +++++++ 2 files changed, 19 insertions(+), 6 deletions(-) create mode 100644 app/model/PurchaseVipLogModel.php diff --git a/app/home/service/UserService.php b/app/home/service/UserService.php index c60d5c8e..2234ce95 100644 --- a/app/home/service/UserService.php +++ b/app/home/service/UserService.php @@ -8,6 +8,7 @@ use app\model\AwsS3Model; use app\model\CountryModel; use app\model\CustomerRelationalModel; use app\model\FileModel; +use app\model\PurchaseVipLogModel; use app\model\PurchaseVipModel; use app\model\UserAccessLogModel; use app\model\UserChatGroupModel; @@ -308,7 +309,8 @@ class UserService extends BaseHomeService ]); // 查询用户是否开通过vip,更新用户vip到期时间 $vipLog = PurchaseVipModel::where(['user_id'=>$userId])->find(); - $expireTime = date("Y-m-d H:i:s"); + $expireTimestamp = strtotime('+30 days'); + $expireTime = date("Y-m-d H:i:s", $expireTimestamp); if (!empty($vipLog)) { if (empty($vipLog->expire)) { return $this->toData('100400', ' The vip expire error '); @@ -320,15 +322,19 @@ class UserService extends BaseHomeService $vipLog->expire = $expireTime; $vipLog->save(); } else { - $expireTimestamp = strtotime('+30 days', time()); - $expireTime = date("Y-m-d H:i:s", $expireTimestamp); PurchaseVipModel::create([ 'user_id' => $userId, - 'amount' => $vipPrice, - 'stock_id' => $stockId, 'expire' => $expireTime ]); } + // 添加用户购买VIP的日志 + PurchaseVipLogModel::create([ + 'user_id' => $userId, + 'amount' => $vipPrice, + 'stock_id' => $stockId, + 'expire' => $expireTime, + 'day' => 30, + ]); }); return $this->toData('0', 'successful'); } catch (\Exception $exception) { @@ -343,7 +349,7 @@ class UserService extends BaseHomeService if (!isset($param['page']) || !isset($param['limit'])) { return $this->toData('100403', 'Missing parameter', []); } - $list = PurchaseVipModel::where(['user_id'=>$userId])->order('id', 'desc')->paginate([ + $list = PurchaseVipLogModel::where(['user_id'=>$userId])->order('id', 'desc')->paginate([ 'list_rows' => $param['limit'], 'page' => $param['page'], ]); diff --git a/app/model/PurchaseVipLogModel.php b/app/model/PurchaseVipLogModel.php new file mode 100644 index 00000000..a7010649 --- /dev/null +++ b/app/model/PurchaseVipLogModel.php @@ -0,0 +1,7 @@ +