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
3fe7d457
Commit
3fe7d457
authored
Dec 31, 2020
by
zhiheng.zhang
Browse files
Options
Browse Files
Download
Plain Diff
Merge remote-tracking branch 'origin/develop' into develop
parents
be8a4f99
99b086aa
Expand all
Hide whitespace changes
Inline
Side-by-side
Showing
18 changed files
with
137 additions
and
87 deletions
+137
-87
assortment-ordercenter-sdk/pom.xml
+1
-2
assortment-ordercenter-sdk/readme.md
+1
-2
assortment-ordercenter-sdk/src/main/java/com/freemud/sdk/api/assortment/order/adapter/OrderSdkAdapter.java
+5
-0
assortment-ordercenter-sdk/src/main/java/com/freemud/sdk/api/assortment/order/enums/OldOrderAccountType.java
+2
-1
assortment-ordercenter-sdk/src/main/java/com/freemud/sdk/api/assortment/order/enums/QueryOrderAccountType.java
+1
-0
order-application-service/pom.xml
+1
-1
order-application-service/src/main/java/cn/freemud/adapter/OrderAdapter.java
+52
-29
order-application-service/src/main/java/cn/freemud/entities/dto/QueryOrdersResponseDto.java
+4
-0
order-application-service/src/main/java/cn/freemud/enums/ActivityTypeEnum.java
+2
-1
order-application-service/src/main/java/cn/freemud/enums/OrderAccountType.java
+1
-1
order-application-service/src/main/java/cn/freemud/service/coupon/impl/CocoCouponRelationServiceImpl.java
+0
-0
order-application-service/src/main/java/cn/freemud/service/impl/OrderServiceImpl.java
+21
-19
order-management/src/main/java/cn/freemud/management/service/handle/DeliveryHandle.java
+0
-1
order-management/src/main/java/cn/freemud/management/service/impl/OrderDeliveryService.java
+0
-1
shopping-cart-application-service/src/main/java/cn/freemud/adapter/ShoppingCartMccafeAdapter.java
+6
-1
shopping-cart-application-service/src/main/java/cn/freemud/service/impl/mcoffee/calculation/CalculationServiceImpl.java
+4
-0
shopping-cart-application-service/src/main/java/cn/freemud/service/impl/mcoffee/calculation/CouponDiscountCalculation.java
+28
-24
shopping-cart-application-service/src/main/java/cn/freemud/service/impl/mcoffee/calculation/SetMealCalculation.java
+8
-4
No files found.
assortment-ordercenter-sdk/pom.xml
View file @
3fe7d457
...
...
@@ -128,4 +128,4 @@
</plugin>
</plugins>
</build>
</project>
\ No newline at end of file
</project>
assortment-ordercenter-sdk/readme.md
View file @
3fe7d457
...
...
@@ -144,4 +144,4 @@
| 2.1.10-RELEASE | coco | 刘鹏飞 | 2020-12-17 |
| 2.1.11-RELEASE | 农工商添加设备号 | 梁崇福 | 2020-12-17 |
| 2.1.12-RELEASE | coco定制优惠券核销 | 刘鹏飞 | 2020-12-24 |
| 2.1.26-SNAPSHOT | 增加配送类型字段 | 王航航 | 2020-12-24 |
\ No newline at end of file
| 2.1.26-SNAPSHOT | 增加配送类型字段 | 王航航 | 2020-12-24 |
assortment-ordercenter-sdk/src/main/java/com/freemud/sdk/api/assortment/order/adapter/OrderSdkAdapter.java
View file @
3fe7d457
...
...
@@ -1407,6 +1407,9 @@ public class OrderSdkAdapter {
case
"BUY3_SEND1"
:
type
=
35
;
break
;
case
"COCO_PRODUCT_CASH_COUPON"
:
type
=
36
;
break
;
default
:
break
;
}
...
...
@@ -2017,6 +2020,8 @@ public class OrderSdkAdapter {
case
99
:
newOrderAccountType
=
OldOrderAccountType
.
FREIGHT_COUPON
.
getCode
();
break
;
case
36
:
newOrderAccountType
=
OldOrderAccountType
.
COCO_PRODUCT_CASH_COUPON
.
getCode
();
default
:
break
;
}
...
...
assortment-ordercenter-sdk/src/main/java/com/freemud/sdk/api/assortment/order/enums/OldOrderAccountType.java
View file @
3fe7d457
...
...
@@ -45,7 +45,8 @@ public enum OldOrderAccountType {
PRICE_DEDUCTION_COUPON
(
103
,
"抵价券"
,
"PRICE_DEDUCTION_COUPON"
),
TOTAL_DISCOUNT
(
205
,
"优惠总金额"
,
"TOTAL_DISCOUNT"
),
GATHER_SPOT
(
221
,
"集点活动"
,
"GATHER_SPOT"
),
MEMBER_PRICE_DISCOUNT
(
220
,
"会员价优惠"
,
"MEMBER_PRICE_DISCOUNT"
);
MEMBER_PRICE_DISCOUNT
(
220
,
"会员价优惠"
,
"MEMBER_PRICE_DISCOUNT"
),
COCO_PRODUCT_CASH_COUPON
(
36
,
"coco商品代金券"
,
"COCO_PRODUCT_CASH_COUPON"
);
private
Integer
code
;
private
String
desc
;
...
...
assortment-ordercenter-sdk/src/main/java/com/freemud/sdk/api/assortment/order/enums/QueryOrderAccountType.java
View file @
3fe7d457
...
...
@@ -45,6 +45,7 @@ public enum QueryOrderAccountType {
WITH_ORDER_BUY3_SEND1_FEE
(
"WITH_ORDER_BUY3_SEND1_FEE"
,
"随单购买3赠1券"
),
WITH_ORDER_BUY_COUPON_FEE
(
"WITH_ORDER_BUY_COUPON_FEE"
,
"随单购月卡"
),
MCCAFE_MONTH_CARD
(
"MCCAFE_MONTH_CARD"
,
"麦咖啡月卡"
),
COCO_PRODUCT_CASH_COUPON
(
"COCO_PRODUCT_CASH_COUPON"
,
"coco商品代金券"
),
;
private
String
code
;
...
...
order-application-service/pom.xml
View file @
3fe7d457
...
...
@@ -87,8 +87,8 @@
<!-- 商户门店sdk -->
<dependency>
<groupId>
com.freemud.application.service.sdk
</groupId>
<artifactId>
storecenter-sdk
</artifactId>
<version>
3.3.5-SNAPSHOT
</version>
<artifactId>
storecenter-sdk
</artifactId>
</dependency>
<dependency>
<groupId>
cn.freemud
</groupId>
...
...
order-application-service/src/main/java/cn/freemud/adapter/OrderAdapter.java
View file @
3fe7d457
...
...
@@ -1283,7 +1283,7 @@ public class OrderAdapter {
responseVo
.
setAfterRefundInterval
(
false
);
}
//商品信息转换
convent2ProductVos
(
ordersBean
.
getProductList
(),
responseVo
);
convent2ProductVos
(
ordersBean
.
getProductList
(),
responseVo
,
ordersBean
.
getCompanyId
()
);
responseVo
.
setOrderAccounts
(
convent2OrderAccountVo
(
ordersBean
.
getApportionDetails
()));
if
(
CollectionUtils
.
isNotEmpty
(
ordersBean
.
getOrderCostDetailList
()))
{
ordersBean
.
getOrderCostDetailList
().
forEach
(
o
->
{
...
...
@@ -1955,7 +1955,7 @@ public class OrderAdapter {
return
orderAccountVos
;
}
public
void
convent2ProductVos
(
List
<
QueryOrdersResponse
.
DataBean
.
OrderBean
.
ProductBean
>
productBeans
,
QueryOrderResponseVo
responseVo
)
{
public
void
convent2ProductVos
(
List
<
QueryOrdersResponse
.
DataBean
.
OrderBean
.
ProductBean
>
productBeans
,
QueryOrderResponseVo
responseVo
,
String
partnerId
)
{
if
(
CollectionUtils
.
isEmpty
(
productBeans
))
{
return
;
}
...
...
@@ -1990,16 +1990,28 @@ public class OrderAdapter {
}
if
(
ObjectUtils
.
equals
(
ProductTypeEnum
.
MATERIAL_PRODUCT
.
getCode
(),
productBean
.
getProductType
()))
{
List
<
ProductVo
>
setMaterialProducts
=
new
ArrayList
<>();
productBean
.
getMaterialProduct
().
forEach
(
product
->
{
ProductVo
material
=
convent2ProductVo
(
product
);
material
.
setOriginalTotalAmount
(
new
BigDecimal
(
material
.
getOriginalPrice
()).
multiply
(
new
BigDecimal
(
productVo
.
getQty
())).
longValue
());
material
.
setSaleTotalAmount
(
new
BigDecimal
(
material
.
getFinalPrice
()).
multiply
(
new
BigDecimal
(
productVo
.
getQty
())).
longValue
());
setMaterialProducts
.
add
(
material
);
productVo
.
setOriginalPrice
(
new
BigDecimal
(
productVo
.
getOriginalPrice
()).
add
(
new
BigDecimal
(
material
.
getOriginalPrice
())).
longValue
());
productVo
.
setFinalPrice
(
new
BigDecimal
(
productVo
.
getFinalPrice
()).
add
(
new
BigDecimal
(
material
.
getFinalPrice
())).
longValue
());
productVo
.
setOriginalTotalAmount
(
new
BigDecimal
(
productVo
.
getOriginalTotalAmount
()).
add
(
new
BigDecimal
(
material
.
getOriginalTotalAmount
())).
longValue
());
productVo
.
setSaleTotalAmount
(
new
BigDecimal
(
productVo
.
getSaleTotalAmount
()).
add
(
new
BigDecimal
(
material
.
getSaleTotalAmount
())).
longValue
());
});
if
(
mcCafePartnerId
.
equals
(
partnerId
))
{
productBean
.
getMaterialProduct
().
forEach
(
product
->
{
ProductVo
material
=
convent2ProductVo
(
product
);
setMaterialProducts
.
add
(
material
);
material
.
setOriginalTotalAmount
(
new
BigDecimal
(
material
.
getOriginalPrice
()).
multiply
(
new
BigDecimal
(
productVo
.
getQty
())).
longValue
());
material
.
setSaleTotalAmount
(
new
BigDecimal
(
material
.
getFinalPrice
()).
multiply
(
new
BigDecimal
(
productVo
.
getQty
())).
longValue
());
productVo
.
setOriginalPrice
(
new
BigDecimal
(
productVo
.
getOriginalPrice
()).
add
(
new
BigDecimal
(
material
.
getOriginalPrice
())).
longValue
());
productVo
.
setFinalPrice
(
new
BigDecimal
(
productVo
.
getFinalPrice
()).
add
(
new
BigDecimal
(
material
.
getFinalPrice
())).
longValue
());
productVo
.
setOriginalTotalAmount
(
new
BigDecimal
(
productVo
.
getOriginalTotalAmount
()).
add
(
new
BigDecimal
(
material
.
getOriginalTotalAmount
())).
longValue
());
productVo
.
setSaleTotalAmount
(
new
BigDecimal
(
productVo
.
getSaleTotalAmount
()).
add
(
new
BigDecimal
(
material
.
getSaleTotalAmount
())).
longValue
());
});
}
else
{
productBean
.
getMaterialProduct
().
forEach
(
product
->
{
ProductVo
material
=
convent2ProductVo
(
product
);
setMaterialProducts
.
add
(
material
);
productVo
.
setOriginalPrice
(
new
BigDecimal
(
productVo
.
getOriginalPrice
()).
subtract
(
new
BigDecimal
(
material
.
getOriginalPrice
())).
longValue
());
productVo
.
setFinalPrice
(
new
BigDecimal
(
productVo
.
getFinalPrice
()).
subtract
(
new
BigDecimal
(
material
.
getFinalPrice
())).
longValue
());
productVo
.
setOriginalTotalAmount
(
new
BigDecimal
(
productVo
.
getOriginalTotalAmount
()).
subtract
(
new
BigDecimal
(
material
.
getOriginalTotalAmount
())).
longValue
());
productVo
.
setSaleTotalAmount
(
new
BigDecimal
(
productVo
.
getSaleTotalAmount
()).
subtract
(
new
BigDecimal
(
product
.
getSettlementPrice
())).
longValue
());
});
}
productVo
.
setSetMaterialProducts
(
setMaterialProducts
);
}
productVos
.
add
(
productVo
);
...
...
@@ -2161,6 +2173,22 @@ public class OrderAdapter {
return
orderPayRefundRequest
;
}
public
MultiOrderRefundRequest
getMultiOrderPayRefundRequest
(
QueryOrdersResponseDto
.
DataBean
.
OrderBean
orderBean
,
Long
refundId
)
{
MultiOrderRefundRequest
multiQueryRequest
=
new
MultiOrderRefundRequest
();
multiQueryRequest
.
setStationId
(
"1"
);
multiQueryRequest
.
setPartnerId
(
orderBean
.
getCompanyId
());
multiQueryRequest
.
setStoreId
(
orderBean
.
getShopId
());
multiQueryRequest
.
setFmId
(
""
);
multiQueryRequest
.
setRefundAmount
(
orderBean
.
getAmount
());
multiQueryRequest
.
setRefundTradeNo
(
String
.
valueOf
(
refundId
));
multiQueryRequest
.
setStoreId
(
orderBean
.
getShopId
());
multiQueryRequest
.
setNotifyUrl
(
refundNotifyCallback
);
multiQueryRequest
.
setVer
(
"V1"
);
multiQueryRequest
.
setVer3
(
false
);
multiQueryRequest
.
setOutOrderNo
(
orderBean
.
getOid
());
return
multiQueryRequest
;
}
public
CancelOrderRequest
convent2CancelOrderRequest
(
String
orderId
,
String
partnerId
,
AfterSalesType
afterSalesType
,
String
reason
,
String
trackingNo
,
String
refundId
)
{
CancelOrderRequest
cancelOrderRequest
=
new
CancelOrderRequest
();
...
...
@@ -2410,7 +2438,7 @@ public class OrderAdapter {
public
CreateOrderProductRequest
convent2OrderProductDemo
(
ShoppingCartGoodsDto
.
CartGoodsDetailDto
cartGoodsDetailDto
)
{
CreateOrderProductRequest
createOrderProductDemoDto
=
new
CreateOrderProductRequest
();
createOrderProductDemoDto
.
setProductId
(
cartGoodsDetailDto
.
getSp
uId
());
createOrderProductDemoDto
.
setProductId
(
StringUtils
.
isNotBlank
(
cartGoodsDetailDto
.
getSpuId
())
?
cartGoodsDetailDto
.
getSpuId
()
:
cartGoodsDetailDto
.
getSk
uId
());
createOrderProductDemoDto
.
setProductName
(
cartGoodsDetailDto
.
getSpuName
());
createOrderProductDemoDto
.
setSpecification
(
cartGoodsDetailDto
.
getSkuId
());
createOrderProductDemoDto
.
setSpecificationName
(
cartGoodsDetailDto
.
getSkuName
());
...
...
@@ -2542,6 +2570,17 @@ public class OrderAdapter {
if
(
ActivityTypeEnum
.
TYPE_23
.
getCode
().
equals
(
activityType
)){
return
OldOrderAccountType
.
SUPER_PURCHASE
;
}
if
(
ActivityTypeEnum
.
TYPE_221
.
getCode
().
equals
(
activityType
)){
return
OldOrderAccountType
.
GATHER_SPOT
;
}
if
(
ActivityTypeEnum
.
TYPE_221
.
getCode
().
equals
(
activityType
)){
return
OldOrderAccountType
.
GATHER_SPOT
;
}
// coco商品代金券
if
(
ActivityTypeEnum
.
TYPE_36
.
getCode
().
equals
(
activityType
)){
return
OldOrderAccountType
.
COCO_PRODUCT_CASH_COUPON
;
}
return
OldOrderAccountType
.
BUYM_SENDN
;
}
...
...
@@ -3842,20 +3881,4 @@ public class OrderAdapter {
return
responseDto
;
}
public
MultiOrderRefundRequest
getMultiOrderPayRefundRequest
(
QueryOrdersResponseDto
.
DataBean
.
OrderBean
orderBean
,
Long
refundId
)
{
MultiOrderRefundRequest
multiQueryRequest
=
new
MultiOrderRefundRequest
();
multiQueryRequest
.
setStationId
(
"1"
);
multiQueryRequest
.
setPartnerId
(
orderBean
.
getCompanyId
());
multiQueryRequest
.
setStoreId
(
orderBean
.
getShopId
());
multiQueryRequest
.
setFmId
(
""
);
multiQueryRequest
.
setRefundAmount
(
orderBean
.
getAmount
());
multiQueryRequest
.
setRefundTradeNo
(
String
.
valueOf
(
refundId
));
multiQueryRequest
.
setStoreId
(
orderBean
.
getShopId
());
multiQueryRequest
.
setNotifyUrl
(
refundNotifyCallback
);
multiQueryRequest
.
setVer
(
"V1"
);
multiQueryRequest
.
setVer3
(
false
);
multiQueryRequest
.
setOutOrderNo
(
orderBean
.
getOid
());
return
multiQueryRequest
;
}
}
order-application-service/src/main/java/cn/freemud/entities/dto/QueryOrdersResponseDto.java
View file @
3fe7d457
...
...
@@ -135,6 +135,10 @@ public class QueryOrdersResponseDto {
*/
private
Integer
orderType
;
/**
* 销售类型或营销活动类型 1普通订单 2秒杀订单 3推广活动 4拼单订单
*/
private
Byte
marketingType
;
/**
* 取餐码
*/
private
String
otherCode
;
...
...
order-application-service/src/main/java/cn/freemud/enums/ActivityTypeEnum.java
View file @
3fe7d457
...
...
@@ -55,7 +55,8 @@ public enum ActivityTypeEnum {
TYPE_DELIVERY
(
901
,
"配送费"
),
TYPE_211
(
211
,
"套餐优惠"
),
TYPE_221
(
221
,
"集点活动"
),
TYPE_320
(
320
,
"会员价优惠"
);
TYPE_320
(
320
,
"会员价优惠"
),
TYPE_36
(
36
,
"coco商品代金券"
);
private
Integer
code
;
...
...
order-application-service/src/main/java/cn/freemud/enums/OrderAccountType.java
View file @
3fe7d457
...
...
@@ -28,7 +28,7 @@ public enum OrderAccountType {
CARD_ORIGINAL_AMOUNT
(
25
,
"会员卡原价"
),
CARD_DISCOUNT_AMOUNT
(
26
,
"会员卡优惠金额"
),
BUY3_SEND1
(
35
,
"买三赠1券"
),
;
COCO_PRODUCT_CASH_COUPON
(
36
,
"coco商品代金券"
)
;
private
Integer
code
;
private
String
desc
;
...
...
order-application-service/src/main/java/cn/freemud/service/coupon/impl/CocoCouponRelationServiceImpl.java
View file @
3fe7d457
This diff is collapsed.
Click to expand it.
order-application-service/src/main/java/cn/freemud/service/impl/OrderServiceImpl.java
View file @
3fe7d457
...
...
@@ -510,25 +510,27 @@ public class OrderServiceImpl implements Orderservice {
takeCode
=
payAccessResponse
.
getData
().
getTakeCode
();
daySeq
=
payAccessResponse
.
getData
().
getDaySeq
();
//TODO 清空购物车
NewShoppingCartClearDto
newShoppingCartClearDto
=
new
NewShoppingCartClearDto
();
newShoppingCartClearDto
.
setPartnerId
(
partnerId
);
newShoppingCartClearDto
.
setShopId
(
storeId
);
newShoppingCartClearDto
.
setUserId
(
userId
);
newShoppingCartClearDto
.
setAppId
(
wxappid
);
newShoppingCartClearDto
.
setSessionId
(
sessionId
);
newShoppingCartClearDto
.
setOperationType
(
1
);
shoppingCartClient
.
clearShoppingCart
(
newShoppingCartClearDto
);
// 清空拼单购物车
CollageOrderDto
collageOrderDto
=
new
CollageOrderDto
();
collageOrderDto
.
setSessionId
(
StringUtils
.
isBlank
(
sessionId
)
?
oid
:
sessionId
);
collageOrderDto
.
setPartnerId
(
partnerId
);
collageOrderDto
.
setShopId
(
storeId
);
collageOrderDto
.
setCreateCollageUserId
(
userId
);
collageOrderDto
.
setOrderCode
(
oid
);
collageOrderDto
.
setStatus
(
1
);
shoppingCartClient
.
updateCollageOrder
(
collageOrderDto
);
if
(
null
!=
orderBean
.
getMarketingType
()
&&
OrderMarketType
.
COLLAGE
.
getIndex
()
==
orderBean
.
getMarketingType
())
{
// 更新拼单购物车状态
CollageOrderDto
collageOrderDto
=
new
CollageOrderDto
();
collageOrderDto
.
setSessionId
(
StringUtils
.
isBlank
(
sessionId
)
?
oid
:
sessionId
);
collageOrderDto
.
setPartnerId
(
partnerId
);
collageOrderDto
.
setShopId
(
storeId
);
collageOrderDto
.
setCreateCollageUserId
(
userId
);
collageOrderDto
.
setOrderCode
(
oid
);
collageOrderDto
.
setStatus
(
1
);
shoppingCartClient
.
updateCollageOrder
(
collageOrderDto
);
}
else
{
//TODO 清空购物车
NewShoppingCartClearDto
newShoppingCartClearDto
=
new
NewShoppingCartClearDto
();
newShoppingCartClearDto
.
setPartnerId
(
partnerId
);
newShoppingCartClearDto
.
setShopId
(
storeId
);
newShoppingCartClearDto
.
setUserId
(
userId
);
newShoppingCartClearDto
.
setAppId
(
wxappid
);
newShoppingCartClearDto
.
setSessionId
(
sessionId
);
newShoppingCartClearDto
.
setOperationType
(
1
);
shoppingCartClient
.
clearShoppingCart
(
newShoppingCartClearDto
);
}
if
(
StringUtils
.
isNotBlank
(
daySeq
)
&&
orderExtInfoDto
!=
null
&&
!
OrderType
.
TAKE_OUT
.
getCode
().
equals
(
orderBean
.
getType
()))
{
String
storeAddress
=
StringUtils
.
isNotBlank
(
orderBean
.
getAddress
())
?
orderBean
.
getAddress
()
:
""
;
...
...
order-management/src/main/java/cn/freemud/management/service/handle/DeliveryHandle.java
View file @
3fe7d457
...
...
@@ -26,7 +26,6 @@ import com.freemud.application.sdk.api.storecenter.response.StoreResponse;
import
com.freemud.sdk.api.assortment.order.adapter.OrderSdkAdapter
;
import
com.freemud.sdk.api.assortment.order.enums.OrderSourceType
;
import
com.freemud.sdk.api.assortment.order.response.order.QueryOrdersResponse
;
import
javafx.util.Pair
;
import
org.apache.commons.lang.ObjectUtils
;
import
org.apache.commons.lang.StringUtils
;
import
org.springframework.beans.factory.annotation.Autowired
;
...
...
order-management/src/main/java/cn/freemud/management/service/impl/OrderDeliveryService.java
View file @
3fe7d457
...
...
@@ -22,7 +22,6 @@ import com.freemud.application.sdk.api.storecenter.response.StoreResponse;
import
com.freemud.application.sdk.api.storecenter.service.StoreCenterService
;
import
com.freemud.sdk.api.assortment.order.enums.OrderSourceType
;
import
com.freemud.sdk.api.assortment.order.response.order.QueryOrdersResponse
;
import
javafx.util.Pair
;
import
lombok.extern.slf4j.Slf4j
;
import
org.apache.commons.lang.ObjectUtils
;
import
org.apache.commons.lang.StringUtils
;
...
...
shopping-cart-application-service/src/main/java/cn/freemud/adapter/ShoppingCartMccafeAdapter.java
View file @
3fe7d457
...
...
@@ -127,7 +127,11 @@ public class ShoppingCartMccafeAdapter {
if
(
StringUtils
.
isEmpty
(
cartGoods
.
getCouponCode
())
&&
GoodsTypeEnum
.
SET_MEAL_GOODS
.
getGoodsType
().
equals
(
cartGoods
.
getGoodsType
()))
{
return
cartGoodsDetailDtos
;
}
else
{
cartGoodsDetailDtos
.
add
(
convertCartGoods2DetailGoods
(
cartGoods
,
apportionGoodsList
,
duplicateGoodsMap
));
ShoppingCartGoodsDto
.
CartGoodsDetailDto
cartGoodsDetailDto
=
convertCartGoods2DetailGoods
(
cartGoods
,
apportionGoodsList
,
duplicateGoodsMap
);
if
(
GoodsTypeEnum
.
SET_MEAL_GOODS
.
getGoodsType
().
equals
(
cartGoods
.
getGoodsType
()))
{
cartGoodsDetailDto
.
setComboProducts
(
this
.
convertComboxGoods2DetailGoods
(
cartGoods
,
cartGoodsDetailDto
.
getTotalDiscountAmount
()));
}
cartGoodsDetailDtos
.
add
(
cartGoodsDetailDto
);
}
return
cartGoodsDetailDtos
;
}
...
...
@@ -170,6 +174,7 @@ public class ShoppingCartMccafeAdapter {
}
else
if
(
cartGoods
.
isWeightType
())
{
cartGoodsDetailDto
.
setProductType
(
ProductType
.
WEIGHT_PRODUCT
.
getCode
());
}
//小料
if
(
CollectionUtils
.
isNotEmpty
(
cartGoods
.
getProductMaterialList
()))
{
List
<
ShoppingCartGoodsDto
.
CartGoodsDetailDto
.
MaterialGoods
>
materialList
=
new
ArrayList
<>(
0
);
...
...
shopping-cart-application-service/src/main/java/cn/freemud/service/impl/mcoffee/calculation/CalculationServiceImpl.java
View file @
3fe7d457
...
...
@@ -80,8 +80,12 @@ public class CalculationServiceImpl {
@Autowired
private
MaterialCalculation
materialCalculation
;
// @Autowired
// private ShoppingCartConvertAdapter shoppingCartConvertAdapter;
@Autowired
private
ShoppingCartMccafeAdapter
shoppingCartMccafeAdapter
;
// @Autowired
// private ItemServiceImpl itemService;
/**
* 更新购物车行优惠信息
...
...
shopping-cart-application-service/src/main/java/cn/freemud/service/impl/mcoffee/calculation/CouponDiscountCalculation.java
View file @
3fe7d457
...
...
@@ -474,32 +474,36 @@ public class CouponDiscountCalculation {
private
Long
createProductRequest
(
List
<
CartGoods
>
cartGoods
,
List
<
CouponProductVo
>
productList
)
{
Long
totalAmount
=
0L
;
for
(
CartGoods
cartGood
:
cartGoods
)
{
// 剔除商品券得商品
if
(
StringUtils
.
isEmpty
(
cartGood
.
getSkuId
())
&&
StringUtils
.
isEmpty
(
cartGood
.
getSpuId
()))
{
continue
;
}
// 剔除商品券得商品,麦咖啡逻辑
if
(
StringUtils
.
isNotEmpty
(
cartGood
.
getCouponCode
())){
continue
;
}
CouponProductVo
product
=
new
CouponProductVo
();
product
.
setKeyProductCode
(
cartGood
.
getCustomerCode
());
product
.
setProductId
(
StringUtils
.
isEmpty
(
cartGood
.
getSkuId
())
?
cartGood
.
getSpuId
()
:
cartGood
.
getSkuId
());
// 普通商品价格
product
.
setAmount
(
Integer
.
valueOf
(
cartGood
.
getOriginalPrice
()
+
""
));
// 套餐价格为: 套餐价+可选商品总价格
if
(
ObjectUtils
.
equals
(
GoodsTypeEnum
.
SET_MEAL_GOODS
.
getGoodsType
(),
cartGood
.
getGoodsType
()))
{
Long
finalPrice
=
cartGood
.
getFinalPrice
();
if
(
CollectionUtils
.
isNotEmpty
(
cartGood
.
getProductGroupList
())){
finalPrice
+=
cartGood
.
getProductGroupList
().
stream
().
mapToLong
(
group
->
group
.
getFinalPrice
()*
group
.
getQty
()).
sum
();
try
{
for
(
CartGoods
cartGood
:
cartGoods
)
{
// 剔除商品券得商品
if
(
StringUtils
.
isEmpty
(
cartGood
.
getSkuId
())
&&
StringUtils
.
isEmpty
(
cartGood
.
getSpuId
()))
{
continue
;
}
// 剔除商品券得商品,麦咖啡逻辑
if
(
StringUtils
.
isNotEmpty
(
cartGood
.
getCouponCode
())){
continue
;
}
CouponProductVo
product
=
new
CouponProductVo
();
product
.
setKeyProductCode
(
cartGood
.
getCustomerCode
());
product
.
setProductId
(
StringUtils
.
isEmpty
(
cartGood
.
getSkuId
())
?
cartGood
.
getSpuId
()
:
cartGood
.
getSkuId
());
// 普通商品价格
product
.
setAmount
(
Integer
.
valueOf
(
cartGood
.
getOriginalPrice
()
+
""
));
// 套餐价格为: 套餐价+可选商品总价格
if
(
ObjectUtils
.
equals
(
GoodsTypeEnum
.
SET_MEAL_GOODS
.
getGoodsType
(),
cartGood
.
getGoodsType
()))
{
Long
finalPrice
=
cartGood
.
getFinalPrice
();
if
(
CollectionUtils
.
isNotEmpty
(
cartGood
.
getProductGroupList
())){
finalPrice
+=
cartGood
.
getProductGroupList
().
stream
().
mapToLong
(
group
->
group
.
getFinalPrice
()*
group
.
getQty
()).
sum
();
}
product
.
setAmount
(
finalPrice
.
intValue
());
}
product
.
setAmount
(
finalPrice
.
intValue
());
// 数量
product
.
setQuantity
(
cartGood
.
getQty
());
productList
.
add
(
product
);
totalAmount
=
totalAmount
+
product
.
getAmount
()
*
cartGood
.
getQty
();
}
// 数量
product
.
setQuantity
(
cartGood
.
getQty
());
productList
.
add
(
product
);
totalAmount
=
totalAmount
+
product
.
getAmount
()
*
cartGood
.
getQty
();
}
catch
(
NumberFormatException
e
)
{
throw
new
ServiceException
(
ResponseResult
.
SYSTEM_ERROR
);
}
return
totalAmount
;
}
...
...
shopping-cart-application-service/src/main/java/cn/freemud/service/impl/mcoffee/calculation/SetMealCalculation.java
View file @
3fe7d457
...
...
@@ -108,14 +108,18 @@ public class SetMealCalculation {
}
Long
amount
=
null
!=
cartGoods
.
getFinalPrice
()
?
cartGoods
.
getFinalPrice
()*
cartGoods
.
getQty
()
+
productGroupTotalAmount
+
materialPrice
:
productGroupTotalAmount
+
productComboTotalAmount
+
materialPrice
;
//如果是商品券商品,不重新计算套餐价格
if
(
StringUtils
.
isEmpty
(
cartGoods
.
getCouponCode
()))
{
Long
amount
=
null
!=
cartGoods
.
getFinalPrice
()
?
cartGoods
.
getFinalPrice
()
*
cartGoods
.
getQty
()
+
productGroupTotalAmount
+
materialPrice
:
productGroupTotalAmount
+
productComboTotalAmount
+
materialPrice
;
cartGoods
.
setAmount
(
amount
);
}
Long
comboOriginalPriceAmount
=
null
!=
cartGoods
.
getOriginalAmount
()
?
cartGoods
.
getOriginalAmount
()
:
productComboTotalAmount
;
cartGoods
.
setOriginalAmount
(
productGroupTotalAmount
+
comboOriginalPriceAmount
+
materialPrice
);
cartGoods
.
setOriginalPrice
(
null
!=
cartGoods
.
getOriginalPrice
()
?
cartGoods
.
getOriginalPrice
()
:
productComboTotalAmount
);
cartGoods
.
setAmount
(
amount
);
cartGoods
.
setFinalPrice
(
null
!=
cartGoods
.
getFinalPrice
()
?
cartGoods
.
getFinalPrice
()
:
productComboTotalAmount
);
...
...
@@ -153,7 +157,7 @@ public class SetMealCalculation {
});
// 套餐优惠明细
for
(
CartGoods
cartGoods
:
shoppingCartGoodsResponseVo
.
getProducts
())
{
if
(
ObjectUtils
.
equals
(
GoodsTypeEnum
.
SET_MEAL_GOODS
.
getGoodsType
(),
cartGoods
.
getGoodsType
()))
{
if
(
ObjectUtils
.
equals
(
GoodsTypeEnum
.
SET_MEAL_GOODS
.
getGoodsType
(),
cartGoods
.
getGoodsType
())
&&
StringUtils
.
isBlank
(
cartGoods
.
getCouponCode
())
)
{
// discountAmount=(套餐原价-套餐售价)*数量
// productGroupDiscountAmount=可选商品现价总和
// discountAmount-productGroupDiscountAmount: 当前商品行套餐商品总优惠= 套餐原总价-套餐现总价-套餐可选商品的现总价
...
...
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