Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
C
cloud-platform
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
youjj
cloud-platform
Commits
d762facd
Commit
d762facd
authored
Sep 21, 2019
by
hezhen
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
123
parent
d17303d8
Changes
6
Hide whitespace changes
Inline
Side-by-side
Showing
6 changed files
with
179 additions
and
36 deletions
+179
-36
UserInfo.java
...i/src/main/java/com/xxfc/platform/summit/vo/UserInfo.java
+4
-1
ActivityBmBiz.java
...main/java/com/xxfc/platform/summit/biz/ActivityBmBiz.java
+21
-4
UserBiz.java
...r/src/main/java/com/xxfc/platform/summit/biz/UserBiz.java
+23
-2
ActivityBmController.java
...xxfc/platform/summit/controller/ActivityBmController.java
+18
-19
ActivityInterceoptor.java
...xfc/platform/summit/interceptor/ActivityInterceoptor.java
+103
-0
WeChatH5LoginInterceoptor.java
...latform/summit/interceptor/WeChatH5LoginInterceoptor.java
+10
-10
No files found.
xx-summit/xx-summit-api/src/main/java/com/xxfc/platform/summit/vo/UserInfo.java
View file @
d762facd
...
...
@@ -6,6 +6,9 @@ import lombok.Data;
@Data
public
class
UserInfo
{
private
String
unionid
;
private
String
openId
;
private
String
nickname
;
private
String
headimgurl
;
private
String
sex
;
}
xx-summit/xx-summit-server/src/main/java/com/xxfc/platform/summit/biz/ActivityBmBiz.java
View file @
d762facd
...
...
@@ -3,6 +3,9 @@ package com.xxfc.platform.summit.biz;
import
com.alibaba.fastjson.JSONObject
;
import
com.github.wxiaoqi.security.common.biz.BaseBiz
;
import
com.github.wxiaoqi.security.common.constant.RestCode
;
import
com.github.wxiaoqi.security.common.msg.ObjectRestResponse
;
import
com.github.wxiaoqi.security.common.util.process.ResultCode
;
import
com.xxfc.platform.summit.entity.ActivityBm
;
import
com.xxfc.platform.summit.mapper.ActivityBmMapper
;;
import
com.xxfc.platform.summit.vo.MeepoActivityVo
;
...
...
@@ -12,6 +15,7 @@ import org.springframework.beans.BeanUtils;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.data.redis.core.RedisTemplate
;
import
org.springframework.stereotype.Service
;
import
tk.mybatis.mapper.entity.Example
;
import
java.util.List
;
...
...
@@ -26,17 +30,29 @@ public class ActivityBmBiz extends BaseBiz<ActivityBmMapper, ActivityBm> {
private
RedisTemplate
userRedisTemplate
;
public
void
userBm
(
ActivityBm
activityBm
,
Integer
meepoUserId
)
throws
Exception
{
//用户报名
public
ObjectRestResponse
userBm
(
ActivityBm
activityBm
,
Integer
meepoUserId
)
throws
Exception
{
if
(
activityBm
==
null
||
meepoUserId
==
null
||
meepoUserId
==
0
){
log
.
info
(
"-----activityBm==="
+
activityBm
+
"-------meepoUserId==="
+
meepoUserId
+
"-----为空"
);
return
;
return
ObjectRestResponse
.
createFailedResult
(
ResultCode
.
FAILED_CODE
,
"参数不能为空"
);
}
Integer
activityId
=
activityBm
.
getActivityId
();
log
.
info
(
"-----activityBm==="
+
JSONObject
.
toJSONString
(
activityBm
)+
"-------meepoUserId==="
+
meepoUserId
+
"----activityId==="
+
activityId
);
if
(
activityId
==
null
||
activityId
==
0
){
return
ObjectRestResponse
.
createFailedResult
(
ResultCode
.
FAILED_CODE
,
"活动不存在"
);
}
Example
example
=
new
Example
(
ActivityBm
.
class
);
example
.
createCriteria
().
andEqualTo
(
"meepoUserId"
,
meepoUserId
).
andEqualTo
(
"activityId"
,
activityId
).
andEqualTo
(
"isDel"
,
0
);
List
<
ActivityBm
>
list
=
mapper
.
selectByExample
(
example
);
if
(
list
.
size
()>
0
){
log
.
info
(
"----用户已报名---meepoUserId==="
+
meepoUserId
);
return
ObjectRestResponse
.
createFailedResult
(
ResultCode
.
EXIST_CODE
,
"用户已报名"
);
}
log
.
info
(
"-----activityBm==="
+
JSONObject
.
toJSONString
(
activityBm
)+
"-------meepoUserId==="
+
meepoUserId
);
activityBm
.
setMeepoUserId
(
meepoUserId
);
insertSelective
(
activityBm
);
log
.
info
(
"-----用户报名成功----bmId===="
+
activityBm
.
getId
());
return
ObjectRestResponse
.
succ
();
}
//获取小程序峰会活动
...
...
@@ -59,4 +75,5 @@ public class ActivityBmBiz extends BaseBiz<ActivityBmMapper, ActivityBm> {
}
}
xx-summit/xx-summit-server/src/main/java/com/xxfc/platform/summit/biz/UserBiz.java
View file @
d762facd
...
...
@@ -15,10 +15,10 @@ import com.xxfc.platform.summit.vo.MeepoActivityVo;
import
lombok.extern.slf4j.Slf4j
;
import
org.apache.commons.lang3.StringUtils
;
import
org.mockito.internal.util.collections.Sets
;
import
org.springframework.beans.BeanUtils
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.stereotype.Service
;
import
tk.mybatis.mapper.entity.Example
;
import
javax.servlet.http.HttpServletRequest
;
import
javax.servlet.http.HttpSession
;
import
java.util.List
;
...
...
@@ -78,6 +78,7 @@ public class UserBiz extends BaseBiz<UserMapper, User> {
List
<
User
>
uses
=
mapper
.
selectByExample
(
example
);
if
(
uses
.
size
()>
0
){
userId
=
uses
.
get
(
0
).
getId
();
user
.
setId
(
userId
);
}
else
{
user
.
setWeId
(
weId
);
user
.
setRId
(
rId
);
...
...
@@ -86,7 +87,6 @@ public class UserBiz extends BaseBiz<UserMapper, User> {
}
return
userId
;
}
public
void
authUser
(
String
code
,
String
key
,
HttpServletRequest
request
){
if
(
StringUtils
.
isBlank
(
code
)){
log
.
info
(
"----code为空---"
);
...
...
@@ -157,6 +157,27 @@ public class UserBiz extends BaseBiz<UserMapper, User> {
}
}
//获取缓存
public
User
getSession
(
HttpServletRequest
request
){
try
{
HttpSession
session
=
request
.
getSession
();
String
frontSessionValue1
=
(
String
)
session
.
getAttribute
(
frontSessionKey
);
if
(
StringUtils
.
isBlank
(
frontSessionValue1
))
{
return
null
;
}
JSONObject
jsonObject
=
JSONObject
.
parseObject
(
frontSessionValue1
);
User
user
=
new
User
();
BeanUtils
.
copyProperties
(
jsonObject
,
user
);
return
user
;
}
catch
(
Exception
e
){
e
.
printStackTrace
();
return
null
;
}
}
...
...
xx-summit/xx-summit-server/src/main/java/com/xxfc/platform/summit/controller/ActivityBmController.java
View file @
d762facd
package
com
.
xxfc
.
platform
.
summit
.
controller
;
import
cn.hutool.core.codec.Base64
;
import
com.alibaba.fastjson.JSONObject
;
import
com.github.wxiaoqi.security.common.msg.ObjectRestResponse
;
import
com.github.wxiaoqi.security.common.rest.BaseController
;
import
com.xxfc.platform.summit.biz.ActivityBiz
;
import
com.xxfc.platform.summit.
entity.Activity
;
import
com.xxfc.platform.summit.biz.ActivityB
mB
iz
;
import
com.xxfc.platform.summit.
biz.UserBiz
;
import
com.xxfc.platform.summit.entity.ActivityBm
;
import
com.xxfc.platform.summit.entity.User
;
import
com.xxfc.platform.summit.pojo.ActivityQuery
;
import
org.apache.commons.lang3.StringUtils
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.web.bind.annotation.*
;
import
javax.servlet.http.HttpServletRequest
;
import
javax.servlet.http.HttpSession
;
/**
* @author Administrator
*/
@RestController
@RequestMapping
(
"/activity"
)
public
class
ActivityBmController
extends
BaseController
<
ActivityB
iz
,
Activity
>
{
@RequestMapping
(
"
front
/activity"
)
public
class
ActivityBmController
extends
BaseController
<
ActivityB
mBiz
,
ActivityBm
>
{
@
PostMapping
(
"/list"
)
public
ObjectRestResponse
getList
(
@RequestBody
ActivityQuery
query
){
@
Autowired
UserBiz
userBiz
;
return
ObjectRestResponse
.
succ
(
baseBiz
.
getList
(
query
));
}
@Override
@PutMapping
(
"/update"
)
public
ObjectRestResponse
update
(
@RequestBody
Activity
activity
){
if
(
baseBiz
.
update
(
activity
))
{
return
ObjectRestResponse
.
succ
();
@PostMapping
(
"/bm"
)
public
ObjectRestResponse
bm
(
@RequestBody
ActivityBm
activityBm
,
HttpServletRequest
request
){
User
user
=
userBiz
.
getSession
(
request
);
try
{
return
baseBiz
.
userBm
(
activityBm
,
user
.
getId
());
}
catch
(
Exception
e
){
e
.
printStackTrace
();
return
ObjectRestResponse
.
createDefaultFail
();
}
return
ObjectRestResponse
.
createDefaultFail
();
}
/* *//**
* 微信浏览器获取用户信息
* @param code
...
...
xx-summit/xx-summit-server/src/main/java/com/xxfc/platform/summit/interceptor/ActivityInterceoptor.java
0 → 100644
View file @
d762facd
package
com
.
xxfc
.
platform
.
summit
.
interceptor
;
import
com.alibaba.fastjson.JSONObject
;
import
com.github.wxiaoqi.security.common.util.UserAgentUtil
;
import
com.xxfc.platform.summit.biz.UserBiz
;
import
com.xxfc.platform.summit.constant.RedisKey
;
import
com.xxfc.platform.summit.entity.User
;
import
com.xxfc.platform.summit.service.WeixinService
;
import
lombok.extern.slf4j.Slf4j
;
import
org.apache.commons.lang3.StringUtils
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.data.redis.core.RedisTemplate
;
import
org.springframework.web.servlet.handler.HandlerInterceptorAdapter
;
import
javax.servlet.http.HttpServletRequest
;
import
javax.servlet.http.HttpServletResponse
;
import
java.io.BufferedReader
;
import
java.util.HashMap
;
import
java.util.Map
;
import
java.util.UUID
;
import
java.util.concurrent.TimeUnit
;
;
/**
* 微信登陆拦截器
*
* @author
*
*/
@Slf4j
public
class
ActivityInterceoptor
extends
HandlerInterceptorAdapter
{
@Autowired
WeixinService
weixinService
;
@Autowired
UserBiz
userBiz
;
@Autowired
private
RedisTemplate
userRedisTemplate
;
@Override
public
boolean
preHandle
(
HttpServletRequest
request
,
HttpServletResponse
response
,
Object
handler
)
throws
Exception
{
String
curr_domain
=
request
.
getServerName
();
log
.
info
(
"curr_domain:"
+
curr_domain
);
log
.
info
(
"address:"
+
request
.
getRequestURL
().
toString
());
log
.
info
(
"params:"
+
request
.
getQueryString
());
boolean
isWx
=
UserAgentUtil
.
isWexinBrowser
(
request
);
if
(
isWx
)
{
//session里面获取用户信息
User
user
=
userBiz
.
getSession
(
request
);
if
(
user
!=
null
){
return
true
;
}
String
redisKey
=
redisBmInfo
(
request
);
Map
<
String
,
Object
>
result
=
new
HashMap
<>();
JSONObject
json
=
new
JSONObject
();
if
(
StringUtils
.
isNotBlank
(
redisKey
)){
json
.
put
(
"key"
,
redisKey
);
}
json
.
put
(
"url"
,
"https://dev.dfangche.com/api/summit/auth/app/unauth/wxLogin?redirec_url=https://dev.dfangche.com/h5/appHtml/view/wxh5/index.html"
);
result
.
put
(
"data"
,
json
);
result
.
put
(
"status"
,
1001
);
response
.
getWriter
().
write
(
result
.
toString
());
return
false
;
}
return
true
;
}
//获取body的参数并放入redis
public
String
redisBmInfo
(
HttpServletRequest
request
)
throws
Exception
{
request
.
setCharacterEncoding
(
"UTF-8"
);
StringBuffer
jb
=
new
StringBuffer
();
String
line
=
null
;
try
{
BufferedReader
reader
=
request
.
getReader
();
while
((
line
=
reader
.
readLine
())
!=
null
)
jb
.
append
(
line
);
}
catch
(
Exception
e
)
{
e
.
printStackTrace
();
}
String
redisLockKey
=
null
;
if
(
StringUtils
.
isNotBlank
(
jb
)){
redisLockKey
=
RedisKey
.
CONSTANT_CODE_PREFIX
+
UUID
.
randomUUID
();
Boolean
suc
=
userRedisTemplate
.
opsForValue
().
setIfAbsent
(
redisLockKey
,
jb
);
if
(
suc
)
{
userRedisTemplate
.
expire
(
redisLockKey
,
5
,
TimeUnit
.
MINUTES
);
//5分钟内过期
}
}
return
redisLockKey
;
}
}
xx-summit/xx-summit-server/src/main/java/com/xxfc/platform/summit/interceptor/WeChatH5LoginInterceoptor.java
View file @
d762facd
...
...
@@ -6,7 +6,9 @@ import javax.servlet.http.HttpServletRequest;
import
javax.servlet.http.HttpServletResponse
;
import
javax.servlet.http.HttpSession
;
import
com.github.wxiaoqi.security.common.util.UserAgentUtil
;
import
com.xxfc.platform.summit.biz.UserBiz
;
import
com.xxfc.platform.summit.constant.RedisKey
;
import
com.xxfc.platform.summit.entity.User
;
import
com.xxfc.platform.summit.service.WeixinService
;
import
lombok.extern.slf4j.Slf4j
;
import
org.apache.commons.lang3.StringUtils
;;
...
...
@@ -29,14 +31,13 @@ import java.util.concurrent.TimeUnit;
@Slf4j
public
class
WeChatH5LoginInterceoptor
extends
HandlerInterceptorAdapter
{
/**
* 微信公众号自动登陆令牌的url参数名
*/
public
static
final
String
frontSessionKey
=
"frontWeixKey"
;
@Autowired
WeixinService
weixinService
;
@Autowired
UserBiz
userBiz
;
@Autowired
private
RedisTemplate
userRedisTemplate
;
...
...
@@ -45,7 +46,6 @@ public class WeChatH5LoginInterceoptor extends HandlerInterceptorAdapter {
public
boolean
preHandle
(
HttpServletRequest
request
,
HttpServletResponse
response
,
Object
handler
)
throws
Exception
{
String
curr_domain
=
request
.
getServerName
();
HttpSession
session
=
request
.
getSession
();
log
.
info
(
"curr_domain:"
+
curr_domain
);
log
.
info
(
"address:"
+
request
.
getRequestURL
().
toString
());
log
.
info
(
"params:"
+
request
.
getQueryString
());
...
...
@@ -53,9 +53,10 @@ public class WeChatH5LoginInterceoptor extends HandlerInterceptorAdapter {
boolean
isWx
=
UserAgentUtil
.
isWexinBrowser
(
request
);
if
(
isWx
)
{
String
frontSessionValue1
=
(
String
)
session
.
getAttribute
(
frontSessionKey
);
if
(
StringUtils
.
isNotBlank
(
frontSessionValue1
))
{
return
true
;
//session里面获取用户信息
User
user
=
userBiz
.
getSession
(
request
);
if
(
user
!=
null
){
return
true
;
}
String
redisKey
=
redisBmInfo
(
request
);
Map
<
String
,
Object
>
result
=
new
HashMap
<>();
...
...
@@ -71,8 +72,7 @@ public class WeChatH5LoginInterceoptor extends HandlerInterceptorAdapter {
}
return
true
;
}
//获取body的参数并放入redis
public
String
redisBmInfo
(
HttpServletRequest
request
)
throws
Exception
{
request
.
setCharacterEncoding
(
"UTF-8"
);
StringBuffer
jb
=
new
StringBuffer
();
...
...
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