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
adb7ba58
Commit
adb7ba58
authored
Sep 24, 2019
by
hezhen
Browse files
Options
Browse Files
Download
Plain Diff
Merge branch 'master_activity' into base-modify
parents
2f22c2d1
226f51c0
Changes
29
Hide whitespace changes
Inline
Side-by-side
Showing
29 changed files
with
1103 additions
and
59 deletions
+1103
-59
BaseBiz.java
.../java/com/github/wxiaoqi/security/common/biz/BaseBiz.java
+1
-0
RedisKey.java
...main/java/com/xxfc/platform/summit/constant/RedisKey.java
+10
-0
Activity.java
...c/main/java/com/xxfc/platform/summit/entity/Activity.java
+1
-1
ActivityBm.java
...main/java/com/xxfc/platform/summit/entity/ActivityBm.java
+69
-0
ActivityShow.java
...in/java/com/xxfc/platform/summit/entity/ActivityShow.java
+4
-4
MeepoUserQd.java
...ain/java/com/xxfc/platform/summit/entity/MeepoUserQd.java
+51
-0
User.java
...i/src/main/java/com/xxfc/platform/summit/entity/User.java
+111
-0
ActivityQuery.java
...ain/java/com/xxfc/platform/summit/pojo/ActivityQuery.java
+13
-0
Query.java
...pi/src/main/java/com/xxfc/platform/summit/pojo/Query.java
+12
-0
MeepoActivityVo.java
...ain/java/com/xxfc/platform/summit/vo/MeepoActivityVo.java
+20
-0
UserInfo.java
...i/src/main/java/com/xxfc/platform/summit/vo/UserInfo.java
+4
-1
ActivityBiz.java
...c/main/java/com/xxfc/platform/summit/biz/ActivityBiz.java
+46
-0
ActivityBmBiz.java
...main/java/com/xxfc/platform/summit/biz/ActivityBmBiz.java
+227
-0
MeepoUserQdBiz.java
...ain/java/com/xxfc/platform/summit/biz/MeepoUserQdBiz.java
+64
-0
UserBiz.java
...r/src/main/java/com/xxfc/platform/summit/biz/UserBiz.java
+196
-0
RedisConfiguration.java
...a/com/xxfc/platform/summit/config/RedisConfiguration.java
+1
-1
ActivityController.java
...m/xxfc/platform/summit/controller/ActivityController.java
+21
-2
AuthActivityController.java
...fc/platform/summit/controller/AuthActivityController.java
+56
-0
FrontActivityController.java
...c/platform/summit/controller/FrontActivityController.java
+43
-0
WeixinController.java
...com/xxfc/platform/summit/controller/WeixinController.java
+21
-30
WeChatH5LoginInterceoptor.java
...latform/summit/interceptor/WeChatH5LoginInterceoptor.java
+56
-20
ActivityBmMapper.java
...ava/com/xxfc/platform/summit/mapper/ActivityBmMapper.java
+21
-0
ActivityMapper.java
.../java/com/xxfc/platform/summit/mapper/ActivityMapper.java
+0
-0
ActivityShowMapper.java
...a/com/xxfc/platform/summit/mapper/ActivityShowMapper.java
+0
-0
MeepoUserQdMapper.java
...va/com/xxfc/platform/summit/mapper/MeepoUserQdMapper.java
+13
-0
UserMapper.java
...main/java/com/xxfc/platform/summit/mapper/UserMapper.java
+13
-0
ActivityBmMapper.xml
...mit-server/src/main/resources/mapper/ActivityBmMapper.xml
+19
-0
MeepoUserQdMapper.xml
...it-server/src/main/resources/mapper/MeepoUserQdMapper.xml
+5
-0
UserMapper.xml
...xx-summit-server/src/main/resources/mapper/UserMapper.xml
+5
-0
No files found.
ace-common/src/main/java/com/github/wxiaoqi/security/common/biz/BaseBiz.java
View file @
adb7ba58
...
...
@@ -125,4 +125,5 @@ public abstract class BaseBiz<M extends Mapper<T>, T> {
return
new
TableResultResponse
<
T
>(
result
.
getTotal
(),
list
);
}
}
xx-summit/xx-summit-api/src/main/java/com/xxfc/platform/summit/constant/RedisKey.java
0 → 100644
View file @
adb7ba58
package
com
.
xxfc
.
platform
.
summit
.
constant
;
public
class
RedisKey
{
/**
*验证码key前缀
*/
public
static
final
String
CONSTANT_CODE_PREFIX
=
"bm:info:"
;
}
xx-summit/xx-summit-api/src/main/java/com/xxfc/platform/summit/entity/Activity.java
View file @
adb7ba58
...
...
@@ -23,7 +23,7 @@ public class Activity {
@Column
(
name
=
"rid"
)
@ApiModelProperty
(
"抽奖活动id"
)
private
Integer
r
i
d
;
private
Integer
r
I
d
;
@Column
(
name
=
"title"
)
...
...
xx-summit/xx-summit-api/src/main/java/com/xxfc/platform/summit/entity/ActivityBm.java
0 → 100644
View file @
adb7ba58
package
com
.
xxfc
.
platform
.
summit
.
entity
;
import
io.swagger.annotations.ApiModelProperty
;
import
lombok.Data
;
import
javax.persistence.Column
;
import
javax.persistence.GeneratedValue
;
import
javax.persistence.Id
;
import
javax.persistence.Table
;
/**
* @author Administrator
*/
@Data
@Table
(
name
=
"fc_activity_bm"
)
public
class
ActivityBm
{
@Id
@GeneratedValue
(
generator
=
"JDBC"
)
private
Integer
id
;
@Column
(
name
=
"activity_id"
)
@ApiModelProperty
(
"活动id"
)
private
Integer
activityId
;
@Column
(
name
=
"meepo_user_id"
)
@ApiModelProperty
(
"用户id"
)
private
Integer
meepoUserId
;
@Column
(
name
=
"name"
)
@ApiModelProperty
(
"报名人姓名"
)
private
String
name
;
@Column
(
name
=
"phone"
)
@ApiModelProperty
(
"报名人电话"
)
private
String
phone
;
@Column
(
name
=
"id_number"
)
@ApiModelProperty
(
"身份证号"
)
private
String
idNumber
;
@Column
(
name
=
"inviter"
)
@ApiModelProperty
(
"邀请人"
)
private
String
inviter
;
@Column
(
name
=
"qd_status"
)
@ApiModelProperty
(
"0-未签到;1-已签到"
)
private
Integer
qdStatus
;
@Column
(
name
=
"bm_status"
)
@ApiModelProperty
(
"0-未报名;1-已报名"
)
private
Integer
bmStatus
;
@Column
(
name
=
"crt_time"
)
@ApiModelProperty
(
"创建时间"
)
private
Long
crtTime
;
@Column
(
name
=
"upd_time"
)
@ApiModelProperty
(
"创建时间"
)
private
Long
updTime
;
@Column
(
name
=
"is_del"
)
@ApiModelProperty
(
"是否删除:0-正常;1-删除"
)
private
Integer
isDel
;
}
xx-summit/xx-summit-api/src/main/java/com/xxfc/platform/summit/entity/ActivityShow.java
View file @
adb7ba58
...
...
@@ -23,11 +23,11 @@ public class ActivityShow {
@Column
(
name
=
"activity_id"
)
@ApiModelProperty
(
"活动id"
)
private
String
activityId
;
private
Integer
activityId
;
@Column
(
name
=
"type"
)
@ApiModelProperty
(
"1-图片;2-视频"
)
private
String
type
;
private
Integer
type
;
@Column
(
name
=
"path"
)
@ApiModelProperty
(
"图片或视频路径"
)
...
...
@@ -35,11 +35,11 @@ public class ActivityShow {
@Column
(
name
=
"crt_time"
)
@ApiModelProperty
(
"创建时间"
)
private
Stri
ng
crtTime
;
private
Lo
ng
crtTime
;
@Column
(
name
=
"is_del"
)
@ApiModelProperty
(
"是否删除:0-正常;1-删除"
)
private
String
isDel
;
private
Integer
isDel
;
}
xx-summit/xx-summit-api/src/main/java/com/xxfc/platform/summit/entity/MeepoUserQd.java
0 → 100644
View file @
adb7ba58
package
com
.
xxfc
.
platform
.
summit
.
entity
;
import
io.swagger.annotations.ApiModelProperty
;
import
lombok.Data
;
import
javax.persistence.Column
;
import
javax.persistence.GeneratedValue
;
import
javax.persistence.Id
;
import
javax.persistence.Table
;
@Data
@Table
(
name
=
"ims_meepo_xianchang_qd"
)
public
class
MeepoUserQd
{
@Id
@GeneratedValue
(
generator
=
"JDBC"
)
private
Integer
id
;
@Column
(
name
=
"weid"
)
@ApiModelProperty
(
"主公众号Id"
)
private
Integer
weId
;
@Column
(
name
=
"rid"
)
@ApiModelProperty
(
"规则ID"
)
private
Integer
rId
;
@Column
(
name
=
"openid"
)
@ApiModelProperty
(
"openid"
)
private
String
openId
;
@Column
(
name
=
"nick_name"
)
@ApiModelProperty
(
"昵称"
)
private
String
nickName
;
@Column
(
name
=
"avatar"
)
@ApiModelProperty
(
"微信头像"
)
private
String
avatar
;
@Column
(
name
=
"level"
)
@ApiModelProperty
(
"状态"
)
private
Integer
level
;
@Column
(
name
=
"createtime"
)
@ApiModelProperty
(
"创建时间"
)
private
Long
createTime
;
}
xx-summit/xx-summit-api/src/main/java/com/xxfc/platform/summit/entity/User.java
0 → 100644
View file @
adb7ba58
package
com
.
xxfc
.
platform
.
summit
.
entity
;
import
io.swagger.annotations.ApiModelProperty
;
import
lombok.Data
;
import
javax.persistence.Column
;
import
javax.persistence.GeneratedValue
;
import
javax.persistence.Id
;
import
javax.persistence.Table
;
import
java.math.BigDecimal
;
/**
* @author Administrator
*/
@Data
@Table
(
name
=
"ims_meepo_xianchang_user"
)
public
class
User
{
@Id
@GeneratedValue
(
generator
=
"JDBC"
)
private
Integer
id
;
@Column
(
name
=
"weid"
)
@ApiModelProperty
(
"主公众号id"
)
private
Integer
weId
;
@Column
(
name
=
"rid"
)
@ApiModelProperty
(
"规则ID"
)
private
Integer
rId
;
@Column
(
name
=
"openid"
)
@ApiModelProperty
(
"微信openid"
)
private
String
openId
;
@Column
(
name
=
"oauth_openid"
)
@ApiModelProperty
(
"待定"
)
private
String
oauthOpenid
;
@Column
(
name
=
"mobile"
)
@ApiModelProperty
(
"电话"
)
private
String
mobile
;
@Column
(
name
=
"nick_name"
)
@ApiModelProperty
(
"昵称"
)
private
String
nickName
;
@Column
(
name
=
"avatar"
)
@ApiModelProperty
(
"头像"
)
private
String
avatar
;
@Column
(
name
=
"sex"
)
@ApiModelProperty
(
"性别"
)
private
String
sex
;
@Column
(
name
=
"group"
)
@ApiModelProperty
(
"分组"
)
private
Integer
group
;
@Column
(
name
=
"status"
)
@ApiModelProperty
(
"状态"
)
private
Integer
status
;
@Column
(
name
=
"isblacklist"
)
@ApiModelProperty
(
"待定"
)
private
Integer
isBlacklist
;
@Column
(
name
=
"can_lottory"
)
@ApiModelProperty
(
"待定"
)
private
Integer
canLottory
;
@Column
(
name
=
"can_dt"
)
@ApiModelProperty
(
"待定"
)
private
Integer
canDt
;
@Column
(
name
=
"nd_id"
)
@ApiModelProperty
(
"待定"
)
private
Integer
ndId
;
@Column
(
name
=
"qd_status"
)
@ApiModelProperty
(
"签到状态"
)
private
Integer
qdStatus
;
@Column
(
name
=
"is_manager"
)
@ApiModelProperty
(
"待定"
)
private
Integer
isManager
;
@Column
(
name
=
"money"
)
@ApiModelProperty
(
"分组"
)
private
BigDecimal
money
;
@Column
(
name
=
"createtime"
)
@ApiModelProperty
(
"创建时间"
)
private
Integer
createtime
;
@Column
(
name
=
"lastjointime"
)
@ApiModelProperty
(
"待定"
)
private
Integer
lastjointime
;
@Column
(
name
=
"had_luru"
)
@ApiModelProperty
(
"待定"
)
private
Integer
hadLuru
;
}
xx-summit/xx-summit-api/src/main/java/com/xxfc/platform/summit/pojo/ActivityQuery.java
0 → 100644
View file @
adb7ba58
package
com
.
xxfc
.
platform
.
summit
.
pojo
;
import
lombok.Data
;
/**
* @author Administrator
*/
@Data
public
class
ActivityQuery
extends
Query
{
private
String
title
;
private
Long
startTime
;
private
Integer
status
;
}
xx-summit/xx-summit-api/src/main/java/com/xxfc/platform/summit/pojo/Query.java
0 → 100644
View file @
adb7ba58
package
com
.
xxfc
.
platform
.
summit
.
pojo
;
import
lombok.Data
;
/**
* @author Administrator
*/
@Data
public
class
Query
{
private
Integer
page
=
1
;
private
Integer
limit
=
10
;
}
xx-summit/xx-summit-api/src/main/java/com/xxfc/platform/summit/vo/MeepoActivityVo.java
0 → 100644
View file @
adb7ba58
package
com
.
xxfc
.
platform
.
summit
.
vo
;
import
io.swagger.annotations.ApiModelProperty
;
import
lombok.Data
;
@Data
public
class
MeepoActivityVo
{
@ApiModelProperty
(
"活动id"
)
private
Integer
rId
;
@ApiModelProperty
(
"主公众号Id"
)
private
Integer
weId
;
@ApiModelProperty
(
"活动标题"
)
private
String
title
;
}
xx-summit/xx-summit-api/src/main/java/com/xxfc/platform/summit/vo/UserInfo.java
View file @
adb7ba58
...
...
@@ -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/ActivityBiz.java
View file @
adb7ba58
package
com
.
xxfc
.
platform
.
summit
.
biz
;
import
com.github.pagehelper.PageHelper
;
import
com.github.pagehelper.PageInfo
;
import
com.github.wxiaoqi.security.common.biz.BaseBiz
;
import
com.xxfc.platform.summit.entity.Activity
;
import
com.xxfc.platform.summit.mapper.ActivityMapper
;
import
com.xxfc.platform.summit.pojo.ActivityQuery
;
import
org.apache.commons.lang3.StringUtils
;
import
org.springframework.stereotype.Service
;
import
org.springframework.transaction.annotation.Transactional
;
import
org.springframework.transaction.interceptor.TransactionAspectSupport
;
import
tk.mybatis.mapper.entity.Example
;
import
java.util.List
;
/**
* @author Administrator
*/
@Service
public
class
ActivityBiz
extends
BaseBiz
<
ActivityMapper
,
Activity
>
{
private
Integer
NOT_DELETE
=
0
;
public
PageInfo
<
Activity
>
getList
(
ActivityQuery
query
)
{
Example
exa
=
new
Example
(
Activity
.
class
);
Example
.
Criteria
criteria
=
exa
.
createCriteria
();
criteria
.
andEqualTo
(
"isDel"
,
NOT_DELETE
);
if
(
StringUtils
.
isNotBlank
(
query
.
getTitle
()))
{
criteria
.
andLike
(
"title"
,
query
.
getTitle
());
}
if
(
query
.
getStartTime
()!=
null
)
{
criteria
.
andGreaterThanOrEqualTo
(
"startTime"
,
query
.
getStartTime
());
}
if
(
query
.
getStatus
()!=
null
)
{
criteria
.
andGreaterThanOrEqualTo
(
"status"
,
query
.
getStatus
());
}
exa
.
orderBy
(
"rank"
).
asc
().
orderBy
(
"startTime"
).
desc
();
PageHelper
.
startPage
(
query
.
getPage
(),
query
.
getLimit
());
List
<
Activity
>
activities
=
mapper
.
selectByExample
(
exa
);
return
new
PageInfo
<
Activity
>(
activities
);
}
@Transactional
(
rollbackFor
=
Exception
.
class
)
public
Boolean
update
(
Activity
activity
)
{
try
{
activity
.
setUpdTime
(
System
.
currentTimeMillis
());
mapper
.
updateByPrimaryKeySelective
(
activity
);
return
true
;
}
catch
(
Exception
e
)
{
e
.
printStackTrace
();
TransactionAspectSupport
.
currentTransactionStatus
().
setRollbackOnly
();
return
false
;
}
}
}
xx-summit/xx-summit-server/src/main/java/com/xxfc/platform/summit/biz/ActivityBmBiz.java
0 → 100644
View file @
adb7ba58
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.Activity
;
import
com.xxfc.platform.summit.entity.ActivityBm
;
import
com.xxfc.platform.summit.entity.User
;
import
com.xxfc.platform.summit.mapper.ActivityBmMapper
;;
import
com.xxfc.platform.summit.vo.MeepoActivityVo
;
import
lombok.extern.slf4j.Slf4j
;
import
org.apache.commons.lang3.StringUtils
;
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
javax.servlet.http.HttpServletRequest
;
import
java.util.List
;
/**
* @author Administrator
*/
@Service
@Slf4j
public
class
ActivityBmBiz
extends
BaseBiz
<
ActivityBmMapper
,
ActivityBm
>
{
@Autowired
private
RedisTemplate
summbitRedisTemplate
;
@Autowired
private
UserBiz
userBiz
;
@Autowired
private
ActivityBiz
activityBiz
;
@Autowired
private
MeepoUserQdBiz
meepoUserQdBiz
;
//用户报名
public
ObjectRestResponse
userBmOrQd
(
ActivityBm
activityBm
,
Integer
meepoUserId
)
throws
Exception
{
if
(
activityBm
==
null
||
meepoUserId
==
null
||
meepoUserId
==
0
){
log
.
info
(
"-----activityBm==="
+
activityBm
+
"-------meepoUserId==="
+
meepoUserId
+
"-----为空"
);
return
ObjectRestResponse
.
createFailedResult
(
ResultCode
.
FAILED_CODE
,
"参数不能为空"
);
}
Integer
activityId
=
activityBm
.
getActivityId
();
Integer
bmStatus
=
activityBm
.
getBmStatus
()==
null
?
0
:
activityBm
.
getBmStatus
();
Integer
qdStatus
=
activityBm
.
getQdStatus
()==
null
?
0
:
activityBm
.
getQdStatus
();
log
.
info
(
"-----activityBm==="
+
JSONObject
.
toJSONString
(
activityBm
)+
"-------meepoUserId==="
+
meepoUserId
+
"----activityId==="
+
activityId
+
"---bmStatus=="
+
bmStatus
+
"---qdStatus=="
+
qdStatus
);
if
(
activityId
==
null
||
activityId
==
0
){
return
ObjectRestResponse
.
createFailedResult
(
ResultCode
.
FAILED_CODE
,
"活动不存在"
);
}
ActivityBm
activityBm1
=
checkUserBm
(
meepoUserId
,
activityId
);
int
isQd
=
0
;
if
(
activityBm1
!=
null
){
if
(
bmStatus
==
1
&&
activityBm1
.
getBmStatus
()==
1
){
log
.
info
(
"----用户已报名---meepoUserId==="
+
meepoUserId
);
return
ObjectRestResponse
.
createFailedResult
(
ResultCode
.
EXIST_CODE
,
"用户已报名"
);
}
else
if
(
qdStatus
==
1
){
if
(
activityBm1
.
getQdStatus
()==
1
){
log
.
info
(
"----用户已签到---meepoUserId==="
+
meepoUserId
);
return
ObjectRestResponse
.
createFailedResult
(
ResultCode
.
EXIST_CODE
,
"用户已签到"
);
}
isQd
=
1
;
}
activityBm
.
setId
(
activityBm1
.
getId
());
updateSelectiveById
(
activityBm
);
}
else
{
activityBm
.
setMeepoUserId
(
meepoUserId
);
insertSelective
(
activityBm
);
if
(
qdStatus
==
1
){
isQd
=
1
;
}
}
if
(
isQd
==
1
){
meepoUserQdBiz
.
addUserQd
(
meepoUserId
);
}
log
.
info
(
"-----用户报名成功----bmId===="
+
activityBm
.
getId
());
return
ObjectRestResponse
.
succ
();
}
//获取小程序峰会活动
public
List
<
MeepoActivityVo
>
getMeepoActivitys
(
Integer
rId
){
return
mapper
.
getMeepoActivitys
(
rId
);
}
//获取缓存内容
public
ActivityBm
userInfo
(
String
redisLockKey
)
throws
Exception
{
if
(
StringUtils
.
isBlank
(
redisLockKey
)){
log
.
info
(
"-----redisLockKey==="
+
redisLockKey
+
"-----为空"
);
return
null
;
}
ActivityBm
bm
=
new
ActivityBm
();
String
json
=
summbitRedisTemplate
.
opsForValue
().
get
(
redisLockKey
)
==
null
?
""
:
summbitRedisTemplate
.
opsForValue
().
get
(
redisLockKey
).
toString
();
log
.
info
(
"userBm接口,获取redis中的报名信息:"
+
json
);
if
(
StringUtils
.
isBlank
(
json
)){
return
null
;
}
JSONObject
jsonObject
=
JSONObject
.
parseObject
(
json
);
BeanUtils
.
copyProperties
(
jsonObject
,
bm
);
return
bm
;
}
public
ActivityBm
checkUserBm
(
Integer
meepoUserId
,
Integer
activityId
){
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
){
return
list
.
get
(
0
);
}
return
null
;
}
//用户报名/签到操作
public
JSONObject
userBmOrQdByKey
(
String
key
,
Integer
activityId
,
HttpServletRequest
request
){
JSONObject
jsonObject
=
new
JSONObject
();
jsonObject
.
put
(
"isbm"
,
0
);
jsonObject
.
put
(
"isqd"
,
0
);
jsonObject
.
put
(
"value"
,
""
);
try
{
User
user
=
userBiz
.
getSession
(
request
);
//是否登录
log
.
info
(
"-----userBmByKey---activityId==="
+
activityId
);
if
(
user
==
null
){
log
.
info
(
"-----userBmByKey---用户未登录----"
);
ActivityBm
activityBm
=
userInfo
(
key
);
if
(
activityBm
!=
null
){
log
.
info
(
"-----userBmByKey---key已存在----"
);
jsonObject
.
put
(
"value"
,
activityBm
);
// 获取到缓存的验证码后要先清空缓存对应键的值
summbitRedisTemplate
.
delete
(
key
);
}
}
else
{
Integer
userId
=
user
.
getId
();
log
.
info
(
"-----userBmByKey---用户登录--userId==="
+
userId
);
ActivityBm
activityBm
=
userInfo
(
key
);
if
(
activityBm
==
null
){
log
.
info
(
"-----userBmByKey---key不存在判断用户是否报名/签到----"
);
ActivityBm
activityBm1
=
checkUserBm
(
userId
,
activityId
);
if
(
activityBm1
!=
null
){
log
.
info
(
"-----userBmByKey---key不存在用户已报名/签到----"
);
jsonObject
.
put
(
"isbm"
,
activityBm1
.
getBmStatus
());
jsonObject
.
put
(
"isqd"
,
activityBm1
.
getQdStatus
());
}
}
else
{
log
.
info
(
"-----userBmByKey---key已存在去报名/签到----"
);
ObjectRestResponse
restResponse
=
userBmOrQd
(
activityBm
,
userId
);
if
(
restResponse
.
getStatus
()==
RestCode
.
SUCCESS
.
getStatus
()){
log
.
info
(
"-----userBmByKey---key已存在去报名/签到----报名/签到成功"
);
if
(
activityBm
.
getBmStatus
()==
1
){
jsonObject
.
put
(
"isbm"
,
1
);
jsonObject
.
put
(
"bm_status"
,
1
);
}
else
if
(
activityBm
.
getQdStatus
()==
1
){
jsonObject
.
put
(
"isqd"
,
1
);
jsonObject
.
put
(
"qd_status"
,
1
);
}
}
else
{
log
.
info
(
"-----userBmByKey---key已存在去报名/签到----报名/签到失败"
);
if
(
activityBm
.
getBmStatus
()==
1
){
jsonObject
.
put
(
"bm_status"
,
2
);
}
else
if
(
activityBm
.
getQdStatus
()==
1
){
jsonObject
.
put
(
"qd_status"
,
2
);
}
}
summbitRedisTemplate
.
delete
(
key
);
}
}
}
catch
(
Exception
e
){
e
.
printStackTrace
();
}
return
jsonObject
;
}
//获取峰会活动详情
public
ObjectRestResponse
getActivityById
(
Integer
activityId
,
String
key
,
HttpServletRequest
request
){
if
(
activityId
==
0
||
activityId
==
null
){
return
ObjectRestResponse
.
createFailedResult
(
ResultCode
.
NOTEXIST_CODE
,
"参数为空"
);
}
Example
example
=
new
Example
(
Activity
.
class
);
example
.
createCriteria
().
andEqualTo
(
"id"
,
activityId
).
andEqualTo
(
"isDel"
,
0
);
List
<
Activity
>
list
=
activityBiz
.
selectByExample
(
example
);
if
(
list
.
size
()==
0
){
return
ObjectRestResponse
.
createFailedResult
(
ResultCode
.
FAILED_CODE
,
"活动不存在"
);
}
Activity
activity
=
list
.
get
(
0
);
if
(
activity
.
getIsShow
()==
null
||
activity
.
getIsShow
()==
0
){
return
ObjectRestResponse
.
createFailedResult
(
ResultCode
.
FAILED_CODE
,
"活动已下架"
);
}
if
(
activity
.
getIsPublish
()==
null
||
activity
.
getIsPublish
()==
0
){
return
ObjectRestResponse
.
createFailedResult
(
ResultCode
.
FAILED_CODE
,
"活动未发布"
);
}
Integer
status
=
activity
.
getStatus
();
if
(
status
==
null
){
status
=
0
;
}
if
(
status
==
0
){
Long
nowTime
=
System
.
currentTimeMillis
();
Long
startTime
=
activity
.
getStartTime
();
Long
endTime
=
activity
.
getEndTime
();
if
(
nowTime
<
startTime
){
status
=
1
;
}
else
if
(
nowTime
>=
startTime
&&
nowTime
<
endTime
){
status
=
2
;
}
else
{
status
=
3
;
}
activity
.
setStatus
(
status
);
}
JSONObject
jsonObject
=
new
JSONObject
();
jsonObject
.
put
(
"activity"
,
activity
);
JSONObject
userBm
=
userBmOrQdByKey
(
key
,
activityId
,
request
);
jsonObject
.
put
(
"bmInfo"
,
userBm
);
return
ObjectRestResponse
.
succ
(
jsonObject
);
}
}
xx-summit/xx-summit-server/src/main/java/com/xxfc/platform/summit/biz/MeepoUserQdBiz.java
0 → 100644
View file @
adb7ba58
package
com
.
xxfc
.
platform
.
summit
.
biz
;
import
com.github.wxiaoqi.security.common.biz.BaseBiz
;
import
com.xxfc.platform.summit.entity.MeepoUserQd
;
import
com.xxfc.platform.summit.entity.User
;
import
com.xxfc.platform.summit.mapper.MeepoUserQdMapper
;
import
lombok.extern.slf4j.Slf4j
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.stereotype.Service
;
import
tk.mybatis.mapper.entity.Example
;
import
java.util.List
;
/**
* @author Administrator
*/
@Service
@Slf4j
public
class
MeepoUserQdBiz
extends
BaseBiz
<
MeepoUserQdMapper
,
MeepoUserQd
>
{
@Autowired
UserBiz
userBiz
;
//添加签到信息
public
void
addUserQd
(
Integer
meepoUserId
){
if
(
meepoUserId
==
null
||
meepoUserId
==
0
){
log
.
info
(
"----签到信息为空meepoUserId==="
+
meepoUserId
);
return
;
}
User
user
=
userBiz
.
selectById
(
meepoUserId
);
Integer
weId
=
user
.
getWeId
();
Integer
rid
=
user
.
getRId
();
String
openId
=
user
.
getOpenId
();
String
avatar
=
user
.
getAvatar
();
String
nikeName
=
user
.
getNickName
();
log
.
info
(
"---addUserQd----meepoUserId==="
+
meepoUserId
+
"----openId==="
+
openId
+
"--weId=="
+
weId
+
"---rid==="
+
rid
+
"---avatar==="
+
avatar
);
Example
example
=
new
Example
(
MeepoUserQd
.
class
);
example
.
createCriteria
().
andEqualTo
(
"weId"
,
weId
).
andEqualTo
(
"rId"
,
rid
).
andEqualTo
(
"openId"
,
openId
);
List
<
MeepoUserQd
>
list
=
selectByExample
(
example
);
if
(
list
.
size
()>
0
){
log
.
info
(
"----已签到---meepoUserId==="
+
meepoUserId
+
"----openId==="
+
openId
);
return
;
}
MeepoUserQd
meepoUserQd
=
new
MeepoUserQd
();
meepoUserQd
.
setAvatar
(
avatar
);
meepoUserQd
.
setLevel
(
1
);
meepoUserQd
.
setNickName
(
nikeName
);
meepoUserQd
.
setOpenId
(
openId
);
meepoUserQd
.
setRId
(
rid
);
meepoUserQd
.
setWeId
(
weId
);
meepoUserQd
.
setCreateTime
(
System
.
currentTimeMillis
()/
1000L
);
insertSelective
(
meepoUserQd
);
}
}
xx-summit/xx-summit-server/src/main/java/com/xxfc/platform/summit/biz/UserBiz.java
0 → 100644
View file @
adb7ba58
package
com
.
xxfc
.
platform
.
summit
.
biz
;
import
cn.hutool.core.codec.Base64
;
import
com.alibaba.fastjson.JSONObject
;
import
com.github.wxiaoqi.security.common.biz.BaseBiz
;
import
com.github.wxiaoqi.security.common.exception.BaseException
;
import
com.github.wxiaoqi.security.common.util.process.ResultCode
;
import
com.xxfc.platform.summit.entity.Activity
;
import
com.xxfc.platform.summit.entity.ActivityBm
;
import
com.xxfc.platform.summit.entity.User
;
import
com.xxfc.platform.summit.mapper.UserMapper
;
import
com.xxfc.platform.summit.service.WeixinService
;
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
;
/**
* @author Administrator
*/
@Service
@Slf4j
public
class
UserBiz
extends
BaseBiz
<
UserMapper
,
User
>
{
@Autowired
private
ActivityBiz
activityBiz
;
@Autowired
private
ActivityBmBiz
activityBmBiz
;
@Autowired
WeixinService
weixinService
;
@Autowired
UserBiz
userBiz
;
public
static
final
String
frontSessionKey
=
"frontWeixKey"
;
public
Integer
addMeepoUser
(
User
user
,
Integer
activityId
){
Integer
userId
=
0
;
log
.
info
(
"-----activityId===="
+
activityId
);
if
(
user
==
null
||
StringUtils
.
isBlank
(
user
.
getOpenId
())||
activityId
==
null
||
activityId
==
0
){
log
.
info
(
"-----参数为空----"
);
return
userId
;
}
Activity
activity
=
activityBiz
.
selectById
(
activityId
);
if
(
activity
==
null
){
log
.
info
(
"-----活动不存在----"
);
return
userId
;
}
Integer
rId
=
activity
.
getRId
();
if
(
rId
==
null
||
rId
==
0
){
log
.
info
(
"-----没设置小程序抽奖活动id----"
);
return
userId
;
}
List
<
MeepoActivityVo
>
list
=
activityBmBiz
.
getMeepoActivitys
(
rId
);
if
(
list
.
size
()==
0
){
log
.
info
(
"-----小程序抽奖活动id不存在----"
);
return
userId
;
}
MeepoActivityVo
meepoActivityVo
=
list
.
get
(
0
);
Integer
weId
=
meepoActivityVo
.
getWeId
();
String
openId
=
user
.
getOpenId
();
Example
example
=
new
Example
(
User
.
class
);
example
.
createCriteria
().
andEqualTo
(
"weId"
,
weId
).
andEqualTo
(
"rId"
,
rId
).
andEqualTo
(
"openId"
,
openId
);
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
);
insertSelective
(
user
);
userId
=
user
.
getId
();
}
return
userId
;
}
public
void
authUser
(
String
code
,
String
key
,
HttpServletRequest
request
){
if
(
StringUtils
.
isBlank
(
code
)){
log
.
info
(
"----code为空---"
);
throw
new
BaseException
(
ResultCode
.
FAILED_CODE
,
Sets
.
newSet
(
"code为空"
));
}
String
openid
=
null
;
String
access_token
=
null
;
try
{
JSONObject
jsonData
=
weixinService
.
getAccessToken
(
code
);
openid
=
jsonData
.
getString
(
"openid"
);
access_token
=
jsonData
.
getString
(
"access_token"
);
String
refresh_token
=
jsonData
.
getString
(
"refresh_token"
);
log
.
info
(
"-----微信回调userInfo---openid=="
+
openid
+
"----access_token==="
+
access_token
);
//验证access_token是否失效
JSONObject
validateData
=
weixinService
.
getValidateData
(
access_token
,
openid
);
if
(!
"0"
.
equals
(
validateData
.
getString
(
"errcode"
))){
//刷新access_token
JSONObject
refreshData
=
weixinService
.
getRefreshToken
(
refresh_token
);
access_token
=
refreshData
.
getString
(
"access_token"
);
}
}
catch
(
Exception
e
){
e
.
printStackTrace
();
log
.
info
(
"网络异常==="
+
e
.
getMessage
());
throw
new
BaseException
(
ResultCode
.
FAILED_CODE
,
Sets
.
newSet
(
"网络异常"
));
}
try
{
// 获取微信用户基本信息
JSONObject
userinfo_json
=
weixinService
.
getUserInfo
(
access_token
,
openid
);
if
(
userinfo_json
==
null
||
StringUtils
.
isNotBlank
(
userinfo_json
.
getString
(
"errcode"
)))
{
log
.
info
(
"调用微信用户基本信息接口失败"
);
throw
new
BaseException
(
ResultCode
.
FAILED_CODE
,
Sets
.
newSet
(
"调用微信用户基本信息接口失败"
));
}
log
.
info
(
"微信用户基本信息---user==="
+
userinfo_json
.
toJSONString
());
ActivityBm
activityBm
=
activityBmBiz
.
userInfo
(
key
);
if
(
activityBm
==
null
){
log
.
info
(
"redis的报名信息为空"
);
throw
new
BaseException
(
ResultCode
.
FAILED_CODE
,
Sets
.
newSet
(
"redis的报名信息为空"
));
}
Integer
activityId
=
activityBm
.
getActivityId
();
if
(
activityId
==
null
||
activityId
==
0
){
log
.
info
(
"redis的报名信息activityId---为空"
);
throw
new
BaseException
(
ResultCode
.
FAILED_CODE
,
Sets
.
newSet
(
"redis的报名信息activityId---为空"
));
}
User
userInfo
=
new
User
();
String
nickName
=
userinfo_json
.
getString
(
"nickname"
);
String
headimgurl
=
userinfo_json
.
getString
(
"headimgurl"
);
String
sex
=
userinfo_json
.
getString
(
"sex"
);
if
(
StringUtils
.
isBlank
(
sex
)){
sex
=
"0"
;
}
userInfo
.
setOpenId
(
openid
);
userInfo
.
setNickName
(
nickName
);
userInfo
.
setAvatar
(
headimgurl
);
userInfo
.
setSex
(
sex
);
Integer
userId
=
userBiz
.
addMeepoUser
(
userInfo
,
activityId
);
log
.
info
(
"小程序用户---userId==="
+
userId
);
if
(
userId
==
null
||
userId
==
0
){
log
.
info
(
"小程序用户---userId---为空"
);
throw
new
BaseException
(
ResultCode
.
FAILED_CODE
,
Sets
.
newSet
(
"小程序用户---userId---为空"
));
}
String
encode
=
Base64
.
encode
(
JSONObject
.
toJSONString
(
userInfo
));
HttpSession
session
=
request
.
getSession
();
session
.
removeAttribute
(
frontSessionKey
);
session
.
setAttribute
(
frontSessionKey
,
encode
);
}
catch
(
Exception
e
)
{
log
.
info
(
"调用微信用户基本信息接口失败"
,
e
);
throw
new
BaseException
(
ResultCode
.
FAILED_CODE
,
Sets
.
newSet
(
"调用微信用户基本信息接口失败"
));
}
}
//获取缓存
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
;
}
}
public
User
getUserInfo
(
HttpServletRequest
request
,
Integer
activityId
){
User
user
=
getSession
(
request
);
if
(
user
!=
null
){
Integer
userId
=
addMeepoUser
(
user
,
activityId
);
if
(
userId
==
null
||
userId
==
0
){
return
null
;
}
return
user
;
}
return
null
;
}
}
xx-summit/xx-summit-server/src/main/java/com/xxfc/platform/summit/config/RedisConfiguration.java
View file @
adb7ba58
...
...
@@ -20,7 +20,7 @@ import org.springframework.data.redis.serializer.StringRedisSerializer;
public
class
RedisConfiguration
{
@Bean
public
RedisTemplate
<
String
,
Object
>
custom
RedisTemplate
(
RedisConnectionFactory
factory
)
{
public
RedisTemplate
<
String
,
Object
>
summbit
RedisTemplate
(
RedisConnectionFactory
factory
)
{
RedisTemplate
redisTemplate
=
new
RedisTemplate
();
redisTemplate
.
setConnectionFactory
(
factory
);
RedisSerializer
<
String
>
stringSerializer
=
new
StringRedisSerializer
();
...
...
xx-summit/xx-summit-server/src/main/java/com/xxfc/platform/summit/controller/ActivityController.java
View file @
adb7ba58
package
com
.
xxfc
.
platform
.
summit
.
controller
;
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
org.springframework.web.bind.annotation.RequestMapping
;
import
org.springframework.web.bind.annotation.
RestController
;
import
com.xxfc.platform.summit.pojo.ActivityQuery
;
import
org.springframework.web.bind.annotation.
*
;
/**
* @author Administrator
...
...
@@ -13,4 +14,22 @@ import org.springframework.web.bind.annotation.RestController;
@RequestMapping
(
"/activity"
)
public
class
ActivityController
extends
BaseController
<
ActivityBiz
,
Activity
>
{
@PostMapping
(
"/list"
)
public
ObjectRestResponse
getList
(
@RequestBody
ActivityQuery
query
){
return
ObjectRestResponse
.
succ
(
baseBiz
.
getList
(
query
));
}
@Override
@PutMapping
(
"/update"
)
public
ObjectRestResponse
update
(
@RequestBody
Activity
activity
){
if
(
baseBiz
.
update
(
activity
))
{
return
ObjectRestResponse
.
succ
();
}
return
ObjectRestResponse
.
createDefaultFail
();
}
}
xx-summit/xx-summit-server/src/main/java/com/xxfc/platform/summit/controller/AuthActivityController.java
0 → 100644
View file @
adb7ba58
package
com
.
xxfc
.
platform
.
summit
.
controller
;
import
com.github.wxiaoqi.security.auth.client.annotation.IgnoreClientToken
;
import
com.github.wxiaoqi.security.auth.client.annotation.IgnoreUserToken
;
import
com.github.wxiaoqi.security.common.msg.ObjectRestResponse
;
import
com.github.wxiaoqi.security.common.rest.BaseController
;
import
com.xxfc.platform.summit.biz.ActivityBmBiz
;
import
com.xxfc.platform.summit.biz.UserBiz
;
import
com.xxfc.platform.summit.entity.ActivityBm
;
import
com.xxfc.platform.summit.entity.User
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.web.bind.annotation.*
;
import
javax.servlet.http.HttpServletRequest
;
/**
* @author Administrator
*/
@RestController
@RequestMapping
(
"auth/activity"
)
@IgnoreClientToken
@IgnoreUserToken
public
class
AuthActivityController
extends
BaseController
<
ActivityBmBiz
,
ActivityBm
>
{
@Autowired
UserBiz
userBiz
;
@PostMapping
(
"app/unauth/bm"
)
public
ObjectRestResponse
bm
(
@RequestBody
ActivityBm
activityBm
,
HttpServletRequest
request
){
User
user
=
userBiz
.
getUserInfo
(
request
,
activityBm
.
getActivityId
());
try
{
return
baseBiz
.
userBmOrQd
(
activityBm
,
user
.
getId
());
}
catch
(
Exception
e
){
e
.
printStackTrace
();
return
ObjectRestResponse
.
createDefaultFail
();
}
}
@PostMapping
(
"app/unauth/qd"
)
public
ObjectRestResponse
qd
(
@RequestBody
ActivityBm
activityBm
,
HttpServletRequest
request
){
User
user
=
userBiz
.
getUserInfo
(
request
,
activityBm
.
getActivityId
());
try
{
return
baseBiz
.
userBmOrQd
(
activityBm
,
user
.
getId
());
}
catch
(
Exception
e
){
e
.
printStackTrace
();
return
ObjectRestResponse
.
createDefaultFail
();
}
}
}
xx-summit/xx-summit-server/src/main/java/com/xxfc/platform/summit/controller/FrontActivityController.java
0 → 100644
View file @
adb7ba58
package
com
.
xxfc
.
platform
.
summit
.
controller
;
import
com.github.wxiaoqi.security.auth.client.annotation.IgnoreClientToken
;
import
com.github.wxiaoqi.security.auth.client.annotation.IgnoreUserToken
;
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.biz.ActivityBmBiz
;
import
com.xxfc.platform.summit.entity.Activity
;
import
com.xxfc.platform.summit.pojo.ActivityQuery
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.web.bind.annotation.*
;
import
javax.servlet.http.HttpServletRequest
;
/**
* @author Administrator
*/
@RestController
@RequestMapping
(
"/front/activity"
)
@IgnoreUserToken
@IgnoreClientToken
public
class
FrontActivityController
extends
BaseController
<
ActivityBiz
,
Activity
>
{
@Autowired
private
ActivityBmBiz
activityBmBiz
;
@GetMapping
(
"app/unauth/info"
)
public
ObjectRestResponse
info
(
@RequestParam
(
value
=
"activityId"
,
defaultValue
=
"0"
)
Integer
activityId
,
@RequestParam
(
value
=
"key"
,
defaultValue
=
""
)
String
key
,
HttpServletRequest
request
){
return
activityBmBiz
.
getActivityById
(
activityId
,
key
,
request
);
}
}
xx-summit/xx-summit-server/src/main/java/com/xxfc/platform/summit/controller/WeixinController.java
View file @
adb7ba58
...
...
@@ -3,6 +3,10 @@ package com.xxfc.platform.summit.controller;
import
cn.hutool.core.codec.Base64
;
import
com.alibaba.fastjson.JSONObject
;
import
com.github.wxiaoqi.security.auth.client.annotation.IgnoreUserToken
;
import
com.xxfc.platform.summit.biz.ActivityBmBiz
;
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.service.WeixinService
;
import
com.xxfc.platform.summit.vo.UserInfo
;
import
lombok.extern.slf4j.Slf4j
;
...
...
@@ -26,10 +30,17 @@ import javax.servlet.http.HttpSession;
public
class
WeixinController
{
public
static
final
String
WECHAT_AUTOLOGIN_CALLBACKURL_KEY
=
"callback"
;
public
static
final
String
WECHAT_REDIS_KEY
=
"key"
;
@Autowired
WeixinService
weixinService
;
@Autowired
UserBiz
userBiz
;
@Autowired
ActivityBmBiz
activityBmBiz
;
public
static
final
String
frontSessionKey
=
"frontWeixKey"
;
@Value
(
"${wx.url}"
)
...
...
@@ -39,14 +50,15 @@ public class WeixinController {
@RequestMapping
(
value
=
"/app/unauth/wxLogin"
,
method
=
RequestMethod
.
GET
)
@IgnoreUserToken
public
String
index
(
@RequestParam
(
value
=
"redirec_url"
)
String
redirec_url
){
public
String
index
(
@RequestParam
(
value
=
"redirec_url"
)
String
redirec_url
,
@RequestParam
(
value
=
"key"
)
String
key
){
log
.
info
(
"-----微信wxLogin---redirec_url=="
+
redirec_url
);
if
(
StringUtils
.
isBlank
(
redirec_url
)){
redirec_url
=
""
;
}
try
{
String
encrypt_curr_url
=
Base64
.
encode
(
redirec_url
.
getBytes
(
"utf-8"
));
redirec_url
=
url
+
"?"
+
WECHAT_AUTOLOGIN_CALLBACKURL_KEY
+
"="
+
encrypt_curr_url
;
redirec_url
=
url
+
"?"
+
WECHAT_AUTOLOGIN_CALLBACKURL_KEY
+
"="
+
encrypt_curr_url
+
"&"
+
WECHAT_REDIS_KEY
+
"="
+
key
;
String
oauth_api
=
weixinService
.
getAuthorize
(
redirec_url
);
return
String
.
format
(
"redirect:"
+
oauth_api
);
}
catch
(
Exception
e
){
...
...
@@ -63,41 +75,20 @@ public class WeixinController {
* @return
*/
@GetMapping
(
value
=
"/app/unauth/userInfo"
)
public
String
getUserInformation
(
String
code
,
String
callback
,
HttpServletRequest
request
)
{
log
.
info
(
"-----微信回调userInfo---code=="
+
code
+
"----redirec_url==="
+
callback
);
if
(
StringUtils
.
isBlank
(
code
)){
log
.
info
(
"----code为空---"
);
return
String
.
format
(
"code为空"
);
}
public
String
getUserInformation
(
String
code
,
String
callback
,
String
key
,
HttpServletRequest
request
)
{
log
.
info
(
"-----微信回调userInfo---code=="
+
code
+
"----redirec_url==="
+
callback
+
"---key==="
+
key
);
try
{
JSONObject
jsonData
=
weixinService
.
getAccessToken
(
code
);
String
openid
=
jsonData
.
getString
(
"openid"
);
String
access_token
=
jsonData
.
getString
(
"access_token"
);
String
refresh_token
=
jsonData
.
getString
(
"refresh_token"
);
log
.
info
(
"-----微信回调userInfo---openid=="
+
openid
+
"----access_token==="
+
access_token
);
HttpSession
session
=
request
.
getSession
();
//验证access_token是否失效
JSONObject
validateData
=
weixinService
.
getValidateData
(
access_token
,
openid
);
if
(!
"0"
.
equals
(
validateData
.
getString
(
"errcode"
))){
//刷新access_token
JSONObject
refreshData
=
weixinService
.
getRefreshToken
(
refresh_token
);
access_token
=
refreshData
.
getString
(
"access_token"
);
}
UserInfo
userInfo
=
new
UserInfo
();
userInfo
.
setOpenId
(
openid
);
log
.
info
(
"UserInfo==="
+
JSONObject
.
toJSONString
(
userInfo
));
String
encode
=
Base64
.
encode
(
JSONObject
.
toJSONString
(
userInfo
));
session
.
removeAttribute
(
frontSessionKey
);
session
.
setAttribute
(
frontSessionKey
,
encode
);
userBiz
.
authUser
(
code
,
key
,
request
);
callback
=
new
String
(
Base64
.
decode
(
callback
),
"utf-8"
);
log
.
info
(
"callback==="
+
callback
);
return
String
.
format
(
"redirect:"
+
callback
);
}
catch
(
Exception
e
){
e
.
printStackTrace
();
log
.
info
(
"网络异常==="
+
e
.
getMessage
());
return
String
.
format
(
"网络异常"
);
}
return
String
.
format
(
"redirect:"
+
callback
);
}
}
xx-summit/xx-summit-server/src/main/java/com/xxfc/platform/summit/interceptor/WeChatH5LoginInterceoptor.java
View file @
adb7ba58
package
com
.
xxfc
.
platform
.
summit
.
interceptor
;
import
javax.servlet.http.HttpServletRequest
;
import
javax.servlet.http.HttpServletResponse
;
import
javax.servlet.http.HttpSession
;
import
cn.hutool.core.codec.Base64
;
import
com.alibaba.fastjson.JSON
;
import
com.github.wxiaoqi.security.common.msg.ObjectRestResponse
;
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
com.xxfc.platform.summit.vo.UserInfo
;
import
lombok.extern.slf4j.Slf4j
;
import
org.apache.commons.lang3.StringUtils
;
import
org.apache.commons.lang3.StringUtils
;
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.
beans.factory.annotation.Valu
e
;
import
org.springframework.
data.redis.core.RedisTemplat
e
;
import
org.springframework.web.servlet.handler.HandlerInterceptorAdapter
;
import
com.alibaba.fastjson.JSONObject
;
import
java.io.PrintWriter
;
import
java.io.BufferedReader
;
import
java.util.HashMap
;
import
java.util.Map
;
import
java.util.UUID
;
import
java.util.concurrent.TimeUnit
;
/**
* 微信登陆拦截器
...
...
@@ -29,38 +31,72 @@ import java.io.PrintWriter;
@Slf4j
public
class
WeChatH5LoginInterceoptor
extends
HandlerInterceptorAdapter
{
/**
* 微信公众号自动登陆令牌的url参数名
*/
public
static
final
String
frontSessionKey
=
"frontWeixKey"
;
@Autowired
WeixinService
weixinService
;
@Autowired
UserBiz
userBiz
;
@Autowired
private
RedisTemplate
summbitRedisTemplate
;
@Override
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
());
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
=
redisInfo
(
request
);
Map
<
String
,
Object
>
result
=
new
HashMap
<>();
JSONObject
json
=
new
JSONObject
();
json
.
put
(
"status"
,
1001
);
json
.
put
(
"data"
,
"https://dev.dfangche.com/api/summit/auth/app/unauth/wxLogin?redirec_url=https://dev.dfangche.com/h5/appHtml/view/wxh5/index.html"
);
response
.
getWriter
().
write
(
json
.
toJSONString
());
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
redisInfo
(
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
=
summbitRedisTemplate
.
opsForValue
().
setIfAbsent
(
redisLockKey
,
jb
);
if
(
suc
)
{
summbitRedisTemplate
.
expire
(
redisLockKey
,
5
,
TimeUnit
.
MINUTES
);
//5分钟内过期
}
}
return
redisLockKey
;
}
}
xx-summit/xx-summit-server/src/main/java/com/xxfc/platform/summit/mapper/ActivityBmMapper.java
0 → 100644
View file @
adb7ba58
package
com
.
xxfc
.
platform
.
summit
.
mapper
;
import
com.xxfc.platform.summit.entity.ActivityBm
;
import
com.xxfc.platform.summit.vo.MeepoActivityVo
;
import
org.apache.ibatis.annotations.Param
;
import
tk.mybatis.mapper.common.Mapper
;
import
java.util.List
;
/**
* @author Administrator
*/
public
interface
ActivityBmMapper
extends
Mapper
<
ActivityBm
>
{
List
<
MeepoActivityVo
>
getMeepoActivitys
(
@Param
(
"rId"
)
Integer
rId
);
}
xx-summit/xx-summit-
api
/src/main/java/com/xxfc/platform/summit/mapper/ActivityMapper.java
→
xx-summit/xx-summit-
server
/src/main/java/com/xxfc/platform/summit/mapper/ActivityMapper.java
View file @
adb7ba58
File moved
xx-summit/xx-summit-
api
/src/main/java/com/xxfc/platform/summit/mapper/ActivityShowMapper.java
→
xx-summit/xx-summit-
server
/src/main/java/com/xxfc/platform/summit/mapper/ActivityShowMapper.java
View file @
adb7ba58
File moved
xx-summit/xx-summit-server/src/main/java/com/xxfc/platform/summit/mapper/MeepoUserQdMapper.java
0 → 100644
View file @
adb7ba58
package
com
.
xxfc
.
platform
.
summit
.
mapper
;
import
com.xxfc.platform.summit.entity.MeepoUserQd
;
import
tk.mybatis.mapper.common.Mapper
;
/**
* @author Administrator
*/
public
interface
MeepoUserQdMapper
extends
Mapper
<
MeepoUserQd
>
{
}
xx-summit/xx-summit-server/src/main/java/com/xxfc/platform/summit/mapper/UserMapper.java
0 → 100644
View file @
adb7ba58
package
com
.
xxfc
.
platform
.
summit
.
mapper
;
import
com.xxfc.platform.summit.entity.User
;
import
tk.mybatis.mapper.common.Mapper
;
/**
* @author Administrator
*/
public
interface
UserMapper
extends
Mapper
<
User
>
{
}
xx-summit/xx-summit-server/src/main/resources/mapper/ActivityBmMapper.xml
0 → 100644
View file @
adb7ba58
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper
namespace=
"com.xxfc.platform.summit.mapper.ActivityBmMapper"
>
<select
id=
"getMeepoActivitys"
resultType=
"com.xxfc.platform.summit.vo.MeepoActivityVo"
>
SELECT
id as rId,
weid as weId,
title as title
FROM ims_meepo_xianchang_rid
<where>
<if
test=
"rId!=null and rId!=0 "
>
id=#{rId}
</if>
</where>
ORDER BY id DESC
</select>
</mapper>
\ No newline at end of file
xx-summit/xx-summit-server/src/main/resources/mapper/MeepoUserQdMapper.xml
0 → 100644
View file @
adb7ba58
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper
namespace=
"com.xxfc.platform.summit.mapper.MeepoUserQdMapper"
>
</mapper>
\ No newline at end of file
xx-summit/xx-summit-server/src/main/resources/mapper/UserMapper.xml
0 → 100644
View file @
adb7ba58
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper
namespace=
"com.xxfc.platform.summit.mapper.UserMapper"
>
</mapper>
\ No newline at end of file
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