作者 lyh

gx

... ... @@ -148,11 +148,11 @@ class ProjectLogic extends BaseLogic
$this->saveAfter($param);
//创建默认数据库
if($param['type'] == Project::TYPE_ONE){
if(isset($data['mysql_id']) && !empty($data['mysql_id'])){
if(isset($param['mysql_id']) && !empty($param['mysql_id'])){
$this->initializationMysql($res['id']);
}
if(isset($data['mobile'])){
if(isset($param['mobile']) && !empty($param['mobile'])){
$this->createUser($param['mobile'],$res['id'],$param['lead_name']);
}
}
//更改服务器状态
... ... @@ -206,31 +206,23 @@ class ProjectLogic extends BaseLogic
*/
public function createUser($mobile,$project_id,$lead_name){
$userModel = new UserModel();
$data = [
'mobile'=>$mobile,
'password'=>base64_encode(md5('123456')),
'project_id'=>$project_id,
'name'=>$lead_name
];
return $userModel->add($data);
}
/**
* @remark :验证域名
* @name :verifyDomain
* @author :lyh
* @method :post
* @time :2023/8/17 16:22
*/
public function verifyDomain($domain){
if(!empty($domain)){
$domain = checkDomain($domain);
if(!$domain){
$this->fail('正式域名格式不正确');
}
return $this->success();
//查看当前用户是否存在
$info = $userModel->read(['mobile'=>$mobile,'project_id'=>$project_id]);
if($info === false){
$data = [
'mobile'=>$mobile,
'password'=>base64_encode(md5('123456')),
'project_id'=>$project_id,
'name'=>$lead_name,
'type'=>UserModel::TYPE_ONE,
'operator_id'=>$this->manager['id'],
'create_id'=>$this->manager['id'],
];
$userModel->add($data);
}
return $this->success();
}
/**
* 保存付款续费
* @author zbj
... ... @@ -283,7 +275,7 @@ class ProjectLogic extends BaseLogic
}
}
$data['id'] = DeployOptimize::where('project_id', $param['id'])->value('id');
@file_put_contents(storage_path('logs/lyh_error.log'), var_export($data, true) . PHP_EOL, FILE_APPEND);
//@file_put_contents(storage_path('logs/lyh_error.log'), var_export($data, true) . PHP_EOL, FILE_APPEND);
return (new DeployOptimizeLogic)->save($data);
}
/**
... ...
... ... @@ -47,22 +47,14 @@ class UserLogic extends BaseLogic
*/
public function projectUserSave()
{
//验证手机号是否存在
$this->verifyMobile($this->param);
//验证一个项目是否只有一个超级管理员
$this->verifyRole($this->param);
if (isset($this->param['id']) && !empty($this->param['id'])) {
$info = $this->model->read(['mobile' => $this->param['mobile'], 'id' => ['!=', $this->param['id']]]);
if ($info !== false) {
$this->fail('当前手机号码已存在');
}
$this->param = $this->editPassword($this->param);
$rs = $this->model->edit($this->param, ['id' => $this->param['id']]);
} else {
$info = $this->model->read(['mobile'=>$this->param['mobile']]);
if($info !== false){
$this->fail('当前手机号码已存在');
}
$info = $this->model->read(['project_id'=>$this->param['project_id'],'role_id'=>0]);
if($info !== false){
$this->fail('当前项目已存在超级管理员,请选择其他项目');
}
$this->param['password'] = base64_encode(md5($this->param['password']));
$rs = $this->model->add($this->param);
}
... ... @@ -73,6 +65,63 @@ class UserLogic extends BaseLogic
}
/**
* @remark :验证手机号是否可用
* @name :verifyMobile
* @author :lyh
* @method :post
* @time :2023/8/29 9:14
*/
public function verifyMobile($param){
if(isset($param['id']) && !empty($param['id'])){
$condition = [
'mobile' => $param['mobile'],
'project_id'=>$param['project_id'],
'id' => ['!=', $param['id']]
];
}else{
$condition = [
'mobile' => $param['mobile'],
'project_id'=>$param['project_id'],
];
}
$info = $this->model->read($condition);
if ($info !== false) {
$this->fail('当前手机号码已存在');
}
return $this->success();
}
/**
* @remark :验证一个项目超级管理员只允许存在一个
* @name :verifyRole
* @author :lyh
* @method :post
* @time :2023/8/29 9:22
*/
public function verifyRole($param){
if($param['role_id'] == $this->model::ROLE_MANAGER){
if(isset($param['id']) && !empty($param['id'])){
$condition = [
'mobile' => $param['mobile'],
'project_id'=>$param['project_id'],
'id' => ['!=', $param['id']],
'role_id'=>$this->model::ROLE_MANAGER
];
}else{
$condition = [
'mobile' => $param['mobile'],
'project_id'=>$param['project_id'],
'role_id'=>$this->model::ROLE_MANAGER,
];
}
$info = $this->model->read($condition);
if ($info !== false) {
$this->fail('当前项目已存在超级管理员');
}
}
}
/**
* @name :编辑会员
* @return void
* @author :liyuhang
... ...
... ... @@ -10,7 +10,8 @@ use App\Models\Base;
class User extends Base
{
// use HasApiTokens, HasFactory, Notifiable;
const ROLE_MANAGER = 0;//超级管理员
const TYPE_ONE = 1;
protected $table = 'gl_project_user';
//自动维护create_at创建时间 updated_at修改时间
public $timestamps = true;
... ...