2021-02-17 18:42:35 +08:00
|
|
|
<?php
|
|
|
|
|
|
|
|
|
|
namespace app\agent\controller;
|
|
|
|
|
|
|
|
|
|
use fastphp\base\Jwt;
|
|
|
|
|
use app\agent\model\AgentUser;
|
|
|
|
|
use app\agent\model\User as UserModel;
|
2022-04-30 17:30:22 +08:00
|
|
|
use alipay\AliverifyPublic as Aliverify;
|
2022-05-13 17:23:31 +08:00
|
|
|
use extend\alisms\Sms;
|
|
|
|
|
use extend\redis\Redisop;
|
2021-02-17 18:42:35 +08:00
|
|
|
|
|
|
|
|
class Index
|
|
|
|
|
{
|
|
|
|
|
|
|
|
|
|
//代理登录
|
|
|
|
|
public function login()
|
|
|
|
|
{
|
|
|
|
|
$data = json_decode(file_get_contents("php://input"), true);
|
|
|
|
|
$jwt = new Jwt('etor_yh_lzh_20f_2020_YES');
|
|
|
|
|
$agent_user_model = new AgentUser;
|
|
|
|
|
$userinfo = $agent_user_model->getOne(['username'=>$data['Logincode']]);
|
|
|
|
|
$userinfo['ID'] = $userinfo['id'];
|
|
|
|
|
|
|
|
|
|
$payload = [
|
|
|
|
|
'LoginName' => $userinfo['realname'],
|
|
|
|
|
'RoleName' => '',
|
2022-04-30 17:30:22 +08:00
|
|
|
'phone' => $userinfo['phone'],
|
2021-02-17 18:42:35 +08:00
|
|
|
'OperaterID' => $userinfo['id'],
|
|
|
|
|
'TenantId' => 1157,
|
|
|
|
|
'iat' => time(),
|
2021-02-21 18:18:26 +08:00
|
|
|
'exp' => time() + 180 * 60
|
2021-02-17 18:42:35 +08:00
|
|
|
];
|
|
|
|
|
|
|
|
|
|
$token = $jwt::getToken($payload);
|
|
|
|
|
|
|
|
|
|
$return_data = [
|
|
|
|
|
'Manager'=>$userinfo,
|
|
|
|
|
'Token'=>$token
|
|
|
|
|
];
|
|
|
|
|
|
|
|
|
|
if (!empty($userinfo)){
|
|
|
|
|
if (cToMd5($data['Password']) == $userinfo['password']){
|
|
|
|
|
|
|
|
|
|
$info = [
|
|
|
|
|
'Code'=>10000,
|
|
|
|
|
'Data'=>$return_data
|
|
|
|
|
];
|
|
|
|
|
echo json_encode($info);
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
2022-05-13 17:23:31 +08:00
|
|
|
//----------------
|
|
|
|
|
|
|
|
|
|
public function getCode() {
|
|
|
|
|
$phone = json_decode(file_get_contents("php://input"), true)['phone'];
|
2022-05-13 17:39:41 +08:00
|
|
|
$redis = new Redisop();
|
2022-05-13 17:23:31 +08:00
|
|
|
$user_model = new UserModel();
|
|
|
|
|
$is_exit = $user_model->getOne(['Phone' => $phone]);
|
|
|
|
|
if($is_exit) {
|
|
|
|
|
$return_data = [
|
|
|
|
|
'code' => 0,
|
|
|
|
|
'msg' => '用户已经存在'
|
|
|
|
|
];
|
|
|
|
|
echo json_encode($return_data);die;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
$getCode = $redis->get($phone);
|
|
|
|
|
|
|
|
|
|
if (empty($getCode)) {
|
|
|
|
|
$code = rand(1000,9999);
|
|
|
|
|
$redis->setOfTime($phone,$code);
|
|
|
|
|
$alisms = new Sms;
|
|
|
|
|
$alisms::sendVerify($phone, $code);
|
|
|
|
|
$return_data = [
|
|
|
|
|
'code' => 1,
|
|
|
|
|
'msg' => '验证码已发送'
|
|
|
|
|
];
|
|
|
|
|
echo json_encode($return_data);die;
|
|
|
|
|
} else {
|
|
|
|
|
$return_data = [
|
|
|
|
|
'code' => 0,
|
|
|
|
|
'msg' => '请稍后再试'
|
|
|
|
|
];
|
|
|
|
|
echo json_encode($return_data);die;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
//---------------
|
|
|
|
|
|
2021-02-17 18:42:35 +08:00
|
|
|
//推广用户注册
|
|
|
|
|
public function register()
|
|
|
|
|
{
|
|
|
|
|
$data = json_decode(file_get_contents("php://input"), true);
|
|
|
|
|
// dump($data);die;
|
|
|
|
|
$data['LoginCode'] = trim($data['LoginCode']);
|
|
|
|
|
|
|
|
|
|
if(empty($data['LoginCode'])){
|
|
|
|
|
$info = [
|
|
|
|
|
'Code' => 10003,
|
|
|
|
|
'Data' => '',
|
|
|
|
|
'Message' => '账号为空',
|
|
|
|
|
];
|
|
|
|
|
echo json_encode($info);
|
|
|
|
|
die;
|
|
|
|
|
}
|
2022-05-13 17:39:41 +08:00
|
|
|
$redis = new Redisop();
|
2022-05-13 17:23:31 +08:00
|
|
|
$code = $redis->get($data['LoginCode']);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
if (empty($code)) {
|
|
|
|
|
$return_data = [
|
|
|
|
|
'code' => 0,
|
|
|
|
|
'msg' => '验证码不正确'
|
|
|
|
|
];
|
|
|
|
|
echo json_encode($return_data);die;
|
|
|
|
|
}
|
|
|
|
|
if ($data['code'] != $code) {
|
|
|
|
|
$return_data = [
|
|
|
|
|
'code' => 0,
|
|
|
|
|
'msg' => '验证码不正确'
|
|
|
|
|
];
|
|
|
|
|
echo json_encode($return_data);die;
|
|
|
|
|
}
|
|
|
|
|
//----
|
2021-02-17 18:42:35 +08:00
|
|
|
|
|
|
|
|
$data['agent_id'] = base64_decode($data['agent_id']);
|
|
|
|
|
// dump($data);die;
|
|
|
|
|
|
|
|
|
|
$data['Phone'] = $data['LoginCode'];
|
|
|
|
|
$data['TenantId'] = 0;
|
|
|
|
|
$data['Enabled'] = 1;
|
|
|
|
|
$data['UpdateTime'] = date('Y-m-d H:i:s',time());
|
|
|
|
|
$data['CreateTime'] = date('Y-m-d H:i:s',time());
|
2021-02-21 19:08:34 +08:00
|
|
|
$data['CreateType'] = 4;
|
2021-02-17 18:42:35 +08:00
|
|
|
$data['ProductAccountCount'] = 0;
|
|
|
|
|
$data['ExpiredProductAccountCount'] = 0;
|
|
|
|
|
$data['RestAmount'] = 0;
|
|
|
|
|
$data['ConsumeAmount'] = 0;
|
|
|
|
|
$data['DeleteTag'] = 0;
|
|
|
|
|
$data['UseTestCount'] = 0;
|
|
|
|
|
$data['Sex'] = 0;
|
2022-04-30 17:30:22 +08:00
|
|
|
$data['Wx'] = '';
|
|
|
|
|
$data['QQ'] = '';
|
2021-02-17 18:42:35 +08:00
|
|
|
$data['LastLoginDate'] = date('Y-m-d H:i:s',time());
|
2022-04-30 17:30:22 +08:00
|
|
|
$data['Password'] = empty($data['Password'])?cToMd5('123468455'):cToMd5(trim($data['Password']));
|
2021-02-17 18:42:35 +08:00
|
|
|
|
|
|
|
|
$user_model = new UserModel;
|
2023-08-11 14:27:48 +08:00
|
|
|
$data['ManagerId'] = 0;
|
2022-05-13 18:00:11 +08:00
|
|
|
unset($data['code']);
|
2021-02-17 18:42:35 +08:00
|
|
|
|
|
|
|
|
$has_user = $user_model->isExit("LoginCode='".$data['LoginCode']."' or Phone='".$data['Phone']."' or TaoBao='".$data['Phone']."'");
|
|
|
|
|
if ($has_user){
|
|
|
|
|
$info = [
|
2023-09-08 14:34:27 +08:00
|
|
|
'Code' => 20000,
|
2021-02-17 18:42:35 +08:00
|
|
|
'Data' => '',
|
|
|
|
|
'Message' => '该账号或者手机号被注册了',
|
|
|
|
|
];
|
|
|
|
|
echo json_encode($info);
|
|
|
|
|
die;
|
|
|
|
|
}
|
|
|
|
|
|
2023-09-09 14:33:19 +08:00
|
|
|
$has_user2 = $user_model->isExit("id_code='".$data['id_code']."' and is_verify=1'");
|
2023-09-08 14:34:27 +08:00
|
|
|
if ($has_user2){
|
|
|
|
|
$info = [
|
|
|
|
|
'Code' => 30000,
|
|
|
|
|
'Data' => '',
|
|
|
|
|
'Message' => '该身份已经进行认证,无法再次进行认证!',
|
|
|
|
|
];
|
|
|
|
|
echo json_encode($info);
|
|
|
|
|
die;
|
|
|
|
|
}
|
|
|
|
|
|
2021-02-17 18:42:35 +08:00
|
|
|
if ($user_model->add($data)) {
|
2022-04-30 17:30:22 +08:00
|
|
|
|
2022-04-30 18:06:45 +08:00
|
|
|
echo json_encode($this->aliverify([
|
2022-04-30 17:30:22 +08:00
|
|
|
'id_code' => $data['id_code'],
|
|
|
|
|
'name' => $data['Name'],
|
|
|
|
|
'phone' => $data['LoginCode']
|
2022-04-30 18:06:45 +08:00
|
|
|
]));
|
2022-04-30 17:30:22 +08:00
|
|
|
|
2021-02-17 18:42:35 +08:00
|
|
|
}
|
|
|
|
|
die;
|
|
|
|
|
}
|
2022-04-30 17:30:22 +08:00
|
|
|
|
|
|
|
|
public function aliverify($temp)
|
|
|
|
|
{
|
2022-09-28 18:27:13 +08:00
|
|
|
$info = Aliverify::initVerify2($temp);
|
2022-04-30 17:30:22 +08:00
|
|
|
$user = new UserModel;
|
|
|
|
|
$data = [];
|
|
|
|
|
if($info){
|
|
|
|
|
$update_one['certify_id'] = $info['certifyId'];
|
|
|
|
|
$update_one['Name'] = $temp['name'];
|
|
|
|
|
if(isset($temp['phone'])){
|
|
|
|
|
$update_one['Phone'] = $temp['phone'];
|
|
|
|
|
}
|
|
|
|
|
$update_one['id_code'] = $temp['id_code'];
|
|
|
|
|
$data['certify_id'] = $info['certifyId'];
|
|
|
|
|
$data['url'] = $info['url'];
|
2022-04-30 18:02:29 +08:00
|
|
|
if($user->updateOne(['LoginCode'=>$temp['phone']],$update_one)){
|
2022-04-30 17:30:22 +08:00
|
|
|
$data['Code'] = 10000;
|
|
|
|
|
} else {
|
|
|
|
|
$data = [
|
|
|
|
|
'Code'=>-10000
|
|
|
|
|
];
|
|
|
|
|
}
|
|
|
|
|
} else {
|
|
|
|
|
$data = [
|
|
|
|
|
'Code'=>-10000
|
|
|
|
|
];
|
|
|
|
|
}
|
|
|
|
|
return $data;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
public function aliGetResult()
|
|
|
|
|
{
|
2022-04-30 18:20:29 +08:00
|
|
|
$user_phone = $_GET['user'];
|
2022-04-30 17:30:22 +08:00
|
|
|
$user = new UserModel;
|
2022-04-30 18:20:29 +08:00
|
|
|
$user_one_info = $user->getOne(['LoginCode'=>$user_phone]);
|
2022-09-28 18:27:13 +08:00
|
|
|
$info = Aliverify::getResult2($user_one_info['certify_id']);
|
2022-04-30 17:30:22 +08:00
|
|
|
$data = [];
|
|
|
|
|
if($info){
|
|
|
|
|
$user_data['is_verify'] = 1;
|
2022-05-12 17:06:47 +08:00
|
|
|
if ($user_one_info['is_verify'] == 1) {
|
|
|
|
|
$data = [
|
|
|
|
|
'Code'=>10000
|
|
|
|
|
];
|
|
|
|
|
echo json_encode($data);
|
|
|
|
|
die;
|
|
|
|
|
}
|
2022-04-30 18:20:29 +08:00
|
|
|
if($user->updateOne(['Id'=>$user_one_info['Id']],$user_data)){
|
2022-04-30 17:30:22 +08:00
|
|
|
$data = [
|
|
|
|
|
'Code'=>10000
|
|
|
|
|
];
|
|
|
|
|
}
|
|
|
|
|
} else {
|
|
|
|
|
$data = [
|
|
|
|
|
'Code'=>-10000
|
|
|
|
|
];
|
|
|
|
|
}
|
|
|
|
|
echo json_encode($data);
|
|
|
|
|
}
|
2022-06-06 15:36:28 +08:00
|
|
|
|
|
|
|
|
|
|
|
|
|
public function aliGetResult2()
|
|
|
|
|
{
|
|
|
|
|
$user_phone = $_GET['user'];
|
|
|
|
|
$user = new UserModel;
|
|
|
|
|
$user_one_info = $user->getOne(['LoginCode'=>$user_phone]);
|
2022-09-28 18:27:13 +08:00
|
|
|
$info = Aliverify::getResult2($user_one_info['certify_id']);
|
2022-06-13 17:08:06 +08:00
|
|
|
dump($info);
|
2022-06-06 15:36:28 +08:00
|
|
|
$data = [];
|
|
|
|
|
if($info){
|
|
|
|
|
$user_data['is_verify'] = 1;
|
|
|
|
|
if ($user_one_info['is_verify'] == 1) {
|
|
|
|
|
$data = [
|
|
|
|
|
'Code'=>10000
|
|
|
|
|
];
|
|
|
|
|
echo json_encode($data);
|
|
|
|
|
die;
|
|
|
|
|
}
|
|
|
|
|
if($user->updateOne(['Id'=>$user_one_info['Id']],$user_data)){
|
|
|
|
|
$data = [
|
|
|
|
|
'Code'=>10000
|
|
|
|
|
];
|
|
|
|
|
}
|
|
|
|
|
} else {
|
|
|
|
|
$data = [
|
|
|
|
|
'Code'=>-10000
|
|
|
|
|
];
|
|
|
|
|
}
|
|
|
|
|
echo json_encode($data);
|
|
|
|
|
}
|
|
|
|
|
|
2022-04-30 17:30:22 +08:00
|
|
|
|
2022-04-30 18:45:40 +08:00
|
|
|
|
|
|
|
|
public function isverify() {
|
|
|
|
|
$user_phone = $_GET['phone'];
|
|
|
|
|
|
|
|
|
|
$user_model = new UserModel;
|
|
|
|
|
|
|
|
|
|
$userinfo = $user_model->getOne(['LoginCode' => $user_phone],'is_verify');
|
|
|
|
|
|
|
|
|
|
echo json_encode($userinfo);
|
|
|
|
|
}
|
|
|
|
|
|
2021-02-17 18:42:35 +08:00
|
|
|
}
|