From 45131ab1e3c87c30343c885414298259e6627ffd Mon Sep 17 00:00:00 2001
From: 彭雪彬 <1724387007@qq.com>
Date: Tue, 01 Jul 2025 18:54:59 +0800
Subject: [PATCH] 骑手接口提交
---
oying-system/src/main/java/com/oying/modules/rider/domain/dto/RiderIncomeDetailQueryCriteria.java | 42
oying-system/src/main/java/com/oying/modules/rider/mapper/RiderOrderReminderMapper.java | 22
oying-system/src/main/java/com/oying/modules/rider/domain/dto/RiderOrderRecordQueryCriteria.java | 53
oying-system/src/main/java/com/oying/modules/rider/service/RiderIncomeDetailService.java | 62 +
oying-system/src/main/java/com/oying/modules/rider/domain/RiderIncomeDetail.java | 74 +
oying-system/src/main/java/com/oying/modules/rider/service/impl/RiderWalletInfoServiceImpl.java | 97 +
oying-system/src/main/java/com/oying/modules/rider/domain/dto/RiderOrderOperationQueryCriteria.java | 43
oying-system/src/main/java/com/oying/modules/rider/domain/RiderOrderOperation.java | 56
oying-system/src/main/java/com/oying/modules/rider/rest/RiderIncomeDetailController.java | 73 +
oying-system/src/main/java/com/oying/modules/rider/domain/dto/RiderOrderReminderQueryCriteria.java | 50
oying-system/src/main/java/com/oying/modules/rider/service/impl/RiderOrderRecordServiceImpl.java | 90 +
oying-system/src/main/java/com/oying/modules/rider/service/RiderWalletInfoService.java | 66 +
oying-system/src/main/java/com/oying/modules/rider/domain/RiderSourceInfoHttp.java | 25
oying-system/src/main/java/com/oying/modules/rider/domain/RiderWithdrawalRecord.java | 79 +
oying-system/src/main/java/com/oying/modules/rider/service/RiderOrderRecordService.java | 59 +
oying-system/src/main/java/com/oying/modules/rider/domain/RiderWalletInfo.java | 69 +
oying-system/src/main/resources/mapper/rider/RiderOrderReminderMapper.xml | 71 +
oying-system/src/main/java/com/oying/modules/rider/utils/RiderSourceHttpUtils.java | 108 +
oying-system/src/main/java/com/oying/modules/rider/domain/dto/RiderWithdrawalRecordQueryCriteria.java | 48
oying-system/src/main/java/com/oying/modules/rider/rest/RiderInfoController.java | 73 +
oying-system/src/main/java/com/oying/modules/rider/mapper/RiderOrderOperationMapper.java | 22
oying-system/src/main/java/com/oying/modules/rider/service/RiderWithdrawalRecordService.java | 59 +
oying-system/src/main/java/com/oying/modules/rider/domain/dto/RiderWalletInfoQueryCriteria.java | 29
oying-system/src/main/java/com/oying/modules/rider/service/RiderOrderReminderService.java | 59 +
oying-system/src/main/java/com/oying/modules/rider/service/RiderOrderOperationService.java | 59 +
oying-system/src/main/java/com/oying/modules/rider/service/impl/RiderWithdrawalRecordServiceImpl.java | 91 +
oying-system/src/main/resources/mapper/rider/RiderOrderRecordMapper.xml | 87 +
oying-system/src/main/java/com/oying/modules/rider/mapper/RiderWalletInfoMapper.java | 22
oying-system/src/main/java/com/oying/modules/rider/rest/RiderWalletInfoController.java | 74 +
oying-system/src/main/resources/mapper/rider/RiderIncomeDetailMapper.xml | 61 +
oying-system/src/main/java/com/oying/modules/rider/rest/RiderOrderReminderController.java | 73 +
oying-system/src/main/java/com/oying/modules/rider/domain/dto/RiderInfoQueryCriteria.java | 42
oying-system/src/main/java/com/oying/modules/rider/utils/Constants.java | 29
oying-system/src/main/resources/mapper/rider/RiderWithdrawalRecordMapper.xml | 72 +
oying-system/src/main/resources/mapper/rider/RiderWalletInfoMapper.xml | 47
oying-system/src/main/java/com/oying/modules/rider/domain/RiderInfo.java | 74 +
oying-system/src/main/java/com/oying/modules/rider/rest/RiderWithdrawalRecordController.java | 73 +
oying-system/src/main/java/com/oying/modules/rider/domain/RiderSourceInfo.java | 43
oying-system/src/main/java/com/oying/modules/rider/service/impl/RiderInfoServiceImpl.java | 151 ++
oying-system/src/main/resources/mapper/rider/RiderOrderOperationMapper.xml | 59 +
oying-system/src/main/java/com/oying/modules/rider/service/RiderInfoService.java | 72 +
oying-system/src/main/java/com/oying/modules/rider/service/impl/RiderIncomeDetailServiceImpl.java | 89 +
oying-system/src/main/java/com/oying/modules/rider/mapper/RiderWithdrawalRecordMapper.java | 22
oying-system/src/main/java/com/oying/modules/rider/domain/RiderOrderReminder.java | 65 +
oying-system/src/main/java/com/oying/modules/rider/mapper/RiderInfoMapper.java | 22
oying-system/src/main/java/com/oying/modules/rider/service/impl/RiderOrderOperationServiceImpl.java | 84 +
oying-system/src/main/java/com/oying/modules/rider/service/impl/RiderOrderReminderServiceImpl.java | 87 +
oying-system/src/main/resources/mapper/rider/RiderInfoMapper.xml | 57 +
oying-system/src/main/java/com/oying/modules/rider/mapper/RiderOrderRecordMapper.java | 22
oying-system/src/main/java/com/oying/modules/rider/domain/RiderOrderRecord.java | 99 +
oying-system/src/main/java/com/oying/modules/rider/mapper/RiderIncomeDetailMapper.java | 22
oying-system/src/main/java/com/oying/modules/rider/rest/RiderOrderRecordController.java | 73 +
oying-system/src/main/java/com/oying/modules/rider/rest/RiderOrderOperationController.java | 73 +
oying-system/src/main/java/com/oying/modules/rider/rest/WxRiderController.java | 91 +
54 files changed, 3,364 insertions(+), 0 deletions(-)
diff --git a/oying-system/src/main/java/com/oying/modules/rider/domain/RiderIncomeDetail.java b/oying-system/src/main/java/com/oying/modules/rider/domain/RiderIncomeDetail.java
new file mode 100644
index 0000000..a3fd5e5
--- /dev/null
+++ b/oying-system/src/main/java/com/oying/modules/rider/domain/RiderIncomeDetail.java
@@ -0,0 +1,74 @@
+package com.oying.modules.rider.domain;
+
+import com.oying.base.BaseEntity;
+import lombok.Getter;
+import lombok.Setter;
+import cn.hutool.core.bean.BeanUtil;
+import io.swagger.annotations.ApiModelProperty;
+import cn.hutool.core.bean.copier.CopyOptions;
+import java.sql.Timestamp;
+import java.math.BigDecimal;
+import java.io.Serializable;
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableName;
+
+/**
+* @description /
+* @author pxb
+* @date 2025-06-18
+**/
+@Getter
+@Setter
+@TableName("qs_rider_income_detail")
+public class RiderIncomeDetail extends BaseEntity implements Serializable {
+
+ @TableId(value = "income_id", type = IdType.AUTO)
+ @ApiModelProperty(value = "收入明细id")
+ private Long incomeId;
+
+ @ApiModelProperty(value = "骑手id")
+ private Long riderId;
+
+ @ApiModelProperty(value = "骑手名字")
+ private String riderName;
+
+ @ApiModelProperty(value = "骑手手机号")
+ private String riderPhone;
+
+ @ApiModelProperty(value = "订单id")
+ private Long orderId;
+
+ @ApiModelProperty(value = "订单号")
+ private String orderNum;
+
+ @ApiModelProperty(value = "收入金额")
+ private BigDecimal incomeAmount;
+
+ @ApiModelProperty(value = "收入类型:1-配送费,2-奖励,3-补贴")
+ private String incomeType;
+
+ @ApiModelProperty(value = "收入日期(YYYY-MM-dd)方便统计")
+ private String incomeDate;
+
+ @ApiModelProperty(value = "收入月份YYYY-MM")
+ private String incomeMonth;
+
+ @ApiModelProperty(value = "订单状态:1-待取货,2-配送中,3-已完成,4-已取消")
+ private String orderStatus;
+
+ @ApiModelProperty(value = "起始地址")
+ private String startAddress;
+
+ @ApiModelProperty(value = "到达终点地址")
+ private String endAddress;
+
+ @ApiModelProperty(value = "送达完成时间")
+ private Timestamp deliveryTime;
+
+ public void copy(RiderIncomeDetail source){
+ BeanUtil.copyProperties(source,this, CopyOptions.create().setIgnoreNullValue(true));
+ }
+
+ public static final String COL_RIDER_ID = "rider_id";
+}
diff --git a/oying-system/src/main/java/com/oying/modules/rider/domain/RiderInfo.java b/oying-system/src/main/java/com/oying/modules/rider/domain/RiderInfo.java
new file mode 100644
index 0000000..741c170
--- /dev/null
+++ b/oying-system/src/main/java/com/oying/modules/rider/domain/RiderInfo.java
@@ -0,0 +1,74 @@
+package com.oying.modules.rider.domain;
+
+import com.oying.base.BaseEntity;
+import lombok.Getter;
+import lombok.Setter;
+import cn.hutool.core.bean.BeanUtil;
+import io.swagger.annotations.ApiModelProperty;
+import cn.hutool.core.bean.copier.CopyOptions;
+import java.sql.Timestamp;
+import java.io.Serializable;
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableName;
+
+/**
+* @description /
+* @author pxb
+* @date 2025-07-01
+**/
+@Getter
+@Setter
+@TableName("qs_rider_info")
+public class RiderInfo extends BaseEntity implements Serializable {
+
+ @TableId(value = "info_id", type = IdType.AUTO)
+ @ApiModelProperty(value = "id")
+ private Long infoId;
+
+ @ApiModelProperty(value = "骑手id")
+ private Long riderId;
+
+ @ApiModelProperty(value = "数据来源id")
+ private String sourceId;
+
+ @ApiModelProperty(value = "电话")
+ private String phone;
+
+ @ApiModelProperty(value = "乙方姓名")
+ private String cardName;
+
+ @ApiModelProperty(value = "证件号")
+ private String cardNum;
+
+ @ApiModelProperty(value = "数据来源编号")
+ private String sourceNum;
+
+ @ApiModelProperty(value = "状态 0不生效,1生效 其他平台是否满足接单的条件")
+ private String enabled;
+
+ @ApiModelProperty(value = "数据来源平台(LY,等)")
+ private String sourcePlatform;
+
+ @ApiModelProperty(value = "地址")
+ private String address;
+
+ public void copy(RiderInfo source){
+ BeanUtil.copyProperties(source,this, CopyOptions.create().setIgnoreNullValue(true));
+ }
+
+ /**
+ * 数据库字段常量
+ */
+ public static final String COL_RIDER_ID = "rider_id";
+ public static final String COL_SOURCE_ID = "source_id";
+ public static final String COL_PHONE = "phone";
+ public static final String COL_CARD_NAME = "card_name";
+ public static final String COL_CARD_NUM = "card_num";
+ public static final String COL_SOURCE_NUM = "source_num";
+ public static final String COL_ENABLED = "enabled";
+ public static final String COL_SOURCE_PLATFORM = "source_platform";
+ public static final String COL_ADDRESS = "address";
+ public static final String COL_INFO_ID = "info_id";
+
+}
diff --git a/oying-system/src/main/java/com/oying/modules/rider/domain/RiderOrderOperation.java b/oying-system/src/main/java/com/oying/modules/rider/domain/RiderOrderOperation.java
new file mode 100644
index 0000000..e244e95
--- /dev/null
+++ b/oying-system/src/main/java/com/oying/modules/rider/domain/RiderOrderOperation.java
@@ -0,0 +1,56 @@
+package com.oying.modules.rider.domain;
+
+import com.oying.base.BaseEntity;
+import lombok.Getter;
+import lombok.Setter;
+import cn.hutool.core.bean.BeanUtil;
+import io.swagger.annotations.ApiModelProperty;
+import cn.hutool.core.bean.copier.CopyOptions;
+import java.sql.Timestamp;
+import java.io.Serializable;
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableName;
+
+/**
+* @description /
+* @author pxb
+* @date 2025-06-18
+**/
+@Getter
+@Setter
+@TableName("qs_rider_order_operation")
+public class RiderOrderOperation extends BaseEntity implements Serializable {
+
+ @TableId(value = "operation_id", type = IdType.AUTO)
+ @ApiModelProperty(value = "操作ID")
+ private Long operationId;
+
+ @ApiModelProperty(value = "订单ID")
+ private Long orderId;
+
+ @ApiModelProperty(value = "订单编号")
+ private Long orderNum;
+
+ @ApiModelProperty(value = "骑手ID")
+ private Long riderId;
+
+ @ApiModelProperty(value = "骑手手机号")
+ private String riderPhone;
+
+ @ApiModelProperty(value = "骑手手姓名")
+ private String riderName;
+
+ @ApiModelProperty(value = "操作类型:1-接单,2-取货,3-送达,0-取消接单")
+ private String operationType;
+
+ @ApiModelProperty(value = "操作原因")
+ private String operationReason;
+
+ @ApiModelProperty(value = "操作时间")
+ private String operationTime;
+
+ public void copy(RiderOrderOperation source){
+ BeanUtil.copyProperties(source,this, CopyOptions.create().setIgnoreNullValue(true));
+ }
+}
diff --git a/oying-system/src/main/java/com/oying/modules/rider/domain/RiderOrderRecord.java b/oying-system/src/main/java/com/oying/modules/rider/domain/RiderOrderRecord.java
new file mode 100644
index 0000000..310b0a4
--- /dev/null
+++ b/oying-system/src/main/java/com/oying/modules/rider/domain/RiderOrderRecord.java
@@ -0,0 +1,99 @@
+package com.oying.modules.rider.domain;
+
+import com.oying.base.BaseEntity;
+import lombok.Getter;
+import lombok.Setter;
+import cn.hutool.core.bean.BeanUtil;
+import io.swagger.annotations.ApiModelProperty;
+import cn.hutool.core.bean.copier.CopyOptions;
+import java.sql.Timestamp;
+import java.math.BigDecimal;
+import java.io.Serializable;
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableName;
+
+/**
+* @description /
+* @author pxb
+* @date 2025-07-01
+**/
+@Getter
+@Setter
+@TableName("qs_rider_order_record")
+public class RiderOrderRecord extends BaseEntity implements Serializable {
+
+ @TableId(value = "record_id", type = IdType.AUTO)
+ @ApiModelProperty(value = "骑手订单记录")
+ private Long recordId;
+
+ @ApiModelProperty(value = "订单id")
+ private Long orderId;
+
+ @ApiModelProperty(value = "订单编号")
+ private String orderNum;
+
+ @ApiModelProperty(value = "商家ID")
+ private Long merchantId;
+
+ @ApiModelProperty(value = "商家名称")
+ private String merchantName;
+
+ @ApiModelProperty(value = "商家地址")
+ private String merchantAddress;
+
+ @ApiModelProperty(value = "收货地址")
+ private String receiverAddress;
+
+ @ApiModelProperty(value = "订单状态: 1-待取货 2-配送中 3-已完成 4-商家取消 5-骑手取消 6-客户取消 7-系统取消")
+ private String orderStatus;
+
+ @ApiModelProperty(value = "接单时间")
+ private Timestamp acceptTime;
+
+ @ApiModelProperty(value = "接单编号")
+ private String acceptNum;
+
+ @ApiModelProperty(value = "完成/取消时间")
+ private Timestamp finishTime;
+
+ @ApiModelProperty(value = "配送时长(秒)")
+ private Long deliveryDuration;
+
+ @ApiModelProperty(value = "是否超时:1-是 0-否")
+ private String isOvertime;
+
+ @ApiModelProperty(value = "订单来源: 1-平台派单 2-骑手抢单 3-商家直派 4-其他")
+ private String orderSource;
+
+ @ApiModelProperty(value = "订单收入配送费")
+ private BigDecimal orderIncome;
+
+ @ApiModelProperty(value = "骑手姓名")
+ private String riderName;
+
+ @ApiModelProperty(value = "手机号")
+ private String phone;
+
+ @ApiModelProperty(value = "骑手id")
+ private Long riderId;
+
+ @ApiModelProperty(value = "用户经度")
+ private String userLongitude;
+
+ @ApiModelProperty(value = "用户纬度")
+ private String userLatitude;
+
+ @ApiModelProperty(value = "商家经度")
+ private String merchantLongitude;
+
+ @ApiModelProperty(value = "商家纬度")
+ private String merchantLatitude;
+
+ @ApiModelProperty(value = "用户id")
+ private Long userId;
+
+ public void copy(RiderOrderRecord source){
+ BeanUtil.copyProperties(source,this, CopyOptions.create().setIgnoreNullValue(true));
+ }
+}
diff --git a/oying-system/src/main/java/com/oying/modules/rider/domain/RiderOrderReminder.java b/oying-system/src/main/java/com/oying/modules/rider/domain/RiderOrderReminder.java
new file mode 100644
index 0000000..8e48f45
--- /dev/null
+++ b/oying-system/src/main/java/com/oying/modules/rider/domain/RiderOrderReminder.java
@@ -0,0 +1,65 @@
+package com.oying.modules.rider.domain;
+
+import com.oying.base.BaseEntity;
+import lombok.Getter;
+import lombok.Setter;
+import cn.hutool.core.bean.BeanUtil;
+import io.swagger.annotations.ApiModelProperty;
+import cn.hutool.core.bean.copier.CopyOptions;
+import java.sql.Timestamp;
+import java.io.Serializable;
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableName;
+
+/**
+* @description /
+* @author pxb
+* @date 2025-06-18
+**/
+@Getter
+@Setter
+@TableName("qs_rider_order_reminder")
+public class RiderOrderReminder extends BaseEntity implements Serializable {
+
+ @TableId(value = "reminder_id", type = IdType.AUTO)
+ @ApiModelProperty(value = "订单提醒记录id")
+ private Long reminderId;
+
+ @ApiModelProperty(value = "骑手id")
+ private Long riderId;
+
+ @ApiModelProperty(value = "骑手名字")
+ private String riderName;
+
+ @ApiModelProperty(value = "骑手手机号")
+ private String riderPhone;
+
+ @ApiModelProperty(value = "订单Id")
+ private Long orderId;
+
+ @ApiModelProperty(value = "订单号")
+ private String orderNum;
+
+ @ApiModelProperty(value = "规则id")
+ private Long ruleId;
+
+ @ApiModelProperty(value = "规则内容")
+ private String ruleContent;
+
+ @ApiModelProperty(value = "规则类型。。。")
+ private String ruleType;
+
+ @ApiModelProperty(value = "提醒时间")
+ private Timestamp reminderTime;
+
+ @ApiModelProperty(value = "是否已发送:0-否,1-是")
+ private String isSent;
+
+ @ApiModelProperty(value = "发送时间")
+ private Timestamp sendTime;
+
+ public void copy(RiderOrderReminder source){
+ BeanUtil.copyProperties(source,this, CopyOptions.create().setIgnoreNullValue(true));
+ }
+}
diff --git a/oying-system/src/main/java/com/oying/modules/rider/domain/RiderSourceInfo.java b/oying-system/src/main/java/com/oying/modules/rider/domain/RiderSourceInfo.java
new file mode 100644
index 0000000..9e0c1b9
--- /dev/null
+++ b/oying-system/src/main/java/com/oying/modules/rider/domain/RiderSourceInfo.java
@@ -0,0 +1,43 @@
+package com.oying.modules.rider.domain;
+
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableId;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Getter;
+import lombok.Setter;
+
+import java.io.Serializable;
+
+/**
+* @description /
+* @author pxb
+* @date 2025-07-01
+**/
+@Getter
+@Setter
+public class RiderSourceInfo implements Serializable {
+
+ @ApiModelProperty(value = "数据来源id")
+ private String sourceId;
+
+ @ApiModelProperty(value = "电话")
+ private String phone;
+
+ @ApiModelProperty(value = "乙方姓名")
+ private String cardName;
+
+ @ApiModelProperty(value = "证件号")
+ private String cardNum;
+
+ @ApiModelProperty(value = "数据来源编号")
+ private String sourceNum;
+
+ @ApiModelProperty(value = "状态0不生效,1生效 其他平台的条件是否满足")
+ private String enabled;
+
+ @ApiModelProperty(value = "数据来源平台(LY,等)")
+ private String sourcePlatform;
+
+ @ApiModelProperty(value = "地址")
+ private String address;
+}
diff --git a/oying-system/src/main/java/com/oying/modules/rider/domain/RiderSourceInfoHttp.java b/oying-system/src/main/java/com/oying/modules/rider/domain/RiderSourceInfoHttp.java
new file mode 100644
index 0000000..21d47c9
--- /dev/null
+++ b/oying-system/src/main/java/com/oying/modules/rider/domain/RiderSourceInfoHttp.java
@@ -0,0 +1,25 @@
+package com.oying.modules.rider.domain;
+
+import lombok.Getter;
+import lombok.Setter;
+
+import java.io.Serializable;
+
+/**
+* @description /
+* @author pxb
+* @date 2025-07-01
+**/
+@Getter
+@Setter
+public class RiderSourceInfoHttp implements Serializable {
+
+ private String success;
+
+ private String code;
+
+ private String message;
+
+ private RiderSourceInfo data;
+
+}
diff --git a/oying-system/src/main/java/com/oying/modules/rider/domain/RiderWalletInfo.java b/oying-system/src/main/java/com/oying/modules/rider/domain/RiderWalletInfo.java
new file mode 100644
index 0000000..29af9e4
--- /dev/null
+++ b/oying-system/src/main/java/com/oying/modules/rider/domain/RiderWalletInfo.java
@@ -0,0 +1,69 @@
+package com.oying.modules.rider.domain;
+
+import com.oying.base.BaseEntity;
+import lombok.Getter;
+import lombok.Setter;
+import cn.hutool.core.bean.BeanUtil;
+import io.swagger.annotations.ApiModelProperty;
+import cn.hutool.core.bean.copier.CopyOptions;
+import java.sql.Timestamp;
+import java.math.BigDecimal;
+import java.io.Serializable;
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableName;
+
+/**
+* @description /
+* @author pxb
+* @date 2025-06-18
+**/
+@Getter
+@Setter
+@TableName("qs_rider_wallet_info")
+public class RiderWalletInfo extends BaseEntity implements Serializable {
+
+ @TableId(value = "wallet_id", type = IdType.AUTO)
+ @ApiModelProperty(value = "收入总额ID")
+ private Long walletId;
+
+ @ApiModelProperty(value = "骑手id")
+ private Long riderId;
+
+ @ApiModelProperty(value = "总金额")
+ private BigDecimal amount;
+
+ @ApiModelProperty(value = "可用余额")
+ private BigDecimal availableBalance;
+
+ @ApiModelProperty(value = "购电总金额")
+ private BigDecimal purchasingElectricityAmount;
+
+ @ApiModelProperty(value = "累计提现")
+ private BigDecimal withdrawTotal;
+
+ @ApiModelProperty(value = "累计收入")
+ private BigDecimal incomeTotal;
+
+ @ApiModelProperty(value = "冻结金额")
+ private BigDecimal frozenAmount;
+
+ @ApiModelProperty(value = "完成总单数")
+ private Integer runTotal;
+
+ @ApiModelProperty(value = "提现总次数")
+ private Integer cashWithdrawalTotal;
+
+ @ApiModelProperty(value = "购电总次数")
+ private Integer purchasingElectricityTotal;
+
+ @ApiModelProperty(value = "钱包状态(0冻结,1正常)")
+ private String status;
+
+
+ public void copy(RiderWalletInfo source){
+ BeanUtil.copyProperties(source,this, CopyOptions.create().setIgnoreNullValue(true));
+ }
+
+ public static final String COL_RIDER_ID = "rider_id";
+}
diff --git a/oying-system/src/main/java/com/oying/modules/rider/domain/RiderWithdrawalRecord.java b/oying-system/src/main/java/com/oying/modules/rider/domain/RiderWithdrawalRecord.java
new file mode 100644
index 0000000..f91dd14
--- /dev/null
+++ b/oying-system/src/main/java/com/oying/modules/rider/domain/RiderWithdrawalRecord.java
@@ -0,0 +1,79 @@
+package com.oying.modules.rider.domain;
+
+import com.oying.base.BaseEntity;
+import lombok.Getter;
+import lombok.Setter;
+import cn.hutool.core.bean.BeanUtil;
+import io.swagger.annotations.ApiModelProperty;
+import cn.hutool.core.bean.copier.CopyOptions;
+import java.sql.Timestamp;
+import java.math.BigDecimal;
+import java.io.Serializable;
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableName;
+
+/**
+* @description /
+* @author pxb
+* @date 2025-06-18
+**/
+@Getter
+@Setter
+@TableName("qs_rider_withdrawal_record")
+public class RiderWithdrawalRecord extends BaseEntity implements Serializable {
+
+ @TableId(value = "record_id", type = IdType.AUTO)
+ @ApiModelProperty(value = "体现记录ID")
+ private Long recordId;
+
+ @ApiModelProperty(value = "骑手id")
+ private Long riderId;
+
+ @ApiModelProperty(value = "骑手名字")
+ private String riderName;
+
+ @ApiModelProperty(value = "骑手手机号")
+ private String riderPhone;
+
+ @ApiModelProperty(value = "提现前总金额")
+ private BigDecimal amount;
+
+ @ApiModelProperty(value = "本次提现金额")
+ private BigDecimal withdrawalAmount;
+
+ @ApiModelProperty(value = "剩余总金额")
+ private BigDecimal nowAmount;
+
+ @ApiModelProperty(value = "手续费")
+ private BigDecimal fee;
+
+ @ApiModelProperty(value = "实际到账金额")
+ private BigDecimal actualAmount;
+
+ @ApiModelProperty(value = "状态:1-处理中,2-已完成,3-已拒绝")
+ private String status;
+
+ @ApiModelProperty(value = "银行账号")
+ private String bankAccount;
+
+ @ApiModelProperty(value = "开户行")
+ private String bankName;
+
+ @ApiModelProperty(value = "申请时间")
+ private Timestamp applyTime;
+
+ @ApiModelProperty(value = "处理时间")
+ private Timestamp processTime;
+
+ @ApiModelProperty(value = "处理人")
+ private String operator;
+
+ @ApiModelProperty(value = "备注")
+ private String remark;
+
+
+ public void copy(RiderWithdrawalRecord source){
+ BeanUtil.copyProperties(source,this, CopyOptions.create().setIgnoreNullValue(true));
+ }
+}
diff --git a/oying-system/src/main/java/com/oying/modules/rider/domain/dto/RiderIncomeDetailQueryCriteria.java b/oying-system/src/main/java/com/oying/modules/rider/domain/dto/RiderIncomeDetailQueryCriteria.java
new file mode 100644
index 0000000..b6e92d3
--- /dev/null
+++ b/oying-system/src/main/java/com/oying/modules/rider/domain/dto/RiderIncomeDetailQueryCriteria.java
@@ -0,0 +1,42 @@
+package com.oying.modules.rider.domain.dto;
+
+import lombok.Data;
+import java.sql.Timestamp;
+import java.util.List;
+import io.swagger.annotations.ApiModelProperty;
+
+/**
+* @author pxb
+* @date 2025-06-18
+**/
+@Data
+public class RiderIncomeDetailQueryCriteria{
+
+ @ApiModelProperty(value = "页码", example = "1")
+ private Integer page = 1;
+
+ @ApiModelProperty(value = "每页数据量", example = "10")
+ private Integer size = 10;
+
+ @ApiModelProperty(value = "骑手名字")
+ private String riderName;
+
+ @ApiModelProperty(value = "骑手手机号")
+ private String riderPhone;
+
+ @ApiModelProperty(value = "订单号")
+ private String orderNum;
+
+ @ApiModelProperty(value = "收入类型:1-配送费,2-奖励,3-补贴")
+ private String incomeType;
+
+ @ApiModelProperty(value = "收入日期(YYYY-MM-dd)方便统计")
+ private String incomeDate;
+
+ @ApiModelProperty(value = "收入月份YYYY-MM")
+ private String incomeMonth;
+
+ @ApiModelProperty(value = "订单状态:1-待取货,2-配送中,3-已完成,4-已取消")
+ private String orderStatus;
+ private List<Timestamp> updateTime;
+}
diff --git a/oying-system/src/main/java/com/oying/modules/rider/domain/dto/RiderInfoQueryCriteria.java b/oying-system/src/main/java/com/oying/modules/rider/domain/dto/RiderInfoQueryCriteria.java
new file mode 100644
index 0000000..3680fad
--- /dev/null
+++ b/oying-system/src/main/java/com/oying/modules/rider/domain/dto/RiderInfoQueryCriteria.java
@@ -0,0 +1,42 @@
+package com.oying.modules.rider.domain.dto;
+
+import lombok.Data;
+import io.swagger.annotations.ApiModelProperty;
+
+/**
+* @author pxb
+* @date 2025-07-01
+**/
+@Data
+public class RiderInfoQueryCriteria{
+
+ @ApiModelProperty(value = "页码", example = "1")
+ private Integer page = 1;
+
+ @ApiModelProperty(value = "每页数据量", example = "10")
+ private Integer size = 10;
+
+ @ApiModelProperty(value = "骑手id")
+ private Long riderId;
+
+ @ApiModelProperty(value = "数据来源id")
+ private String sourceId;
+
+ @ApiModelProperty(value = "电话")
+ private String phone;
+
+ @ApiModelProperty(value = "乙方姓名")
+ private String cardName;
+
+ @ApiModelProperty(value = "证件号")
+ private String cardNum;
+
+ @ApiModelProperty(value = "数据来源编号")
+ private String sourceNum;
+
+ @ApiModelProperty(value = "状态0不生效,1生效 其他平台的条件是否满足")
+ private String enabled;
+
+ @ApiModelProperty(value = "数据来源平台(LY,等)")
+ private String sourcePlatform;
+}
diff --git a/oying-system/src/main/java/com/oying/modules/rider/domain/dto/RiderOrderOperationQueryCriteria.java b/oying-system/src/main/java/com/oying/modules/rider/domain/dto/RiderOrderOperationQueryCriteria.java
new file mode 100644
index 0000000..036a7bc
--- /dev/null
+++ b/oying-system/src/main/java/com/oying/modules/rider/domain/dto/RiderOrderOperationQueryCriteria.java
@@ -0,0 +1,43 @@
+package com.oying.modules.rider.domain.dto;
+
+import lombok.Data;
+import java.sql.Timestamp;
+import java.util.List;
+import io.swagger.annotations.ApiModelProperty;
+
+/**
+* @author pxb
+* @date 2025-06-18
+**/
+@Data
+public class RiderOrderOperationQueryCriteria{
+
+ @ApiModelProperty(value = "页码", example = "1")
+ private Integer page = 1;
+
+ @ApiModelProperty(value = "每页数据量", example = "10")
+ private Integer size = 10;
+
+ @ApiModelProperty(value = "订单ID")
+ private Long orderId;
+
+ @ApiModelProperty(value = "订单编号")
+ private Long orderNum;
+
+ @ApiModelProperty(value = "骑手ID")
+ private Long riderId;
+
+ @ApiModelProperty(value = "骑手手机号")
+ private String riderPhone;
+
+ @ApiModelProperty(value = "骑手手姓名")
+ private String riderName;
+
+ @ApiModelProperty(value = "操作类型:1-接单,2-取货,3-送达,0-取消接单")
+ private String operationType;
+
+ @ApiModelProperty(value = "操作原因")
+ private String operationReason;
+ private List<String> operationTime;
+ private List<Timestamp> createTime;
+}
diff --git a/oying-system/src/main/java/com/oying/modules/rider/domain/dto/RiderOrderRecordQueryCriteria.java b/oying-system/src/main/java/com/oying/modules/rider/domain/dto/RiderOrderRecordQueryCriteria.java
new file mode 100644
index 0000000..4ef50fc
--- /dev/null
+++ b/oying-system/src/main/java/com/oying/modules/rider/domain/dto/RiderOrderRecordQueryCriteria.java
@@ -0,0 +1,53 @@
+package com.oying.modules.rider.domain.dto;
+
+import lombok.Data;
+import java.sql.Timestamp;
+import java.util.List;
+import io.swagger.annotations.ApiModelProperty;
+
+/**
+* @author pxb
+* @date 2025-07-01
+**/
+@Data
+public class RiderOrderRecordQueryCriteria{
+
+ @ApiModelProperty(value = "页码", example = "1")
+ private Integer page = 1;
+
+ @ApiModelProperty(value = "每页数据量", example = "10")
+ private Integer size = 10;
+
+ @ApiModelProperty(value = "订单id")
+ private Long orderId;
+
+ @ApiModelProperty(value = "骑手id")
+ private Long riderId;
+
+ @ApiModelProperty(value = "用户id")
+ private Long userId;
+
+ @ApiModelProperty(value = "订单编号")
+ private String orderNum;
+
+ @ApiModelProperty(value = "商家ID")
+ private Long merchantId;
+
+ @ApiModelProperty(value = "商家名称")
+ private String merchantName;
+
+ @ApiModelProperty(value = "商家地址")
+ private String merchantAddress;
+
+ @ApiModelProperty(value = "收货地址")
+ private String receiverAddress;
+
+ @ApiModelProperty(value = "订单状态: 1-待取货 2-配送中 3-已完成 4-商家取消 5-骑手取消 6-客户取消 7-系统取消")
+ private String orderStatus;
+
+ @ApiModelProperty(value = "是否超时:1-是 0-否")
+ private String isOvertime;
+ private List<Timestamp> acceptTime;
+ private List<Timestamp> finishTime;
+ private List<Timestamp> createTime;
+}
diff --git a/oying-system/src/main/java/com/oying/modules/rider/domain/dto/RiderOrderReminderQueryCriteria.java b/oying-system/src/main/java/com/oying/modules/rider/domain/dto/RiderOrderReminderQueryCriteria.java
new file mode 100644
index 0000000..967a64b
--- /dev/null
+++ b/oying-system/src/main/java/com/oying/modules/rider/domain/dto/RiderOrderReminderQueryCriteria.java
@@ -0,0 +1,50 @@
+package com.oying.modules.rider.domain.dto;
+
+import lombok.Data;
+import java.sql.Timestamp;
+import java.util.List;
+import io.swagger.annotations.ApiModelProperty;
+
+/**
+* @author pxb
+* @date 2025-06-18
+**/
+@Data
+public class RiderOrderReminderQueryCriteria{
+
+ @ApiModelProperty(value = "页码", example = "1")
+ private Integer page = 1;
+
+ @ApiModelProperty(value = "每页数据量", example = "10")
+ private Integer size = 10;
+
+ @ApiModelProperty(value = "骑手id")
+ private Long riderId;
+
+ @ApiModelProperty(value = "骑手名字")
+ private String riderName;
+
+ @ApiModelProperty(value = "骑手手机号")
+ private String riderPhone;
+
+ @ApiModelProperty(value = "订单Id")
+ private Long orderId;
+
+ @ApiModelProperty(value = "订单号")
+ private String orderNum;
+
+ @ApiModelProperty(value = "规则id")
+ private Long ruleId;
+
+ @ApiModelProperty(value = "规则内容")
+ private String ruleContent;
+
+ @ApiModelProperty(value = "规则类型。。。")
+ private String ruleType;
+
+ @ApiModelProperty(value = "是否已发送:0-否,1-是")
+ private String isSent;
+ private List<Timestamp> reminderTime;
+ private List<Timestamp> sendTime;
+ private List<Timestamp> createTime;
+}
diff --git a/oying-system/src/main/java/com/oying/modules/rider/domain/dto/RiderWalletInfoQueryCriteria.java b/oying-system/src/main/java/com/oying/modules/rider/domain/dto/RiderWalletInfoQueryCriteria.java
new file mode 100644
index 0000000..477fdb3
--- /dev/null
+++ b/oying-system/src/main/java/com/oying/modules/rider/domain/dto/RiderWalletInfoQueryCriteria.java
@@ -0,0 +1,29 @@
+package com.oying.modules.rider.domain.dto;
+
+import lombok.Data;
+import java.sql.Timestamp;
+import java.math.BigDecimal;
+import java.util.List;
+import io.swagger.annotations.ApiModelProperty;
+
+/**
+* @author pxb
+* @date 2025-06-18
+**/
+@Data
+public class RiderWalletInfoQueryCriteria{
+
+ @ApiModelProperty(value = "页码", example = "1")
+ private Integer page = 1;
+
+ @ApiModelProperty(value = "每页数据量", example = "10")
+ private Integer size = 10;
+
+ @ApiModelProperty(value = "骑手id")
+ private Long riderId;
+
+ @ApiModelProperty(value = "钱包状态(0冻结,1正常)")
+ private String status;
+ private List<BigDecimal> amount;
+ private List<Timestamp> createTime;
+}
diff --git a/oying-system/src/main/java/com/oying/modules/rider/domain/dto/RiderWithdrawalRecordQueryCriteria.java b/oying-system/src/main/java/com/oying/modules/rider/domain/dto/RiderWithdrawalRecordQueryCriteria.java
new file mode 100644
index 0000000..4691114
--- /dev/null
+++ b/oying-system/src/main/java/com/oying/modules/rider/domain/dto/RiderWithdrawalRecordQueryCriteria.java
@@ -0,0 +1,48 @@
+package com.oying.modules.rider.domain.dto;
+
+import lombok.Data;
+import java.sql.Timestamp;
+import java.util.List;
+import io.swagger.annotations.ApiModelProperty;
+
+/**
+* @author pxb
+* @date 2025-06-18
+**/
+@Data
+public class RiderWithdrawalRecordQueryCriteria{
+
+ @ApiModelProperty(value = "页码", example = "1")
+ private Integer page = 1;
+
+ @ApiModelProperty(value = "每页数据量", example = "10")
+ private Integer size = 10;
+
+ @ApiModelProperty(value = "骑手id")
+ private Long riderId;
+
+ @ApiModelProperty(value = "骑手名字")
+ private String riderName;
+
+ @ApiModelProperty(value = "骑手手机号")
+ private String riderPhone;
+
+ @ApiModelProperty(value = "状态:1-处理中,2-已完成,3-已拒绝")
+ private String status;
+
+ @ApiModelProperty(value = "银行账号")
+ private String bankAccount;
+
+ @ApiModelProperty(value = "开户行")
+ private String bankName;
+
+ @ApiModelProperty(value = "处理人")
+ private String operator;
+
+ @ApiModelProperty(value = "备注")
+ private String remark;
+
+ private List<Timestamp> applyTime;
+ private List<Timestamp> processTime;
+ private List<Timestamp> createTime;
+}
diff --git a/oying-system/src/main/java/com/oying/modules/rider/mapper/RiderIncomeDetailMapper.java b/oying-system/src/main/java/com/oying/modules/rider/mapper/RiderIncomeDetailMapper.java
new file mode 100644
index 0000000..af215f6
--- /dev/null
+++ b/oying-system/src/main/java/com/oying/modules/rider/mapper/RiderIncomeDetailMapper.java
@@ -0,0 +1,22 @@
+package com.oying.modules.rider.mapper;
+
+import com.oying.modules.rider.domain.RiderIncomeDetail;
+import com.oying.modules.rider.domain.dto.RiderIncomeDetailQueryCriteria;
+import java.util.List;
+import org.apache.ibatis.annotations.Param;
+import org.apache.ibatis.annotations.Mapper;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+
+/**
+* @author pxb
+* @date 2025-06-18
+**/
+@Mapper
+public interface RiderIncomeDetailMapper extends BaseMapper<RiderIncomeDetail> {
+
+ IPage<RiderIncomeDetail> findAll(@Param("criteria") RiderIncomeDetailQueryCriteria criteria, Page<Object> page);
+
+ List<RiderIncomeDetail> findAll(@Param("criteria") RiderIncomeDetailQueryCriteria criteria);
+}
diff --git a/oying-system/src/main/java/com/oying/modules/rider/mapper/RiderInfoMapper.java b/oying-system/src/main/java/com/oying/modules/rider/mapper/RiderInfoMapper.java
new file mode 100644
index 0000000..b63c73b
--- /dev/null
+++ b/oying-system/src/main/java/com/oying/modules/rider/mapper/RiderInfoMapper.java
@@ -0,0 +1,22 @@
+package com.oying.modules.rider.mapper;
+
+import com.oying.modules.rider.domain.RiderInfo;
+import com.oying.modules.rider.domain.dto.RiderInfoQueryCriteria;
+import java.util.List;
+import org.apache.ibatis.annotations.Param;
+import org.apache.ibatis.annotations.Mapper;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+
+/**
+* @author pxb
+* @date 2025-07-01
+**/
+@Mapper
+public interface RiderInfoMapper extends BaseMapper<RiderInfo> {
+
+ IPage<RiderInfo> findAll(@Param("criteria") RiderInfoQueryCriteria criteria, Page<Object> page);
+
+ List<RiderInfo> findAll(@Param("criteria") RiderInfoQueryCriteria criteria);
+}
diff --git a/oying-system/src/main/java/com/oying/modules/rider/mapper/RiderOrderOperationMapper.java b/oying-system/src/main/java/com/oying/modules/rider/mapper/RiderOrderOperationMapper.java
new file mode 100644
index 0000000..2480bd4
--- /dev/null
+++ b/oying-system/src/main/java/com/oying/modules/rider/mapper/RiderOrderOperationMapper.java
@@ -0,0 +1,22 @@
+package com.oying.modules.rider.mapper;
+
+import com.oying.modules.rider.domain.RiderOrderOperation;
+import com.oying.modules.rider.domain.dto.RiderOrderOperationQueryCriteria;
+import java.util.List;
+import org.apache.ibatis.annotations.Param;
+import org.apache.ibatis.annotations.Mapper;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+
+/**
+* @author pxb
+* @date 2025-06-18
+**/
+@Mapper
+public interface RiderOrderOperationMapper extends BaseMapper<RiderOrderOperation> {
+
+ IPage<RiderOrderOperation> findAll(@Param("criteria") RiderOrderOperationQueryCriteria criteria, Page<Object> page);
+
+ List<RiderOrderOperation> findAll(@Param("criteria") RiderOrderOperationQueryCriteria criteria);
+}
diff --git a/oying-system/src/main/java/com/oying/modules/rider/mapper/RiderOrderRecordMapper.java b/oying-system/src/main/java/com/oying/modules/rider/mapper/RiderOrderRecordMapper.java
new file mode 100644
index 0000000..c24ed5f
--- /dev/null
+++ b/oying-system/src/main/java/com/oying/modules/rider/mapper/RiderOrderRecordMapper.java
@@ -0,0 +1,22 @@
+package com.oying.modules.rider.mapper;
+
+import com.oying.modules.rider.domain.RiderOrderRecord;
+import com.oying.modules.rider.domain.dto.RiderOrderRecordQueryCriteria;
+import java.util.List;
+import org.apache.ibatis.annotations.Param;
+import org.apache.ibatis.annotations.Mapper;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+
+/**
+* @author pxb
+* @date 2025-07-01
+**/
+@Mapper
+public interface RiderOrderRecordMapper extends BaseMapper<RiderOrderRecord> {
+
+ IPage<RiderOrderRecord> findAll(@Param("criteria") RiderOrderRecordQueryCriteria criteria, Page<Object> page);
+
+ List<RiderOrderRecord> findAll(@Param("criteria") RiderOrderRecordQueryCriteria criteria);
+}
diff --git a/oying-system/src/main/java/com/oying/modules/rider/mapper/RiderOrderReminderMapper.java b/oying-system/src/main/java/com/oying/modules/rider/mapper/RiderOrderReminderMapper.java
new file mode 100644
index 0000000..94f184e
--- /dev/null
+++ b/oying-system/src/main/java/com/oying/modules/rider/mapper/RiderOrderReminderMapper.java
@@ -0,0 +1,22 @@
+package com.oying.modules.rider.mapper;
+
+import com.oying.modules.rider.domain.RiderOrderReminder;
+import com.oying.modules.rider.domain.dto.RiderOrderReminderQueryCriteria;
+import java.util.List;
+import org.apache.ibatis.annotations.Param;
+import org.apache.ibatis.annotations.Mapper;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+
+/**
+* @author pxb
+* @date 2025-06-18
+**/
+@Mapper
+public interface RiderOrderReminderMapper extends BaseMapper<RiderOrderReminder> {
+
+ IPage<RiderOrderReminder> findAll(@Param("criteria") RiderOrderReminderQueryCriteria criteria, Page<Object> page);
+
+ List<RiderOrderReminder> findAll(@Param("criteria") RiderOrderReminderQueryCriteria criteria);
+}
diff --git a/oying-system/src/main/java/com/oying/modules/rider/mapper/RiderWalletInfoMapper.java b/oying-system/src/main/java/com/oying/modules/rider/mapper/RiderWalletInfoMapper.java
new file mode 100644
index 0000000..0d7b824
--- /dev/null
+++ b/oying-system/src/main/java/com/oying/modules/rider/mapper/RiderWalletInfoMapper.java
@@ -0,0 +1,22 @@
+package com.oying.modules.rider.mapper;
+
+import com.oying.modules.rider.domain.RiderWalletInfo;
+import com.oying.modules.rider.domain.dto.RiderWalletInfoQueryCriteria;
+import java.util.List;
+import org.apache.ibatis.annotations.Param;
+import org.apache.ibatis.annotations.Mapper;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+
+/**
+* @author pxb
+* @date 2025-06-18
+**/
+@Mapper
+public interface RiderWalletInfoMapper extends BaseMapper<RiderWalletInfo> {
+
+ IPage<RiderWalletInfo> findAll(@Param("criteria") RiderWalletInfoQueryCriteria criteria, Page<Object> page);
+
+ List<RiderWalletInfo> findAll(@Param("criteria") RiderWalletInfoQueryCriteria criteria);
+}
diff --git a/oying-system/src/main/java/com/oying/modules/rider/mapper/RiderWithdrawalRecordMapper.java b/oying-system/src/main/java/com/oying/modules/rider/mapper/RiderWithdrawalRecordMapper.java
new file mode 100644
index 0000000..509eb80
--- /dev/null
+++ b/oying-system/src/main/java/com/oying/modules/rider/mapper/RiderWithdrawalRecordMapper.java
@@ -0,0 +1,22 @@
+package com.oying.modules.rider.mapper;
+
+import com.oying.modules.rider.domain.RiderWithdrawalRecord;
+import com.oying.modules.rider.domain.dto.RiderWithdrawalRecordQueryCriteria;
+import java.util.List;
+import org.apache.ibatis.annotations.Param;
+import org.apache.ibatis.annotations.Mapper;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+
+/**
+* @author pxb
+* @date 2025-06-18
+**/
+@Mapper
+public interface RiderWithdrawalRecordMapper extends BaseMapper<RiderWithdrawalRecord> {
+
+ IPage<RiderWithdrawalRecord> findAll(@Param("criteria") RiderWithdrawalRecordQueryCriteria criteria, Page<Object> page);
+
+ List<RiderWithdrawalRecord> findAll(@Param("criteria") RiderWithdrawalRecordQueryCriteria criteria);
+}
diff --git a/oying-system/src/main/java/com/oying/modules/rider/rest/RiderIncomeDetailController.java b/oying-system/src/main/java/com/oying/modules/rider/rest/RiderIncomeDetailController.java
new file mode 100644
index 0000000..842291c
--- /dev/null
+++ b/oying-system/src/main/java/com/oying/modules/rider/rest/RiderIncomeDetailController.java
@@ -0,0 +1,73 @@
+package com.oying.modules.rider.rest;
+
+import com.oying.annotation.Log;
+import com.oying.modules.rider.domain.dto.RiderIncomeDetailQueryCriteria;
+import com.oying.modules.rider.service.RiderIncomeDetailService;
+import com.oying.modules.rider.domain.RiderIncomeDetail;
+import lombok.RequiredArgsConstructor;
+import java.util.List;
+import org.springframework.http.HttpStatus;
+import org.springframework.http.ResponseEntity;
+import org.springframework.security.access.prepost.PreAuthorize;
+import org.springframework.validation.annotation.Validated;
+import org.springframework.web.bind.annotation.*;
+import io.swagger.annotations.*;
+import java.io.IOException;
+import javax.servlet.http.HttpServletResponse;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.oying.utils.PageResult;
+
+/**
+* @author pxb
+* @date 2025-06-18
+**/
+@RestController
+@RequiredArgsConstructor
+@Api(tags = "骑手收入明细")
+@RequestMapping("/api/riderIncomeDetail")
+public class RiderIncomeDetailController {
+
+ private final RiderIncomeDetailService riderIncomeDetailService;
+
+ @ApiOperation("导出数据")
+ @GetMapping(value = "/download")
+ @PreAuthorize("@el.check('riderIncomeDetail:list')")
+ public void exportRiderIncomeDetail(HttpServletResponse response, RiderIncomeDetailQueryCriteria criteria) throws IOException {
+ riderIncomeDetailService.download(riderIncomeDetailService.queryAll(criteria), response);
+ }
+
+ @GetMapping
+ @ApiOperation("查询骑手收入明细")
+ @PreAuthorize("@el.check('riderIncomeDetail:list')")
+ public ResponseEntity<PageResult<RiderIncomeDetail>> queryRiderIncomeDetail(RiderIncomeDetailQueryCriteria criteria){
+ Page<Object> page = new Page<>(criteria.getPage(), criteria.getSize());
+ return new ResponseEntity<>(riderIncomeDetailService.queryAll(criteria,page),HttpStatus.OK);
+ }
+
+ @PostMapping
+ @Log("新增骑手收入明细")
+ @ApiOperation("新增骑手收入明细")
+ @PreAuthorize("@el.check('riderIncomeDetail:add')")
+ public ResponseEntity<Object> createRiderIncomeDetail(@Validated @RequestBody RiderIncomeDetail resources){
+ riderIncomeDetailService.create(resources);
+ return new ResponseEntity<>(HttpStatus.CREATED);
+ }
+
+ @PutMapping
+ @Log("修改骑手收入明细")
+ @ApiOperation("修改骑手收入明细")
+ @PreAuthorize("@el.check('riderIncomeDetail:edit')")
+ public ResponseEntity<Object> updateRiderIncomeDetail(@Validated @RequestBody RiderIncomeDetail resources){
+ riderIncomeDetailService.update(resources);
+ return new ResponseEntity<>(HttpStatus.NO_CONTENT);
+ }
+
+ @DeleteMapping
+ @Log("删除骑手收入明细")
+ @ApiOperation("删除骑手收入明细")
+ @PreAuthorize("@el.check('riderIncomeDetail:del')")
+ public ResponseEntity<Object> deleteRiderIncomeDetail(@ApiParam(value = "传ID数组[]") @RequestBody List<Long> ids) {
+ riderIncomeDetailService.deleteAll(ids);
+ return new ResponseEntity<>(HttpStatus.OK);
+ }
+}
diff --git a/oying-system/src/main/java/com/oying/modules/rider/rest/RiderInfoController.java b/oying-system/src/main/java/com/oying/modules/rider/rest/RiderInfoController.java
new file mode 100644
index 0000000..eeb677e
--- /dev/null
+++ b/oying-system/src/main/java/com/oying/modules/rider/rest/RiderInfoController.java
@@ -0,0 +1,73 @@
+package com.oying.modules.rider.rest;
+
+import com.oying.annotation.Log;
+import com.oying.modules.rider.domain.RiderInfo;
+import com.oying.modules.rider.service.RiderInfoService;
+import com.oying.modules.rider.domain.dto.RiderInfoQueryCriteria;
+import lombok.RequiredArgsConstructor;
+import java.util.List;
+import org.springframework.http.HttpStatus;
+import org.springframework.http.ResponseEntity;
+import org.springframework.security.access.prepost.PreAuthorize;
+import org.springframework.validation.annotation.Validated;
+import org.springframework.web.bind.annotation.*;
+import io.swagger.annotations.*;
+import java.io.IOException;
+import javax.servlet.http.HttpServletResponse;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.oying.utils.PageResult;
+
+/**
+* @author pxb
+* @date 2025-07-01
+**/
+@RestController
+@RequiredArgsConstructor
+@Api(tags = "三方骑手数据信息")
+@RequestMapping("/api/riderInfo")
+public class RiderInfoController {
+
+ private final RiderInfoService riderInfoService;
+
+ @ApiOperation("导出数据")
+ @GetMapping(value = "/download")
+ @PreAuthorize("@el.check('riderInfo:list')")
+ public void exportRiderInfo(HttpServletResponse response, RiderInfoQueryCriteria criteria) throws IOException {
+ riderInfoService.download(riderInfoService.queryAll(criteria), response);
+ }
+
+ @GetMapping
+ @ApiOperation("查询三方骑手数据信息")
+ @PreAuthorize("@el.check('riderInfo:list')")
+ public ResponseEntity<PageResult<RiderInfo>> queryRiderInfo(RiderInfoQueryCriteria criteria){
+ Page<Object> page = new Page<>(criteria.getPage(), criteria.getSize());
+ return new ResponseEntity<>(riderInfoService.queryAll(criteria,page),HttpStatus.OK);
+ }
+
+ @PostMapping
+ @Log("新增三方骑手数据信息")
+ @ApiOperation("新增三方骑手数据信息")
+ @PreAuthorize("@el.check('riderInfo:add')")
+ public ResponseEntity<Object> createRiderInfo(@Validated @RequestBody RiderInfo resources){
+ riderInfoService.create(resources);
+ return new ResponseEntity<>(HttpStatus.CREATED);
+ }
+
+ @PutMapping
+ @Log("修改三方骑手数据信息")
+ @ApiOperation("修改三方骑手数据信息")
+ @PreAuthorize("@el.check('riderInfo:edit')")
+ public ResponseEntity<Object> updateRiderInfo(@Validated @RequestBody RiderInfo resources){
+ riderInfoService.update(resources);
+ return new ResponseEntity<>(HttpStatus.NO_CONTENT);
+ }
+
+ @DeleteMapping
+ @Log("删除三方骑手数据信息")
+ @ApiOperation("删除三方骑手数据信息")
+ @PreAuthorize("@el.check('riderInfo:del')")
+ public ResponseEntity<Object> deleteRiderInfo(@ApiParam(value = "传ID数组[]") @RequestBody List<Long> ids) {
+ riderInfoService.deleteAll(ids);
+ return new ResponseEntity<>(HttpStatus.OK);
+ }
+}
diff --git a/oying-system/src/main/java/com/oying/modules/rider/rest/RiderOrderOperationController.java b/oying-system/src/main/java/com/oying/modules/rider/rest/RiderOrderOperationController.java
new file mode 100644
index 0000000..b624978
--- /dev/null
+++ b/oying-system/src/main/java/com/oying/modules/rider/rest/RiderOrderOperationController.java
@@ -0,0 +1,73 @@
+package com.oying.modules.rider.rest;
+
+import com.oying.annotation.Log;
+import com.oying.modules.rider.domain.RiderOrderOperation;
+import com.oying.modules.rider.service.RiderOrderOperationService;
+import com.oying.modules.rider.domain.dto.RiderOrderOperationQueryCriteria;
+import lombok.RequiredArgsConstructor;
+import java.util.List;
+import org.springframework.http.HttpStatus;
+import org.springframework.http.ResponseEntity;
+import org.springframework.security.access.prepost.PreAuthorize;
+import org.springframework.validation.annotation.Validated;
+import org.springframework.web.bind.annotation.*;
+import io.swagger.annotations.*;
+import java.io.IOException;
+import javax.servlet.http.HttpServletResponse;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.oying.utils.PageResult;
+
+/**
+* @author pxb
+* @date 2025-06-18
+**/
+@RestController
+@RequiredArgsConstructor
+@Api(tags = "骑手订单操作日志")
+@RequestMapping("/api/riderOrderOperation")
+public class RiderOrderOperationController {
+
+ private final RiderOrderOperationService riderOrderOperationService;
+
+ @ApiOperation("导出数据")
+ @GetMapping(value = "/download")
+ @PreAuthorize("@el.check('riderOrderOperation:list')")
+ public void exportRiderOrderOperation(HttpServletResponse response, RiderOrderOperationQueryCriteria criteria) throws IOException {
+ riderOrderOperationService.download(riderOrderOperationService.queryAll(criteria), response);
+ }
+
+ @GetMapping
+ @ApiOperation("查询骑手订单操作日志")
+ @PreAuthorize("@el.check('riderOrderOperation:list')")
+ public ResponseEntity<PageResult<RiderOrderOperation>> queryRiderOrderOperation(RiderOrderOperationQueryCriteria criteria){
+ Page<Object> page = new Page<>(criteria.getPage(), criteria.getSize());
+ return new ResponseEntity<>(riderOrderOperationService.queryAll(criteria,page),HttpStatus.OK);
+ }
+
+ @PostMapping
+ @Log("新增骑手订单操作日志")
+ @ApiOperation("新增骑手订单操作日志")
+ @PreAuthorize("@el.check('riderOrderOperation:add')")
+ public ResponseEntity<Object> createRiderOrderOperation(@Validated @RequestBody RiderOrderOperation resources){
+ riderOrderOperationService.create(resources);
+ return new ResponseEntity<>(HttpStatus.CREATED);
+ }
+
+ @PutMapping
+ @Log("修改骑手订单操作日志")
+ @ApiOperation("修改骑手订单操作日志")
+ @PreAuthorize("@el.check('riderOrderOperation:edit')")
+ public ResponseEntity<Object> updateRiderOrderOperation(@Validated @RequestBody RiderOrderOperation resources){
+ riderOrderOperationService.update(resources);
+ return new ResponseEntity<>(HttpStatus.NO_CONTENT);
+ }
+
+ @DeleteMapping
+ @Log("删除骑手订单操作日志")
+ @ApiOperation("删除骑手订单操作日志")
+ @PreAuthorize("@el.check('riderOrderOperation:del')")
+ public ResponseEntity<Object> deleteRiderOrderOperation(@ApiParam(value = "传ID数组[]") @RequestBody List<Long> ids) {
+ riderOrderOperationService.deleteAll(ids);
+ return new ResponseEntity<>(HttpStatus.OK);
+ }
+}
diff --git a/oying-system/src/main/java/com/oying/modules/rider/rest/RiderOrderRecordController.java b/oying-system/src/main/java/com/oying/modules/rider/rest/RiderOrderRecordController.java
new file mode 100644
index 0000000..c2fa1aa
--- /dev/null
+++ b/oying-system/src/main/java/com/oying/modules/rider/rest/RiderOrderRecordController.java
@@ -0,0 +1,73 @@
+package com.oying.modules.rider.rest;
+
+import com.oying.annotation.Log;
+import com.oying.modules.rider.domain.RiderOrderRecord;
+import com.oying.modules.rider.service.RiderOrderRecordService;
+import com.oying.modules.rider.domain.dto.RiderOrderRecordQueryCriteria;
+import lombok.RequiredArgsConstructor;
+import java.util.List;
+import org.springframework.http.HttpStatus;
+import org.springframework.http.ResponseEntity;
+import org.springframework.security.access.prepost.PreAuthorize;
+import org.springframework.validation.annotation.Validated;
+import org.springframework.web.bind.annotation.*;
+import io.swagger.annotations.*;
+import java.io.IOException;
+import javax.servlet.http.HttpServletResponse;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.oying.utils.PageResult;
+
+/**
+* @author pxb
+* @date 2025-07-01
+**/
+@RestController
+@RequiredArgsConstructor
+@Api(tags = "骑手收入明细")
+@RequestMapping("/api/riderOrderRecord")
+public class RiderOrderRecordController {
+
+ private final RiderOrderRecordService riderOrderRecordService;
+
+ @ApiOperation("导出数据")
+ @GetMapping(value = "/download")
+ @PreAuthorize("@el.check('riderOrderRecord:list')")
+ public void exportRiderOrderRecord(HttpServletResponse response, RiderOrderRecordQueryCriteria criteria) throws IOException {
+ riderOrderRecordService.download(riderOrderRecordService.queryAll(criteria), response);
+ }
+
+ @GetMapping
+ @ApiOperation("查询骑手收入明细")
+ @PreAuthorize("@el.check('riderOrderRecord:list')")
+ public ResponseEntity<PageResult<RiderOrderRecord>> queryRiderOrderRecord(RiderOrderRecordQueryCriteria criteria){
+ Page<Object> page = new Page<>(criteria.getPage(), criteria.getSize());
+ return new ResponseEntity<>(riderOrderRecordService.queryAll(criteria,page),HttpStatus.OK);
+ }
+
+ @PostMapping
+ @Log("新增骑手收入明细")
+ @ApiOperation("新增骑手收入明细")
+ @PreAuthorize("@el.check('riderOrderRecord:add')")
+ public ResponseEntity<Object> createRiderOrderRecord(@Validated @RequestBody RiderOrderRecord resources){
+ riderOrderRecordService.create(resources);
+ return new ResponseEntity<>(HttpStatus.CREATED);
+ }
+
+ @PutMapping
+ @Log("修改骑手收入明细")
+ @ApiOperation("修改骑手收入明细")
+ @PreAuthorize("@el.check('riderOrderRecord:edit')")
+ public ResponseEntity<Object> updateRiderOrderRecord(@Validated @RequestBody RiderOrderRecord resources){
+ riderOrderRecordService.update(resources);
+ return new ResponseEntity<>(HttpStatus.NO_CONTENT);
+ }
+
+ @DeleteMapping
+ @Log("删除骑手收入明细")
+ @ApiOperation("删除骑手收入明细")
+ @PreAuthorize("@el.check('riderOrderRecord:del')")
+ public ResponseEntity<Object> deleteRiderOrderRecord(@ApiParam(value = "传ID数组[]") @RequestBody List<Long> ids) {
+ riderOrderRecordService.deleteAll(ids);
+ return new ResponseEntity<>(HttpStatus.OK);
+ }
+}
diff --git a/oying-system/src/main/java/com/oying/modules/rider/rest/RiderOrderReminderController.java b/oying-system/src/main/java/com/oying/modules/rider/rest/RiderOrderReminderController.java
new file mode 100644
index 0000000..1c36fc7
--- /dev/null
+++ b/oying-system/src/main/java/com/oying/modules/rider/rest/RiderOrderReminderController.java
@@ -0,0 +1,73 @@
+package com.oying.modules.rider.rest;
+
+import com.oying.annotation.Log;
+import com.oying.modules.rider.domain.RiderOrderReminder;
+import com.oying.modules.rider.service.RiderOrderReminderService;
+import com.oying.modules.rider.domain.dto.RiderOrderReminderQueryCriteria;
+import lombok.RequiredArgsConstructor;
+import java.util.List;
+import org.springframework.http.HttpStatus;
+import org.springframework.http.ResponseEntity;
+import org.springframework.security.access.prepost.PreAuthorize;
+import org.springframework.validation.annotation.Validated;
+import org.springframework.web.bind.annotation.*;
+import io.swagger.annotations.*;
+import java.io.IOException;
+import javax.servlet.http.HttpServletResponse;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.oying.utils.PageResult;
+
+/**
+* @author pxb
+* @date 2025-06-18
+**/
+@RestController
+@RequiredArgsConstructor
+@Api(tags = "骑手消息提示记录")
+@RequestMapping("/api/riderOrderReminder")
+public class RiderOrderReminderController {
+
+ private final RiderOrderReminderService riderOrderReminderService;
+
+ @ApiOperation("导出数据")
+ @GetMapping(value = "/download")
+ @PreAuthorize("@el.check('riderOrderReminder:list')")
+ public void exportRiderOrderReminder(HttpServletResponse response, RiderOrderReminderQueryCriteria criteria) throws IOException {
+ riderOrderReminderService.download(riderOrderReminderService.queryAll(criteria), response);
+ }
+
+ @GetMapping
+ @ApiOperation("查询骑手消息提示记录")
+ @PreAuthorize("@el.check('riderOrderReminder:list')")
+ public ResponseEntity<PageResult<RiderOrderReminder>> queryRiderOrderReminder(RiderOrderReminderQueryCriteria criteria){
+ Page<Object> page = new Page<>(criteria.getPage(), criteria.getSize());
+ return new ResponseEntity<>(riderOrderReminderService.queryAll(criteria,page),HttpStatus.OK);
+ }
+
+ @PostMapping
+ @Log("新增骑手消息提示记录")
+ @ApiOperation("新增骑手消息提示记录")
+ @PreAuthorize("@el.check('riderOrderReminder:add')")
+ public ResponseEntity<Object> createRiderOrderReminder(@Validated @RequestBody RiderOrderReminder resources){
+ riderOrderReminderService.create(resources);
+ return new ResponseEntity<>(HttpStatus.CREATED);
+ }
+
+ @PutMapping
+ @Log("修改骑手消息提示记录")
+ @ApiOperation("修改骑手消息提示记录")
+ @PreAuthorize("@el.check('riderOrderReminder:edit')")
+ public ResponseEntity<Object> updateRiderOrderReminder(@Validated @RequestBody RiderOrderReminder resources){
+ riderOrderReminderService.update(resources);
+ return new ResponseEntity<>(HttpStatus.NO_CONTENT);
+ }
+
+ @DeleteMapping
+ @Log("删除骑手消息提示记录")
+ @ApiOperation("删除骑手消息提示记录")
+ @PreAuthorize("@el.check('riderOrderReminder:del')")
+ public ResponseEntity<Object> deleteRiderOrderReminder(@ApiParam(value = "传ID数组[]") @RequestBody List<Long> ids) {
+ riderOrderReminderService.deleteAll(ids);
+ return new ResponseEntity<>(HttpStatus.OK);
+ }
+}
diff --git a/oying-system/src/main/java/com/oying/modules/rider/rest/RiderWalletInfoController.java b/oying-system/src/main/java/com/oying/modules/rider/rest/RiderWalletInfoController.java
new file mode 100644
index 0000000..1dab547
--- /dev/null
+++ b/oying-system/src/main/java/com/oying/modules/rider/rest/RiderWalletInfoController.java
@@ -0,0 +1,74 @@
+package com.oying.modules.rider.rest;
+
+import com.oying.annotation.Log;
+import com.oying.modules.rider.domain.RiderWalletInfo;
+import com.oying.modules.rider.service.RiderWalletInfoService;
+import com.oying.modules.rider.domain.dto.RiderWalletInfoQueryCriteria;
+import lombok.RequiredArgsConstructor;
+import java.util.List;
+import org.springframework.http.HttpStatus;
+import org.springframework.http.ResponseEntity;
+import org.springframework.security.access.prepost.PreAuthorize;
+import org.springframework.validation.annotation.Validated;
+import org.springframework.web.bind.annotation.*;
+import io.swagger.annotations.*;
+import java.io.IOException;
+import javax.servlet.http.HttpServletResponse;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.oying.utils.PageResult;
+
+/**
+* @author pxb
+* @date 2025-06-18
+**/
+@RestController
+@RequiredArgsConstructor
+@Api(tags = "骑手钱包详情")
+@RequestMapping("/api/riderWalletInfo")
+public class RiderWalletInfoController {
+
+ private final RiderWalletInfoService riderWalletInfoService;
+
+ @ApiOperation("导出数据")
+ @GetMapping(value = "/download")
+ @PreAuthorize("@el.check('riderWalletInfo:list')")
+ public void exportRiderWalletInfo(HttpServletResponse response, RiderWalletInfoQueryCriteria criteria) throws IOException {
+ riderWalletInfoService.download(riderWalletInfoService.queryAll(criteria), response);
+ }
+
+ @GetMapping
+ @ApiOperation("查询骑手钱包详情")
+ @PreAuthorize("@el.check('riderWalletInfo:list')")
+ public ResponseEntity<PageResult<RiderWalletInfo>> queryRiderWalletInfo(RiderWalletInfoQueryCriteria criteria){
+ Page<Object> page = new Page<>(criteria.getPage(), criteria.getSize());
+ return new ResponseEntity<>(riderWalletInfoService.queryAll(criteria,page),HttpStatus.OK);
+ }
+
+ @PostMapping
+ @Log("新增骑手钱包详情")
+ @ApiOperation("新增骑手钱包详情")
+ @PreAuthorize("@el.check('riderWalletInfo:add')")
+ public ResponseEntity<Object> createRiderWalletInfo(@Validated @RequestBody RiderWalletInfo resources){
+ riderWalletInfoService.create(resources);
+ return new ResponseEntity<>(HttpStatus.CREATED);
+ }
+
+ @PutMapping
+ @Log("修改骑手钱包详情")
+ @ApiOperation("修改骑手钱包详情")
+ @PreAuthorize("@el.check('riderWalletInfo:edit')")
+ public ResponseEntity<Object> updateRiderWalletInfo(@Validated @RequestBody RiderWalletInfo resources){
+ riderWalletInfoService.update(resources);
+ return new ResponseEntity<>(HttpStatus.NO_CONTENT);
+ }
+
+ @DeleteMapping
+ @Log("删除骑手钱包详情")
+ @ApiOperation("删除骑手钱包详情")
+ @PreAuthorize("@el.check('riderWalletInfo:del')")
+ public ResponseEntity<Object> deleteRiderWalletInfo(@ApiParam(value = "传ID数组[]") @RequestBody List<Long> ids) {
+ riderWalletInfoService.deleteAll(ids);
+ return new ResponseEntity<>(HttpStatus.OK);
+ }
+
+}
diff --git a/oying-system/src/main/java/com/oying/modules/rider/rest/RiderWithdrawalRecordController.java b/oying-system/src/main/java/com/oying/modules/rider/rest/RiderWithdrawalRecordController.java
new file mode 100644
index 0000000..8594d25
--- /dev/null
+++ b/oying-system/src/main/java/com/oying/modules/rider/rest/RiderWithdrawalRecordController.java
@@ -0,0 +1,73 @@
+package com.oying.modules.rider.rest;
+
+import com.oying.annotation.Log;
+import com.oying.modules.rider.domain.RiderWithdrawalRecord;
+import com.oying.modules.rider.service.RiderWithdrawalRecordService;
+import com.oying.modules.rider.domain.dto.RiderWithdrawalRecordQueryCriteria;
+import lombok.RequiredArgsConstructor;
+import java.util.List;
+import org.springframework.http.HttpStatus;
+import org.springframework.http.ResponseEntity;
+import org.springframework.security.access.prepost.PreAuthorize;
+import org.springframework.validation.annotation.Validated;
+import org.springframework.web.bind.annotation.*;
+import io.swagger.annotations.*;
+import java.io.IOException;
+import javax.servlet.http.HttpServletResponse;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.oying.utils.PageResult;
+
+/**
+* @author pxb
+* @date 2025-06-18
+**/
+@RestController
+@RequiredArgsConstructor
+@Api(tags = "骑手提现记录")
+@RequestMapping("/api/riderWithdrawalRecord")
+public class RiderWithdrawalRecordController {
+
+ private final RiderWithdrawalRecordService riderWithdrawalRecordService;
+
+ @ApiOperation("导出数据")
+ @GetMapping(value = "/download")
+ @PreAuthorize("@el.check('riderWithdrawalRecord:list')")
+ public void exportRiderWithdrawalRecord(HttpServletResponse response, RiderWithdrawalRecordQueryCriteria criteria) throws IOException {
+ riderWithdrawalRecordService.download(riderWithdrawalRecordService.queryAll(criteria), response);
+ }
+
+ @GetMapping
+ @ApiOperation("查询骑手提现记录")
+ @PreAuthorize("@el.check('riderWithdrawalRecord:list')")
+ public ResponseEntity<PageResult<RiderWithdrawalRecord>> queryRiderWithdrawalRecord(RiderWithdrawalRecordQueryCriteria criteria){
+ Page<Object> page = new Page<>(criteria.getPage(), criteria.getSize());
+ return new ResponseEntity<>(riderWithdrawalRecordService.queryAll(criteria,page),HttpStatus.OK);
+ }
+
+ @PostMapping
+ @Log("新增骑手提现记录")
+ @ApiOperation("新增骑手提现记录")
+ @PreAuthorize("@el.check('riderWithdrawalRecord:add')")
+ public ResponseEntity<Object> createRiderWithdrawalRecord(@Validated @RequestBody RiderWithdrawalRecord resources){
+ riderWithdrawalRecordService.create(resources);
+ return new ResponseEntity<>(HttpStatus.CREATED);
+ }
+
+ @PutMapping
+ @Log("修改骑手提现记录")
+ @ApiOperation("修改骑手提现记录")
+ @PreAuthorize("@el.check('riderWithdrawalRecord:edit')")
+ public ResponseEntity<Object> updateRiderWithdrawalRecord(@Validated @RequestBody RiderWithdrawalRecord resources){
+ riderWithdrawalRecordService.update(resources);
+ return new ResponseEntity<>(HttpStatus.NO_CONTENT);
+ }
+
+ @DeleteMapping
+ @Log("删除骑手提现记录")
+ @ApiOperation("删除骑手提现记录")
+ @PreAuthorize("@el.check('riderWithdrawalRecord:del')")
+ public ResponseEntity<Object> deleteRiderWithdrawalRecord(@ApiParam(value = "传ID数组[]") @RequestBody List<Long> ids) {
+ riderWithdrawalRecordService.deleteAll(ids);
+ return new ResponseEntity<>(HttpStatus.OK);
+ }
+}
diff --git a/oying-system/src/main/java/com/oying/modules/rider/rest/WxRiderController.java b/oying-system/src/main/java/com/oying/modules/rider/rest/WxRiderController.java
new file mode 100644
index 0000000..5d81a0c
--- /dev/null
+++ b/oying-system/src/main/java/com/oying/modules/rider/rest/WxRiderController.java
@@ -0,0 +1,91 @@
+package com.oying.modules.rider.rest;
+
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.oying.modules.rider.domain.*;
+import com.oying.modules.rider.domain.dto.RiderIncomeDetailQueryCriteria;
+import com.oying.modules.rider.domain.dto.RiderOrderRecordQueryCriteria;
+import com.oying.modules.rider.domain.dto.RiderWithdrawalRecordQueryCriteria;
+import com.oying.modules.rider.service.*;
+import com.oying.utils.PageResult;
+import com.oying.utils.R;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import lombok.RequiredArgsConstructor;
+import org.springframework.http.ResponseEntity;
+import org.springframework.security.access.prepost.PreAuthorize;
+import org.springframework.web.bind.annotation.*;
+
+
+/**
+ * @author pxb
+ * @date 2025-06-18
+ **/
+@RestController
+@RequiredArgsConstructor
+@Api(tags = "骑手微信小程序接口")
+@RequestMapping("/api/wx/rider")
+public class WxRiderController {
+
+ private final RiderIncomeDetailService riderIncomeDetailService;
+
+ private final RiderWalletInfoService riderWalletInfoService;
+
+ private final RiderWithdrawalRecordService riderWithdrawalRecordService;
+
+ private final RiderInfoService riderInfoService;
+
+ private final RiderOrderRecordService riderOrderRecordService;
+
+
+ @GetMapping("getRiderSourceInfo/{riderId}")
+ @ApiOperation("查询第三方数据骑手信息")
+ @PreAuthorize("@el.check('riderInfo:list')")
+ public ResponseEntity<?> getRiderSourceInfo(@PathVariable String riderId) {
+ RiderInfo riderInfo = riderInfoService.getRiderSourceInfo(riderId);
+ return ResponseEntity.ok(R.success(riderInfo));
+ }
+
+ @GetMapping("syncRiderSourceInfo/{sourcePlatform}")
+ @ApiOperation("同步查询第三方骑手信息 LY")
+ @PreAuthorize("@el.check('riderInfo:edit')")
+ public ResponseEntity<?> syncRiderSourceInfo(@PathVariable String sourcePlatform) {
+ riderInfoService.syncRiderSourceInfo(sourcePlatform);
+ return ResponseEntity.ok(R.success());
+ }
+
+ @GetMapping("getRiderWalletInfo/{riderId}")
+ @ApiOperation("查询骑手钱包信息")
+ @PreAuthorize("@el.check('riderWalletInfo:list')")
+ public ResponseEntity<?> getRiderWalletInfo(@PathVariable String riderId) {
+ RiderWalletInfo riderWalletInfo = riderWalletInfoService.getRiderWalletInfo(riderId);
+ return ResponseEntity.ok(R.success(riderWalletInfo));
+ }
+
+ @GetMapping("getRiderIncomeDetail")
+ @ApiOperation("查询骑手订单收入明细分页")
+ @PreAuthorize("@el.check('riderIncomeDetail:list')")
+ public ResponseEntity<?> getRiderIncomeDetail(RiderIncomeDetailQueryCriteria criteria) {
+ Page<Object> page = new Page<>(criteria.getPage(), criteria.getSize());
+ PageResult<RiderIncomeDetail> riderIncomeDetails = riderIncomeDetailService.queryAll(criteria, page);
+ return ResponseEntity.ok(R.success(riderIncomeDetails));
+ }
+
+ @GetMapping("getRiderWithdrawalRecord")
+ @ApiOperation("查询骑手提现记录分页")
+ @PreAuthorize("@el.check('riderWithdrawalRecord:list')")
+ public ResponseEntity<?> getRiderWithdrawalRecord(RiderWithdrawalRecordQueryCriteria criteria) {
+ Page<Object> page = new Page<>(criteria.getPage(), criteria.getSize());
+ PageResult<RiderWithdrawalRecord> riderIncomeDetails = riderWithdrawalRecordService.queryAll(criteria, page);
+ return ResponseEntity.ok(R.success(riderIncomeDetails));
+ }
+
+ @GetMapping("getRiderOrderRecord")
+ @ApiOperation("查询骑手订单记录分页")
+ @PreAuthorize("@el.check('riderOrderRecord:list')")
+ public ResponseEntity<?> getRiderOrderRecord(RiderOrderRecordQueryCriteria criteria) {
+ Page<Object> page = new Page<>(criteria.getPage(), criteria.getSize());
+ PageResult<RiderOrderRecord> riderOrderRecordPageResult = riderOrderRecordService.queryAll(criteria, page);
+ return ResponseEntity.ok(R.success(riderOrderRecordPageResult));
+ }
+
+}
diff --git a/oying-system/src/main/java/com/oying/modules/rider/service/RiderIncomeDetailService.java b/oying-system/src/main/java/com/oying/modules/rider/service/RiderIncomeDetailService.java
new file mode 100644
index 0000000..9bf3e10
--- /dev/null
+++ b/oying-system/src/main/java/com/oying/modules/rider/service/RiderIncomeDetailService.java
@@ -0,0 +1,62 @@
+package com.oying.modules.rider.service;
+
+import com.oying.modules.rider.domain.dto.RiderIncomeDetailQueryCriteria;
+import com.oying.modules.rider.domain.RiderIncomeDetail;
+
+import java.util.List;
+import java.io.IOException;
+import javax.servlet.http.HttpServletResponse;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.baomidou.mybatisplus.extension.service.IService;
+import com.oying.utils.PageResult;
+
+/**
+* @description 服务接口
+* @author pxb
+* @date 2025-06-18
+**/
+public interface RiderIncomeDetailService extends IService<RiderIncomeDetail> {
+
+ /**
+ * 查询数据分页
+ * @param criteria 条件
+ * @param page 分页参数
+ * @return PageResult
+ */
+ PageResult<RiderIncomeDetail> queryAll(RiderIncomeDetailQueryCriteria criteria, Page<Object> page);
+
+ /**
+ * 查询所有数据不分页
+ * @param criteria 条件参数
+ * @return List<RiderIncomeDetailDto>
+ */
+ List<RiderIncomeDetail> queryAll(RiderIncomeDetailQueryCriteria criteria);
+
+ /**
+ * 创建
+ * @param resources /
+ */
+ void create(RiderIncomeDetail resources);
+
+ /**
+ * 编辑
+ * @param resources /
+ */
+ void update(RiderIncomeDetail resources);
+
+ /**
+ * 多选删除
+ * @param ids /
+ */
+ void deleteAll(List<Long> ids);
+
+ /**
+ * 导出数据
+ * @param all 待导出的数据
+ * @param response /
+ * @throws IOException /
+ */
+ void download(List<RiderIncomeDetail> all, HttpServletResponse response) throws IOException;
+
+
+}
diff --git a/oying-system/src/main/java/com/oying/modules/rider/service/RiderInfoService.java b/oying-system/src/main/java/com/oying/modules/rider/service/RiderInfoService.java
new file mode 100644
index 0000000..e4d1e96
--- /dev/null
+++ b/oying-system/src/main/java/com/oying/modules/rider/service/RiderInfoService.java
@@ -0,0 +1,72 @@
+package com.oying.modules.rider.service;
+
+import com.oying.modules.rider.domain.RiderInfo;
+import com.oying.modules.rider.domain.dto.RiderInfoQueryCriteria;
+import java.util.List;
+import java.io.IOException;
+import javax.servlet.http.HttpServletResponse;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.baomidou.mybatisplus.extension.service.IService;
+import com.oying.utils.PageResult;
+
+/**
+* @description 服务接口
+* @author pxb
+* @date 2025-07-01
+**/
+public interface RiderInfoService extends IService<RiderInfo> {
+
+ /**
+ * 查询数据分页
+ * @param criteria 条件
+ * @param page 分页参数
+ * @return PageResult
+ */
+ PageResult<RiderInfo> queryAll(RiderInfoQueryCriteria criteria, Page<Object> page);
+
+ /**
+ * 查询所有数据不分页
+ * @param criteria 条件参数
+ * @return List<RiderInfoDto>
+ */
+ List<RiderInfo> queryAll(RiderInfoQueryCriteria criteria);
+
+ /**
+ * 创建
+ * @param resources /
+ */
+ void create(RiderInfo resources);
+
+ /**
+ * 编辑
+ * @param resources /
+ */
+ void update(RiderInfo resources);
+
+ /**
+ * 多选删除
+ * @param ids /
+ */
+ void deleteAll(List<Long> ids);
+
+ /**
+ * 导出数据
+ * @param all 待导出的数据
+ * @param response /
+ * @throws IOException /
+ */
+ void download(List<RiderInfo> all, HttpServletResponse response) throws IOException;
+
+ /**
+ * 同步其他平台的骑手信息
+ * @param sourcePlatform /
+ */
+ void syncRiderSourceInfo(String sourcePlatform);
+
+ /**
+ * 查询其他平台的骑手信息
+ * @return RiderInfo
+ * @param riderId /
+ */
+ RiderInfo getRiderSourceInfo(String riderId);
+}
diff --git a/oying-system/src/main/java/com/oying/modules/rider/service/RiderOrderOperationService.java b/oying-system/src/main/java/com/oying/modules/rider/service/RiderOrderOperationService.java
new file mode 100644
index 0000000..b3e9c27
--- /dev/null
+++ b/oying-system/src/main/java/com/oying/modules/rider/service/RiderOrderOperationService.java
@@ -0,0 +1,59 @@
+package com.oying.modules.rider.service;
+
+import com.oying.modules.rider.domain.RiderOrderOperation;
+import com.oying.modules.rider.domain.dto.RiderOrderOperationQueryCriteria;
+import java.util.List;
+import java.io.IOException;
+import javax.servlet.http.HttpServletResponse;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.baomidou.mybatisplus.extension.service.IService;
+import com.oying.utils.PageResult;
+
+/**
+* @description 服务接口
+* @author pxb
+* @date 2025-06-18
+**/
+public interface RiderOrderOperationService extends IService<RiderOrderOperation> {
+
+ /**
+ * 查询数据分页
+ * @param criteria 条件
+ * @param page 分页参数
+ * @return PageResult
+ */
+ PageResult<RiderOrderOperation> queryAll(RiderOrderOperationQueryCriteria criteria, Page<Object> page);
+
+ /**
+ * 查询所有数据不分页
+ * @param criteria 条件参数
+ * @return List<RiderOrderOperationDto>
+ */
+ List<RiderOrderOperation> queryAll(RiderOrderOperationQueryCriteria criteria);
+
+ /**
+ * 创建
+ * @param resources /
+ */
+ void create(RiderOrderOperation resources);
+
+ /**
+ * 编辑
+ * @param resources /
+ */
+ void update(RiderOrderOperation resources);
+
+ /**
+ * 多选删除
+ * @param ids /
+ */
+ void deleteAll(List<Long> ids);
+
+ /**
+ * 导出数据
+ * @param all 待导出的数据
+ * @param response /
+ * @throws IOException /
+ */
+ void download(List<RiderOrderOperation> all, HttpServletResponse response) throws IOException;
+}
diff --git a/oying-system/src/main/java/com/oying/modules/rider/service/RiderOrderRecordService.java b/oying-system/src/main/java/com/oying/modules/rider/service/RiderOrderRecordService.java
new file mode 100644
index 0000000..bb45f54
--- /dev/null
+++ b/oying-system/src/main/java/com/oying/modules/rider/service/RiderOrderRecordService.java
@@ -0,0 +1,59 @@
+package com.oying.modules.rider.service;
+
+import com.oying.modules.rider.domain.RiderOrderRecord;
+import com.oying.modules.rider.domain.dto.RiderOrderRecordQueryCriteria;
+import java.util.List;
+import java.io.IOException;
+import javax.servlet.http.HttpServletResponse;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.baomidou.mybatisplus.extension.service.IService;
+import com.oying.utils.PageResult;
+
+/**
+* @description 服务接口
+* @author pxb
+* @date 2025-07-01
+**/
+public interface RiderOrderRecordService extends IService<RiderOrderRecord> {
+
+ /**
+ * 查询数据分页
+ * @param criteria 条件
+ * @param page 分页参数
+ * @return PageResult
+ */
+ PageResult<RiderOrderRecord> queryAll(RiderOrderRecordQueryCriteria criteria, Page<Object> page);
+
+ /**
+ * 查询所有数据不分页
+ * @param criteria 条件参数
+ * @return List<RiderOrderRecordDto>
+ */
+ List<RiderOrderRecord> queryAll(RiderOrderRecordQueryCriteria criteria);
+
+ /**
+ * 创建
+ * @param resources /
+ */
+ void create(RiderOrderRecord resources);
+
+ /**
+ * 编辑
+ * @param resources /
+ */
+ void update(RiderOrderRecord resources);
+
+ /**
+ * 多选删除
+ * @param ids /
+ */
+ void deleteAll(List<Long> ids);
+
+ /**
+ * 导出数据
+ * @param all 待导出的数据
+ * @param response /
+ * @throws IOException /
+ */
+ void download(List<RiderOrderRecord> all, HttpServletResponse response) throws IOException;
+}
diff --git a/oying-system/src/main/java/com/oying/modules/rider/service/RiderOrderReminderService.java b/oying-system/src/main/java/com/oying/modules/rider/service/RiderOrderReminderService.java
new file mode 100644
index 0000000..039167a
--- /dev/null
+++ b/oying-system/src/main/java/com/oying/modules/rider/service/RiderOrderReminderService.java
@@ -0,0 +1,59 @@
+package com.oying.modules.rider.service;
+
+import com.oying.modules.rider.domain.RiderOrderReminder;
+import com.oying.modules.rider.domain.dto.RiderOrderReminderQueryCriteria;
+import java.util.List;
+import java.io.IOException;
+import javax.servlet.http.HttpServletResponse;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.baomidou.mybatisplus.extension.service.IService;
+import com.oying.utils.PageResult;
+
+/**
+* @description 服务接口
+* @author pxb
+* @date 2025-06-18
+**/
+public interface RiderOrderReminderService extends IService<RiderOrderReminder> {
+
+ /**
+ * 查询数据分页
+ * @param criteria 条件
+ * @param page 分页参数
+ * @return PageResult
+ */
+ PageResult<RiderOrderReminder> queryAll(RiderOrderReminderQueryCriteria criteria, Page<Object> page);
+
+ /**
+ * 查询所有数据不分页
+ * @param criteria 条件参数
+ * @return List<RiderOrderReminderDto>
+ */
+ List<RiderOrderReminder> queryAll(RiderOrderReminderQueryCriteria criteria);
+
+ /**
+ * 创建
+ * @param resources /
+ */
+ void create(RiderOrderReminder resources);
+
+ /**
+ * 编辑
+ * @param resources /
+ */
+ void update(RiderOrderReminder resources);
+
+ /**
+ * 多选删除
+ * @param ids /
+ */
+ void deleteAll(List<Long> ids);
+
+ /**
+ * 导出数据
+ * @param all 待导出的数据
+ * @param response /
+ * @throws IOException /
+ */
+ void download(List<RiderOrderReminder> all, HttpServletResponse response) throws IOException;
+}
diff --git a/oying-system/src/main/java/com/oying/modules/rider/service/RiderWalletInfoService.java b/oying-system/src/main/java/com/oying/modules/rider/service/RiderWalletInfoService.java
new file mode 100644
index 0000000..38e7248
--- /dev/null
+++ b/oying-system/src/main/java/com/oying/modules/rider/service/RiderWalletInfoService.java
@@ -0,0 +1,66 @@
+package com.oying.modules.rider.service;
+
+import com.oying.modules.rider.domain.RiderWalletInfo;
+import com.oying.modules.rider.domain.dto.RiderWalletInfoQueryCriteria;
+import java.util.List;
+import java.io.IOException;
+import javax.servlet.http.HttpServletResponse;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.baomidou.mybatisplus.extension.service.IService;
+import com.oying.utils.PageResult;
+
+/**
+* @description 服务接口
+* @author pxb
+* @date 2025-06-18
+**/
+public interface RiderWalletInfoService extends IService<RiderWalletInfo> {
+
+ /**
+ * 查询数据分页
+ * @param criteria 条件
+ * @param page 分页参数
+ * @return PageResult
+ */
+ PageResult<RiderWalletInfo> queryAll(RiderWalletInfoQueryCriteria criteria, Page<Object> page);
+
+ /**
+ * 查询所有数据不分页
+ * @param criteria 条件参数
+ * @return List<RiderWalletInfoDto>
+ */
+ List<RiderWalletInfo> queryAll(RiderWalletInfoQueryCriteria criteria);
+
+ /**
+ * 创建
+ * @param resources /
+ */
+ void create(RiderWalletInfo resources);
+
+ /**
+ * 编辑
+ * @param resources /
+ */
+ void update(RiderWalletInfo resources);
+
+ /**
+ * 多选删除
+ * @param ids /
+ */
+ void deleteAll(List<Long> ids);
+
+ /**
+ * 导出数据
+ * @param all 待导出的数据
+ * @param response /
+ * @throws IOException /
+ */
+ void download(List<RiderWalletInfo> all, HttpServletResponse response) throws IOException;
+
+ /**
+ * 根据骑手ID查询钱包信息
+ * @param riderId 条件
+ * @return RiderWalletInfo
+ */
+ RiderWalletInfo getRiderWalletInfo(String riderId);
+}
diff --git a/oying-system/src/main/java/com/oying/modules/rider/service/RiderWithdrawalRecordService.java b/oying-system/src/main/java/com/oying/modules/rider/service/RiderWithdrawalRecordService.java
new file mode 100644
index 0000000..dd7595c
--- /dev/null
+++ b/oying-system/src/main/java/com/oying/modules/rider/service/RiderWithdrawalRecordService.java
@@ -0,0 +1,59 @@
+package com.oying.modules.rider.service;
+
+import com.oying.modules.rider.domain.RiderWithdrawalRecord;
+import com.oying.modules.rider.domain.dto.RiderWithdrawalRecordQueryCriteria;
+import java.util.List;
+import java.io.IOException;
+import javax.servlet.http.HttpServletResponse;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.baomidou.mybatisplus.extension.service.IService;
+import com.oying.utils.PageResult;
+
+/**
+* @description 服务接口
+* @author pxb
+* @date 2025-06-18
+**/
+public interface RiderWithdrawalRecordService extends IService<RiderWithdrawalRecord> {
+
+ /**
+ * 查询数据分页
+ * @param criteria 条件
+ * @param page 分页参数
+ * @return PageResult
+ */
+ PageResult<RiderWithdrawalRecord> queryAll(RiderWithdrawalRecordQueryCriteria criteria, Page<Object> page);
+
+ /**
+ * 查询所有数据不分页
+ * @param criteria 条件参数
+ * @return List<RiderWithdrawalRecordDto>
+ */
+ List<RiderWithdrawalRecord> queryAll(RiderWithdrawalRecordQueryCriteria criteria);
+
+ /**
+ * 创建
+ * @param resources /
+ */
+ void create(RiderWithdrawalRecord resources);
+
+ /**
+ * 编辑
+ * @param resources /
+ */
+ void update(RiderWithdrawalRecord resources);
+
+ /**
+ * 多选删除
+ * @param ids /
+ */
+ void deleteAll(List<Long> ids);
+
+ /**
+ * 导出数据
+ * @param all 待导出的数据
+ * @param response /
+ * @throws IOException /
+ */
+ void download(List<RiderWithdrawalRecord> all, HttpServletResponse response) throws IOException;
+}
diff --git a/oying-system/src/main/java/com/oying/modules/rider/service/impl/RiderIncomeDetailServiceImpl.java b/oying-system/src/main/java/com/oying/modules/rider/service/impl/RiderIncomeDetailServiceImpl.java
new file mode 100644
index 0000000..5da95c2
--- /dev/null
+++ b/oying-system/src/main/java/com/oying/modules/rider/service/impl/RiderIncomeDetailServiceImpl.java
@@ -0,0 +1,89 @@
+package com.oying.modules.rider.service.impl;
+
+import com.oying.modules.rider.domain.RiderIncomeDetail;
+import com.oying.modules.rider.domain.dto.RiderIncomeDetailQueryCriteria;
+import com.oying.modules.rider.mapper.RiderIncomeDetailMapper;
+import com.oying.modules.rider.service.RiderIncomeDetailService;
+import com.oying.utils.FileUtil;
+import lombok.RequiredArgsConstructor;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.Transactional;
+import com.oying.utils.PageUtil;
+
+import java.util.List;
+import java.util.Map;
+import java.io.IOException;
+import javax.servlet.http.HttpServletResponse;
+import java.util.ArrayList;
+import java.util.LinkedHashMap;
+
+import com.oying.utils.PageResult;
+
+/**
+ * @author pxb
+ * @description 服务实现
+ * @date 2025-06-18
+ **/
+@Service
+@RequiredArgsConstructor
+public class RiderIncomeDetailServiceImpl extends ServiceImpl<RiderIncomeDetailMapper, RiderIncomeDetail> implements RiderIncomeDetailService {
+
+ private final RiderIncomeDetailMapper riderIncomeDetailMapper;
+
+ @Override
+ public PageResult<RiderIncomeDetail> queryAll(RiderIncomeDetailQueryCriteria criteria, Page<Object> page) {
+ return PageUtil.toPage(riderIncomeDetailMapper.findAll(criteria, page));
+ }
+
+ @Override
+ public List<RiderIncomeDetail> queryAll(RiderIncomeDetailQueryCriteria criteria) {
+ return riderIncomeDetailMapper.findAll(criteria);
+ }
+
+ @Override
+ @Transactional(rollbackFor = Exception.class)
+ public void create(RiderIncomeDetail resources) {
+ riderIncomeDetailMapper.insert(resources);
+ }
+
+ @Override
+ @Transactional(rollbackFor = Exception.class)
+ public void update(RiderIncomeDetail resources) {
+ RiderIncomeDetail riderIncomeDetail = getById(resources.getIncomeId());
+ riderIncomeDetail.copy(resources);
+ riderIncomeDetailMapper.updateById(riderIncomeDetail);
+ }
+
+ @Override
+ @Transactional(rollbackFor = Exception.class)
+ public void deleteAll(List<Long> ids) {
+ riderIncomeDetailMapper.deleteBatchIds(ids);
+ }
+
+ @Override
+ public void download(List<RiderIncomeDetail> all, HttpServletResponse response) throws IOException {
+ List<Map<String, Object>> list = new ArrayList<>();
+ for (RiderIncomeDetail riderIncomeDetail : all) {
+ Map<String, Object> map = new LinkedHashMap<>();
+ map.put("骑手id", riderIncomeDetail.getRiderId());
+ map.put("骑手名字", riderIncomeDetail.getRiderName());
+ map.put("骑手手机号", riderIncomeDetail.getRiderPhone());
+ map.put("订单id", riderIncomeDetail.getOrderId());
+ map.put("订单号", riderIncomeDetail.getOrderNum());
+ map.put("收入金额", riderIncomeDetail.getIncomeAmount());
+ map.put("收入类型:1-配送费,2-奖励,3-补贴", riderIncomeDetail.getIncomeType());
+ map.put("收入日期(YYYY-MM-dd)方便统计", riderIncomeDetail.getIncomeDate());
+ map.put("收入月份YYYY-MM", riderIncomeDetail.getIncomeMonth());
+ map.put("订单状态:1-待取货,2-配送中,3-已完成,4-已取消", riderIncomeDetail.getOrderStatus());
+ map.put("创建人", riderIncomeDetail.getCreateBy());
+ map.put("创建时间", riderIncomeDetail.getCreateTime());
+ map.put("修改者", riderIncomeDetail.getUpdateBy());
+ map.put("修改时间", riderIncomeDetail.getUpdateTime());
+ list.add(map);
+ }
+ FileUtil.downloadExcel(list, response);
+ }
+
+}
diff --git a/oying-system/src/main/java/com/oying/modules/rider/service/impl/RiderInfoServiceImpl.java b/oying-system/src/main/java/com/oying/modules/rider/service/impl/RiderInfoServiceImpl.java
new file mode 100644
index 0000000..74eedd1
--- /dev/null
+++ b/oying-system/src/main/java/com/oying/modules/rider/service/impl/RiderInfoServiceImpl.java
@@ -0,0 +1,151 @@
+package com.oying.modules.rider.service.impl;
+
+import cn.hutool.core.bean.BeanUtil;
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.oying.exception.BadRequestException;
+import com.oying.modules.rider.domain.RiderInfo;
+import com.oying.modules.rider.domain.RiderSourceInfo;
+import com.oying.modules.rider.domain.RiderSourceInfoHttp;
+import com.oying.modules.rider.utils.Constants;
+import com.oying.modules.rider.utils.RiderSourceHttpUtils;
+import com.oying.utils.FileUtil;
+import com.oying.utils.SecurityUtils;
+import lombok.RequiredArgsConstructor;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.oying.modules.rider.service.RiderInfoService;
+import com.oying.modules.rider.domain.dto.RiderInfoQueryCriteria;
+import com.oying.modules.rider.mapper.RiderInfoMapper;
+import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.Transactional;
+import com.oying.utils.PageUtil;
+
+import java.util.*;
+import java.io.IOException;
+import javax.servlet.http.HttpServletResponse;
+
+import com.oying.utils.PageResult;
+
+/**
+ * @author pxb
+ * @description 服务实现
+ * @date 2025-07-01
+ **/
+@Service
+@RequiredArgsConstructor
+public class RiderInfoServiceImpl extends ServiceImpl<RiderInfoMapper, RiderInfo> implements RiderInfoService {
+
+ private final RiderInfoMapper riderInfoMapper;
+
+ @Override
+ public PageResult<RiderInfo> queryAll(RiderInfoQueryCriteria criteria, Page<Object> page) {
+ return PageUtil.toPage(riderInfoMapper.findAll(criteria, page));
+ }
+
+ @Override
+ public List<RiderInfo> queryAll(RiderInfoQueryCriteria criteria) {
+ return riderInfoMapper.findAll(criteria);
+ }
+
+ @Override
+ @Transactional(rollbackFor = Exception.class)
+ public void create(RiderInfo resources) {
+ riderInfoMapper.insert(resources);
+ }
+
+ @Override
+ @Transactional(rollbackFor = Exception.class)
+ public void update(RiderInfo resources) {
+ RiderInfo riderInfo = getById(resources.getInfoId());
+ riderInfo.copy(resources);
+ riderInfoMapper.updateById(riderInfo);
+ }
+
+ @Override
+ @Transactional(rollbackFor = Exception.class)
+ public void deleteAll(List<Long> ids) {
+ riderInfoMapper.deleteBatchIds(ids);
+ }
+
+ @Override
+ public void download(List<RiderInfo> all, HttpServletResponse response) throws IOException {
+ List<Map<String, Object>> list = new ArrayList<>();
+ for (RiderInfo riderInfo : all) {
+ Map<String, Object> map = new LinkedHashMap<>();
+ map.put("骑手id", riderInfo.getRiderId());
+ map.put("数据来源id", riderInfo.getSourceId());
+ map.put("电话", riderInfo.getPhone());
+ map.put("乙方姓名", riderInfo.getCardName());
+ map.put("证件号", riderInfo.getCardNum());
+ map.put("数据来源编号", riderInfo.getSourceNum());
+ map.put("状态0不生效,1生效 其他平台的条件是否满足", riderInfo.getEnabled());
+ map.put("数据来源平台(LY,等)", riderInfo.getSourcePlatform());
+ map.put("地址", riderInfo.getAddress());
+ map.put("创建者", riderInfo.getCreateBy());
+ map.put("更新者", riderInfo.getUpdateBy());
+ map.put("创建日期", riderInfo.getCreateTime());
+ map.put("更新时间", riderInfo.getUpdateTime());
+ list.add(map);
+ }
+ FileUtil.downloadExcel(list, response);
+ }
+
+ @Override
+ public void syncRiderSourceInfo(String sourcePlatform) {
+ Long riderId = SecurityUtils.getCurrentUserId();
+ // 查询其他平台的数据
+ RiderSourceInfoHttp riderSourceInfoHttp = RiderSourceHttpUtils.getRiderSourceInfoHttp(SecurityUtils.getCurrentUsername(), sourcePlatform);
+ // 请求成功
+ if (riderSourceInfoHttp.getCode().equals(Constants.HTTP_CODE_SUCCESS)) {
+ // 获取骑手信息等于空
+ if (null != riderSourceInfoHttp.getData()) {
+ RiderSourceInfo infoHttpData = riderSourceInfoHttp.getData();
+ // 检查是否存在该平台的骑手信息
+ QueryWrapper<RiderInfo> riderInfoQueryWrapper = new QueryWrapper<>();
+ riderInfoQueryWrapper.eq(RiderInfo.COL_RIDER_ID, riderId);
+ RiderInfo riderInfo = riderInfoMapper.selectOne(riderInfoQueryWrapper);
+ // 如果存在该平台的骑手信息
+ if (null == riderInfo) {
+ // 如果不存在,则创建新的骑手三方信息
+ RiderInfo newRiderInfo = new RiderInfo();
+ BeanUtil.copyProperties(infoHttpData, newRiderInfo);
+ newRiderInfo.setRiderId(riderId);
+ newRiderInfo.setSourcePlatform(sourcePlatform);
+ create(newRiderInfo);
+ } else {
+ // 是否相同平台
+ if (sourcePlatform.equals(riderInfo.getSourcePlatform())) {
+ // 如果存在,接单状态不同 更新接单状态
+ if (!infoHttpData.getEnabled().equals(riderInfo.getEnabled())) {
+ riderInfo.setEnabled(infoHttpData.getEnabled());
+ // 更新骑手信息
+ updateById(riderInfo);
+ }
+ } else {
+ // 骑手平台信息变更
+ RiderInfo newRiderInfo = new RiderInfo();
+ BeanUtil.copyProperties(infoHttpData, newRiderInfo);
+ newRiderInfo.setRiderId(riderId);
+ newRiderInfo.setSourcePlatform(sourcePlatform);
+ updateById(newRiderInfo);
+ // 添加变更记录...
+ }
+ }
+ } else {
+ // 获取骑手三方数据为空,抛出异常
+ throw new BadRequestException("获取骑手三方数据为空");
+ }
+ } else {
+ // 获取骑手三方数据失败,抛出异常
+ throw new BadRequestException("获取骑手三方数据失败");
+ }
+ }
+
+ @Override
+ public RiderInfo getRiderSourceInfo(String riderId) {
+ QueryWrapper<RiderInfo> riderInfoQueryWrapper = new QueryWrapper<>();
+ riderInfoQueryWrapper.eq(RiderInfo.COL_RIDER_ID, riderId);
+ return riderInfoMapper.selectOne(riderInfoQueryWrapper);
+ }
+
+}
diff --git a/oying-system/src/main/java/com/oying/modules/rider/service/impl/RiderOrderOperationServiceImpl.java b/oying-system/src/main/java/com/oying/modules/rider/service/impl/RiderOrderOperationServiceImpl.java
new file mode 100644
index 0000000..114a925
--- /dev/null
+++ b/oying-system/src/main/java/com/oying/modules/rider/service/impl/RiderOrderOperationServiceImpl.java
@@ -0,0 +1,84 @@
+package com.oying.modules.rider.service.impl;
+
+import com.oying.modules.rider.domain.RiderOrderOperation;
+import com.oying.utils.FileUtil;
+import lombok.RequiredArgsConstructor;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.oying.modules.rider.service.RiderOrderOperationService;
+import com.oying.modules.rider.domain.dto.RiderOrderOperationQueryCriteria;
+import com.oying.modules.rider.mapper.RiderOrderOperationMapper;
+import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.Transactional;
+import com.oying.utils.PageUtil;
+import java.util.List;
+import java.util.Map;
+import java.io.IOException;
+import javax.servlet.http.HttpServletResponse;
+import java.util.ArrayList;
+import java.util.LinkedHashMap;
+import com.oying.utils.PageResult;
+
+/**
+* @description 服务实现
+* @author pxb
+* @date 2025-06-18
+**/
+@Service
+@RequiredArgsConstructor
+public class RiderOrderOperationServiceImpl extends ServiceImpl<RiderOrderOperationMapper, RiderOrderOperation> implements RiderOrderOperationService {
+
+ private final RiderOrderOperationMapper riderOrderOperationMapper;
+
+ @Override
+ public PageResult<RiderOrderOperation> queryAll(RiderOrderOperationQueryCriteria criteria, Page<Object> page){
+ return PageUtil.toPage(riderOrderOperationMapper.findAll(criteria, page));
+ }
+
+ @Override
+ public List<RiderOrderOperation> queryAll(RiderOrderOperationQueryCriteria criteria){
+ return riderOrderOperationMapper.findAll(criteria);
+ }
+
+ @Override
+ @Transactional(rollbackFor = Exception.class)
+ public void create(RiderOrderOperation resources) {
+ riderOrderOperationMapper.insert(resources);
+ }
+
+ @Override
+ @Transactional(rollbackFor = Exception.class)
+ public void update(RiderOrderOperation resources) {
+ RiderOrderOperation riderOrderOperation = getById(resources.getOperationId());
+ riderOrderOperation.copy(resources);
+ riderOrderOperationMapper.updateById(riderOrderOperation);
+ }
+
+ @Override
+ @Transactional(rollbackFor = Exception.class)
+ public void deleteAll(List<Long> ids) {
+ riderOrderOperationMapper.deleteBatchIds(ids);
+ }
+
+ @Override
+ public void download(List<RiderOrderOperation> all, HttpServletResponse response) throws IOException {
+ List<Map<String, Object>> list = new ArrayList<>();
+ for (RiderOrderOperation riderOrderOperation : all) {
+ Map<String, Object> map = new LinkedHashMap<>();
+ map.put("订单ID", riderOrderOperation.getOrderId());
+ map.put("订单编号", riderOrderOperation.getOrderNum());
+ map.put("骑手ID", riderOrderOperation.getRiderId());
+ map.put("骑手手机号", riderOrderOperation.getRiderPhone());
+ map.put("骑手手姓名", riderOrderOperation.getRiderName());
+ map.put("操作类型:1-接单,2-取货,3-送达,0-取消接单", riderOrderOperation.getOperationType());
+ map.put("操作原因", riderOrderOperation.getOperationReason());
+ map.put("操作时间", riderOrderOperation.getOperationTime());
+ map.put("创建人", riderOrderOperation.getCreateBy());
+ map.put("创建时间", riderOrderOperation.getCreateTime());
+ map.put("修改者", riderOrderOperation.getUpdateBy());
+ map.put("修改时间", riderOrderOperation.getUpdateTime());
+ list.add(map);
+ }
+ FileUtil.downloadExcel(list, response);
+ }
+}
diff --git a/oying-system/src/main/java/com/oying/modules/rider/service/impl/RiderOrderRecordServiceImpl.java b/oying-system/src/main/java/com/oying/modules/rider/service/impl/RiderOrderRecordServiceImpl.java
new file mode 100644
index 0000000..d1b9785
--- /dev/null
+++ b/oying-system/src/main/java/com/oying/modules/rider/service/impl/RiderOrderRecordServiceImpl.java
@@ -0,0 +1,90 @@
+package com.oying.modules.rider.service.impl;
+
+import com.oying.modules.rider.domain.RiderOrderRecord;
+import com.oying.utils.FileUtil;
+import lombok.RequiredArgsConstructor;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.oying.modules.rider.service.RiderOrderRecordService;
+import com.oying.modules.rider.domain.dto.RiderOrderRecordQueryCriteria;
+import com.oying.modules.rider.mapper.RiderOrderRecordMapper;
+import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.Transactional;
+import com.oying.utils.PageUtil;
+import java.util.List;
+import java.util.Map;
+import java.io.IOException;
+import javax.servlet.http.HttpServletResponse;
+import java.util.ArrayList;
+import java.util.LinkedHashMap;
+import com.oying.utils.PageResult;
+
+/**
+* @description 服务实现
+* @author pxb
+* @date 2025-07-01
+**/
+@Service
+@RequiredArgsConstructor
+public class RiderOrderRecordServiceImpl extends ServiceImpl<RiderOrderRecordMapper, RiderOrderRecord> implements RiderOrderRecordService {
+
+ private final RiderOrderRecordMapper riderOrderRecordMapper;
+
+ @Override
+ public PageResult<RiderOrderRecord> queryAll(RiderOrderRecordQueryCriteria criteria, Page<Object> page){
+ return PageUtil.toPage(riderOrderRecordMapper.findAll(criteria, page));
+ }
+
+ @Override
+ public List<RiderOrderRecord> queryAll(RiderOrderRecordQueryCriteria criteria){
+ return riderOrderRecordMapper.findAll(criteria);
+ }
+
+ @Override
+ @Transactional(rollbackFor = Exception.class)
+ public void create(RiderOrderRecord resources) {
+ riderOrderRecordMapper.insert(resources);
+ }
+
+ @Override
+ @Transactional(rollbackFor = Exception.class)
+ public void update(RiderOrderRecord resources) {
+ RiderOrderRecord riderOrderRecord = getById(resources.getRecordId());
+ riderOrderRecord.copy(resources);
+ riderOrderRecordMapper.updateById(riderOrderRecord);
+ }
+
+ @Override
+ @Transactional(rollbackFor = Exception.class)
+ public void deleteAll(List<Long> ids) {
+ riderOrderRecordMapper.deleteBatchIds(ids);
+ }
+
+ @Override
+ public void download(List<RiderOrderRecord> all, HttpServletResponse response) throws IOException {
+ List<Map<String, Object>> list = new ArrayList<>();
+ for (RiderOrderRecord riderOrderRecord : all) {
+ Map<String, Object> map = new LinkedHashMap<>();
+ map.put("订单id", riderOrderRecord.getOrderId());
+ map.put("订单编号", riderOrderRecord.getOrderNum());
+ map.put("商家ID", riderOrderRecord.getMerchantId());
+ map.put("商家名称", riderOrderRecord.getMerchantName());
+ map.put("商家地址", riderOrderRecord.getMerchantAddress());
+ map.put("收货地址", riderOrderRecord.getReceiverAddress());
+ map.put("订单状态: 1-待取货 2-配送中 3-已完成 4-商家取消 5-骑手取消 6-客户取消 7-系统取消", riderOrderRecord.getOrderStatus());
+ map.put("接单时间", riderOrderRecord.getAcceptTime());
+ map.put("接单编号", riderOrderRecord.getAcceptNum());
+ map.put("完成/取消时间", riderOrderRecord.getFinishTime());
+ map.put("配送时长(秒)", riderOrderRecord.getDeliveryDuration());
+ map.put("是否超时:1-是 0-否", riderOrderRecord.getIsOvertime());
+ map.put("订单来源: 1-平台派单 2-骑手抢单 3-商家直派 4-其他", riderOrderRecord.getOrderSource());
+ map.put("订单收入配送费", riderOrderRecord.getOrderIncome());
+ map.put("创建人", riderOrderRecord.getCreateBy());
+ map.put("创建时间", riderOrderRecord.getCreateTime());
+ map.put("修改人", riderOrderRecord.getUpdateBy());
+ map.put("修改时间", riderOrderRecord.getUpdateTime());
+ list.add(map);
+ }
+ FileUtil.downloadExcel(list, response);
+ }
+}
diff --git a/oying-system/src/main/java/com/oying/modules/rider/service/impl/RiderOrderReminderServiceImpl.java b/oying-system/src/main/java/com/oying/modules/rider/service/impl/RiderOrderReminderServiceImpl.java
new file mode 100644
index 0000000..0cf6510
--- /dev/null
+++ b/oying-system/src/main/java/com/oying/modules/rider/service/impl/RiderOrderReminderServiceImpl.java
@@ -0,0 +1,87 @@
+package com.oying.modules.rider.service.impl;
+
+import com.oying.modules.rider.domain.RiderOrderReminder;
+import com.oying.utils.FileUtil;
+import lombok.RequiredArgsConstructor;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.oying.modules.rider.service.RiderOrderReminderService;
+import com.oying.modules.rider.domain.dto.RiderOrderReminderQueryCriteria;
+import com.oying.modules.rider.mapper.RiderOrderReminderMapper;
+import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.Transactional;
+import com.oying.utils.PageUtil;
+import java.util.List;
+import java.util.Map;
+import java.io.IOException;
+import javax.servlet.http.HttpServletResponse;
+import java.util.ArrayList;
+import java.util.LinkedHashMap;
+import com.oying.utils.PageResult;
+
+/**
+* @description 服务实现
+* @author pxb
+* @date 2025-06-18
+**/
+@Service
+@RequiredArgsConstructor
+public class RiderOrderReminderServiceImpl extends ServiceImpl<RiderOrderReminderMapper, RiderOrderReminder> implements RiderOrderReminderService {
+
+ private final RiderOrderReminderMapper riderOrderReminderMapper;
+
+ @Override
+ public PageResult<RiderOrderReminder> queryAll(RiderOrderReminderQueryCriteria criteria, Page<Object> page){
+ return PageUtil.toPage(riderOrderReminderMapper.findAll(criteria, page));
+ }
+
+ @Override
+ public List<RiderOrderReminder> queryAll(RiderOrderReminderQueryCriteria criteria){
+ return riderOrderReminderMapper.findAll(criteria);
+ }
+
+ @Override
+ @Transactional(rollbackFor = Exception.class)
+ public void create(RiderOrderReminder resources) {
+ riderOrderReminderMapper.insert(resources);
+ }
+
+ @Override
+ @Transactional(rollbackFor = Exception.class)
+ public void update(RiderOrderReminder resources) {
+ RiderOrderReminder riderOrderReminder = getById(resources.getReminderId());
+ riderOrderReminder.copy(resources);
+ riderOrderReminderMapper.updateById(riderOrderReminder);
+ }
+
+ @Override
+ @Transactional(rollbackFor = Exception.class)
+ public void deleteAll(List<Long> ids) {
+ riderOrderReminderMapper.deleteBatchIds(ids);
+ }
+
+ @Override
+ public void download(List<RiderOrderReminder> all, HttpServletResponse response) throws IOException {
+ List<Map<String, Object>> list = new ArrayList<>();
+ for (RiderOrderReminder riderOrderReminder : all) {
+ Map<String, Object> map = new LinkedHashMap<>();
+ map.put("骑手id", riderOrderReminder.getRiderId());
+ map.put("骑手名字", riderOrderReminder.getRiderName());
+ map.put("骑手手机号", riderOrderReminder.getRiderPhone());
+ map.put("订单Id", riderOrderReminder.getOrderId());
+ map.put("订单号", riderOrderReminder.getOrderNum());
+ map.put("规则id", riderOrderReminder.getRuleId());
+ map.put("规则内容", riderOrderReminder.getRuleContent());
+ map.put("规则类型。。。", riderOrderReminder.getRuleType());
+ map.put("提醒时间", riderOrderReminder.getReminderTime());
+ map.put("是否已发送:0-否,1-是", riderOrderReminder.getIsSent());
+ map.put("发送时间", riderOrderReminder.getSendTime());
+ map.put("创建人", riderOrderReminder.getCreateBy());
+ map.put("创建时间", riderOrderReminder.getCreateTime());
+ map.put("修改者", riderOrderReminder.getUpdateBy());
+ map.put("修改时间", riderOrderReminder.getUpdateTime());
+ list.add(map);
+ }
+ FileUtil.downloadExcel(list, response);
+ }
+}
diff --git a/oying-system/src/main/java/com/oying/modules/rider/service/impl/RiderWalletInfoServiceImpl.java b/oying-system/src/main/java/com/oying/modules/rider/service/impl/RiderWalletInfoServiceImpl.java
new file mode 100644
index 0000000..e651a2d
--- /dev/null
+++ b/oying-system/src/main/java/com/oying/modules/rider/service/impl/RiderWalletInfoServiceImpl.java
@@ -0,0 +1,97 @@
+package com.oying.modules.rider.service.impl;
+
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.oying.modules.rider.domain.RiderWalletInfo;
+import com.oying.utils.FileUtil;
+import lombok.RequiredArgsConstructor;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.oying.modules.rider.service.RiderWalletInfoService;
+import com.oying.modules.rider.domain.dto.RiderWalletInfoQueryCriteria;
+import com.oying.modules.rider.mapper.RiderWalletInfoMapper;
+import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.Transactional;
+import com.oying.utils.PageUtil;
+
+import java.util.List;
+import java.util.Map;
+import java.io.IOException;
+import javax.servlet.http.HttpServletResponse;
+import java.util.ArrayList;
+import java.util.LinkedHashMap;
+
+import com.oying.utils.PageResult;
+
+/**
+ * @author pxb
+ * @description 服务实现
+ * @date 2025-06-18
+ **/
+@Service
+@RequiredArgsConstructor
+public class RiderWalletInfoServiceImpl extends ServiceImpl<RiderWalletInfoMapper, RiderWalletInfo> implements RiderWalletInfoService {
+
+ private final RiderWalletInfoMapper riderWalletInfoMapper;
+
+ @Override
+ public PageResult<RiderWalletInfo> queryAll(RiderWalletInfoQueryCriteria criteria, Page<Object> page) {
+ return PageUtil.toPage(riderWalletInfoMapper.findAll(criteria, page));
+ }
+
+ @Override
+ public List<RiderWalletInfo> queryAll(RiderWalletInfoQueryCriteria criteria) {
+ return riderWalletInfoMapper.findAll(criteria);
+ }
+
+ @Override
+ @Transactional(rollbackFor = Exception.class)
+ public void create(RiderWalletInfo resources) {
+ riderWalletInfoMapper.insert(resources);
+ }
+
+ @Override
+ @Transactional(rollbackFor = Exception.class)
+ public void update(RiderWalletInfo resources) {
+ RiderWalletInfo riderWalletInfo = getById(resources.getWalletId());
+ riderWalletInfo.copy(resources);
+ riderWalletInfoMapper.updateById(riderWalletInfo);
+ }
+
+ @Override
+ @Transactional(rollbackFor = Exception.class)
+ public void deleteAll(List<Long> ids) {
+ riderWalletInfoMapper.deleteBatchIds(ids);
+ }
+
+ @Override
+ public void download(List<RiderWalletInfo> all, HttpServletResponse response) throws IOException {
+ List<Map<String, Object>> list = new ArrayList<>();
+ for (RiderWalletInfo riderWalletInfo : all) {
+ Map<String, Object> map = new LinkedHashMap<>();
+ map.put("骑手id", riderWalletInfo.getRiderId());
+ map.put("总金额", riderWalletInfo.getAmount());
+ map.put("可用余额", riderWalletInfo.getAvailableBalance());
+ map.put("购电总金额", riderWalletInfo.getPurchasingElectricityAmount());
+ map.put("累计提现", riderWalletInfo.getWithdrawTotal());
+ map.put("累计收入", riderWalletInfo.getIncomeTotal());
+ map.put("冻结金额", riderWalletInfo.getFrozenAmount());
+ map.put("完成总单数", riderWalletInfo.getRunTotal());
+ map.put("提现总次数", riderWalletInfo.getCashWithdrawalTotal());
+ map.put("购电总次数", riderWalletInfo.getPurchasingElectricityTotal());
+ map.put("钱包状态(0冻结,1正常)", riderWalletInfo.getStatus());
+ map.put("创建人", riderWalletInfo.getCreateBy());
+ map.put("创建时间", riderWalletInfo.getCreateTime());
+ map.put("修改人", riderWalletInfo.getUpdateBy());
+ map.put("修改时间", riderWalletInfo.getUpdateTime());
+ list.add(map);
+ }
+ FileUtil.downloadExcel(list, response);
+ }
+
+ @Override
+ public RiderWalletInfo getRiderWalletInfo(String riderId) {
+ QueryWrapper<RiderWalletInfo> queryWrapper = new QueryWrapper<>();
+ queryWrapper.eq(RiderWalletInfo.COL_RIDER_ID, riderId);
+ return riderWalletInfoMapper.selectOne(queryWrapper);
+ }
+}
diff --git a/oying-system/src/main/java/com/oying/modules/rider/service/impl/RiderWithdrawalRecordServiceImpl.java b/oying-system/src/main/java/com/oying/modules/rider/service/impl/RiderWithdrawalRecordServiceImpl.java
new file mode 100644
index 0000000..5c3ff2a
--- /dev/null
+++ b/oying-system/src/main/java/com/oying/modules/rider/service/impl/RiderWithdrawalRecordServiceImpl.java
@@ -0,0 +1,91 @@
+package com.oying.modules.rider.service.impl;
+
+import com.oying.modules.rider.domain.RiderWithdrawalRecord;
+import com.oying.utils.FileUtil;
+import lombok.RequiredArgsConstructor;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.oying.modules.rider.service.RiderWithdrawalRecordService;
+import com.oying.modules.rider.domain.dto.RiderWithdrawalRecordQueryCriteria;
+import com.oying.modules.rider.mapper.RiderWithdrawalRecordMapper;
+import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.Transactional;
+import com.oying.utils.PageUtil;
+import java.util.List;
+import java.util.Map;
+import java.io.IOException;
+import javax.servlet.http.HttpServletResponse;
+import java.util.ArrayList;
+import java.util.LinkedHashMap;
+import com.oying.utils.PageResult;
+
+/**
+* @description 服务实现
+* @author pxb
+* @date 2025-06-18
+**/
+@Service
+@RequiredArgsConstructor
+public class RiderWithdrawalRecordServiceImpl extends ServiceImpl<RiderWithdrawalRecordMapper, RiderWithdrawalRecord> implements RiderWithdrawalRecordService {
+
+ private final RiderWithdrawalRecordMapper riderWithdrawalRecordMapper;
+
+ @Override
+ public PageResult<RiderWithdrawalRecord> queryAll(RiderWithdrawalRecordQueryCriteria criteria, Page<Object> page){
+ return PageUtil.toPage(riderWithdrawalRecordMapper.findAll(criteria, page));
+ }
+
+ @Override
+ public List<RiderWithdrawalRecord> queryAll(RiderWithdrawalRecordQueryCriteria criteria){
+ return riderWithdrawalRecordMapper.findAll(criteria);
+ }
+
+ @Override
+ @Transactional(rollbackFor = Exception.class)
+ public void create(RiderWithdrawalRecord resources) {
+ riderWithdrawalRecordMapper.insert(resources);
+ }
+
+ @Override
+ @Transactional(rollbackFor = Exception.class)
+ public void update(RiderWithdrawalRecord resources) {
+ RiderWithdrawalRecord riderWithdrawalRecord = getById(resources.getRecordId());
+ riderWithdrawalRecord.copy(resources);
+ riderWithdrawalRecordMapper.updateById(riderWithdrawalRecord);
+ }
+
+ @Override
+ @Transactional(rollbackFor = Exception.class)
+ public void deleteAll(List<Long> ids) {
+ riderWithdrawalRecordMapper.deleteBatchIds(ids);
+ }
+
+ @Override
+ public void download(List<RiderWithdrawalRecord> all, HttpServletResponse response) throws IOException {
+ List<Map<String, Object>> list = new ArrayList<>();
+ for (RiderWithdrawalRecord riderWithdrawalRecord : all) {
+ Map<String, Object> map = new LinkedHashMap<>();
+ map.put("骑手id", riderWithdrawalRecord.getRiderId());
+ map.put("骑手名字", riderWithdrawalRecord.getRiderName());
+ map.put("骑手手机号", riderWithdrawalRecord.getRiderPhone());
+ map.put("提现前总金额", riderWithdrawalRecord.getAmount());
+ map.put("本次提现金额", riderWithdrawalRecord.getWithdrawalAmount());
+ map.put("剩余总金额", riderWithdrawalRecord.getNowAmount());
+ map.put("手续费", riderWithdrawalRecord.getFee());
+ map.put("实际到账金额", riderWithdrawalRecord.getActualAmount());
+ map.put("状态:1-处理中,2-已完成,3-已拒绝", riderWithdrawalRecord.getStatus());
+ map.put("银行账号", riderWithdrawalRecord.getBankAccount());
+ map.put("开户行", riderWithdrawalRecord.getBankName());
+ map.put("申请时间", riderWithdrawalRecord.getApplyTime());
+ map.put("处理时间", riderWithdrawalRecord.getProcessTime());
+ map.put("处理人", riderWithdrawalRecord.getOperator());
+ map.put("备注", riderWithdrawalRecord.getRemark());
+ map.put("创建人", riderWithdrawalRecord.getCreateBy());
+ map.put("创建时间", riderWithdrawalRecord.getCreateTime());
+ map.put("修改人", riderWithdrawalRecord.getUpdateBy());
+ map.put("修改时间", riderWithdrawalRecord.getUpdateTime());
+ list.add(map);
+ }
+ FileUtil.downloadExcel(list, response);
+ }
+}
diff --git a/oying-system/src/main/java/com/oying/modules/rider/utils/Constants.java b/oying-system/src/main/java/com/oying/modules/rider/utils/Constants.java
new file mode 100644
index 0000000..21c3053
--- /dev/null
+++ b/oying-system/src/main/java/com/oying/modules/rider/utils/Constants.java
@@ -0,0 +1,29 @@
+package com.oying.modules.rider.utils;
+
+/**
+ * TODO
+ *
+ * @author pxb
+ * @version 1.0
+ * @date 2021/3/16 12:47
+ */
+public interface Constants {
+
+
+ /**
+ * EXCEL文件格式
+ */
+ String EXCEL_SUFFIX_XLSX = ".xlsx";
+ String EXCEL_SUFFIX_XLS = ".xls";
+
+ /**
+ * HTTP请求成功状态码
+ */
+ String HTTP_CODE_SUCCESS = "200";
+
+ /**
+ * 状态 0不生效,1生效 其他平台是否满足接单的条件
+ */
+ String SOURCE_ENABLED_ON = "0";
+ String SOURCE_ENABLED_DFF = "1";
+}
diff --git a/oying-system/src/main/java/com/oying/modules/rider/utils/RiderSourceHttpUtils.java b/oying-system/src/main/java/com/oying/modules/rider/utils/RiderSourceHttpUtils.java
new file mode 100644
index 0000000..3e777aa
--- /dev/null
+++ b/oying-system/src/main/java/com/oying/modules/rider/utils/RiderSourceHttpUtils.java
@@ -0,0 +1,108 @@
+package com.oying.modules.rider.utils;
+
+import cn.hutool.core.io.IoUtil;
+import cn.hutool.http.Header;
+import cn.hutool.http.HttpRequest;
+import cn.hutool.http.HttpResponse;
+import com.alibaba.fastjson2.JSON;
+import com.alibaba.fastjson2.JSONObject;
+import com.oying.modules.rider.domain.RiderSourceInfoHttp;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+import java.util.HashMap;
+
+
+/**
+ * TODO
+ * 骑手信息查询
+ *
+ * @author pxb
+ * @version 1.0
+ */
+public class RiderSourceHttpUtils {
+
+ private static final Logger log = LoggerFactory.getLogger(RiderSourceHttpUtils.class);
+ // private static final String URL = "http://1.14.71.182:5000/";
+ // private static final String URL = "http://192.168.18.111:5000/";
+
+
+ /**
+ * 功能描述: <HTTp请求>
+ *
+ * @param: paramMap 请求参数
+ * @return: java.lang.Object
+ * @author: pxb
+ */
+ public static String httpPostRequest(HashMap<String, Object> paramMap, String url) {
+ String jsonParam = JSON.toJSONString(paramMap);
+ HttpResponse response = null;
+ try {
+ response = HttpRequest.post(url)
+ // 头信息,多个头信息多次调用此方法即可
+ .header(Header.USER_AGENT, "*")
+ .header(Header.CONTENT_TYPE, "application/json;charset=utf-8")
+ // .form(paramMap)//表单内容
+ // 超时,毫秒
+ .timeout(30000)
+ .body(jsonParam)
+ .execute();
+ return response.body();
+ } catch (Exception e) {
+ RiderSourceInfoHttp riderSourceInfoHttp = new RiderSourceInfoHttp();
+ riderSourceInfoHttp.setCode("500");
+ riderSourceInfoHttp.setMessage(paramMap.get("phone") + "手机号请求异常:" + url);
+ riderSourceInfoHttp.setSuccess("false");
+ return JSON.toJSONString(riderSourceInfoHttp);
+ } finally {
+ IoUtil.close(response);
+ }
+ }
+
+ /**
+ * 功能描述: <获取第三方骑手数据信息>
+ *
+ * @param: [phone, sourcePlatform] 手机号,来源平台
+ * @return: riderSourceInfoHttp
+ * @author: pxb
+ */
+ public static RiderSourceInfoHttp getRiderSourceInfoHttp(String phone, String sourcePlatform) {
+ HashMap<String, Object> paramMap = new HashMap<>(2);
+ paramMap.put("phone", phone);
+ paramMap.put("produceType", sourcePlatform);
+ String url = "";
+ // 转化成对象
+ RiderSourceInfoHttp riderSourceInfoHttp = new RiderSourceInfoHttp();
+ try {
+ String result = httpPostRequest(paramMap, url);
+ // 转换数据
+ riderSourceInfoHttp = riderConvertUtils(result);
+ } catch (Exception e) {
+ riderSourceInfoHttp.setCode("500");
+ riderSourceInfoHttp.setMessage("获取数据失败");
+ riderSourceInfoHttp.setSuccess("false");
+ return riderSourceInfoHttp;
+ }
+ return riderSourceInfoHttp;
+ }
+
+ /**
+ * 功能描述: <转换第三方骑手数据信息>
+ *
+ * @param: []
+ * @return: java.lang.Object
+ * @author: pxb
+ */
+ public static RiderSourceInfoHttp riderConvertUtils(String result) {
+ RiderSourceInfoHttp riderSourceInfoHttp = new RiderSourceInfoHttp();
+ try {
+ riderSourceInfoHttp = JSONObject.parseObject(result, RiderSourceInfoHttp.class);
+ return riderSourceInfoHttp;
+ } catch (Exception e) {
+ riderSourceInfoHttp.setCode("500");
+ riderSourceInfoHttp.setMessage("转化数据失败");
+ riderSourceInfoHttp.setSuccess("false");
+ return riderSourceInfoHttp;
+ }
+ }
+}
diff --git a/oying-system/src/main/resources/mapper/rider/RiderIncomeDetailMapper.xml b/oying-system/src/main/resources/mapper/rider/RiderIncomeDetailMapper.xml
new file mode 100644
index 0000000..2de815b
--- /dev/null
+++ b/oying-system/src/main/resources/mapper/rider/RiderIncomeDetailMapper.xml
@@ -0,0 +1,61 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd" >
+<mapper namespace="com.oying.modules.rider.mapper.RiderIncomeDetailMapper">
+ <resultMap id="BaseResultMap" type="com.oying.modules.rider.domain.RiderIncomeDetail">
+ <id column="income_id" property="incomeId"/>
+ <result column="rider_id" property="riderId"/>
+ <result column="rider_name" property="riderName"/>
+ <result column="rider_phone" property="riderPhone"/>
+ <result column="order_id" property="orderId"/>
+ <result column="order_num" property="orderNum"/>
+ <result column="income_amount" property="incomeAmount"/>
+ <result column="income_type" property="incomeType"/>
+ <result column="income_date" property="incomeDate"/>
+ <result column="income_month" property="incomeMonth"/>
+ <result column="order_status" property="orderStatus"/>
+ <result column="create_by" property="createBy"/>
+ <result column="create_time" property="createTime"/>
+ <result column="update_by" property="updateBy"/>
+ <result column="update_time" property="updateTime"/>
+ <result column="start_address" property="startAddress"/>
+ <result column="end_address" property="endAddress"/>
+ <result column="delivery_time" property="deliveryTime"/>
+ </resultMap>
+
+ <sql id="Base_Column_List">
+ income_id, rider_id, rider_name, rider_phone, order_id, order_num, income_amount, income_type, income_date, income_month, order_status, create_by, create_time, update_by, update_time, start_address, end_address, delivery_time
+ </sql>
+
+ <select id="findAll" resultMap="BaseResultMap">
+ select
+ <include refid="Base_Column_List"/>
+ from qs_rider_income_detail
+ <where>
+ <if test="criteria.riderName != null">
+ and rider_name = #{criteria.riderName}
+ </if>
+ <if test="criteria.riderPhone != null">
+ and rider_phone = #{criteria.riderPhone}
+ </if>
+ <if test="criteria.orderNum != null">
+ and order_num = #{criteria.orderNum}
+ </if>
+ <if test="criteria.incomeType != null">
+ and income_type = #{criteria.incomeType}
+ </if>
+ <if test="criteria.incomeDate != null">
+ and income_date = #{criteria.incomeDate}
+ </if>
+ <if test="criteria.incomeMonth != null">
+ and income_month = #{criteria.incomeMonth}
+ </if>
+ <if test="criteria.orderStatus != null">
+ and order_status = #{criteria.orderStatus}
+ </if>
+ <if test="criteria.updateTime != null and criteria.updateTime.size() > 0">
+ AND update_time BETWEEN #{criteria.updateTime[0]} AND #{criteria.updateTime[1]}
+ </if>
+ </where>
+ order by income_id desc
+ </select>
+</mapper>
\ No newline at end of file
diff --git a/oying-system/src/main/resources/mapper/rider/RiderInfoMapper.xml b/oying-system/src/main/resources/mapper/rider/RiderInfoMapper.xml
new file mode 100644
index 0000000..0f69658
--- /dev/null
+++ b/oying-system/src/main/resources/mapper/rider/RiderInfoMapper.xml
@@ -0,0 +1,57 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd" >
+<mapper namespace="com.oying.modules.rider.mapper.RiderInfoMapper">
+ <resultMap id="BaseResultMap" type="com.oying.modules.rider.domain.RiderInfo">
+ <id column="info_id" property="infoId"/>
+ <result column="rider_id" property="riderId"/>
+ <result column="source_id" property="sourceId"/>
+ <result column="phone" property="phone"/>
+ <result column="card_name" property="cardName"/>
+ <result column="card_num" property="cardNum"/>
+ <result column="source_num" property="sourceNum"/>
+ <result column="enabled" property="enabled"/>
+ <result column="source_platform" property="sourcePlatform"/>
+ <result column="address" property="address"/>
+ <result column="create_by" property="createBy"/>
+ <result column="update_by" property="updateBy"/>
+ <result column="create_time" property="createTime"/>
+ <result column="update_time" property="updateTime"/>
+ </resultMap>
+
+ <sql id="Base_Column_List">
+ info_id, rider_id, source_id, phone, card_name, card_num, source_num, enabled, source_platform, address, create_by, update_by, create_time, update_time
+ </sql>
+
+ <select id="findAll" resultMap="BaseResultMap">
+ select
+ <include refid="Base_Column_List"/>
+ from qs_rider_info
+ <where>
+ <if test="criteria.riderId != null">
+ and rider_id = #{criteria.riderId}
+ </if>
+ <if test="criteria.sourceId != null">
+ and source_id = #{criteria.sourceId}
+ </if>
+ <if test="criteria.phone != null">
+ and phone = #{criteria.phone}
+ </if>
+ <if test="criteria.cardName != null">
+ and card_name like concat('%',#{criteria.cardName},'%')
+ </if>
+ <if test="criteria.cardNum != null">
+ and card_num = #{criteria.cardNum}
+ </if>
+ <if test="criteria.sourceNum != null">
+ and source_num = #{criteria.sourceNum}
+ </if>
+ <if test="criteria.enabled != null">
+ and enabled = #{criteria.enabled}
+ </if>
+ <if test="criteria.sourcePlatform != null">
+ and source_platform = #{criteria.sourcePlatform}
+ </if>
+ </where>
+ order by info_id desc
+ </select>
+</mapper>
\ No newline at end of file
diff --git a/oying-system/src/main/resources/mapper/rider/RiderOrderOperationMapper.xml b/oying-system/src/main/resources/mapper/rider/RiderOrderOperationMapper.xml
new file mode 100644
index 0000000..2dd63c0
--- /dev/null
+++ b/oying-system/src/main/resources/mapper/rider/RiderOrderOperationMapper.xml
@@ -0,0 +1,59 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd" >
+<mapper namespace="com.oying.modules.rider.mapper.RiderOrderOperationMapper">
+ <resultMap id="BaseResultMap" type="com.oying.modules.rider.domain.RiderOrderOperation">
+ <id column="operation_id" property="operationId"/>
+ <result column="order_id" property="orderId"/>
+ <result column="order_num" property="orderNum"/>
+ <result column="rider_id" property="riderId"/>
+ <result column="rider_phone" property="riderPhone"/>
+ <result column="rider_name" property="riderName"/>
+ <result column="operation_type" property="operationType"/>
+ <result column="operation_reason" property="operationReason"/>
+ <result column="operation_time" property="operationTime"/>
+ <result column="create_by" property="createBy"/>
+ <result column="create_time" property="createTime"/>
+ <result column="update_by" property="updateBy"/>
+ <result column="update_time" property="updateTime"/>
+ </resultMap>
+
+ <sql id="Base_Column_List">
+ operation_id, order_id, order_num, rider_id, rider_phone, rider_name, operation_type, operation_reason, operation_time, create_by, create_time, update_by, update_time
+ </sql>
+
+ <select id="findAll" resultMap="BaseResultMap">
+ select
+ <include refid="Base_Column_List"/>
+ from qs_rider_order_operation
+ <where>
+ <if test="criteria.orderId != null">
+ and order_id = #{criteria.orderId}
+ </if>
+ <if test="criteria.orderNum != null">
+ and order_num = #{criteria.orderNum}
+ </if>
+ <if test="criteria.riderId != null">
+ and rider_id = #{criteria.riderId}
+ </if>
+ <if test="criteria.riderPhone != null">
+ and rider_phone = #{criteria.riderPhone}
+ </if>
+ <if test="criteria.riderName != null">
+ and rider_name = #{criteria.riderName}
+ </if>
+ <if test="criteria.operationType != null">
+ and operation_type = #{criteria.operationType}
+ </if>
+ <if test="criteria.operationReason != null">
+ and operation_reason like concat('%',#{criteria.operationReason},'%')
+ </if>
+ <if test="criteria.operationTime != null and criteria.operationTime.size() > 0">
+ AND operation_time BETWEEN #{criteria.operationTime[0]} AND #{criteria.operationTime[1]}
+ </if>
+ <if test="criteria.createTime != null and criteria.createTime.size() > 0">
+ AND create_time BETWEEN #{criteria.createTime[0]} AND #{criteria.createTime[1]}
+ </if>
+ </where>
+ order by operation_id desc
+ </select>
+</mapper>
\ No newline at end of file
diff --git a/oying-system/src/main/resources/mapper/rider/RiderOrderRecordMapper.xml b/oying-system/src/main/resources/mapper/rider/RiderOrderRecordMapper.xml
new file mode 100644
index 0000000..5549df0
--- /dev/null
+++ b/oying-system/src/main/resources/mapper/rider/RiderOrderRecordMapper.xml
@@ -0,0 +1,87 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd" >
+<mapper namespace="com.oying.modules.rider.mapper.RiderOrderRecordMapper">
+ <resultMap id="BaseResultMap" type="com.oying.modules.rider.domain.RiderOrderRecord">
+ <id column="record_id" property="recordId"/>
+ <result column="order_id" property="orderId"/>
+ <result column="order_num" property="orderNum"/>
+ <result column="merchant_id" property="merchantId"/>
+ <result column="merchant_name" property="merchantName"/>
+ <result column="merchant_address" property="merchantAddress"/>
+ <result column="receiver_address" property="receiverAddress"/>
+ <result column="order_status" property="orderStatus"/>
+ <result column="accept_time" property="acceptTime"/>
+ <result column="accept_num" property="acceptNum"/>
+ <result column="finish_time" property="finishTime"/>
+ <result column="delivery_duration" property="deliveryDuration"/>
+ <result column="is_overtime" property="isOvertime"/>
+ <result column="order_source" property="orderSource"/>
+ <result column="order_income" property="orderIncome"/>
+ <result column="create_by" property="createBy"/>
+ <result column="create_time" property="createTime"/>
+ <result column="update_by" property="updateBy"/>
+ <result column="update_time" property="updateTime"/>
+ <result column="rider_id" property="riderId"/>
+ <result column="phone" property="phone"/>
+ <result column="rider_name" property="riderName"/>
+ <result column="user_longitude" property="userLongitude"/>
+ <result column="user_latitude" property="userLatitude"/>
+ <result column="merchant_longitude" property="merchantLongitude"/>
+ <result column="merchant_latitude" property="merchantLatitude"/>
+ <result column="user_id" property="userId"/>
+ </resultMap>
+
+ <sql id="Base_Column_List">
+ record_id, order_id, order_num, merchant_id, merchant_name, merchant_address,
+ receiver_address, order_status, accept_time, accept_num, finish_time, delivery_duration,
+ is_overtime, order_source, order_income, create_by, create_time, update_by, update_time,
+ rider_id, phone, rider_name, user_id, user_longitude, user_latitude, merchant_longitude, merchant_latitude
+ </sql>
+ <select id="findAll" resultMap="BaseResultMap">
+ select
+ <include refid="Base_Column_List"/>
+ from qs_rider_order_record
+ <where>
+ <if test="criteria.riderId != null">
+ and rider_id = #{criteria.riderId}
+ </if>
+ <if test="criteria.userId != null">
+ and user_id = #{criteria.userId}
+ </if>
+ <if test="criteria.orderId != null">
+ and order_id = #{criteria.orderId}
+ </if>
+ <if test="criteria.orderNum != null">
+ and order_num = #{criteria.orderNum}
+ </if>
+ <if test="criteria.merchantId != null">
+ and merchant_id = #{criteria.merchantId}
+ </if>
+ <if test="criteria.merchantName != null">
+ and merchant_name like concat('%',#{criteria.merchantName},'%')
+ </if>
+ <if test="criteria.merchantAddress != null">
+ and merchant_address like concat('%',#{criteria.merchantAddress},'%')
+ </if>
+ <if test="criteria.receiverAddress != null">
+ and receiver_address like concat('%',#{criteria.receiverAddress},'%')
+ </if>
+ <if test="criteria.orderStatus != null">
+ and order_status = #{criteria.orderStatus}
+ </if>
+ <if test="criteria.isOvertime != null">
+ and is_overtime = #{criteria.isOvertime}
+ </if>
+ <if test="criteria.acceptTime != null and criteria.acceptTime.size() > 0">
+ AND accept_time BETWEEN #{criteria.acceptTime[0]} AND #{criteria.acceptTime[1]}
+ </if>
+ <if test="criteria.finishTime != null and criteria.finishTime.size() > 0">
+ AND finish_time BETWEEN #{criteria.finishTime[0]} AND #{criteria.finishTime[1]}
+ </if>
+ <if test="criteria.createTime != null and criteria.createTime.size() > 0">
+ AND create_time BETWEEN #{criteria.createTime[0]} AND #{criteria.createTime[1]}
+ </if>
+ </where>
+ order by create_time desc
+ </select>
+</mapper>
\ No newline at end of file
diff --git a/oying-system/src/main/resources/mapper/rider/RiderOrderReminderMapper.xml b/oying-system/src/main/resources/mapper/rider/RiderOrderReminderMapper.xml
new file mode 100644
index 0000000..48e4d9c
--- /dev/null
+++ b/oying-system/src/main/resources/mapper/rider/RiderOrderReminderMapper.xml
@@ -0,0 +1,71 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd" >
+<mapper namespace="com.oying.modules.rider.mapper.RiderOrderReminderMapper">
+ <resultMap id="BaseResultMap" type="com.oying.modules.rider.domain.RiderOrderReminder">
+ <id column="reminder_id" property="reminderId"/>
+ <result column="rider_id" property="riderId"/>
+ <result column="rider_name" property="riderName"/>
+ <result column="rider_phone" property="riderPhone"/>
+ <result column="order_id" property="orderId"/>
+ <result column="order_num" property="orderNum"/>
+ <result column="rule_id" property="ruleId"/>
+ <result column="rule_content" property="ruleContent"/>
+ <result column="rule_type" property="ruleType"/>
+ <result column="reminder_time" property="reminderTime"/>
+ <result column="is_sent" property="isSent"/>
+ <result column="send_time" property="sendTime"/>
+ <result column="create_by" property="createBy"/>
+ <result column="create_time" property="createTime"/>
+ <result column="update_by" property="updateBy"/>
+ <result column="update_time" property="updateTime"/>
+ </resultMap>
+
+ <sql id="Base_Column_List">
+ reminder_id, rider_id, rider_name, rider_phone, order_id, order_num, rule_id, rule_content, rule_type, reminder_time, is_sent, send_time, create_by, create_time, update_by, update_time
+ </sql>
+
+ <select id="findAll" resultMap="BaseResultMap">
+ select
+ <include refid="Base_Column_List"/>
+ from qs_rider_order_reminder
+ <where>
+ <if test="criteria.riderId != null">
+ and rider_id = #{criteria.riderId}
+ </if>
+ <if test="criteria.riderName != null">
+ and rider_name = #{criteria.riderName}
+ </if>
+ <if test="criteria.riderPhone != null">
+ and rider_phone = #{criteria.riderPhone}
+ </if>
+ <if test="criteria.orderId != null">
+ and order_id = #{criteria.orderId}
+ </if>
+ <if test="criteria.orderNum != null">
+ and order_num = #{criteria.orderNum}
+ </if>
+ <if test="criteria.ruleId != null">
+ and rule_id = #{criteria.ruleId}
+ </if>
+ <if test="criteria.ruleContent != null">
+ and rule_content like concat('%',#{criteria.ruleContent},'%')
+ </if>
+ <if test="criteria.ruleType != null">
+ and rule_type = #{criteria.ruleType}
+ </if>
+ <if test="criteria.isSent != null">
+ and is_sent = #{criteria.isSent}
+ </if>
+ <if test="criteria.reminderTime != null and criteria.reminderTime.size() > 0">
+ AND reminder_time BETWEEN #{criteria.reminderTime[0]} AND #{criteria.reminderTime[1]}
+ </if>
+ <if test="criteria.sendTime != null and criteria.sendTime.size() > 0">
+ AND send_time BETWEEN #{criteria.sendTime[0]} AND #{criteria.sendTime[1]}
+ </if>
+ <if test="criteria.createTime != null and criteria.createTime.size() > 0">
+ AND create_time BETWEEN #{criteria.createTime[0]} AND #{criteria.createTime[1]}
+ </if>
+ </where>
+ order by reminder_id desc
+ </select>
+</mapper>
\ No newline at end of file
diff --git a/oying-system/src/main/resources/mapper/rider/RiderWalletInfoMapper.xml b/oying-system/src/main/resources/mapper/rider/RiderWalletInfoMapper.xml
new file mode 100644
index 0000000..04cdd53
--- /dev/null
+++ b/oying-system/src/main/resources/mapper/rider/RiderWalletInfoMapper.xml
@@ -0,0 +1,47 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd" >
+<mapper namespace="com.oying.modules.rider.mapper.RiderWalletInfoMapper">
+ <resultMap id="BaseResultMap" type="com.oying.modules.rider.domain.RiderWalletInfo">
+ <id column="wallet_id" property="walletId"/>
+ <result column="rider_id" property="riderId"/>
+ <result column="amount" property="amount"/>
+ <result column="available_balance" property="availableBalance"/>
+ <result column="purchasing_electricity_amount" property="purchasingElectricityAmount"/>
+ <result column="withdraw_total" property="withdrawTotal"/>
+ <result column="income_total" property="incomeTotal"/>
+ <result column="frozen_amount" property="frozenAmount"/>
+ <result column="run_total" property="runTotal"/>
+ <result column="cash_withdrawal_total" property="cashWithdrawalTotal"/>
+ <result column="purchasing_electricity_total" property="purchasingElectricityTotal"/>
+ <result column="status" property="status"/>
+ <result column="create_by" property="createBy"/>
+ <result column="create_time" property="createTime"/>
+ <result column="update_by" property="updateBy"/>
+ <result column="update_time" property="updateTime"/>
+ </resultMap>
+
+ <sql id="Base_Column_List">
+ wallet_id, rider_id, amount, available_balance, purchasing_electricity_amount, withdraw_total, income_total, frozen_amount, run_total, cash_withdrawal_total, purchasing_electricity_total, status, create_by, create_time, update_by, update_time
+ </sql>
+
+ <select id="findAll" resultMap="BaseResultMap">
+ select
+ <include refid="Base_Column_List"/>
+ from qs_rider_wallet_info
+ <where>
+ <if test="criteria.riderId != null">
+ and rider_id = #{criteria.riderId}
+ </if>
+ <if test="criteria.status != null">
+ and status = #{criteria.status}
+ </if>
+ <if test="criteria.amount != null and criteria.amount.size() > 0">
+ AND amount BETWEEN #{criteria.amount[0]} AND #{criteria.amount[1]}
+ </if>
+ <if test="criteria.createTime != null and criteria.createTime.size() > 0">
+ AND create_time BETWEEN #{criteria.createTime[0]} AND #{criteria.createTime[1]}
+ </if>
+ </where>
+ order by wallet_id desc
+ </select>
+</mapper>
\ No newline at end of file
diff --git a/oying-system/src/main/resources/mapper/rider/RiderWithdrawalRecordMapper.xml b/oying-system/src/main/resources/mapper/rider/RiderWithdrawalRecordMapper.xml
new file mode 100644
index 0000000..c23a732
--- /dev/null
+++ b/oying-system/src/main/resources/mapper/rider/RiderWithdrawalRecordMapper.xml
@@ -0,0 +1,72 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd" >
+<mapper namespace="com.oying.modules.rider.mapper.RiderWithdrawalRecordMapper">
+ <resultMap id="BaseResultMap" type="com.oying.modules.rider.domain.RiderWithdrawalRecord">
+ <id column="record_id" property="recordId"/>
+ <result column="rider_id" property="riderId"/>
+ <result column="rider_name" property="riderName"/>
+ <result column="rider_phone" property="riderPhone"/>
+ <result column="amount" property="amount"/>
+ <result column="withdrawal_amount" property="withdrawalAmount"/>
+ <result column="now_amount" property="nowAmount"/>
+ <result column="fee" property="fee"/>
+ <result column="actual_amount" property="actualAmount"/>
+ <result column="status" property="status"/>
+ <result column="bank_account" property="bankAccount"/>
+ <result column="bank_name" property="bankName"/>
+ <result column="apply_time" property="applyTime"/>
+ <result column="process_time" property="processTime"/>
+ <result column="operator" property="operator"/>
+ <result column="remark" property="remark"/>
+ <result column="create_by" property="createBy"/>
+ <result column="create_time" property="createTime"/>
+ <result column="update_by" property="updateBy"/>
+ <result column="update_time" property="updateTime"/>
+ </resultMap>
+
+ <sql id="Base_Column_List">
+ record_id, rider_id, rider_name, rider_phone, amount, withdrawal_amount, now_amount, fee, actual_amount, status, bank_account, bank_name, apply_time, process_time, operator, remark, create_by, create_time, update_by, update_time
+ </sql>
+
+ <select id="findAll" resultMap="BaseResultMap">
+ select
+ <include refid="Base_Column_List"/>
+ from qs_rider_withdrawal_record
+ <where>
+ <if test="criteria.riderId != null">
+ and rider_id = #{criteria.riderId}
+ </if>
+ <if test="criteria.riderName != null">
+ and rider_name = #{criteria.riderName}
+ </if>
+ <if test="criteria.riderPhone != null">
+ and rider_phone = #{criteria.riderPhone}
+ </if>
+ <if test="criteria.status != null">
+ and status = #{criteria.status}
+ </if>
+ <if test="criteria.bankAccount != null">
+ and bank_account = #{criteria.bankAccount}
+ </if>
+ <if test="criteria.bankName != null">
+ and bank_name like concat('%',#{criteria.bankName},'%')
+ </if>
+ <if test="criteria.operator != null">
+ and operator = #{criteria.operator}
+ </if>
+ <if test="criteria.remark != null">
+ and remark like concat('%',#{criteria.remark},'%')
+ </if>
+ <if test="criteria.applyTime != null and criteria.applyTime.size() > 0">
+ AND apply_time BETWEEN #{criteria.applyTime[0]} AND #{criteria.applyTime[1]}
+ </if>
+ <if test="criteria.processTime != null and criteria.processTime.size() > 0">
+ AND process_time BETWEEN #{criteria.processTime[0]} AND #{criteria.processTime[1]}
+ </if>
+ <if test="criteria.createTime != null and criteria.createTime.size() > 0">
+ AND create_time BETWEEN #{criteria.createTime[0]} AND #{criteria.createTime[1]}
+ </if>
+ </where>
+ order by record_id desc
+ </select>
+</mapper>
\ No newline at end of file
--
Gitblit v1.9.3