Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
O
order-group
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
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
order-group-application
order-group
Commits
ff651c72
Commit
ff651c72
authored
Oct 22, 2021
by
周晓航
Browse files
Options
Browse Files
Download
Plain Diff
Merge branch '【盛香亭】【C端】订单明细套餐商品价格计算-zxh'
parents
7fa61d82
65cbd93a
Show whitespace changes
Inline
Side-by-side
Showing
4 changed files
with
30 additions
and
18 deletions
+30
-18
assortment-ordercenter-sdk/src/main/java/com/freemud/sdk/api/assortment/order/adapter/OrderSdkAdapter.java
+9
-8
assortment-shoppingcart-sdk/src/main/java/com/freemud/sdk/api/assortment/shoppingcart/adapter/ShoppingCartAdapter.java
+1
-1
shopping-cart-application-service/src/main/java/cn/freemud/controller/ShoppingCartController.java
+0
-1
shopping-cart-application-service/src/main/java/cn/freemud/service/impl/calculate/CalculationCommonService.java
+20
-8
No files found.
assortment-ordercenter-sdk/src/main/java/com/freemud/sdk/api/assortment/order/adapter/OrderSdkAdapter.java
View file @
ff651c72
...
@@ -3009,19 +3009,20 @@ public class OrderSdkAdapter {
...
@@ -3009,19 +3009,20 @@ public class OrderSdkAdapter {
orderItemCreateReq
.
setSettlementPrice
(
settlementPrice
);
orderItemCreateReq
.
setSettlementPrice
(
settlementPrice
);
totalOriginalProductAmount
=
weightPrice
.
longValue
();
totalOriginalProductAmount
=
weightPrice
.
longValue
();
}
else
{
}
else
{
Long
settlementPrice
=
product
.
getPrice
()
*
product
.
getNumber
()
-
totalDiscountAmount
;
Long
productPrice
=
product
.
getPrice
()
*
product
.
getNumber
();
Long
settlementPrice
=
productPrice
-
totalDiscountAmount
;
orderItemCreateReq
.
setSalePrice
(
settlementPrice
/
product
.
getNumber
());
orderItemCreateReq
.
setSalePrice
(
settlementPrice
/
product
.
getNumber
());
orderItemCreateReq
.
setSettlementPrice
(
settlementPrice
);
orderItemCreateReq
.
setSettlementPrice
(
settlementPrice
);
/**
/**
* 套餐商品
* 套餐商品
* 套餐原价 = 子商品总原价(称重菜原价*重量+普通商品原价*数量+可选商品原价*数量)
* 套餐原价 = 子商品总原价(称重菜原价*重量+普通商品原价*数量+可选商品原价*数量)
fisherman 新算价改动,套餐原价直接取 促销给的值, (因为套餐划线价问题)
* 套餐结算价 = (套餐价设置为0) ?所有子商品结算价和 * 套餐数量 : 套餐原价*套餐数量-优惠价
* 套餐结算价 = (套餐价设置为0) ?所有子商品结算价和 * 套餐数量 : 套餐原价*套餐数量-优惠价
* 套餐售价 = 套餐结算价 / 套餐数量
* 套餐售价 = 套餐结算价 / 套餐数量
*/
*/
if
(
ProductTypeEnum
.
SETMEAL_PRODUCT
.
getCode
().
equals
(
product
.
getProductType
())
||
ProductTypeEnum
.
SETMEAL_UPPRICE_PRODUCT
.
getCode
().
equals
(
product
.
getProductType
()))
{
if
(
ProductTypeEnum
.
SETMEAL_PRODUCT
.
getCode
().
equals
(
product
.
getProductType
())
||
ProductTypeEnum
.
SETMEAL_UPPRICE_PRODUCT
.
getCode
().
equals
(
product
.
getProductType
()))
{
if
(
CollectionUtils
.
isNotEmpty
(
product
.
getComboProduct
()))
{
if
(
CollectionUtils
.
isNotEmpty
(
product
.
getComboProduct
()))
{
// 套餐原价
// 套餐原价
Long
setmealProductTotalOriginalAmount
=
0L
;
//
Long setmealProductTotalOriginalAmount = 0L;
// 套餐结算价
// 套餐结算价
Long
setmealTotalSettlementPrice
=
0L
;
Long
setmealTotalSettlementPrice
=
0L
;
for
(
CreateOrderProductRequest
createOrderProductRequest
:
product
.
getComboProduct
())
{
for
(
CreateOrderProductRequest
createOrderProductRequest
:
product
.
getComboProduct
())
{
...
@@ -3035,21 +3036,21 @@ public class OrderSdkAdapter {
...
@@ -3035,21 +3036,21 @@ public class OrderSdkAdapter {
Double
weightPrice
=
createOrderProductRequest
.
getPrice
()
*
weight
;
Double
weightPrice
=
createOrderProductRequest
.
getPrice
()
*
weight
;
Long
comboSettlementPrice
=
weightPrice
==
0
?
0
:
weightPrice
.
longValue
()
-
comboProductTotalDiscountAmount
;
Long
comboSettlementPrice
=
weightPrice
==
0
?
0
:
weightPrice
.
longValue
()
-
comboProductTotalDiscountAmount
;
setmealTotalSettlementPrice
+=
comboSettlementPrice
;
setmealTotalSettlementPrice
+=
comboSettlementPrice
;
setmealProductTotalOriginalAmount
+=
weightPrice
.
longValue
();
//
setmealProductTotalOriginalAmount += weightPrice.longValue();
}
else
{
}
else
{
Long
numberPrice
=
createOrderProductRequest
.
getPrice
()
*
createOrderProductRequest
.
getNumber
();
Long
numberPrice
=
createOrderProductRequest
.
getPrice
()
*
createOrderProductRequest
.
getNumber
();
Long
comboSettlementPrice
=
numberPrice
-
comboProductTotalDiscountAmount
;
Long
comboSettlementPrice
=
numberPrice
-
comboProductTotalDiscountAmount
;
setmealTotalSettlementPrice
+=
comboSettlementPrice
;
setmealTotalSettlementPrice
+=
comboSettlementPrice
;
setmealProductTotalOriginalAmount
+=
numberPrice
;
//
setmealProductTotalOriginalAmount += numberPrice;
}
}
}
}
// 套餐原价
// 套餐原价
fisherman 新算价改动,套餐原价直接取 促销给的值, (因为套餐划线价问题)
orderItemCreateReq
.
setProductPrice
(
setmealProductTotalOriginalAmount
/
product
.
getNumber
()
);
orderItemCreateReq
.
setProductPrice
(
productPrice
);
// 如果套餐没有设置价格取子商品结算价和,否则取套餐自身的结算价
// 如果套餐没有设置价格取子商品结算价和,否则取套餐自身的结算价
setmealTotalSettlementPrice
=
product
.
getPrice
()
==
0
?
setmealTotalSettlementPrice
:
settlementPrice
;
setmealTotalSettlementPrice
=
product
.
getPrice
()
==
0
?
setmealTotalSettlementPrice
:
settlementPrice
;
orderItemCreateReq
.
setSettlementPrice
(
setmealTotalSettlementPrice
);
orderItemCreateReq
.
setSettlementPrice
(
setmealTotalSettlementPrice
);
orderItemCreateReq
.
setSalePrice
(
setmealTotalSettlementPrice
/
product
.
getNumber
());
orderItemCreateReq
.
setSalePrice
(
setmealTotalSettlementPrice
/
product
.
getNumber
());
totalOriginalProductAmount
=
setmealProductTotalOriginalAmount
;
//
totalOriginalProductAmount = setmealProductTotalOriginalAmount;
}
}
}
}
}
}
...
...
assortment-shoppingcart-sdk/src/main/java/com/freemud/sdk/api/assortment/shoppingcart/adapter/ShoppingCartAdapter.java
View file @
ff651c72
...
@@ -340,8 +340,8 @@ public class ShoppingCartAdapter {
...
@@ -340,8 +340,8 @@ public class ShoppingCartAdapter {
//更新当前商品行价格
//更新当前商品行价格
Long
newOrigOriginalPrice
=
0L
;
Long
newOrigOriginalPrice
=
0L
;
if
(
isSetMealProduct
)
{
if
(
isSetMealProduct
)
{
// fisherman ---> 套餐划线价取值--> 根据商户号配置 取值不同
newOrigOriginalPrice
+=
cartGoods
.
getProductComboList
().
stream
().
mapToLong
(
t
->
t
.
getOriginalAmount
()).
sum
();
newOrigOriginalPrice
+=
cartGoods
.
getProductComboList
().
stream
().
mapToLong
(
t
->
t
.
getOriginalAmount
()).
sum
();
newOrigOriginalPrice
+=
cartGoods
.
getProductGroupList
().
stream
().
mapToLong
(
t
->
t
.
getOriginalAmount
()).
sum
();
}
else
{
}
else
{
newOrigOriginalPrice
=
isSkuProduct
?
skuProduct
.
getFinalPrice
()
:
spuProduct
.
getFinalPrice
();
newOrigOriginalPrice
=
isSkuProduct
?
skuProduct
.
getFinalPrice
()
:
spuProduct
.
getFinalPrice
();
}
}
...
...
shopping-cart-application-service/src/main/java/cn/freemud/controller/ShoppingCartController.java
View file @
ff651c72
...
@@ -197,7 +197,6 @@ public class ShoppingCartController {
...
@@ -197,7 +197,6 @@ public class ShoppingCartController {
return
shoppingCartDemoController
.
getShoppingCartGoodsApportion
(
getShoppingCartGoodsApportionRequestVo
);
return
shoppingCartDemoController
.
getShoppingCartGoodsApportion
(
getShoppingCartGoodsApportionRequestVo
);
}
else
{
}
else
{
BaseResponse
<
ShoppingCartGoodsDto
>
shoppingCartGoods
=
instanceByRequest
.
getShoppingCartGoods
(
shoppingCartInfoRequestVo
,
getShoppingCartGoodsApportionRequestVo
.
getPremiumExchangeActivity
());
BaseResponse
<
ShoppingCartGoodsDto
>
shoppingCartGoods
=
instanceByRequest
.
getShoppingCartGoods
(
shoppingCartInfoRequestVo
,
getShoppingCartGoodsApportionRequestVo
.
getPremiumExchangeActivity
());
ShoppingSdkLogUtil
.
infoLog
(
"fisherman getShoppingCartGoodsApportion"
,
JSON
.
toJSONString
(
shoppingCartGoods
));
return
shoppingCartGoods
;
return
shoppingCartGoods
;
}
}
}
}
...
...
shopping-cart-application-service/src/main/java/cn/freemud/service/impl/calculate/CalculationCommonService.java
View file @
ff651c72
...
@@ -83,11 +83,12 @@ public class CalculationCommonService {
...
@@ -83,11 +83,12 @@ public class CalculationCommonService {
for
(
CartGoods
cartGoods
:
cartGoodsList
)
{
for
(
CartGoods
cartGoods
:
cartGoodsList
)
{
originalAmount
=
0L
;
amount
=
0L
;
packageAmount
=
0L
;
originalAmount
=
0L
;
amount
=
0L
;
packageAmount
=
0L
;
this
.
rowRealAmount
(
goods
,
cartGoods
,
couponCode
);
//原价行记录
//原价行记录
originalAmount
=
cartGoods
.
getOriginalPrice
()
*
cartGoods
.
getQty
();
originalAmount
=
cartGoods
.
getOriginalPrice
()
*
cartGoods
.
getQty
();
cartGoods
.
setOriginalAmount
(
originalAmount
);
cartGoods
.
setOriginalAmount
(
originalAmount
);
this
.
rowRealAmount
(
goods
,
cartGoods
,
couponCode
);
//成交价行记录
//成交价行记录
amount
=
cartGoods
.
getAmount
();
amount
=
cartGoods
.
getAmount
();
totalAmount
+=
amount
;
totalAmount
+=
amount
;
...
@@ -152,14 +153,15 @@ public class CalculationCommonService {
...
@@ -152,14 +153,15 @@ public class CalculationCommonService {
}
}
//cartGoods.setOriginalAmount(find.getOriginalPrice());
//cartGoods.setOriginalAmount(find.getOriginalPrice());
/**
/**
* 套餐的原价
* 套餐的原价 fisherman ---> 可能历史原因 促销给的 originalPrice 没有包含可选搭配的价格, 所以购物车自己又重新算了一遍
* 20211015 进行 【盛香亭】【B端】订单明细套餐商品价格计算 需求, 促销会根据商户配置 设置套餐的划线价, 这里直接取促销的值就可以了 + 购物车自己算可算搭配的值
*/
*/
Long
originPrice
=
0L
;
Long
originPrice
=
find
.
getOriginalPrice
()
;
if
(
CollectionUtils
.
isNotEmpty
(
cartGoods
.
getProductComboList
()))
{
//
if (CollectionUtils.isNotEmpty(cartGoods.getProductComboList())) {
for
(
CartGoods
.
ComboxGoods
com
:
cartGoods
.
getProductComboList
())
{
//
for (CartGoods.ComboxGoods com : cartGoods.getProductComboList()) {
originPrice
+=
com
.
getFinalPrice
()
*
cartGoods
.
getQty
()
*
com
.
getQty
();
//
originPrice += com.getFinalPrice() * cartGoods.getQty() * com.getQty();
}
//
}
}
//
}
/**
/**
* 可选搭配
* 可选搭配
*/
*/
...
@@ -221,6 +223,9 @@ public class CalculationCommonService {
...
@@ -221,6 +223,9 @@ public class CalculationCommonService {
}
}
if
(
GoodsTypeEnum
.
SET_MEAL_GOODS
.
getGoodsType
().
equals
(
cartGoods
.
getGoodsType
()))
{
if
(
GoodsTypeEnum
.
SET_MEAL_GOODS
.
getGoodsType
().
equals
(
cartGoods
.
getGoodsType
()))
{
cartGoods
.
setOriginalAmount
(
originPrice
);
cartGoods
.
setOriginalAmount
(
originPrice
);
// cartGoods.setOriginalPrice(find.getOriginalPrice());
// fisherman 取值 originPrice 的原因是因为 如果存在可选搭配, 促销反馈的价格是没计算可选搭配的, 所以这里需要加上去,
cartGoods
.
setOriginalPrice
(
originPrice
);
}
}
}
}
...
@@ -499,6 +504,7 @@ public class CalculationCommonService {
...
@@ -499,6 +504,7 @@ public class CalculationCommonService {
/**
/**
* 固定搭配
* 固定搭配
* productComboList
* productComboList
* fisherman 固定搭配套餐价设置,促销不计算可选搭配价格
*/
*/
Long
originalPriceSum
=
0L
;
Long
originalPriceSum
=
0L
;
List
<
ShoppingCartGoodsDto
.
CartGoodsDetailDto
>
combs
=
new
ArrayList
<>();
List
<
ShoppingCartGoodsDto
.
CartGoodsDetailDto
>
combs
=
new
ArrayList
<>();
...
@@ -507,11 +513,17 @@ public class CalculationCommonService {
...
@@ -507,11 +513,17 @@ public class CalculationCommonService {
List
<
ShoppingCartGoodsDto
.
CartGoodsDetailDto
>
comboLists
=
this
.
com2DetailGoods
(
gxDiscount
,
cartGoods
.
getProductComboList
(),
cartGoods
,
true
);
List
<
ShoppingCartGoodsDto
.
CartGoodsDetailDto
>
comboLists
=
this
.
com2DetailGoods
(
gxDiscount
,
cartGoods
.
getProductComboList
(),
cartGoods
,
true
);
combs
.
addAll
(
comboLists
);
combs
.
addAll
(
comboLists
);
cartGoodsDetailDto
.
setProductType
(
ProductType
.
SETMEAL
.
getCode
());
cartGoodsDetailDto
.
setProductType
(
ProductType
.
SETMEAL
.
getCode
());
if
(
calculationGoods
!=
null
)
{
originalPriceSum
=
calculationGoods
.
getOriginalPrice
();
}
else
{
for
(
ShoppingCartGoodsDto
.
CartGoodsDetailDto
comboList
:
comboLists
)
{
for
(
ShoppingCartGoodsDto
.
CartGoodsDetailDto
comboList
:
comboLists
)
{
originalPriceSum
+=
(
comboList
.
getQty
()
/
cartGoods
.
getQty
())
*
comboList
.
getOriginalPrice
();
originalPriceSum
+=
(
comboList
.
getQty
()
/
cartGoods
.
getQty
())
*
comboList
.
getOriginalPrice
();
}
}
}
cartGoodsDetailDto
.
setOriginalPrice
(
originalPriceSum
);
cartGoodsDetailDto
.
setOriginalPrice
(
originalPriceSum
);
}
}
/**
/**
* 可选商品
* 可选商品
* productGroupList
* productGroupList
...
...
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