Commit 5be69c69 by 徐康

Merge branch 'feature/20200727_麦咖啡p1v2支付券码路由' into develop

parents 17961380 5e28039c
...@@ -181,7 +181,6 @@ public class CheckMCCafeOrder { ...@@ -181,7 +181,6 @@ public class CheckMCCafeOrder {
throw new ServiceException(ResponseResult.PARAMETER_MISSING); throw new ServiceException(ResponseResult.PARAMETER_MISSING);
} }
String appId = userLoginInfoDto.getWxAppId(); String appId = userLoginInfoDto.getWxAppId();
// 校验小程序是否支持到店或者外卖 // 校验小程序是否支持到店或者外卖
AssortmentOpenPlatformIappWxappConfig config = openPlatformIappWxappConfigManager.selectIappWxappConfigByWxAppId(appId); AssortmentOpenPlatformIappWxappConfig config = openPlatformIappWxappConfigManager.selectIappWxappConfigByWxAppId(appId);
...@@ -249,7 +248,7 @@ public class CheckMCCafeOrder { ...@@ -249,7 +248,7 @@ public class CheckMCCafeOrder {
} }
// 外卖单选择立即送达的话,下单时间必须在店铺外卖时间内 // 外卖单选择立即送达的话,下单时间必须在店铺外卖时间内
if(createOrderVo.getOrderType().compareTo(CreateOrderType.TAKE_OUT.getCode()) == 0) { if(createOrderVo.getOrderType().compareTo(CreateOrderType.TAKE_OUT.getCode()) == 0) {
checkTakeOutTime(storeResponseDto, new Date(), new Date(), true); checkTakeOutTime(storeResponseDto, new Date(), new Date());
} }
} }
//有预约时间的自提单 //有预约时间的自提单
...@@ -328,7 +327,7 @@ public class CheckMCCafeOrder { ...@@ -328,7 +327,7 @@ public class CheckMCCafeOrder {
} }
if (CreateOrderType.TAKE_OUT.getCode().equals(createOrderVo.getOrderType())) { if (CreateOrderType.TAKE_OUT.getCode().equals(createOrderVo.getOrderType())) {
checkTakeOutTime(storeResponseDto, date, takeMealDateTime, expectTimeInTodayBusinessTime); checkTakeOutTime(storeResponseDto, date, takeMealDateTime);
} }
} }
...@@ -337,9 +336,8 @@ public class CheckMCCafeOrder { ...@@ -337,9 +336,8 @@ public class CheckMCCafeOrder {
* @param storeResponseDto 店铺信息 * @param storeResponseDto 店铺信息
* @param now 当前时间 * @param now 当前时间
* @param expectTime 预约单送达时间/即时单下单时间 * @param expectTime 预约单送达时间/即时单下单时间
* @param expectTimeInTodayBusinessTime 是否在当日营业时间内
*/ */
private void checkTakeOutTime(StoreResponse.BizVO storeResponseDto, Date now, Date expectTime, boolean expectTimeInTodayBusinessTime) { private void checkTakeOutTime(StoreResponse.BizVO storeResponseDto, Date now, Date expectTime) {
String deliveryStr = storeResponseDto.getDeliveryHoursDay().replace("-", ",") String deliveryStr = storeResponseDto.getDeliveryHoursDay().replace("-", ",")
.replace("_", ","); .replace("_", ",");
String[] deliverys = deliveryStr.split(","); String[] deliverys = deliveryStr.split(",");
...@@ -361,13 +359,7 @@ public class CheckMCCafeOrder { ...@@ -361,13 +359,7 @@ public class CheckMCCafeOrder {
throw new ServiceException(ResponseResult.ORDER_CREATE_TIME_NOT_DELIVERY); throw new ServiceException(ResponseResult.ORDER_CREATE_TIME_NOT_DELIVERY);
} }
// 校验预约配送时间 // 校验预约配送时间
if (expectTimeInTodayBusinessTime && (expectTime.before(deliveryStartDate) || expectTime.after(deliveryEndDate))) { if (expectTime.before(deliveryStartDate) || expectTime.after(deliveryEndDate)) {
throw new ServiceException(ResponseResult.ORDER_CREATE_TIME_NOT_DELIVERY);
}
Date nextDeliveryStartDate = DateUtil.addDays(deliveryStartDate, 1);
Date nextDeliveryEndDate = DateUtil.addDays(deliveryEndDate, 1);
// 隔日预约外卖校验预约配送时间
if (!expectTimeInTodayBusinessTime && (expectTime.before(nextDeliveryStartDate) || expectTime.after(nextDeliveryEndDate))) {
throw new ServiceException(ResponseResult.ORDER_CREATE_TIME_NOT_DELIVERY); throw new ServiceException(ResponseResult.ORDER_CREATE_TIME_NOT_DELIVERY);
} }
} }
...@@ -602,47 +594,47 @@ public class CheckMCCafeOrder { ...@@ -602,47 +594,47 @@ public class CheckMCCafeOrder {
requestDto.setShoppingCartInfoRequestVo(shoppingCartInfoRequestVo); requestDto.setShoppingCartInfoRequestVo(shoppingCartInfoRequestVo);
//加价购商品 校验放购物车校验 //加价购商品 校验放购物车校验
requestDto.setPremiumExchangeActivity(createOrderVo.getPremiumExchangeActivity()); requestDto.setPremiumExchangeActivity(createOrderVo.getPremiumExchangeActivity());
cn.freemud.base.entity.BaseResponse<ShoppingCartGoodsDto> apportionResponse = shoppingCartClient.getShoppingCartGoodsApportionNew(requestDto); // cn.freemud.base.entity.BaseResponse<ShoppingCartGoodsDto> apportionResponse = shoppingCartClient.getShoppingCartGoodsApportionNew(requestDto);
//暂时写死测试数据 //暂时写死测试数据
// cn.freemud.base.entity.BaseResponse<ShoppingCartGoodsDto> apportionResponse = JSON.parseObject( cn.freemud.base.entity.BaseResponse<ShoppingCartGoodsDto> apportionResponse = JSON.parseObject(
// "{\n" + "{\n" +
// " \"code\": \"100\",\n" + " \"code\": \"100\",\n" +
// " \"message\": \"success\",\n" + " \"message\": \"success\",\n" +
// " \"result\": {\n" + " \"result\": {\n" +
// " \"activityDiscountsDtos\": [],\n" + " \"activityDiscountsDtos\": [],\n" +
// " \"isDiscountDelivery\": false,\n" + " \"isDiscountDelivery\": false,\n" +
// " \"originalTotalAmount\": 1,\n" + " \"originalTotalAmount\": 1,\n" +
// " \"products\": [\n" + " \"products\": [\n" +
// " {\n" + " {\n" +
// " \"activityDiscountsDtos\": [],\n" + " \"activityDiscountsDtos\": [],\n" +
// " \"attributeNames\": \"{\\\"attributeNames\\\":\\\"\\\"}\",\n" + " \"attributeNames\": \"{\\\"attributeNames\\\":\\\"\\\"}\",\n" +
// " \"categoryName\": \"鞍山市\",\n" + " \"categoryName\": \"鞍山市\",\n" +
// " \"classificationId\": \"\",\n" + " \"classificationId\": \"\",\n" +
// " \"customerCode\": \"4095\",\n" + " \"customerCode\": \"4095\",\n" +
// " \"extraList\": [],\n" + " \"extraList\": [],\n" +
// " \"hasProductCoupon\": false,\n" + " \"hasProductCoupon\": false,\n" +
// " \"materialList\": [],\n" + " \"materialList\": [],\n" +
// " \"originalPrice\": 1,\n" + " \"originalPrice\": 1,\n" +
// " \"picture\": \"https://img10.sandload.cn/zfd0x0.jpg?timestamp=1593831027040\",\n" + " \"picture\": \"https://img10.sandload.cn/zfd0x0.jpg?timestamp=1593831027040\",\n" +
// " \"qty\": 1,\n" + " \"qty\": 1,\n" +
// " \"skuId\": \"162535232231270663\",\n" + " \"skuId\": \"162535232231270663\",\n" +
// " \"skuName\": \"鱿鱼须把把串\",\n" + " \"skuName\": \"鱿鱼须把把串\",\n" +
// " \"spuId\": \"162535232231270663\",\n" + " \"spuId\": \"162535232231270663\",\n" +
// " \"spuName\": \"鱿鱼须把把串\",\n" + " \"spuName\": \"鱿鱼须把把串\",\n" +
// " \"stockLimit\": false,\n" + " \"stockLimit\": false,\n" +
// " \"totalDiscountAmount\": 0,\n" + " \"totalDiscountAmount\": 0,\n" +
// " \"unit\": \"g\",\n" + " \"unit\": \"g\",\n" +
// " \"weight\": 0\n" + " \"weight\": 0\n" +
// " }\n" + " }\n" +
// " ],\n" + " ],\n" +
// " \"reduceScore\": 0,\n" + " \"reduceScore\": 0,\n" +
// " \"scoreReduceAmount\": 0,\n" + " \"scoreReduceAmount\": 0,\n" +
// " \"totalAmount\": 1,\n" + " \"totalAmount\": 1,\n" +
// " \"totalDiscountAmount\": 0\n" + " \"totalDiscountAmount\": 0\n" +
// " },\n" + " },\n" +
// " \"ver\": \"1\"\n" + " \"ver\": \"1\"\n" +
// "}", new TypeReference<cn.freemud.base.entity.BaseResponse<ShoppingCartGoodsDto>>(){} "}", new TypeReference<cn.freemud.base.entity.BaseResponse<ShoppingCartGoodsDto>>(){}
// ); );
if (!ObjectUtils.equals(ResponseCodeConstant.RESPONSE_SUCCESS_STR, apportionResponse.getCode())) { if (!ObjectUtils.equals(ResponseCodeConstant.RESPONSE_SUCCESS_STR, apportionResponse.getCode())) {
ResponseResult responseResult = ResponseResult.getResponseResult(apportionResponse.getCode()); ResponseResult responseResult = ResponseResult.getResponseResult(apportionResponse.getCode());
throw new ServiceException(responseResult != null ? responseResult : ResponseResult.SHOPPING_CART_GETINFO_ERROR ); throw new ServiceException(responseResult != null ? responseResult : ResponseResult.SHOPPING_CART_GETINFO_ERROR );
......
...@@ -12,7 +12,7 @@ import java.util.List; ...@@ -12,7 +12,7 @@ import java.util.List;
public interface CouponClientService { public interface CouponClientService {
// CouponRedeemResponse redeem(QueryOrdersResponse.DataBean.OrderBean orderBean, List<CreateOrderAccountRequest> accounts); CouponRedeemResponse redeem(QueryOrdersResponse.DataBean.OrderBean orderBean, List<CreateOrderAccountRequest> accounts);
CouponRedeemResponse redeem(MCCafeConponRequest mcCafeConponRequest); CouponRedeemResponse redeem(MCCafeConponRequest mcCafeConponRequest);
......
...@@ -6,6 +6,8 @@ import cn.freemud.amqp.MQMessage; ...@@ -6,6 +6,8 @@ import cn.freemud.amqp.MQMessage;
import cn.freemud.amqp.MQService; import cn.freemud.amqp.MQService;
import cn.freemud.service.mccafe.CouponClientService; import cn.freemud.service.mccafe.CouponClientService;
import cn.freemud.service.mccafe.MCCafeOrderCenterSdkService; import cn.freemud.service.mccafe.MCCafeOrderCenterSdkService;
import com.freemud.application.sdk.api.couponcenter.offline.response.CouponRedeemResponse;
import com.freemud.sdk.api.assortment.order.enums.OldOrderType;
import com.freemud.sdk.api.assortment.order.service.OrderCenterSdkService; import com.freemud.sdk.api.assortment.order.service.OrderCenterSdkService;
import com.alibaba.fastjson.JSONObject; import com.alibaba.fastjson.JSONObject;
import com.freemud.api.assortment.datamanager.manager.customer.AssortmentCustomerInfoManager; import com.freemud.api.assortment.datamanager.manager.customer.AssortmentCustomerInfoManager;
...@@ -185,53 +187,53 @@ public class MCCafeOrderCenterSdkServiceImpl implements MCCafeOrderCenterSdkServ ...@@ -185,53 +187,53 @@ public class MCCafeOrderCenterSdkServiceImpl implements MCCafeOrderCenterSdkServ
} }
} }
CouponBaseResponse couponRedeemResponse = couponClientService.lock(orderBean, accounts); // CouponBaseResponse couponBaseResponse = couponClientService.lock(orderBean, accounts);
// if (couponBaseResponse!=null){
//
// if (!ObjectUtils.equals(RESPONSE_SUCCESS_STR, couponBaseResponse.getStatusCode())) {
// //TODO 失败取消订单,异步冲正库存
// CancelOrderRequest cancelOrderRequest = orderSdkAdapter.convent2CancelOrderRequest(orderBean.getOid(), orderBean.getCompanyId(),
// AfterSalesType.SYSTEM_CANCEL, "冻结券码失败", "", null);
// orderCenterSdkService.orderCancel(cancelOrderRequest);
// //失败异步冲正库存,取消订单
// backOrdersNotifyActivity(orderBean, mqMessageRequest.getBackOrdersNotifyActivityQueue(), mqMessageRequest.getBackOrdersNotifyActivityExchange());
// return BaseOrderResponse.getErrorBaseOrderResponse(couponBaseResponse.getStatusCode(), "冻结券码失败");
// }
// }
// 如果是自提,则冻结优惠券,失败提示下单失败并冲正库存积分等
// 如果是外卖,则核销优惠券,失败提示下单失败并冲正库存积分等
if(OldOrderType.TAKE_OUT.getCode().equals(orderBean.getType())) {
CouponRedeemResponse couponRedeemResponse = couponClientService.redeem(orderBean, accounts);
if (couponRedeemResponse!=null){ if (couponRedeemResponse!=null){
if (!ObjectUtils.equals(RESPONSE_SUCCESS_STR, couponRedeemResponse.getStatusCode())) { if (!ObjectUtils.equals(RESPONSE_SUCCESS_STR, couponRedeemResponse.getStatusCode())) {
//TODO 失败取消订单,异步冲正库存 //TODO 失败取消订单,异步冲正库存
CancelOrderRequest cancelOrderRequest = orderSdkAdapter.convent2CancelOrderRequest(orderBean.getOid(), orderBean.getCompanyId(), CancelOrderRequest cancelOrderRequest = orderSdkAdapter.convent2CancelOrderRequest(orderBean.getOid(), orderBean.getCompanyId(),
AfterSalesType.SYSTEM_CANCEL, "冻结券码失败", "", null); AfterSalesType.SYSTEM_CANCEL, "核销券码失败", "", null);
orderCenterSdkService.orderCancel(cancelOrderRequest); orderCenterSdkService.orderCancel(cancelOrderRequest);
//失败异步冲正库存,取消订单 //失败异步冲正库存,取消订单
backOrdersNotifyActivity(orderBean, mqMessageRequest.getBackOrdersNotifyActivityQueue(), mqMessageRequest.getBackOrdersNotifyActivityExchange()); backOrdersNotifyActivity(orderBean, mqMessageRequest.getBackOrdersNotifyActivityQueue(), mqMessageRequest.getBackOrdersNotifyActivityExchange());
return BaseOrderResponse.getErrorBaseOrderResponse(couponRedeemResponse.getStatusCode(), "冻结券码失败"); return BaseOrderResponse.getErrorBaseOrderResponse(couponRedeemResponse.getStatusCode(), "核销券码失败");
} }
} }
} else if(OldOrderType.COLLECT_GOODS.getCode().equals(orderBean.getType()) || OldOrderType.EAT_IN.getCode().equals(orderBean.getType())) {
CouponBaseResponse couponBaseResponse = couponClientService.lock(orderBean, accounts);
// 如果是自提,则冻结优惠券,失败提示下单失败并冲正库存积分等 if (couponBaseResponse!=null){
// 如果是外卖,则核销优惠券,失败提示下单失败并冲正库存积分等
// if(OldOrderType.TAKE_OUT.getCode().equals(orderBean.getType())) { if (!ObjectUtils.equals(RESPONSE_SUCCESS_STR, couponBaseResponse.getStatusCode())) {
// CouponRedeemResponse couponRedeemResponse = couponClientService.redeem(orderBean, accounts); //TODO 失败取消订单,异步冲正库存
// CancelOrderRequest cancelOrderRequest = orderSdkAdapter.convent2CancelOrderRequest(orderBean.getOid(), orderBean.getCompanyId(),
// if (couponRedeemResponse!=null){ AfterSalesType.SYSTEM_CANCEL, "冻结券码失败", "", null);
// orderCenterSdkService.orderCancel(cancelOrderRequest);
// if (!ObjectUtils.equals(RESPONSE_SUCCESS_STR, couponRedeemResponse.getStatusCode())) { //失败异步冲正库存,取消订单
// //TODO 失败取消订单,异步冲正库存 backOrdersNotifyActivity(orderBean, mqMessageRequest.getBackOrdersNotifyActivityQueue(), mqMessageRequest.getBackOrdersNotifyActivityExchange());
// CancelOrderRequest cancelOrderRequest = orderSdkAdapter.convent2CancelOrderRequest(orderBean.getOid(), orderBean.getCompanyId(), return BaseOrderResponse.getErrorBaseOrderResponse(couponBaseResponse.getStatusCode(), "冻结券码失败");
// AfterSalesType.SYSTEM_CANCEL, "核销券码失败", "", null); }
// orderCenterSdkService.orderCancel(cancelOrderRequest); }
// //失败异步冲正库存,取消订单 }
// backOrdersNotifyActivity(orderBean, mqMessageRequest.getBackOrdersNotifyActivityQueue(), mqMessageRequest.getBackOrdersNotifyActivityExchange());
// return BaseOrderResponse.getErrorBaseOrderResponse(couponRedeemResponse.getStatusCode(), "核销券码失败");
// }
// }
// } else if(OldOrderType.COLLECT_GOODS.getCode().equals(orderBean.getType()) || OldOrderType.EAT_IN.getCode().equals(orderBean.getType())) {
// CouponRedeemResponse couponRedeemResponse = couponClientService.lock(orderBean, accounts);
//
// if (couponRedeemResponse!=null){
//
// if (!ObjectUtils.equals(RESPONSE_SUCCESS_STR, couponRedeemResponse.getStatusCode())) {
// //TODO 失败取消订单,异步冲正库存
// CancelOrderRequest cancelOrderRequest = orderSdkAdapter.convent2CancelOrderRequest(orderBean.getOid(), orderBean.getCompanyId(),
// AfterSalesType.SYSTEM_CANCEL, "冻结券码失败", "", null);
// orderCenterSdkService.orderCancel(cancelOrderRequest);
// //失败异步冲正库存,取消订单
// backOrdersNotifyActivity(orderBean, mqMessageRequest.getBackOrdersNotifyActivityQueue(), mqMessageRequest.getBackOrdersNotifyActivityExchange());
// return BaseOrderResponse.getErrorBaseOrderResponse(couponRedeemResponse.getStatusCode(), "冻结券码失败");
// }
// }
// }
return BaseOrderResponse.getErrorBaseOrderResponse(RESPONSE_SUCCESS_STR, ""); return BaseOrderResponse.getErrorBaseOrderResponse(RESPONSE_SUCCESS_STR, "");
} }
......
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