Commit 0789c9d4 by 徐康

Merge branch 'feature/20201229_xukang_麦咖啡p5v1'

# Conflicts:
#	order-application-service/pom.xml
#	order-application-service/src/main/java/cn/freemud/adapter/OrderAdapter.java
#	order-application-service/src/test/java/cn/freemud/service/impl/MallOrderServiceImplTest.java
parents 05c82cf9 0483bbd7
...@@ -495,7 +495,7 @@ public class OrderSdkAdapter { ...@@ -495,7 +495,7 @@ public class OrderSdkAdapter {
if (QueryOrderAccountType.DELIVERY_AMOUNT.equals(accountRequest.getAccountType()) if (QueryOrderAccountType.DELIVERY_AMOUNT.equals(accountRequest.getAccountType())
|| QueryOrderAccountType.PACK_AMOUNT.equals(accountRequest.getAccountType()) || QueryOrderAccountType.PACK_AMOUNT.equals(accountRequest.getAccountType())
|| QueryOrderAccountType.CARD_ORIGINAL_AMOUNT.equals(accountRequest.getAccountType()) || QueryOrderAccountType.CARD_ORIGINAL_AMOUNT.equals(accountRequest.getAccountType())
|| QueryOrderAccountType.MCCAFE_MONTH_CARD.equals(accountRequest.getAccountType())) { || QueryOrderAccountType.WITH_ORDER_BUY_COUPON_FEE.equals(accountRequest.getAccountType())) {
OrderCostCreateReq orderCostCreateReq = new OrderCostCreateReq(); OrderCostCreateReq orderCostCreateReq = new OrderCostCreateReq();
orderCostCreateReq.setCostName(accountRequest.getName()); orderCostCreateReq.setCostName(accountRequest.getName());
//新订单服务 1=包装费,2=运费,3=餐盒单价,4=餐盒数量 //新订单服务 1=包装费,2=运费,3=餐盒单价,4=餐盒数量
...@@ -551,7 +551,7 @@ public class OrderSdkAdapter { ...@@ -551,7 +551,7 @@ public class OrderSdkAdapter {
case "CARD_ORIGINAL_AMOUNT": case "CARD_ORIGINAL_AMOUNT":
type = 5; type = 5;
break; break;
case "MCCAFE_MONTH_CARD": case "WITH_ORDER_BUY_COUPON_FEE":
type = 10; type = 10;
break; break;
default: default:
......
...@@ -25,7 +25,13 @@ ...@@ -25,7 +25,13 @@
<dependency> <dependency>
<groupId>com.freemud.sdk.api.assortment</groupId> <groupId>com.freemud.sdk.api.assortment</groupId>
<artifactId>assortment-orderdistributor-sdk</artifactId> <artifactId>assortment-orderdistributor-sdk</artifactId>
<version>3.5.6.RELEASE</version> <version>3.5.4.RELEASE</version>
<exclusions>
<exclusion>
<groupId>cn.freemud</groupId>
<artifactId>ordercenter-sdk</artifactId>
</exclusion>
</exclusions>
</dependency> </dependency>
<dependency> <dependency>
<groupId>com.freemud.application.service.sdk</groupId> <groupId>com.freemud.application.service.sdk</groupId>
......
...@@ -313,19 +313,6 @@ public class DeliveryAdapter { ...@@ -313,19 +313,6 @@ public class DeliveryAdapter {
createDeliveryPreferentialVo.setPreferentialContent(accountBean.getName()); createDeliveryPreferentialVo.setPreferentialContent(accountBean.getName());
createDeliveryPreferentialVo.setPreferentialPrice(0-accountBean.getPrice()); createDeliveryPreferentialVo.setPreferentialPrice(0-accountBean.getPrice());
createDeliveryPreferentialVos.add(createDeliveryPreferentialVo); createDeliveryPreferentialVos.add(createDeliveryPreferentialVo);
} else if (OldOrderAccountType.WITH_ORDER_BUY_COUPON_FEE.getCode().equals(accountBean.getType())) {
ProductInfo productInfo = new ProductInfo();
productInfo.setProductCode(accountBean.getAccountId());
productInfo.setProductName(accountBean.getName());
productInfo.setProductNumber(1);
productInfo.setProductPrice(accountBean.getPrice().intValue());
//餐道使用
productInfo.setCumulatedTotal(accountBean.getPrice().intValue());
productInfo.setTaxId("10");
productInfo.setTaxRate(6d);
productInfo.setParentCode(-1l);
productInfos.add(productInfo);
} }
}); });
deliveryOrderRequestDto.setPreferentials(createDeliveryPreferentialVos); deliveryOrderRequestDto.setPreferentials(createDeliveryPreferentialVos);
......
...@@ -109,6 +109,13 @@ public class OrderAdapter { ...@@ -109,6 +109,13 @@ public class OrderAdapter {
private String mcCafePartnerId; private String mcCafePartnerId;
@Value("${mcCafe.refund.interval}") @Value("${mcCafe.refund.interval}")
private String mccafeRefundInterval; private String mccafeRefundInterval;
@Value("${macafe.waimai.tag}")
private String maCafeWaimaiTag;
@Value("${macafe.pick.tag}")
private String maCafePickTag;
@Value("${mccafe.monthCard.goodsId}")
private String mccafeMonthCardGoodsId;
/** /**
* coco商户 * coco商户
*/ */
...@@ -122,10 +129,6 @@ public class OrderAdapter { ...@@ -122,10 +129,6 @@ public class OrderAdapter {
private String backOrdersChangeOrderStatusConsumerQueue; private String backOrdersChangeOrderStatusConsumerQueue;
@Value("${program.backorders_notify_activity_exchange}") @Value("${program.backorders_notify_activity_exchange}")
private String backOrdersNotifyActivityExchange; private String backOrdersNotifyActivityExchange;
@Value("${macafe.waimai.tag}")
private String maCafeWaimaiTag;
@Value("${macafe.pick.tag}")
private String maCafePickTag;
@Autowired @Autowired
private ShoppingCartAdapter shoppingCartAdapter; private ShoppingCartAdapter shoppingCartAdapter;
@Autowired @Autowired
...@@ -189,6 +192,43 @@ public class OrderAdapter { ...@@ -189,6 +192,43 @@ public class OrderAdapter {
} }
} }
} }
if(null != shoppingCartGoodsDto.getPayCardFee() && 0l != shoppingCartGoodsDto.getPayCardFee() && StringUtils.isNotBlank(createOrderVo.getCardKeyCode())) {
CreateOrderProductRequest createOrderProductDemoDto = new CreateOrderProductRequest();
createOrderProductDemoDto.setProductId(mccafeMonthCardGoodsId);
createOrderProductDemoDto.setProductName("啡常月享卡");
createOrderProductDemoDto.setSpecification(mccafeMonthCardGoodsId);
createOrderProductDemoDto.setSpecificationName("啡常月享卡");
createOrderProductDemoDto.setPrice(shoppingCartGoodsDto.getPayCardFee());
createOrderProductDemoDto.setSalePrice(shoppingCartGoodsDto.getPayCardFee());
createOrderProductDemoDto.setTotalDiscountAmount(0l);
createOrderProductDemoDto.setNumber(1);
createOrderProductDemoDto.setProductType(ProductTypeEnum.WITH_ORDER_VIRTUAL_PRODUCT.getCode());
createOrderProductDemoDto.setParentProductId("0");
createOrderProductDemoDto.setIsFixedProduct(null);
createOrderProductDemoDto.setCustomerCode(createOrderVo.getCardKeyCode());
createOrderProductDemoDto.setProductCode(createOrderVo.getCardKeyCode());
createOrderProductDemoDto.setHasStockProudct(false);
createOrderProductDemoDto.setWeight(0d);
createOrderProductDemoDto.setStapleFood(0);
createOrderProductDemoDto.setTax(0d);
createOrderProductDemoDto.setTaxId("");
if(ProductTypeEnum.TABLEWARE_PRODUCT.getCode().equals(products.get(products.size()-1).getProductType())) {
products.add(products.size()-1, createOrderProductDemoDto);
} else {
products.add(createOrderProductDemoDto);
}
CreateOrderAccountRequest createOrderAccountDto = CreateOrderAccountRequest.builder()
.accountId("")
.name("啡常月享卡")
.price(shoppingCartGoodsDto.getPayCardFee())
.accountType(QueryOrderAccountType.WITH_ORDER_BUY_COUPON_FEE)
.sequence(orderAccountIndex++)
.productId(createOrderVo.getCardKeyCode())
.build();
orderAccountDtos.add(createOrderAccountDto);
}
createOrderDto.setProducts(products); createOrderDto.setProducts(products);
boolean hasDeliveryMonthCard = false; boolean hasDeliveryMonthCard = false;
for (ActivityDiscountsDto activityDiscountsDto : activityDiscountsDtos) { for (ActivityDiscountsDto activityDiscountsDto : activityDiscountsDtos) {
...@@ -277,17 +317,6 @@ public class OrderAdapter { ...@@ -277,17 +317,6 @@ public class OrderAdapter {
.build(); .build();
orderAccountDtos.add(createOrderAccountDto); orderAccountDtos.add(createOrderAccountDto);
} }
if(null != shoppingCartGoodsDto.getPayCardFee() && 0l != shoppingCartGoodsDto.getPayCardFee() && StringUtils.isNotBlank(createOrderVo.getCardKeyCode())) {
CreateOrderAccountRequest createOrderAccountDto = CreateOrderAccountRequest.builder()
.accountId("")
.name("啡常月享卡")
.price(shoppingCartGoodsDto.getPayCardFee())
.accountType(QueryOrderAccountType.MCCAFE_MONTH_CARD)
.sequence(orderAccountIndex++)
.productId(createOrderVo.getCardKeyCode())
.build();
orderAccountDtos.add(createOrderAccountDto);
}
createOrderDto.setAccounts(CollectionUtils.isNotEmpty(orderAccountDtos) ? orderAccountDtos : Collections.emptyList()); createOrderDto.setAccounts(CollectionUtils.isNotEmpty(orderAccountDtos) ? orderAccountDtos : Collections.emptyList());
// update by miaohui 20201030 for 【ID1018638】【C端服务端】活动库存接口调整对接 // update by miaohui 20201030 for 【ID1018638】【C端服务端】活动库存接口调整对接
...@@ -1307,19 +1336,6 @@ public class OrderAdapter { ...@@ -1307,19 +1336,6 @@ public class OrderAdapter {
//商品信息转换 //商品信息转换
convent2ProductVos(ordersBean.getProductList(), responseVo,ordersBean.getCompanyId()); convent2ProductVos(ordersBean.getProductList(), responseVo,ordersBean.getCompanyId());
responseVo.setOrderAccounts(convent2OrderAccountVo(ordersBean.getApportionDetails())); responseVo.setOrderAccounts(convent2OrderAccountVo(ordersBean.getApportionDetails()));
if(CollectionUtils.isNotEmpty(ordersBean.getOrderCostDetailList())) {
ordersBean.getOrderCostDetailList().forEach(o -> {
if(o.getCostType() == 10 && o.getBillType() == 1) {
ProductVo productVo = new ProductVo();
productVo.setQty(1);
productVo.setName(o.getCostName());
productVo.setSpuName(o.getCostName());
productVo.setFinalPrice(o.getCostAmount().longValue());
productVo.setOriginalPrice(o.getActualCostAmount().longValue());
responseVo.getProducts().add(productVo);
}
});
}
Long promotionAmount = 0L; Long promotionAmount = 0L;
Long deliveryAmount = 0L; Long deliveryAmount = 0L;
Long packageAmount = 0L; Long packageAmount = 0L;
......
...@@ -1292,28 +1292,6 @@ public class MCCafeOrderServiceImpl implements MCCafeOrderService { ...@@ -1292,28 +1292,6 @@ public class MCCafeOrderServiceImpl implements MCCafeOrderService {
return newSendPaySuccessNoticeMessage(); return newSendPaySuccessNoticeMessage();
} }
private PlatformBaseRequest getRequest(OrderBean orderInfo) {
PlatformBaseRequest request = new PlatformBaseRequest();
AssortmentOpenApiEncryptDto openApiEncrypts = cacheOpenApiEncryptManager.getAssortmentOpenApiEncrypt(orderInfo.getCompanyId(), OpenPlatformEncryptUrlType.REFUND_STATUS_CHANGE_NOTIFY_URL);
request.setAppId(openApiEncrypts.getAppId());
request.setPartnerId(orderInfo.getCompanyId());
request.setVer("1");
OrderRefundStatusChangeRequestBody orderBody = new OrderRefundStatusChangeRequestBody();
orderBody.setOrderCode(orderInfo.getOid());
orderBody.setTimeStamp(System.currentTimeMillis()+"");
orderBody.setRefundType(AfterSalesType.OTHER.getIndex().toString());
orderBody.setRefundStatus(com.freemud.sdk.api.assortment.order.enums.RefundStatus.COMPLETE_REFUND.getCode().toString());
orderBody.setRefundReason("门店线下退款");
request.setRequestBody(JSON.toJSONString(orderBody));
String content = MapBeanConvertUtil.sortObjWithoutSign(request);
try {
request.setSign(RSASignUtil.getSign(content, openApiEncrypts.getServerPrivateKey(), "UTF-8"));
} catch (Exception e) {
LogUtil.error("getPlatformBaseRequest", content, JSON.toJSONString(openApiEncrypts), e);
}
return request;
}
/** /**
* 取消配送 * 取消配送
* *
......
package cn.freemud.service.impl; package cn.freemud.service.impl;
import cn.freemud.entities.vo.CreateOrderVo;
import cn.freemud.management.entities.dto.request.order.OrderManagerRequest; import cn.freemud.management.entities.dto.request.order.OrderManagerRequest;
import cn.freemud.management.service.adapter.OrderManagerAdapter; import cn.freemud.management.service.adapter.OrderManagerAdapter;
import cn.freemud.management.thirdparty.MulitiPaymentClient; import cn.freemud.management.thirdparty.MulitiPaymentClient;
...@@ -8,6 +9,8 @@ import com.freemud.application.sdk.api.ordercenter.request.OrderConditionsReq; ...@@ -8,6 +9,8 @@ import com.freemud.application.sdk.api.ordercenter.request.OrderConditionsReq;
import com.freemud.application.sdk.api.ordercenter.service.OrderDownLoadSdkService; import com.freemud.application.sdk.api.ordercenter.service.OrderDownLoadSdkService;
import com.freemud.sdk.api.assortment.order.request.order.MultiOrderRefundRequest; import com.freemud.sdk.api.assortment.order.request.order.MultiOrderRefundRequest;
import com.freemud.sdk.api.assortment.order.response.order.MultiOrderRefundResponse; import com.freemud.sdk.api.assortment.order.response.order.MultiOrderRefundResponse;
import org.hibernate.validator.HibernateValidator;
import org.hibernate.validator.HibernateValidatorConfiguration;
import org.junit.Test; import org.junit.Test;
import org.junit.runner.RunWith; import org.junit.runner.RunWith;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
...@@ -20,6 +23,11 @@ import org.springframework.core.SpringVersion; ...@@ -20,6 +23,11 @@ import org.springframework.core.SpringVersion;
import org.springframework.test.context.junit4.SpringRunner; import org.springframework.test.context.junit4.SpringRunner;
import springfox.documentation.spring.web.json.Json; import springfox.documentation.spring.web.json.Json;
import javax.validation.ConstraintViolation;
import javax.validation.Validation;
import javax.validation.ValidatorFactory;
import java.util.Set;
@RunWith(SpringRunner.class) @RunWith(SpringRunner.class)
@SpringBootTest @SpringBootTest
@EnableDiscoveryClient @EnableDiscoveryClient
...@@ -27,6 +35,74 @@ import springfox.documentation.spring.web.json.Json; ...@@ -27,6 +35,74 @@ import springfox.documentation.spring.web.json.Json;
@EnableAutoConfiguration @EnableAutoConfiguration
public class MallOrderServiceImplTest { public class MallOrderServiceImplTest {
@Autowired
private OrderDownLoadSdkService orderDownLoadSdkService;
// @Autowired
// private MallOrderServiceImpl mallOrderService;
//
// @Autowired
// private MCCafeOrderServiceImpl mcCafeOrderService;
//
// @Autowired
// private MulitiPaymentClient mulitiPaymentClient;
//
// @Autowired
// private OrderManagerAdapter orderManagerAdapter;
// @Before
// public void before() throws Exception {
// }
//
// @After
// public void after() throws Exception {
// }
// @Test
// public void f1() {
// mcCafeOrderService.createOrder(JSON.parseObject("{\"channelType\":\"saas\",\"couponCode\":\"\",\"menuType\":\"saasdelivery\",\"needInvoice\":0,\"needTableware\":0,\"orderRemark\":\"\",\"orderType\":2,\"partnerId\":\"1206\",\"payChannelType\":1,\"receiveId\":\"3599568180562003060\",\"sessionId\":\"c4377678dbcbd6cdf6e7df86ea112b6f82723023\",\"shopId\":\"1450026\",\"takeMealFlag\":\"0\"}", CreateOrderVo.class),
// new StoreResponse.BizVO(),
// JSON.parseObject("{\"activityDiscountsDtos\":[],\"deliveryAmount\":10,\"discountDeliveryAmount\":10,\"isDiscountDelivery\":false,\"originalTotalAmount\":4400,\"packageAmount\":0,\"products\":[{\"activityDiscountsDtos\":[],\"attributeNames\":\"{\\\"attributeNames\\\":\\\"\\\"}\",\"cartGoodsUid\":\"eb8c7260-8ecb-44d1-9234-8d8bed0b0875\",\"classificationId\":\"\",\"classificationName\":\"\",\"comboProducts\":[{\"attributeNames\":\"{\\\"attributeNames\\\":\\\"\\\"}\",\"customerCode\":\"501642\",\"extraList\":[],\"hasProductCoupon\":false,\"isFixedProduct\":false,\"materialList\":[],\"originalPrice\":1700,\"parentProductId\":\"184437853099519288\",\"picture\":\"https://picture.sandload.cn/1598678546485.png\",\"productType\":6,\"qty\":2,\"skuId\":\"184437494035639613\",\"skuName\":\"中杯热美式\",\"spuId\":\"184437494035639613\",\"spuName\":\"中杯热美式\",\"stockLimit\":false,\"tax\":0.01,\"taxId\":\"\",\"totalDiscountAmount\":0,\"unit\":\"\",\"weight\":0.0},{\"attributeNames\":\"{\\\"attributeNames\\\":\\\"\\\"}\",\"customerCode\":\"901290\",\"extraList\":[],\"hasProductCoupon\":false,\"isFixedProduct\":false,\"materialList\":[],\"originalPrice\":500,\"parentProductId\":\"184437853099519288\",\"picture\":\"https://picture.sandload.cn/1598677404074.png\",\"productType\":6,\"qty\":2,\"skuId\":\"184436294373469463\",\"skuName\":\"经典芝士蛋糕\",\"spuId\":\"184436294373469463\",\"spuName\":\"经典芝士蛋糕\",\"stockLimit\":false,\"tax\":0.01,\"taxId\":\"\",\"totalDiscountAmount\":0,\"unit\":\"\",\"weight\":0.0}],\"customerCode\":\"901280\",\"extraList\":[],\"hasProductCoupon\":false,\"materialList\":[],\"originalPrice\":4400,\"picture\":\"https://picture.sandload.cn/1598678861518.png\",\"productCode\":\"901280\",\"productType\":6,\"qty\":2,\"salePrice\":4400,\"skuId\":\"184437853099519288\",\"skuName\":\"早餐啡常搭\",\"spuId\":\"184437853099519288\",\"spuName\":\"早餐啡常搭\",\"stockLimit\":false,\"tax\":0.01,\"taxId\":\"\",\"totalDiscountAmount\":0,\"unit\":\"\",\"weight\":0.0}],\"shareDiscountActivityDtos\":[],\"totalAmount\":4400,\"totalDiscountAmount\":0}", ShoppingCartGoodsDto.class),
// new OrderExtendedReq(),
// OrderClientType.SAAS,"www");
// }
@Test
public void f2() {
HibernateValidatorConfiguration configuration = Validation.byProvider(HibernateValidator.class)
.configure()
.failFast(false);
ValidatorFactory validatorFactory = configuration.buildValidatorFactory();
Set<ConstraintViolation<CreateOrderVo>> set = validatorFactory.getValidator().validate(new CreateOrderVo());
}
//
// @Test
// public void testPaySuccess() {
// //0元支付
// String fmId = "SPAY" + ValidationCode.getRandomUuid();
// PaysuccessNoticeMessage message = new PaysuccessNoticeMessage();
// message.setResult_code(100);
// message.setOut_trade_no(fmId);
// message.setTrans_id("16303606485084241800003");
// message.setTotal_fee(0);
// message.setOpenid("oORZK5MHMBm78PO302NdRyzIY5K0");
// message.setPlatform_coupon(0);
// message.setMerchant_coupon(0);
// mallOrderService.paySuccessCallback(message);
// }
// @Test
// public void testAffirm() {
// OrderAffirmRequestVO requestVO = new OrderAffirmRequestVO();
// requestVO.setPartnerId("1864");
// requestVO.setShopId("8899");
// requestVO.setSessionId("123123");
// requestVO.setChannelType("saasmall");
// requestVO.setOid("16303606485084241800003");
// mallOrderService.orderAffirm(requestVO);
// }
@Test @Test
public void test() { public void test() {
String version = SpringVersion.getVersion(); String version = SpringVersion.getVersion();
......
...@@ -116,15 +116,12 @@ public class PaymentHandle { ...@@ -116,15 +116,12 @@ public class PaymentHandle {
orderRefundResponse = standardPaymentService.orderRefund(orderRefundRequest, ""); orderRefundResponse = standardPaymentService.orderRefund(orderRefundRequest, "");
}catch (Exception ex){ }catch (Exception ex){
ErrorLog.errorConvertJson(this.getClass(), "refundError", ex); ErrorLog.errorConvertJson(this.getClass(), "refundError", ex);
throw new OrderServiceException(ResponseResult.REFUND_EXCEPTION); return handlePayRefundResponse(PayRefundStatus.FAIL,orderRefundRequest.getRefundId());
} }
if (orderRefundResponse==null){ if (orderRefundResponse==null || ObjectUtils.notEqual(orderRefundResponse.getCode(),SUCCESS)){
throw new OrderServiceException(ResponseResult.REFUND_EXCEPTION); return handlePayRefundResponse(PayRefundStatus.FAIL,orderRefundRequest.getRefundId());
} }
if (ObjectUtils.notEqual(orderRefundResponse.getCode(),SUCCESS)){ refundStatus=ObjectUtils.equals(PayRefundStatus.SUCCESS.getCode(), orderRefundResponse.getData().getRefundStatus())?PayRefundStatus.SUCCESS:PayRefundStatus.FAIL;
throw new OrderServiceException(ResponseResult.REFUND_FAIL,orderRefundResponse.getMessage());
}
refundStatus=ObjectUtils.equals( PayRefundStatus.SUCCESS.getCode(), orderRefundResponse.getData().getRefundStatus())?PayRefundStatus.SUCCESS:PayRefundStatus.RUNNING;
return handlePayRefundResponse(refundStatus,orderRefundRequest.getRefundId()); return handlePayRefundResponse(refundStatus,orderRefundRequest.getRefundId());
} }
......
...@@ -15,8 +15,13 @@ import cn.freemud.management.thirdparty.CustomerMcCafeClient; ...@@ -15,8 +15,13 @@ import cn.freemud.management.thirdparty.CustomerMcCafeClient;
import cn.freemud.management.thirdparty.DeliveryMCCafeClient; import cn.freemud.management.thirdparty.DeliveryMCCafeClient;
import cn.freemud.management.util.ResponseUtil; import cn.freemud.management.util.ResponseUtil;
import com.freemud.application.sdk.api.deliverycenter.response.DeliveryResponseDto; import com.freemud.application.sdk.api.deliverycenter.response.DeliveryResponseDto;
import com.freemud.application.sdk.api.ordercenter.enums.AbnormalStateEnum;
import com.freemud.application.sdk.api.ordercenter.enums.OrderClientType;
import com.freemud.application.sdk.api.ordercenter.request.SdkUpdateAbnormalState;
import com.freemud.application.sdk.api.ordercenter.response.orderInfo.OrderCostResp; import com.freemud.application.sdk.api.ordercenter.response.orderInfo.OrderCostResp;
import com.freemud.application.sdk.api.ordercenter.service.OrderSdkService;
import com.freemud.sdk.api.assortment.message.enums.OrderType; import com.freemud.sdk.api.assortment.message.enums.OrderType;
import com.freemud.sdk.api.assortment.order.enums.PayRefundStatus;
import com.freemud.sdk.api.assortment.order.response.order.QueryOrdersResponse; import com.freemud.sdk.api.assortment.order.response.order.QueryOrdersResponse;
import org.apache.commons.collections4.CollectionUtils; import org.apache.commons.collections4.CollectionUtils;
import org.apache.commons.lang.StringUtils; import org.apache.commons.lang.StringUtils;
...@@ -58,7 +63,7 @@ public class McCafeMangerServiceImpl implements OrderManagerService { ...@@ -58,7 +63,7 @@ public class McCafeMangerServiceImpl implements OrderManagerService {
@Resource @Resource
private DeliveryMCCafeClient deliveryMCCafeClient; private DeliveryMCCafeClient deliveryMCCafeClient;
@Resource @Resource
private CustomerMcCafeClient customerMcCafeClient; private OrderSdkService orderSdkService;
@Value("${mccafe.partner.id}") @Value("${mccafe.partner.id}")
private String macCafePartnerId; private String macCafePartnerId;
...@@ -124,10 +129,21 @@ public class McCafeMangerServiceImpl implements OrderManagerService { ...@@ -124,10 +129,21 @@ public class McCafeMangerServiceImpl implements OrderManagerService {
}else { }else {
//支付退款 //支付退款
PayRefundResponse refundResponse = paymentHandle.mcCafeRefund(orderManagerRequest, orderBean); PayRefundResponse refundResponse = paymentHandle.mcCafeRefund(orderManagerRequest, orderBean);
if(refundResponse.getPayRefundStatus().getCode().equals(PayRefundStatus.SUCCESS.getCode())) {
//订单拒单 //订单拒单
saasOrderHandle.mcCafeOrderReject(orderManagerRequest, refundResponse, orderBean); saasOrderHandle.mcCafeOrderReject(orderManagerRequest, refundResponse, orderBean);
//冲正库存 //冲正库存
stockHandle.revert(orderManagerRequest, orderBean); stockHandle.revert(orderManagerRequest, orderBean);
} else {
SdkUpdateAbnormalState sdkUpdateAbnormalState = new SdkUpdateAbnormalState();
sdkUpdateAbnormalState.setOrderCode(request.getOrderId());
sdkUpdateAbnormalState.setPartnerId(request.getPartnerId());
sdkUpdateAbnormalState.setAbnormalState(AbnormalStateEnum.ABNORMAL.getCode());
sdkUpdateAbnormalState.setAbnormalDesc("支付退款失败,订单入机失败回调异常");
sdkUpdateAbnormalState.setOrderClient(OrderClientType.SAAS.getIndex());
sdkUpdateAbnormalState.setOperator(request.getOperator());
orderSdkService.updateAbnormalState(sdkUpdateAbnormalState);
}
} }
return ResponseUtil.success(); return ResponseUtil.success();
} }
...@@ -186,11 +202,22 @@ public class McCafeMangerServiceImpl implements OrderManagerService { ...@@ -186,11 +202,22 @@ public class McCafeMangerServiceImpl implements OrderManagerService {
@Override @Override
public BaseResponse<OrderManagerResponse> orderAgreeRefund(OrderManagerRequest request, QueryOrdersResponse.DataBean.OrderBean orderBean) { public BaseResponse<OrderManagerResponse> orderAgreeRefund(OrderManagerRequest request, QueryOrdersResponse.DataBean.OrderBean orderBean) {
//支付退款 //支付退款
PayRefundResponse refund = paymentHandle.mcCafeRefund(request, orderBean); PayRefundResponse refundResponse = paymentHandle.mcCafeRefund(request, orderBean);
if(refundResponse.getPayRefundStatus().getCode().equals(PayRefundStatus.SUCCESS.getCode())) {
//订单拒单 //订单拒单
saasOrderHandle.mcCafeRefundAgree(request,refund, orderBean); saasOrderHandle.mcCafeRefundAgree(request, refundResponse, orderBean);
//冲正库存 //冲正库存
stockHandle.revert(request, orderBean); stockHandle.revert(request, orderBean);
} else {
SdkUpdateAbnormalState sdkUpdateAbnormalState = new SdkUpdateAbnormalState();
sdkUpdateAbnormalState.setOrderCode(request.getOrderId());
sdkUpdateAbnormalState.setPartnerId(request.getPartnerId());
sdkUpdateAbnormalState.setAbnormalState(AbnormalStateEnum.ABNORMAL.getCode());
sdkUpdateAbnormalState.setAbnormalDesc("支付退款失败,订单入机失败回调异常");
sdkUpdateAbnormalState.setOrderClient(OrderClientType.SAAS.getIndex());
sdkUpdateAbnormalState.setOperator(request.getOperator());
orderSdkService.updateAbnormalState(sdkUpdateAbnormalState);
}
return ResponseUtil.success(); return ResponseUtil.success();
} }
...@@ -215,11 +242,22 @@ public class McCafeMangerServiceImpl implements OrderManagerService { ...@@ -215,11 +242,22 @@ public class McCafeMangerServiceImpl implements OrderManagerService {
@Override @Override
public BaseResponse<OrderManagerResponse> orderCancel(OrderManagerRequest request, QueryOrdersResponse.DataBean.OrderBean orderBean) { public BaseResponse<OrderManagerResponse> orderCancel(OrderManagerRequest request, QueryOrdersResponse.DataBean.OrderBean orderBean) {
//支付退款 //支付退款
PayRefundResponse refund = paymentHandle.mcCafeRefund(request, orderBean); PayRefundResponse refundResponse = paymentHandle.mcCafeRefund(request, orderBean);
if(refundResponse.getPayRefundStatus().getCode().equals(PayRefundStatus.SUCCESS.getCode())) {
//订单拒单 //订单拒单
saasOrderHandle.orderCancel(request,refund, orderBean); saasOrderHandle.orderCancel(request, refundResponse, orderBean);
//冲正库存 //冲正库存
stockHandle.revert(request, orderBean); stockHandle.revert(request, orderBean);
} else {
SdkUpdateAbnormalState sdkUpdateAbnormalState = new SdkUpdateAbnormalState();
sdkUpdateAbnormalState.setOrderCode(request.getOrderId());
sdkUpdateAbnormalState.setPartnerId(request.getPartnerId());
sdkUpdateAbnormalState.setAbnormalState(AbnormalStateEnum.ABNORMAL.getCode());
sdkUpdateAbnormalState.setAbnormalDesc("支付退款失败,订单入机失败回调异常");
sdkUpdateAbnormalState.setOrderClient(OrderClientType.SAAS.getIndex());
sdkUpdateAbnormalState.setOperator(request.getOperator());
orderSdkService.updateAbnormalState(sdkUpdateAbnormalState);
}
return ResponseUtil.success(); return ResponseUtil.success();
} }
......
...@@ -25,6 +25,7 @@ public enum ProductTypeEnum { ...@@ -25,6 +25,7 @@ public enum ProductTypeEnum {
TABLEWARE_PRODUCT(12,"餐具商品"), TABLEWARE_PRODUCT(12,"餐具商品"),
MATERIAL_PRODUCT(88,"加料商品"), MATERIAL_PRODUCT(88,"加料商品"),
LITTLE_MATERIAL_PRODUCT(89,"小料"), LITTLE_MATERIAL_PRODUCT(89,"小料"),
WITH_ORDER_VIRTUAL_PRODUCT(90,"随单购虚拟商品"),
; ;
......
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