quanwei
2026-01-17 e1e2fe5710a5b5cd9c19bd3aa99c998a1a613ca8
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);
        }