Commit 7343c407 by 张洪旺

Merge branch '20200827-1000' of gitlab.freemud.com:order-group-application/order-group into develop

parents f3734a43 91f63fb0
...@@ -38,6 +38,7 @@ public enum PayChannelEnum { ...@@ -38,6 +38,7 @@ public enum PayChannelEnum {
*/ */
public static Map<Integer, PayChannelEnum> payChannelEnumMap = ImmutableMap.of(PayChannelEnum.SVC.getCode(), PayChannelEnum.SVC, public static Map<Integer, PayChannelEnum> payChannelEnumMap = ImmutableMap.of(PayChannelEnum.SVC.getCode(), PayChannelEnum.SVC,
PayChannelEnum.WECHAT.getCode(), PayChannelEnum.WECHAT, PayChannelEnum.WECHAT.getCode(), PayChannelEnum.WECHAT,
PayChannelEnum.CASH.getCode(), PayChannelEnum.CASH,
PayChannelEnum.ALIPAY.getCode(), PayChannelEnum.ALIPAY PayChannelEnum.ALIPAY.getCode(), PayChannelEnum.ALIPAY
); );
......
...@@ -11,6 +11,7 @@ import javax.validation.constraints.NotNull; ...@@ -11,6 +11,7 @@ import javax.validation.constraints.NotNull;
@Setter @Setter
public class PayQueryRequest { public class PayQueryRequest {
/** /**
* 三方订单号 * 三方订单号
*/ */
...@@ -36,4 +37,16 @@ public class PayQueryRequest { ...@@ -36,4 +37,16 @@ public class PayQueryRequest {
@NotEmpty(message = "门店id不能为空") @NotEmpty(message = "门店id不能为空")
private String storeId; private String storeId;
/**
* 支付渠道
* 1. 微信,2.支付宝,3.现金 4.svc,5.积分,6优惠券
*/
private Integer payChannel;
/**
* 支付金额
*/
private Long payAmount;
} }
...@@ -7,6 +7,7 @@ import cn.freemud.fuyou.controller.request.DiscountRequest; ...@@ -7,6 +7,7 @@ import cn.freemud.fuyou.controller.request.DiscountRequest;
import cn.freemud.fuyou.controller.request.PayQueryRequest; import cn.freemud.fuyou.controller.request.PayQueryRequest;
import cn.freemud.fuyou.feign.ScoreFeignClient; import cn.freemud.fuyou.feign.ScoreFeignClient;
import cn.freemud.fuyou.service.processor.EventProcessorRegister; import cn.freemud.fuyou.service.processor.EventProcessorRegister;
import cn.freemud.management.util.ResponseCodeEnum;
import cn.freemud.utils.ResponseUtil; import cn.freemud.utils.ResponseUtil;
import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSON;
import com.freemud.application.sdk.api.log.LogThreadLocal; import com.freemud.application.sdk.api.log.LogThreadLocal;
...@@ -80,24 +81,39 @@ public class PaymentService { ...@@ -80,24 +81,39 @@ public class PaymentService {
} }
/** /**
* 查询支付结果,微信,支付宝,svc * 查询支付结果,微信,支付宝,svc,现金
* *
* @param request * @param request
* @return * @return
*/ */
public BaseResponse paymentQuery(PayQueryRequest request) { public BaseResponse paymentQuery(PayQueryRequest request) {
BaseResponse baseResponse = new BaseResponse();
QueryByCodeResponse queryByCodeResponse = orderSdkService.getOrderInfo(request.getOrderClient(), null,request.getThirdOrderCode(),null, LogThreadLocal.getTrackingNo()); baseResponse.setCode(ResponseCodeEnum.SUCCESS.code);
baseResponse.setMessage(ResponseCodeEnum.SUCCESS.msg);
QueryByCodeResponse queryByCodeResponse = orderSdkService.getOrderInfo(request.getOrderClient(), null, request.getThirdOrderCode(), null, LogThreadLocal.getTrackingNo());
if (ObjectUtils.notEqual(ResponseConstant.SUCCESS_RESPONSE_CODE, queryByCodeResponse.getCode())) { if (ObjectUtils.notEqual(ResponseConstant.SUCCESS_RESPONSE_CODE, queryByCodeResponse.getCode())) {
throw new RuntimeException(queryByCodeResponse.getMessage()); throw new RuntimeException(queryByCodeResponse.getMessage());
} }
OrderInfoReqs order = queryByCodeResponse.getResult(); OrderInfoReqs order = queryByCodeResponse.getResult();
// 订单状态已更改
if (Objects.equals(order.getPayState(), PayStatus.HAVE_PAID.getCode())) {
baseResponse.setMessage("订单已支付");
return baseResponse;
}
// 现金支付单独处理,不走支付
if (PayChannelEnum.CASH.getCode().equals(request.getPayChannel())) {
PaySuccessReq req = new PaySuccessReq();
req.setOrderCode(order.getOrderCode());
req.setActualPayAmount(request.getPayAmount().toString());
req.setPayChannel(PayChannelEnum.CASH.name());
//req.setPayRequestNo();
paySuccess(req, baseResponse);
return baseResponse;
}
log.info("paymentQuery:request:{}", JSON.toJSONString(request)); log.info("paymentQuery:request:{}", JSON.toJSONString(request));
BaseResponse baseResponse = new BaseResponse();
baseResponse.setCode(ResponseConstant.SUCCESS_RESPONSE_CODE);
PaymentQueryOrderRequest channelRequest = new PaymentQueryOrderRequest(); PaymentQueryOrderRequest channelRequest = new PaymentQueryOrderRequest();
channelRequest.setPartnerId(request.getPartnerId()); channelRequest.setPartnerId(request.getPartnerId());
channelRequest.setVer("2"); channelRequest.setVer("2");
...@@ -122,30 +138,30 @@ public class PaymentService { ...@@ -122,30 +138,30 @@ public class PaymentService {
// (0-未支付,1-已支付,2-已冲正,3-已退款,4-已关闭) // (0-未支付,1-已支付,2-已冲正,3-已退款,4-已关闭)
String tradeState = query.getData().getStatus(); String tradeState = query.getData().getStatus();
if (ObjectUtils.equals(tradeState, "1")) { if (ObjectUtils.equals(tradeState, "1")) {
// 订单状态已更改
if (Objects.equals(order.getPayState(), PayStatus.HAVE_PAID.getCode())) {
return baseResponse;
}
//更改订单状态 //更改订单状态
BaseResponse<PaySuccessResp> paySuccessRespBaseResponse = orderSdkService.paySuccess(req, LogThreadLocal.getTrackingNo()); paySuccess(req, baseResponse);
if (ObjectUtils.notEqual(paySuccessRespBaseResponse.getCode(), ResponseConstant.SUCCESS_RESPONSE_CODE)) {
log.error("orderSdkService.orderAffirm.query,error:{},入参:{}", JSON.toJSONString(query), JSON.toJSONString(channelRequest));
baseResponse.setCode(paySuccessRespBaseResponse.getCode());
baseResponse.setMessage(paySuccessRespBaseResponse.getMessage());
return baseResponse; return baseResponse;
}
} else if (ObjectUtils.equals(tradeState, "2") || } else if (ObjectUtils.equals(tradeState, "2") ||
ObjectUtils.equals(tradeState, "3")) { ObjectUtils.equals(tradeState, "3")) {
// 优惠冲正 // 优惠冲正
fuYouOrderService.rectification(order,"支付失败,已关单"); fuYouOrderService.rectification(order, "支付失败,已关单");
} else { } else {
baseResponse.setCode(ResponseResult.PAY_BACKEND_CONFIG_ERROR.getCode()); baseResponse.setCode(ResponseResult.PAY_BACKEND_CONFIG_ERROR.getCode());
baseResponse.setCode("未支付"); baseResponse.setMessage("未支付");
baseResponse.setResult(query); baseResponse.setResult(query);
} }
return baseResponse; return baseResponse;
} }
private void paySuccess(PaySuccessReq req, BaseResponse baseResponse) {
BaseResponse<PaySuccessResp> paySuccessRespBaseResponse = orderSdkService.paySuccess(req, LogThreadLocal.getTrackingNo());
if (ObjectUtils.notEqual(paySuccessRespBaseResponse.getCode(), ResponseConstant.SUCCESS_RESPONSE_CODE)) {
log.error("orderSdkService.paySuccesse(),request:{},response:{}", JSON.toJSONString(req), JSON.toJSONString(paySuccessRespBaseResponse));
baseResponse.setCode(paySuccessRespBaseResponse.getCode());
baseResponse.setMessage(paySuccessRespBaseResponse.getMessage());
}
}
} }
...@@ -40,7 +40,7 @@ public class CashEventProcessor extends AbstractProcessor { ...@@ -40,7 +40,7 @@ public class CashEventProcessor extends AbstractProcessor {
@Override @Override
OrderSettlementReq getOrderSettlement(DiscountRequest request) { OrderSettlementReq getOrderSettlement(DiscountRequest request) {
OrderInfoReqs orderInfoReqs = request.getOrderInfoReqs(); OrderInfoReqs orderInfoReqs = request.getOrderInfoReqs();
return buildOrderSettlement("富有现金支付", OrderSettlementType.CASH, false, orderInfoReqs, request); return buildOrderSettlement("现金支付", OrderSettlementType.CASH, false, orderInfoReqs, request);
} }
@Override @Override
......
...@@ -63,7 +63,7 @@ public class IntegralEventProcessor extends AbstractProcessor { ...@@ -63,7 +63,7 @@ public class IntegralEventProcessor extends AbstractProcessor {
@Override @Override
OrderSettlementReq getOrderSettlement(DiscountRequest request) { OrderSettlementReq getOrderSettlement(DiscountRequest request) {
OrderInfoReqs orderInfoReqs = request.getOrderInfoReqs(); OrderInfoReqs orderInfoReqs = request.getOrderInfoReqs();
return buildOrderSettlement("富有积分兑换", OrderSettlementType.POINTS, true, orderInfoReqs, request); return buildOrderSettlement("积分兑换", OrderSettlementType.POINTS, true, orderInfoReqs, request);
} }
......
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