Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
T
tl_estate
Project
Project
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
hujun
tl_estate
Commits
70aecae6
Commit
70aecae6
authored
Jun 14, 2018
by
clone
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
微信登录
parent
11904b34
Hide whitespace changes
Inline
Side-by-side
Showing
4 changed files
with
100 additions
and
17 deletions
+100
-17
Register.php
application/api/controller/Register.php
+7
-5
RegisterService.php
application/api/service/RegisterService.php
+85
-9
RegisterValidate.php
application/api/validate/RegisterValidate.php
+5
-1
UWxInfo.php
application/model/UWxInfo.php
+3
-2
No files found.
application/api/controller/Register.php
View file @
70aecae6
...
...
@@ -62,7 +62,7 @@ class Register extends Basic
"device_id"
=>
"1111"
,
"code"
=>
1231
,
"wx_union_id"
=>
"1111111111"
,
//false
"referrer_id"
=>
1
,
//邀请人id 经纪人or客户
"referrer_id"
=>
1
,
//邀请人id 经纪人or客户
也用于判断是否是分享出去的请求
"referrer_source"
=>
20
,
//false
);
$checkResult
=
$this
->
validate
(
$params
,
"RegisterValidate.register"
);
...
...
@@ -74,11 +74,12 @@ class Register extends Basic
return
$this
->
response
(
"101"
,
"验证码错误"
);
}
$phone
=
$params
[
"phone"
];
$wx_union_id
=
$params
[
"wx_union_id"
];
$referrer_id
=
$params
[
"referrer_id"
];
$referrer_source
=
$params
[
"referrer_source"
];
$wx_union_id
=
!
empty
(
$params
[
"wx_union_id"
])
?
$params
[
"wx_union_id"
]
:
null
;
$referrer_id
=
!
empty
(
$params
[
"referrer_id"
])
?
$params
[
"referrer_id"
]
:
0
;
$referrer_source
=
!
empty
(
$params
[
"referrer_source"
])
?
$params
[
"referrer_source"
]
:
0
;
$last_login_ip
=
ip2long
(
$this
->
request
->
ip
());
$this
->
service_
->
userRegister
(
$phone
,
$referrer_id
,
$referrer_source
,
$wx_union_id
);
$this
->
service_
->
userRegister
(
$phone
,
$referrer_id
,
$referrer_source
,
$wx_union_id
,
$last_login_ip
);
}
}
\ No newline at end of file
application/api/service/RegisterService.php
View file @
70aecae6
...
...
@@ -3,6 +3,7 @@
namespace
app\api\service
;
use
app\model\Users
;
use
app\model\UWxInfo
;
/**
* Created by PhpStorm.
...
...
@@ -15,34 +16,108 @@ class RegisterService
{
private
$userModel
;
private
$wxInfoModel
;
public
function
__construct
()
{
$this
->
userModel
=
new
Users
();
$this
->
userModel
=
new
Users
();
$this
->
wxInfoModel
=
new
UWxInfo
();
}
public
function
userRegister
(
$phone
,
$referrer_id
,
$referrer_source
,
$wx_union_id
)
public
function
userRegister
(
$phone
,
$referrer_id
,
$referrer_source
,
$wx_union_id
,
$last_login_ip
)
{
//todo 1.判断是否有此用户,包涵未激活或者冻结, 2.无此用户则注册,返回AuthToken ,3有则登录返回AuthToken
//判断用户是否注册
$conditions
[
"user_phone"
]
=
$phone
;
$fields
=
"id,user_nick,user_pic,sex,agent_id,referrer_id,referrer_source,user_phone,status"
;
$user_info
=
$this
->
userModel
->
getUserByWhere
(
$conditions
,
$fields
);
$user_nick
=
""
;
$sex
=
0
;
$id
=
0
;
$status
=
0
;
$agent_id
=
0
;
$fields
=
"id,agent_id,referrer_id,referrer_source,user_phone,status"
;
$user_info
=
$this
->
userModel
->
getUserByWhere
(
$conditions
,
$fields
);
if
(
count
(
$user_info
)
>
0
)
{
switch
(
$user_info
[
0
][
"status"
])
{
switch
(
(
int
)
$user_info
[
0
][
"status"
])
{
case
-
1
://
激活
$status
=
0
;
break
;
case
0
:
//修改 绑定的微信
case
0
:
//正常
if
(
$referrer_id
>
0
)
return
'该账号已注册激活'
;
break
;
case
1
:
return
'该账号已被冻结'
;
case
2
://
删除的账号该状态
$status
=
0
;
default
:
break
;
return
'改帐号异常'
;
}
$user_nick
=
$user_info
[
0
][
"user_nick"
];
$sex
=
$user_info
[
0
][
"sex"
];
$agent_id
=
$user_info
[
0
][
"agent_id"
];
}
else
{
//注册+绑定
$status
=
0
;
}
// 验证union_id是否已经存在,
if
(
$wx_union_id
)
{
$field
=
"id,wx_union_id,buyer_nick,buyer_img,sex"
;
$wxInfoArr
=
$this
->
wxInfoModel
->
getWxInfoByOpenId
(
$wx_union_id
,
$field
);
if
(
count
(
$wxInfoArr
)
>
0
)
{
$user_nick
=
!
empty
(
$user_nick
)
?
$user_nick
:
$wxInfoArr
[
0
][
"buyer_nick"
];
$sex
=
!
empty
(
$sex
)
?
$sex
:
$wxInfoArr
[
0
][
"sex"
];
}
else
{
return
'没有找到授权信息'
;
}
}
//判断邀请关系 if邀请人是用户的话则此客户的盘方修改为邀请人的盘方
if
(
$referrer_source
==
10
)
{
//会员邀请
//查找邀请人的信息
$field_referrer
=
'id,agent_id,referrer_id,referrer_source'
;
$referrerArr
=
$this
->
userModel
->
getUserByWhere
([
"id"
=>
$referrer_id
],
$field_referrer
);
if
(
count
(
$referrerArr
)
<=
0
)
{
return
'邀请人不存在'
;
}
//邀请人是经纪人直接邀请的,之前关系只存在一级,所以客方也是此经纪人
if
(
$referrerArr
[
0
][
'referrer_source'
]
==
20
)
{
$agent_id
=
$referrerArr
[
0
][
'agent_id'
];
}
else
{
//邀请人是用户邀请的,判断此用户的邀请人和客房是否存在
$upParams
[
"referrer_id"
]
=
$referrer_id
;
$upParams
[
"agent_id"
]
=
$referrerArr
[
0
][
'agent_id'
];
$upReferrerArr
=
$this
->
userModel
->
getUserByWhere
(
$upParams
,
"id"
);
if
(
count
(
$upReferrerArr
)
<=
0
)
{
$agent_id
=
$referrerArr
[
0
][
'agent_id'
];
}
}
}
//绑定微信
}
private
function
inviteRelationship
(
$referrer_id
,
$referrer_source
)
{
}
public
function
userBin
(
$last_login_ip
,
$is_share
)
{
$userParams
[
"update_time"
]
=
date
(
"Y-m-d H:i:s"
,
time
());
$userParams
[
"update_time"
]
=
date
(
"Y-m-d H:i:s"
,
time
());
$userParams
[
"registration_time"
]
=
date
(
"Y-m-d H:i:s"
,
time
());
//分享出去激活的不记录登录时间和ip
if
(
$is_share
==
0
)
{
$userParams
[
"last_login_ip"
]
=
$last_login_ip
;
$userParams
[
"last_login_time"
]
=
date
(
"Y-m-d H:i:s"
,
time
());
}
}
}
\ No newline at end of file
application/api/validate/RegisterValidate.php
View file @
70aecae6
...
...
@@ -15,6 +15,7 @@ class RegisterValidate extends Validate
{
protected
$rule
=
[
'wx_union_id'
=>
'require|length:10,50'
,
'is_share'
=>
'require|number'
,
'code'
=>
'require|number'
,
'device_id'
=>
'require'
,
'phone'
=>
[
'regex'
=>
'/^((13[0-9])|(14[0-9])|(15[0-9])|(18[0-9])|(16[0-9])|(17[0-9])|(19[0-9]))\\d{8}$/i'
],
...
...
@@ -27,10 +28,12 @@ class RegisterValidate extends Validate
'device_id.require'
=>
'设备id不能为空'
,
'code.require'
=>
'code为必填字段'
,
'code.number'
=>
'code只能为数字'
,
'is_share.require'
=>
'is_share为必填字段'
,
'is_share.number'
=>
'is_share只能为数字'
,
];
protected
$scene
=
[
'verify'
=>
[
'phone,device_id'
],
'register'
=>
[
'phone,device_id,code,wx_union_id'
],
'register'
=>
[
'phone,device_id,code,wx_union_id
,is_share
'
],
];
}
\ No newline at end of file
application/model/UWxInfo.php
View file @
70aecae6
...
...
@@ -64,14 +64,15 @@ class UWxInfo extends Model
/**
* 根据微信open_id获取id
* @param string $open_id
* @param string $field
* @return false|\PDOStatement|string|\think\Collection
*/
public
function
getWxInfoByOpenId
(
string
$open_id
)
public
function
getWxInfoByOpenId
(
string
$open_id
,
string
$field
=
"id"
)
{
$where_
[
"wx_union_id"
]
=
$open_id
;
$where_
[
"is_del"
]
=
0
;
return
$this
->
field
(
"id"
)
->
field
(
$field
)
->
where
(
$where_
)
->
select
();
}
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment