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
a79e2502
Commit
a79e2502
authored
Nov 04, 2025
by
Allen Chen
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
commit
parent
98741085
Hide whitespace changes
Inline
Side-by-side
Showing
7 changed files
with
119 additions
and
99 deletions
+119
-99
PddOpenController.java
...n/java/org/ta/pddserver/controller/PddOpenController.java
+5
-2
PddServiceConsoOutboundRequest.java
...r/model/pddjy/request/PddServiceConsoOutboundRequest.java
+8
-0
PddNationalPriceTool.java
...ain/java/org/ta/pddserver/utils/PddNationalPriceTool.java
+1
-1
PddOverseaPriceTool.java
...main/java/org/ta/pddserver/utils/PddOverseaPriceTool.java
+7
-1
application.yaml
PddServer/src/main/resources/application.yaml
+1
-1
CommonTest.java
PddServer/src/test/java/org/ta/pddserver/CommonTest.java
+34
-5
gd5.json
PddServer/src/test/java/org/ta/pddserver/gd5.json
+63
-89
No files found.
PddServer/src/main/java/org/ta/pddserver/controller/PddOpenController.java
View file @
a79e2502
...
@@ -99,6 +99,7 @@ public class PddOpenController {
...
@@ -99,6 +99,7 @@ public class PddOpenController {
log
.
error
(
"pdd_sign is empty"
);
log
.
error
(
"pdd_sign is empty"
);
}
}
String
body
=
getStringFromRequest
(
request
);
String
body
=
getStringFromRequest
(
request
);
log
.
info
(
"Request:\n{}"
,
body
);
try
{
try
{
if
(
PddSignTool
.
verifySignFromBody
(
body
,
"a5aba84483d8387030899f01276b06a194942470"
,
pdd_sign
))
{
if
(
PddSignTool
.
verifySignFromBody
(
body
,
"a5aba84483d8387030899f01276b06a194942470"
,
pdd_sign
))
{
...
@@ -143,19 +144,21 @@ public class PddOpenController {
...
@@ -143,19 +144,21 @@ public class PddOpenController {
if
(
logOrderEntity
.
getStatus
()
>=
50
)
{
if
(
logOrderEntity
.
getStatus
()
>=
50
)
{
// 已合包
// 已合包
// 每个计算重量,每个计算运费
// 每个计算重量,每个计算运费
List
<
LogOrderMailDetailEntity
>
mailDetailEntityList
=
orderMailDetailImpl
.
getListByCode
(
orderCode
);
List
<
LogOrderMailDetailEntity
>
mailDetailEntityList
=
orderMailDetailImpl
.
get
NewPack
ListByCode
(
orderCode
);
for
(
LogOrderMailDetailEntity
mailDetailEntity
:
mailDetailEntityList
)
{
for
(
LogOrderMailDetailEntity
mailDetailEntity
:
mailDetailEntityList
)
{
int
currWeight
=
PddJYPriceTool
.
calculateWeight
(
mailDetailEntity
.
getLength
(),
int
currWeight
=
PddJYPriceTool
.
calculateWeight
(
mailDetailEntity
.
getLength
(),
mailDetailEntity
.
getWidth
(),
mailDetailEntity
.
getWidth
(),
mailDetailEntity
.
getHeight
(),
mailDetailEntity
.
getHeight
(),
mailDetailEntity
.
getWeight
(),
mailDetailEntity
.
getWeight
(),
"SENDTORECEVER"
.
equals
(
queryRequest
.
getSegmentCode
()));
"SENDTORECEVER"
.
equals
(
queryRequest
.
getSegmentCode
()));
freight
Fee
=
PddJYPriceTool
.
calculateFreightFee
(
currWeight
,
long
curr
Fee
=
PddJYPriceTool
.
calculateFreightFee
(
currWeight
,
queryRequest
.
getGoodsType
(),
queryRequest
.
getGoodsType
(),
1
,
1
,
"SENDTORECEVER"
.
equals
(
queryRequest
.
getSegmentCode
())
"SENDTORECEVER"
.
equals
(
queryRequest
.
getSegmentCode
())
);
);
log
.
info
(
"mailNo:{} weight:{}, fee:{}"
,
mailDetailEntity
.
getMailNo
(),
currWeight
,
currFee
);
weight
+=
currWeight
;
weight
+=
currWeight
;
freightFee
+=
currFee
;
}
}
}
else
{
}
else
{
...
...
PddServer/src/main/java/org/ta/pddserver/model/pddjy/request/PddServiceConsoOutboundRequest.java
View file @
a79e2502
...
@@ -109,6 +109,8 @@ public class PddServiceConsoOutboundRequest extends JYBaseRequestModel implement
...
@@ -109,6 +109,8 @@ public class PddServiceConsoOutboundRequest extends JYBaseRequestModel implement
* 计费重量(必填,单位:克)
* 计费重量(必填,单位:克)
*/
*/
private
Long
weight
;
private
Long
weight
;
private
List
<
InboundMailDetail
>
inboundMailDetails
;
}
}
...
@@ -218,5 +220,11 @@ public class PddServiceConsoOutboundRequest extends JYBaseRequestModel implement
...
@@ -218,5 +220,11 @@ public class PddServiceConsoOutboundRequest extends JYBaseRequestModel implement
private
String
remark
;
private
String
remark
;
}
}
@Data
public
static
class
InboundMailDetail
{
private
String
mailNo
;
private
String
expressCode
;
}
}
}
PddServer/src/main/java/org/ta/pddserver/utils/PddNationalPriceTool.java
View file @
a79e2502
...
@@ -71,7 +71,7 @@ public class PddNationalPriceTool {
...
@@ -71,7 +71,7 @@ public class PddNationalPriceTool {
}
catch
(
Exception
e
)
{
}
catch
(
Exception
e
)
{
e
.
printStackTrace
();
e
.
printStackTrace
();
}
}
return
rent
;
return
rent
*
100
;
}
}
...
...
PddServer/src/main/java/org/ta/pddserver/utils/PddOverseaPriceTool.java
View file @
a79e2502
package
org
.
ta
.
pddserver
.
utils
;
package
org
.
ta
.
pddserver
.
utils
;
import
lombok.extern.slf4j.Slf4j
;
import
java.text.SimpleDateFormat
;
import
java.text.SimpleDateFormat
;
import
java.time.LocalDate
;
import
java.time.LocalDate
;
import
java.time.ZoneId
;
import
java.time.ZoneId
;
import
java.util.Date
;
import
java.util.Date
;
@Slf4j
public
class
PddOverseaPriceTool
{
public
class
PddOverseaPriceTool
{
// 首重重量
// 首重重量
...
@@ -71,11 +74,13 @@ public class PddOverseaPriceTool {
...
@@ -71,11 +74,13 @@ public class PddOverseaPriceTool {
// 判断重量是否超重
// 判断重量是否超重
//分析重量
//分析重量
log
.
info
(
"weight = {}, initialWeight = {}, "
,
weight
,
initialWeight
);
if
(
weight
>
initialWeight
)
{
if
(
weight
>
initialWeight
)
{
//计算超出重量
//计算超出重量
weight
=
weight
-
initialWeight
;
weight
=
weight
-
initialWeight
;
excess
=
excessPrice
*
((
int
)
Math
.
ceil
(
1.0
*
weight
/
excessWeight
));
excess
=
excessPrice
*
((
int
)
Math
.
ceil
(
1.0
*
weight
/
excessWeight
));
}
}
log
.
info
(
"excess = {}"
,
excess
);
//计算价格
//计算价格
if
(
type
.
equals
(
"NORMAL"
))
{
if
(
type
.
equals
(
"NORMAL"
))
{
...
@@ -85,6 +90,7 @@ public class PddOverseaPriceTool {
...
@@ -85,6 +90,7 @@ public class PddOverseaPriceTool {
}
else
{
}
else
{
price
=
price
+
sInitalPrice
+
excess
;
price
=
price
+
sInitalPrice
+
excess
;
}
}
log
.
info
(
"price = {}"
,
price
);
return
price
;
return
price
;
}
}
...
@@ -107,7 +113,7 @@ public class PddOverseaPriceTool {
...
@@ -107,7 +113,7 @@ public class PddOverseaPriceTool {
}
catch
(
Exception
e
)
{
}
catch
(
Exception
e
)
{
e
.
printStackTrace
();
e
.
printStackTrace
();
}
}
return
rent
;
return
rent
*
100
;
}
}
...
...
PddServer/src/main/resources/application.yaml
View file @
a79e2502
...
@@ -17,4 +17,4 @@ spring:
...
@@ -17,4 +17,4 @@ spring:
application
:
application
:
name
:
PddServer
name
:
PddServer
server
:
server
:
port
:
8700
port
:
9000
\ No newline at end of file
\ No newline at end of file
PddServer/src/test/java/org/ta/pddserver/CommonTest.java
View file @
a79e2502
...
@@ -361,9 +361,9 @@ public class CommonTest {
...
@@ -361,9 +361,9 @@ public class CommonTest {
@Test
@Test
public
void
outBound
()
{
public
void
outBound
()
{
String
mailNo
=
"BK-
773129289243424
"
;
String
mailNo
=
"BK-
25110316466837504237527
"
;
String
expressCode
=
"KR_JD"
;
String
expressCode
=
"KR_JD"
;
String
orderCode
=
"PP251103
233387851778
37527"
;
String
orderCode
=
"PP251103
164668375042
37527"
;
// String segmentCode = "RETURNSELLER";
// String segmentCode = "RETURNSELLER";
String
segmentCode
=
"SENDTORECEVER"
;
String
segmentCode
=
"SENDTORECEVER"
;
...
@@ -374,17 +374,46 @@ public class CommonTest {
...
@@ -374,17 +374,46 @@ public class CommonTest {
notifyRequest
.
setSegmentCode
(
segmentCode
);
notifyRequest
.
setSegmentCode
(
segmentCode
);
notifyRequest
.
setExecuteTime
(
getNowString
());
notifyRequest
.
setExecuteTime
(
getNowString
());
notifyRequest
.
setTimeZone
(
"UTC+8"
);
notifyRequest
.
setTimeZone
(
"UTC+8"
);
notifyRequest
.
setIsSplitOut
(
"N"
);
// notifyRequest.setIsSplitOut("N");
notifyRequest
.
setIsSplitOut
(
"Y"
);
notifyRequest
.
setPackageInfos
(
new
ArrayList
<>());
notifyRequest
.
setPackageInfos
(
new
ArrayList
<>());
PddServiceConsoOutboundRequest
.
PackageInfo
packageInfo0
=
new
PddServiceConsoOutboundRequest
.
PackageInfo
();
notifyRequest
.
getPackageInfos
().
add
(
packageInfo0
);
packageInfo0
.
setOutboundMailNo
(
mailNo
+
"1"
);
packageInfo0
.
setExpressCode
(
expressCode
);
packageInfo0
.
setPackageType
(
"2"
);
packageInfo0
.
setLength
(
30L
);
packageInfo0
.
setWidth
(
30L
);
packageInfo0
.
setHeight
(
30L
);
packageInfo0
.
setWeight
(
1500L
);
packageInfo0
.
setInboundMailDetails
(
new
ArrayList
<>());
PddServiceConsoOutboundRequest
.
InboundMailDetail
inboundMailDetail0
=
new
PddServiceConsoOutboundRequest
.
InboundMailDetail
();
packageInfo0
.
getInboundMailDetails
().
add
(
inboundMailDetail0
);
inboundMailDetail0
.
setMailNo
(
"773608936457954"
);
inboundMailDetail0
.
setExpressCode
(
"STO"
);
PddServiceConsoOutboundRequest
.
InboundMailDetail
inboundMailDetail1
=
new
PddServiceConsoOutboundRequest
.
InboundMailDetail
();
packageInfo0
.
getInboundMailDetails
().
add
(
inboundMailDetail1
);
inboundMailDetail1
.
setMailNo
(
"773010635902734"
);
inboundMailDetail1
.
setExpressCode
(
"STO"
);
PddServiceConsoOutboundRequest
.
PackageInfo
packageInfo
=
new
PddServiceConsoOutboundRequest
.
PackageInfo
();
PddServiceConsoOutboundRequest
.
PackageInfo
packageInfo
=
new
PddServiceConsoOutboundRequest
.
PackageInfo
();
notifyRequest
.
getPackageInfos
().
add
(
packageInfo
);
notifyRequest
.
getPackageInfos
().
add
(
packageInfo
);
packageInfo
.
setOutboundMailNo
(
mailNo
);
packageInfo
.
setOutboundMailNo
(
mailNo
+
"2"
);
packageInfo
.
setExpressCode
(
expressCode
);
packageInfo
.
setExpressCode
(
expressCode
);
packageInfo
.
setPackageType
(
"2"
);
packageInfo
.
setPackageType
(
"2"
);
packageInfo
.
setLength
(
30L
);
packageInfo
.
setLength
(
30L
);
packageInfo
.
setWidth
(
30L
);
packageInfo
.
setWidth
(
30L
);
packageInfo
.
setHeight
(
30L
);
packageInfo
.
setHeight
(
30L
);
packageInfo
.
setWeight
(
1100L
);
packageInfo
.
setWeight
(
1500L
);
packageInfo
.
setInboundMailDetails
(
new
ArrayList
<>());
PddServiceConsoOutboundRequest
.
InboundMailDetail
inboundMailDetail2
=
new
PddServiceConsoOutboundRequest
.
InboundMailDetail
();
packageInfo
.
getInboundMailDetails
().
add
(
inboundMailDetail2
);
inboundMailDetail2
.
setMailNo
(
"TT773010635902734"
);
inboundMailDetail2
.
setExpressCode
(
"STO"
);
notifyRequest
.
setSenderDetail
(
new
PddServiceConsoOutboundRequest
.
SenderDetail
());
notifyRequest
.
setSenderDetail
(
new
PddServiceConsoOutboundRequest
.
SenderDetail
());
notifyRequest
.
getSenderDetail
().
setName
(
"海际集货仓"
);
notifyRequest
.
getSenderDetail
().
setName
(
"海际集货仓"
);
...
...
PddServer/src/test/java/org/ta/pddserver/gd5.json
View file @
a79e2502
{
{
"logistics_ticket_get_response"
:
{
"executeTime"
:
"2025-11-04 12:37:46"
,
"logistics_ticket_list"
:
[
"isSplitOut"
:
"Y"
,
{
"orderCode"
:
"PP25110316466837504237527"
,
"area_name"
:
"韩国"
,
"packageInfos"
:
[
"attach_url"
:
[
{
"http://testimg.yangkeduo.com/pdd_ticket_image/2066d9194a/e709b28d7515fe67c24ef5e9da15e742.jpeg"
,
"expressCode"
:
"KR_JD"
,
"http://testimg.yangkeduo.com/pdd_ticket_image/2066d9194a/0c2ac6e5432aa961bfefa3d7faf888e5.png"
"height"
:
30
,
],
"inboundMailDetails"
:
[
"created_at"
:
1761792975
,
{
"create_type"
:
0
,
"expressCode"
:
"STO"
,
"description"
:
"恶意引导修改取消订单三次下发模板"
,
"mailNo"
:
"773608936457954"
"pre_delivery_id"
:
"0"
,
},
"source"
:
0
,
{
"title"
:
"集运测试-恶意引导修改取消订单问题描述 签收地址:mock一个签收地址"
,
"expressCode"
:
"STO"
,
"cabinet_code"
:
""
,
"mailNo"
:
"773010635902734"
"compensate_state"
:
1
,
},
"urgent_type"
:
0
,
{
"updated_at"
:
1761793639
,
"expressCode"
:
"STO"
,
"receive_name"
:
"김명상"
,
"mailNo"
:
"TT773010635902734"
"waybill_no"
:
"773484253589148"
,
}
"compensate_amount"
:
0
,
],
"receive_address"
:
"mock一个签收地址"
,
"length"
:
30
,
"receive_contact"
:
"15012345678"
,
"outboundMailNo"
:
"BK-251103164668375042375271"
,
"express_dealer"
:
"处理人三"
,
"packageType"
:
"2"
,
"express_dealer_contact"
:
"15067011001"
,
"weight"
:
1500
,
"express_attachment"
:
[
"width"
:
30
{
},
"url"
:
"https://img-test.pddpic.com/open-gw/2066d9194a/c2c976cc793423a1d413c6395ad225c4.jpg"
{
},
"expressCode"
:
"KR_JD"
,
{
"height"
:
30
,
"url"
:
"https://img-test.pddpic.com/open-gw/2066d9194a/ceadf7d50fa2cd9850b10a3c769421e7.jpg"
"inboundMailDetails"
:
[],
},
"length"
:
30
,
{
"outboundMailNo"
:
"BK-251103164668375042375272"
,
"url"
:
"https://img-test.pddpic.com/open-gw/2066d9194a/c2c976cc793423a1d413c6395ad225c4.jpg"
"packageType"
:
"2"
,
}
"weight"
:
1500
,
],
"width"
:
30
"handle_result"
:
"757类型工单测试二次回复内容,此次没有赔付,两个附件"
,
}
"type_id"
:
757
,
],
"ticket_id"
:
176179297549537
,
"providerCode"
:
"HAIJI_KR"
,
"sign_state"
:
1
,
"receiverDetail"
:
{
"duty"
:
1
,
"city"
:
"강북구"
,
"express_company_id"
:
567
,
"country"
:
"KR"
,
"retreat_count"
:
2
,
"detailAddress"
:
"护照1号"
,
"status"
:
0
"district"
:
"강북구"
,
},
"name"
:
"김명상"
,
{
"province"
:
"서울특별시"
,
"area_name"
:
"韩国"
,
"telePhone"
:
"01012345678"
"created_at"
:
1761791335
,
},
"create_type"
:
1
,
"result"
:
{
"description"
:
"其他,mock消费者二次投诉"
,
"code"
:
0
"pre_delivery_id"
:
"0"
,
},
"source"
:
0
,
"segmentCode"
:
"SENDTORECEVER"
,
"title"
:
"包裹丢失/破损;包裹错发/漏发;mock消费者首次投诉"
,
"senderDetail"
:
{
"cabinet_code"
:
""
,
"city"
:
"临沂市"
,
"compensate_state"
:
2
,
"country"
:
"CN"
,
"urgent_type"
:
0
,
"detailAddress"
:
"山东省临沂市兰山区横九路与纵十路交汇兰山财金智慧云仓五期二层二号仓"
,
"updated_at"
:
1761792820
,
"district"
:
"兰山区"
,
"receive_name"
:
"김명상"
,
"name"
:
"海际集货仓"
,
"sub_type_ids"
:
[
"province"
:
"山东省"
,
1303
"telePhone"
:
"18660975251"
],
},
"waybill_no"
:
"773484253589148"
,
"timeZone"
:
"UTC+8"
"compensate_amount"
:
888
,
}
"receive_address"
:
"제주특별자치도 제주시 추자면 韩国偏远地址"
,
\ No newline at end of file
"receive_contact"
:
"15012345678"
,
"express_dealer"
:
"处理人乙"
,
"express_dealer_contact"
:
"15067991234"
,
"express_attachment"
:
[
{
"url"
:
"https://img-test.pddpic.com/open-gw/2066d9194a/b0ffff8583115046a5e0e70a86f4b156.jpg"
},
{
"url"
:
"https://img-test.pddpic.com/open-gw/2066d9194a/de1e9e6a5adaee930456e4e521a6dcb2.jpg"
}
],
"handle_result"
:
"mock工单联调二次处理回复"
,
"type_id"
:
747
,
"ticket_id"
:
176179133571489
,
"sign_state"
:
1
,
"duty"
:
1
,
"express_company_id"
:
567
,
"retreat_count"
:
1
,
"status"
:
1
}
],
"total_count"
:
2
,
"request_id"
:
"17617936806386622"
}
}
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