用户交易记录查询接口实现

This commit is contained in:
dzl 2025-05-22 13:59:28 +08:00
parent 31d929c99d
commit 6213965135
4 changed files with 33 additions and 12 deletions

View File

@ -1,4 +1,4 @@
package com.cdzy.payment.model.dto;
package com.cdzy.orders.model.dto.res;
import lombok.Data;
@ -33,7 +33,7 @@ public class OrderRecord {
/**
* 创建时间
*/
private LocalDateTime createTime;
private LocalDateTime createAt;
/**
* 骑行时长

View File

@ -16,8 +16,6 @@ import jakarta.annotation.Resource;
import lombok.extern.slf4j.Slf4j;
import org.springframework.web.bind.annotation.*;
import java.util.List;
/**
* 用户订单微信支付 控制层
*
@ -201,12 +199,12 @@ public class EbikeWxPaymentController {
/**
* 退款申请用户退款记录
*
* @param reqTradeRecordDto
* @param reqRefundRecordDto
* @return
*/
@PostMapping("/refundApplyRefundRecord")
public JsonResult<?> refundApplyRefundRecord(@RequestBody ReqRefundRecordDto reqTradeRecordDto) {
Page<RefundRecordListDto> list = ebikeRefundService.queryRefundRefundRecordById(reqTradeRecordDto);
public JsonResult<?> refundApplyRefundRecord(@RequestBody ReqRefundRecordDto reqRefundRecordDto) {
Page<RefundRecordListDto> list = ebikeRefundService.queryRefundRefundRecordById(reqRefundRecordDto);
return JsonResult.success(list);
}
}

View File

@ -15,7 +15,7 @@ import lombok.Data;
@Data
public class ReqTradeRecordDto {
private String refundId;
private String phone;
/**
* 分页参数

View File

@ -4,6 +4,7 @@ import com.cdzy.payment.model.dto.*;
import com.cdzy.payment.model.enums.PayMethod;
import com.ebike.feign.clients.OrdersFeignClient;
import com.mybatisflex.core.paginate.Page;
import com.mybatisflex.core.query.QueryColumn;
import com.mybatisflex.core.query.QueryMethods;
import com.mybatisflex.core.query.QueryWrapper;
import com.mybatisflex.spring.service.impl.ServiceImpl;
@ -251,12 +252,34 @@ public class EbikeRefundServiceImpl extends ServiceImpl<EbikeRefundMapper, Ebike
@Override
public Page<TransactionRecord> queryRefundTradeRecordById(ReqTradeRecordDto reqTradeRecordDto) {
QueryWrapper query = QueryWrapper.create()
.select(EBIKE_PAYMENT.TOTAL.as("amount"), EBIKE_PAYMENT.CREATE_TIME)
.leftJoin(EBIKE_PAYMENT).on(EBIKE_PAYMENT.ORDER_ID.eq(EBIKE_REFUND.ORDER_ID))
.where(EBIKE_REFUND.REFUND_ID.eq(reqTradeRecordDto.getRefundId()));
.from(EBIKE_REFUND)
.select(EBIKE_REFUND.REFUND.as("amount"), EBIKE_REFUND.CREATE_TIME)
.select("'退款' as transaction_content")
.select("'收入' as transaction_type")
.leftJoin(EBIKE_USER_ORDERS).on(EBIKE_REFUND.ORDER_ID.eq(EBIKE_USER_ORDERS.ORDER_ID))
.leftJoin(EBIKE_USER).on(EBIKE_USER_ORDERS.USER_ID.eq(EBIKE_USER.USER_ID))
.where(EBIKE_USER.MOBILE.eq(reqTradeRecordDto.getPhone()));
QueryWrapper payQuery = QueryWrapper.create()
.from(EBIKE_REFUND)
.select(EBIKE_PAYMENT.TOTAL.as("amount"), EBIKE_PAYMENT.CREATE_TIME,
QueryMethods.case_(EBIKE_USER_ORDERS.ORDER_TYPE)
.when("1").then("骑行扣费")
.when("2").then("骑行卡购买")
.when("3").then("会员卡续费")
.end().as("transaction_content"))
.select("'支出' as transaction_type")
.leftJoin(EBIKE_PAYMENT).on(EBIKE_REFUND.ORDER_ID.eq(EBIKE_PAYMENT.ORDER_ID))
.leftJoin(EBIKE_USER).on(EBIKE_PAYMENT.USER_ID.eq(EBIKE_USER.USER_ID))
.leftJoin(EBIKE_USER_ORDERS).on(EBIKE_PAYMENT.ORDER_ID.eq(EBIKE_USER_ORDERS.ORDER_ID))
.where(EBIKE_USER.MOBILE.eq(reqTradeRecordDto.getPhone()));
QueryWrapper all = QueryWrapper.create()
.select("amount", "transaction_content", "transaction_type", "create_time")
.from(query.unionAll(payQuery)).as("a");
Page<TransactionRecord> page = reqTradeRecordDto.getPageParam().getPage();
return pageAs(page, query, TransactionRecord.class);
return pageAs(page, all, TransactionRecord.class);
}
@Override