first commit

This commit is contained in:
Your Name
2026-01-19 14:19:22 +08:00
commit fe2d9c1868
4777 changed files with 665503 additions and 0 deletions

View File

@@ -0,0 +1,79 @@
<?php
// +----------------------------------------------------------------------
// | likeadmin快速开发前后端分离管理后台PHP版
// +----------------------------------------------------------------------
// | 欢迎阅读学习系统程序代码,建议反馈是我们前进的动力
// | 开源版本可自由商用可去除界面版权logo
// | gitee下载https://gitee.com/likeshop_gitee/likeadmin
// | github下载https://github.com/likeshop-github/likeadmin
// | 访问官网https://www.likeadmin.cn
// | likeadmin团队 版权所有 拥有最终解释权
// +----------------------------------------------------------------------
// | author: likeadminTeam
// +----------------------------------------------------------------------
namespace app\adminapi\validate\user;
use app\common\model\user\User;
use app\common\validate\BaseValidate;
/**
* 注册验证器
* Class AddUserValidate
* @package app\adminapi\validate\user
*/
class AddUserValidate extends BaseValidate
{
protected $regex = [
// 'register' => '^(?=.*[A-Za-z])(?=.*\d)[A-Za-z\d]+$',
'password' => '/^(?![0-9]+$)(?![a-z]+$)(?![A-Z]+$)(?!([^(0-9a-zA-Z)]|[\(\)])+$)([^(0-9a-zA-Z)]|[\(\)]|[a-z]|[A-Z]|[0-9]){6,20}$/'
];
protected $rule = [
'channel' => 'require',
'account' => 'require|unique:' . User::class . '|checkAccount',
'password' => 'require|length:6,20|regex:password',
];
protected $message = [
'channel.require' => '注册来源参数缺失',//注册来源参数缺失
'account.require' => '请输入账号',//请输入账号
'account.unique' => '账号已存在',//账号已存在
'password.require' => '请输入密码',//请输入密码
'password.length' => '密码须在6-20位之间',//密码须在6-20位之间
'password.regex' => '密码须为字母数字组合',//密码须为字母数字组合
];
/**
* @notes 校验注册
* @param $buy
* @param $rule
* @param $data
* @return bool|string
* @author BD
* @date 2024/02/22 10:54
*/
protected function checkAccount($account, $rule, $data)
{
$login_way = $data['login_way'];//0邮箱1手机号
$mobile_pattern = '/^\d{6,20}$/';
if($login_way == 0){
if(!filter_var($data['account'], FILTER_VALIDATE_EMAIL)){
return '请输入正确的邮箱地址';
}
}elseif($login_way == 1){
if(!preg_match($mobile_pattern, $data['account'])){
return '请输入正确的手机号';
}
}else{
return '参数异常';
}
return true;
}
}

View File

@@ -0,0 +1,65 @@
<?php
// +----------------------------------------------------------------------
// | likeadmin快速开发前后端分离管理后台PHP版
// +----------------------------------------------------------------------
// | 欢迎阅读学习系统程序代码,建议反馈是我们前进的动力
// | 开源版本可自由商用可去除界面版权logo
// | gitee下载https://gitee.com/likeshop_gitee/likeadmin
// | github下载https://github.com/likeshop-github/likeadmin
// | 访问官网https://www.likeadmin.cn
// | likeadmin团队 版权所有 拥有最终解释权
// +----------------------------------------------------------------------
// | author: likeadminTeam
// +----------------------------------------------------------------------
namespace app\adminapi\validate\user;
use app\common\model\user\User;
use app\common\validate\BaseValidate;
/**
* 调整用户钱包验证器
* Class AdjustUserMoney
* @package app\adminapi\validate\user
*/
class AdjustUserMoney extends BaseValidate
{
protected $rule = [
'user_id' => 'require',
'action' => 'require|in:1,2,3',
'num' => 'require|gt:0|checkMoney',
'remark' => 'max:128',
];
protected $message = [
'id.require' => '请选择用户',
'action.require' => '请选择调整类型',
'action.in' => '调整类型错误',
'num.require' => '请输入调整数量',
'num.gt' => '调整余额必须大于零',
'remark' => '备注不可超过128个符号',
];
protected function checkMoney($vaule, $rule, $data)
{
$user = User::find($data['user_id']);
if (empty($user)) {
return '用户不存在';
}
if (1 == $data['action'] || 3 == $data['action']) {
return true;
}
$surplusMoeny = $user->user_money - floatval($vaule);
if ($surplusMoeny < 0) {
return '用户可用余额仅剩' . $user->user_money;
}
return true;
}
}

View File

@@ -0,0 +1,89 @@
<?php
namespace app\adminapi\validate\user;
use app\common\validate\BaseValidate;
/**
* 分组规则验证器
* Class UserGroupRuleValidate
* @package app\adminapi\validate\user
*/
class UserGroupRuleValidate extends BaseValidate
{
/**
* 设置校验规则
* @var string[]
*/
protected $rule = [
'id' => 'require',
'group_id' => 'require',
'num' => 'require',
'money_type' => 'require',
'commission_type' => 'require',
];
/**
* 参数描述
* @var string[]
*/
protected $field = [
'id' => 'id',
'group_id' => '分组',
'num' => '第几单',
'money_type' => '金额类型1固定值2百分比',
'commission_type' => '佣金类型1固定值2百分比',
];
/**
* @notes 添加场景
* @return UserGroupRuleValidate
* @author BD
* @date 2024/04/25 01:30
*/
public function sceneAdd()
{
return $this->only(['num','money_type','commission_type']);
}
/**
* @notes 编辑场景
* @return UserGroupRuleValidate
* @author BD
* @date 2024/04/25 01:30
*/
public function sceneEdit()
{
return $this->only(['id','num','money_type','commission_type']);
}
/**
* @notes 删除场景
* @return UserGroupRuleValidate
* @author BD
* @date 2024/04/25 01:30
*/
public function sceneDelete()
{
return $this->only(['id']);
}
/**
* @notes 详情场景
* @return UserGroupRuleValidate
* @author BD
* @date 2024/04/25 01:30
*/
public function sceneDetail()
{
return $this->only(['id']);
}
}

View File

@@ -0,0 +1,83 @@
<?php
namespace app\adminapi\validate\user;
use app\common\validate\BaseValidate;
/**
* 用户分组验证器
* Class UserGroupValidate
* @package app\adminapi\validate\user
*/
class UserGroupValidate extends BaseValidate
{
/**
* 设置校验规则
* @var string[]
*/
protected $rule = [
'id' => 'require',
'name' => 'require',
];
/**
* 参数描述
* @var string[]
*/
protected $field = [
'id' => 'id',
'name' => '分组名称',
];
/**
* @notes 添加场景
* @return UserGroupValidate
* @author BD
* @date 2024/04/25 01:04
*/
public function sceneAdd()
{
return $this->only(['name']);
}
/**
* @notes 编辑场景
* @return UserGroupValidate
* @author BD
* @date 2024/04/25 01:04
*/
public function sceneEdit()
{
return $this->only(['id','name']);
}
/**
* @notes 删除场景
* @return UserGroupValidate
* @author BD
* @date 2024/04/25 01:04
*/
public function sceneDelete()
{
return $this->only(['id']);
}
/**
* @notes 详情场景
* @return UserGroupValidate
* @author BD
* @date 2024/04/25 01:04
*/
public function sceneDetail()
{
return $this->only(['id']);
}
}

View File

@@ -0,0 +1,83 @@
<?php
namespace app\adminapi\validate\user;
use app\common\validate\BaseValidate;
/**
* 用户信息验证器
* Class UserInfoValidate
* @package app\adminapi\validate\user
*/
class UserInfoValidate extends BaseValidate
{
/**
* 设置校验规则
* @var string[]
*/
protected $rule = [
'id' => 'require',
'user_id' => 'require',
];
/**
* 参数描述
* @var string[]
*/
protected $field = [
'id' => 'id',
'user_id' => '用户id',
];
/**
* @notes 添加场景
* @return UserInfoValidate
* @author BD
* @date 2024/06/08 17:51
*/
public function sceneAdd()
{
return $this->only(['user_id']);
}
/**
* @notes 编辑场景
* @return UserInfoValidate
* @author BD
* @date 2024/06/08 17:51
*/
public function sceneEdit()
{
return $this->only(['id','user_id']);
}
/**
* @notes 删除场景
* @return UserInfoValidate
* @author BD
* @date 2024/06/08 17:51
*/
public function sceneDelete()
{
return $this->only(['id']);
}
/**
* @notes 详情场景
* @return UserInfoValidate
* @author BD
* @date 2024/06/08 17:51
*/
public function sceneDetail()
{
return $this->only(['id']);
}
}

View File

@@ -0,0 +1,89 @@
<?php
namespace app\adminapi\validate\user;
use app\common\validate\BaseValidate;
/**
* 卡单规则验证器
* Class UserKadanValidate
* @package app\adminapi\validate\user
*/
class UserKadanValidate extends BaseValidate
{
/**
* 设置校验规则
* @var string[]
*/
protected $rule = [
'id' => 'require',
'user_id' => 'require',
'num' => 'require',
'money' => 'require',
'commission' => 'require',
];
/**
* 参数描述
* @var string[]
*/
protected $field = [
'id' => 'id',
'user_id' => '用户',
'num' => '第几单',
'money' => '订单金额',
'commission' => '佣金',
];
/**
* @notes 添加场景
* @return UserKadanValidate
* @author BD
* @date 2024/04/24 17:00
*/
public function sceneAdd()
{
return $this->only(['user_id','num','money','commission']);
}
/**
* @notes 编辑场景
* @return UserKadanValidate
* @author BD
* @date 2024/04/24 17:00
*/
public function sceneEdit()
{
return $this->only(['id','user_id','num','money','commission']);
}
/**
* @notes 删除场景
* @return UserKadanValidate
* @author BD
* @date 2024/04/24 17:00
*/
public function sceneDelete()
{
return $this->only(['id']);
}
/**
* @notes 详情场景
* @return UserKadanValidate
* @author BD
* @date 2024/04/24 17:00
*/
public function sceneDetail()
{
return $this->only(['id']);
}
}

View File

@@ -0,0 +1,81 @@
<?php
namespace app\adminapi\validate\user;
use app\common\validate\BaseValidate;
/**
* 挖矿记录验证器
* Class UserMineRecordValidate
* @package app\adminapi\validate\user
*/
class UserMineRecordValidate extends BaseValidate
{
/**
* 设置校验规则
* @var string[]
*/
protected $rule = [
'id' => 'require',
];
/**
* 参数描述
* @var string[]
*/
protected $field = [
'id' => 'id',
];
/**
* @notes 添加场景
* @return UserMineRecordValidate
* @author BD
* @date 2025/01/01 15:47
*/
public function sceneAdd()
{
return $this->remove('id', true);
}
/**
* @notes 编辑场景
* @return UserMineRecordValidate
* @author BD
* @date 2025/01/01 15:47
*/
public function sceneEdit()
{
return $this->only(['id']);
}
/**
* @notes 删除场景
* @return UserMineRecordValidate
* @author BD
* @date 2025/01/01 15:47
*/
public function sceneDelete()
{
return $this->only(['id']);
}
/**
* @notes 详情场景
* @return UserMineRecordValidate
* @author BD
* @date 2025/01/01 15:47
*/
public function sceneDetail()
{
return $this->only(['id']);
}
}

View File

@@ -0,0 +1,91 @@
<?php
namespace app\adminapi\validate\user;
use app\common\validate\BaseValidate;
/**
* 用户消息验证器
* Class UserNoticeValidate
* @package app\adminapi\validate\user
*/
class UserNoticeValidate extends BaseValidate
{
/**
* 设置校验规则
* @var string[]
*/
protected $rule = [
'id' => 'require',
'user_id' => 'require',
'title' => 'require',
'content' => 'require',
'notice_type' => 'require',
'langs' => 'require',
];
/**
* 参数描述
* @var string[]
*/
protected $field = [
'id' => 'id',
'user_id' => '用户id',
'title' => '标题',
'content' => '内容',
'notice_type' => '消息类型',
'langs' => '多语言存储',
];
/**
* @notes 添加场景
* @return UserNoticeValidate
* @author BD
* @date 2024/05/26 00:36
*/
public function sceneAdd()
{
return $this->only(['user_id','title','content','read','notice_type','langs']);
}
/**
* @notes 编辑场景
* @return UserNoticeValidate
* @author BD
* @date 2024/05/26 00:36
*/
public function sceneEdit()
{
return $this->only(['id','user_id','title','content','read','notice_type','langs']);
}
/**
* @notes 删除场景
* @return UserNoticeValidate
* @author BD
* @date 2024/05/26 00:36
*/
public function sceneDelete()
{
return $this->only(['id']);
}
/**
* @notes 详情场景
* @return UserNoticeValidate
* @author BD
* @date 2024/05/26 00:36
*/
public function sceneDetail()
{
return $this->only(['id']);
}
}

View File

@@ -0,0 +1,53 @@
<?php
// +----------------------------------------------------------------------
// | likeadmin快速开发前后端分离管理后台PHP版
// +----------------------------------------------------------------------
// | 欢迎阅读学习系统程序代码,建议反馈是我们前进的动力
// | 开源版本可自由商用可去除界面版权logo
// | gitee下载https://gitee.com/likeshop_gitee/likeadmin
// | github下载https://github.com/likeshop-github/likeadmin
// | 访问官网https://www.likeadmin.cn
// | likeadmin团队 版权所有 拥有最终解释权
// +----------------------------------------------------------------------
// | author: likeadminTeam
// +----------------------------------------------------------------------
namespace app\adminapi\validate\user;
use app\common\validate\BaseValidate;
/**
* 用户关系验证器
* Class UserRelationValidate
* @package app\adminapi\validate\user
*/
class UserRelationValidate extends BaseValidate
{
/**
* 设置校验规则
* @var string[]
*/
protected $rule = [
'id' => 'require',
'user_id' => 'require',
'parent_id' => 'require',
'level' => 'require',
];
/**
* 参数描述
* @var string[]
*/
protected $field = [
'id' => 'id',
'user_id' => '用户id',
'parent_id' => '上级id',
'level' => 'level',
];
}

View File

@@ -0,0 +1,126 @@
<?php
namespace app\adminapi\validate\user;
use app\common\validate\BaseValidate;
use app\common\model\user\UserTron;
/**
* 波场钱包验证器
* Class UserTronValidate
* @package app\adminapi\validate\user
*/
class UserTronValidate extends BaseValidate
{
/**
* 设置校验规则
* @var string[]
*/
protected $rule = [
'id' => 'require',
'address' => 'require',
'key' => 'require',
'qrcode' => 'require',
'sort' => 'require',
'in_addr' => 'require',
'num' => 'require|gt:0|checkMoney',
'rem_money' => 'require',
'min_money' => 'require|gt:0',
];
/**
* 参数描述
* @var string[]
*/
protected $field = [
'id' => 'id',
'address' => '地址',
'key' => '私钥',
'qrcode' => '二维码',
'sort' => '排序',
'in_addr' => '转入地址',
'num.require' => '请输入转账金额',
'num.gt' => '转账金额必须大于零',
'rem_money.require' => '请输入钱包留取金额',
'min_money.require' => '请输入最低归集金额',
'min_money.gt' => '最低归集金额必须大于零',
];
/**
* @notes 添加场景
* @return UserTronValidate
* @author BD
* @date 2024/05/04 23:38
*/
public function sceneAdd()
{
return $this->only(['address','key','qrcode','sort']);
}
/**
* @notes 编辑场景
* @return UserTronValidate
* @author BD
* @date 2024/05/04 23:38
*/
public function sceneEdit()
{
return $this->only(['id','address','key','qrcode','sort']);
}
/**
* @notes 删除场景
* @return UserTronValidate
* @author BD
* @date 2024/05/04 23:38
*/
public function sceneDelete()
{
return $this->only(['id']);
}
/**
* @notes 转账场景
* @return UserTronValidate
* @author BD
* @date 2024/05/04 23:38
*/
public function sceneTran()
{
return $this->only(['num','in_addr']);
}
/**
* @notes 归集场景
* @return UserTronValidate
* @author BD
* @date 2024/05/04 23:38
*/
public function sceneTranAll()
{
return $this->only(['rem_money','min_money','in_addr']);
}
protected function checkMoney($vaule, $rule, $data)
{
$userTran = UserTron::find($data['id']);
if (empty($userTran)) {
return '钱包不存在';
}
$surplusMoeny = $userTran['money_usdt'] - $data['num'];
if ($surplusMoeny < 0) {
return '钱包余额不足';
}
return true;
}
}

View File

@@ -0,0 +1,136 @@
<?php
namespace app\adminapi\validate\user;
use app\common\model\user\User;
use app\common\validate\BaseValidate;
/**
* 用户验证
* Class UserValidate
* @package app\adminapi\validate\user
*/
class UserValidate extends BaseValidate
{
protected $regex = [
'pwd' => '/^(?![0-9]+$)(?![a-z]+$)(?![A-Z]+$)(?!([^(0-9a-zA-Z)]|[\(\)])+$)([^(0-9a-zA-Z)]|[\(\)]|[a-z]|[A-Z]|[0-9]){6,20}$/',
'email' => '/^[a-zA-Z0-9._-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,6}$/'
];
protected $rule = [
'id' => 'require|checkUser',
'field' => 'require|checkField',
'value' => 'require',
'pwd' => 'require|length:6,20|regex:pwd',
'email' => 'require|regex:email',
];
protected $message = [
'id.require' => '请选择用户',
'field.require' => '请选择操作',
'value.require' => '请输入内容',
'pwd.require' => '请输入密码',//请输入密码
'pwd.length' => '密码须在6-20位之间',//密码须在6-20位之间
'pwd.regex' => '密码须为字母数字组合',//密码须为字母数字组合
'email.require' => '请输入邮箱',//请输入邮箱
'email.regex' => '请输入正确的邮箱地址',//请输入正确的邮箱地址
];
/**
* @notes 用户信息校验
* @param $value
* @param $rule
* @param $data
* @return bool|string
* @throws \think\db\exception\DataNotFoundException
* @throws \think\db\exception\DbException
* @throws \think\db\exception\ModelNotFoundException
* @author BD
* @date 2023/9/22 17:03
*/
public function checkUser($value, $rule, $data)
{
$userIds = is_array($value) ? $value : [$value];
foreach ($userIds as $item) {
if (!User::find($item)) {
return '用户不存在!';
}
}
return true;
}
/**
* @notes 校验是否可更新信息
* @param $value
* @param $rule
* @param $data
* @return bool|string
* @author BD
* @date 2023/9/22 16:37
*/
public function checkField($value, $rule, $data)
{
$allowField = ['account', 'sex', 'mobile', 'real_name'];
if (!in_array($value, $allowField)) {
return '用户信息不允许更新';
}
switch ($value) {
case 'account':
//验证手机号码是否存在
$account = User::where([
['id', '<>', $data['id']],
['account', '=', $data['value']]
])->findOrEmpty();
if (!$account->isEmpty()) {
return '账号已被使用';
}
break;
case 'mobile':
if (false == $this->validate($data['value'], 'mobile', $data)) {
return '手机号码格式错误';
}
//验证手机号码是否存在
$mobile = User::where([
['id', '<>', $data['id']],
['mobile', '=', $data['value']]
])->findOrEmpty();
if (!$mobile->isEmpty()) {
return '手机号码已存在';
}
break;
}
return true;
}
/**
* @notes 修改密码场景
* @return UserValidate
* @author BD
* @date 2023/9/22 16:35
*/
public function sceneChangePwd()
{
return $this->only(['pwd']);
}
/**
* @notes 修改邮箱场景
* @return UserValidate
* @author BD
* @date 2023/9/22 16:35
*/
public function sceneChangeEmail()
{
return $this->only(['email']);
}
}