Commit 7c7654ce by ping.wu

支付接口合并PayServiceImpl

parent e3efb70a
......@@ -24,7 +24,6 @@ import cn.freemud.interceptor.ServiceException;
import cn.freemud.redis.RedisCache;
import cn.freemud.service.AppOrderService;
import cn.freemud.service.thirdparty.CouponOnlineClient;
import cn.freemud.service.thirdparty.PaymentNewClient;
import cn.freemud.utils.BeanUtil;
import cn.freemud.utils.RedisUtil;
import cn.freemud.utils.ResponseUtil;
......@@ -103,8 +102,6 @@ public class AppOrderServiceImpl implements AppOrderService {
@Autowired
private PayServiceImpl payServiceimpl;
@Autowired
private PaymentNewClient paymentNewClient;
/**
* 不支持会员卡
......@@ -334,7 +331,7 @@ public class AppOrderServiceImpl implements AppOrderService {
paymentQueryRequest.setStoreId(orderBean.getShopId());
paymentQueryRequest.setFmId(extInfo.getFmId());
paymentQueryRequest.setVer("2");
com.freemud.application.sdk.api.base.BaseResponse<PaymentQueryResponseDto> queryResponseBaseResponse = paymentNewClient.payQuery(paymentQueryRequest);
com.freemud.application.sdk.api.base.BaseResponse<PaymentQueryResponseDto> queryResponseBaseResponse = payServiceimpl.payQuery(paymentQueryRequest);
//判断预支付订单状态
if (ObjectUtils.notEqual(ResponseResult.SUCCESS.getCode(), queryResponseBaseResponse.getCode())) {
throw new ServiceException(ResponseResult.ORDER_PAY_GETPRE_MESSAGE_ERROR);
......@@ -350,7 +347,7 @@ public class AppOrderServiceImpl implements AppOrderService {
closeUnifiedOrderRequest.setVer("2");
closeUnifiedOrderRequest.setPartnerId(orderBean.getCompanyId());
closeUnifiedOrderRequest.setStoreId(orderBean.getShopId());
com.freemud.application.sdk.api.base.BaseResponse<PaymentCloseUnifiedOrderResponse> cancelNewUnifiedOrder = paymentNewClient.cancelNewUnifiedOrder(closeUnifiedOrderRequest);
com.freemud.application.sdk.api.base.BaseResponse<PaymentCloseUnifiedOrderResponse> cancelNewUnifiedOrder = payServiceimpl.cancelNewUnifiedOrder(closeUnifiedOrderRequest);
if (ObjectUtils.notEqual(ResponseResult.SUCCESS.getCode(), cancelNewUnifiedOrder.getCode())) {
throw new ServiceException(ResponseResult.ORDER_PRE_PAYMENT_CLOSE_FAILED);
}
......
......@@ -26,7 +26,6 @@ import cn.freemud.enums.*;
import cn.freemud.interceptor.ServiceException;
import cn.freemud.redis.RedisCache;
import cn.freemud.service.EncircleOrderService;
import cn.freemud.service.thirdparty.PaymentNewClient;
import cn.freemud.service.thirdparty.ShoppingCartClient;
import cn.freemud.service.thirdparty.StoreItemClient;
import cn.freemud.service.thirdparty.SvcAppClient;
......@@ -115,8 +114,6 @@ public class EncircleOrderServiceImpl implements EncircleOrderService {
private CouponAdapter couponAdapter;
@Autowired
private PayServiceImpl payService;
@Autowired
private PaymentNewClient paymentNewClient;
private final Integer RESPONSE_SUCCESS_CODE = 100;
......@@ -573,7 +570,7 @@ public class EncircleOrderServiceImpl implements EncircleOrderService {
paymentQueryRequest.setStoreId(assortmentCustomerInfoVo.getStoreId());
paymentQueryRequest.setFmId(extInfo.getFmId());
paymentQueryRequest.setVer("2");
com.freemud.application.sdk.api.base.BaseResponse<PaymentQueryResponseDto> queryResponseBaseResponse = paymentNewClient.payQuery(paymentQueryRequest);
com.freemud.application.sdk.api.base.BaseResponse<PaymentQueryResponseDto> queryResponseBaseResponse = payService.payQuery(paymentQueryRequest);
//判断预支付订单状态
if(ObjectUtils.notEqual(ResponseResult.SUCCESS.getCode(),queryResponseBaseResponse.getCode())){
return ResponseUtil.error(ResponseResultEnum.PAY_BACKEND_QUERY_DETAIL_ERROR.getCode(),ResponseResultEnum.PAY_BACKEND_QUERY_DETAIL_ERROR.getMessage(),null);
......@@ -589,7 +586,7 @@ public class EncircleOrderServiceImpl implements EncircleOrderService {
closeUnifiedOrderRequest.setVer("2");
closeUnifiedOrderRequest.setPartnerId(assortmentCustomerInfoVo.getPartnerId());
closeUnifiedOrderRequest.setStoreId(assortmentCustomerInfoVo.getStoreId());
com.freemud.application.sdk.api.base.BaseResponse<PaymentCloseUnifiedOrderResponse> cancelNewUnifiedOrder = paymentNewClient.cancelNewUnifiedOrder(closeUnifiedOrderRequest);
com.freemud.application.sdk.api.base.BaseResponse<PaymentCloseUnifiedOrderResponse> cancelNewUnifiedOrder = payService.cancelNewUnifiedOrder(closeUnifiedOrderRequest);
if(ObjectUtils.notEqual(ResponseResult.SUCCESS.getCode(),cancelNewUnifiedOrder.getCode())){
return ResponseUtil.error(ResponseResult.ENCIRCLEORDER_PRE_PAYMENT_CLOSE_FAILED);
}
......
......@@ -792,34 +792,34 @@ public class MCCafeOrderServiceImpl implements MCCafeOrderService {
return ResponseUtil.error(ResponseResultEnum.PAY_UNIFIED_ORDER_ERROR.getCode(), ResponseResultEnum.PAY_UNIFIED_ORDER_ERROR.getMessage(), null);
}
public OrderPayResponse getPreOrderPay(OrderBeanV1 orderBean, PaymentRequest paymentRequest, String trackingNo, Integer cardAmount, String transId, int needInvoice) {
try {
UnifiedOrderRequest request = orderAdapter.convent2MCCafeUnifiedOrderRequest(orderBean, paymentRequest, orderBean.getAmount(), cardAmount, transId, null);
request.setInvoiceFlag(needInvoice);
Map<String, String> extendParams = new HashMap<>();
if(OldOrderType.TAKE_OUT.getCode().equals(orderBean.getOrderType())) {
extendParams.put("mealType", "delivery");
} else {
extendParams.put("mealType", "pickup");
}
request.setExtendParams(extendParams);
com.freemud.application.sdk.api.base.BaseResponse<UnifiedOrderResponse> responseBase = payService.unifiedOrder(request);
if (!ResponseCodeConstant.RESPONSE_SUCCESS_STR.equals(responseBase.getCode())) {
return null;
}
putDelMq(request.getPartnerId(), request.getStoreId(), responseBase.getData().getFmId(), orderBean.getOid());
OrderPayResponse orderPayResponse = orderAdapter.convent2OrderPayResponse(responseBase.getData());
orderPayResponse.setWxAppid(paymentRequest.getWxAppId());
orderPayResponse.setOpenId(paymentRequest.getOpenId());
orderPayResponse.setPartnerId(orderBean.getCompanyId());
orderPayResponse.setOrderId(orderBean.getOid());
return orderPayResponse;
} catch (Exception e) {
AppLogUtil.errorLog("getPreOrderPay_error", JSONObject.toJSONString(orderBean), JSONObject.toJSONString(paymentRequest),e);
//TODO 邮件告警
return null;
}
}
// public OrderPayResponse getPreOrderPay(OrderBeanV1 orderBean, PaymentRequest paymentRequest, String trackingNo, Integer cardAmount, String transId, int needInvoice) {
// try {
// UnifiedOrderRequest request = orderAdapter.convent2MCCafeUnifiedOrderRequest(orderBean, paymentRequest, orderBean.getAmount(), cardAmount, transId, null);
// request.setInvoiceFlag(needInvoice);
// Map<String, String> extendParams = new HashMap<>();
// if(OldOrderType.TAKE_OUT.getCode().equals(orderBean.getOrderType())) {
// extendParams.put("mealType", "delivery");
// } else {
// extendParams.put("mealType", "pickup");
// }
// request.setExtendParams(extendParams);
// com.freemud.application.sdk.api.base.BaseResponse<UnifiedOrderResponse> responseBase = payService.unifiedOrder(request);
// if (!ResponseCodeConstant.RESPONSE_SUCCESS_STR.equals(responseBase.getCode())) {
// return null;
// }
// putDelMq(request.getPartnerId(), request.getStoreId(), responseBase.getData().getFmId(), orderBean.getOid());
// OrderPayResponse orderPayResponse = orderAdapter.convent2OrderPayResponse(responseBase.getData());
// orderPayResponse.setWxAppid(paymentRequest.getWxAppId());
// orderPayResponse.setOpenId(paymentRequest.getOpenId());
// orderPayResponse.setPartnerId(orderBean.getCompanyId());
// orderPayResponse.setOrderId(orderBean.getOid());
// return orderPayResponse;
// } catch (Exception e) {
// AppLogUtil.errorLog("getPreOrderPay_error", JSONObject.toJSONString(orderBean), JSONObject.toJSONString(paymentRequest),e);
// //TODO 邮件告警
// return null;
// }
// }
// public OrderPayResponse svcPay(String cardCode, OrderBeanV1 orderBean, PaymentRequest paymentRequest, String transId, String trackingNo) {
// CodePayRequest request = new CodePayRequest();
......
......@@ -371,34 +371,34 @@ public class MallOrderServiceImpl implements MallOrderService {
return ResponseUtil.error(ResponseResultEnum.PAY_UNIFIED_ORDER_ERROR.getCode(), ResponseResultEnum.PAY_UNIFIED_ORDER_ERROR.getMessage(), null);
}
public OrderPayResponse getPreOrderPay(OrderBeanV1 orderBean, PaymentRequest paymentRequest, String trackingNo, Integer cardAmount) {
try {
OrderPayResponse orderPayResponse;
UnifiedOrderRequest request = orderAdapter.convent2UnifiedOrderRequest(orderBean, paymentRequest, orderBean.getAmount(), cardAmount, orderBean.getOid());
com.freemud.application.sdk.api.base.BaseResponse<UnifiedOrderResponse> responseBase = payServiceImpl.unifiedOrder(request);
if (!ResponseCodeConstant.RESPONSE_SUCCESS_STR.equals(responseBase.getCode())) {
// 1.9.34 预支付失败需要把原因进行记录
orderPayResponse = new OrderPayResponse();
orderPayResponse.setMsg(responseBase.getMessage());
return orderPayResponse;
}
orderPayResponse = orderAdapter.convent2OrderPayResponse(responseBase.getData());
orderPayResponse.setWxAppid(paymentRequest.getWxAppId());
orderPayResponse.setOpenId(paymentRequest.getOpenId());
orderPayResponse.setPartnerId(orderBean.getCompanyId());
orderPayResponse.setOrderId(orderBean.getOid());
orderPayResponse.setPayChannelType(PayChannelType.WECHAT);
if (orderPayResponse.getPayOrder() != null && StringUtils.isNotBlank(orderPayResponse.getPayOrder().getAliPayOrder())) {
orderPayResponse.setPayChannelType(PayChannelType.ALIPAY);
}
putDelMq(request.getPartnerId(), request.getStoreId(), responseBase.getData().getFmId(), orderBean.getOid());
return orderPayResponse;
} catch (Exception e) {
AppLogUtil.errorLog("getPreOrderPay_error", JSONObject.toJSONString(orderBean), JSONObject.toJSONString(paymentRequest),e);
//TODO 邮件告警
return null;
}
}
// public OrderPayResponse getPreOrderPay(OrderBeanV1 orderBean, PaymentRequest paymentRequest, String trackingNo, Integer cardAmount) {
// try {
// OrderPayResponse orderPayResponse;
// UnifiedOrderRequest request = orderAdapter.convent2UnifiedOrderRequest(orderBean, paymentRequest, orderBean.getAmount(), cardAmount, orderBean.getOid());
// com.freemud.application.sdk.api.base.BaseResponse<UnifiedOrderResponse> responseBase = payServiceImpl.unifiedOrder(request);
// if (!ResponseCodeConstant.RESPONSE_SUCCESS_STR.equals(responseBase.getCode())) {
// // 1.9.34 预支付失败需要把原因进行记录
// orderPayResponse = new OrderPayResponse();
// orderPayResponse.setMsg(responseBase.getMessage());
// return orderPayResponse;
// }
// orderPayResponse = orderAdapter.convent2OrderPayResponse(responseBase.getData());
// orderPayResponse.setWxAppid(paymentRequest.getWxAppId());
// orderPayResponse.setOpenId(paymentRequest.getOpenId());
// orderPayResponse.setPartnerId(orderBean.getCompanyId());
// orderPayResponse.setOrderId(orderBean.getOid());
// orderPayResponse.setPayChannelType(PayChannelType.WECHAT);
// if (orderPayResponse.getPayOrder() != null && StringUtils.isNotBlank(orderPayResponse.getPayOrder().getAliPayOrder())) {
// orderPayResponse.setPayChannelType(PayChannelType.ALIPAY);
// }
// putDelMq(request.getPartnerId(), request.getStoreId(), responseBase.getData().getFmId(), orderBean.getOid());
// return orderPayResponse;
// } catch (Exception e) {
// AppLogUtil.errorLog("getPreOrderPay_error", JSONObject.toJSONString(orderBean), JSONObject.toJSONString(paymentRequest),e);
// //TODO 邮件告警
// return null;
// }
// }
/**
* 编辑订单,保持预支付信息
......
......@@ -209,8 +209,6 @@ public class OrderServiceImpl implements Orderservice {
@Autowired
private AssortmentOpenPlatformWxappAuthorizerManager wxappAuthorizerManager;
@Autowired
private PaymentNewClient paymentNewClient;
@Autowired
private OrderAdapterServiceImpl orderAdapterService;
@Autowired
private OrderSdkService orderSdkService;
......@@ -3280,7 +3278,7 @@ public class OrderServiceImpl implements Orderservice {
// 【3.2】. 调用支付接口开订单发票,非码支付系统内部再调用三方-百望系统开票
InvoiceCreateRequest invoiceCreateRequest = orderInvoiceAdapter.convert2InvoiceCreateRequest(dataBean.getOrders(), request, orderInvoiceConfig);
com.freemud.application.sdk.api.base.BaseResponse<InvoiceCreateResponse> invoiceResponse = paymentNewClient.createInvoice(invoiceCreateRequest);
com.freemud.application.sdk.api.base.BaseResponse<InvoiceCreateResponse> invoiceResponse = payServiceImpl.createInvoice(invoiceCreateRequest);
if (!Objects.equals(ResponseCodeConstant.RESPONSE_SUCCESS_STR, invoiceResponse.getCode()) || null == invoiceResponse.getData()) {
return ResponseUtil.error(invoiceResponse.getCode(), invoiceResponse.getMessage());
}
......
......@@ -9,6 +9,7 @@ import cn.freemud.entities.dto.SvcComPayRequestDto;
import cn.freemud.entities.dto.SvcComPayResponseDto;
import cn.freemud.entities.dto.order.CreatePrepayRequestDto;
import cn.freemud.entities.dto.order.FacePayRequestDto;
import cn.freemud.entities.dto.order.InvoiceCreateResponse;
import cn.freemud.entities.dto.order.UnifiedPayResponseDto;
import cn.freemud.entities.dto.pay.*;
import cn.freemud.entities.dto.pay.svc.SVCCardAmountRequestDto;
......@@ -71,7 +72,6 @@ import com.freemud.sdk.api.assortment.payment.enums.PlatformType;
import com.freemud.sdk.api.assortment.payment.request.OrderRefundRequest;
import com.freemud.sdk.api.assortment.payment.request.UnifiedOrderRequest;
import com.freemud.sdk.api.assortment.payment.response.OrderRefundResponse;
import com.freemud.sdk.api.assortment.payment.response.UnifiedOrderResponse;
import com.freemud.sdk.api.assortment.payment.service.ReceiverService;
import com.google.common.collect.Lists;
import org.apache.commons.collections4.CollectionUtils;
......@@ -299,7 +299,7 @@ public class PayServiceImpl {
com.freemud.application.sdk.api.base.BaseResponse<UnifiedPayResponseDto> response = null;
//处理超时情况,后续冲正mq正常冲正,同支付sdk逻辑
try {
response = paymentNewClient.unifiedOrder(requestDto);
response = this.unifiedOrder(requestDto);
} catch (Exception e) {
AppLogUtil.errorLog("获取预支付信息异常", JSONObject.toJSONString(requestDto), null, e);
}
......@@ -316,7 +316,7 @@ public class PayServiceImpl {
}
//预支付失败需要把原因进行记录
orderPayResponse.setMsg(errorMessage);
// return orderPayResponse;
return null;
}
putDelMq(request.getPartnerId(), request.getStoreId(), response.getData().getFmId(), orderBean.getOid(), null);
this.convent2CreateOrderResponseVo(orderPayResponse, paymentRequest.getWxAppId(), response.getData());
......@@ -327,10 +327,6 @@ public class PayServiceImpl {
if (orderPayResponse.getPayOrder() != null && StringUtils.isNotBlank(orderPayResponse.getPayOrder().getAliPayOrder())) {
orderPayResponse.setPayChannelType(PayChannelType.ALIPAY);
}
//抖音支付
if (PayChannelType.TIKTOKPAY.getIndex().toString().equalsIgnoreCase(orderBean.getPayChannelType())) {
orderPayResponse.setPayChannelType(PayChannelType.TIKTOKPAY);
}
// if (!ResponseCodeConstant.RESPONSE_SUCCESS_STR.equals(responseBase.getCode())) {
// return null;
// }
......@@ -570,7 +566,7 @@ public class PayServiceImpl {
com.freemud.application.sdk.api.base.BaseResponse<UnifiedPayResponseDto> response = null;
//处理超时情况,后续冲正mq正常冲正,同支付sdk逻辑
try {
response = paymentNewClient.unifiedOrder(requestDto);
response = this.unifiedOrder(requestDto);
} catch (Exception e) {
AppLogUtil.errorLog("获取预支付信息异常", JSONObject.toJSONString(requestDto), null, e);
}
......@@ -804,14 +800,35 @@ public class PayServiceImpl {
}
/**
* 唤起预支付
* 创建预支付订单,唤起支付
*/
public com.freemud.application.sdk.api.base.BaseResponse<UnifiedPayResponseDto> unifiedOrder(UnifiedOrderRequestDto request) {
return paymentNewClient.unifiedOrder(request);
}
/**
* 开订单发票
*/
public com.freemud.application.sdk.api.base.BaseResponse<UnifiedOrderResponse> unifiedOrder(UnifiedOrderRequest request) {
return new com.freemud.application.sdk.api.base.BaseResponse();
// return standardPaymentService.unifiedOrder(request, LogThreadLocal.getTrackingNo());
public com.freemud.application.sdk.api.base.BaseResponse<InvoiceCreateResponse> createInvoice(InvoiceCreateRequest request){
return paymentNewClient.createInvoice(request);
}
/**
* 关闭预支付订单
*/
public com.freemud.application.sdk.api.base.BaseResponse<PaymentCloseUnifiedOrderResponse> cancelNewUnifiedOrder( PaymentCloseUnifiedOrderRequest request){
return paymentNewClient.cancelNewUnifiedOrder(request);
}
/**
* 支付查询
*/
public com.freemud.application.sdk.api.base.BaseResponse<PaymentQueryResponseDto> payQuery( PaymentQueryRequestDto request){
return paymentNewClient.payQuery(request);
}
/**
* 支付退款
*/
public com.freemud.application.sdk.api.base.BaseResponse<OrderRefundResponse> orderRefund(com.freemud.sdk.api.assortment.payment.request.OrderRefundRequest orderPayRefundRequest) {
......@@ -877,7 +894,7 @@ public class PayServiceImpl {
paymentQueryRequest.setStoreId(orderBean.getShopId());
paymentQueryRequest.setFmId(extInfo.getFmId());
paymentQueryRequest.setVer("2");
com.freemud.application.sdk.api.base.BaseResponse<PaymentQueryResponseDto> queryResponseBaseResponse = paymentNewClient.payQuery(paymentQueryRequest);
com.freemud.application.sdk.api.base.BaseResponse<PaymentQueryResponseDto> queryResponseBaseResponse = this.payQuery(paymentQueryRequest);
//判断预支付订单状态
if (ObjectUtils.notEqual(ResponseResult.SUCCESS.getCode(), queryResponseBaseResponse.getCode())) {
throw new ServiceException(ResponseResult.ORDER_PAY_GETPRE_MESSAGE_ERROR);
......@@ -895,7 +912,7 @@ public class PayServiceImpl {
closeUnifiedOrderRequest.setVer("2");
closeUnifiedOrderRequest.setPartnerId(orderBean.getCompanyId());
closeUnifiedOrderRequest.setStoreId(orderBean.getShopId());
com.freemud.application.sdk.api.base.BaseResponse<PaymentCloseUnifiedOrderResponse> cancelNewUnifiedOrder = paymentNewClient.cancelNewUnifiedOrder(closeUnifiedOrderRequest);
com.freemud.application.sdk.api.base.BaseResponse<PaymentCloseUnifiedOrderResponse> cancelNewUnifiedOrder = this.cancelNewUnifiedOrder(closeUnifiedOrderRequest);
if (ObjectUtils.notEqual(ResponseResult.SUCCESS.getCode(), cancelNewUnifiedOrder.getCode())) {
throw new ServiceException(ResponseResult.ORDER_PRE_PAYMENT_CLOSE_FAILED);
}
......@@ -918,7 +935,7 @@ public class PayServiceImpl {
paymentQueryRequest.setStoreId(orderBean.getShopId());
paymentQueryRequest.setFmId(extInfo.getFmId());
paymentQueryRequest.setVer("2");
com.freemud.application.sdk.api.base.BaseResponse<PaymentQueryResponseDto> queryResponseBaseResponse = paymentNewClient.payQuery(paymentQueryRequest);
com.freemud.application.sdk.api.base.BaseResponse<PaymentQueryResponseDto> queryResponseBaseResponse = this.payQuery(paymentQueryRequest);
//判断预支付订单状态
if (ObjectUtils.notEqual(ResponseResult.SUCCESS.getCode(), queryResponseBaseResponse.getCode())) {
throw new ServiceException(ResponseResult.ORDER_PAY_GETPRE_MESSAGE_ERROR);
......@@ -934,7 +951,7 @@ public class PayServiceImpl {
closeUnifiedOrderRequest.setVer("2");
closeUnifiedOrderRequest.setPartnerId(orderBean.getCompanyId());
closeUnifiedOrderRequest.setStoreId(orderBean.getShopId());
com.freemud.application.sdk.api.base.BaseResponse<PaymentCloseUnifiedOrderResponse> cancelNewUnifiedOrder = paymentNewClient.cancelNewUnifiedOrder(closeUnifiedOrderRequest);
com.freemud.application.sdk.api.base.BaseResponse<PaymentCloseUnifiedOrderResponse> cancelNewUnifiedOrder = this.cancelNewUnifiedOrder(closeUnifiedOrderRequest);
if (ObjectUtils.notEqual(ResponseResult.SUCCESS.getCode(), cancelNewUnifiedOrder.getCode())) {
throw new ServiceException(ResponseResult.ORDER_PRE_PAYMENT_CLOSE_FAILED);
}
......
......@@ -19,8 +19,8 @@ import cn.freemud.entities.dto.user.StatisticalScoreRequestVo;
import cn.freemud.entities.dto.user.StatisticalScoreResponse;
import cn.freemud.entities.dto.user.UseScoreRequest;
import cn.freemud.entities.vo.*;
import cn.freemud.enums.CouponActiveStateEnum;
import cn.freemud.enums.ChannelEnum;
import cn.freemud.enums.CouponActiveStateEnum;
import cn.freemud.enums.OrderBeanType;
import cn.freemud.enums.ResponseResult;
import cn.freemud.enums.integralproduct.ExchangeTypeEnum;
......@@ -28,7 +28,6 @@ import cn.freemud.enums.integralproduct.IntegralProductStatusEnum;
import cn.freemud.service.CouponService;
import cn.freemud.service.PointsMallOrderService;
import cn.freemud.service.thirdparty.CustomerPropertyClient;
import cn.freemud.service.thirdparty.PaymentNewClient;
import cn.freemud.service.thirdparty.PointMallProductClient;
import cn.freemud.utils.AppLogUtil;
import cn.freemud.utils.BeanUtil;
......@@ -51,12 +50,8 @@ import com.freemud.application.sdk.api.ordercenter.request.PaySuccessReq;
import com.freemud.application.sdk.api.ordercenter.request.UpdateOrderReq;
import com.freemud.application.sdk.api.ordercenter.request.create.CreateOrderRequest;
import com.freemud.application.sdk.api.ordercenter.response.OrderBaseResp;
import com.freemud.application.sdk.api.ordercenter.response.orderInfo.OrderPayItemResp;
import com.freemud.application.sdk.api.ordercenter.response.QueryOrderForUserResp;
import com.freemud.application.sdk.api.ordercenter.response.orderInfo.DeliveryContactInfoResp;
import com.freemud.application.sdk.api.ordercenter.response.orderInfo.OrderInfoReqs;
import com.freemud.application.sdk.api.ordercenter.response.orderInfo.OrderItemResp;
import com.freemud.application.sdk.api.ordercenter.response.orderInfo.QueryByCodeResponse;
import com.freemud.application.sdk.api.ordercenter.response.orderInfo.*;
import com.freemud.application.sdk.api.ordercenter.service.OrderDownLoadSdkService;
import com.freemud.application.sdk.api.ordercenter.service.OrderSdkService;
import com.google.common.collect.Maps;
......@@ -89,13 +84,13 @@ public class PointsMallOrderServiceImpl implements PointsMallOrderService {
@Autowired
private OrderDownLoadSdkService orderDownLoadSdkService;
@Autowired
private PaymentNewClient paymentNewClient;
@Autowired
private AssortmentOpenPlatformPartnerConfigManager openPlatformPartnerConfigManager;
@Autowired
private AssortmentOpenPlatformIappWxappStoreManager assortmentOpenPlatformIappWxappStoreManager;
@Autowired
private PointsMallOrderAdapter pointsMallOrderAdapter;
@Autowired
private PayServiceImpl payService;
@Value("${saas.reverseNotifyiDcUrl}")
......@@ -205,7 +200,7 @@ public class PointsMallOrderServiceImpl implements PointsMallOrderService {
Long payClientCode = Long.parseLong(wxAppStore.getClientCode());
UnifiedOrderRequestDto requestDto = pointsMallOrderAdapter.convert2UnifiedOrderRequestDto(result, openId, cashPrice,
payClientCode, reverseNotifyiDcUrl, getPartnerPayOvertime(partnerId));
response = paymentNewClient.unifiedOrder(requestDto);
response = payService.unifiedOrder(requestDto);
if (!Objects.equals(ResponseCodeConstant.RESPONSE_SUCCESS_STR, response.getCode())) {
return ResponseUtil.error(createOrderResponseDto.getCode(), "支付异常");
}
......
......@@ -25,8 +25,8 @@ import cn.freemud.entities.dto.product.ProductInfo;
import cn.freemud.entities.dto.product.ValidateProductInfosDto;
import cn.freemud.entities.dto.promotion.CalculationDiscountGoodsDto;
import cn.freemud.entities.dto.promotion.CalculationDiscountRequestDto;
import cn.freemud.entities.live.WeChatReportVO;
import cn.freemud.entities.dto.store.StoreMixResponseDto;
import cn.freemud.entities.live.WeChatReportVO;
import cn.freemud.entities.vo.*;
import cn.freemud.enums.*;
import cn.freemud.handler.WeChatLiveMsgHandle;
......@@ -36,26 +36,17 @@ import cn.freemud.redis.RedisCache;
import cn.freemud.service.CouponService;
import cn.freemud.service.OrderFactoryService;
import cn.freemud.service.business.OrderBusinessService;
import cn.freemud.service.thirdparty.PaymentNewClient;
import cn.freemud.service.thirdparty.CouponOnlineClient;
import cn.freemud.service.thirdparty.PromotionDiscountClient;
import cn.freemud.service.thirdparty.StoreItemClient;
import cn.freemud.utils.AppLogUtil;
import cn.freemud.utils.ResponseUtil;
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONObject;
import com.freemud.api.assortment.datamanager.entity.db.AssortmentOpenPlatformIappWxappStore;
import com.freemud.api.assortment.datamanager.entity.db.AssortmentOpenPlatformPartnerConfig;
import com.freemud.api.assortment.datamanager.entity.vo.AssortmentCustomerInfoVo;
import com.freemud.api.assortment.datamanager.manager.AssortmentOpenPlatformIappWxappStoreManager;
import com.freemud.api.assortment.datamanager.manager.AssortmentOpenPlatformPartnerConfigManager;
import com.freemud.application.sdk.api.base.SDKCommonBaseContextWare;
import com.freemud.application.sdk.api.couponcenter.online.domain.ActiveDetailVO;
import com.freemud.application.sdk.api.couponcenter.online.domain.AppKeyVO;
import com.freemud.application.sdk.api.couponcenter.online.request.ActiveBatchQueryRequest;
import com.freemud.application.sdk.api.couponcenter.online.request.PartnerRequest;
import com.freemud.application.sdk.api.couponcenter.online.service.FMActiveSdkService;
import com.freemud.application.sdk.api.constant.ResponseResultEnum;
import com.freemud.application.sdk.api.log.LogThreadLocal;
import com.freemud.application.sdk.api.log.ThirdPartyLog;
import com.freemud.application.sdk.api.ordercenter.entities.v1.OrderBeanV1;
......@@ -65,7 +56,6 @@ import com.freemud.application.sdk.api.ordercenter.enums.OrderType;
import com.freemud.application.sdk.api.ordercenter.enums.*;
import com.freemud.application.sdk.api.ordercenter.request.OrderChangeStateReq;
import com.freemud.application.sdk.api.ordercenter.request.OrderExtInfoDto;
import com.freemud.application.sdk.api.ordercenter.request.UpdateOrderReq;
import com.freemud.application.sdk.api.ordercenter.request.create.CreateOrderRequest;
import com.freemud.application.sdk.api.ordercenter.request.create.DeliveryContactInfoCreateReq;
import com.freemud.application.sdk.api.ordercenter.request.create.OrderItemCreateReq;
......@@ -79,10 +69,6 @@ import com.freemud.application.sdk.api.promotioncenter.request.promotion.Activit
import com.freemud.application.sdk.api.promotioncenter.response.PromotionResponseDTO;
import com.freemud.application.sdk.api.stockapi.request.UpdateStocksRequest;
import com.freemud.application.sdk.api.stockapi.service.StockSdkService;
import com.freemud.application.sdk.api.storecenter.request.vo.GetOrgTreeListRequest;
import com.freemud.application.sdk.api.storecenter.request.StoreInfoRequest;
import com.freemud.application.sdk.api.storecenter.response.StoreResponse;
import com.freemud.application.sdk.api.storecenter.service.StoreCenterService;
import com.freemud.sdk.api.assortment.order.adapter.OrderSdkAdapter;
import com.freemud.sdk.api.assortment.order.enums.StockChangeType;
import com.freemud.sdk.api.assortment.order.request.order.*;
......@@ -182,8 +168,6 @@ public class SellCouponOrderServiceImpl implements OrderFactoryService {
@Autowired
private PayServiceImpl payService;
@Autowired
private PaymentNewClient paymentNewClient;
@Value("${saas.reverseNotifyiDcUrl}")
private String reverseNotifyiDcUrl;
@Autowired
......@@ -499,7 +483,7 @@ public class SellCouponOrderServiceImpl implements OrderFactoryService {
Long cashPrice = createOrderRequest.getSettlementAmount();
UnifiedOrderRequestDto requestDto = checkOrder.convert2UnifiedOrderRequestDto(result, openId, cashPrice, payClientCode, reverseNotifyiDcUrl, getPartnerPayOvertime(partnerId));
requestDto.setStoreId(wxAppStore.getStoreId());
response = paymentNewClient.unifiedOrder(requestDto);
response = payService.unifiedOrder(requestDto);
if (!Objects.equals(ResponseCodeConstant.RESPONSE_SUCCESS_STR, response.getCode())) {
return ResponseUtil.error(orderInfoReqsBaseResponse.getCode(), "支付异常");
}
......
......@@ -30,16 +30,13 @@ import org.springframework.web.bind.annotation.RequestMapping;
@RequestMapping(produces = {"application/json;charset=UTF-8"})
public interface PaymentNewClient {
// TODO: 21-4-1 待合并
/**
* 扫脸支付
* 扫脸支付,唤起支付
*/
@LogIgnoreFeign(logMessage="facePay",statusCodeFieldName= ResponseCodeKeyConstant.STATUS_CODE)
@PostMapping("paymentcenter/facePay")
com.freemud.application.sdk.api.base.BaseResponse<UnifiedPayResponseDto> facePay(@RequestBody FacePayRequestDto orderPayDto);
/**
* 创建预支付订单,唤起支付
*/
......@@ -47,11 +44,13 @@ public interface PaymentNewClient {
@PostMapping("paymentcenter/unifiedOrder")
com.freemud.application.sdk.api.base.BaseResponse<UnifiedPayResponseDto> unifiedOrder(@RequestBody UnifiedOrderRequestDto requestDto);
/**
* 支付退款查询,对接麦咖啡时使用了
*/
@LogIgnoreFeign(logMessage="refundQuery")
@PostMapping("paymentcenter/refundQuery")
com.freemud.application.sdk.api.base.BaseResponse<RefundQueryResponseDto> refundQuery(@RequestBody FacePayRequestDto orderPayDto);
/**
* 开订单发票
*/
......@@ -59,25 +58,37 @@ public interface PaymentNewClient {
@PostMapping("paymentcenter/invoice/create")
com.freemud.application.sdk.api.base.BaseResponse<InvoiceCreateResponse> createInvoice(@RequestBody InvoiceCreateRequest request);
//线下付,储值卡/礼品卡支付
/**
* 线下付,储值卡/礼品卡支付
*/
@LogIgnoreFeign(logMessage="codePay",statusCodeFieldName= ResponseCodeKeyConstant.STATUS_CODE)
@PostMapping("paymentcenter/codePay")
com.freemud.application.sdk.api.base.BaseResponse<UnifiedPayResponseDto> codePay(@RequestBody FacePayRequestDto orderPayDto);
@LogIgnoreFeign(logMessage="payQuery")
/**
* 关闭预支付订单
*/
@LogIgnoreFeign(logMessage="payClose")
@PostMapping("paymentcenter/close")
com.freemud.application.sdk.api.base.BaseResponse<PaymentCloseUnifiedOrderResponse> cancelNewUnifiedOrder(@RequestBody PaymentCloseUnifiedOrderRequest request);
/**
* 支付查询
*/
@LogIgnoreFeign(logMessage="payQuery")
@PostMapping("paymentcenter/query")
com.freemud.application.sdk.api.base.BaseResponse<PaymentQueryResponseDto> payQuery(@RequestBody PaymentQueryRequestDto request);
/**
* 支付退款查询
*/
@LogIgnoreFeign(logMessage="payQueryOrder")
@PostMapping("paymentcenter/queryOrder")
com.freemud.application.sdk.api.base.BaseResponse<PaymentQueryOrderResponseDto> payQueryOrder(@RequestBody PaymentQueryOrderRequestDto request);
//现金支付退款接口
/**
* 现金支付退款接口
*/
@LogIgnoreFeign(logMessage="payRefund")
@PostMapping("paymentcenter/refund")
com.freemud.application.sdk.api.base.BaseResponse<PayRefundResponseDto> payRefund(@RequestBody PayRefundRequestDto request);
......
......@@ -1078,53 +1078,53 @@ public abstract class UniversalOrderService {
}
}
public OrderPayResponse getPreOrderPay(OrderBeanV1 orderBean, PaymentRequest paymentRequest, String trackingNo, Integer cardAmount, String transId, String partnerPayOvertime, OrderExtInfoDto orderExtInfoDto) {
OrderPayResponse orderPayResponse;
try {
UnifiedOrderRequest request = createOrderAdapter.convent2UnifiedOrderRequest(orderBean, paymentRequest, orderBean.getAmount(), cardAmount, transId, partnerPayOvertime);
// add by miaohui for 拼单群收款判断拼单人数大于1时参与微信平台补贴活动,创建预支付时上送goodsTag,后续抽成促销服务活动时删除此逻辑 start
if (null != orderBean.getMarketingType() && OrderMarketType.COLLAGE.getIndex() == orderBean.getMarketingType()) {
// 拼单人数大于1人时参加拼单补贴
if (null != orderBean.getProductList() && orderBean.getProductList().stream().map(ProductBeanV1::getUserId).distinct().collect(Collectors.toList()).size() > 1) {
Map<String, String> goodsTagMap = this.goodsTagMap();
String goodsTag = goodsTagMap.get(orderBean.getCompanyId());
request.setGoodsTag(StringUtils.isBlank(goodsTag) ? collageGoodsTag : goodsTag);
}
}
// add by miaohui for 拼单群收款判断拼单人数大于1时参与微信平台补贴活动,创建预支付时上送goodsTag,后续抽成促销服务活动时删除此逻辑 end
if (orderExtInfoDto != null && StringUtils.isNotBlank(orderExtInfoDto.getStationId())) {
request.setStationId(orderExtInfoDto.getStationId());
}
com.freemud.application.sdk.api.base.BaseResponse<UnifiedOrderResponse> responseBase = payService.unifiedOrder(request);
if (!ResponseCodeConstant.RESPONSE_SUCCESS_STR.equals(responseBase.getCode())) {
// 1.9.34 预支付失败需要把原因进行记录
orderPayResponse = new OrderPayResponse();
orderPayResponse.setMsg(responseBase.getMessage());
} else {
putDelMq(request.getPartnerId(), request.getStoreId(), responseBase.getData().getFmId(), orderBean.getOid());
orderPayResponse = createOrderAdapter.convent2OrderPayResponse(responseBase.getData());
orderPayResponse.setWxAppid(paymentRequest.getWxAppId());
orderPayResponse.setOpenId(paymentRequest.getOpenId());
orderPayResponse.setPartnerId(orderBean.getCompanyId());
orderPayResponse.setOrderId(orderBean.getOid());
orderPayResponse.setPayChannelType(PayChannelType.WECHAT);
if (orderPayResponse.getPayOrder() != null && StringUtils.isNotBlank(orderPayResponse.getPayOrder().getAliPayOrder())) {
orderPayResponse.setPayChannelType(PayChannelType.ALIPAY);
}
//抖音支付
if (PayChannelType.TIKTOKPAY.getIndex().toString().equalsIgnoreCase(orderBean.getPayChannelType())) {
orderPayResponse.setPayChannelType(PayChannelType.TIKTOKPAY);
}
}
} catch (Exception e) {
AppLogUtil.errorLog("getPreOrderPay_error", JSONObject.toJSONString(orderBean), JSONObject.toJSONString(paymentRequest),e);
//TODO 邮件告警
orderPayResponse = new OrderPayResponse();
orderPayResponse.setMsg("getPreOrderPay_error");
}
return orderPayResponse;
}
// public OrderPayResponse getPreOrderPay(OrderBeanV1 orderBean, PaymentRequest paymentRequest, String trackingNo, Integer cardAmount, String transId, String partnerPayOvertime, OrderExtInfoDto orderExtInfoDto) {
// OrderPayResponse orderPayResponse;
// try {
// UnifiedOrderRequest request = createOrderAdapter.convent2UnifiedOrderRequest(orderBean, paymentRequest, orderBean.getAmount(), cardAmount, transId, partnerPayOvertime);
// // add by miaohui for 拼单群收款判断拼单人数大于1时参与微信平台补贴活动,创建预支付时上送goodsTag,后续抽成促销服务活动时删除此逻辑 start
// if (null != orderBean.getMarketingType() && OrderMarketType.COLLAGE.getIndex() == orderBean.getMarketingType()) {
// // 拼单人数大于1人时参加拼单补贴
// if (null != orderBean.getProductList() && orderBean.getProductList().stream().map(ProductBeanV1::getUserId).distinct().collect(Collectors.toList()).size() > 1) {
// Map<String, String> goodsTagMap = this.goodsTagMap();
// String goodsTag = goodsTagMap.get(orderBean.getCompanyId());
// request.setGoodsTag(StringUtils.isBlank(goodsTag) ? collageGoodsTag : goodsTag);
// }
// }
// // add by miaohui for 拼单群收款判断拼单人数大于1时参与微信平台补贴活动,创建预支付时上送goodsTag,后续抽成促销服务活动时删除此逻辑 end
// if (orderExtInfoDto != null && StringUtils.isNotBlank(orderExtInfoDto.getStationId())) {
// request.setStationId(orderExtInfoDto.getStationId());
// }
// com.freemud.application.sdk.api.base.BaseResponse<UnifiedOrderResponse> responseBase = payService.unifiedOrder(request);
// if (!ResponseCodeConstant.RESPONSE_SUCCESS_STR.equals(responseBase.getCode())) {
// // 1.9.34 预支付失败需要把原因进行记录
// orderPayResponse = new OrderPayResponse();
// orderPayResponse.setMsg(responseBase.getMessage());
// } else {
// putDelMq(request.getPartnerId(), request.getStoreId(), responseBase.getData().getFmId(), orderBean.getOid());
// orderPayResponse = createOrderAdapter.convent2OrderPayResponse(responseBase.getData());
// orderPayResponse.setWxAppid(paymentRequest.getWxAppId());
// orderPayResponse.setOpenId(paymentRequest.getOpenId());
// orderPayResponse.setPartnerId(orderBean.getCompanyId());
// orderPayResponse.setOrderId(orderBean.getOid());
// orderPayResponse.setPayChannelType(PayChannelType.WECHAT);
// if (orderPayResponse.getPayOrder() != null && StringUtils.isNotBlank(orderPayResponse.getPayOrder().getAliPayOrder())) {
// orderPayResponse.setPayChannelType(PayChannelType.ALIPAY);
// }
// //抖音支付
// if (PayChannelType.TIKTOKPAY.getIndex().toString().equalsIgnoreCase(orderBean.getPayChannelType())) {
// orderPayResponse.setPayChannelType(PayChannelType.TIKTOKPAY);
// }
//
// }
// } catch (Exception e) {
// AppLogUtil.errorLog("getPreOrderPay_error", JSONObject.toJSONString(orderBean), JSONObject.toJSONString(paymentRequest),e);
// //TODO 邮件告警
// orderPayResponse = new OrderPayResponse();
// orderPayResponse.setMsg("getPreOrderPay_error");
// }
// return orderPayResponse;
// }
/**
* 获取预支付成功,将信息放入死心队列,当支付成功没有回掉的时候处理
......
......@@ -372,25 +372,25 @@ public class SaasMallOrderService extends UniversalOrderService {
return ResponseUtil.error(ResponseResultEnum.PAY_UNIFIED_ORDER_ERROR.getCode(), ResponseResultEnum.PAY_UNIFIED_ORDER_ERROR.getMessage(), null);
}
private OrderPayResponse getPreOrderPay(OrderBeanV1 orderBean, PaymentRequest paymentRequest, String trackingNo, Integer cardAmount) {
try {
UnifiedOrderRequest request = orderAdapter.convent2UnifiedOrderRequest(orderBean, paymentRequest, orderBean.getAmount(), cardAmount, orderBean.getOid());
com.freemud.application.sdk.api.base.BaseResponse<UnifiedOrderResponse> responseBase = super.payService.unifiedOrder(request);
if (!ResponseCodeConstant.RESPONSE_SUCCESS_STR.equals(responseBase.getCode())) {
return null;
}
OrderPayResponse orderPayResponse = orderAdapter.convent2OrderPayResponse(responseBase.getData());
orderPayResponse.setWxAppid(paymentRequest.getWxAppId());
orderPayResponse.setOpenId(paymentRequest.getOpenId());
orderPayResponse.setPartnerId(orderBean.getCompanyId());
orderPayResponse.setOrderId(orderBean.getOid());
return orderPayResponse;
} catch (Exception e) {
AppLogUtil.errorLog("getPreOrderPay_error", JSONObject.toJSONString(orderBean), JSONObject.toJSONString(paymentRequest),e);
//TODO 邮件告警
return null;
}
}
// private OrderPayResponse getPreOrderPay(OrderBeanV1 orderBean, PaymentRequest paymentRequest, String trackingNo, Integer cardAmount) {
// try {
// UnifiedOrderRequest request = orderAdapter.convent2UnifiedOrderRequest(orderBean, paymentRequest, orderBean.getAmount(), cardAmount, orderBean.getOid());
// com.freemud.application.sdk.api.base.BaseResponse<UnifiedOrderResponse> responseBase = super.payService.unifiedOrder(request);
// if (!ResponseCodeConstant.RESPONSE_SUCCESS_STR.equals(responseBase.getCode())) {
// return null;
// }
// OrderPayResponse orderPayResponse = orderAdapter.convent2OrderPayResponse(responseBase.getData());
// orderPayResponse.setWxAppid(paymentRequest.getWxAppId());
// orderPayResponse.setOpenId(paymentRequest.getOpenId());
// orderPayResponse.setPartnerId(orderBean.getCompanyId());
// orderPayResponse.setOrderId(orderBean.getOid());
// return orderPayResponse;
// } catch (Exception e) {
// AppLogUtil.errorLog("getPreOrderPay_error", JSONObject.toJSONString(orderBean), JSONObject.toJSONString(paymentRequest),e);
// //TODO 邮件告警
// return null;
// }
// }
private PaymentRequest orderBodyConvertToPaymentBody(AssortmentCustomerInfoVo userLoginInfoDto, String partnerId) {
String wxAppId = userLoginInfoDto.getWxAppId();
......
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