Commit adc61f09 by 徐康

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

# Conflicts:
#	order-application-service/pom.xml
parents 55738b82 20f33e95
...@@ -48,6 +48,10 @@ public class CreatePrepayRequestDto { ...@@ -48,6 +48,10 @@ public class CreatePrepayRequestDto {
*/ */
private int cardAmount; private int cardAmount;
/** /**
* 是否开发票
*/
private int needInvoice;
/**
* 订单扩展信息 * 订单扩展信息
*/ */
private OrderExtInfoDto orderExtInfoDTO; private OrderExtInfoDto orderExtInfoDTO;
......
...@@ -214,7 +214,7 @@ public class CreateOrderVo { ...@@ -214,7 +214,7 @@ public class CreateOrderVo {
/** /**
* 是否需要开发票,1 需要 0不需要 * 是否需要开发票,1 需要 0不需要
*/ */
private Integer isInvoice; private Integer needInvoice;
/** /**
* 发票抬头 * 发票抬头
......
...@@ -253,7 +253,13 @@ public class MCCafeOrderServiceImpl implements MCCafeOrderService { ...@@ -253,7 +253,13 @@ public class MCCafeOrderServiceImpl implements MCCafeOrderService {
} }
CreateOrderOperateDto createOrderOperateDto = (CreateOrderOperateDto)createOrderOperateDtoResponse.getResult(); CreateOrderOperateDto createOrderOperateDto = (CreateOrderOperateDto)createOrderOperateDtoResponse.getResult();
//创建支付 //创建支付
CreatePrepayRequestDto createPrepayRequestDto = orderAdapter.convertToCreatePrepayRequestDto(userLoginInfoDto, createOrderVo, createOrderOperateDto, extInfo); CreatePrepayRequestDto createPrepayRequestDto = orderAdapter.convertToCreatePrepayRequestDto(createOrderVo.getPartnerId(), userLoginInfoDto.getWxAppId(), userLoginInfoDto.getOpenId(),
createOrderVo.getFaceCode(), createOrderVo.getCardCode(), null,
createOrderOperateDto.getFatherOrderBean(), createOrderOperateDto.getProductOrderBean(),
createOrderOperateDto.getTotalAmount() == null ? 0 : createOrderOperateDto.getTotalAmount(),
createOrderOperateDto.getCardAmount() == null ? 0 : createOrderOperateDto.getCardAmount(), extInfo,
createOrderOperateDto.getFatherOrderBean().getOid(), null);
createPrepayRequestDto.setNeedInvoice(createOrderVo.getNeedInvoice());
return this.createPrepayOrder(createPrepayRequestDto); return this.createPrepayOrder(createPrepayRequestDto);
} }
...@@ -531,14 +537,11 @@ public class MCCafeOrderServiceImpl implements MCCafeOrderService { ...@@ -531,14 +537,11 @@ public class MCCafeOrderServiceImpl implements MCCafeOrderService {
long totalAmount = createPrepayRequestDto.getTotalAmount(); long totalAmount = createPrepayRequestDto.getTotalAmount();
String cardCode = createPrepayRequestDto.getCardCode(); String cardCode = createPrepayRequestDto.getCardCode();
String transId = createPrepayRequestDto.getTransId(); String transId = createPrepayRequestDto.getTransId();
// 测试appId和openid,后面删除,改为实时获取
// paymentRequest.setWxAppId("wx21e254fdcc79dee8");
// paymentRequest.setOpenId("oR0VA5aRRaGpQxaLUPgQqcDHamg4");
//麦咖啡不支持svc卡 //麦咖啡不支持svc卡
if (totalAmount < 0) { if (totalAmount < 0) {
throw new ServiceException(ResponseResult.PAY_AMOUNT_ERROR); throw new ServiceException(ResponseResult.PAY_AMOUNT_ERROR);
} else if (totalAmount > 0) { } else if (totalAmount > 0) {
orderPayResponse = getPreOrderPay(createPrepayRequestDto.getFatherOrderBean(), paymentRequest, LogThreadLocal.getTrackingNo(), createPrepayRequestDto.getCardAmount(), transId); orderPayResponse = getPreOrderPay(createPrepayRequestDto.getFatherOrderBean(), paymentRequest, LogThreadLocal.getTrackingNo(), createPrepayRequestDto.getCardAmount(), transId, createPrepayRequestDto.getNeedInvoice());
} else { } else {
// 0元订单如果不需要支付,自定义支付单号 // 0元订单如果不需要支付,自定义支付单号
orderPayResponse = getOrderPayResponse(paymentRequest, createPrepayRequestDto.getFatherOrderBean()); orderPayResponse = getOrderPayResponse(paymentRequest, createPrepayRequestDto.getFatherOrderBean());
...@@ -624,9 +627,10 @@ public class MCCafeOrderServiceImpl implements MCCafeOrderService { ...@@ -624,9 +627,10 @@ public class MCCafeOrderServiceImpl implements MCCafeOrderService {
return ResponseUtil.error(ResponseResultEnum.PAY_UNIFIED_ORDER_ERROR.getCode(), ResponseResultEnum.PAY_UNIFIED_ORDER_ERROR.getMessage(), null); return ResponseUtil.error(ResponseResultEnum.PAY_UNIFIED_ORDER_ERROR.getCode(), ResponseResultEnum.PAY_UNIFIED_ORDER_ERROR.getMessage(), null);
} }
public OrderPayResponse getPreOrderPay(QueryOrdersResponse.DataBean.OrderBean orderBean, PaymentRequest paymentRequest, String trackingNo, Integer cardAmount, String transId) { public OrderPayResponse getPreOrderPay(QueryOrdersResponse.DataBean.OrderBean orderBean, PaymentRequest paymentRequest, String trackingNo, Integer cardAmount, String transId, int needInvoice) {
try { try {
UnifiedOrderRequest request = orderAdapter.convent2UnifiedOrderRequest(orderBean, paymentRequest, orderBean.getAmount(), cardAmount, transId); UnifiedOrderRequest request = orderAdapter.convent2UnifiedOrderRequest(orderBean, paymentRequest, orderBean.getAmount(), cardAmount, transId);
request.setInvoiceFlag(needInvoice);
com.freemud.application.sdk.api.base.BaseResponse<UnifiedOrderResponse> responseBase = standardPaymentService.unifiedOrder(request, trackingNo); com.freemud.application.sdk.api.base.BaseResponse<UnifiedOrderResponse> responseBase = standardPaymentService.unifiedOrder(request, trackingNo);
if (!ResponseCodeConstant.RESPONSE_SUCCESS_STR.equals(responseBase.getCode())) { if (!ResponseCodeConstant.RESPONSE_SUCCESS_STR.equals(responseBase.getCode())) {
log.error("支付SDK返回信息错误,trackingNo:{} request:{} response:{}", trackingNo, JSONObject.toJSONString(request), JSONObject.toJSONString(responseBase)); log.error("支付SDK返回信息错误,trackingNo:{} request:{} response:{}", trackingNo, JSONObject.toJSONString(request), JSONObject.toJSONString(responseBase));
...@@ -742,7 +746,7 @@ public class MCCafeOrderServiceImpl implements MCCafeOrderService { ...@@ -742,7 +746,7 @@ public class MCCafeOrderServiceImpl implements MCCafeOrderService {
orderExtInfoDto.setSessionKey(createOrderVo.getSessionKey()); orderExtInfoDto.setSessionKey(createOrderVo.getSessionKey());
orderExtInfoDto.setFormId(createOrderVo.getFormId()); orderExtInfoDto.setFormId(createOrderVo.getFormId());
orderExtInfoDto.setFromAppId(userLoginInfoDto.getWxAppId()); orderExtInfoDto.setFromAppId(userLoginInfoDto.getWxAppId());
orderExtInfoDto.setIsInvoice(createOrderVo.getIsInvoice()); orderExtInfoDto.setNeedInvoice(createOrderVo.getNeedInvoice());
orderExtInfoDto.setInvoiceTitle(createOrderVo.getInvoiceTitle()); orderExtInfoDto.setInvoiceTitle(createOrderVo.getInvoiceTitle());
orderExtInfoDto.setNeedTableware(createOrderVo.getNeedTableware()); orderExtInfoDto.setNeedTableware(createOrderVo.getNeedTableware());
orderExtInfoDto.setThirdPartyMemberId(userLoginInfoDto.getThirdPartyMemberID()); orderExtInfoDto.setThirdPartyMemberId(userLoginInfoDto.getThirdPartyMemberID());
...@@ -826,17 +830,6 @@ public class MCCafeOrderServiceImpl implements MCCafeOrderService { ...@@ -826,17 +830,6 @@ public class MCCafeOrderServiceImpl implements MCCafeOrderService {
return sendPaySuccessNoticeMessage(); return sendPaySuccessNoticeMessage();
} }
String downstreamThirdOrderCode = "";
if(OldOrderType.TAKE_OUT.getCode().equals(orderBean.getType())) {
//调用基础订单接口更新信息
UpdateDownstreamOrderCodeReq updateDownstreamOrderCodeReq = new UpdateDownstreamOrderCodeReq();
updateDownstreamOrderCodeReq.setOrderCode(orderBean.getOid());
com.freemud.application.sdk.api.ordercenter.response.BaseResponse baseResponse = orderSdkService.updateDownstreamThirdOrderCode(updateDownstreamOrderCodeReq, LogThreadLocal.getTrackingNo());
LinkedHashMap<String, String> linkedHashMap = (LinkedHashMap) baseResponse.getResult();
downstreamThirdOrderCode = linkedHashMap.get("downstreamThirdOrderCode");
}
// 如果是到店,则冻结优惠券 // 如果是到店,则冻结优惠券
// 如果是外卖,则核销优惠券 // 如果是外卖,则核销优惠券
// 失败重试三次 // 失败重试三次
...@@ -879,6 +872,19 @@ public class MCCafeOrderServiceImpl implements MCCafeOrderService { ...@@ -879,6 +872,19 @@ public class MCCafeOrderServiceImpl implements MCCafeOrderService {
} }
// 订单支付成功 // 订单支付成功
com.freemud.sdk.api.assortment.order.response.order.PayAccessResponse payAccessRes = orderCenterSdkService.payAccessMCCafe(var1); com.freemud.sdk.api.assortment.order.response.order.PayAccessResponse payAccessRes = orderCenterSdkService.payAccessMCCafe(var1);
//调用基础服务生成第三方订单号
String downstreamThirdOrderCode = "";
if(OldOrderType.TAKE_OUT.getCode().equals(orderBean.getType())) {
//调用基础订单接口更新信息
UpdateDownstreamOrderCodeReq updateDownstreamOrderCodeReq = new UpdateDownstreamOrderCodeReq();
updateDownstreamOrderCodeReq.setOrderCode(orderBean.getOid());
com.freemud.application.sdk.api.ordercenter.response.BaseResponse baseResponse = orderSdkService.updateDownstreamThirdOrderCode(updateDownstreamOrderCodeReq, LogThreadLocal.getTrackingNo());
LinkedHashMap<String, String> linkedHashMap = (LinkedHashMap) baseResponse.getResult();
downstreamThirdOrderCode = linkedHashMap.get("downstreamThirdOrderCode");
}
String string2 = JSONObject.toJSONString(payAccessRes); String string2 = JSONObject.toJSONString(payAccessRes);
JSONObject jsonObject2 = JSONObject.parseObject(string2); JSONObject jsonObject2 = JSONObject.parseObject(string2);
payAccessResponse = jsonObject2.toJavaObject(PayAccessResponse.class); payAccessResponse = jsonObject2.toJavaObject(PayAccessResponse.class);
......
...@@ -71,7 +71,7 @@ ...@@ -71,7 +71,7 @@
<dependency> <dependency>
<groupId>com.freemud.sdk.api.assortment</groupId> <groupId>com.freemud.sdk.api.assortment</groupId>
<artifactId>assortment-payment-sdk</artifactId> <artifactId>assortment-payment-sdk</artifactId>
<version>2.5.5-RELEASE</version> <version>2.6.1-SNAPSHOT</version>
<scope>provided</scope> <scope>provided</scope>
</dependency> </dependency>
<dependency> <dependency>
......
...@@ -162,7 +162,7 @@ public class OrderExtInfoDto { ...@@ -162,7 +162,7 @@ public class OrderExtInfoDto {
/** /**
* 是否需要开发票,1 需要 0不需要 * 是否需要开发票,1 需要 0不需要
*/ */
private Integer isInvoice; private Integer needInvoice;
/** /**
* 发票抬头 * 发票抬头
......
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