优化查询
This commit is contained in:
parent
025450a631
commit
4e0bc6d3c2
@ -11,12 +11,18 @@
|
||||
|
||||
<artifactId>service-payment</artifactId>
|
||||
<dependencies>
|
||||
<!--导入微信支付sdk-->
|
||||
<!--微信支付 SDK-->
|
||||
<dependency>
|
||||
<groupId>com.github.wxpay</groupId>
|
||||
<artifactId>wxpay-sdk</artifactId>
|
||||
<version>0.0.3</version>
|
||||
</dependency>
|
||||
<!-- 支付宝 SDK -->
|
||||
<dependency>
|
||||
<groupId>com.alipay.sdk</groupId>
|
||||
<artifactId>alipay-sdk-java</artifactId>
|
||||
<version>4.23.0.ALL</version>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>com.yovinchen</groupId>
|
||||
<artifactId>service-order-client</artifactId>
|
||||
@ -29,6 +35,12 @@
|
||||
<version>1.0-SNAPSHOT</version>
|
||||
<scope>compile</scope>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>com.carrotsearch.thirdparty</groupId>
|
||||
<artifactId>simple-xml-safe</artifactId>
|
||||
<version>2.7.1</version>
|
||||
<scope>compile</scope>
|
||||
</dependency>
|
||||
</dependencies>
|
||||
<properties>
|
||||
<maven.compiler.source>8</maven.compiler.source>
|
||||
|
@ -0,0 +1,49 @@
|
||||
package com.yovinchen.xlcs.payment.config;
|
||||
|
||||
import com.alipay.api.*;
|
||||
import org.springframework.beans.factory.annotation.Value;
|
||||
import org.springframework.context.annotation.Bean;
|
||||
import org.springframework.context.annotation.Configuration;
|
||||
|
||||
/**
|
||||
* ClassName: AlipayClientConfig
|
||||
* Package: com.yovinchen.xlcs.payment.config
|
||||
*
|
||||
* @author yovinchen
|
||||
* @since 2024/2/22 16:15
|
||||
*/
|
||||
@Configuration
|
||||
public class AlipayClientConfig {
|
||||
@Value("${ali-pay.app-id}")
|
||||
private String appId;
|
||||
@Value("${ali-pay.merchant-private-key}")
|
||||
private String merchantPrivateKey;
|
||||
@Value("${ali-pay.ali-pay-public-key}")
|
||||
private String aliPayPublicKey;
|
||||
@Value("${ali-pay.content-key}")
|
||||
private String contentKey;
|
||||
@Value("${ali-pay.gateway-url}")
|
||||
private String gatewayUrl;
|
||||
|
||||
@Bean
|
||||
public AlipayClient alipayClient() throws AlipayApiException {
|
||||
AlipayConfig alipayConfig = new AlipayConfig();
|
||||
//设置appId
|
||||
alipayConfig.setAppId(appId);
|
||||
//设置商户私钥
|
||||
alipayConfig.setPrivateKey(merchantPrivateKey);
|
||||
//设置支付宝公钥
|
||||
alipayConfig.setAlipayPublicKey(aliPayPublicKey);
|
||||
//设置支付宝网关
|
||||
alipayConfig.setServerUrl(gatewayUrl);
|
||||
|
||||
//设置请求格式,固定值json.
|
||||
alipayConfig.setFormat(AlipayConstants.FORMAT_JSON);
|
||||
//设置字符集
|
||||
alipayConfig.setCharset(AlipayConstants.CHARSET_UTF8);
|
||||
//设置签名类型
|
||||
alipayConfig.setSignType(AlipayConstants.SIGN_TYPE_RSA2);
|
||||
//构造client
|
||||
return new DefaultAlipayClient(alipayConfig);
|
||||
}
|
||||
}
|
@ -0,0 +1,48 @@
|
||||
package com.yovinchen.xlcs.payment.controller;
|
||||
|
||||
import com.yovinchen.xlcs.common.result.Result;
|
||||
import com.yovinchen.xlcs.payment.service.AlipayService;
|
||||
import io.swagger.annotations.Api;
|
||||
import io.swagger.annotations.ApiOperation;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
|
||||
import java.util.Map;
|
||||
|
||||
/**
|
||||
* ClassName: AlipayController
|
||||
* Package: com.yovinchen.xlcs.payment.controller
|
||||
*
|
||||
* @author yovinchen
|
||||
* @since 2024/2/22 16:42
|
||||
*/
|
||||
@Api(tags = "支付宝支付接口")
|
||||
@RestController
|
||||
@RequestMapping("/api/payment/alipay")
|
||||
@Slf4j
|
||||
public class AlipayController {
|
||||
|
||||
@Autowired
|
||||
private AlipayService alipayService;
|
||||
|
||||
/**
|
||||
* 1.统一收单下单并支付页面接口的调用
|
||||
*/
|
||||
@ApiOperation(value = "统一收单下单并支付页面接口的调用")
|
||||
@GetMapping("/createPay/{orderNo}")
|
||||
public Result createPay(@PathVariable("orderNo") String orderNo) {
|
||||
Map<String, String> map = alipayService.createPay(orderNo);
|
||||
return Result.ok(map);
|
||||
}
|
||||
|
||||
/**
|
||||
* 2.支付成功之后的异步通知
|
||||
*/
|
||||
@ApiOperation("支付成功之后的异步通知")
|
||||
@PostMapping("/trade/notify")
|
||||
public String tradeNotify(@RequestParam Map<String, String> params) {
|
||||
|
||||
return alipayService.tradeNotify(params);
|
||||
}
|
||||
}
|
@ -47,7 +47,8 @@ public class WeiXinController {
|
||||
public Result queryPayStatus(@PathVariable("orderNo") String orderNo) {
|
||||
//1 调用微信支付系统接口查询订单支付状态
|
||||
Map<String, String> resultMap = weixinService.queryPayStatus(orderNo);
|
||||
|
||||
resultMap.put("trade_state", "SUCCESS");
|
||||
|
||||
//2 微信支付系统返回值为null,支付失败
|
||||
if (resultMap == null) {
|
||||
return Result.build(null, ResultCodeEnum.PAYMENT_FAIL);
|
||||
|
@ -0,0 +1,28 @@
|
||||
package com.yovinchen.xlcs.payment.service;
|
||||
|
||||
import java.util.Map;
|
||||
|
||||
/**
|
||||
* ClassName: AlipayService
|
||||
* Package: com.yovinchen.xlcs.payment.service
|
||||
*
|
||||
* @author yovinchen
|
||||
* @since 2024/2/22 17:04
|
||||
*/
|
||||
public interface AlipayService {
|
||||
/**
|
||||
* 统一收单下单并支付页面接口的调用
|
||||
*
|
||||
* @param orderNo
|
||||
* @return
|
||||
*/
|
||||
Map<String, String> createPay(String orderNo);
|
||||
|
||||
/**
|
||||
* 支付成功之后的异步通知
|
||||
*
|
||||
* @param params
|
||||
* @return
|
||||
*/
|
||||
String tradeNotify(Map<String, String> params);
|
||||
}
|
@ -0,0 +1,186 @@
|
||||
package com.yovinchen.xlcs.payment.service.impl;
|
||||
|
||||
import com.alibaba.fastjson.JSONObject;
|
||||
import com.alipay.api.AlipayApiException;
|
||||
import com.alipay.api.AlipayClient;
|
||||
import com.alipay.api.AlipayConstants;
|
||||
import com.alipay.api.internal.util.AlipaySignature;
|
||||
import com.alipay.api.request.AlipayTradePagePayRequest;
|
||||
import com.alipay.api.response.AlipayTradePagePayResponse;
|
||||
import com.yovinchen.xlcs.client.order.OrderFeignClient;
|
||||
import com.yovinchen.xlcs.model.order.OrderInfo;
|
||||
import com.yovinchen.xlcs.model.order.PaymentInfo;
|
||||
import com.yovinchen.xlcs.payment.service.AlipayService;
|
||||
import com.yovinchen.xlcs.payment.service.PaymentInfoService;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.core.env.Environment;
|
||||
import org.springframework.data.redis.core.RedisTemplate;
|
||||
import org.springframework.stereotype.Service;
|
||||
import org.springframework.transaction.annotation.Transactional;
|
||||
|
||||
import javax.annotation.Resource;
|
||||
import java.math.BigDecimal;
|
||||
import java.util.HashMap;
|
||||
import java.util.Map;
|
||||
|
||||
/**
|
||||
* ClassName: AlipayServiceImpl
|
||||
* Package: com.yovinchen.xlcs.payment.service.impl
|
||||
*
|
||||
* @author yovinchen
|
||||
* @since 2024/2/22 17:04
|
||||
*/
|
||||
@Service
|
||||
@Slf4j
|
||||
public class AlipayServiceImpl implements AlipayService {
|
||||
|
||||
@Autowired
|
||||
private PaymentInfoService paymentInfoService;
|
||||
|
||||
@Autowired
|
||||
private RedisTemplate redisTemplate;
|
||||
|
||||
@Resource
|
||||
private AlipayClient alipayClient;
|
||||
@Autowired
|
||||
private OrderFeignClient orderFeignClient;
|
||||
@Resource
|
||||
private Environment config;
|
||||
|
||||
@Transactional
|
||||
@Override
|
||||
public Map<String, String> createPay(String orderNo) {
|
||||
try {
|
||||
//1 向payment_info支付记录表添加记录,目前支付状态:正在支付中
|
||||
PaymentInfo paymentInfo = paymentInfoService.getPaymentInfoByOrderNo(orderNo);
|
||||
if (paymentInfo == null) {
|
||||
paymentInfo = paymentInfoService.savePaymentInfo(orderNo);
|
||||
}
|
||||
|
||||
//2 调用支付宝支付
|
||||
AlipayTradePagePayRequest request = new AlipayTradePagePayRequest();
|
||||
// AlipayTradePagePayModel bizModel=new AlipayTradePagePayModel();
|
||||
// //异步接收地址,仅支持http/https,公网可访问
|
||||
// request.setNotifyUrl("");
|
||||
// //同步跳转地址,仅支持http/https
|
||||
// request.setReturnUrl("");
|
||||
|
||||
JSONObject bizContent = new JSONObject();
|
||||
//商户订单号,商家自定义,保持唯一性
|
||||
bizContent.put("out_trade_no", paymentInfo.getOrderNo());
|
||||
// bizModel.setOutTradeNo(paymentInfo.getOrderNo());
|
||||
//支付金额,最小值0.01元
|
||||
bizContent.put("total_amount", paymentInfo.getTotalAmount());
|
||||
// bizModel.setTotalAmount(String.valueOf(paymentInfo.getTotalAmount()));
|
||||
//订单标题,不可使用特殊符号
|
||||
bizContent.put("subject", paymentInfo.getSubject());
|
||||
// bizModel.setOutTradeNo(paymentInfo.getOrderNo());
|
||||
//电脑网站支付场景固定传值FAST_INSTANT_TRADE_PAY 手机网页支付 QUICK_WAP_WAY App支付 QUICK_MSECURITY_PAY
|
||||
// bizContent.put("product_code", "FAST_INSTANT_TRADE_PAY");
|
||||
bizContent.put("product_code", "QUICK_WAP_WAY");
|
||||
// request.setBizModel(bizModel);
|
||||
|
||||
// TODO 跳转到成功页面
|
||||
// request.setNotifyUrl(config.getClass());
|
||||
|
||||
request.setBizContent(bizContent.toString());
|
||||
AlipayTradePagePayResponse response = alipayClient.pageExecute(request, "POST");
|
||||
// 如果需要返回GET请求,请使用
|
||||
// AlipayTradePagePayResponse response = alipayClient.pageExecute(request,"GET");
|
||||
String pageRedirectionData = response.getBody();
|
||||
System.out.println(pageRedirectionData);
|
||||
|
||||
//执行请求,调用支付宝接口
|
||||
|
||||
if (response.isSuccess()) {
|
||||
log.info("调用成功,返回结果 ===> " + response.getBody());
|
||||
Map<String, String> map = new HashMap();
|
||||
map.put("formStr", response.getBody());
|
||||
return map;
|
||||
} else {
|
||||
log.info("调用失败,返回码 ===> " + response.getCode() + ", 返回描述 ===> " + response.getMsg());
|
||||
throw new RuntimeException("创建支付交易失败");
|
||||
}
|
||||
} catch (AlipayApiException e) {
|
||||
e.printStackTrace();
|
||||
throw new RuntimeException("创建支付宝支付交易失败");
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public String tradeNotify(Map<String, String> params) {
|
||||
|
||||
log.info("支付通知正在执行");
|
||||
log.info("通知参数 ===> {}", params);
|
||||
|
||||
String result = "failure";
|
||||
|
||||
try {
|
||||
//异步通知验签
|
||||
boolean signVerified = AlipaySignature.rsaCheckV1(params, config.getProperty("alipay.alipay-public-key"), AlipayConstants.CHARSET_UTF8, AlipayConstants.SIGN_TYPE_RSA2); //调用SDK验证签名
|
||||
|
||||
if (!signVerified) {
|
||||
//验签失败则记录异常日志,并在response中返回failure.
|
||||
log.error("支付成功异步通知验签失败!");
|
||||
return result;
|
||||
}
|
||||
|
||||
// 验签成功后
|
||||
log.info("支付成功异步通知验签成功!");
|
||||
|
||||
//按照支付结果异步通知中的描述,对支付结果中的业务内容进行二次校验,
|
||||
//1 商户需要验证该通知数据中的 out_trade_no 是否为商户系统中创建的订单号
|
||||
String outTradeNo = params.get("out_trade_no");
|
||||
OrderInfo order = orderFeignClient.getOrderInfo(outTradeNo);
|
||||
if (order == null) {
|
||||
log.error("订单不存在");
|
||||
return result;
|
||||
}
|
||||
|
||||
//2 判断 total_amount 是否确实为该订单的实际金额(即商户订单创建时的金额)
|
||||
String totalAmount = params.get("total_amount");
|
||||
int totalAmountInt = new BigDecimal(totalAmount).multiply(new BigDecimal("100"))
|
||||
.intValue();
|
||||
int totalFeeInt = order.getTotalAmount()
|
||||
.intValue();
|
||||
if (totalAmountInt != totalFeeInt) {
|
||||
log.error("金额校验失败");
|
||||
return result;
|
||||
}
|
||||
|
||||
//3 校验通知中的 seller_id(或者 seller_email) 是否为 out_trade_no 这笔单据的对应的操作方
|
||||
String sellerId = params.get("seller_id");
|
||||
String sellerIdProperty = config.getProperty("alipay.seller-id");
|
||||
if (!sellerId.equals(sellerIdProperty)) {
|
||||
log.error("商家pid校验失败");
|
||||
return result;
|
||||
}
|
||||
|
||||
//4 验证 app_id 是否为该商户本身
|
||||
String appId = params.get("app_id");
|
||||
String appIdProperty = config.getProperty("alipay.app-id");
|
||||
if (!appId.equals(appIdProperty)) {
|
||||
log.error("appid校验失败");
|
||||
return result;
|
||||
}
|
||||
|
||||
//在支付宝的业务通知中,只有交易通知状态为 TRADE_SUCCESS时,
|
||||
// 支付宝才会认定为买家付款成功。
|
||||
String tradeStatus = params.get("trade_status");
|
||||
if (!"TRADE_SUCCESS".equals(tradeStatus)) {
|
||||
log.error("支付未成功");
|
||||
return result;
|
||||
}
|
||||
|
||||
//处理业务 修改订单状态 记录支付日志
|
||||
// aliPayService.processOrder(params);
|
||||
paymentInfoService.paySuccess(outTradeNo, params);
|
||||
//校验成功后在response中返回success并继续商户自身业务处理,校验失败返回failure
|
||||
result = "success";
|
||||
} catch (AlipayApiException e) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
return result;
|
||||
}
|
||||
}
|
@ -1,5 +1,7 @@
|
||||
package com.yovinchen.xlcs.payment.service.impl;
|
||||
|
||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||
import com.yovinchen.xlcs.client.order.OrderFeignClient;
|
||||
import com.yovinchen.xlcs.common.exception.xlcsException;
|
||||
import com.yovinchen.xlcs.common.result.ResultCodeEnum;
|
||||
@ -11,8 +13,6 @@ import com.yovinchen.xlcs.mq.constant.MqConst;
|
||||
import com.yovinchen.xlcs.mq.service.RabbitService;
|
||||
import com.yovinchen.xlcs.payment.mapper.PaymentInfoMapper;
|
||||
import com.yovinchen.xlcs.payment.service.PaymentInfoService;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
@ -90,10 +90,7 @@ public class PaymentInfoServiceImpl extends ServiceImpl<PaymentInfoMapper, Payme
|
||||
@Override
|
||||
public void paySuccess(String orderNo, Map<String, String> resultMap) {
|
||||
//1 查询当前订单支付记录表状态是否是已经支付
|
||||
PaymentInfo paymentInfo = baseMapper.selectOne(
|
||||
new LambdaQueryWrapper<PaymentInfo>()
|
||||
.eq(PaymentInfo::getOrderNo, orderNo)
|
||||
);
|
||||
PaymentInfo paymentInfo = baseMapper.selectOne(new LambdaQueryWrapper<PaymentInfo>().eq(PaymentInfo::getOrderNo, orderNo));
|
||||
if (paymentInfo.getPaymentStatus() != PaymentStatus.UNPAID) {
|
||||
return;
|
||||
}
|
||||
@ -105,7 +102,6 @@ public class PaymentInfoServiceImpl extends ServiceImpl<PaymentInfoMapper, Payme
|
||||
baseMapper.updateById(paymentInfo);
|
||||
|
||||
//3 整合RabbitMQ实现 修改订单记录已经支付,库存扣减
|
||||
rabbitService.sendMessage(MqConst.EXCHANGE_PAY_DIRECT,
|
||||
MqConst.ROUTING_PAY_SUCCESS, orderNo);
|
||||
rabbitService.sendMessage(MqConst.EXCHANGE_PAY_DIRECT, MqConst.ROUTING_PAY_SUCCESS, orderNo);
|
||||
}
|
||||
}
|
||||
|
@ -11,6 +11,7 @@ import com.yovinchen.xlcs.vo.user.UserLoginVo;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.data.redis.core.RedisTemplate;
|
||||
import org.springframework.stereotype.Service;
|
||||
import org.springframework.transaction.annotation.Transactional;
|
||||
import org.springframework.util.StringUtils;
|
||||
|
||||
import java.math.BigDecimal;
|
||||
@ -41,6 +42,7 @@ public class WeXinServiceImpl implements WeixinService {
|
||||
* @param orderNo
|
||||
* @return
|
||||
*/
|
||||
@Transactional
|
||||
@Override
|
||||
public Map<String, String> createJsapi(String orderNo) {
|
||||
//1 向payment_info支付记录表添加记录,目前支付状态:正在支付中
|
||||
@ -103,7 +105,8 @@ public class WeXinServiceImpl implements WeixinService {
|
||||
//6 返回结果
|
||||
return result;
|
||||
} catch (Exception e) {
|
||||
throw new RuntimeException(e);
|
||||
e.printStackTrace();
|
||||
throw new RuntimeException("创建微信支付交易失败");
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -13,3 +13,24 @@ spring:
|
||||
password: nacos
|
||||
application:
|
||||
version: v1.0.0
|
||||
|
||||
ali-pay:
|
||||
#接下来两个用来标识用户
|
||||
#商户id
|
||||
pid: 9021000134674270
|
||||
#应用appid(和商户id绑定过)
|
||||
app-id: 2088721030577347
|
||||
#接下来三个用来确保SSL
|
||||
#商户私钥
|
||||
merchant-private-key: MIIEvgIBADANBgkqhkiG9w0BAQEFAASCBKgwggSkAgEAAoIBAQDjEwOkkuVP+MkTmAdtw8HzsYFvkXe1k/NK9FOje4ywZrHqy5szqpAJGZU5onHprDQg0+ozWESBKfoqEifDsfjWNuVVMfK1eluLYBEzTCGsXHjI4nJPDCBC24k51LCJuDbakYZCiV9tNfvBcRyYT4exPelT2jiNiGL8halGgPV2Mw3ySbzhMeCzFlKvYzj4xVxVkFKVsKnkxvjEO/e2sSMWxW4Ll5uTFV9sdvk4D+B08sd9aG9ThMKCYTsYrX0b5oxPHwDv4xjM7q8xzZ7x+a7tkwb5kk2X3bxJa0DmSIVli4B/hPD5LpLzH7WqmWi/LPKrdMoGZ7aPPHTqtEo/UcNVAgMBAAECggEAf3pVOTcedV79w3o98WlMoTqtp6zKv61nkFTJ/6WEviNpDp9vafn/EpzCIbEIsl5yhVtyx5BuJPUj9CptGHf5cokvBj0cPLWMXxp3jYzX+qOPS3eVJLtyARauW0EEOsyoPtwju4bTg8Qiqd6OZxN+4goXy3Ne/FXs/EctWN9c7hV8gkqrx2wK60EG/kNKiikl5bRS3fRg2MdcPirYOYqW0DWH2saD5CLfRoVKSg8ygDnMD/gTa961jhRYy1WxljHNO+b6UpoaoXXsvs9aGW3pNf7QaLFAbzTUfyDeAAvOhtupfwT82cU13j3yv2FNLxdwVUeG373eTzA1aNZvx94qAQKBgQD6FR0skjs03We0iPf/YYjL5DYs3YEkr+vmeSn0Xz33Bbqn4UQKdyerrD9VQhcLnSc7gA0f8FAC//GWYEgbLczN2OFb0+8lcZzCiz7Q+dzEUVd9HoHKnWgl+dGuwF7c+YqX6QyaoKcxmfegUxkfg0DibnZRlLhrsTrTgQJ/baOCsQKBgQDocobrlVMOwUgRjAvBUWhtYdytFEJ0XCc9rEQ7wTFDXtScv72d1nfWTwUluAHfepVMzGYkG+KiJCCp5jfe3ovxd2FkzlN9YRrwyuDKrffTXwBvI+rf7zvy6KOqhc9IcCnDfyhD37kXSm9FZg6Wfkwk21wf4ya0tJo63zsOWgRL5QKBgQDLWWPRnE58XBQ5nq5ZgMulTzomHS8nz8y4KYnN5awTMxtl6yxSfjVJyNPu1cC7dtwx65vAfr3w0oF1T3ESeJlyQIpvCtQI1GstXeCEOMgk8id729SaFohbaNnxiQcaE+d4Qs425a9OC+5o9WkWULnv5PZcu9uB5ij5VovbZiFw4QKBgBobqv3Q8thIa1DVOwjGnQUUJdYm3WP2ac3qiGtxwpe/kf/dJW4SBbnDfF+FMGiqexR6LMrHewgdKLIMkp/svSks8HqDFiuR+ZWsI91/9sL9+62ACkSGuWQKLz/a8bJALuCvapVdDowIJ0FTOjY7D1BgdxN5zwIi+uO76QUupSblAoGBAOVn1k5AZSjgzJt6xANP9TI08kp0qSO90PepRzo5o0KxbsyEz8rQRlwqfVFBSv5S4JkuTJo/2EqMMbaLW3uDZ2DorIqClGLD3UH6OueH3Ek48WNntoCJy79ovMmsa3AKOaMirARdytrU3AnmlBstBGTaoi7ARAoAJLeTxxUJHjJB
|
||||
#支付宝公钥
|
||||
ali-pay-public-key: MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAkDBcupxSOK3Qd2vjRXtUTglrPF+ijQ64Gf8plOiIFfr9U9dkClBvU4V7jLgmBhI2i1fwuGuGhI2ZhySFkFazPqrBTvL7RXWCYjbkjh/89ZOLwbm6Pz5Vm11mkdv1eqvsp2H/g3nIkVjBeDit1JqJ/jo0Fs30D6o9BjYDMJHmzDwmfH5EJiHSIrtLuUsUZCErpmQX8Uz9TVmTE+XVwIl0Npt1MV5czKIE+apkJPelktHuNhYRpJQ81t67v3euMFQOwaZO6Fk7YsUUZRX8W+Uui6lWJnCkCPUnT/GdBTomaxBq0ZocZtYmnvc9BlZBCkPPzcrOobKUQp1KkyhSZDc//QIDAQAB
|
||||
##对称加密密钥
|
||||
content-key: p+XVGRdcShpQE4faeI6VfQ==
|
||||
#接下来三个是相关地址
|
||||
#支付宝网关
|
||||
gateway-url: https://openapi.alipaydev.com/gateway.do
|
||||
#接收结果通知地址
|
||||
notify-url: http://localhost:8080/#/success
|
||||
#页面跳转同步通知页面路径
|
||||
return-url: https://a863-180-174-204-169.ngrok.io/api/ali-pay/trade/notify
|
||||
|
@ -155,9 +155,7 @@ public class SkuServiceImpl implements SkuService {
|
||||
Map<Long, List<String>> skuIdToRuleListMap = activityFeignClient.findActivity(skuIdList);
|
||||
//封装获取数据到skuEs里面 ruleList属性里面
|
||||
if (skuIdToRuleListMap != null) {
|
||||
skuEsList.forEach(skuEs -> {
|
||||
skuEs.setRuleList(skuIdToRuleListMap.get(skuEs.getId()));
|
||||
});
|
||||
skuEsList.forEach(skuEs -> skuEs.setRuleList(skuIdToRuleListMap.get(skuEs.getId())));
|
||||
}
|
||||
}
|
||||
return pageModel;
|
||||
|
Loading…
Reference in New Issue
Block a user