Commit 42bd5fbe by xiaoer.li@freemud.com

Merge branch 'feature/2020-1104-混合支付' into develop

# Conflicts:
#	order-application-service/src/main/java/cn/freemud/adapter/OrderAdapter.java
parents c7bebfcd 66105d9e
......@@ -136,8 +136,7 @@ public class OrderAdapter {
// private RedisCache redisCache;
@Autowired
private OrderCommonService orderCommonService;
@Autowired
private RedisTemplate redisTemplate;
private static Gson gson = new Gson();
@Autowired
......@@ -183,7 +182,7 @@ public class OrderAdapter {
products.add(createOrderProductDto);
if (CollectionUtils.isNotEmpty(cartGoodsDetailDto.getActivityDiscountsDtos())) {
if(mcCafePartnerId.equals(createOrderDto.getCompanyId())) {
createOrderProductDto.setAccounts(getMCCafeAccounts(createOrderProductDto, cartGoodsDetailDto.getActivityDiscountsDtos(), createOrderVo));
createOrderProductDto.setAccounts(getMCCafeAccounts(createOrderProductDto, cartGoodsDetailDto.getActivityDiscountsDtos()));
} else {
createOrderProductDto.setAccounts(getAccounts(createOrderProductDto, cartGoodsDetailDto.getActivityDiscountsDtos()));
}
......@@ -211,13 +210,6 @@ public class OrderAdapter {
if(null != activityDiscountsDto.getExtendType()) {
jsonObject.put("extendType", activityDiscountsDto.getExtendType());
}
if(ActivityTypeEnum.TYPE_35.getCode().equals(activityDiscountsDto.getActivityType())
&& StringUtils.isNotBlank(createOrderVo.getBuyThreeGiveOneActivityCode())
&& StringUtils.isNotBlank(createOrderVo.getBuyThreeGiveOneCouponCode())
&& createOrderVo.getBuyThreeGiveOneCouponCode().equals(activityDiscountsDto.getActivityCode())) {
jsonObject.put("buyThreeGiveOneActivityCode", createOrderVo.getBuyThreeGiveOneActivityCode());
jsonObject.put("buyThreeGiveOneCouponCode", createOrderVo.getBuyThreeGiveOneCouponCode());
}
createOrderAccountDto.setAddInfo(jsonObject.toJSONString());
}
orderAccountDtos.add(createOrderAccountDto);
......@@ -278,40 +270,19 @@ public class OrderAdapter {
.build();
orderAccountDtos.add(createOrderAccountDto);
}
if(null != shoppingCartGoodsDto.getPayCardFee() && 0l != shoppingCartGoodsDto.getPayCardFee()
&& StringUtils.isNotBlank(createOrderVo.getCardKeyCode())) {
if(null != shoppingCartGoodsDto.getPayCardFee() && 0l != shoppingCartGoodsDto.getPayCardFee() && StringUtils.isNotBlank(createOrderVo.getCardKeyCode())) {
CreateOrderAccountRequest createOrderAccountDto = CreateOrderAccountRequest.builder()
.accountId("")
.name("啡常月享卡")
.price(shoppingCartGoodsDto.getPayCardFee())
.accountType(QueryOrderAccountType.WITH_ORDER_BUY_COUPON_FEE)
.accountType(QueryOrderAccountType.MCCAFE_MONTH_CARD)
.sequence(orderAccountIndex++)
.productId(createOrderVo.getCardKeyCode())
.build();
orderAccountDtos.add(createOrderAccountDto);
}
if(null != shoppingCartGoodsDto.getBuyThreeGiveOneCouponFee() && 0l != shoppingCartGoodsDto.getBuyThreeGiveOneCouponFee()
&& StringUtils.isNotBlank(createOrderVo.getBuyThreeGiveOneCouponCode()) && StringUtils.isNotBlank(createOrderVo.getBuyThreeGiveOneActivityCode())
&& StringUtils.isNotBlank(createOrderVo.getBuyThreeGiveOneCardKeyCode())) {
JSONObject jsonObject = new JSONObject();
jsonObject.put("buyThreeGiveOneActivityCode", createOrderVo.getBuyThreeGiveOneActivityCode());
jsonObject.put("buyThreeGiveOneCouponCode", createOrderVo.getBuyThreeGiveOneCouponCode());
CreateOrderAccountRequest createOrderAccountDto = CreateOrderAccountRequest.builder()
.accountId("")
.name("买三赠一券")
.price(shoppingCartGoodsDto.getBuyThreeGiveOneCouponFee())
.accountType(QueryOrderAccountType.WITH_ORDER_BUY3_SEND1_FEE)
.sequence(orderAccountIndex++)
.productId(createOrderVo.getBuyThreeGiveOneCardKeyCode())
.addInfo(jsonObject.toJSONString())
.build();
orderAccountDtos.add(createOrderAccountDto);
}
createOrderDto.setAccounts(CollectionUtils.isNotEmpty(orderAccountDtos) ? orderAccountDtos : Collections.emptyList());
// update by miaohui 20201030 for 【ID1018638】【C端服务端】活动库存接口调整对接
ActivityUpdateStockRequest activityUpdateStockRequest = this.initActivityUpdateStockRequest(activityDiscountsDtos);
//设置库存扣减
if (CollectionUtils.isNotEmpty(shoppingCartGoodsDto.getStocks())) {
List<ActivityUpdateStockRequest.StockBeanDto> stocks = new ArrayList<>();
......@@ -333,13 +304,11 @@ public class OrderAdapter {
}
stocks.add(stockBeanDto);
}
ActivityUpdateStockRequest activityUpdateStockRequest = new ActivityUpdateStockRequest();
activityUpdateStockRequest.setStock(stocks);
createOrderDto.setActivityUpdateStockRequest(activityUpdateStockRequest);
}
createOrderDto.setActivityUpdateStockRequest(activityUpdateStockRequest);
createOrderDto.setPayChannelType(createOrderVo.getPayChannelType());
createOrderDto.setPayChannelType(createOrderVo.getPayChannelType());
// createOrderDto.setOtherInfo(getOrderOtherInfo(shoppingCartGoodsDto));
return createOrderDto;
}
......@@ -414,7 +383,7 @@ public class OrderAdapter {
return orderAccountDtos;
}
public List<CreateOrderAccountRequest> getMCCafeAccounts(CreateOrderProductRequest createOrderProductDto, List<ActivityDiscountsDto> activityDiscountsDtos, CreateOrderVo createOrderVo) {
public List<CreateOrderAccountRequest> getMCCafeAccounts(CreateOrderProductRequest createOrderProductDto, List<ActivityDiscountsDto> activityDiscountsDtos) {
List<CreateOrderAccountRequest> orderAccountDtos = new ArrayList<>();
for (ActivityDiscountsDto activityDiscountsDto : activityDiscountsDtos) {
CreateOrderAccountRequest createOrderAccountDto = CreateOrderAccountRequest.builder()
......@@ -434,13 +403,6 @@ public class OrderAdapter {
if(null != activityDiscountsDto.getExtendType()) {
jsonObject.put("extendType", activityDiscountsDto.getExtendType());
}
if(ActivityTypeEnum.TYPE_35.getCode().equals(activityDiscountsDto.getActivityType())
&& StringUtils.isNotBlank(createOrderVo.getBuyThreeGiveOneActivityCode())
&& StringUtils.isNotBlank(createOrderVo.getBuyThreeGiveOneCouponCode())
&& createOrderVo.getBuyThreeGiveOneCouponCode().equals(activityDiscountsDto.getActivityCode())) {
jsonObject.put("buyThreeGiveOneActivityCode", createOrderVo.getBuyThreeGiveOneActivityCode());
jsonObject.put("buyThreeGiveOneCouponCode", createOrderVo.getBuyThreeGiveOneCouponCode());
}
createOrderAccountDto.setAddInfo(jsonObject.toJSONString());
orderAccountDtos.add(createOrderAccountDto);
}
......@@ -646,14 +608,10 @@ public class OrderAdapter {
createOrderDto.setLongitude(longitude);
createOrderDto.setOrderType(convent2OrderTypeEnum(orderType));
createOrderDto.setPayType(QueryPayType.ONLINE_PAY);
// if(StringUtils.isNotBlank(createOrderVo.getCardCode())){
// createOrderDto.setPayChannel("10102");
// createOrderDto.setPayChannelName("储值卡支付");
// }
//电子风味卡
if (Objects.nonNull(createOrderVo.getUnionPayCard())) {
createOrderDto.setPayChannel(PayChannel.USVCP.getCode());
createOrderDto.setPayChannelName(PayChannel.USVCP.getDesc());
createOrderDto.setPayChannel(PayChannelType.USVCP.getEbcode());
createOrderDto.setPayChannelName(PayChannelType.USVCP.getName());
}
//混合支付
else if (PayChannelType.COMB.getIndex().equals(createOrderVo.getPayChannelType())) {
......@@ -672,12 +630,6 @@ public class OrderAdapter {
createOrderDto.setPayChannel(PayChannelType.SVC.getEbcode());
createOrderDto.setPayChannelName(PayChannelType.SVC.getName());
}
else{
createOrderDto.setPayChannel(getPayChannel4SharedOrder(Integer.valueOf(createOrderVo.getPayChannelType())));
createOrderDto.setPayChannelName(getPayChannelName(Integer.valueOf(createOrderVo.getPayChannelType())));
createOrderDto.setPayChannel(PayChannelType.USVCP.getEbcode());
createOrderDto.setPayChannelName(PayChannelType.USVCP.getName());
}
createOrderDto.setSource(OrderSourceType.SAAS.getCode());
createOrderDto.setSourceName(OrderSourceType.SAAS.getDesc());
createOrderDto.setRemark(remark);
......@@ -690,8 +642,6 @@ public class OrderAdapter {
createOrderDto.setBarCounter(createOrderVo.getTableNumber());
createOrderDto.setOperator(createOrderVo.getUserName());
createOrderDto.setMenuType(BusinessTypeEnum.getByCode(createOrderVo.getMenuType()));
createOrderDto.setPayChannelType(createOrderVo.getPayChannelType());
createOrderDto.setMarketingType(createOrderVo.getMarketingType());
return createOrderDto;
}
......@@ -828,10 +778,6 @@ public class OrderAdapter {
orderAccountDtos.add(createOrderAccountDto);
}
productOrderInfo.setAccounts(CollectionUtils.isNotEmpty(orderAccountDtos) ? orderAccountDtos : Collections.emptyList());
// update by miaohui 20201030 for 【ID1018638】【C端服务端】活动库存接口调整对接
ActivityUpdateStockRequest activityUpdateStockRequest = this.initActivityUpdateStockRequest(activityDiscountsDtos);
//设置库存扣减
if (CollectionUtils.isNotEmpty(shoppingCartGoodsDto.getStocks())) {
List<ActivityUpdateStockRequest.StockBeanDto> stocks = new ArrayList<>();
......@@ -853,9 +799,10 @@ public class OrderAdapter {
}
stocks.add(stockBeanDto);
}
ActivityUpdateStockRequest activityUpdateStockRequest = new ActivityUpdateStockRequest();
activityUpdateStockRequest.setStock(stocks);
productOrderInfo.setActivityUpdateStockRequest(activityUpdateStockRequest);
}
productOrderInfo.setActivityUpdateStockRequest(activityUpdateStockRequest);
return productOrderInfo;
}
......@@ -1109,9 +1056,9 @@ public class OrderAdapter {
responseVo.setReceiveCity(ordersBean.getReceiveCity());
responseVo.setReceiveRegion(ordersBean.getReceiveRegion());
responseVo.setReceiveMobile(ordersBean.getPhone());
if (ordersBean.getAddInfo() != null && StringUtils.isNotEmpty(ordersBean.getAddInfo().getRiderPhone()))
if(ordersBean.getAddInfo()!=null&&StringUtils.isNotEmpty(ordersBean.getAddInfo().getRiderPhone()))
responseVo.setRiderPhone(ordersBean.getAddInfo().getRiderPhone());
if (ordersBean.getAddInfo() != null && StringUtils.isNotEmpty(ordersBean.getAddInfo().getExtInfo())) {
if(ordersBean.getAddInfo()!=null&&StringUtils.isNotEmpty(ordersBean.getAddInfo().getExtInfo())) {
JSONObject extInfo = JSONObject.parseObject(ordersBean.getAddInfo().getExtInfo());
responseVo.setReceiveId(extInfo.getString("receiveId"));
}
......@@ -1157,17 +1104,19 @@ public class OrderAdapter {
if (OrderType.COLLECT_GOODS.getCode().equals(ordersBean.getType())) {
responseVo.setTakeOut(1);
responseVo.setTakeOutDesc("打包带走");
} else if (OrderType.EAT_IN.getCode().equals(ordersBean.getType())) {
}
else if (OrderType.EAT_IN.getCode().equals(ordersBean.getType())) {
responseVo.setTakeOut(0);
responseVo.setTakeOutDesc("店内就餐");
} else {
}
else {
responseVo.setTakeOut(0);
responseVo.setTakeOutDesc("");
}
//配置麦咖啡文案
if (OrderType.TAKE_OUT.getCode().equals(ordersBean.getType())) {
if (OrderType.TAKE_OUT.getCode().equals(ordersBean.getType())){
responseVo.setMcCafeOrderTag(maCafeWaimaiTag);
} else {
}else {
responseVo.setMcCafeOrderTag(maCafePickTag);
}
responseVo.setTableNumber(ordersBean.getBarCounter());
......@@ -1175,8 +1124,6 @@ public class OrderAdapter {
responseVo.setPayStatusDesc(Optional.ofNullable(PayStatus.getByCode(ordersBean.getPayStatus()))
.map(PayStatus::getDesc).orElse(""));
responseVo.setPayVoucher(orderExtInfoDto != null ? orderExtInfoDto.getPayTransId() : "");
responseVo.setPayVoucherBarCode(Base64.getEncoder().encodeToString(
BarcodeUtil.generateBarCode128(responseVo.getPayVoucher(),null,null, true, true)));
responseVo.setPayCreateTime(orderExtInfoDto != null ? orderExtInfoDto.getPayDate() : "");
responseVo.setPayChannel(ordersBean.getPayChannel());
if (StringUtils.isNotBlank(ordersBean.getPayChannel())) {
......@@ -1186,11 +1133,7 @@ public class OrderAdapter {
responseVo.setOrderPayType("支付宝支付");
} else if (PayChannel.WXPAY.getCode().equals(ordersBean.getPayChannel())) {
responseVo.setOrderPayType("微信支付");
}
else if(Objects.equals(PayChannel.USVCP.getCode(), ordersBean.getPayChannel())) {
responseVo.setOrderPayType("银联礼品卡支付");
}
else if (Objects.equals(PayChannel.USVCP.getCode(), ordersBean.getPayChannel())) {
} else if (Objects.equals(PayChannel.USVCP.getCode(), ordersBean.getPayChannel())) {
responseVo.setOrderPayType("电子风味卡支付");
} else {
responseVo.setOrderPayType("微信支付");
......@@ -1228,9 +1171,6 @@ public class OrderAdapter {
if (CollectionUtils.isNotEmpty(ordersBean.getRefundList())) {
responseVo.setRefundTips(orderViewStatusDto.getRefundStatusText());
}
if(OrderStatus.COMPLETE.getCode().equals(ordersBean.getStatus())) {
responseVo.setCompleteTime(DateUtil.convert2String(new Date(ordersBean.getGmtCompleteTime()), "yyyy-MM-dd HH:mm:ss"));
}
responseVo.setTakeMealFlows(getTakeMealFlows(ordersBean));
responseVo.setRiderName(orderViewStatusDto.getRiderName());
responseVo.setRiderText(orderViewStatusDto.getRiderText());
......@@ -1324,11 +1264,11 @@ public class OrderAdapter {
responseVo.setAfterRefundInterval(false);
}
//商品信息转换
convent2ProductVos(ordersBean.getProductList(), responseVo,ordersBean.getCompanyId());
convent2ProductVos(ordersBean.getProductList(), responseVo);
responseVo.setOrderAccounts(convent2OrderAccountVo(ordersBean.getApportionDetails()));
if(CollectionUtils.isNotEmpty(ordersBean.getOrderCostDetailList())) {
ordersBean.getOrderCostDetailList().forEach(o -> {
if((o.getCostType() == 10 || o.getCostType() == 11) && o.getBillType() == 1) {
if(o.getCostType() == 10 && o.getBillType() == 1) {
ProductVo productVo = new ProductVo();
productVo.setQty(1);
productVo.setName(o.getCostName());
......@@ -1422,7 +1362,6 @@ public class OrderAdapter {
if (enableRefundCodes.contains(ordersBean.getStatus()) && PayStatus.HAVE_PAID.getCode().equals(ordersBean.getPayStatus())) {
responseVo.setEnableRefund(true);
}
responseVo.setMarketingType(ordersBean.getMarketingType());
list.add(responseVo);
});
return list;
......@@ -1601,7 +1540,7 @@ public class OrderAdapter {
public OrderViewStatusDto getOrderViewStatusDesc(QueryOrdersResponse.DataBean.OrderBean orderBean, String wxAppId) {
OrderViewStatusDto orderViewStatusDto = new OrderViewStatusDto();
LogUtil.info("getOrderStatusDesc start ", new Gson().toJson(orderBean), new Gson().toJson(orderBean));
LogUtil.info("getOrderStatusDesc start ", JSON.toJSONString(orderBean),"");
QueryOrdersResponse.DataBean.OrderBean.RefundBean refundBean = null;
if (CollectionUtils.isNotEmpty(orderBean.getRefundList())) {
refundBean = orderBean.getRefundList().get(0);
......@@ -1996,7 +1935,7 @@ public class OrderAdapter {
return orderAccountVos;
}
public void convent2ProductVos(List<QueryOrdersResponse.DataBean.OrderBean.ProductBean> productBeans, QueryOrderResponseVo responseVo,String partnerId) {
public void convent2ProductVos(List<QueryOrdersResponse.DataBean.OrderBean.ProductBean> productBeans, QueryOrderResponseVo responseVo) {
if (CollectionUtils.isEmpty(productBeans)) {
return;
}
......@@ -2031,28 +1970,16 @@ public class OrderAdapter {
}
if (ObjectUtils.equals(ProductTypeEnum.MATERIAL_PRODUCT.getCode(), productBean.getProductType())) {
List<ProductVo> setMaterialProducts = new ArrayList<>();
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());
});
}
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());
});
productVo.setSetMaterialProducts(setMaterialProducts);
}
productVos.add(productVo);
......@@ -2094,9 +2021,6 @@ public class OrderAdapter {
productVo.setSequence(productBean.getSequence());
productVo.setQty(productBean.getNumber());
productVo.setSpecification("");
productVo.setUserId(productBean.getUserId());
productVo.setNickName(productBean.getNickName());
productVo.setPhotoUrl(productBean.getPhotoUrl());
List<InventedParentActivityVo> inventedParentActivityVos = new ArrayList<>();
String attributeNames = "";
if (StringUtils.isNotBlank(productBean.getAddInfo()) && productBean.getAddInfo().contains("attributeNames")) {
......@@ -2152,19 +2076,22 @@ public class OrderAdapter {
productVo.setExtras("");
productVo.setSpecification("");
}
} else if (OrderAccountType.BUYM_SENDN.getCode().equals(productDiscount.getDiscountType())) {
}
if (OrderAccountType.BUYM_SENDN.getCode().equals(productDiscount.getDiscountType())) {
activityType = ActivityTypeEnum.TYPE_61.getCode();
} else if (OrderAccountType.PRODUCT_COUPON.getCode().equals(productDiscount.getDiscountType())) {
}
if (OrderAccountType.PRODUCT_COUPON.getCode().equals(productDiscount.getDiscountType())) {
activityType = ActivityTypeEnum.TYPE_32.getCode();
couponDiscount = productDiscount.getDiscountAmount();
} else if (OrderAccountType.DISCOUNT_COUPON.getCode().equals(productDiscount.getDiscountType())) {
}
if (OrderAccountType.DISCOUNT_COUPON.getCode().equals(productDiscount.getDiscountType())) {
couponDiscount = productDiscount.getDiscountAmount();
} else if (OrderAccountType.COUPON.getCode().equals(productDiscount.getDiscountType())) {
}
if (OrderAccountType.COUPON.getCode().equals(productDiscount.getDiscountType())) {
couponDiscount = productDiscount.getDiscountAmount();
} else if (OrderAccountType.BUY_DISCOUNT.getCode().equals(productDiscount.getDiscountType())) {
}
if (OrderAccountType.BUY_DISCOUNT.getCode().equals(productDiscount.getDiscountType())) {
fullReduction = productDiscount.getDiscountAmount();
} else if (OrderAccountType.BUY3_SEND1.getCode().equals(productDiscount.getDiscountType())) {
productVo.setCouponName(productDiscount.getDiscountDesc());
}
}
}
......@@ -2199,22 +2126,6 @@ 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();
......@@ -2478,46 +2389,6 @@ public class OrderAdapter {
createOrderProductDemoDto.setTaxId(cartGoodsDetailDto.getTaxId());
createOrderProductDemoDto.setClassificationId(cartGoodsDetailDto.getClassificationId());
createOrderProductDemoDto.setClassificationName(cartGoodsDetailDto.getClassificationName());
createOrderProductDemoDto.setUserId(cartGoodsDetailDto.getUserId());
createOrderProductDemoDto.setNickName(cartGoodsDetailDto.getUserName());
createOrderProductDemoDto.setPhotoUrl(cartGoodsDetailDto.getPhotoUrl());
return createOrderProductDemoDto;
}
public CreateOrderProductRequest convent2MCCafeOrderProductDemo(ShoppingCartGoodsDto.CartGoodsDetailDto cartGoodsDetailDto) {
// public CreateOrderProductRequest convent2MCCafeOrderProductDemo(ShoppingCartGoodsDto.CartGoodsDetailDto cartGoodsDetailDto, Integer productType) {
CreateOrderProductRequest createOrderProductDemoDto = new CreateOrderProductRequest();
createOrderProductDemoDto.setProductId(cartGoodsDetailDto.getSpuId());
createOrderProductDemoDto.setProductName(cartGoodsDetailDto.getSpuName());
createOrderProductDemoDto.setSpecification(cartGoodsDetailDto.getSkuId());
createOrderProductDemoDto.setSpecificationName(cartGoodsDetailDto.getSkuName());
if (cartGoodsDetailDto.getProductType() != null && (cartGoodsDetailDto.getProductType() == ProductType.SETMEALPRODUCT.getCode()
|| cartGoodsDetailDto.getProductType() == ProductType.SETMEALPRODUCT_UPPRICE.getCode())) {
createOrderProductDemoDto.setPrice(0l);
} else {
createOrderProductDemoDto.setPrice(cartGoodsDetailDto.getOriginalPrice());
}
// createOrderProductDemoDto.setPrice(cartGoodsDetailDto.getOriginalPrice());
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.setCategory(cartGoodsDetailDto.getClassificationId());
createOrderProductDemoDto.setTax(cartGoodsDetailDto.getTax());
createOrderProductDemoDto.setTaxId(cartGoodsDetailDto.getTaxId());
createOrderProductDemoDto.setClassificationId(cartGoodsDetailDto.getClassificationId());
createOrderProductDemoDto.setClassificationName(cartGoodsDetailDto.getClassificationName());
return createOrderProductDemoDto;
}
......@@ -2579,9 +2450,6 @@ public class OrderAdapter {
if (ActivityTypeEnum.TYPE_34.getCode().equals(activityType)) {
return OldOrderAccountType.FREIGHT_COUPON;
}
if (ActivityTypeEnum.TYPE_35.getCode().equals(activityType)) {
return OldOrderAccountType.BUY3_SEND1;
}
if (ActivityTypeEnum.TYPE_31.getCode().equals(activityType)) {
return OldOrderAccountType.DISCOUNT_COUPON;
}
......@@ -2612,9 +2480,6 @@ 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;
}
return OldOrderAccountType.BUYM_SENDN;
}
......@@ -2845,9 +2710,9 @@ public class OrderAdapter {
return convent2UnifiedOrderRequest(orderBean, paymentRequest, amount, cardAmount, transId, null);
}
/**
* 支付信息转换
*/
/**
* 支付信息转换
*/
public UnifiedOrderRequest convent2UnifiedOrderRequest(QueryOrdersResponse.DataBean.OrderBean orderBean, PaymentRequest paymentRequest, Long amount, Integer cardAmount, String transId, String partnerPayOvertime) {
UnifiedOrderRequest orderPayDto = new UnifiedOrderRequest();
orderPayDto.setPartnerId(orderBean.getCompanyId());
......@@ -3211,8 +3076,6 @@ public class OrderAdapter {
// }
// createOrderDto.setAccounts(CollectionUtils.isNotEmpty(orderAccountDtos) ? orderAccountDtos : Collections.emptyList());
// update by miaohui 20201030 for 【ID1018638】【C端服务端】活动库存接口调整对接
ActivityUpdateStockRequest activityUpdateStockRequest = this.initActivityUpdateStockRequest(activityDiscountsDtos);
//设置库存扣减
if (shoppingCartGoodsResponse != null && CollectionUtils.isNotEmpty(shoppingCartGoodsResponse.getStocks())) {
......@@ -3235,9 +3098,10 @@ public class OrderAdapter {
}
stocks.add(stockBeanDto);
}
ActivityUpdateStockRequest activityUpdateStockRequest = new ActivityUpdateStockRequest();
activityUpdateStockRequest.setStock(stocks);
sdkUpdateOrderProductInfoRequest.setActivityUpdateStockRequest(activityUpdateStockRequest);
}
sdkUpdateOrderProductInfoRequest.setActivityUpdateStockRequest(activityUpdateStockRequest);
return sdkUpdateOrderProductInfoRequest;
}
......@@ -3501,7 +3365,8 @@ public class OrderAdapter {
, null
, createOrderVo.getUnionPayCard()
, createOrderVo.getShopId()
, createOrderVo.getChannel());
, createOrderVo.getChannel()
);
}
public CreatePrepayRequestDto convertToCreatePrepayRequestDto(String partnerId
, String wxAppId, String openId
......@@ -3513,12 +3378,11 @@ public class OrderAdapter {
, long totalAmount
, int cardAmount
, OrderExtInfoDto orderExtInfoDTO
,String transId
, String transId
, OrderClientType orderClient
, CreateOrderVo.UnionPayCard unionPayCard
, String storeId
, String channel
){
, String channel){
CreatePrepayRequestDto requestDto = new CreatePrepayRequestDto();
requestDto.setPartnerId(partnerId);
requestDto.setWxAppId(wxAppId);
......@@ -3786,8 +3650,7 @@ public class OrderAdapter {
, String orderClient
, String channel
, Integer totalAmount
, Integer svcAmount
, Integer svcVAmount) {
, Integer svcAmount) {
CombPayRequest orderPayDto = new CombPayRequest();
orderPayDto.setEbCode(paymentRequest.getPayCode());
orderPayDto.setPartner_id(orderBean.getCompanyId());
......@@ -3818,7 +3681,7 @@ public class OrderAdapter {
}
orderPayDto.setProducts(productVOS);
List<PayPlatformVO> platforms = new ArrayList<>();
Long svc = svcAmount.longValue()+svcVAmount.longValue();
Long svc = svcAmount.longValue();
PayPlatformVO payPlatformVO = new PayPlatformVO();
payPlatformVO.setClientCode(PayChannelType.SVC.getEbcode());
payPlatformVO.setEbcode(PayChannelType.SVC.getEbcode());
......@@ -3838,4 +3701,57 @@ public class OrderAdapter {
return orderPayDto;
}
/**
* 混合支付返回的支付参数
* @param payPlatforms
* @return
*/
public OrderPayResponse convent2OrderCombPayResponse(List<CombPayResponse.PayPlatform> payPlatforms
,String partnerId
,String storeId
,Integer totalAmount
,Integer svcAmount) {
CombPayResponse.PayPlatform payPlatform = payPlatforms
.stream()
.filter(f -> !PayChannelType.SVC.getEbcode().equals(f.getEbCode())).findFirst()
.orElse(null);
OrderPayResponse responseDto = new OrderPayResponse();
responseDto.setMsg("succ");
responseDto.setPayEbcode(payPlatform.getEbCode());
responseDto.setPayId("");
OrderPayResponse.PayOrderBean payBean = new OrderPayResponse.PayOrderBean();
responseDto.setPayTransId(payPlatform.getTransId());
responseDto.setFmId(payPlatform.getFmTradeNo());
CombPayResponse.PayPlatform.PayOrderBean payOrderBean = payPlatform.getPayOrder();
if (null != payOrderBean) {
payBean.setAppid(payOrderBean.getAppId());
payBean.setNonceStr(payOrderBean.getNonceStr());
payBean.setPackageX(payOrderBean.getPackageX());
payBean.setSign(payOrderBean.getPaySign());
payBean.setSignType(payOrderBean.getSignType());
payBean.setTimestamp(payOrderBean.getTimeStamp());
payBean.setAliPayOrder(payOrderBean.getAliPayOrder());
responseDto.setPayOrder(payBean);
}
//供修改订单
Integer cashAmount = totalAmount - svcAmount;
for (CombPayResponse.PayPlatform pt : payPlatforms) {
PayItem payItem = new PayItem();
payItem.setFmTradeNo(pt.getFmTradeNo());
payItem.setStoreId(storeId);
payItem.setPayChannelType(PayChannelType.getByEbcode(pt.getEbCode()).getIndex().intValue());
payItem.setPayChannelName(PayChannelType.getByEbcode(pt.getEbCode()).getName());
payItem.setTransId(pt.getTransId());
payItem.setPartnerId(partnerId);
if (pt.getEbCode().equals(PayChannel.SVC.getCode())) {
payItem.setPayAmount(new BigDecimal(svcAmount));
}
else {
payItem.setPayAmount(new BigDecimal(cashAmount));
}
responseDto.getPayItem().add(payItem);
}
return responseDto;
}
}
......@@ -2357,7 +2357,11 @@ public class OrderServiceImpl implements Orderservice {
}
if (totalAmount > 0 && StringUtils.isBlank(cardCode) && Objects.isNull(createPrepayRequestDto.getUnionPayCard())) {
createOrderResponse.setPaySuccess(false);
} else {
}
else if (totalAmount > 0 && StringUtils.isNotBlank(cardCode)) {
createOrderResponse.setPaySuccess(false);
}
else {
createOrderResponse.setPaySuccess(true);
}
// 推荐优惠插件用户下单数据上报
......@@ -3282,7 +3286,7 @@ public class OrderServiceImpl implements Orderservice {
return orderPayResponse;
}
CombPayRequest combPayRequest = orderAdapter.convent2CombPayOrderRequest(cardNo, orderBean, paymentRequest, partnerPayOvertime, ebCode, channel, totalAmount, svcAmount, svcVAmount);
CombPayRequest combPayRequest = orderAdapter.convent2CombPayOrderRequest(cardNo, orderBean, paymentRequest, partnerPayOvertime, ebCode, channel, totalAmount, svcAmount+svcVAmount);
CombPayResponse combPayResponse = comPayClient.combPay(combPayRequest, combPayRequest.getPartner_id());
if (!ResponseCodeConstant.PAYMENT_RESPONSE_SUCCESS.equals(combPayResponse.getCode())|| combPayResponse.getData().getPayPlatformResponseList().size()==0) {
log.info("混合支付返回信息错误,trackingNo:{} request:{} response:{}",trackingNo, JSONObject.toJSONString(combPayRequest), JSONObject.toJSONString(combPayResponse));
......@@ -3298,7 +3302,7 @@ public class OrderServiceImpl implements Orderservice {
orderPayResponse.setMsg("支付:现金支付错误");
return orderPayResponse;
}
orderPayResponse = orderAdapter.convent2OrderCombPayResponse(combPayResponse.getData().getPayPlatformResponseList(),orderBean.getCompanyId());
orderPayResponse = orderAdapter.convent2OrderCombPayResponse(combPayResponse.getData().getPayPlatformResponseList(),orderBean.getCompanyId(),storeId,totalAmount, svcAmount+svcVAmount);
orderPayResponse.setOpenId(paymentRequest.getOpenId());
orderPayResponse.setWxAppid(paymentRequest.getWxAppId());
orderPayResponse.setPartnerId(orderBean.getCompanyId());
......
......@@ -3,6 +3,8 @@ package com.freemud.application.sdk.api.ordercenter.entities;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.math.BigDecimal;
/**
* All rights Reserved, Designed By www.freemud.cn
*
......@@ -26,4 +28,6 @@ public class PayItem {
private String outOrderNo;
private String platformTradeNo;
private String endTransTradeNo;
private String storeId;
private BigDecimal payAmount;
}
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