Files
pgserver3.0/pgserver/application/admin/controller/Base.php
annnj-company 130c1026c4 first commit
2026-04-17 18:29:53 +08:00

217 lines
6.0 KiB
PHP
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
<?php
namespace app\admin\controller;
use app\admin\traits\Search;
use app\lib\BaseRequest;
use think\facade\Response;
use app\util\ReturnCode;
use think\Controller;
class Base extends Controller {
protected $token;
protected $userInfo;
public function initialize() {
if($_SERVER['REQUEST_METHOD'] == 'OPTIONS'){
header("Access-Control-Allow-Origin: *");
header("Access-Control-Allow-Headers: userId, ApiAuth, Category, User-Agent, Keep-Alive, Origin, No-Cache, X-Requested-With, If-Modified-Since, Pragma, Last-Modified, Cache-Control, Expires, Content-Type, X-E4M-With");
header('Access-Control-Allow-Methods: GET, POST, PUT,DELETE,OPTIONS,PATCH');
header('Access-Control-Allow-Credentials:true');
exit;
}
$userId = $this->request->header('userId');
$token = cache('token'.$userId);
if($token){
$this->token = $token;
}
$userInfo = cache('userinfo'.$userId);
if($userInfo){
$this->userInfo = $userInfo;
}
}
/**
* 获取当前用户ID
*
* @return void
*/
public function getUserId()
{
return $this->userInfo['user_id'];
}
/**
* 获取当前用户名
*
* @return void
*/
public function getUserName()
{
return $this->userInfo['user_name'];
}
/**
* 是否管理员
*/
public function isAdmin()
{
return in_array("Biz_system_admin", $this->userInfo['roleCode']);
}
/**
* 是否回价员
*/
public function isAppraiser()
{
return in_array("Assistant_appraiser", $this->userInfo['roleCode']);
}
/**
* Check if the current user has sign appraiser role
* 是否签章估价师
* @return bool Returns true if user has sign_appraiser role, false otherwise
*/
public function isSignAppraiser()
{
return in_array("Sign_appraiser", $this->userInfo['roleCode']) ||
in_array("COM_TOP_ADMIN", $this->userInfo['roleCode']) ||
in_array("admin", $this->userInfo['roleCode']);
}
/**
* 是否业务组长
*/
public function isBusinessTeamLeader()
{
return in_array("BusinessTL", $this->userInfo['roleCode']);
}
/**
* 返回封装后的API数据到客户端
* @access protected
* @param mixed $data 要返回的数据
* @access protected
* @param mixed $data 要返回的数据
* @param mixed $msg 提示信息
* @param integer $code 返回的code
* @param boolean $isSerialized 是否序列化
* @return \think\Response
*/
protected function buildSuccess($data = [], $msg = '操作成功', $code = 1,$isSerialized = false) {
$result = [
'code' => $code,
'msg' => $msg,
'isSerialized' => $isSerialized,
'data' => $data,
];
// 如果$encryted为true则对数据进行二进制序列化
if ($isSerialized) {
$str_json = json_encode($result['data']);
$result['data'] = bin2hex($str_json);
}
$response = Response::create($result, 'json');
return $response;
}
/**
* 回复客户端成功
*
* @param mixed $data 要返回的数据
* @param mixed $msg 提示信息
* @param integer $code 返回的code
* @param boolean $isSerialized 是否序列化
* @return \think\Response
*/
protected function responseSuccess($data = [], $isCrypto = false) {
$r =[
'code' => 1,
'msg' => '回复成功',
'isCrypto' => $isCrypto,
'data' => $data,
];
if ($isCrypto) {
$str_json = json_encode($r['data']);
$r['data'] = bin2hex($str_json);
}
$response = Response::create($r, 'json');
return $response;
}
/**
*/
/**
* 返回封装后的API数据到客户端
* @access protected
* @param mixed $msg 提示信息
* @param mixed $data 要返回的数据
* @param integer $code 返回的code
* @return \think\Response
*/
protected function buildFailed($msg = '', $data = [], $code = -1,$isSerialized = false) {
if( $isSerialized )
$data = base64_encode(json_encode($data));
$result = [
'code' => $code,
'msg' => $msg,
'data' => $data,
];
$response = Response::create($result, 'json');
return $response;
}
/**
*时间段查询 时间戳
*/
function getQueryDateTime() {
$start_time = request()->param('start_time', '');
$end_time = request()->param('end_time', '');
$start_time_stamp = strtotime($start_time);
$end_time_stamp = strtotime($end_time);
$date_params = '';
if ($start_time && $end_time) {
if ($start_time_stamp > $end_time_stamp) {
$date_params = ['between', [$end_time, $start_time.' 23:59:59']];
} else if ($start_time_stamp < $end_time_stamp) {
$date_params = ['between', [$start_time, $end_time.' 23:59:59']];
} else {
$date_params = ['between', [$start_time, $end_time.' 23:59:59']];
}
} else if (!$start_time && !$end_time) {
$date_params = ['between', ['2025-02-01 00:00:00', date('Y-m-d', strtotime('+1 day')).' 23:59:59']];
} else {
$start_time && $date_params = ['egt', $start_time];
$end_time && $date_params = ['elt', $end_time.' 23:59:59'];
}
return $date_params;
}
/**
* 分页查询
*/
public function getPage() {
$page = request()->param('page', 1);
$list_rows = request()->param('limit', config('apiBusiness.ADMIN_LIST_DEFAULT'));
return [
'list_rows' => $list_rows,
'page' => $page
];
}
}