From be54601cdd6b763d32ea126c3579200d9db1fd24 Mon Sep 17 00:00:00 2001 From: ziin Date: Tue, 30 Dec 2025 20:58:50 +0800 Subject: [PATCH] =?UTF-8?q?feat(tenant-commission):=20=E6=96=B0=E5=A2=9E?= =?UTF-8?q?=E5=BD=93=E5=89=8D=E7=A7=9F=E6=88=B7=E5=88=86=E6=88=90=E8=AE=B0?= =?UTF-8?q?=E5=BD=95=E5=88=86=E9=A1=B5=E6=8E=A5=E5=8F=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 在 KeyboardTenantCommissionController 增加 /my-page 端点,仅返回当前登录租户的分成记录; Mapper 新增 selectPageByTenantId 方法,Service 层实现 getMyTenantCommissionPage,通过 TenantContextHolder 获取当前租户 ID 进行过滤。 --- .../KeyboardTenantCommissionController.java | 10 ++++++++ .../KeyboardTenantCommissionMapper.java | 23 +++++++++++++++++++ .../KeyboardTenantCommissionService.java | 8 +++++++ .../KeyboardTenantCommissionServiceImpl.java | 7 ++++++ 4 files changed, 48 insertions(+) diff --git a/keyboard-server/src/main/java/com/yolo/keyboard/controller/admin/tenantcommission/KeyboardTenantCommissionController.java b/keyboard-server/src/main/java/com/yolo/keyboard/controller/admin/tenantcommission/KeyboardTenantCommissionController.java index 3288d2f..e37f48e 100644 --- a/keyboard-server/src/main/java/com/yolo/keyboard/controller/admin/tenantcommission/KeyboardTenantCommissionController.java +++ b/keyboard-server/src/main/java/com/yolo/keyboard/controller/admin/tenantcommission/KeyboardTenantCommissionController.java @@ -38,10 +38,12 @@ public class KeyboardTenantCommissionController { @Resource private KeyboardTenantCommissionService tenantCommissionService; + @PostMapping("/create") @Operation(summary = "创建租户内购分成记录") @PreAuthorize("@ss.hasPermission('keyboard:tenant-commission:create')") public CommonResult createTenantCommission(@Valid @RequestBody KeyboardTenantCommissionSaveReqVO createReqVO) { + return success(tenantCommissionService.createTenantCommission(createReqVO)); } @@ -88,6 +90,14 @@ public class KeyboardTenantCommissionController { return success(BeanUtils.toBean(pageResult, KeyboardTenantCommissionRespVO.class)); } + @GetMapping("/my-page") + @Operation(summary = "获得当前登录租户的分成记录分页") + @PreAuthorize("@ss.hasPermission('keyboard:tenant-commission:query:mypage')") + public CommonResult> getMyTenantCommissionPage(@Valid KeyboardTenantCommissionPageReqVO pageReqVO) { + PageResult pageResult = tenantCommissionService.getMyTenantCommissionPage(pageReqVO); + return success(BeanUtils.toBean(pageResult, KeyboardTenantCommissionRespVO.class)); + } + @GetMapping("/export-excel") @Operation(summary = "导出租户内购分成记录 Excel") @PreAuthorize("@ss.hasPermission('keyboard:tenant-commission:export')") diff --git a/keyboard-server/src/main/java/com/yolo/keyboard/dal/mysql/tenantcommission/KeyboardTenantCommissionMapper.java b/keyboard-server/src/main/java/com/yolo/keyboard/dal/mysql/tenantcommission/KeyboardTenantCommissionMapper.java index ca8a48a..1baf138 100644 --- a/keyboard-server/src/main/java/com/yolo/keyboard/dal/mysql/tenantcommission/KeyboardTenantCommissionMapper.java +++ b/keyboard-server/src/main/java/com/yolo/keyboard/dal/mysql/tenantcommission/KeyboardTenantCommissionMapper.java @@ -58,4 +58,27 @@ public interface KeyboardTenantCommissionMapper extends BaseMapperX selectPageByTenantId(KeyboardTenantCommissionPageReqVO reqVO, Long tenantId) { + return selectPage(reqVO, new LambdaQueryWrapperX() + .eq(KeyboardTenantCommissionDO::getTenantId, tenantId) + .eqIfPresent(KeyboardTenantCommissionDO::getPurchaseRecordId, reqVO.getPurchaseRecordId()) + .eqIfPresent(KeyboardTenantCommissionDO::getTransactionId, reqVO.getTransactionId()) + .eqIfPresent(KeyboardTenantCommissionDO::getInviteeUserId, reqVO.getInviteeUserId()) + .eqIfPresent(KeyboardTenantCommissionDO::getInviterUserId, reqVO.getInviterUserId()) + .eqIfPresent(KeyboardTenantCommissionDO::getPurchaseAmount, reqVO.getPurchaseAmount()) + .eqIfPresent(KeyboardTenantCommissionDO::getCommissionRate, reqVO.getCommissionRate()) + .eqIfPresent(KeyboardTenantCommissionDO::getCommissionAmount, reqVO.getCommissionAmount()) + .eqIfPresent(KeyboardTenantCommissionDO::getStatus, reqVO.getStatus()) + .betweenIfPresent(KeyboardTenantCommissionDO::getPurchaseTime, reqVO.getPurchaseTime()) + .eqIfPresent(KeyboardTenantCommissionDO::getSettledAt, reqVO.getSettledAt()) + .eqIfPresent(KeyboardTenantCommissionDO::getBalanceTransactionId, reqVO.getBalanceTransactionId()) + .eqIfPresent(KeyboardTenantCommissionDO::getCreatedAt, reqVO.getCreatedAt()) + .eqIfPresent(KeyboardTenantCommissionDO::getUpdatedAt, reqVO.getUpdatedAt()) + .eqIfPresent(KeyboardTenantCommissionDO::getRemark, reqVO.getRemark()) + .orderByDesc(KeyboardTenantCommissionDO::getId)); + } + } diff --git a/keyboard-server/src/main/java/com/yolo/keyboard/service/tenantcommission/KeyboardTenantCommissionService.java b/keyboard-server/src/main/java/com/yolo/keyboard/service/tenantcommission/KeyboardTenantCommissionService.java index 253919c..67eec74 100644 --- a/keyboard-server/src/main/java/com/yolo/keyboard/service/tenantcommission/KeyboardTenantCommissionService.java +++ b/keyboard-server/src/main/java/com/yolo/keyboard/service/tenantcommission/KeyboardTenantCommissionService.java @@ -59,4 +59,12 @@ public interface KeyboardTenantCommissionService { */ PageResult getTenantCommissionPage(KeyboardTenantCommissionPageReqVO pageReqVO); + /** + * 获得当前登录租户的分成记录分页 + * + * @param pageReqVO 分页查询 + * @return 租户内购分成记录分页 + */ + PageResult getMyTenantCommissionPage(KeyboardTenantCommissionPageReqVO pageReqVO); + } \ No newline at end of file diff --git a/keyboard-server/src/main/java/com/yolo/keyboard/service/tenantcommission/KeyboardTenantCommissionServiceImpl.java b/keyboard-server/src/main/java/com/yolo/keyboard/service/tenantcommission/KeyboardTenantCommissionServiceImpl.java index e5c4218..ac9a612 100644 --- a/keyboard-server/src/main/java/com/yolo/keyboard/service/tenantcommission/KeyboardTenantCommissionServiceImpl.java +++ b/keyboard-server/src/main/java/com/yolo/keyboard/service/tenantcommission/KeyboardTenantCommissionServiceImpl.java @@ -14,6 +14,7 @@ import com.yolo.keyboard.framework.common.pojo.PageParam; import com.yolo.keyboard.framework.common.util.object.BeanUtils; import com.yolo.keyboard.dal.mysql.tenantcommission.KeyboardTenantCommissionMapper; +import com.yolo.keyboard.framework.tenant.core.context.TenantContextHolder; import static com.yolo.keyboard.framework.common.exception.util.ServiceExceptionUtil.exception; import static com.yolo.keyboard.framework.common.util.collection.CollectionUtils.convertList; @@ -81,4 +82,10 @@ public class KeyboardTenantCommissionServiceImpl implements KeyboardTenantCommis return tenantCommissionMapper.selectPage(pageReqVO); } + @Override + public PageResult getMyTenantCommissionPage(KeyboardTenantCommissionPageReqVO pageReqVO) { + Long tenantId = TenantContextHolder.getRequiredTenantId(); + return tenantCommissionMapper.selectPageByTenantId(pageReqVO, tenantId); + } + } \ No newline at end of file