From 69110c094343fa111eee75b0a56fef7dd7995f8a Mon Sep 17 00:00:00 2001
From: quanwei <419654421@qq.com>
Date: Tue, 25 Nov 2025 18:09:45 +0800
Subject: [PATCH] 修复优惠券点击立即使用弹出二维码问题 商家后台添加分销和超级分红 添加活动分享功能 添加商户提现功能
---
admin/app/common/model/user/User.php | 75 +++++++++++++++++++++++++++++++++++++
1 files changed, 74 insertions(+), 1 deletions(-)
diff --git a/admin/app/common/model/user/User.php b/admin/app/common/model/user/User.php
index e83649d..82d0e4e 100644
--- a/admin/app/common/model/user/User.php
+++ b/admin/app/common/model/user/User.php
@@ -3,12 +3,16 @@
namespace app\common\model\user;
+use app\common\library\helper;
use app\common\model\BaseModel;
+use app\common\model\plus\bonus\Setting as bonusSettingModel;
+use app\common\model\user\Grade as GradeModel;
use app\common\model\user\PointsLog as PointsLogModel;
use app\common\model\supplier\User as SupplierUserModel;
use app\common\model\store\Clerk as StoreClerkModel;
+use app\common\model\user\User as UserModel;
use think\facade\Db; // by lyzflash
-
+use app\common\model\plus\bonus\User as BonusUserModel;
/**
* 用户模型
*/
@@ -259,4 +263,73 @@
}
return $model->where('user_id', 'in', $ids)->select();
}
+
+ /**
+ * 购买商品成功:累积购买商品次数
+ */
+ public static function setRepurchaseFrequency($user_id)
+ {
+ $user= self::detail($user_id);
+ $purchase_count=$user['purchase_count']+1;
+ if ($purchase_count>11){
+ return false;
+ }
+ self::where('user_id',$user_id)->update([
+ 'purchase_count'=>$purchase_count
+ ]);
+ // 用户等级
+ event('UserGrade', $user_id);
+ $bonusUser=BonusUserModel::detail($user_id);
+ if ($bonusUser){
+ return BonusUserModel::detail($user_id)->save([
+ 'purchase_count'=>$purchase_count
+ ]);
+ }
+ return true;
+ }
+ /**
+ * 取消订单:减少累积购买商品次数
+ */
+ public static function decreasePurchaseCount($user_id,$product,$app_id)
+ {
+ // 验证是否设置
+ $config = bonusSettingModel::getItem('basic', $app_id);
+ if (empty($config['become__buy_product_ids'])) {
+ return false;
+ }
+ // 整理商品id集
+ $productIds = helper::getArrayColumn($product, 'product_id');
+ // 判断商品是否在设置范围内
+ $intersect = array_intersect($productIds, $config['become__buy_product_ids']);
+ if (empty($intersect)) {
+ return false;
+ }
+ $quantity=0;
+ foreach ($product as $item){
+ // 检查商品是否是指定的分红商品
+ if (in_array($item['product_id'], $config['become__buy_product_ids'])) {
+ // 获取商品数量
+ $quantity+= $item['total_num'];
+ }
+ }
+ $user= self::detail($user_id);
+ $purchase_count=$user['purchase_count']-$quantity;
+ if ($purchase_count<0){
+ $purchase_count=0;
+ }
+ $grade=(new GradeModel())->where('purchase_count','<=',$purchase_count)->order('purchase_count','desc')->find();
+ self::where('user_id',$user_id)->update([
+ 'purchase_count'=>$purchase_count,
+ 'grade_id'=>$grade['grade_id']
+ ]);
+ // 用户等级
+ event('UserGrade', $user_id);
+ $bonusUser=BonusUserModel::detail($user_id);
+ if ($bonusUser){
+ return BonusUserModel::detail($user_id)->save([
+ 'purchase_count'=>$purchase_count
+ ]);
+ }
+ return true;
+ }
}
\ No newline at end of file
--
Gitblit v1.9.2