From 8289375ff2210143762a52ad7df4385ca246b160 Mon Sep 17 00:00:00 2001 From: shi Date: Tue, 4 Mar 2025 14:40:36 +0800 Subject: [PATCH] =?UTF-8?q?feat(agent):=20=E4=BB=A3=E7=90=86=E4=BD=A3?= =?UTF-8?q?=E9=87=91=E5=88=97=E8=A1=A8=E5=A2=9E=E5=8A=A0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../TenantAgentCommissionController.java | 32 +- .../mapper/TenantAgentCommissionMapper.java | 11 + .../ITenantAgentCommissionService.java | 10 + .../TenantAgentCommissionServiceImpl.java | 12 + .../agent/TenantAgentCommissionMapper.xml | 402 +++++++++++++----- 5 files changed, 367 insertions(+), 100 deletions(-) diff --git a/ff-game/src/main/java/com/ff/agent/controller/TenantAgentCommissionController.java b/ff-game/src/main/java/com/ff/agent/controller/TenantAgentCommissionController.java index 6c18054..2730bf6 100644 --- a/ff-game/src/main/java/com/ff/agent/controller/TenantAgentCommissionController.java +++ b/ff-game/src/main/java/com/ff/agent/controller/TenantAgentCommissionController.java @@ -12,6 +12,8 @@ import com.ff.agent.service.ITenantAgentWithdrawalService; import com.ff.base.annotation.Excel; import com.ff.base.constant.Constants; import com.ff.base.enums.CommissionApprovalStatus; +import com.ff.base.enums.CommissionSourceType; +import com.ff.base.enums.CommissionType; import com.ff.base.system.domain.TenantAgent; import com.ff.base.system.service.ITenantAgentService; import com.github.pagehelper.util.StringUtil; @@ -59,14 +61,40 @@ public class TenantAgentCommissionController extends BaseController { */ @PreAuthorize("@ss.hasPermi('agent:commission:list')") @GetMapping("/list") - public TableDataInfo list(TenantAgentCommission tenantAgentCommission) { + public AjaxResult list(TenantAgentCommission tenantAgentCommission) { startPage(); tenantAgentCommission.setAgentId(getUserId()); List list = tenantAgentCommissionService.selectTenantAgentCommissionList(tenantAgentCommission); - return getDataTable(list); + + //未提现佣金 + tenantAgentCommission.setApprovalStatus(CommissionApprovalStatus.UNWITHDRAWN.getValue()); + BigDecimal unwithdrawn = tenantAgentCommissionService.getAgentCommissionSum(tenantAgentCommission); + //已提现佣金 + tenantAgentCommission.setApprovalStatus(CommissionApprovalStatus.WITHDRAWN.getValue()); + BigDecimal withdrawn = tenantAgentCommissionService.getAgentCommissionSum(tenantAgentCommission); + //总佣金 + tenantAgentCommission.setApprovalStatus(null); + BigDecimal total = tenantAgentCommissionService.getAgentCommissionSum(tenantAgentCommission); + + // 邀请佣金 + tenantAgentCommission.setCommissionType(CommissionType.INVITE.getValue()); + BigDecimal invite = tenantAgentCommissionService.getAgentCommissionSum(tenantAgentCommission); + //抽成佣金 + tenantAgentCommission.setCommissionType(CommissionType.TAKE.getValue()); + BigDecimal take = tenantAgentCommissionService.getAgentCommissionSum(tenantAgentCommission); + TableDataInfo dataTable = getDataTable(list); + + AjaxResult ajaxResult = success(dataTable); + ajaxResult.put("unwithdrawn", unwithdrawn); + ajaxResult.put("withdrawn", withdrawn); + ajaxResult.put("total", total); + ajaxResult.put("invite", invite); + ajaxResult.put("take", take); + return ajaxResult; } + /** * 获取代理佣金管理 详细信息 */ diff --git a/ff-game/src/main/java/com/ff/agent/mapper/TenantAgentCommissionMapper.java b/ff-game/src/main/java/com/ff/agent/mapper/TenantAgentCommissionMapper.java index 09adbfa..e0daaac 100644 --- a/ff-game/src/main/java/com/ff/agent/mapper/TenantAgentCommissionMapper.java +++ b/ff-game/src/main/java/com/ff/agent/mapper/TenantAgentCommissionMapper.java @@ -1,5 +1,6 @@ package com.ff.agent.mapper; +import java.math.BigDecimal; import java.util.List; import com.ff.agent.domain.TenantAgentCommission; @@ -58,4 +59,14 @@ public interface TenantAgentCommissionMapper * @return 结果 */ int deleteTenantAgentCommissionByIds(Long[] ids); + + + /** + * 获得代理佣金 + * + * @param tenantAgentCommission 租户代理佣金 + * @return {@link BigDecimal } + */ + BigDecimal getAgentCommissionSum(TenantAgentCommission tenantAgentCommission); + } diff --git a/ff-game/src/main/java/com/ff/agent/service/ITenantAgentCommissionService.java b/ff-game/src/main/java/com/ff/agent/service/ITenantAgentCommissionService.java index 68debf0..ce5277a 100644 --- a/ff-game/src/main/java/com/ff/agent/service/ITenantAgentCommissionService.java +++ b/ff-game/src/main/java/com/ff/agent/service/ITenantAgentCommissionService.java @@ -1,5 +1,6 @@ package com.ff.agent.service; +import java.math.BigDecimal; import java.util.List; import com.ff.agent.domain.TenantAgentCommission; @@ -27,6 +28,15 @@ public interface ITenantAgentCommissionService */ List selectTenantAgentCommissionList(TenantAgentCommission tenantAgentCommission); + + /** + * 获得代理佣金 + * + * @param tenantAgentCommission 租户代理佣金 + * @return {@link BigDecimal } + */ + BigDecimal getAgentCommissionSum(TenantAgentCommission tenantAgentCommission); + /** * 新增代理佣金管理 * diff --git a/ff-game/src/main/java/com/ff/agent/service/impl/TenantAgentCommissionServiceImpl.java b/ff-game/src/main/java/com/ff/agent/service/impl/TenantAgentCommissionServiceImpl.java index 26a7236..4e0471c 100644 --- a/ff-game/src/main/java/com/ff/agent/service/impl/TenantAgentCommissionServiceImpl.java +++ b/ff-game/src/main/java/com/ff/agent/service/impl/TenantAgentCommissionServiceImpl.java @@ -1,5 +1,6 @@ package com.ff.agent.service.impl; +import java.math.BigDecimal; import java.util.List; import cn.hutool.core.util.IdUtil; @@ -46,6 +47,17 @@ public class TenantAgentCommissionServiceImpl implements ITenantAgentCommissionS return tenantAgentCommissionMapper.selectTenantAgentCommissionList(tenantAgentCommission); } + /** + * 获得代理佣金 + * + * @param tenantAgentCommission 租户代理佣金 + * @return {@link BigDecimal } + */ + @Override + public BigDecimal getAgentCommissionSum(TenantAgentCommission tenantAgentCommission) { + return tenantAgentCommissionMapper.getAgentCommissionSum(tenantAgentCommission); + } + /** * 新增代理佣金管理 * diff --git a/ff-game/src/main/resources/mapper/agent/TenantAgentCommissionMapper.xml b/ff-game/src/main/resources/mapper/agent/TenantAgentCommissionMapper.xml index 9bc0dbc..69f363a 100644 --- a/ff-game/src/main/resources/mapper/agent/TenantAgentCommissionMapper.xml +++ b/ff-game/src/main/resources/mapper/agent/TenantAgentCommissionMapper.xml @@ -1,140 +1,346 @@ + PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" + "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + - select id,agent_withdrawal_id,agent_id, source_id, source_type, commission_type, currency_code, platform_code, cost_balance, merchant_balance, balance, commission_balance, usdt_balance, approval_status, create_by, create_time, update_by, update_time from ff_tenant_agent_commission + select id, + agent_withdrawal_id, + agent_id, + source_id, + source_type, + commission_type, + currency_code, + platform_code, + cost_balance, + merchant_balance, + balance, + commission_balance, + usdt_balance, + approval_status, + create_by, + create_time, + update_by, + update_time + from ff_tenant_agent_commission - - and agent_id = #{agentId} - and source_id = #{sourceId} - and source_type = #{sourceType} - and commission_type = #{commissionType} - and currency_code = #{currencyCode} - and platform—_code = #{platformCode} - and cost_balance = #{costBalance} - and merchant_balance = #{merchantBalance} - and balance = #{balance} - and commission_balance = #{commissionBalance} - and usdt_balance = #{usdtBalance} - and approval_status = #{approvalStatus} - + + and agent_id = #{agentId} + + + and source_id = #{sourceId} + + + and source_type = #{sourceType} + + + and commission_type = #{commissionType} + + + and currency_code = #{currencyCode} + + + and platform—_code = #{platformCode} + + + and cost_balance = #{costBalance} + + + and merchant_balance = #{merchantBalance} + + + and balance = #{balance} + + + and commission_balance = #{commissionBalance} + + + and usdt_balance = #{usdtBalance} + + + and approval_status = #{approvalStatus} + + + and create_time >= #{params.beginTime} - - + + and create_time <= #{params.endTime} - - and agent_withdrawal_id = #{agentWithdrawalId} + + and agent_withdrawal_id = #{agentWithdrawalId} + - + + + insert into ff_tenant_agent_commission - id, - agent_id, - source_id, - source_type, - commission_type, - currency_code, - platform—_code, - cost_balance, - merchant_balance, - balance, - commission_balance, - usdt_balance, - approval_status, - create_by, - create_time, - update_by, - update_time, - agent_withdrawal_id, - + + id, + + + agent_id, + + + source_id, + + + source_type, + + + commission_type, + + + currency_code, + + + platform—_code, + + + cost_balance, + + + merchant_balance, + + + balance, + + + commission_balance, + + + usdt_balance, + + + approval_status, + + + create_by, + + + create_time, + + + update_by, + + + update_time, + + + agent_withdrawal_id, + + - #{id}, - #{agentId}, - #{sourceId}, - #{sourceType}, - #{commissionType}, - #{currencyCode}, - #{platformCode}, - #{costBalance}, - #{merchantBalance}, - #{balance}, - #{commissionBalance}, - #{usdtBalance}, - #{approvalStatus}, - #{createBy}, - #{createTime}, - #{updateBy}, - #{updateTime}, - #{agentWithdrawalId}, - + + #{id}, + + + #{agentId}, + + + #{sourceId}, + + + #{sourceType}, + + + #{commissionType}, + + + #{currencyCode}, + + + #{platformCode}, + + + #{costBalance}, + + + #{merchantBalance}, + + + #{balance}, + + + #{commissionBalance}, + + + #{usdtBalance}, + + + #{approvalStatus}, + + + #{createBy}, + + + #{createTime}, + + + #{updateBy}, + + + #{updateTime}, + + + #{agentWithdrawalId}, + + update ff_tenant_agent_commission - agent_id = #{agentId}, - source_id = #{sourceId}, - source_type = #{sourceType}, - commission_type = #{commissionType}, - currency_code = #{currencyCode}, - platform—_code = #{platformCode}, - cost_balance = #{costBalance}, - merchant_balance = #{merchantBalance}, - balance = #{balance}, - commission_balance = #{commissionBalance}, - usdt_balance = #{usdtBalance}, - approval_status = #{approvalStatus}, - create_by = #{createBy}, - create_time = #{createTime}, - update_by = #{updateBy}, - update_time = #{updateTime}, - agent_withdrawal_id = #{agentWithdrawalId}, + + agent_id = #{agentId}, + + + source_id = #{sourceId}, + + + source_type = #{sourceType}, + + + commission_type = #{commissionType}, + + + currency_code = #{currencyCode}, + + + platform—_code = #{platformCode}, + + + cost_balance = #{costBalance}, + + + merchant_balance = #{merchantBalance}, + + + balance = #{balance}, + + + commission_balance = #{commissionBalance}, + + + usdt_balance = #{usdtBalance}, + + + approval_status = #{approvalStatus}, + + + create_by = #{createBy}, + + + create_time = #{createTime}, + + + update_by = #{updateBy}, + + + update_time = #{updateTime}, + + + agent_withdrawal_id = #{agentWithdrawalId}, + where id = #{id} - delete from ff_tenant_agent_commission where id = #{id} + delete + from ff_tenant_agent_commission + where id = #{id} - delete from ff_tenant_agent_commission where id in + delete from ff_tenant_agent_commission where id in #{id}