Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
X
xyqb-user2
Project
Project
Details
Activity
Releases
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Boards
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
head_group
xyqb-user2
Commits
953c4bf0
Commit
953c4bf0
authored
Mar 20, 2018
by
技术部-任文超
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
解决微信重复保存问题
parent
d4f56fcf
Changes
7
Show whitespace changes
Inline
Side-by-side
Showing
7 changed files
with
27 additions
and
8 deletions
+27
-8
MotanUserServiceImpl.java
.../xyqb/controller/external/motan/MotanUserServiceImpl.java
+1
-1
InnerController.java
...tgroup/xyqb/controller/external/user/InnerController.java
+1
-1
UserController.java
...ntgroup/xyqb/controller/internal/user/UserController.java
+1
-1
IWeChatUserRepository.java
.../cn/quantgroup/xyqb/repository/IWeChatUserRepository.java
+2
-0
GeetestCaptchaServiceImpl.java
.../xyqb/service/captcha/impl/GeetestCaptchaServiceImpl.java
+0
-3
IWechatService.java
...ava/cn/quantgroup/xyqb/service/wechat/IWechatService.java
+1
-1
WechatServiceImpl.java
...uantgroup/xyqb/service/wechat/impl/WechatServiceImpl.java
+21
-1
No files found.
src/main/java/cn/quantgroup/xyqb/controller/external/motan/MotanUserServiceImpl.java
View file @
953c4bf0
...
...
@@ -470,7 +470,7 @@ public class MotanUserServiceImpl implements UserMotanService {
if
(
userId
==
null
||
userId
<
1
)
{
return
returnErrorValue
(
"用户id不能为空"
);
}
WechatUserInfo
wechatUserInfo
=
wechatService
.
query
OpenId
ByUserId
(
userId
);
WechatUserInfo
wechatUserInfo
=
wechatService
.
queryByUserId
(
userId
);
if
(
wechatUserInfo
==
null
)
{
return
returnErrorValue
(
"wechat信息为空"
);
}
...
...
src/main/java/cn/quantgroup/xyqb/controller/external/user/InnerController.java
View file @
953c4bf0
...
...
@@ -595,7 +595,7 @@ public class InnerController implements IBaseController {
if
(
userId
==
null
)
{
return
JsonResult
.
buildErrorStateResult
(
"userId不能为空"
,
null
);
}
WechatUserInfo
wechatUserInfo
=
wechatService
.
query
OpenId
ByUserId
(
userId
);
WechatUserInfo
wechatUserInfo
=
wechatService
.
queryByUserId
(
userId
);
if
(
wechatUserInfo
==
null
)
{
return
JsonResult
.
buildErrorStateResult
(
null
,
null
);
}
...
...
src/main/java/cn/quantgroup/xyqb/controller/internal/user/UserController.java
View file @
953c4bf0
...
...
@@ -469,7 +469,7 @@ public class UserController implements IBaseController {
LOGGER
.
info
(
"微信关联openId,user:[{}],openId:[{}],wechatUserInfo:[{}]"
,
user
,
openId
,
userInfo
);
if
(
Objects
.
isNull
(
userInfo
)
&&
!
Objects
.
isNull
(
userId
))
{
userInfo
=
wechatService
.
query
OpenId
ByUserId
(
userId
);
userInfo
=
wechatService
.
queryByUserId
(
userId
);
}
if
(
userInfo
==
null
||
StringUtils
.
isNotEmpty
(
userInfo
.
getPhoneNo
()))
{
return
JsonResult
.
buildSuccessResult
(
null
,
null
);
...
...
src/main/java/cn/quantgroup/xyqb/repository/IWeChatUserRepository.java
View file @
953c4bf0
...
...
@@ -16,6 +16,8 @@ public interface IWeChatUserRepository extends JpaRepository<WechatUserInfo, Lon
WechatUserInfo
findByUserId
(
Long
userId
);
long
countByOpenId
(
String
openId
);
@Transactional
@Modifying
int
removeByUserId
(
Long
userId
);
...
...
src/main/java/cn/quantgroup/xyqb/service/captcha/impl/GeetestCaptchaServiceImpl.java
View file @
953c4bf0
...
...
@@ -26,9 +26,6 @@ public class GeetestCaptchaServiceImpl implements IGeetestCaptchaService {
@Qualifier
(
"stringRedisTemplate"
)
private
RedisTemplate
<
String
,
String
>
stringRedisTemplate
;
@Value
(
"${gt.server.status.exist.time}"
)
private
long
gtServerStatusExistTime
;
@Value
(
"${geetest.captcha.id}"
)
private
String
captchaId
;
...
...
src/main/java/cn/quantgroup/xyqb/service/wechat/IWechatService.java
View file @
953c4bf0
...
...
@@ -17,7 +17,7 @@ public interface IWechatService {
WechatUserInfo
saveWechatUserInfo
(
WechatUserInfo
userInfo
);
WechatUserInfo
query
OpenId
ByUserId
(
Long
userId
);
WechatUserInfo
queryByUserId
(
Long
userId
);
int
forbiddenUserWeChat
(
Long
userId
);
}
src/main/java/cn/quantgroup/xyqb/service/wechat/impl/WechatServiceImpl.java
View file @
953c4bf0
...
...
@@ -5,24 +5,32 @@ import cn.quantgroup.xyqb.model.webchat.AccessTokenResponse;
import
cn.quantgroup.xyqb.repository.IWeChatUserRepository
;
import
cn.quantgroup.xyqb.service.http.IHttpService
;
import
cn.quantgroup.xyqb.service.wechat.IWechatService
;
import
com.alibaba.fastjson.JSON
;
import
com.alibaba.fastjson.JSONObject
;
import
lombok.extern.slf4j.Slf4j
;
import
org.apache.commons.lang3.StringUtils
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.beans.factory.annotation.Qualifier
;
import
org.springframework.beans.factory.annotation.Value
;
import
org.springframework.cache.annotation.CacheEvict
;
import
org.springframework.cache.annotation.Cacheable
;
import
org.springframework.data.domain.Example
;
import
org.springframework.data.redis.core.RedisTemplate
;
import
org.springframework.stereotype.Service
;
import
org.springframework.transaction.annotation.Transactional
;
import
javax.annotation.PostConstruct
;
import
java.util.Objects
;
import
java.util.concurrent.TimeUnit
;
/**
* Created by Miraculous on 2017/1/19.
*/
@Slf4j
@Service
public
class
WechatServiceImpl
implements
IWechatService
{
private
static
final
String
WECHAT_TOKEN_KEY_PREFIX
=
"wechat:token:"
;
private
static
final
String
WECHAT_USERINFO_KEY_PREFIX
=
"wechat:userinfo:"
;
@Autowired
private
IHttpService
httpService
;
@Autowired
...
...
@@ -101,13 +109,23 @@ public class WechatServiceImpl implements IWechatService {
}
@Override
@Cacheable
(
value
=
"WechatUserInfo"
,
key
=
"'openId:' + #openId"
,
unless
=
"#result == null"
,
cacheManager
=
"cacheManager"
)
public
WechatUserInfo
findWechatUserInfoFromDb
(
String
openId
)
{
return
weChatUserRepository
.
findByOpenId
(
openId
);
}
@Override
@CacheEvict
(
value
=
"WechatUserInfo"
,
key
=
"'openId:' + #userInfo.openId"
,
cacheManager
=
"cacheManager"
)
@Transactional
public
WechatUserInfo
saveWechatUserInfo
(
WechatUserInfo
userInfo
)
{
if
(
Objects
.
isNull
(
userInfo
)
||
Objects
.
isNull
(
userInfo
.
getOpenId
())){
return
null
;
}
long
count
=
weChatUserRepository
.
countByOpenId
(
userInfo
.
getOpenId
());
if
(
count
>
0
){
//注意,这里会抛异常(5000/total),Controller中已捕获处理
return
weChatUserRepository
.
findByOpenId
(
userInfo
.
getOpenId
());
}
if
(
null
==
userInfo
.
getPhoneNo
())
{
userInfo
.
setPhoneNo
(
""
);
}
...
...
@@ -135,12 +153,14 @@ public class WechatServiceImpl implements IWechatService {
}
@Override
public
WechatUserInfo
queryOpenIdByUserId
(
Long
userId
)
{
@Cacheable
(
value
=
"WechatUserInfo"
,
key
=
"'userId:' + #userId"
,
unless
=
"#result == null"
,
cacheManager
=
"cacheManager"
)
public
WechatUserInfo
queryByUserId
(
Long
userId
)
{
return
weChatUserRepository
.
findByUserId
(
userId
);
}
@Override
@CacheEvict
(
value
=
"WechatUserInfo"
,
key
=
"'userId:' + #userId"
,
cacheManager
=
"cacheManager"
)
public
int
forbiddenUserWeChat
(
Long
userId
)
{
return
weChatUserRepository
.
removeByUserId
(
userId
);
}
...
...
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