记得上下班打卡 | 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
4110704e
Commit
4110704e
authored
Jun 30, 2021
by
胡佳晨
Browse files
Options
Browse Files
Download
Plain Diff
Merge remote-tracking branch 'origin/dev' into dev
parents
833e2f63
5d21969e
Changes
6
Hide whitespace changes
Inline
Side-by-side
Showing
6 changed files
with
85 additions
and
81 deletions
+85
-81
KylinRedisConst.java
...com/liquidnet/service/kylin/constant/KylinRedisConst.java
+1
-0
KylinOrderExpressRouteVo.java
...ervice/kylin/dto/vo/express/KylinOrderExpressRouteVo.java
+43
-0
PerformancesExpressCallbackController.java
...press/shunfeng/PerformancesExpressCallbackController.java
+17
-0
PerformancesExpressCallbackServiceImpl.java
...ress/shunfeng/PerformancesExpressCallbackServiceImpl.java
+21
-0
ShunfengSignUtils.java
...m/liquidnet/service/platform/utils/ShunfengSignUtils.java
+0
-81
errors.properties
...ervice-platform-impl/src/main/resources/errors.properties
+3
-0
No files found.
liquidnet-bus-api/liquidnet-service-kylin-api/src/main/java/com/liquidnet/service/kylin/constant/KylinRedisConst.java
View file @
4110704e
...
@@ -18,6 +18,7 @@ public class KylinRedisConst {
...
@@ -18,6 +18,7 @@ public class KylinRedisConst {
public
static
final
String
SURPLUS_EXCHANGE
=
"surplusExchange"
;
public
static
final
String
SURPLUS_EXCHANGE
=
"surplusExchange"
;
public
static
final
String
TICKET
=
"kylin:ticket:id:"
;
public
static
final
String
TICKET
=
"kylin:ticket:id:"
;
public
static
final
String
ORDER
=
"kylin:order:id:"
;
public
static
final
String
ORDER
=
"kylin:order:id:"
;
public
static
final
String
ORDER_ROUTE_INFO
=
"kylin::order:route_info:id:"
;
public
static
final
String
ORDER_ENTITIES
=
"kylin:order_entities:id:"
;
public
static
final
String
ORDER_ENTITIES
=
"kylin:order_entities:id:"
;
public
static
final
String
TIMES
=
"kylin:times:id:"
;
public
static
final
String
TIMES
=
"kylin:times:id:"
;
public
static
final
String
AGENT
=
"kylin:agent:info"
;
public
static
final
String
AGENT
=
"kylin:agent:info"
;
...
...
liquidnet-bus-api/liquidnet-service-kylin-api/src/main/java/com/liquidnet/service/kylin/dto/vo/express/KylinOrderExpressRouteVo.java
0 → 100644
View file @
4110704e
package
com
.
liquidnet
.
service
.
kylin
.
dto
.
vo
.
express
;
import
io.swagger.annotations.ApiModel
;
import
io.swagger.annotations.ApiModelProperty
;
import
lombok.Data
;
import
java.io.Serializable
;
/**
* <p>
* 快递路由信息
* </p>
*
* @author jiangxiulong
* @since 2021-06-30
*/
@Data
@ApiModel
public
class
KylinOrderExpressRouteVo
implements
Serializable
{
@ApiModelProperty
(
value
=
"orderExpressRouteId"
)
private
String
orderExpressRouteId
;
@ApiModelProperty
(
value
=
"orderExpressId"
)
private
String
orderExpressId
;
@ApiModelProperty
(
value
=
"路由节点发生的城市"
)
private
String
acceptAddress
;
@ApiModelProperty
(
value
=
"YYYY-MM-DD"
)
private
String
acceptDate
;
@ApiModelProperty
(
value
=
"HH24:MM:SS"
)
private
String
acceptTime
;
@ApiModelProperty
(
value
=
"YYYY-MM-DD HH24:MM:SS"
)
private
String
acceptTotaltime
;
@ApiModelProperty
(
value
=
"路由节点具体描述"
)
private
String
remark
;
@ApiModelProperty
(
value
=
"路由节点操作码"
)
private
String
opcode
;
@ApiModelProperty
(
value
=
"createdAt"
)
private
String
createdAt
;
@ApiModelProperty
(
value
=
"updatedAt"
)
private
String
updatedAt
;
}
liquidnet-bus-service/liquidnet-service-platform/liquidnet-service-platform-impl/src/main/java/com/liquidnet/service/platform/controller/express/shunfeng/PerformancesExpressCallbackController.java
View file @
4110704e
package
com
.
liquidnet
.
service
.
platform
.
controller
.
express
.
shunfeng
;
package
com
.
liquidnet
.
service
.
platform
.
controller
.
express
.
shunfeng
;
import
com.liquidnet.service.base.ErrorMapping
;
import
com.liquidnet.service.base.ResponseDto
;
import
com.liquidnet.service.kylin.dto.param.PerformanceExpressPushFreightParam
;
import
com.liquidnet.service.kylin.dto.param.PerformanceExpressPushFreightParam
;
import
com.liquidnet.service.kylin.dto.param.PerformanceExpressPushRouteParam
;
import
com.liquidnet.service.kylin.dto.param.PerformanceExpressPushRouteParam
;
import
com.liquidnet.service.kylin.dto.param.PerformanceExpressPushStatusParam
;
import
com.liquidnet.service.kylin.dto.param.PerformanceExpressPushStatusParam
;
import
com.liquidnet.service.kylin.dto.vo.express.KylinOrderExpressRouteVo
;
import
com.liquidnet.service.platform.service.express.shunfeng.PerformancesExpressCallbackServiceImpl
;
import
com.liquidnet.service.platform.service.express.shunfeng.PerformancesExpressCallbackServiceImpl
;
import
io.swagger.annotations.Api
;
import
io.swagger.annotations.Api
;
import
io.swagger.annotations.ApiImplicitParam
;
import
io.swagger.annotations.ApiOperation
;
import
io.swagger.annotations.ApiOperation
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.web.bind.annotation.*
;
import
org.springframework.web.bind.annotation.*
;
import
java.util.HashMap
;
import
java.util.HashMap
;
import
java.util.List
;
/**
/**
* <p>
* <p>
...
@@ -67,4 +72,16 @@ public class PerformancesExpressCallbackController {
...
@@ -67,4 +72,16 @@ public class PerformancesExpressCallbackController {
return
objectObjectHashMap
;
return
objectObjectHashMap
;
}
}
@GetMapping
(
"orderRoute/{orderTicketsId}"
)
@ApiOperation
(
"获取物流信息"
)
@ApiImplicitParam
(
name
=
"orderTicketsId"
,
value
=
"订单ID"
,
required
=
true
,
dataType
=
"String"
,
paramType
=
"path"
)
public
ResponseDto
<
List
<
KylinOrderExpressRouteVo
>>
orderRouteDetail
(
@PathVariable
()
String
orderTicketsId
)
{
List
<
KylinOrderExpressRouteVo
>
routeVoList
=
performancesExpressServiceImpl
.
orderRouteDetail
(
orderTicketsId
);
if
(
null
!=
routeVoList
)
{
return
ResponseDto
.
success
(
routeVoList
);
}
else
{
return
ResponseDto
.
failure
(
ErrorMapping
.
get
(
"20800"
));
}
}
}
}
liquidnet-bus-service/liquidnet-service-platform/liquidnet-service-platform-impl/src/main/java/com/liquidnet/service/platform/service/express/shunfeng/PerformancesExpressCallbackServiceImpl.java
View file @
4110704e
package
com
.
liquidnet
.
service
.
platform
.
service
.
express
.
shunfeng
;
package
com
.
liquidnet
.
service
.
platform
.
service
.
express
.
shunfeng
;
import
com.baomidou.mybatisplus.extension.service.impl.ServiceImpl
;
import
com.baomidou.mybatisplus.extension.service.impl.ServiceImpl
;
import
com.liquidnet.common.cache.redis.util.RedisUtil
;
import
com.liquidnet.commons.lang.util.*
;
import
com.liquidnet.commons.lang.util.*
;
import
com.liquidnet.service.kylin.constant.KylinRedisConst
;
import
com.liquidnet.service.kylin.dto.param.*
;
import
com.liquidnet.service.kylin.dto.param.*
;
import
com.liquidnet.service.kylin.dto.vo.express.KylinOrderExpressRouteVo
;
import
com.liquidnet.service.kylin.dto.vo.mongo.KylinPerformanceVo
;
import
com.liquidnet.service.kylin.entity.*
;
import
com.liquidnet.service.kylin.entity.*
;
import
com.liquidnet.service.kylin.mapper.*
;
import
com.liquidnet.service.kylin.mapper.*
;
import
com.liquidnet.service.kylin.service.IKylinOrderExpress
;
import
com.liquidnet.service.kylin.service.IKylinOrderExpress
;
...
@@ -10,12 +14,16 @@ import com.liquidnet.service.platform.utils.ShunfengSignUtils;
...
@@ -10,12 +14,16 @@ import com.liquidnet.service.platform.utils.ShunfengSignUtils;
import
lombok.extern.slf4j.Slf4j
;
import
lombok.extern.slf4j.Slf4j
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.beans.factory.annotation.Value
;
import
org.springframework.beans.factory.annotation.Value
;
import
org.springframework.data.domain.Sort
;
import
org.springframework.data.mongodb.core.MongoTemplate
;
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
org.springframework.stereotype.Service
;
import
javax.servlet.http.HttpServletRequest
;
import
javax.servlet.http.HttpServletRequest
;
import
java.util.Enumeration
;
import
java.util.Enumeration
;
import
java.util.List
;
import
java.util.List
;
import
java.util.regex.Pattern
;
/**
/**
* <p>
* <p>
...
@@ -66,6 +74,9 @@ public class PerformancesExpressCallbackServiceImpl extends ServiceImpl<KylinOrd
...
@@ -66,6 +74,9 @@ public class PerformancesExpressCallbackServiceImpl extends ServiceImpl<KylinOrd
@Autowired
@Autowired
HttpServletRequest
httpServletRequest
;
HttpServletRequest
httpServletRequest
;
@Autowired
private
RedisUtil
redisUtil
;
public
boolean
orderStatus
(
PerformanceExpressPushStatusParam
performanceExpressPushStatusParam
)
{
public
boolean
orderStatus
(
PerformanceExpressPushStatusParam
performanceExpressPushStatusParam
)
{
boolean
res
=
shunfengSignUtils
.
receiveRequestAndCheckSign
(
JsonUtils
.
toJson
(
performanceExpressPushStatusParam
),
httpServletRequest
);
boolean
res
=
shunfengSignUtils
.
receiveRequestAndCheckSign
(
JsonUtils
.
toJson
(
performanceExpressPushStatusParam
),
httpServletRequest
);
...
@@ -135,4 +146,14 @@ public class PerformancesExpressCallbackServiceImpl extends ServiceImpl<KylinOrd
...
@@ -135,4 +146,14 @@ public class PerformancesExpressCallbackServiceImpl extends ServiceImpl<KylinOrd
return
false
;
return
false
;
}
}
public
List
<
KylinOrderExpressRouteVo
>
orderRouteDetail
(
String
orderTicketsId
)
{
String
redisKey
=
KylinRedisConst
.
ORDER_ROUTE_INFO
.
concat
(
orderTicketsId
);
if
(!
redisUtil
.
hasKey
(
redisKey
))
{
Query
query
=
new
Query
();
query
.
addCriteria
(
Criteria
.
where
(
"orderTicketsId"
).
is
(
orderTicketsId
));
List
<
KylinOrderExpressRouteVo
>
routeList
=
mongoTemplate
.
find
(
query
,
KylinOrderExpressRouteVo
.
class
,
KylinOrderExpressRouteVo
.
class
.
getSimpleName
());
redisUtil
.
set
(
redisKey
,
routeList
);
}
return
(
List
<
KylinOrderExpressRouteVo
>)
redisUtil
.
get
(
redisKey
);
}
}
}
\ No newline at end of file
liquidnet-bus-service/liquidnet-service-platform/liquidnet-service-platform-impl/src/main/java/com/liquidnet/service/platform/utils/ShunfengSignUtils.java
View file @
4110704e
package
com
.
liquidnet
.
service
.
platform
.
utils
;
package
com
.
liquidnet
.
service
.
platform
.
utils
;
import
com.liquidnet.commons.lang.util.JsonUtils
;
import
com.liquidnet.service.base.UserPathDto
;
import
lombok.extern.slf4j.Slf4j
;
import
lombok.extern.slf4j.Slf4j
;
import
org.apache.commons.codec.binary.Base64
;
import
org.apache.commons.codec.binary.Base64
;
import
org.apache.commons.codec.digest.DigestUtils
;
import
org.apache.commons.codec.digest.DigestUtils
;
import
org.apache.commons.lang3.StringUtils
;
import
org.apache.commons.lang3.StringUtils
;
import
org.apache.http.HttpEntity
;
import
org.apache.http.client.methods.CloseableHttpResponse
;
import
org.apache.http.client.methods.HttpPost
;
import
org.apache.http.entity.StringEntity
;
import
org.apache.http.impl.client.CloseableHttpClient
;
import
org.apache.http.impl.client.HttpClients
;
import
org.apache.http.util.EntityUtils
;
import
org.springframework.beans.factory.annotation.Value
;
import
org.springframework.beans.factory.annotation.Value
;
import
org.springframework.stereotype.Component
;
import
org.springframework.stereotype.Component
;
import
javax.servlet.http.HttpServletRequest
;
import
javax.servlet.http.HttpServletRequest
;
import
java.io.IOException
;
import
java.util.HashMap
;
/**
/**
* <p>
* <p>
...
@@ -31,86 +20,16 @@ import java.util.HashMap;
...
@@ -31,86 +20,16 @@ import java.util.HashMap;
@Component
@Component
@Slf4j
@Slf4j
public
class
ShunfengSignUtils
{
public
class
ShunfengSignUtils
{
/**
* appId
*/
@Value
(
"${liquidnet.shunfeng.appid}"
)
private
String
APP_ID
;
/**
/**
* sk
* sk
*/
*/
@Value
(
"${liquidnet.shunfeng.sk}"
)
@Value
(
"${liquidnet.shunfeng.sk}"
)
private
String
SK
;
private
String
SK
;
/**
* url
*/
@Value
(
"${liquidnet.shunfeng.url}"
)
private
String
URL
;
/**
/**
* 签名有效期(可根据实际业务设定)单位:毫秒
* 签名有效期(可根据实际业务设定)单位:毫秒
*/
*/
private
final
static
Long
CHECK_TIME
=
600000L
;
private
final
static
Long
CHECK_TIME
=
600000L
;
/**
* 生成签名并请求
* @param hbody 请求body
* @return
*/
public
String
generateSignatureAndRequest
(
HashMap
<
String
,
Object
>
hbody
,
String
url
)
{
long
currentTimeMillis
=
System
.
currentTimeMillis
();
// 时间戳
String
timestamp
=
currentTimeMillis
+
""
;
hbody
.
put
(
"companyId"
,
APP_ID
);
String
body
=
JsonUtils
.
toJson
(
hbody
);
// 生成签名
String
sign
=
genSign
(
timestamp
,
body
);
CloseableHttpClient
client
=
HttpClients
.
createDefault
();
// 请求下单地址
HttpPost
httpPost
=
new
HttpPost
(
URL
+
url
);
// sendAppId(sendAppId需赋值appId)
httpPost
.
addHeader
(
"sendAppId"
,
APP_ID
);
// 时间戳需和获取验签时一致!!!
httpPost
.
addHeader
(
"timestamp"
,
timestamp
);
// 签名
httpPost
.
addHeader
(
"sign"
,
sign
);
httpPost
.
addHeader
(
"Content-Type"
,
"application/json;charset=utf-8"
);
httpPost
.
addHeader
(
"Accept"
,
"application/json"
);
// 请求body体需和获取验签时一致且编码UTF8!!!
httpPost
.
setEntity
(
new
StringEntity
(
body
,
"utf-8"
));
CloseableHttpResponse
response
=
null
;
log
.
info
(
UserPathDto
.
setData
(
"header"
,
""
,
httpPost
.
getAllHeaders
()));
log
.
info
(
UserPathDto
.
setData
(
"body"
,
""
,
body
));
try
{
response
=
client
.
execute
(
httpPost
);
if
(
response
.
getStatusLine
().
getStatusCode
()
==
200
)
{
System
.
out
.
println
(
"发送请求成功"
);
HttpEntity
entity
=
response
.
getEntity
();
// 发送响应且编码UTF8!!!
return
EntityUtils
.
toString
(
entity
,
"utf-8"
);
}
}
catch
(
Exception
e
)
{
System
.
out
.
println
(
"发送请求失败"
);
e
.
printStackTrace
();
}
finally
{
if
(
client
!=
null
)
{
try
{
client
.
close
();
}
catch
(
IOException
e
)
{
e
.
printStackTrace
();
}
}
if
(
response
!=
null
)
{
try
{
response
.
close
();
}
catch
(
IOException
e
)
{
e
.
printStackTrace
();
}
}
}
return
null
;
}
/**
/**
* 生成签名
* 生成签名
* @param timestamp 时间戳
* @param timestamp 时间戳
...
...
liquidnet-bus-service/liquidnet-service-platform/liquidnet-service-platform-impl/src/main/resources/errors.properties
View file @
4110704e
...
@@ -4,6 +4,9 @@
...
@@ -4,6 +4,9 @@
# ------------------------ 4开头错误码作系统保留
# ------------------------ 4开头错误码作系统保留
30000
=
请求频繁,稍后再试
30000
=
请求频繁,稍后再试
# 快递
20800
=
订单物流信息获取失败
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