Commit 3ea5a71d by hanghang.wang

蜜雪新增虚拟业务买券

parent 85a2fd68
......@@ -80,6 +80,7 @@ import org.apache.commons.lang.time.FastDateFormat;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Component;
import tk.mybatis.mapper.util.StringUtil;
import java.awt.geom.Point2D;
import java.io.*;
......@@ -2106,6 +2107,14 @@ public class OrderAdapter {
productVo.setCid(orderProductAddInfoDto.getCartGoodsUid());
// 购物车行父id
productVo.setOcid(orderProductAddInfoDto.getOriginalGoodsUid());
/**
* 蜜雪需求,将extInfo值转为对象返回
*/
Map mapType = JSON.parseObject(productBean.getExtInfo(), Map.class);
List<QueryOrdersResponse.DataBean.OrderBean.ProductBean.ProductExtInfo> proList = (List<QueryOrdersResponse.DataBean.OrderBean.ProductBean.ProductExtInfo>) mapType.get("productBindingCoupons");
productVo.setProductExtInfo(proList);
}
productVo.setOriginalPrice(productBean.getPrice());
productVo.setFinalPrice(productBean.getSalePrice());
......@@ -2873,6 +2882,7 @@ public class OrderAdapter {
/**
* 预支付接口获取类型
*
* @return
*/
private String getFoodOrderType(Integer orderType) {
......@@ -2924,12 +2934,12 @@ public class OrderAdapter {
createOrderResponseVo.setSignType(payOrderBean == null ? "" : payOrderBean.getSignType());
createOrderResponseVo.setSign(payOrderBean == null ? "" : payOrderBean.getSign());
//微信新版订阅消息判断新加字段
if(orderBean != null && orderBean.getType() != null){
if (orderBean != null && orderBean.getType() != null) {
createOrderResponseVo.setOrderType(getNewOrderType(orderBean.getType(), orderBean.getGmtExpect()));
}
createOrderResponseVo.setOrderStr(payOrderBean == null ? "" : payOrderBean.getAliPayOrder());
//抖音支付添加返回OrderInfo
if(String.valueOf(PayChannelType.TIKTOKPAY.getIndex()).equals(orderBean.getPayChannelType())) {
if (String.valueOf(PayChannelType.TIKTOKPAY.getIndex()).equals(orderBean.getPayChannelType())) {
OrderInfo orderInfo = new OrderInfo();
orderInfo.setOrder_id(orderPayResponse.getThirdOrderId());
orderInfo.setOrder_token(orderPayResponse.getThirdOrderToken());
......
......@@ -83,11 +83,6 @@ public class AppCreateOrderVo {
*/
private Integer bizType;
/**
* 此字段只针对蜜雪冰城APP下单购买虚拟券时使用,其他商品请入参orderProducts字段
*/
private String skuId;
}
......@@ -13,6 +13,7 @@
package cn.freemud.entities.vo;
import cn.freemud.entities.dto.ProductGroupDto;
import com.freemud.sdk.api.assortment.order.response.order.QueryOrdersResponse;
import lombok.Data;
import lombok.NoArgsConstructor;
......@@ -200,4 +201,10 @@ public class ProductVo {
*/
private String ocid;
/**
* 商品拓展字段extInfo转换对象接收
*/
private List<QueryOrdersResponse.DataBean.OrderBean.ProductBean.ProductExtInfo> productExtInfo;
}
......@@ -22,7 +22,6 @@ import com.alibaba.fastjson.JSONObject;
import com.freemud.api.assortment.datamanager.entity.vo.AssortmentCustomerInfoVo;
import com.freemud.application.sdk.api.base.SDKCommonBaseContextWare;
import com.freemud.application.sdk.api.constant.ResponseResultEnum;
import com.freemud.application.sdk.api.couponcenter.online.domain.ActiveDetailVO;
import com.freemud.application.sdk.api.log.LogThreadLocal;
import com.freemud.application.sdk.api.ordercenter.enums.AfterSalesType;
import com.freemud.application.sdk.api.ordercenter.enums.OrderClientType;
......@@ -37,11 +36,7 @@ import com.freemud.application.sdk.api.paymentcenter.client.response.PaymentQuer
import com.freemud.application.sdk.api.paymentcenter.client.service.PaymentNewService;
import com.freemud.application.sdk.api.productcenter.domain.ProductBeanDTO;
import com.freemud.application.sdk.api.productcenter.domain.ProductInfosDTO;
import com.freemud.application.sdk.api.productcenter.request.product.GetProductInfoRequest;
import com.freemud.application.sdk.api.productcenter.request.product.GetProductRequest;
import com.freemud.application.sdk.api.productcenter.response.menu.GetMenuCategoryInfoResponse;
import com.freemud.application.sdk.api.productcenter.response.product.GetProductInfosResponse;
import com.freemud.application.sdk.api.productcenter.service.MenuService;
import com.freemud.application.sdk.api.productcenter.service.ProductService;
import com.freemud.application.sdk.api.storecenter.request.StoreInfoRequest;
import com.freemud.application.sdk.api.storecenter.response.StoreResponse;
......@@ -55,7 +50,6 @@ import com.freemud.sdk.api.assortment.order.response.order.CreateOrderResponse;
import com.freemud.sdk.api.assortment.order.response.order.QueryOrdersResponse;
import com.freemud.sdk.api.assortment.order.response.order.QueryRelatedOrderByCodeResp;
import com.freemud.sdk.api.assortment.order.service.OrderCenterSdkService;
import com.google.common.collect.Lists;
import org.apache.commons.collections4.CollectionUtils;
import org.apache.commons.lang.ObjectUtils;
import org.apache.commons.lang.StringUtils;
......@@ -64,6 +58,7 @@ import org.springframework.stereotype.Service;
import java.util.*;
import java.util.concurrent.TimeUnit;
import java.util.concurrent.atomic.AtomicReference;
import java.util.stream.Collectors;
@Service
......@@ -167,14 +162,14 @@ public class AppOrderServiceImpl implements AppOrderService {
}
// 查询门店信息 营业时间、营业状态,服务器当前时间在营业时间内 点餐桌号
checkOrder.checkOrderByStore(storeResponse.getBizVO());
/**蜜雪新增需求-->APP可以购买虚拟商品券业务逻辑**/
QueryOrdersResponse.DataBean.OrderBean orderBean = new QueryOrdersResponse.DataBean.OrderBean();
if (createOrderReq.getBizType() != null && BizTypeEnum.APP_COUPON.getBizType().equals(createOrderReq.getBizType())) {
//现阶段蜜雪卖券业务是能单个,所以默认取0.后续多个的话,也需要调整平台买券取数规则
String skuId = createOrderReq.getOrderProducts().get(0).getSkuId();
//20200107提取虚拟商品券效验方法---》校验虚拟商品,如果正常则返回创建订单对象
BaseResponse createOrderRequestResponse =
sellCouponOrderService.checkOrderCoupon(customerInfo,storeResponse,trackingNo,createOrderReq.getMenuType(), Integer.valueOf(createOrderReq.getBizType()), partnerId, shopId, createOrderReq.getSkuId(), null);
sellCouponOrderService.checkOrderCoupon(customerInfo, storeResponse, trackingNo, createOrderReq.getMenuType(), Integer.valueOf(createOrderReq.getBizType()), partnerId, shopId, skuId, null);
if (createOrderRequestResponse == null || !ResponseResult.SUCCESS.getCode().equals(createOrderRequestResponse.getCode()) || createOrderRequestResponse.getResult() == null) {
return createOrderRequestResponse;
}
......@@ -185,7 +180,7 @@ public class AppOrderServiceImpl implements AppOrderService {
return ResponseUtil.error(ResponseResult.ORDER_CREATE_ERROR);
}
orderBean = createOrderResponse.getData();
}else{
} else {
/**APP创建实体商品业务逻辑**/
// 查商品服务确定金额
ShoppingCartGoodsDto shoppingCartGoodsDto = checkOrderProduct(partnerId, shopId, createOrderReq.getOrderProducts(),
......@@ -216,7 +211,6 @@ public class AppOrderServiceImpl implements AppOrderService {
}
@Override
public String paySuccessCallback(PaysuccessNoticeMessage message, ConfirmOrderDto confirmOrderDto, Map<String, QueryOrdersResponseDto.DataBean.OrderBean> orderBeans) {
String paySuccessCallbackResult = orderservice.paySuccessCallback(message, confirmOrderDto, orderBeans);
......
......@@ -144,6 +144,7 @@ import com.freemud.sdk.api.assortment.payment.service.StandardPaymentService;
import com.google.common.collect.Lists;
import com.google.common.collect.Maps;
import com.google.gson.Gson;
import com.google.gson.JsonElement;
import lombok.SneakyThrows;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.collections4.CollectionUtils;
......@@ -1485,13 +1486,7 @@ public class OrderServiceImpl implements Orderservice {
joinPayGift(sessionId, queryOrderResponseVo, partnerId);
}
List<QueryOrdersResponse.DataBean.OrderBean.ProductBean> productList = response.getData().getProductList();
if(productList!=null && productList.size()>0){
productList.stream().forEach(productBean -> {
productList.get(0).getProductExtInfo().add(gson.fromJson(productBean.getExtInfo(), QueryOrdersResponse.DataBean.OrderBean.ProductBean.ProductExtInfo.class)
);
});
}
buildQueryOrderResponseVo(queryOrderResponseVo, response, partnerId);
......@@ -2496,7 +2491,7 @@ public class OrderServiceImpl implements Orderservice {
orderClient = OrderClientType.APP;
}
//抖音小程序
if("5".equalsIgnoreCase(createOrderVo.getChannel())) {
if ("5".equalsIgnoreCase(createOrderVo.getChannel())) {
createOrderVo.setPayChannelType(PayChannelType.TIKTOKPAY.getIndex());
orderClient = OrderClientType.TIKTOKPAY;
}
......@@ -2798,7 +2793,7 @@ public class OrderServiceImpl implements Orderservice {
orderPayResponse.setPayMode(PayChannelType.ALIPAY.getEbcode());
}
//抖音支付
if(PayChannelType.TIKTOKPAY.getIndex().toString().equalsIgnoreCase(orderBean.getPayChannelType())){
if (PayChannelType.TIKTOKPAY.getIndex().toString().equalsIgnoreCase(orderBean.getPayChannelType())) {
orderPayResponse.setPayMode(PayChannelType.TIKTOKPAY.getEbcode());
}
......@@ -2923,7 +2918,7 @@ public class OrderServiceImpl implements Orderservice {
orderExtInfoDto.setSendPointActivityCode(sendPoint.getActivityCode());
orderExtInfoDto.setSendPointEndTime(sendPoint.getEndTime().getTime() + "");
orderExtInfoDto.setSendPointSendPoint(sendPoint.getSendPoint());
orderExtInfoDto.setSendPointStoreLevel(sendPoint.getStoreLevel());
// orderExtInfoDto.setSendPointStoreLevel(sendPoint.getStoreLevel());
}
return orderExtInfoDto;
}
......
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