admin/app/common/model/supplier/Supplier.php
@@ -3,9 +3,10 @@
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;
/**
 * 商家供应商模型
@@ -81,6 +82,27 @@
        }
        return true;
    }
    /**
     * 累积商户的可用积分
     */
    public function setIncPoints($points, $describe, $decPoints = 0)
    {
        // 新增积分变动明细
        PointsLogModel::add([
            'shop_supplier_id' => $this['shop_supplier_id'],
            'value' => $points,
            'describe' => $describe,
            'app_id' => $this['app_id'],
        ]);
        // 更新用户可用积分
        $data['points'] = ($this['points'] + $points + $decPoints <= 0) ? 0 : $this['points'] + $points + $decPoints;
        $this->where('branch_id', '=', $this['branch_id'])->update($data);
        return true;
    }
    //判断营业时间
    public function supplierStatus($shop_supplier_id)
    {
@@ -154,6 +176,14 @@
    }
    /**
     * 获取供应商当前有效的年卡
     */
    public function getCurrentMember()
    {
        return MemberModel::getCurrentMember($this['shop_supplier_id'], $this['app_id']);
    }
    /**
     * 获取角色管理的区域
     */
    public static function getAreaIdsByUser($user)
@@ -215,6 +245,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();
    }
}