Commit 039fb6e3 by xiaoer.li@freemud.com

Merge remote-tracking branch 'origin/develop' into develop

parents a77edd71 cbf43f52
......@@ -89,7 +89,7 @@
<dependency>
<groupId>com.freemud.application.service.sdk</groupId>
<artifactId>storecenter-sdk</artifactId>
<version>3.1.1.RELEASE</version>
<version>3.2.1-SNAPSHOT</version>
</dependency>
<dependency>
<groupId>cn.freemud</groupId>
......
......@@ -13,7 +13,7 @@ import java.util.List;
@Builder
@NoArgsConstructor
@AllArgsConstructor
public class MCCafeConponRequest {
public class MCCafeCouponRequest {
/**
* 接口版本
*/
......
......@@ -63,6 +63,7 @@ public enum ResponseResult {
STORE_DISCONTENT_DELIVERY_CUP("43016", "不满足起送杯数"),
STORE_CLOSED_FOREVER("43017", "门店已关闭,请选择其他门店"),
STORE_CLOSED_THE_NIGHT("43018", "门店已打烊,请选择其他门店"),
STORE_DELIVERY_HOUR_ERROR("43019", "门店外卖时间错误"),
/**
* 购物车状态码
......@@ -148,6 +149,10 @@ public enum ResponseResult {
ORDER_STATUS_PRE_PAYMENT_NOT_SUPPORT("45060", "订单非待支付状态, 创建预支付失败"),
ORDER_TAKEMEALTIME_INVALID("45061", "你的隔日预约时间有误,请重新刷新后选择!"),
ORDER_CONVERT_ERROR("45062", "查询订单结果转换失败"),
ORDER_TAKE_MEAL_TIME_ERROR("450062", "你的到店取餐时间异常,请重新选择!"),
ORDER_MEALTIME_MISSING("450063", "你的取餐方式或取餐时间异常,请重新选择!"),
ORDER_TAKE_OUT_TIME_ERROR("450062", "你的外卖送达时间异常,请重新选择!"),
/**
* 支付
*/
......
......@@ -254,10 +254,6 @@ public class OrderAdapterServiceImpl implements OrderAdapterService {
if (!PayStatus.NOT_PAY.getCode().equals(orderBean.getPayStatus())){
return orderAdapter.sendPaySuccessNoticeMessage();
}
//买券虚拟订单
if(orderBean.getBizType() == 6) {
return sellCouponOrderService.paySuccessCallback(message, confirmOrderDto, orderBeans);
}
/**
* 默认点餐处理
*/
......
package cn.freemud.service.mccafe;
import cn.freemud.entities.dto.QueryOrdersResponseDto;
import com.freemud.application.sdk.api.couponcenter.offline.response.CouponBaseResponse;
import com.freemud.application.sdk.api.couponcenter.offline.response.CouponQueryResponse;
import com.freemud.application.sdk.api.couponcenter.offline.response.CouponRedeemResponse;
import cn.freemud.entities.dto.coupon.MCCafeConponRequest;
import cn.freemud.entities.dto.coupon.MCCafeCouponRequest;
import cn.freemud.entities.dto.coupon.MCCafeCouponLockRequest;
import com.freemud.sdk.api.assortment.order.request.order.CreateOrderAccountRequest;
import com.freemud.sdk.api.assortment.order.response.order.QueryOrdersResponse;
......@@ -14,15 +15,23 @@ public interface CouponClientService {
CouponRedeemResponse redeem(QueryOrdersResponse.DataBean.OrderBean orderBean, List<CreateOrderAccountRequest> accounts);
CouponRedeemResponse redeem(MCCafeConponRequest mcCafeConponRequest);
CouponRedeemResponse redeem(MCCafeCouponRequest mcCafeCouponRequest);
CouponRedeemResponse redeemBatch(QueryOrdersResponse.DataBean.OrderBean orderBean, List<CreateOrderAccountRequest> accounts);
List<CouponRedeemResponse> redeemBatch(QueryOrdersResponseDto.DataBean.OrderBean orderBean);
CouponRedeemResponse cancelRedeem(QueryOrdersResponse.DataBean.OrderBean orderBean, List<CreateOrderAccountRequest> accounts);
CouponQueryResponse query(MCCafeConponRequest mcCafeConponRequest);
CouponQueryResponse query(MCCafeCouponRequest mcCafeCouponRequest);
CouponBaseResponse lock(QueryOrdersResponse.DataBean.OrderBean orderBean, List<CreateOrderAccountRequest> accounts);
CouponBaseResponse lock(MCCafeCouponLockRequest mcCafeCouponLockRequest);
CouponBaseResponse lockBatch(QueryOrdersResponse.DataBean.OrderBean orderBean, List<CreateOrderAccountRequest> accounts);
List<CouponBaseResponse> lockBatch(QueryOrdersResponseDto.DataBean.OrderBean orderBean);
CouponBaseResponse unlock(MCCafeCouponLockRequest mcCafeCouponLockRequest);
}
......@@ -14,10 +14,5 @@ public interface MCCafeOrderCenterSdkService {
*/
CreateOrderResponse createMCCafeOrderFlow(CreateOrderRequest createOrderRequest);
/**
* 创建麦咖啡父子订单
*/
CreateFatherSonOrderResponse createMCCafeFatherSonOrder(CreateFatherSonOrderRequest createFatherSonOrderRequest);
}
......@@ -119,27 +119,6 @@ public class MCCafeOrderCenterSdkServiceImpl implements MCCafeOrderCenterSdkServ
return createOrderResponse;
}
@Override
public CreateFatherSonOrderResponse createMCCafeFatherSonOrder(CreateFatherSonOrderRequest createFatherSonOrderRequest) {
CreateFatherSonOrderReq request = orderSdkAdapter.convent2NEWCreateFatherSonOrderRequest(createFatherSonOrderRequest);
com.freemud.application.sdk.api.ordercenter.response.BaseResponse<List<OrderInfoReqs>> baseResponse = orderSdkService.createFatherSonOrder(request, createFatherSonOrderRequest.getTrackingNo());
if (!RESPONSE_SUCCESS_STR.equals(baseResponse.getCode()) || baseResponse.getResult() == null) {
return CreateFatherSonOrderResponse.error(baseResponse.getCode(), baseResponse.getMessage());
}
CreateFatherSonOrderResponse createFatherSonOrderResponse = orderSdkAdapter.convent2NEWFatherOrderInfoReqs(baseResponse);
List<QueryOrdersResponse.DataBean.OrderBean> productOrderInfo = createFatherSonOrderResponse.getOrderBeanList().stream().filter(orderBeanTemp -> 1 == orderBeanTemp.getBizType()).collect(Collectors.toList());
if (CollectionUtils.isEmpty(productOrderInfo)) {
return CreateFatherSonOrderResponse.error("500", "");
}
CreateFatherSonOrderRequest.OrderInfo productOrderRequest = createFatherSonOrderRequest.getOrderInfoList().stream().filter(orderBeanTemp -> 1 == orderBeanTemp.getBizType()).collect(Collectors.toList()).get(0);
BaseOrderResponse baseOrderResponse =updateMCCafeStockAndScore(productOrderInfo.get(0), productOrderRequest.getProducts(), productOrderRequest.getActivityUpdateStockRequest(), productOrderRequest.getAccounts(),
createFatherSonOrderRequest.getMqMessageRequest(),createFatherSonOrderRequest.getMenuType());
if (!RESPONSE_SUCCESS.equals(baseOrderResponse.getErrcode())) {
return CreateFatherSonOrderResponse.error(baseOrderResponse.getErrcode().toString(), baseOrderResponse.getErrmsg());
}
return createFatherSonOrderResponse;
}
private BaseOrderResponse updateMCCafeStockAndScore(QueryOrdersResponse.DataBean.OrderBean orderBean, List<CreateOrderProductRequest> products, ActivityUpdateStockRequest updateStockRequest,
List<CreateOrderAccountRequest> accounts, MqMessageRequest mqMessageRequest, String menuType) {
//TODO 转换获取库存信息,扣减库存
......@@ -201,39 +180,39 @@ public class MCCafeOrderCenterSdkServiceImpl implements MCCafeOrderCenterSdkServ
// }
// }
// 如果是自提,则冻结优惠券,失败提示下单失败并冲正库存积分等
// 如果是到店,则冻结优惠券,失败提示下单失败并冲正库存积分等
// 如果是外卖,则核销优惠券,失败提示下单失败并冲正库存积分等
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())) {
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.redeemBatch(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())) {
// CouponBaseResponse couponBaseResponse = couponClientService.lockBatch(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(), "冻结券码失败");
// }
// }
// }
return BaseOrderResponse.getErrorBaseOrderResponse(RESPONSE_SUCCESS_STR, "");
}
......
......@@ -4,7 +4,7 @@ import com.freemud.application.sdk.api.couponcenter.offline.response.CouponBaseR
import com.freemud.application.sdk.api.couponcenter.offline.response.CouponQueryResponse;
import com.freemud.application.sdk.api.couponcenter.offline.response.CouponRedeemResponse;
import cn.freemud.entities.dto.coupon.MCCafeCouponLockRequest;
import cn.freemud.entities.dto.coupon.MCCafeConponRequest;
import cn.freemud.entities.dto.coupon.MCCafeCouponRequest;
import org.springframework.cloud.netflix.feign.FeignClient;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestMapping;
......@@ -14,13 +14,13 @@ import org.springframework.web.bind.annotation.RequestMapping;
public interface CouponOfflineMCCafeClient {
@PostMapping("/mccafe/redeem")
CouponRedeemResponse redeem(MCCafeConponRequest mcCafeConponRequest);
CouponRedeemResponse redeem(MCCafeCouponRequest mcCafeCouponRequest);
@PostMapping("/mccafe/cancelRedeem")
CouponRedeemResponse cancelRedeem(MCCafeConponRequest mcCafeConponRequest);
CouponRedeemResponse cancelRedeem(MCCafeCouponRequest mcCafeCouponRequest);
@PostMapping("/mccafe/query")
CouponQueryResponse query(MCCafeConponRequest mcCafeConponRequest);
CouponQueryResponse query(MCCafeCouponRequest mcCafeCouponRequest);
@PostMapping("/mccafe/lock")
CouponBaseResponse lock(MCCafeCouponLockRequest MCCafeCouponLockRequest);
......
......@@ -73,4 +73,10 @@ public interface ShoppingCartClient {
@PostMapping(value = "/getShoppingCartGoodsApportion?lang=zh_CN")
BaseResponse<ShoppingCartGoodsDto> getShoppingCartGoodsApportionNew(@RequestBody GetShoppingCartGoodsApportionDto getShoppingCartGoodsApportionDto);
/**
* 获取购物车详情,包含均摊信息
*/
@PostMapping(value = "/MCoffee/getshoppingcartGoodsApportion?lang=zh_CN")
BaseResponse<ShoppingCartGoodsDto> getMCCafeShoppingCartGoodsApportionNew(@RequestBody GetShoppingCartGoodsApportionDto getShoppingCartGoodsApportionDto);
}
......@@ -2,7 +2,7 @@ package cn.freemud.service;
import cn.freemud.OrderApplication;
import cn.freemud.base.constant.Version;
import cn.freemud.entities.dto.coupon.MCCafeConponRequest;
import cn.freemud.entities.dto.coupon.MCCafeCouponRequest;
import cn.freemud.entities.dto.coupon.MCCafeCouponLockRequest;
import cn.freemud.entities.dto.coupon.MCCafeProductRedeemVo;
import cn.freemud.entities.dto.coupon.MCCafeTransactionVo;
......@@ -30,7 +30,7 @@ public class CouponActivityServiceTest {
@Test
public void redeemTest() {
MCCafeConponRequest couponCodeVerificationDto = new MCCafeConponRequest();
MCCafeCouponRequest couponCodeVerificationDto = new MCCafeCouponRequest();
couponCodeVerificationDto.setVer(Integer.valueOf(Version.VERSION_1));
couponCodeVerificationDto.setReqtype(CouponReqTypeEnum.REDEEM.getCode());
couponCodeVerificationDto.setPartnerId(1205);
......@@ -63,7 +63,7 @@ public class CouponActivityServiceTest {
@Test
public void cancelRedeemTest() {
MCCafeConponRequest couponCodeVerificationDto = new MCCafeConponRequest();
MCCafeCouponRequest couponCodeVerificationDto = new MCCafeCouponRequest();
couponCodeVerificationDto.setVer(Integer.valueOf(Version.VERSION_1));
couponCodeVerificationDto.setReqtype(CouponReqTypeEnum.CANCEL_REDEEM.getCode());
couponCodeVerificationDto.setPartnerId(1205);
......@@ -96,7 +96,7 @@ public class CouponActivityServiceTest {
@Test
public void queryTest() {
MCCafeConponRequest couponCodeVerificationDto = new MCCafeConponRequest();
MCCafeCouponRequest couponCodeVerificationDto = new MCCafeCouponRequest();
couponCodeVerificationDto.setVer(Integer.valueOf(Version.VERSION_1));
couponCodeVerificationDto.setReqtype(CouponReqTypeEnum.QUERY.getCode());
couponCodeVerificationDto.setPartnerId(1205);
......
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