Просмотр исходного кода

ats微信车主平台v3支付和查询接口完善

master
chenchaod 3 недель назад
Родитель
Сommit
27aecb294d

+ 3
- 9
gly-base-core/src/main/java/cn/com/taiji/core/model/comm/protocol/ats/weiXin/AtsCreatPayOrderV3Request.java Просмотреть файл

@@ -37,15 +37,12 @@ public class AtsCreatPayOrderV3Request extends AbstractAtsRequest<AtsCreatPayOrd
@NotNull
private TradeType tradeType;//交易方式

protected String appid;//应用ID
@NotBlank
protected String appid;//应用ID spAppid;服务商应用ID

protected String spAppid;//服务商应用ID
protected String spMchId;//服务商商户号
protected String subAppid;//子商户应用ID
protected String subMchId;//子商户商户号


@NotBlank
private String description;//商品描述
@NotBlank
@@ -87,7 +84,7 @@ public class AtsCreatPayOrderV3Request extends AbstractAtsRequest<AtsCreatPayOrd
private String type;//场景类型,示例值:iOS, Android, Wap

@NotBlank
protected String mchid;//直连商户号
protected String mchid;//直连商户号 spMchId服务商商户号
@NotBlank
private String apiV3Key; // API V3密钥
@NotBlank
@@ -99,15 +96,12 @@ public class AtsCreatPayOrderV3Request extends AbstractAtsRequest<AtsCreatPayOrd
public void validate(ErrorMsgBuilder builder) {

if (createType == 1){
builder.validFieldNotBlank("appid", appid);
// builder.validFieldNotBlank("mchid", mchid);
if (TradeType.JSAPI.equals(tradeType)) {
builder.validFieldNotBlank("openid", openid);
}
}
if (createType == 2){
builder.validFieldNotBlank("spAppid", spAppid);
builder.validFieldNotBlank("spMchId", spMchId);
builder.validFieldNotBlank("subMchId", subMchId);
if (TradeType.JSAPI.equals(tradeType)) {
builder.validField("notBlank", "spOpenid/subOpenid",

+ 0
- 23
gly-base-core/src/main/java/cn/com/taiji/core/model/comm/protocol/ats/weiXin/AtsCreatPayOrderV3Response.java Просмотреть файл

@@ -9,37 +9,15 @@ import lombok.Data;
* @Filename:AtsCreatPayOrder
* @description:
*/
//@Getter
//@Setter
@Data
public class AtsCreatPayOrderV3Response extends AbstractAtsResponse {

/** 外部订单号 */
private String externalOrderNo;
// // APP,JSAPI参数
// private String appId; //支付渠道应用ID
// private String partnerId;//商户号
// private String prepayId;//预支付交易会话ID
// private String wxPackage;//订单详情扩展字符串
// private String noncestr;//随机字符串
// private String timestamp;//时间戳
// private String sign;//签名
// //JSAPI参数
// private String signType;//签名方式
// // H5参数
// private String h5Url;
// private String form;// 支付宝响应表单
// // Native参数
// private String codeUrl;
// private String tranPackage;// 支付宝预下单请求生成的二维码码串

//JSAPI支付参数
private String signType;
private String paySign;
//app
// private String appid;
// private String noncestr;
// private String timestamp;
private String partnerId;//商户号
private String prepayId;//预支付交易会话ID
private String sign;
@@ -48,7 +26,6 @@ public class AtsCreatPayOrderV3Response extends AbstractAtsResponse {
private String timeStamp;
private String nonceStr;
private String packageValue;//订单详情扩展字符串

//h5参数
private String h5Url;
// Native参数

+ 1
- 3
gly-base-core/src/main/java/cn/com/taiji/core/model/comm/protocol/ats/weiXin/AtsQueryPayResultRequest.java Просмотреть файл

@@ -42,7 +42,7 @@ public class AtsQueryPayResultRequest extends AbstractAtsRequest<AtsQueryPayResu
private TradeType tradeType;//交易方式

@NotBlank
protected String mchid;//直连商户号
protected String mchid;//直连商户号 spMchid;服务商户号
@NotBlank
private String apiV3Key; // API V3密钥
@NotBlank
@@ -50,13 +50,11 @@ public class AtsQueryPayResultRequest extends AbstractAtsRequest<AtsQueryPayResu
@NotBlank
private String serialNo;// 商户证书序列号

private String spMchid;//服务商户号
private String subMchid;//子商户号
@Override
protected void validate(ErrorMsgBuilder builder) {

if (createType == 2){
builder.validFieldNotBlank("spMchid", spMchid);
builder.validFieldNotBlank("subMchid", subMchid);
}


+ 2
- 4
gly-base-core/src/main/java/cn/com/taiji/core/model/comm/protocol/ats/weiXin/AtsQueryPayResultResponse.java Просмотреть файл

@@ -23,9 +23,9 @@ public class AtsQueryPayResultResponse extends AbstractAtsResponse {
* + 服务商
*/

private String appid;//公众账号ID -是
private String appid;//公众账号ID - spAppid+

private String mchid;//商户号 -是
private String mchid;//商户号 - spMchid+

private String outTradeNo;//商户订单号 是

@@ -52,8 +52,6 @@ public class AtsQueryPayResultResponse extends AbstractAtsResponse {
private String currency;//货币类型 否

//==========================================服务商
private String spAppid;//服务商APPID +是
private String spMchid;//服务商商户号 +是
private String subAppid;//子商户APPID +否
private String subMchid;//子商户号 +是
private String spOpenid;// 用户服务商标识 +否

+ 22
- 14
zhywpt-service-ats/src/main/java/cn/com/taiji/ats/manager/comm/WxPartnerPayV3.java Просмотреть файл

@@ -78,8 +78,8 @@ public class WxPartnerPayV3 extends AbstractManager {
private AtsCreatPayOrderV3Response getPrepayNativeResponse(AtsCreatPayOrderV3Request req, RSAAutoCertificateConfig config) {
NativePayService nativeService = new NativePayService.Builder().config(config).build();
com.wechat.pay.java.service.partnerpayments.nativepay.model.PrepayRequest request = new com.wechat.pay.java.service.partnerpayments.nativepay.model.PrepayRequest();
request.setSpAppid(req.getSpAppid());
request.setSpMchid(req.getSpMchId());
request.setSpAppid(req.getAppid());
request.setSpMchid(req.getMchid());
request.setSubAppid(req.getSubAppid());
request.setSubMchid(req.getSubMchId());
request.setDescription(req.getDescription());
@@ -107,8 +107,8 @@ public class WxPartnerPayV3 extends AbstractManager {
private AtsCreatPayOrderV3Response getPrepayAppResponse(AtsCreatPayOrderV3Request req, RSAAutoCertificateConfig config) {
AppServiceExtension appService = new AppServiceExtension.Builder().config(config).build();
com.wechat.pay.java.service.partnerpayments.app.model.PrepayRequest request = new com.wechat.pay.java.service.partnerpayments.app.model.PrepayRequest();
request.setSpAppid(req.getSpAppid());
request.setSpMchid(req.getSpMchId());
request.setSpAppid(req.getAppid());
request.setSpMchid(req.getMchid());
request.setSubAppid(req.getSubAppid());
request.setSubMchid(req.getSubMchId());
request.setDescription(req.getDescription());
@@ -125,7 +125,7 @@ public class WxPartnerPayV3 extends AbstractManager {
sceneInfo.setPayerClientIp(req.getPayerClientIp());
request.setSceneInfo(sceneInfo);
}
com.wechat.pay.java.service.partnerpayments.app.model.PrepayWithRequestPaymentResponse prepay = appService.prepayWithRequestPayment(request, req.getSpAppid());
com.wechat.pay.java.service.partnerpayments.app.model.PrepayWithRequestPaymentResponse prepay = appService.prepayWithRequestPayment(request, req.getAppid());
AtsCreatPayOrderV3Response orderV3Response = new AtsCreatPayOrderV3Response();
orderV3Response.setAppId(prepay.getAppid());
orderV3Response.setPartnerId(prepay.getPartnerId());
@@ -142,8 +142,8 @@ public class WxPartnerPayV3 extends AbstractManager {
private AtsCreatPayOrderV3Response getPrepayJsapiResponse(AtsCreatPayOrderV3Request req, RSAAutoCertificateConfig config) {
JsapiServiceExtension jsapiService = new JsapiServiceExtension.Builder().config(config).build();
PrepayRequest request = new PrepayRequest();
request.setSpAppid(req.getSpAppid());
request.setSpMchid(req.getSpMchId());
request.setSpAppid(req.getAppid());
request.setSpMchid(req.getMchid());
request.setSubAppid(req.getSubAppid());
request.setSubMchid(req.getSubMchId());
request.setDescription(req.getDescription());
@@ -164,7 +164,7 @@ public class WxPartnerPayV3 extends AbstractManager {
}
request.setAttach(req.getAttach());
//请求
PrepayWithRequestPaymentResponse prepay = jsapiService.prepayWithRequestPayment(request, req.getSpAppid());
PrepayWithRequestPaymentResponse prepay = jsapiService.prepayWithRequestPayment(request, req.getAppid());
AtsCreatPayOrderV3Response orderV3Response = new AtsCreatPayOrderV3Response();
orderV3Response.setAppId(prepay.getAppId());
orderV3Response.setTimeStamp(prepay.getTimeStamp());
@@ -180,8 +180,8 @@ public class WxPartnerPayV3 extends AbstractManager {
private AtsCreatPayOrderV3Response getPrepayMwebResponse(AtsCreatPayOrderV3Request req, RSAAutoCertificateConfig config) {
H5Service h5Service = new H5Service.Builder().config(config).build();
com.wechat.pay.java.service.partnerpayments.h5.model.PrepayRequest request = new com.wechat.pay.java.service.partnerpayments.h5.model.PrepayRequest();
request.setSpAppid(req.getSpAppid());
request.setSpMchid(req.getSpMchId());
request.setSpAppid(req.getAppid());
request.setSpMchid(req.getMchid());
request.setSubAppid(req.getSubAppid());
request.setSubMchid(req.getSubMchId());
request.setDescription(req.getDescription());
@@ -211,10 +211,12 @@ public class WxPartnerPayV3 extends AbstractManager {
com.wechat.pay.java.service.partnerpayments.nativepay.NativePayService service = new com.wechat.pay.java.service.partnerpayments.nativepay.NativePayService.Builder().config(config).build();
com.wechat.pay.java.service.partnerpayments.nativepay.model.QueryOrderByOutTradeNoRequest request = new com.wechat.pay.java.service.partnerpayments.nativepay.model.QueryOrderByOutTradeNoRequest();
request.setOutTradeNo(req.getExternalOrderNo());
request.setSpMchid(req.getSpMchid());
request.setSpMchid(req.getMchid());
request.setSubMchid(req.getSubMchid());
com.wechat.pay.java.service.partnerpayments.nativepay.model.Transaction transaction = service.queryOrderByOutTradeNo(request);
AtsQueryPayResultResponse response = copyProperties(transaction, new AtsQueryPayResultResponse());
response.setAppid(transaction.getSpAppid());
response.setMchid(transaction.getSpMchid());
if (transaction.getPayer() != null) {
response.setSpOpenid(transaction.getPayer().getSpOpenid());
response.setSubOpenid(transaction.getPayer().getSubOpenid());
@@ -237,10 +239,12 @@ public class WxPartnerPayV3 extends AbstractManager {
com.wechat.pay.java.service.partnerpayments.app.model.QueryOrderByOutTradeNoRequest request =
new com.wechat.pay.java.service.partnerpayments.app.model.QueryOrderByOutTradeNoRequest();
request.setOutTradeNo(req.getExternalOrderNo());
request.setSpMchid(req.getSpMchid());
request.setSpMchid(req.getMchid());
request.setSubMchid(req.getSubMchid());
com.wechat.pay.java.service.partnerpayments.app.model.Transaction transaction = appService.queryOrderByOutTradeNo(request);
AtsQueryPayResultResponse response = copyProperties(transaction, new AtsQueryPayResultResponse());
response.setAppid(transaction.getSpAppid());
response.setMchid(transaction.getSpMchid());
if (transaction.getPayer() != null) {
response.setSpOpenid(transaction.getPayer().getSpOpenid());
response.setSubOpenid(transaction.getPayer().getSubOpenid());
@@ -263,10 +267,12 @@ public class WxPartnerPayV3 extends AbstractManager {
com.wechat.pay.java.service.partnerpayments.jsapi.model.QueryOrderByOutTradeNoRequest request =
new com.wechat.pay.java.service.partnerpayments.jsapi.model.QueryOrderByOutTradeNoRequest();
request.setOutTradeNo(req.getExternalOrderNo());
request.setSpMchid(req.getSpMchid());
request.setSpMchid(req.getMchid());
request.setSubMchid(req.getSubMchid());
com.wechat.pay.java.service.partnerpayments.jsapi.model.Transaction transaction = jsapiService.queryOrderByOutTradeNo(request);
AtsQueryPayResultResponse response = copyProperties(transaction, new AtsQueryPayResultResponse());
response.setAppid(transaction.getSpAppid());
response.setMchid(transaction.getSpMchid());
if (transaction.getPayer() != null) {
response.setSpOpenid(transaction.getPayer().getSpOpenid());
response.setSubOpenid(transaction.getPayer().getSubOpenid());
@@ -289,10 +295,12 @@ public class WxPartnerPayV3 extends AbstractManager {
com.wechat.pay.java.service.partnerpayments.h5.model.QueryOrderByOutTradeNoRequest request =
new com.wechat.pay.java.service.partnerpayments.h5.model.QueryOrderByOutTradeNoRequest();
request.setOutTradeNo(req.getExternalOrderNo());
request.setSpMchid(req.getSpMchid());
request.setSpMchid(req.getMchid());
request.setSubMchid(req.getSubMchid());
com.wechat.pay.java.service.partnerpayments.h5.model.Transaction transaction = h5Service.queryOrderByOutTradeNo(request);
AtsQueryPayResultResponse response = copyProperties(transaction, new AtsQueryPayResultResponse());
response.setAppid(transaction.getSpAppid());
response.setMchid(transaction.getSpMchid());
if (transaction.getPayer() != null) {
response.setSpOpenid(transaction.getPayer().getSpOpenid());
response.setSubOpenid(transaction.getPayer().getSubOpenid());

+ 1
- 5
zhywpt-service-ats/src/main/java/cn/com/taiji/ats/manager/handler/WinXinServiceHandler.java Просмотреть файл

@@ -1,10 +1,6 @@
package cn.com.taiji.ats.manager.handler;

import cn.com.taiji.ats.manager.weixin.CreatePayOrderV2Manager;
import cn.com.taiji.ats.manager.weixin.CreatePayOrderV3Manager;
import cn.com.taiji.ats.manager.weixin.QueryPayResultManager;
import cn.com.taiji.ats.manager.weixin.VehicleUserStateManager;
import cn.com.taiji.ats.manager.weixin.WxMpIsSubscribedManager;
import cn.com.taiji.ats.manager.weixin.*;
import cn.com.taiji.core.model.comm.protocol.AbstractSignTypeRequest;
import cn.com.taiji.core.model.comm.protocol.AbstractSignTypeResponse;
import cn.com.taiji.core.model.comm.protocol.SignJsonRequest;

+ 11
- 117
zhywpt-service-ats/src/main/java/cn/com/taiji/ats/manager/weixin/CreatePayOrderV3Manager.java Просмотреть файл

@@ -1,21 +1,14 @@
package cn.com.taiji.ats.manager.weixin;

import cn.com.taiji.ats.manager.comm.WxPartnerPayV3;
import cn.com.taiji.ats.manager.comm.WxPayV3;
import cn.com.taiji.common.manager.AbstractManager;
import cn.com.taiji.common.manager.net.http.ServiceHandleException;
import cn.com.taiji.core.model.comm.protocol.ats.weiXin.AtsCreatPayOrderV3Request;
import cn.com.taiji.core.model.comm.protocol.ats.weiXin.AtsCreatPayOrderV3Response;
import cn.com.taiji.core.model.comm.protocol.valid.GlyServiceError;
import com.github.binarywang.wxpay.bean.request.WxPayPartnerUnifiedOrderV3Request;
import com.github.binarywang.wxpay.bean.request.WxPayUnifiedOrderV3Request;
import com.github.binarywang.wxpay.bean.result.WxPayUnifiedOrderV3Result;
import com.github.binarywang.wxpay.bean.result.enums.TradeTypeEnum;
import com.github.binarywang.wxpay.config.WxPayConfig;
import com.github.binarywang.wxpay.exception.WxPayException;
import com.github.binarywang.wxpay.service.WxPayService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

import java.util.Base64;

/**
* @Author:ChenChao
@@ -25,121 +18,22 @@ import java.util.Base64;
*/
@Service
public class CreatePayOrderV3Manager extends AbstractManager {
@Autowired
private WxPayService wxPayService;

@Autowired
private WxPayV3 wxPayV3;
@Autowired
private WxPartnerPayV3 wxPartnerPayV3;
public AtsCreatPayOrderV3Response serviceHandle(AtsCreatPayOrderV3Request req) throws ServiceHandleException {
logger.info("微信支付下单{}",req.toJson());
//格式校验
req.validate();
//配置信息
WxPayConfig wxPayConfig = initConfig(req);
wxPayService.setConfig(wxPayConfig);
TradeTypeEnum tradeType= null;
Object orderV3 = null;
switch (req.getTradeType()){
case NATIVE:
tradeType = TradeTypeEnum.NATIVE;
break;
case JSAPI:
tradeType = TradeTypeEnum.JSAPI;
break;
case MWEB:
tradeType = TradeTypeEnum.H5;
break;
case APP:
tradeType = TradeTypeEnum.APP;
break;
default:
throw GlyServiceError.BUSINESS_VALIDATE_ERR.toHandleException("不支持的支付类型");
}
AtsCreatPayOrderV3Response orderV3Response = new AtsCreatPayOrderV3Response();
if (req.getCreateType() == 1){//单独下单
WxPayUnifiedOrderV3Request orderV3Request = getWxPayUnifiedOrderV3Request(req);
try {
orderV3 = wxPayService.createOrderV3(tradeType, orderV3Request);
} catch (WxPayException e) {
logger.error("微信支付V3统一单独下单失败:{}", e.getMessage());
throw GlyServiceError.BUSINESS_VALIDATE_ERR.toHandleException(e.getMessage());
}
if (req.getCreateType() == 1){
return wxPayV3.getPrepayResponse(req);
}else{
return wxPartnerPayV3.getPrepayResponse(req);
}
else
if(req.getCreateType() == 2){//商户下单
WxPayPartnerUnifiedOrderV3Request serviceOrderV3Request = getWxPayPartnerUnifiedOrderV3Request(req);
try {
orderV3 = wxPayService.createPartnerOrderV3(tradeType, serviceOrderV3Request);
} catch (WxPayException e) {
logger.error("微信支付V3统一服务商下单失败:{}", e.getMessage());
throw GlyServiceError.BUSINESS_VALIDATE_ERR.toHandleException(e.getMessage());
}
}
copyProperties(orderV3, orderV3Response);
if (TradeTypeEnum.APP.equals(tradeType)) {
WxPayUnifiedOrderV3Result.AppResult appResult = (WxPayUnifiedOrderV3Result.AppResult) orderV3;
orderV3Response.setAppId(appResult.getAppid());
orderV3Response.setTimeStamp(appResult.getTimestamp());
orderV3Response.setNonceStr(appResult.getNoncestr());
}
if (TradeTypeEnum.NATIVE.equals(tradeType)) orderV3Response.setCodeUrl(orderV3.toString());
if (TradeTypeEnum.H5.equals(tradeType)) orderV3Response.setH5Url(orderV3.toString());
orderV3Response.setExternalOrderNo(req.getOutTradeNo());
return orderV3Response;
}



//组装v3单独下单请求微信数据
private WxPayUnifiedOrderV3Request getWxPayUnifiedOrderV3Request(AtsCreatPayOrderV3Request req) {
WxPayUnifiedOrderV3Request orderV3Request = copyProperties(req, new WxPayUnifiedOrderV3Request());
WxPayUnifiedOrderV3Request.Amount amount = new WxPayUnifiedOrderV3Request.Amount();
amount.setTotal(req.getTotal());
amount.setCurrency(req.getCurrency());
orderV3Request.setAmount(amount);
WxPayUnifiedOrderV3Request.Payer payer = new WxPayUnifiedOrderV3Request.Payer();
payer.setOpenid(req.getOpenid());
orderV3Request.setPayer(payer);
if (hasText(req.getPayerClientIp())) {
WxPayUnifiedOrderV3Request.SceneInfo sceneInfo = new WxPayUnifiedOrderV3Request.SceneInfo();
sceneInfo.setPayerClientIp(req.getPayerClientIp());
sceneInfo.setH5Info(new WxPayUnifiedOrderV3Request.H5Info().setType(req.getType()));
orderV3Request.setSceneInfo(sceneInfo);
}
return orderV3Request;
}

//组装v3服务商下单请求微信数据
private WxPayPartnerUnifiedOrderV3Request getWxPayPartnerUnifiedOrderV3Request(AtsCreatPayOrderV3Request req) {
WxPayPartnerUnifiedOrderV3Request serviceOrderV3Request = copyProperties(req, new WxPayPartnerUnifiedOrderV3Request());
WxPayPartnerUnifiedOrderV3Request.Amount amount = new WxPayPartnerUnifiedOrderV3Request.Amount();
amount.setTotal(req.getTotal());
amount.setCurrency(req.getCurrency());
serviceOrderV3Request.setAmount(amount);
WxPayPartnerUnifiedOrderV3Request.Payer payer = new WxPayPartnerUnifiedOrderV3Request.Payer();
payer.setSubOpenid(req.getSubOpenid());
payer.setSpOpenid(req.getSpOpenid());
serviceOrderV3Request.setPayer(payer);
if (hasText(req.getPayerClientIp())) {
WxPayPartnerUnifiedOrderV3Request.SceneInfo sceneInfo = new WxPayPartnerUnifiedOrderV3Request.SceneInfo();
sceneInfo.setPayerClientIp(req.getPayerClientIp());
sceneInfo.setH5Info(new WxPayPartnerUnifiedOrderV3Request.H5Info().setType(req.getType()));
serviceOrderV3Request.setSceneInfo(sceneInfo);
}
return serviceOrderV3Request;
}

//配置信息
private WxPayConfig initConfig(AtsCreatPayOrderV3Request req) {
WxPayConfig wxPayConfig = new WxPayConfig();
wxPayConfig.setAppId(req.getAppid());
wxPayConfig.setMchId(req.getMchid());
wxPayConfig.setMchKey(req.getApiV3Key());
wxPayConfig.setSubAppId(req.getSubAppid());
wxPayConfig.setSubMchId(req.getSubMchId());
wxPayConfig.setNotifyUrl(req.getNotifyUrl());
wxPayConfig.setApiV3Key(req.getApiV3Key());
String s = Base64.getEncoder().encodeToString(req.getPrivateKey().getBytes());
wxPayConfig.setPrivateKeyString(s);
wxPayConfig.setCertSerialNo(req.getSerialNo());
if (hasText(req.getApiV3Key())) wxPayConfig.setApiV3Key(req.getApiV3Key());
return wxPayConfig;
}
}

+ 0
- 39
zhywpt-service-ats/src/main/java/cn/com/taiji/ats/manager/weixin/CreatePayOrderV3Manager2.java Просмотреть файл

@@ -1,39 +0,0 @@
package cn.com.taiji.ats.manager.weixin;

import cn.com.taiji.ats.manager.comm.WxPartnerPayV3;
import cn.com.taiji.ats.manager.comm.WxPayV3;
import cn.com.taiji.common.manager.AbstractManager;
import cn.com.taiji.common.manager.net.http.ServiceHandleException;
import cn.com.taiji.core.model.comm.protocol.ats.weiXin.AtsCreatPayOrderV3Request;
import cn.com.taiji.core.model.comm.protocol.ats.weiXin.AtsCreatPayOrderV3Response;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;


/**
* @Author:ChenChao
* @Date:2025/5/12 10:04
* @Filename:CreatePayOrderV3Manager
* @description:
*/
@Service
public class CreatePayOrderV3Manager2 extends AbstractManager {

@Autowired
private WxPayV3 wxPayV3;
@Autowired
private WxPartnerPayV3 wxPartnerPayV3;
public AtsCreatPayOrderV3Response serviceHandle(AtsCreatPayOrderV3Request req) throws ServiceHandleException {
logger.info("微信支付下单{}",req.toJson());
//格式校验
req.validate();
if (req.getCreateType() == 1){
return wxPayV3.getPrepayResponse(req);
}else{
return wxPartnerPayV3.getPrepayResponse(req);
}
}



}

+ 5
- 7
zhywpt-service-ats/src/main/java/cn/com/taiji/ats/web/TestController.java Просмотреть файл

@@ -1,6 +1,6 @@
package cn.com.taiji.ats.web;

import cn.com.taiji.ats.manager.weixin.CreatePayOrderV3Manager2;
import cn.com.taiji.ats.manager.weixin.CreatePayOrderV3Manager;
import cn.com.taiji.ats.manager.weixin.QueryPayResultManager;
import cn.com.taiji.ats.manager.weixin.VehicleUserStateManager;
import cn.com.taiji.common.manager.net.http.ServiceHandleException;
@@ -13,14 +13,12 @@ import com.google.zxing.WriterException;
import com.google.zxing.common.BitMatrix;
import com.google.zxing.qrcode.decoder.ErrorCorrectionLevel;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.*;

import javax.imageio.ImageIO;
import javax.servlet.http.HttpServletResponse;
import java.awt.*;
import java.awt.image.BufferedImage;
import java.net.InetAddress;
import java.util.HashMap;
import java.util.Map;

@@ -36,7 +34,7 @@ import static com.zgglyun.common.model.SignOperation.logger;
public class TestController {

@Autowired
private CreatePayOrderV3Manager2 createPayOrderV3Manager2;
private CreatePayOrderV3Manager createPayOrderV3Manager2;
@RequestMapping(value = "/common/test", method = {RequestMethod.GET})
public AtsCreatPayOrderV3Response test(@RequestBody AtsCreatPayOrderV3Request request) {
// request.setApiV3Key("fe24336ea45045adb707dc2c2310416a");
@@ -97,11 +95,11 @@ public class TestController {
}
return atsVehicleUserStateResponse;
}
//服务商 codeUrl = weixin://wxpay/bizpayurl?pr=14g4kOez1
@GetMapping("qrCode")
public void qrcode(HttpServletResponse response) throws Exception {
public void qrcode(HttpServletResponse response,@RequestBody TestModel model) throws Exception {
String data = "weixin://wxpay/bizpayurl?pr=OeLKIGGz1";
BufferedImage image = createImage(data,200,200);
BufferedImage image = createImage(model.getData(), 200,200);
ImageIO.write(image, "png", response.getOutputStream());
}


+ 15
- 0
zhywpt-service-ats/src/main/java/cn/com/taiji/ats/web/TestModel.java Просмотреть файл

@@ -0,0 +1,15 @@
package cn.com.taiji.ats.web;

import lombok.Data;

/**
* @Author:ChenChao
* @Date:2025/5/16 16:27
* @Filename:TestModel
* @description:
*/
@Data
public class TestModel {

private String data;
}

Загрузка…
Отмена
Сохранить