Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
D
dc-java
Overview
Overview
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
huluobin
dc-java
Commits
36766fe8
Commit
36766fe8
authored
Mar 29, 2019
by
wutong
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
只有已发货的SKU, 才算头程费用
parent
aaa63197
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
22 additions
and
26 deletions
+22
-26
OrderSyncJob.java
...s-order/src/main/java/com/bailuntec/job/OrderSyncJob.java
+22
-26
No files found.
data-base/base-sync-oms-order/src/main/java/com/bailuntec/job/OrderSyncJob.java
View file @
36766fe8
...
...
@@ -141,6 +141,8 @@ public class OrderSyncJob extends PointJob {
//如果订单中存在百伦SKU, 去拿一些放在SKU里的信息
Map
<
String
,
BailunSkuStructure
>
bailunSkuInfoMap
=
new
HashMap
<>();
//拿仓库信息
DcBaseWarehouse
dcBaseWarehouse
=
getDcBaseWarehouse
(
omsResult
);
BigDecimal
totalCostFirst
=
BigDecimal
.
ZERO
;
if
(
omsResult
.
getBailunSku
()
!=
null
&&
omsResult
.
getBailunSku
().
size
()
>
0
)
{
/*
...
...
@@ -150,8 +152,7 @@ public class OrderSyncJob extends PointJob {
BailunSkuCumulative
bailunSkuCumulative
=
getBailunSkuCumulative
(
omsResult
);
//SKU总个数
dcBaseOmsOrder
.
setQuantityBailunSku
(
bailunSkuCumulative
.
getTotalQuantity
());
//拿仓库信息
DcBaseWarehouse
dcBaseWarehouse
=
getDcBaseWarehouse
(
omsResult
);
//计算每个SKU采购价占总采购价比重(用于摊分SKU售价之类) 以及 每个SKU重量价占总重量的比重
for
(
BailunSku
bailunSku
:
omsResult
.
getBailunSku
())
{
...
...
@@ -175,21 +176,6 @@ public class OrderSyncJob extends PointJob {
dcBaseOmsSku
.
setBailunSkuQuantityShipped
(
bailunSku
.
getBailunSkuQuantityOrdered
());
checkFbaFee
(
dcBaseOmsSku
,
isFbaFeeException
);
}
//如果不是国内仓, 就需要去拿头程费
if
(
dcBaseWarehouse
!=
null
&&
!
dcBaseWarehouse
.
getHqType
().
equals
(
Constant
.
DOMESTIC_WAREHOUSE
))
{
try
{
DcMidCostFirstMapper
mapper
=
SessionUtil
.
getSession
().
getMapper
(
DcMidCostFirstMapper
.
class
);
DcMidCostFirst
dcMidCostFirst
=
mapper
.
selectOneByExample
(
DcMidCostFirstExample
.
newAndCreateCriteria
().
andBailunSkuEqualTo
(
bailunSku
.
getBailunSku
()).
andWarehouseCodeEqualTo
(
dcBaseWarehouse
.
getWarehouseCode
()).
example
());
if
(
dcMidCostFirst
!=
null
)
{
totalCostFirst
=
totalCostFirst
.
add
(
dcMidCostFirst
.
getCostFirst
());
dcBaseOmsSku
.
setCostFirst
(
dcMidCostFirst
.
getCostFirst
());
}
}
catch
(
Exception
e
)
{
throw
new
RuntimeException
(
"MYBATIS查头程费失败"
);
}
finally
{
SessionUtil
.
closeSession
();
}
}
bailunSkuStructure
.
setDcBaseOmsSku
(
dcBaseOmsSku
);
bailunSkuInfoMap
.
put
(
bailunSku
.
getBailunSku
(),
bailunSkuStructure
);
}
...
...
@@ -215,7 +201,7 @@ public class OrderSyncJob extends PointJob {
//平台渠道费
dcBaseOmsOrder
.
setCostPlatformFee
((
omsResult
.
getOrderCharge
().
getCostPlatformFee
()
!=
null
&&
omsResult
.
getOrderCharge
().
getCostPlatformFee
().
getAmount
()
!=
null
)
?
omsResult
.
getOrderCharge
().
getCostPlatformFee
().
getAmount
()
:
BigDecimal
.
ZERO
);
//平台渠道费人民币 - Ebay的平台费币种不一样
BigDecimal
costPlatformFeeRMB
=
BigDecimal
.
ZERO
;
BigDecimal
costPlatformFeeRMB
;
if
(
PlatformType
.
Ebay
.
value
().
equals
(
dcBaseOmsOrder
.
getPlatformType
().
toUpperCase
()))
{
costPlatformFeeRMB
=
dcBaseOmsOrder
.
getCostPlatformFee
().
multiply
(
dcBaseOmsOrder
.
getSellerOtherExchangeRate
()).
setScale
(
3
,
RoundingMode
.
HALF_EVEN
);
}
else
{
...
...
@@ -268,7 +254,21 @@ public class OrderSyncJob extends PointJob {
// Paypal费
BigDecimal
skuPaypalFee
=
bailunSkuStructure
.
getSkuCostRatio
().
multiply
(
dcBaseOmsOrder
.
getCostPaypalFee
()).
setScale
(
3
,
RoundingMode
.
HALF_EVEN
);
BigDecimal
skuPaypalFeeRmb
=
bailunSkuStructure
.
getSkuCostRatio
().
multiply
(
totalCostPaypalFeeRMB
).
setScale
(
3
,
RoundingMode
.
HALF_EVEN
);
//如果不是国内仓并且发货了 就需要去拿头程费
if
(
dcBaseWarehouse
!=
null
&&
!
dcBaseWarehouse
.
getHqType
().
equals
(
Constant
.
DOMESTIC_WAREHOUSE
)
&&
dcBaseOmsSku
.
getBailunSkuQuantityShipped
()
>
0
)
{
try
{
DcMidCostFirstMapper
mapper
=
SessionUtil
.
getSession
().
getMapper
(
DcMidCostFirstMapper
.
class
);
DcMidCostFirst
dcMidCostFirst
=
mapper
.
selectOneByExample
(
DcMidCostFirstExample
.
newAndCreateCriteria
().
andBailunSkuEqualTo
(
dcBaseOmsSku
.
getBailunSku
()).
andWarehouseCodeEqualTo
(
dcBaseWarehouse
.
getWarehouseCode
()).
example
());
if
(
dcMidCostFirst
!=
null
)
{
dcBaseOmsSku
.
setCostFirst
(
dcMidCostFirst
.
getCostFirst
());
totalCostFirst
=
totalCostFirst
.
add
(
dcMidCostFirst
.
getCostFirst
().
multiply
(
BigDecimal
.
valueOf
(
dcBaseOmsSku
.
getBailunSkuQuantityShipped
())));
}
}
catch
(
Exception
e
)
{
throw
new
RuntimeException
(
"MYBATIS查头程费失败"
);
}
finally
{
SessionUtil
.
closeSession
();
}
}
//下单数大于发货数, 判定为预收费-人民币
if
(
dcBaseOmsSku
.
getBailunSkuQuantityOrdered
()
!=
null
&&
dcBaseOmsSku
.
getBailunSkuQuantityOrdered
()
>
dcBaseOmsSku
.
getBailunSkuQuantityShipped
())
{
BigDecimal
quantityPrepared
=
BigDecimal
.
valueOf
(
dcBaseOmsSku
.
getBailunSkuQuantityOrdered
()
-
dcBaseOmsSku
.
getBailunSkuQuantityShipped
());
...
...
@@ -528,7 +528,7 @@ public class OrderSyncJob extends PointJob {
}
else
if
(
omsResult
.
getBailunSku
().
size
()
>
0
&&
StringUtils
.
isNotBlank
(
omsResult
.
getBailunSku
().
get
(
0
).
getWarehouseCode
()))
{
if
(
omsResult
.
getLogisticsItems
()
!=
null
&&
omsResult
.
getLogisticsItems
().
size
()
>
0
&&
omsResult
.
getLogisticsItems
().
get
(
0
).
getWarehouse
()
!=
null
&&
omsResult
.
getLogisticsItems
().
get
(
0
).
getWarehouse
().
getWarehouseCode
()
!=
null
)
{
dcBaseWarehouse
=
baseWarehouseMapper
.
selectOneByExample
(
DcBaseWarehouseExample
.
newAndCreateCriteria
().
andWarehouseCodeEqualTo
(
omsResult
.
getLogisticsItems
().
get
(
0
).
getWarehouse
().
getWarehouseCode
()).
example
());
}
else
{
}
else
if
(
omsResult
.
getBailunSku
()
!=
null
&&
omsResult
.
getBailunSku
().
size
()
>
0
)
{
dcBaseWarehouse
=
baseWarehouseMapper
.
selectOneByExample
(
DcBaseWarehouseExample
.
newAndCreateCriteria
().
andWarehouseCodeEqualTo
(
omsResult
.
getBailunSku
().
get
(
0
).
getWarehouseCode
()).
example
());
}
}
...
...
@@ -835,12 +835,8 @@ public class OrderSyncJob extends PointJob {
public
void
assignmentSkuInfo
(
OmsResult
omsResult
,
DcBaseOmsOrder
dcBaseOmsOrder
,
DcBaseOmsSku
dcBaseOmsSku
,
BailunSku
bailunSku
,
DcBaseWarehouse
dcBaseWarehouse
,
HashMap
<
String
,
String
>
saleItemHashMap
,
Boolean
isFbaFeeException
)
{
dcBaseOmsSku
.
setBailunInterceptionStatus
(
dcBaseOmsOrder
.
getBailunInterceptionStatus
());
dcBaseOmsSku
.
setBailunSku
(
bailunSku
.
getBailunSku
());
dcBaseOmsSku
.
setWarehouseCode
(
bailunSku
.
getWarehouseCode
());
dcBaseOmsSku
.
setWarehouseName
(
bailunSku
.
getWarehouseName
());
if
(
PlatformType
.
FBA
.
value
().
equals
(
omsResult
.
getPlatformType
())
&&
dcBaseWarehouse
!=
null
)
{
dcBaseOmsSku
.
setWarehouseCode
(
dcBaseWarehouse
.
getWarehouseCode
());
dcBaseOmsSku
.
setWarehouseName
(
dcBaseWarehouse
.
getWarehouseName
());
}
dcBaseOmsSku
.
setWarehouseCode
(
dcBaseWarehouse
.
getWarehouseCode
());
dcBaseOmsSku
.
setWarehouseName
(
dcBaseWarehouse
.
getWarehouseName
());
dcBaseOmsSku
.
setAreaId
(
omsResult
.
getAreaId
());
dcBaseOmsSku
.
setHasCancle
(
omsResult
.
getHasCancle
());
dcBaseOmsSku
.
setSellerName
(
saleItemHashMap
.
get
(
bailunSku
.
getBailunSku
()));
...
...
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