From 098fbb51845dbda46ceed0cfff6e818d3636aa51 Mon Sep 17 00:00:00 2001
From: xiaoyong931011 <15274802129@163.com>
Date: Tue, 14 Feb 2023 13:15:15 +0800
Subject: [PATCH] 微信支付,去掉了auth_code参数
---
src/main/java/cc/mrbird/febs/pay/model/JsApiPayReqData.java | 56 +++++-----
src/test/java/cc/mrbird/febs/ProfitTest.java | 137 ++++++++++++++++----------
src/main/resources/application-dev.yml | 2
src/test/java/cc/mrbird/febs/PayTest.java | 51 ++++++++--
4 files changed, 152 insertions(+), 94 deletions(-)
diff --git a/src/main/java/cc/mrbird/febs/pay/model/JsApiPayReqData.java b/src/main/java/cc/mrbird/febs/pay/model/JsApiPayReqData.java
index 1ab1b2f..ae43745 100644
--- a/src/main/java/cc/mrbird/febs/pay/model/JsApiPayReqData.java
+++ b/src/main/java/cc/mrbird/febs/pay/model/JsApiPayReqData.java
@@ -18,30 +18,30 @@
public class JsApiPayReqData {
//每个字段具体的意思请查看API文档
- private String appid = "";
- private String mch_id = "";
- private String device_info = "";
- private String nonce_str = "";
- private String sign = "";
- private String body = "";
- private String detail = "";
- private String attach = "";
- private String out_trade_no = "";
- private String fee_type = "";
- private int total_fee = 0;
+ private String appid = "";//公众账号ID
+ private String mch_id = "";//商户号
+ private String device_info = "";//设备号
+ private String nonce_str = "";//随机字符串
+ private String sign = "";//签名
+ private String body = "";//商品描述
+ private String detail = "";//商品详情
+ private String attach = "";//附加数据
+ private String out_trade_no = "";//商户订单号
+ private String fee_type = "";//标价币种
+ private int total_fee = 0;//标价金额
/**
* 接收微信支付异步通知回调地址
*/
- private String trade_type = WechatConfigure.TRADE_TYPE_JSAPI;
- private String notify_url ;
- private String openid = "";
- private String limit_pay = "";
- private String spbill_create_ip = "";
- private String product_id = "";
- private String time_start = "";
- private String time_expire = "";
- private String goods_tag = "";
- private String auth_code = "";
+ private String trade_type = WechatConfigure.TRADE_TYPE_JSAPI;//交易类型
+ private String notify_url ;//通知地址
+ private String openid = "";//用户标识
+ private String limit_pay = "";//指定支付方式
+ private String spbill_create_ip = "";//终端IP
+ private String product_id = "";//商品ID
+ private String time_start = "";//交易起始时间
+ private String time_expire = "";//交易结束时间
+ private String goods_tag = "";//订单优惠标记
+// private String auth_code = "";//
public JsApiPayReqData() {
@@ -268,13 +268,13 @@
this.goods_tag = goods_tag;
}
- public String getAuth_code() {
- return auth_code;
- }
-
- public void setAuth_code(String auth_code) {
- this.auth_code = auth_code;
- }
+// public String getAuth_code() {
+// return auth_code;
+// }
+//
+// public void setAuth_code(String auth_code) {
+// this.auth_code = auth_code;
+// }
public Map<String,Object> toMap(){
Map<String,Object> map = new HashMap<String, Object>();
diff --git a/src/main/resources/application-dev.yml b/src/main/resources/application-dev.yml
index 7d1cf01..3f5844d 100644
--- a/src/main/resources/application-dev.yml
+++ b/src/main/resources/application-dev.yml
@@ -81,4 +81,4 @@
serviceName: yiyuanshucai
system:
- job: false
\ No newline at end of file
+ job: true
\ No newline at end of file
diff --git a/src/test/java/cc/mrbird/febs/PayTest.java b/src/test/java/cc/mrbird/febs/PayTest.java
index ede5efa..01314e0 100644
--- a/src/test/java/cc/mrbird/febs/PayTest.java
+++ b/src/test/java/cc/mrbird/febs/PayTest.java
@@ -1,13 +1,23 @@
package cc.mrbird.febs;
+import cc.mrbird.febs.common.properties.XcxProperties;
+import cc.mrbird.febs.common.utils.RedisUtils;
+import cc.mrbird.febs.common.utils.SpringContextHolder;
+import cc.mrbird.febs.pay.util.WechatConfigure;
+import cn.hutool.core.util.StrUtil;
import com.alibaba.fastjson.JSONObject;
import com.alipay.api.AlipayApiException;
import com.alipay.api.domain.AlipayTradeAppPayModel;
import com.alipay.api.response.AlipayTradeAppPayResponse;
+import com.baomidou.mybatisplus.extension.exceptions.ApiException;
import com.ijpay.alipay.AliPayApi;
import lombok.extern.slf4j.Slf4j;
import org.junit.jupiter.api.Test;
+import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.context.SpringBootTest;
+import org.springframework.web.client.RestTemplate;
+
+import javax.annotation.Resource;
/**
* @author wzy
@@ -17,17 +27,36 @@
@SpringBootTest
public class PayTest {
+
+ @Autowired
+ private RedisUtils redisUtils;
+ @Resource
+ RestTemplate restTemplate;
@Test
- public void aliPay() throws AlipayApiException {
- AlipayTradeAppPayModel model = new AlipayTradeAppPayModel();
- model.setBody("这是测试用");
- model.setSubject("支付测试用的");
- model.setOutTradeNo("2021092712215802974");
- model.setTimeoutExpress("15m");
- model.setTotalAmount("0.01");
- model.setPassbackParams("callback params");
- model.setProductCode("QUICK_MSECURITY_PAY");
- AlipayTradeAppPayResponse resp = AliPayApi.appPayToResponse(model, "");
- log.info("=====>>>{}", JSONObject.toJSONString(resp));
+ public void aliPay(){
+
+ String appId = "wxfb1acf504eb9d058";
+ String appSecret = "7ee226a964b1be7cfb96f5e0dc739c44";
+ String url = "https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid=" + appId + "&secret=" + appSecret;
+ String jsonStr = restTemplate.getForObject(url, String.class);
+
+ /**
+ * 返回结果
+ * {"access_token":"ACCESS_TOKEN","expires_in":7200}
+ */
+ if (!jsonStr.contains("access_token")) {
+ System.out.println("获取微信access_token失败");
+ }
+
+ String accessTokenKey = WechatConfigure.WX_ACCESS_TOKEN_REDIS_KEY;
+ JSONObject jsonObject = JSONObject.parseObject(jsonStr);
+ String accessToken = jsonObject.getString(accessTokenKey);
+ if (StrUtil.isEmpty(accessToken)) {
+ log.error("获取access token失败: {}" , jsonObject.getString("errmsg"));
+ throw new ApiException("获取access token失败");
+ } else {
+ log.info("wx access_token : {}",accessToken);
+ redisUtils.set(accessTokenKey,accessToken);
+ }
}
}
diff --git a/src/test/java/cc/mrbird/febs/ProfitTest.java b/src/test/java/cc/mrbird/febs/ProfitTest.java
index a23900d..fa3a8ef 100644
--- a/src/test/java/cc/mrbird/febs/ProfitTest.java
+++ b/src/test/java/cc/mrbird/febs/ProfitTest.java
@@ -5,14 +5,17 @@
import cc.mrbird.febs.common.enumerates.FlowTypeEnum;
import cc.mrbird.febs.common.enumerates.MoneyFlowTypeEnum;
import cc.mrbird.febs.common.enumerates.OrderStatusEnum;
+import cc.mrbird.febs.common.exception.FebsException;
import cc.mrbird.febs.common.utils.HttpCurlUtil;
import cc.mrbird.febs.common.utils.MallUtils;
import cc.mrbird.febs.common.utils.RedisUtils;
import cc.mrbird.febs.mall.dto.AdminLeaderAddFenceDto;
import cc.mrbird.febs.mall.dto.ApiLeaderRefundOrderDto;
+import cc.mrbird.febs.mall.dto.ApiRechargeWalletDto;
import cc.mrbird.febs.mall.entity.*;
import cc.mrbird.febs.mall.mapper.*;
import cc.mrbird.febs.mall.service.*;
+import cc.mrbird.febs.pay.model.BrandWCPayRequestData;
import cc.mrbird.febs.pay.model.WxGenerateQrCodeDto;
import cc.mrbird.febs.pay.service.IXcxPayService;
import cc.mrbird.febs.pay.util.WechatConfigure;
@@ -411,62 +414,88 @@
@Test
public void qrcode(){
- MallMember member = mallMemberMapper.selectById(58L);
- Long id = 320L;
+ MallMember member = mallMemberMapper.selectById(402L);
+
+// ApiRechargeWalletDto apiRechargeWalletDto = new ApiRechargeWalletDto();
+// apiRechargeWalletDto.setAmount(new BigDecimal(1));
+// apiRechargeWalletDto.setMemberId(402L);
+// BrandWCPayRequestData brandWCPayRequestData = null;
+// try {
+// brandWCPayRequestData = iXcxPayService.startRechargeWallet(apiRechargeWalletDto);
+// } catch (Exception e) {
+// throw new FebsException("支付失败");
+// }
+// String wxResultStr = JSONUtil.toJsonStr(brandWCPayRequestData);
+// String payResultStr = brandWCPayRequestData.getPrepay_id();
+// Map<String, Object> map = new HashMap<>();
+// map.put("orderInfo", payResultStr);
+// map.put("wxResultStr", wxResultStr);
+
+ Long id = 345417L;
MallOrderInfo mallOrderInfo = mallOrderInfoMapper.selectById(id);
- if(ObjectUtil.isEmpty(mallOrderInfo)){
+ BrandWCPayRequestData brandWCPayRequestData = null;
+ try {
+ brandWCPayRequestData = iXcxPayService.startPayment(mallOrderInfo);
+ } catch (Exception e) {
+ throw new FebsException("支付失败");
}
- Integer status = mallOrderInfo.getStatus();
- if(OrderStatusEnum.WAIT_SHIPPING.getValue() != status){
- }
- Integer deliveryState = mallOrderInfo.getDeliveryState();
- if(1 != deliveryState){
- }
- //根据子订单生成退款记录
- List<MallOrderItem> mallOrderItemList = mallOrderItemMapper.selectListByOrderId(id);
- if(CollUtil.isEmpty(mallOrderItemList)){
- }
- for(MallOrderItem mallOrderItem : mallOrderItemList){
- QueryWrapper<MallRefundEntity> objectQueryWrapper = new QueryWrapper<>();
- objectQueryWrapper.eq("member_id",member.getId());
- objectQueryWrapper.eq("order_id",mallOrderInfo.getId());
- objectQueryWrapper.eq("item_id",mallOrderItem.getId());
- MallRefundEntity mallRefund = mallRefundMapper.selectOne(objectQueryWrapper);
- MallRefundEntity mallRefundEntity = new MallRefundEntity();
- if(ObjectUtil.isEmpty(mallRefund)){
- mallRefundEntity.setRefundNo(mallOrderInfo.getOrderNo()+"_RITEM"+mallOrderItem.getId());
- mallRefundEntity.setMemberId(member.getId());
- mallRefundEntity.setOrderId(mallOrderInfo.getId());
- mallRefundEntity.setItemId(mallOrderItem.getId());
- if("余额支付".equals(mallOrderInfo.getPayMethod())){
- mallRefundEntity.setType(3);
- }else if("微信支付".equals(mallOrderInfo.getPayMethod())){
- mallRefundEntity.setType(1);
- }else{
- mallRefundEntity.setType(3);
- }
- mallRefundEntity.setState(3);
- mallRefundEntity.setAmount(mallOrderItem.getAmount());
- mallRefundMapper.insert(mallRefundEntity);
- }else{
- if(mallRefund.getState() == 2){
- mallRefundEntity.setId(mallRefund.getId());
- mallRefundEntity.setRefundNo(mallRefund.getRefundNo());
- mallRefundEntity.setMemberId(mallRefund.getMemberId());
- mallRefundEntity.setOrderId(mallRefund.getOrderId());
- mallRefundEntity.setItemId(mallRefund.getItemId());
- mallRefundEntity.setType(mallRefund.getType());
- mallRefundEntity.setState(3);
- mallRefundEntity.setAmount(mallRefund.getAmount());
- mallRefundMapper.updateById(mallRefundEntity);
- }
- }
- ApiLeaderRefundOrderDto apiLeaderRefundOrderDto = new ApiLeaderRefundOrderDto();
- apiLeaderRefundOrderDto.setOrderId(mallOrderInfo.getId());
- apiLeaderRefundOrderDto.setItemId(mallOrderItem.getId());
- apiLeaderRefundOrderDto.setAgreeState(1);
- iApiMallTeamLeaderService.leaderRefundOrder(apiLeaderRefundOrderDto);
- }
+ String s = JSONUtil.toJsonStr(brandWCPayRequestData);
+ String prepay_id = brandWCPayRequestData.getPrepay_id();
+
+
+// if(ObjectUtil.isEmpty(mallOrderInfo)){
+// }
+// Integer status = mallOrderInfo.getStatus();
+// if(OrderStatusEnum.WAIT_SHIPPING.getValue() != status){
+// }
+// Integer deliveryState = mallOrderInfo.getDeliveryState();
+// if(1 != deliveryState){
+// }
+// //根据子订单生成退款记录
+// List<MallOrderItem> mallOrderItemList = mallOrderItemMapper.selectListByOrderId(id);
+// if(CollUtil.isEmpty(mallOrderItemList)){
+// }
+// for(MallOrderItem mallOrderItem : mallOrderItemList){
+// QueryWrapper<MallRefundEntity> objectQueryWrapper = new QueryWrapper<>();
+// objectQueryWrapper.eq("member_id",member.getId());
+// objectQueryWrapper.eq("order_id",mallOrderInfo.getId());
+// objectQueryWrapper.eq("item_id",mallOrderItem.getId());
+// MallRefundEntity mallRefund = mallRefundMapper.selectOne(objectQueryWrapper);
+// MallRefundEntity mallRefundEntity = new MallRefundEntity();
+// if(ObjectUtil.isEmpty(mallRefund)){
+// mallRefundEntity.setRefundNo(mallOrderInfo.getOrderNo()+"_RITEM"+mallOrderItem.getId());
+// mallRefundEntity.setMemberId(member.getId());
+// mallRefundEntity.setOrderId(mallOrderInfo.getId());
+// mallRefundEntity.setItemId(mallOrderItem.getId());
+// if("余额支付".equals(mallOrderInfo.getPayMethod())){
+// mallRefundEntity.setType(3);
+// }else if("微信支付".equals(mallOrderInfo.getPayMethod())){
+// mallRefundEntity.setType(1);
+// }else{
+// mallRefundEntity.setType(3);
+// }
+// mallRefundEntity.setState(3);
+// mallRefundEntity.setAmount(mallOrderItem.getAmount());
+// mallRefundMapper.insert(mallRefundEntity);
+// }else{
+// if(mallRefund.getState() == 2){
+// mallRefundEntity.setId(mallRefund.getId());
+// mallRefundEntity.setRefundNo(mallRefund.getRefundNo());
+// mallRefundEntity.setMemberId(mallRefund.getMemberId());
+// mallRefundEntity.setOrderId(mallRefund.getOrderId());
+// mallRefundEntity.setItemId(mallRefund.getItemId());
+// mallRefundEntity.setType(mallRefund.getType());
+// mallRefundEntity.setState(3);
+// mallRefundEntity.setAmount(mallRefund.getAmount());
+// mallRefundMapper.updateById(mallRefundEntity);
+// }
+// }
+// ApiLeaderRefundOrderDto apiLeaderRefundOrderDto = new ApiLeaderRefundOrderDto();
+// apiLeaderRefundOrderDto.setOrderId(mallOrderInfo.getId());
+// apiLeaderRefundOrderDto.setItemId(mallOrderItem.getId());
+// apiLeaderRefundOrderDto.setAgreeState(1);
+// iApiMallTeamLeaderService.leaderRefundOrder(apiLeaderRefundOrderDto);
+// }
}
/**
--
Gitblit v1.9.1