page);
PayWalletTransactionDO convert(WalletTransactionCreateReqBO bean);
diff --git a/yudao-module-pay/yudao-module-pay-biz/src/main/java/cn/iocoder/yudao/module/pay/dal/dataobject/app/PayAppDO.java b/yudao-module-pay/yudao-module-pay-biz/src/main/java/cn/iocoder/yudao/module/pay/dal/dataobject/app/PayAppDO.java
index 977eff93a..8f3490fc7 100644
--- a/yudao-module-pay/yudao-module-pay-biz/src/main/java/cn/iocoder/yudao/module/pay/dal/dataobject/app/PayAppDO.java
+++ b/yudao-module-pay/yudao-module-pay-biz/src/main/java/cn/iocoder/yudao/module/pay/dal/dataobject/app/PayAppDO.java
@@ -54,4 +54,9 @@ public class PayAppDO extends BaseDO {
*/
private String refundNotifyUrl;
+ /**
+ * 转账结果的回调地址
+ */
+ private String transferNotifyUrl;
+
}
diff --git a/yudao-module-pay/yudao-module-pay-biz/src/main/java/cn/iocoder/yudao/module/pay/dal/dataobject/demo/PayDemoTransferDO.java b/yudao-module-pay/yudao-module-pay-biz/src/main/java/cn/iocoder/yudao/module/pay/dal/dataobject/demo/PayDemoTransferDO.java
index b036c30a2..f465d0be6 100644
--- a/yudao-module-pay/yudao-module-pay-biz/src/main/java/cn/iocoder/yudao/module/pay/dal/dataobject/demo/PayDemoTransferDO.java
+++ b/yudao-module-pay/yudao-module-pay-biz/src/main/java/cn/iocoder/yudao/module/pay/dal/dataobject/demo/PayDemoTransferDO.java
@@ -1,16 +1,16 @@
package cn.iocoder.yudao.module.pay.dal.dataobject.demo;
import cn.iocoder.yudao.framework.mybatis.core.dataobject.BaseDO;
+import cn.iocoder.yudao.framework.pay.core.enums.transfer.PayTransferTypeEnum;
+import cn.iocoder.yudao.module.pay.dal.dataobject.app.PayAppDO;
import com.baomidou.mybatisplus.annotation.KeySequence;
-import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
-import com.baomidou.mybatisplus.extension.handlers.JacksonTypeHandler;
import lombok.Data;
import java.time.LocalDateTime;
-import java.util.Map;
+// TODO 芋艿:需要详细 review
/**
* 示例转账订单
*
@@ -28,9 +28,18 @@ public class PayDemoTransferDO extends BaseDO {
private Long id;
/**
- * 用户编号
+ * 应用编号
+ *
+ * 关联 {@link PayAppDO#getId()}
*/
- private Long userId;
+ private Long appId;
+
+ /**
+ * 转账类型
+ *
+ * 枚举 {@link PayTransferTypeEnum}
+ */
+ private Integer type;
/**
* 转账金额,单位:分
@@ -38,16 +47,19 @@ public class PayDemoTransferDO extends BaseDO {
private Integer price;
/**
- * 转账类型
+ * 收款人姓名
*/
- private Integer type;
+ private String userName;
- // TODO @jason:要不字段还是弄成正确的平铺开?
/**
- * 收款人信息,不同类型和渠道不同
+ * 支付宝登录号
*/
- @TableField(typeHandler = JacksonTypeHandler.class)
- private Map payeeInfo;
+ private String alipayLogonId;
+
+ /**
+ * 微信 openId
+ */
+ private String openid;
/**
* 转账状态
@@ -55,7 +67,7 @@ public class PayDemoTransferDO extends BaseDO {
private Integer transferStatus;
/**
- * 转账订单编号
+ * 转账单编号
*/
private Long payTransferId;
diff --git a/yudao-module-pay/yudao-module-pay-biz/src/main/java/cn/iocoder/yudao/module/pay/dal/dataobject/notify/PayNotifyLogDO.java b/yudao-module-pay/yudao-module-pay-biz/src/main/java/cn/iocoder/yudao/module/pay/dal/dataobject/notify/PayNotifyLogDO.java
index a482605d5..a2c158bcd 100644
--- a/yudao-module-pay/yudao-module-pay-biz/src/main/java/cn/iocoder/yudao/module/pay/dal/dataobject/notify/PayNotifyLogDO.java
+++ b/yudao-module-pay/yudao-module-pay-biz/src/main/java/cn/iocoder/yudao/module/pay/dal/dataobject/notify/PayNotifyLogDO.java
@@ -1,7 +1,7 @@
package cn.iocoder.yudao.module.pay.dal.dataobject.notify;
-import cn.iocoder.yudao.module.pay.enums.notify.PayNotifyStatusEnum;
import cn.iocoder.yudao.framework.mybatis.core.dataobject.BaseDO;
+import cn.iocoder.yudao.module.pay.enums.notify.PayNotifyStatusEnum;
import com.baomidou.mybatisplus.annotation.KeySequence;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.*;
diff --git a/yudao-module-pay/yudao-module-pay-biz/src/main/java/cn/iocoder/yudao/module/pay/dal/dataobject/notify/PayNotifyTaskDO.java b/yudao-module-pay/yudao-module-pay-biz/src/main/java/cn/iocoder/yudao/module/pay/dal/dataobject/notify/PayNotifyTaskDO.java
index 181a32802..7bfabad3f 100644
--- a/yudao-module-pay/yudao-module-pay-biz/src/main/java/cn/iocoder/yudao/module/pay/dal/dataobject/notify/PayNotifyTaskDO.java
+++ b/yudao-module-pay/yudao-module-pay-biz/src/main/java/cn/iocoder/yudao/module/pay/dal/dataobject/notify/PayNotifyTaskDO.java
@@ -66,6 +66,10 @@ public class PayNotifyTaskDO extends TenantBaseDO {
* 商户订单编号
*/
private String merchantOrderId;
+ /**
+ * 商户转账单编号
+ */
+ private String merchantTransferId;
/**
* 通知状态
*
diff --git a/yudao-module-pay/yudao-module-pay-biz/src/main/java/cn/iocoder/yudao/module/pay/dal/dataobject/order/PayOrderExtensionDO.java b/yudao-module-pay/yudao-module-pay-biz/src/main/java/cn/iocoder/yudao/module/pay/dal/dataobject/order/PayOrderExtensionDO.java
index 9466243e1..c173e8e32 100644
--- a/yudao-module-pay/yudao-module-pay-biz/src/main/java/cn/iocoder/yudao/module/pay/dal/dataobject/order/PayOrderExtensionDO.java
+++ b/yudao-module-pay/yudao-module-pay-biz/src/main/java/cn/iocoder/yudao/module/pay/dal/dataobject/order/PayOrderExtensionDO.java
@@ -1,9 +1,9 @@
package cn.iocoder.yudao.module.pay.dal.dataobject.order;
+import cn.iocoder.yudao.framework.mybatis.core.dataobject.BaseDO;
import cn.iocoder.yudao.framework.pay.core.client.dto.order.PayOrderRespDTO;
import cn.iocoder.yudao.module.pay.dal.dataobject.channel.PayChannelDO;
import cn.iocoder.yudao.module.pay.enums.order.PayOrderStatusEnum;
-import cn.iocoder.yudao.framework.mybatis.core.dataobject.BaseDO;
import com.baomidou.mybatisplus.annotation.KeySequence;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableName;
diff --git a/yudao-module-pay/yudao-module-pay-biz/src/main/java/cn/iocoder/yudao/module/pay/dal/dataobject/transfer/PayTransferDO.java b/yudao-module-pay/yudao-module-pay-biz/src/main/java/cn/iocoder/yudao/module/pay/dal/dataobject/transfer/PayTransferDO.java
index 507157a7a..8f3563ffb 100644
--- a/yudao-module-pay/yudao-module-pay-biz/src/main/java/cn/iocoder/yudao/module/pay/dal/dataobject/transfer/PayTransferDO.java
+++ b/yudao-module-pay/yudao-module-pay-biz/src/main/java/cn/iocoder/yudao/module/pay/dal/dataobject/transfer/PayTransferDO.java
@@ -16,6 +16,7 @@ import lombok.Data;
import java.time.LocalDateTime;
import java.util.Map;
+// TODO 芋艿:需要详细 review
/**
* 转账单 DO
*
@@ -31,24 +32,44 @@ public class PayTransferDO extends BaseDO {
*/
@TableId
private Long id;
+
+ /**
+ * 转账单号
+ *
+ */
+ private String no;
+
/**
* 应用编号
*
* 关联 {@link PayAppDO#getId()}
*/
private Long appId;
+
/**
* 转账渠道编号
*
* 关联 {@link PayChannelDO#getId()}
*/
private Long channelId;
+
/**
* 转账渠道编码
*
* 枚举 {@link PayChannelEnum}
*/
private String channelCode;
+
+ // ========== 商户相关字段 ==========
+ /**
+ * 商户转账单编号
+ *
+ * 例如说,内部系统 A 的订单号,需要保证每个 PayAppDO 唯一
+ */
+ private String merchantTransferId;
+
+ // ========== 转账相关字段 ==========
+
/**
* 类型
*
@@ -56,51 +77,82 @@ public class PayTransferDO extends BaseDO {
*/
private Integer type;
- // ========== 商户相关字段 ==========
-
- /**
- * 商户订单编号
- *
- * 例如说,内部系统 A 的订单号,需要保证每个 PayAppDO 唯一
- */
- private String merchantOrderId;
-
/**
* 转账标题
*/
private String subject;
- // ========== 转账相关字段 ==========
/**
* 转账金额,单位:分
*/
private Integer price;
+
+ /**
+ * 收款人姓名
+ */
+ private String userName;
+
/**
* 转账状态
*
* 枚举 {@link PayTransferStatusRespEnum}
*/
private Integer status;
+
/**
* 订单转账成功时间
*/
private LocalDateTime successTime;
+
+ // ========== 支付宝转账相关字段 ==========
/**
- * 转账成功的转账拓展单编号
- *
- * 关联 {@link PayTransferExtensionDO#getId()}
+ * 支付宝登录号
*/
- private Long extensionId;
+ private String alipayLogonId;
+
+
+ // ========== 微信转账相关字段 ==========
/**
- * 转账成功的转账拓展单号
- *
- * 关联 {@link PayTransferExtensionDO#getNo()}
+ * 微信 openId
*/
- private String no;
+ private String openid;
+
+ // ========== 其它字段 ==========
+
/**
- * 收款人信息,不同类型和渠道不同
+ * 异步通知地址
+ */
+ private String notifyUrl;
+
+ /**
+ * 用户 IP
+ */
+ private String userIp;
+
+ /**
+ * 渠道的额外参数
*/
@TableField(typeHandler = JacksonTypeHandler.class)
- private Map payeeInfo;
+ private Map channelExtras;
+
+ /**
+ * 渠道转账单号
+ */
+ private String channelTransferNo;
+
+ /**
+ * 调用渠道的错误码
+ */
+ private String channelErrorCode;
+ /**
+ * 调用渠道的错误提示
+ */
+ private String channelErrorMsg;
+
+ /**
+ * 渠道的同步/异步通知的内容
+ *
+ */
+ private String channelNotifyData;
}
\ No newline at end of file
diff --git a/yudao-module-pay/yudao-module-pay-biz/src/main/java/cn/iocoder/yudao/module/pay/dal/dataobject/transfer/PayTransferExtensionDO.java b/yudao-module-pay/yudao-module-pay-biz/src/main/java/cn/iocoder/yudao/module/pay/dal/dataobject/transfer/PayTransferExtensionDO.java
deleted file mode 100644
index c3d4253e8..000000000
--- a/yudao-module-pay/yudao-module-pay-biz/src/main/java/cn/iocoder/yudao/module/pay/dal/dataobject/transfer/PayTransferExtensionDO.java
+++ /dev/null
@@ -1,68 +0,0 @@
-package cn.iocoder.yudao.module.pay.dal.dataobject.transfer;
-
-import cn.iocoder.yudao.framework.mybatis.core.dataobject.BaseDO;
-import com.baomidou.mybatisplus.annotation.KeySequence;
-import com.baomidou.mybatisplus.annotation.TableField;
-import com.baomidou.mybatisplus.annotation.TableId;
-import com.baomidou.mybatisplus.annotation.TableName;
-import com.baomidou.mybatisplus.extension.handlers.JacksonTypeHandler;
-import lombok.Data;
-
-import java.util.Map;
-
-// TODO @jason:转账是不是类似 refund,不用拓展单呀?支付做拓展单的原因,是因为它存在不确定性,可以切换多种;转账和退款,都是明确方式的;
-// @芋艿 转账是不是也存在多种方式。 例如转账到银行卡。 可以使用微信,也可以使用支付宝。 支付宝账号余额不够,可以切换到微信;
-// TODO @jason:发起了,就不允许调整了,类似退款哈;
-/**
- * 转账拓展单 DO
- *
- * @author jason
- */
-@TableName(value ="pay_transfer_extension",autoResultMap = true)
-@KeySequence("pay_transfer_extension_seq") // 用于 Oracle、PostgreSQL、Kingbase、DB2、H2 数据库的主键自增。如果是 MySQL 等数据库,可不写。
-@Data
-public class PayTransferExtensionDO extends BaseDO {
-
- /**
- * 编号
- */
- @TableId
- private Long id;
-
- /**
- * 转账单号
- */
- private String no;
-
- /**
- * 转账单编号
- */
- private Long transferId;
-
- /**
- * 转账渠道编号
- */
- private Long channelId;
-
- /**
- * 转账渠道编码
- */
- private String channelCode;
-
- /**
- * 支付渠道的额外参数
- */
- @TableField(typeHandler = JacksonTypeHandler.class)
- private Map channelExtras;
-
- /**
- * 转账状态
- */
- private Integer status;
-
- /**
- * 支付渠道异步通知的内容
- */
- private String channelNotifyData;
-
-}
diff --git a/yudao-module-pay/yudao-module-pay-biz/src/main/java/cn/iocoder/yudao/module/pay/dal/mysql/app/PayAppMapper.java b/yudao-module-pay/yudao-module-pay-biz/src/main/java/cn/iocoder/yudao/module/pay/dal/mysql/app/PayAppMapper.java
index c31dba551..ccec907c6 100644
--- a/yudao-module-pay/yudao-module-pay-biz/src/main/java/cn/iocoder/yudao/module/pay/dal/mysql/app/PayAppMapper.java
+++ b/yudao-module-pay/yudao-module-pay-biz/src/main/java/cn/iocoder/yudao/module/pay/dal/mysql/app/PayAppMapper.java
@@ -3,7 +3,6 @@ package cn.iocoder.yudao.module.pay.dal.mysql.app;
import cn.iocoder.yudao.framework.common.pojo.PageResult;
import cn.iocoder.yudao.framework.mybatis.core.mapper.BaseMapperX;
import cn.iocoder.yudao.framework.mybatis.core.query.LambdaQueryWrapperX;
-import cn.iocoder.yudao.framework.mybatis.core.query.QueryWrapperX;
import cn.iocoder.yudao.module.pay.controller.admin.app.vo.PayAppPageReqVO;
import cn.iocoder.yudao.module.pay.dal.dataobject.app.PayAppDO;
import org.apache.ibatis.annotations.Mapper;
diff --git a/yudao-module-pay/yudao-module-pay-biz/src/main/java/cn/iocoder/yudao/module/pay/dal/mysql/demo/PayDemoTransferMapper.java b/yudao-module-pay/yudao-module-pay-biz/src/main/java/cn/iocoder/yudao/module/pay/dal/mysql/demo/PayDemoTransferMapper.java
index a2a600660..77c7ba047 100644
--- a/yudao-module-pay/yudao-module-pay-biz/src/main/java/cn/iocoder/yudao/module/pay/dal/mysql/demo/PayDemoTransferMapper.java
+++ b/yudao-module-pay/yudao-module-pay-biz/src/main/java/cn/iocoder/yudao/module/pay/dal/mysql/demo/PayDemoTransferMapper.java
@@ -1,10 +1,17 @@
package cn.iocoder.yudao.module.pay.dal.mysql.demo;
+import cn.iocoder.yudao.framework.common.pojo.PageParam;
+import cn.iocoder.yudao.framework.common.pojo.PageResult;
import cn.iocoder.yudao.framework.mybatis.core.mapper.BaseMapperX;
+import cn.iocoder.yudao.framework.mybatis.core.query.LambdaQueryWrapperX;
import cn.iocoder.yudao.module.pay.dal.dataobject.demo.PayDemoTransferDO;
import org.apache.ibatis.annotations.Mapper;
@Mapper
public interface PayDemoTransferMapper extends BaseMapperX {
-}
+ default PageResult selectPage(PageParam pageParam){
+ return selectPage(pageParam, new LambdaQueryWrapperX()
+ .orderByDesc(PayDemoTransferDO::getId));
+ }
+}
\ No newline at end of file
diff --git a/yudao-module-pay/yudao-module-pay-biz/src/main/java/cn/iocoder/yudao/module/pay/dal/mysql/notify/PayNotifyLogMapper.java b/yudao-module-pay/yudao-module-pay-biz/src/main/java/cn/iocoder/yudao/module/pay/dal/mysql/notify/PayNotifyLogMapper.java
index 8b586dff2..5e9222692 100644
--- a/yudao-module-pay/yudao-module-pay-biz/src/main/java/cn/iocoder/yudao/module/pay/dal/mysql/notify/PayNotifyLogMapper.java
+++ b/yudao-module-pay/yudao-module-pay-biz/src/main/java/cn/iocoder/yudao/module/pay/dal/mysql/notify/PayNotifyLogMapper.java
@@ -1,7 +1,7 @@
package cn.iocoder.yudao.module.pay.dal.mysql.notify;
-import cn.iocoder.yudao.module.pay.dal.dataobject.notify.PayNotifyLogDO;
import cn.iocoder.yudao.framework.mybatis.core.mapper.BaseMapperX;
+import cn.iocoder.yudao.module.pay.dal.dataobject.notify.PayNotifyLogDO;
import org.apache.ibatis.annotations.Mapper;
import java.util.List;
diff --git a/yudao-module-pay/yudao-module-pay-biz/src/main/java/cn/iocoder/yudao/module/pay/dal/mysql/transfer/PayTransferExtensionMapper.java b/yudao-module-pay/yudao-module-pay-biz/src/main/java/cn/iocoder/yudao/module/pay/dal/mysql/transfer/PayTransferExtensionMapper.java
deleted file mode 100644
index 8e808f24d..000000000
--- a/yudao-module-pay/yudao-module-pay-biz/src/main/java/cn/iocoder/yudao/module/pay/dal/mysql/transfer/PayTransferExtensionMapper.java
+++ /dev/null
@@ -1,26 +0,0 @@
-package cn.iocoder.yudao.module.pay.dal.mysql.transfer;
-
-import cn.iocoder.yudao.framework.mybatis.core.mapper.BaseMapperX;
-import cn.iocoder.yudao.module.pay.dal.dataobject.transfer.PayTransferExtensionDO;
-import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
-import org.apache.ibatis.annotations.Mapper;
-
-import java.util.List;
-
-@Mapper
-public interface PayTransferExtensionMapper extends BaseMapperX {
-
- default PayTransferExtensionDO selectByNo(String no){
- return selectOne(PayTransferExtensionDO::getNo, no);
- }
-
- default int updateByIdAndStatus(Long id, List whereStatuses, PayTransferExtensionDO updateObj) {
- return update(updateObj, new LambdaQueryWrapper()
- .eq(PayTransferExtensionDO::getId, id).in(PayTransferExtensionDO::getStatus, whereStatuses));
- }
-
-}
-
-
-
-
diff --git a/yudao-module-pay/yudao-module-pay-biz/src/main/java/cn/iocoder/yudao/module/pay/dal/mysql/transfer/PayTransferMapper.java b/yudao-module-pay/yudao-module-pay-biz/src/main/java/cn/iocoder/yudao/module/pay/dal/mysql/transfer/PayTransferMapper.java
index 3bd25d4b5..af4f6debf 100644
--- a/yudao-module-pay/yudao-module-pay-biz/src/main/java/cn/iocoder/yudao/module/pay/dal/mysql/transfer/PayTransferMapper.java
+++ b/yudao-module-pay/yudao-module-pay-biz/src/main/java/cn/iocoder/yudao/module/pay/dal/mysql/transfer/PayTransferMapper.java
@@ -1,6 +1,9 @@
package cn.iocoder.yudao.module.pay.dal.mysql.transfer;
+import cn.iocoder.yudao.framework.common.pojo.PageResult;
import cn.iocoder.yudao.framework.mybatis.core.mapper.BaseMapperX;
+import cn.iocoder.yudao.framework.mybatis.core.query.LambdaQueryWrapperX;
+import cn.iocoder.yudao.module.pay.controller.admin.transfer.vo.PayTransferPageReqVO;
import cn.iocoder.yudao.module.pay.dal.dataobject.transfer.PayTransferDO;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import org.apache.ibatis.annotations.Mapper;
@@ -15,6 +18,32 @@ public interface PayTransferMapper extends BaseMapperX {
.eq(PayTransferDO::getId, id).in(PayTransferDO::getStatus, status));
}
+ default PayTransferDO selectByAppIdAndMerchantTransferId(Long appId, String merchantTransferId){
+ return selectOne(PayTransferDO::getAppId, appId,
+ PayTransferDO::getMerchantTransferId, merchantTransferId);
+ }
+
+ default PayTransferDO selectByNo(String no){
+ return selectOne(PayTransferDO::getNo, no);
+ }
+
+ default PageResult selectPage(PayTransferPageReqVO reqVO) {
+ return selectPage(reqVO, new LambdaQueryWrapperX()
+ .eqIfPresent(PayTransferDO::getNo, reqVO.getNo())
+ .eqIfPresent(PayTransferDO::getAppId, reqVO.getAppId())
+ .eqIfPresent(PayTransferDO::getChannelCode, reqVO.getChannelCode())
+ .eqIfPresent(PayTransferDO::getMerchantTransferId, reqVO.getMerchantTransferId())
+ .eqIfPresent(PayTransferDO::getType, reqVO.getType())
+ .eqIfPresent(PayTransferDO::getStatus, reqVO.getStatus())
+ .likeIfPresent(PayTransferDO::getUserName, reqVO.getUserName())
+ .eqIfPresent(PayTransferDO::getChannelTransferNo, reqVO.getChannelTransferNo())
+ .betweenIfPresent(PayTransferDO::getCreateTime, reqVO.getCreateTime())
+ .orderByDesc(PayTransferDO::getId));
+ }
+
+ default List selectListByStatus(Integer status){
+ return selectList(PayTransferDO::getStatus, status);
+ }
}
diff --git a/yudao-module-pay/yudao-module-pay-biz/src/main/java/cn/iocoder/yudao/module/pay/dal/mysql/wallet/PayWalletMapper.java b/yudao-module-pay/yudao-module-pay-biz/src/main/java/cn/iocoder/yudao/module/pay/dal/mysql/wallet/PayWalletMapper.java
index ce672255a..4bbaff8b5 100644
--- a/yudao-module-pay/yudao-module-pay-biz/src/main/java/cn/iocoder/yudao/module/pay/dal/mysql/wallet/PayWalletMapper.java
+++ b/yudao-module-pay/yudao-module-pay-biz/src/main/java/cn/iocoder/yudao/module/pay/dal/mysql/wallet/PayWalletMapper.java
@@ -17,10 +17,10 @@ public interface PayWalletMapper extends BaseMapperX {
PayWalletDO::getUserType, userType);
}
- default PageResult selectPage(Integer userType, PayWalletPageReqVO reqVO) {
+ default PageResult selectPage(PayWalletPageReqVO reqVO) {
return selectPage(reqVO, new LambdaQueryWrapperX()
- .inIfPresent(PayWalletDO::getUserId, reqVO.getUserIds())
- .eqIfPresent(PayWalletDO::getUserType, userType)
+ .eqIfPresent(PayWalletDO::getUserId, reqVO.getUserId())
+ .eqIfPresent(PayWalletDO::getUserType, reqVO.getUserType())
.betweenIfPresent(PayWalletDO::getCreateTime, reqVO.getCreateTime())
.orderByDesc(PayWalletDO::getId));
}
@@ -31,7 +31,7 @@ public interface PayWalletMapper extends BaseMapperX {
* @param id 钱包 id
* @param price 消费金额
*/
- default int updateWhenConsumptionRefund(Long id, Integer price){
+ default int updateWhenConsumptionRefund(Long id, Integer price) {
LambdaUpdateWrapper lambdaUpdateWrapper = new LambdaUpdateWrapper()
.setSql(" balance = balance + " + price
+ ", total_expense = total_expense - " + price)
diff --git a/yudao-module-pay/yudao-module-pay-biz/src/main/java/cn/iocoder/yudao/module/pay/dal/mysql/wallet/PayWalletRechargeMapper.java b/yudao-module-pay/yudao-module-pay-biz/src/main/java/cn/iocoder/yudao/module/pay/dal/mysql/wallet/PayWalletRechargeMapper.java
index 4cb77f020..d6de1f803 100644
--- a/yudao-module-pay/yudao-module-pay-biz/src/main/java/cn/iocoder/yudao/module/pay/dal/mysql/wallet/PayWalletRechargeMapper.java
+++ b/yudao-module-pay/yudao-module-pay-biz/src/main/java/cn/iocoder/yudao/module/pay/dal/mysql/wallet/PayWalletRechargeMapper.java
@@ -1,5 +1,7 @@
package cn.iocoder.yudao.module.pay.dal.mysql.wallet;
+import cn.iocoder.yudao.framework.common.pojo.PageParam;
+import cn.iocoder.yudao.framework.common.pojo.PageResult;
import cn.iocoder.yudao.framework.mybatis.core.mapper.BaseMapperX;
import cn.iocoder.yudao.framework.mybatis.core.query.LambdaQueryWrapperX;
import cn.iocoder.yudao.module.pay.dal.dataobject.wallet.PayWalletRechargeDO;
@@ -18,4 +20,11 @@ public interface PayWalletRechargeMapper extends BaseMapperX selectPage(PageParam pageReqVO, Long walletId, Boolean payStatus) {
+ return selectPage(pageReqVO, new LambdaQueryWrapperX()
+ .eq(PayWalletRechargeDO::getWalletId, walletId)
+ .eq(PayWalletRechargeDO::getPayStatus, payStatus)
+ .orderByDesc(PayWalletRechargeDO::getId));
+ }
+
}
\ No newline at end of file
diff --git a/yudao-module-pay/yudao-module-pay-biz/src/main/java/cn/iocoder/yudao/module/pay/dal/mysql/wallet/PayWalletRechargePackageMapper.java b/yudao-module-pay/yudao-module-pay-biz/src/main/java/cn/iocoder/yudao/module/pay/dal/mysql/wallet/PayWalletRechargePackageMapper.java
index b68b4c893..821908c89 100644
--- a/yudao-module-pay/yudao-module-pay-biz/src/main/java/cn/iocoder/yudao/module/pay/dal/mysql/wallet/PayWalletRechargePackageMapper.java
+++ b/yudao-module-pay/yudao-module-pay-biz/src/main/java/cn/iocoder/yudao/module/pay/dal/mysql/wallet/PayWalletRechargePackageMapper.java
@@ -8,6 +8,8 @@ import cn.iocoder.yudao.module.pay.controller.admin.wallet.vo.rechargepackage.Wa
import cn.iocoder.yudao.module.pay.dal.dataobject.wallet.PayWalletRechargePackageDO;
import org.apache.ibatis.annotations.Mapper;
+import java.util.List;
+
@Mapper
public interface PayWalletRechargePackageMapper extends BaseMapperX {
@@ -19,9 +21,12 @@ public interface PayWalletRechargePackageMapper extends BaseMapperX selectListByStatus(Integer status) {
+ return selectList(PayWalletRechargePackageDO::getStatus, status);
+ }
+
}
diff --git a/yudao-module-pay/yudao-module-pay-biz/src/main/java/cn/iocoder/yudao/module/pay/dal/mysql/wallet/PayWalletTransactionMapper.java b/yudao-module-pay/yudao-module-pay-biz/src/main/java/cn/iocoder/yudao/module/pay/dal/mysql/wallet/PayWalletTransactionMapper.java
index 41d7dbeb4..87d80ceb5 100644
--- a/yudao-module-pay/yudao-module-pay-biz/src/main/java/cn/iocoder/yudao/module/pay/dal/mysql/wallet/PayWalletTransactionMapper.java
+++ b/yudao-module-pay/yudao-module-pay-biz/src/main/java/cn/iocoder/yudao/module/pay/dal/mysql/wallet/PayWalletTransactionMapper.java
@@ -1,32 +1,54 @@
package cn.iocoder.yudao.module.pay.dal.mysql.wallet;
+import cn.hutool.core.collection.CollUtil;
+import cn.hutool.core.map.MapUtil;
import cn.iocoder.yudao.framework.common.pojo.PageParam;
import cn.iocoder.yudao.framework.common.pojo.PageResult;
import cn.iocoder.yudao.framework.mybatis.core.mapper.BaseMapperX;
import cn.iocoder.yudao.framework.mybatis.core.query.LambdaQueryWrapperX;
-import cn.iocoder.yudao.module.pay.controller.app.wallet.vo.transaction.AppPayWalletTransactionPageReqVO;
+import cn.iocoder.yudao.framework.mybatis.core.query.QueryWrapperX;
import cn.iocoder.yudao.module.pay.dal.dataobject.wallet.PayWalletTransactionDO;
import org.apache.ibatis.annotations.Mapper;
+import java.time.LocalDateTime;
+import java.util.List;
+import java.util.Map;
import java.util.Objects;
+import static cn.iocoder.yudao.module.pay.controller.app.wallet.vo.transaction.AppPayWalletTransactionPageReqVO.TYPE_EXPENSE;
+import static cn.iocoder.yudao.module.pay.controller.app.wallet.vo.transaction.AppPayWalletTransactionPageReqVO.TYPE_INCOME;
+
@Mapper
public interface PayWalletTransactionMapper extends BaseMapperX {
default PageResult selectPage(Long walletId, Integer type,
- PageParam pageParam) {
+ PageParam pageParam, LocalDateTime[] createTime) {
LambdaQueryWrapperX query = new LambdaQueryWrapperX()
.eqIfPresent(PayWalletTransactionDO::getWalletId, walletId);
- if (Objects.equals(type, AppPayWalletTransactionPageReqVO.TYPE_INCOME)) {
+ if (Objects.equals(type, TYPE_INCOME)) {
query.gt(PayWalletTransactionDO::getPrice, 0);
- } else if (Objects.equals(type, AppPayWalletTransactionPageReqVO.TYPE_EXPENSE)) {
+ } else if (Objects.equals(type, TYPE_EXPENSE)) {
query.lt(PayWalletTransactionDO::getPrice, 0);
}
+ query.betweenIfPresent(PayWalletTransactionDO::getCreateTime, createTime);
query.orderByDesc(PayWalletTransactionDO::getId);
return selectPage(pageParam, query);
}
+ default Integer selectPriceSum(Long walletId, Integer type, LocalDateTime[] createTime) {
+ // SQL sum 查询
+ List