王总上门按摩后台代码
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

141 lines
5.0 KiB

2 months ago
<?php
namespace app\admin\controller;
class User extends \app\Rest
{
public function __construct(\think\App $app)
{
parent::__construct($app);
}
public function createUser()
{
$user = $this->_input["user"];
$data = checkAccountIsExist($user["account"], $this->_uniacid);
if ($data) {
return $this->error("account is exist ,please check again.");
}
$user_id = uuid();
$user["user_id"] = $user_id;
$user["offset"] = createOffset();
$user["passwd"] = createPasswd($user["passwd"], $user["offset"]);
$user["uniacid"] = $this->_uniacid;
if (!isset($user["role_id"]) || !ckeckRole($user["role_id"], $this->_uniacid)) {
$user["role_id"] = getRole()["role_id"];
}
if (!empty($this->_user)) {
$user["creator_id"] = $this->_user["user_id"];
}
$user_model = new \app\admin\model\Admin();
$result = $user_model->createUser($user);
return $this->success($result);
}
public function listUser()
{
$param = $this->_param;
$page_config = ["page" => 1, "page_count" => 20];
if (isset($param["page"]) && $param["page"] > 0) {
$page_config["page"] = $param["page"];
}
if (isset($param["page_count"]) && $param["page_count"] > 0) {
$page_config["page_count"] = $param["page_count"];
}
$param["uniacid"] = $this->_uniacid;
$filter = listUserFilter($param);
$user_model = new \app\admin\model\Admin();
$page_config["total"] = $user_model->listUserCount($filter);
$users = $user_model->listUser($filter, $page_config);
$page_config["total_page"] = \intval($page_config["total"] / $page_config["page_count"]);
if ($page_config["total"] % $page_config["page_count"] > 0) {
$page_config["total_page"] = $page_config["total_page"] + 1;
}
$result = $page_config;
$result["users"] = $users;
return $this->success($result);
}
public function getUser()
{
$user_id = $this->_param["user_id"];
$user_model = new \app\admin\model\Admin();
$user = $user_model->getUser(["user_id" => $user_id, "uniacid" => $this->_uniacid]);
unset($user["passwd"]);
unset($user["offset"]);
return $this->success($user);
}
public function updateUser()
{
$user_id = $this->_param["user_id"];
$user_model = new \app\admin\model\Admin();
$user = $user_model->getUser(["user_id" => $user_id, "uniacid" => $this->_uniacid]);
if (empty($user)) {
return $this->error("the user not is exist ,please check user id.");
}
$user_data = getUpdateUserFilter($this->_input["user"]);
if (isset($user_data["passwd"])) {
if (!isset($user["offset"])) {
$user["offset"] = createOffset();
}
$user_data["offset"] = $user["offset"];
$user_data["passwd"] = createPasswd($user_data["passwd"], $user["offset"]);
}
$result = $user_model->updateUser(["user_id" => $user_id, "uniacid" => $this->_uniacid], $user_data);
return $this->success($result);
}
public function delUser()
{
$user_id = $this->_param["user_id"];
$user_model = new \app\admin\model\Admin();
$user = $user_model->getUser(["user_id" => $user_id, "uniacid" => $this->_uniacid]);
if (empty($user)) {
return $this->error("the user not is exist ,please check user id.");
}
$result = $user_model->delUser(["user_id" => $user_id, "uniacid" => $this->_uniacid], ["deleted" => 0]);
$admin_role_model = new \app\admin\model\AdminRole();
$admin_role_model->delUserRole(["user_id" => $user_id]);
return $this->success($result);
}
public function setUserRole()
{
$user_id = $this->_param["user_id"];
$role_id = $this->_param["role_id"];
$user_model = new \app\admin\model\Admin();
$user = $user_model->getUser(["user_id" => $user_id, "uniacid" => $this->_uniacid]);
if (empty($user)) {
return $this->error("the user is not exist ,please check user id.");
}
$role = ckeckRole($role_id);
if (empty($role)) {
return $this->error("the role is not exist ,please check role id.");
}
$exist_role_ids = [];
foreach ($user["role"] as $role) {
$exist_role_ids[] = $role["role_ids"];
}
if (in_array($role_id, $exist_role_ids)) {
return $this->error("the user had the role ,please do not repeat add role to the user.");
}
$user_role_model = UserRoleModel();
$result = $user_role_model->createUserRole(["user_id" => $user_id, $role_id => $role_id, "uniacid" => $this->_uniacid]);
return $this->success($result);
}
public function removeUserRole()
{
$user_id = $this->_param["user_id"];
$role_id = $this->_param["role_id"];
$user_model = new \app\admin\model\Admin();
$user = $user_model->getUser(["user_id" => $user_id, "uniacid" => $this->_uniacid]);
if (empty($user)) {
return $this->error("the user is not exist ,please check user id.");
}
$exist_role_ids = [];
foreach ($user["role"] as $role) {
$exist_role_ids[] = $role["role_ids"];
}
if (!in_array($role_id, $exist_role_ids)) {
return $this->error("the user role is not exist ,please check role id.");
}
$user_role_model = UserRoleModel();
$result = $user_role_model->delUserRole(["user_id" => $user_id, $role_id => $role_id, "uniacid" => $this->_uniacid]);
return $this->success($result);
}
}