first commit
This commit is contained in:
203
app/api/validate/UserValidate.php
Normal file
203
app/api/validate/UserValidate.php
Normal file
@@ -0,0 +1,203 @@
|
||||
<?php
|
||||
|
||||
namespace app\api\validate;
|
||||
|
||||
|
||||
use app\common\validate\BaseValidate;
|
||||
use app\common\model\user\{User,UserInfo,UserSigninRecord};
|
||||
|
||||
/**
|
||||
* 用户验证器
|
||||
* Class UserValidate
|
||||
* @package app\shopapi\validate
|
||||
*/
|
||||
class UserValidate extends BaseValidate
|
||||
{
|
||||
|
||||
protected $rule = [
|
||||
'code' => 'require',
|
||||
'card_name' => 'require|length:2,20',
|
||||
'card_num' => 'require|length:6,32|checkCardNum',
|
||||
'signin' => 'checkSignin',
|
||||
'start' => 'checkMineStart',
|
||||
'receive' => 'checkMineReceive',
|
||||
];
|
||||
|
||||
protected $message = [
|
||||
'code.require' => 'network.parameterAbnormality',//参数缺失
|
||||
'card_name.require' => 'network.parameterAbnormality',//参数缺失
|
||||
'card_name.length' => 'auth.realNameError',//请输入正确的姓名
|
||||
'card_num.require' => 'network.parameterAbnormality',//参数缺失
|
||||
'card_num.length' => 'auth.realNumError',//请输入正确的证件号
|
||||
];
|
||||
|
||||
/**
|
||||
* @notes 绑定/变更 手机号
|
||||
* @return UserValidate
|
||||
* @author BD
|
||||
* @date 2023/9/21 19:15
|
||||
*/
|
||||
public function sceneBindMobile()
|
||||
{
|
||||
return $this->only(['mobile', 'code']);
|
||||
}
|
||||
|
||||
/**
|
||||
* @notes Google Authenticator校验
|
||||
* @return UserValidate
|
||||
* @author BD
|
||||
* @date 2023/9/21 19:15
|
||||
*/
|
||||
public function sceneVerifyGoogle()
|
||||
{
|
||||
return $this->only(['code']);
|
||||
}
|
||||
|
||||
/**
|
||||
* @notes 邮箱校验
|
||||
* @return UserValidate
|
||||
* @author BD
|
||||
* @date 2023/9/21 19:15
|
||||
*/
|
||||
public function sceneVerifyEmail()
|
||||
{
|
||||
return $this->only(['code']);
|
||||
}
|
||||
|
||||
/**
|
||||
* @notes 实名认证
|
||||
* @return UserValidate
|
||||
* @author BD
|
||||
* @date 2023/9/21 19:15
|
||||
*/
|
||||
public function sceneVerifyRealname()
|
||||
{
|
||||
return $this->only(['card_name','card_num']);
|
||||
}
|
||||
|
||||
/**
|
||||
* @notes 签到
|
||||
* @return UserValidate
|
||||
* @author BD
|
||||
* @date 2024/9/21 19:15
|
||||
*/
|
||||
public function sceneSignin()
|
||||
{
|
||||
return $this->only(['signin']);
|
||||
}
|
||||
|
||||
/**
|
||||
* @notes 矿机 启动
|
||||
* @return UserValidate
|
||||
* @author BD
|
||||
* @date 2024/9/21 19:15
|
||||
*/
|
||||
public function sceneMineStart()
|
||||
{
|
||||
return $this->only(['start']);
|
||||
}
|
||||
|
||||
/**
|
||||
* @notes 矿机 收益
|
||||
* @return UserValidate
|
||||
* @author BD
|
||||
* @date 2024/9/21 19:15
|
||||
*/
|
||||
public function sceneMineReceive()
|
||||
{
|
||||
return $this->only(['receive']);
|
||||
}
|
||||
|
||||
/**
|
||||
* @notes 校验卡号
|
||||
* @param $num
|
||||
* @param $rule
|
||||
* @param $data
|
||||
* @return bool|string
|
||||
* @author BD
|
||||
* @date 2023/9/21 19:15
|
||||
*/
|
||||
protected function checkCardNum($num, $rule, $data)
|
||||
{
|
||||
$userInfo = UserInfo::where(['user_id' => $data['user_id']])->findOrEmpty();
|
||||
|
||||
if($userInfo->isEmpty()) {
|
||||
return 'network.parameterAbnormality';
|
||||
}
|
||||
if($userInfo['auth_card'] != 0 && $userInfo['auth_card'] != 3) {
|
||||
return 'network.parameterAbnormality';
|
||||
}
|
||||
|
||||
//查询证件照
|
||||
if (!isset($data['card_img1'])||!isset($data['card_img2'])||!isset($data['card_img3'])) {
|
||||
return 'network.parameterAbnormality';
|
||||
}
|
||||
|
||||
//判断是否绑定过
|
||||
$info_t = UserInfo::where(['card_num' => $data['card_num']])->findOrEmpty();
|
||||
if(!$info_t->isEmpty()) {
|
||||
return 'auth.realNumExited';//该证件已使用过
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
/**
|
||||
* @notes 校验签到
|
||||
* @param $signin
|
||||
* @param $rule
|
||||
* @param $data
|
||||
* @return bool|string
|
||||
* @author BD
|
||||
* @date 2024/9/21 19:15
|
||||
*/
|
||||
protected function checkSignin($signin, $rule, $data)
|
||||
{
|
||||
//判断是否签到
|
||||
$todayStart = strtotime("today midnight");
|
||||
$sign_count = UserSigninRecord::where(['user_id' => $data['user_id']])->where("create_time > $todayStart")->count();
|
||||
if($sign_count > 0) {
|
||||
return 'network.parameterAbnormality';
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
/**
|
||||
* @notes 校验矿机 启动
|
||||
* @param $start
|
||||
* @param $rule
|
||||
* @param $data
|
||||
* @return bool|string
|
||||
* @author BD
|
||||
* @date 2024/9/21 19:15
|
||||
*/
|
||||
protected function checkMineStart($start, $rule, $data)
|
||||
{
|
||||
$user = User::where(['id' => $data['user_id']])->findOrEmpty();
|
||||
if($user['mine_status'] != 0) {
|
||||
return 'network.parameterAbnormality';
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
/**
|
||||
* @notes 校验矿机 收益
|
||||
* @param $receive
|
||||
* @param $rule
|
||||
* @param $data
|
||||
* @return bool|string
|
||||
* @author BD
|
||||
* @date 2024/9/21 19:15
|
||||
*/
|
||||
protected function checkMineReceive($receive, $rule, $data)
|
||||
{
|
||||
$user = User::where(['id' => $data['user_id']])->findOrEmpty();
|
||||
if($user['mine_status'] != 2) {
|
||||
return 'network.parameterAbnormality';
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user