记得上下班打卡 | 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
e8329184
Commit
e8329184
authored
Nov 25, 2021
by
sunyuntian
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
读json运费
parent
ff1c9391
Changes
6
Hide whitespace changes
Inline
Side-by-side
Showing
6 changed files
with
126 additions
and
47 deletions
+126
-47
KylinRedisConst.java
...com/liquidnet/service/kylin/constant/KylinRedisConst.java
+1
-1
ToolServiceImpl.java
...nt/admin/zhengzai/kylin/service/impl/ToolServiceImpl.java
+0
-1
FeignPlatformFreightClient.java
...vice/feign/platform/kylin/FeignPlatformFreightClient.java
+21
-0
PlatformTaskHandler.java
...et/service/executor/main/handler/PlatformTaskHandler.java
+22
-0
KylinFreightChargeServiceImpl.java
...orm/service/impl/kylin/KylinFreightChargeServiceImpl.java
+68
-37
JSONUtils.java
.../java/com/liquidnet/service/platform/utils/JSONUtils.java
+14
-8
No files found.
liquidnet-bus-api/liquidnet-service-kylin-api/src/main/java/com/liquidnet/service/kylin/constant/KylinRedisConst.java
View file @
e8329184
...
...
@@ -64,7 +64,7 @@ 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"
;
//退货地址
public
static
final
String
EXPRESS_TYPE
=
"express:type"
;
public
static
final
String
KYLIN_EXPRESS_MODULES
=
"kylin:express:modules"
;
...
...
liquidnet-bus-client/liquidnet-client-admin/liquidnet-client-admin-zhengzai/src/main/java/com/liquidnet/client/admin/zhengzai/kylin/service/impl/ToolServiceImpl.java
View file @
e8329184
...
...
@@ -102,7 +102,6 @@ public class ToolServiceImpl implements IToolService {
mongoVoUtils
.
orderSetMongo
(
orderCode
,
expressPhone
);
//存redis
dataUtils
.
orderSetRedis
(
orderCode
);
Object
o
=
redisDataSourceUtil
.
getRedisKylinUtil
().
get
(
"kylin:order:id:201373316981841927358500"
);
return
upd
;
}
}
liquidnet-bus-feign/liquidnet-api-feign-platform/src/main/java/com/liquidnet/service/feign/platform/kylin/FeignPlatformFreightClient.java
0 → 100644
View file @
e8329184
package
com
.
liquidnet
.
service
.
feign
.
platform
.
kylin
;
import
com.liquidnet.service.base.ResponseDto
;
import
feign.hystrix.FallbackFactory
;
import
org.springframework.cloud.openfeign.FeignClient
;
import
org.springframework.stereotype.Component
;
import
org.springframework.web.bind.annotation.GetMapping
;
@Component
@FeignClient
(
name
=
"liquidnet-service-platform"
,
contextId
=
"FeignPlatformFreightClient"
,
path
=
"platform"
,
url
=
"${liquidnet.service.platform.url}"
,
fallback
=
FallbackFactory
.
Default
.
class
)
public
interface
FeignPlatformFreightClient
{
@GetMapping
(
"freightCharge/get"
)
ResponseDto
<
Object
>
getFreightCharge
();
}
liquidnet-bus-service/liquidnet-service-executor-all/liquidnet-service-executor-main/src/main/java/com/liquidnet/service/executor/main/handler/PlatformTaskHandler.java
View file @
e8329184
...
...
@@ -3,6 +3,7 @@ package com.liquidnet.service.executor.main.handler;
import
com.liquidnet.commons.lang.util.JsonUtils
;
import
com.liquidnet.service.base.ResponseDto
;
import
com.liquidnet.service.feign.kylin.task.FeignPlatformAlipayBackClient
;
import
com.liquidnet.service.feign.platform.kylin.FeignPlatformFreightClient
;
import
com.liquidnet.service.feign.platform.task.FeignPlatformCandyTaskClient
;
import
com.xxl.job.core.biz.model.ReturnT
;
import
com.xxl.job.core.handler.annotation.XxlJob
;
...
...
@@ -22,6 +23,9 @@ public class PlatformTaskHandler {
private
FeignPlatformAlipayBackClient
feignPlatformAlipayBackClient
;
@Autowired
private
FeignPlatformCandyTaskClient
feignPlatformCandyTaskClient
;
@Autowired
private
FeignPlatformFreightClient
feignPlatformFreightClient
;
@XxlJob
(
value
=
"sev-platform:alipayActiveCallbackHandler"
)
public
ReturnT
<
String
>
alipayActiveCallbackHandler
()
{
...
...
@@ -110,4 +114,22 @@ public class PlatformTaskHandler {
return
fail
;
}
}
//运费
@XxlJob
(
value
=
"sev-platform:getFreightChargeHandler"
)
public
ReturnT
<
String
>
getFreightChargeHandler
()
{
try
{
ResponseDto
<
Object
>
dto
=
feignPlatformFreightClient
.
getFreightCharge
();
String
dtoStr
=
JsonUtils
.
toJson
(
dto
);
log
.
info
(
"result of handler:{}"
,
dtoStr
);
ReturnT
<
String
>
success
=
ReturnT
.
SUCCESS
;
success
.
setMsg
(
dtoStr
);
return
success
;
}
catch
(
Exception
e
)
{
log
.
error
(
"exception of handler:{}"
,
e
.
getMessage
(),
e
);
ReturnT
<
String
>
fail
=
ReturnT
.
FAIL
;
fail
.
setMsg
(
e
.
getLocalizedMessage
());
return
fail
;
}
}
}
liquidnet-bus-service/liquidnet-service-platform/liquidnet-service-platform-impl/src/main/java/com/liquidnet/service/platform/service/impl/kylin/KylinFreightChargeServiceImpl.java
View file @
e8329184
package
com
.
liquidnet
.
service
.
platform
.
service
.
impl
.
kylin
;
import
com.alibaba.fastjson.JSONObject
;
import
com.liquidnet.common.cache.redis.util.RedisDataSourceUtil
;
import
com.liquidnet.common.cache.redis.util.RedisUtil
;
import
com.liquidnet.commons.lang.util.CollectionUtil
;
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.KylinFreightChargeDao
;
import
com.liquidnet.service.kylin.dto.vo.KylinExpressModuleVo
;
import
com.liquidnet.service.kylin.mapper.KylinFreightChargeMapper
;
import
com.liquidnet.service.platform.utils.JSONUtils
;
import
com.liquidnet.service.platform.utils.ShunfengSignUtils
;
import
lombok.extern.slf4j.Slf4j
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.beans.factory.annotation.Value
;
import
org.springframework.stereotype.Service
;
import
java.util.HashMap
;
import
java.util.List
;
import
java.util.Map
;
@Slf4j
@Service
public
class
KylinFreightChargeServiceImpl
{
@Value
(
"${liquidnet.express.shunfeng.jProvince}"
)
private
String
jProvince
;
@Value
(
"${liquidnet.express.shunfeng.jCity}"
)
private
String
jCity
;
@Value
(
"${liquidnet.express.shunfeng.jAddress}"
)
private
String
jAddress
;
@Autowired
private
ShunfengSignUtils
shunfengSignUtils
;
@Autowired
private
RedisDataSourceUtil
redisDataSourceUtil
;
@Autowired
private
KylinFreightChargeMapper
kylinFreightChargeMapper
;
@Autowired
private
JSONUtils
jsonUtils
;
public
void
getFreightCharge
()
{
Map
<
String
,
String
>
hBody
=
new
HashMap
<>();
String
jProvince
=
"云南省"
;
String
jCity
=
"昆明市"
;
String
jAddress
=
"五华区"
;
String
addressCode
=
"530102"
;
//区code
hBody
.
put
(
"jProvince"
,
jProvince
);
hBody
.
put
(
"jProvince"
,
jProvince
);
//寄件地址
hBody
.
put
(
"jCity"
,
jCity
);
hBody
.
put
(
"jAddress"
,
jAddress
);
hBody
.
put
(
"dProvince"
,
"北京市"
);
hBody
.
put
(
"dCity"
,
"北京"
);
hBody
.
put
(
"dAddress"
,
"东城区"
);
String
expressType
=
"1"
;
hBody
.
put
(
"expressType"
,
"1"
);
try
{
// 生成签名并请求
String
result
=
shunfengSignUtils
.
generateSignatureAndRequestNew
(
hBody
,
"/public/order/v1/getFreight"
);
HashMap
hashMap
=
JsonUtils
.
fromJson
(
result
,
HashMap
.
class
);
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"
));
String
fileName
=
KylinFreightChargeServiceImpl
.
class
.
getClassLoader
().
getResource
(
"city.json"
).
getPath
();
String
s
=
jsonUtils
.
readJsonFile
(
fileName
);
List
<
HashMap
>
provinceListMap
=
JSONObject
.
parseArray
(
s
,
HashMap
.
class
);
long
startTime
=
System
.
currentTimeMillis
();
for
(
Map
pMap
:
provinceListMap
)
{
String
dProvince
=
(
String
)
pMap
.
get
(
"name"
);
List
<
HashMap
>
cityListMap
=
(
List
<
HashMap
>)
pMap
.
get
(
"districts"
);
for
(
Map
CMap
:
cityListMap
)
{
String
dCity
=
(
String
)
CMap
.
get
(
"name"
);
List
<
HashMap
>
adListMap
=
(
List
<
HashMap
>)
CMap
.
get
(
"districts"
);
for
(
Map
adMap
:
adListMap
)
{
//获取快运所有类型
List
<
KylinExpressModuleVo
>
obj
=
(
List
<
KylinExpressModuleVo
>)
redisDataSourceUtil
.
getRedisKylinUtil
().
get
(
KylinRedisConst
.
KYLIN_EXPRESS_MODULES
);
if
(
null
!=
obj
)
{
for
(
KylinExpressModuleVo
kylinExpressModuleVo
:
obj
)
{
String
productCode
=
kylinExpressModuleVo
.
getProductCode
().
toString
();
//快件类型码
String
adcode
=
(
String
)
adMap
.
get
(
"adcode"
);
String
dAddress
=
(
String
)
adMap
.
get
(
"name"
);
hBody
.
put
(
"expressType"
,
productCode
);
hBody
.
put
(
"dProvince"
,
dProvince
);
hBody
.
put
(
"dCity"
,
dCity
);
hBody
.
put
(
"dAddress"
,
dAddress
);
KylinFreightChargeDao
kylinFreightCharge
=
KylinFreightChargeDao
.
getNew
();
try
{
// 生成签名并请求
String
result
=
shunfengSignUtils
.
generateSignatureAndRequestNew
(
hBody
,
"/public/order/v1/getFreight"
);
HashMap
hashMap
=
JsonUtils
.
fromJson
(
result
,
HashMap
.
class
);
HashMap
<
String
,
String
>
map
=
(
HashMap
<
String
,
String
>)
hashMap
.
get
(
"result"
);
kylinFreightCharge
.
setFieldsId
(
IDGenerator
.
nextTimeId2
());
kylinFreightCharge
.
setProvince
(
dProvince
);
kylinFreightCharge
.
setCity
(
dCity
);
kylinFreightCharge
.
setAdname
(
dAddress
);
kylinFreightCharge
.
setPrice
(
map
.
get
(
"price"
));
kylinFreightCharge
.
setAdcode
(
adcode
);
kylinFreightCharge
.
setBusinessType
(
map
.
get
(
"businessType"
));
kylinFreightCharge
.
setBusinessTypeDesc
(
map
.
get
(
"businessTypeDesc"
));
}
catch
(
Exception
e
)
{
e
.
printStackTrace
();
log
.
error
(
"顺丰接口调用失败"
,
e
,
kylinFreightCharge
.
getProvince
()
+
" "
+
kylinFreightCharge
.
getCity
()
+
" "
+
kylinFreightCharge
.
getAdname
());
}
//存数据库
int
i
=
kylinFreightChargeMapper
.
setFreightCharge
(
kylinFreightCharge
);
//存redis
redisDataSourceUtil
.
getRedisKylinUtil
().
set
(
KylinRedisConst
.
RETURN_ADDRESS_CODE
+
addressCode
+
KylinRedisConst
.
EXPRESS_TYPE
+
expressType
,
kylinFreightCharge
);
}
catch
(
Exception
e
)
{
e
.
printStackTrace
();
log
.
error
(
"顺丰接口调用失败"
,
e
);
//存数据库
int
i
=
kylinFreightChargeMapper
.
setFreightCharge
(
kylinFreightCharge
);
//存redis
redisDataSourceUtil
.
getRedisKylinUtil
().
set
(
KylinRedisConst
.
RETURN_ADDRESS_CODE
+
adcode
+
KylinRedisConst
.
EXPRESS_TYPE
+
productCode
,
kylinFreightCharge
);
}
}
}
}
}
log
.
info
(
"耗时:{}"
,
(
System
.
currentTimeMillis
()
-
startTime
)
+
"毫秒"
);
}
}
liquidnet-bus-service/liquidnet-service-platform/liquidnet-service-platform-impl/src/main/java/com/liquidnet/service/platform/utils/JSONUtils.java
View file @
e8329184
package
com
.
liquidnet
.
service
.
platform
.
utils
;
import
com.alibaba.fastjson.JSON
;
import
lombok.extern.slf4j.Slf4j
;
import
org.springframework.stereotype.Component
;
...
...
@@ -10,30 +11,35 @@ import java.io.*;
public
class
JSONUtils
{
/**
* 读取json文件
* @param fileName json文件路径
*
* @param fileName json文件路径
* @return
*/
public
static
String
readJsonFile
(
String
fileName
)
{
//fileName = J
sonTest
.class.getClassLoader().getResource("city.json").getPath();
//fileName = J
SONUtils
.class.getClassLoader().getResource("city.json").getPath();
File
jsonFile
=
new
File
(
fileName
);
String
jsonStr
=
""
;
log
.
info
(
"————开始读取"
+
jsonFile
.
getPath
()
+
"文件————"
);
//System.out.println("————开始读取" + jsonFile.getPath() + "文件————");
try
{
FileReader
fileReader
=
new
FileReader
(
jsonFile
);
Reader
reader
=
new
InputStreamReader
(
new
FileInputStream
(
jsonFile
),
"utf-8"
);
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() + "文件出现异常,读取失败!————");
e
.
printStackTrace
();
return
null
;
}
}}
return
null
;
}
}
}
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