Skip to content
Toggle navigation
P
Projects
G
Groups
S
Snippets
Help
黄嘉阳
/
iot-platform-server
This project
Loading...
Sign in
Toggle navigation
Go to a project
Project
Repository
Issues
0
Merge Requests
0
Pipelines
Wiki
Snippets
Settings
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Commit
d63d6d64
authored
Jan 30, 2024
by
汪志阳
Browse files
Options
_('Browse Files')
Download
Plain Diff
Merge branch 'dev' into fix_sleep
parents
3ee918b4
1488e0d5
Show whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
66 additions
and
7 deletions
server-common/src/main/java/com/makeit/utils/third/wechat/WechatBindDTO.java
server-common/src/main/java/com/makeit/utils/third/wechat/WechatCodeDTO.java
server-service/src/main/java/com/makeit/service/wechat/impl/PlatElderChildrenInfoUserLoginWechatServiceImpl.java
server-common/src/main/java/com/makeit/utils/third/wechat/WechatBindDTO.java
View file @
d63d6d64
...
...
@@ -16,4 +16,12 @@ public class WechatBindDTO {
@ApiModelProperty
(
value
=
"微信公众号openid"
)
private
String
weChatOpenid
;
private
String
appid
;
private
String
secret
;
private
String
code
;
private
String
grantType
;
}
server-common/src/main/java/com/makeit/utils/third/wechat/WechatCodeDTO.java
0 → 100644
View file @
d63d6d64
package
com
.
makeit
.
utils
.
third
.
wechat
;
import
lombok.Data
;
/**
* @author wangzy
* @description
* @createDate 2024-01-30-16:57
*/
@Data
public
class
WechatCodeDTO
{
// {"access_token":"77_hfkGpaiIT8xPltYrmRmrHj_svTcoLKIvR-w_lkR_wWqGHyF1NnZiIvIg0LxnI2rO55U2NqSGpXStYFmwxPE2mO0gNyfUrGvHUMcckrNNM9I",
// "expires_in":7200,
// "refresh_token":"77_MFeHId8uo1EgV6NFlhDiaQMrK6FXGmKcDMfa-BqGOaWr20u-6aM4lkBx1fnsSMrgL5m_Q3Csdw8D4Z3_qmpDj0kZKMXLmTzxosLz2BEqJHs",
// "openid":"o1es866cj4fp2Np9S5rmnbIdSg4U",
// "scope":"snsapi_base"}
private
String
accessToken
;
private
String
openid
;
private
String
scope
;
}
server-service/src/main/java/com/makeit/service/wechat/impl/PlatElderChildrenInfoUserLoginWechatServiceImpl.java
View file @
d63d6d64
package
com
.
makeit
.
service
.
wechat
.
impl
;
import
cn.hutool.core.util.StrUtil
;
import
cn.hutool.http.HttpUtil
;
import
cn.hutool.json.JSONUtil
;
import
com.baomidou.mybatisplus.core.conditions.query.QueryWrapper
;
import
com.baomidou.mybatisplus.core.toolkit.Wrappers
;
import
com.makeit.entity.platform.elder.PlatElderChildrenInfo
;
...
...
@@ -14,10 +16,7 @@ import com.makeit.utils.data.id.IdGen;
import
com.makeit.utils.msg.config.WxConfig
;
import
com.makeit.utils.old.StringUtils
;
import
com.makeit.utils.sys.FileUtil
;
import
com.makeit.utils.third.wechat.WechatBindDTO
;
import
com.makeit.utils.third.wechat.WechatLoginPhoneDTO
;
import
com.makeit.utils.third.wechat.WechatUtil
;
import
com.makeit.utils.third.wechat.WxUserInfo
;
import
com.makeit.utils.third.wechat.*
;
import
com.makeit.utils.user.TokenUtil
;
import
com.makeit.utils.user.wechat.WechatUserInfo
;
import
org.apache.commons.collections4.CollectionUtils
;
...
...
@@ -28,7 +27,9 @@ import org.springframework.stereotype.Service;
import
org.springframework.transaction.annotation.Transactional
;
import
java.util.Arrays
;
import
java.util.HashMap
;
import
java.util.List
;
import
java.util.Map
;
@Service
public
class
PlatElderChildrenInfoUserLoginWechatServiceImpl
implements
PlatElderChildrenInfoUserLoginWechatService
{
...
...
@@ -125,17 +126,43 @@ public class PlatElderChildrenInfoUserLoginWechatServiceImpl implements PlatElde
@Override
public
void
bind
(
WechatBindDTO
dto
)
{
PlatElderChildrenInfo
childrenInfo
=
platElderChildrenInfoService
.
getById
(
dto
.
getId
());
WechatCodeDTO
codeDTO
=
getAppid
(
dto
);
if
(
StrUtil
.
isBlank
(
dto
.
getId
())
||
codeDTO
==
null
||
StrUtil
.
isBlank
(
codeDTO
.
getOpenid
()))
{
return
;
}
bindToChildrenInfo
(
dto
.
getId
(),
codeDTO
.
getOpenid
());
}
private
WechatCodeDTO
getAppid
(
WechatBindDTO
dto
)
{
String
url
=
"https://api.weixin.qq.com/sns/oauth2/access_token"
;
Map
<
String
,
Object
>
params
=
new
HashMap
<>(
12
);
params
.
put
(
"appid"
,
dto
.
getAppid
());
params
.
put
(
"secret"
,
dto
.
getSecret
());
params
.
put
(
"code"
,
dto
.
getCode
());
params
.
put
(
"grant_type"
,
dto
.
getGrantType
());
String
post
=
""
;
try
{
post
=
HttpUtil
.
post
(
url
,
params
);
logger
.
error
(
"获取微信公众号appid失败:response:{}"
,
post
);
}
catch
(
Exception
e
)
{
logger
.
error
(
"获取微信公众号appid失败:response:{}"
,
post
);
}
return
JSONUtil
.
toBean
(
post
,
WechatCodeDTO
.
class
);
}
private
void
bindToChildrenInfo
(
String
id
,
String
weChatOpenid
)
{
PlatElderChildrenInfo
childrenInfo
=
platElderChildrenInfoService
.
getById
(
id
);
if
(
childrenInfo
==
null
)
{
return
;
}
if
(
StrUtil
.
isNotBlank
(
childrenInfo
.
getOpenid
()))
{
List
<
PlatElderChildrenInfo
>
infoList
=
platElderChildrenInfoService
.
list
(
Wrappers
.<
PlatElderChildrenInfo
>
lambdaQuery
()
.
in
(
PlatElderChildrenInfo:
:
getOpenid
,
childrenInfo
.
getOpenid
()));
infoList
.
forEach
(
i
->
i
.
setWeChatOpenid
(
dto
.
getWeChatOpenid
()
));
infoList
.
forEach
(
i
->
i
.
setWeChatOpenid
(
weChatOpenid
));
platElderChildrenInfoService
.
updateBatchById
(
infoList
);
}
else
{
childrenInfo
.
setWeChatOpenid
(
dto
.
getWeChatOpenid
()
);
childrenInfo
.
setWeChatOpenid
(
weChatOpenid
);
platElderChildrenInfoService
.
updateById
(
childrenInfo
);
}
}
...
...
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