作者堆叠 专刊
This commit is contained in:
@@ -2081,7 +2081,149 @@ class User extends Base
|
||||
$re['user'] = $user_info;
|
||||
return jsonSuccess($re);
|
||||
}
|
||||
public function createUserForEditor(){
|
||||
$data = $this->request->post();
|
||||
$rule = new Validate([
|
||||
"email"=>"require",
|
||||
"address"=>"require",
|
||||
"firstname"=>"require",
|
||||
"lastname"=>"require",
|
||||
"intro"=>"require"
|
||||
]);
|
||||
if(!$rule->check($data)){
|
||||
return jsonError($rule->getError());
|
||||
}
|
||||
$account = isset($data['account'])?$data['account']:$data['email'];
|
||||
$email = $data['email'];
|
||||
$res_once = $this->user_obj->where("account='$account' or email = '$email'")->find();
|
||||
if ($res_once != null) {
|
||||
return json('existence');
|
||||
}
|
||||
Db::startTrans();
|
||||
|
||||
|
||||
$inser_data['account'] = trim($account);
|
||||
$inser_data['password'] = md5(isset($data['password'])?$data['password']:"123456qwe");
|
||||
$inser_data['email'] = $email;
|
||||
if(isset($data['phone']))$inser_data['phone'] = $data['phone'];
|
||||
if(isset($data['orcid']))$inser_data['orcid'] = $data['orcid'];
|
||||
$inser_data['realname'] = $data['firstname']." ".$data['lastname'];
|
||||
$inser_data['icon'] = $data['icon'];
|
||||
$inser_data['ctime'] = time();
|
||||
$inser_data['openid'] = "";
|
||||
$id = $this->user_obj->insertGetId($inser_data);
|
||||
//存入个人额外信息
|
||||
$insert_reviewer['reviewer_id'] = $id;
|
||||
$insert_reviewer['test_from'] = "kzeditor";
|
||||
$insert_reviewer['address'] = $data['address'];
|
||||
$insert_reviewer['introduction'] = $data['intro'];
|
||||
$insert_reviewer['firstname'] = $data['firstname'];
|
||||
$insert_reviewer['lastname'] = $data['lastname'];
|
||||
if(isset($data['website']))$insert_reviewer['website'] = $data['website'];
|
||||
if(isset($data['interests']))$insert_reviewer['interests'] = $data['interests'];
|
||||
$r_res = $this->user_reviewer_info_obj->insert($insert_reviewer);
|
||||
|
||||
if($id&&$r_res){
|
||||
Db::commit();
|
||||
return jsonSuccess($id);
|
||||
}else{
|
||||
Db::rollback();
|
||||
return jsonError("system error");
|
||||
}
|
||||
}
|
||||
/**
|
||||
* 修改客座编辑本地资料
|
||||
* t_user: orcid、phone、realname(firstname lastname)、icon
|
||||
* t_user_reviewer_info: address、interests、firstname、lastname、introduction(intro)
|
||||
*/
|
||||
public function updateUserForEditor()
|
||||
{
|
||||
$data = $this->request->post();
|
||||
$rule = new Validate([
|
||||
'user_id' => 'require|number',
|
||||
'firstname' => 'require',
|
||||
'lastname' => 'require',
|
||||
'intro' => 'require',
|
||||
]);
|
||||
if (!$rule->check($data)) {
|
||||
return jsonError($rule->getError());
|
||||
}
|
||||
|
||||
$userId = intval($data['user_id']);
|
||||
$user = $this->user_obj->where('user_id', $userId)->where('state', 0)->find();
|
||||
if (!$user) {
|
||||
return jsonError('user not found');
|
||||
}
|
||||
|
||||
Db::startTrans();
|
||||
try {
|
||||
$firstName = trim((string)$data['firstname']);
|
||||
$lastName = trim((string)$data['lastname']);
|
||||
|
||||
$userUpdate = [
|
||||
'realname' => trim($firstName . ' ' . $lastName),
|
||||
];
|
||||
if (isset($data['orcid'])) {
|
||||
$userUpdate['orcid'] = trim((string)$data['orcid']);
|
||||
}
|
||||
if (isset($data['phone'])) {
|
||||
$userUpdate['phone'] = trim((string)$data['phone']);
|
||||
}
|
||||
if (isset($data['icon'])) {
|
||||
$userUpdate['icon'] = trim((string)$data['icon']);
|
||||
}
|
||||
$upUser = $this->user_obj->where('user_id', $userId)->update($userUpdate);
|
||||
if ($upUser === false) {
|
||||
throw new \Exception('update t_user failed');
|
||||
}
|
||||
|
||||
$reviewerInfo = $this->user_reviewer_info_obj
|
||||
->where('reviewer_id', $userId)
|
||||
->where('state', 0)
|
||||
->find();
|
||||
$reviewerUpdate = [
|
||||
'firstname' => $firstName,
|
||||
'lastname' => $lastName,
|
||||
];
|
||||
if (isset($data['address'])) {
|
||||
$reviewerUpdate['address'] = trim((string)$data['address']);
|
||||
}
|
||||
if (isset($data['website'])) {
|
||||
$reviewerUpdate['website'] = trim((string)$data['website']);
|
||||
}
|
||||
if (isset($data['interests'])) {
|
||||
$reviewerUpdate['interests'] = trim((string)$data['interests']);
|
||||
}
|
||||
$reviewerUpdate['introduction'] = trim((string)$data['intro']);
|
||||
|
||||
if ($reviewerInfo) {
|
||||
$upReviewer = $this->user_reviewer_info_obj
|
||||
->where('reviewer_id', $userId)
|
||||
->where('state', 0)
|
||||
->update($reviewerUpdate);
|
||||
if ($upReviewer === false) {
|
||||
throw new \Exception('update t_user_reviewer_info failed');
|
||||
}
|
||||
} else {
|
||||
$reviewerUpdate['reviewer_id'] = $userId;
|
||||
$reviewerUpdate['test_from'] = 'kzeditor';
|
||||
$insReviewer = $this->user_reviewer_info_obj->insert($reviewerUpdate);
|
||||
if (!$insReviewer) {
|
||||
throw new \Exception('insert t_user_reviewer_info failed');
|
||||
}
|
||||
}
|
||||
|
||||
Db::commit();
|
||||
return jsonSuccess([
|
||||
'user_id' => $userId,
|
||||
'updated' => 1,
|
||||
]);
|
||||
} catch (\Exception $e) {
|
||||
Db::rollback();
|
||||
return jsonError($e->getMessage());
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* 注册功能
|
||||
*/
|
||||
@@ -3370,4 +3512,17 @@ class User extends Base
|
||||
}
|
||||
return implode("\n", $lines);
|
||||
}
|
||||
|
||||
public function up_editorIcon_file()
|
||||
{
|
||||
$file = request()->file('icon');
|
||||
if ($file) {
|
||||
$info = $file->move(ROOT_PATH . 'public' . DS . 'usericon');
|
||||
if ($info) {
|
||||
return json(['code' => 0, 'upurl' => str_replace("\\", "/", $info->getSaveName())]);
|
||||
} else {
|
||||
return json(['code' => 1, 'msg' => $file->getError()]);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user