Commit adc61f09 by 徐康

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

# Conflicts:
#	order-application-service/pom.xml
parents 55738b82 20f33e95
......@@ -48,6 +48,10 @@ public class CreatePrepayRequestDto {
*/
private int cardAmount;
/**
* 是否开发票
*/
private int needInvoice;
/**
* 订单扩展信息
*/
private OrderExtInfoDto orderExtInfoDTO;
......
......@@ -214,7 +214,7 @@ public class CreateOrderVo {
/**
* 是否需要开发票,1 需要 0不需要
*/
private Integer isInvoice;
private Integer needInvoice;
/**
* 发票抬头
......
......@@ -253,7 +253,13 @@ public class MCCafeOrderServiceImpl implements MCCafeOrderService {
}
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);
}
......@@ -531,14 +537,11 @@ public class MCCafeOrderServiceImpl implements MCCafeOrderService {
long totalAmount = createPrepayRequestDto.getTotalAmount();
String cardCode = createPrepayRequestDto.getCardCode();
String transId = createPrepayRequestDto.getTransId();
// 测试appId和openid,后面删除,改为实时获取
// paymentRequest.setWxAppId("wx21e254fdcc79dee8");
// paymentRequest.setOpenId("oR0VA5aRRaGpQxaLUPgQqcDHamg4");
//麦咖啡不支持svc卡
if (totalAmount < 0) {
throw new ServiceException(ResponseResult.PAY_AMOUNT_ERROR);
} 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 {
// 0元订单如果不需要支付,自定义支付单号
orderPayResponse = getOrderPayResponse(paymentRequest, createPrepayRequestDto.getFatherOrderBean());
......@@ -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);
}
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 {
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);
if (!ResponseCodeConstant.RESPONSE_SUCCESS_STR.equals(responseBase.getCode())) {
log.error("支付SDK返回信息错误,trackingNo:{} request:{} response:{}", trackingNo, JSONObject.toJSONString(request), JSONObject.toJSONString(responseBase));
......@@ -742,7 +746,7 @@ public class MCCafeOrderServiceImpl implements MCCafeOrderService {
orderExtInfoDto.setSessionKey(createOrderVo.getSessionKey());
orderExtInfoDto.setFormId(createOrderVo.getFormId());
orderExtInfoDto.setFromAppId(userLoginInfoDto.getWxAppId());
orderExtInfoDto.setIsInvoice(createOrderVo.getIsInvoice());
orderExtInfoDto.setNeedInvoice(createOrderVo.getNeedInvoice());
orderExtInfoDto.setInvoiceTitle(createOrderVo.getInvoiceTitle());
orderExtInfoDto.setNeedTableware(createOrderVo.getNeedTableware());
orderExtInfoDto.setThirdPartyMemberId(userLoginInfoDto.getThirdPartyMemberID());
......@@ -826,17 +830,6 @@ public class MCCafeOrderServiceImpl implements MCCafeOrderService {
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 {
}
// 订单支付成功
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);
JSONObject jsonObject2 = JSONObject.parseObject(string2);
payAccessResponse = jsonObject2.toJavaObject(PayAccessResponse.class);
......
......@@ -71,7 +71,7 @@
<dependency>
<groupId>com.freemud.sdk.api.assortment</groupId>
<artifactId>assortment-payment-sdk</artifactId>
<version>2.5.5-RELEASE</version>
<version>2.6.1-SNAPSHOT</version>
<scope>provided</scope>
</dependency>
<dependency>
......
......@@ -162,7 +162,7 @@ public class OrderExtInfoDto {
/**
* 是否需要开发票,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