Explorar o código

2023年2月8日21:41:14

纪新园 %!s(int64=2) %!d(string=hai) anos
pai
achega
85a3969e57

+ 31 - 0
blade-service-api/blade-payment-api/src/main/java/org/springblade/pay/tonglianPayment/dto/PaymentDTO.java

@@ -0,0 +1,31 @@
+package org.springblade.pay.tonglianPayment.dto;
+
+import lombok.Data;
+
+@Data
+public class PaymentDTO {
+
+
+	private long trxamt;
+	private String reqsn;
+	private String paytype;
+	private String body;
+	private String remark;
+	private String acct;
+	private String validtime;
+	private String notify_url;
+	private String limit_pay;
+	private String idno;
+	private String truename;
+	private String asinfo;
+	private String sub_appid;
+	private String goods_tag;
+	private String benefitdetail;
+	private String chnlstoreid;
+	private String subbranch;
+	private String extendparams;
+	private String cusip;
+	private String fqnum;
+
+
+}

+ 4 - 4
blade-service-api/blade-payment-api/src/main/java/org/springblade/pay/tonglianPayment/fegin/IPaymentClient.java

@@ -2,16 +2,17 @@ package org.springblade.pay.tonglianPayment.fegin;
 
 
 import org.springblade.core.tool.api.R;
+import org.springblade.pay.tonglianPayment.dto.PaymentDTO;
 import org.springframework.cloud.openfeign.FeignClient;
+import org.springframework.web.bind.annotation.GetMapping;
 import org.springframework.web.bind.annotation.PostMapping;
 import org.springframework.web.bind.annotation.RequestBody;
 import org.springblade.purchase.sales.entity.Order;
 
-import java.math.BigDecimal;
 import java.util.Map;
 
 @FeignClient(
-	value = "blade-payment"
+	value = "blade-pay"
 )
 public interface IPaymentClient {
 
@@ -23,8 +24,7 @@ public interface IPaymentClient {
 	R getWeChatPayment(@RequestBody Order order);
 
 	@PostMapping(PAY_PREPAY)
-	R<Map<Object, Object>> payPrepay(long trxamt, String reqsn, String paytype, String body, String remark, String acct, String validtime, String notify_url, String limit_pay,
-									 String idno, String truename, String asinfo, String sub_appid, String goods_tag, String benefitdetail, String chnlstoreid, String subbranch, String extendparams, String cusip, String fqnum);
+	R<Map<Object, Object>> payPrepay(@RequestBody PaymentDTO paymentDTO);
 
 
 }

+ 8 - 7
blade-service/blade-pay/src/main/java/org/springblade/pay/tonglianPayment/feign/PaymentClient.java

@@ -5,11 +5,13 @@ import com.alibaba.fastjson.JSON;
 import lombok.AllArgsConstructor;
 import org.springblade.core.tenant.annotation.NonDS;
 import org.springblade.core.tool.api.R;
+import org.springblade.pay.tonglianPayment.dto.PaymentDTO;
 import org.springblade.pay.tonglianPayment.fegin.IPaymentClient;
 import org.springblade.pay.tonglianPayment.service.IPaymentService;
 import org.springblade.pay.tonglianPayment.utils.AnalysisMapUtils;
 import org.springblade.pay.tonglianPayment.utils.SybPayService;
 import org.springblade.purchase.sales.entity.Order;
+import org.springframework.web.bind.annotation.RequestBody;
 import org.springframework.web.bind.annotation.RestController;
 import springfox.documentation.annotations.ApiIgnore;
 
@@ -29,18 +31,17 @@ public class PaymentClient implements IPaymentClient {
 	}
 
 	@Override
-	public R<Map<Object, Object>> payPrepay(long trxamt, String reqsn, String paytype, String body,
-											String remark, String acct, String validtime, String notify_url,
-											String limit_pay, String idno, String truename, String asinfo,
-											String sub_appid, String goods_tag, String benefitdetail, String chnlstoreid,
-											String subbranch, String extendparams, String cusip, String fqnum) {
+	public R<Map<Object, Object>> payPrepay(PaymentDTO paymentDTO) {
 		SybPayService service = new SybPayService();
 		//https://pay.weixin.qq.com/wiki/doc/api/wxa/wxa_api.php?chapter=7_7&index=3
 		Map<Object, Object> resultObj = new TreeMap();
 		//"https://test.allinpaygd.com/JWeb/NotifyServlet"
 		try {
-			Map<String, String> map = service.pay(trxamt, reqsn, paytype, body, remark, acct, validtime, notify_url,
-				limit_pay, idno, truename, asinfo, sub_appid, goods_tag, benefitdetail, chnlstoreid, subbranch, extendparams, cusip, fqnum);
+			Map<String, String> map = service.pay(paymentDTO.getTrxamt(), paymentDTO.getReqsn(), paymentDTO.getPaytype(),
+				paymentDTO.getBody(), paymentDTO.getRemark(), paymentDTO.getAcct(), paymentDTO.getValidtime(), paymentDTO.getNotify_url(),
+				paymentDTO.getLimit_pay(), paymentDTO.getIdno(), paymentDTO.getTruename(), paymentDTO.getAsinfo(),
+				paymentDTO.getSub_appid(), paymentDTO.getGoods_tag(), paymentDTO.getBenefitdetail(), paymentDTO.getChnlstoreid(),
+				paymentDTO.getSubbranch(), paymentDTO.getExtendparams(), paymentDTO.getCusip(), paymentDTO.getFqnum());
 			print(map);
 
 			Map<String, String> mapType = null;

+ 24 - 20
blade-service/blade-purchase-sales/src/main/java/org/springblade/purchase/sales/service/impl/OrderServiceImpl.java

@@ -51,6 +51,7 @@ import org.springblade.finance.vojo.Items;
 import org.springblade.finance.vojo.Settlement;
 import org.springblade.land.entity.LandOrder;
 import org.springblade.land.feign.ILandClient;
+import org.springblade.pay.tonglianPayment.dto.PaymentDTO;
 import org.springblade.pay.tonglianPayment.fegin.IPaymentClient;
 import org.springblade.purchase.sales.entity.*;
 import org.springblade.purchase.sales.enums.OrderStatusEnum;
@@ -4809,26 +4810,29 @@ public class OrderServiceImpl extends ServiceImpl<OrderMapper, Order> implements
 					body = body.substring(0, body.length() - 1);
 				}
 			}
-			R<Map<Object, Object>> res = paymentClient.payPrepay(orderInfo.getDebitAmount().multiply(new BigDecimal(100)).intValue(),
-				orderInfo.getSysNo(),
-				parameters.getPayType(),
-				body,
-				"",
-				r.getData().getOpenId(),
-				parameters.getValidtime(),
-				parameters.getNotifyUrl() + "/api/blade-purchase-sales/tongLianPayment/notify",
-				"",
-				"",
-				"",
-				"",
-				parameters.getSubAppid(),
-				"",
-				"",
-				"",
-				"",
-				"",
-				parameters.getCusIp(),
-				"");
+			PaymentDTO paymentDTO = new PaymentDTO();
+			paymentDTO.setTrxamt(orderInfo.getDebitAmount().multiply(new BigDecimal(100)).intValue());
+			paymentDTO.setReqsn(orderInfo.getSysNo());
+			paymentDTO.setPaytype(parameters.getPayType());
+			paymentDTO.setBody(body);
+			paymentDTO.setRemark("");
+			paymentDTO.setAcct(r.getData().getOpenId());
+			paymentDTO.setValidtime(parameters.getValidtime());
+			paymentDTO.setNotify_url(parameters.getNotifyUrl() + "/api/blade-purchase-sales/tongLianPayment/notify");
+			paymentDTO.setLimit_pay("");
+			paymentDTO.setIdno("");
+			paymentDTO.setTruename("");
+			paymentDTO.setAsinfo("");
+			paymentDTO.setSub_appid(parameters.getSubAppid());
+			paymentDTO.setGoods_tag("");
+			paymentDTO.setBenefitdetail("");
+			paymentDTO.setChnlstoreid("");
+			paymentDTO.setSubbranch("");
+			paymentDTO.setExtendparams("");
+			paymentDTO.setCusip(parameters.getCusIp());
+			paymentDTO.setFqnum("");
+
+			R<Map<Object, Object>> res = paymentClient.payPrepay(paymentDTO);
 
 			if (res.isSuccess() && ObjectUtils.isNotNull(res.getData())) {
 				String prepay_id = res.getData().get("prepay_id").toString();