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
4c361c14
Commit
4c361c14
authored
Sep 25, 2020
by
xiaoer.li@freemud.com
Browse files
Options
Browse Files
Download
Plain Diff
Merge remote-tracking branch 'origin/qa' into qa
parents
1146b4b3
861b8bac
Hide whitespace changes
Inline
Side-by-side
Showing
6 changed files
with
120 additions
and
26 deletions
+120
-26
order-application-service/src/main/java/cn/freemud/adapter/OrderAdapter.java
+59
-1
order-application-service/src/test/java/cn/freemud/service/impl/MallOrderServiceImplTest.java
+17
-0
shopping-cart-application-service/src/main/java/cn/freemud/service/impl/mcoffee/ShoppingCartMCoffeeServiceImpl.java
+26
-12
shopping-cart-application-service/src/main/java/cn/freemud/service/impl/mcoffee/calculation/CalculationServiceImpl.java
+12
-12
shopping-cart-application-service/src/main/java/cn/freemud/service/impl/mcoffee/calculation/CouponDiscountCalculation.java
+1
-1
shopping-cart-application-service/src/test/java/cn.freemud/service/ShoppingCartMealServiceTest.java
+5
-0
No files found.
order-application-service/src/main/java/cn/freemud/adapter/OrderAdapter.java
View file @
4c361c14
...
...
@@ -167,7 +167,12 @@ public class OrderAdapter {
for
(
ShoppingCartGoodsDto
.
CartGoodsDetailDto
cartGoodsDetailDto
:
cartGoodsDetailDtos
)
{
Integer
qty
=
cartGoodsDetailDto
.
getQty
();
if
(
qty
>
0
)
{
CreateOrderProductRequest
createOrderProductDto
=
convent2OrderProduct
(
cartGoodsDetailDto
);
CreateOrderProductRequest
createOrderProductDto
=
null
;
if
(
mcCafePartnerId
.
equals
(
createOrderDto
.
getCompanyId
()))
{
createOrderProductDto
=
convent2MCCafeOrderProduct
(
cartGoodsDetailDto
);
}
else
{
createOrderProductDto
=
convent2OrderProduct
(
cartGoodsDetailDto
);
}
createOrderProductDto
.
setIgnoreProductPrice
(
1
);
products
.
add
(
createOrderProductDto
);
if
(
CollectionUtils
.
isNotEmpty
(
cartGoodsDetailDto
.
getActivityDiscountsDtos
()))
{
...
...
@@ -2144,6 +2149,30 @@ public class OrderAdapter {
return
createOrderProductDemoDto
;
}
public
CreateOrderProductRequest
convent2MCCafeOrderProduct
(
ShoppingCartGoodsDto
.
CartGoodsDetailDto
cartGoodsDetailDto
)
{
CreateOrderProductRequest
createOrderProductDemoDto
=
convent2MCCafeOrderProductDemo
(
cartGoodsDetailDto
);
//套餐
if
(
cartGoodsDetailDto
.
getProductType
()
!=
null
&&
(
cartGoodsDetailDto
.
getProductType
()
==
ProductType
.
SETMEALPRODUCT
.
getCode
()
||
cartGoodsDetailDto
.
getProductType
()
==
ProductType
.
SETMEALPRODUCT_UPPRICE
.
getCode
()))
{
List
<
CreateOrderProductRequest
>
comboProducts
=
new
ArrayList
<>();
cartGoodsDetailDto
.
getComboProducts
().
forEach
(
product
->
{
comboProducts
.
add
(
convent2OrderProductDemo
(
product
));
});
createOrderProductDemoDto
.
setComboProduct
(
comboProducts
);
}
//加料商品
if
(
cartGoodsDetailDto
.
getProductType
()
!=
null
&&
(
cartGoodsDetailDto
.
getProductType
()
==
ProductType
.
MATERIALPRODUCT_UPPRICE
.
getCode
()))
{
List
<
CreateOrderProductRequest
>
materialProducts
=
new
ArrayList
<>();
cartGoodsDetailDto
.
getMaterialList
().
forEach
(
product
->
{
materialProducts
.
add
(
convent2OrderProductMaterial
(
product
));
});
createOrderProductDemoDto
.
setMaterialProduct
(
materialProducts
);
}
createOrderProductDemoDto
.
setProductType
(
cartGoodsDetailDto
.
getProductType
());
return
createOrderProductDemoDto
;
}
private
CreateOrderProductRequest
convent2OrderProductMaterial
(
ShoppingCartGoodsDto
.
CartGoodsDetailDto
cartGoodsDetailDto
)
{
CreateOrderProductRequest
createOrderProductDemoDto
=
new
CreateOrderProductRequest
();
createOrderProductDemoDto
.
setProductId
(
cartGoodsDetailDto
.
getSpuId
());
...
...
@@ -2203,6 +2232,35 @@ public class OrderAdapter {
return
createOrderProductDemoDto
;
}
public
CreateOrderProductRequest
convent2MCCafeOrderProductDemo
(
ShoppingCartGoodsDto
.
CartGoodsDetailDto
cartGoodsDetailDto
)
{
CreateOrderProductRequest
createOrderProductDemoDto
=
new
CreateOrderProductRequest
();
createOrderProductDemoDto
.
setProductId
(
cartGoodsDetailDto
.
getSpuId
());
createOrderProductDemoDto
.
setProductName
(
cartGoodsDetailDto
.
getSpuName
());
createOrderProductDemoDto
.
setSpecification
(
cartGoodsDetailDto
.
getSkuId
());
createOrderProductDemoDto
.
setSpecificationName
(
cartGoodsDetailDto
.
getSkuName
());
createOrderProductDemoDto
.
setPrice
(
0
l
);
createOrderProductDemoDto
.
setSalePrice
(
cartGoodsDetailDto
.
getOriginalPrice
());
createOrderProductDemoDto
.
setTotalDiscountAmount
(
cartGoodsDetailDto
.
getTotalDiscountAmount
()
==
null
?
0
:
cartGoodsDetailDto
.
getTotalDiscountAmount
().
longValue
());
createOrderProductDemoDto
.
setNumber
(
cartGoodsDetailDto
.
getQty
());
createOrderProductDemoDto
.
setPicture
(
cartGoodsDetailDto
.
getPicture
());
createOrderProductDemoDto
.
setAddInfo
(
cartGoodsDetailDto
.
getAttributeNames
());
createOrderProductDemoDto
.
setDiscountId
(
cartGoodsDetailDto
.
getCouponCode
());
createOrderProductDemoDto
.
setProductType
(
cartGoodsDetailDto
.
getProductType
());
createOrderProductDemoDto
.
setParentProductId
(
cartGoodsDetailDto
.
getParentProductId
());
createOrderProductDemoDto
.
setIsFixedProduct
(
cartGoodsDetailDto
.
getIsFixedProduct
());
createOrderProductDemoDto
.
setCustomerCode
(
cartGoodsDetailDto
.
getCustomerCode
());
createOrderProductDemoDto
.
setProductCode
(
cartGoodsDetailDto
.
getProductCode
());
createOrderProductDemoDto
.
setHasStockProudct
(
cartGoodsDetailDto
.
isStockLimit
());
createOrderProductDemoDto
.
setWeight
(
cartGoodsDetailDto
.
getWeight
());
createOrderProductDemoDto
.
setUnit
(
cartGoodsDetailDto
.
getUnit
());
createOrderProductDemoDto
.
setStapleFood
(
0
);
createOrderProductDemoDto
.
setTax
(
cartGoodsDetailDto
.
getTax
());
createOrderProductDemoDto
.
setTaxId
(
cartGoodsDetailDto
.
getTaxId
());
createOrderProductDemoDto
.
setClassificationId
(
cartGoodsDetailDto
.
getClassificationId
());
createOrderProductDemoDto
.
setClassificationName
(
cartGoodsDetailDto
.
getClassificationName
());
return
createOrderProductDemoDto
;
}
/**
* 将促销的枚举 ActivityTypeEnum 和orderAccountType 关联映射
*/
...
...
order-application-service/src/test/java/cn/freemud/service/impl/MallOrderServiceImplTest.java
View file @
4c361c14
package
cn
.
freemud
.
service
.
impl
;
import
cn.freemud.entities.dto.shoppingCart.ShoppingCartGoodsDto
;
import
cn.freemud.entities.vo.CreateOrderVo
;
import
cn.freemud.entities.vo.OrderAffirmRequestVO
;
import
cn.freemud.entities.vo.PaysuccessNoticeMessage
;
import
cn.freemud.utils.ValidationCode
;
import
com.alibaba.fastjson.JSON
;
import
com.freemud.application.sdk.api.ordercenter.enums.OrderClientType
;
import
com.freemud.application.sdk.api.ordercenter.request.OrderExtendedReq
;
import
com.freemud.application.sdk.api.storecenter.response.StoreResponse
;
import
org.junit.After
;
import
org.junit.Before
;
import
org.junit.Test
;
...
...
@@ -24,6 +30,9 @@ public class MallOrderServiceImplTest {
@Autowired
private
MallOrderServiceImpl
mallOrderService
;
@Autowired
private
MCCafeOrderServiceImpl
mcCafeOrderService
;
@Before
public
void
before
()
throws
Exception
{
...
...
@@ -33,6 +42,14 @@ public class MallOrderServiceImplTest {
public
void
after
()
throws
Exception
{
}
@Test
public
void
f1
()
{
mcCafeOrderService
.
createOrder
(
JSON
.
parseObject
(
"{\"channelType\":\"saas\",\"couponCode\":\"\",\"menuType\":\"saasdelivery\",\"needInvoice\":0,\"needTableware\":0,\"orderRemark\":\"\",\"orderType\":2,\"partnerId\":\"1206\",\"payChannelType\":1,\"receiveId\":\"3599568180562003060\",\"sessionId\":\"c4377678dbcbd6cdf6e7df86ea112b6f82723023\",\"shopId\":\"1450026\",\"takeMealFlag\":\"0\"}"
,
CreateOrderVo
.
class
),
new
StoreResponse
.
BizVO
(),
JSON
.
parseObject
(
"{\"activityDiscountsDtos\":[],\"deliveryAmount\":10,\"discountDeliveryAmount\":10,\"isDiscountDelivery\":false,\"originalTotalAmount\":4400,\"packageAmount\":0,\"products\":[{\"activityDiscountsDtos\":[],\"attributeNames\":\"{\\\"attributeNames\\\":\\\"\\\"}\",\"cartGoodsUid\":\"eb8c7260-8ecb-44d1-9234-8d8bed0b0875\",\"classificationId\":\"\",\"classificationName\":\"\",\"comboProducts\":[{\"attributeNames\":\"{\\\"attributeNames\\\":\\\"\\\"}\",\"customerCode\":\"501642\",\"extraList\":[],\"hasProductCoupon\":false,\"isFixedProduct\":false,\"materialList\":[],\"originalPrice\":1700,\"parentProductId\":\"184437853099519288\",\"picture\":\"https://picture.sandload.cn/1598678546485.png\",\"productType\":6,\"qty\":2,\"skuId\":\"184437494035639613\",\"skuName\":\"中杯热美式\",\"spuId\":\"184437494035639613\",\"spuName\":\"中杯热美式\",\"stockLimit\":false,\"tax\":0.01,\"taxId\":\"\",\"totalDiscountAmount\":0,\"unit\":\"\",\"weight\":0.0},{\"attributeNames\":\"{\\\"attributeNames\\\":\\\"\\\"}\",\"customerCode\":\"901290\",\"extraList\":[],\"hasProductCoupon\":false,\"isFixedProduct\":false,\"materialList\":[],\"originalPrice\":500,\"parentProductId\":\"184437853099519288\",\"picture\":\"https://picture.sandload.cn/1598677404074.png\",\"productType\":6,\"qty\":2,\"skuId\":\"184436294373469463\",\"skuName\":\"经典芝士蛋糕\",\"spuId\":\"184436294373469463\",\"spuName\":\"经典芝士蛋糕\",\"stockLimit\":false,\"tax\":0.01,\"taxId\":\"\",\"totalDiscountAmount\":0,\"unit\":\"\",\"weight\":0.0}],\"customerCode\":\"901280\",\"extraList\":[],\"hasProductCoupon\":false,\"materialList\":[],\"originalPrice\":4400,\"picture\":\"https://picture.sandload.cn/1598678861518.png\",\"productCode\":\"901280\",\"productType\":6,\"qty\":2,\"salePrice\":4400,\"skuId\":\"184437853099519288\",\"skuName\":\"早餐啡常搭\",\"spuId\":\"184437853099519288\",\"spuName\":\"早餐啡常搭\",\"stockLimit\":false,\"tax\":0.01,\"taxId\":\"\",\"totalDiscountAmount\":0,\"unit\":\"\",\"weight\":0.0}],\"shareDiscountActivityDtos\":[],\"totalAmount\":4400,\"totalDiscountAmount\":0}"
,
ShoppingCartGoodsDto
.
class
),
new
OrderExtendedReq
(),
OrderClientType
.
SAAS
,
"www"
);
}
@Test
public
void
testPaySuccess
()
{
...
...
shopping-cart-application-service/src/main/java/cn/freemud/service/impl/mcoffee/ShoppingCartMCoffeeServiceImpl.java
View file @
4c361c14
...
...
@@ -20,6 +20,7 @@ import cn.freemud.service.impl.mcoffee.calculation.CalculationServiceImpl;
import
cn.freemud.service.impl.mcoffee.calculation.CouponDiscountCalculation
;
import
cn.freemud.service.impl.mcoffee.entity.CopyShoppingCartRequestVo
;
import
cn.freemud.service.impl.mcoffee.entity.CouponAvailableReq
;
import
cn.freemud.service.impl.mcoffee.entity.CouponState
;
import
cn.freemud.service.impl.mcoffee.entity.MCoffeeAddGoodsRequestVo
;
import
cn.freemud.service.impl.mcoffee.entity.SwitchShoppingCartRequestVo
;
import
cn.freemud.service.thirdparty.CustomerApplicationClient
;
...
...
@@ -38,6 +39,7 @@ import com.freemud.sdk.api.assortment.shoppingcart.constant.CommonsConstant;
import
com.freemud.sdk.api.assortment.shoppingcart.enums.BusinessTypeEnum
;
import
com.freemud.sdk.api.assortment.shoppingcart.request.CheckCartRequest
;
import
com.freemud.sdk.api.assortment.shoppingcart.service.impl.ShoppingCartBaseServiceImpl
;
import
com.google.common.collect.Lists
;
import
lombok.extern.slf4j.Slf4j
;
import
org.apache.commons.collections4.CollectionUtils
;
import
org.apache.commons.lang.ObjectUtils
;
...
...
@@ -305,18 +307,6 @@ public class ShoppingCartMCoffeeServiceImpl {
Integer
orderType
=
shoppingCartInfoRequestVo
.
getOrderType
();
String
receiveId
=
shoppingCartInfoRequestVo
.
getReceiveId
();
// /**
// * 如果couponCode为空,则从缓存里尝试获取
// * 如果couponCode不为空,则设置到缓存里
// */
// if(StringUtils.isEmpty(couponCode)) {
// couponCode = assortmentSdkService.getShoppingCartCoupon(partnerId, storeId, userId, shoppingCartBaseService);
// //TODO 校验券是否可用,不可用要删除
// } else {
// assortmentSdkService.setShoppingCartCouponCode(partnerId, storeId, userId, couponCode, shoppingCartBaseService);
// }
// 获取购物车商品
List
<
CartGoods
>
cartGoodsList
=
assortmentSdkService
.
getShoppingCart
(
partnerId
,
storeId
,
userId
,
sessionId
,
""
,
shoppingCartBaseService
);
...
...
@@ -327,6 +317,30 @@ public class ShoppingCartMCoffeeServiceImpl {
// 重新存储最新购物车
assortmentSdkService
.
setShoppingCart
(
partnerId
,
storeId
,
userId
,
cartGoodsList
,
sessionId
,
""
,
shoppingCartBaseService
);
}
/**
* 如果couponCode为空,则从缓存里尝试获取
* 如果couponCode不为空,则设置到缓存里
*/
// if(StringUtils.isEmpty(couponCode)) {
// couponCode = assortmentSdkService.getShoppingCartCoupon(partnerId, storeId, userId, shoppingCartBaseService);
// if(StringUtils.isNotEmpty(couponCode)) {
// List<CouponState> couponStates = couponDiscountCalculation.buildAvailableCoupons(cartGoodsList, partnerId, storeId, Lists.newArrayList(couponCode));
// if(CollectionUtils.isNotEmpty(couponStates)) {
// if(Objects.equals(couponStates.get(0).getState(), CouponStateEnum.STATE_1.getCode())) {
// couponCode = "";
// }
// } else {
// couponCode = "";
// }
// }
// } else {
// if("remove".equals(couponCode)) {
// couponCode = "";
// }
// assortmentSdkService.setShoppingCartCouponCode(partnerId, storeId, userId, couponCode, shoppingCartBaseService);
// }
// 当couponCode不为空时,需参与价格计算
List
<
ActivityCalculationDiscountRequestDto
.
CalculationDiscountCoupon
>
coupons
=
getCoupon
(
couponCode
,
null
,
cartGoodsList
);
...
...
shopping-cart-application-service/src/main/java/cn/freemud/service/impl/mcoffee/calculation/CalculationServiceImpl.java
View file @
4c361c14
...
...
@@ -205,18 +205,18 @@ public class CalculationServiceImpl {
}
//订单级别券优惠
for
(
ActivityCalculationDiscountResponseDto
.
CalculationDiscountResult
.
CouponResults
discount
:
calculationDiscountResult
.
getCouponDiscounts
())
{
int
discountAmount
=
(
discount
.
getDiscountAmount
()
==
null
)
?
0
:
discount
.
getDiscountAmount
();
Integer
discountType
=
discount
.
getActivityType
();
if
(
discountType
!=
null
&&
discountAmount
>
0
)
{
ActivityDiscountsDto
activityDiscountsDto
=
new
ActivityDiscountsDto
();
activityDiscountsDto
.
setActivityCode
(
discount
.
getCouponCode
());
activityDiscountsDto
.
setActivityName
(
discount
.
getActivityName
());
activityDiscountsDto
.
setActivityType
(
discountType
);
activityDiscountsDto
.
setDiscountAmount
(
0
-
discountAmount
);
activityDiscountsDtos
.
add
(
activityDiscountsDto
);
}
}
//
for (ActivityCalculationDiscountResponseDto.CalculationDiscountResult.CouponResults discount : calculationDiscountResult.getCouponDiscounts()) {
//
int discountAmount = (discount.getDiscountAmount() == null) ? 0 : discount.getDiscountAmount();
//
Integer discountType = discount.getActivityType();
//
if (discountType != null && discountAmount > 0) {
//
ActivityDiscountsDto activityDiscountsDto = new ActivityDiscountsDto();
//
activityDiscountsDto.setActivityCode(discount.getCouponCode());
//
activityDiscountsDto.setActivityName(discount.getActivityName());
//
activityDiscountsDto.setActivityType(discountType);
//
activityDiscountsDto.setDiscountAmount(0 - discountAmount);
//
activityDiscountsDtos.add(activityDiscountsDto);
//
}
//
}
//过滤出加价购
List
<
ActivityCalculationDiscountResponseDto
.
CalculationDiscountResult
.
Discount
>
addMoneyDiscounts
=
discounts
.
stream
().
filter
(
discount
->
ActivityTypeEnum
.
TYPE_81
.
getCode
().
equals
(
discount
.
getType
())).
collect
(
Collectors
.
toList
());
...
...
shopping-cart-application-service/src/main/java/cn/freemud/service/impl/mcoffee/calculation/CouponDiscountCalculation.java
View file @
4c361c14
...
...
@@ -274,7 +274,7 @@ public class CouponDiscountCalculation {
p
rivate
List
<
CouponState
>
buildAvailableCoupons
(
List
<
CartGoods
>
cartGoods
,
String
partnerId
,
String
storeId
,
List
<
String
>
couponCodes
)
{
p
ublic
List
<
CouponState
>
buildAvailableCoupons
(
List
<
CartGoods
>
cartGoods
,
String
partnerId
,
String
storeId
,
List
<
String
>
couponCodes
)
{
// String appSecret = getAppSecret(partnerId);
// 最大15一提交
int
maxNum
=
15
;
...
...
shopping-cart-application-service/src/test/java/cn.freemud/service/ShoppingCartMealServiceTest.java
View file @
4c361c14
...
...
@@ -55,6 +55,11 @@ public class ShoppingCartMealServiceTest {
}
@Test
public
void
t2
()
{
shoppingCartMCoffeeService
.
getShoppingCartGoods
(
JSON
.
parseObject
(
"{\"shoppingCartInfoRequestVo\":{\"flag\":0,\"menuType\":\"saas\",\"orderType\":1,\"partnerId\":\"1206\",\"reachStoreType\":5,\"receiveId\":\"\",\"sessionId\":\"eac51b0d36095d85659f2c89b49e5623ff9e4f1e\",\"shopId\":\"1450026\"}}"
,
GetShoppingCartGoodsApportionRequestVo
.
class
));
}
@Test
public
void
addGoods
()
{
add
(
"testMealDE"
);
}
...
...
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