From e1e2fe5710a5b5cd9c19bd3aa99c998a1a613ca8 Mon Sep 17 00:00:00 2001
From: quanwei <419654421@qq.com>
Date: Sat, 17 Jan 2026 17:58:01 +0800
Subject: [PATCH] 团购组件增加筛选

---
 admin/app/common/model/branch/Member.php |   64 ++++++++++++++++++++++++++++++++
 1 files changed, 64 insertions(+), 0 deletions(-)

diff --git a/admin/app/common/model/branch/Member.php b/admin/app/common/model/branch/Member.php
index 1ba5f6e..423a35f 100644
--- a/admin/app/common/model/branch/Member.php
+++ b/admin/app/common/model/branch/Member.php
@@ -5,6 +5,7 @@
 use app\common\model\BaseModel;
 use app\common\model\user\User as UserModel;
 use app\common\model\branch\Branch as BranchModel;
+use app\common\model\settings\Region;
 
 /**
  * 连盟成员模型
@@ -13,6 +14,12 @@
 {
     protected $name = 'branch_member';
     protected $pk = 'user_id';
+
+    /**
+     * 追加字段
+     * @var string[]
+     */
+    protected $append = ['region'];
 	
 	/**
 	 * 关联所属分会表
@@ -37,6 +44,32 @@
     public function user()
     {
         return $this->belongsTo('app\\common\\model\\user\\User');
+    }
+
+    /**
+	 * 关联职务
+	 */
+	public function position()
+	{
+	    return $this->belongsTo('app\\common\\model\\branch\\Position', 'position_id', 'position_id');
+	}
+
+    /**
+     * 籍贯
+     * @param $value
+     * @param $data
+     * @return array
+     */
+    public function getRegionAttr($value, $data)
+    {
+        if (!isset($data['province_id'])) {
+            return false;
+        }
+        return [
+            'province' => Region::getNameById($data['province_id']),
+            'city' => Region::getNameById($data['city_id']),
+            'region' => $data['region_id'] == 0 ? '' : Region::getNameById($data['region_id']),
+        ];
     }
 
     /**
@@ -74,6 +107,10 @@
      */
     public function add($data)
     {
+        if (self::isMember($data['user_id'])) {
+            $this->error = '该用户已入会';
+            return false;
+        }
         $data['app_id'] = self::$app_id;
         $this->save($data);
         // 更新分会人数
@@ -87,6 +124,33 @@
         if ($user['mobile'] != $data['mobile']) {
             $userData['mobile'] = $data['mobile'];
         }
+        if ($user['avatarUrl'] != $data['avatarUrl']) {
+            $userData['avatarUrl'] = $data['avatarUrl'];
+        }
+        if ($userData) {
+            $user->save($userData);
+        }
+        return true;
+    }
+
+    /**
+     * 修改记录
+     */
+    public function edit($data)
+    {
+        $this->save($data);
+        // 检查真实姓名和电话有没有更改
+        $user = UserModel::detail($this['user_id']);
+        $userData = [];
+        if ($user['real_name'] != $data['real_name']) {
+            $userData['real_name'] = $data['real_name'];
+        }
+        if ($user['mobile'] != $data['mobile']) {
+            $userData['mobile'] = $data['mobile'];
+        }
+        if ($user['avatarUrl'] != $data['avatarUrl']) {
+            $userData['avatarUrl'] = $data['avatarUrl'];
+        }
         if ($userData) {
             $user->save($userData);
         }

--
Gitblit v1.9.2