作者 lyh

gx

@@ -148,11 +148,11 @@ class ProjectLogic extends BaseLogic @@ -148,11 +148,11 @@ class ProjectLogic extends BaseLogic
148 $this->saveAfter($param); 148 $this->saveAfter($param);
149 //创建默认数据库 149 //创建默认数据库
150 if($param['type'] == Project::TYPE_ONE){ 150 if($param['type'] == Project::TYPE_ONE){
151 - if(isset($data['mysql_id']) && !empty($data['mysql_id'])){ 151 + if(isset($param['mysql_id']) && !empty($param['mysql_id'])){
152 $this->initializationMysql($res['id']); 152 $this->initializationMysql($res['id']);
153 } 153 }
154 - if(isset($data['mobile'])){  
155 - 154 + if(isset($param['mobile']) && !empty($param['mobile'])){
  155 + $this->createUser($param['mobile'],$res['id'],$param['lead_name']);
156 } 156 }
157 } 157 }
158 //更改服务器状态 158 //更改服务器状态
@@ -206,31 +206,23 @@ class ProjectLogic extends BaseLogic @@ -206,31 +206,23 @@ class ProjectLogic extends BaseLogic
206 */ 206 */
207 public function createUser($mobile,$project_id,$lead_name){ 207 public function createUser($mobile,$project_id,$lead_name){
208 $userModel = new UserModel(); 208 $userModel = new UserModel();
  209 + //查看当前用户是否存在
  210 + $info = $userModel->read(['mobile'=>$mobile,'project_id'=>$project_id]);
  211 + if($info === false){
209 $data = [ 212 $data = [
210 'mobile'=>$mobile, 213 'mobile'=>$mobile,
211 'password'=>base64_encode(md5('123456')), 214 'password'=>base64_encode(md5('123456')),
212 'project_id'=>$project_id, 215 'project_id'=>$project_id,
213 - 'name'=>$lead_name 216 + 'name'=>$lead_name,
  217 + 'type'=>UserModel::TYPE_ONE,
  218 + 'operator_id'=>$this->manager['id'],
  219 + 'create_id'=>$this->manager['id'],
214 ]; 220 ];
215 - return $userModel->add($data);  
216 - }  
217 -  
218 - /**  
219 - * @remark :验证域名  
220 - * @name :verifyDomain  
221 - * @author :lyh  
222 - * @method :post  
223 - * @time :2023/8/17 16:22  
224 - */  
225 - public function verifyDomain($domain){  
226 - if(!empty($domain)){  
227 - $domain = checkDomain($domain);  
228 - if(!$domain){  
229 - $this->fail('正式域名格式不正确'); 221 + $userModel->add($data);
230 } 222 }
231 return $this->success(); 223 return $this->success();
232 } 224 }
233 - } 225 +
234 /** 226 /**
235 * 保存付款续费 227 * 保存付款续费
236 * @author zbj 228 * @author zbj
@@ -283,7 +275,7 @@ class ProjectLogic extends BaseLogic @@ -283,7 +275,7 @@ class ProjectLogic extends BaseLogic
283 } 275 }
284 } 276 }
285 $data['id'] = DeployOptimize::where('project_id', $param['id'])->value('id'); 277 $data['id'] = DeployOptimize::where('project_id', $param['id'])->value('id');
286 - @file_put_contents(storage_path('logs/lyh_error.log'), var_export($data, true) . PHP_EOL, FILE_APPEND); 278 + //@file_put_contents(storage_path('logs/lyh_error.log'), var_export($data, true) . PHP_EOL, FILE_APPEND);
287 return (new DeployOptimizeLogic)->save($data); 279 return (new DeployOptimizeLogic)->save($data);
288 } 280 }
289 /** 281 /**
@@ -47,22 +47,14 @@ class UserLogic extends BaseLogic @@ -47,22 +47,14 @@ class UserLogic extends BaseLogic
47 */ 47 */
48 public function projectUserSave() 48 public function projectUserSave()
49 { 49 {
  50 + //验证手机号是否存在
  51 + $this->verifyMobile($this->param);
  52 + //验证一个项目是否只有一个超级管理员
  53 + $this->verifyRole($this->param);
50 if (isset($this->param['id']) && !empty($this->param['id'])) { 54 if (isset($this->param['id']) && !empty($this->param['id'])) {
51 - $info = $this->model->read(['mobile' => $this->param['mobile'], 'id' => ['!=', $this->param['id']]]);  
52 - if ($info !== false) {  
53 - $this->fail('当前手机号码已存在');  
54 - }  
55 $this->param = $this->editPassword($this->param); 55 $this->param = $this->editPassword($this->param);
56 $rs = $this->model->edit($this->param, ['id' => $this->param['id']]); 56 $rs = $this->model->edit($this->param, ['id' => $this->param['id']]);
57 } else { 57 } else {
58 - $info = $this->model->read(['mobile'=>$this->param['mobile']]);  
59 - if($info !== false){  
60 - $this->fail('当前手机号码已存在');  
61 - }  
62 - $info = $this->model->read(['project_id'=>$this->param['project_id'],'role_id'=>0]);  
63 - if($info !== false){  
64 - $this->fail('当前项目已存在超级管理员,请选择其他项目');  
65 - }  
66 $this->param['password'] = base64_encode(md5($this->param['password'])); 58 $this->param['password'] = base64_encode(md5($this->param['password']));
67 $rs = $this->model->add($this->param); 59 $rs = $this->model->add($this->param);
68 } 60 }
@@ -73,6 +65,63 @@ class UserLogic extends BaseLogic @@ -73,6 +65,63 @@ class UserLogic extends BaseLogic
73 } 65 }
74 66
75 /** 67 /**
  68 + * @remark :验证手机号是否可用
  69 + * @name :verifyMobile
  70 + * @author :lyh
  71 + * @method :post
  72 + * @time :2023/8/29 9:14
  73 + */
  74 + public function verifyMobile($param){
  75 + if(isset($param['id']) && !empty($param['id'])){
  76 + $condition = [
  77 + 'mobile' => $param['mobile'],
  78 + 'project_id'=>$param['project_id'],
  79 + 'id' => ['!=', $param['id']]
  80 + ];
  81 + }else{
  82 + $condition = [
  83 + 'mobile' => $param['mobile'],
  84 + 'project_id'=>$param['project_id'],
  85 + ];
  86 + }
  87 + $info = $this->model->read($condition);
  88 + if ($info !== false) {
  89 + $this->fail('当前手机号码已存在');
  90 + }
  91 + return $this->success();
  92 + }
  93 +
  94 + /**
  95 + * @remark :验证一个项目超级管理员只允许存在一个
  96 + * @name :verifyRole
  97 + * @author :lyh
  98 + * @method :post
  99 + * @time :2023/8/29 9:22
  100 + */
  101 + public function verifyRole($param){
  102 + if($param['role_id'] == $this->model::ROLE_MANAGER){
  103 + if(isset($param['id']) && !empty($param['id'])){
  104 + $condition = [
  105 + 'mobile' => $param['mobile'],
  106 + 'project_id'=>$param['project_id'],
  107 + 'id' => ['!=', $param['id']],
  108 + 'role_id'=>$this->model::ROLE_MANAGER
  109 + ];
  110 + }else{
  111 + $condition = [
  112 + 'mobile' => $param['mobile'],
  113 + 'project_id'=>$param['project_id'],
  114 + 'role_id'=>$this->model::ROLE_MANAGER,
  115 + ];
  116 + }
  117 + $info = $this->model->read($condition);
  118 + if ($info !== false) {
  119 + $this->fail('当前项目已存在超级管理员');
  120 + }
  121 + }
  122 + }
  123 +
  124 + /**
76 * @name :编辑会员 125 * @name :编辑会员
77 * @return void 126 * @return void
78 * @author :liyuhang 127 * @author :liyuhang
@@ -10,7 +10,8 @@ use App\Models\Base; @@ -10,7 +10,8 @@ use App\Models\Base;
10 class User extends Base 10 class User extends Base
11 { 11 {
12 // use HasApiTokens, HasFactory, Notifiable; 12 // use HasApiTokens, HasFactory, Notifiable;
13 - 13 + const ROLE_MANAGER = 0;//超级管理员
  14 + const TYPE_ONE = 1;
14 protected $table = 'gl_project_user'; 15 protected $table = 'gl_project_user';
15 //自动维护create_at创建时间 updated_at修改时间 16 //自动维护create_at创建时间 updated_at修改时间
16 public $timestamps = true; 17 public $timestamps = true;