刮刮后端接口
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.

151 lines
4.7 KiB

<?php
declare (strict_types = 1);
namespace app\controller;
use app\BaseController;
use app\middleware\CheckAdmin;
use think\facade\Cache;
use think\facade\Db;
use think\facade\Request;
use app\model\AdminUser as AdminModel;
class AdminUser extends BaseController
{
protected $middleware = [CheckAdmin::class];
protected $relationType = [1 => '用户', 2 => '代理'];
/**
* 管理员信息
* @return array
* @throws \think\db\exception\DataNotFoundException
* @throws \think\db\exception\DbException
* @throws \think\db\exception\ModelNotFoundException
*/
public function userInfo()
{
$adminData = $this->request->userInfo;
$data = AdminModel::field('id,avatar')->where('id',$adminData['id'])->find();
$data['avatar'] = get_image_url($data['avatar']);
return $this->renderSuccess('数据返回成功',['data' => $data]);
}
/**
* 上分记录
* @return array
* @throws \think\db\exception\DbException
*/
public function upScoresList()
{
$adminData = $this->request->userInfo;
$data = Request::param();
$limit = $data['limit'] ?: 10;
$list = Db::name('admin_up_scores_records')
->where('admin_id',$adminData['id'])
->field('relation_id,relation_type,balance,residue_amount,create_time')
->order('id' ,'desc')
->paginate($limit);
$listArr = $list->items();
foreach ($listArr as &$item) {
$item['relation_type'] = $this->relationType[$item['relation_type']];
give_symbol($item['balance']);
$item['create_time'] = date("m月d日 H:i",strtotime($item['create_time']));
}
return $this->renderSuccess('数据获取成功',[
'list' => $listArr,
'total' => $list->total()
]);
}
/**
* 下分记录
* @return array
* @throws \think\db\exception\DbException
*/
public function downScoresList()
{
$adminData = $this->request->userInfo;
$data = Request::param();
$limit = $data['limit'] ?: 10;
$list = Db::name('admin_down_scores_records')
->where('admin_id',$adminData['id'])
->field('relation_id,relation_type,withdrawal_amount,withdrawal_balance,create_time')
->order('id' ,'desc')
->paginate($limit);
$listArr = $list->items();
foreach ($listArr as &$item) {
$item['relation_type'] = $this->relationType[$item['relation_type']];
give_symbol($item['withdrawal_amount'],'-');
$item['create_time'] = date("m月d日 H:i",strtotime($item['create_time']));
}
return $this->renderSuccess('数据获取成功',[
'list' => $listArr,
'total' => $list->total()
]);
}
/**
* 清除所有缓存数据
* @return array
*/
public function clean()
{
# 获取所有表名
$tables = Db::query('SHOW TABLES');
$tablesNameArr = [];
foreach ($tables as $table) {
if(isset($table['Tables_in_guaguale']) && !empty($table['Tables_in_guaguale'])) {
$tablesNameArr[] = $table['Tables_in_guaguale'];
}
}
# 备份数据表数据
#if (!$result['status']) return $this->renderError('清除失败');
# 清空
foreach ($tablesNameArr as $tableName) {
Db::query("TRUNCATE TABLE {$tableName}");
}
$login_user_data = Cache::store('redis')->get('login_user_data');
if ($login_user_data) Cache::store('redis')->delete('login_admin_user_data');
$login_agent_user_data = Cache::store('redis')->get('login_agent_user_data');
if ($login_agent_user_data) Cache::store('redis')->delete('login_agent_user_data');
$login_admin_user_data = Cache::store('redis')->get('login_admin_user_data');
if ($login_admin_user_data) Cache::store('redis')->delete('login_admin_user_data');
$login_admin_user_data = Cache::store('redis')->get('user_recharge_set');
if ($login_admin_user_data) Cache::store('redis')->delete('user_recharge_set');
$login_admin_user_data = Cache::store('redis')->get('agent_recharge_set');
if ($login_admin_user_data) Cache::store('redis')->delete('agent_recharge_set');
return $this->renderSuccess('已清除成功');
}
/**
* 退出登陆
*/
public function LogOut()
{
$login_admin_user_data = Cache::store('redis')->get('login_admin_user_data');
if ($login_admin_user_data) Cache::store('redis')->delete('login_admin_user_data');
return $this->renderSuccess('退出登陆成功');
}
}