* 商家管理 */ namespace app\ais\model; use app\common\facade\Inform; use think\Model; use util\Util; class AisStore extends Model{ protected $autoWriteTimestamp = true; protected $updateTime = false; protected $json = ['citypath','imgs']; //数组存到数据库变JSON //加入的群组 public function group(){ return $this->belongsToMany('AisStoreGroup','AisStoreUnion','group_id','store_id'); } //所属管理员 public function user(){ return $this->hasOne('app\common\model\SystemUser','id','manage_uid'); } public function cate(){ return $this->hasOne('AisStoreCate','id','cate_id'); } //连锁门店 public function chain(){ return $this->hasMany('AisStoreChain','store_id','id'); } //Tags字符串转数组 public function getTagsAttr($value,$data){ if(empty($data['tags'])){ return []; } return explode(',',$data['tags']); } //搜索好店名称 public function searchNameAttr($query,$value){ if(!empty($value)){ $query->where('name','like', '%'.$value .'%'); } } //添加或编辑 public static function edit($param){ $data['manage_uid'] = $param['manage_uid']; $data['cate_id'] = $param['cate_id']; $data['cate_sid'] = $param['cate_sid']; $data['name'] = $param['name']; $data['address'] = $param['address']; $data['longitude'] = $param['longitude']; $data['latitude'] = $param['latitude']; $data['telphone'] = $param['telphone']; $data['citypath'] = $param['citypath']; $data['citycode'] = $param['citycode']; $data['img'] = $param['img']; $data['mch_id'] = $param['mch_id']; $data['charge'] = $param['charge']; $data['tags'] = empty($param['tags']) ? '': sbc2Dbc($param['tags']); $data['imgs'] = json_encode($param['imgs']); if(empty($param['id'])){ $data['member_miniapp_id'] = $param['member_miniapp_id']; $data['is_top'] = 0; $data['create_time'] = time(); $data['sort'] = 0; return self::insertGetId($data); }else{ self::update($data,['id'=>(int)$param['id']]); return $param['id']; } } /** * 置顶或取消 * @param integer $id */ public static function isTop(int $id){ $result = self::where(['id' => $id])->field('is_top')->find(); $result->is_top = $result->is_top ? 0 : 1; return $result->save(); } /** * 锁定或取消 * @param integer $id */ public static function isLock(int $id,$member_miniapp_id){ $result = self::where(['id' => $id])->field('is_lock')->find(); $result->is_lock = $result->is_lock ? 0 : 1; return $result->save(); } //根据管理ID获取所属商户 public static function manageStore(int $uid){ return self::with(['chain' => function($query) { $query->field('id,store_id,title,address,telphone,longitude,latitude'); }])->where(['manage_uid' => $uid])->field('citycode,id,name,address,img,telphone,longitude,latitude,mch_id')->find(); } }