增加后台功能
This commit is contained in:
parent
bc500d8610
commit
d56a1d1d4a
|
@ -13,6 +13,7 @@ use Tinywan\Jwt\JwtToken;
|
|||
|
||||
/**
|
||||
* @Apidoc\Title("admin用户控制器")
|
||||
* @Apidoc\Group("admin")
|
||||
*/
|
||||
class AccountController
|
||||
{
|
||||
|
|
|
@ -2,15 +2,17 @@
|
|||
|
||||
namespace app\controller\admin\api\v1;
|
||||
|
||||
use app\dao\UserDao;
|
||||
use support\Request;
|
||||
use App\Utils\ApiResponse;
|
||||
use App\model\Admin;
|
||||
use app\model\User;
|
||||
use hg\apidoc\annotation as Apidoc;
|
||||
|
||||
use app\model\Withdraw;
|
||||
|
||||
/**
|
||||
* @Apidoc\Title("用户列表控制器")
|
||||
* @Apidoc\Title("用户控制器")
|
||||
* @Apidoc\Group("admin")
|
||||
*/
|
||||
class JobuserController
|
||||
{
|
||||
|
@ -41,7 +43,7 @@ class JobuserController
|
|||
$user->save();
|
||||
return ApiResponse::success(200, []);
|
||||
}
|
||||
/**
|
||||
/**
|
||||
* @Apidoc\Title("1.0 解禁用户")
|
||||
* @Apidoc\Url("admin/api/v1/Jobuser/outblack")
|
||||
* @Apidoc\Method("POST")
|
||||
|
@ -56,4 +58,77 @@ class JobuserController
|
|||
$user->save();
|
||||
return ApiResponse::success(200, []);
|
||||
}
|
||||
/**
|
||||
* @Apidoc\Title("1.0 查询用户树")
|
||||
* @Apidoc\Url("admin/api/v1/Jobuser/getSonId")
|
||||
* @Apidoc\Method("POST")
|
||||
* @Apidoc\Param("id", type="int",require=true, desc="用户id")
|
||||
*/
|
||||
public function getSonId(Request $request)
|
||||
{
|
||||
// 获取请求数据
|
||||
$data = $request->post();
|
||||
$user = User::find($data['id']);
|
||||
$user->status = 1;
|
||||
$user->save();
|
||||
return ApiResponse::success(200, []);
|
||||
}
|
||||
/**
|
||||
* @Apidoc\Title("1.0 查询用户树")
|
||||
* @Apidoc\Url("admin/api/v1/Jobuser/getSonId")
|
||||
* @Apidoc\Method("POST")
|
||||
* @Apidoc\Param("id", type="int",require=true, desc="用户id")
|
||||
*/
|
||||
public function del(Request $request)
|
||||
{
|
||||
// 获取请求数据
|
||||
$data = $request->post();
|
||||
UserDao::del($data['id']);
|
||||
return ApiResponse::success(200, []);
|
||||
}
|
||||
/**
|
||||
* @Apidoc\Title("1.0 查询用户提现记录")
|
||||
* @Apidoc\Url("admin/api/v1/Jobuser/getWithdraw")
|
||||
* @Apidoc\Method("POST")
|
||||
* @Apidoc\Param("id", type="int",require=true, desc="用户id")
|
||||
*/
|
||||
public function getWithdraw(Request $request)
|
||||
{
|
||||
// 获取请求数据
|
||||
$data = $request->post();
|
||||
$Withdraw = Withdraw::where('user_id', $data['id'])->orderByDesc('id')->get();
|
||||
return ApiResponse::success(200, $Withdraw);
|
||||
}
|
||||
/**
|
||||
* @Apidoc\Title("1.0 修改用户备注")
|
||||
* @Apidoc\Url("admin/api/v1/Jobuser/set_user_remark")
|
||||
* @Apidoc\Method("POST")
|
||||
* @Apidoc\Param("id", type="int",require=true, desc="用户id")
|
||||
* @Apidoc\Param("remark", type="string",require=true, desc="用户备注")
|
||||
*/
|
||||
public function set_user_remark(Request $request)
|
||||
{
|
||||
// 获取请求数据
|
||||
$data = $request->post();
|
||||
$user=User::find($data['id']);
|
||||
$user->remark=$data['remark'];
|
||||
$user->save();
|
||||
return ApiResponse::success(200, []);
|
||||
}
|
||||
/**
|
||||
* @Apidoc\Title("1.0 修改用户密码")
|
||||
* @Apidoc\Url("admin/api/v1/Jobuser/set_user_password")
|
||||
* @Apidoc\Method("POST")
|
||||
* @Apidoc\Param("id", type="int",require=true, desc="用户id")
|
||||
* @Apidoc\Param("password", type="string",require=true, desc="密码")
|
||||
*/
|
||||
public function set_user_password(Request $request)
|
||||
{
|
||||
// 获取请求数据
|
||||
$data = $request->post();
|
||||
$user=User::find($data['id']);
|
||||
$user->password = password_hash($data['password'], PASSWORD_DEFAULT);
|
||||
$user->save();
|
||||
return ApiResponse::success(200, []);
|
||||
}
|
||||
}
|
||||
|
|
|
@ -14,6 +14,7 @@ use support\exception\BusinessException;
|
|||
|
||||
/**
|
||||
* @Apidoc\Title("上传文件控制器")
|
||||
* @Apidoc\Group("admin")
|
||||
*/
|
||||
class UploadController
|
||||
{
|
||||
|
|
|
@ -15,7 +15,7 @@ use hg\apidoc\annotation as Apidoc;
|
|||
use support\Db;
|
||||
|
||||
/**
|
||||
* @Apidoc\Title("公共控制器?")
|
||||
* @Apidoc\Title("抽奖控制器")
|
||||
*/
|
||||
|
||||
class TurntableController
|
||||
|
@ -30,16 +30,15 @@ class TurntableController
|
|||
*/
|
||||
public function lists(Request $request)
|
||||
{
|
||||
|
||||
$res=Reward::all();
|
||||
return ApiResponseApp::success($res);
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* @Apidoc\Title("1.0 抽奖点击后 返回抽奖结构)
|
||||
* @Apidoc\Url("api/Tturntable/lottery")
|
||||
* @Apidoc\Method("POST")
|
||||
* Apidoc\Title("1.0 抽奖点击后 返回抽奖结构)
|
||||
* Apidoc\Url("api/Tturntable/lottery")
|
||||
* Apidoc\Method("POST")
|
||||
*/
|
||||
public function lottery(Request $request)
|
||||
{
|
||||
|
|
|
@ -14,7 +14,7 @@ use App\dao\UserDao;
|
|||
use app\dao\UserPhoneLogDao;
|
||||
use app\dao\UserRewardDao;
|
||||
use app\model\UserReward;
|
||||
|
||||
use hg\apidoc\annotation as Apidoc;
|
||||
/**
|
||||
* @Apidoc\Title("用户控制器")
|
||||
*/
|
||||
|
|
|
@ -4,9 +4,14 @@ namespace app\dao;
|
|||
|
||||
use App\model\Users;
|
||||
use App\model\BankLog;
|
||||
use app\model\Signlog;
|
||||
use App\Utils\FunctionResponse;
|
||||
use App\model\User;
|
||||
use app\model\UserPhone;
|
||||
use app\model\UserPhoneLog;
|
||||
use App\model\UserReward;
|
||||
use app\model\Withdraw;
|
||||
|
||||
class UserDao
|
||||
{
|
||||
/**
|
||||
|
@ -119,4 +124,19 @@ class UserDao
|
|||
$query = UserReward::where('status', 5)->where('user_id', $user_id)->sum('money');
|
||||
return $query;
|
||||
}
|
||||
/**
|
||||
* 删除用户
|
||||
*/
|
||||
public static function del($user_id){
|
||||
User::find($user_id)->delete();
|
||||
$UserPhone=UserPhone::where('user_id',$user_id)->get();
|
||||
foreach($UserPhone as $v){
|
||||
UserPhoneLog::where('phone',$v->phone)->delete();
|
||||
$v->delete();
|
||||
}
|
||||
UserReward::where('user_id',$user_id)->delete();
|
||||
Withdraw::where('user_id')->delete();
|
||||
Signlog::where('user_id',$user_id)->delete();
|
||||
return 0;
|
||||
}
|
||||
}
|
||||
|
|
|
@ -56,89 +56,5 @@ class User extends Model
|
|||
*/
|
||||
public $timestamps = true; // 如果不需要自动维护创建和更新时间,可以将此设置为 false
|
||||
|
||||
/**
|
||||
* The attributes that are mass assignable.
|
||||
*
|
||||
* @var array
|
||||
*/
|
||||
protected $fillable = [
|
||||
'username',
|
||||
'invite_code',
|
||||
'is_active',
|
||||
'login_ip',
|
||||
'join_ip',
|
||||
'login_time',
|
||||
'prev_time',
|
||||
'status',
|
||||
'money',
|
||||
'admin_money',
|
||||
'all_team_money',
|
||||
'task_income_money',
|
||||
'task_status',
|
||||
'today_task_income',
|
||||
'today_team_income',
|
||||
'growth_value',
|
||||
'vip_id',
|
||||
'withdraw_money',
|
||||
'f_id',
|
||||
'ff_id',
|
||||
'fff_id',
|
||||
'top_id',
|
||||
'path',
|
||||
'remark',
|
||||
'createtime',
|
||||
'updatetime',
|
||||
];
|
||||
|
||||
/**
|
||||
* The attributes that should be cast to native types.
|
||||
*
|
||||
* @var array
|
||||
*/
|
||||
protected $casts = [
|
||||
'money' => 'integer',
|
||||
'admin_money' => 'integer',
|
||||
'all_team_money' => 'integer',
|
||||
'task_income_money' => 'integer',
|
||||
'today_task_income' => 'integer',
|
||||
'today_team_income' => 'integer',
|
||||
'growth_value' => 'integer',
|
||||
'withdraw_money' => 'integer',
|
||||
'createtime' => 'integer',
|
||||
'updatetime' => 'integer',
|
||||
'status' => 'integer',
|
||||
];
|
||||
|
||||
/**
|
||||
* 获取登录时间的格式化值
|
||||
*
|
||||
* @param mixed $value
|
||||
* @return string
|
||||
*/
|
||||
public function getLoginTimeAttribute($value)
|
||||
{
|
||||
return date('Y-m-d H:i:s', $value);
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取创建时间的格式化值
|
||||
*
|
||||
* @param mixed $value
|
||||
* @return string
|
||||
*/
|
||||
public function getCreatetimeAttribute($value)
|
||||
{
|
||||
return date('Y-m-d H:i:s', $value);
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取更新时间的格式化值
|
||||
*
|
||||
* @param mixed $value
|
||||
* @return string
|
||||
*/
|
||||
public function getUpdatetimeAttribute($value)
|
||||
{
|
||||
return date('Y-m-d H:i:s', $value);
|
||||
}
|
||||
}
|
||||
|
|
|
@ -10,11 +10,15 @@ return [
|
|||
'apps' => [
|
||||
[
|
||||
// (必须)标题
|
||||
'title'=>'Api接口',
|
||||
'title' => 'Api接口',
|
||||
// (必须)控制器目录地址
|
||||
'path'=>'app\controller',
|
||||
'path' => 'app\controller',
|
||||
// (必须)唯一的key
|
||||
'key'=>'api',
|
||||
'key' => 'api',
|
||||
'groups' => [
|
||||
['title' => '基础模块', 'name' => 'base'],
|
||||
['title' => '管理员', 'name' => 'admin']
|
||||
]
|
||||
]
|
||||
],
|
||||
// (必须)指定通用注释定义的文件地址
|
||||
|
@ -24,10 +28,10 @@ return [
|
|||
// 字母规则,lcfirst=首字母小写;ucfirst=首字母大写;
|
||||
'letter_rule' => "lcfirst",
|
||||
// url前缀
|
||||
'prefix'=>"",
|
||||
'prefix' => "",
|
||||
],
|
||||
// (选配)是否自动注册路由
|
||||
'auto_register_routes'=>false,
|
||||
'auto_register_routes' => false,
|
||||
// (必须)缓存配置
|
||||
'cache' => [
|
||||
// 是否开启缓存
|
||||
|
@ -42,56 +46,56 @@ return [
|
|||
// 密码加密盐
|
||||
'secret_key' => "apidoc#hg_code",
|
||||
// 授权访问后的有效期
|
||||
'expire' => 24*60*60
|
||||
'expire' => 24 * 60 * 60
|
||||
],
|
||||
// 全局参数
|
||||
'params'=>[
|
||||
'params' => [
|
||||
// (选配)全局的请求Header
|
||||
'header'=>[
|
||||
'header' => [
|
||||
// name=字段名,type=字段类型,require=是否必须,default=默认值,desc=字段描述
|
||||
['name'=>'Authorization','type'=>'string','require'=>true,'desc'=>'身份令牌Token'],
|
||||
['name' => 'Authorization', 'type' => 'string', 'require' => true, 'desc' => '身份令牌Token'],
|
||||
],
|
||||
// (选配)全局的请求Query
|
||||
'query'=>[
|
||||
'query' => [
|
||||
// 同上 header
|
||||
],
|
||||
// (选配)全局的请求Body
|
||||
'body'=>[
|
||||
'body' => [
|
||||
// 同上 header
|
||||
],
|
||||
],
|
||||
// 全局响应体
|
||||
'responses'=>[
|
||||
'responses' => [
|
||||
// 成功响应体
|
||||
'success'=>[
|
||||
['name'=>'code','desc'=>'业务代码','type'=>'int','require'=>1],
|
||||
['name'=>'message','desc'=>'业务信息','type'=>'string','require'=>1],
|
||||
'success' => [
|
||||
['name' => 'code', 'desc' => '业务代码', 'type' => 'int', 'require' => 1],
|
||||
['name' => 'message', 'desc' => '业务信息', 'type' => 'string', 'require' => 1],
|
||||
//参数同上 headers;main=true来指定接口Returned参数挂载节点
|
||||
['name'=>'data','desc'=>'业务数据','main'=>true,'type'=>'object','require'=>1],
|
||||
['name' => 'data', 'desc' => '业务数据', 'main' => true, 'type' => 'object', 'require' => 1],
|
||||
],
|
||||
// 异常响应体
|
||||
'error'=>[
|
||||
['name'=>'code','desc'=>'业务代码','type'=>'int','require'=>1,'md'=>'/docs/HttpError.md'],
|
||||
['name'=>'message','desc'=>'业务信息','type'=>'string','require'=>1],
|
||||
'error' => [
|
||||
['name' => 'code', 'desc' => '业务代码', 'type' => 'int', 'require' => 1, 'md' => '/docs/HttpError.md'],
|
||||
['name' => 'message', 'desc' => '业务信息', 'type' => 'string', 'require' => 1],
|
||||
]
|
||||
],
|
||||
//(选配)默认作者
|
||||
'default_author'=>'',
|
||||
'default_author' => '',
|
||||
//(选配)默认请求类型
|
||||
'default_method'=>'GET',
|
||||
'default_method' => 'GET',
|
||||
//(选配)Apidoc允许跨域访问
|
||||
'allowCrossDomain'=>false,
|
||||
'allowCrossDomain' => false,
|
||||
/**
|
||||
* (选配)解析时忽略带@注解的关键词,当注解中存在带@字符并且非Apidoc注解,如 @key test,此时Apidoc页面报类似以下错误时:
|
||||
* [Semantical Error] The annotation "@key" in method xxx() was never imported. Did you maybe forget to add a "use" statement for this annotation?
|
||||
*/
|
||||
'ignored_annitation'=>[],
|
||||
'ignored_annitation' => [],
|
||||
|
||||
// (选配)数据库配置
|
||||
'database'=>[],
|
||||
'database' => [],
|
||||
// (选配)Markdown文档
|
||||
'docs' => [],
|
||||
// (选配)接口生成器配置 注意:是一个二维数组
|
||||
'generator' =>[]
|
||||
'generator' => []
|
||||
]
|
||||
];
|
Loading…
Reference in New Issue