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
bltdc
dc-java
Commits
10027929
Commit
10027929
authored
Aug 12, 2019
by
yinyong
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
订单平台费、销售额、尾程费更改
parent
10f8b6e2
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
20 additions
and
6 deletions
+20
-6
OrderSyncJob.java
...s-order/src/main/java/com/bailuntec/job/OrderSyncJob.java
+20
-6
No files found.
data-base/base-sync-oms-order/src/main/java/com/bailuntec/job/OrderSyncJob.java
View file @
10027929
...
...
@@ -217,7 +217,14 @@ public class OrderSyncJob extends PointJob {
BigDecimal
productAmount
=
dcBaseOmsOrder
.
getAmountProduct
().
compareTo
(
BigDecimal
.
ZERO
)
==
1
?
dcBaseOmsOrder
.
getAmountProduct
()
:
dcBaseOmsOrder
.
getAmountTotal
();
dcBaseOmsOrder
.
setAmountProduct
(
productAmount
);
//部分订单 AmountProduct(产品金额)字段没值或等于0, 就取AmountTotal(商品总收入)
//销售额统一改为 销售额=产品金额+运费-促销
dcBaseOmsOrder
.
setAmountSales
(
productAmount
.
add
(
dcBaseOmsOrder
.
getAmountShipping
()).
subtract
(
dcBaseOmsOrder
.
getCostPromotion
()));
if
(
omsResult
.
getPlatformType
().
toUpperCase
().
equals
(
PlatformType
.
Aliexpress
.
value
()))
{
dcBaseOmsOrder
.
setAmountSales
(
omsResult
.
getOrderCharge
().
getAmountTotal
().
getAmount
());
}
else
{
dcBaseOmsOrder
.
setAmountSales
(
productAmount
.
add
(
dcBaseOmsOrder
.
getAmountShipping
()).
subtract
(
dcBaseOmsOrder
.
getCostPromotion
()));
}
if
(
StringUtils
.
isNotBlank
(
omsResult
.
getPlatformOrderType
())
&&
omsResult
.
getPlatformOrderType
().
equals
(
Constant
.
MANUAL_ORDER
)
&&
omsResult
.
getOrderCharge
().
getAmountTotal
()
!=
null
)
{
dcBaseOmsOrder
.
setAmountProduct
(
omsResult
.
getOrderCharge
().
getAmountTotal
().
getAmount
());
}
//平台渠道费人民币 - Ebay的平台费币种不一样, 要取不同的汇率计算
BigDecimal
costPlatformFeeRMB
;
if
(
PlatformType
.
Ebay
.
value
().
equals
(
dcBaseOmsOrder
.
getPlatformType
().
toUpperCase
()))
{
...
...
@@ -283,9 +290,10 @@ public class OrderSyncJob extends PointJob {
if
(
dcBaseOmsSku
.
getBailunSkuQuantityOrdered
()
!=
null
&&
dcBaseOmsSku
.
getBailunSkuQuantityOrdered
()
>
dcBaseOmsSku
.
getBailunSkuQuantityShipped
())
{
BigDecimal
quantityPrepared
=
BigDecimal
.
valueOf
(
dcBaseOmsSku
.
getBailunSkuQuantityOrdered
()
-
dcBaseOmsSku
.
getBailunSkuQuantityShipped
());
//这是未发货(预收)部分占的平台费
BigDecimal
skuCostPlatformFeePreparedRMB
=
skuCostPlatformFeeRMB
.
multiply
(
quantityPrepared
).
divide
(
BigDecimal
.
valueOf
(
dcBaseOmsSku
.
getBailunSkuQuantityOrdered
()),
5
,
RoundingMode
.
HALF_EVEN
);
BigDecimal
amountPrepaid
=
(
skuSalesPrice
.
multiply
(
quantityPrepared
).
multiply
(
dcBaseOmsOrder
.
getSellerOrderExchangeRate
()).
subtract
(
skuCostPlatformFeePreparedRMB
)).
divide
(
quantityPrepared
,
5
,
RoundingMode
.
HALF_EVEN
);
dcBaseOmsSku
.
setAmountPrepaid
(
amountPrepaid
.
compareTo
(
BigDecimal
.
ZERO
)
==
1
?
amountPrepaid
:
BigDecimal
.
ZERO
);
// BigDecimal skuCostPlatformFeePreparedRMB = skuCostPlatformFeeRMB.multiply(quantityPrepared).divide(BigDecimal.valueOf(dcBaseOmsSku.getBailunSkuQuantityOrdered()), 5, RoundingMode.HALF_EVEN);
BigDecimal
skuCostPlatformFeePreparedRMB
=
skuCostPlatformFeeRMB
.
multiply
(
quantityPrepared
);
BigDecimal
amountPrepaid
=
skuSalesPrice
.
multiply
(
quantityPrepared
).
multiply
(
dcBaseOmsOrder
.
getSellerOrderExchangeRate
()).
subtract
(
skuCostPlatformFeePreparedRMB
);
dcBaseOmsSku
.
setAmountPrepaid
(
amountPrepaid
.
compareTo
(
BigDecimal
.
ZERO
)
==
1
?
amountPrepaid
.
divide
(
quantityPrepared
,
5
,
RoundingMode
.
HALF_EVEN
)
:
BigDecimal
.
ZERO
);
totalAmountPrepaid
=
totalAmountPrepaid
.
add
(
dcBaseOmsSku
.
getAmountPrepaid
());
}
//促销费-原币种
...
...
@@ -307,6 +315,7 @@ public class OrderSyncJob extends PointJob {
BigDecimal
bailunSkuQuantityShippedDecimal
=
BigDecimal
.
valueOf
(
dcBaseOmsSku
.
getBailunSkuQuantityShipped
());
BigDecimal
rmbCost
=
BigDecimal
.
ZERO
;
BigDecimal
skuAmountGeneralCargo
=
BigDecimal
.
ZERO
;
BigDecimal
costLogistics
=
BigDecimal
.
ZERO
;
//货值= 售价-物流-平台费,只有普货才算货值, 不发货也算货值-- 这里放单个SKU的货值
if
(
bailunSkuStructure
.
getGeneralCargo
()
!=
null
&&
bailunSkuStructure
.
getGeneralCargo
())
{
skuAmountGeneralCargo
=
skuAmountProductRMB
.
subtract
(
skuCostLogistics
).
subtract
(
skuCostPlatformFeeRMB
);
...
...
@@ -330,7 +339,12 @@ public class OrderSyncJob extends PointJob {
dcBaseOmsSku
.
setCostPromotion
(
skuCostPromotion
.
divide
(
quantityOrderdDecimal
,
5
,
RoundingMode
.
HALF_EVEN
));
dcBaseOmsSku
.
setAmountSales
(
skuAmountSales
.
subtract
(
skuCostPromotion
).
divide
(
quantityOrderdDecimal
,
5
,
RoundingMode
.
HALF_EVEN
));
dcBaseOmsSku
.
setAmountShipping
(
skuAmountShipping
.
divide
(
quantityOrderdDecimal
,
5
,
RoundingMode
.
HALF_EVEN
));
if
(
dcBaseOmsSku
.
getCostTail
().
compareTo
(
BigDecimal
.
ZERO
)
==
1
)
{
costLogistics
=
dcBaseOmsSku
.
getCostTail
();
dcBaseOmsSku
.
setCostLogistics
(
costLogistics
);
}
else
{
costLogistics
=
dcBaseOmsSku
.
getCostLogistics
();
}
//单个SKU的销售额
unitSkuAmountSalesRMB
=
skuAmountSalesRMB
.
divide
(
quantityOrderdDecimal
,
5
,
RoundingMode
.
HALF_EVEN
);
//单个SKU的支出
...
...
@@ -339,7 +353,7 @@ public class OrderSyncJob extends PointJob {
.
add
(
dcBaseOmsSku
.
getCostHandlePlatform
())
//第三方仓操作费
.
add
(
skuCostFbaFeeRMB
.
divide
(
quantityOrderdDecimal
,
5
,
RoundingMode
.
HALF_EVEN
))
//FBA费
.
add
(
dcBaseOmsSku
.
getCostFirst
())
//头程费
.
add
(
dcBaseOmsSku
.
getCostLogistics
()
)
//百伦LMS物流费
.
add
(
costLogistics
)
//百伦LMS物流费
.
add
(
dcBaseOmsSku
.
getCostProduct
())
//采购成本
.
add
(
skuPaypalFeeRmb
.
divide
(
quantityOrderdDecimal
,
5
,
RoundingMode
.
HALF_EVEN
))
//Paypal费
.
setScale
(
5
,
RoundingMode
.
HALF_EVEN
);
...
...
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