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
448e194d
Commit
448e194d
authored
Sep 24, 2019
by
jiaorz
Browse files
Options
Browse Files
Download
Plain Diff
Merge remote-tracking branch 'origin/dev' into dev
parents
43fb6b29
8189aa53
Changes
54
Expand all
Hide whitespace changes
Inline
Side-by-side
Showing
54 changed files
with
2381 additions
and
0 deletions
+2381
-0
BaseBiz.java
.../java/com/github/wxiaoqi/security/common/biz/BaseBiz.java
+1
-0
UserAgentUtil.java
...om/github/wxiaoqi/security/common/util/UserAgentUtil.java
+24
-0
DemoController.java
...om/github/wxiaoqi/security/admin/rest/DemoController.java
+49
-0
pom.xml
pom.xml
+1
-0
pom.xml
xx-summit/pom.xml
+20
-0
pom.xml
xx-summit/xx-summit-api/pom.xml
+23
-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
+152
-0
ActivityBm.java
...main/java/com/xxfc/platform/summit/entity/ActivityBm.java
+73
-0
ActivityShow.java
...in/java/com/xxfc/platform/summit/entity/ActivityShow.java
+44
-0
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
SummitFeign.java
...main/java/com/xxfc/platform/summit/feign/SummitFeign.java
+17
-0
AccessType.java
...c/main/java/com/xxfc/platform/summit/pojo/AccessType.java
+25
-0
ActivityBmQuery.java
...n/java/com/xxfc/platform/summit/pojo/ActivityBmQuery.java
+12
-0
ActivityQuery.java
...ain/java/com/xxfc/platform/summit/pojo/ActivityQuery.java
+17
-0
Query.java
...pi/src/main/java/com/xxfc/platform/summit/pojo/Query.java
+12
-0
HttpRequestUtil.java
...n/java/com/xxfc/platform/summit/util/HttpRequestUtil.java
+72
-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
+14
-0
pom.xml
xx-summit/xx-summit-server/pom.xml
+43
-0
SummitApplication.java
...main/java/com/xxfc/platform/summit/SummitApplication.java
+30
-0
ActivityBiz.java
...c/main/java/com/xxfc/platform/summit/biz/ActivityBiz.java
+99
-0
ActivityBmBiz.java
...main/java/com/xxfc/platform/summit/biz/ActivityBmBiz.java
+250
-0
ActivityShowBiz.java
...in/java/com/xxfc/platform/summit/biz/ActivityShowBiz.java
+52
-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
+35
-0
RestConfiguration.java
...va/com/xxfc/platform/summit/config/RestConfiguration.java
+18
-0
SwaggerConfig.java
...n/java/com/xxfc/platform/summit/config/SwaggerConfig.java
+56
-0
WebConfiguration.java
...ava/com/xxfc/platform/summit/config/WebConfiguration.java
+46
-0
ActivityBmController.java
...xxfc/platform/summit/controller/ActivityBmController.java
+47
-0
ActivityController.java
...m/xxfc/platform/summit/controller/ActivityController.java
+42
-0
ActivityShowController.java
...fc/platform/summit/controller/ActivityShowController.java
+32
-0
AuthActivityController.java
...fc/platform/summit/controller/AuthActivityController.java
+56
-0
FrontActivityController.java
...c/platform/summit/controller/FrontActivityController.java
+43
-0
IndexController.java
.../com/xxfc/platform/summit/controller/IndexController.java
+34
-0
WeixinController.java
...com/xxfc/platform/summit/controller/WeixinController.java
+94
-0
ActivityShowDto.java
...in/java/com/xxfc/platform/summit/dto/ActivityShowDto.java
+12
-0
WeChatH5LoginInterceoptor.java
...latform/summit/interceptor/WeChatH5LoginInterceoptor.java
+102
-0
ActivityBmMapper.java
...ava/com/xxfc/platform/summit/mapper/ActivityBmMapper.java
+21
-0
ActivityMapper.java
.../java/com/xxfc/platform/summit/mapper/ActivityMapper.java
+13
-0
ActivityShowMapper.java
...a/com/xxfc/platform/summit/mapper/ActivityShowMapper.java
+13
-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
WeixinService.java
.../java/com/xxfc/platform/summit/service/WeixinService.java
+68
-0
application.yml
...ummit/xx-summit-server/src/main/resources/application.yml
+7
-0
bootstrap.yml
xx-summit/xx-summit-server/src/main/resources/bootstrap.yml
+36
-0
logback.xml
xx-summit/xx-summit-server/src/main/resources/logback.xml
+49
-0
ActivityBmMapper.xml
...mit-server/src/main/resources/mapper/ActivityBmMapper.xml
+19
-0
ActivityMapper.xml
...ummit-server/src/main/resources/mapper/ActivityMapper.xml
+5
-0
ActivityShowMapper.xml
...t-server/src/main/resources/mapper/ActivityShowMapper.xml
+15
-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 @
448e194d
...
@@ -125,4 +125,5 @@ public abstract class BaseBiz<M extends Mapper<T>, T> {
...
@@ -125,4 +125,5 @@ public abstract class BaseBiz<M extends Mapper<T>, T> {
return
new
TableResultResponse
<
T
>(
result
.
getTotal
(),
list
);
return
new
TableResultResponse
<
T
>(
result
.
getTotal
(),
list
);
}
}
}
}
ace-common/src/main/java/com/github/wxiaoqi/security/common/util/UserAgentUtil.java
0 → 100644
View file @
448e194d
package
com
.
github
.
wxiaoqi
.
security
.
common
.
util
;
import
javax.servlet.http.HttpServletRequest
;
public
class
UserAgentUtil
{
/**
* 关键字: 微信浏览器
*/
public
static
final
String
KEY_WEIXIN_BROWSER
=
"micromessenger"
;
/**
* 判断是否微信浏览器
*
* @param user_agent
* @return
*/
public
static
boolean
isWexinBrowser
(
HttpServletRequest
request
)
{
// 可能会出现npe
String
user_agent
=
""
;
user_agent
=
request
.
getHeader
(
"user-agent"
);
// 修改如下
return
user_agent
!=
null
&&
user_agent
.
toLowerCase
().
indexOf
(
KEY_WEIXIN_BROWSER
)
>
0
;
}
}
ace-modules/ace-admin/src/main/java/com/github/wxiaoqi/security/admin/rest/DemoController.java
0 → 100644
View file @
448e194d
package
com
.
github
.
wxiaoqi
.
security
.
admin
.
rest
;
import
com.github.wxiaoqi.security.admin.biz.*
;
import
com.github.wxiaoqi.security.admin.entity.*
;
import
com.github.wxiaoqi.security.admin.feign.dto.AppUserDTO
;
import
com.github.wxiaoqi.security.admin.vo.AppUserGroups
;
import
com.github.wxiaoqi.security.admin.vo.AppUserInfoVo
;
import
com.github.wxiaoqi.security.admin.vo.AppUserVo
;
import
com.github.wxiaoqi.security.admin.vo.UserMemberVo
;
import
com.github.wxiaoqi.security.auth.client.annotation.IgnoreClientToken
;
import
com.github.wxiaoqi.security.auth.client.annotation.IgnoreUserToken
;
import
com.github.wxiaoqi.security.auth.client.config.UserAuthConfig
;
import
com.github.wxiaoqi.security.auth.client.jwt.UserAuthUtil
;
import
com.github.wxiaoqi.security.auth.common.util.jwt.IJWTInfo
;
import
com.github.wxiaoqi.security.common.exception.BaseException
;
import
com.github.wxiaoqi.security.common.msg.ObjectRestResponse
;
import
com.github.wxiaoqi.security.common.msg.TableResultResponse
;
import
com.github.wxiaoqi.security.common.rest.CommonBaseController
;
import
com.github.wxiaoqi.security.common.util.Query
;
import
com.github.wxiaoqi.security.common.util.process.ResultCode
;
import
com.xxfc.platform.order.feign.OrderFeign
;
import
io.swagger.annotations.ApiOperation
;
import
lombok.extern.slf4j.Slf4j
;
import
org.apache.commons.beanutils.BeanUtils
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.stereotype.Controller
;
import
org.springframework.web.bind.annotation.*
;
import
javax.servlet.http.HttpServletRequest
;
import
java.util.List
;
import
java.util.Map
;
import
static
com
.
github
.
wxiaoqi
.
security
.
common
.
constant
.
CommonConstants
.
SYS_TRUE
;
/**
* @author keliii
*/
@Controller
@RequestMapping
(
"demo"
)
@Slf4j
public
class
DemoController
extends
CommonBaseController
{
@GetMapping
(
"/app/unauth/test"
)
@IgnoreUserToken
@IgnoreClientToken
public
String
test
()
{
return
String
.
format
(
"redirect:https://xxtest.upyuns.com/h5/appHtml/view/travelDetails.html?id=96&shareType=app"
);
}
}
pom.xml
View file @
448e194d
...
@@ -47,6 +47,7 @@
...
@@ -47,6 +47,7 @@
<module>
xx-activity
</module>
<module>
xx-activity
</module>
<module>
xx-user-behavior-collect
</module>
<module>
xx-user-behavior-collect
</module>
<module>
xx-uccn
</module>
<module>
xx-uccn
</module>
<module>
xx-summit
</module>
</modules>
</modules>
<packaging>
pom
</packaging>
<packaging>
pom
</packaging>
<developers>
<developers>
...
...
xx-summit/pom.xml
0 → 100644
View file @
448e194d
<?xml version="1.0" encoding="UTF-8"?>
<project
xmlns=
"http://maven.apache.org/POM/4.0.0"
xmlns:xsi=
"http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation=
"http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"
>
<parent>
<artifactId>
ace-security
</artifactId>
<groupId>
com.github.wxiaoqi
</groupId>
<version>
2.0-SNAPSHOT
</version>
</parent>
<modelVersion>
4.0.0
</modelVersion>
<artifactId>
xx-summit
</artifactId>
<packaging>
pom
</packaging>
<modules>
<module>
xx-summit-api
</module>
<module>
xx-summit-server
</module>
</modules>
</project>
\ No newline at end of file
xx-summit/xx-summit-api/pom.xml
0 → 100644
View file @
448e194d
<?xml version="1.0" encoding="UTF-8"?>
<project
xmlns=
"http://maven.apache.org/POM/4.0.0"
xmlns:xsi=
"http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation=
"http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"
>
<parent>
<groupId>
com.xxfc.common
</groupId>
<artifactId>
xx-common-platform
</artifactId>
<version>
2.0-SNAPSHOT
</version>
</parent>
<modelVersion>
4.0.0
</modelVersion>
<groupId>
com.xxfc.platform
</groupId>
<artifactId>
xx-summit-api
</artifactId>
<dependencies>
<dependency>
<groupId>
com.xxfc.platform
</groupId>
<artifactId>
xx-universal-api
</artifactId>
<version>
2.0-SNAPSHOT
</version>
</dependency>
</dependencies>
</project>
\ No newline at end of file
xx-summit/xx-summit-api/src/main/java/com/xxfc/platform/summit/constant/RedisKey.java
0 → 100644
View file @
448e194d
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
0 → 100644
View file @
448e194d
package
com
.
xxfc
.
platform
.
summit
.
entity
;
import
io.swagger.annotations.ApiModel
;
import
io.swagger.annotations.ApiModelProperty
;
import
lombok.Data
;
import
javax.persistence.*
;
import
java.math.BigDecimal
;
/**
* 文章实体
*
* @author Administrator
*/
@Data
@Table
(
name
=
"fc_activity"
)
@Entity
@ApiModel
(
value
=
"峰会活动表"
)
public
class
Activity
{
@Id
@GeneratedValue
(
generator
=
"JDBC"
)
private
Integer
id
;
@Column
(
name
=
"rid"
)
@ApiModelProperty
(
"抽奖活动id"
)
private
Integer
rId
;
@Column
(
name
=
"title"
)
@ApiModelProperty
(
"活动主标题"
)
private
String
title
;
@Column
(
name
=
"subtitle"
)
@ApiModelProperty
(
"副标题(不展示)"
)
private
String
subtitle
;
@Column
(
name
=
"banner"
)
@ApiModelProperty
(
"活动主图"
)
private
String
banner
;
@Column
(
name
=
"start_time"
)
@ApiModelProperty
(
"开始时间"
)
private
Long
startTime
;
@Column
(
name
=
"end_time"
)
@ApiModelProperty
(
"结束时间"
)
private
Long
endTime
;
@Column
(
name
=
"bm_close_time"
)
@ApiModelProperty
(
"报名截止时间(不展示)"
)
private
String
bmCloseTime
;
@Column
(
name
=
"province_code"
)
@ApiModelProperty
(
"省编码"
)
private
Integer
provinceCode
;
@Column
(
name
=
"province"
)
@ApiModelProperty
(
"省"
)
private
String
province
;
@Column
(
name
=
"city_code"
)
@ApiModelProperty
(
"市编码"
)
private
Integer
cityCode
;
@Column
(
name
=
"city"
)
@ApiModelProperty
(
"市"
)
private
String
city
;
@Column
(
name
=
"town_code"
)
@ApiModelProperty
(
"县/镇 编码"
)
private
Integer
townCode
;
@Column
(
name
=
"town"
)
@ApiModelProperty
(
"县/镇"
)
private
String
town
;
@Column
(
name
=
"address"
)
@ApiModelProperty
(
"活动场地(地址格式)"
)
private
String
address
;
@Column
(
name
=
"latitude"
)
@ApiModelProperty
(
"纬度(不展示"
)
private
BigDecimal
latitude
;
@Column
(
name
=
"longitude"
)
@ApiModelProperty
(
"经度 (不展示)"
)
private
BigDecimal
longitude
;
@Column
(
name
=
"content"
)
@ApiModelProperty
(
"活动图文内容"
)
private
String
content
;
@Column
(
name
=
"is_show"
)
@ApiModelProperty
(
"活动开关(1开,0关)"
)
private
Integer
isShow
;
@Column
(
name
=
"is_open_bm"
)
@ApiModelProperty
(
"报名开关(1开,0关)"
)
private
Integer
isOpenBm
;
@Column
(
name
=
"is_publish"
)
@ApiModelProperty
(
"0是未发布,1是已发布"
)
private
Integer
isPublish
;
@Column
(
name
=
"status"
)
@ApiModelProperty
(
"0-默认;1-报名中,2-进行中;3-已结束"
)
private
Integer
status
;
@Column
(
name
=
"act_desc"
)
@ApiModelProperty
(
"活动对象说明(不展示)"
)
private
String
actDesc
;
@Column
(
name
=
"process_json"
)
@ApiModelProperty
(
"活动流程"
)
private
String
processJson
;
@Column
(
name
=
"type"
)
@ApiModelProperty
(
"活动类型(保留,不展示)"
)
private
Integer
type
;
@Column
(
name
=
"limit_num"
)
@ApiModelProperty
(
"总人数限制"
)
private
Integer
limitNum
;
@Column
(
name
=
"bm_num"
)
@ApiModelProperty
(
"已报名人数"
)
private
Integer
bmNum
;
@Column
(
name
=
"qd_num"
)
@ApiModelProperty
(
"已签到人数"
)
private
Integer
qdNum
;
@Column
(
name
=
"rank"
)
@ApiModelProperty
(
"排序"
)
private
Integer
rank
;
@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/ActivityBm.java
0 → 100644
View file @
448e194d
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
=
"qd_status"
)
@ApiModelProperty
(
"0-未签到;1-已签到"
)
private
Integer
qdStatus
;
@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
0 → 100644
View file @
448e194d
package
com
.
xxfc
.
platform
.
summit
.
entity
;
import
io.swagger.annotations.Api
;
import
io.swagger.annotations.ApiModelProperty
;
import
lombok.Data
;
import
org.junit.Test
;
import
javax.persistence.Column
;
import
javax.persistence.GeneratedValue
;
import
javax.persistence.Id
;
import
javax.persistence.Table
;
/**
* @author Administrator
*/
@Data
@Table
(
name
=
"fc_activity_show"
)
public
class
ActivityShow
{
@Id
@GeneratedValue
(
generator
=
"JDBC"
)
private
Integer
id
;
@Column
(
name
=
"activity_id"
)
@ApiModelProperty
(
"活动id"
)
private
Integer
activityId
;
@Column
(
name
=
"type"
)
@ApiModelProperty
(
"1-图片;2-视频"
)
private
Integer
type
;
@Column
(
name
=
"path"
)
@ApiModelProperty
(
"图片或视频路径"
)
private
String
path
;
@Column
(
name
=
"crt_time"
)
@ApiModelProperty
(
"创建时间"
)
private
Long
crtTime
;
@Column
(
name
=
"is_del"
)
@ApiModelProperty
(
"是否删除:0-正常;1-删除"
)
private
Integer
isDel
;
}
xx-summit/xx-summit-api/src/main/java/com/xxfc/platform/summit/entity/MeepoUserQd.java
0 → 100644
View file @
448e194d
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 @
448e194d
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/feign/SummitFeign.java
0 → 100644
View file @
448e194d
package
com
.
xxfc
.
platform
.
summit
.
feign
;
import
org.springframework.cloud.openfeign.FeignClient
;
/**
* ${DESCRIPTION}
*
* @author wanghaobin
* @create 2017-06-21 8:11
*/
@FeignClient
(
value
=
"xx-summit"
)
public
interface
SummitFeign
{
}
xx-summit/xx-summit-api/src/main/java/com/xxfc/platform/summit/pojo/AccessType.java
0 → 100644
View file @
448e194d
package
com
.
xxfc
.
platform
.
summit
.
pojo
;
import
lombok.Data
;
public
enum
AccessType
{
BACKSTAGE
(
1
,
"后台管理页面"
),
PUBLIC
(
2
,
"公众号"
)
;
AccessType
(
int
code
,
String
mas
)
{
}
private
Integer
code
;
private
String
mas
;
public
Integer
getCode
()
{
return
code
;
}
public
String
getMas
()
{
return
mas
;
}
}
xx-summit/xx-summit-api/src/main/java/com/xxfc/platform/summit/pojo/ActivityBmQuery.java
0 → 100644
View file @
448e194d
package
com
.
xxfc
.
platform
.
summit
.
pojo
;
import
lombok.Data
;
@Data
public
class
ActivityBmQuery
extends
Query
{
private
String
inviter
;
private
String
name
;
private
Integer
qdStatus
;
private
Integer
activityId
;
}
xx-summit/xx-summit-api/src/main/java/com/xxfc/platform/summit/pojo/ActivityQuery.java
0 → 100644
View file @
448e194d
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
;
/**
* 1.管理后台,2.h5页面
*/
private
Integer
type
;
}
xx-summit/xx-summit-api/src/main/java/com/xxfc/platform/summit/pojo/Query.java
0 → 100644
View file @
448e194d
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/util/HttpRequestUtil.java
0 → 100644
View file @
448e194d
package
com
.
xxfc
.
platform
.
summit
.
util
;
import
lombok.extern.slf4j.Slf4j
;
import
org.apache.http.HttpResponse
;
import
org.apache.http.client.methods.HttpGet
;
import
org.apache.http.client.methods.HttpPost
;
import
org.apache.http.impl.client.DefaultHttpClient
;
import
org.apache.http.util.EntityUtils
;
import
java.io.IOException
;
import
java.net.URLDecoder
;
@Slf4j
public
class
HttpRequestUtil
{
/**
* post请求
* @param url url地址
* @return
*/
public
static
String
httpPost
(
String
url
){
//post请求返回结果
DefaultHttpClient
httpClient
=
new
DefaultHttpClient
();
HttpPost
method
=
new
HttpPost
(
url
);
String
str
=
""
;
try
{
HttpResponse
result
=
httpClient
.
execute
(
method
);
url
=
URLDecoder
.
decode
(
url
,
"UTF-8"
);
/**请求发送成功,并得到响应**/
if
(
result
.
getStatusLine
().
getStatusCode
()
==
200
)
{
try
{
/**读取服务器返回过来的json字符串数据**/
str
=
EntityUtils
.
toString
(
result
.
getEntity
(),
"UTF-8"
);
}
catch
(
Exception
e
)
{
log
.
error
(
"post请求提交失败:"
+
url
,
e
);
}
}
}
catch
(
IOException
e
)
{
log
.
error
(
"post请求提交失败:"
+
url
,
e
);
}
return
str
;
}
/**
* 发送get请求
* @param url 路径
* @return
*/
public
static
String
httpGet
(
String
url
){
//get请求返回结果
String
strResult
=
null
;
try
{
DefaultHttpClient
client
=
new
DefaultHttpClient
();
//发送get请求
HttpGet
request
=
new
HttpGet
(
url
);
HttpResponse
response
=
client
.
execute
(
request
);
/**请求发送成功,并得到响应**/
if
(
response
.
getStatusLine
().
getStatusCode
()
==
org
.
apache
.
http
.
HttpStatus
.
SC_OK
)
{
/**读取服务器返回过来的json字符串数据**/
strResult
=
EntityUtils
.
toString
(
response
.
getEntity
(),
"UTF-8"
);
}
else
{
log
.
error
(
"get请求提交失败:"
+
url
);
}
}
catch
(
IOException
e
)
{
log
.
error
(
"get请求提交失败:"
+
url
,
e
);
}
return
strResult
;
}
}
xx-summit/xx-summit-api/src/main/java/com/xxfc/platform/summit/vo/MeepoActivityVo.java
0 → 100644
View file @
448e194d
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
0 → 100644
View file @
448e194d
package
com
.
xxfc
.
platform
.
summit
.
vo
;
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/pom.xml
0 → 100644
View file @
448e194d
<?xml version="1.0" encoding="UTF-8"?>
<project
xmlns=
"http://maven.apache.org/POM/4.0.0"
xmlns:xsi=
"http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation=
"http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"
>
<parent>
<artifactId>
xx-common-platform-web
</artifactId>
<groupId>
com.xxfc.common
</groupId>
<version>
2.0-SNAPSHOT
</version>
</parent>
<modelVersion>
4.0.0
</modelVersion>
<groupId>
com.xxfc.platform
</groupId>
<artifactId>
xx-summit-server
</artifactId>
<dependencies>
<dependency>
<groupId>
com.xxfc.platform
</groupId>
<artifactId>
xx-summit-api
</artifactId>
<version>
2.0-SNAPSHOT
</version>
<scope>
compile
</scope>
</dependency>
</dependencies>
<build>
<finalName>
xx-summit
</finalName>
<plugins>
<plugin>
<groupId>
org.springframework.boot
</groupId>
<artifactId>
spring-boot-maven-plugin
</artifactId>
</plugin>
<plugin>
<groupId>
org.apache.maven.plugins
</groupId>
<artifactId>
maven-compiler-plugin
</artifactId>
<configuration>
<source>
1.8
</source>
<target>
1.8
</target>
</configuration>
</plugin>
</plugins>
</build>
</project>
\ No newline at end of file
xx-summit/xx-summit-server/src/main/java/com/xxfc/platform/summit/SummitApplication.java
0 → 100644
View file @
448e194d
package
com
.
xxfc
.
platform
.
summit
;
import
com.ace.cache.EnableAceCache
;
import
com.github.wxiaoqi.security.api.vo.config.HeaderConfig
;
import
com.github.wxiaoqi.security.auth.client.EnableAceAuthClient
;
import
com.github.wxiaoqi.security.common.annotation.AddBasicConfiguration
;
import
org.springframework.boot.SpringApplication
;
import
org.springframework.boot.autoconfigure.SpringBootApplication
;
import
org.springframework.cloud.client.discovery.EnableDiscoveryClient
;
import
org.springframework.cloud.openfeign.EnableFeignClients
;
import
org.springframework.scheduling.annotation.EnableScheduling
;
import
org.springframework.transaction.annotation.EnableTransactionManagement
;
@SpringBootApplication
(
scanBasePackages
=
{
"com.xxfc.platform"
,
"com.github.wxiaoqi.security.common.handler"
})
@EnableDiscoveryClient
@EnableAceAuthClient
@EnableScheduling
@EnableAceCache
@EnableTransactionManagement
@AddBasicConfiguration
@tk
.
mybatis
.
spring
.
annotation
.
MapperScan
(
basePackages
=
"com.xxfc.platform.summit.mapper"
)
@EnableFeignClients
(
value
=
{
"com.xxfc.platform"
,
"com.github.wxiaoqi.security"
},
defaultConfiguration
=
HeaderConfig
.
class
)
public
class
SummitApplication
{
public
static
void
main
(
String
[]
args
)
{
SpringApplication
.
run
(
SummitApplication
.
class
,
args
);
}
}
xx-summit/xx-summit-server/src/main/java/com/xxfc/platform/summit/biz/ActivityBiz.java
0 → 100644
View file @
448e194d
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.AccessType
;
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
;
private
Activity
activity
;
/**
* 已发布
*/
private
Integer
PUBLISHED
=
1
;
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"
,
String
.
format
(
"%%%s%%"
,
query
.
getTitle
().
trim
()));
}
if
(
query
.
getStartTime
()!=
null
)
{
criteria
.
andLike
(
"startTime"
,
query
.
getStartTime
()/
1000
+
"%"
);
}
if
(
query
.
getStatus
()!=
null
)
{
criteria
.
andEqualTo
(
"status"
,
query
.
getStatus
());
}
if
(
query
.
getType
()!=
null
&&
AccessType
.
PUBLIC
.
getCode
().
equals
(
query
.
getType
()))
{
criteria
.
andEqualTo
(
"isPublish"
,
PUBLISHED
);
}
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
;
}
}
@Transactional
(
rollbackFor
=
Exception
.
class
)
public
boolean
add
(
Activity
activity
)
{
try
{
activity
.
setCrtTime
(
System
.
currentTimeMillis
());
activity
.
setIsDel
(
0
);
if
(
activity
.
getIsOpenBm
()==
null
)
{
activity
.
setIsOpenBm
(
0
);
}
if
(
activity
.
getIsPublish
()==
null
)
{
activity
.
setIsPublish
(
0
);
}
if
(
activity
.
getIsShow
()==
null
)
{
activity
.
setIsShow
(
0
);
}
mapper
.
insertSelective
(
activity
);
return
true
;
}
catch
(
Exception
e
)
{
e
.
printStackTrace
();
TransactionAspectSupport
.
currentTransactionStatus
().
setRollbackOnly
();
return
false
;
}
}
@Override
public
void
updateSelectiveById
(
Activity
activity
)
{
activity
.
setUpdTime
(
System
.
currentTimeMillis
());
mapper
.
updateByPrimaryKeySelective
(
activity
);
}
}
xx-summit/xx-summit-server/src/main/java/com/xxfc/platform/summit/biz/ActivityBmBiz.java
0 → 100644
View file @
448e194d
This diff is collapsed.
Click to expand it.
xx-summit/xx-summit-server/src/main/java/com/xxfc/platform/summit/biz/ActivityShowBiz.java
0 → 100644
View file @
448e194d
package
com
.
xxfc
.
platform
.
summit
.
biz
;
import
com.github.wxiaoqi.security.common.biz.BaseBiz
;
import
com.xxfc.platform.summit.dto.ActivityShowDto
;
import
com.xxfc.platform.summit.entity.Activity
;
import
com.xxfc.platform.summit.entity.ActivityShow
;
import
com.xxfc.platform.summit.mapper.ActivityShowMapper
;
import
org.apache.commons.beanutils.BeanUtilsBean
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.stereotype.Service
;
import
org.springframework.transaction.annotation.Transactional
;
import
org.springframework.transaction.interceptor.TransactionAspectSupport
;
import
org.springframework.web.bind.annotation.GetMapping
;
import
java.lang.reflect.InvocationTargetException
;
/**
* @author Administrator
*/
@Service
public
class
ActivityShowBiz
extends
BaseBiz
<
ActivityShowMapper
,
ActivityShow
>
{
@Autowired
private
ActivityBiz
activityBiz
;
public
ActivityShowDto
getOne
(
Integer
activityId
)
{
return
mapper
.
getOne
(
activityId
);
}
@Transactional
(
rollbackFor
=
Exception
.
class
)
public
boolean
save
(
ActivityShowDto
showDto
)
{
try
{
ActivityShow
activityShow
=
new
ActivityShow
();
BeanUtilsBean
.
getInstance
().
copyProperties
(
activityShow
,
showDto
);
Activity
activity
=
new
Activity
();
activity
.
setId
(
showDto
.
getActivityId
());
activity
.
setBanner
(
showDto
.
getBanner
());
if
(
showDto
.
getId
()==
null
)
{
mapper
.
insertSelective
(
activityShow
);
activityBiz
.
updateSelectiveById
(
activity
);
}
else
{
mapper
.
updateByPrimaryKeySelective
(
activityShow
);
activityBiz
.
updateSelectiveById
(
activity
);
}
}
catch
(
Exception
e
)
{
e
.
printStackTrace
();
TransactionAspectSupport
.
currentTransactionStatus
().
setRollbackOnly
();
return
false
;
}
return
true
;
}
}
xx-summit/xx-summit-server/src/main/java/com/xxfc/platform/summit/biz/MeepoUserQdBiz.java
0 → 100644
View file @
448e194d
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 @
448e194d
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
0 → 100644
View file @
448e194d
package
com
.
xxfc
.
platform
.
summit
.
config
;
import
org.springframework.context.annotation.Bean
;
import
org.springframework.context.annotation.Configuration
;
import
org.springframework.context.annotation.Primary
;
import
org.springframework.data.redis.connection.RedisConnectionFactory
;
import
org.springframework.data.redis.core.RedisTemplate
;
import
org.springframework.data.redis.serializer.RedisSerializer
;
import
org.springframework.data.redis.serializer.StringRedisSerializer
;
/**
* ${DESCRIPTION}
*
* @author wanghaobin
* @create 2017-06-21 8:39
*/
@Configuration
@Primary
public
class
RedisConfiguration
{
@Bean
public
RedisTemplate
<
String
,
Object
>
summbitRedisTemplate
(
RedisConnectionFactory
factory
)
{
RedisTemplate
redisTemplate
=
new
RedisTemplate
();
redisTemplate
.
setConnectionFactory
(
factory
);
RedisSerializer
<
String
>
stringSerializer
=
new
StringRedisSerializer
();
redisTemplate
.
setKeySerializer
(
stringSerializer
);
redisTemplate
.
setValueSerializer
(
stringSerializer
);
redisTemplate
.
setHashKeySerializer
(
stringSerializer
);
redisTemplate
.
setHashValueSerializer
(
stringSerializer
);
redisTemplate
.
afterPropertiesSet
();
return
redisTemplate
;
}
}
xx-summit/xx-summit-server/src/main/java/com/xxfc/platform/summit/config/RestConfiguration.java
0 → 100644
View file @
448e194d
package
com
.
xxfc
.
platform
.
summit
.
config
;
import
feign.Logger
;
import
org.springframework.context.annotation.Bean
;
import
org.springframework.context.annotation.Configuration
;
import
org.springframework.web.client.RestTemplate
;
@Configuration
public
class
RestConfiguration
{
@Bean
public
RestTemplate
restTemplate
()
{
return
new
RestTemplate
();
}
@Bean
public
Logger
.
Level
feignLevel
(){
return
Logger
.
Level
.
HEADERS
;
}
}
xx-summit/xx-summit-server/src/main/java/com/xxfc/platform/summit/config/SwaggerConfig.java
0 → 100644
View file @
448e194d
package
com
.
xxfc
.
platform
.
summit
.
config
;
import
org.springframework.context.annotation.Bean
;
import
org.springframework.context.annotation.Configuration
;
import
springfox.documentation.builders.ApiInfoBuilder
;
import
springfox.documentation.builders.ParameterBuilder
;
import
springfox.documentation.builders.RequestHandlerSelectors
;
import
springfox.documentation.schema.ModelRef
;
import
springfox.documentation.service.ApiInfo
;
import
springfox.documentation.service.Parameter
;
import
springfox.documentation.spi.DocumentationType
;
import
springfox.documentation.spring.web.plugins.Docket
;
import
springfox.documentation.swagger2.annotations.EnableSwagger2
;
import
java.util.ArrayList
;
import
java.util.List
;
/**
* @Description : swagger配置配置
* @Author : Mars
* @Date : 2017年9月6日
*/
@Configuration
@EnableSwagger2
public
class
SwaggerConfig
{
/**
* Every Docket bean is picked up by the swagger-mvc framework - allowing for multiple
* swagger groups i.e. same code base multiple swagger resource listings.
*/
@Bean
public
Docket
customDocket
(){
ParameterBuilder
ticketPar
=
new
ParameterBuilder
();
List
<
Parameter
>
pars
=
new
ArrayList
<
Parameter
>();
ticketPar
.
name
(
"Authorization"
).
description
(
"user Authorization"
)
.
modelRef
(
new
ModelRef
(
"string"
)).
parameterType
(
"header"
)
.
required
(
false
).
build
();
//header中的ticket参数非必填,传空也可以
pars
.
add
(
ticketPar
.
build
());
//根据每个方法名也知道当前方法在设置什么参数
return
new
Docket
(
DocumentationType
.
SWAGGER_2
)
.
select
()
.
apis
(
RequestHandlerSelectors
.
basePackage
(
"com.xxfc.platform.tour"
))
//.apis(RequestHandlerSelectors.any())
.
build
()
.
globalOperationParameters
(
pars
)
.
apiInfo
(
apiInfo
());
}
ApiInfo
apiInfo
()
{
return
new
ApiInfoBuilder
()
.
title
(
"api swagger document"
)
.
description
(
"前后端联调swagger api 文档"
)
.
version
(
"2.1.5.5"
)
.
build
();
}
}
\ No newline at end of file
xx-summit/xx-summit-server/src/main/java/com/xxfc/platform/summit/config/WebConfiguration.java
0 → 100644
View file @
448e194d
package
com
.
xxfc
.
platform
.
summit
.
config
;
import
com.github.wxiaoqi.security.common.handler.GlobalExceptionHandler
;
import
com.xxfc.platform.summit.interceptor.WeChatH5LoginInterceoptor
;
import
org.springframework.context.annotation.Bean
;
import
org.springframework.context.annotation.Configuration
;
import
org.springframework.context.annotation.Primary
;
import
org.springframework.web.servlet.config.annotation.InterceptorRegistry
;
import
org.springframework.web.servlet.config.annotation.WebMvcConfigurer
;
import
java.util.ArrayList
;
import
java.util.Collections
;
@Configuration
(
"summitWebConfig"
)
@Primary
public
class
WebConfiguration
implements
WebMvcConfigurer
{
@Bean
GlobalExceptionHandler
getGlobalExceptionHandler
()
{
return
new
GlobalExceptionHandler
();
}
@Override
public
void
addInterceptors
(
InterceptorRegistry
registry
)
{
registry
.
addInterceptor
(
getWeChatH5LoginRestInterceptor
()).
addPathPatterns
(
getIncludePathPatterns
());
}
@Bean
WeChatH5LoginInterceoptor
getWeChatH5LoginRestInterceptor
()
{
return
new
WeChatH5LoginInterceoptor
();
}
/**
* 需要用户和服务认证判断的路径
* @return
*/
private
ArrayList
<
String
>
getIncludePathPatterns
()
{
ArrayList
<
String
>
list
=
new
ArrayList
<>();
String
[]
urls
=
{
"/activity/**"
};
Collections
.
addAll
(
list
,
urls
);
return
list
;
}
}
xx-summit/xx-summit-server/src/main/java/com/xxfc/platform/summit/controller/ActivityBmController.java
0 → 100644
View file @
448e194d
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.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.pojo.ActivityBmQuery
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.web.bind.annotation.*
;
import
javax.servlet.http.HttpServletRequest
;
/**
* @author Administrator
*/
@RestController
@RequestMapping
(
"front/activityBm"
)
public
class
ActivityBmController
extends
BaseController
<
ActivityBmBiz
,
ActivityBm
>
{
@Autowired
UserBiz
userBiz
;
@PostMapping
(
"/add"
)
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
();
}
}
@PostMapping
(
"/list"
)
public
ObjectRestResponse
getList
(
@RequestBody
ActivityBmQuery
query
){
return
ObjectRestResponse
.
succ
(
baseBiz
.
list
(
query
));
}
}
xx-summit/xx-summit-server/src/main/java/com/xxfc/platform/summit/controller/ActivityController.java
0 → 100644
View file @
448e194d
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
com.xxfc.platform.summit.pojo.ActivityQuery
;
import
org.springframework.web.bind.annotation.*
;
/**
* @author Administrator
*/
@RestController
@RequestMapping
(
"/activity"
)
public
class
ActivityController
extends
BaseController
<
ActivityBiz
,
Activity
>
{
@PostMapping
(
"/app/unauth/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
();
}
@Override
@PostMapping
(
"/add"
)
public
ObjectRestResponse
add
(
@RequestBody
Activity
activity
){
if
(
baseBiz
.
add
(
activity
))
{
return
ObjectRestResponse
.
succ
();
}
return
ObjectRestResponse
.
createDefaultFail
();
}
}
xx-summit/xx-summit-server/src/main/java/com/xxfc/platform/summit/controller/ActivityShowController.java
0 → 100644
View file @
448e194d
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.biz.ActivityShowBiz
;
import
com.xxfc.platform.summit.dto.ActivityShowDto
;
import
com.xxfc.platform.summit.entity.Activity
;
import
com.xxfc.platform.summit.entity.ActivityShow
;
import
org.springframework.web.bind.annotation.*
;
/**
* @author Administrator
*/
@RestController
@RequestMapping
(
"/activityShow"
)
public
class
ActivityShowController
extends
BaseController
<
ActivityShowBiz
,
ActivityShow
>
{
@GetMapping
(
"/one/{activityId}"
)
public
ObjectRestResponse
getOne
(
@PathVariable
Integer
activityId
){
return
ObjectRestResponse
.
succ
(
baseBiz
.
getOne
(
activityId
));
}
@PostMapping
(
"/save"
)
public
ObjectRestResponse
save
(
@RequestBody
ActivityShowDto
showDto
){
if
(
baseBiz
.
save
(
showDto
)){
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 @
448e194d
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 @
448e194d
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/IndexController.java
0 → 100644
View file @
448e194d
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
lombok.extern.slf4j.Slf4j
;
import
org.springframework.web.bind.annotation.RequestMapping
;
import
org.springframework.web.bind.annotation.RequestMethod
;
import
org.springframework.web.bind.annotation.RestController
;
@RestController
@RequestMapping
(
"activity"
)
@IgnoreClientToken
@Slf4j
public
class
IndexController
{
@RequestMapping
(
value
=
"/app/unauth/index"
,
method
=
RequestMethod
.
GET
)
@IgnoreUserToken
public
ObjectRestResponse
index
(){
return
ObjectRestResponse
.
succ
();
}
@RequestMapping
(
value
=
"/app/unauth/info"
,
method
=
RequestMethod
.
GET
)
@IgnoreUserToken
public
ObjectRestResponse
info
(){
return
ObjectRestResponse
.
succ
(
"123456"
);
}
}
\ No newline at end of file
xx-summit/xx-summit-server/src/main/java/com/xxfc/platform/summit/controller/WeixinController.java
0 → 100644
View file @
448e194d
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
;
import
org.apache.commons.lang3.StringUtils
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.beans.factory.annotation.Value
;
import
org.springframework.stereotype.Controller
;
import
org.springframework.web.bind.annotation.GetMapping
;
import
org.springframework.web.bind.annotation.RequestMapping
;
import
org.springframework.web.bind.annotation.RequestMethod
;
import
org.springframework.web.bind.annotation.RequestParam
;
import
javax.servlet.http.HttpServletRequest
;
import
javax.servlet.http.HttpSession
;
/**
* @author Administrator
*/
@Controller
@RequestMapping
(
"/auth"
)
@Slf4j
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}"
)
private
String
url
;
@RequestMapping
(
value
=
"/app/unauth/wxLogin"
,
method
=
RequestMethod
.
GET
)
@IgnoreUserToken
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
+
"&"
+
WECHAT_REDIS_KEY
+
"="
+
key
;
String
oauth_api
=
weixinService
.
getAuthorize
(
redirec_url
);
return
String
.
format
(
"redirect:"
+
oauth_api
);
}
catch
(
Exception
e
){
e
.
printStackTrace
();
log
.
info
(
"网络异常==="
+
e
.
getMessage
());
return
String
.
format
(
"网络异常"
);
}
}
/**
* 微信浏览器获取用户信息
* @param code
* @param callback
* @return
*/
@GetMapping
(
value
=
"/app/unauth/userInfo"
)
public
String
getUserInformation
(
String
code
,
String
callback
,
String
key
,
HttpServletRequest
request
)
{
log
.
info
(
"-----微信回调userInfo---code=="
+
code
+
"----redirec_url==="
+
callback
+
"---key==="
+
key
);
try
{
userBiz
.
authUser
(
code
,
key
,
request
);
callback
=
new
String
(
Base64
.
decode
(
callback
),
"utf-8"
);
log
.
info
(
"callback==="
+
callback
);
}
catch
(
Exception
e
){
e
.
printStackTrace
();
log
.
info
(
"网络异常==="
+
e
.
getMessage
());
}
return
String
.
format
(
"redirect:"
+
callback
);
}
}
xx-summit/xx-summit-server/src/main/java/com/xxfc/platform/summit/dto/ActivityShowDto.java
0 → 100644
View file @
448e194d
package
com
.
xxfc
.
platform
.
summit
.
dto
;
import
com.xxfc.platform.summit.entity.ActivityShow
;
import
lombok.Data
;
/**
* @author Administrator
*/
@Data
public
class
ActivityShowDto
extends
ActivityShow
{
private
String
banner
;
}
xx-summit/xx-summit-server/src/main/java/com/xxfc/platform/summit/interceptor/WeChatH5LoginInterceoptor.java
0 → 100644
View file @
448e194d
package
com
.
xxfc
.
platform
.
summit
.
interceptor
;
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
;;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.data.redis.core.RedisTemplate
;
import
org.springframework.web.servlet.handler.HandlerInterceptorAdapter
;
import
com.alibaba.fastjson.JSONObject
;
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
WeChatH5LoginInterceoptor
extends
HandlerInterceptorAdapter
{
@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
();
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
=
redisInfo
(
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
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 @
448e194d
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-server/src/main/java/com/xxfc/platform/summit/mapper/ActivityMapper.java
0 → 100644
View file @
448e194d
package
com
.
xxfc
.
platform
.
summit
.
mapper
;
import
com.xxfc.platform.summit.entity.Activity
;
import
tk.mybatis.mapper.common.Mapper
;
/**
* @author Administrator
*/
public
interface
ActivityMapper
extends
Mapper
<
Activity
>
{
}
xx-summit/xx-summit-server/src/main/java/com/xxfc/platform/summit/mapper/ActivityShowMapper.java
0 → 100644
View file @
448e194d
package
com
.
xxfc
.
platform
.
summit
.
mapper
;
import
com.xxfc.platform.summit.dto.ActivityShowDto
;
import
com.xxfc.platform.summit.entity.ActivityShow
;
import
tk.mybatis.mapper.common.Mapper
;
/**
* @author Administrator
*/
public
interface
ActivityShowMapper
extends
Mapper
<
ActivityShow
>
{
ActivityShowDto
getOne
(
Integer
activityId
);
}
xx-summit/xx-summit-server/src/main/java/com/xxfc/platform/summit/mapper/MeepoUserQdMapper.java
0 → 100644
View file @
448e194d
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 @
448e194d
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/java/com/xxfc/platform/summit/service/WeixinService.java
0 → 100644
View file @
448e194d
package
com
.
xxfc
.
platform
.
summit
.
service
;
import
com.alibaba.fastjson.JSON
;
import
com.alibaba.fastjson.JSONObject
;
import
com.xxfc.platform.summit.util.HttpRequestUtil
;
import
lombok.extern.slf4j.Slf4j
;
import
org.springframework.beans.factory.annotation.Value
;
import
org.springframework.stereotype.Service
;
@Service
@Slf4j
public
class
WeixinService
{
/**
* 网页
*/
@Value
(
"${wx.appid}"
)
private
String
wy_appid
;
@Value
(
"${wx.appSercet}"
)
private
String
wy_secret
;
public
JSONObject
getAccessToken
(
String
code
){
String
url
=
"https://api.weixin.qq.com/sns/oauth2/access_token?"
;
String
params
=
"appid="
+
wy_appid
+
"&secret="
+
wy_secret
+
"&code="
+
code
+
"&grant_type=authorization_code"
;
String
result
=
HttpRequestUtil
.
httpGet
(
url
+
params
);
JSONObject
data
=
JSON
.
parseObject
(
result
);
return
data
;
}
public
JSONObject
getValidateData
(
String
access_token
,
String
openid
){
String
url
=
"https://api.weixin.qq.com/sns/auth?access_token="
+
access_token
+
"&openid="
+
openid
;
String
result
=
HttpRequestUtil
.
httpGet
(
url
);
JSONObject
data
=
JSON
.
parseObject
(
result
);
return
data
;
}
public
JSONObject
getRefreshToken
(
String
refresh_token
){
String
url
=
"https://api.weixin.qq.com/sns/oauth2/refresh_token?appid="
+
wy_appid
+
"&grant_type=refresh_token&refresh_token="
+
refresh_token
;
String
result
=
HttpRequestUtil
.
httpGet
(
url
);
JSONObject
data
=
JSON
.
parseObject
(
result
);
return
data
;
}
public
JSONObject
getUserInfo
(
String
access_token
,
String
openid
){
String
url
=
"https://api.weixin.qq.com/sns/userinfo?access_token="
+
access_token
+
"&openid="
+
openid
+
"&lang=zh_CN"
;
String
result
=
HttpRequestUtil
.
httpGet
(
url
);
JSONObject
data
=
JSON
.
parseObject
(
result
);
return
data
;
}
public
String
getAuthorize
(
String
redirec_url
){
String
oauth_api
=
"https://open.weixin.qq.com/connect/oauth2/authorize?appid={APPID}&redirect_uri={REDIRECT_URI}&response_type=code&scope={SCOPE}&state={STATE}#wechat_redirect"
;
oauth_api
=
oauth_api
.
replace
(
"{APPID}"
,
wy_appid
)
.
replace
(
"{REDIRECT_URI}"
,
redirec_url
)
.
replace
(
"{SCOPE}"
,
"snsapi_userinfo"
).
replace
(
"{STATE}"
,
"state"
);
log
.
info
(
"---oauth_api===="
+
oauth_api
);
return
oauth_api
;
}
}
xx-summit/xx-summit-server/src/main/resources/application.yml
0 → 100644
View file @
448e194d
logging
:
config
:
classpath:logback.xml
level
:
com.github.wxiaoqi
:
debug
com.xxfc.platform
:
debug
\ No newline at end of file
xx-summit/xx-summit-server/src/main/resources/bootstrap.yml
0 → 100644
View file @
448e194d
#spring:
# application:
# name: vehicle
# cloud:
# nacos:
# config:
# server-addr: 127.0.0.1:8848
# file-extension: yaml
# profiles:
# active: dev
spring
:
profiles
:
active
:
dev
application
:
name
:
xx-summit
cloud
:
nacos
:
config
:
file-extension
:
yaml
---
spring
:
profiles
:
dev
cloud
:
nacos
:
config
:
server-addr
:
127.0.0.1:8848
#共用配置,暂定一个
shared-dataids
:
common-dev.yaml,mongodb-log-dev.yaml
---
spring
:
profiles
:
pro
cloud
:
nacos
:
config
:
server-addr
:
10.5.52.2:8848
xx-summit/xx-summit-server/src/main/resources/logback.xml
0 → 100644
View file @
448e194d
<?xml version="1.0" encoding="UTF-8"?>
<configuration
debug=
"false"
>
<!--定义日志文件的存储地址 勿在 LogBack 的配置中使用相对路径 -->
<property
name=
"LOG_HOME"
value=
"${system.log.path:-logs}"
/>
<!-- 彩色日志依赖的渲染类 -->
<conversionRule
conversionWord=
"clr"
converterClass=
"org.springframework.boot.logging.logback.ColorConverter"
/>
<conversionRule
conversionWord=
"wex"
converterClass=
"org.springframework.boot.logging.logback.WhitespaceThrowableProxyConverter"
/>
<conversionRule
conversionWord=
"wEx"
converterClass=
"org.springframework.boot.logging.logback.ExtendedWhitespaceThrowableProxyConverter"
/>
<!-- 彩色日志格式 -->
<property
name=
"CONSOLE_LOG_PATTERN"
value=
"${CONSOLE_LOG_PATTERN:-%clr(%d{yyyy-MM-dd HH:mm:ss}){faint} %clr(${LOG_LEVEL_PATTERN:-%5p}) %clr(${PID:- }){magenta} %clr(---){faint} %clr([%15.15t]){faint} %clr(%-40.40logger{39}){cyan} %clr(:){faint} %m%n${LOG_EXCEPTION_CONVERSION_WORD:-%wEx}}"
/>
<appender
name=
"STDOUT"
class=
"ch.qos.logback.core.ConsoleAppender"
>
<!--1. 输出到控制台-->
<filter
class=
"com.github.wxiaoqi.security.common.filter.NacosLogFilter"
></filter>
<encoder>
<Pattern>
${CONSOLE_LOG_PATTERN}
</Pattern>
<charset>
UTF-8
</charset>
<!-- 设置字符集 -->
</encoder>
</appender>
<appender
name=
"SYSTEM_FILE"
class=
"ch.qos.logback.core.rolling.RollingFileAppender"
>
<!-- 按照每天生成日志文件 -->
<filter
class=
"com.github.wxiaoqi.security.common.filter.DenyFilter"
></filter>
<rollingPolicy
class=
"ch.qos.logback.core.rolling.TimeBasedRollingPolicy"
>
<FileNamePattern>
${LOG_HOME}/sys.%d{yyyy-MM-dd}.log
</FileNamePattern>
<!--日志文件输出的文件名 -->
<MaxHistory>
30
</MaxHistory>
<!--日志文件保留天数 -->
</rollingPolicy>
<encoder
class=
"ch.qos.logback.classic.encoder.PatternLayoutEncoder"
>
<Pattern>
${CONSOLE_LOG_PATTERN}
</Pattern>
<!--格式化输出:%d表示日期,%thread表示线程名,%-5level:级别从左显示5个字符宽度%msg:日志消息,%n是换行符 -->
</encoder>
</appender>
<appender
name=
"WEB_FILE"
class=
"ch.qos.logback.core.rolling.RollingFileAppender"
>
<!-- 按照每天生成日志文件 -->
<filter
class=
"com.github.wxiaoqi.security.common.filter.AcceptFilter"
></filter>
<rollingPolicy
class=
"ch.qos.logback.core.rolling.TimeBasedRollingPolicy"
>
<FileNamePattern>
${LOG_HOME}/log.%d{yyyy-MM-dd}.log
</FileNamePattern>
<!--日志文件输出的文件名 -->
<MaxHistory>
30
</MaxHistory>
<!--日志文件保留天数 -->
</rollingPolicy>
<encoder
class=
"ch.qos.logback.classic.encoder.PatternLayoutEncoder"
>
<Pattern>
${CONSOLE_LOG_PATTERN}
</Pattern>
<!--格式化输出:%d表示日期,%thread表示线程名,%-5level:级别从左显示5个字符宽度%msg:日志消息,%n是换行符 -->
</encoder>
</appender>
<root
level=
"INFO"
>
<appender-ref
ref=
"STDOUT"
/>
<appender-ref
ref=
"SYSTEM_FILE"
/>
<appender-ref
ref=
"WEB_FILE"
/>
</root>
</configuration>
\ No newline at end of file
xx-summit/xx-summit-server/src/main/resources/mapper/ActivityBmMapper.xml
0 → 100644
View file @
448e194d
<?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/ActivityMapper.xml
0 → 100644
View file @
448e194d
<?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.ActivityMapper"
>
</mapper>
\ No newline at end of file
xx-summit/xx-summit-server/src/main/resources/mapper/ActivityShowMapper.xml
0 → 100644
View file @
448e194d
<?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.ActivityShowMapper"
>
<select
id=
"getOne"
parameterType=
"Integer"
resultType=
"com.xxfc.platform.summit.entity.ActivityShow"
>
SELECT
a.banner,
s.*
FROM
fc_activity a
LEFT JOIN fc_activity_show s ON a.id = s.activity_id
WHERE
a.id =#{activityId}
</select>
</mapper>
\ No newline at end of file
xx-summit/xx-summit-server/src/main/resources/mapper/MeepoUserQdMapper.xml
0 → 100644
View file @
448e194d
<?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 @
448e194d
<?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