Commit 6fc3b5fc by yu.sun

Merge branch 'feature/20201228_可用券信息查询NPE修复_yu.sun' into develop

# Conflicts:
#	assortment-ordercenter-sdk/pom.xml
#	assortment-ordercenter-sdk/readme.md
#	assortment-ordercenter-sdk/src/main/java/com/freemud/sdk/api/assortment/order/adapter/OrderSdkAdapter.java
#	assortment-ordercenter-sdk/src/main/java/com/freemud/sdk/api/assortment/order/enums/QueryOrderAccountType.java
#	order-application-service/pom.xml
#	order-application-service/src/main/java/cn/freemud/adapter/OrderAdapter.java
#	order-application-service/src/main/java/cn/freemud/enums/OrderAccountType.java
parents 8805e6b5 48edeb2d
...@@ -128,4 +128,4 @@ ...@@ -128,4 +128,4 @@
</plugin> </plugin>
</plugins> </plugins>
</build> </build>
</project> </project>
\ No newline at end of file
...@@ -144,4 +144,4 @@ ...@@ -144,4 +144,4 @@
| 2.1.10-RELEASE | coco | 刘鹏飞 | 2020-12-17 | | 2.1.10-RELEASE | coco | 刘鹏飞 | 2020-12-17 |
| 2.1.11-RELEASE | 农工商添加设备号 | 梁崇福 | 2020-12-17 | | 2.1.11-RELEASE | 农工商添加设备号 | 梁崇福 | 2020-12-17 |
| 2.1.12-RELEASE | coco定制优惠券核销 | 刘鹏飞 | 2020-12-24 | | 2.1.12-RELEASE | coco定制优惠券核销 | 刘鹏飞 | 2020-12-24 |
| 2.1.26-SNAPSHOT | 增加配送类型字段 | 王航航 | 2020-12-24 | | 2.1.26-SNAPSHOT | 增加配送类型字段 | 王航航 | 2020-12-24 |
\ No newline at end of file
...@@ -1407,6 +1407,9 @@ public class OrderSdkAdapter { ...@@ -1407,6 +1407,9 @@ public class OrderSdkAdapter {
case "BUY3_SEND1": case "BUY3_SEND1":
type=35; type=35;
break; break;
case "COCO_PRODUCT_CASH_COUPON":
type=36;
break;
default: default:
break; break;
} }
...@@ -2017,6 +2020,8 @@ public class OrderSdkAdapter { ...@@ -2017,6 +2020,8 @@ public class OrderSdkAdapter {
case 99: case 99:
newOrderAccountType=OldOrderAccountType.FREIGHT_COUPON.getCode(); newOrderAccountType=OldOrderAccountType.FREIGHT_COUPON.getCode();
break; break;
case 36:
newOrderAccountType=OldOrderAccountType.COCO_PRODUCT_CASH_COUPON.getCode();
default: default:
break; break;
} }
......
...@@ -45,7 +45,8 @@ public enum OldOrderAccountType { ...@@ -45,7 +45,8 @@ public enum OldOrderAccountType {
PRICE_DEDUCTION_COUPON(103, "抵价券", "PRICE_DEDUCTION_COUPON"), PRICE_DEDUCTION_COUPON(103, "抵价券", "PRICE_DEDUCTION_COUPON"),
TOTAL_DISCOUNT(205, "优惠总金额", "TOTAL_DISCOUNT"), TOTAL_DISCOUNT(205, "优惠总金额", "TOTAL_DISCOUNT"),
GATHER_SPOT(221, "集点活动","GATHER_SPOT"), 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 Integer code;
private String desc; private String desc;
......
...@@ -45,6 +45,7 @@ public enum QueryOrderAccountType { ...@@ -45,6 +45,7 @@ public enum QueryOrderAccountType {
WITH_ORDER_BUY3_SEND1_FEE("WITH_ORDER_BUY3_SEND1_FEE", "随单购买3赠1券"), WITH_ORDER_BUY3_SEND1_FEE("WITH_ORDER_BUY3_SEND1_FEE", "随单购买3赠1券"),
WITH_ORDER_BUY_COUPON_FEE("WITH_ORDER_BUY_COUPON_FEE", "随单购月卡"), WITH_ORDER_BUY_COUPON_FEE("WITH_ORDER_BUY_COUPON_FEE", "随单购月卡"),
MCCAFE_MONTH_CARD("MCCAFE_MONTH_CARD","麦咖啡月卡"), MCCAFE_MONTH_CARD("MCCAFE_MONTH_CARD","麦咖啡月卡"),
COCO_PRODUCT_CASH_COUPON("COCO_PRODUCT_CASH_COUPON", "coco商品代金券"),
; ;
private String code; private String code;
......
...@@ -87,8 +87,8 @@ ...@@ -87,8 +87,8 @@
<!-- 商户门店sdk --> <!-- 商户门店sdk -->
<dependency> <dependency>
<groupId>com.freemud.application.service.sdk</groupId> <groupId>com.freemud.application.service.sdk</groupId>
<artifactId>storecenter-sdk</artifactId>
<version>3.3.5-SNAPSHOT</version> <version>3.3.5-SNAPSHOT</version>
<artifactId>storecenter-sdk</artifactId>
</dependency> </dependency>
<dependency> <dependency>
<groupId>cn.freemud</groupId> <groupId>cn.freemud</groupId>
......
...@@ -1990,16 +1990,28 @@ public class OrderAdapter { ...@@ -1990,16 +1990,28 @@ public class OrderAdapter {
} }
if (ObjectUtils.equals(ProductTypeEnum.MATERIAL_PRODUCT.getCode(), productBean.getProductType())) { if (ObjectUtils.equals(ProductTypeEnum.MATERIAL_PRODUCT.getCode(), productBean.getProductType())) {
List<ProductVo> setMaterialProducts = new ArrayList<>(); List<ProductVo> setMaterialProducts = new ArrayList<>();
productBean.getMaterialProduct().forEach(product -> { if(mcCafePartnerId.equals(partnerId)) {
ProductVo material = convent2ProductVo(product); productBean.getMaterialProduct().forEach(product -> {
material.setOriginalTotalAmount(new BigDecimal(material.getOriginalPrice()).multiply(new BigDecimal(productVo.getQty())).longValue()); ProductVo material = convent2ProductVo(product);
material.setSaleTotalAmount(new BigDecimal(material.getFinalPrice()).multiply(new BigDecimal(productVo.getQty())).longValue()); setMaterialProducts.add(material);
setMaterialProducts.add(material); material.setOriginalTotalAmount(new BigDecimal(material.getOriginalPrice()).multiply(new BigDecimal(productVo.getQty())).longValue());
productVo.setOriginalPrice(new BigDecimal(productVo.getOriginalPrice()).add(new BigDecimal(material.getOriginalPrice())).longValue()); material.setSaleTotalAmount(new BigDecimal(material.getFinalPrice()).multiply(new BigDecimal(productVo.getQty())).longValue());
productVo.setFinalPrice(new BigDecimal(productVo.getFinalPrice()).add(new BigDecimal(material.getFinalPrice())).longValue()); productVo.setOriginalPrice(new BigDecimal(productVo.getOriginalPrice()).add(new BigDecimal(material.getOriginalPrice())).longValue());
productVo.setOriginalTotalAmount(new BigDecimal(productVo.getOriginalTotalAmount()).add(new BigDecimal(material.getOriginalTotalAmount())).longValue()); productVo.setFinalPrice(new BigDecimal(productVo.getFinalPrice()).add(new BigDecimal(material.getFinalPrice())).longValue());
productVo.setSaleTotalAmount(new BigDecimal(productVo.getSaleTotalAmount()).add(new BigDecimal(material.getSaleTotalAmount())).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); productVo.setSetMaterialProducts(setMaterialProducts);
} }
productVos.add(productVo); productVos.add(productVo);
...@@ -2161,6 +2173,22 @@ public class OrderAdapter { ...@@ -2161,6 +2173,22 @@ public class OrderAdapter {
return orderPayRefundRequest; 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, public CancelOrderRequest convent2CancelOrderRequest(String orderId, String partnerId, AfterSalesType afterSalesType,
String reason, String trackingNo, String refundId) { String reason, String trackingNo, String refundId) {
CancelOrderRequest cancelOrderRequest = new CancelOrderRequest(); CancelOrderRequest cancelOrderRequest = new CancelOrderRequest();
...@@ -2410,7 +2438,7 @@ public class OrderAdapter { ...@@ -2410,7 +2438,7 @@ public class OrderAdapter {
public CreateOrderProductRequest convent2OrderProductDemo(ShoppingCartGoodsDto.CartGoodsDetailDto cartGoodsDetailDto) { public CreateOrderProductRequest convent2OrderProductDemo(ShoppingCartGoodsDto.CartGoodsDetailDto cartGoodsDetailDto) {
CreateOrderProductRequest createOrderProductDemoDto = new CreateOrderProductRequest(); CreateOrderProductRequest createOrderProductDemoDto = new CreateOrderProductRequest();
createOrderProductDemoDto.setProductId(cartGoodsDetailDto.getSpuId()); createOrderProductDemoDto.setProductId(StringUtils.isNotBlank(cartGoodsDetailDto.getSpuId()) ? cartGoodsDetailDto.getSpuId() : cartGoodsDetailDto.getSkuId());
createOrderProductDemoDto.setProductName(cartGoodsDetailDto.getSpuName()); createOrderProductDemoDto.setProductName(cartGoodsDetailDto.getSpuName());
createOrderProductDemoDto.setSpecification(cartGoodsDetailDto.getSkuId()); createOrderProductDemoDto.setSpecification(cartGoodsDetailDto.getSkuId());
createOrderProductDemoDto.setSpecificationName(cartGoodsDetailDto.getSkuName()); createOrderProductDemoDto.setSpecificationName(cartGoodsDetailDto.getSkuName());
...@@ -2542,6 +2570,17 @@ public class OrderAdapter { ...@@ -2542,6 +2570,17 @@ public class OrderAdapter {
if (ActivityTypeEnum.TYPE_23.getCode().equals(activityType)){ if (ActivityTypeEnum.TYPE_23.getCode().equals(activityType)){
return OldOrderAccountType.SUPER_PURCHASE; 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; return OldOrderAccountType.BUYM_SENDN;
} }
......
...@@ -55,7 +55,8 @@ public enum ActivityTypeEnum { ...@@ -55,7 +55,8 @@ public enum ActivityTypeEnum {
TYPE_DELIVERY(901, "配送费"), TYPE_DELIVERY(901, "配送费"),
TYPE_211(211, "套餐优惠"), TYPE_211(211, "套餐优惠"),
TYPE_221(221, "集点活动"), TYPE_221(221, "集点活动"),
TYPE_320(320, "会员价优惠"); TYPE_320(320, "会员价优惠"),
TYPE_36(36, "coco商品代金券");
private Integer code; private Integer code;
......
...@@ -28,7 +28,7 @@ public enum OrderAccountType { ...@@ -28,7 +28,7 @@ public enum OrderAccountType {
CARD_ORIGINAL_AMOUNT(25, "会员卡原价"), CARD_ORIGINAL_AMOUNT(25, "会员卡原价"),
CARD_DISCOUNT_AMOUNT(26, "会员卡优惠金额"), CARD_DISCOUNT_AMOUNT(26, "会员卡优惠金额"),
BUY3_SEND1(35, "买三赠1券"), BUY3_SEND1(35, "买三赠1券"),
; COCO_PRODUCT_CASH_COUPON(36, "coco商品代金券");
private Integer code; private Integer code;
private String desc; private String desc;
......
...@@ -474,32 +474,36 @@ public class CouponDiscountCalculation { ...@@ -474,32 +474,36 @@ public class CouponDiscountCalculation {
private Long createProductRequest(List<CartGoods> cartGoods, List<CouponProductVo> productList) { private Long createProductRequest(List<CartGoods> cartGoods, List<CouponProductVo> productList) {
Long totalAmount = 0L; Long totalAmount = 0L;
for (CartGoods cartGood : cartGoods) { try {
// 剔除商品券得商品 for (CartGoods cartGood : cartGoods) {
if (StringUtils.isEmpty(cartGood.getSkuId()) && StringUtils.isEmpty(cartGood.getSpuId())) { // 剔除商品券得商品
continue; if (StringUtils.isEmpty(cartGood.getSkuId()) && StringUtils.isEmpty(cartGood.getSpuId())) {
} continue;
// 剔除商品券得商品,麦咖啡逻辑 }
if(StringUtils.isNotEmpty(cartGood.getCouponCode())){ // 剔除商品券得商品,麦咖啡逻辑
continue; if(StringUtils.isNotEmpty(cartGood.getCouponCode())){
} continue;
CouponProductVo product = new CouponProductVo(); }
product.setKeyProductCode(cartGood.getCustomerCode()); CouponProductVo product = new CouponProductVo();
product.setProductId(StringUtils.isEmpty(cartGood.getSkuId()) ? cartGood.getSpuId() : cartGood.getSkuId()); product.setKeyProductCode(cartGood.getCustomerCode());
// 普通商品价格 product.setProductId(StringUtils.isEmpty(cartGood.getSkuId()) ? cartGood.getSpuId() : cartGood.getSkuId());
product.setAmount(Integer.valueOf(cartGood.getOriginalPrice() + "")); // 普通商品价格
// 套餐价格为: 套餐价+可选商品总价格 product.setAmount(Integer.valueOf(cartGood.getOriginalPrice() + ""));
if (ObjectUtils.equals(GoodsTypeEnum.SET_MEAL_GOODS.getGoodsType(), cartGood.getGoodsType())) { // 套餐价格为: 套餐价+可选商品总价格
Long finalPrice = cartGood.getFinalPrice(); if (ObjectUtils.equals(GoodsTypeEnum.SET_MEAL_GOODS.getGoodsType(), cartGood.getGoodsType())) {
if (CollectionUtils.isNotEmpty(cartGood.getProductGroupList())){ Long finalPrice = cartGood.getFinalPrice();
finalPrice+=cartGood.getProductGroupList().stream().mapToLong(group->group.getFinalPrice()*group.getQty()).sum(); 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();
} }
// 数量 } catch (NumberFormatException e) {
product.setQuantity(cartGood.getQty()); throw new ServiceException(ResponseResult.SYSTEM_ERROR);
productList.add(product);
totalAmount = totalAmount +product.getAmount() * cartGood.getQty();
} }
return totalAmount; return totalAmount;
} }
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment