From f1e7de96169f0650313d3c9ada744fb1f979196e Mon Sep 17 00:00:00 2001 From: dzc <2388224167@qq.com> Date: Thu, 26 Jun 2025 10:28:05 +0800 Subject: [PATCH] =?UTF-8?q?feat:=E5=85=85=E5=80=BC=E6=98=BE=E7=A4=BA?= =?UTF-8?q?=E6=80=BB=E9=87=91=E9=A2=9D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../vo/recharge/WalletRechargeApplyVo.java | 5 + .../WalletRechargeApplyController.java | 4 +- .../recharge/WalletRechargeApplyMapper.java | 30 +----- .../service/WalletRechargeApplyService.java | 5 +- .../WalletRechargeApplyServiceImpl.java | 9 +- .../recharge/WalletRechargeApplyMapper.xml | 97 ++++++++++++++++--- 6 files changed, 103 insertions(+), 47 deletions(-) diff --git a/pjcloud-wallet/pjcloud-wallet-api/src/main/java/com/bsd/pjcloud/wallet/api/vo/recharge/WalletRechargeApplyVo.java b/pjcloud-wallet/pjcloud-wallet-api/src/main/java/com/bsd/pjcloud/wallet/api/vo/recharge/WalletRechargeApplyVo.java index 929716217..76197174a 100644 --- a/pjcloud-wallet/pjcloud-wallet-api/src/main/java/com/bsd/pjcloud/wallet/api/vo/recharge/WalletRechargeApplyVo.java +++ b/pjcloud-wallet/pjcloud-wallet-api/src/main/java/com/bsd/pjcloud/wallet/api/vo/recharge/WalletRechargeApplyVo.java @@ -40,4 +40,9 @@ public class WalletRechargeApplyVo extends WalletRechargeApplyEntity implements */ private Boolean isCheckUser = false; + /** + * 总金额 + */ + private Integer totalPrice; + } diff --git a/pjcloud-wallet/pjcloud-wallet-biz/src/main/java/com/bsd/pjcloud/wallet/controller/recharge/WalletRechargeApplyController.java b/pjcloud-wallet/pjcloud-wallet-biz/src/main/java/com/bsd/pjcloud/wallet/controller/recharge/WalletRechargeApplyController.java index c7691b201..7c71bab5b 100644 --- a/pjcloud-wallet/pjcloud-wallet-biz/src/main/java/com/bsd/pjcloud/wallet/controller/recharge/WalletRechargeApplyController.java +++ b/pjcloud-wallet/pjcloud-wallet-biz/src/main/java/com/bsd/pjcloud/wallet/controller/recharge/WalletRechargeApplyController.java @@ -6,6 +6,7 @@ import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.bsd.pjcloud.common.core.util.R; +import com.bsd.pjcloud.common.data.datascope.DataScope; import com.bsd.pjcloud.common.excel.annotation.RequestExcel; import com.bsd.pjcloud.common.log.annotation.SysLog; import com.bsd.pjcloud.common.security.annotation.Inner; @@ -93,7 +94,8 @@ public class WalletRechargeApplyController { @PreAuthorize("@pms.hasPermission('wallet_walletRechargeApply_view')") public R getWalletRechargeApplyPage(@ParameterObject Page page, @ParameterObject WalletRechargeApplyDto dto) { dto.setIsFindCheckUser(true); - return R.ok(walletRechargeApplyService.scopePageList(page, dto)); + DataScope dataScope = new DataScope(); + return R.ok(walletRechargeApplyService.scopePageList(page, dto, dataScope)); } @Operation(summary = "通过id查询", description = "通过id查询") diff --git a/pjcloud-wallet/pjcloud-wallet-biz/src/main/java/com/bsd/pjcloud/wallet/mapper/recharge/WalletRechargeApplyMapper.java b/pjcloud-wallet/pjcloud-wallet-biz/src/main/java/com/bsd/pjcloud/wallet/mapper/recharge/WalletRechargeApplyMapper.java index 0ee32bda5..555fe42d0 100644 --- a/pjcloud-wallet/pjcloud-wallet-biz/src/main/java/com/bsd/pjcloud/wallet/mapper/recharge/WalletRechargeApplyMapper.java +++ b/pjcloud-wallet/pjcloud-wallet-biz/src/main/java/com/bsd/pjcloud/wallet/mapper/recharge/WalletRechargeApplyMapper.java @@ -16,37 +16,17 @@ import com.bsd.pjcloud.wallet.api.vo.recharge.WalletRechargeApplyVo; import com.github.yulichang.wrapper.MPJLambdaWrapper; import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; import java.util.List; @Mapper public interface WalletRechargeApplyMapper extends PjcloudBaseMapper { - default Page pageJoin(Page page, WalletRechargeApplyDto dto) { - MPJLambdaWrapper wrapper = new MPJLambdaWrapper() - .selectAll(WalletRechargeApplyEntity.class) - .selectAs(WalletTypeEntity::getName, WalletRechargeApplyVo::getWalletTypeName) - .selectAs(WalletTypeEntity::getUniqueCode, WalletRechargeApplyVo::getWalletTypeUniqueCode) - .leftJoin(WalletTypeEntity.class, WalletTypeEntity::getId, WalletRechargeApplyEntity::getWalletTypeId) - .eqIfExists(WalletRechargeApplyEntity::getWalletTypeId, dto.getWalletTypeId()) - .in(ObjectUtil.isNotEmpty(dto.getUserIds()), WalletManageEntity::getUserId, dto.getUserIds()) - .in(ObjectUtil.isNotEmpty(dto.getWalletTypeIds()), WalletManageEntity::getWalletTypeId, dto.getWalletTypeIds()) - .between( - ObjectUtil.isNotEmpty(dto.getCreateTimeList()), - WalletRechargeApplyEntity::getCreateTime, - ObjectUtil.isNotEmpty(dto.getCreateTimeList()) ? dto.getCreateTimeList()[0] : null, - ObjectUtil.isNotEmpty(dto.getCreateTimeList()) ? dto.getCreateTimeList()[1] : null - ) - .between( - ObjectUtil.isNotEmpty(dto.getProcessTimeList()), - WalletRechargeApplyEntity::getProcessTime, - ObjectUtil.isNotEmpty(dto.getProcessTimeList()) ? dto.getProcessTimeList()[0] : null, - ObjectUtil.isNotEmpty(dto.getProcessTimeList()) ? dto.getProcessTimeList()[1] : null - ) - .orderByDesc(WalletRechargeApplyEntity::getCreateTime) - .orderByDesc(WalletRechargeApplyEntity::getId); - return selectJoinPage(page, WalletRechargeApplyVo.class, wrapper); - } + + Page scopePageList(Page page, @Param("dto") WalletRechargeApplyDto dto, DataScope dataScope); + + Page pageJoin(Page page, @Param("dto") WalletRechargeApplyDto dto, DataScope dataScope); default Page scopePageList(Page page, WalletRechargeApplyDto dto) { LambdaQueryWrapper wrapper = new LambdaQueryWrapper() diff --git a/pjcloud-wallet/pjcloud-wallet-biz/src/main/java/com/bsd/pjcloud/wallet/service/WalletRechargeApplyService.java b/pjcloud-wallet/pjcloud-wallet-biz/src/main/java/com/bsd/pjcloud/wallet/service/WalletRechargeApplyService.java index 6b4c0c59d..580910a24 100644 --- a/pjcloud-wallet/pjcloud-wallet-biz/src/main/java/com/bsd/pjcloud/wallet/service/WalletRechargeApplyService.java +++ b/pjcloud-wallet/pjcloud-wallet-biz/src/main/java/com/bsd/pjcloud/wallet/service/WalletRechargeApplyService.java @@ -3,6 +3,7 @@ package com.bsd.pjcloud.wallet.service; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.IService; import com.bsd.pjcloud.common.core.util.R; +import com.bsd.pjcloud.common.data.datascope.DataScope; import com.bsd.pjcloud.flow.task.dto.ProcessNodeRecordAssignUserParamDto; import com.bsd.pjcloud.wallet.api.dto.recharge.WalletRechargeApplyDto; import com.bsd.pjcloud.wallet.api.dto.recharge.WalletRechargeImportDto; @@ -32,9 +33,9 @@ public interface WalletRechargeApplyService extends IService list); - Page pageJoin(Page page, WalletRechargeApplyDto dto); + Page pageJoin(Page page, WalletRechargeApplyDto dto, DataScope dataScope); - Page scopePageList(Page page, WalletRechargeApplyDto dto); + Page scopePageList(Page page, WalletRechargeApplyDto dto, DataScope dataScope); /** * 提交申请 diff --git a/pjcloud-wallet/pjcloud-wallet-biz/src/main/java/com/bsd/pjcloud/wallet/service/impl/recharge/WalletRechargeApplyServiceImpl.java b/pjcloud-wallet/pjcloud-wallet-biz/src/main/java/com/bsd/pjcloud/wallet/service/impl/recharge/WalletRechargeApplyServiceImpl.java index c27572fb6..cd4140ef7 100644 --- a/pjcloud-wallet/pjcloud-wallet-biz/src/main/java/com/bsd/pjcloud/wallet/service/impl/recharge/WalletRechargeApplyServiceImpl.java +++ b/pjcloud-wallet/pjcloud-wallet-biz/src/main/java/com/bsd/pjcloud/wallet/service/impl/recharge/WalletRechargeApplyServiceImpl.java @@ -21,6 +21,7 @@ import com.bsd.pjcloud.common.core.constant.enums.YesNoEnum; import com.bsd.pjcloud.common.core.util.BeanUtils; import com.bsd.pjcloud.common.core.util.CollectionUtils; import com.bsd.pjcloud.common.core.util.R; +import com.bsd.pjcloud.common.data.datascope.DataScope; import com.bsd.pjcloud.common.data.tenant.TenantContextHolder; import com.bsd.pjcloud.common.excel.vo.ErrorMessage; import com.bsd.pjcloud.common.security.service.PjcloudUser; @@ -204,8 +205,8 @@ public class WalletRechargeApplyServiceImpl extends ServiceImpl pageJoin(Page page, WalletRechargeApplyDto dto) { - Page list = baseMapper.pageJoin(page, dto); + public Page pageJoin(Page page, WalletRechargeApplyDto dto, DataScope dataScope) { + Page list = baseMapper.pageJoin(page, dto, dataScope); if (ObjectUtil.isNotEmpty(list.getRecords())) { // 用户 List userIds = list.getRecords().stream().map(WalletRechargeApplyVo::getUserId).distinct().toList(); @@ -229,8 +230,8 @@ public class WalletRechargeApplyServiceImpl extends ServiceImpl scopePageList(Page page, WalletRechargeApplyDto dto) { - Page list = baseMapper.scopePageList(page, dto); + public Page scopePageList(Page page, WalletRechargeApplyDto dto, DataScope dataScope) { + Page list = baseMapper.scopePageList(page, dto, dataScope); disposeList(list.getRecords(), dto); return list; } diff --git a/pjcloud-wallet/pjcloud-wallet-biz/src/main/resources/mapper/recharge/WalletRechargeApplyMapper.xml b/pjcloud-wallet/pjcloud-wallet-biz/src/main/resources/mapper/recharge/WalletRechargeApplyMapper.xml index 87afb2acf..279373f5b 100644 --- a/pjcloud-wallet/pjcloud-wallet-biz/src/main/resources/mapper/recharge/WalletRechargeApplyMapper.xml +++ b/pjcloud-wallet/pjcloud-wallet-biz/src/main/resources/mapper/recharge/WalletRechargeApplyMapper.xml @@ -3,19 +3,86 @@ - - - - - - - - - - - - - - - + + select a.id, + a.user_id, + a.invoice_id, + a.process_id, + a.process_status, + a.process_time, + a.biz_type, + a.wallet_type_id, + a.dept_id, + a.import_time, + a.remark, + a.create_by, + a.create_time, + a.update_by, + a.update_time, + a.del_flag, + a.tenant_id, + a.apply_time, + a.is_authorization, + + + + a.del_flag = '0' + + and a.user_id = #{dto.userId} + + + and a.biz_type = #{dto.bizType} + + + and a.user_id in + + #{v} + + + + and a.wallet_type_id in + + #{v} + + + + and a.create_time between #{dto.createTimeList[0]} and #{dto.createTimeList[1]} + + + and a.create_time between #{dto.processTimeList[0]} and #{dto.processTimeList[1]} + + + + + + t.name as walletTypeName, + t.unique_code as walletTypeUniqueCode, + t.icon as walletTypeIcon, + t.is_rule as isRule, + (select sum(i.price) + from wallet_recharge_import i + where i.del_flag = '0' + and i.apply_id = a.id) as totalPrice + from wallet_recharge_apply a + left join wallet_type t on a.wallet_type_id = t.id and t.del_flag = '0' + + + + group by a.id + + order by a.process_time desc , a.id desc + + + order by a.apply_time desc , a.create_time desc + + + + + + + \ No newline at end of file