quanwei
2025-12-13 30563323a53b0d0260c97d08a9e8bd4cc8227a95
admin/app/common/model/user/User.php
@@ -11,8 +11,10 @@
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 app\common\model\settings\Setting as SettingModel;
use think\facade\Db; // by lyzflash
use app\common\model\plus\bonus\User as BonusUserModel;
use app\common\model\user\ConsumptionLog as ConsumptionLogModel;
/**
 * 用户模型
 */
@@ -155,6 +157,20 @@
        }
        return true;
    }
    /**
     * 累积用户的可用消费券数量 (批量)
     */
    public function onBatchIncConsumption($data)
    {
        foreach ($data as $userId => $expendPoints) {
            $this->where(['user_id' => $userId])
                ->inc('consumer_coupon', $expendPoints)
                ->inc('total_expend_money', $expendPoints)
                ->update();
            event('UserGrade', $this['user_id']);
        }
        return true;
    }
    /**
     * 累积用户的可用积分
@@ -174,6 +190,31 @@
        // 用户总积分
        if ($points > 0) {
            $data['total_points'] = $this['total_points'] + $points;
        }
        $this->where('user_id', '=', $this['user_id'])->update($data);
        if($upgrade) {
            event('UserGrade', $this['user_id']);
        }
        return true;
    }
    /**
     * 累积用户的可用消费券
     */
    public function setIncConsumption($consumption, $describe, $decConsumption = 0, $upgrade = true)
    {
        // 新增消费券变动明细
        ConsumptionLogModel::add([
            'user_id' => $this['user_id'],
            'value' => $consumption,
            'describe' => $describe,
            'app_id' => $this['app_id'],
        ]);
        // 更新用户可用消费券
        $data['consumer_coupon'] = ($this['consumer_coupon'] + $consumption + $decConsumption <= 0) ? 0 : $this['consumer_coupon'] + $consumption + $decConsumption;
        // 用户总消费券
        if ($consumption > 0) {
            $data['total_expend_money'] = $this['total_expend_money'] + $consumption;
        }
        $this->where('user_id', '=', $this['user_id'])->update($data);
        if($upgrade) {
@@ -271,9 +312,18 @@
    {
        $user= self::detail($user_id);
        $purchase_count=$user['purchase_count']+1;
        if ($purchase_count>11){
            return false;
        if ($purchase_count==1&&$user['referee_id']){
            $referee= self::detail($user['referee_id']);
            if ($referee){
                $settingConsumption=SettingModel::getItem('consumption');
                if ($settingConsumption['give_away']){
                    $referee->setIncConsumption($settingConsumption['give_away'], '直推首单礼包');
                }
            }
        }
        /*if ($purchase_count>11){
            return false;
        }*/
        self::where('user_id',$user_id)->update([
            'purchase_count'=>$purchase_count
        ]);
@@ -307,7 +357,7 @@
        $quantity=0;
        foreach ($product as $item){
            // 检查商品是否是指定的分红商品
            if (in_array($item['product_id'], $config['become__buy_product_ids'])) {
            if (in_array($item['product_id'], $config['become__buy_product_ids'])||$item['is_vip']==1) {
                // 获取商品数量
                $quantity+= $item['total_num'];
            }