Compare commits

..

No commits in common. "321584d5b1b460ba39cc48f0ac443d145369e445" and "4b518e023c191b262c15a0f4cf5302512454b099" have entirely different histories.

3 changed files with 36 additions and 32 deletions

View File

@ -1,14 +1,25 @@
package org.dromara.app; package org.dromara.app;
import com.wzj.soopin.transaction.business.IChargeBusiness; import com.wzj.soopin.transaction.business.IChargeBusiness;
import com.wzj.soopin.transaction.convert.ChargeConvert;
import com.wzj.soopin.transaction.domain.bo.ChargeBO; import com.wzj.soopin.transaction.domain.bo.ChargeBO;
import com.wzj.soopin.transaction.domain.bo.PaymentBO;
import com.wzj.soopin.transaction.domain.po.Charge;
import com.wzj.soopin.transaction.domain.po.PayOrder;
import com.wzj.soopin.transaction.enums.PaymentClientEnum; import com.wzj.soopin.transaction.enums.PaymentClientEnum;
import com.wzj.soopin.transaction.enums.PaymentMethodEnum; import com.wzj.soopin.transaction.enums.PaymentMethodEnum;
import com.wzj.soopin.transaction.enums.TransState;
import com.wzj.soopin.transaction.enums.easypay.PayType;
import com.wzj.soopin.transaction.kit.CashierSupport; import com.wzj.soopin.transaction.kit.CashierSupport;
import com.wzj.soopin.transaction.kit.dto.PayParam; import com.wzj.soopin.transaction.kit.dto.PayParam;
import com.wzj.soopin.transaction.kit.params.dto.CashierParam; import com.wzj.soopin.transaction.kit.params.dto.CashierParam;
import com.wzj.soopin.transaction.service.IChargeService;
import com.wzj.soopin.transaction.service.PayOrderService;
import com.wzj.soopin.transaction.util.SnowFlake;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiImplicitParam; import io.swagger.annotations.ApiImplicitParam;
import io.swagger.annotations.ApiImplicitParams; import io.swagger.annotations.ApiImplicitParams;
import io.swagger.annotations.ApiOperation;
import io.swagger.v3.oas.annotations.Operation; import io.swagger.v3.oas.annotations.Operation;
import io.swagger.v3.oas.annotations.tags.Tag; import io.swagger.v3.oas.annotations.tags.Tag;
import jakarta.servlet.http.HttpServletRequest; import jakarta.servlet.http.HttpServletRequest;
@ -23,6 +34,8 @@ import org.dromara.common.satoken.utils.LoginHelper;
import org.springframework.validation.annotation.Validated; import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*; import org.springframework.web.bind.annotation.*;
import java.util.Date;
/** /**
* 买家端,收银台接口 * 买家端,收银台接口

View File

@ -6,7 +6,6 @@ import com.wzj.soopin.transaction.enums.ClientTypeEnum;
import com.wzj.soopin.transaction.enums.PaymentClientEnum; import com.wzj.soopin.transaction.enums.PaymentClientEnum;
import com.wzj.soopin.transaction.enums.PaymentMethodEnum; import com.wzj.soopin.transaction.enums.PaymentMethodEnum;
import com.wzj.soopin.transaction.kit.dto.PayParam; import com.wzj.soopin.transaction.kit.dto.PayParam;
import com.wzj.soopin.transaction.kit.dto.PaymentSuccessParams;
import com.wzj.soopin.transaction.kit.params.CashierExecute; import com.wzj.soopin.transaction.kit.params.CashierExecute;
import com.wzj.soopin.transaction.kit.params.dto.CashierParam; import com.wzj.soopin.transaction.kit.params.dto.CashierParam;
import jakarta.servlet.http.HttpServletRequest; import jakarta.servlet.http.HttpServletRequest;
@ -198,12 +197,4 @@ public class CashierSupport {
} }
return false; return false;
} }
public boolean paymentSuccess(PaymentSuccessParams payParam) {
for (CashierExecute paramInterface : cashierExecuteList) {
paramInterface.paymentSuccess(payParam);
log.info("订单编号{}支付成功", payParam.getReceivableNo());
}
return true;
}
} }

View File

@ -274,7 +274,7 @@ public class WechatPlugin implements Payment {
.setOut_trade_no(outOrderNo) .setOut_trade_no(outOrderNo)
.setTime_expire(timeExpire) .setTime_expire(timeExpire)
.setAttach(attach) .setAttach(attach)
.setNotify_url("http://cjh.wuzhongjie.com.cn/app/wechat/notify/"+PaymentMethodEnum.WECHAT) .setNotify_url("http://cjh.wuzhongjie.com.cn/app/wechat/notify")
.setAmount(new Amount().setTotal(fen)); .setAmount(new Amount().setTotal(fen));
@ -493,30 +493,30 @@ public class WechatPlugin implements Payment {
log.info("微信支付通知密文 {}", result); log.info("微信支付通知密文 {}", result);
//校验服务器端响应¬7 //校验服务器端响应¬7
String plainText = WxPayKit.verifyNotify(serialNo, result, signature, nonce, timestamp, // String plainText = WxPayKit.verifyNotify(serialNo, result, signature, nonce, timestamp,
setting.getApiV3Key(), Objects.requireNonNull(getPlatformCert())); // setting.getApiKey3(), Objects.requireNonNull(getPlatformCert()));
//
log.info("微信支付通知明文 {}", plainText); // log.info("微信支付通知明文 {}", plainText);
//
JSONObject jsonObject = JSONUtil.parseObj(plainText); // JSONObject jsonObject = JSONUtil.parseObj(plainText);
//
String payParamStr = jsonObject.getStr("attach"); // String payParamStr = jsonObject.getStr("attach");
String payParamJson = URLDecoder.decode(payParamStr, StandardCharsets.UTF_8); // String payParamJson = URLDecoder.decode(payParamStr, StandardCharsets.UTF_8);
PayParam payParam = JSONUtil.toBean(payParamJson, PayParam.class); // PayParam payParam = JSONUtil.toBean(payParamJson, PayParam.class);
String tradeNo = jsonObject.getStr("transaction_id"); // String tradeNo = jsonObject.getStr("transaction_id");
Double totalAmount = CurrencyUtil.reversalFen(jsonObject.getJSONObject("amount").getDouble("total")); // Double totalAmount = CurrencyUtil.reversalFen(jsonObject.getJSONObject("amount").getDouble("total"));
//
PaymentSuccessParams paymentSuccessParams = new PaymentSuccessParams( // PaymentSuccessParams paymentSuccessParams = new PaymentSuccessParams(
PaymentMethodEnum.WECHAT.name(), // PaymentMethodEnum.WECHAT.name(),
tradeNo, // tradeNo,
totalAmount, // totalAmount,
payParam // payParam
); // );
//
cashierSupport.paymentSuccess(paymentSuccessParams); // paymentService.success(paymentSuccessParams);
log.info("微信支付回调:支付成功{}", plainText); // log.info("微信支付回调:支付成功{}", plainText);
} }
@Override @Override