Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
G
gic-platform-auth
Overview
Overview
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
base_platform_enterprise
gic-platform-auth
Commits
965b435a
Commit
965b435a
authored
Jan 26, 2021
by
guojuxing
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
查询微信用户信息
parent
a71247cb
Hide whitespace changes
Inline
Side-by-side
Showing
8 changed files
with
298 additions
and
2 deletions
+298
-2
ResourceGroupCustomUserDTO.java
...ain/java/com/gic/auth/dto/ResourceGroupCustomUserDTO.java
+1
-1
WechatUserDTO.java
.../src/main/java/com/gic/auth/dto/wechat/WechatUserDTO.java
+202
-0
UserApiService.java
...pi/src/main/java/com/gic/auth/service/UserApiService.java
+8
-0
UserApiServiceImpl.java
...a/com/gic/auth/service/outer/impl/UserApiServiceImpl.java
+10
-0
QrcodeUtils.java
.../src/main/java/com/gic/auth/utils/qrcode/QrcodeUtils.java
+25
-0
dubbo-gic-platform-auth-service.xml
...ce/src/main/resources/dubbo-gic-platform-auth-service.xml
+1
-0
UserController.java
...main/java/com/gic/auth/web/controller/UserController.java
+21
-1
LoginUserVO.java
...th-web/src/main/java/com/gic/auth/web/vo/LoginUserVO.java
+30
-0
No files found.
gic-platform-auth-api/src/main/java/com/gic/auth/dto/ResourceGroupCustomUserDTO.java
View file @
965b435a
...
...
@@ -12,7 +12,7 @@ public class ResourceGroupCustomUserDTO implements Serializable{
private
static
final
long
serialVersionUID
=
-
3182922200773458600L
;
/**
*
1:会员卡域 2:服务号域 3:小程序域
*
CuTypeEnum 枚举
*/
private
Integer
type
;
...
...
gic-platform-auth-api/src/main/java/com/gic/auth/dto/wechat/WechatUserDTO.java
0 → 100644
View file @
965b435a
package
com
.
gic
.
auth
.
dto
.
wechat
;
import
java.io.Serializable
;
/**
* 服务号关注用户
* @ClassName:
* @Description:
* @author guojuxing
* @date 2021/1/26 10:20 AM
*/
public
class
WechatUserDTO
implements
Serializable
{
private
static
final
long
serialVersionUID
=
-
2148969953172055593L
;
/**
* 用户是否订阅该公众号标识,值为0时,代表此用户没有关注该公众号,拉取不到其余信息。
*/
public
int
subscribe
;
/**
* 用户的标识,对当前公众号唯一
*/
public
String
openid
;
/**
* 用户的昵称
*/
public
String
nickname
;
/**
* 用户的性别,值为1时是男性,值为2时是女性,值为0时是未知
*/
public
int
sex
=
0
;
/**
* 用户所在城市
*/
public
String
city
;
/**
* 用户所在国家
*/
public
String
country
;
/**
* 用户所在省份
*/
public
String
province
;
/**
* 用户的语言,简体中文为zh_CN
*/
public
String
language
;
/**
* 用户头像,最后一个数值代表正方形头像大小(有0、46、64、96、132数值可选,0代表640*640正方形头像),用户没有头像时该项为空。若用户更换头像,原有头像URL将失效。
*/
public
String
headimgurl
;
/**
* 用户关注时间,为时间戳。如果用户曾多次关注,则取最后关注时间
*/
public
long
subscribe_time
;
/**
* 只有在用户将公众号绑定到微信开放平台帐号后,才会出现该字段。详见:获取用户个人信息(UnionID机制)
*/
public
String
unionid
;
/**
* 公众号运营者对粉丝的备注,公众号运营者可在微信公众平台用户管理界面对粉丝添加备注
*/
public
String
remark
;
/**
* 用户所在的分组ID
*/
public
int
groupid
;
public
int
getSubscribe
()
{
return
subscribe
;
}
public
WechatUserDTO
setSubscribe
(
int
subscribe
)
{
this
.
subscribe
=
subscribe
;
return
this
;
}
public
String
getOpenid
()
{
return
openid
;
}
public
WechatUserDTO
setOpenid
(
String
openid
)
{
this
.
openid
=
openid
;
return
this
;
}
public
String
getNickname
()
{
return
nickname
;
}
public
WechatUserDTO
setNickname
(
String
nickname
)
{
this
.
nickname
=
nickname
;
return
this
;
}
public
int
getSex
()
{
return
sex
;
}
public
WechatUserDTO
setSex
(
int
sex
)
{
this
.
sex
=
sex
;
return
this
;
}
public
String
getCity
()
{
return
city
;
}
public
WechatUserDTO
setCity
(
String
city
)
{
this
.
city
=
city
;
return
this
;
}
public
String
getCountry
()
{
return
country
;
}
public
WechatUserDTO
setCountry
(
String
country
)
{
this
.
country
=
country
;
return
this
;
}
public
String
getProvince
()
{
return
province
;
}
public
WechatUserDTO
setProvince
(
String
province
)
{
this
.
province
=
province
;
return
this
;
}
public
String
getLanguage
()
{
return
language
;
}
public
WechatUserDTO
setLanguage
(
String
language
)
{
this
.
language
=
language
;
return
this
;
}
public
String
getHeadimgurl
()
{
return
headimgurl
;
}
public
WechatUserDTO
setHeadimgurl
(
String
headimgurl
)
{
this
.
headimgurl
=
headimgurl
;
return
this
;
}
public
long
getSubscribe_time
()
{
return
subscribe_time
;
}
public
WechatUserDTO
setSubscribe_time
(
long
subscribe_time
)
{
this
.
subscribe_time
=
subscribe_time
;
return
this
;
}
public
String
getUnionid
()
{
return
unionid
;
}
public
WechatUserDTO
setUnionid
(
String
unionid
)
{
this
.
unionid
=
unionid
;
return
this
;
}
public
String
getRemark
()
{
return
remark
;
}
public
WechatUserDTO
setRemark
(
String
remark
)
{
this
.
remark
=
remark
;
return
this
;
}
public
int
getGroupid
()
{
return
groupid
;
}
public
WechatUserDTO
setGroupid
(
int
groupid
)
{
this
.
groupid
=
groupid
;
return
this
;
}
@Override
public
String
toString
()
{
return
"WechatUserDTO{"
+
"subscribe="
+
subscribe
+
", openid='"
+
openid
+
'\''
+
", nickname='"
+
nickname
+
'\''
+
", sex="
+
sex
+
", city='"
+
city
+
'\''
+
", country='"
+
country
+
'\''
+
", province='"
+
province
+
'\''
+
", language='"
+
language
+
'\''
+
", headimgurl='"
+
headimgurl
+
'\''
+
", subscribe_time="
+
subscribe_time
+
", unionid='"
+
unionid
+
'\''
+
", remark='"
+
remark
+
'\''
+
", groupid="
+
groupid
+
'}'
;
}
}
gic-platform-auth-api/src/main/java/com/gic/auth/service/UserApiService.java
View file @
965b435a
...
...
@@ -7,6 +7,7 @@ import com.gic.api.base.commons.ServiceResponse;
import
com.gic.auth.dto.UserDTO
;
import
com.gic.auth.dto.UserDataShowDTO
;
import
com.gic.auth.dto.UserListDTO
;
import
com.gic.auth.dto.wechat.WechatUserDTO
;
import
com.gic.auth.qo.UserListQO
;
/**
...
...
@@ -71,6 +72,13 @@ public interface UserApiService {
ServiceResponse
<
String
>
getUserQrcode
(
Integer
userId
,
Integer
enterpriseId
);
/**
* 获取服务号关注用户信息
* @param openId
* @return
*/
ServiceResponse
<
WechatUserDTO
>
getMemberInfoByOpenId
(
String
openId
);
/**
* 新增超级用户
* @Title: saveAdmin
* @Description:
...
...
gic-platform-auth-service/src/main/java/com/gic/auth/service/outer/impl/UserApiServiceImpl.java
View file @
965b435a
...
...
@@ -5,6 +5,7 @@ import java.text.SimpleDateFormat;
import
java.util.*
;
import
java.util.stream.Collectors
;
import
com.gic.auth.dto.wechat.WechatUserDTO
;
import
org.apache.commons.collections.CollectionUtils
;
import
org.apache.commons.lang.StringUtils
;
import
org.apache.logging.log4j.LogManager
;
...
...
@@ -177,6 +178,15 @@ public class UserApiServiceImpl implements UserApiService {
}
@Override
public
ServiceResponse
<
WechatUserDTO
>
getMemberInfoByOpenId
(
String
openId
)
{
WechatUserDTO
wechatUserDTO
=
QrcodeUtils
.
getMemberInfoByOpenId
(
openId
);
if
(
wechatUserDTO
!=
null
)
{
return
ServiceResponse
.
success
(
wechatUserDTO
);
}
return
ServiceResponse
.
failure
(
ErrorCode
.
PARAMETER_ERROR
.
getCode
(),
"查询不到用户信息"
);
}
@Override
public
ServiceResponse
<
Integer
>
saveAdmin
(
UserDTO
userDTO
)
{
//valid param
ServiceResponse
paramResult
=
ValidUtil
.
allCheckValidate
(
userDTO
,
UserDTO
.
SaveUserValid
.
class
);
...
...
gic-platform-auth-service/src/main/java/com/gic/auth/utils/qrcode/QrcodeUtils.java
View file @
965b435a
package
com
.
gic
.
auth
.
utils
.
qrcode
;
import
com.alibaba.fastjson.JSON
;
import
com.gic.auth.config.Config
;
import
com.gic.auth.dto.wechat.WechatUserDTO
;
import
com.gic.commons.util.EntityUtil
;
import
com.gic.wechat.business.api.dto.fwh.WeixinUserAuthDTO
;
import
com.gic.wechat.business.api.service.fwh.WeixinBaseFunService
;
import
com.gic.wechat.business.api.service.fwh.WeixinUserFunService
;
import
org.apache.commons.lang3.StringUtils
;
import
org.apache.logging.log4j.LogManager
;
import
org.apache.logging.log4j.Logger
;
...
...
@@ -48,6 +53,26 @@ public class QrcodeUtils {
}
/**
* 查询服务号关注用户信息
* @param openId
* @return
*/
public
static
WechatUserDTO
getMemberInfoByOpenId
(
String
openId
)
{
WeixinUserFunService
weixinUserFunService
=
ApplicationContextUtils
.
getBean
(
"weixinUserFunService"
);
Config
config
=
ApplicationContextUtils
.
getBean
(
"config"
);
ServiceResponse
<
WeixinUserAuthDTO
>
response
=
weixinUserFunService
.
getMemberInfo
(
config
.
getAppkey
(),
openId
);
if
(
response
.
isSuccess
())
{
WeixinUserAuthDTO
weixinUserAuthDTO
=
response
.
getResult
();
if
(
weixinUserAuthDTO
!=
null
)
{
return
EntityUtil
.
changeEntityNew
(
WechatUserDTO
.
class
,
weixinUserAuthDTO
);
}
logger
.
info
(
"openId:{}查询粉丝信息结果:{}"
,
openId
,
JSON
.
toJSONString
(
response
));
}
logger
.
info
(
"openId:{}查询粉丝信息失败:{}"
,
openId
,
response
.
getMessage
());
return
null
;
}
/**
* 获取二维码url
* @param qrCodeType
* @param serviceId 业务方的主键ID
...
...
gic-platform-auth-service/src/main/resources/dubbo-gic-platform-auth-service.xml
View file @
965b435a
...
...
@@ -35,6 +35,7 @@
<dubbo:reference
interface=
"com.gic.enterprise.service.ProjectItemApiService"
id=
"projectItemApiService"
timeout=
"6000"
/>
<!--微信回调-->
<dubbo:reference
interface=
"com.gic.wechat.business.api.service.fwh.WeixinBaseFunService"
id=
"weixinBaseFunService"
timeout=
"6000"
/>
<dubbo:reference
interface=
"com.gic.wechat.business.api.service.fwh.WeixinUserFunService"
id=
"weixinUserFunService"
timeout=
"6000"
/>
<!--会员模块-->
<dubbo:reference
interface=
"com.gic.member.api.service.ServiceUserApiService"
id=
"serviceUserApiService"
timeout=
"6000"
/>
<dubbo:reference
interface=
"com.gic.store.service.StoreAuthorizationApiService"
id=
"storeAuthorizationApiService"
timeout=
"6000"
>
...
...
gic-platform-auth-web/src/main/java/com/gic/auth/web/controller/UserController.java
View file @
965b435a
package
com
.
gic
.
auth
.
web
.
controller
;
import
com.gic.auth.dto.wechat.WechatUserDTO
;
import
com.gic.auth.web.vo.SuperUserVO
;
import
com.gic.auth.web.vo.UserOfGicVO
;
import
com.gic.commons.annotation.HeaderSignIgnore
;
...
...
@@ -164,7 +165,16 @@ public class UserController {
LoginUserVO
vo
;
ServiceResponse
<
UserDTO
>
userResult
=
userApiService
.
getUserInfoById
(
UserDetailUtils
.
getUserDetail
().
getUserId
());
if
(
userResult
.
isSuccess
())
{
vo
=
EntityUtil
.
changeEntityNew
(
LoginUserVO
.
class
,
userResult
.
getResult
());
UserDTO
userDTO
=
userResult
.
getResult
();
vo
=
EntityUtil
.
changeEntityNew
(
LoginUserVO
.
class
,
userDTO
);
//查询微信信息
ServiceResponse
<
WechatUserDTO
>
memberInfoRes
=
userApiService
.
getMemberInfoByOpenId
(
userDTO
.
getOpenId
());
if
(
memberInfoRes
.
isSuccess
())
{
WechatUserDTO
wechat
=
memberInfoRes
.
getResult
();
vo
.
setNickname
(
wechat
.
getNickname
());
vo
.
setHeadimgurl
(
wechat
.
getHeadimgurl
());
}
}
else
{
vo
=
new
LoginUserVO
();
}
...
...
@@ -176,6 +186,16 @@ public class UserController {
return
RestResponse
.
success
(
vo
);
}
/**
* 换绑
* @return
*/
@RequestMapping
(
"/change-bind"
)
public
RestResponse
changeBind
()
{
return
ResultControllerUtils
.
commonResult
(
userApiService
.
getUserQrcode
(
UserDetailUtils
.
getUserDetail
().
getUserId
(),
UserDetailUtils
.
getUserDetail
().
getEnterpriseId
()));
}
@RequestMapping
(
"send-auth-code-to-modify-phone"
)
public
RestResponse
sendAuthCode
(
String
phone
,
String
nationCode
)
{
if
(
StringUtils
.
isBlank
(
nationCode
))
{
...
...
gic-platform-auth-web/src/main/java/com/gic/auth/web/vo/LoginUserVO.java
View file @
965b435a
...
...
@@ -48,6 +48,16 @@ public class LoginUserVO implements Serializable{
*/
private
Integer
userPosition
;
/**
* 用户的昵称
*/
public
String
nickname
;
/**
* 用户头像,最后一个数值代表正方形头像大小(有0、46、64、96、132数值可选,0代表640*640正方形头像),用户没有头像时该项为空。若用户更换头像,原有头像URL将失效。
*/
public
String
headimgurl
;
public
Integer
getUserId
()
{
return
userId
;
}
...
...
@@ -113,6 +123,24 @@ public class LoginUserVO implements Serializable{
return
this
;
}
public
String
getNickname
()
{
return
nickname
;
}
public
LoginUserVO
setNickname
(
String
nickname
)
{
this
.
nickname
=
nickname
;
return
this
;
}
public
String
getHeadimgurl
()
{
return
headimgurl
;
}
public
LoginUserVO
setHeadimgurl
(
String
headimgurl
)
{
this
.
headimgurl
=
headimgurl
;
return
this
;
}
@Override
public
String
toString
()
{
return
"LoginUserVO{"
+
...
...
@@ -124,6 +152,8 @@ public class LoginUserVO implements Serializable{
", enterpriseName='"
+
enterpriseName
+
'\''
+
", companyName='"
+
companyName
+
'\''
+
", userPosition="
+
userPosition
+
", nickname='"
+
nickname
+
'\''
+
", headimgurl='"
+
headimgurl
+
'\''
+
'}'
;
}
}
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