You've already forked qlg.tsgz.moe
							
							
		
			
				
	
	
		
			154 lines
		
	
	
		
			4.5 KiB
		
	
	
	
		
			PHP
		
	
	
		
			Executable File
		
	
	
	
	
			
		
		
	
	
			154 lines
		
	
	
		
			4.5 KiB
		
	
	
	
		
			PHP
		
	
	
		
			Executable File
		
	
	
	
	
<?php
 | 
						|
namespace wstmart\home\model;
 | 
						|
use think\Db;
 | 
						|
/**
 | 
						|
 * ============================================================================
 | 
						|
 * 门店色务类
 | 
						|
 */
 | 
						|
class ShopRoles extends Base{
 | 
						|
	/**
 | 
						|
	 * 角色列表
 | 
						|
	 */
 | 
						|
	public function pageQuery(){
 | 
						|
		$shopId = (int)session('WST_USER.shopId');
 | 
						|
		$roleName = input("roleName/s");
 | 
						|
		$where = ["shopId"=>$shopId,"dataFlag"=>1];
 | 
						|
		if($roleName != ""){
 | 
						|
			$where["roleName"] = ["like","%".$roleName."%"];
 | 
						|
		}
 | 
						|
		$page = $this
 | 
						|
				->field('id,shopId,roleName,createTime')
 | 
						|
		    	->where($where)
 | 
						|
		    	->paginate(input('pagesize/d'))->toArray();
 | 
						|
		return $page;
 | 
						|
	}
 | 
						|
 | 
						|
	public function listQuery(){
 | 
						|
		$shopId = (int)session('WST_USER.shopId');
 | 
						|
		$where = ["shopId"=>$shopId,"dataFlag"=>1];
 | 
						|
		$list = $this
 | 
						|
				->field('id,shopId,roleName,createTime')
 | 
						|
		    	->where($where)
 | 
						|
		    	->select();
 | 
						|
		return $list;
 | 
						|
	}
 | 
						|
	/**
 | 
						|
	*  根据id获取店铺角色
 | 
						|
	*/
 | 
						|
	public function getById($id){
 | 
						|
		$shopId = (int)session('WST_USER.shopId');
 | 
						|
	    $role = $this->field('id,shopId,roleName,createTime,privilegeUrls,privilegeMsgs')
 | 
						|
					->where(["id"=>$id,"shopId"=>$shopId,"dataFlag"=>1])
 | 
						|
					->find();
 | 
						|
		$menuList = json_decode($role["privilegeUrls"],true);
 | 
						|
		$menuUrls = array();
 | 
						|
		$menuOtherUrls = array();
 | 
						|
		foreach ($menuList as $k1 => $menus1) {
 | 
						|
			foreach ($menus1 as $k2 => $menus2) {
 | 
						|
				$menuUrls = array_merge($menuUrls,$menus2["urls"]);
 | 
						|
				$otherUrls = $menus2["otherUrls"];
 | 
						|
				foreach ($otherUrls as $ko => $ourls) {
 | 
						|
					$othurls = explode(',',$ourls);
 | 
						|
					$menuOtherUrls = array_merge($menuOtherUrls,$othurls);
 | 
						|
				}
 | 
						|
			}
 | 
						|
		}
 | 
						|
		$role["privilegeMsgs"] = explode(",",$role["privilegeMsgs"]);
 | 
						|
		$role["menuUrls"] = array_filter($menuUrls);
 | 
						|
		$role["menuOtherUrls"] = array_filter($menuOtherUrls);
 | 
						|
		return $role;
 | 
						|
	}
 | 
						|
 | 
						|
	/**
 | 
						|
	 * 新增店铺角色
 | 
						|
	 */
 | 
						|
	public function add(){
 | 
						|
		$shopId = (int)session('WST_USER.shopId');
 | 
						|
		$data["shopId"] = $shopId;
 | 
						|
		$data["roleName"] = input('roleName/s');
 | 
						|
		if($data["roleName"]==""){
 | 
						|
			return WSTReturn('请输入角色名称',-1);
 | 
						|
		}
 | 
						|
		$data["privilegeMsgs"] = input('privilegeMsgs/s');
 | 
						|
		$menuIds = input('menuIds/s');
 | 
						|
		$urls = [];
 | 
						|
		$otherUrls = [];
 | 
						|
		if($menuIds==""){
 | 
						|
			return WSTReturn('请选择权限',-1);
 | 
						|
		}else{
 | 
						|
			$roleMenus = model("HomeMenus")->getRoleMenus();
 | 
						|
			$menuIds = explode(",",$menuIds);
 | 
						|
			$menuList = array();
 | 
						|
			for($i=0,$j=count($menuIds);$i<$j;$i++){
 | 
						|
				$menu = $roleMenus[$menuIds[$i]];
 | 
						|
				$menuList[$menu["grandpaId"]][$menu["parentId"]]["urls"][] = strtolower($menu["menuUrl"]);
 | 
						|
				$menuList[$menu["grandpaId"]][$menu["parentId"]]["otherUrls"][] = strtolower($menu["menuOtherUrl"]);
 | 
						|
			}
 | 
						|
		}
 | 
						|
		$data["privilegeUrls"] = json_encode($menuList);
 | 
						|
		$data["createTime"] = date("Y-m-d H:i:s");
 | 
						|
		$result = $this->save($data);
 | 
						|
		if(false !== $result){
 | 
						|
        	return WSTReturn("新增成功", 1);
 | 
						|
        }
 | 
						|
        return WSTReturn('新增失败',-1);
 | 
						|
	}
 | 
						|
 | 
						|
	/**
 | 
						|
	 * 修改店铺角色
 | 
						|
	 */
 | 
						|
	public function edit(){
 | 
						|
		$shopId = (int)session('WST_USER.shopId');
 | 
						|
		$id = (int)input('id');
 | 
						|
		$data["roleName"] = input('roleName/s');
 | 
						|
		if($data["roleName"]==""){
 | 
						|
			return WSTReturn('请输入角色名称',-1);
 | 
						|
		}
 | 
						|
		$data["privilegeMsgs"] = input('privilegeMsgs/s');
 | 
						|
		$menuIds = input('menuIds/s');
 | 
						|
		$urls = [];
 | 
						|
		$otherUrls = [];
 | 
						|
		if($menuIds==""){
 | 
						|
			return WSTReturn('请选择权限',-1);
 | 
						|
		}else{
 | 
						|
			$roleMenus = model("HomeMenus")->getRoleMenus();
 | 
						|
			$menuIds = explode(",",$menuIds);
 | 
						|
			$menuList = array();
 | 
						|
			for($i=0,$j=count($menuIds);$i<$j;$i++){
 | 
						|
				$menu = $roleMenus[$menuIds[$i]];
 | 
						|
				$menuList[$menu["grandpaId"]][$menu["parentId"]]["urls"][] = strtolower($menu["menuUrl"]);
 | 
						|
				$menuList[$menu["grandpaId"]][$menu["parentId"]]["otherUrls"][] = strtolower($menu["menuOtherUrl"]);
 | 
						|
			}
 | 
						|
		}
 | 
						|
		$data["privilegeUrls"] = json_encode($menuList);
 | 
						|
		$result = $this->where(["id"=>$id,"shopId"=>$shopId])->update($data);
 | 
						|
		if(false !== $result){
 | 
						|
        	return WSTReturn("修改成功", 1);
 | 
						|
        }
 | 
						|
        return WSTReturn('删除失败',-1);
 | 
						|
	}
 | 
						|
 | 
						|
	/**
 | 
						|
	 * 删除店铺角色
 | 
						|
	 */
 | 
						|
	public function del(){
 | 
						|
		$shopId = (int)session('WST_USER.shopId');
 | 
						|
		$id = input('post.id/d');
 | 
						|
		$data = [];
 | 
						|
		$data['dataFlag'] = -1;
 | 
						|
		Db::startTrans();
 | 
						|
		try{
 | 
						|
		    $result = $this->where(["id"=>$id,"shopId"=>$shopId])->update($data);
 | 
						|
	        if(false !== $result){
 | 
						|
	        	//删除关联记录
 | 
						|
	        	Db::name("shop_users")->where(["roleId"=>$id,"shopId"=>$shopId])->update($data);
 | 
						|
				Db::commit();
 | 
						|
	        	return WSTReturn("删除成功", 1);
 | 
						|
	        }
 | 
						|
		}catch (\Exception $e) {
 | 
						|
            Db::rollback();errLog($e);
 | 
						|
        }
 | 
						|
        return WSTReturn('删除失败',-1);
 | 
						|
	}
 | 
						|
}
 |