作者 lyh

gx

@@ -3,9 +3,11 @@ @@ -3,9 +3,11 @@
3 namespace App\Http\Controllers\Bside\BCom; 3 namespace App\Http\Controllers\Bside\BCom;
4 4
5 use App\Enums\Common\Code; 5 use App\Enums\Common\Code;
  6 +use App\Helper\Arr;
6 use App\Helper\Common; 7 use App\Helper\Common;
7 use App\Http\Controllers\Bside\BaseController; 8 use App\Http\Controllers\Bside\BaseController;
8 use App\Http\Logic\Bside\User\UserLogic; 9 use App\Http\Logic\Bside\User\UserLogic;
  10 +use App\Models\Project\DeployBuild;
9 use App\Models\Project\Project; 11 use App\Models\Project\Project;
10 use App\Models\User\ProjectMenu as ProjectMenuModel; 12 use App\Models\User\ProjectMenu as ProjectMenuModel;
11 use App\Models\User\ProjectRole as ProjectRoleModel; 13 use App\Models\User\ProjectRole as ProjectRoleModel;
@@ -26,18 +28,10 @@ class ComController extends BaseController @@ -26,18 +28,10 @@ class ComController extends BaseController
26 //根据当前登录用户角色返回用户菜单列表 28 //根据当前登录用户角色返回用户菜单列表
27 $projectMenuModel = new ProjectMenuModel(); 29 $projectMenuModel = new ProjectMenuModel();
28 if($this->user['role_id'] != 0){ 30 if($this->user['role_id'] != 0){
29 - $projectRoleModel = new ProjectRoleModel();  
30 - $info = $projectRoleModel->read(['id'=>$this->user['role_id']]);  
31 - $info['role_menu'] = trim($info['role_menu'],',');  
32 - $this->map = [  
33 - 'status'=>0,  
34 - 'is_role'=>0,  
35 - 'id'=>['in',explode(',',$info['role_menu'])]  
36 - ]; 31 + $this->map = $this->getRoleMenuList();
37 }else{ 32 }else{
38 - $this->map = [  
39 - 'status'=>0,  
40 - ]; 33 + $this->map['status'] = 0;
  34 + $this->map['id'] = ['!=',11];
41 } 35 }
42 $lists = $projectMenuModel->list($this->map,'sort'); 36 $lists = $projectMenuModel->list($this->map,'sort');
43 $menu = array(); 37 $menu = array();
@@ -51,6 +45,7 @@ class ComController extends BaseController @@ -51,6 +45,7 @@ class ComController extends BaseController
51 $this->response('当前用户菜单列表',Code::SUCCESS,$menu); 45 $this->response('当前用户菜单列表',Code::SUCCESS,$menu);
52 } 46 }
53 47
  48 +
54 /** 49 /**
55 * @name :获取当前项目详情 50 * @name :获取当前项目详情
56 * @author :liyuhang 51 * @author :liyuhang
@@ -65,6 +60,51 @@ class ComController extends BaseController @@ -65,6 +60,51 @@ class ComController extends BaseController
65 } 60 }
66 61
67 /** 62 /**
  63 + * @remark :非超级管理员菜单列表
  64 + * @name :getRoleMenuLis
  65 + * @author :lyh
  66 + * @method :post
  67 + * @time :2023/9/6 11:47
  68 + */
  69 + public function getRoleMenuList(){
  70 + $code = $this->getIsHome();
  71 + $projectRoleModel = new ProjectRoleModel();
  72 + $info = $projectRoleModel->read(['id'=>$this->user['role_id']]);
  73 + if($code != 0){
  74 + $info['role_menu'] = trim(str_replace(',11,','',','.$info['role_menu'].','),',');
  75 + }
  76 + $this->map = [
  77 + 'status'=>0,
  78 + 'is_role'=>0,
  79 + 'id'=>['in',explode(',',$info['role_menu'])]
  80 + ];
  81 + return $this->map;
  82 + }
  83 +
  84 + /**
  85 + * @remark :查看是否显示网站装饰
  86 + * @name :getIsHome
  87 + * @author :lyh
  88 + * @method :post
  89 + * @time :2023/9/6 11:30
  90 + */
  91 + public function getIsHome(){
  92 + $deployBuild = new DeployBuild();
  93 + $info = $deployBuild->read(['project_id'=>$this->user['project_id']]);
  94 + if(empty($info['configuration'])){
  95 + return 0;
  96 + }
  97 + $configuration = Arr::s2a($info['configuration']);
  98 + if(!isset($configuration['is_home'])){
  99 + return 0;
  100 + }
  101 + if(($configuration['is_home'] == 0)){
  102 + return 0;
  103 + }
  104 + return 1;
  105 + }
  106 +
  107 + /**
68 * @name :登录用户编辑资料/修改密码 108 * @name :登录用户编辑资料/修改密码
69 * @author :liyuhang 109 * @author :liyuhang
70 * @method 110 * @method
@@ -3,6 +3,8 @@ @@ -3,6 +3,8 @@
3 namespace App\Http\Logic\Aside\Project; 3 namespace App\Http\Logic\Aside\Project;
4 4
5 use App\Models\Devops\ServerConfig; 5 use App\Models\Devops\ServerConfig;
  6 +use App\Models\User\ProjectMenu;
  7 +use App\Models\User\ProjectRole;
6 use Illuminate\Support\Arr as SupArr; 8 use Illuminate\Support\Arr as SupArr;
7 use App\Helper\Arr; 9 use App\Helper\Arr;
8 use App\Helper\Common; 10 use App\Helper\Common;
@@ -220,6 +222,8 @@ class ProjectLogic extends BaseLogic @@ -220,6 +222,8 @@ class ProjectLogic extends BaseLogic
220 if(isset($param['mysql_id']) && !empty($param['mysql_id'])){ 222 if(isset($param['mysql_id']) && !empty($param['mysql_id'])){
221 $this->initializationMysql($param['id']); 223 $this->initializationMysql($param['id']);
222 } 224 }
  225 + //创建初始角色
  226 +// $this->createdRole($param['id']);
223 //初始账号 227 //初始账号
224 if(isset($param['mobile']) && !empty($param['mobile'])){ 228 if(isset($param['mobile']) && !empty($param['mobile'])){
225 $this->createUser($param['mobile'],$param['id'],$param['lead_name']); 229 $this->createUser($param['mobile'],$param['id'],$param['lead_name']);
@@ -291,7 +295,32 @@ class ProjectLogic extends BaseLogic @@ -291,7 +295,32 @@ class ProjectLogic extends BaseLogic
291 return $this->success(); 295 return $this->success();
292 } 296 }
293 297
294 - 298 + /**
  299 + * @remark :创建角色
  300 + * @name :createdRole
  301 + * @author :lyh
  302 + * @method :post
  303 + * @time :2023/9/6 11:16
  304 + */
  305 + public function createdRole($project_id){
  306 + $roleModel = new ProjectRole();
  307 + //查看当前用户是否存在
  308 + $info = $roleModel->read(['project_id'=>$project_id]);
  309 + if($info === false){
  310 + $menuModel = new ProjectMenu();
  311 + $ids = $menuModel->where(['status'=>0])->pluck('id')->toArray();
  312 + $data = [
  313 + 'name'=>'超级管理员',
  314 + 'role_menu'=>implode(',',$ids),
  315 + 'project_id'=>$project_id,
  316 + 'type'=>1,
  317 + 'operator_id'=>$this->manager['id'],
  318 + 'create_id'=>$this->manager['id'],
  319 + ];
  320 + $roleModel->add($data);
  321 + }
  322 + return $this->success();
  323 + }
295 324
296 public function clearCache($id) 325 public function clearCache($id)
297 { 326 {