Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
G
gdtel-gztel-school-center
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
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
吴学德
gdtel-gztel-school-center
Commits
d46f3c50
Commit
d46f3c50
authored
Apr 28, 2020
by
黄森林
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
微信公众号个人中心
parent
90f74bdc
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
132 additions
and
73 deletions
+132
-73
core-service/src/main/java/com/winsun/item/modular/system/controller/LoginPwdController.java
+57
-69
service-manager/src/main/java/com/winsun/controller/PersonalCenterController.java
+75
-4
No files found.
core-service/src/main/java/com/winsun/item/modular/system/controller/LoginPwdController.java
View file @
d46f3c50
package
com
.
winsun
.
item
.
modular
.
system
.
controller
;
import
com.alibaba.fastjson.JSON
;
import
com.alibaba.fastjson.JSONObject
;
import
com.baomidou.mybatisplus.mapper.EntityWrapper
;
import
com.baomidou.mybatisplus.mapper.Wrapper
;
import
com.winsun.auth.core.base.controller.BaseController
;
...
...
@@ -83,16 +84,10 @@ public class LoginPwdController extends BaseController {
LoginPwdController
.
schoolMapper
=
schoolMapper
;
}
/**
* 微信登录
*
* @param code
* @return
*/
@RequestMapping
(
value
=
"/weixinLogin"
)
public
ResponseData
<
Map
<
String
,
Object
>>
weixinLogin
(
String
code
)
{
@RequestMapping
(
value
=
"/defaultLogin"
)
public
ResponseData
<
Map
<
String
,
Object
>>
defaultLogin
(
String
code
)
throws
Exception
{
if
(
StringUtils
.
isBlank
(
code
))
{
return
ResponseData
.
error
(
"微信
授权失效,请重新
授权!"
);
return
ResponseData
.
error
(
"微信
默认授权失效,请退出重新进入
授权!"
);
}
String
url
=
"https://api.weixin.qq.com/sns/oauth2/access_token?"
;
url
+=
"appid="
;
...
...
@@ -105,14 +100,18 @@ public class LoginPwdController extends BaseController {
jsonObject
=
HttpHelper
.
sendGet
(
url
);
}
catch
(
Exception
e
)
{
log
.
error
(
"微信登录获取用户信息失败"
+
e
.
getMessage
(),
e
);
return
ResponseData
.
error
(
"微信默认授权失效,请退出重新进入授权!"
);
}
if
(
StringUtils
.
isBlank
(
jsonObject
))
{
return
ResponseData
.
error
(
"微信
授权失效,请重新
授权!"
);
return
ResponseData
.
error
(
"微信
默认授权失效,请退出重新进入
授权!"
);
}
if
(!
jsonObject
.
contains
(
"openid"
)){
return
ResponseData
.
error
(
"微信
授权失效,请重新
授权!"
);
return
ResponseData
.
error
(
"微信
默认授权失效,请退出重新进入
授权!"
);
}
/*jsonObject = HttpHelper.doGet(url);*/
Map
<
String
,
Object
>
hashMap
=
new
HashMap
<>();
log
.
info
(
jsonObject
);
/* Map<String,Object> map = JSON.toJavaObject(jsonObject,Map.class);*/
Map
<
String
,
Object
>
map
=
JSON
.
parseObject
(
jsonObject
,
Map
.
class
);
String
openId
=
map
.
get
(
"openid"
).
toString
();
Wrapper
<
HhrUser
>
wrapper
=
new
EntityWrapper
<>();
...
...
@@ -120,6 +119,38 @@ public class LoginPwdController extends BaseController {
log
.
info
(
"openId:"
+
openId
);
List
<
HhrUser
>
hhrUsers
=
hhrUserMapper
.
selectList
(
wrapper
);
if
(
hhrUsers
.
size
()
==
0
)
{
hashMap
.
put
(
"info"
,
jsonObject
);
return
ResponseData
.
error
(
hashMap
,
"当前微信未绑定账号,请先登录绑定账号!"
);
}
HhrUser
hhrUser
=
hhrUsers
.
get
(
0
);
SysUser
sysUser
=
sysUserMapper
.
selectById
(
hhrUser
.
getId
());
if
(
StringUtils
.
isBlank
(
sysUser
.
getAccount
()))
{
hashMap
.
put
(
"info"
,
jsonObject
);
return
ResponseData
.
error
(
hashMap
,
"当前账号异常!"
);
}
hashMap
.
put
(
"username"
,
sysUser
.
getAccount
());
hashMap
.
put
(
"openId"
,
openId
);
return
ResponseData
.
success
(
hashMap
);
}
/**
* 微信登录
*
* @param openid
* @return
*/
@RequestMapping
(
value
=
"/weixinLogin"
)
public
ResponseData
<
Map
<
String
,
Object
>>
weixinLogin
(
String
openid
)
{
if
(
StringUtils
.
isBlank
(
openid
))
{
return
ResponseData
.
error
(
"微信授权失效,请重新授权!"
);
}
Wrapper
<
HhrUser
>
wrapper
=
new
EntityWrapper
<>();
wrapper
.
eq
(
"open_id"
,
openid
);
log
.
info
(
"openId:"
+
openid
);
List
<
HhrUser
>
hhrUsers
=
hhrUserMapper
.
selectList
(
wrapper
);
if
(
hhrUsers
.
size
()
==
0
)
{
return
ResponseData
.
error
(
"当前微信未绑定账号,请先绑定账号!"
);
}
HhrUser
hhrUser
=
hhrUsers
.
get
(
0
);
...
...
@@ -129,22 +160,22 @@ public class LoginPwdController extends BaseController {
}
Map
<
String
,
Object
>
hashMap
=
new
HashMap
<>();
hashMap
.
put
(
"username"
,
sysUser
.
getAccount
());
hashMap
.
put
(
"openId"
,
open
I
d
);
hashMap
.
put
(
"openId"
,
open
i
d
);
return
ResponseData
.
success
(
hashMap
);
}
/**
* 微信解绑
*
* @param
code
* @param
openid
* @param username
* @param verificationCode
* @return
*/
@RequestMapping
(
value
=
"/weixinUnbundling"
)
public
ResponseData
<
String
>
weixinUnbundling
(
String
code
,
String
username
,
String
verificationCode
)
{
if
(
StringUtils
.
isBlank
(
code
)
||
StringUtils
.
isBlank
(
username
)
||
StringUtils
.
isBlank
(
verificationCode
))
{
return
ResponseData
.
error
(
"解绑失败!"
);
public
ResponseData
<
String
>
weixinUnbundling
(
String
openid
,
String
username
,
String
verificationCode
)
{
if
(
StringUtils
.
isBlank
(
openid
)
||
StringUtils
.
isBlank
(
username
)
||
StringUtils
.
isBlank
(
verificationCode
))
{
return
ResponseData
.
error
(
"解绑失败
,微信授权失效或账号验证码为空
!"
);
}
String
str
=
stringRedisTemplate
.
opsForValue
().
get
(
username
+
GETPHONECODE
);
if
(
StringUtils
.
isBlank
(
str
))
{
...
...
@@ -159,32 +190,11 @@ public class LoginPwdController extends BaseController {
if
(
users
.
size
()
==
0
)
{
return
ResponseData
.
error
(
"当前账号不存在!"
);
}
String
url
=
"https://api.weixin.qq.com/sns/oauth2/access_token?"
;
url
+=
"appid="
;
url
+=
APPID
;
url
+=
"&secret="
;
url
+=
APPSECRET
;
url
+=
"&code="
+
code
+
"&grant_type=authorization_code"
;
String
jsonObject
=
null
;
try
{
jsonObject
=
HttpHelper
.
sendGet
(
url
);
}
catch
(
Exception
e
)
{
log
.
error
(
"微信登录获取用户信息失败"
+
e
.
getMessage
(),
e
);
}
if
(
StringUtils
.
isBlank
(
jsonObject
))
{
return
ResponseData
.
error
(
"微信授权失效,请重新授权!"
);
}
if
(!
jsonObject
.
contains
(
"openid"
)){
return
ResponseData
.
error
(
"微信授权失效,请重新授权!"
);
}
log
.
info
(
jsonObject
);
Map
<
String
,
Object
>
map
=
JSON
.
parseObject
(
jsonObject
,
Map
.
class
);
String
openId
=
map
.
get
(
"openid"
).
toString
();
log
.
info
(
"openId:"
+
openId
);
log
.
info
(
"openId:"
+
openid
);
SysUser
sysUser
=
users
.
get
(
0
);
Wrapper
<
HhrUser
>
wrapper
=
new
EntityWrapper
<>();
wrapper
.
eq
(
"id"
,
sysUser
.
getId
());
wrapper
.
eq
(
"open_id"
,
open
I
d
);
wrapper
.
eq
(
"open_id"
,
open
i
d
);
List
<
HhrUser
>
hhrUsers
=
hhrUserMapper
.
selectList
(
wrapper
);
if
(
hhrUsers
.
size
()
==
0
)
{
return
ResponseData
.
error
(
"当前微信和当前账号不匹配!"
);
...
...
@@ -201,14 +211,14 @@ public class LoginPwdController extends BaseController {
/**
* 绑定微信
*
* @param
code
* @param
accessToken
* @param username
* @return
*/
@RequestMapping
(
"bindingAccount"
)
public
ResponseData
<
String
>
bindingAccount
(
String
code
,
String
username
,
String
verificationCode
)
{
if
(
StringUtils
.
isBlank
(
code
)
||
StringUtils
.
isBlank
(
username
)
||
StringUtils
.
isBlank
(
verificationCode
))
{
return
ResponseData
.
error
(
"绑定失败!"
);
public
ResponseData
<
String
>
bindingAccount
(
String
openid
,
String
accessToken
,
String
username
,
String
verificationCode
)
{
if
(
StringUtils
.
isBlank
(
accessToken
)
||
StringUtils
.
isBlank
(
openid
)
||
StringUtils
.
isBlank
(
username
)
||
StringUtils
.
isBlank
(
verificationCode
))
{
return
ResponseData
.
error
(
"绑定失败
,授权失效或账号验证码为空
!"
);
}
String
str
=
stringRedisTemplate
.
opsForValue
().
get
(
username
+
GETPHONECODE
);
if
(
StringUtils
.
isBlank
(
str
))
{
...
...
@@ -223,30 +233,8 @@ public class LoginPwdController extends BaseController {
if
(
users
.
size
()
==
0
)
{
return
ResponseData
.
error
(
"当前账号有误!"
);
}
String
url
=
"https://api.weixin.qq.com/sns/oauth2/access_token?"
;
url
+=
"appid="
;
url
+=
APPID
;
url
+=
"&secret="
;
url
+=
APPSECRET
;
url
+=
"&code="
+
code
+
"&grant_type=authorization_code"
;
String
jsonObject
=
null
;
try
{
jsonObject
=
HttpHelper
.
sendGet
(
url
);
}
catch
(
Exception
e
)
{
log
.
error
(
"微信登录获取用户信息失败"
+
e
.
getMessage
(),
e
);
}
if
(
StringUtils
.
isBlank
(
jsonObject
))
{
return
ResponseData
.
error
(
"微信授权失效,请重新授权!"
);
}
if
(!
jsonObject
.
contains
(
"openid"
)){
return
ResponseData
.
error
(
"微信授权失效,请重新授权!"
);
}
log
.
info
(
jsonObject
);
Map
<
String
,
Object
>
map
=
JSON
.
parseObject
(
jsonObject
,
Map
.
class
);
String
openId
=
map
.
get
(
"openid"
).
toString
();
log
.
info
(
"openId:"
+
openId
);
String
accessToken
=
map
.
get
(
"access_token"
).
toString
();
String
url1
=
"https://api.weixin.qq.com/sns/userinfo?access_token="
+
accessToken
+
"&openid="
+
openId
+
"&lang=zh_CN"
;
log
.
info
(
"openId:"
+
openid
);
String
url1
=
"https://api.weixin.qq.com/sns/userinfo?access_token="
+
accessToken
+
"&openid="
+
openid
+
"&lang=zh_CN"
;
String
jsonObject1
=
null
;
try
{
jsonObject1
=
HttpHelper
.
sendGet
(
url1
);
...
...
@@ -267,12 +255,12 @@ public class LoginPwdController extends BaseController {
Wrapper
wrapper
=
new
EntityWrapper
<>();
wrapper
.
eq
(
"id"
,
sysUser
.
getId
());
Map
<
String
,
Object
>
dataMapping
=
new
HashMap
<>();
dataMapping
.
put
(
"open_id"
,
open
I
d
);
dataMapping
.
put
(
"open_id"
,
open
i
d
);
dataMapping
.
put
(
"wx_head_img_url"
,
headimgurl
);
dataMapping
.
put
(
"wx_nick_name"
,
nickname
);
Integer
integer
=
hhrUserMapper
.
updateForSet
(
MyBatisPlusUpdateUtils
.
toUpdateSet
(
dataMapping
),
wrapper
);
if
(
integer
==
1
)
{
return
ResponseData
.
success
(
open
I
d
);
return
ResponseData
.
success
(
open
i
d
);
}
return
ResponseData
.
error
(
"绑定失败!"
);
}
...
...
service-manager/src/main/java/com/winsun/controller/PersonalCenterController.java
View file @
d46f3c50
...
...
@@ -15,6 +15,7 @@ import com.winsun.mapper.SysUserMapper;
import
com.winsun.smsUtils.SendSmsAndMail
;
import
com.winsun.utils.IDCardUtil
;
import
com.winsun.utils.MyBatisPlusUpdateUtils
;
import
com.winsun.utils.PicturesUtil
;
import
lombok.extern.slf4j.Slf4j
;
import
org.apache.commons.lang3.StringUtils
;
import
org.springframework.beans.factory.annotation.Autowired
;
...
...
@@ -53,6 +54,8 @@ public class PersonalCenterController extends BaseController {
private
String
EDITPWD
=
"EditPwd"
;
private
static
String
PATHTYPE
=
"idCard"
;
@Autowired
public
PersonalCenterController
(
SysUserMapper
sysUserMapper
,
HhrUserMapper
hhrUserMapper
,
AppMapper
appMapper
,
StringRedisTemplate
stringRedisTemplate
,
SchoolMapper
schoolMapper
)
{
...
...
@@ -63,6 +66,74 @@ public class PersonalCenterController extends BaseController {
PersonalCenterController
.
schoolMapper
=
schoolMapper
;
}
@Permission
(
menuname
=
"登录后微信解绑"
,
value
=
"WXUnbundling"
,
method
=
RequestMethod
.
POST
)
public
ResponseData
<
String
>
WXUnbundling
(
String
partner
,
String
openid
)
{
ShiroUser
user
=
getShiroUser
();
if
(!
partner
.
equals
(
String
.
valueOf
(
user
.
getId
())))
{
return
ResponseData
.
error
(
"当前登录账户异常!"
);
}
if
(
StringUtils
.
isBlank
(
openid
))
{
return
ResponseData
.
error
(
"解绑失败,当前登录无权解绑,请退出登录,在登录页面解绑!"
);
}
HhrUser
hhrUser
=
hhrUserMapper
.
selectById
(
partner
);
if
(!
hhrUser
.
getOpenId
().
equals
(
openid
)){
return
ResponseData
.
error
(
"解绑失败,当前登录无权解绑,请退出登录,在登录页面解绑!"
);
}
Wrapper
<
HhrUser
>
wrapper
=
new
EntityWrapper
<>();
wrapper
.
eq
(
"id"
,
user
.
getId
());
wrapper
.
eq
(
"open_id"
,
openid
);
Map
<
String
,
Object
>
dataMapping
=
new
HashMap
<>();
dataMapping
.
put
(
"open_id"
,
null
);
Integer
integer
=
hhrUserMapper
.
updateForSet
(
MyBatisPlusUpdateUtils
.
toUpdateSet
(
dataMapping
),
wrapper
);
if
(
integer
==
1
){
return
ResponseData
.
success
(
"解绑成功!"
);
}
return
ResponseData
.
error
(
"解绑失败,请退出登录,在登录页面解绑!"
);
}
@Permission
(
menuname
=
"上传当前登录用户证件照"
,
value
=
"uploadCard"
,
method
=
RequestMethod
.
POST
)
public
ResponseData
<
String
>
uploadCard
(
String
partner
,
String
idCard
,
String
stuCard
)
{
ShiroUser
user
=
getShiroUser
();
if
(!
partner
.
equals
(
String
.
valueOf
(
user
.
getId
())))
{
return
ResponseData
.
error
(
"当前登录账户异常!"
);
}
Wrapper
<
SysUser
>
wrapper
=
new
EntityWrapper
<>();
wrapper
.
eq
(
"id"
,
user
.
getId
());
Map
<
String
,
Object
>
dataMap
=
new
HashMap
<>();
dataMap
.
put
(
"updateTime"
,
new
Date
());
sysUserMapper
.
updateForSet
(
MyBatisPlusUpdateUtils
.
toUpdateSet
(
dataMap
),
wrapper
);
Wrapper
<
HhrUser
>
wrapper1
=
new
EntityWrapper
<>();
wrapper1
.
eq
(
"id"
,
user
.
getId
());
Map
<
String
,
Object
>
dataMap1
=
new
HashMap
<>();
dataMap1
.
put
(
"idcard_img_url"
,
PicturesUtil
.
uploadPictures
(
idCard
,
String
.
valueOf
(
user
.
getId
()),
PATHTYPE
));
dataMap1
.
put
(
"student_img_url"
,
PicturesUtil
.
uploadPictures
(
stuCard
,
String
.
valueOf
(
user
.
getId
()),
PATHTYPE
));
Integer
integer1
=
hhrUserMapper
.
updateForSet
(
MyBatisPlusUpdateUtils
.
toUpdateSet
(
dataMap1
),
wrapper1
);
if
(
integer1
==
1
){
return
ResponseData
.
success
(
"上传成功!"
);
}
return
ResponseData
.
error
(
"上传失败!"
);
}
@Permission
(
menuname
=
"查询当前登录用户证件照"
,
value
=
"selectPicture"
,
method
=
RequestMethod
.
POST
)
public
ResponseData
<
Map
<
String
,
Object
>>
selectPicture
(
String
partner
)
{
ShiroUser
user
=
getShiroUser
();
if
(!
partner
.
equals
(
String
.
valueOf
(
user
.
getId
())))
{
return
ResponseData
.
error
(
"当前登录账户操作异常!"
);
}
HhrUser
hhrUser
=
hhrUserMapper
.
selectById
(
user
.
getId
());
if
(
hhrUser
==
null
)
{
return
ResponseData
.
error
(
"当前登录账户信息异常!"
);
}
Map
<
String
,
Object
>
hashMap
=
new
HashMap
<>();
if
(
StringUtils
.
isNotBlank
(
hhrUser
.
getStudentImgUrl
()))
{
hashMap
.
put
(
"stuCard"
,
hhrUser
.
getStudentImgUrl
());
}
if
(
StringUtils
.
isNotBlank
(
hhrUser
.
getIdcardImgUrl
()))
{
hashMap
.
put
(
"idCard"
,
hhrUser
.
getIdcardImgUrl
());
}
return
ResponseData
.
success
(
hashMap
);
}
@Permission
(
menuname
=
"修改用户信息"
,
value
=
"editPartnerInfo"
,
method
=
RequestMethod
.
POST
)
public
ResponseData
<
String
>
editPartnerInfo
(
String
partner
,
String
userName
,
String
sex
,
String
grade
,
String
position
,
String
idCard
,
String
substName
,
String
school
)
{
...
...
@@ -75,7 +146,7 @@ public class PersonalCenterController extends BaseController {
if
(!
partner
.
equals
(
String
.
valueOf
(
user
.
getId
())))
{
return
ResponseData
.
error
(
"当前登录账户和修改账号冲突!"
);
}
if
(!
IDCardUtil
.
IDCardValidate
(
idCard
))
{
if
(!
IDCardUtil
.
IDCardValidate
(
idCard
))
{
return
ResponseData
.
error
(
"身份证号码有误!"
);
}
Wrapper
<
SysUser
>
wrapper
=
new
EntityWrapper
<>();
...
...
@@ -94,12 +165,12 @@ public class PersonalCenterController extends BaseController {
dataMap1
.
put
(
"id_card"
,
idCard
);
integer
+=
hhrUserMapper
.
updateForSet
(
MyBatisPlusUpdateUtils
.
toUpdateSet
(
dataMap1
),
wrapper1
);
String
sch
=
schoolMapper
.
selectSchoolIdByUserId
(
String
.
valueOf
(
user
.
getId
()));
if
(
StringUtils
.
isBlank
(
sch
))
{
if
(
StringUtils
.
isBlank
(
sch
))
{
integer
+=
schoolMapper
.
insertUserSchool
(
String
.
valueOf
(
user
.
getId
()),
school
);
}
else
{
}
else
{
integer
+=
schoolMapper
.
updateUserSchool
(
String
.
valueOf
(
user
.
getId
()),
school
);
}
if
(
integer
!=
3
)
{
if
(
integer
!=
3
)
{
return
ResponseData
.
error
(
"修改异常,请重新修改!"
);
}
return
ResponseData
.
success
(
"修改成功!"
);
...
...
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