Commit 272e4d50 by xiaoer.li@freemud.com

优化:混合支付 svc卡全额支付 直接核销优惠券

parent 5d6d1c9a
...@@ -68,4 +68,9 @@ public class PaysuccessNoticeMessage { ...@@ -68,4 +68,9 @@ public class PaysuccessNoticeMessage {
* 会员规则ID * 会员规则ID
*/ */
private String ruleId; private String ruleId;
/**
* 消息来源
*/
private Integer source;
} }
package cn.freemud.enums;
/**
* All rights Reserved, Designed By www.freemud.cn
*
* @Title: cn.freemud.service.thirdparty SvcClient
* @Description: TDO 描述....
* @author: 铁牌灵魂工程师
* @date: 2020/12/01
* @Copyright: www.freemud.cn Inc. All rights reserved.
* 注意:本内容仅限于上海非码科技内部传阅,禁止外泄以及用于其他的商业目
*/
public enum PaySuccessSource {
INSIDE(1,"内部直接调用"),
OUTSIDE(2,"外部回调");
private Integer source;
private String desc;
PaySuccessSource(Integer source,String desc) {
this.source = source;
this.desc = desc;
}
public Integer getSource() {
return source;
}
public String getDesc() {
return desc;
}
}
...@@ -528,9 +528,11 @@ public class OrderServiceImpl implements Orderservice { ...@@ -528,9 +528,11 @@ public class OrderServiceImpl implements Orderservice {
} }
//支付回掉成功标记 //支付回掉成功标记
redisCache.save(RedisKeyConstant.KGD_PAYMENT_CALLBACK_FMID + message.getOut_trade_no(), message.getOut_trade_no(), 10L, TimeUnit.MINUTES); redisCache.save(RedisKeyConstant.KGD_PAYMENT_CALLBACK_FMID + message.getOut_trade_no(), message.getOut_trade_no(), 10L, TimeUnit.MINUTES);
log.info("调用券码核销==" + message.getTrans_id()); if (message.getSource().equals(PaySuccessSource.OUTSIDE.getSource())) {
verificationCoupon(message.getTrans_id()); log.info("调用券码核销==" + message.getTrans_id());
log.info("调用券码结束=="+ message.getTrans_id()); verificationCoupon(message.getTrans_id());
log.info("调用券码结束=="+ message.getTrans_id());
}
return sendPaySuccessNoticeMessage(); return sendPaySuccessNoticeMessage();
} }
...@@ -602,6 +604,7 @@ public class OrderServiceImpl implements Orderservice { ...@@ -602,6 +604,7 @@ public class OrderServiceImpl implements Orderservice {
message.setPlatformMchId(newMessage.getPlatformMchId()); message.setPlatformMchId(newMessage.getPlatformMchId());
message.setTerminalId(newMessage.getAppId()); message.setTerminalId(newMessage.getAppId());
message.setRuleId(newMessage.getRuleId()); message.setRuleId(newMessage.getRuleId());
message.setSource(PaySuccessSource.OUTSIDE.getSource());
String res = orderAdapterService.paySuccessCallback(message); String res = orderAdapterService.paySuccessCallback(message);
JSONObject jsonObject = JSONObject.parseObject(res); JSONObject jsonObject = JSONObject.parseObject(res);
if (jsonObject.containsKey("code")) { if (jsonObject.containsKey("code")) {
...@@ -2300,6 +2303,10 @@ public class OrderServiceImpl implements Orderservice { ...@@ -2300,6 +2303,10 @@ public class OrderServiceImpl implements Orderservice {
return ResponseUtil.success(createOrderResponse); return ResponseUtil.success(createOrderResponse);
} else { } else {
//如果是商品券支付0元,调用回调接口 //如果是商品券支付0元,调用回调接口
/**
* - 老的svc卡或是0元订单下单成功直接核销 这里不处理
* - 混合支付纯svc支付 需要直接内部核销 其他支付方式需依靠外部回调
*/
PaysuccessNoticeMessage message = new PaysuccessNoticeMessage(); PaysuccessNoticeMessage message = new PaysuccessNoticeMessage();
message.setResult_code(100); message.setResult_code(100);
message.setOut_trade_no(createOrderResponse.getFmId()); message.setOut_trade_no(createOrderResponse.getFmId());
...@@ -2308,6 +2315,10 @@ public class OrderServiceImpl implements Orderservice { ...@@ -2308,6 +2315,10 @@ public class OrderServiceImpl implements Orderservice {
message.setOpenid(createPrepayRequestDto.getOpenId()); message.setOpenid(createPrepayRequestDto.getOpenId());
message.setPlatform_coupon(0); message.setPlatform_coupon(0);
message.setMerchant_coupon(0); message.setMerchant_coupon(0);
message.setSource(PaySuccessSource.INSIDE.getSource());
if (StringUtils.isNotBlank(orderPayResponse.getPayMode()) && PayChannelType.SVC.getEbcode().equals(orderPayResponse.getPayMode())) {
message.setSource(PaySuccessSource.OUTSIDE.getSource());
}
orderAdapterService.paySuccessCallback(message); orderAdapterService.paySuccessCallback(message);
return ResponseUtil.success(createOrderResponse); return ResponseUtil.success(createOrderResponse);
} }
......
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