140 lines
3.9 KiB
PHP
140 lines
3.9 KiB
PHP
<?php
|
|
namespace app\admin\controller;
|
|
|
|
use app\common\controller\BaseController;
|
|
use app\common\model\Corp;
|
|
use app\common\traits\crud\CrudControllerTrait;
|
|
use app\admin\service\UserService;
|
|
use app\crm\model\Customer;
|
|
use support\Request;
|
|
|
|
class UserController extends BaseController
|
|
{
|
|
use CrudControllerTrait;
|
|
|
|
protected $service;
|
|
|
|
public function __construct()
|
|
{
|
|
$this->service = new UserService();
|
|
}
|
|
|
|
|
|
/**
|
|
* 修改密码
|
|
* @param Request $request
|
|
* @return \support\Response
|
|
* @throws \Random\RandomException
|
|
*/
|
|
public function savePassword(Request $request)
|
|
{
|
|
try {
|
|
$data = $this->validate($this->service->getValidator(), $request->post(), 'password');
|
|
$data = $request->all();
|
|
$result = $this->service->savePassword($request,$data);;
|
|
return $this->success($result, '编辑成功');
|
|
} catch (\Throwable $e) {
|
|
return $this->error($e->getMessage());
|
|
}
|
|
}
|
|
|
|
/**
|
|
* 更新
|
|
*
|
|
* @param Request $request 请求对象
|
|
* @return mixed 返回更新成功的数据或信息
|
|
*/
|
|
public function edit(Request $request)
|
|
{
|
|
try {
|
|
$data = $this->validate($this->service->getValidator(), $request->post(), 'update');
|
|
$data['id'] = $data['id']??$request->user->uid;
|
|
$res = $this->service->serviceUpdate($request, $data);
|
|
return $this->success([], '更新成功');
|
|
} catch (\Throwable $e) {
|
|
return $this->error($e->getMessage());
|
|
}
|
|
}
|
|
|
|
/**
|
|
* 列表页数据格式化
|
|
*
|
|
* @param array $data
|
|
* @return array
|
|
*/
|
|
protected function indexFormat($data)
|
|
{
|
|
if(isset($data['records'])){
|
|
return $data;
|
|
}
|
|
$data['sex_txt'] = '';
|
|
if (isset($data['sex']) && $data['sex'] == 1){
|
|
$data['sex_txt'] = '男';
|
|
}elseif(isset($data['sex']) && $data['sex'] == 2){
|
|
$data['sex_txt'] = '女';
|
|
}
|
|
|
|
switch ($data['status']){
|
|
case 1:
|
|
$data['status_txt'] = '正常';
|
|
break;
|
|
case 2:
|
|
$data['status_txt'] = '离职';
|
|
break;
|
|
default:
|
|
$data['status_txt'] = '';
|
|
break;
|
|
}
|
|
|
|
$data['corp_name'] = Corp::where('id', $data['corp_id'])->value('name');
|
|
$data['customer_count'] = Customer::where('user_id', $data['id'])->count();
|
|
|
|
$data['role_ids'] = [];
|
|
$data['system_ids'] = [];
|
|
if (isset($data['roles']) && count($data['roles']) > 0) {
|
|
foreach ($data['roles'] as $role) {
|
|
$data['role_ids'][] = $role['id'];
|
|
}
|
|
}
|
|
if (isset($data['systems']) && count($data['systems']) > 0) {
|
|
foreach ($data['systems'] as $system) {
|
|
$data['system_ids'][] = $system['id'];
|
|
}
|
|
}
|
|
return $data;
|
|
}
|
|
|
|
/**
|
|
* 授权
|
|
*
|
|
* @param Request $request
|
|
* @return mixed
|
|
*/
|
|
public function authorize(Request $request)
|
|
{
|
|
try {
|
|
$data = $this->validate($this->service->getValidator(), $request->post(), 'authorize');
|
|
$res = $this->service->authorize($request, $data);
|
|
return $this->success([], '分配成功');
|
|
} catch (\Throwable $e) {
|
|
return $this->error($e->getMessage());
|
|
}
|
|
}
|
|
|
|
/**
|
|
* 直接授权
|
|
*
|
|
* @param Request $request
|
|
* @return mixed
|
|
*/
|
|
public function updateResources(Request $request)
|
|
{
|
|
try {
|
|
$data = $this->validate($this->service->getValidator(), $request->post(), 'updateResources');
|
|
$res = $this->service->updateResources($request, $data);
|
|
return $this->success([], '分配成功');
|
|
} catch (\Throwable $e) {
|
|
return $this->error($e->getMessage());
|
|
}
|
|
}
|
|
} |