Commit 5be69c69 by 徐康

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

parents 17961380 5e28039c
......@@ -181,7 +181,6 @@ public class CheckMCCafeOrder {
throw new ServiceException(ResponseResult.PARAMETER_MISSING);
}
String appId = userLoginInfoDto.getWxAppId();
// 校验小程序是否支持到店或者外卖
AssortmentOpenPlatformIappWxappConfig config = openPlatformIappWxappConfigManager.selectIappWxappConfigByWxAppId(appId);
......@@ -249,7 +248,7 @@ public class CheckMCCafeOrder {
}
// 外卖单选择立即送达的话,下单时间必须在店铺外卖时间内
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 {
}
if (CreateOrderType.TAKE_OUT.getCode().equals(createOrderVo.getOrderType())) {
checkTakeOutTime(storeResponseDto, date, takeMealDateTime, expectTimeInTodayBusinessTime);
checkTakeOutTime(storeResponseDto, date, takeMealDateTime);
}
}
......@@ -337,9 +336,8 @@ public class CheckMCCafeOrder {
* @param storeResponseDto 店铺信息
* @param now 当前时间
* @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("-", ",")
.replace("_", ",");
String[] deliverys = deliveryStr.split(",");
......@@ -361,13 +359,7 @@ public class CheckMCCafeOrder {
throw new ServiceException(ResponseResult.ORDER_CREATE_TIME_NOT_DELIVERY);
}
// 校验预约配送时间
if (expectTimeInTodayBusinessTime && (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))) {
if (expectTime.before(deliveryStartDate) || expectTime.after(deliveryEndDate)) {
throw new ServiceException(ResponseResult.ORDER_CREATE_TIME_NOT_DELIVERY);
}
}
......@@ -602,47 +594,47 @@ public class CheckMCCafeOrder {
requestDto.setShoppingCartInfoRequestVo(shoppingCartInfoRequestVo);
//加价购商品 校验放购物车校验
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(
// "{\n" +
// " \"code\": \"100\",\n" +
// " \"message\": \"success\",\n" +
// " \"result\": {\n" +
// " \"activityDiscountsDtos\": [],\n" +
// " \"isDiscountDelivery\": false,\n" +
// " \"originalTotalAmount\": 1,\n" +
// " \"products\": [\n" +
// " {\n" +
// " \"activityDiscountsDtos\": [],\n" +
// " \"attributeNames\": \"{\\\"attributeNames\\\":\\\"\\\"}\",\n" +
// " \"categoryName\": \"鞍山市\",\n" +
// " \"classificationId\": \"\",\n" +
// " \"customerCode\": \"4095\",\n" +
// " \"extraList\": [],\n" +
// " \"hasProductCoupon\": false,\n" +
// " \"materialList\": [],\n" +
// " \"originalPrice\": 1,\n" +
// " \"picture\": \"https://img10.sandload.cn/zfd0x0.jpg?timestamp=1593831027040\",\n" +
// " \"qty\": 1,\n" +
// " \"skuId\": \"162535232231270663\",\n" +
// " \"skuName\": \"鱿鱼须把把串\",\n" +
// " \"spuId\": \"162535232231270663\",\n" +
// " \"spuName\": \"鱿鱼须把把串\",\n" +
// " \"stockLimit\": false,\n" +
// " \"totalDiscountAmount\": 0,\n" +
// " \"unit\": \"g\",\n" +
// " \"weight\": 0\n" +
// " }\n" +
// " ],\n" +
// " \"reduceScore\": 0,\n" +
// " \"scoreReduceAmount\": 0,\n" +
// " \"totalAmount\": 1,\n" +
// " \"totalDiscountAmount\": 0\n" +
// " },\n" +
// " \"ver\": \"1\"\n" +
// "}", new TypeReference<cn.freemud.base.entity.BaseResponse<ShoppingCartGoodsDto>>(){}
// );
cn.freemud.base.entity.BaseResponse<ShoppingCartGoodsDto> apportionResponse = JSON.parseObject(
"{\n" +
" \"code\": \"100\",\n" +
" \"message\": \"success\",\n" +
" \"result\": {\n" +
" \"activityDiscountsDtos\": [],\n" +
" \"isDiscountDelivery\": false,\n" +
" \"originalTotalAmount\": 1,\n" +
" \"products\": [\n" +
" {\n" +
" \"activityDiscountsDtos\": [],\n" +
" \"attributeNames\": \"{\\\"attributeNames\\\":\\\"\\\"}\",\n" +
" \"categoryName\": \"鞍山市\",\n" +
" \"classificationId\": \"\",\n" +
" \"customerCode\": \"4095\",\n" +
" \"extraList\": [],\n" +
" \"hasProductCoupon\": false,\n" +
" \"materialList\": [],\n" +
" \"originalPrice\": 1,\n" +
" \"picture\": \"https://img10.sandload.cn/zfd0x0.jpg?timestamp=1593831027040\",\n" +
" \"qty\": 1,\n" +
" \"skuId\": \"162535232231270663\",\n" +
" \"skuName\": \"鱿鱼须把把串\",\n" +
" \"spuId\": \"162535232231270663\",\n" +
" \"spuName\": \"鱿鱼须把把串\",\n" +
" \"stockLimit\": false,\n" +
" \"totalDiscountAmount\": 0,\n" +
" \"unit\": \"g\",\n" +
" \"weight\": 0\n" +
" }\n" +
" ],\n" +
" \"reduceScore\": 0,\n" +
" \"scoreReduceAmount\": 0,\n" +
" \"totalAmount\": 1,\n" +
" \"totalDiscountAmount\": 0\n" +
" },\n" +
" \"ver\": \"1\"\n" +
"}", new TypeReference<cn.freemud.base.entity.BaseResponse<ShoppingCartGoodsDto>>(){}
);
if (!ObjectUtils.equals(ResponseCodeConstant.RESPONSE_SUCCESS_STR, apportionResponse.getCode())) {
ResponseResult responseResult = ResponseResult.getResponseResult(apportionResponse.getCode());
throw new ServiceException(responseResult != null ? responseResult : ResponseResult.SHOPPING_CART_GETINFO_ERROR );
......
......@@ -12,7 +12,7 @@ import java.util.List;
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);
......
......@@ -6,6 +6,8 @@ import cn.freemud.amqp.MQMessage;
import cn.freemud.amqp.MQService;
import cn.freemud.service.mccafe.CouponClientService;
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.alibaba.fastjson.JSONObject;
import com.freemud.api.assortment.datamanager.manager.customer.AssortmentCustomerInfoManager;
......@@ -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 (!ObjectUtils.equals(RESPONSE_SUCCESS_STR, couponRedeemResponse.getStatusCode())) {
//TODO 失败取消订单,异步冲正库存
CancelOrderRequest cancelOrderRequest = orderSdkAdapter.convent2CancelOrderRequest(orderBean.getOid(), orderBean.getCompanyId(),
AfterSalesType.SYSTEM_CANCEL, "冻结券码失败", "", null);
AfterSalesType.SYSTEM_CANCEL, "核销券码失败", "", null);
orderCenterSdkService.orderCancel(cancelOrderRequest);
//失败异步冲正库存,取消订单
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(OldOrderType.TAKE_OUT.getCode().equals(orderBean.getType())) {
// CouponRedeemResponse couponRedeemResponse = couponClientService.redeem(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(), "核销券码失败");
// }
// }
// } 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(), "冻结券码失败");
// }
// }
// }
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(), "冻结券码失败");
}
}
}
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