feat(tenant-commission): 新增当前租户分成记录分页接口

在 KeyboardTenantCommissionController 增加 /my-page 端点,仅返回当前登录租户的分成记录;
Mapper 新增 selectPageByTenantId 方法,Service 层实现 getMyTenantCommissionPage,通过 TenantContextHolder 获取当前租户 ID 进行过滤。
This commit is contained in:
2025-12-30 20:58:50 +08:00
parent 2207add193
commit be54601cdd
4 changed files with 48 additions and 0 deletions

View File

@@ -38,10 +38,12 @@ public class KeyboardTenantCommissionController {
@Resource
private KeyboardTenantCommissionService tenantCommissionService;
@PostMapping("/create")
@Operation(summary = "创建租户内购分成记录")
@PreAuthorize("@ss.hasPermission('keyboard:tenant-commission:create')")
public CommonResult<Long> 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<PageResult<KeyboardTenantCommissionRespVO>> getMyTenantCommissionPage(@Valid KeyboardTenantCommissionPageReqVO pageReqVO) {
PageResult<KeyboardTenantCommissionDO> pageResult = tenantCommissionService.getMyTenantCommissionPage(pageReqVO);
return success(BeanUtils.toBean(pageResult, KeyboardTenantCommissionRespVO.class));
}
@GetMapping("/export-excel")
@Operation(summary = "导出租户内购分成记录 Excel")
@PreAuthorize("@ss.hasPermission('keyboard:tenant-commission:export')")

View File

@@ -58,4 +58,27 @@ public interface KeyboardTenantCommissionMapper extends BaseMapperX<KeyboardTena
.orderByDesc(KeyboardTenantCommissionDO::getId));
}
/**
* 根据租户ID分页查询分成记录
*/
default PageResult<KeyboardTenantCommissionDO> selectPageByTenantId(KeyboardTenantCommissionPageReqVO reqVO, Long tenantId) {
return selectPage(reqVO, new LambdaQueryWrapperX<KeyboardTenantCommissionDO>()
.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));
}
}

View File

@@ -59,4 +59,12 @@ public interface KeyboardTenantCommissionService {
*/
PageResult<KeyboardTenantCommissionDO> getTenantCommissionPage(KeyboardTenantCommissionPageReqVO pageReqVO);
/**
* 获得当前登录租户的分成记录分页
*
* @param pageReqVO 分页查询
* @return 租户内购分成记录分页
*/
PageResult<KeyboardTenantCommissionDO> getMyTenantCommissionPage(KeyboardTenantCommissionPageReqVO pageReqVO);
}

View File

@@ -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<KeyboardTenantCommissionDO> getMyTenantCommissionPage(KeyboardTenantCommissionPageReqVO pageReqVO) {
Long tenantId = TenantContextHolder.getRequiredTenantId();
return tenantCommissionMapper.selectPageByTenantId(pageReqVO, tenantId);
}
}