Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Contribute to GitLab
Sign in
Toggle navigation
M
MultipleSourceSecurity
Project
Project
Details
Activity
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
周宗顺
MultipleSourceSecurity
Commits
f14e0b27
Commit
f14e0b27
authored
Nov 06, 2025
by
Allen Chen
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
commit
parent
f4c63706
Show whitespace changes
Inline
Side-by-side
Showing
11 changed files
with
79 additions
and
65 deletions
+79
-65
PddFZController.java
...ain/java/org/ta/pddserver/controller/PddFZController.java
+2
-2
PddLocalController.java
.../java/org/ta/pddserver/controller/PddLocalController.java
+2
-2
PddOpenController.java
...n/java/org/ta/pddserver/controller/PddOpenController.java
+34
-37
PddLogisticsCoTrackNotifyRequest.java
...model/pddlg/request/PddLogisticsCoTrackNotifyRequest.java
+1
-1
PddGDUtil.java
...erver/src/main/java/org/ta/pddserver/utils/PddGDUtil.java
+12
-7
PddHttpTool.java
...ver/src/main/java/org/ta/pddserver/utils/PddHttpTool.java
+4
-3
GDOperator.java
PddServer/src/main/java/org/ta/pddserver/xxl/GDOperator.java
+12
-1
application.yaml
PddServer/src/main/resources/application.yaml
+6
-6
CommonTest.java
PddServer/src/test/java/org/ta/pddserver/CommonTest.java
+2
-2
GDTest3.java
PddServer/src/test/java/org/ta/pddserver/GDTest3.java
+2
-2
LGTest2.java
PddServer/src/test/java/org/ta/pddserver/LGTest2.java
+2
-2
No files found.
PddServer/src/main/java/org/ta/pddserver/controller/PddFZController.java
View file @
f14e0b27
...
...
@@ -36,8 +36,8 @@ public class PddFZController {
private
static
final
String
PROVIDER_CODE
=
"HAIJI_KR"
;
private
static
final
String
WAREHOUSE_CODE
=
"HJJY001"
;
private
static
final
String
CLIENT_ID
=
"
27dbbb055eef41e28124f03fdb26fba8
"
;
private
static
final
String
CLIENT_SECRET
=
"
4be28e29e58012b72b080431a8d47ec2ba7cab4d
"
;
private
static
final
String
CLIENT_ID
=
"
8f5f3f9c92e847b2894fc9c0afce3d61
"
;
private
static
final
String
CLIENT_SECRET
=
"
281d79ad5117d20a51efb9e7b0d5f7ee336399b0
"
;
@Resource
LogOrderMailDetailImpl
logOrderMailDetailImpl
;
...
...
PddServer/src/main/java/org/ta/pddserver/controller/PddLocalController.java
View file @
f14e0b27
...
...
@@ -48,8 +48,8 @@ public class PddLocalController {
private
static
final
String
PROVIDER_CODE
=
"HAIJI_KR"
;
private
static
final
String
WAREHOUSE_CODE
=
"HJJY001"
;
private
static
final
String
CLIENT_ID
=
"
d0217707e1194c46b57e696ac7619a06
"
;
private
static
final
String
CLIENT_SECRET
=
"
a5aba84483d8387030899f01276b06a19494247
0"
;
private
static
final
String
CLIENT_ID
=
"
8f5f3f9c92e847b2894fc9c0afce3d61
"
;
private
static
final
String
CLIENT_SECRET
=
"
281d79ad5117d20a51efb9e7b0d5f7ee336399b
0"
;
@Resource
private
CollectReceiverDetailImpl
collectReceiverDetailImpl
;
@Resource
...
...
PddServer/src/main/java/org/ta/pddserver/controller/PddOpenController.java
View file @
f14e0b27
...
...
@@ -102,39 +102,39 @@ public class PddOpenController {
log
.
info
(
"Request:\n{}"
,
body
);
try
{
if
(
PddSignTool
.
verifySignFromBody
(
body
,
"a5aba84483d8387030899f01276b06a194942470"
,
pdd_sign
))
{
log
.
info
(
"验签成功
"
);
if
(
!
PddSignTool
.
verifySignFromBody
(
body
,
"a5aba84483d8387030899f01276b06a194942470"
,
pdd_sign
))
{
log
.
error
(
"验签失败
"
);
}
switch
(
requestParam
.
getType
())
{
case
"pdd.service.conso.order.create"
:
{
PddServiceConsoOrderCreateRequest
createParam
=
JSON
.
parseObject
(
body
,
PddServiceConsoOrderCreateRequest
.
class
);
OrderCreate
(
createParam
);
log
.
info
(
"pdd service conso.order.create 集运单创建接口"
);
//
log.info("pdd service conso.order.create 集运单创建接口");
}
break
;
case
"pdd.service.conso.outbound.notice"
:
{
PddServiceConsoOutboundNoticeRequest
noticeParam
=
JSON
.
parseObject
(
body
,
PddServiceConsoOutboundNoticeRequest
.
class
);
OutboundNotice
(
noticeParam
);
log
.
info
(
"pdd.service.conso.outbound.notice 出库通知"
);
//
log.info("pdd.service.conso.outbound.notice 出库通知");
}
break
;
case
"pdd.service.conso.order.update"
:
{
PddServiceConsoOrderUpdateRequest
updateRequest
=
JSON
.
parseObject
(
body
,
PddServiceConsoOrderUpdateRequest
.
class
);
OrderUpdate
(
updateRequest
);
log
.
info
(
"pdd.service.conso.order.update 集运单更新"
);
//
log.info("pdd.service.conso.order.update 集运单更新");
}
break
;
case
"pdd.service.conso.reverse.notify"
:
{
PddServiceConsoReverseNotifyRequest
notifyRequest
=
JSON
.
parseObject
(
body
,
PddServiceConsoReverseNotifyRequest
.
class
);
ReverseNotify
(
notifyRequest
);
log
.
info
(
"pdd.service.conso.reverse.notify 逆向通知"
);
//
log.info("pdd.service.conso.reverse.notify 逆向通知");
// todo 不需特殊回复,但是code区分状态码
}
break
;
case
"pdd.service.conso.fee.query"
:
{
PddServiceConsoFeeQueryRequest
queryRequest
=
JSON
.
parseObject
(
body
,
PddServiceConsoFeeQueryRequest
.
class
);
FeeQuery
(
queryRequest
);
log
.
info
(
"pdd.service.conso.fee.query 集运费用查询"
);
//
log.info("pdd.service.conso.fee.query 集运费用查询");
long
freightFee
=
0L
;
int
rentFee
=
0
;
int
weight
=
0
;
...
...
@@ -197,49 +197,44 @@ public class PddOpenController {
jsonObject
.
put
(
"freightFee"
,
freightFee
);
jsonObject
.
put
(
"rentFee"
,
rentFee
);
jsonObject
.
put
(
"weight"
,
weight
);
log
.
info
(
"RESP:\n{}"
,
jsonObject
.
toJSONString
());
return
jsonObject
;
}
case
"pdd.service.conso.order.query"
:
{
PddServiceConsoOrderQueryRequest
queryRequest
=
JSON
.
parseObject
(
body
,
PddServiceConsoOrderQueryRequest
.
class
);
OrderQuery
(
queryRequest
);
log
.
info
(
"pdd.service.conso.order.query 集运单查询"
);
// todo 回复 PddServiceConsoOrderQueryResponse
// log.info("pdd.service.conso.order.query 集运单查询");
}
break
;
case
"pdd.service.conso.pack.order.query"
:
{
PddServiceConsoPackOrderQueryRequest
queryRequest
=
JSON
.
parseObject
(
body
,
PddServiceConsoPackOrderQueryRequest
.
class
);
PackOrderQuery
(
queryRequest
);
log
.
info
(
"pdd.service.conso.pack.order.query 集运合包单状态查询接口"
);
// todo 回复 PddServiceConsoPackOrderQueryQueryResponse
// log.info("pdd.service.conso.pack.order.query 集运合包单状态查询接口");
}
break
;
case
"pdd.service.conso.return.order.query"
:
{
PddServiceConsoReturnOrderQueryRequest
queryRequest
=
JSON
.
parseObject
(
body
,
PddServiceConsoReturnOrderQueryRequest
.
class
);
ReturnOrderQuery
(
queryRequest
);
log
.
info
(
"pdd.service.conso.return.order.query"
);
// todo 回复 PddServiceConsoReturnOrderQueryResponse
// log.info("pdd.service.conso.return.order.query");
}
break
;
case
"pdd.service.conso.package.query"
:
{
PddServiceConsoPackageQueryRequest
queryRequest
=
JSON
.
parseObject
(
body
,
PddServiceConsoPackageQueryRequest
.
class
);
PackageQuery
(
queryRequest
);
log
.
info
(
"pdd.service.conso.package.query"
);
// todo 回复 PddServiceConsoPackageQueryResponse
// log.info("pdd.service.conso.package.query");
}
break
;
case
"pdd.service.conso.package.notice"
:
{
PddServiceConsoPackageNoticeRequest
noticeRequest
=
JSON
.
parseObject
(
body
,
PddServiceConsoPackageNoticeRequest
.
class
);
PackageNotice
(
noticeRequest
);
log
.
info
(
"pdd.service.conso.package.notice"
);
// todo 不需特殊回复,但是code区分状态码
// log.info("pdd.service.conso.package.notice");
}
break
;
case
"pdd.service.conso.unpack.notice"
:
{
PddServiceConsoUnpackNoticeRequest
noticeRequest
=
JSON
.
parseObject
(
body
,
PddServiceConsoUnpackNoticeRequest
.
class
);
UnpackNotice
(
noticeRequest
);
log
.
info
(
"pdd.service.conso.unpack.notice"
);
// todo 不许特殊回复
// log.info("pdd.service.conso.unpack.notice");
}
break
;
case
"pdd.service.conso.user.identify"
:
{
...
...
@@ -252,6 +247,7 @@ public class PddOpenController {
jsonObject
.
put
(
"success"
,
false
);
jsonObject
.
put
(
"code"
,
errorType
.
getValue
());
jsonObject
.
put
(
"message"
,
errorType
.
getDesc
());
log
.
info
(
"RESP:\n{}"
,
jsonObject
.
toJSONString
());
return
jsonObject
;
}
...
...
@@ -264,9 +260,10 @@ public class PddOpenController {
}
catch
(
Exception
e
)
{
e
.
printStackTrace
();
}
log
.
info
(
"request_body = {}"
,
JSON
.
toJSON
(
requestParam
));
return
JsonResponse
.
generateOpenCommonSuccessResponse
();
// log.info("request_body = {}", JSON.toJSON(requestParam));
JSONObject
jsonObject
=
JsonResponse
.
generateOpenCommonSuccessResponse
();
log
.
info
(
"RESP:\n{}"
,
jsonObject
.
toJSONString
());
return
jsonObject
;
}
/**
...
...
@@ -292,30 +289,29 @@ public class PddOpenController {
@PostMapping
(
"/pdd-lg"
)
public
JSONObject
pddLogisticAPI
(
HttpServletRequest
request
,
@RequestBody
LGBaseModel
requestParam
)
{
log
.
info
(
"PDD pddLogisticAPI, type={}"
,
requestParam
.
getType
());
log
.
info
(
"target_client_id = {}, client_id = {}, sign={}, timestamp = {}, type={}"
,
requestParam
.
getTarget_client_id
(),
requestParam
.
getClient_id
(),
requestParam
.
getSign
(),
requestParam
.
getTimestamp
(),
requestParam
.
getType
()
);
//
log.info("PDD pddLogisticAPI, type={}", requestParam.getType());
//
log.info("target_client_id = {}, client_id = {}, sign={}, timestamp = {}, type={}",
//
requestParam.getTarget_client_id(), requestParam.getClient_id(), requestParam.getSign(), requestParam.getTimestamp(), requestParam.getType()
//
);
if
(
PddSignTool
.
verifyLGSign
(
requestParam
,
"4be28e29e58012b72b080431a8d47ec2ba7cab4d"
))
{
log
.
info
(
"验签成功
"
);
if
(
!
PddSignTool
.
verifyLGSign
(
requestParam
,
"4be28e29e58012b72b080431a8d47ec2ba7cab4d"
))
{
log
.
error
(
"验签失败
"
);
}
String
body
=
getStringFromRequest
(
request
);
log
.
info
(
"Request:\n{}"
,
body
);
switch
(
requestParam
.
getType
())
{
case
"pdd.logistics.co.track.sub"
:
{
log
.
info
(
"pdd.logistics.co.track.sub 拼多多向物流公司订阅指定运单号的物流轨迹详情"
);
PddLogisticsCoTrackSubRequest
subRequest
=
JSON
.
parseObject
(
body
,
PddLogisticsCoTrackSubRequest
.
class
);
subRequest
.
parseData
();
log
.
info
(
"快递公司运单号:{}"
,
subRequest
.
getDataObject
().
getTrackingOrderNo
());
// todo 不需特殊回复,但是code区分状态码
log
.
info
(
"pdd.logistics.co.track.sub 拼多多向物流公司订阅指定运单号的物流轨迹详情,快递公司运单号:{}"
,
subRequest
.
getDataObject
().
getTrackingOrderNo
());
}
break
;
case
"pdd.logistics.co.track.query"
:
{
log
.
info
(
"pdd.logistics.co.track.query 拼多多向物流公司查询指定运单号当前的完整物流轨迹信息。"
);
PddLogisticsCoTrackQueryRequest
subRequest
=
JSON
.
parseObject
(
body
,
PddLogisticsCoTrackQueryRequest
.
class
);
subRequest
.
parseData
();
log
.
info
(
"快递公司运单号:{}"
,
subRequest
.
getDataObject
().
getTrackingNumber
());
log
.
info
(
"pdd.logistics.co.track.query 拼多多向物流公司查询指定运单号当前的完整物流轨迹信息。快递公司运单号:{}"
,
subRequest
.
getDataObject
().
getTrackingNumber
());
List
<
TraceObjectEntity
>
TraceObjectlist
=
traceObjectImpl
.
selectByTrackingNumber
(
subRequest
.
getDataObject
().
getTrackingNumber
());
List
<
TraceObject
>
list
=
new
ArrayList
<
TraceObject
>();
...
...
@@ -323,11 +319,12 @@ public class PddOpenController {
for
(
TraceObjectEntity
traceObjectEntity
:
TraceObjectlist
)
{
list
.
add
(
TraceObject
.
createFromTraceEntity
(
traceObjectEntity
));
}
return
JsonResponse
.
generateLGCommonSuccessResponse
(
requestParam
.
getShip_id
(),
list
);
JSONObject
jsonObject
=
JsonResponse
.
generateLGCommonSuccessResponse
(
requestParam
.
getShip_id
(),
list
);
log
.
info
(
"RESP:\n{}"
,
jsonObject
.
toJSONString
());
return
jsonObject
;
}
default
:
{
log
.
info
(
"request_body = {}"
,
JSON
.
toJSON
(
requestParam
)
);
log
.
error
(
"未知请求"
);
return
JsonResponse
.
generateLGCommonFailedResponse
(
requestParam
.
getShip_id
(),
"999"
,
"UNKNOWN API"
);
}
}
...
...
PddServer/src/main/java/org/ta/pddserver/model/pddlg/request/PddLogisticsCoTrackNotifyRequest.java
View file @
f14e0b27
...
...
@@ -38,7 +38,7 @@ public class PddLogisticsCoTrackNotifyRequest extends LGBaseModel {
@Override
public
void
encodeData
()
{
this
.
data
=
JSON
.
toJSONString
(
this
.
dataObject
.
getTraces
());
log
.
info
(
"data={}"
,
this
.
data
);
//
log.info("data={}", this.data);
this
.
dataObject
=
null
;
}
}
PddServer/src/main/java/org/ta/pddserver/utils/PddGDUtil.java
View file @
f14e0b27
...
...
@@ -12,8 +12,8 @@ import java.util.List;
@Slf4j
public
class
PddGDUtil
{
private
static
final
String
CLIENT_ID
=
"
7c75c365a1a64036a598ab6b09ce0c06
"
;
private
static
final
String
CLIENT_SECRET
=
"
f0752b6d5d6c214b7e255586fc4dfde382e9a6df
"
;
private
static
final
String
CLIENT_ID
=
"
8f5f3f9c92e847b2894fc9c0afce3d61
"
;
private
static
final
String
CLIENT_SECRET
=
"
281d79ad5117d20a51efb9e7b0d5f7ee336399b0
"
;
private
static
final
int
page_size
=
100
;
...
...
@@ -24,12 +24,17 @@ public class PddGDUtil {
List
<
GDTicketRepsonse
>
list
=
new
ArrayList
<
GDTicketRepsonse
>();
while
(
page
*
page_size
<=
total_count
)
{
page
++;
try
{
JSONObject
jsonObject
=
getTicketsByPage
(
1
,
end
);
total_count
=
jsonObject
.
getInteger
(
"total_count"
);
List
<
GDTicketRepsonse
>
tempList
=
jsonObject
.
getJSONArray
(
"logistics_ticket_list"
).
toJavaList
(
GDTicketRepsonse
.
class
);
if
(
tempList
!=
null
&&
!
tempList
.
isEmpty
())
{
list
.
addAll
(
tempList
);
}
}
catch
(
Exception
e
)
{
log
.
error
(
"工单获取失败"
);
}
}
return
list
;
}
...
...
PddServer/src/main/java/org/ta/pddserver/utils/PddHttpTool.java
View file @
f14e0b27
...
...
@@ -14,9 +14,10 @@ import java.util.Map;
public
class
PddHttpTool
{
private
static
final
String
URL
=
"https://opengw-api.hutaojie.com/ark/router"
;
private
static
final
String
URL_GD
=
"https://opengw-api.hutaojie.com/api/router"
;
// private static final String URL = "https://ark-api.pinduoduo.com/ark/router";
// private static final String URL = "https://opengw-api.hutaojie.com/ark/router";
// private static final String URL_GD = "https://opengw-api.hutaojie.com/api/router";
private
static
final
String
URL
=
"https://ark-api.pinduoduo.com/ark/router"
;
private
static
final
String
URL_GD
=
"https://gw-api.pinduoduo.com/api/router"
;
public
static
String
postRequest
(
JYBaseRequestModel
request
)
{
...
...
PddServer/src/main/java/org/ta/pddserver/xxl/GDOperator.java
View file @
f14e0b27
package
org
.
ta
.
pddserver
.
xxl
;
import
jakarta.annotation.PostConstruct
;
import
jakarta.annotation.Resource
;
import
lombok.extern.slf4j.Slf4j
;
import
org.springframework.scheduling.annotation.Scheduled
;
import
org.springframework.stereotype.Component
;
import
org.springframework.stereotype.Service
;
import
org.ta.pddserver.entity.GDTicketEntity
;
import
org.ta.pddserver.model.pddgd.response.GDTicketRepsonse
;
...
...
@@ -9,17 +12,25 @@ import org.ta.pddserver.service.GDTicketService;
import
org.ta.pddserver.service.impl.GDTicketImpl
;
import
org.ta.pddserver.utils.PddGDUtil
;
import
java.util.Date
;
import
java.util.List
;
@
Service
@
Component
@Slf4j
public
class
GDOperator
{
@Resource
GDTicketImpl
gdTicketImpl
;
@PostConstruct
public
void
init
(){
getGdTickets
();
}
@Scheduled
(
fixedRate
=
1000
*
60
*
5
)
// 每5分钟执行一次
public
void
getGdTickets
()
{
List
<
GDTicketRepsonse
>
list
=
PddGDUtil
.
getTickets
();
log
.
info
(
"{} 工单数量:{}"
,
new
Date
().
toLocaleString
(),
list
.
size
());
for
(
GDTicketRepsonse
gdTicketRepsonse
:
list
)
{
GDTicketEntity
gdTicketEntity
=
gdTicketImpl
.
getByTicketId
(
gdTicketRepsonse
.
getTicket_id
());
if
(
gdTicketEntity
==
null
)
{
...
...
PddServer/src/main/resources/application.yaml
View file @
f14e0b27
spring
:
datasource
:
driver-class-name
:
com.mysql.cj.jdbc.Driver
url
:
jdbc:mysql://192.168.2.222:3306/pdd_api?useUnicode=true&characterEncoding=utf8&useSSL=false&serverTimezone=GMT
username
:
root
password
:
root
#
url: jdbc:mysql://lyhj-mysql.mysql.rds.aliyuncs.com:3306/pdd_test?useUnicode=true&characterEncoding=utf8&useSSL=false&serverTimezone=GMT
#
username: pdd
#
password: pdd123
#
url: jdbc:mysql://192.168.2.222:3306/pdd_api?useUnicode=true&characterEncoding=utf8&useSSL=false&serverTimezone=GMT
#
username: root
#
password: root
url
:
jdbc:mysql://lyhj-mysql.mysql.rds.aliyuncs.com:3306/pdd_test?useUnicode=true&characterEncoding=utf8&useSSL=false&serverTimezone=GMT
username
:
pdd
password
:
pdd123
hikari
:
minimum-idle
:
5
# 最小空闲连接数
maximum-pool-size
:
10
# 最大活跃连接数
...
...
PddServer/src/test/java/org/ta/pddserver/CommonTest.java
View file @
f14e0b27
...
...
@@ -19,8 +19,8 @@ public class CommonTest {
private
static
final
String
PROVIDER_CODE
=
"HAIJI_KR"
;
private
static
final
String
WAREHOUSE_CODE
=
"HJJY001"
;
private
static
final
String
CLIENT_ID
=
"
d0217707e1194c46b57e696ac7619a06
"
;
private
static
final
String
CLIENT_SECRET
=
"
a5aba84483d8387030899f01276b06a19494247
0"
;
private
static
final
String
CLIENT_ID
=
"
8f5f3f9c92e847b2894fc9c0afce3d61
"
;
private
static
final
String
CLIENT_SECRET
=
"
281d79ad5117d20a51efb9e7b0d5f7ee336399b
0"
;
private
String
firstLogisticsOrderCode
=
"PC25110416466837504037527"
;
...
...
PddServer/src/test/java/org/ta/pddserver/GDTest3.java
View file @
f14e0b27
...
...
@@ -26,8 +26,8 @@ import java.util.List;
@Slf4j
public
class
GDTest3
{
private
static
final
String
CLIENT_ID
=
"
7c75c365a1a64036a598ab6b09ce0c06
"
;
private
static
final
String
CLIENT_SECRET
=
"
f0752b6d5d6c214b7e255586fc4dfde382e9a6df
"
;
private
static
final
String
CLIENT_ID
=
"
8f5f3f9c92e847b2894fc9c0afce3d61
"
;
private
static
final
String
CLIENT_SECRET
=
"
281d79ad5117d20a51efb9e7b0d5f7ee336399b0
"
;
@Test
public
void
test1
()
{
...
...
PddServer/src/test/java/org/ta/pddserver/LGTest2.java
View file @
f14e0b27
...
...
@@ -15,8 +15,8 @@ import java.util.ArrayList;
@Slf4j
public
class
LGTest2
{
private
static
final
String
CLIENT_ID
=
"
d0217707e1194c46b57e696ac7619a06
"
;
private
static
final
String
CLIENT_SECRET
=
"
a5aba84483d8387030899f01276b06a19494247
0"
;
private
static
final
String
CLIENT_ID
=
"
8f5f3f9c92e847b2894fc9c0afce3d61
"
;
private
static
final
String
CLIENT_SECRET
=
"
281d79ad5117d20a51efb9e7b0d5f7ee336399b
0"
;
@Test
public
void
test1
()
{
...
...
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