|
|
@ -4,6 +4,7 @@ import au.com.royalpay.payment.core.PaymentApi;
|
|
|
|
import au.com.royalpay.payment.core.TransactionService;
|
|
|
|
import au.com.royalpay.payment.core.TransactionService;
|
|
|
|
import au.com.royalpay.payment.core.beans.PaymentQueryResult;
|
|
|
|
import au.com.royalpay.payment.core.beans.PaymentQueryResult;
|
|
|
|
import au.com.royalpay.payment.core.beans.PreOrderRequest;
|
|
|
|
import au.com.royalpay.payment.core.beans.PreOrderRequest;
|
|
|
|
|
|
|
|
import au.com.royalpay.payment.core.beans.TransactionBizSubType;
|
|
|
|
import au.com.royalpay.payment.core.beans.coupon.CouponInfo;
|
|
|
|
import au.com.royalpay.payment.core.beans.coupon.CouponInfo;
|
|
|
|
import au.com.royalpay.payment.core.events.PaymentFinishedEvent;
|
|
|
|
import au.com.royalpay.payment.core.events.PaymentFinishedEvent;
|
|
|
|
import au.com.royalpay.payment.core.events.RefundSendEvent;
|
|
|
|
import au.com.royalpay.payment.core.events.RefundSendEvent;
|
|
|
@ -66,6 +67,7 @@ public class CtripCouponProvideProcessor implements PaymentProcessor {
|
|
|
|
private PmtOrderMapper pmtOrderMapper;
|
|
|
|
private PmtOrderMapper pmtOrderMapper;
|
|
|
|
@Resource
|
|
|
|
@Resource
|
|
|
|
private TransactionService transactionService;
|
|
|
|
private TransactionService transactionService;
|
|
|
|
|
|
|
|
|
|
|
|
@Override
|
|
|
|
@Override
|
|
|
|
public String processorId() {
|
|
|
|
public String processorId() {
|
|
|
|
return COUPON_ID + "_USE";
|
|
|
|
return COUPON_ID + "_USE";
|
|
|
@ -102,11 +104,11 @@ public class CtripCouponProvideProcessor implements PaymentProcessor {
|
|
|
|
return;
|
|
|
|
return;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
JSONObject couponAccuessLog = new JSONObject();
|
|
|
|
JSONObject couponAccuessLog = new JSONObject();
|
|
|
|
couponAccuessLog.put("client_id",order.getIntValue("client_id"));
|
|
|
|
couponAccuessLog.put("client_id", order.getIntValue("client_id"));
|
|
|
|
couponAccuessLog.put("customer_openid","创建订单时无");
|
|
|
|
couponAccuessLog.put("customer_openid", "创建订单时无");
|
|
|
|
couponAccuessLog.put("creation_date",new Date());
|
|
|
|
couponAccuessLog.put("creation_date", new Date());
|
|
|
|
couponAccuessLog.put("order_id",order.getString("order_id"));
|
|
|
|
couponAccuessLog.put("order_id", order.getString("order_id"));
|
|
|
|
couponAccuessLog.put("coupon_id","CTRIP_"+tmpEle.getString("ctrip_coupon_id"));
|
|
|
|
couponAccuessLog.put("coupon_id", "CTRIP_" + tmpEle.getString("ctrip_coupon_id"));
|
|
|
|
BigDecimal currentDiscount = paymentInfo.getDiscount();
|
|
|
|
BigDecimal currentDiscount = paymentInfo.getDiscount();
|
|
|
|
//携程满减
|
|
|
|
//携程满减
|
|
|
|
if (StringUtils.equals(couponInfo.getString("type"), "31")) {
|
|
|
|
if (StringUtils.equals(couponInfo.getString("type"), "31")) {
|
|
|
@ -178,13 +180,13 @@ public class CtripCouponProvideProcessor implements PaymentProcessor {
|
|
|
|
useCoupontrans.put("clearing_status", 0);
|
|
|
|
useCoupontrans.put("clearing_status", 0);
|
|
|
|
useCoupontrans.put("system_generate", 1);
|
|
|
|
useCoupontrans.put("system_generate", 1);
|
|
|
|
useCoupontrans.put("remark", "Ctrip Coupon from Customer:" + couponLogId);
|
|
|
|
useCoupontrans.put("remark", "Ctrip Coupon from Customer:" + couponLogId);
|
|
|
|
accuessCouponLog = payCouponAccuessLogMapper.findAccuessLogByOrderId(orderId,new PageBounds(Order.formString("last_update_date.desc"))).get(0);
|
|
|
|
accuessCouponLog = payCouponAccuessLogMapper.findAccuessLogByOrderId(orderId, new PageBounds(Order.formString("last_update_date.desc"))).get(0);
|
|
|
|
if (accuessCouponLog != null) {
|
|
|
|
if (accuessCouponLog != null) {
|
|
|
|
transactionService.saveTransaction(useCoupontrans);
|
|
|
|
transactionService.saveTransaction(useCoupontrans, TransactionBizSubType.COUPON_PAY);
|
|
|
|
accuessCouponLog.put("is_valid", 1);
|
|
|
|
accuessCouponLog.put("is_valid", 1);
|
|
|
|
accuessCouponLog.put("last_update_date", new Date());
|
|
|
|
accuessCouponLog.put("last_update_date", new Date());
|
|
|
|
accuessCouponLog.put("transaction_id", useCoupontrans.getString("transaction_id"));
|
|
|
|
accuessCouponLog.put("transaction_id", useCoupontrans.getString("transaction_id"));
|
|
|
|
accuessCouponLog.put("customer_openid",order.getString("customer_id"));
|
|
|
|
accuessCouponLog.put("customer_openid", order.getString("customer_id"));
|
|
|
|
payCouponAccuessLogMapper.update(accuessCouponLog);
|
|
|
|
payCouponAccuessLogMapper.update(accuessCouponLog);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
@ -221,7 +223,7 @@ public class CtripCouponProvideProcessor implements PaymentProcessor {
|
|
|
|
trans.put("transaction_time", new Date());
|
|
|
|
trans.put("transaction_time", new Date());
|
|
|
|
trans.put("remark", "Refund for Customer Ctrip Coupon:" + coupon_id);
|
|
|
|
trans.put("remark", "Refund for Customer Ctrip Coupon:" + coupon_id);
|
|
|
|
logger.info("正在退款的券的信息" + trans.toJSONString());
|
|
|
|
logger.info("正在退款的券的信息" + trans.toJSONString());
|
|
|
|
transactionService.saveTransaction(trans);
|
|
|
|
transactionService.saveTransaction(trans, TransactionBizSubType.COUPON_REFUND);
|
|
|
|
logger.error("订单[" + orderId + "]发送全额退款,携程优惠券【" + coupon_id + "】转为Debit");
|
|
|
|
logger.error("订单[" + orderId + "]发送全额退款,携程优惠券【" + coupon_id + "】转为Debit");
|
|
|
|
accuessCouponLog.put("transaction_refund_id", trans.getString("transaction_id"));
|
|
|
|
accuessCouponLog.put("transaction_refund_id", trans.getString("transaction_id"));
|
|
|
|
accuessCouponLog.put("refund_id", refundOrder.getString("refund_id"));
|
|
|
|
accuessCouponLog.put("refund_id", refundOrder.getString("refund_id"));
|
|
|
@ -238,7 +240,7 @@ public class CtripCouponProvideProcessor implements PaymentProcessor {
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
// 使用券的信息
|
|
|
|
// 使用券的信息
|
|
|
|
private JSONObject getPreOrderCoupon(String couponLogId,int clientId) {
|
|
|
|
private JSONObject getPreOrderCoupon(String couponLogId, int clientId) {
|
|
|
|
JSONObject client = merchantInfoProvider.getClientInfo(clientId);
|
|
|
|
JSONObject client = merchantInfoProvider.getClientInfo(clientId);
|
|
|
|
String timestamp = System.currentTimeMillis() + "";
|
|
|
|
String timestamp = System.currentTimeMillis() + "";
|
|
|
|
String base = CUSTOMER_APP_ID + timestamp + CUSTOMER_AUTH_CODE;
|
|
|
|
String base = CUSTOMER_APP_ID + timestamp + CUSTOMER_AUTH_CODE;
|
|
|
|