记得上下班打卡 | 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
d81fbc12
Commit
d81fbc12
authored
Nov 23, 2021
by
sunyuntian
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
划卡调任务优化
parent
16ab3758
Changes
11
Hide whitespace changes
Inline
Side-by-side
Showing
11 changed files
with
301 additions
and
45 deletions
+301
-45
KylinRedisConst.java
...com/liquidnet/service/kylin/constant/KylinRedisConst.java
+2
-0
KylinFreightChargeDao.java
...om/liquidnet/service/kylin/dao/KylinFreightChargeDao.java
+32
-0
KylinFreightChargeMapper.java
...uidnet/service/kylin/mapper/KylinFreightChargeMapper.java
+3
-3
KylinFreightChargeMapper.xml
...quidnet.service.kylin.mapper/KylinFreightChargeMapper.xml
+9
-9
KylinGetShunFengPriceController.java
...ice/kylin/controller/KylinGetShunFengPriceController.java
+40
-0
KylinFreightChargeController.java
...atform/controller/kylin/KylinFreightChargeController.java
+3
-10
KylinFreightChargeServiceImpl.java
...orm/service/impl/kylin/KylinFreightChargeServiceImpl.java
+18
-11
HttpsUtils.java
...java/com/liquidnet/service/platform/utils/HttpsUtils.java
+141
-0
JSONUtils.java
.../java/com/liquidnet/service/platform/utils/JSONUtils.java
+8
-12
ShunfengSignUtils.java
...m/liquidnet/service/platform/utils/ShunfengSignUtils.java
+45
-0
city.json
...uidnet-service-platform-impl/src/main/resources/city.json
+0
-0
No files found.
liquidnet-bus-api/liquidnet-service-kylin-api/src/main/java/com/liquidnet/service/kylin/constant/KylinRedisConst.java
View file @
d81fbc12
...
...
@@ -64,4 +64,6 @@ public class KylinRedisConst {
public
static
final
String
ADMIN_BANNER_LIST
=
"kylin:bannerList"
;
public
static
final
String
RETURN_ADDRESS_CODE
=
"kylin:address:code"
;
//退货地址
public
static
final
String
EXPRESS_TYPE
=
"express:type"
;
//退货地址
}
liquidnet-bus-do/liquidnet-service-kylin-do/src/main/java/com/liquidnet/service/kylin/
entity/KylinFreightCharge
.java
→
liquidnet-bus-do/liquidnet-service-kylin-do/src/main/java/com/liquidnet/service/kylin/
dao/KylinFreightChargeDao
.java
View file @
d81fbc12
package
com
.
liquidnet
.
service
.
kylin
.
entity
;
package
com
.
liquidnet
.
service
.
kylin
.
dao
;
import
com.baomidou.mybatisplus.annotation.IdType
;
import
com.baomidou.mybatisplus.annotation.TableId
;
import
lombok.Data
;
import
lombok.EqualsAndHashCode
;
import
java.io.Serializable
;
@Data
public
class
KylinFreightCharge
{
public
class
KylinFreightCharge
Dao
implements
Serializable
{
@TableId
(
value
=
"mid"
,
type
=
IdType
.
AUTO
)
private
Integer
mid
;
private
String
name
;
//区县名
private
String
fieldsId
;
private
String
province
;
//省
private
String
city
;
//市
private
String
adname
;
//区县
private
String
adcode
;
//区县code
private
String
price
;
//价格
private
String
businessType
;
//快运参数
private
String
businessTypeDesc
;
//快运类型
}
private
static
final
KylinFreightChargeDao
obj
=
new
KylinFreightChargeDao
();
public
static
KylinFreightChargeDao
getNew
()
{
try
{
return
(
KylinFreightChargeDao
)
obj
.
clone
();
}
catch
(
CloneNotSupportedException
e
)
{
return
new
KylinFreightChargeDao
();
}
}
}
\ No newline at end of file
liquidnet-bus-do/liquidnet-service-kylin-do/src/main/java/com/liquidnet/service/kylin/mapper/KylinFreightChargeMapper.java
View file @
d81fbc12
package
com
.
liquidnet
.
service
.
kylin
.
mapper
;
import
com.baomidou.mybatisplus.core.mapper.BaseMapper
;
import
com.liquidnet.service.kylin.
entity.KylinFreightCharge
;
import
com.liquidnet.service.kylin.
dao.KylinFreightChargeDao
;
import
java.util.HashMap
;
public
interface
KylinFreightChargeMapper
{
public
interface
KylinFreightChargeMapper
extends
BaseMapper
<
KylinFreightChargeDao
>
{
int
setFreightCharge
(
KylinFreightCharge
kylinFreightCharge
);
int
setFreightCharge
(
KylinFreightCharge
Dao
kylinFreightCharge
);
}
liquidnet-bus-do/liquidnet-service-kylin-do/src/main/resources/com.liquidnet.service.kylin.mapper/KylinFreightChargeMapper.xml
View file @
d81fbc12
...
...
@@ -2,22 +2,22 @@
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper
namespace=
"com.liquidnet.service.kylin.mapper.KylinFreightChargeMapper"
>
<insert
id=
"setFreightCharge"
>
<insert
id=
"setFreightCharge"
parameterType=
"com.liquidnet.service.kylin.dao.KylinFreightChargeDao"
useGeneratedKeys=
"true"
keyProperty=
"mid"
>
insert into kylin_freight_charge(
<if
test=
"name != null and name != ''"
>
name,
</if>
<if
test=
"adcode != null and adcode != ''"
>
adcode,
</if>
<if
test=
"price != null and price != ''"
>
price,
</if>
<if
test=
"businessType != null and businessType != ''"
>
business_type,
</if>
<if
test=
"businessTypeDesc != null and businessTypeDesc != ''"
>
business_type_desc,
</if>
mid,fields_id,province,city,adname,adcode,price,business_type,business_type_desc
)values (
<if
test=
"name != null and name != ''"
>
#{name},
</if>
#{mid},
<if
test=
"fieldsId != null and fieldsId != ''"
>
#{fieldsId},
</if>
<if
test=
"province != null and province != ''"
>
#{province},
</if>
<if
test=
"city != null and city != ''"
>
#{city},
</if>
<if
test=
"adname != null and adname != ''"
>
#{adname},
</if>
<if
test=
"adcode != null and adcode != ''"
>
#{adcode},
</if>
<if
test=
"price != null and price != ''"
>
#{price},
</if>
<if
test=
"businessType != null and businessType != ''"
>
#{businessType},
</if>
<if
test=
"businessTypeDesc != null and businessTypeDesc != ''"
>
#{businessTypeDesc}
,
</if>
<if
test=
"businessTypeDesc != null and businessTypeDesc != ''"
>
#{businessTypeDesc}
</if>
)
</insert>
</mapper>
liquidnet-bus-service/liquidnet-service-kylin/liquidnet-service-kylin-impl/src/main/java/com/liquidnet/service/kylin/controller/KylinGetShunFengPriceController.java
0 → 100644
View file @
d81fbc12
package
com
.
liquidnet
.
service
.
kylin
.
controller
;
import
com.liquidnet.common.cache.redis.util.RedisDataSourceUtil
;
import
com.liquidnet.common.cache.redis.util.RedisUtil
;
import
com.liquidnet.service.kylin.constant.KylinRedisConst
;
import
com.liquidnet.service.kylin.dao.KylinFreightChargeDao
;
import
io.swagger.annotations.Api
;
import
io.swagger.annotations.ApiOperation
;
import
lombok.extern.slf4j.Slf4j
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.web.bind.annotation.GetMapping
;
import
org.springframework.web.bind.annotation.RequestMapping
;
import
org.springframework.web.bind.annotation.RestController
;
@Api
(
tags
=
"前端-获取快递价格"
)
@RestController
@RequestMapping
(
"getShunFengPrice"
)
@Slf4j
public
class
KylinGetShunFengPriceController
{
@Autowired
private
RedisDataSourceUtil
redisDataSourceUtil
;
@Autowired
private
RedisUtil
redisUtil
;
@GetMapping
(
"getPrice"
)
@ApiOperation
(
"运费查询"
)
public
String
getFreightCharge
(
String
adcode
,
String
expressType
){
Object
obj
=
redisUtil
.
get
(
KylinRedisConst
.
RETURN_ADDRESS_CODE
+
adcode
+
KylinRedisConst
.
EXPRESS_TYPE
+
expressType
);
if
(
obj
!=
null
){
KylinFreightChargeDao
k
=
(
KylinFreightChargeDao
)
obj
;
return
k
.
getPrice
();
}
else
{
return
null
;
}
}
}
liquidnet-bus-service/liquidnet-service-
kylin/liquidnet-service-kylin-impl/src/main/java/com/liquidnet/service/kylin/controller
/KylinFreightChargeController.java
→
liquidnet-bus-service/liquidnet-service-
platform/liquidnet-service-platform-impl/src/main/java/com/liquidnet/service/platform/controller/kylin
/KylinFreightChargeController.java
View file @
d81fbc12
package
com
.
liquidnet
.
service
.
kylin
.
controller
;
package
com
.
liquidnet
.
service
.
platform
.
controller
.
kylin
;
import
com.liquidnet.commons.lang.util.JsonUtils
;
import
com.liquidnet.service.kylin.service.impl.KylinFreightChargeServiceImpl
;
import
com.liquidnet.service.kylin.utils.ShunfengSignUtils
;
import
com.liquidnet.service.platform.service.impl.kylin.KylinFreightChargeServiceImpl
;
import
io.swagger.annotations.Api
;
import
io.swagger.annotations.ApiOperation
;
import
lombok.extern.slf4j.Slf4j
;
...
...
@@ -12,9 +8,6 @@ import org.springframework.beans.factory.annotation.Autowired;
import
org.springframework.web.bind.annotation.GetMapping
;
import
org.springframework.web.bind.annotation.RequestMapping
;
import
org.springframework.web.bind.annotation.RestController
;
import
java.util.HashMap
;
import
java.util.Map
;
@Api
(
tags
=
"运费"
)
@RestController
@RequestMapping
(
"freightCharge"
)
...
...
@@ -30,4 +23,4 @@ public class KylinFreightChargeController {
kylinFreightChargeService
.
getFreightCharge
();
}
}
}
\ No newline at end of file
liquidnet-bus-service/liquidnet-service-
kylin/liquidnet-service-kylin-impl/src/main/java/com/liquidnet/service/kylin/service/impl
/KylinFreightChargeServiceImpl.java
→
liquidnet-bus-service/liquidnet-service-
platform/liquidnet-service-platform-impl/src/main/java/com/liquidnet/service/platform/service/impl/kylin
/KylinFreightChargeServiceImpl.java
View file @
d81fbc12
package
com
.
liquidnet
.
service
.
kylin
.
service
.
impl
;
package
com
.
liquidnet
.
service
.
platform
.
service
.
impl
.
kylin
;
import
com.liquidnet.common.cache.redis.util.RedisDataSourceUtil
;
import
com.liquidnet.common.cache.redis.util.RedisUtil
;
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.
entity.KylinFreightCharge
;
import
com.liquidnet.service.kylin.
dao.KylinFreightChargeDao
;
import
com.liquidnet.service.kylin.mapper.KylinFreightChargeMapper
;
import
com.liquidnet.service.
kylin
.utils.ShunfengSignUtils
;
import
com.liquidnet.service.
platform
.utils.ShunfengSignUtils
;
import
lombok.extern.slf4j.Slf4j
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.stereotype.Service
;
...
...
@@ -20,15 +23,13 @@ import java.util.Map;
public
class
KylinFreightChargeServiceImpl
{
@Autowired
private
ShunfengSignUtils
shunfengSignUtils
;
@Autowired
private
RedisUtil
redisUtil
;
@Autowired
private
KylinFreightCharge
kylinFreightCharge
;
private
RedisDataSourceUtil
redisDataSourceUtil
;
@Autowired
private
KylinFreightChargeMapper
kylinFreightChargeMapper
;
// @Autowired
// private KylinRedisConst kylinRedisConst;
public
void
getFreightCharge
()
{
...
...
@@ -44,7 +45,8 @@ public class KylinFreightChargeServiceImpl {
hBody
.
put
(
"dProvince"
,
"北京市"
);
hBody
.
put
(
"dCity"
,
"北京"
);
hBody
.
put
(
"dAddress"
,
"东城区"
);
hBody
.
put
(
"expressType"
,
"2"
);
String
expressType
=
"1"
;
hBody
.
put
(
"expressType"
,
"1"
);
try
{
// 生成签名并请求
String
result
=
shunfengSignUtils
.
generateSignatureAndRequestNew
(
hBody
,
"/public/order/v1/getFreight"
);
...
...
@@ -52,15 +54,20 @@ public class KylinFreightChargeServiceImpl {
HashMap
<
String
,
String
>
map
=
(
HashMap
<
String
,
String
>)
hashMap
.
get
(
"result"
);
map
.
put
(
"address"
,
jProvince
+
":"
+
jCity
+
":"
+
jAddress
);
KylinFreightChargeDao
kylinFreightCharge
=
KylinFreightChargeDao
.
getNew
();
kylinFreightCharge
.
setFieldsId
(
IDGenerator
.
nextTimeId2
());
kylinFreightCharge
.
setProvince
(
jProvince
);
kylinFreightCharge
.
setCity
(
jCity
);
kylinFreightCharge
.
setAdname
(
jAddress
);
kylinFreightCharge
.
setPrice
(
map
.
get
(
"price"
));
kylinFreightCharge
.
setAdcode
(
addressCode
);
kylinFreightCharge
.
setBusinessType
(
map
.
get
(
"businessType"
));
kylinFreightCharge
.
setBusinessTypeDesc
(
map
.
get
(
"businessTypeDesc"
));
kylinFreightCharge
.
setName
(
jProvince
+
":"
+
jCity
+
":"
+
jAddress
);
//存数据库
int
i
=
kylinFreightChargeMapper
.
setFreightCharge
(
kylinFreightCharge
);
//存redis
//redisUtil.set(kylinRedisConst.RETURN_ADDRESS_CODE+addressCode,map
);
redisDataSourceUtil
.
getRedisKylinUtil
().
set
(
KylinRedisConst
.
RETURN_ADDRESS_CODE
+
addressCode
+
KylinRedisConst
.
EXPRESS_TYPE
+
expressType
,
kylinFreightCharge
);
}
catch
(
Exception
e
)
{
e
.
printStackTrace
();
log
.
error
(
"顺丰接口调用失败"
,
e
);
...
...
liquidnet-bus-service/liquidnet-service-platform/liquidnet-service-platform-impl/src/main/java/com/liquidnet/service/platform/utils/HttpsUtils.java
0 → 100644
View file @
d81fbc12
package
com
.
liquidnet
.
service
.
platform
.
utils
;
import
org.apache.http.*
;
import
org.apache.http.client.entity.UrlEncodedFormEntity
;
import
org.apache.http.client.methods.HttpPost
;
import
org.apache.http.config.Registry
;
import
org.apache.http.config.RegistryBuilder
;
import
org.apache.http.conn.socket.ConnectionSocketFactory
;
import
org.apache.http.conn.socket.PlainConnectionSocketFactory
;
import
org.apache.http.conn.ssl.NoopHostnameVerifier
;
import
org.apache.http.conn.ssl.SSLConnectionSocketFactory
;
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.message.BasicNameValuePair
;
import
org.apache.http.ssl.SSLContextBuilder
;
import
org.apache.http.util.EntityUtils
;
import
org.springframework.util.CollectionUtils
;
import
java.io.IOException
;
import
java.security.cert.CertificateException
;
import
java.security.cert.X509Certificate
;
import
java.util.ArrayList
;
import
java.util.List
;
import
java.util.Map
;
public
class
HttpsUtils
{
private
static
final
String
HTTP
=
"http"
;
private
static
final
String
HTTPS
=
"https"
;
private
static
SSLConnectionSocketFactory
sslsf
=
null
;
private
static
PoolingHttpClientConnectionManager
cm
=
null
;
private
static
SSLContextBuilder
builder
=
null
;
static
{
try
{
builder
=
new
SSLContextBuilder
();
// 全部信任 不做身份鉴定
builder
.
loadTrustMaterial
(
null
,
new
TrustStrategy
()
{
@Override
public
boolean
isTrusted
(
X509Certificate
[]
x509Certificates
,
String
s
)
throws
CertificateException
{
return
true
;
}
});
sslsf
=
new
SSLConnectionSocketFactory
(
builder
.
build
(),
new
String
[]{
"SSLv2Hello"
,
"SSLv3"
,
"TLSv1"
,
"TLSv1.2"
},
null
,
NoopHostnameVerifier
.
INSTANCE
);
Registry
<
ConnectionSocketFactory
>
registry
=
RegistryBuilder
.<
ConnectionSocketFactory
>
create
()
.
register
(
HTTP
,
new
PlainConnectionSocketFactory
())
.
register
(
HTTPS
,
sslsf
)
.
build
();
cm
=
new
PoolingHttpClientConnectionManager
(
registry
);
cm
.
setMaxTotal
(
200
);
//max connection
}
catch
(
Exception
e
)
{
e
.
printStackTrace
();
}
}
/**
* httpClient post请求
*
* @param url 请求url
* @param header 头部信息
* @param param 请求参数 form提交适用
* @param entity 请求实体 json/xml提交适用
* @return 可能为空 需要处理
* @throws Exception
*/
public
static
String
post
(
String
url
,
Map
<
String
,
String
>
header
,
Map
<
String
,
String
>
param
,
HttpEntity
entity
)
throws
Exception
{
String
result
=
""
;
CloseableHttpClient
httpClient
=
null
;
try
{
httpClient
=
getHttpClient
();
HttpPost
httpPost
=
new
HttpPost
(
url
);
// 设置头信息
if
(!
CollectionUtils
.
isEmpty
(
header
))
{
for
(
Map
.
Entry
<
String
,
String
>
entry
:
header
.
entrySet
())
{
httpPost
.
addHeader
(
entry
.
getKey
(),
entry
.
getValue
());
}
}
// 设置请求参数
if
(!
CollectionUtils
.
isEmpty
(
param
))
{
List
<
NameValuePair
>
formparams
=
new
ArrayList
<
NameValuePair
>();
for
(
Map
.
Entry
<
String
,
String
>
entry
:
param
.
entrySet
())
{
//给参数赋值
formparams
.
add
(
new
BasicNameValuePair
(
entry
.
getKey
(),
entry
.
getValue
()));
}
UrlEncodedFormEntity
urlEncodedFormEntity
=
new
UrlEncodedFormEntity
(
formparams
,
Consts
.
UTF_8
);
httpPost
.
setEntity
(
urlEncodedFormEntity
);
}
// 设置实体 优先级高
if
(
entity
!=
null
)
{
httpPost
.
setEntity
(
entity
);
}
HttpResponse
httpResponse
=
httpClient
.
execute
(
httpPost
);
int
statusCode
=
httpResponse
.
getStatusLine
().
getStatusCode
();
if
(
statusCode
==
HttpStatus
.
SC_OK
)
{
HttpEntity
resEntity
=
httpResponse
.
getEntity
();
result
=
EntityUtils
.
toString
(
resEntity
);
}
else
{
readHttpResponse
(
httpResponse
);
}
}
catch
(
Exception
e
)
{
throw
e
;
}
finally
{
if
(
httpClient
!=
null
)
{
httpClient
.
close
();
}
}
return
result
;
}
public
static
CloseableHttpClient
getHttpClient
()
throws
Exception
{
CloseableHttpClient
httpClient
=
HttpClients
.
custom
()
.
setSSLSocketFactory
(
sslsf
)
.
setConnectionManager
(
cm
)
.
setConnectionManagerShared
(
true
)
.
build
();
return
httpClient
;
}
public
static
String
readHttpResponse
(
HttpResponse
httpResponse
)
throws
ParseException
,
IOException
{
StringBuilder
builder
=
new
StringBuilder
();
// 获取响应消息实体
HttpEntity
entity
=
httpResponse
.
getEntity
();
// 响应状态
builder
.
append
(
"status:"
+
httpResponse
.
getStatusLine
());
builder
.
append
(
"headers:"
);
HeaderIterator
iterator
=
httpResponse
.
headerIterator
();
while
(
iterator
.
hasNext
())
{
builder
.
append
(
"\t"
+
iterator
.
next
());
}
// 判断响应实体是否为空
if
(
entity
!=
null
)
{
String
responseString
=
EntityUtils
.
toString
(
entity
);
builder
.
append
(
"response length:"
+
responseString
.
length
());
builder
.
append
(
"response content:"
+
responseString
.
replace
(
"\r\n"
,
""
));
}
return
builder
.
toString
();
}
}
\ No newline at end of file
liquidnet-bus-service/liquidnet-service-
kylin/liquidnet-service-kylin-impl/src/main/java/com/liquidnet/service/kylin
/utils/JSONUtils.java
→
liquidnet-bus-service/liquidnet-service-
platform/liquidnet-service-platform-impl/src/main/java/com/liquidnet/service/platform
/utils/JSONUtils.java
View file @
d81fbc12
package
com
.
liquidnet
.
service
.
kylin
.
utils
;
package
com
.
liquidnet
.
service
.
platform
.
utils
;
import
lombok.extern.slf4j.Slf4j
;
import
org.springframework.stereotype.Component
;
import
java.io.*
;
@Slf4j
@Component
public
class
JSONUtils
{
/**
* 读取json文件
* @param fileName json文件路径
...
...
@@ -25,19 +25,15 @@ public class JSONUtils {
int
ch
=
0
;
StringBuffer
sb
=
new
StringBuffer
();
while
((
ch
=
reader
.
read
())
!=
-
1
)
{
sb
.
append
((
char
)
ch
);
}
fileReader
.
close
();
sb
.
append
((
char
)
ch
);
}
fileReader
.
close
();
reader
.
close
();
jsonStr
=
sb
.
toString
();
log
.
info
(
"————读取"
+
jsonFile
.
getPath
()
+
"文件结束!————"
);
//System.out.println("————读取" + jsonFile.getPath() + "文件结束!————");
return
jsonStr
;
}
catch
(
Exception
e
)
{
return
jsonStr
;
}
catch
(
Exception
e
)
{
log
.
info
(
"————读取"
+
jsonFile
.
getPath
()
+
"文件出现异常,读取失败!————"
);
// System.out.println("————读取" + jsonFile.getPath() + "文件出现异常,读取失败!————");
// System.out.println("————读取" + jsonFile.getPath() + "文件出现异常,读取失败!————");
e
.
printStackTrace
();
return
null
;
}
}
}
return
null
;
}
}}
liquidnet-bus-service/liquidnet-service-platform/liquidnet-service-platform-impl/src/main/java/com/liquidnet/service/platform/utils/ShunfengSignUtils.java
View file @
d81fbc12
...
...
@@ -2,10 +2,13 @@ package com.liquidnet.service.platform.utils;
import
com.liquidnet.commons.lang.constant.LnsEnum
;
import
com.liquidnet.commons.lang.util.CurrentUtil
;
import
com.liquidnet.commons.lang.util.JsonUtils
;
import
lombok.extern.slf4j.Slf4j
;
import
org.apache.commons.codec.binary.Base64
;
import
org.apache.commons.codec.digest.DigestUtils
;
import
org.apache.commons.lang3.StringUtils
;
import
org.apache.http.HttpEntity
;
import
org.apache.http.entity.StringEntity
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.beans.factory.annotation.Value
;
import
org.springframework.core.env.Environment
;
...
...
@@ -13,6 +16,8 @@ import org.springframework.stereotype.Component;
import
javax.servlet.http.HttpServletRequest
;
import
java.util.Arrays
;
import
java.util.HashMap
;
import
java.util.Map
;
/**
* <p>
...
...
@@ -25,6 +30,13 @@ import java.util.Arrays;
@Component
@Slf4j
public
class
ShunfengSignUtils
{
@Value
(
"${liquidnet.express.shunfeng.appid}"
)
private
String
APP_ID
;
/**
* url
*/
@Value
(
"${liquidnet.express.shunfeng.url}"
)
private
String
URL
;
/**
* sk
*/
...
...
@@ -38,6 +50,39 @@ public class ShunfengSignUtils {
@Autowired
Environment
environment
;
/**
* 生成签名并请求
* @param hbody 请求body
* @return
*/
public
String
generateSignatureAndRequestNew
(
Map
<
String
,
String
>
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
);
Map
<
String
,
String
>
headers
=
new
HashMap
<>();
headers
.
put
(
"sendAppId"
,
APP_ID
);
headers
.
put
(
"timestamp"
,
timestamp
);
headers
.
put
(
"sign"
,
sign
);
headers
.
put
(
"Content-Type"
,
"application/json;charset=utf-8"
);
headers
.
put
(
"Accept"
,
"application/json"
);
Map
<
String
,
String
>
querys
=
new
HashMap
<>();
try
{
HttpEntity
httpEntity
=
new
StringEntity
(
body
,
"utf-8"
);
log
.
info
(
"generateSignatureAndRequestNew body:[{}], headers:[{}]"
,
body
,
headers
);
String
post
=
HttpsUtils
.
post
(
URL
+
url
,
headers
,
querys
,
httpEntity
);
return
post
;
}
catch
(
Exception
e
)
{
System
.
out
.
println
(
"发送请求失败"
);
e
.
printStackTrace
();
return
e
.
getMessage
();
}
}
/**
* 生成签名
* @param timestamp 时间戳
...
...
liquidnet-bus-service/liquidnet-service-
kylin/liquidnet-service-kylin
-impl/src/main/resources/city.json
→
liquidnet-bus-service/liquidnet-service-
platform/liquidnet-service-platform
-impl/src/main/resources/city.json
View file @
d81fbc12
File moved
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