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/supplier/Supplier.php | 72 +++++++++++++++++++++++++++++++++--
1 files changed, 67 insertions(+), 5 deletions(-)
diff --git a/admin/app/common/model/supplier/Supplier.php b/admin/app/common/model/supplier/Supplier.php
index 3cfe776..e93f2cc 100644
--- a/admin/app/common/model/supplier/Supplier.php
+++ b/admin/app/common/model/supplier/Supplier.php
@@ -3,11 +3,11 @@
namespace app\common\model\supplier;
use app\common\model\BaseModel;
-use app\shop\model\auth\User as AuthUserModel;
-use app\shop\model\auth\UserRole as UserRoleModel;
use app\common\model\shop\Role as RoleModel;
+use app\common\model\supplier\member\Member as MemberModel;
use app\common\model\supplier\PointsLog as PointsLogModel;
-
+use app\shop\model\auth\UserRole as UserRoleModel;
+use app\common\enum\supplier\SupplierType;
/**
* 商家供应商模型
*/
@@ -15,6 +15,8 @@
{
protected $name = 'supplier';
protected $pk = 'shop_supplier_id';
+ protected $append = ['type_text','coordinate'];
+
/**
@@ -60,6 +62,20 @@
{
return $this->hasOne('app\\common\\model\\supplier\\User', 'shop_supplier_id', 'shop_supplier_id')
->where('is_super','=', 1);
+ }
+ /**
+ * 供应商类型文本
+ */
+ public function getTypeTextAttr($value, $data)
+ {
+ return (new SupplierType())::getName(empty($data['supplier_type'])?0:$data['supplier_type']);
+ }
+ public function getCoordinateAttr($value, $data)
+ {
+ if (empty($data['latitude']) || empty($data['longitude'])) {
+ return '';
+ }
+ return $data['latitude'].','.$data['longitude'];
}
/**
* 详情
@@ -145,8 +161,13 @@
{
$model = new static();
+ // 获取用户ID,兼容商户用户和区域代理用户
+ $user_id = isset($user['shop_user_id']) ? $user['shop_user_id'] : (isset($user['region_user_id']) ? $user['region_user_id'] : 0);
+ if (!$user_id) {
+ return [];
+ }
//获取用户所有的角色
- $user_role_ids = (new UserRoleModel())::getRoleIds($user['shop_user_id']);
+ $user_role_ids = (new UserRoleModel())::getRoleIds($user_id);
if(!empty($user_role_ids)){
//获取所有角色的权限
$area_arr =RoleModel::getAreaIdsByRoleIds($user_role_ids);
@@ -176,12 +197,25 @@
}
/**
+ * 获取供应商当前有效的年卡
+ */
+ public function getCurrentMember()
+ {
+ return MemberModel::getCurrentMember($this['shop_supplier_id'], $this['app_id']);
+ }
+
+ /**
* 获取角色管理的区域
*/
public static function getAreaIdsByUser($user)
{
+ // 获取用户ID,兼容商户用户和区域代理用户
+ $user_id = isset($user['shop_user_id']) ? $user['shop_user_id'] : (isset($user['region_user_id']) ? $user['region_user_id'] : 0);
+ if (!$user_id) {
+ return [];
+ }
//获取用户所有的角色
- $user_role_ids = (new UserRoleModel())::getRoleIds($user['shop_user_id']);
+ $user_role_ids = (new UserRoleModel())::getRoleIds($user_id);
if(!empty($user_role_ids)){
//获取所有角色的权限
$area_arr =RoleModel::getAreaIdsByRoleIds($user_role_ids);
@@ -237,6 +271,34 @@
->find();
return empty($data['is_independent']) ? 0 : $data['is_independent'];
}
+ /**
+ * 冻结用户资金
+ */
+ public function freezeMoney($money)
+ {
+ $this->save(['money' => $this['money'] - $money,'freeze_money'=>$this['freeze_money']+$money]);
+ }
+ /**
+ * 直推供应商多少人
+ */
+ public function refereeSupplierCount ($referee_id)
+ {
+ $count = $this->where('referee_id', '=', $referee_id)
+ ->where('is_delete', '=', 0)
+ ->count();
+ return $count;
+ }
+ /**
+ * 下级商户数量
+ * @param $user_id
+ * @return int
+ */
+ public function getSubordinateNum($user_id)
+ {
+ return (new static())->where('is_delete', '=', 0)
+ ->where('referee_id', 'in', $user_id)
+ ->count();
+ }
}
\ No newline at end of file
--
Gitblit v1.9.2