Commit d90a4af7 by ping.wu

Merge branch '2020/10/06-随单购买月享卡-huiyang' of…

Merge branch '2020/10/06-随单购买月享卡-huiyang' of http://gitlab.freemud.com/order-group-application/order-group into 2020/10/06-随单购买月享卡-huiyang
parents 65ffaf1f 50372a83
...@@ -380,7 +380,8 @@ public class OrderSdkAdapter { ...@@ -380,7 +380,8 @@ public class OrderSdkAdapter {
//老订单服务 1=配送费;3=包装费 //老订单服务 1=配送费;3=包装费
if (QueryOrderAccountType.DELIVERY_AMOUNT.equals(accountRequest.getAccountType()) if (QueryOrderAccountType.DELIVERY_AMOUNT.equals(accountRequest.getAccountType())
|| QueryOrderAccountType.PACK_AMOUNT.equals(accountRequest.getAccountType()) || QueryOrderAccountType.PACK_AMOUNT.equals(accountRequest.getAccountType())
|| QueryOrderAccountType.CARD_ORIGINAL_AMOUNT.equals(accountRequest.getAccountType())) { || QueryOrderAccountType.CARD_ORIGINAL_AMOUNT.equals(accountRequest.getAccountType())
|| QueryOrderAccountType.MCCAFE_MONTH_CARD.equals(accountRequest.getAccountType())) {
OrderCostCreateReq orderCostCreateReq = new OrderCostCreateReq(); OrderCostCreateReq orderCostCreateReq = new OrderCostCreateReq();
orderCostCreateReq.setCostName(accountRequest.getName()); orderCostCreateReq.setCostName(accountRequest.getName());
//新订单服务 1=包装费,2=运费,3=餐盒单价,4=餐盒数量 //新订单服务 1=包装费,2=运费,3=餐盒单价,4=餐盒数量
...@@ -420,7 +421,7 @@ public class OrderSdkAdapter { ...@@ -420,7 +421,7 @@ public class OrderSdkAdapter {
* @return * @return
*/ */
private Integer getCostType(QueryOrderAccountType queryOrderAccountType) { private Integer getCostType(QueryOrderAccountType queryOrderAccountType) {
// 订单费用类型 1=包装费,2=运费,3=餐盒单价,4=餐盒数量,5=会员卡费用 // 订单费用类型 1=包装费,2=运费,3=餐盒单价,4=餐盒数量,5=会员卡费用,10=麦咖啡月卡
Integer type = 0; Integer type = 0;
String code = queryOrderAccountType.getCode(); String code = queryOrderAccountType.getCode();
...@@ -434,6 +435,9 @@ public class OrderSdkAdapter { ...@@ -434,6 +435,9 @@ public class OrderSdkAdapter {
case "CARD_ORIGINAL_AMOUNT": case "CARD_ORIGINAL_AMOUNT":
type = 5; type = 5;
break; break;
case "MCCAFE_MONTH_CARD":
type = 10;
break;
default: default:
break; break;
} }
......
...@@ -38,7 +38,9 @@ public enum QueryOrderAccountType { ...@@ -38,7 +38,9 @@ public enum QueryOrderAccountType {
ONLINE_PAY("ONLINE_PAY", "线上支付"), ONLINE_PAY("ONLINE_PAY", "线上支付"),
FULL_DISTRIBUTION_FEE("FULL_DISTRIBUTION_FEE", "满减配送费"), FULL_DISTRIBUTION_FEE("FULL_DISTRIBUTION_FEE", "满减配送费"),
OFFLINE_PAY("OFFLINE_PAY", "线下支付"), OFFLINE_PAY("OFFLINE_PAY", "线下支付"),
MEMBER_PRICE_DISCOUNT("MEMBER_PRICE_DISCOUNT","会员价优惠"); MEMBER_PRICE_DISCOUNT("MEMBER_PRICE_DISCOUNT","会员价优惠"),
MCCAFE_MONTH_CARD("MCCAFE_MONTH_CARD","麦咖啡月卡"),
;
private String code; private String code;
private String desc; private String desc;
......
...@@ -246,6 +246,16 @@ public class OrderAdapter { ...@@ -246,6 +246,16 @@ public class OrderAdapter {
.build(); .build();
orderAccountDtos.add(createOrderAccountDto); orderAccountDtos.add(createOrderAccountDto);
} }
if(null != shoppingCartGoodsDto.getPayCardFee() && 0l != shoppingCartGoodsDto.getPayCardFee()) {
CreateOrderAccountRequest createOrderAccountDto = CreateOrderAccountRequest.builder()
.accountId("")
.name("啡常月享卡")
.price(shoppingCartGoodsDto.getPayCardFee())
.accountType(QueryOrderAccountType.MCCAFE_MONTH_CARD)
.sequence(orderAccountIndex++)
.build();
orderAccountDtos.add(createOrderAccountDto);
}
createOrderDto.setAccounts(CollectionUtils.isNotEmpty(orderAccountDtos) ? orderAccountDtos : Collections.emptyList()); createOrderDto.setAccounts(CollectionUtils.isNotEmpty(orderAccountDtos) ? orderAccountDtos : Collections.emptyList());
//设置库存扣减 //设置库存扣减
...@@ -1161,6 +1171,18 @@ public class OrderAdapter { ...@@ -1161,6 +1171,18 @@ public class OrderAdapter {
//商品信息转换 //商品信息转换
convent2ProductVos(ordersBean.getProductList(), responseVo); convent2ProductVos(ordersBean.getProductList(), responseVo);
responseVo.setOrderAccounts(convent2OrderAccountVo(ordersBean.getApportionDetails())); responseVo.setOrderAccounts(convent2OrderAccountVo(ordersBean.getApportionDetails()));
if(CollectionUtils.isNotEmpty(ordersBean.getOrderCostDetailList())) {
ordersBean.getOrderCostDetailList().forEach(o -> {
if(o.getCostType() == 10 && o.getBillType() == 1) {
ProductVo productVo = new ProductVo();
productVo.setName(o.getCostName());
productVo.setSpuName(o.getCostName());
productVo.setFinalPrice(o.getCostAmount().longValue());
productVo.setOriginalPrice(o.getActualCostAmount().longValue());
responseVo.getProducts().add(productVo);
}
});
}
Long promotionAmount = 0L; Long promotionAmount = 0L;
Long deliveryAmount = 0L; Long deliveryAmount = 0L;
Long packageAmount = 0L; Long packageAmount = 0L;
...@@ -1901,10 +1923,14 @@ public class OrderAdapter { ...@@ -1901,10 +1923,14 @@ public class OrderAdapter {
discountTotalAmount = discountTotalAmount + productDiscount.getDiscountAmount()*productDiscount.getDiscountQty(); discountTotalAmount = discountTotalAmount + productDiscount.getDiscountAmount()*productDiscount.getDiscountQty();
if (OrderAccountType.PRODUCT_COUPON.getCode().equals(productDiscount.getDiscountType())) { if (OrderAccountType.PRODUCT_COUPON.getCode().equals(productDiscount.getDiscountType())) {
hasProductCoupon = true; hasProductCoupon = true;
productVo.setName(productDiscount.getDiscountDesc()); if("啡常月享卡".equals(productDiscount.getDiscountDesc())) {
productVo.setSpuName(productDiscount.getDiscountDesc()); productVo.setCouponName(productDiscount.getDiscountDesc());
productVo.setExtras(""); } else {
productVo.setSpecification(""); productVo.setName(productDiscount.getDiscountDesc());
productVo.setSpuName(productDiscount.getDiscountDesc());
productVo.setExtras("");
productVo.setSpecification("");
}
} }
if (OrderAccountType.BUYM_SENDN.getCode().equals(productDiscount.getDiscountType())) { if (OrderAccountType.BUYM_SENDN.getCode().equals(productDiscount.getDiscountType())) {
activityType = ActivityTypeEnum.TYPE_61.getCode(); activityType = ActivityTypeEnum.TYPE_61.getCode();
......
...@@ -95,6 +95,11 @@ public class ShoppingCartGoodsDto { ...@@ -95,6 +95,11 @@ public class ShoppingCartGoodsDto {
*/ */
private String discountDeliveryActivityCode; private String discountDeliveryActivityCode;
/**
* 麦咖啡-咖啡月卡价格
*/
private Long payCardFee;
@Data @Data
public static class CartGoodsDetailDto { public static class CartGoodsDetailDto {
/** /**
......
...@@ -223,6 +223,14 @@ public class CreateOrderVo { ...@@ -223,6 +223,14 @@ public class CreateOrderVo {
private String invoiceTitle; private String invoiceTitle;
/** /**
* 随单购是否购买月享卡
* 1:不购买,2:月卡续费,3:新购月卡
*/
private String buyMonthlyCard;
private String monthlyCardCode;
/**
* 是否使用电子风味卡,如果不为空则为使用 * 是否使用电子风味卡,如果不为空则为使用
*/ */
@Valid @Valid
......
...@@ -133,6 +133,11 @@ public class ProductVo { ...@@ -133,6 +133,11 @@ public class ProductVo {
private String unit; private String unit;
/** /**
* 优惠券名称
*/
private String couponName;
/**
* 1.5.5版本添加 * 1.5.5版本添加
* 商品参与活动类型(61:买一赠一) * 商品参与活动类型(61:买一赠一)
*/ */
......
...@@ -95,6 +95,14 @@ public class ShoppingCartInfoRequestVo { ...@@ -95,6 +95,14 @@ public class ShoppingCartInfoRequestVo {
private String receiveId; private String receiveId;
/**
* 随单购是否购买月享卡
* 1:不购买,2:月卡续费,3:新购月卡
*/
private String buyMonthlyCard;
private String monthlyCardCode;
@Data @Data
public final static class SendGoods { public final static class SendGoods {
/** /**
......
...@@ -478,6 +478,8 @@ public class CheckMCCafeOrder { ...@@ -478,6 +478,8 @@ public class CheckMCCafeOrder {
.useCustomerScore(createOrderVo.getUseCustomerScore()) .useCustomerScore(createOrderVo.getUseCustomerScore())
.buyMemberCard(null) .buyMemberCard(null)
.menuType(createOrderVo.getMenuType()) .menuType(createOrderVo.getMenuType())
.buyMonthlyCard(createOrderVo.getBuyMonthlyCard())
.monthlyCardCode(createOrderVo.getMonthlyCardCode())
.build(); .build();
// 如果使用优惠券或者商品券,校验 couponCode // 如果使用优惠券或者商品券,校验 couponCode
// if (StringUtils.isNotBlank(createOrderVo.getCouponCode())) { // if (StringUtils.isNotBlank(createOrderVo.getCouponCode())) {
......
...@@ -13,8 +13,10 @@ import cn.freemud.management.service.handle.*; ...@@ -13,8 +13,10 @@ import cn.freemud.management.service.handle.*;
import cn.freemud.management.thirdparty.DeliveryMCCafeClient; import cn.freemud.management.thirdparty.DeliveryMCCafeClient;
import cn.freemud.management.util.ResponseUtil; import cn.freemud.management.util.ResponseUtil;
import com.freemud.application.sdk.api.deliverycenter.response.DeliveryResponseDto; import com.freemud.application.sdk.api.deliverycenter.response.DeliveryResponseDto;
import com.freemud.application.sdk.api.ordercenter.response.orderInfo.OrderCostResp;
import com.freemud.sdk.api.assortment.message.enums.OrderType; import com.freemud.sdk.api.assortment.message.enums.OrderType;
import com.freemud.sdk.api.assortment.order.response.order.QueryOrdersResponse; import com.freemud.sdk.api.assortment.order.response.order.QueryOrdersResponse;
import org.apache.commons.collections4.CollectionUtils;
import org.apache.commons.lang.StringUtils; import org.apache.commons.lang.StringUtils;
import org.springframework.beans.BeanUtils; import org.springframework.beans.BeanUtils;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
...@@ -110,6 +112,15 @@ public class McCafeMangerServiceImpl implements OrderManagerService { ...@@ -110,6 +112,15 @@ public class McCafeMangerServiceImpl implements OrderManagerService {
}else { }else {
//支付退款 //支付退款
PayRefundResponse refundResponse = paymentHandle.refund(orderManagerRequest, orderBean); PayRefundResponse refundResponse = paymentHandle.refund(orderManagerRequest, orderBean);
//随单购月卡进行卡作废
if (CollectionUtils.isNotEmpty(orderBean.getOrderCostDetailList())){
OrderCostResp orderCostResp = orderBean.getOrderCostDetailList().stream().filter(t -> 10 == t.getCostType()).findFirst().orElse(null);
if (orderCostResp != null){
String note = orderCostResp.getNote();
// todo 调用券码作废券接口
}
}
//订单拒单 //订单拒单
saasOrderHandle.orderReject(orderManagerRequest, refundResponse, orderBean); saasOrderHandle.orderReject(orderManagerRequest, refundResponse, orderBean);
//冲正库存 //冲正库存
......
...@@ -324,10 +324,10 @@ public class ShoppingCartMCoffeeServiceImpl { ...@@ -324,10 +324,10 @@ public class ShoppingCartMCoffeeServiceImpl {
Long payCardPrice =null; Long payCardPrice =null;
if (StringUtils.isNotEmpty(buyMonthlyCard) ) { if (StringUtils.isNotEmpty(buyMonthlyCard) ) {
if (Objects.equals(buyMonthlyCard, "2")) { if (Objects.equals(buyMonthlyCard, "2")) {
code = mcCafeUniversalCouponCode; code = shoppingCartInfoRequestVo.getMonthlyCardCode();
payCardPrice = Long.valueOf(payCardFee); payCardPrice = Long.valueOf(payCardFee);
} else if ( Objects.equals(buyMonthlyCard, "3")){ } else if ( Objects.equals(buyMonthlyCard, "3")){
code = shoppingCartInfoRequestVo.getMonthlyCardCode(); code = mcCafeUniversalCouponCode;
payCardPrice = Long.valueOf(payCardFee); payCardPrice = Long.valueOf(payCardFee);
} }
} }
...@@ -502,10 +502,10 @@ public class ShoppingCartMCoffeeServiceImpl { ...@@ -502,10 +502,10 @@ public class ShoppingCartMCoffeeServiceImpl {
Long payCardPrice =null; Long payCardPrice =null;
if (StringUtils.isNotEmpty(buyMonthlyCard) ) { if (StringUtils.isNotEmpty(buyMonthlyCard) ) {
if (Objects.equals(buyMonthlyCard, "2")) { if (Objects.equals(buyMonthlyCard, "2")) {
code = mcCafeUniversalCouponCode; code = shoppingCartInfoRequestVo.getMonthlyCardCode();
payCardPrice = Long.valueOf(payCardFee); payCardPrice = Long.valueOf(payCardFee);
} else if ( Objects.equals(buyMonthlyCard, "3")){ } else if ( Objects.equals(buyMonthlyCard, "3")){
code = shoppingCartInfoRequestVo.getMonthlyCardCode(); code = mcCafeUniversalCouponCode;
payCardPrice = Long.valueOf(payCardFee); payCardPrice = Long.valueOf(payCardFee);
} }
} }
......
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