admin/app/common/model/plus/business/Business.php
@@ -1,6 +1,7 @@
<?php
namespace app\common\model\plus\business;
use app\common\model\BaseModel;
use app\common\model\settings\Region;
@@ -30,15 +31,19 @@
            'region' => $data['region_id'] == 0 ? '' : Region::getNameById($data['region_id']),
        ];
    }
    public function getSexAttr($value){
    public function getSexAttr($value)
    {
        $data=[10=>'未知',20=>'男',30=>'女'];
        return $data[$value];
    }
    /**
     * 关联用户
     * @return \think\model\relation\HasOne
     */
    public function user(){
    public function user()
    {
        $model=self::getCalledModule()?:'common';
        return $this->hasOne("app\\$model\\model\\user\\User",'user_id','user_id');
    }
@@ -47,40 +52,59 @@
     * 头像
     * @return \think\model\relation\HasOne
     */
    public function image(){
    public function image()
    {
        $model=self::getCalledModule()?:'common';
        return $this->hasOne("app\\$model\\model\\file\\UploadFile",'file_id','file_id')->bind(['file_path']);
    }
    /**
     * logo
     * @return \think\model\relation\HasOne
     */
    public function logoImage(){
    public function logoImage()
    {
        $model=self::getCalledModule()?:'common';
        return $this->hasOne("app\\$model\\model\\file\\UploadFile",'file_id','logo')->bind(['file_path']);
    }
    /**
     * 等级
     * @return \think\model\relation\HasOne
     */
    public function grade()
    {
        $model = self::getCalledModule() ?: 'common';
        return $this->hasOne("app\\$model\\model\\plus\\business\\Grade", 'grade_id', 'grade_id');
    }
    /**
     * 添加
     * @param $data
     * @return false|int
     */
    public function add($data){
    public function add($data)
    {
        $data['app_id']=self::$app_id;
        $data['grade_id']=(new Grade())->getDefaultGradeId();
        return $this->save($data);
    }
    public function getUnitAttr($name)
    {
        return json_decode($name);
    }
    public function getDutiesAttr($name)
    {
        return json_decode($name);
    }
    public function getAddressAttr($name)
    {
        return json_decode($name);
    }
    public function getPositionAttr($name)
    {
        return $name?json_decode($name):[];
@@ -92,12 +116,17 @@
     * @return \think\Paginator
     * @throws \think\db\exception\DbException
     */
    public function getList($param=[]){
    public function getList($param = [])
    {
        $paramr=array_merge(['listRow'=>15],$param);
        $where=[];
        !empty($paramr['name'])&&$where['name']=['like','%'.$paramr['name'].'%'];
        !empty($paramr['search'])&&$where['name|duties|unit']=['like','%'.$paramr['search'].'%'];
        !empty($paramr['user_id'])&&$where['user_id']=$paramr['user_id'];
        !empty($paramr['industry_id']) && $where['industry_id'] = $paramr['industry_id'];
        !empty($paramr['province_id']) && $where['province_id'] = $paramr['province_id'];
        !empty($paramr['city_id']) && $where['city_id'] = $paramr['city_id'];
        !empty($paramr['region_id']) && $where['region_id'] = $paramr['region_id'];
        if(!empty($paramr['sort'])){
            if($paramr['sort']=='name'){
                $order=['name'=>"asc"];
@@ -109,15 +138,17 @@
        }else{
            $order=['is_default'=>'desc','create_time'=>'desc'];
        }
        return $this->with(['user','image','logoImage'])->order($order)->where($where)->paginate($paramr);
        return $this->with(['user', 'image', 'logoImage', 'grade'])->order($order)->where($where)->paginate($paramr);
    }
    /**
     * 获取名片详情
     * @param $business_card_id
     * @return array|false|\think\Model|null
     * @throws \think\db\exception\DbException
     */
    public function detail($business_card_id){
        return $this->with(['user','image','logoImage'])->where(['business_card_id'=>$business_card_id])->find();
    public static function detail($business_card_id)
    {
        return (new self())->with(['user', 'image', 'logoImage', 'grade'])->where(['business_card_id' => $business_card_id])->find();
    }
}