From 04102f7237efefa744090ed7c25f7b5d0807b679 Mon Sep 17 00:00:00 2001
From: quanwei <419654421@qq.com>
Date: Thu, 05 Feb 2026 18:11:57 +0800
Subject: [PATCH] 完成运营中心提现和运营中心权限管理
---
admin/app/common/model/user/User.php | 69 +++++++++++++++++++++++++++++++++-
1 files changed, 66 insertions(+), 3 deletions(-)
diff --git a/admin/app/common/model/user/User.php b/admin/app/common/model/user/User.php
index e7b3d2d..33c7503 100644
--- a/admin/app/common/model/user/User.php
+++ b/admin/app/common/model/user/User.php
@@ -3,14 +3,20 @@
namespace app\common\model\user;
+use app\common\model\plus\team\Referee as TeamRefereeModel;
use app\common\library\helper;
use app\common\model\BaseModel;
use app\common\model\plus\bonus\Setting as bonusSettingModel;
+use app\common\model\plus\team\User as TeamUserModel;
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 RealUserModel;
use app\common\model\user\User as UserModel;
+use app\common\model\settings\Setting as SettingModel;
+use app\common\model\plus\agent\Referee as RefereeModel;
+use app\shop\model\plus\agent\User as AgentUserModel;
use think\facade\Db; // by lyzflash
use app\common\model\plus\bonus\User as BonusUserModel;
use app\common\model\user\ConsumptionLog as ConsumptionLogModel;
@@ -21,6 +27,15 @@
{
protected $pk = 'user_id';
protected $name = 'user';
+
+ public static function getOperatingSubsidy($referee_id, $setting)
+ {
+ $count=self::where('referee_id',$referee_id)->where('grade_id','in',$setting['referee_grade_ids'])->count();
+ if ($count>=$setting['referee_grade_count']){
+ return true;
+ }
+ return false;
+ }
/**
* 修改器
@@ -44,6 +59,13 @@
public function grade()
{
return $this->belongsTo('app\\common\\model\\user\\Grade', 'grade_id', 'grade_id');
+ }
+ /**
+ * 关联分会表
+ */
+ public function branch()
+ {
+ return $this->hasOne('app\\common\\model\\branch\\Branch', 'branch_id', 'branch_id');
}
/**
@@ -174,7 +196,7 @@
/**
* 累积用户的可用积分
*/
- public function setIncPoints($points, $describe, $decPoints = 0, $upgrade = true)
+ public function setIncPoints($points, $describe, $decPoints = 0, $upgrade = true, $is_brand = 0)
{
// 新增积分变动明细
PointsLogModel::add([
@@ -186,6 +208,10 @@
// 更新用户可用积分
$data['points'] = ($this['points'] + $points + $decPoints <= 0) ? 0 : $this['points'] + $points + $decPoints;
+ if ($is_brand == 1){
+ // 用户可用积分
+ $data['brand_points'] = ($this['brand_points'] + $points + $decPoints <= 0) ? 0 : $this['brand_points'] + $points + $decPoints;
+ }
// 用户总积分
if ($points > 0) {
$data['total_points'] = $this['total_points'] + $points;
@@ -314,7 +340,10 @@
if ($purchase_count==1&&$user['referee_id']){
$referee= self::detail($user['referee_id']);
if ($referee){
- $referee->setIncConsumption(10, '直推首单礼包');
+ $settingConsumption=SettingModel::getItem('consumption');
+ if ($settingConsumption['give_away']){
+ $referee->setIncConsumption($settingConsumption['give_away'], '直推首单礼包');
+ }
}
}
/*if ($purchase_count>11){
@@ -353,7 +382,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'];
}
@@ -386,4 +415,38 @@
return $this->where('referee_id', 'in', $user_id)->where('grade_id', 'in', $referee_grade_ids)->count();
}
+ public function editReferee($data)
+ {
+ // 开启事务
+ $this->startTrans();
+ try {
+ // 删除原推荐人关系
+ (new AgentUserModel)->onDeleteReferee($this['user_id']);
+ //更新推荐人的数量 by yj
+ (new RealUserModel())->setOnInvite($this['user_id'],$data['referee_id']);
+ // 修改用户推荐人
+ (new RealUserModel())->where('user_id', '=', $this['user_id'])->update([
+ 'referee_id' => $data['referee_id']
+ ]);
+ // 修改团队的推荐人 by yj
+ (new TeamUserModel())->where('user_id', '=', $this['user_id'])->update([
+ 'referee_id' => $data['referee_id']
+ ]);
+
+ // 记录推荐人关系,
+ $data['referee_id'] > 0 && RefereeModel::updateRelation($this['user_id'], $data['referee_id']);
+
+ //处理变动用户底下的团队推荐人信息 by yj
+ (new AgentUserModel)->onTeamReferee($this['user_id']);
+
+ // 重建团队分红关系 by yj
+ $data['referee_id'] > 0 && TeamRefereeModel::createTeam($data['referee_id']);
+ $this->commit();
+ return true;
+ } catch (\Exception $e) {
+ $this->error = $e->getMessage();
+ $this->rollback();
+ return false;
+ }
+ }
}
\ No newline at end of file
--
Gitblit v1.9.2