123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109 |
- <?php
- /**
- * @copyright Copyright (c) 2017 https://www.sapixx.com All rights reserved.
- * @license Licensed (http://www.apache.org/licenses/LICENSE-2.0).
- * @author pillar<ltmn@qq.com>
- * 商家管理
- */
- 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();
- }
- }
|