## 授權賬號設置
功能:
>[info] 1,顯示數據:查詢`users` 授權賬號表 顯示授權賬號 判斷服務期限 給賬號狀態
/*
*@desc 搜索
*
*/
public function scopeDefaultWhere($query)
{
parent::scopeDefaultWhere($query);
$wq = request_data('wq');
$query->orderby("service_end_time",'asc');
$service_start_time = request_data('service_start_time');
$service_end_time = request_data('service_end_time');
if($wq){
$query->where("ucenter_name",'Like',"%".$wq."%");
}
$query->orderby('service_end_time');
$this->_status($query);
if($service_start_time && $service_end_time){
$service_start_time = date('Y-m-d 00:00:00',strtotime($service_start_time));
$service_end_time = date('Y-m-d 23:59:59',strtotime($service_end_time));
$query->where("service_start_time" , ">=",$service_start_time);
$query->where("service_end_time" , "<=",$service_end_time);
}
}
protected function _status($query){
$status = request_data('status');
if($status){
switch ($status) {
case 1:
$query->where("service_start_time" , "<", date('Y-m-d H:i:s',time()));
$query->where("service_end_time" , ">=", date('Y-m-d H:i:s' ,time()+30*86400));
break;
case 2:
$query->where("service_end_time" , "<", date('Y-m-d H:i:s' , time()+30*86400 ));
$query->where("service_end_time" , ">=", date('Y-m-d H:i:s' , time() ));
$query->where("service_start_time" , "<", date('Y-m-d H:i:s' , time() ));
break;
case 3:
$query->where("service_end_time" , "<", date('Y-m-d H:i:s' , time() ));
break;
case 4:
$query->where("service_start_time" , ">", date('Y-m-d H:i:s' , time() ));
break;
default:
# code...
break;
}
}
}
>[info] 2,插入數據:授權賬號 , 編輯數據:修改賬號 密碼
/*
* @desc 保存表單數據
*
*/
static function saveForm(){
try{
DB::transaction(function()
{
$data = post_data();
if(strtotime($data['service_start_time']) >= strtotime($data['service_end_time']) && $data['ucenter_name'] && $data['service_start_time'] && $data['service_end_time']){
exit(json_encode(['status'=>0,'msg'=>__('服務開始時間不能小于或等于結束時間')]));
}
if($data['id']){
$info = login::recharge($data['ucenter_name'],2,'users',$data['id']);
if($info == false && $data['ucenter_name']){
exit(json_encode(['status'=>0,'msg'=>__('該賬號已存在')]));
}
$data['updated'] = time();
$model = self::find($data['id']);
}else{
$info = login::recharge($data['ucenter_name'],1);
if($info == false && $data['ucenter_name']){
exit(json_encode(['status'=>0,'msg'=>__('該賬號已存在')]));
}
$data['created'] = time();
$model = new self;
}
//ucenter用戶同步。
//當用戶不存在時,自動創建
//用戶已存在時,修改密碼。
$name = $data['ucenter_name'];
$passwd = trim($data['pwd']);
if($passwd){
$add = false;
if($data['id']){
$rs = api::passwd($name,$passwd);
if($rs['status']!=200){
$add = true;
}
}else{
$add = true;
}
if($add === true){
$rs = api::add($name,$passwd);
$data['local_ucenter_id'] = $rs['data']['id'];
}
$msg = $rs['msg'];
if($rs['status'] != 200){
$user_id = api::get_ucenter_id($name);
if($user_id['data']['user_id']){
$data['local_ucenter_id'] = $user_id['data']['user_id'];
}else{
exit(json_encode(['status'=>0,'msg'=>__($msg)]));
}
}
}
$model->data($data)->save();
});
}catch(Exception $e){
return false;
}
return true;
}
>[info]3,刪除數據:刪除賬號 則此賬號下 所有數據不能正常顯示
/*
* @desc 刪除表單數據
*/
static function deleteForm($id){
$model = self::where('id',$id);
$rs = $model->first();
$rsz = api::status($rs->ucenter_name,3);
$yf_shop_base = yf_shop_base::where('user_id',$rs->ucenter_id);
$model->delete();
if($yf_shop_base->get()){
foreach($yf_shop_base as $k=>$v){
$shop_id[] = $v->id;
}
if($shop_id){
foreach($shop_id as $k=>$v){
shop_users::where('yf_shop_base_id',$v)->delete();
yf_goods_shop_common::where('shop_id',$v)->delete();
}
}
}
$yf_shop_base->delete();
if($rsz['status']!=200){
$msg = $rsz['msg'];
exit(json_encode(['status'=>0,'msg'=>__($msg)]));
}
}
>[info]4,關聯`yf_shop_base` 門店表 點擊查看詳情 查看此賬號下的所有門店
/**
* @desc 獲取店鋪信息
*/
public function yf_shop_base()
{
return $this->hasMany('models\yf_shop_base','user_id','id');
}