记得上下班打卡 | git大法好,push需谨慎
Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
L
liquidnet-bus-v1
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
董敬伟
liquidnet-bus-v1
Commits
58911f7d
Commit
58911f7d
authored
May 14, 2021
by
洪全海
Browse files
Options
Browse Files
Download
Plain Diff
Merge branch 'dev' of
http://gitlab.zhengzai.tv/dongjingwei/liquidnet-bus-v1
into dev
parents
dd303720
32d2f2a3
Changes
73
Show whitespace changes
Inline
Side-by-side
Showing
73 changed files
with
1831 additions
and
1044 deletions
+1831
-1044
JwtValidator.java
...in/java/com/liquidnet/commons/lang/core/JwtValidator.java
+77
-0
HttpRequest.java
...ain/java/com/liquidnet/commons/lang/util/HttpRequest.java
+0
-377
HttpUtil.java
...c/main/java/com/liquidnet/commons/lang/util/HttpUtil.java
+116
-197
CorsConfig.java
...main/java/com/liquidnet/common/web/config/CorsConfig.java
+1
-1
application-dev.yml
liquidnet-bus-config/liquidnet-config/application-dev.yml
+5
-0
application.yml
liquidnet-bus-config/liquidnet-config/application.yml
+5
-0
liquidnet-service-adam-dev.yml
...us-config/liquidnet-config/liquidnet-service-adam-dev.yml
+3
-0
liquidnet-support-zuul.yml
...et-bus-config/liquidnet-config/liquidnet-support-zuul.yml
+17
-7
FeignAdamLoginClient.java
...iquidnet/service/feign/adam/api/FeignAdamLoginClient.java
+27
-0
AdamThirdPartParam.java
...va/com/liquidnet/service/adam/dto/AdamThirdPartParam.java
+25
-0
AdamLoginInfoVo.java
...va/com/liquidnet/service/adam/dto/vo/AdamLoginInfoVo.java
+35
-0
AdamRealInfoVo.java
...ava/com/liquidnet/service/adam/dto/vo/AdamRealInfoVo.java
+30
-0
AdamThirdPartInfoVo.java
...om/liquidnet/service/adam/dto/vo/AdamThirdPartInfoVo.java
+3
-5
AdamUserInfoVo.java
...ava/com/liquidnet/service/adam/dto/vo/AdamUserInfoVo.java
+19
-13
IAdamRealNameService.java
.../liquidnet/service/adam/service/IAdamRealNameService.java
+2
-0
IAdamThirdPartyService.java
...iquidnet/service/adam/service/IAdamThirdPartyService.java
+6
-0
IAdamUserInfoService.java
.../liquidnet/service/adam/service/IAdamUserInfoService.java
+3
-1
IAdamUserService.java
.../com/liquidnet/service/adam/service/IAdamUserService.java
+23
-0
db_ln_adam_initialdata.sql
...quidnet-service-adam-impl/docu/db_ln_adam_initialdata.sql
+2
-2
pom.xml
...iquidnet-service-adam/liquidnet-service-adam-impl/pom.xml
+9
-0
AliyunDypnsConfigure.java
...m/liquidnet/service/adam/config/AliyunDypnsConfigure.java
+21
-0
AdamRedisConst.java
...a/com/liquidnet/service/adam/constant/AdamRedisConst.java
+7
-0
AdamAddressesController.java
...dnet/service/adam/controller/AdamAddressesController.java
+2
-0
AdamCollectionController.java
...net/service/adam/controller/AdamCollectionController.java
+2
-0
AdamEntersController.java
...quidnet/service/adam/controller/AdamEntersController.java
+2
-0
AdamLoginController.java
...iquidnet/service/adam/controller/AdamLoginController.java
+254
-0
AdamMemberController.java
...quidnet/service/adam/controller/AdamMemberController.java
+2
-0
AdamUserAuthController.java
...idnet/service/adam/controller/AdamUserAuthController.java
+0
-178
AdamUserController.java
...liquidnet/service/adam/controller/AdamUserController.java
+16
-2
AdamEntersServiceImpl.java
...dnet/service/adam/service/impl/AdamEntersServiceImpl.java
+27
-27
AdamRealNameServiceImpl.java
...et/service/adam/service/impl/AdamRealNameServiceImpl.java
+23
-1
AdamThirdPartyServiceImpl.java
.../service/adam/service/impl/AdamThirdPartyServiceImpl.java
+35
-0
AdamUserInfoServiceImpl.java
...et/service/adam/service/impl/AdamUserInfoServiceImpl.java
+54
-2
AdamUserServiceImpl.java
...uidnet/service/adam/service/impl/AdamUserServiceImpl.java
+101
-1
adam_enters.properties
...dam-impl/src/main/resources/sqlmap/adam_enters.properties
+4
-0
adam_third_party.properties
...mpl/src/main/resources/sqlmap/adam_third_party.properties
+1
-0
adam_user.properties
...-adam-impl/src/main/resources/sqlmap/adam_user.properties
+1
-0
adam_user_info.properties
...-impl/src/main/resources/sqlmap/adam_user_info.properties
+2
-0
enters.properties
...ice-adam-impl/src/main/resources/sqlmap/enters.properties
+0
-4
BannersApiSearchParam.java
...uidnet/service/kylin/dto/param/BannersApiSearchParam.java
+0
-25
BannersParam.java
...a/com/liquidnet/service/kylin/dto/param/BannersParam.java
+2
-2
TicketCreateParam.java
.../liquidnet/service/kylin/dto/param/TicketCreateParam.java
+6
-0
BannersVo.java
...in/java/com/liquidnet/service/kylin/dto/vo/BannersVo.java
+2
-1
PerformanceVo.java
...ava/com/liquidnet/service/kylin/dto/vo/PerformanceVo.java
+19
-3
TicketVo.java
...ain/java/com/liquidnet/service/kylin/dto/vo/TicketVo.java
+7
-0
TicketPartnerVo.java
...quidnet/service/kylin/dto/vo/partner/TicketPartnerVo.java
+3
-0
IKylinPerformancesAdminService.java
...e/kylin/service/admin/IKylinPerformancesAdminService.java
+59
-4
IKylinRoadShowsAdminService.java
...vice/kylin/service/admin/IKylinRoadShowsAdminService.java
+30
-2
IKylinPerformancesPartnerService.java
...lin/service/partner/IKylinPerformancesPartnerService.java
+39
-14
IKylinTicketTimesPartnerService.java
...ylin/service/partner/IKylinTicketTimesPartnerService.java
+23
-8
IKylinTicketsPartnerService.java
...ce/kylin/service/partner/IKylinTicketsPartnerService.java
+34
-9
PerformanceMemberAuditDao.java
...iquidnet/service/kylin/dao/PerformanceMemberAuditDao.java
+23
-0
TicketMemberAuditDao.java
...com/liquidnet/service/kylin/dao/TicketMemberAuditDao.java
+35
-0
KylinPerformanceStatus.java
...iquidnet/service/kylin/entity/KylinPerformanceStatus.java
+5
-0
KylinTicketStatus.java
...com/liquidnet/service/kylin/entity/KylinTicketStatus.java
+5
-0
KylinPerformancesMapper.java
...quidnet/service/kylin/mapper/KylinPerformancesMapper.java
+6
-0
KylinPerformancesMapper.xml
...iquidnet.service.kylin.mapper/KylinPerformancesMapper.xml
+55
-2
db_kylin_structure.sql
.../liquidnet-service-kylin-impl/docu/db_kylin_structure.sql
+26
-24
KylinBannersController.java
...dnet/service/kylin/controller/KylinBannersController.java
+13
-17
KylinPerformancesController.java
...service/kylin/controller/KylinPerformancesController.java
+57
-22
KylinPerformancesAdminController.java
...in/controller/admin/KylinPerformancesAdminController.java
+13
-0
KylinPerformancesServiceImpl.java
...vice/kylin/service/impl/KylinPerformancesServiceImpl.java
+85
-33
KylinBannersServiceImpl.java
...ice/kylin/service/impl/admin/KylinBannersServiceImpl.java
+5
-6
KylinPerformancesAdminServiceImpl.java
...service/impl/admin/KylinPerformancesAdminServiceImpl.java
+26
-22
KylinPerformancesPartnerServiceImpl.java
...ice/impl/partner/KylinPerformancesPartnerServiceImpl.java
+19
-5
KylinTicketsPartnerServiceImpl.java
.../service/impl/partner/KylinTicketsPartnerServiceImpl.java
+26
-10
PerformanceVoTask.java
.../liquidnet/service/kylin/timerTask/PerformanceVoTask.java
+18
-14
pom.xml
liquidnet-bus-service/pom.xml
+11
-0
application-dev.yml
...net-support-config/src/main/resources/application-dev.yml
+4
-2
CorsConfig.java
...in/java/com/liquidnet/support/zuul/config/CorsConfig.java
+30
-0
GlobalAuthFilter.java
...a/com/liquidnet/support/zuul/filter/GlobalAuthFilter.java
+95
-0
GlobalLoginFilter.java
.../com/liquidnet/support/zuul/filter/GlobalLoginFilter.java
+86
-0
bootstrap-dev.yml
...quidnet-support-zuul/src/main/resources/bootstrap-dev.yml
+2
-1
No files found.
liquidnet-bus-common/liquidnet-common-base/src/main/java/com/liquidnet/commons/lang/
util/JwtUtil
.java
→
liquidnet-bus-common/liquidnet-common-base/src/main/java/com/liquidnet/commons/lang/
core/JwtValidator
.java
View file @
58911f7d
package
com
.
liquidnet
.
commons
.
lang
.
util
;
package
com
.
liquidnet
.
commons
.
lang
.
core
;
import
io.jsonwebtoken.Claims
;
import
io.jsonwebtoken.JwtBuilder
;
import
io.jsonwebtoken.Jwts
;
import
io.jsonwebtoken.SignatureAlgorithm
;
import
org.springframework.boot.context.properties.ConfigurationProperties
;
import
org.springframework.stereotype.Component
;
import
java.util.Date
;
import
java.util.Map
;
//@Component
public
class
JwtUtil
{
/**
* 过期时间15分钟
*/
private
static
final
long
EXPIRE_TIME
=
15
*
60
*
1000
;
/**
* token私钥
*/
private
static
final
String
TOKEN_SECRET
=
"DD5654D654DSD5S1D65S4D65S1D12354"
;
@Component
(
"jwtValidator"
)
@ConfigurationProperties
(
prefix
=
"jwt"
)
public
class
JwtValidator
{
private
String
secret
;
private
Long
expireTtl
;
private
Long
refreshTtl
;
private
Long
blacklistGracePeriod
;
// private static final long EXPIRE_TIME = 15 * 60 * 1000;
// private static final String TOKEN_SECRET = "qZHglvNP0n0aOOckHiQXq5JMD468J4eG";
/**
* 用户登录成功后生成Jwt token
* 使用Hs256算法
*
* @param claims 保存在Payload(有效载荷)中的内容
* @param claims
Map
保存在Payload(有效载荷)中的内容
* @return token字符串
*/
public
static
String
create
(
Map
<
String
,
Object
>
claims
)
{
public
String
create
(
Map
<
String
,
Object
>
claimsMap
)
{
long
nowMillis
=
System
.
currentTimeMillis
();
long
expMillis
=
System
.
currentTimeMillis
()
+
EXPIRE_TIME
;
long
expMillis
=
System
.
currentTimeMillis
()
+
expireTtl
*
60000
;
// 创建一个JwtBuilder,设置jwt的body
JwtBuilder
builder
=
Jwts
.
builder
()
// 保存在Payload(有效载荷)中的内容, 自定义一些数据保存在这里
.
setClaims
(
claims
)
.
setClaims
(
claims
Map
)
// iat: jwt的签发时间
.
setIssuedAt
(
new
Date
(
nowMillis
))
// 设置过期时间
.
setExpiration
(
new
Date
(
expMillis
))
// 使用HS256算法和签名使用的秘钥生成密文
.
signWith
(
SignatureAlgorithm
.
HS256
,
TOKEN_SECRET
);
.
signWith
(
SignatureAlgorithm
.
HS256
,
secret
);
return
builder
.
compact
();
}
...
...
@@ -49,12 +50,28 @@ public class JwtUtil {
* @param token 令牌
* @return
*/
public
static
Claims
parse
(
String
token
)
{
public
Claims
parse
(
String
token
)
{
// 得到DefaultJwtParser
return
Jwts
.
parser
()
// 设置签名的秘钥
.
setSigningKey
(
TOKEN_SECRET
)
.
setSigningKey
(
secret
)
// 设置需要解析的token
.
parseClaimsJws
(
token
).
getBody
();
}
public
void
setSecret
(
String
secret
)
{
this
.
secret
=
secret
;
}
public
void
setExpireTtl
(
Long
expireTtl
)
{
this
.
expireTtl
=
expireTtl
;
}
public
void
setRefreshTtl
(
Long
refreshTtl
)
{
this
.
refreshTtl
=
refreshTtl
;
}
public
void
setBlacklistGracePeriod
(
Long
blacklistGracePeriod
)
{
this
.
blacklistGracePeriod
=
blacklistGracePeriod
;
}
}
liquidnet-bus-common/liquidnet-common-base/src/main/java/com/liquidnet/commons/lang/util/HttpRequest.java
deleted
100644 → 0
View file @
dd303720
/**
* $Id$
* Copyright(C) 2015-2020 kowlone - internet center, All Rights Reserved.
*/
package
com
.
liquidnet
.
commons
.
lang
.
util
;
import
com.alibaba.fastjson.JSON
;
import
com.alibaba.fastjson.JSONObject
;
import
com.alibaba.fastjson.parser.Feature
;
import
org.apache.http.Consts
;
import
org.apache.http.HttpEntity
;
import
org.apache.http.NameValuePair
;
import
org.apache.http.client.config.RequestConfig
;
import
org.apache.http.client.entity.UrlEncodedFormEntity
;
import
org.apache.http.client.methods.HttpGet
;
import
org.apache.http.client.methods.HttpPost
;
import
org.apache.http.client.utils.URLEncodedUtils
;
import
org.apache.http.entity.StringEntity
;
import
org.apache.http.message.BasicNameValuePair
;
import
javax.servlet.http.HttpServletRequest
;
import
java.io.UnsupportedEncodingException
;
import
java.net.URI
;
import
java.nio.charset.Charset
;
import
java.util.*
;
import
java.util.function.Function
;
/**
* @author <a href="mailto:zmli@corp.netease.com">kowlone</a>
* @version 1.0 2015年04月01日 16:10:00
*/
public
class
HttpRequest
{
private
enum
BodyEntityType
{
URL_PARAM
{
@Override
HttpEntity
createPostEntity
(
HttpRequest
request
)
throws
UnsupportedEncodingException
{
List
<
NameValuePair
>
nvps
=
new
ArrayList
<>();
for
(
Map
.
Entry
<
String
,
Object
>
entry
:
request
.
requestParam
.
entrySet
())
{
nvps
.
add
(
new
BasicNameValuePair
(
entry
.
getKey
(),
entry
.
getValue
().
toString
()));
}
return
new
UrlEncodedFormEntity
(
nvps
,
request
.
requestCharset
);
}
},
JSON_STRING
{
@Override
HttpEntity
createPostEntity
(
HttpRequest
request
)
{
String
jsonBody
=
request
.
paramWrapper
==
null
?
JSON
.
toJSONString
(
request
.
requestParam
)
:
request
.
paramWrapper
.
wrapper
(
request
.
requestParam
);
return
new
StringEntity
(
jsonBody
,
request
.
requestCharset
);
}
},;
abstract
HttpEntity
createPostEntity
(
HttpRequest
request
)
throws
UnsupportedEncodingException
;
}
public
interface
ParamWrapper
{
String
wrapper
(
Map
<
String
,
Object
>
requestParam
);
}
private
String
url
;
private
Map
<
String
,
Object
>
requestParam
=
new
LinkedHashMap
<>();
private
Map
<
String
,
String
>
headerParam
=
new
LinkedHashMap
<>();
/** 明确要发送的消息体当指定了该参数时,不在经过BodyEntityType处理 */
private
HttpEntity
explicitEntity
=
null
;
private
BodyEntityType
entityType
;
private
Charset
requestCharset
=
Consts
.
UTF_8
;
private
Charset
responseCharset
=
Consts
.
UTF_8
;
private
String
contentType
=
null
;
private
ParamWrapper
paramWrapper
=
null
;
private
HttpRequest
(
String
url
)
{
this
(
url
,
BodyEntityType
.
URL_PARAM
);
}
private
HttpRequest
(
String
url
,
BodyEntityType
entityType
)
{
this
.
url
=
url
;
this
.
entityType
=
entityType
;
}
/**
* 新请求
*
* @param url
* @return
*/
public
static
HttpRequest
newRequest
(
String
url
)
{
return
new
HttpRequest
(
url
);
}
/**
* 发起http body为json字符串内容的请求
*
* @param url
* @return
*/
public
static
HttpRequest
newJSONBodyRequest
(
String
url
)
{
return
new
HttpRequest
(
url
,
BodyEntityType
.
JSON_STRING
);
}
public
HttpRequest
withParamWrapper
(
ParamWrapper
paramWrapper
)
{
this
.
paramWrapper
=
paramWrapper
;
return
this
;
}
/**
* 添加请求参数
*
* @param key
* @param value
* @return
*/
public
HttpRequest
addParam
(
String
key
,
Object
value
)
{
this
.
requestParam
.
put
(
key
,
value
);
return
this
;
}
public
HttpRequest
addParam
(
Map
<
String
,
Object
>
params
)
{
this
.
requestParam
.
putAll
(
params
);
return
this
;
}
public
HttpRequest
contentType
(
String
contentType
)
{
this
.
contentType
=
contentType
;
return
this
;
}
/**
* 访问参数key和参数值,并做相应处理后,返回字符串
* @param function
*
* @return
*/
public
String
visitParam
(
Function
<
Set
<
Map
.
Entry
<
String
,
Object
>>,
String
>
function
)
{
return
function
.
apply
(
requestParam
.
entrySet
());
}
public
HttpRequest
setExplicitEntity
(
HttpEntity
explicitEntity
){
this
.
explicitEntity
=
explicitEntity
;
return
this
;
}
/**
* 添加请求头
*
* @param key
* @param value
* @return
*/
public
HttpRequest
addHeader
(
String
key
,
String
value
)
{
this
.
headerParam
.
put
(
key
,
value
);
return
this
;
}
/**
* 指定请求字符集
* @param charset
*
* @return
*/
public
HttpRequest
requestCharset
(
String
charset
)
{
this
.
requestCharset
=
Charset
.
forName
(
charset
);
return
this
;
}
/**
* 指定响应字符集
* @param charset
*
* @return
*/
public
HttpRequest
responseCharset
(
String
charset
)
{
this
.
responseCharset
=
Charset
.
forName
(
charset
);
return
this
;
}
/**
* 获取body
*
* @return
*/
public
String
getRequestBodyString
()
{
StringBuilder
sb
=
new
StringBuilder
();
for
(
Map
.
Entry
<
String
,
Object
>
entry
:
requestParam
.
entrySet
())
{
sb
.
append
(
"&"
).
append
(
entry
.
getKey
()).
append
(
"="
).
append
(
entry
.
getValue
());
}
return
sb
.
deleteCharAt
(
0
).
toString
();
}
/**
* 发送post请求,返回json对象
*/
public
JSONObject
postAsJson
()
{
return
JSON
.
parseObject
(
postAsString
());
}
/**
* 发送post请求,返回原始字符串
*
* @return
* @throws Exception
*/
public
String
postAsString
()
{
try
{
HttpPost
httpPost
=
new
HttpPost
(
url
);
httpPost
.
setEntity
(
explicitEntity
!=
null
?
explicitEntity:
entityType
.
createPostEntity
(
this
));
// httpPost.addHeader("Content-Type","application/json");
if
(
this
.
contentType
!=
null
)
{
httpPost
.
addHeader
(
"Content-type"
,
contentType
);
}
for
(
Map
.
Entry
<
String
,
String
>
entry
:
headerParam
.
entrySet
())
{
httpPost
.
setHeader
(
entry
.
getKey
(),
entry
.
getValue
());
}
return
HttpUtil
.
post
(
httpPost
,
this
.
responseCharset
);
}
catch
(
Exception
e
)
{
throw
new
RuntimeException
(
"post http request error :"
+
url
,
e
);
}
}
/**
* 发送post请求,返回原始字符串
*
* @return
* @throws Exception
*/
public
String
postAsString
(
int
timeout
)
{
try
{
HttpPost
httpPost
=
new
HttpPost
(
url
);
httpPost
.
setEntity
(
explicitEntity
!=
null
?
explicitEntity:
entityType
.
createPostEntity
(
this
));
// httpPost.addHeader("Content-Type","application/json");
if
(
this
.
contentType
!=
null
)
{
httpPost
.
addHeader
(
"Content-type"
,
contentType
);
}
for
(
Map
.
Entry
<
String
,
String
>
entry
:
headerParam
.
entrySet
())
{
httpPost
.
setHeader
(
entry
.
getKey
(),
entry
.
getValue
());
}
RequestConfig
requestConfig
=
RequestConfig
.
custom
()
.
setConnectionRequestTimeout
(
5000
)
//连接池中取出连接的超时时间
.
setSocketTimeout
(
timeout
)
//服务器获取响应数据需要等待的时间
.
setConnectTimeout
(
10000
)
//创建与服务器的socket连接时间
.
setExpectContinueEnabled
(
false
)
.
build
();
httpPost
.
setConfig
(
requestConfig
);
return
HttpUtil
.
post
(
httpPost
,
this
.
responseCharset
);
}
catch
(
Exception
e
)
{
throw
new
RuntimeException
(
"post http request error :"
+
url
,
e
);
}
}
/**
* 发送返回二进制数组的请求
* @return
*/
public
byte
[]
postAsBinary
()
{
try
{
HttpPost
httpPost
=
new
HttpPost
(
url
);
httpPost
.
setEntity
(
explicitEntity
!=
null
?
explicitEntity:
entityType
.
createPostEntity
(
this
));
for
(
Map
.
Entry
<
String
,
String
>
entry
:
headerParam
.
entrySet
())
{
httpPost
.
setHeader
(
entry
.
getKey
(),
entry
.
getValue
());
}
return
HttpUtil
.
binaryPost
(
httpPost
);
}
catch
(
Exception
e
)
{
throw
new
RuntimeException
(
"post http request error :"
+
url
,
e
);
}
}
/**
* 发送get请求
*
* @throws Exception
*/
public
String
getAsString
()
{
try
{
StringBuilder
urlBuilder
=
new
StringBuilder
(
url
);
if
(!
requestParam
.
isEmpty
())
{
List
<
NameValuePair
>
uriParam
=
new
ArrayList
<>();
for
(
Map
.
Entry
<
String
,
Object
>
entry
:
requestParam
.
entrySet
())
{
if
(
entry
.
getValue
()!=
null
)
{
uriParam
.
add
(
new
BasicNameValuePair
(
entry
.
getKey
(),
entry
.
getValue
().
toString
()));
}
}
urlBuilder
.
append
(
"?"
).
append
(
URLEncodedUtils
.
format
(
uriParam
,
Consts
.
UTF_8
));
}
URI
uri
=
new
URI
(
urlBuilder
.
toString
());
HttpGet
httpGet
=
new
HttpGet
(
uri
);
for
(
Map
.
Entry
<
String
,
String
>
entry
:
headerParam
.
entrySet
())
{
httpGet
.
setHeader
(
entry
.
getKey
(),
entry
.
getValue
());
}
// byte[] bytes = HttpUtil.binaryGet(httpGet);
// return new String(bytes, this.responseCharset);
return
HttpUtil
.
get
(
httpGet
,
this
.
responseCharset
);
// return HttpUtil.get(httpGet);
}
catch
(
Exception
e
)
{
throw
new
RuntimeException
(
"post http request error :"
+
url
,
e
);
}
}
/**
* 发送返回JSON对象的请求
* @return
*/
public
JSONObject
getAsJson
(){
return
JSON
.
parseObject
(
getAsString
(),
Feature
.
InternFieldNames
);
}
public
static
void
main
(
String
[]
args
)
{
try
{
// System.out.println(HttpRequest.newRequest("http://www.huihui.cn/").postAsString());
// HttpRequest ht=HttpRequest.newJSONBodyRequest("https://api.intellicredit.cn/id_check");
// ht.addParam("access_token", "_RH4Us1yseJfAY3_nsku");
// JSONArray ja=new JSONArray();
// JSONObject jo =new JSONObject();
// jo.put("name", "");
// jo.put("id_number", "");
// jo.put("sub_client", "");
// jo.put("type", "");
// jo.put("location", "");
// ja.add(jo);
// ht.addParam("query", ja);
// System.out.println(JSON.toJSONString(ht.requestParam));
// System.out.println(ht.postAsString());
// Map<String, Object> param = new HashMap<>();
// param.put("id", 123212);
// param.put("service", "hehe");
//
// Map<String, Object> shit = new HashMap<>();
// shit.put("code", 123);
// param.put("data", shit);
// System.out.println(JSON.toJSONString(param));
HttpRequest
ht
=
HttpRequest
.
newRequest
(
"http://172.24.132.45:20001/kowlone-provider-user/simple/1"
);
System
.
out
.
println
(
ht
.
postAsString
(
35000
));
}
catch
(
Exception
e
)
{
e
.
printStackTrace
();
}
}
public
static
String
getClientIp
(
HttpServletRequest
request
)
{
String
ip
=
request
.
getHeader
(
"x-forwarded-for"
);
if
(
ip
==
null
||
ip
.
length
()
==
0
||
"unknown"
.
equalsIgnoreCase
(
ip
))
{
ip
=
request
.
getHeader
(
"Proxy-Client-IP"
);
}
if
(
ip
==
null
||
ip
.
length
()
==
0
||
"unknown"
.
equalsIgnoreCase
(
ip
))
{
ip
=
request
.
getHeader
(
"WL-Proxy-Client-IP"
);
}
if
(
ip
==
null
||
ip
.
length
()
==
0
||
"unknown"
.
equalsIgnoreCase
(
ip
))
{
ip
=
request
.
getRemoteAddr
();
}
return
ip
;
}
}
liquidnet-bus-common/liquidnet-common-base/src/main/java/com/liquidnet/commons/lang/util/HttpUtil.java
View file @
58911f7d
/**
* $Id$
* Copyright(C) 2015-2020 kowlone - internet center, All Rights Reserved.
*/
package
com
.
liquidnet
.
commons
.
lang
.
util
;
import
org.apache.http.Consts
;
import
org.apache.http.HttpEntity
;
import
org.apache.http.HttpResponse
;
import
org.apache.http.NameValuePair
;
import
org.apache.http.client.ClientProtocolException
;
import
org.apache.http.client.ResponseHandler
;
import
org.apache.http.client.config.RequestConfig
;
import
org.apache.http.client.entity.UrlEncodedFormEntity
;
import
org.apache.http.client.methods.CloseableHttpResponse
;
import
org.apache.http.client.methods.HttpGet
;
import
org.apache.http.client.methods.HttpPost
;
import
org.apache.http.client.utils.URIBuilder
;
import
org.apache.http.config.ConnectionConfig
;
import
org.apache.http.config.MessageConstraints
;
import
org.apache.http.conn.ssl.SSLConnectionSocketFactory
;
import
org.apache.http.conn.ssl.SSLContextBuilder
;
import
org.apache.http.conn.ssl.TrustStrategy
;
import
org.apache.http.impl.client.CloseableHttpClient
;
import
org.apache.http.impl.client.HttpClients
;
import
org.apache.http.impl.conn.PoolingHttpClientConnectionManager
;
import
org.apache.http.util.EntityUtils
;
import
javax.net.ssl.SSLContext
;
import
java.io.IOException
;
import
java.net.URISyntaxException
;
import
java.nio.charset.Charset
;
import
java.nio.charset.CodingErrorAction
;
import
java.security.KeyManagementException
;
import
java.security.KeyStoreException
;
import
java.security.NoSuchAlgorithmException
;
import
java.security.cert.CertificateException
;
import
java.security.cert.X509Certificate
;
import
java.util.List
;
import
org.springframework.http.*
;
import
org.springframework.util.LinkedMultiValueMap
;
import
org.springframework.util.MultiValueMap
;
import
org.springframework.web.client.RestTemplate
;
/**
* HTTP工具类
public
class
HttpUtil
{
/**
* get请求
*
* @author <a href="kowlone2006@163.com">kowlone</a>
* @version 1.0 2012-5-4 下午2:15:40
* @param url
* @param params 请求参数
* @return
*/
public
abstract
class
HttpUtil
{
private
static
CloseableHttpClient
httpclient
=
null
;
private
static
CloseableHttpClient
httpsClient
=
null
;
static
{
try
{
RequestConfig
requestConfig
=
RequestConfig
.
custom
()
.
setConnectionRequestTimeout
(
5000
)
.
setSocketTimeout
(
30000
)
.
setConnectTimeout
(
30000
)
.
setExpectContinueEnabled
(
false
)
.
build
();
MessageConstraints
messageConstraints
=
MessageConstraints
.
custom
()
.
setMaxHeaderCount
(
200
)
.
setMaxLineLength
(
2000
)
.
build
();
ConnectionConfig
connectionConfig
=
ConnectionConfig
.
custom
()
.
setMalformedInputAction
(
CodingErrorAction
.
IGNORE
)
.
setUnmappableInputAction
(
CodingErrorAction
.
IGNORE
)
.
setCharset
(
Consts
.
UTF_8
)
.
setMessageConstraints
(
messageConstraints
)
.
build
();
PoolingHttpClientConnectionManager
connectionManager
=
new
PoolingHttpClientConnectionManager
();
connectionManager
.
setDefaultConnectionConfig
(
connectionConfig
);
connectionManager
.
setMaxTotal
(
100
);
// 连接池最大并发连接数
connectionManager
.
setDefaultMaxPerRoute
(
10
);
// 单路由最大并发数
httpclient
=
HttpClients
.
custom
().
setConnectionManager
(
connectionManager
).
setDefaultRequestConfig
(
requestConfig
).
build
();
try
{
SSLContext
sslContext
=
new
SSLContextBuilder
().
loadTrustMaterial
(
null
,
new
TrustStrategy
()
{
//信任所有
@Override
public
boolean
isTrusted
(
X509Certificate
[]
chain
,
String
authType
)
throws
CertificateException
{
return
true
;
}
}).
build
();
RequestConfig
requestConfigHttps
=
RequestConfig
.
custom
()
.
setConnectionRequestTimeout
(
5000
)
.
setSocketTimeout
(
30000
)
.
setConnectTimeout
(
30000
)
.
setExpectContinueEnabled
(
false
)
.
build
();
MessageConstraints
messageConstraintsHttps
=
MessageConstraints
.
custom
()
.
setMaxHeaderCount
(
200
)
.
setMaxLineLength
(
2000
)
.
build
();
ConnectionConfig
connectionConfigHttps
=
ConnectionConfig
.
custom
()
.
setMalformedInputAction
(
CodingErrorAction
.
IGNORE
)
.
setUnmappableInputAction
(
CodingErrorAction
.
IGNORE
)
.
setCharset
(
Consts
.
UTF_8
)
.
setMessageConstraints
(
messageConstraintsHttps
)
.
build
();
PoolingHttpClientConnectionManager
connectionManagerHttps
=
new
PoolingHttpClientConnectionManager
();
connectionManager
.
setDefaultConnectionConfig
(
connectionConfigHttps
);
connectionManager
.
setMaxTotal
(
100
);
// 连接池最大并发连接数
connectionManager
.
setDefaultMaxPerRoute
(
10
);
// 单路由最大并发数
SSLConnectionSocketFactory
sslsf
=
new
SSLConnectionSocketFactory
(
sslContext
);
httpsClient
=
HttpClients
.
custom
().
setSSLSocketFactory
(
sslsf
).
setConnectionManager
(
connectionManagerHttps
).
setDefaultRequestConfig
(
requestConfigHttps
).
build
();
}
catch
(
KeyManagementException
|
NoSuchAlgorithmException
|
KeyStoreException
e
)
{
e
.
printStackTrace
();
public
static
String
get
(
String
url
,
MultiValueMap
<
String
,
String
>
params
)
{
return
get
(
url
,
params
,
null
);
}
}
catch
(
Exception
e
)
{
e
.
printStackTrace
();
//logger.error("create httpUtil error", e);
}
}
public
static
String
get
(
String
scheme
,
String
host
,
String
path
,
List
<
NameValuePair
>
uriParam
,
List
<
NameValuePair
>
header
,
Charset
charset
)
throws
IOException
{
URIBuilder
uriBuilder
=
new
URIBuilder
().
setScheme
(
scheme
).
setHost
(
host
).
setPath
(
path
);
if
(
uriParam
!=
null
)
{
uriBuilder
.
setParameters
(
uriParam
);
}
try
{
HttpGet
httpget
=
new
HttpGet
(
uriBuilder
.
build
());
if
(
header
!=
null
)
{
for
(
NameValuePair
nvp
:
header
)
{
httpget
.
setHeader
(
nvp
.
getName
(),
nvp
.
getValue
());
}
}
ResponseHandler
<
String
>
responseHandler
=
getResponseHandler
(
charset
,
null
);
return
httpclient
.
execute
(
httpget
,
responseHandler
);
}
catch
(
URISyntaxException
e
)
{
throw
new
RuntimeException
(
e
);
}
}
public
static
String
get
(
String
scheme
,
String
host
,
String
path
,
List
<
NameValuePair
>
uriParam
,
List
<
NameValuePair
>
header
)
throws
IOException
{
return
get
(
scheme
,
host
,
path
,
uriParam
,
header
,
Consts
.
UTF_8
);
}
public
static
String
get
(
HttpGet
httpGet
,
Charset
charset
)
throws
IOException
{
ResponseHandler
<
String
>
responseHandler
=
getResponseHandler
(
charset
,
null
);
// logger.debug("get data is :{}", httpGet.toString());
return
httpclient
.
execute
(
httpGet
,
responseHandler
);
}
public
static
String
get
(
HttpGet
httpGet
)
throws
IOException
{
return
get
(
httpGet
,
Consts
.
UTF_8
);
/**
* get请求
*
* @param url
* @param params 请求参数
* @param headers 请求头
* @return
*/
public
static
String
get
(
String
url
,
MultiValueMap
<
String
,
String
>
params
,
MultiValueMap
<
String
,
String
>
headers
)
{
return
request
(
url
,
params
,
headers
,
HttpMethod
.
GET
);
}
public
static
byte
[]
binaryGet
(
HttpGet
httpGet
)
throws
IOException
{
CloseableHttpResponse
response
=
httpclient
.
execute
(
httpGet
);
return
EntityUtils
.
toByteArray
(
response
.
getEntity
());
/**
* post请求
*
* @param url
* @param params 请求参数
* @return
*/
public
static
String
post
(
String
url
,
MultiValueMap
<
String
,
String
>
params
)
{
return
post
(
url
,
params
,
null
);
}
public
static
String
post
(
HttpPost
httpPost
,
Charset
charset
)
throws
IOException
{
ResponseHandler
<
String
>
responseHandler
=
getResponseHandler
(
charset
,
null
);
return
httpclient
.
execute
(
httpPost
,
responseHandler
);
/**
* post请求
*
* @param url
* @param params 请求参数
* @param headers 请求头
* @return
*/
public
static
String
post
(
String
url
,
MultiValueMap
<
String
,
String
>
params
,
MultiValueMap
<
String
,
String
>
headers
)
{
return
request
(
url
,
params
,
headers
,
HttpMethod
.
POST
);
}
public
static
String
post
(
HttpPost
httpPost
)
throws
IOException
{
return
post
(
httpPost
,
Consts
.
UTF_8
);
/**
* put请求
*
* @param url
* @param params 请求参数
* @return
*/
public
static
String
put
(
String
url
,
MultiValueMap
<
String
,
String
>
params
)
{
return
put
(
url
,
params
,
null
);
}
public
static
String
post
(
String
uri
,
List
<?
extends
NameValuePair
>
params
,
final
OKResponseHandler
okResponseHandler
)
throws
IOException
{
HttpPost
post
=
new
HttpPost
(
uri
);
post
.
setEntity
(
new
UrlEncodedFormEntity
(
params
,
Consts
.
UTF_8
));
return
httpclient
.
execute
(
post
,
getResponseHandler
(
Consts
.
UTF_8
,
okResponseHandler
));
/**
* put请求
*
* @param url
* @param params 请求参数
* @param headers 请求头
* @return
*/
public
static
String
put
(
String
url
,
MultiValueMap
<
String
,
String
>
params
,
MultiValueMap
<
String
,
String
>
headers
)
{
return
request
(
url
,
params
,
headers
,
HttpMethod
.
PUT
);
}
public
static
String
postHttps
(
String
uri
,
List
<?
extends
NameValuePair
>
params
,
final
OKResponseHandler
okResponseHandler
)
throws
IOException
{
HttpPost
post
=
new
HttpPost
(
uri
);
post
.
setEntity
(
new
UrlEncodedFormEntity
(
params
,
Consts
.
UTF_8
));
return
httpsClient
.
execute
(
post
,
getResponseHandler
(
Consts
.
UTF_8
,
okResponseHandler
));
/**
* delete请求
*
* @param url
* @param params 请求参数
* @return
*/
public
static
String
delete
(
String
url
,
MultiValueMap
<
String
,
String
>
params
)
{
return
delete
(
url
,
params
,
null
);
}
public
static
byte
[]
binaryPost
(
HttpPost
httpPost
)
throws
IOException
{
CloseableHttpResponse
response
=
httpclient
.
execute
(
httpPost
);
return
EntityUtils
.
toByteArray
(
response
.
getEntity
());
/**
* delete请求
*
* @param url
* @param params 请求参数
* @param headers 请求头
* @return
*/
public
static
String
delete
(
String
url
,
MultiValueMap
<
String
,
String
>
params
,
MultiValueMap
<
String
,
String
>
headers
)
{
return
request
(
url
,
params
,
headers
,
HttpMethod
.
DELETE
);
}
/**
*
将原来get方法中ResponseHandler提成方法,由get/post共用
*
表单请求
*
* @param url
* @param params 请求参数
* @param headers 请求头
* @param method 请求方式
* @return
*/
private
static
ResponseHandler
<
String
>
getResponseHandler
(
Charset
charset
,
OKResponseHandler
okResponseHandler
)
{
ResponseHandler
<
String
>
responseHandler
=
response
->
{
int
status
=
response
.
getStatusLine
().
getStatusCode
();
if
(
status
>=
200
&&
status
<
300
)
{
HttpEntity
entity
=
response
.
getEntity
();
if
(
okResponseHandler
!=
null
)
{
okResponseHandler
.
handler
(
response
);
public
static
String
request
(
String
url
,
MultiValueMap
<
String
,
String
>
params
,
MultiValueMap
<
String
,
String
>
headers
,
HttpMethod
method
)
{
if
(
params
==
null
)
{
params
=
new
LinkedMultiValueMap
<>();
}
return
entity
!=
null
?
EntityUtils
.
toString
(
entity
,
charset
)
:
null
;
}
else
{
//logger.error(EntityUtils.toString(response.getEntity()));
throw
new
ClientProtocolException
(
"Unexpected response status: "
+
status
);
return
request
(
url
,
params
,
headers
,
method
,
MediaType
.
APPLICATION_FORM_URLENCODED
);
}
};
return
responseHandler
;
}
public
interface
OKResponseHandler
{
void
handler
(
HttpResponse
response
);
/**
* http请求
*
* @param url
* @param params 请求参数
* @param headers 请求头
* @param method 请求方式
* @param mediaType 参数类型
* @return
*/
public
static
String
request
(
String
url
,
Object
params
,
MultiValueMap
<
String
,
String
>
headers
,
HttpMethod
method
,
MediaType
mediaType
)
{
if
(
url
==
null
||
url
.
trim
().
isEmpty
())
{
return
null
;
}
RestTemplate
client
=
new
RestTemplate
();
// header
HttpHeaders
httpHeaders
=
new
HttpHeaders
();
if
(
headers
!=
null
)
{
httpHeaders
.
addAll
(
headers
);
}
// 提交方式:表单、json
httpHeaders
.
setContentType
(
mediaType
);
HttpEntity
<
Object
>
httpEntity
=
new
HttpEntity
(
params
,
httpHeaders
);
ResponseEntity
<
String
>
response
=
client
.
exchange
(
url
,
method
,
httpEntity
,
String
.
class
);
return
response
.
getBody
();
}
}
liquidnet-bus-common/liquidnet-common-web/src/main/java/com/liquidnet/common/web/config/CorsConfig.java
View file @
58911f7d
...
...
@@ -15,7 +15,7 @@ import org.springframework.web.cors.CorsConfiguration;
import
org.springframework.web.cors.UrlBasedCorsConfigurationSource
;
import
org.springframework.web.filter.CorsFilter
;
@Configuration
//
@Configuration
public
class
CorsConfig
{
private
CorsConfiguration
buildConfig
()
{
CorsConfiguration
corsConfiguration
=
new
CorsConfiguration
();
...
...
liquidnet-bus-config/liquidnet-config/application-dev.yml
View file @
58911f7d
...
...
@@ -5,6 +5,11 @@ liquidnet:
security
:
username
:
user
password
:
user123
jwt
:
secret
:
qZHglvNP0n0aOOckHiQXq5JMD468J4eG
expire-ttl
:
43200
refresh-ttl
:
525600
blacklist_grace_period
:
5
mysql
:
urlHostAndPort
:
39.106.122.201:3308
username
:
testmall
...
...
liquidnet-bus-config/liquidnet-config/application.yml
View file @
58911f7d
...
...
@@ -6,3 +6,8 @@ spring:
rabbitmq
:
ssl
:
algorithm
:
TLSv1.2
jwt
:
secret
:
${liquidnet.jwt.secret}
expire-ttl
:
${liquidnet.jwt.expire-ttl}
refresh-ttl
:
${liquidnet.jwt.refresh-ttl}
blacklist_grace_period
:
${liquidnet.jwt.blacklist_grace_period}
\ No newline at end of file
liquidnet-bus-config/liquidnet-config/liquidnet-service-adam-dev.yml
View file @
58911f7d
...
...
@@ -20,6 +20,9 @@ liquidnet:
database-name
:
ln_adam
mybatis-plus
:
log-level
:
debug
aliyun
:
accessKeyId
:
accessSecret
:
# conf:
# webUrl: ${liquidnet.service.adam.conf.webUrl}
# user:
...
...
liquidnet-bus-config/liquidnet-config/liquidnet-support-zuul.yml
View file @
58911f7d
...
...
@@ -4,7 +4,7 @@ server:
uri-encoding
:
UTF-8
servlet
:
context-path
:
# context-path: ${liquidnet.info.context}
# context-path: ${liquidnet.info.context}
# server:
# tomcat:
# accept-count: 500
...
...
@@ -37,7 +37,9 @@ spring:
application
:
name
:
${liquidnet.info.name}
autoconfigure
:
exclude
:
org.springframework.boot.autoconfigure.jdbc.DataSourceAutoConfiguration
exclude
:
-
org.springframework.cloud.bus.BusAutoConfiguration
-
org.springframework.boot.autoconfigure.jdbc.DataSourceAutoConfiguration
profiles
:
include
:
common-service
# cloud:
...
...
@@ -76,12 +78,20 @@ zuul:
# pre: # 类型
# disable: true
# -----------------------------------------------------------
common
:
global
:
login
:
url
:
/adam/login
exclude
:
auth
:
url
:
/adam/login,/adam/v2/api-docs,/kylin/v2/api-docs
url
:
/adam/login/sms,
/adam/login/mobile,
/adam/login/tpa
exclude
:
url
:
/adam/v2/api-docs,
/adam/v2/api-docs-ext,
/kylin/v2/api-docs,
/kylin/v2/api-docs-ext,
/adam/login/sms,
/adam/login/mobile,
/adam/login/tpa,
/adam/send
# -----------------------------------------------------------
#解决错误 com.netflix.client.ClientException: Load balancer does not have available server for client:panfeng-item-service
#这样就可以即指定path与URL,又不破坏Zuul的Hystrix与Ribbon特性了。
...
...
liquidnet-bus-service/liquidnet-api-feign/liquidnet-api-feign-adam/src/main/java/com/liquidnet/service/feign/adam/api/FeignAdam
Auth
Client.java
→
liquidnet-bus-service/liquidnet-api-feign/liquidnet-api-feign-adam/src/main/java/com/liquidnet/service/feign/adam/api/FeignAdam
Login
Client.java
View file @
58911f7d
package
com
.
liquidnet
.
service
.
feign
.
adam
.
api
;
import
com.liquidnet.service.ResponseDto
;
import
com.liquidnet.service.adam.dto.AdamThirdPartParam
;
import
com.liquidnet.service.adam.dto.vo.AdamLoginInfoVo
;
import
feign.hystrix.FallbackFactory
;
import
org.springframework.cloud.openfeign.FeignClient
;
import
org.springframework.stereotype.Component
;
import
org.springframework.web.bind.annotation.PostMapping
;
import
org.springframework.web.bind.annotation.RequestBody
;
import
org.springframework.web.bind.annotation.RequestParam
;
@Component
@FeignClient
(
name
=
"liquidnet-service-adam"
,
contextId
=
"
sev-adam-auth
"
,
path
=
""
,
contextId
=
""
,
path
=
""
,
fallback
=
FallbackFactory
.
Default
.
class
)
public
interface
FeignAdam
Auth
Client
{
public
interface
FeignAdam
Login
Client
{
@PostMapping
(
value
=
"login"
)
ResponseDto
<
Object
>
loginByPwd
(
@RequestParam
String
mobile
,
@RequestParam
String
password
);
@PostMapping
(
value
=
"login
/sms
"
)
ResponseDto
<
AdamLoginInfoVo
>
loginBySms
(
@RequestParam
String
mobile
,
@RequestParam
String
code
);
@PostMapping
(
value
=
{
"login/mobile"
})
ResponseDto
<
AdamLoginInfoVo
>
loginByMobile
(
@RequestParam
String
accessToken
);
@PostMapping
(
value
=
{
"login/tpa"
})
ResponseDto
<
AdamLoginInfoVo
>
loginByTpa
(
@RequestBody
AdamThirdPartParam
parameter
);
}
liquidnet-bus-service/liquidnet-service-adam/liquidnet-service-adam-api/src/main/java/com/liquidnet/service/adam/dto/AdamThirdPartParam.java
0 → 100644
View file @
58911f7d
package
com
.
liquidnet
.
service
.
adam
.
dto
;
import
io.swagger.annotations.ApiModel
;
import
io.swagger.annotations.ApiModelProperty
;
import
lombok.Data
;
import
java.io.Serializable
;
@ApiModel
(
value
=
"AdamThirdPartParam"
,
description
=
"第三方账号登录注册入参"
)
@Data
public
class
AdamThirdPartParam
implements
Serializable
{
private
static
final
long
serialVersionUID
=
675588088506034208L
;
@ApiModelProperty
(
position
=
11
,
required
=
true
,
value
=
"第三方OPENID[64]"
)
private
String
openId
;
@ApiModelProperty
(
position
=
12
,
required
=
true
,
value
=
"昵称[64]"
,
example
=
"Swagger"
)
private
String
nickName
;
@ApiModelProperty
(
position
=
13
,
required
=
true
,
value
=
"头像[255]"
,
example
=
"http://pic.zhengzai.tv/default/avatar.png"
)
private
String
avatar
;
@ApiModelProperty
(
position
=
14
,
required
=
true
,
value
=
"平台类型[255]"
,
allowableValues
=
"WEIBO,WECHAT,QQ"
)
private
String
platform
;
@ApiModelProperty
(
position
=
15
,
required
=
false
,
value
=
"手机号[新账号时必传]"
,
example
=
"13111111111"
)
private
String
mobile
;
@ApiModelProperty
(
position
=
16
,
required
=
false
,
value
=
"验证码[新账号时必传]"
,
example
=
"111111"
)
private
String
code
;
}
liquidnet-bus-service/liquidnet-service-adam/liquidnet-service-adam-api/src/main/java/com/liquidnet/service/adam/dto/vo/AdamLoginInfoVo.java
0 → 100644
View file @
58911f7d
package
com
.
liquidnet
.
service
.
adam
.
dto
.
vo
;
import
io.swagger.annotations.ApiModel
;
import
io.swagger.annotations.ApiModelProperty
;
import
lombok.Data
;
import
java.io.Serializable
;
import
java.util.List
;
@ApiModel
(
value
=
"AdamLoginInfoVo"
,
description
=
"登录成功响应数据"
)
@Data
public
class
AdamLoginInfoVo
implements
Serializable
,
Cloneable
{
private
static
final
long
serialVersionUID
=
4209754800686327524L
;
@ApiModelProperty
(
position
=
11
,
value
=
"TOKEN"
)
private
String
token
;
@ApiModelProperty
(
position
=
12
,
value
=
"用户信息"
)
private
AdamUserInfoVo
userInfo
;
@ApiModelProperty
(
position
=
13
,
value
=
"实名信息"
)
private
AdamRealInfoVo
realNameInfo
;
@ApiModelProperty
(
position
=
14
,
value
=
"用户第三方账号信息"
)
private
List
<
AdamThirdPartInfoVo
>
thirdPartInfo
;
@ApiModelProperty
(
position
=
15
,
value
=
"会员信息 -> 待定"
)
private
Object
memberInfo
;
private
static
final
AdamLoginInfoVo
obj
=
new
AdamLoginInfoVo
();
public
static
AdamLoginInfoVo
getNew
()
{
try
{
return
(
AdamLoginInfoVo
)
obj
.
clone
();
}
catch
(
CloneNotSupportedException
e
)
{
e
.
printStackTrace
();
}
return
new
AdamLoginInfoVo
();
}
}
liquidnet-bus-service/liquidnet-service-adam/liquidnet-service-adam-api/src/main/java/com/liquidnet/service/adam/dto/vo/AdamRealInfoVo.java
0 → 100644
View file @
58911f7d
package
com
.
liquidnet
.
service
.
adam
.
dto
.
vo
;
import
io.swagger.annotations.ApiModel
;
import
io.swagger.annotations.ApiModelProperty
;
import
lombok.Data
;
import
java.io.Serializable
;
@ApiModel
(
value
=
"AdamRealInfoVo"
,
description
=
"实名信息"
)
@Data
public
class
AdamRealInfoVo
implements
Serializable
,
Cloneable
{
private
static
final
long
serialVersionUID
=
-
3469256375584132928L
;
@ApiModelProperty
(
position
=
11
,
value
=
"姓名[30]"
)
private
String
name
;
@ApiModelProperty
(
position
=
12
,
value
=
"证件号[50]"
)
private
String
idCard
;
@ApiModelProperty
(
position
=
13
,
value
=
"状态:1-正常"
)
private
String
state
;
private
static
final
AdamRealInfoVo
obj
=
new
AdamRealInfoVo
();
public
static
AdamRealInfoVo
getNew
()
{
try
{
return
(
AdamRealInfoVo
)
obj
.
clone
();
}
catch
(
CloneNotSupportedException
e
)
{
e
.
printStackTrace
();
}
return
new
AdamRealInfoVo
();
}
}
liquidnet-bus-service/liquidnet-service-adam/liquidnet-service-adam-api/src/main/java/com/liquidnet/service/adam/dto/vo/AdamThirdPartInfoVo.java
View file @
58911f7d
...
...
@@ -8,8 +8,6 @@ import lombok.Data;
@Data
public
class
AdamThirdPartInfoVo
implements
java
.
io
.
Serializable
,
Cloneable
{
private
static
final
long
serialVersionUID
=
-
3239086191919676121L
;
@ApiModelProperty
(
position
=
10
,
value
=
"Third Party ID[64]"
)
private
String
thirdPartyId
;
@ApiModelProperty
(
position
=
11
,
value
=
"用户ID[64]"
)
private
String
uid
;
@ApiModelProperty
(
position
=
12
,
value
=
"第三方ID[64]"
)
...
...
@@ -18,10 +16,10 @@ public class AdamThirdPartInfoVo implements java.io.Serializable, Cloneable {
private
String
nickname
;
@ApiModelProperty
(
position
=
14
,
value
=
"头像[255]"
)
private
String
avatar
;
@ApiModelProperty
(
position
=
1
4
,
value
=
"平台类型[20]"
)
@ApiModelProperty
(
position
=
1
5
,
value
=
"平台类型[20]"
)
private
String
platform
;
@ApiModelProperty
(
position
=
1
4
,
value
=
"状态[1-绑定,2-解绑]"
)
private
int
state
;
@ApiModelProperty
(
position
=
1
6
,
value
=
"状态[1-绑定,2-解绑]"
)
private
Integer
state
;
private
static
final
AdamThirdPartInfoVo
obj
=
new
AdamThirdPartInfoVo
();
...
...
liquidnet-bus-service/liquidnet-service-adam/liquidnet-service-adam-api/src/main/java/com/liquidnet/service/adam/dto/vo/AdamUserInfoVo.java
View file @
58911f7d
...
...
@@ -10,26 +10,32 @@ public class AdamUserInfoVo implements java.io.Serializable, Cloneable {
private
static
final
long
serialVersionUID
=
8479869354894030303L
;
@ApiModelProperty
(
position
=
10
,
value
=
"用户ID[64]"
)
private
String
uid
;
@ApiModelProperty
(
position
=
11
,
value
=
"昵称[32]"
)
private
String
username
;
@ApiModelProperty
(
position
=
12
,
value
=
"性别[32]"
)
@ApiModelProperty
(
position
=
11
,
value
=
"手机号[20]"
)
private
String
mobile
;
@ApiModelProperty
(
position
=
12
,
value
=
"昵称[32]"
)
private
String
nickName
;
@ApiModelProperty
(
position
=
13
,
value
=
"状态[1-正常,2-注销]"
)
private
Integer
state
;
@ApiModelProperty
(
position
=
14
,
value
=
"性别[32]"
)
private
String
sex
;
@ApiModelProperty
(
position
=
1
3
,
value
=
"生日[YYYY-MM-DD]"
)
@ApiModelProperty
(
position
=
1
5
,
value
=
"生日[YYYY-MM-DD]"
)
private
String
birthday
;
@ApiModelProperty
(
position
=
1
4
,
value
=
"常住地/区域"
)
@ApiModelProperty
(
position
=
1
6
,
value
=
"常住地/区域"
)
private
String
area
;
@ApiModelProperty
(
position
=
1
5
,
value
=
"个性签名"
)
@ApiModelProperty
(
position
=
1
7
,
value
=
"个性签名"
)
private
String
signature
;
@ApiModelProperty
(
position
=
1
6
,
value
=
"头像"
)
@ApiModelProperty
(
position
=
1
8
,
value
=
"头像"
)
private
String
avatar
;
@ApiModelProperty
(
position
=
1
7
,
value
=
"背景图"
)
@ApiModelProperty
(
position
=
1
9
,
value
=
"背景图"
)
private
String
background
;
@ApiModelProperty
(
position
=
18
,
value
=
"标签"
)
@ApiModelProperty
(
position
=
20
,
value
=
"标签"
)
private
String
tagMe
;
@ApiModelProperty
(
position
=
19
,
value
=
""
)
private
String
rongCloudToken
;
// @ApiModelProperty(position = 20, value = "隐私配置")
// private
@ApiModelProperty
(
position
=
21
,
value
=
"注册时间"
)
private
String
createAt
;
@ApiModelProperty
(
position
=
22
,
value
=
"是否完善信息[0-未完善,1-已完善]"
)
private
Integer
isComplete
;
// @ApiModelProperty(position = 23, value = "")
// private String rongCloudToken;
private
static
final
AdamUserInfoVo
obj
=
new
AdamUserInfoVo
();
...
...
liquidnet-bus-service/liquidnet-service-adam/liquidnet-service-adam-api/src/main/java/com/liquidnet/service/adam/service/IAdamRealNameService.java
View file @
58911f7d
package
com
.
liquidnet
.
service
.
adam
.
service
;
import
com.liquidnet.service.adam.dto.vo.AdamRealInfoVo
;
import
com.liquidnet.service.adam.entity.AdamRealName
;
import
com.baomidou.mybatisplus.extension.service.IService
;
...
...
@@ -13,4 +14,5 @@ import com.baomidou.mybatisplus.extension.service.IService;
*/
public
interface
IAdamRealNameService
extends
IService
<
AdamRealName
>
{
AdamRealInfoVo
queryByUid
(
String
uid
);
}
liquidnet-bus-service/liquidnet-service-adam/liquidnet-service-adam-api/src/main/java/com/liquidnet/service/adam/service/IAdamThirdPartyService.java
View file @
58911f7d
package
com
.
liquidnet
.
service
.
adam
.
service
;
import
com.liquidnet.service.adam.dto.vo.AdamThirdPartInfoVo
;
import
com.liquidnet.service.adam.entity.AdamThirdParty
;
import
com.baomidou.mybatisplus.extension.service.IService
;
import
java.util.List
;
/**
* <p>
* 用户第三方账号信息 服务类
...
...
@@ -13,4 +16,7 @@ import com.baomidou.mybatisplus.extension.service.IService;
*/
public
interface
IAdamThirdPartyService
extends
IService
<
AdamThirdParty
>
{
List
<
AdamThirdPartInfoVo
>
queryByUid
(
String
uid
);
AdamThirdPartInfoVo
queryByOpenId
(
String
openId
,
String
platform
);
}
liquidnet-bus-service/liquidnet-service-adam/liquidnet-service-adam-api/src/main/java/com/liquidnet/service/adam/service/IAdamUserInfoService.java
View file @
58911f7d
package
com
.
liquidnet
.
service
.
adam
.
service
;
import
com.liquidnet.service.adam.dto.vo.AdamUserInfoVo
;
import
com.liquidnet.service.adam.entity.AdamUserInfo
;
import
com.baomidou.mybatisplus.extension.service.IService
;
/**
* <p>
*
正在现场
用户信息 服务类
* 用户信息 服务类
* </p>
*
* @author liquidnet
...
...
@@ -13,4 +14,5 @@ import com.baomidou.mybatisplus.extension.service.IService;
*/
public
interface
IAdamUserInfoService
extends
IService
<
AdamUserInfo
>
{
void
edit
(
AdamUserInfoVo
userInfoVo
);
}
liquidnet-bus-service/liquidnet-service-adam/liquidnet-service-adam-api/src/main/java/com/liquidnet/service/adam/service/IAdamUserService.java
View file @
58911f7d
package
com
.
liquidnet
.
service
.
adam
.
service
;
import
com.liquidnet.service.adam.dto.AdamThirdPartParam
;
import
com.liquidnet.service.adam.dto.vo.AdamUserInfoVo
;
import
com.liquidnet.service.adam.entity.AdamUser
;
import
com.baomidou.mybatisplus.extension.service.IService
;
...
...
@@ -13,4 +15,25 @@ import com.baomidou.mybatisplus.extension.service.IService;
*/
public
interface
IAdamUserService
extends
IService
<
AdamUser
>
{
String
queryUidByRedis
(
String
mobile
);
String
queryUidByRedis
(
String
openId
,
String
platform
);
AdamUserInfoVo
queryByUid
(
String
uid
);
/**
* 手机号注册
*
* @param mobile
* @return AdamUserInfoVo
*/
AdamUserInfoVo
register
(
String
mobile
);
/**
* 第三方账号注册
*
* @param thirdPartParam
* @return AdamUserInfoVo
*/
AdamUserInfoVo
register
(
AdamThirdPartParam
thirdPartParam
);
}
liquidnet-bus-service/liquidnet-service-adam/liquidnet-service-adam-impl/docu/db_ln_adam_initialdata.sql
View file @
58911f7d
...
...
@@ -55,7 +55,7 @@ create table adam_user
(
mid
int
unsigned
auto_increment
primary
key
,
uid
varchar
(
64
)
not
null
,
mobile
varchar
(
16
)
not
null
,
mobile
varchar
(
30
)
not
null
,
passwd
varchar
(
64
),
pay_code
varchar
(
64
),
state
tinyint
comment
'1-NORMAL,2-INVALID'
,
...
...
@@ -94,7 +94,7 @@ create table adam_real_name
real_name_id
varchar
(
64
)
not
null
,
uid
varchar
(
64
)
not
null
,
type
enum
(
'1'
,
'2'
,
'3'
,
'4'
,
'5'
)
not
null
default
'1'
comment
'1-大陆身份证,2-港澳通行证,3-台胞证,4-护照,5-军官证'
,
name
varchar
(
2
0
)
not
null
comment
'真实姓名'
,
name
varchar
(
3
0
)
not
null
comment
'真实姓名'
,
id_card
varchar
(
50
)
not
null
comment
'证件号码'
,
state
tinyint
not
null
comment
'0-INIT,1-NORMAL,2-INVALID'
,
created_at
datetime
not
null
,
...
...
liquidnet-bus-service/liquidnet-service-adam/liquidnet-service-adam-impl/pom.xml
View file @
58911f7d
...
...
@@ -35,6 +35,15 @@
<groupId>
org.springframework.boot
</groupId>
<artifactId>
spring-boot-starter-data-mongodb
</artifactId>
</dependency>
<dependency>
<groupId>
com.aliyun
</groupId>
<artifactId>
aliyun-java-sdk-core
</artifactId>
</dependency>
<dependency>
<groupId>
com.aliyun
</groupId>
<artifactId>
aliyun-java-sdk-dypnsapi
</artifactId>
</dependency>
</dependencies>
<build>
...
...
liquidnet-bus-service/liquidnet-service-adam/liquidnet-service-adam-impl/src/main/java/com/liquidnet/service/adam/config/AliyunDypnsConfigure.java
0 → 100644
View file @
58911f7d
package
com
.
liquidnet
.
service
.
adam
.
config
;
import
com.aliyuncs.DefaultAcsClient
;
import
com.aliyuncs.profile.DefaultProfile
;
import
org.springframework.beans.factory.annotation.Value
;
import
org.springframework.context.annotation.Bean
;
import
org.springframework.context.annotation.Configuration
;
@Configuration
public
class
AliyunDypnsConfigure
{
@Value
(
"${liquidnet.aliyun.accessKeyId}"
)
private
String
accessKeyId
;
@Value
(
"${liquidnet.aliyun.accessSecret}"
)
private
String
accessSecret
;
@Bean
public
DefaultAcsClient
initAcsClient
()
{
DefaultProfile
profile
=
DefaultProfile
.
getProfile
(
"cn-hangzhou"
,
accessKeyId
,
accessSecret
);
return
new
DefaultAcsClient
(
profile
);
}
}
liquidnet-bus-service/liquidnet-service-adam/liquidnet-service-adam-impl/src/main/java/com/liquidnet/service/adam/constant/AdamRedisConst.java
View file @
58911f7d
...
...
@@ -18,6 +18,13 @@ public class AdamRedisConst {
public
static
final
String
MEMBER_MEMBER_NO_MAX_KEY
=
ADAM
.
concat
(
":members:member_no_max:"
);
public
static
final
String
INFO_IDENTITY
=
ADAM
.
concat
(
":identity"
);
public
static
final
String
INFO_IDENTITY_MOBILE
=
INFO_IDENTITY
.
concat
(
":mobile"
);
public
static
final
String
INFO_IDENTITY_THIRD_PARTY
=
INFO_IDENTITY
.
concat
(
":third_party"
);
public
static
final
String
INFO_USER
=
ADAM
.
concat
(
":list:users"
);
public
static
final
String
INFO_REAL_NAME
=
ADAM
.
concat
(
":list:real_name"
);
public
static
final
String
INFO_THIRD_PARTY
=
ADAM
.
concat
(
":list:third_party"
);
// public static final String USER_CONFIRM_SMS_CODE_KEY = ADAM + ":user:sms_confirm:";
//
// public static final String USER_EMAIL_CONFIRM_KEY = ADAM + ":user:email:confirm:";
...
...
liquidnet-bus-service/liquidnet-service-adam/liquidnet-service-adam-impl/src/main/java/com/liquidnet/service/adam/controller/AdamAddressesController.java
View file @
58911f7d
package
com
.
liquidnet
.
service
.
adam
.
controller
;
import
com.github.xiaoymin.knife4j.annotations.ApiOperationSupport
;
import
com.github.xiaoymin.knife4j.annotations.ApiSupport
;
import
com.liquidnet.service.ResponseDto
;
import
com.liquidnet.service.adam.dto.AdamAddressesParam
;
import
com.liquidnet.service.adam.dto.vo.AdamAddressesVo
;
...
...
@@ -20,6 +21,7 @@ import java.util.List;
* @author liquidnet
* @since 2021-05-10
*/
@ApiSupport
(
order
=
10060
)
@Api
(
tags
=
"收获地址"
)
@Slf4j
@RestController
...
...
liquidnet-bus-service/liquidnet-service-adam/liquidnet-service-adam-impl/src/main/java/com/liquidnet/service/adam/controller/AdamCollectionController.java
View file @
58911f7d
...
...
@@ -2,6 +2,7 @@ package com.liquidnet.service.adam.controller;
import
com.github.pagehelper.PageInfo
;
import
com.github.xiaoymin.knife4j.annotations.ApiOperationSupport
;
import
com.github.xiaoymin.knife4j.annotations.ApiSupport
;
import
com.liquidnet.service.ResponseDto
;
import
com.liquidnet.service.adam.dto.AdamCollectParam
;
import
io.swagger.annotations.Api
;
...
...
@@ -19,6 +20,7 @@ import org.springframework.web.bind.annotation.*;
* @author liquidnet
* @since 2021-05-10
*/
@ApiSupport
(
order
=
10050
)
@Api
(
tags
=
"收藏"
)
@Slf4j
@RestController
...
...
liquidnet-bus-service/liquidnet-service-adam/liquidnet-service-adam-impl/src/main/java/com/liquidnet/service/adam/controller/AdamEntersController.java
View file @
58911f7d
package
com
.
liquidnet
.
service
.
adam
.
controller
;
import
com.github.xiaoymin.knife4j.annotations.ApiOperationSupport
;
import
com.github.xiaoymin.knife4j.annotations.ApiSupport
;
import
com.liquidnet.commons.lang.util.IDGenerator
;
import
com.liquidnet.service.ResponseDto
;
import
com.liquidnet.service.adam.dto.AdamEntersParam
;
...
...
@@ -26,6 +27,7 @@ import java.util.List;
* @author liquidnet
* @since 2021-04-28
*/
@ApiSupport
(
order
=
10040
)
@Api
(
tags
=
"入场人"
)
@Slf4j
@RestController
...
...
liquidnet-bus-service/liquidnet-service-adam/liquidnet-service-adam-impl/src/main/java/com/liquidnet/service/adam/controller/AdamLoginController.java
0 → 100644
View file @
58911f7d
package
com
.
liquidnet
.
service
.
adam
.
controller
;
import
com.aliyuncs.DefaultAcsClient
;
import
com.aliyuncs.dypnsapi.model.v20170525.GetMobileRequest
;
import
com.aliyuncs.dypnsapi.model.v20170525.GetMobileResponse
;
import
com.aliyuncs.exceptions.ClientException
;
import
com.github.xiaoymin.knife4j.annotations.ApiOperationSupport
;
import
com.github.xiaoymin.knife4j.annotations.ApiSupport
;
import
com.liquidnet.commons.lang.util.HttpUtil
;
import
com.liquidnet.commons.lang.util.JsonUtils
;
import
com.liquidnet.commons.lang.core.JwtValidator
;
import
com.liquidnet.service.ResponseDto
;
import
com.liquidnet.service.adam.dto.AdamThirdPartParam
;
import
com.liquidnet.service.adam.dto.vo.AdamLoginInfoVo
;
import
com.liquidnet.service.adam.dto.vo.AdamThirdPartInfoVo
;
import
com.liquidnet.service.adam.dto.vo.AdamUserInfoVo
;
import
com.liquidnet.service.adam.service.IAdamRealNameService
;
import
com.liquidnet.service.adam.service.IAdamThirdPartyService
;
import
com.liquidnet.service.adam.service.IAdamUserService
;
import
io.swagger.annotations.Api
;
import
io.swagger.annotations.ApiImplicitParam
;
import
io.swagger.annotations.ApiImplicitParams
;
import
io.swagger.annotations.ApiOperation
;
import
lombok.extern.slf4j.Slf4j
;
import
org.apache.commons.lang3.StringUtils
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.core.env.Environment
;
import
org.springframework.util.LinkedMultiValueMap
;
import
org.springframework.web.bind.annotation.*
;
import
java.util.HashMap
;
import
java.util.Map
;
import
java.util.Objects
;
@ApiSupport
(
order
=
10010
)
@Api
(
tags
=
"用户登录"
)
@Slf4j
@RestController
@RequestMapping
(
""
)
public
class
AdamLoginController
{
@Autowired
Environment
environment
;
@Autowired
JwtValidator
jwtValidator
;
@Autowired
DefaultAcsClient
defaultAcsClient
;
@Autowired
IAdamUserService
adamUserService
;
@Autowired
IAdamRealNameService
adamRealNameService
;
@Autowired
IAdamThirdPartyService
adamThirdPartyService
;
/*@ApiOperationSupport(order = 1)
@ApiOperation(value = "手机号密码登录")
@ApiImplicitParams({
@ApiImplicitParam(type = "form", dataType = "String", name = "mobile", value = "手机号"),
@ApiImplicitParam(type = "form", dataType = "String", name = "password", value = "密码"),
})
@PostMapping(value = {""})
public ResponseDto<AdamLoginInfoVo> loginByPwd(@RequestParam String mobile, @RequestParam String password) {
log.info("mobile:{},pwd:{}", mobile, password);
DigestUtils.md5DigestAsHex((password + "salt_").getBytes(StandardCharsets.UTF_8));
return ResponseDto.success(AdamLoginInfoVo.getNew());
}*/
@ApiOperationSupport
(
order
=
2
)
@ApiOperation
(
value
=
"发送验证码"
)
@ApiImplicitParams
({
@ApiImplicitParam
(
type
=
"form"
,
required
=
true
,
dataType
=
"String"
,
name
=
"mobile"
,
value
=
"手机号"
),
})
@GetMapping
(
value
=
{
"send"
})
public
ResponseDto
<
Object
>
sendSms
(
@RequestParam
String
mobile
)
{
log
.
info
(
"send to mobile:{}"
,
mobile
);
LinkedMultiValueMap
<
String
,
String
>
paramsMap
=
new
LinkedMultiValueMap
<>();
paramsMap
.
add
(
"mobile"
,
mobile
);
LinkedMultiValueMap
<
String
,
String
>
headersMap
=
new
LinkedMultiValueMap
<>();
headersMap
.
add
(
"token"
,
null
);
try
{
// TODO: 2021/5/12
String
respStr
=
HttpUtil
.
post
(
"https://service.zhengzai.tv/smsCode"
,
paramsMap
,
headersMap
);
log
.
info
(
"###PHP.API[{}].RESP[{}]"
,
"https://service.zhengzai.tv/smsCode"
,
respStr
);
// Map respMap = JsonUtils.fromJson(respStr, Map.class);
}
catch
(
Exception
e
)
{
log
.
error
(
"验证码发送异常[mobile:{}]"
,
mobile
,
e
);
return
ResponseDto
.
failure
(
"验证码发送失败"
);
}
return
ResponseDto
.
success
();
}
@ApiOperationSupport
(
order
=
3
)
@ApiOperation
(
value
=
"手机号验证码登录"
)
@ApiImplicitParams
({
@ApiImplicitParam
(
type
=
"form"
,
required
=
true
,
dataType
=
"String"
,
name
=
"mobile"
,
value
=
"手机号"
),
@ApiImplicitParam
(
type
=
"form"
,
required
=
true
,
dataType
=
"String"
,
name
=
"code"
,
value
=
"验证码"
),
})
@PostMapping
(
value
=
{
"login/sms"
})
public
ResponseDto
<
AdamLoginInfoVo
>
loginBySms
(
@RequestParam
String
mobile
,
@RequestParam
String
code
)
{
// TODO: 2021/5/12 参数检验
log
.
info
(
"mobile:{},pwd:{}"
,
mobile
,
code
);
if
(!
this
.
checkSmsCode
(
mobile
,
code
))
return
ResponseDto
.
failure
(
"验证码无效"
);
String
uid
=
adamUserService
.
queryUidByRedis
(
mobile
);
AdamUserInfoVo
userInfoVo
=
StringUtils
.
isEmpty
(
uid
)
?
adamUserService
.
register
(
mobile
)
:
adamUserService
.
queryByUid
(
uid
);
AdamLoginInfoVo
loginInfoVo
=
AdamLoginInfoVo
.
getNew
();
if
(
userInfoVo
.
getIsComplete
()
==
1
)
{
loginInfoVo
.
setRealNameInfo
(
adamRealNameService
.
queryByUid
(
userInfoVo
.
getUid
()));
loginInfoVo
.
setThirdPartInfo
(
adamThirdPartyService
.
queryByUid
(
userInfoVo
.
getUid
()));
// TODO: 2021/5/12 会员信息
loginInfoVo
.
setMemberInfo
(
null
);
}
loginInfoVo
.
setUserInfo
(
userInfoVo
);
Map
<
String
,
Object
>
claimsMap
=
new
HashMap
<>();
claimsMap
.
put
(
"uid"
,
userInfoVo
.
getUid
());
loginInfoVo
.
setToken
(
jwtValidator
.
create
(
claimsMap
));
return
ResponseDto
.
success
(
loginInfoVo
);
}
@ApiOperationSupport
(
order
=
4
)
@ApiOperation
(
value
=
"手机号一键登录"
)
@ApiImplicitParams
({
@ApiImplicitParam
(
type
=
"form"
,
required
=
true
,
dataType
=
"String"
,
name
=
"accessToken"
,
value
=
"访问令牌"
),
})
@PostMapping
(
value
=
{
"login/mobile"
})
public
ResponseDto
<
AdamLoginInfoVo
>
loginByMobile
(
@RequestParam
String
accessToken
)
{
// TODO: 2021/5/10
log
.
info
(
"login by mobile access token:{}"
,
accessToken
);
String
mobile
=
this
.
getMobile
(
accessToken
);
if
(
StringUtils
.
isEmpty
(
mobile
))
return
ResponseDto
.
failure
(
"手机号获取失败,请更换登录方式"
);
String
uid
=
adamUserService
.
queryUidByRedis
(
mobile
);
AdamUserInfoVo
userInfoVo
=
StringUtils
.
isEmpty
(
uid
)
?
adamUserService
.
register
(
mobile
)
:
adamUserService
.
queryByUid
(
uid
);
AdamLoginInfoVo
loginInfoVo
=
AdamLoginInfoVo
.
getNew
();
if
(
loginInfoVo
.
getUserInfo
().
getIsComplete
()
==
1
)
{
loginInfoVo
.
setRealNameInfo
(
adamRealNameService
.
queryByUid
(
userInfoVo
.
getUid
()));
loginInfoVo
.
setThirdPartInfo
(
adamThirdPartyService
.
queryByUid
(
userInfoVo
.
getUid
()));
// TODO: 2021/5/12 会员信息
loginInfoVo
.
setMemberInfo
(
null
);
}
loginInfoVo
.
setUserInfo
(
userInfoVo
);
Map
<
String
,
Object
>
claimsMap
=
new
HashMap
<>();
claimsMap
.
put
(
"uid"
,
userInfoVo
.
getUid
());
loginInfoVo
.
setToken
(
jwtValidator
.
create
(
claimsMap
));
return
ResponseDto
.
success
(
AdamLoginInfoVo
.
getNew
());
}
// @ApiOperationSupport(order = 5)
// @ApiOperation(value = "第三方账号注册")
// @ApiImplicitParams({
// @ApiImplicitParam(type = "form", required = true, dataType = "String", name = "openId", value = "第三方OPENID"),
// @ApiImplicitParam(type = "form", required = true, dataType = "String", name = "nickname", value = "昵称"),
// @ApiImplicitParam(type = "form", required = true, dataType = "String", name = "avatar", value = "头像"),
// @ApiImplicitParam(type = "form", required = true, dataType = "String", name = "platform", value = "平台类型", allowableValues = "WEIBO,WECHAT,QQ"),
// @ApiImplicitParam(type = "form", required = true, dataType = "String", name = "mobile", value = "手机号"),
// @ApiImplicitParam(type = "form", required = true, dataType = "String", name = "platform", value = "验证码"),
// })
// @PostMapping(value = {"tpa/reg"})
// public ResponseDto<AdamLoginInfoVo> loginByTpaRegister(@RequestParam String openId, @RequestParam String nickname,
// @RequestParam String avatar, @RequestParam String platform,
// @RequestParam String mobile, @RequestParam String code) {
// log.info("login by tpa openId:{},nickname:{},avatar:{},platform:{},mobile:{},code:{}",
// openId, nickname, avatar, platform, mobile, code);
//
// // TODO: 2021/5/10
//
//
// return ResponseDto.success(AdamLoginInfoVo.getNew());
// }
@ApiOperationSupport
(
order
=
6
)
@ApiOperation
(
value
=
"第三方账号登录"
)
@PostMapping
(
value
=
{
"login/tpa"
})
public
ResponseDto
<
AdamLoginInfoVo
>
loginByTpa
(
@RequestBody
AdamThirdPartParam
parameter
)
{
// TODO: 2021/5/10
log
.
info
(
"login by tpa:{}"
,
JsonUtils
.
toJson
(
parameter
));
AdamLoginInfoVo
loginInfoVo
=
AdamLoginInfoVo
.
getNew
();
if
(
StringUtils
.
isEmpty
(
parameter
.
getMobile
()))
{
AdamThirdPartInfoVo
thirdPartInfoVo
=
adamThirdPartyService
.
queryByOpenId
(
parameter
.
getOpenId
(),
parameter
.
getPlatform
());
if
(
Objects
.
isNull
(
thirdPartInfoVo
))
return
ResponseDto
.
failure
(
"第三方账号未注册"
);
loginInfoVo
.
setUserInfo
(
adamUserService
.
queryByUid
(
thirdPartInfoVo
.
getUid
()));
loginInfoVo
.
setRealNameInfo
(
adamRealNameService
.
queryByUid
(
thirdPartInfoVo
.
getUid
()));
loginInfoVo
.
setThirdPartInfo
(
adamThirdPartyService
.
queryByUid
(
thirdPartInfoVo
.
getUid
()));
}
else
{
// 新账号注册
if
(!
this
.
checkSmsCode
(
parameter
.
getMobile
(),
parameter
.
getCode
()))
return
ResponseDto
.
failure
(
"验证码无效"
);
loginInfoVo
.
setUserInfo
(
adamUserService
.
register
(
parameter
));
}
Map
<
String
,
Object
>
claimsMap
=
new
HashMap
<>();
claimsMap
.
put
(
"uid"
,
loginInfoVo
.
getUserInfo
().
getUid
());
loginInfoVo
.
setToken
(
jwtValidator
.
create
(
claimsMap
));
return
ResponseDto
.
success
(
loginInfoVo
);
}
/* ---------------------------- Internal Method ---------------------------- */
private
boolean
checkSmsCode
(
String
mobile
,
String
code
)
{
if
(
"dev"
.
equals
(
environment
.
getProperty
(
"spring.profiles.active"
))
&&
"111111"
.
equals
(
code
))
{
return
true
;
}
LinkedMultiValueMap
<
String
,
String
>
paramsMap
=
new
LinkedMultiValueMap
<>();
paramsMap
.
add
(
"mobile"
,
mobile
);
paramsMap
.
add
(
"code"
,
code
);
LinkedMultiValueMap
<
String
,
String
>
headersMap
=
new
LinkedMultiValueMap
<>();
headersMap
.
add
(
"token"
,
null
);
try
{
// TODO: 2021/5/12
String
respStr
=
HttpUtil
.
get
(
"https://service.zhengzai.tv/smsValidation"
,
paramsMap
,
headersMap
);
log
.
info
(
"###PHP.API.RESP:{}"
,
respStr
);
Map
respMap
=
JsonUtils
.
fromJson
(
respStr
,
Map
.
class
);
return
StringUtils
.
equalsIgnoreCase
(
"OK"
,
(
String
)
respMap
.
get
(
"message"
));
}
catch
(
Exception
e
)
{
log
.
error
(
"验证码验证异常[mobile:{},code:{}]"
,
mobile
,
code
,
e
);
return
false
;
}
}
private
String
getMobile
(
String
accessToken
)
{
try
{
GetMobileRequest
request
=
new
GetMobileRequest
();
request
.
setAccessToken
(
accessToken
);
GetMobileResponse
response
=
defaultAcsClient
.
getAcsResponse
(
request
);
if
(!
Objects
.
isNull
(
response
)
&&
response
.
getCode
().
equalsIgnoreCase
(
"OK"
))
{
return
response
.
getGetMobileResultDTO
().
getMobile
();
}
}
catch
(
ClientException
e
)
{
log
.
error
(
"error:aliyun.dypns.api:{}"
,
accessToken
,
e
);
}
return
null
;
}
}
liquidnet-bus-service/liquidnet-service-adam/liquidnet-service-adam-impl/src/main/java/com/liquidnet/service/adam/controller/AdamMemberController.java
View file @
58911f7d
package
com
.
liquidnet
.
service
.
adam
.
controller
;
import
com.github.xiaoymin.knife4j.annotations.ApiOperationSupport
;
import
com.github.xiaoymin.knife4j.annotations.ApiSupport
;
import
com.liquidnet.service.ResponseDto
;
import
com.liquidnet.service.adam.dto.vo.AdamMemberVo
;
import
com.liquidnet.service.adam.service.IAdamMemberService
;
...
...
@@ -12,6 +13,7 @@ import org.springframework.web.bind.annotation.GetMapping;
import
org.springframework.web.bind.annotation.RequestMapping
;
import
org.springframework.web.bind.annotation.RestController
;
@ApiSupport
(
order
=
10030
)
@Api
(
tags
=
"会员信息"
)
@Slf4j
@RestController
...
...
liquidnet-bus-service/liquidnet-service-adam/liquidnet-service-adam-impl/src/main/java/com/liquidnet/service/adam/controller/AdamUserAuthController.java
deleted
100644 → 0
View file @
dd303720
package
com
.
liquidnet
.
service
.
adam
.
controller
;
import
com.github.xiaoymin.knife4j.annotations.ApiOperationSupport
;
import
com.liquidnet.commons.lang.util.JwtUtil
;
import
com.liquidnet.service.ResponseDto
;
import
com.liquidnet.service.adam.dto.vo.AdamThirdPartInfoVo
;
import
com.liquidnet.service.adam.dto.vo.AdamUserInfoVo
;
import
io.swagger.annotations.Api
;
import
io.swagger.annotations.ApiImplicitParam
;
import
io.swagger.annotations.ApiImplicitParams
;
import
io.swagger.annotations.ApiOperation
;
import
lombok.extern.slf4j.Slf4j
;
import
org.springframework.web.bind.annotation.*
;
import
java.util.HashMap
;
import
java.util.Map
;
@Api
(
tags
=
"用户登录"
)
@Slf4j
@RestController
@RequestMapping
(
"login"
)
public
class
AdamUserAuthController
{
@ApiOperationSupport
(
order
=
1
)
@ApiOperation
(
value
=
"手机号密码登录"
)
@ApiImplicitParams
({
@ApiImplicitParam
(
type
=
"form"
,
dataType
=
"String"
,
name
=
"mobile"
,
value
=
"手机号"
),
@ApiImplicitParam
(
type
=
"form"
,
dataType
=
"String"
,
name
=
"password"
,
value
=
"密码"
),
})
@PostMapping
(
value
=
{
""
})
public
ResponseDto
<
Object
>
loginByPwd
(
@RequestParam
String
mobile
,
@RequestParam
String
password
)
{
log
.
info
(
"mobile:{},pwd:{}"
,
mobile
,
password
);
Map
<
String
,
Object
>
claimsMap
=
new
HashMap
<>(),
rstMap
=
new
HashMap
<>();
claimsMap
.
put
(
"username"
,
"zhanggb"
);
claimsMap
.
put
(
"uid"
,
"2021"
);
String
token
=
JwtUtil
.
create
(
claimsMap
);
log
.
info
(
"token:{}"
,
token
);
rstMap
.
put
(
"token"
,
token
);
rstMap
.
put
(
"userInfo"
,
AdamUserInfoVo
.
getNew
());
rstMap
.
put
(
"thiredPartInfo"
,
AdamThirdPartInfoVo
.
getNew
());
// TODO: 2021/5/10 会员信息
rstMap
.
put
(
"cardsInfo"
,
null
);
return
ResponseDto
.
success
(
rstMap
);
}
@ApiOperationSupport
(
order
=
2
)
@ApiOperation
(
value
=
"发送验证码"
)
@ApiImplicitParams
({
@ApiImplicitParam
(
type
=
"form"
,
required
=
true
,
dataType
=
"String"
,
name
=
"mobile"
,
value
=
"手机号"
),
})
@GetMapping
(
value
=
{
"send/{mobile}"
})
public
ResponseDto
<
Object
>
sendSms
(
@PathVariable
String
mobile
)
{
log
.
info
(
"send to mobile:{}"
,
mobile
);
// TODO: 2021/5/10
return
ResponseDto
.
success
();
}
@ApiOperationSupport
(
order
=
3
)
@ApiOperation
(
value
=
"手机号验证码登录"
)
@ApiImplicitParams
({
@ApiImplicitParam
(
type
=
"form"
,
required
=
true
,
dataType
=
"String"
,
name
=
"mobile"
,
value
=
"手机号"
),
@ApiImplicitParam
(
type
=
"form"
,
required
=
true
,
dataType
=
"String"
,
name
=
"code"
,
value
=
"验证码"
),
})
@PostMapping
(
value
=
{
"sms"
})
public
ResponseDto
<
Object
>
loginBySms
(
@RequestParam
String
mobile
,
@RequestParam
String
code
)
{
log
.
info
(
"mobile:{},pwd:{}"
,
mobile
,
code
);
Map
<
String
,
Object
>
claimsMap
=
new
HashMap
<>(),
rstMap
=
new
HashMap
<>();
claimsMap
.
put
(
"username"
,
"zhanggb"
);
claimsMap
.
put
(
"uid"
,
"2021"
);
String
token
=
JwtUtil
.
create
(
claimsMap
);
log
.
info
(
"token:{}"
,
token
);
rstMap
.
put
(
"token"
,
token
);
rstMap
.
put
(
"userInfo"
,
AdamUserInfoVo
.
getNew
());
rstMap
.
put
(
"thiredPartInfo"
,
AdamThirdPartInfoVo
.
getNew
());
// TODO: 2021/5/10 会员信息
rstMap
.
put
(
"cardsInfo"
,
null
);
return
ResponseDto
.
success
(
token
);
}
@ApiOperationSupport
(
order
=
4
)
@ApiOperation
(
value
=
"手机号一键登录"
)
@ApiImplicitParams
({
@ApiImplicitParam
(
type
=
"form"
,
required
=
true
,
dataType
=
"String"
,
name
=
"accessToken"
,
value
=
"访问令牌"
),
})
@PostMapping
(
value
=
{
"tpa/mobile"
})
public
ResponseDto
<
Object
>
loginByTpaMobile
(
@RequestParam
String
accessToken
)
{
log
.
info
(
"login by mobile access token:{}"
,
accessToken
);
// TODO: 2021/5/10
Map
<
String
,
Object
>
claimsMap
=
new
HashMap
<>(),
rstMap
=
new
HashMap
<>();
claimsMap
.
put
(
"username"
,
"zhanggb"
);
claimsMap
.
put
(
"uid"
,
"2021"
);
String
token
=
JwtUtil
.
create
(
claimsMap
);
log
.
info
(
"token:{}"
,
token
);
rstMap
.
put
(
"token"
,
token
);
rstMap
.
put
(
"userInfo"
,
AdamUserInfoVo
.
getNew
());
rstMap
.
put
(
"thiredPartInfo"
,
AdamThirdPartInfoVo
.
getNew
());
// TODO: 2021/5/10 会员信息
rstMap
.
put
(
"cardsInfo"
,
null
);
return
ResponseDto
.
success
(
rstMap
);
}
@ApiOperationSupport
(
order
=
5
)
@ApiOperation
(
value
=
"第三方账号登录"
)
@ApiImplicitParams
({
@ApiImplicitParam
(
type
=
"form"
,
required
=
true
,
dataType
=
"String"
,
name
=
"openId"
,
value
=
"第三方OPENID"
),
@ApiImplicitParam
(
type
=
"form"
,
required
=
true
,
dataType
=
"String"
,
name
=
"nickName"
,
value
=
"昵称"
),
@ApiImplicitParam
(
type
=
"form"
,
required
=
true
,
dataType
=
"String"
,
name
=
"avatar"
,
value
=
"头像"
),
@ApiImplicitParam
(
type
=
"form"
,
required
=
true
,
dataType
=
"String"
,
name
=
"platform"
,
value
=
"平台类型"
,
allowableValues
=
"WEIBO,WECHAT,QQ"
),
})
@PostMapping
(
value
=
{
"tpa"
})
public
ResponseDto
<
Object
>
loginByTpa
(
@RequestParam
String
openId
,
@RequestParam
String
nickname
,
@RequestParam
String
avatar
,
@RequestParam
String
platform
)
{
log
.
info
(
"login by tpa openId:{}, nickname:{}, avatar: {}, platform:{}"
,
openId
,
nickname
,
avatar
,
platform
);
// TODO: 2021/5/10
Map
<
String
,
Object
>
claimsMap
=
new
HashMap
<>(),
rstMap
=
new
HashMap
<>();
claimsMap
.
put
(
"username"
,
"zhanggb"
);
claimsMap
.
put
(
"uid"
,
"2021"
);
String
token
=
JwtUtil
.
create
(
claimsMap
);
log
.
info
(
"token:{}"
,
token
);
rstMap
.
put
(
"token"
,
token
);
rstMap
.
put
(
"userInfo"
,
AdamUserInfoVo
.
getNew
());
rstMap
.
put
(
"thiredPartInfo"
,
AdamThirdPartInfoVo
.
getNew
());
// TODO: 2021/5/10 会员信息
rstMap
.
put
(
"cardsInfo"
,
null
);
return
ResponseDto
.
success
(
rstMap
);
}
@ApiOperationSupport
(
order
=
6
)
@ApiOperation
(
value
=
"第三方账号注册"
)
@ApiImplicitParams
({
@ApiImplicitParam
(
type
=
"form"
,
required
=
true
,
dataType
=
"String"
,
name
=
"openId"
,
value
=
"第三方OPENID"
),
@ApiImplicitParam
(
type
=
"form"
,
required
=
true
,
dataType
=
"String"
,
name
=
"nickname"
,
value
=
"昵称"
),
@ApiImplicitParam
(
type
=
"form"
,
required
=
true
,
dataType
=
"String"
,
name
=
"avatar"
,
value
=
"头像"
),
@ApiImplicitParam
(
type
=
"form"
,
required
=
true
,
dataType
=
"String"
,
name
=
"platform"
,
value
=
"平台类型"
,
allowableValues
=
"WEIBO,WECHAT,QQ"
),
@ApiImplicitParam
(
type
=
"form"
,
required
=
true
,
dataType
=
"String"
,
name
=
"mobile"
,
value
=
"手机号"
),
@ApiImplicitParam
(
type
=
"form"
,
required
=
true
,
dataType
=
"String"
,
name
=
"platform"
,
value
=
"验证码"
),
})
@PostMapping
(
value
=
{
"tpa/reg"
})
public
ResponseDto
<
Object
>
loginByTpaRegister
(
@RequestParam
String
openId
,
@RequestParam
String
nickname
,
@RequestParam
String
avatar
,
@RequestParam
String
platform
,
@RequestParam
String
mobile
,
@RequestParam
String
code
)
{
log
.
info
(
"login by tpa openId:{},nickname:{},avatar:{},platform:{},mobile:{},code:{}"
,
openId
,
nickname
,
avatar
,
platform
,
mobile
,
code
);
// TODO: 2021/5/10
Map
<
String
,
Object
>
claimsMap
=
new
HashMap
<>(),
rstMap
=
new
HashMap
<>();
claimsMap
.
put
(
"username"
,
"zhanggb"
);
claimsMap
.
put
(
"uid"
,
"2021"
);
String
token
=
JwtUtil
.
create
(
claimsMap
);
log
.
info
(
"token:{}"
,
token
);
rstMap
.
put
(
"token"
,
token
);
rstMap
.
put
(
"userInfo"
,
AdamUserInfoVo
.
getNew
());
rstMap
.
put
(
"thiredPartInfo"
,
AdamThirdPartInfoVo
.
getNew
());
// TODO: 2021/5/10 会员信息
rstMap
.
put
(
"cardsInfo"
,
null
);
return
ResponseDto
.
success
(
rstMap
);
}
}
liquidnet-bus-service/liquidnet-service-adam/liquidnet-service-adam-impl/src/main/java/com/liquidnet/service/adam/controller/AdamUserController.java
View file @
58911f7d
package
com
.
liquidnet
.
service
.
adam
.
controller
;
import
com.github.xiaoymin.knife4j.annotations.ApiOperationSupport
;
import
com.github.xiaoymin.knife4j.annotations.ApiSupport
;
import
com.liquidnet.commons.lang.util.JsonUtils
;
import
com.liquidnet.service.ResponseDto
;
import
com.liquidnet.service.adam.dto.AdamUserInfoParam
;
import
com.liquidnet.service.adam.dto.vo.AdamThirdPartInfoVo
;
import
com.liquidnet.service.adam.dto.vo.AdamUserInfoVo
;
import
com.liquidnet.service.adam.service.IAdamUserInfoService
;
import
com.liquidnet.service.adam.service.IAdamUserService
;
import
io.swagger.annotations.Api
;
import
io.swagger.annotations.ApiImplicitParam
;
import
io.swagger.annotations.ApiImplicitParams
;
import
io.swagger.annotations.ApiOperation
;
import
lombok.extern.slf4j.Slf4j
;
import
org.springframework.beans.BeanUtils
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.web.bind.annotation.*
;
import
java.util.ArrayList
;
import
java.util.List
;
@ApiSupport
(
order
=
10020
)
@Api
(
tags
=
"用户中心"
)
@Slf4j
@RestController
@RequestMapping
(
"user"
)
public
class
AdamUserController
{
@Autowired
IAdamUserService
adamUserService
;
@Autowired
IAdamUserInfoService
adamUserInfoService
;
@ApiOperationSupport
(
order
=
1
)
@ApiOperation
(
value
=
"个人资料编辑"
)
@PostMapping
(
value
=
{
"edit"
})
public
ResponseDto
<
AdamUserInfoVo
>
edit
(
@RequestBody
AdamUserInfoParam
adamUserInfoParam
)
{
// TODO: 2021/5/10
log
.
info
(
"adamUserInfoParam:{}"
,
JsonUtils
.
toJson
(
adamUserInfoParam
));
String
uid
=
"1"
;
// TODO: 2021/5/10
AdamUserInfoVo
userInfoVo
=
adamUserService
.
queryByUid
(
uid
);
BeanUtils
.
copyProperties
(
adamUserInfoParam
,
userInfoVo
);
adamUserInfoService
.
edit
(
userInfoVo
);
return
ResponseDto
.
success
(
AdamUserInfoVo
.
getNew
()
);
return
ResponseDto
.
success
(
userInfoVo
);
}
@ApiOperationSupport
(
order
=
2
)
...
...
liquidnet-bus-service/liquidnet-service-adam/liquidnet-service-adam-impl/src/main/java/com/liquidnet/service/adam/service/impl/AdamEntersServiceImpl.java
View file @
58911f7d
...
...
@@ -6,7 +6,6 @@ import com.liquidnet.common.mq.constant.MQConst;
import
com.liquidnet.commons.lang.util.BsonUtil
;
import
com.liquidnet.commons.lang.util.SqlMapping
;
import
com.liquidnet.service.adam.constant.AdamRedisConst
;
import
com.liquidnet.service.adam.dto.vo.AdamEntersVo
;
import
com.liquidnet.service.adam.entity.AdamEnters
;
import
com.liquidnet.service.adam.mapper.AdamEntersMapper
;
import
com.liquidnet.service.adam.service.IAdamEntersService
;
...
...
@@ -72,32 +71,33 @@ public class AdamEntersServiceImpl extends ServiceImpl<AdamEntersMapper, AdamEnt
@Override
@Transactional
(
propagation
=
Propagation
.
REQUIRED
,
rollbackFor
=
Exception
.
class
)
public
void
add
(
AdamEnters
info
)
{
if
(
info
.
getIsDefault
())
{
Set
<
Object
>
keys
=
(
Set
<
Object
>)
redisUtil
.
hkeys
(
AdamRedisConst
.
INFO_ENTERS
.
concat
(
info
.
getUid
()));
if
(!
CollectionUtils
.
isEmpty
(
keys
))
{
AdamEnters
deaultEnters
=
new
AdamEnters
();
deaultEnters
.
setIsDefault
(
false
);
deaultEnters
.
setUpdatedAt
(
info
.
getCreatedAt
());
deaultEnters
.
setUid
(
info
.
getUid
());
BasicDBObject
object
=
new
BasicDBObject
(
"$set"
,
mongoConverter
.
convertToMongoType
(
deaultEnters
));
Document
doc
=
mongoTemplate
.
getCollection
(
AdamEnters
.
class
.
getSimpleName
()).
findOneAndUpdate
(
Query
.
query
(
Criteria
.
where
(
"uid"
).
is
(
deaultEnters
.
getUid
()).
and
(
"isDefault"
).
is
(
true
)).
getQueryObject
(),
object
,
new
FindOneAndUpdateOptions
().
returnDocument
(
ReturnDocument
.
AFTER
)
);
if
(
null
!=
doc
)
{
List
<
Object
>
paramList
=
new
ArrayList
<>();
paramList
.
add
(
deaultEnters
.
getIsDefault
());
paramList
.
add
(
deaultEnters
.
getUpdatedAt
());
paramList
.
add
(
doc
.
get
(
"uid"
));
rabbitTemplate
.
convertAndSend
(
MQConst
.
EXCHANGES_LIQUIDNET_SQL
,
MQConst
.
ROUTING_KEY_SQL
,
SqlMapping
.
get
(
"adam_enters.update.is_default"
,
paramList
.
toArray
()));
AdamEnters
enters
=
BsonUtil
.
toBean
(
doc
,
AdamEnters
.
class
);
redisUtil
.
hset
(
AdamRedisConst
.
INFO_ENTERS
.
concat
(
enters
.
getUid
()),
enters
.
getEntersId
(),
enters
);
}
}
}
// if (info.getIsDefault()) {
// Set<Object> keys = (Set<Object>) redisUtil.hkeys(AdamRedisConst.INFO_ENTERS.concat(info.getUid()));
// if (!CollectionUtils.isEmpty(keys)) {
// AdamEnters deaultEnters = new AdamEnters();
// deaultEnters.setIsDefault(false);
// deaultEnters.setUpdatedAt(info.getCreatedAt());
// deaultEnters.setUid(info.getUid());
// BasicDBObject object = new BasicDBObject("$set", mongoConverter.convertToMongoType(deaultEnters));
// Document doc = mongoTemplate.getCollection(AdamEnters.class.getSimpleName()).findOneAndUpdate(
// Query.query(Criteria.where("uid").is(deaultEnters.getUid()).and("isDefault").is(true)).getQueryObject(),
// object, new FindOneAndUpdateOptions().returnDocument(ReturnDocument.AFTER)
// );
//
// if (null != doc) {
// List<Object> paramList = new ArrayList<>();
// paramList.add(deaultEnters.getIsDefault());
// paramList.add(deaultEnters.getUpdatedAt());
// paramList.add(doc.get("uid"));
// rabbitTemplate.convertAndSend(MQConst.EXCHANGES_LIQUIDNET_SQL, MQConst.ROUTING_KEY_SQL,
// SqlMapping.get("adam_enters.update.is_default", paramList.toArray()));
//
// AdamEnters enters = BsonUtil.toBean(doc, AdamEnters.class);
// redisUtil.hset(AdamRedisConst.INFO_ENTERS.concat(enters.getUid()), enters.getEntersId(), enters);
// }
// }
// }
info
.
setIsDefault
(
CollectionUtils
.
isEmpty
(
this
.
list
(
info
.
getUid
())));
mongoTemplate
.
insert
(
Collections
.
singletonList
(
info
),
AdamEnters
.
class
.
getSimpleName
());
...
...
liquidnet-bus-service/liquidnet-service-adam/liquidnet-service-adam-impl/src/main/java/com/liquidnet/service/adam/service/impl/AdamRealNameServiceImpl.java
View file @
58911f7d
package
com
.
liquidnet
.
service
.
adam
.
service
.
impl
;
import
com.baomidou.mybatisplus.extension.service.impl.ServiceImpl
;
import
com.liquidnet.common.cache.redis.util.RedisUtil
;
import
com.liquidnet.service.adam.constant.AdamRedisConst
;
import
com.liquidnet.service.adam.dto.vo.AdamRealInfoVo
;
import
com.liquidnet.service.adam.entity.AdamRealName
;
import
com.liquidnet.service.adam.mapper.AdamRealNameMapper
;
import
com.liquidnet.service.adam.service.IAdamRealNameService
;
import
com.baomidou.mybatisplus.extension.service.impl.ServiceImpl
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.data.mongodb.core.MongoTemplate
;
import
org.springframework.data.mongodb.core.query.Criteria
;
import
org.springframework.data.mongodb.core.query.Query
;
import
org.springframework.stereotype.Service
;
/**
...
...
@@ -16,5 +23,20 @@ import org.springframework.stereotype.Service;
*/
@Service
public
class
AdamRealNameServiceImpl
extends
ServiceImpl
<
AdamRealNameMapper
,
AdamRealName
>
implements
IAdamRealNameService
{
@Autowired
MongoTemplate
mongoTemplate
;
@Autowired
RedisUtil
redisUtil
;
@Override
public
AdamRealInfoVo
queryByUid
(
String
uid
)
{
AdamRealInfoVo
realInfoVo
=
(
AdamRealInfoVo
)
redisUtil
.
hget
(
AdamRedisConst
.
INFO_REAL_NAME
,
uid
);
if
(
null
==
realInfoVo
)
{
realInfoVo
=
mongoTemplate
.
findOne
(
Query
.
query
(
Criteria
.
where
(
"uid"
).
is
(
uid
).
and
(
"state"
).
is
(
1
)),
AdamRealInfoVo
.
class
,
AdamRealInfoVo
.
class
.
getSimpleName
());
redisUtil
.
hset
(
AdamRedisConst
.
INFO_REAL_NAME
,
uid
,
realInfoVo
);
}
return
realInfoVo
;
}
}
liquidnet-bus-service/liquidnet-service-adam/liquidnet-service-adam-impl/src/main/java/com/liquidnet/service/adam/service/impl/AdamThirdPartyServiceImpl.java
View file @
58911f7d
package
com
.
liquidnet
.
service
.
adam
.
service
.
impl
;
import
com.liquidnet.common.cache.redis.util.RedisUtil
;
import
com.liquidnet.service.adam.constant.AdamRedisConst
;
import
com.liquidnet.service.adam.dto.vo.AdamThirdPartInfoVo
;
import
com.liquidnet.service.adam.entity.AdamThirdParty
;
import
com.liquidnet.service.adam.mapper.AdamThirdPartyMapper
;
import
com.liquidnet.service.adam.service.IAdamThirdPartyService
;
import
com.baomidou.mybatisplus.extension.service.impl.ServiceImpl
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.data.mongodb.core.MongoTemplate
;
import
org.springframework.data.mongodb.core.query.Criteria
;
import
org.springframework.data.mongodb.core.query.Query
;
import
org.springframework.stereotype.Service
;
import
java.util.List
;
/**
* <p>
* 用户第三方账号信息 服务实现类
...
...
@@ -16,5 +25,31 @@ import org.springframework.stereotype.Service;
*/
@Service
public
class
AdamThirdPartyServiceImpl
extends
ServiceImpl
<
AdamThirdPartyMapper
,
AdamThirdParty
>
implements
IAdamThirdPartyService
{
@Autowired
MongoTemplate
mongoTemplate
;
@Autowired
RedisUtil
redisUtil
;
@Override
public
List
<
AdamThirdPartInfoVo
>
queryByUid
(
String
uid
)
{
List
<
AdamThirdPartInfoVo
>
thirdPartInfoVo
=
(
List
<
AdamThirdPartInfoVo
>)
redisUtil
.
hget
(
AdamRedisConst
.
INFO_THIRD_PARTY
,
uid
);
if
(
null
==
thirdPartInfoVo
)
{
thirdPartInfoVo
=
mongoTemplate
.
find
(
Query
.
query
(
Criteria
.
where
(
"uid"
).
is
(
uid
).
and
(
"state"
).
is
(
1
)),
AdamThirdPartInfoVo
.
class
,
AdamThirdPartInfoVo
.
class
.
getSimpleName
());
redisUtil
.
hset
(
AdamRedisConst
.
INFO_THIRD_PARTY
,
uid
,
thirdPartInfoVo
);
}
return
thirdPartInfoVo
;
}
@Override
public
AdamThirdPartInfoVo
queryByOpenId
(
String
openId
,
String
platform
)
{
AdamThirdPartInfoVo
thirdPartInfoVo
=
(
AdamThirdPartInfoVo
)
redisUtil
.
hget
(
AdamRedisConst
.
INFO_THIRD_PARTY
.
concat
(
platform
),
openId
);
if
(
null
==
thirdPartInfoVo
)
{
thirdPartInfoVo
=
mongoTemplate
.
findOne
(
Query
.
query
(
Criteria
.
where
(
"openId"
).
is
(
openId
)
.
and
(
"platform"
).
is
(
platform
).
and
(
"state"
).
is
(
1
)),
AdamThirdPartInfoVo
.
class
,
AdamThirdPartInfoVo
.
class
.
getSimpleName
());
}
return
thirdPartInfoVo
;
}
}
liquidnet-bus-service/liquidnet-service-adam/liquidnet-service-adam-impl/src/main/java/com/liquidnet/service/adam/service/impl/AdamUserInfoServiceImpl.java
View file @
58911f7d
package
com
.
liquidnet
.
service
.
adam
.
service
.
impl
;
import
com.baomidou.mybatisplus.extension.service.impl.ServiceImpl
;
import
com.liquidnet.common.cache.redis.util.RedisUtil
;
import
com.liquidnet.common.mq.constant.MQConst
;
import
com.liquidnet.commons.lang.util.SqlMapping
;
import
com.liquidnet.service.adam.constant.AdamRedisConst
;
import
com.liquidnet.service.adam.dto.vo.AdamUserInfoVo
;
import
com.liquidnet.service.adam.entity.AdamUserInfo
;
import
com.liquidnet.service.adam.mapper.AdamUserInfoMapper
;
import
com.liquidnet.service.adam.service.IAdamUserInfoService
;
import
com.baomidou.mybatisplus.extension.service.impl.ServiceImpl
;
import
com.mongodb.BasicDBObject
;
import
com.mongodb.client.model.FindOneAndUpdateOptions
;
import
com.mongodb.client.model.ReturnDocument
;
import
org.bson.Document
;
import
org.springframework.amqp.rabbit.core.RabbitTemplate
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.data.mongodb.core.MongoTemplate
;
import
org.springframework.data.mongodb.core.convert.MongoConverter
;
import
org.springframework.data.mongodb.core.query.Criteria
;
import
org.springframework.data.mongodb.core.query.Query
;
import
org.springframework.stereotype.Service
;
import
java.util.Arrays
;
import
java.util.List
;
/**
* <p>
*
正在现场
用户信息 服务实现类
* 用户信息 服务实现类
* </p>
*
* @author liquidnet
...
...
@@ -16,5 +34,39 @@ import org.springframework.stereotype.Service;
*/
@Service
public
class
AdamUserInfoServiceImpl
extends
ServiceImpl
<
AdamUserInfoMapper
,
AdamUserInfo
>
implements
IAdamUserInfoService
{
@Autowired
MongoConverter
mongoConverter
;
@Autowired
MongoTemplate
mongoTemplate
;
@Autowired
RabbitTemplate
rabbitTemplate
;
@Autowired
RedisUtil
redisUtil
;
@Override
public
void
edit
(
AdamUserInfoVo
userInfoVo
)
{
boolean
isNotComplete
=
userInfoVo
.
getIsComplete
()
==
0
;
BasicDBObject
object
=
new
BasicDBObject
(
"$set"
,
mongoConverter
.
convertToMongoType
(
userInfoVo
));
Document
doc
=
mongoTemplate
.
getCollection
(
AdamUserInfoVo
.
class
.
getSimpleName
()).
findOneAndUpdate
(
Query
.
query
(
Criteria
.
where
(
"uid"
).
is
(
userInfoVo
.
getUid
())).
getQueryObject
(),
object
,
new
FindOneAndUpdateOptions
().
returnDocument
(
ReturnDocument
.
AFTER
)
);
List
<
Object
>
paramList
=
Arrays
.
asList
(
userInfoVo
.
getNickName
(),
userInfoVo
.
getSex
(),
userInfoVo
.
getBirthday
(),
userInfoVo
.
getArea
(),
userInfoVo
.
getSignature
(),
userInfoVo
.
getAvatar
(),
userInfoVo
.
getBackground
(),
null
,
null
,
// qr_code, qr_pic
userInfoVo
.
getTagMe
(),
userInfoVo
.
getUid
()
);
rabbitTemplate
.
convertAndSend
(
MQConst
.
EXCHANGES_LIQUIDNET_SQL
,
MQConst
.
ROUTING_KEY_SQL
,
SqlMapping
.
get
(
isNotComplete
?
"adam_user_info.add"
:
"adam_user_info.edit"
,
paramList
.
toArray
()));
redisUtil
.
hset
(
AdamRedisConst
.
INFO_USER
,
userInfoVo
.
getUid
(),
userInfoVo
);
}
}
liquidnet-bus-service/liquidnet-service-adam/liquidnet-service-adam-impl/src/main/java/com/liquidnet/service/adam/service/impl/AdamUserServiceImpl.java
View file @
58911f7d
package
com
.
liquidnet
.
service
.
adam
.
service
.
impl
;
import
com.baomidou.mybatisplus.extension.service.impl.ServiceImpl
;
import
com.liquidnet.common.cache.redis.util.RedisUtil
;
import
com.liquidnet.commons.lang.util.DateUtil
;
import
com.liquidnet.commons.lang.util.IDGenerator
;
import
com.liquidnet.service.adam.constant.AdamRedisConst
;
import
com.liquidnet.service.adam.dto.AdamThirdPartParam
;
import
com.liquidnet.service.adam.dto.vo.AdamThirdPartInfoVo
;
import
com.liquidnet.service.adam.dto.vo.AdamUserInfoVo
;
import
com.liquidnet.service.adam.entity.AdamUser
;
import
com.liquidnet.service.adam.mapper.AdamUserMapper
;
import
com.liquidnet.service.adam.service.IAdamUserService
;
import
com.baomidou.mybatisplus.extension.service.impl.ServiceImpl
;
import
org.springframework.amqp.rabbit.core.RabbitTemplate
;
import
org.springframework.beans.BeanUtils
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.data.mongodb.core.MongoTemplate
;
import
org.springframework.data.mongodb.core.query.Criteria
;
import
org.springframework.data.mongodb.core.query.Query
;
import
org.springframework.stereotype.Service
;
import
java.time.LocalDateTime
;
import
java.util.Collection
;
import
java.util.Collections
;
/**
* <p>
* 用户 服务实现类
...
...
@@ -16,5 +33,88 @@ import org.springframework.stereotype.Service;
*/
@Service
public
class
AdamUserServiceImpl
extends
ServiceImpl
<
AdamUserMapper
,
AdamUser
>
implements
IAdamUserService
{
@Autowired
MongoTemplate
mongoTemplate
;
@Autowired
RabbitTemplate
rabbitTemplate
;
@Autowired
RedisUtil
redisUtil
;
@Override
public
AdamUserInfoVo
queryByUid
(
String
uid
)
{
AdamUserInfoVo
userInfoVo
=
(
AdamUserInfoVo
)
redisUtil
.
hget
(
AdamRedisConst
.
INFO_USER
,
uid
);
if
(
null
==
userInfoVo
)
{
userInfoVo
=
mongoTemplate
.
findOne
(
Query
.
query
(
Criteria
.
where
(
"uid"
).
is
(
uid
).
and
(
"state"
).
is
(
1
)),
AdamUserInfoVo
.
class
,
AdamUserInfoVo
.
class
.
getSimpleName
());
redisUtil
.
hset
(
AdamRedisConst
.
INFO_USER
,
uid
,
userInfoVo
);
}
return
userInfoVo
;
}
@Override
public
String
queryUidByRedis
(
String
mobile
)
{
return
(
String
)
redisUtil
.
hget
(
AdamRedisConst
.
INFO_IDENTITY_MOBILE
,
mobile
);
// AdamUserInfoVo userInfoVo;
// if (null == (userInfoVo = (AdamUserInfoVo) redisUtil.hget(AdamRedisConst.INFO_MOBILES, mobile))) {
// userInfoVo = mongoTemplate.findOne(Query.query(Criteria.where("mobile").is(mobile).and("state").is(1)),
// AdamUserInfoVo.class, AdamUserInfoVo.class.getSimpleName());
//
// redisUtil.hset(AdamRedisConst.INFO_MOBILES, mobile, userInfoVo);
// }
// return userInfoVo;
}
@Override
public
String
queryUidByRedis
(
String
openId
,
String
platform
)
{
return
(
String
)
redisUtil
.
hget
(
AdamRedisConst
.
INFO_IDENTITY_THIRD_PARTY
,
platform
.
concat
(
openId
));
}
@Override
public
AdamUserInfoVo
register
(
String
mobile
)
{
AdamUserInfoVo
userInfoVo
=
AdamUserInfoVo
.
getNew
();
userInfoVo
.
setMobile
(
mobile
);
userInfoVo
.
setUid
(
IDGenerator
.
nextSnowId
()
+
""
);
userInfoVo
.
setIsComplete
(
0
);
userInfoVo
.
setState
(
1
);
userInfoVo
.
setCreateAt
(
DateUtil
.
format
(
LocalDateTime
.
now
(),
DateUtil
.
Formatter
.
yyyyMMddHHmmss
));
// boolean hset = redisUtil.hset(AdamRedisConst.INFO_MOBILES, userInfoVo.getMobile(), userInfoVo);
Collection
<
AdamUserInfoVo
>
vos
=
mongoTemplate
.
insert
(
Collections
.
singletonList
(
userInfoVo
),
AdamUserInfoVo
.
class
.
getSimpleName
());
redisUtil
.
hset
(
AdamRedisConst
.
INFO_IDENTITY_MOBILE
,
mobile
,
userInfoVo
.
getUid
());
return
userInfoVo
;
}
@Override
public
AdamUserInfoVo
register
(
AdamThirdPartParam
thirdPartParam
)
{
LocalDateTime
now
=
LocalDateTime
.
now
();
AdamUserInfoVo
userInfoVo
=
AdamUserInfoVo
.
getNew
();
userInfoVo
.
setMobile
(
thirdPartParam
.
getMobile
());
userInfoVo
.
setUid
(
IDGenerator
.
nextSnowId
()
+
""
);
userInfoVo
.
setCreateAt
(
DateUtil
.
format
(
now
,
DateUtil
.
Formatter
.
yyyyMMddHHmmss
));
AdamThirdPartInfoVo
thirdPartInfoVo
=
AdamThirdPartInfoVo
.
getNew
();
BeanUtils
.
copyProperties
(
thirdPartParam
,
thirdPartInfoVo
);
thirdPartInfoVo
.
setUid
(
userInfoVo
.
getUid
());
thirdPartInfoVo
.
setState
(
1
);
// 1-绑定
// boolean userInfoSetRst = redisUtil.hset(AdamRedisConst.INFO_MOBILES, thirdPartParam.getMobile(), userInfoVo);
// boolean thirdPartSetRst = redisUtil.hset(AdamRedisConst.INFO_THIRD_PARTY.concat(thirdPartInfoVo.getPlatform()), thirdPartInfoVo.getOpenId(), thirdPartInfoVo);
Collection
<
AdamUserInfoVo
>
userInfoVos
=
mongoTemplate
.
insert
(
Collections
.
singletonList
(
userInfoVo
),
AdamUserInfoVo
.
class
);
Collection
<
AdamThirdPartInfoVo
>
thirdPartInfoVos
=
mongoTemplate
.
insert
(
Collections
.
singletonList
(
thirdPartInfoVo
),
AdamThirdPartInfoVo
.
class
);
redisUtil
.
hset
(
AdamRedisConst
.
INFO_IDENTITY_THIRD_PARTY
,
thirdPartParam
.
getPlatform
().
concat
(
thirdPartParam
.
getOpenId
()),
userInfoVo
.
getUid
());
// List<Object> paramList = Arrays.asList();
// rabbitTemplate.convertAndSend(MQConst.EXCHANGES_LIQUIDNET_SQL, MQConst.ROUTING_KEY_SQL,
// SqlMapping.get("adam_user.add", paramList.toArray()));
return
userInfoVo
;
}
}
liquidnet-bus-service/liquidnet-service-adam/liquidnet-service-adam-impl/src/main/resources/sqlmap/adam_enters.properties
0 → 100644
View file @
58911f7d
adam_enters.add
=
INSERT INTO ln_adam.adam_enters (enters_id, `uid`, `type`,`name`, mobile, id_card, is_default, `state`, created_at, updated_at, deleted_at, `comment`) VALUES (?,?,?,?,?,?,?,?,?,?,?,?)
adam_enters.edit
=
UPDATE ln_adam.adam_enters SET `type`=?, `name`=?, mobile=?, id_card=?, is_default=?, `state`=?, updated_at=? where enters_id=?
adam_enters.update.is_default
=
UPDATE ln_adam.adam_enters set is_default=?, updated_at=? where enters_id=?
adam_enters.remove
=
UPDATE ln_adam.adam_enters SET `state`=?, updated_at=?, deleted_at=? where enters_id=?
\ No newline at end of file
liquidnet-bus-service/liquidnet-service-adam/liquidnet-service-adam-impl/src/main/resources/sqlmap/adam_third_party.properties
0 → 100644
View file @
58911f7d
adam_third_party.add
=
insert into ln_adam.adam_third_party (`uid`, open_id, avatar, nick_name, platform, `state`, created_at, updated_at, `comment`) values (?,?,?,?,?,?,?,?,?)
\ No newline at end of file
liquidnet-bus-service/liquidnet-service-adam/liquidnet-service-adam-impl/src/main/resources/sqlmap/adam_user.properties
0 → 100644
View file @
58911f7d
adam_user.add
=
insert into ln_adam.adam_user (`uid`, mobile, passwd, pay_code, `state`, created_at, updated_at, closed_at, `comment`) values (?,?,?,?,?,?,?,?,?)
\ No newline at end of file
liquidnet-bus-service/liquidnet-service-adam/liquidnet-service-adam-impl/src/main/resources/sqlmap/adam_user_info.properties
0 → 100644
View file @
58911f7d
adam_user_info.add
=
insert into adam_user_info (nick_name, sex, birthday, area, signature, avatar, background, qr_code, qr_pic, tag_me, `uid`) VALUES (?,?,?,?,?,?,?,?,?,?,?)
adam_user_info.edit
=
UPDATE ln_adam.adam_user_info SET nick_name=?, sex=?, birthday=?, area=?, signature=?, avatar=?, background=?, qr_code=?, qr_pic=?, tag_me=? WHERE uid=?
\ No newline at end of file
liquidnet-bus-service/liquidnet-service-adam/liquidnet-service-adam-impl/src/main/resources/sqlmap/enters.properties
deleted
100644 → 0
View file @
dd303720
adam_enters.add
=
INSERT INTO adam_enters (enters_id, `uid`, `type`,`name`, mobile, id_card, is_default, `state`, created_at, updated_at, deleted_at, `comment`) VALUES (?,?,?,?,?,?,?,?,?,?,?,?)
adam_enters.edit
=
UPDATE adam_enters SET `type`=?, `name`=?, mobile=?, id_card=?, is_default=?, `state`=?, updated_at=? where enters_id=?
adam_enters.update.is_default
=
UPDATE adam_enters set is_default=?, updated_at=? where enters_id=?
adam_enters.remove
=
UPDATE adam_enters SET `state`=?, updated_at=?, deleted_at=? where enters_id=?
\ No newline at end of file
liquidnet-bus-service/liquidnet-service-kylin/liquidnet-service-kylin-api/src/main/java/com/liquidnet/service/kylin/dto/param/BannersApiSearchParam.java
deleted
100644 → 0
View file @
dd303720
package
com
.
liquidnet
.
service
.
kylin
.
dto
.
param
;
import
io.swagger.annotations.ApiModelProperty
;
import
lombok.Data
;
import
java.io.Serializable
;
/**
* <p>
* 轮播图 banner 搜索 需要的参数 前端api
* </p>
* @author jiangxiulong
* @since 2021-05-10 11:19 上午
*/
@Data
public
class
BannersApiSearchParam
implements
Serializable
{
@ApiModelProperty
(
value
=
"展示的位置"
,
example
=
"11"
)
private
String
position
;
@ApiModelProperty
(
value
=
"当前用户省份code"
,
example
=
"4"
)
private
String
provinceCode
;
}
liquidnet-bus-service/liquidnet-service-kylin/liquidnet-service-kylin-api/src/main/java/com/liquidnet/service/kylin/dto/param/BannersParam.java
View file @
58911f7d
...
...
@@ -60,11 +60,11 @@ public class BannersParam implements Serializable {
@ApiModelProperty
(
value
=
"备注"
,
example
=
"这是一个演出推广的banner"
)
private
String
remarks
;
@ApiModelProperty
(
value
=
"展示的位置 多选 数组"
,
example
=
"[\"1\", \"4\", \"3\"]"
)
@ApiModelProperty
(
value
=
"展示的位置 多选 数组"
,
example
=
"[\"1\", \"4\", \"3\"
, \"5\", \"6\", \"8\"
]"
)
@NotEmpty
(
message
=
"请选择展示位置"
)
private
List
positionList
;
@ApiModelProperty
(
value
=
"推广省份 多选 数组"
,
example
=
"[\"1\", \"
4\", \"3
\"]"
)
@ApiModelProperty
(
value
=
"推广省份 多选 数组"
,
example
=
"[\"1\", \"
2\", \"5
\"]"
)
// @NotEmpty(message = "请选择推广省份")
private
List
provincesList
;
...
...
liquidnet-bus-service/liquidnet-service-kylin/liquidnet-service-kylin-api/src/main/java/com/liquidnet/service/kylin/dto/param/TicketCreateParam.java
View file @
58911f7d
...
...
@@ -4,6 +4,7 @@ import com.fasterxml.jackson.annotation.JsonIgnore;
import
com.liquidnet.commons.lang.util.IDGenerator
;
import
com.liquidnet.service.kylin.entity.*
;
import
io.swagger.annotations.ApiModelProperty
;
import
lombok.Builder
;
import
lombok.Data
;
import
org.springframework.beans.BeanUtils
;
...
...
@@ -80,6 +81,10 @@ public class TicketCreateParam implements Serializable {
@ApiModelProperty
(
value
=
"二维码显示时间"
,
example
=
"2020-12-01T14:00:00"
)
private
LocalDateTime
qrCodeShowTime
;
@ApiModelProperty
(
value
=
"次数"
,
example
=
"1"
)
@NotNull
(
message
=
"不能为空"
)
private
int
counts
;
@ApiModelProperty
(
value
=
"是否开启缺票登记"
,
example
=
"1"
)
@NotNull
(
message
=
"不能为空"
)
private
int
isLackRegister
;
...
...
@@ -111,6 +116,7 @@ public class TicketCreateParam implements Serializable {
kylinTicketStatus
.
setStatusExchange
(
7
);
kylinTicketStatus
.
setSurplusExchange
(
this
.
totalExchange
);
kylinTicketStatus
.
setSurplusGeneral
(
this
.
totalGeneral
);
kylinTicketStatus
.
setCounts
(
this
.
counts
);
if
(
createdAt
!=
null
)
kylinTicketStatus
.
setCreatedAt
(
createdAt
);
if
(
updatedAt
!=
null
)
...
...
liquidnet-bus-service/liquidnet-service-kylin/liquidnet-service-kylin-api/src/main/java/com/liquidnet/service/kylin/dto/vo/BannersVo.java
View file @
58911f7d
...
...
@@ -29,7 +29,8 @@ public class BannersVo implements Serializable {
@ApiModelProperty
(
value
=
"封面图"
)
private
String
coverImg
;
@ApiModelProperty
(
value
=
"跳转类型"
)
@ApiModelProperty
(
value
=
"跳转类型 0: 1PGC点播 2 PGC直播 5场地 6票务 7商品 8巡演 12活动跳转-可分享 100活动跳转 13积分商品"
+
"14商品集合 20音乐人 21歌曲 22专辑 23视频播单 24音乐人集合 26摩登会员 201youngBlood报名跳转 0不跳转"
)
private
Integer
targetType
;
@ApiModelProperty
(
value
=
"跳转目标id或者url"
)
...
...
liquidnet-bus-service/liquidnet-service-kylin/liquidnet-service-kylin-api/src/main/java/com/liquidnet/service/kylin/dto/vo/PerformanceVo.java
View file @
58911f7d
...
...
@@ -20,6 +20,8 @@ public class PerformanceVo {
private
String
performancesId
;
@ApiModelProperty
(
value
=
"演出名称"
)
private
String
title
;
@ApiModelProperty
(
value
=
"演出图片"
)
private
String
imgPoster
;
@ApiModelProperty
(
value
=
"演出类型 1音乐节 2演唱会 3小型演出 4展览 6舞台剧 101音乐节 102小型演出(livehouse演出) 103巡演"
)
private
int
type
;
@ApiModelProperty
(
value
=
"演出开始时间"
)
...
...
@@ -62,8 +64,18 @@ public class PerformanceVo {
private
int
isMember
;
@ApiModelProperty
(
value
=
"是否开启缺票登记"
)
private
int
isLackRegister
;
@ApiModelProperty
(
value
=
"是否实名"
)
private
int
isTrueName
;
@ApiModelProperty
(
value
=
"限购张数"
)
private
int
limitCount
;
@ApiModelProperty
(
value
=
"会员限购张数"
)
private
Integer
limitCountMember
;
@ApiModelProperty
(
value
=
"是否专属"
)
private
int
isExclusive
;
@ApiModelProperty
(
value
=
"是否优惠"
)
private
int
isDiscount
;
@ApiModelProperty
(
value
=
"是否提前"
)
private
int
isAdvance
;
@ApiModelProperty
(
value
=
"文案"
)
private
String
message
;
...
...
@@ -71,12 +83,13 @@ public class PerformanceVo {
public
void
setPerformance
(
KylinPerformances
performance
)
{
this
.
performancesId
=
performance
.
getPerformancesId
();
this
.
title
=
performance
.
getTitle
();
this
.
imgPoster
=
performance
.
getImgPoster
();
this
.
timeStart
=
performance
.
getTimeStart
().
format
(
DateTimeFormatter
.
ofPattern
(
"yyyy-MM-dd HH:mm:ss"
));
this
.
timeEnd
=
performance
.
getTimeEnd
().
format
(
DateTimeFormatter
.
ofPattern
(
"yyyy-MM-dd HH:mm:ss"
));
this
.
type
=
performance
.
getType
();
}
public
void
setTimePriceVipAndLack
(
int
isLackRegister
,
int
isMember
,
int
isExclusive
,
BigDecimal
price
,
LocalDateTime
stopSellTime
,
LocalDateTime
sellTime
)
{
public
void
setTimePriceVipAndLack
(
int
isLackRegister
,
int
isMember
,
int
isExclusive
,
BigDecimal
price
,
LocalDateTime
stopSellTime
,
LocalDateTime
sellTime
,
int
isAdvance
,
int
isDiscount
)
{
this
.
isLackRegister
=
isLackRegister
;
this
.
isMember
=
isMember
;
this
.
isExclusive
=
isExclusive
;
...
...
@@ -84,14 +97,17 @@ public class PerformanceVo {
this
.
stopSellTime
=
stopSellTime
.
format
(
DateTimeFormatter
.
ofPattern
(
"yyyy-MM-dd HH:mm:ss"
));
this
.
sellTime
=
sellTime
.
format
(
DateTimeFormatter
.
ofPattern
(
"yyyy-MM-dd HH:mm:ss"
));
this
.
appStatus
=
9
;
this
.
isDiscount
=
isDiscount
;
this
.
isAdvance
=
isAdvance
;
this
.
message
=
""
;
}
public
void
setPerformanceStatus
(
KylinPerformanceStatus
performanceStatus
)
{
this
.
statusSell
=
performanceStatus
.
getStatusSell
();
this
.
isRecommend
=
performanceStatus
.
getIsRecommend
();
this
.
isTrueName
=
performanceStatus
.
getIsTrueName
();
this
.
limitCount
=
performanceStatus
.
getLimitCount
();
this
.
limitCountMember
=
performanceStatus
.
getLimitCountMember
();
}
//TODO 巡演 搭售 场地
...
...
liquidnet-bus-service/liquidnet-service-kylin/liquidnet-service-kylin-api/src/main/java/com/liquidnet/service/kylin/dto/vo/TicketVo.java
View file @
58911f7d
...
...
@@ -56,6 +56,8 @@ public class TicketVo {
private
int
isElectronic
;
@ApiModelProperty
(
value
=
"是否快递票"
)
private
int
isExpress
;
@ApiModelProperty
(
value
=
"可验证次数"
)
private
Integer
counts
;
@ApiModelProperty
(
value
=
"状态"
)
private
int
status
;
@ApiModelProperty
(
value
=
"兑换状态"
)
...
...
@@ -68,6 +70,8 @@ public class TicketVo {
private
int
isTrueName
;
@ApiModelProperty
(
value
=
"限购张数"
)
private
int
limitCount
;
@ApiModelProperty
(
value
=
"会员限购张数"
)
private
Integer
limitCountMember
;
@ApiModelProperty
(
value
=
"是否会员专属"
)
private
int
isExclusive
;
@ApiModelProperty
(
value
=
"是否会员"
)
...
...
@@ -104,6 +108,9 @@ public class TicketVo {
this
.
isElectronic
=
ticketStatus
.
getIsElectronic
();
this
.
isExpress
=
ticketStatus
.
getIsExpress
();
this
.
isStudent
=
ticketStatus
.
getIsStudent
();
this
.
limitCountMember
=
ticketStatus
.
getMemberLimitCount
();
this
.
limitCount
=
ticketStatus
.
getLimitCount
();
this
.
counts
=
ticketStatus
.
getCounts
();
}
}
liquidnet-bus-service/liquidnet-service-kylin/liquidnet-service-kylin-api/src/main/java/com/liquidnet/service/kylin/dto/vo/partner/TicketPartnerVo.java
View file @
58911f7d
...
...
@@ -46,6 +46,9 @@ public class TicketPartnerVo implements Serializable {
@ApiModelProperty
(
value
=
"限购数量"
,
example
=
"0"
)
private
int
limitCount
;
@ApiModelProperty
(
value
=
"次数"
,
example
=
"0"
)
private
int
counts
;
@ApiModelProperty
(
value
=
"票种开售时间"
,
example
=
"2020-12-01T12:00:00"
)
private
String
timeStart
;
...
...
liquidnet-bus-service/liquidnet-service-kylin/liquidnet-service-kylin-api/src/main/java/com/liquidnet/service/kylin/service/admin/IKylinPerformancesAdminService.java
View file @
58911f7d
...
...
@@ -3,6 +3,7 @@ package com.liquidnet.service.kylin.service.admin;
import
com.baomidou.mybatisplus.extension.service.IService
;
import
com.github.pagehelper.PageInfo
;
import
com.liquidnet.service.kylin.dao.PerformanceAdminListDao
;
import
com.liquidnet.service.kylin.dao.PerformanceMemberAuditDao
;
import
com.liquidnet.service.kylin.dao.PerformanceRecommendAdminDao
;
import
com.liquidnet.service.kylin.dao.PerformanceTitleDao
;
import
com.liquidnet.service.kylin.dto.param.PerformanceAdminListParam
;
...
...
@@ -22,23 +23,77 @@ import java.util.List;
*/
public
interface
IKylinPerformancesAdminService
extends
IService
<
KylinPerformances
>
{
/**
* 获取演出详情
* @param performancesId 演出id
* @return PerformanceMisVo
*/
PerformanceMisVo
performanceDetails
(
String
performancesId
);
PerformanceMisVo
performanceCreateDetails
(
String
performancesId
);
PerformanceMisVo
performanceUpdateDetails
(
String
performancesId
);
/**
* 演出审核
* @param performancesId 演出id
* @param status 审核状态 3通过 4拒绝
* @param rejectTxt 拒绝理由 如果 status == 4 必填
* @return boolean
*/
boolean
performanceAudit
(
String
performancesId
,
int
status
,
String
rejectTxt
);
/**
* 获取 演出列表 (全量)
* @param performanceAdminListParam 列表搜索参数
* @return 分页 sql 数据
*/
PageInfo
<
PerformanceAdminListDao
>
getList
(
PerformanceAdminListParam
performanceAdminListParam
);
/**
* 根据巡演id 查询演出列表 简易
* @param roadShowId 巡演id
* @return 20个 sql 数据
*/
List
<
PerformanceTitleDao
>
getListByRoadShowId
(
String
roadShowId
);
/**
* 根据演出状态 查询演出列表 简易
* @param status 演出状态
* @return 20个 sql 数据
*/
List
<
PerformanceTitleDao
>
getListByStatus
(
String
status
);
/**
* 修改演出的巡演关联
* @param performancesId 演出id
* @param roadShowId 巡演id
* @return boolean
*/
boolean
changeRoadShowId
(
String
performancesId
,
String
roadShowId
);
/**
* 设置 演出推荐 关联
* @param performancesId 相关参数
* @return boolean
*/
boolean
setRecommend
(
List
<
PerformanceRecommendAdminParam
>
performancesId
);
/**
* 查询 推荐演出列表
* @return 分页 sql 数据
*/
PageInfo
<
PerformanceRecommendAdminDao
>
listRecommend
();
/**
* 获取 演出会员信息(包含场次票)
* @return sql 数据
*/
PerformanceMemberAuditDao
performanceMemberInfo
(
String
performanceId
);
//修改 演出会员信息(包含场次票)
//列表 待审核 演出会员信息
//详情 待审核 演出会员信息
//审核 会员信息
//列表 演出会员审核记录
}
liquidnet-bus-service/liquidnet-service-kylin/liquidnet-service-kylin-api/src/main/java/com/liquidnet/service/kylin/service/admin/IKylinRoadShowsAdminService.java
View file @
58911f7d
...
...
@@ -18,14 +18,42 @@ import com.liquidnet.service.kylin.entity.KylinRoadShows;
*/
public
interface
IKylinRoadShowsAdminService
extends
IService
<
KylinRoadShows
>
{
/**
* 创建巡演
* @param createRoadShowParam 创建巡演参数
* @return 巡演id
*/
String
createRoadShow
(
CreateRoadShowParam
createRoadShowParam
);
/**
* 修改巡演
* @param createRoadShowParam 修改巡演参数
* @return 巡演id
*/
boolean
updateRoadShow
(
CreateRoadShowParam
createRoadShowParam
);
/**
* 删除巡演 (修改巡演上下线关系)
* @param roadShowId 巡演id
* @param status 状态 0停用 1启用
* @return boolean
*/
boolean
deleteRoadShow
(
String
roadShowId
,
int
status
);
/**
* 巡演详情
* @param roadShowId 巡演id
* @return 巡演数据
*/
RoadShowAdminVo
detailsRoadShow
(
String
roadShowId
);
/**
* 巡演列表
* @param title 巡演名称
* @param page 页数
* @param size 数量
* @return 分页 sql 数据
*/
PageInfo
<
RoadShowAdminListDao
>
listRoadShow
(
String
title
,
int
page
,
int
size
);
...
...
liquidnet-bus-service/liquidnet-service-kylin/liquidnet-service-kylin-api/src/main/java/com/liquidnet/service/kylin/service/partner/IKylinPerformancesPartnerService.java
View file @
58911f7d
...
...
@@ -20,28 +20,28 @@ public interface IKylinPerformancesPartnerService extends IService<KylinPerforma
/**
* 演出第一步
* @param step1Param
* @return
* @param step1Param
相关参数
* @return
演出id
*/
String
step1
(
PerformanceStep1Param
step1Param
);
/**
* 创建演出第一步
* @param step1Param
* @return
* @param step1Param
相关参数
* @return
演出id
*/
String
createStep1
(
PerformanceStep1Param
step1Param
);
/**
* 修改演出第一步
* @param step1Param
* @return
* @param step1Param
相关参数
* @return
演出id
*/
String
updateStep1
(
PerformanceStep1Param
step1Param
);
/**
* 获取演出第一步数据
* @param performancesId
* @return
* @param performancesId
演出id
* @return
演出对象
*/
PerformancePartnerVo
getStep1
(
String
performancesId
);
...
...
@@ -62,36 +62,61 @@ public interface IKylinPerformancesPartnerService extends IService<KylinPerforma
/**
* 演出第二步
* @param step2Param
* @return
* @param step2Param
相关参数
* @return
boolean
*/
boolean
step2
(
PerformanceStep2Param
step2Param
);
/**
* 演出第二步创建
* @param step2Param
* @return
* @param step2Param
相关参数
* @return
boolean
*/
boolean
createStep2
(
PerformanceStep2Param
step2Param
);
/**
* 演出第二步修改
* @param step2Param
* @return
* @param step2Param
相关参数
* @return
boolean
*/
boolean
updateStep2
(
PerformanceStep2Param
step2Param
);
/**
* 获取演出第二步数据
* @param performancesId 演出id
* @return 演出 第二步 数据
*/
PerformanceStep2Param
getStep2
(
String
performancesId
);
// PerformanceStep2Param getCreateStep2(String performancesId);
//
// PerformanceStep2Param getUpdateStep2(String performancesId);
/**
* 演出上线
* @param performancesId 演出id
* @return boolean
*/
boolean
onLinePerformance
(
String
performancesId
);
/**
* 演出下线
* @param performancesId 演出id
* @return boolean
*/
boolean
outLinePerformance
(
String
performancesId
);
/**
* 复制演出 (只有巡演类型)
* @param performancesId 演出id
* @return 演出id
*/
String
copyPerformance
(
String
performancesId
);
/**
* 演出列表
* @param performancePartnerListParam 相关参数
* @return 分页 msql 数据
*/
PageInfo
<
PerformancePartnerListDao
>
getList
(
PerformancePartnerListParam
performancePartnerListParam
);
}
liquidnet-bus-service/liquidnet-service-kylin/liquidnet-service-kylin-api/src/main/java/com/liquidnet/service/kylin/service/partner/IKylinTicketTimesPartnerService.java
View file @
58911f7d
...
...
@@ -20,35 +20,50 @@ public interface IKylinTicketTimesPartnerService extends IService<KylinTicketTim
/**
* 创建场次汇总
* @param createTicketTimesParam
* @return
* @param createTicketTimesParam
相关参数
* @return
vo
*/
TicketTimesPartnerVo
createTimesSummary
(
CreateTicketTimesParam
createTicketTimesParam
);
/**
* 未通过审核创建场次
* @param createTicketTimesParam
* @return
* @param createTicketTimesParam
相关参数
* @return
vo
*/
TicketTimesPartnerVo
createTimes
(
CreateTicketTimesParam
createTicketTimesParam
);
/**
* 通过审核后创建场次
* @param createTicketTimesParam
* @return
* @param createTicketTimesParam
相关参数
* @return
相关参数
*/
TicketTimesPartnerVo
addNewTimes
(
CreateTicketTimesParam
createTicketTimesParam
);
/**
* 删除 场次(只有未审核通过可删除)
* @param ticketTimesId
* @return
* @param ticketTimesId
场次id
* @return
boolean
*/
Boolean
deleteTimes
(
String
ticketTimesId
);
/**
* 修改场次信息
* @param createTicketTimesParam 相关参数
* @return vo
*/
TicketTimesPartnerVo
changeTimes
(
CreateTicketTimesParam
createTicketTimesParam
);
/**
* 根据演出id 获取全部场次数据
* @param performancesId 演出id
* @return list<vo>
*/
List
<
TicketTimesPartnerVo
>
getTimesMongoList
(
String
performancesId
);
/**
* 根据场次id 获取场次信息
* @param timesId 场次id
* @return vo
*/
TicketTimesPartnerVo
getTimesMongo
(
String
timesId
);
}
liquidnet-bus-service/liquidnet-service-kylin/liquidnet-service-kylin-api/src/main/java/com/liquidnet/service/kylin/service/partner/IKylinTicketsPartnerService.java
View file @
58911f7d
...
...
@@ -19,39 +19,64 @@ public interface IKylinTicketsPartnerService extends IService<KylinTickets> {
/**
* 创建票汇总
* @param ticketCreateParam
* @return
* @param ticketCreateParam
相关参数
* @return
vo
*/
TicketPartnerVo
createTicketSummary
(
TicketCreateParam
ticketCreateParam
);
/**
* 未通过审核创建票
* @param ticketCreateParam
* @return
* @param ticketCreateParam
相关参数
* @return
vo
*/
TicketPartnerVo
createTicket
(
TicketCreateParam
ticketCreateParam
);
/**
* 通过审核后创建
场次
* @param ticketCreateParam
* @return
* 通过审核后创建
票
* @param ticketCreateParam
相关参数
* @return
vo
*/
TicketPartnerVo
addNewTicket
(
TicketCreateParam
ticketCreateParam
);
/**
* 修改票
* @param ticketCreateParam 相关参数
* @return vo
*/
TicketPartnerVo
updateTicket
(
TicketCreateParam
ticketCreateParam
);
/**
* 删除 票(只有未审核通过可删除)
* @param ticketsId
* @return
* @param ticketsId
票id
* @return
boolean
*/
boolean
deleteTicket
(
String
ticketsId
);
/**
* 复制票
* @param ticketsId 票id
* @return vo
*/
TicketPartnerVo
copyTicket
(
String
ticketsId
);
/**
* 整个场次票 提交 审核
* @param timesId 场次id
* @return boolean
*/
boolean
submitTicketByTimes
(
String
timesId
);
/**
* 从mongo 获取 当前场次所有 票
* @param timesId 场次id
* @return list<vo>
*/
List
<
TicketPartnerVo
>
getTicketMongoList
(
String
timesId
);
/**
* 从mongo 获取 当前票
* @param ticketsId 票id
* @return vo
*/
TicketPartnerVo
getTicketsMongo
(
String
ticketsId
);
}
liquidnet-bus-service/liquidnet-service-kylin/liquidnet-service-kylin-do/src/main/java/com/liquidnet/service/kylin/dao/PerformanceMemberAuditDao.java
0 → 100644
View file @
58911f7d
package
com
.
liquidnet
.
service
.
kylin
.
dao
;
import
io.swagger.annotations.ApiModel
;
import
io.swagger.annotations.ApiModelProperty
;
import
lombok.Data
;
import
java.util.List
;
@ApiModel
@Data
public
class
PerformanceMemberAuditDao
{
@ApiModelProperty
(
value
=
"演出id"
)
private
String
performancesId
;
@ApiModelProperty
(
value
=
"演出名称"
)
private
String
title
;
@ApiModelProperty
(
value
=
"是否会员"
)
private
int
isMember
;
@ApiModelProperty
(
value
=
"是否专属"
)
private
int
isExclusive
;
@ApiModelProperty
(
value
=
"票种列表"
)
private
List
<
TicketMemberAuditDao
>
ticketMemberAudit
;
}
liquidnet-bus-service/liquidnet-service-kylin/liquidnet-service-kylin-do/src/main/java/com/liquidnet/service/kylin/dao/TicketMemberAuditDao.java
0 → 100644
View file @
58911f7d
package
com
.
liquidnet
.
service
.
kylin
.
dao
;
import
io.swagger.annotations.ApiModel
;
import
io.swagger.annotations.ApiModelProperty
;
import
lombok.Data
;
@ApiModel
@Data
public
class
TicketMemberAuditDao
{
@ApiModelProperty
(
value
=
"演出id"
)
private
String
ticketsId
;
@ApiModelProperty
(
value
=
"演出名称"
)
private
String
title
;
@ApiModelProperty
(
value
=
"适用时间开始"
)
private
String
useStart
;
// @ApiModelProperty(value = "使用时间结束")
// private String useEnd;
@ApiModelProperty
(
value
=
"状态"
)
private
int
status
;
@ApiModelProperty
(
value
=
"开售时间"
)
private
int
timeStart
;
@ApiModelProperty
(
value
=
"原价"
)
private
int
price
;
@ApiModelProperty
(
value
=
"会员优惠价格"
)
private
int
priceMember
;
@ApiModelProperty
(
value
=
"会员优惠时间段限购数量"
)
private
int
memberLimitCount
;
@ApiModelProperty
(
value
=
"会员提前开售分钟"
)
private
int
timeStartMember
;
@ApiModelProperty
(
value
=
"是否会员"
)
private
int
isMember
;
@ApiModelProperty
(
value
=
"是否专属"
)
private
int
isExclusive
;
}
liquidnet-bus-service/liquidnet-service-kylin/liquidnet-service-kylin-do/src/main/java/com/liquidnet/service/kylin/entity/KylinPerformanceStatus.java
View file @
58911f7d
...
...
@@ -74,6 +74,11 @@ public class KylinPerformanceStatus implements Serializable {
*/
private
Integer
limitCount
;
/**
* 会员限购张数 0无限 (开启实名 则实名限购 未开始为账号限购)
*/
private
Integer
limitCountMember
;
/**
* 推荐顺序 0不推荐
*/
...
...
liquidnet-bus-service/liquidnet-service-kylin/liquidnet-service-kylin-do/src/main/java/com/liquidnet/service/kylin/entity/KylinTicketStatus.java
View file @
58911f7d
...
...
@@ -119,6 +119,11 @@ public class KylinTicketStatus implements Serializable {
*/
private
Integer
limitCount
;
/**
* 会员限购张数 0无限 (开启实名 则实名限购 未开始为账号限购)
*/
private
Integer
memberLimitCount
;
/**
* 是否会员专属 0不是 1是
*/
...
...
liquidnet-bus-service/liquidnet-service-kylin/liquidnet-service-kylin-do/src/main/java/com/liquidnet/service/kylin/mapper/KylinPerformancesMapper.java
View file @
58911f7d
...
...
@@ -31,4 +31,10 @@ public interface KylinPerformancesMapper extends BaseMapper<KylinPerformances> {
//推荐列表
List
<
PerformanceRecommendAdminDao
>
reCommendPerformanceList
();
//演出 会员演出相关信息
PerformanceTitleDao
misPerformanceMemberInfo
(
String
performancesId
);
//演出 会员票相关信息
List
<
TicketMemberAuditDao
>
misTicketMemberInfo
(
String
performancesId
);
}
liquidnet-bus-service/liquidnet-service-kylin/liquidnet-service-kylin-do/src/main/resources/com.liquidnet.service.kylin.mapper/KylinPerformancesMapper.xml
View file @
58911f7d
...
...
@@ -48,6 +48,21 @@
<result
column=
"is_recommend"
property=
"isRecommend"
/>
</resultMap>
<resultMap
id=
"ticketMemberAuditDaoResult"
type=
"com.liquidnet.service.kylin.dao.TicketMemberAuditDao"
>
<result
column=
"tickets_id"
property=
"ticketsId"
/>
<result
column=
"t.title"
property=
"title"
/>
<result
column=
"tt.use_start"
property=
"useStart"
/>
<result
column=
"t.status"
property=
"status"
/>
<result
column=
"t.time_start"
property=
"timeStart"
/>
<result
column=
"t.price"
property=
"price"
/>
<result
column=
"t.price_discount_member"
property=
"priceMember"
/>
<result
column=
"advance_minute_member"
property=
"timeStartMember"
/>
<result
column=
"t.limit_count_member"
property=
"memberLimitCount"
/>
<result
column=
"t.is_member"
property=
"isMember"
/>
<result
column=
"t.is_exclusive"
property=
"isExclusive"
/>
</resultMap>
<!-- 第三方演出列表 (不包含退票信息) -->
<select
id=
"partnerPerformanceList"
parameterType=
"java.util.Map"
resultMap=
"partnerPerformanceListResult"
>
SELECT
...
...
@@ -198,9 +213,9 @@
LEFT JOIN kylin_performance_relations AS pr ON pr.performance_id = p.performances_id
WHERE (ps.status = 3 or ps.status = 6 or ps.status = 7)
AND pr.road_show_id = ${roadShowId}
LIMIT 20
</select>
<!-- Mis 根据
巡演
查询演出列表 -->
<!-- Mis 根据
状态
查询演出列表 -->
<select
id=
"misTitleByStatusList"
parameterType=
"java.lang.String"
resultMap=
"performanceTitleDaoResult"
>
SELECT performances_id,
title
...
...
@@ -208,6 +223,7 @@
LEFT JOIN kylin_performance_status AS ps ON ps.performance_id = p.performances_id
LEFT JOIN kylin_performance_relations AS pr ON pr.performance_id = p.performances_id
WHERE ps.status = ${roadShowId}
LIMIT 20
</select>
<!-- Mis演出推荐列表 -->
<select
id=
"reCommendPerformanceList"
resultMap=
"PerformanceRecommendAdminDaoResult"
>
...
...
@@ -222,4 +238,41 @@
ORDER BY is_recommend DESC
</select>
<!-- Mis根据演出id查询演出名称 -->
<select
id=
"misPerformanceMemberInfo"
resultMap=
"performanceTitleDaoResult"
>
SELECT
performances_id ,title
FROM
kylin_performances AS p
LEFT JOIN kylin_performance_relations AS pr ON pr.performance_id = p.performances_id
WHERE performances_id = ${performancesId};
</select>
<!-- Mis根据演出id查询票种信息 -->
<select
id=
"misTicketMemberInfo"
resultMap=
"ticketMemberAuditDaoResult"
>
SELECT
tickets_id,t.title,tt.use_start,t.status,t.time_start,t.price,t.price_discount_member,advance_minute_member,t.limit_count_member,t.is_member,t.is_exclusive
FROM
kylin_ticket_time_relation AS ttr
LEFT JOIN kylin_ticket_times AS tt ON tt.ticket_times_id = ttr.times_id
LEFT JOIN(
SELECT
tickets_id ,
tr.times_id as 'times_id',
title ,
status ,
time_start ,
price ,
advance_minute_member ,
price_discount_member ,
limit_count_member ,
is_member ,
is_exclusive
FROM
kylin_tickets AS t
LEFT JOIN kylin_ticket_status AS ts ON ts.ticket_id = t.tickets_id
LEFT JOIN kylin_ticket_relations AS tr ON tr.ticket_id = t.tickets_id
) as t on t.times_id = ttr.times_id where ttr.performance_id = ${performancesId};
</select>
</mapper>
liquidnet-bus-service/liquidnet-service-kylin/liquidnet-service-kylin-impl/docu/db_kylin_structure.sql
View file @
58911f7d
...
...
@@ -158,6 +158,7 @@ CREATE TABLE `kylin_performance_status`
`audit_status`
tinyint
NOT
NULL
DEFAULT
-
1
COMMENT
'-1未提交审核,0提交审核,1审核通过,2审核拒绝'
,
`is_true_name`
tinyint
NOT
NULL
DEFAULT
0
COMMENT
'是否实名 0不需要 1需要'
,
`limit_count`
int
(
11
)
NOT
NULL
DEFAULT
0
COMMENT
'限购张数 0无限 (开启实名 则实名限购 未开始为账号限购)'
,
`limit_count_member`
int
(
11
)
NOT
NULL
DEFAULT
0
COMMENT
'会员限购张数 0无限 (开启实名 则实名限购 未开始为账号限购)'
,
`is_recommend`
tinyint
(
255
)
NOT
NULL
DEFAULT
0
COMMENT
'是否推荐 0否 1是'
,
`created_at`
datetime
NULL
DEFAULT
NULL
COMMENT
'创建时间'
,
`updated_at`
datetime
NULL
DEFAULT
NULL
COMMENT
'修改时间'
,
...
...
@@ -293,6 +294,7 @@ CREATE TABLE `kylin_ticket_status`
`express_type`
tinyint
NOT
NULL
DEFAULT
1
COMMENT
'1寄付 2到付'
,
`is_true_name`
tinyint
NOT
NULL
DEFAULT
0
COMMENT
'是否实名 0不需要 1需要'
,
`limit_count`
int
(
11
)
NOT
NULL
DEFAULT
0
COMMENT
'限购张数 0无限 (开启实名 则实名限购 未开始为账号限购)'
,
`member_limit_count`
int
(
11
)
NOT
NULL
DEFAULT
0
COMMENT
'会员限购张数 0无限 (开启实名 则实名限购 未开始为账号限购)'
,
`is_transfer`
tinyint
NOT
NULL
DEFAULT
0
COMMENT
'是否开启转赠 0关闭 1开启'
,
`is_exclusive`
tinyint
NOT
NULL
DEFAULT
0
COMMENT
'是否会员专属 0不是 1是'
,
`is_member`
tinyint
NOT
NULL
DEFAULT
0
COMMENT
'是否关联会员 0不是 1是'
,
...
...
liquidnet-bus-service/liquidnet-service-kylin/liquidnet-service-kylin-impl/src/main/java/com/liquidnet/service/kylin/controller/KylinBannersController.java
View file @
58911f7d
...
...
@@ -2,18 +2,16 @@ package com.liquidnet.service.kylin.controller;
import
com.liquidnet.service.ResponseDto
;
import
com.liquidnet.service.kylin.dao.BannerDetailsListDao
;
import
com.liquidnet.service.kylin.dto.param.BannersApiSearchParam
;
import
com.liquidnet.service.kylin.dto.param.BannersSearchParam
;
import
com.liquidnet.service.kylin.dto.vo.BannersVo
;
import
com.liquidnet.service.kylin.dto.vo.PagerVo
;
import
com.liquidnet.service.kylin.service.impl.admin.KylinBannersServiceImpl
;
import
com.mongodb.client.AggregateIterable
;
import
io.swagger.annotations.Api
;
import
io.swagger.annotations.ApiImplicitParam
;
import
io.swagger.annotations.ApiImplicitParams
;
import
io.swagger.annotations.ApiOperation
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.web.bind.annotation.*
;
import
java.util.ArrayList
;
import
java.util.List
;
/**
...
...
@@ -35,20 +33,18 @@ public class KylinBannersController {
@GetMapping
(
""
)
@ApiOperation
(
"banner列表"
)
@ApiImplicitParams
({
@ApiImplicitParam
(
type
=
"query"
,
dataType
=
"String"
,
name
=
"position"
,
value
=
"展示位置 1首页 3周边 4演出 5积分商城 6YB 8视频"
,
required
=
true
),
@ApiImplicitParam
(
type
=
"query"
,
dataType
=
"String"
,
name
=
"provinceCode"
,
value
=
"城市code"
),
})
public
ResponseDto
<
List
<
BannersVo
>>
blist
(
@RequestParam
(
value
=
"position"
)
String
position
,
@RequestParam
(
value
=
"provinceCode"
,
defaultValue
=
""
)
String
provinceCode
@RequestParam
()
String
position
,
@RequestParam
(
defaultValue
=
""
)
String
provinceCode
)
{
BannersApiSearchParam
bannersApiSearchParam
=
new
BannersApiSearchParam
();
bannersApiSearchParam
.
setPosition
(
position
);
bannersApiSearchParam
.
setProvinceCode
(
provinceCode
);
List
result
=
kylinBannersServiceImpl
.
blist
(
bannersApiSearchParam
);
List
result
=
new
ArrayList
();
result
=
kylinBannersServiceImpl
.
blist
(
position
,
provinceCode
);
if
(
result
.
size
()
>
0
)
{
return
ResponseDto
.
success
(
result
);
}
else
{
return
ResponseDto
.
failure
(
"获取列表失败"
);
}
}
}
liquidnet-bus-service/liquidnet-service-kylin/liquidnet-service-kylin-impl/src/main/java/com/liquidnet/service/kylin/controller/KylinPerformancesController.java
View file @
58911f7d
...
...
@@ -5,6 +5,8 @@ import com.liquidnet.service.ResponseDto;
import
com.liquidnet.service.kylin.dto.vo.PerformanceVo
;
import
com.liquidnet.service.kylin.service.impl.KylinPerformancesServiceImpl
;
import
io.swagger.annotations.Api
;
import
io.swagger.annotations.ApiImplicitParam
;
import
io.swagger.annotations.ApiImplicitParams
;
import
io.swagger.annotations.ApiOperation
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.web.bind.annotation.GetMapping
;
...
...
@@ -13,6 +15,7 @@ import org.springframework.web.bind.annotation.RequestMapping;
import
org.springframework.web.bind.annotation.RequestParam
;
import
org.springframework.web.bind.annotation.RestController
;
import
java.util.ArrayList
;
import
java.util.HashMap
;
import
java.util.List
;
...
...
@@ -34,40 +37,72 @@ public class KylinPerformancesController {
@GetMapping
(
"localList"
)
@ApiOperation
(
"本地演出列表"
)
@ApiImplicitParams
({
@ApiImplicitParam
(
type
=
"query"
,
dataType
=
"String"
,
name
=
"sellTime"
,
value
=
"开票时间 2021-01-01"
),
@ApiImplicitParam
(
type
=
"query"
,
dataType
=
"Integer"
,
name
=
"days"
,
value
=
"时间范围 几天 今天1 三天3。。。"
),
@ApiImplicitParam
(
type
=
"query"
,
dataType
=
"String"
,
name
=
"title"
,
value
=
"演出名称"
),
@ApiImplicitParam
(
type
=
"query"
,
dataType
=
"String"
,
name
=
"cityName"
,
value
=
"城市名称"
),
@ApiImplicitParam
(
type
=
"query"
,
dataType
=
"Integer"
,
name
=
"type"
,
value
=
"演出类型 1音乐节 2演唱会 3小型演出 4展览 6舞台剧"
),
@ApiImplicitParam
(
type
=
"query"
,
dataType
=
"Integer"
,
name
=
"isDiscount"
,
value
=
"是否会员优惠 0 1"
),
@ApiImplicitParam
(
type
=
"query"
,
dataType
=
"Integer"
,
name
=
"isAdvance"
,
value
=
"是否优先 0 1"
),
@ApiImplicitParam
(
type
=
"query"
,
dataType
=
"Integer"
,
name
=
"isExclusive"
,
value
=
"是否会员专属 0 1"
),
@ApiImplicitParam
(
type
=
"query"
,
dataType
=
"Integer"
,
name
=
"page"
,
value
=
"页码"
),
@ApiImplicitParam
(
type
=
"query"
,
dataType
=
"Integer"
,
name
=
"size"
,
value
=
"每页数量"
),
@ApiImplicitParam
(
type
=
"query"
,
dataType
=
"String"
,
name
=
"orderBy"
,
value
=
"排序字段 时间sellTime"
),
@ApiImplicitParam
(
type
=
"query"
,
dataType
=
"String"
,
name
=
"sort"
,
value
=
"排序方式[DESC ASC]"
),
})
public
ResponseDto
<
HashMap
<
String
,
Object
>>
localList
(
@RequestParam
(
value
=
"sellTime"
,
defaultValue
=
""
)
String
sellTime
,
//开票时间
@RequestParam
(
value
=
"title"
,
defaultValue
=
""
)
String
title
,
//演出名称
@RequestParam
(
value
=
"cityId"
,
defaultValue
=
""
)
String
cityId
,
//省份id
@RequestParam
(
value
=
"type"
,
defaultValue
=
""
)
Integer
type
,
//演出类型
@RequestParam
(
value
=
"page"
,
defaultValue
=
"1"
)
Integer
page
,
@RequestParam
(
value
=
"size"
,
defaultValue
=
"10"
)
Integer
size
,
@RequestParam
(
defaultValue
=
""
)
String
sellTime
,
@RequestParam
(
defaultValue
=
""
)
Integer
days
,
@RequestParam
(
defaultValue
=
""
)
String
title
,
@RequestParam
(
defaultValue
=
""
)
String
cityName
,
@RequestParam
(
defaultValue
=
""
)
Integer
type
,
@RequestParam
(
defaultValue
=
""
)
Integer
isDiscount
,
@RequestParam
(
defaultValue
=
""
)
Integer
isAdvance
,
@RequestParam
(
defaultValue
=
""
)
Integer
isExclusive
,
@RequestParam
(
defaultValue
=
"1"
)
Integer
page
,
@RequestParam
(
defaultValue
=
"10"
)
Integer
size
,
// 排序
@RequestParam
(
value
=
"SortType"
,
defaultValue
=
"1"
)
Integer
SortType
// 1时间正序 2时间倒序
@RequestParam
(
defaultValue
=
""
)
String
orderBy
,
@RequestParam
(
defaultValue
=
""
)
String
sort
)
{
HashMap
<
String
,
Object
>
result
=
kylinPerformancesService
.
localList
(
sellTime
,
title
,
cityId
,
type
,
page
,
size
,
SortType
);
if
(
result
.
size
()
>
0
)
{
HashMap
<
String
,
Object
>
result
=
kylinPerformancesService
.
localList
(
sellTime
,
days
,
title
,
cityName
,
type
,
isDiscount
,
isAdvance
,
isExclusive
,
page
,
size
,
orderBy
,
sort
);
return
ResponseDto
.
success
(
result
);
}
else
{
return
ResponseDto
.
failure
(
"获取本地演出列表失败"
);
}
@GetMapping
(
"noticeList"
)
@ApiOperation
(
"演出预告列表"
)
public
ResponseDto
<
HashMap
<
String
,
Object
>>
noticeList
()
{
HashMap
<
String
,
Object
>
result
=
kylinPerformancesService
.
noticeList
();
return
ResponseDto
.
success
(
result
);
}
@GetMapping
(
"recommendList"
)
@ApiOperation
(
"推荐演出列表"
)
public
ResponseDto
<
List
<
PerformanceVo
>>
recommendList
()
{
List
<
PerformanceVo
>
result
=
kylinPerformancesService
.
recommendList
();
if
(
result
.
size
()
>
0
)
{
return
ResponseDto
.
success
(
result
);
}
else
{
return
ResponseDto
.
failure
(
"获取演出列表失败"
);
}
}
@GetMapping
(
"noticeList"
)
@ApiOperation
(
"演出预告列表"
)
public
ResponseDto
<
List
<
PerformanceVo
>>
noticeList
()
{
List
<
PerformanceVo
>
result
=
kylinPerformancesService
.
noticeList
();
@GetMapping
(
"detail"
)
@ApiOperation
(
"演出详情"
)
public
ResponseDto
<
HashMap
<
String
,
Object
>>
detail
(
@RequestParam
(
value
=
"performancesId"
)
String
performancesId
//演出id
)
{
HashMap
<
String
,
Object
>
result
=
kylinPerformancesService
.
detail
(
performancesId
);
if
(
result
.
size
()
>
0
)
{
return
ResponseDto
.
success
(
result
);
}
else
{
...
...
liquidnet-bus-service/liquidnet-service-kylin/liquidnet-service-kylin-impl/src/main/java/com/liquidnet/service/kylin/controller/admin/KylinPerformancesAdminController.java
View file @
58911f7d
...
...
@@ -4,6 +4,7 @@ package com.liquidnet.service.kylin.controller.admin;
import
com.github.pagehelper.PageInfo
;
import
com.liquidnet.service.ResponseDto
;
import
com.liquidnet.service.kylin.dao.PerformanceAdminListDao
;
import
com.liquidnet.service.kylin.dao.PerformanceMemberAuditDao
;
import
com.liquidnet.service.kylin.dao.PerformanceRecommendAdminDao
;
import
com.liquidnet.service.kylin.dao.PerformanceTitleDao
;
import
com.liquidnet.service.kylin.dto.param.PerformanceAdminListParam
;
...
...
@@ -132,4 +133,16 @@ public class KylinPerformancesAdminController {
return
ResponseDto
.
failure
(
"获取失败"
);
}
}
@GetMapping
(
value
=
"performance/member"
)
@ApiOperation
(
value
=
"演出会员信息"
)
@ApiResponse
(
code
=
200
,
message
=
"接口返回对象参数"
)
public
ResponseDto
<
PerformanceMemberAuditDao
>
performanceMemberInfo
(
String
performanceId
)
{
PerformanceMemberAuditDao
result
=
performancesAdminService
.
performanceMemberInfo
(
performanceId
);
if
(
result
!=
null
)
{
return
ResponseDto
.
success
(
result
);
}
else
{
return
ResponseDto
.
failure
(
"获取失败"
);
}
}
}
liquidnet-bus-service/liquidnet-service-kylin/liquidnet-service-kylin-impl/src/main/java/com/liquidnet/service/kylin/service/impl/KylinPerformancesServiceImpl.java
View file @
58911f7d
...
...
@@ -18,6 +18,7 @@ import org.springframework.stereotype.Service;
import
java.time.LocalDateTime
;
import
java.time.format.DateTimeFormatter
;
import
java.util.ArrayList
;
import
java.util.HashMap
;
import
java.util.List
;
import
java.util.regex.Pattern
;
...
...
@@ -36,24 +37,28 @@ public class KylinPerformancesServiceImpl extends ServiceImpl<KylinPerformancesM
@Autowired
private
MongoTemplate
mongoTemplate
;
public
HashMap
<
String
,
Object
>
localList
(
String
sellTime
,
String
title
,
String
cityId
,
Integer
type
,
Integer
page
,
Integer
size
,
Integer
SortType
)
{
HashMap
<
String
,
Object
>
info
=
new
HashMap
<>();
public
HashMap
<
String
,
Object
>
localList
(
String
sellTime
,
Integer
days
,
String
title
,
String
cityName
,
Integer
type
,
Integer
isDiscount
,
Integer
isAdvance
,
Integer
isExclusive
,
Integer
page
,
Integer
size
,
String
orderBy
,
String
sort
)
{
HashMap
<
String
,
Object
>
info
=
new
HashMap
<>();
// 排序 分页
Sort
sortName
=
null
;
// 默认开票越早的在上面
if
(
SortType
!=
null
)
{
switch
(
SortType
)
{
case
1
:
sortName
=
Sort
.
by
(
Sort
.
Direction
.
ASC
,
"sellTime"
);
break
;
case
2
:
sortName
=
Sort
.
by
(
Sort
.
Direction
.
DESC
,
"sellTime"
);
break
;
default
:
sortName
=
Sort
.
by
(
Sort
.
Direction
.
ASC
,
"sellTime"
);
break
;
if
(
sort
.
equals
(
"DESC"
))
{
if
(!
orderBy
.
isEmpty
())
{
sortName
=
Sort
.
by
(
Sort
.
Direction
.
DESC
,
orderBy
);
}
}
else
if
(
sort
.
equals
(
"ASC"
))
{
if
(!
orderBy
.
isEmpty
())
{
sortName
=
Sort
.
by
(
Sort
.
Direction
.
ASC
,
orderBy
);
}
}
else
{
sortName
=
Sort
.
by
(
Sort
.
Direction
.
ASC
,
"sellTime"
);
}
Pageable
pageable
=
PageRequest
.
of
(
page
-
1
,
size
,
sortName
);
//条件
...
...
@@ -62,18 +67,31 @@ public class KylinPerformancesServiceImpl extends ServiceImpl<KylinPerformancesM
if
(!
title
.
isEmpty
())
{
queryObject
.
put
(
"title"
,
Pattern
.
compile
(
title
,
Pattern
.
CASE_INSENSITIVE
));
}
if
(!
cityId
.
isEmpty
())
{
queryObject
.
put
(
"cityId"
,
cityId
);
}
if
(
type
!=
null
)
{
queryObject
.
put
(
"type"
,
type
);
}
if
(
isExclusive
!=
null
)
{
queryObject
.
put
(
"isExclusive"
,
isExclusive
);
}
if
(
isDiscount
!=
null
)
{
queryObject
.
put
(
"isDiscount"
,
isDiscount
);
}
if
(
isAdvance
!=
null
)
{
queryObject
.
put
(
"isAdvance"
,
isAdvance
);
}
Query
query
=
new
BasicQuery
(
queryObject
);
if
(!
sellTime
.
isEmpty
())
{
String
sellTimeEnd
=
sellTime
+
" 23:59:59"
;
query
.
addCriteria
(
Criteria
.
where
(
"sellTime"
).
gte
(
sellTime
).
lte
(
sellTimeEnd
));
}
if
(
days
!=
null
)
{
LocalDateTime
nowTime
=
LocalDateTime
.
now
();
String
nowTimeStr
=
nowTime
.
format
(
DateTimeFormatter
.
ofPattern
(
"yyyy-MM-dd"
));
LocalDateTime
OtherTime
=
nowTime
.
plusDays
(
days
);
String
OtherTimeStr
=
OtherTime
.
format
(
DateTimeFormatter
.
ofPattern
(
"yyyy-MM-dd"
));
query
.
addCriteria
(
Criteria
.
where
(
"sellTime"
).
gte
(
nowTimeStr
).
lte
(
OtherTimeStr
));
}
// 固定查询条件
LocalDateTime
nowTime
=
LocalDateTime
.
now
();
...
...
@@ -94,38 +112,72 @@ public class KylinPerformancesServiceImpl extends ServiceImpl<KylinPerformancesM
List
<
PerformanceVo
>
list
=
mongoTemplate
.
find
(
query
,
PerformanceVo
.
class
,
PerformanceVo
.
class
.
getSimpleName
());
// 组合数据
info
.
put
(
"total"
,
count
);
info
.
put
(
"total"
,
count
);
info
.
put
(
"data"
,
list
);
return
info
;
}
public
List
<
PerformanceVo
>
recommendList
()
{
// 固定查询条件
public
HashMap
<
String
,
Object
>
noticeList
()
{
// 固定条件
Query
query
=
new
Query
();
LocalDateTime
nowTime
=
LocalDateTime
.
now
();
String
nowTimeStr
=
nowTime
.
format
(
DateTimeFormatter
.
ofPattern
(
"yyyy-MM-dd HH:mm:ss"
));
Query
query
=
Query
.
query
(
Criteria
.
where
(
"stopSellTime"
).
gte
(
nowTimeStr
).
and
(
"statusSell"
).
is
(
1
)
);
query
.
addCriteria
(
Criteria
.
where
(
"stopSellTime"
).
gte
(
nowTimeStr
));
query
.
addCriteria
(
Criteria
.
where
(
"statusSell"
).
is
(
1
));
List
<
PerformanceVo
>
list
=
mongoTemplate
.
find
(
query
,
PerformanceVo
.
class
,
PerformanceVo
.
class
.
getSimpleName
());
// 今天的
LocalDateTime
toDayTime
=
LocalDateTime
.
now
();
String
toDayTimeStr
=
toDayTime
.
format
(
DateTimeFormatter
.
ofPattern
(
"yyyy-MM-dd"
));
LocalDateTime
toDayEndTime
=
toDayTime
.
plusDays
(
1
);
String
toDayEndTimeStr
=
toDayEndTime
.
format
(
DateTimeFormatter
.
ofPattern
(
"yyyy-MM-dd"
));
query
.
addCriteria
(
Criteria
.
where
(
"sellTime"
).
gte
(
toDayTimeStr
).
lt
(
toDayEndTimeStr
));
List
<
PerformanceVo
>
toDayList
=
mongoTemplate
.
find
(
query
,
PerformanceVo
.
class
,
PerformanceVo
.
class
.
getSimpleName
());
// 三天的
Query
queryT
=
new
Query
();
LocalDateTime
nowTimeT
=
LocalDateTime
.
now
();
String
nowTimeStrT
=
nowTimeT
.
format
(
DateTimeFormatter
.
ofPattern
(
"yyyy-MM-dd HH:mm:ss"
));
queryT
.
addCriteria
(
Criteria
.
where
(
"stopSellTime"
).
gte
(
nowTimeStrT
));
queryT
.
addCriteria
(
Criteria
.
where
(
"statusSell"
).
is
(
1
));
LocalDateTime
threeDaysLater
=
toDayTime
.
plusDays
(
3
);
String
threeDaysLaterStr
=
threeDaysLater
.
format
(
DateTimeFormatter
.
ofPattern
(
"yyyy-MM-dd"
));
queryT
.
addCriteria
(
Criteria
.
where
(
"sellTime"
).
gte
(
toDayEndTimeStr
).
lt
(
threeDaysLaterStr
));
List
<
PerformanceVo
>
threeDaysList
=
mongoTemplate
.
find
(
queryT
,
PerformanceVo
.
class
,
PerformanceVo
.
class
.
getSimpleName
());
return
list
;
HashMap
<
String
,
Object
>
info
=
new
HashMap
<>();
info
.
put
(
"toDayList"
,
toDayList
);
info
.
put
(
"threeDaysList"
,
threeDaysList
);
return
info
;
}
public
List
<
PerformanceVo
>
noticeList
()
{
// 固定查询条件
public
List
<
PerformanceVo
>
recommendList
()
{
// 固定条件
Query
query
=
new
Query
();
LocalDateTime
nowTime
=
LocalDateTime
.
now
();
LocalDateTime
threeDaysLater
=
nowTime
.
plusDays
(
3
);
String
nowTimeStr
=
nowTime
.
format
(
DateTimeFormatter
.
ofPattern
(
"yyyy-MM-dd"
));
String
threeDaysLaterStr
=
threeDaysLater
.
format
(
DateTimeFormatter
.
ofPattern
(
"yyyy-MM-dd"
));
Query
query
=
Query
.
query
(
Criteria
.
where
(
"sellTime"
).
gte
(
nowTimeStr
).
lt
(
threeDaysLaterStr
).
and
(
"statusSell"
).
is
(
1
)
String
nowTimeStr
=
nowTime
.
format
(
DateTimeFormatter
.
ofPattern
(
"yyyy-MM-dd HH:mm:ss"
));
query
.
addCriteria
(
Criteria
.
where
(
"stopSellTime"
).
gte
(
nowTimeStr
));
query
.
addCriteria
(
Criteria
.
where
(
"statusSell"
).
is
(
1
));
// 推荐
query
.
addCriteria
(
Criteria
.
where
(
"isRecommend"
).
is
(
1
));
List
<
PerformanceVo
>
recommendList
=
mongoTemplate
.
find
(
query
,
PerformanceVo
.
class
,
PerformanceVo
.
class
.
getSimpleName
());
return
recommendList
;
}
public
HashMap
<
String
,
Object
>
detail
(
String
performancesId
)
{
HashMap
<
String
,
Object
>
info
=
new
HashMap
<>();
PerformanceVo
performancesInfo
=
mongoTemplate
.
findOne
(
Query
.
query
(
Criteria
.
where
(
"performancesId"
).
is
(
performancesId
)),
PerformanceVo
.
class
,
PerformanceVo
.
class
.
getSimpleName
()
);
List
<
PerformanceVo
>
list
=
mongoTemplate
.
find
(
query
,
PerformanceVo
.
class
,
PerformanceVo
.
class
.
getSimpleName
()
);
info
.
put
(
"info"
,
performancesInfo
);
return
list
;
return
info
;
}
}
liquidnet-bus-service/liquidnet-service-kylin/liquidnet-service-kylin-impl/src/main/java/com/liquidnet/service/kylin/service/impl/admin/KylinBannersServiceImpl.java
View file @
58911f7d
...
...
@@ -8,7 +8,6 @@ import com.liquidnet.commons.lang.util.IDGenerator;
import
com.liquidnet.commons.lang.util.JsonUtils
;
import
com.liquidnet.service.kylin.constant.KylinRedisConst
;
import
com.liquidnet.service.kylin.dao.BannerDetailsListDao
;
import
com.liquidnet.service.kylin.dto.param.BannersApiSearchParam
;
import
com.liquidnet.service.kylin.dto.param.BannersParam
;
import
com.liquidnet.service.kylin.dto.param.BannersSearchParam
;
import
com.liquidnet.service.kylin.dto.vo.BannersVo
;
...
...
@@ -246,7 +245,7 @@ public class KylinBannersServiceImpl extends ServiceImpl<KylinBannersMapper, Kyl
}
}
public
List
blist
(
BannersApiSearchParam
bannersApiSearchParam
)
{
public
List
blist
(
String
position
,
String
provinceCode
)
{
Query
query
=
new
Query
();
query
.
addCriteria
(
Criteria
.
where
(
"isOnline"
).
is
(
1
).
and
(
"isDeleted"
).
is
(
1
)
...
...
@@ -261,15 +260,15 @@ public class KylinBannersServiceImpl extends ServiceImpl<KylinBannersMapper, Kyl
Criteria
mergeCriteriaTime
=
new
Criteria
();
mergeCriteriaTime
.
orOperator
(
onlineTimeBetween
,
onlineTimeGt
,
onlineTimeLt
,
onlineTimeEmpty
);
if
(!
bannersApiSearchParam
.
getPosition
()
.
isEmpty
())
{
if
(!
position
.
isEmpty
())
{
query
.
addCriteria
(
Criteria
.
where
(
"positionList"
).
in
(
bannersApiSearchParam
.
getPosition
()
)
Criteria
.
where
(
"positionList"
).
in
(
position
)
);
}
Criteria
mergeCriteriaPromotion
=
new
Criteria
();
if
(!
bannersApiSearchParam
.
getProvinceCode
()
.
isEmpty
())
{
Criteria
promotionCity
=
Criteria
.
where
(
"provincesList"
).
in
(
bannersApiSearchParam
.
getProvinceCode
()
);
if
(!
provinceCode
.
isEmpty
())
{
Criteria
promotionCity
=
Criteria
.
where
(
"provincesList"
).
in
(
provinceCode
);
Criteria
promotionAll
=
Criteria
.
where
(
"promotionType"
).
is
(
1
);
mergeCriteriaPromotion
.
orOperator
(
promotionCity
,
promotionAll
);
}
...
...
liquidnet-bus-service/liquidnet-service-kylin/liquidnet-service-kylin-impl/src/main/java/com/liquidnet/service/kylin/service/impl/admin/KylinPerformancesAdminServiceImpl.java
View file @
58911f7d
...
...
@@ -8,9 +8,7 @@ import com.liquidnet.common.cache.redis.util.RedisUtil;
import
com.liquidnet.commons.lang.util.BeanUtil
;
import
com.liquidnet.commons.lang.util.JsonUtils
;
import
com.liquidnet.service.kylin.constant.KylinRedisConst
;
import
com.liquidnet.service.kylin.dao.PerformanceAdminListDao
;
import
com.liquidnet.service.kylin.dao.PerformanceRecommendAdminDao
;
import
com.liquidnet.service.kylin.dao.PerformanceTitleDao
;
import
com.liquidnet.service.kylin.dao.*
;
import
com.liquidnet.service.kylin.dto.param.PerformanceAdminListParam
;
import
com.liquidnet.service.kylin.dto.param.PerformanceRecommendAdminParam
;
import
com.liquidnet.service.kylin.dto.vo.PerformanceVo
;
...
...
@@ -96,29 +94,12 @@ public class KylinPerformancesAdminServiceImpl extends ServiceImpl<KylinPerforma
@Override
public
PerformanceMisVo
performanceDetails
(
String
performancesId
)
{
PerformanceMisVo
createMisVo
=
performanceUpdateDetails
(
performancesId
);
if
(
createMisVo
==
null
)
{
createMisVo
=
performanceCreateDetails
(
performancesId
);
}
log
.
info
(
" PERFORMANCE mis演出详情"
);
return
createMisVo
;
}
@Override
public
PerformanceMisVo
performanceCreateDetails
(
String
performancesId
)
{
return
mongoTemplate
.
findOne
(
Query
.
query
(
Criteria
.
where
(
"performancesId"
).
is
(
performancesId
)),
PerformanceMisVo
.
class
,
PerformanceMisVo
.
class
.
getSimpleName
()
);
}
@Override
public
PerformanceMisVo
performanceUpdateDetails
(
String
performancesId
)
{
return
mongoTemplate
.
findOne
(
PerformanceMisVo
createMisVo
=
mongoTemplate
.
findOne
(
Query
.
query
(
Criteria
.
where
(
"performancesId"
).
is
(
performancesId
)),
PerformanceMisVo
.
class
,
PerformanceMisVo
.
class
.
getSimpleName
());
return
createMisVo
;
}
@Override
...
...
@@ -316,4 +297,27 @@ public class KylinPerformancesAdminServiceImpl extends ServiceImpl<KylinPerforma
}
return
pageInfoTmp
;
}
@Override
public
PerformanceMemberAuditDao
performanceMemberInfo
(
String
performanceId
)
{
PerformanceMemberAuditDao
performanceMemberAuditDao
=
new
PerformanceMemberAuditDao
();
PerformanceTitleDao
data
=
performancesMapper
.
misPerformanceMemberInfo
(
performanceId
);
List
<
TicketMemberAuditDao
>
ticketData
=
performancesMapper
.
misTicketMemberInfo
(
performanceId
);
performanceMemberAuditDao
.
setPerformancesId
(
data
.
getPerformancesId
());
performanceMemberAuditDao
.
setTitle
(
data
.
getTitle
());
performanceMemberAuditDao
.
setIsExclusive
(
0
);
performanceMemberAuditDao
.
setIsMember
(
0
);
performanceMemberAuditDao
.
setTicketMemberAudit
(
ticketData
);
for
(
TicketMemberAuditDao
item
:
ticketData
)
{
if
(
item
.
getIsMember
()
==
1
)
{
performanceMemberAuditDao
.
setIsMember
(
1
);
}
if
(
item
.
getIsExclusive
()
==
1
)
{
performanceMemberAuditDao
.
setIsExclusive
(
1
);
}
}
return
performanceMemberAuditDao
;
}
}
liquidnet-bus-service/liquidnet-service-kylin/liquidnet-service-kylin-impl/src/main/java/com/liquidnet/service/kylin/service/impl/partner/KylinPerformancesPartnerServiceImpl.java
View file @
58911f7d
...
...
@@ -388,7 +388,11 @@ public class KylinPerformancesPartnerServiceImpl extends ServiceImpl<KylinPerfor
//修改 mysql 售卖时间
KylinTickets
ticketSellTime
=
new
KylinTickets
();
ticketSellTime
.
setTimeEnd
(
LocalDateTime
.
parse
(
ticketItem
.
getTimeEnd
(),
DateTimeFormatter
.
ofPattern
(
"yyyy-MM-dd HH:mm:ss"
)));
ticketSellTime
.
setTimeEnd
(
LocalDateTime
.
parse
(
ticketItem
.
getTimeStart
(),
DateTimeFormatter
.
ofPattern
(
"yyyy-MM-dd HH:mm:ss"
)));
ticketSellTime
.
setTimeStart
(
LocalDateTime
.
parse
(
ticketItem
.
getTimeStart
(),
DateTimeFormatter
.
ofPattern
(
"yyyy-MM-dd HH:mm:ss"
)));
ticketSellTime
.
setAdvanceMinuteMember
(
null
);
//修改 价格
ticketSellTime
.
setPrice
(
ticketItem
.
getPrice
());
ticketSellTime
.
setPriceDiscountMember
(
null
);
ticketsMapper
.
update
(
ticketSellTime
,
new
UpdateWrapper
<
KylinTickets
>().
eq
(
"tickets_id"
,
ticketItem
.
getTicketsId
()));
//修改 mysql 购票限购
ticketStatusMapper
.
update
(
inventory
,
new
UpdateWrapper
<
KylinTicketStatus
>().
eq
(
"ticket_id"
,
ticketItem
.
getTicketsId
()));
...
...
@@ -495,9 +499,9 @@ public class KylinPerformancesPartnerServiceImpl extends ServiceImpl<KylinPerfor
public
boolean
onLinePerformance
(
String
performancesId
)
{
try
{
KylinPerformanceStatus
performanceStatusData
=
performanceStatusMapper
.
selectOne
(
new
UpdateWrapper
<
KylinPerformanceStatus
>().
eq
(
"performance_id"
,
performancesId
));
if
(!(
performanceStatusData
.
getStatus
()
==
3
||
performanceStatusData
.
getStatus
()
==
7
))
{
return
false
;
}
//
if (!(performanceStatusData.getStatus() == 3 || performanceStatusData.getStatus() == 7)) {
//
return false;
//
}
// mysql
LocalDateTime
updatedAt
=
LocalDateTime
.
now
();
KylinPerformanceStatus
performanceStatusUpdate
=
new
KylinPerformanceStatus
();
...
...
@@ -524,6 +528,8 @@ public class KylinPerformancesPartnerServiceImpl extends ServiceImpl<KylinPerfor
int
isLackRegister
=
0
;
int
isMember
=
0
;
int
isExclusive
=
0
;
int
isAdvance
=
0
;
int
isDiscount
=
0
;
BigDecimal
price
=
new
BigDecimal
(
"0.00"
);
...
...
@@ -577,6 +583,14 @@ public class KylinPerformancesPartnerServiceImpl extends ServiceImpl<KylinPerfor
redisUtil
.
hset
(
KylinRedisConst
.
PERFORMANCES_INVENTORY
+
ticketVo
.
getTicketsId
(),
KylinRedisConst
.
SURPLUS_EXCHANGE
,
ticketInventoryDto
.
getSurplusExchange
());
}
if
(
ticketVo
.
getMemberPrice
().
compareTo
(
ticketVo
.
getPrice
())
!=
0
)
{
isDiscount
=
1
;
}
if
(!
ticketVo
.
getTimeStart
().
equalsIgnoreCase
(
ticketVo
.
getMemberTimeStart
()))
{
isAdvance
=
1
;
}
if
(
ticketVo
.
getIsMember
()
==
1
)
{
isMember
=
1
;
}
...
...
@@ -605,7 +619,7 @@ public class KylinPerformancesPartnerServiceImpl extends ServiceImpl<KylinPerfor
}
}
performanceVoData
.
setTimePriceVipAndLack
(
isLackRegister
,
isMember
,
isExclusive
,
price
,
stopSellTime
,
sellTime
);
performanceVoData
.
setTimePriceVipAndLack
(
isLackRegister
,
isMember
,
isExclusive
,
price
,
stopSellTime
,
sellTime
,
isAdvance
,
isDiscount
);
performanceVoData
.
setPerformanceRelations
(
performanceRelationsData
);
boolean
performanceExists
=
mongoTemplate
.
exists
(
Query
.
query
(
Criteria
.
where
(
"performancesId"
).
is
(
performanceVoData
.
getPerformancesId
())),
PerformanceVo
.
class
,
PerformanceVo
.
class
.
getSimpleName
());
...
...
liquidnet-bus-service/liquidnet-service-kylin/liquidnet-service-kylin-impl/src/main/java/com/liquidnet/service/kylin/service/impl/partner/KylinTicketsPartnerServiceImpl.java
View file @
58911f7d
...
...
@@ -74,20 +74,20 @@ public class KylinTicketsPartnerServiceImpl extends ServiceImpl<KylinTicketsMapp
KylinTicketTimeRelation
timesRelations
=
ticketTimeRelationMapper
.
selectOne
(
new
UpdateWrapper
<
KylinTicketTimeRelation
>().
eq
(
"times_id"
,
ticketCreateParam
.
getTimesId
()));
if
(
null
!=
timesRelations
)
{
if
(
null
!=
timesRelations
)
{
KylinPerformanceStatus
performanceStatus
=
performanceStatusMapper
.
selectOne
(
new
UpdateWrapper
<
KylinPerformanceStatus
>().
eq
(
"performance_id"
,
timesRelations
.
getPerformanceId
()));
if
(
null
==
performanceStatus
)
{
if
(
null
==
performanceStatus
)
{
ticketPartnerVo
=
createTicket
(
ticketCreateParam
);
log
.
info
(
" PERFORMANCE 票 创建"
);
}
else
if
(
performanceStatus
.
getStatus
()
>=
3
&&
performanceStatus
.
getStatus
()
!=
4
)
{
//未被拒绝 且 通过审核的演出
}
else
if
(
performanceStatus
.
getStatus
()
>=
3
&&
performanceStatus
.
getStatus
()
!=
4
)
{
//未被拒绝 且 通过审核的演出
ticketPartnerVo
=
addNewTicket
(
ticketCreateParam
);
log
.
info
(
" PERFORMANCE 票 添加"
);
}
else
{
ticketPartnerVo
=
createTicket
(
ticketCreateParam
);
log
.
info
(
" PERFORMANCE 票 创建"
);
}
}
else
{
}
else
{
ticketPartnerVo
=
createTicket
(
ticketCreateParam
);
log
.
info
(
" PERFORMANCE 票 创建"
);
}
...
...
@@ -107,7 +107,6 @@ public class KylinTicketsPartnerServiceImpl extends ServiceImpl<KylinTicketsMapp
BeanUtils
.
copyProperties
(
ticketCreateParam
,
ticketPartnerVo
);
ticketPartnerVo
.
setTicketsId
(
ticketsId
);
ticketPartnerVo
.
setCreatedAt
(
createdAt
.
format
(
DateTimeFormatter
.
ofPattern
(
"yyyy-MM-dd HH:mm:ss"
)));
ticketPartnerVo
.
setTimeEndExpress
(
ticketCreateParam
.
getTimeEndExpress
().
format
(
DateTimeFormatter
.
ofPattern
(
"yyyy-MM-dd HH:mm:ss"
)));
ticketPartnerVo
.
setTimeStart
(
ticketCreateParam
.
getTimeStart
().
format
(
DateTimeFormatter
.
ofPattern
(
"yyyy-MM-dd HH:mm:ss"
)));
ticketPartnerVo
.
setTimeEnd
(
ticketCreateParam
.
getTimeEnd
().
format
(
DateTimeFormatter
.
ofPattern
(
"yyyy-MM-dd HH:mm:ss"
)));
...
...
@@ -118,7 +117,14 @@ public class KylinTicketsPartnerServiceImpl extends ServiceImpl<KylinTicketsMapp
ticketPartnerVo
.
setStatus
(
0
);
ticketPartnerVo
.
setDefault
();
if
(
ticketCreateParam
.
getIsExpress
()
==
1
)
{
ticketPartnerVo
.
setTimeEndExpress
(
ticketCreateParam
.
getTimeEndExpress
().
format
(
DateTimeFormatter
.
ofPattern
(
"yyyy-MM-dd HH:mm:ss"
)));
}
if
(
ticketCreateParam
.
getIsShowCode
()
==
1
)
{
ticketPartnerVo
.
setQrCodeShowTime
(
ticketCreateParam
.
getQrCodeShowTime
().
format
(
DateTimeFormatter
.
ofPattern
(
"yyyy-MM-dd HH:mm:ss"
)));
}
TicketPartnerVo
data
=
mongoTemplate
.
insert
(
ticketPartnerVo
,
TicketPartnerVo
.
class
.
getSimpleName
()
);
...
...
@@ -139,7 +145,6 @@ public class KylinTicketsPartnerServiceImpl extends ServiceImpl<KylinTicketsMapp
BeanUtils
.
copyProperties
(
ticketCreateParam
,
ticketPartnerVo
);
ticketPartnerVo
.
setTicketsId
(
ticketsId
);
ticketPartnerVo
.
setCreatedAt
(
createdAt
.
format
(
DateTimeFormatter
.
ofPattern
(
"yyyy-MM-dd HH:mm:ss"
)));
ticketPartnerVo
.
setTimeEndExpress
(
ticketCreateParam
.
getTimeEndExpress
().
format
(
DateTimeFormatter
.
ofPattern
(
"yyyy-MM-dd HH:mm:ss"
)));
ticketPartnerVo
.
setTimeStart
(
ticketCreateParam
.
getTimeStart
().
format
(
DateTimeFormatter
.
ofPattern
(
"yyyy-MM-dd HH:mm:ss"
)));
ticketPartnerVo
.
setTimeEnd
(
ticketCreateParam
.
getTimeEnd
().
format
(
DateTimeFormatter
.
ofPattern
(
"yyyy-MM-dd HH:mm:ss"
)));
...
...
@@ -150,7 +155,14 @@ public class KylinTicketsPartnerServiceImpl extends ServiceImpl<KylinTicketsMapp
ticketPartnerVo
.
setStatus
(-
2
);
ticketPartnerVo
.
setDefault
();
if
(
ticketCreateParam
.
getIsExpress
()
==
1
)
{
ticketPartnerVo
.
setTimeEndExpress
(
ticketCreateParam
.
getTimeEndExpress
().
format
(
DateTimeFormatter
.
ofPattern
(
"yyyy-MM-dd HH:mm:ss"
)));
}
if
(
ticketCreateParam
.
getIsShowCode
()
==
1
)
{
ticketPartnerVo
.
setQrCodeShowTime
(
ticketCreateParam
.
getQrCodeShowTime
().
format
(
DateTimeFormatter
.
ofPattern
(
"yyyy-MM-dd HH:mm:ss"
)));
}
TicketPartnerVo
data
=
mongoTemplate
.
insert
(
ticketPartnerVo
,
TicketPartnerVo
.
class
.
getSimpleName
()
);
...
...
@@ -167,13 +179,17 @@ public class KylinTicketsPartnerServiceImpl extends ServiceImpl<KylinTicketsMapp
TicketPartnerVo
ticketPartnerVo
=
new
TicketPartnerVo
();
BeanUtils
.
copyProperties
(
ticketCreateParam
,
ticketPartnerVo
);
ticketPartnerVo
.
setUpdatedAt
(
updatedAt
.
format
(
DateTimeFormatter
.
ofPattern
(
"yyyy-MM-dd HH:mm:ss"
)));
ticketPartnerVo
.
setTimeEndExpress
(
ticketCreateParam
.
getTimeEndExpress
().
format
(
DateTimeFormatter
.
ofPattern
(
"yyyy-MM-dd HH:mm:ss"
)));
ticketPartnerVo
.
setTimeStart
(
ticketCreateParam
.
getTimeStart
().
format
(
DateTimeFormatter
.
ofPattern
(
"yyyy-MM-dd HH:mm:ss"
)));
ticketPartnerVo
.
setTimeEnd
(
ticketCreateParam
.
getTimeEnd
().
format
(
DateTimeFormatter
.
ofPattern
(
"yyyy-MM-dd HH:mm:ss"
)));
ticketPartnerVo
.
setQrCodeShowTime
(
ticketCreateParam
.
getQrCodeShowTime
().
format
(
DateTimeFormatter
.
ofPattern
(
"yyyy-MM-dd HH:mm:ss"
)));
ticketPartnerVo
.
setTimesId
(
null
);
ticketPartnerVo
.
setStatus
(
null
);
ticketPartnerVo
.
setDefault
();
if
(
ticketCreateParam
.
getIsExpress
()
==
1
)
{
ticketPartnerVo
.
setTimeEndExpress
(
ticketCreateParam
.
getTimeEndExpress
().
format
(
DateTimeFormatter
.
ofPattern
(
"yyyy-MM-dd HH:mm:ss"
)));
}
if
(
ticketCreateParam
.
getIsShowCode
()
==
1
)
{
ticketPartnerVo
.
setQrCodeShowTime
(
ticketCreateParam
.
getQrCodeShowTime
().
format
(
DateTimeFormatter
.
ofPattern
(
"yyyy-MM-dd HH:mm:ss"
)));
}
BasicDBObject
object
=
new
BasicDBObject
(
"$set"
,
mongoConverter
.
convertToMongoType
(
ticketPartnerVo
));
Document
doc
=
mongoTemplate
.
getCollection
(
TicketPartnerVo
.
class
.
getSimpleName
()).
findOneAndUpdate
(
...
...
liquidnet-bus-service/liquidnet-service-kylin/liquidnet-service-kylin-impl/src/main/java/com/liquidnet/service/kylin/timerTask/PerformanceVoTask.java
View file @
58911f7d
...
...
@@ -137,7 +137,7 @@ public class PerformanceVoTask {
status10Count
+=
1
;
}
else
{
//库存判断
int
surplusGeneral
=
(
int
)
redisUtil
.
hget
(
KylinRedisConst
.
PERFORMANCES_INVENTORY
+
ticketVoItem
.
getTicketsId
(),
KylinRedisConst
.
SURPLUS_GENERAL
);
int
surplusGeneral
=
(
int
)
redisUtil
.
hget
(
KylinRedisConst
.
PERFORMANCES_INVENTORY
+
ticketVoItem
.
getTicketsId
(),
KylinRedisConst
.
SURPLUS_GENERAL
);
if
(
surplusGeneral
>
0
)
{
status
=
6
;
...
...
@@ -274,14 +274,13 @@ public class PerformanceVoTask {
performanceMisVo
.
setSyncAgent
(
performanceStatus
.
getSyncAgent
());
boolean
exists
=
mongoTemplate
.
exists
(
Query
.
query
(
Criteria
.
where
(
"performancesId"
).
is
(
performancesId
)),
PerformanceMisVo
.
class
,
PerformanceMisVo
.
class
.
getSimpleName
());
if
(!
exists
)
{
mongoTemplate
.
insert
(
performanceMisVo
,
PerformanceMisVo
.
class
.
getSimpleName
()
);
}
else
{
}
else
{
BasicDBObject
object
=
new
BasicDBObject
(
"$set"
,
mongoConverter
.
convertToMongoType
(
performanceMisVo
));
mongoTemplate
.
getCollection
(
PerformanceMisVo
.
class
.
getSimpleName
()).
updateOne
(
Query
.
query
(
Criteria
.
where
(
"performancesId"
).
is
(
performancesId
)).
getQueryObject
(),
...
...
@@ -321,6 +320,8 @@ public class PerformanceVoTask {
performanceStatus
.
setAuditStatus
(
0
);
performanceStatus
.
setUpdatedAt
(
updatedAt
);
performanceStatus
.
setLimitCountMember
(
1
);
performanceRelations
.
setPerformanceId
(
performances
.
getPerformancesId
());
performanceRelations
.
setPerformanceRelationsId
(
IDGenerator
.
nextSnowId
().
toString
());
performanceRelations
.
setCreatedAt
(
performances
.
getCreatedAt
());
...
...
@@ -388,6 +389,9 @@ public class PerformanceVoTask {
ticketStatus
.
setTicketId
(
tickets
.
getTicketsId
());
ticketStatus
.
setCounts
(
1
);
ticketStatus
.
setIsMember
(
1
);
ticketStatus
.
setIsExclusive
(
0
);
ticketStatus
.
setIsTrueName
(
performanceStatus
.
getIsTrueName
());
ticketStatus
.
setMemberLimitCount
(
1
);
ticketStatus
.
setStatusExchange
(
7
);
ticketStatus
.
setQrCodeShowTime
(
DateUtil
.
asLocalDateTime
(
new
SimpleDateFormat
(
"yyyy-MM-dd HH:mm:ss"
).
parse
(
ticketItem
.
getQrCodeShowTime
())));
...
...
@@ -405,7 +409,7 @@ public class PerformanceVoTask {
}
}
}
catch
(
Exception
e
)
{
e
.
printStackTrace
();
}
}
...
...
@@ -443,9 +447,9 @@ public class PerformanceVoTask {
performanceRelations
.
setCreatedAt
(
null
);
performanceRelations
.
setUpdatedAt
(
updatedAt
);
performancesMapper
.
update
(
performances
,
new
UpdateWrapper
<
KylinPerformances
>().
eq
(
"performances_id"
,
performances
.
getPerformancesId
()));
performanceStatusMapper
.
update
(
performanceStatus
,
new
UpdateWrapper
<
KylinPerformanceStatus
>().
eq
(
"performance_id"
,
performances
.
getPerformancesId
()));
performanceRelationsMapper
.
update
(
performanceRelations
,
new
UpdateWrapper
<
KylinPerformanceRelations
>().
eq
(
"performance_id"
,
performances
.
getPerformancesId
()));
performancesMapper
.
update
(
performances
,
new
UpdateWrapper
<
KylinPerformances
>().
eq
(
"performances_id"
,
performances
.
getPerformancesId
()));
performanceStatusMapper
.
update
(
performanceStatus
,
new
UpdateWrapper
<
KylinPerformanceStatus
>().
eq
(
"performance_id"
,
performances
.
getPerformancesId
()));
performanceRelationsMapper
.
update
(
performanceRelations
,
new
UpdateWrapper
<
KylinPerformanceRelations
>().
eq
(
"performance_id"
,
performances
.
getPerformancesId
()));
//场次数据
...
...
@@ -468,13 +472,13 @@ public class PerformanceVoTask {
ticketTimeRelation
.
setCreatedAt
(
null
);
ticketTimeRelation
.
setUpdatedAt
(
updatedAt
);
ticketTimesMapper
.
update
(
ticketTimes
,
new
UpdateWrapper
<
KylinTicketTimes
>().
eq
(
"ticket_times_id"
,
ticketTimes
.
getTicketTimesId
()));
ticketTimeRelationMapper
.
update
(
ticketTimeRelation
,
new
UpdateWrapper
<
KylinTicketTimeRelation
>().
eq
(
"ticket_time_id"
,
ticketTimes
.
getTicketTimesId
()));
ticketTimesMapper
.
update
(
ticketTimes
,
new
UpdateWrapper
<
KylinTicketTimes
>().
eq
(
"ticket_times_id"
,
ticketTimes
.
getTicketTimesId
()));
ticketTimeRelationMapper
.
update
(
ticketTimeRelation
,
new
UpdateWrapper
<
KylinTicketTimeRelation
>().
eq
(
"ticket_time_id"
,
ticketTimes
.
getTicketTimesId
()));
//修改票
for
(
TicketPartnerVo
ticketItem
:
ticketsPartnerService
.
getTicketMongoList
(
ticketTimeItem
.
getTicketTimesId
()))
{
TicketPartnerVo
ticketPartnerVo
;
if
(
ticketItem
.
getStatus
()!=
7
)
{
if
(
ticketItem
.
getStatus
()
!=
7
)
{
BasicDBObject
objectTicketVo
=
new
BasicDBObject
(
"$set"
,
mongoConverter
.
convertToMongoType
(
map
));
Document
docTicket
=
mongoTemplate
.
getCollection
(
TicketPartnerVo
.
class
.
getSimpleName
()).
findOneAndUpdate
(
Query
.
query
(
Criteria
.
where
(
"ticketsId"
).
is
(
ticketItem
.
getTicketsId
())).
getQueryObject
(),
...
...
@@ -482,7 +486,7 @@ public class PerformanceVoTask {
new
FindOneAndUpdateOptions
().
returnDocument
(
ReturnDocument
.
AFTER
)
);
ticketPartnerVo
=
JsonUtils
.
fromJson
(
docTicket
.
toJson
(),
TicketPartnerVo
.
class
);
}
else
{
}
else
{
ticketPartnerVo
=
mongoTemplate
.
findOne
(
Query
.
query
(
Criteria
.
where
(
"ticketsId"
).
is
(
ticketItem
.
getTicketsId
())),
TicketPartnerVo
.
class
,
...
...
@@ -531,9 +535,9 @@ public class PerformanceVoTask {
ticketRelations
.
setCreatedAt
(
null
);
ticketRelations
.
setUpdatedAt
(
updatedAt
);
ticketsMapper
.
update
(
tickets
,
new
UpdateWrapper
<
KylinTickets
>().
eq
(
"tickets_id"
,
tickets
.
getTicketsId
()));
ticketStatusMapper
.
update
(
ticketStatus
,
new
UpdateWrapper
<
KylinTicketStatus
>().
eq
(
"tickets_id"
,
tickets
.
getTicketsId
()));
ticketRelationsMapper
.
update
(
ticketRelations
,
new
UpdateWrapper
<
KylinTicketRelations
>().
eq
(
"tickets_id"
,
tickets
.
getTicketsId
()));
ticketsMapper
.
update
(
tickets
,
new
UpdateWrapper
<
KylinTickets
>().
eq
(
"tickets_id"
,
tickets
.
getTicketsId
()));
ticketStatusMapper
.
update
(
ticketStatus
,
new
UpdateWrapper
<
KylinTicketStatus
>().
eq
(
"tickets_id"
,
tickets
.
getTicketsId
()));
ticketRelationsMapper
.
update
(
ticketRelations
,
new
UpdateWrapper
<
KylinTicketRelations
>().
eq
(
"tickets_id"
,
tickets
.
getTicketsId
()));
}
}
}
catch
(
Exception
e
)
{
...
...
liquidnet-bus-service/pom.xml
View file @
58911f7d
...
...
@@ -233,6 +233,17 @@
<artifactId>
dynamic-datasource-spring-boot-starter
</artifactId>
<version>
2.5.3
</version>
</dependency>
<dependency>
<groupId>
com.aliyun
</groupId>
<artifactId>
aliyun-java-sdk-core
</artifactId>
<version>
4.5.2
</version>
</dependency>
<dependency>
<groupId>
com.aliyun
</groupId>
<artifactId>
aliyun-java-sdk-dypnsapi
</artifactId>
<version>
1.1.3
</version>
</dependency>
</dependencies>
</dependencyManagement>
...
...
liquidnet-bus-support/liquidnet-support-config/src/main/resources/application-dev.yml
View file @
58911f7d
...
...
@@ -11,14 +11,16 @@ liquidnet:
path
:
./logs
name
:
support-config
eureka
:
host
:
127.0.0.1:7001
# host: 127.0.0.1:7001
host
:
172.17.205.50:7001
rabbitmq
:
host
:
127.0.0.1
port
:
5672
username
:
admin
password
:
admin
config
:
location
:
/Users/color/company_project/java/liquidnet-bus-v1-1/liquidnet-bus-config/liquidnet-config
# location: /Users/color/company_project/java/liquidnet-bus-v1-1/liquidnet-bus-config/liquidnet-config
location
:
/app/support-config
# end-dev-这里是配置信息基本值
spring
:
...
...
liquidnet-bus-support/liquidnet-support-zuul/src/main/java/com/liquidnet/support/zuul/config/CorsConfig.java
0 → 100644
View file @
58911f7d
package
com
.
liquidnet
.
support
.
zuul
.
config
;
import
org.springframework.context.annotation.Bean
;
import
org.springframework.context.annotation.Configuration
;
import
org.springframework.web.cors.CorsConfiguration
;
import
org.springframework.web.cors.UrlBasedCorsConfigurationSource
;
import
org.springframework.web.filter.CorsFilter
;
@Configuration
public
class
CorsConfig
{
private
CorsConfiguration
buildConfig
()
{
CorsConfiguration
corsConfiguration
=
new
CorsConfiguration
();
// 可以自行筛选
corsConfiguration
.
addAllowedOrigin
(
"*"
);
corsConfiguration
.
addAllowedHeader
(
"*"
);
corsConfiguration
.
addAllowedMethod
(
"*"
);
return
corsConfiguration
;
}
@Bean
public
CorsFilter
corsFilter
()
{
UrlBasedCorsConfigurationSource
source
=
new
UrlBasedCorsConfigurationSource
();
source
.
registerCorsConfiguration
(
"/**"
,
buildConfig
());
return
new
CorsFilter
(
source
);
}
}
liquidnet-bus-support/liquidnet-support-zuul/src/main/java/com/liquidnet/support/zuul/filter/GlobalAuthFilter.java
0 → 100644
View file @
58911f7d
package
com
.
liquidnet
.
support
.
zuul
.
filter
;
import
com.liquidnet.commons.lang.util.JsonUtils
;
import
com.liquidnet.commons.lang.core.JwtValidator
;
import
com.liquidnet.service.ResponseDto
;
import
com.netflix.zuul.ZuulFilter
;
import
com.netflix.zuul.context.RequestContext
;
import
io.jsonwebtoken.Claims
;
import
io.jsonwebtoken.ExpiredJwtException
;
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.Component
;
import
javax.servlet.http.HttpServletRequest
;
import
javax.servlet.http.HttpServletResponse
;
import
java.nio.charset.StandardCharsets
;
import
java.util.List
;
@Slf4j
@Component
public
class
GlobalAuthFilter
extends
ZuulFilter
{
@Value
(
"#{'${global.exclude.url}'.split(', ')}"
)
private
List
<
String
>
excludeUrls
;
@Autowired
JwtValidator
jwtValidator
;
@Override
public
String
filterType
()
{
return
"pre"
;
}
@Override
public
int
filterOrder
()
{
return
2
;
}
@Override
public
boolean
shouldFilter
()
{
RequestContext
ctx
=
RequestContext
.
getCurrentContext
();
String
requestURI
=
ctx
.
getRequest
().
getRequestURI
();
// return !excludeUrls.contains(requestURI);
return
false
;
}
@Override
public
Object
run
()
{
RequestContext
requestContext
=
RequestContext
.
getCurrentContext
();
HttpServletRequest
httpServletRequest
=
requestContext
.
getRequest
();
String
token
=
httpServletRequest
.
getHeader
(
"authorization"
);
Claims
claims
;
try
{
log
.
info
(
"token:{}"
,
token
);
if
(
StringUtils
.
isBlank
(
token
))
{
requestContext
.
setSendZuulResponse
(
false
);
ResponseDto
<
Object
>
responseDto
=
ResponseDto
.
failure
(
"401"
,
"非法TOKEN"
);
requestContext
.
setResponseBody
(
JsonUtils
.
toJson
(
responseDto
));
HttpServletResponse
response
=
requestContext
.
getResponse
();
response
.
setCharacterEncoding
(
StandardCharsets
.
UTF_8
.
name
());
response
.
setContentType
(
"application/json;charset=utf-8"
);
}
else
{
token
=
token
.
replace
(
"Bearer "
,
""
);
// 解析没有异常则表示token验证通过,如有必要可根据自身需求增加验证逻辑
claims
=
jwtValidator
.
parse
(
token
);
log
.
info
(
"claims:{}"
,
JsonUtils
.
toJson
(
claims
));
// claims = jwtUtil.parseJwtToken(token);
// 对请求进行路由
requestContext
.
setSendZuulResponse
(
true
);
// 请求头加入uid,传给具体的微服务
requestContext
.
addZuulRequestHeader
(
"uid"
,
claims
.
get
(
"uid"
).
toString
());
}
}
catch
(
ExpiredJwtException
expiredJwtEx
)
{
log
.
error
(
"TOKEN已过期:{}"
,
token
);
// 不对请求进行路由
requestContext
.
setSendZuulResponse
(
false
);
ResponseDto
<
Object
>
responseDto
=
ResponseDto
.
failure
(
"402"
,
"TOKEN已过期"
);
requestContext
.
setResponseBody
(
JsonUtils
.
toJson
(
responseDto
));
HttpServletResponse
response
=
requestContext
.
getResponse
();
response
.
setCharacterEncoding
(
StandardCharsets
.
UTF_8
.
name
());
response
.
setContentType
(
"application/json;charset=utf-8"
);
}
catch
(
Exception
ex
)
{
log
.
error
(
"TOKEN验证失败:{}"
,
token
);
// 不对请求进行路由
requestContext
.
setSendZuulResponse
(
false
);
ResponseDto
<
Object
>
responseDto
=
ResponseDto
.
failure
(
"401"
,
"非法TOKEN"
);
requestContext
.
setResponseBody
(
JsonUtils
.
toJson
(
responseDto
));
HttpServletResponse
response
=
requestContext
.
getResponse
();
response
.
setCharacterEncoding
(
StandardCharsets
.
UTF_8
.
name
());
response
.
setContentType
(
"application/json;charset=utf-8"
);
}
return
null
;
}
}
liquidnet-bus-support/liquidnet-support-zuul/src/main/java/com/liquidnet/support/zuul/filter/GlobalLoginFilter.java
0 → 100644
View file @
58911f7d
package
com
.
liquidnet
.
support
.
zuul
.
filter
;
import
com.liquidnet.commons.lang.util.JsonUtils
;
import
com.liquidnet.service.ResponseDto
;
import
com.liquidnet.service.adam.dto.AdamThirdPartParam
;
import
com.liquidnet.service.adam.dto.vo.AdamLoginInfoVo
;
import
com.liquidnet.service.feign.adam.api.FeignAdamLoginClient
;
import
com.liquidnet.support.zuul.util.PathMatchUtil
;
import
com.netflix.zuul.ZuulFilter
;
import
com.netflix.zuul.context.RequestContext
;
import
lombok.extern.slf4j.Slf4j
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.beans.factory.annotation.Value
;
import
org.springframework.stereotype.Component
;
import
javax.servlet.http.HttpServletRequest
;
import
java.io.IOException
;
import
java.util.List
;
import
java.util.stream.Collectors
;
@Slf4j
@Component
public
class
GlobalLoginFilter
extends
ZuulFilter
{
@Value
(
"#{'${global.login.url}'.split(', ')}"
)
private
List
<
String
>
loginUrls
;
@Autowired
FeignAdamLoginClient
feignAdamLoginClient
;
@Override
public
String
filterType
()
{
return
"pre"
;
}
@Override
public
int
filterOrder
()
{
return
1
;
}
@Override
public
boolean
shouldFilter
()
{
RequestContext
ctx
=
RequestContext
.
getCurrentContext
();
String
requestURI
=
ctx
.
getRequest
().
getRequestURI
();
// for (String url : loginUrls) {
// if (PathMatchUtil.isPathMatch(url, requestURI)) {
// return true;
// }
// }
return
false
;
}
@Override
public
Object
run
()
{
RequestContext
requestContext
=
RequestContext
.
getCurrentContext
();
HttpServletRequest
servletRequest
=
requestContext
.
getRequest
();
// String token = servletRequest.getHeader("authorization");
// if (StringUtils.isNotBlank(token)) {
// requestContext.addZuulResponseHeader("authorization", token);
// }
ResponseDto
<
AdamLoginInfoVo
>
responseDto
=
null
;
switch
(
servletRequest
.
getRequestURI
())
{
case
"/adam/login/sms"
:
responseDto
=
feignAdamLoginClient
.
loginBySms
(
servletRequest
.
getParameter
(
"mobile"
),
servletRequest
.
getParameter
(
"code"
));
break
;
case
"/adam/login/mobile"
:
responseDto
=
feignAdamLoginClient
.
loginByMobile
(
servletRequest
.
getParameter
(
"accessToken"
));
break
;
case
"/adam/login/tpa"
:
String
body
=
null
;
try
{
body
=
servletRequest
.
getReader
().
lines
().
collect
(
Collectors
.
joining
(
System
.
lineSeparator
()));
}
catch
(
IOException
e
)
{
log
.
error
(
"reader request body exception"
,
e
);
}
responseDto
=
feignAdamLoginClient
.
loginByTpa
(
JsonUtils
.
fromJson
(
body
,
AdamThirdPartParam
.
class
));
break
;
default
:
log
.
warn
(
"###无效的登录链接:{}"
,
servletRequest
.
getRequestURI
());
break
;
}
log
.
debug
(
"login request result:{}"
,
JsonUtils
.
toJson
(
responseDto
));
return
null
;
}
}
liquidnet-bus-support/liquidnet-support-zuul/src/main/resources/bootstrap-dev.yml
View file @
58911f7d
...
...
@@ -6,7 +6,8 @@ liquidnet:
username
:
user
password
:
user123
eureka
:
host
:
127.0.0.1:7001
#host: 127.0.0.1:7001
host
:
172.17.205.50:7001
# end-dev-这里是配置信息基本值
spring
:
...
...
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