Commit 8e06b40b by 徐康

Merge remote-tracking branch 'origin/qa' into qa

parents bcb590e1 bad0411a
......@@ -55,7 +55,6 @@ import static cn.freemud.enums.ResponseResult.*;
@Slf4j
public class FuYouOrderService {
private final CashEventProcessor cashEventProcessor;
private final OrderSdkService orderSdkService;
private final MapperFacade mapperFacade;
private final CouponFeignClient couponFeignClient;
......@@ -63,11 +62,10 @@ public class FuYouOrderService {
private final OfflineCouponSdkService offlineCouponSdkService;
private final ScoreFeignClient scoreFeignClient;
public FuYouOrderService(CashEventProcessor cashEventProcessor, OrderSdkService orderSdkService, MapperFacade mapperFacade,
public FuYouOrderService(OrderSdkService orderSdkService, MapperFacade mapperFacade,
CouponFeignClient couponFeignClient,
PaymentNewService paymentNewService, OfflineCouponSdkService offlineCouponSdkService,
ScoreFeignClient scoreFeignClient) {
this.cashEventProcessor = cashEventProcessor;
this.orderSdkService = orderSdkService;
this.mapperFacade = mapperFacade;
this.couponFeignClient = couponFeignClient;
......@@ -214,6 +212,13 @@ public class FuYouOrderService {
return payorderSeetlment;
}
private OrderInfoReqs getOrderByThirdOrderCode(String thirdOrderCode,String orderClient) {
QueryByCodeResponse orderInfo = orderSdkService.getOrderInfo(orderClient,null,thirdOrderCode, null, LogThreadLocal.getTrackingNo());
if (ObjectUtils.notEqual(ResponseConstant.SUCCESS_RESPONSE_CODE, orderInfo.getCode())) {
throw new RuntimeException(orderInfo.getMessage());
}
return orderInfo.getResult();
}
/***
* 支付完成
......@@ -221,7 +226,7 @@ public class FuYouOrderService {
* @return
*/
public BaseResponse complete(CompleteRequest request) {
OrderInfoReqs orderInfoReqs = null;
OrderInfoReqs orderInfoReqs = getOrderByThirdOrderCode(request.getThirdOrderCode(), request.getOrderClient());
BaseResponse response = new BaseResponse();
if(ObjectUtils.notEqual(PayStatus.HAVE_PAID.getCode(),orderInfoReqs.getPayState())){
return ResponseUtil.error(ORDER_NO_PAU);
......
......@@ -83,60 +83,60 @@ public class AliPayEventProcessor extends AbstractProcessor {
//10216 扫呗公众号支付
//10217 商盟支付
//10300 扫呗支付宝
//private final PaymentNewService paymentNewService;
//
// protected AliPayEventProcessor(OrderSdkService orderSdkService, PaymentService paymentService, PaymentNewService paymentNewService) {
// super(orderSdkService, paymentService);
// this.paymentNewService = paymentNewService;
// }
//
// @Override
// BaseResponse doProcess(DiscountRequest request) {
// BaseResponse baseResponse =new BaseResponse();
// baseResponse.setCode(ResponseResultEnum.SUCCESS.getCode());
// OrderInfoReqs orderInfoReqs = request.getOrderInfoReqs();
//
// CodePayRequest codePayRequest =new CodePayRequest();
// codePayRequest.setCode(request.getCode());
// codePayRequest.setBody(orderInfoReqs.getStoreName());
// codePayRequest.setBusinessDate(DateUtil.convert2String(new Date(), DateUtil.FORMAT_YYYY_MM_DD_HHMMSS));
// codePayRequest.setStationId("1");
// codePayRequest.setOperatorId("1");
// //codePayRequest.setClientCode(10095);
// //codePayRequest.setCode("10102");
// codePayRequest.setAmount(request.getPayAmount());
// codePayRequest.setPartnerId(orderInfoReqs.getPartnerId());
// codePayRequest.setStoreId(orderInfoReqs.getStoreId());
// codePayRequest.setFrontTransId(orderInfoReqs.getOrderCode());
// codePayRequest.setVer("2");
// // codePayRequest.setClientCode(10095L);
// codePayRequest.setTransId(orderInfoReqs.getOrderCode());
// codePayRequest.setProducts(convertPayProduct(request.getOrderItemList()));
// com.freemud.application.sdk.api.base.BaseResponse<CodePayResponse> codePayResponseBaseResponse = paymentNewService.codePay(codePayRequest, LogThreadLocal.getTrackingNo());
// log.info("aliPay.paymentFeignClient.codePay,request:{},response:{}", JSON.toJSONString(codePayRequest),JSON.toJSONString(codePayResponseBaseResponse));
// if(ObjectUtils.notEqual(ResponseResultEnum.SUCCESS.getCode(),codePayResponseBaseResponse.getCode()) ||
// ObjectUtils.notEqual(ResponseResultEnum.SUCCESS.getCode(),codePayResponseBaseResponse.getData().getCode()) ||
// ObjectUtils.notEqual(ResponseResultEnum.SUCCESS.getCode(),codePayResponseBaseResponse.getData().getData().getResultCode())
// ){
// baseResponse.setCode(codePayResponseBaseResponse.getCode());
// baseResponse.setMessage(codePayResponseBaseResponse.getMessage());
// return baseResponse;
// }
// request.setFmId(codePayResponseBaseResponse.getData().getData().getFmId());
// return baseResponse;
// }
//
//
//
// @Override
// OrderSettlementReq getOrderSettlement(DiscountRequest request) {
// OrderInfoReqs orderInfoReqs = request.getOrderInfoReqs();
// return buildOrderSettlement("支付宝支付", OrderSettlementType.ALIPAY, true, orderInfoReqs, request);
//
// }
//
// @Override
// public Integer getEvent() {
// return PayChannelEnum.ALIPAY.getCode();
// }
private final PaymentNewService paymentNewService;
protected AliPayEventProcessor(OrderSdkService orderSdkService, PaymentService paymentService, PaymentNewService paymentNewService) {
super(orderSdkService, paymentService);
this.paymentNewService = paymentNewService;
}
@Override
BaseResponse doProcess(DiscountRequest request) {
BaseResponse baseResponse =new BaseResponse();
baseResponse.setCode(ResponseResultEnum.SUCCESS.getCode());
OrderInfoReqs orderInfoReqs = request.getOrderInfoReqs();
CodePayRequest codePayRequest =new CodePayRequest();
codePayRequest.setCode(request.getCode());
codePayRequest.setBody(orderInfoReqs.getStoreName());
codePayRequest.setBusinessDate(DateUtil.convert2String(new Date(), DateUtil.FORMAT_YYYY_MM_DD_HHMMSS));
codePayRequest.setStationId("1");
codePayRequest.setOperatorId("1");
//codePayRequest.setClientCode(10095);
//codePayRequest.setCode("10102");
codePayRequest.setAmount(request.getPayAmount());
codePayRequest.setPartnerId(orderInfoReqs.getPartnerId());
codePayRequest.setStoreId(orderInfoReqs.getStoreId());
codePayRequest.setFrontTransId(orderInfoReqs.getOrderCode());
codePayRequest.setVer("2");
// codePayRequest.setClientCode(10095L);
codePayRequest.setTransId(orderInfoReqs.getOrderCode());
codePayRequest.setProducts(convertPayProduct(request.getOrderItemList()));
com.freemud.application.sdk.api.base.BaseResponse<CodePayResponse> codePayResponseBaseResponse = paymentNewService.codePay(codePayRequest, LogThreadLocal.getTrackingNo());
log.info("aliPay.paymentFeignClient.codePay,request:{},response:{}", JSON.toJSONString(codePayRequest),JSON.toJSONString(codePayResponseBaseResponse));
if(ObjectUtils.notEqual(ResponseResultEnum.SUCCESS.getCode(),codePayResponseBaseResponse.getCode()) ||
ObjectUtils.notEqual(ResponseResultEnum.SUCCESS.getCode(),codePayResponseBaseResponse.getData().getCode()) ||
ObjectUtils.notEqual(ResponseResultEnum.SUCCESS.getCode(),codePayResponseBaseResponse.getData().getData().getResultCode())
){
baseResponse.setCode(codePayResponseBaseResponse.getCode());
baseResponse.setMessage(codePayResponseBaseResponse.getMessage());
return baseResponse;
}
request.setFmId(codePayResponseBaseResponse.getData().getData().getFmId());
return baseResponse;
}
@Override
OrderSettlementReq getOrderSettlement(DiscountRequest request) {
OrderInfoReqs orderInfoReqs = request.getOrderInfoReqs();
return buildOrderSettlement("支付宝支付", OrderSettlementType.ALIPAY, true, orderInfoReqs, request);
}
@Override
public Integer getEvent() {
return PayChannelEnum.ALIPAY.getCode();
}
}
......@@ -22,30 +22,30 @@ import static cn.freemud.management.util.ResponseCodeEnum.SUCCESS;
public class CashEventProcessor extends AbstractProcessor {
// protected CashEventProcessor(OrderSdkService orderSdkService, PaymentService paymentService) {
// //super(orderSdkService, paymentService);
// }
//
// @Override
// BaseResponse doProcess(DiscountRequest request) {
// BaseResponse baseResponse =new BaseResponse();
// baseResponse.setCode(SUCCESS.code);
// return baseResponse;
// }
//
// public OrderInfoReqs getOrderByThirdOrderCode(String thirdOrderCode, String orderClient) {
// return super.getOrderByThirdOrderCode(thirdOrderCode, orderClient);
// }
//
// @Override
// OrderSettlementReq getOrderSettlement(DiscountRequest request) {
// OrderInfoReqs orderInfoReqs = request.getOrderInfoReqs();
// return buildOrderSettlement("富有现金支付", OrderSettlementType.CASH, false, orderInfoReqs, request);
// }
//
// @Override
// public Integer getEvent() {
// return PayChannelEnum.CASH.getCode();
// }
protected CashEventProcessor(OrderSdkService orderSdkService, PaymentService paymentService) {
super(orderSdkService, paymentService);
}
@Override
BaseResponse doProcess(DiscountRequest request) {
BaseResponse baseResponse =new BaseResponse();
baseResponse.setCode(SUCCESS.code);
return baseResponse;
}
public OrderInfoReqs getOrderByThirdOrderCode(String thirdOrderCode, String orderClient) {
return super.getOrderByThirdOrderCode(thirdOrderCode, orderClient);
}
@Override
OrderSettlementReq getOrderSettlement(DiscountRequest request) {
OrderInfoReqs orderInfoReqs = request.getOrderInfoReqs();
return buildOrderSettlement("富有现金支付", OrderSettlementType.CASH, false, orderInfoReqs, request);
}
@Override
public Integer getEvent() {
return PayChannelEnum.CASH.getCode();
}
}
......@@ -35,76 +35,76 @@ import static cn.freemud.management.util.ResponseCodeEnum.SUCCESS;
public class CouponEventProcessor extends AbstractProcessor {
// private final OfflineCouponSdkService offlineCouponSdkService;
//
// protected CouponEventProcessor(OrderSdkService orderSdkService, PaymentService paymentService, OfflineCouponSdkService offlineCouponSdkService) {
// //super(orderSdkService, paymentService);
// this.offlineCouponSdkService = offlineCouponSdkService;
// }
//
//
// @Override
// com.freemud.application.sdk.api.ordercenter.response.BaseResponse doProcess(DiscountRequest request) {
// com.freemud.application.sdk.api.ordercenter.response.BaseResponse baseResponse = new com.freemud.application.sdk.api.ordercenter.response.BaseResponse();
// baseResponse.setCode(SUCCESS.code);
// OrderInfoReqs orderInfoReqs = request.getOrderInfoReqs();
// //1.核销券
// CouponRequest couponCodeVerificationDto = new CouponRequest();
// couponCodeVerificationDto.setVer(Integer.valueOf(Version.VERSION_1));
// couponCodeVerificationDto.setReqtype(71);
// couponCodeVerificationDto.setPartnerId(Integer.parseInt(orderInfoReqs.getPartnerId()));
// //自取:pickup,外送:delivery,麦咖啡微信小程序:mocoffee_wx,麦咖啡支付宝小程序:mocoffee_zfb
// couponCodeVerificationDto.setChannel("pickup");
// couponCodeVerificationDto.setStation_id(request.getPosId());
// couponCodeVerificationDto.setOperator_id("-1");
// couponCodeVerificationDto.setStore_id(orderInfoReqs.getStoreId());
// //核销不需要核销通知
// //couponCodeVerificationDto.setAppFlag("kgd.N");
// // 订单号 替换成唯一序号
// couponCodeVerificationDto.setTrans_id(orderInfoReqs.getOrderCode());
// couponCodeVerificationDto.setBusiness_date(cn.freemud.base.util.DateUtil.convert2Str(new Date(), cn.freemud.base.util.DateUtil.FORMAT_yyyyMMdd));
// List<TransactionVO> transactions = new ArrayList<>();
// TransactionVO couponCodeVerificationTransDto = new TransactionVO();
// couponCodeVerificationTransDto.setCode(request.getCoupon());
// couponCodeVerificationTransDto.setTotalAmount(request.getPayAmount());
// List<ProductRedeemVO> productRedeemVOS = convertOrderItemCreateReq(request.getOrderItemList());
// couponCodeVerificationTransDto.setProducts(productRedeemVOS);
// transactions.add(couponCodeVerificationTransDto);
// couponCodeVerificationDto.setTransactions(transactions);
// final BaseResponse<CouponRedeemResponse> couponRedeemResponseBaseResponse = offlineCouponSdkService.couponRedeem(couponCodeVerificationDto, LogThreadLocal.getTrackingNo());
// if (ObjectUtils.notEqual(FMStatusCode.SUCCESS.getCode(), couponRedeemResponseBaseResponse.getCode())) {
// baseResponse.setCode(couponRedeemResponseBaseResponse.getCode());
// baseResponse.setMessage(couponRedeemResponseBaseResponse.getMessage());
// }
// return baseResponse;
// }
//
// private List<ProductRedeemVO> convertOrderItemCreateReq(List<OrderItemCreateReq> orderItemList) {
// List<ProductRedeemVO> products = new ArrayList<>();
// if (CollectionUtils.isEmpty(orderItemList)) {
// return products;
// }
// for (int i = 0; i < orderItemList.size(); i++) {
// //商品券核销核销参数
// ProductRedeemVO couponCodeVerificationProductDto = new ProductRedeemVO();
// couponCodeVerificationProductDto.setPid(UUID.randomUUID().toString());
// couponCodeVerificationProductDto.setConsume_num(orderItemList.get(i).getProductQuantity());
// couponCodeVerificationProductDto.setSeq(i);
// // couponCodeVerificationProductDto.setMerchantProductId(orderItemList.get(i).getProductId());
// products.add(couponCodeVerificationProductDto);
// }
// return products;
// }
//
//
// @Override
// OrderSettlementReq getOrderSettlement(DiscountRequest request) {
// OrderInfoReqs orderInfoReqs = request.getOrderInfoReqs();
// return buildOrderSettlement("富有优惠券", OrderSettlementType.COUPON, false, orderInfoReqs, request);
// }
//
// @Override
// public Integer getEvent() {
// return PayChannelEnum.COUPON.getCode();
// }
private final OfflineCouponSdkService offlineCouponSdkService;
protected CouponEventProcessor(OrderSdkService orderSdkService, PaymentService paymentService, OfflineCouponSdkService offlineCouponSdkService) {
super(orderSdkService, paymentService);
this.offlineCouponSdkService = offlineCouponSdkService;
}
@Override
com.freemud.application.sdk.api.ordercenter.response.BaseResponse doProcess(DiscountRequest request) {
com.freemud.application.sdk.api.ordercenter.response.BaseResponse baseResponse = new com.freemud.application.sdk.api.ordercenter.response.BaseResponse();
baseResponse.setCode(SUCCESS.code);
OrderInfoReqs orderInfoReqs = request.getOrderInfoReqs();
//1.核销券
CouponRequest couponCodeVerificationDto = new CouponRequest();
couponCodeVerificationDto.setVer(Integer.valueOf(Version.VERSION_1));
couponCodeVerificationDto.setReqtype(71);
couponCodeVerificationDto.setPartnerId(Integer.parseInt(orderInfoReqs.getPartnerId()));
//自取:pickup,外送:delivery,麦咖啡微信小程序:mocoffee_wx,麦咖啡支付宝小程序:mocoffee_zfb
couponCodeVerificationDto.setChannel("pickup");
couponCodeVerificationDto.setStation_id(request.getPosId());
couponCodeVerificationDto.setOperator_id("-1");
couponCodeVerificationDto.setStore_id(orderInfoReqs.getStoreId());
//核销不需要核销通知
//couponCodeVerificationDto.setAppFlag("kgd.N");
// 订单号 替换成唯一序号
couponCodeVerificationDto.setTrans_id(orderInfoReqs.getOrderCode());
couponCodeVerificationDto.setBusiness_date(cn.freemud.base.util.DateUtil.convert2Str(new Date(), cn.freemud.base.util.DateUtil.FORMAT_yyyyMMdd));
List<TransactionVO> transactions = new ArrayList<>();
TransactionVO couponCodeVerificationTransDto = new TransactionVO();
couponCodeVerificationTransDto.setCode(request.getCoupon());
couponCodeVerificationTransDto.setTotalAmount(request.getPayAmount());
List<ProductRedeemVO> productRedeemVOS = convertOrderItemCreateReq(request.getOrderItemList());
couponCodeVerificationTransDto.setProducts(productRedeemVOS);
transactions.add(couponCodeVerificationTransDto);
couponCodeVerificationDto.setTransactions(transactions);
final BaseResponse<CouponRedeemResponse> couponRedeemResponseBaseResponse = offlineCouponSdkService.couponRedeem(couponCodeVerificationDto, LogThreadLocal.getTrackingNo());
if (ObjectUtils.notEqual(FMStatusCode.SUCCESS.getCode(), couponRedeemResponseBaseResponse.getCode())) {
baseResponse.setCode(couponRedeemResponseBaseResponse.getCode());
baseResponse.setMessage(couponRedeemResponseBaseResponse.getMessage());
}
return baseResponse;
}
private List<ProductRedeemVO> convertOrderItemCreateReq(List<OrderItemCreateReq> orderItemList) {
List<ProductRedeemVO> products = new ArrayList<>();
if (CollectionUtils.isEmpty(orderItemList)) {
return products;
}
for (int i = 0; i < orderItemList.size(); i++) {
//商品券核销核销参数
ProductRedeemVO couponCodeVerificationProductDto = new ProductRedeemVO();
couponCodeVerificationProductDto.setPid(UUID.randomUUID().toString());
couponCodeVerificationProductDto.setConsume_num(orderItemList.get(i).getProductQuantity());
couponCodeVerificationProductDto.setSeq(i);
// couponCodeVerificationProductDto.setMerchantProductId(orderItemList.get(i).getProductId());
products.add(couponCodeVerificationProductDto);
}
return products;
}
@Override
OrderSettlementReq getOrderSettlement(DiscountRequest request) {
OrderInfoReqs orderInfoReqs = request.getOrderInfoReqs();
return buildOrderSettlement("富有优惠券", OrderSettlementType.COUPON, false, orderInfoReqs, request);
}
@Override
public Integer getEvent() {
return PayChannelEnum.COUPON.getCode();
}
}
......@@ -9,21 +9,21 @@ import ma.glasnost.orika.impl.DefaultMapperFactory;
public interface EventProcessor {
// MapperFacade mapper = new DefaultMapperFactory.Builder().build().getMapperFacade();
//
// /**
// * 处理
// *
// * @param request
// */
// BaseResponse process(DiscountRequest request);
//
//
// /**
// * 消息类型
// * {@link PayChannelEnum}
// *
// * @return
// */
// Integer getEvent();
MapperFacade mapper = new DefaultMapperFactory.Builder().build().getMapperFacade();
/**
* 处理
*
* @param request
*/
BaseResponse process(DiscountRequest request);
/**
* 消息类型
* {@link PayChannelEnum}
*
* @return
*/
Integer getEvent();
}
......@@ -16,27 +16,27 @@ import java.util.Map;
public class EventProcessorRegister extends ApplicationObjectSupport {
//Collections.emptyMap()
// private static Map<Integer, EventProcessor> processorMap = Maps.newHashMap();
//
// @PostConstruct
// private void init() {
// Map<String, EventProcessor> beans = getApplicationContext().getBeansOfType(EventProcessor.class);
// log.info("EventProcessorRegister:bean:{}",beans);
// if (!CollectionUtils.isEmpty(beans)) {
// beans.values().stream().forEach((EventProcessor obj) -> {
// processorMap.put(obj.getEvent(), obj);
// }
//
//
// );
// }
// }
//
// public EventProcessor getEventProcessor(Integer event) {
// //todo dev环境init初始化 beans =null
// if(processorMap.get(event) ==null){
// init();
// }
// return processorMap.get(event);
// }
private static Map<Integer, EventProcessor> processorMap = Maps.newHashMap();
@PostConstruct
private void init() {
Map<String, EventProcessor> beans = getApplicationContext().getBeansOfType(EventProcessor.class);
log.info("EventProcessorRegister:bean:{}",beans);
if (!CollectionUtils.isEmpty(beans)) {
beans.values().stream().forEach((EventProcessor obj) -> {
processorMap.put(obj.getEvent(), obj);
}
);
}
}
public EventProcessor getEventProcessor(Integer event) {
//todo dev环境init初始化 beans =null
if(processorMap.get(event) ==null){
init();
}
return processorMap.get(event);
}
}
......@@ -25,53 +25,53 @@ import static cn.freemud.management.util.ResponseCodeEnum.SUCCESS;
@Slf4j
public class IntegralEventProcessor extends AbstractProcessor {
// private final ScoreFeignClient scoreFeignClient;
//
// protected IntegralEventProcessor(OrderSdkService orderSdkService, PaymentService paymentService, ScoreFeignClient scoreFeignClient) {
// //super(orderSdkService, paymentService);
// this.scoreFeignClient = scoreFeignClient;
// }
//
//
// @Override
// BaseResponse doProcess(DiscountRequest request) {
// BaseResponse baseResponse = new BaseResponse();
// baseResponse.setCode(SUCCESS.code);
// final OrderInfoReqs order = request.getOrderInfoReqs();
//
// ScorePayRequest scorePayRequest = new ScorePayRequest();
// scorePayRequest.setPartnerId(order.getPartnerId());
// scorePayRequest.setChangeScore(request.getScore().intValue());
// scorePayRequest.setMemberId(order.getUserId());
// scorePayRequest.setOrderId(order.getOrderCode());
// scorePayRequest.setOperationType(14);
// scorePayRequest.setIdempotencyBussinessType("5");
// scorePayRequest.setChangeScore(request.getScore().intValue());
// scorePayRequest.setIdempotencyBussinessId(order.getOrderCode());
// cn.freemud.base.entity.BaseResponse<UpdateScoreResponse> responseBaseResponse = scoreFeignClient.pay(scorePayRequest);
// log.info("scoreFeignClient.pay,order:{},response:{}", order.getOrderCode(), JSON.toJSONString(responseBaseResponse));
// if (ObjectUtils.notEqual(SUCCESS.code, responseBaseResponse.getCode())) {
// baseResponse.setCode(responseBaseResponse.getCode());
// baseResponse.setMessage(responseBaseResponse.getMessage());
// }
// return baseResponse;
// }
//
//
// @Override
// OrderSettlementReq getOrderSettlement(DiscountRequest request) {
// OrderInfoReqs orderInfoReqs = request.getOrderInfoReqs();
// return buildOrderSettlement("富有积分兑换", OrderSettlementType.POINTS, true, orderInfoReqs, request);
// }
//
//
// @Override
// protected boolean postProcessors(DiscountRequest request) {
// return false;
// }
//
// @Override
// public Integer getEvent() {
// return PayChannelEnum.INTEGRAL.getCode();
// }
private final ScoreFeignClient scoreFeignClient;
protected IntegralEventProcessor(OrderSdkService orderSdkService, PaymentService paymentService, ScoreFeignClient scoreFeignClient) {
super(orderSdkService, paymentService);
this.scoreFeignClient = scoreFeignClient;
}
@Override
BaseResponse doProcess(DiscountRequest request) {
BaseResponse baseResponse = new BaseResponse();
baseResponse.setCode(SUCCESS.code);
final OrderInfoReqs order = request.getOrderInfoReqs();
ScorePayRequest scorePayRequest = new ScorePayRequest();
scorePayRequest.setPartnerId(order.getPartnerId());
scorePayRequest.setChangeScore(request.getScore().intValue());
scorePayRequest.setMemberId(order.getUserId());
scorePayRequest.setOrderId(order.getOrderCode());
scorePayRequest.setOperationType(14);
scorePayRequest.setIdempotencyBussinessType("5");
scorePayRequest.setChangeScore(request.getScore().intValue());
scorePayRequest.setIdempotencyBussinessId(order.getOrderCode());
cn.freemud.base.entity.BaseResponse<UpdateScoreResponse> responseBaseResponse = scoreFeignClient.pay(scorePayRequest);
log.info("scoreFeignClient.pay,order:{},response:{}", order.getOrderCode(), JSON.toJSONString(responseBaseResponse));
if (ObjectUtils.notEqual(SUCCESS.code, responseBaseResponse.getCode())) {
baseResponse.setCode(responseBaseResponse.getCode());
baseResponse.setMessage(responseBaseResponse.getMessage());
}
return baseResponse;
}
@Override
OrderSettlementReq getOrderSettlement(DiscountRequest request) {
OrderInfoReqs orderInfoReqs = request.getOrderInfoReqs();
return buildOrderSettlement("富有积分兑换", OrderSettlementType.POINTS, true, orderInfoReqs, request);
}
@Override
protected boolean postProcessors(DiscountRequest request) {
return false;
}
@Override
public Integer getEvent() {
return PayChannelEnum.INTEGRAL.getCode();
}
}
......@@ -27,59 +27,59 @@ import java.util.Date;
@Component
@Slf4j
public class SvcEventProcessor extends AbstractProcessor {
// private final PaymentNewService paymentNewService;
//
// protected SvcEventProcessor(OrderSdkService orderSdkService, PaymentService paymentService,
// PaymentNewService paymentNewService) {
// //super(orderSdkService, paymentService);
// this.paymentNewService = paymentNewService;
// }
//
//
// @Override
// BaseResponse doProcess(DiscountRequest request)
// {
// BaseResponse baseResponse =new BaseResponse();
// baseResponse.setCode(ResponseResultEnum.SUCCESS.getCode());
// OrderInfoReqs orderInfoReqs = request.getOrderInfoReqs();
//
// CodePayRequest codePayRequest =new CodePayRequest();
// codePayRequest.setCode(request.getCode());
// codePayRequest.setAmount(request.getPayAmount());
// codePayRequest.setStoreId(orderInfoReqs.getStoreId());
// codePayRequest.setFrontTransId(orderInfoReqs.getOrderCode());
// codePayRequest.setProducts(convertPayProduct(request.getOrderItemList()));
// codePayRequest.setBody(orderInfoReqs.getStoreName());
// codePayRequest.setBusinessDate(DateUtil.convert2String(new Date(), DateUtil.FORMAT_YYYY_MM_DD_HHMMSS));
// codePayRequest.setStationId("1");
// codePayRequest.setOperatorId("1");
// codePayRequest.setVer("2");
// //codePayRequest.setCode("10102");
// codePayRequest.setPartnerId(orderInfoReqs.getPartnerId());
// codePayRequest.setTransId(orderInfoReqs.getOrderCode());
//
// final com.freemud.application.sdk.api.base.BaseResponse<CodePayResponse> codePayResponseBaseResponse = paymentNewService.codePay(codePayRequest, LogThreadLocal.getTrackingNo());
// log.info("SVC.paymentFeignClient.codePay,request:{},response:{}", JSON.toJSONString(codePayRequest),JSON.toJSONString(codePayResponseBaseResponse));
// if(ObjectUtils.notEqual(ResponseResultEnum.SUCCESS.getCode(),codePayResponseBaseResponse.getCode()) ||
// ObjectUtils.notEqual(ResponseResultEnum.SUCCESS.getCode(),codePayResponseBaseResponse.getData().getCode()) ||
// ObjectUtils.notEqual(ResponseResultEnum.SUCCESS.getCode(),codePayResponseBaseResponse.getData().getData().getResultCode())
// ){
// baseResponse.setCode(codePayResponseBaseResponse.getCode());
// baseResponse.setMessage(codePayResponseBaseResponse.getMessage());
// return baseResponse;
// }
// request.setFmId(codePayResponseBaseResponse.getData().getData().getFmId());
// return baseResponse;
// }
//
// @Override
// OrderSettlementReq getOrderSettlement(DiscountRequest request) {
// OrderInfoReqs orderInfoReqs = request.getOrderInfoReqs();
// return buildOrderSettlement("SVV支付", OrderSettlementType.SVC, true, orderInfoReqs, request);
// }
//
// @Override
// public Integer getEvent() {
// return PayChannelEnum.SVC.getCode();
// }
private final PaymentNewService paymentNewService;
protected SvcEventProcessor(OrderSdkService orderSdkService, PaymentService paymentService,
PaymentNewService paymentNewService) {
super(orderSdkService, paymentService);
this.paymentNewService = paymentNewService;
}
@Override
BaseResponse doProcess(DiscountRequest request)
{
BaseResponse baseResponse =new BaseResponse();
baseResponse.setCode(ResponseResultEnum.SUCCESS.getCode());
OrderInfoReqs orderInfoReqs = request.getOrderInfoReqs();
CodePayRequest codePayRequest =new CodePayRequest();
codePayRequest.setCode(request.getCode());
codePayRequest.setAmount(request.getPayAmount());
codePayRequest.setStoreId(orderInfoReqs.getStoreId());
codePayRequest.setFrontTransId(orderInfoReqs.getOrderCode());
codePayRequest.setProducts(convertPayProduct(request.getOrderItemList()));
codePayRequest.setBody(orderInfoReqs.getStoreName());
codePayRequest.setBusinessDate(DateUtil.convert2String(new Date(), DateUtil.FORMAT_YYYY_MM_DD_HHMMSS));
codePayRequest.setStationId("1");
codePayRequest.setOperatorId("1");
codePayRequest.setVer("2");
//codePayRequest.setCode("10102");
codePayRequest.setPartnerId(orderInfoReqs.getPartnerId());
codePayRequest.setTransId(orderInfoReqs.getOrderCode());
final com.freemud.application.sdk.api.base.BaseResponse<CodePayResponse> codePayResponseBaseResponse = paymentNewService.codePay(codePayRequest, LogThreadLocal.getTrackingNo());
log.info("SVC.paymentFeignClient.codePay,request:{},response:{}", JSON.toJSONString(codePayRequest),JSON.toJSONString(codePayResponseBaseResponse));
if(ObjectUtils.notEqual(ResponseResultEnum.SUCCESS.getCode(),codePayResponseBaseResponse.getCode()) ||
ObjectUtils.notEqual(ResponseResultEnum.SUCCESS.getCode(),codePayResponseBaseResponse.getData().getCode()) ||
ObjectUtils.notEqual(ResponseResultEnum.SUCCESS.getCode(),codePayResponseBaseResponse.getData().getData().getResultCode())
){
baseResponse.setCode(codePayResponseBaseResponse.getCode());
baseResponse.setMessage(codePayResponseBaseResponse.getMessage());
return baseResponse;
}
request.setFmId(codePayResponseBaseResponse.getData().getData().getFmId());
return baseResponse;
}
@Override
OrderSettlementReq getOrderSettlement(DiscountRequest request) {
OrderInfoReqs orderInfoReqs = request.getOrderInfoReqs();
return buildOrderSettlement("SVV支付", OrderSettlementType.SVC, true, orderInfoReqs, request);
}
@Override
public Integer getEvent() {
return PayChannelEnum.SVC.getCode();
}
}
......@@ -25,55 +25,55 @@ import java.util.Date;
@Slf4j
public class WeChatEventProcessor extends AbstractProcessor{
// private final PaymentNewService paymentNewService;
// protected WeChatEventProcessor(OrderSdkService orderSdkService, PaymentService paymentService,
// PaymentNewService paymentNewService) {
// //super(orderSdkService, paymentService);
// this.paymentNewService = paymentNewService;
// }
//
// @Override
// BaseResponse doProcess(DiscountRequest request) {
// BaseResponse baseResponse =new BaseResponse();
// baseResponse.setCode(ResponseResultEnum.SUCCESS.getCode());
// OrderInfoReqs orderInfoReqs = request.getOrderInfoReqs();
// com.freemud.application.sdk.api.paymentcenter.client.request.CodePayRequest codePayRequest =new CodePayRequest();
// codePayRequest.setCode(request.getCode());
// codePayRequest.setAmount(request.getPayAmount());
// codePayRequest.setStoreId(orderInfoReqs.getStoreId());
// codePayRequest.setFrontTransId(orderInfoReqs.getOrderCode());
// codePayRequest.setProducts(convertPayProduct(request.getOrderItemList()));
// codePayRequest.setBody(orderInfoReqs.getStoreName());
// codePayRequest.setBusinessDate(DateUtil.convert2String(new Date(), DateUtil.FORMAT_YYYY_MM_DD_HHMMSS));
// codePayRequest.setStationId("1");
// codePayRequest.setOperatorId("1");
// codePayRequest.setVer("2");
// //codePayRequest.setClientCode(100037L);
// codePayRequest.setPartnerId(orderInfoReqs.getPartnerId());
// codePayRequest.setTransId(orderInfoReqs.getOrderCode());
//
// final com.freemud.application.sdk.api.base.BaseResponse<CodePayResponse> codePayResponseBaseResponse = paymentNewService.codePay(codePayRequest, LogThreadLocal.getTrackingNo());
// log.info("wechat.paymentFeignClient.codePay,request:{},response:{}", JSON.toJSONString(codePayRequest),JSON.toJSONString(codePayResponseBaseResponse));
// if(ObjectUtils.notEqual(ResponseResultEnum.SUCCESS.getCode(),codePayResponseBaseResponse.getCode()) ||
// ObjectUtils.notEqual(ResponseResultEnum.SUCCESS.getCode(),codePayResponseBaseResponse.getData().getCode()) ||
// ObjectUtils.notEqual(ResponseResultEnum.SUCCESS.getCode(),codePayResponseBaseResponse.getData().getData().getResultCode())
// ){
// baseResponse.setCode(codePayResponseBaseResponse.getCode());
// baseResponse.setMessage(codePayResponseBaseResponse.getMessage());
// return baseResponse;
// }
// request.setFmId(codePayResponseBaseResponse.getData().getData().getFmId());
// return baseResponse;
// }
//
// @Override
// OrderSettlementReq getOrderSettlement(DiscountRequest request) {
// OrderInfoReqs orderInfoReqs = request.getOrderInfoReqs();
// return buildOrderSettlement("微信支付", OrderSettlementType.WEIXIN, true, orderInfoReqs, request);
//
// }
// @Override
// public Integer getEvent() {
// return PayChannelEnum.WECHAT.getCode();
// }
private final PaymentNewService paymentNewService;
protected WeChatEventProcessor(OrderSdkService orderSdkService, PaymentService paymentService,
PaymentNewService paymentNewService) {
super(orderSdkService, paymentService);
this.paymentNewService = paymentNewService;
}
@Override
BaseResponse doProcess(DiscountRequest request) {
BaseResponse baseResponse =new BaseResponse();
baseResponse.setCode(ResponseResultEnum.SUCCESS.getCode());
OrderInfoReqs orderInfoReqs = request.getOrderInfoReqs();
com.freemud.application.sdk.api.paymentcenter.client.request.CodePayRequest codePayRequest =new CodePayRequest();
codePayRequest.setCode(request.getCode());
codePayRequest.setAmount(request.getPayAmount());
codePayRequest.setStoreId(orderInfoReqs.getStoreId());
codePayRequest.setFrontTransId(orderInfoReqs.getOrderCode());
codePayRequest.setProducts(convertPayProduct(request.getOrderItemList()));
codePayRequest.setBody(orderInfoReqs.getStoreName());
codePayRequest.setBusinessDate(DateUtil.convert2String(new Date(), DateUtil.FORMAT_YYYY_MM_DD_HHMMSS));
codePayRequest.setStationId("1");
codePayRequest.setOperatorId("1");
codePayRequest.setVer("2");
//codePayRequest.setClientCode(100037L);
codePayRequest.setPartnerId(orderInfoReqs.getPartnerId());
codePayRequest.setTransId(orderInfoReqs.getOrderCode());
final com.freemud.application.sdk.api.base.BaseResponse<CodePayResponse> codePayResponseBaseResponse = paymentNewService.codePay(codePayRequest, LogThreadLocal.getTrackingNo());
log.info("wechat.paymentFeignClient.codePay,request:{},response:{}", JSON.toJSONString(codePayRequest),JSON.toJSONString(codePayResponseBaseResponse));
if(ObjectUtils.notEqual(ResponseResultEnum.SUCCESS.getCode(),codePayResponseBaseResponse.getCode()) ||
ObjectUtils.notEqual(ResponseResultEnum.SUCCESS.getCode(),codePayResponseBaseResponse.getData().getCode()) ||
ObjectUtils.notEqual(ResponseResultEnum.SUCCESS.getCode(),codePayResponseBaseResponse.getData().getData().getResultCode())
){
baseResponse.setCode(codePayResponseBaseResponse.getCode());
baseResponse.setMessage(codePayResponseBaseResponse.getMessage());
return baseResponse;
}
request.setFmId(codePayResponseBaseResponse.getData().getData().getFmId());
return baseResponse;
}
@Override
OrderSettlementReq getOrderSettlement(DiscountRequest request) {
OrderInfoReqs orderInfoReqs = request.getOrderInfoReqs();
return buildOrderSettlement("微信支付", OrderSettlementType.WEIXIN, true, orderInfoReqs, request);
}
@Override
public Integer getEvent() {
return PayChannelEnum.WECHAT.getCode();
}
}
......@@ -203,19 +203,19 @@ public class OrderAdapterServiceImpl implements OrderAdapterService {
if (!PayStatus.NOT_PAY.getCode().equals(orderBean.getPayStatus())){
return orderAdapter.sendPaySuccessNoticeMessage();
}
/**
/*
* 围餐处理
*/
if ("meals".equals(orderBean.getSource())) {
return orderCommonService.paySuccessCallback(message, confirmOrderDto, orderBeans);
}
/**
/*
* 微商城处理
*/
if(OrderSourceType.SAASMALL.getCode().equals(orderBean.getSource())) {
return mallOrderService.paySuccessCallback(message, confirmOrderDto, orderBeans);
}
/**
/*
* app订单处理
*/
if(OrderSourceType.APP.getCode().equals(orderBean.getSource())) {
......@@ -229,7 +229,7 @@ public class OrderAdapterServiceImpl implements OrderAdapterService {
if(mcCafePartnerId.equals(orderBean.getOid())) {
return mcCafeOrderService.paySuccessCallback(message, confirmOrderDto, orderBeans);
}
/**
/*
* 默认点餐处理
*/
return orderService.paySuccessCallback(message, confirmOrderDto, orderBeans);
......
......@@ -402,6 +402,13 @@ public class OrderServiceImpl implements Orderservice {
}
//若该订单使用了优惠券,则移除卡包,移除失败也不退款,现在支付成功个调用核销,无需调用此功能
// couponActivityService.callbackNotify(orderBean);
// 核销券码成功才能支付成功
BaseResponse baseResponse = verificationCoupon(message.getTrans_id());
if (!Objects.equals(ResponseResult.SUCCESS.getCode(), baseResponse.getCode())) {
// 核销失败
log.error("核销券码失败transId:{},message:{}", message.getTrans_id(), baseResponse.getMessage());
return newSendPayFaileMessage();
}
// 订单失败后 发消息重试 待实现
String takeCode;
String daySeq;
......@@ -567,26 +574,18 @@ public class OrderServiceImpl implements Orderservice {
message.setPlatformMchId(newMessage.getPlatformMchId());
message.setTerminalId(newMessage.getAppId());
message.setRuleId(newMessage.getRuleId());
String res = orderAdapterService.paySuccessCallback(message);
JSONObject jsonObject = JSONObject.parseObject(res);
if (jsonObject.containsKey("code")) {
Integer code = (Integer) jsonObject.get("code");
if (Objects.equals(ResponseCodeConstant.RESPONSE_SUCCESS_0, code) || Objects.equals(ResponseCodeConstant.RESPONSE_SUCCESS, code)) {
log.info("调用券码核销=="+newMessage.getTransId());
verificationCoupon(newMessage.getTransId());
log.info("调用券码结束=="+newMessage.getTransId());
return newSendPaySuccessNoticeMessage();
} else {
return newSendPayFaileMessage();
}
}
return newSendPayFaileMessage();
return orderAdapterService.paySuccessCallback(message);
}
private String verificationCoupon(String transId){
private BaseResponse verificationCoupon(String transId){
String orderId = redisCache.getValue(RedisUtil.getPaymentTransIdOrderKey(transId));
if (StringUtils.isNotBlank(orderId)) {
log.info("从缓存中获取的订单数据,trackingNo:{},transId:{},orderId:{}", LogTreadLocal.getTrackingNo(),transId, orderId);
transId=orderId;
}
QueryRelationOrderByIdResponseDto queryOrderByIdResponseDto = getQueryRelationOrderByIdResponseDto(transId);
if (queryOrderByIdResponseDto.getData() == null || !Objects.equals(ResponseCodeConstant.RESPONSE_SUCCESS, queryOrderByIdResponseDto.getErrcode())) {
return refundFaileMessage("order query fail" + queryOrderByIdResponseDto);
return ResponseUtil.error(String.valueOf(queryOrderByIdResponseDto.getErrcode()), queryOrderByIdResponseDto.getErrmsg());
}
OrderBean orderBean = new OrderBean();
if (1 == queryOrderByIdResponseDto.getData().size()) {
......@@ -598,8 +597,7 @@ public class OrderServiceImpl implements Orderservice {
}
}
//核销券
BaseResponse baseResponse = couponActivityService.verificationCoupon(orderBean,CouponReqType.WRITEOFF);
return "核销券码返回结果" + baseResponse.getCode() + "," + baseResponse.getMessage();
return couponActivityService.verificationCoupon(orderBean,CouponReqType.WRITEOFF);
}
@Override
......
......@@ -90,6 +90,11 @@ public class CartGoods {
* 购物车一行商品的数量
*/
private Integer qty;
/**
* 参与活动商品数量 前端展示参数
*/
private Integer activityNumber;
/**
* 购物车一行商品的名称
*/
......
......@@ -70,6 +70,7 @@ public class TimeSaleCalculation {
if(discounts.contains(ActivityTypeEnum.TYPE_2.getCode()) || discounts.contains(ActivityTypeEnum.TYPE_21.getCode())){
cartGoods.setActivityType(ActivityTypeEnum.TYPE_2.getCode());
}
cartGoods.setActivityNumber(goodsDiscount.getActualGoodsNumber());
// 享受限时特价折扣的商品数量
Integer specialActualGoodsNumber = null;
// 商品现价
......
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