diff --git a/yudao-framework/yudao-spring-boot-starter-mybatis/src/main/java/cn/iocoder/yudao/framework/datasource/core/enums/DataSourceEnum.java b/yudao-framework/yudao-spring-boot-starter-mybatis/src/main/java/cn/iocoder/yudao/framework/datasource/core/enums/DataSourceEnum.java index c99a256..d8d48eb 100644 --- a/yudao-framework/yudao-spring-boot-starter-mybatis/src/main/java/cn/iocoder/yudao/framework/datasource/core/enums/DataSourceEnum.java +++ b/yudao-framework/yudao-spring-boot-starter-mybatis/src/main/java/cn/iocoder/yudao/framework/datasource/core/enums/DataSourceEnum.java @@ -5,8 +5,6 @@ package cn.iocoder.yudao.framework.datasource.core.enums; * * 通过在方法上,使用 {@link com.baomidou.dynamic.datasource.annotation.DS} 注解,设置使用的数据源。 * 注意,默认是 {@link #MASTER} 数据源 - * - * 对应官方文档为 http://dynamic-datasource.com/guide/customize/Annotation.html */ public interface DataSourceEnum { diff --git a/yudao-framework/yudao-spring-boot-starter-mybatis/src/main/java/cn/iocoder/yudao/framework/mybatis/core/query/LambdaQueryWrapperX.java b/yudao-framework/yudao-spring-boot-starter-mybatis/src/main/java/cn/iocoder/yudao/framework/mybatis/core/query/LambdaQueryWrapperX.java index b5cbcd3..b1216ef 100644 --- a/yudao-framework/yudao-spring-boot-starter-mybatis/src/main/java/cn/iocoder/yudao/framework/mybatis/core/query/LambdaQueryWrapperX.java +++ b/yudao-framework/yudao-spring-boot-starter-mybatis/src/main/java/cn/iocoder/yudao/framework/mybatis/core/query/LambdaQueryWrapperX.java @@ -9,6 +9,7 @@ import org.springframework.util.StringUtils; import java.time.LocalDateTime; import java.util.Collection; +import java.util.function.Consumer; /** * 拓展 MyBatis Plus QueryWrapper 类,主要增加如下功能: @@ -158,4 +159,40 @@ public class LambdaQueryWrapperX extends LambdaQueryWrapper { return this; } + @Override + public LambdaQueryWrapperX exists(boolean condition, String existsSql, Object... values) { + super.exists(condition, existsSql, values); + return this; + } + + @Override + public LambdaQueryWrapperX notExists(boolean condition, String existsSql, Object... values) { + super.notExists(condition, existsSql, values); + return this; + } + + @Override + public LambdaQueryWrapperX and(boolean condition, Consumer> consumer) { + super.and(condition, consumer); + return this; + } + + @Override + public LambdaQueryWrapperX or(boolean condition, Consumer> consumer) { + super.or(condition, consumer); + return this; + } + + @Override + public LambdaQueryWrapperX nested(boolean condition, Consumer> consumer) { + super.nested(condition, consumer); + return this; + } + + @Override + public LambdaQueryWrapperX not(boolean condition, Consumer> consumer) { + super.not(condition, consumer); + return this; + } + } diff --git a/yudao-module-pay/src/main/java/cn/iocoder/yudao/module/pay/dal/dataobject/order/PayOrderDO.java b/yudao-module-pay/src/main/java/cn/iocoder/yudao/module/pay/dal/dataobject/order/PayOrderDO.java index 4eea1cc..499c85c 100644 --- a/yudao-module-pay/src/main/java/cn/iocoder/yudao/module/pay/dal/dataobject/order/PayOrderDO.java +++ b/yudao-module-pay/src/main/java/cn/iocoder/yudao/module/pay/dal/dataobject/order/PayOrderDO.java @@ -136,7 +136,7 @@ public class PayOrderDO extends BaseDO { /** * 渠道用户编号 * - * 例如说,微信 openid、支付宝账号 + * 例如说,微信 openid、支付宝 buyerId(buyerOpenId) */ private String channelUserId; /** diff --git a/yudao-module-pay/src/main/java/cn/iocoder/yudao/module/pay/framework/pay/core/client/impl/alipay/AbstractAlipayPayClient.java b/yudao-module-pay/src/main/java/cn/iocoder/yudao/module/pay/framework/pay/core/client/impl/alipay/AbstractAlipayPayClient.java index 15540a9..21a2198 100644 --- a/yudao-module-pay/src/main/java/cn/iocoder/yudao/module/pay/framework/pay/core/client/impl/alipay/AbstractAlipayPayClient.java +++ b/yudao-module-pay/src/main/java/cn/iocoder/yudao/module/pay/framework/pay/core/client/impl/alipay/AbstractAlipayPayClient.java @@ -4,6 +4,7 @@ import cn.hutool.core.bean.BeanUtil; import cn.hutool.core.date.LocalDateTimeUtil; import cn.hutool.core.lang.Assert; import cn.hutool.core.map.MapUtil; +import cn.hutool.core.text.CharSequenceUtil; import cn.hutool.core.util.StrUtil; import cn.hutool.http.HttpUtil; import cn.iocoder.yudao.framework.common.util.json.JsonUtils; @@ -92,9 +93,12 @@ public abstract class AbstractAlipayPayClient extends AbstractPayClient) () -> { - throw new IllegalArgumentException(StrUtil.format("body({}) 的 trade_status 不正确", body)); + throw new IllegalArgumentException(CharSequenceUtil.format("body({}) 的 trade_status 不正确", body)); }); - return PayOrderRespDTO.of(status, bodyObj.get("trade_no"), bodyObj.get("seller_id"), parseTime(params.get("gmt_payment")), + // https://opendocs.alipay.com/open/00dn78?pathHash=fef00e6d#%E5%BC%82%E6%AD%A5%E9%80%9A%E7%9F%A5%E5%8F%82%E6%95%B0 + // buyer_id(buyer_open_id)买家支付宝用户号,seller_id 卖家支付宝用户号 + String channelUserId = CharSequenceUtil.nullToDefault(bodyObj.get("buyer_open_id"), bodyObj.get("buyer_id")); + return PayOrderRespDTO.of(status, bodyObj.get("trade_no"), channelUserId, parseTime(params.get("gmt_payment")), bodyObj.get("out_trade_no"), body); }