记得上下班打卡 | git大法好,push需谨慎
Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
L
liquidnet-bus-v1
Project
Project
Details
Activity
Releases
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
董敬伟
liquidnet-bus-v1
Commits
0f72e88e
Commit
0f72e88e
authored
Aug 26, 2025
by
姜秀龙
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
LostFound 小程序获取手机号方式更改
parent
572b55cf
Changes
4
Hide whitespace changes
Inline
Side-by-side
Showing
4 changed files
with
42 additions
and
20 deletions
+42
-20
SweetWechatLoginController.java
.../service/sweet/controller/SweetWechatLoginController.java
+13
-8
SweetWechatLoginServiceImpl.java
...rvice/sweet/service/impl/SweetWechatLoginServiceImpl.java
+18
-11
SweetWechatService.java
...uidnet/service/sweet/service/impl/SweetWechatService.java
+10
-0
pom.xml
liquidnet-bus-service/pom.xml
+1
-1
No files found.
liquidnet-bus-service/liquidnet-service-sweet/src/main/java/com/liquidnet/service/sweet/controller/SweetWechatLoginController.java
View file @
0f72e88e
...
...
@@ -11,7 +11,10 @@ import io.swagger.annotations.ApiImplicitParams;
import
io.swagger.annotations.ApiOperation
;
import
lombok.extern.slf4j.Slf4j
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.web.bind.annotation.*
;
import
org.springframework.web.bind.annotation.GetMapping
;
import
org.springframework.web.bind.annotation.RequestMapping
;
import
org.springframework.web.bind.annotation.RequestParam
;
import
org.springframework.web.bind.annotation.RestController
;
@Api
(
tags
=
"小程序-公众号登陆相关"
)
@RestController
...
...
@@ -25,18 +28,20 @@ public class SweetWechatLoginController {
@GetMapping
(
"userInfo"
)
@ApiOperation
(
"小程序解密手机号"
)
@ApiImplicitParams
({
@ApiImplicitParam
(
type
=
"query"
,
dataType
=
"String"
,
name
=
"code"
,
value
=
"微信code"
,
required
=
true
),
@ApiImplicitParam
(
type
=
"query"
,
dataType
=
"String"
,
name
=
"encryptedData"
,
value
=
"encryptedData"
,
required
=
true
),
@ApiImplicitParam
(
type
=
"query"
,
dataType
=
"String"
,
name
=
"iv"
,
value
=
"iv"
,
required
=
true
),
@ApiImplicitParam
(
type
=
"query"
,
dataType
=
"Integer"
,
name
=
"type"
,
value
=
"1草莓 2五百里 3mdsk 4正在 5跳飞船音乐节 6小家伙"
),
@ApiImplicitParam
(
type
=
"query"
,
dataType
=
"String"
,
name
=
"userCode"
,
value
=
" 获取 uid oid的 code"
),
@ApiImplicitParam
(
type
=
"query"
,
dataType
=
"String"
,
name
=
"code"
,
value
=
"获取手机号的 code"
,
required
=
true
),
@ApiImplicitParam
(
type
=
"query"
,
dataType
=
"String"
,
name
=
"encryptedData"
,
value
=
"encryptedData"
),
@ApiImplicitParam
(
type
=
"query"
,
dataType
=
"String"
,
name
=
"iv"
,
value
=
"iv"
),
@ApiImplicitParam
(
type
=
"query"
,
dataType
=
"Integer"
,
name
=
"type"
,
value
=
"1草莓 2五百里 3mdsk 4正在 5跳飞船音乐节 6小家伙"
,
required
=
true
),
})
public
ResponseDto
userInfo
(
@RequestParam
(
required
=
false
)
String
userCode
,
@RequestParam
()
String
code
,
@RequestParam
()
String
encryptedData
,
@RequestParam
()
String
iv
,
@RequestParam
(
required
=
false
)
String
encryptedData
,
@RequestParam
(
required
=
false
)
String
iv
,
@RequestParam
(
defaultValue
=
"1"
)
Integer
type
)
{
return
sweetLoginService
.
userInfo
(
code
,
encryptedData
,
iv
,
type
);
return
sweetLoginService
.
userInfo
(
userCode
,
code
,
encryptedData
,
iv
,
type
);
}
@ApiOperation
(
value
=
"小程序获取openid"
,
notes
=
"这里仅用于获取OPENID使用"
)
...
...
liquidnet-bus-service/liquidnet-service-sweet/src/main/java/com/liquidnet/service/sweet/service/impl/SweetWechatLoginServiceImpl.java
View file @
0f72e88e
...
...
@@ -12,13 +12,11 @@ import com.liquidnet.service.base.ResponseDto;
import
com.liquidnet.service.base.SqlMapping
;
import
com.liquidnet.service.base.constant.MQConst
;
import
com.liquidnet.service.feign.adam.api.FeignAdamBaseClient
;
import
com.liquidnet.service.feign.stone.api.FeignStoneIntegralClient
;
import
com.liquidnet.service.sweet.dto.vo.WechatTokenInfoVo
;
import
com.liquidnet.service.sweet.dto.vo.WechatUserInfoVo
;
import
com.liquidnet.service.sweet.utils.QueueUtils
;
import
com.liquidnet.service.sweet.utils.WechatUsersRedisUtils
;
import
com.liquidnet.service.sweet.vo.SweetAppletUsersVo
;
import
com.liquidnet.service.sweet.vo.SweetWechatUsersVo
;
import
lombok.extern.slf4j.Slf4j
;
import
me.chanjar.weixin.common.bean.WxOAuth2UserInfo
;
import
me.chanjar.weixin.common.bean.oauth2.WxOAuth2AccessToken
;
...
...
@@ -58,20 +56,29 @@ public class SweetWechatLoginServiceImpl {
@Lazy
private
FeignAdamBaseClient
feignAdamBaseClient
;
public
ResponseDto
userInfo
(
String
code
,
String
encryptedData
,
String
iv
,
Integer
type
)
{
public
ResponseDto
userInfo
(
String
userCode
,
String
code
,
String
encryptedData
,
String
iv
,
Integer
type
)
{
log
.
info
(
"小程序解密用户信息参数:[code=[{}], encryptedData=[{}], [iv=[{}], type=[{}]"
,
code
,
encryptedData
,
iv
,
type
);
try
{
// 获取unid openid
WxMaJscode2SessionResult
sessionInfo
=
sweetWechatService
.
sessionInfo
(
code
,
type
);
if
(
null
==
sessionInfo
)
{
WxMaJscode2SessionResult
sessionInfo
=
null
;
WxMaPhoneNumberInfo
wxMaPhoneNumberInfo
=
null
;
String
unionId
=
null
;
String
openId
=
null
;
if
(
type
==
1
&&
Objects
.
isNull
(
encryptedData
))
{
// 获取unid openid
sessionInfo
=
sweetWechatService
.
sessionInfo
(
userCode
,
type
);
// 解密手机号码信息
wxMaPhoneNumberInfo
=
sweetWechatService
.
getPhoneNumber
(
code
,
type
);
}
else
{
sessionInfo
=
sweetWechatService
.
sessionInfo
(
code
,
type
);
wxMaPhoneNumberInfo
=
sweetWechatService
.
phoneNumberInfo
(
sessionInfo
.
getSessionKey
(),
encryptedData
,
iv
,
type
);
}
if
(
Objects
.
isNull
(
sessionInfo
))
{
return
ResponseDto
.
failure
(
"login handler error"
);
}
String
unionId
=
sessionInfo
.
getUnionid
();
String
openId
=
sessionInfo
.
getOpenid
();
// 解密手机号码信息
WxMaPhoneNumberInfo
wxMaPhoneNumberInfo
=
sweetWechatService
.
phoneNumberInfo
(
sessionInfo
.
getSessionKey
(),
encryptedData
,
iv
,
type
);
unionId
=
sessionInfo
.
getUnionid
();
openId
=
sessionInfo
.
getOpenid
();
if
(
Objects
.
isNull
(
wxMaPhoneNumberInfo
)
||
StringUtils
.
isBlank
(
wxMaPhoneNumberInfo
.
getPhoneNumber
()))
{
return
ResponseDto
.
failure
(
"
解密
手机信息失败"
);
return
ResponseDto
.
failure
(
"
获取
手机信息失败"
);
}
String
phoneNumber
=
wxMaPhoneNumberInfo
.
getPhoneNumber
();
String
purePhoneNumber
=
wxMaPhoneNumberInfo
.
getPurePhoneNumber
();
...
...
liquidnet-bus-service/liquidnet-service-sweet/src/main/java/com/liquidnet/service/sweet/service/impl/SweetWechatService.java
View file @
0f72e88e
...
...
@@ -43,6 +43,16 @@ public class SweetWechatService {
return
wxMaService
.
getUserService
().
getPhoneNoInfo
(
sessionKey
,
encryptedData
,
iv
);
}
public
WxMaPhoneNumberInfo
getPhoneNumber
(
String
code
,
Integer
anum
)
{
WxMaService
wxMaService
=
wechatMaConfigure
.
getWxMaService
(
anum
);
try
{
return
wxMaService
.
getUserService
().
getPhoneNumber
(
code
);
}
catch
(
Exception
e
)
{
log
.
error
(
"getPhoneNumber error"
,
e
);
return
null
;
}
}
/**
* 服务号--------------
*/
...
...
liquidnet-bus-service/pom.xml
View file @
0f72e88e
...
...
@@ -280,7 +280,7 @@
<dependency>
<groupId>
com.github.binarywang
</groupId>
<artifactId>
weixin-java-miniapp
</artifactId>
<version>
4.
1
.0
</version>
<version>
4.
7
.0
</version>
</dependency>
<dependency>
<groupId>
com.github.binarywang
</groupId>
...
...
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