From 907a557c3430eb4ae2cc36d7095fcd8454cceac7 Mon Sep 17 00:00:00 2001 From: dzc <2388224167@qq.com> Date: Mon, 30 Mar 2026 11:44:33 +0800 Subject: [PATCH] =?UTF-8?q?feat:=E7=AC=AC=E4=B8=89=E6=96=B9=E6=94=AF?= =?UTF-8?q?=E4=BB=98=E6=8E=A5=E5=8F=A3=E5=AE=8C=E5=96=84?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../thirdparty/dto/pay/ThirdPayOrderDto.java | 6 +++ .../thirdparty/vo/pay/ThirdPayOrderVo.java | 4 ++ .../impl/pay/ThirdPayOrderServiceImpl.java | 37 ++++++++++++++++++- .../resources/mapper/ThirdPayOrderMapper.xml | 19 ++++++++-- 4 files changed, 62 insertions(+), 4 deletions(-) diff --git a/pjcloud-thirdparty/pjcloud-thirdparty-api/src/main/java/com/bsd/pjcloud/thirdparty/dto/pay/ThirdPayOrderDto.java b/pjcloud-thirdparty/pjcloud-thirdparty-api/src/main/java/com/bsd/pjcloud/thirdparty/dto/pay/ThirdPayOrderDto.java index 1d07f0edd..f0961ce38 100644 --- a/pjcloud-thirdparty/pjcloud-thirdparty-api/src/main/java/com/bsd/pjcloud/thirdparty/dto/pay/ThirdPayOrderDto.java +++ b/pjcloud-thirdparty/pjcloud-thirdparty-api/src/main/java/com/bsd/pjcloud/thirdparty/dto/pay/ThirdPayOrderDto.java @@ -3,7 +3,13 @@ package com.bsd.pjcloud.thirdparty.dto.pay; import com.bsd.pjcloud.thirdparty.entity.pay.ThirdPayOrderEntity; import lombok.Data; +import java.time.LocalDateTime; + @Data public class ThirdPayOrderDto extends ThirdPayOrderEntity { + private LocalDateTime[] payTimeList; + + private LocalDateTime[] refundTimeList; + } diff --git a/pjcloud-thirdparty/pjcloud-thirdparty-api/src/main/java/com/bsd/pjcloud/thirdparty/vo/pay/ThirdPayOrderVo.java b/pjcloud-thirdparty/pjcloud-thirdparty-api/src/main/java/com/bsd/pjcloud/thirdparty/vo/pay/ThirdPayOrderVo.java index 03d19582e..4051fe63c 100644 --- a/pjcloud-thirdparty/pjcloud-thirdparty-api/src/main/java/com/bsd/pjcloud/thirdparty/vo/pay/ThirdPayOrderVo.java +++ b/pjcloud-thirdparty/pjcloud-thirdparty-api/src/main/java/com/bsd/pjcloud/thirdparty/vo/pay/ThirdPayOrderVo.java @@ -6,4 +6,8 @@ import lombok.Data; @Data public class ThirdPayOrderVo extends ThirdPayOrderEntity { + private String username; + + private String userPhone; + } diff --git a/pjcloud-thirdparty/pjcloud-thirdparty-biz/src/main/java/com/bsd/pjcloud/thirdparty/service/impl/pay/ThirdPayOrderServiceImpl.java b/pjcloud-thirdparty/pjcloud-thirdparty-biz/src/main/java/com/bsd/pjcloud/thirdparty/service/impl/pay/ThirdPayOrderServiceImpl.java index b94a9a03d..b0e045521 100755 --- a/pjcloud-thirdparty/pjcloud-thirdparty-biz/src/main/java/com/bsd/pjcloud/thirdparty/service/impl/pay/ThirdPayOrderServiceImpl.java +++ b/pjcloud-thirdparty/pjcloud-thirdparty-biz/src/main/java/com/bsd/pjcloud/thirdparty/service/impl/pay/ThirdPayOrderServiceImpl.java @@ -1,24 +1,59 @@ package com.bsd.pjcloud.thirdparty.service.impl.pay; +import cn.hutool.core.collection.IterUtil; +import cn.hutool.core.util.ObjectUtil; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.bsd.pjcloud.admin.api.entity.SysUser; +import com.bsd.pjcloud.admin.api.feign.RemoteUserService; import com.bsd.pjcloud.common.data.datascope.DataScope; import com.bsd.pjcloud.thirdparty.dto.pay.ThirdPayOrderDto; import com.bsd.pjcloud.thirdparty.entity.pay.ThirdPayOrderEntity; import com.bsd.pjcloud.thirdparty.mapper.pay.ThirdPayOrderMapper; import com.bsd.pjcloud.thirdparty.service.ThirdPayOrderService; import com.bsd.pjcloud.thirdparty.vo.pay.ThirdPayOrderVo; +import lombok.RequiredArgsConstructor; +import lombok.extern.slf4j.Slf4j; import org.springframework.stereotype.Service; +import org.springframework.validation.annotation.Validated; + +import java.util.List; +import java.util.Map; /** * 第三方支付订单 */ @Service +@Validated +@Slf4j +@RequiredArgsConstructor public class ThirdPayOrderServiceImpl extends ServiceImpl implements ThirdPayOrderService { + private final RemoteUserService remoteUserService; + @Override public Page scopePage(Page page, ThirdPayOrderDto dto, DataScope dataScope) { - return baseMapper.scopePage(page, dto, dataScope); + Page pageList = baseMapper.scopePage(page, dto, dataScope); + disposePageList(pageList.getRecords(), dto); + return pageList; + } + + private void disposePageList(List list, ThirdPayOrderDto dto) { + if (ObjectUtil.isEmpty(list)) return; + // 查询用户 + List userIdList = list.stream().map(ThirdPayOrderEntity::getUserId).filter(ObjectUtil::isNotEmpty).distinct().toList(); + if (ObjectUtil.isNotEmpty(userIdList)) { + List userList = remoteUserService.getInnerUserById(userIdList).getData(); + if (ObjectUtil.isNotEmpty(userList)) { + Map userMap = IterUtil.toMap(userList, SysUser::getUserId); + for (ThirdPayOrderVo user : list) { + SysUser targetUser = userMap.get(user.getUserId()); + if (ObjectUtil.isEmpty(targetUser)) continue; + user.setUsername(targetUser.getName()); + user.setUserPhone(targetUser.getPhone()); + } + } + } } } \ No newline at end of file diff --git a/pjcloud-thirdparty/pjcloud-thirdparty-biz/src/main/resources/mapper/ThirdPayOrderMapper.xml b/pjcloud-thirdparty/pjcloud-thirdparty-biz/src/main/resources/mapper/ThirdPayOrderMapper.xml index ffe43be79..ca6862101 100755 --- a/pjcloud-thirdparty/pjcloud-thirdparty-biz/src/main/resources/mapper/ThirdPayOrderMapper.xml +++ b/pjcloud-thirdparty/pjcloud-thirdparty-biz/src/main/resources/mapper/ThirdPayOrderMapper.xml @@ -2,7 +2,6 @@ - select a.id, a.pay_platform_type, @@ -30,7 +29,22 @@ a.del_flag = '0' - + and a.id = #{dto.id} + + + and a.pay_platform_type = #{dto.payPlatformType} + + + and a.biz_type = #{dto.bizType} + + + and a.user_id = #{dto.userId} + + + and a.pay_time between #{dto.payTimeList[0]} and #{dto.payTimeList[1]} + + + and a.refund_time between #{dto.refundTimeList[0]} and #{dto.refundTimeList[1]} @@ -42,5 +56,4 @@ order by a.create_time desc, a.id desc - \ No newline at end of file