|
@ -14,11 +14,13 @@ import com.alipay.api.request.AlipayTradeRefundRequest; |
|
|
import com.alipay.api.response.AlipayTradePrecreateResponse; |
|
|
import com.alipay.api.response.AlipayTradePrecreateResponse; |
|
|
import com.alipay.api.response.AlipayTradeRefundResponse; |
|
|
import com.alipay.api.response.AlipayTradeRefundResponse; |
|
|
import com.shop.cereshop.business.pay.alipay.service.AliPayService; |
|
|
import com.shop.cereshop.business.pay.alipay.service.AliPayService; |
|
|
|
|
|
import com.shop.cereshop.business.pay.balipay.CereBusinessAlipayService; |
|
|
import com.shop.cereshop.commons.config.AlipayConfig; |
|
|
import com.shop.cereshop.commons.config.AlipayConfig; |
|
|
import com.shop.cereshop.commons.constant.CoReturnFormat; |
|
|
import com.shop.cereshop.commons.constant.CoReturnFormat; |
|
|
import com.shop.cereshop.commons.constant.IntegerEnum; |
|
|
import com.shop.cereshop.commons.constant.IntegerEnum; |
|
|
import com.shop.cereshop.commons.constant.StringEnum; |
|
|
import com.shop.cereshop.commons.constant.StringEnum; |
|
|
import com.shop.cereshop.commons.constant.WxPayEnum; |
|
|
import com.shop.cereshop.commons.constant.WxPayEnum; |
|
|
|
|
|
import com.shop.cereshop.commons.domain.balipay.CereBusinessAlipay; |
|
|
import com.shop.cereshop.commons.domain.order.CereOrderReconciliation; |
|
|
import com.shop.cereshop.commons.domain.order.CereOrderReconciliation; |
|
|
import com.shop.cereshop.commons.domain.order.CereShopOrder; |
|
|
import com.shop.cereshop.commons.domain.order.CereShopOrder; |
|
|
import com.shop.cereshop.commons.domain.pay.CerePayLog; |
|
|
import com.shop.cereshop.commons.domain.pay.CerePayLog; |
|
@ -26,6 +28,7 @@ import com.shop.cereshop.commons.exception.CoBusinessException; |
|
|
import com.shop.cereshop.commons.utils.RandomStringUtil; |
|
|
import com.shop.cereshop.commons.utils.RandomStringUtil; |
|
|
import com.shop.cereshop.commons.utils.TimeUtils; |
|
|
import com.shop.cereshop.commons.utils.TimeUtils; |
|
|
import lombok.extern.slf4j.Slf4j; |
|
|
import lombok.extern.slf4j.Slf4j; |
|
|
|
|
|
import org.springframework.beans.factory.annotation.Autowired; |
|
|
import org.springframework.stereotype.Service; |
|
|
import org.springframework.stereotype.Service; |
|
|
|
|
|
|
|
|
import java.math.BigDecimal; |
|
|
import java.math.BigDecimal; |
|
@ -36,13 +39,17 @@ import java.util.Map; |
|
|
@Slf4j(topic = "AliPayServiceImpl") |
|
|
@Slf4j(topic = "AliPayServiceImpl") |
|
|
public class AliPayServiceImpl implements AliPayService { |
|
|
public class AliPayServiceImpl implements AliPayService { |
|
|
|
|
|
|
|
|
|
|
|
@Autowired |
|
|
|
|
|
private CereBusinessAlipayService businessAlipayService; |
|
|
|
|
|
|
|
|
@Override |
|
|
@Override |
|
|
public Map<String, String> refund(String project, String orderFormId, String outTradeNo, String transactionId, String outRefundNo, BigDecimal total, BigDecimal refund, Long afterId) throws CoBusinessException, Exception { |
|
|
public Map<String, String> refund(String project, String orderFormId, String outTradeNo, String transactionId, String outRefundNo, BigDecimal total, BigDecimal refund, Long afterId) throws CoBusinessException, Exception { |
|
|
|
|
|
CereBusinessAlipay businessAlipay = businessAlipayService.getByBusinessId(Long.valueOf(project)); |
|
|
Map<String, String> result = new HashMap<>(); |
|
|
Map<String, String> result = new HashMap<>(); |
|
|
|
|
|
|
|
|
AlipayClient client = new DefaultAlipayClient(AlipayConfig.URL, AlipayConfig.APPID, AlipayConfig.RSA_PRIVATE_KEY, AlipayConfig.FORMAT, AlipayConfig.CHARSET, AlipayConfig.ALIPAY_PUBLIC_KEY, AlipayConfig.SIGNTYPE); |
|
|
|
|
|
|
|
|
AlipayClient client = new DefaultAlipayClient(AlipayConfig.URL, businessAlipay.getAppId(), businessAlipay.getPrivateKey(), AlipayConfig.FORMAT, AlipayConfig.CHARSET, businessAlipay.getPublicKey(), AlipayConfig.SIGNTYPE); |
|
|
AlipayTradeRefundRequest request = new AlipayTradeRefundRequest(); |
|
|
AlipayTradeRefundRequest request = new AlipayTradeRefundRequest(); |
|
|
request.setNotifyUrl(AlipayConfig.REFUND_NOTIFY_URL); |
|
|
|
|
|
|
|
|
request.setNotifyUrl(AlipayConfig.REFUND_NOTIFY_URL + "/" + project ); |
|
|
AlipayTradeRefundApplyModel model = new AlipayTradeRefundApplyModel(); |
|
|
AlipayTradeRefundApplyModel model = new AlipayTradeRefundApplyModel(); |
|
|
model.setOutTradeNo(outTradeNo); |
|
|
model.setOutTradeNo(outTradeNo); |
|
|
if (!total.equals(refund)) { |
|
|
if (!total.equals(refund)) { |
|
@ -67,9 +74,11 @@ public class AliPayServiceImpl implements AliPayService { |
|
|
|
|
|
|
|
|
@Override |
|
|
@Override |
|
|
public String getCollectionCode(Long businessId, String orderFormid, BigDecimal money, String ip, String tradeType) throws CoBusinessException, Exception { |
|
|
public String getCollectionCode(Long businessId, String orderFormid, BigDecimal money, String ip, String tradeType) throws CoBusinessException, Exception { |
|
|
AlipayClient client = new DefaultAlipayClient(AlipayConfig.URL, AlipayConfig.APPID, AlipayConfig.RSA_PRIVATE_KEY, AlipayConfig.FORMAT, AlipayConfig.CHARSET, AlipayConfig.ALIPAY_PUBLIC_KEY, AlipayConfig.SIGNTYPE); |
|
|
|
|
|
|
|
|
CereBusinessAlipay businessAlipay = businessAlipayService.getByBusinessId(businessId); |
|
|
|
|
|
|
|
|
|
|
|
AlipayClient client = new DefaultAlipayClient(AlipayConfig.URL, businessAlipay.getAppId(), businessAlipay.getPrivateKey(), AlipayConfig.FORMAT, AlipayConfig.CHARSET, businessAlipay.getPublicKey(), AlipayConfig.SIGNTYPE); |
|
|
AlipayTradePrecreateRequest request = new AlipayTradePrecreateRequest(); |
|
|
AlipayTradePrecreateRequest request = new AlipayTradePrecreateRequest(); |
|
|
request.setNotifyUrl(AlipayConfig.BOND_NOTIFY_URL); |
|
|
|
|
|
|
|
|
request.setNotifyUrl(AlipayConfig.BOND_NOTIFY_URL + "/" + businessId); |
|
|
AlipayTradePrecreateModel model = new AlipayTradePrecreateModel(); |
|
|
AlipayTradePrecreateModel model = new AlipayTradePrecreateModel(); |
|
|
//生成一个新的订单支付编号 |
|
|
//生成一个新的订单支付编号 |
|
|
String outTradeNo=orderFormid+"-"+ RandomStringUtil.getRandomCode(3,0); |
|
|
String outTradeNo=orderFormid+"-"+ RandomStringUtil.getRandomCode(3,0); |
|
@ -90,10 +99,11 @@ public class AliPayServiceImpl implements AliPayService { |
|
|
@Override |
|
|
@Override |
|
|
public Map<String, String> orderRefund(String project, String orderFormId, String outTradeNo, String transactionId, String outRefundNo, BigDecimal total, BigDecimal refund) throws CoBusinessException, Exception { |
|
|
public Map<String, String> orderRefund(String project, String orderFormId, String outTradeNo, String transactionId, String outRefundNo, BigDecimal total, BigDecimal refund) throws CoBusinessException, Exception { |
|
|
Map<String, String> result = new HashMap<>(); |
|
|
Map<String, String> result = new HashMap<>(); |
|
|
|
|
|
CereBusinessAlipay businessAlipay = businessAlipayService.getByBusinessId(Long.valueOf(project)); |
|
|
|
|
|
|
|
|
AlipayClient client = new DefaultAlipayClient(AlipayConfig.URL, AlipayConfig.APPID, AlipayConfig.RSA_PRIVATE_KEY, AlipayConfig.FORMAT, AlipayConfig.CHARSET, AlipayConfig.ALIPAY_PUBLIC_KEY, AlipayConfig.SIGNTYPE); |
|
|
|
|
|
|
|
|
AlipayClient client = new DefaultAlipayClient(AlipayConfig.URL, businessAlipay.getAppId(), businessAlipay.getPrivateKey(), AlipayConfig.FORMAT, AlipayConfig.CHARSET, businessAlipay.getPublicKey(), AlipayConfig.SIGNTYPE); |
|
|
AlipayTradeRefundRequest request = new AlipayTradeRefundRequest(); |
|
|
AlipayTradeRefundRequest request = new AlipayTradeRefundRequest(); |
|
|
request.setNotifyUrl(AlipayConfig.REFUND_NOTIFY_URL); |
|
|
|
|
|
|
|
|
request.setNotifyUrl(AlipayConfig.REFUND_NOTIFY_URL + "/" + project); |
|
|
AlipayTradeRefundApplyModel model = new AlipayTradeRefundApplyModel(); |
|
|
AlipayTradeRefundApplyModel model = new AlipayTradeRefundApplyModel(); |
|
|
model.setTradeNo(transactionId); |
|
|
model.setTradeNo(transactionId); |
|
|
model.setRefundAmount(refund.toString()); |
|
|
model.setRefundAmount(refund.toString()); |
|
|