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 {
//老订单服务 1=配送费;3=包装费
if (QueryOrderAccountType.DELIVERY_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.setCostName(accountRequest.getName());
//新订单服务 1=包装费,2=运费,3=餐盒单价,4=餐盒数量
......@@ -420,7 +421,7 @@ public class OrderSdkAdapter {
* @return
*/
private Integer getCostType(QueryOrderAccountType queryOrderAccountType) {
// 订单费用类型 1=包装费,2=运费,3=餐盒单价,4=餐盒数量,5=会员卡费用
// 订单费用类型 1=包装费,2=运费,3=餐盒单价,4=餐盒数量,5=会员卡费用,10=麦咖啡月卡
Integer type = 0;
String code = queryOrderAccountType.getCode();
......@@ -434,6 +435,9 @@ public class OrderSdkAdapter {
case "CARD_ORIGINAL_AMOUNT":
type = 5;
break;
case "MCCAFE_MONTH_CARD":
type = 10;
break;
default:
break;
}
......
......@@ -38,7 +38,9 @@ public enum QueryOrderAccountType {
ONLINE_PAY("ONLINE_PAY", "线上支付"),
FULL_DISTRIBUTION_FEE("FULL_DISTRIBUTION_FEE", "满减配送费"),
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 desc;
......
......@@ -246,6 +246,16 @@ public class OrderAdapter {
.build();
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());
//设置库存扣减
......@@ -1161,6 +1171,18 @@ public class OrderAdapter {
//商品信息转换
convent2ProductVos(ordersBean.getProductList(), responseVo);
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 deliveryAmount = 0L;
Long packageAmount = 0L;
......@@ -1901,10 +1923,14 @@ public class OrderAdapter {
discountTotalAmount = discountTotalAmount + productDiscount.getDiscountAmount()*productDiscount.getDiscountQty();
if (OrderAccountType.PRODUCT_COUPON.getCode().equals(productDiscount.getDiscountType())) {
hasProductCoupon = true;
productVo.setName(productDiscount.getDiscountDesc());
productVo.setSpuName(productDiscount.getDiscountDesc());
productVo.setExtras("");
productVo.setSpecification("");
if("啡常月享卡".equals(productDiscount.getDiscountDesc())) {
productVo.setCouponName(productDiscount.getDiscountDesc());
} else {
productVo.setName(productDiscount.getDiscountDesc());
productVo.setSpuName(productDiscount.getDiscountDesc());
productVo.setExtras("");
productVo.setSpecification("");
}
}
if (OrderAccountType.BUYM_SENDN.getCode().equals(productDiscount.getDiscountType())) {
activityType = ActivityTypeEnum.TYPE_61.getCode();
......
......@@ -95,6 +95,11 @@ public class ShoppingCartGoodsDto {
*/
private String discountDeliveryActivityCode;
/**
* 麦咖啡-咖啡月卡价格
*/
private Long payCardFee;
@Data
public static class CartGoodsDetailDto {
/**
......
......@@ -223,6 +223,14 @@ public class CreateOrderVo {
private String invoiceTitle;
/**
* 随单购是否购买月享卡
* 1:不购买,2:月卡续费,3:新购月卡
*/
private String buyMonthlyCard;
private String monthlyCardCode;
/**
* 是否使用电子风味卡,如果不为空则为使用
*/
@Valid
......
......@@ -133,6 +133,11 @@ public class ProductVo {
private String unit;
/**
* 优惠券名称
*/
private String couponName;
/**
* 1.5.5版本添加
* 商品参与活动类型(61:买一赠一)
*/
......
......@@ -95,6 +95,14 @@ public class ShoppingCartInfoRequestVo {
private String receiveId;
/**
* 随单购是否购买月享卡
* 1:不购买,2:月卡续费,3:新购月卡
*/
private String buyMonthlyCard;
private String monthlyCardCode;
@Data
public final static class SendGoods {
/**
......
......@@ -478,6 +478,8 @@ public class CheckMCCafeOrder {
.useCustomerScore(createOrderVo.getUseCustomerScore())
.buyMemberCard(null)
.menuType(createOrderVo.getMenuType())
.buyMonthlyCard(createOrderVo.getBuyMonthlyCard())
.monthlyCardCode(createOrderVo.getMonthlyCardCode())
.build();
// 如果使用优惠券或者商品券,校验 couponCode
// if (StringUtils.isNotBlank(createOrderVo.getCouponCode())) {
......
......@@ -13,8 +13,10 @@ import cn.freemud.management.service.handle.*;
import cn.freemud.management.thirdparty.DeliveryMCCafeClient;
import cn.freemud.management.util.ResponseUtil;
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.order.response.order.QueryOrdersResponse;
import org.apache.commons.collections4.CollectionUtils;
import org.apache.commons.lang.StringUtils;
import org.springframework.beans.BeanUtils;
import org.springframework.stereotype.Service;
......@@ -110,6 +112,15 @@ public class McCafeMangerServiceImpl implements OrderManagerService {
}else {
//支付退款
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);
//冲正库存
......
......@@ -324,10 +324,10 @@ public class ShoppingCartMCoffeeServiceImpl {
Long payCardPrice =null;
if (StringUtils.isNotEmpty(buyMonthlyCard) ) {
if (Objects.equals(buyMonthlyCard, "2")) {
code = mcCafeUniversalCouponCode;
code = shoppingCartInfoRequestVo.getMonthlyCardCode();
payCardPrice = Long.valueOf(payCardFee);
} else if ( Objects.equals(buyMonthlyCard, "3")){
code = shoppingCartInfoRequestVo.getMonthlyCardCode();
code = mcCafeUniversalCouponCode;
payCardPrice = Long.valueOf(payCardFee);
}
}
......@@ -502,10 +502,10 @@ public class ShoppingCartMCoffeeServiceImpl {
Long payCardPrice =null;
if (StringUtils.isNotEmpty(buyMonthlyCard) ) {
if (Objects.equals(buyMonthlyCard, "2")) {
code = mcCafeUniversalCouponCode;
code = shoppingCartInfoRequestVo.getMonthlyCardCode();
payCardPrice = Long.valueOf(payCardFee);
} else if ( Objects.equals(buyMonthlyCard, "3")){
code = shoppingCartInfoRequestVo.getMonthlyCardCode();
code = mcCafeUniversalCouponCode;
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