254 lines
17 KiB
Go
254 lines
17 KiB
Go
// Package genin
|
|
// @Link https://github.com/xiujiecn/xiu-admin
|
|
// @Copyright Copyright (c) 2026 LiXiujie
|
|
// @Author Lxj <xxx@example.com>
|
|
// @License https://github.com/xiujiecn/xiu-admin/blob/master/LICENSE
|
|
// @AutoGenerate Version
|
|
package model
|
|
|
|
import (
|
|
"context"
|
|
"git.5iot.com/iotlcm-public/iotlcm-admin-svr/internal/library/xgorm/hook"
|
|
"git.5iot.com/iotlcm-public/iotlcm-admin-svr/internal/model/entity"
|
|
"git.5iot.com/iotlcm-public/iotlcm-admin-svr/internal/model/request"
|
|
"time"
|
|
|
|
"github.com/gogf/gf/v2/os/gtime"
|
|
)
|
|
|
|
// TProfitAccountMonthBillUpdateFields 修改盈利账户月账单表字段过滤
|
|
type TProfitAccountMonthBillUpdateFields struct {
|
|
DeptId int64 `json:"deptId" dc:"机构ID"`
|
|
AccountPeriod string `json:"accountPeriod" dc:"账期YYYY-MM"`
|
|
OpeningBalance float64 `json:"openingBalance" dc:"月初余额"`
|
|
CommissionIncome float64 `json:"commissionIncome" dc:"分润收入"`
|
|
BalanceTransferInIncome float64 `json:"balanceTransferInIncome" dc:"余额转提现收入"`
|
|
WithdrawalExpense float64 `json:"withdrawalExpense" dc:"提现支出"`
|
|
WithdrawableTransferOutExpense float64 `json:"withdrawableTransferOutExpense" dc:"可提现转余额支出"`
|
|
ProfitCreditRepayExpense float64 `json:"profitCreditRepayExpense" dc:"盈利账户还款支出"`
|
|
TotalIncome float64 `json:"totalIncome" dc:"本月收入总额"`
|
|
TotalExpense float64 `json:"totalExpense" dc:"本月支出总额"`
|
|
ClosingBalance float64 `json:"closingBalance" dc:"月末余额(月初余额+本月收入-本月支出)"`
|
|
IncomeCount int `json:"incomeCount" dc:"收入笔数"`
|
|
ExpenseCount int `json:"expenseCount" dc:"支出笔数"`
|
|
BillStatus int `json:"billStatus" dc:"账单状态:1正常,2已调整,3已作废"`
|
|
SettleTime *gtime.Time `json:"settleTime" dc:"结算时间"`
|
|
SettleBy int64 `json:"settleBy" dc:"结算人ID"`
|
|
Remark string `json:"remark" dc:"备注"`
|
|
TenantId string `json:"tenantId" dc:"租户ID"`
|
|
UpdatedBy int64 `json:"updatedBy" dc:"更新者"`
|
|
UpdatedAt *gtime.Time `json:"updatedAt" dc:"更新时间"`
|
|
}
|
|
|
|
// TProfitAccountMonthBillInsertFields 新增盈利账户月账单表字段过滤
|
|
type TProfitAccountMonthBillInsertFields struct {
|
|
DeptId int64 `json:"deptId" dc:"机构ID"`
|
|
AccountPeriod string `json:"accountPeriod" dc:"账期YYYY-MM"`
|
|
OpeningBalance float64 `json:"openingBalance" dc:"月初余额"`
|
|
CommissionIncome float64 `json:"commissionIncome" dc:"分润收入"`
|
|
BalanceTransferInIncome float64 `json:"balanceTransferInIncome" dc:"余额转提现收入"`
|
|
WithdrawalExpense float64 `json:"withdrawalExpense" dc:"提现支出"`
|
|
WithdrawableTransferOutExpense float64 `json:"withdrawableTransferOutExpense" dc:"可提现转余额支出"`
|
|
ProfitCreditRepayExpense float64 `json:"profitCreditRepayExpense" dc:"盈利账户还款支出"`
|
|
TotalIncome float64 `json:"totalIncome" dc:"本月收入总额"`
|
|
TotalExpense float64 `json:"totalExpense" dc:"本月支出总额"`
|
|
ClosingBalance float64 `json:"closingBalance" dc:"月末余额(月初余额+本月收入-本月支出)"`
|
|
IncomeCount int `json:"incomeCount" dc:"收入笔数"`
|
|
ExpenseCount int `json:"expenseCount" dc:"支出笔数"`
|
|
BillStatus int `json:"billStatus" dc:"账单状态:1正常,2已调整,3已作废"`
|
|
SettleTime *gtime.Time `json:"settleTime" dc:"结算时间"`
|
|
SettleBy int64 `json:"settleBy" dc:"结算人ID"`
|
|
Remark string `json:"remark" dc:"备注"`
|
|
TenantId string `json:"tenantId" dc:"租户ID"`
|
|
CreatedDept int64 `json:"createdDept" dc:"创建部门"`
|
|
CreatedBy int64 `json:"createdBy" dc:"创建者"`
|
|
CreatedAt *gtime.Time `json:"createdAt" dc:"创建时间"`
|
|
}
|
|
|
|
// TProfitAccountMonthBillEditParam 修改/新增盈利账户月账单表
|
|
type TProfitAccountMonthBillEditParam struct {
|
|
//entity.TProfitAccountMonthBill
|
|
Id int64 `json:"id" dc:"账单ID"`
|
|
DeptId *int64 `json:"deptId" dc:"机构ID"`
|
|
AccountPeriod *string `json:"accountPeriod" dc:"账期YYYY-MM"`
|
|
OpeningBalance *float64 `json:"openingBalance" dc:"月初余额"`
|
|
CommissionIncome *float64 `json:"commissionIncome" dc:"分润收入"`
|
|
BalanceTransferInIncome *float64 `json:"balanceTransferInIncome" dc:"余额转提现收入"`
|
|
WithdrawalExpense *float64 `json:"withdrawalExpense" dc:"提现支出"`
|
|
WithdrawableTransferOutExpense *float64 `json:"withdrawableTransferOutExpense" dc:"可提现转余额支出"`
|
|
ProfitCreditRepayExpense *float64 `json:"profitCreditRepayExpense" dc:"盈利账户还款支出"`
|
|
TotalIncome *float64 `json:"totalIncome" dc:"本月收入总额"`
|
|
TotalExpense *float64 `json:"totalExpense" dc:"本月支出总额"`
|
|
ClosingBalance *float64 `json:"closingBalance" dc:"月末余额(月初余额+本月收入-本月支出)"`
|
|
IncomeCount *int `json:"incomeCount" dc:"收入笔数"`
|
|
ExpenseCount *int `json:"expenseCount" dc:"支出笔数"`
|
|
BillStatus *int `json:"billStatus" dc:"账单状态:1正常,2已调整,3已作废"`
|
|
SettleTime *gtime.Time `json:"settleTime" dc:"结算时间"`
|
|
SettleBy *int64 `json:"settleBy" dc:"结算人ID"`
|
|
Remark *string `json:"remark" dc:"备注"`
|
|
TenantId *string `json:"tenantId" dc:"租户ID"`
|
|
CreatedDept *int64 `json:"createdDept" dc:"创建部门"`
|
|
CreatedBy *int64 `json:"createdBy" dc:"创建者"`
|
|
CreatedAt *gtime.Time `json:"createdAt" dc:"创建时间"`
|
|
UpdatedBy *int64 `json:"updatedBy" dc:"更新者"`
|
|
UpdatedAt *gtime.Time `json:"updatedAt" dc:"更新时间"`
|
|
}
|
|
|
|
func (in *TProfitAccountMonthBillEditParam) Filter(ctx context.Context) (err error) {
|
|
|
|
return
|
|
}
|
|
|
|
type TProfitAccountMonthBillEditModel struct{}
|
|
|
|
// TProfitAccountMonthBillSettleParam 按账期统计盈利账户月账单参数。
|
|
type TProfitAccountMonthBillSettleParam struct {
|
|
AccountPeriod string `json:"accountPeriod" dc:"账期YYYY-MM,不传默认上个月"`
|
|
}
|
|
|
|
func (in *TProfitAccountMonthBillSettleParam) Filter(ctx context.Context) (err error) {
|
|
if in.AccountPeriod == "" {
|
|
in.AccountPeriod = time.Now().AddDate(0, -1, 0).Format("2006-01")
|
|
}
|
|
if _, err = time.Parse("2006-01", in.AccountPeriod); err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}
|
|
|
|
// TProfitAccountMonthBillSettleResult 盈利账户月账单统计结果。
|
|
type TProfitAccountMonthBillSettleResult struct {
|
|
AccountPeriod string `json:"accountPeriod" dc:"账期YYYY-MM"`
|
|
DeptCount int `json:"deptCount" dc:"处理机构数"`
|
|
InsertCount int `json:"insertCount" dc:"新增账单数"`
|
|
UpdateCount int `json:"updateCount" dc:"更新账单数"`
|
|
DetailCount int `json:"detailCount" dc:"参与统计明细数"`
|
|
TotalIncome float64 `json:"totalIncome" dc:"本月收入总额"`
|
|
TotalExpense float64 `json:"totalExpense" dc:"本月支出总额"`
|
|
}
|
|
|
|
// TProfitAccountMonthBillDeleteParam 删除盈利账户月账单表
|
|
type TProfitAccountMonthBillDeleteParam struct {
|
|
Id interface{} `json:"id" v:"required#账单ID不能为空" dc:"账单ID"`
|
|
}
|
|
|
|
func (in *TProfitAccountMonthBillDeleteParam) Filter(ctx context.Context) (err error) {
|
|
return
|
|
}
|
|
|
|
type TProfitAccountMonthBillDeleteModel struct{}
|
|
|
|
// TProfitAccountMonthBillViewParam 获取指定盈利账户月账单表信息
|
|
type TProfitAccountMonthBillViewParam struct {
|
|
Id int64 `json:"id" v:"required#账单ID不能为空" dc:"账单ID"`
|
|
}
|
|
|
|
func (in *TProfitAccountMonthBillViewParam) Filter(ctx context.Context) (err error) {
|
|
return
|
|
}
|
|
|
|
type TProfitAccountMonthBillViewModel struct {
|
|
entity.TProfitAccountMonthBill
|
|
CreatedBySumma *hook.MemberSumma `json:"createdBySumma" dc:"创建者摘要信息"`
|
|
UpdatedBySumma *hook.MemberSumma `json:"updatedBySumma" dc:"更新者摘要信息"`
|
|
}
|
|
|
|
// TProfitAccountMonthBillListParam 获取盈利账户月账单表列表
|
|
type TProfitAccountMonthBillListParam struct {
|
|
request.PageInfo
|
|
Id int64 `json:"id" dc:"账单ID"`
|
|
BillStatus int `json:"billStatus" dc:"账单状态:1正常,2已调整,3已作废"`
|
|
CreatedAt []*gtime.Time `json:"createdAt" dc:"创建时间"`
|
|
}
|
|
|
|
func (in *TProfitAccountMonthBillListParam) Filter(ctx context.Context) (err error) {
|
|
return
|
|
}
|
|
|
|
type TProfitAccountMonthBillListModel struct {
|
|
Id int64 `json:"id" dc:"账单ID"`
|
|
DeptId int64 `json:"deptId" dc:"机构ID"`
|
|
AccountPeriod string `json:"accountPeriod" dc:"账期YYYY-MM"`
|
|
OpeningBalance float64 `json:"openingBalance" dc:"月初余额"`
|
|
CommissionIncome float64 `json:"commissionIncome" dc:"分润收入"`
|
|
BalanceTransferInIncome float64 `json:"balanceTransferInIncome" dc:"余额转提现收入"`
|
|
WithdrawalExpense float64 `json:"withdrawalExpense" dc:"提现支出"`
|
|
WithdrawableTransferOutExpense float64 `json:"withdrawableTransferOutExpense" dc:"可提现转余额支出"`
|
|
ProfitCreditRepayExpense float64 `json:"profitCreditRepayExpense" dc:"盈利账户还款支出"`
|
|
TotalIncome float64 `json:"totalIncome" dc:"本月收入总额"`
|
|
TotalExpense float64 `json:"totalExpense" dc:"本月支出总额"`
|
|
ClosingBalance float64 `json:"closingBalance" dc:"月末余额(月初余额+本月收入-本月支出)"`
|
|
IncomeCount int `json:"incomeCount" dc:"收入笔数"`
|
|
ExpenseCount int `json:"expenseCount" dc:"支出笔数"`
|
|
BillStatus int `json:"billStatus" dc:"账单状态:1正常,2已调整,3已作废"`
|
|
SettleTime *gtime.Time `json:"settleTime" dc:"结算时间"`
|
|
SettleBy int64 `json:"settleBy" dc:"结算人ID"`
|
|
TenantId string `json:"tenantId" dc:"租户ID"`
|
|
CreatedDept int64 `json:"createdDept" dc:"创建部门"`
|
|
CreatedBy int64 `json:"createdBy" dc:"创建者"`
|
|
CreatedBySumma *hook.MemberSumma `json:"createdBySumma" dc:"创建者摘要信息"`
|
|
CreatedAt *gtime.Time `json:"createdAt" dc:"创建时间"`
|
|
UpdatedBy int64 `json:"updatedBy" dc:"更新者"`
|
|
UpdatedBySumma *hook.MemberSumma `json:"updatedBySumma" dc:"更新者摘要信息"`
|
|
UpdatedAt *gtime.Time `json:"updatedAt" dc:"更新时间"`
|
|
}
|
|
|
|
// TProfitAccountMonthBillExportModel 导出盈利账户月账单表
|
|
type TProfitAccountMonthBillExportModel struct {
|
|
Id int64 `json:"id" dc:"账单ID"`
|
|
DeptId int64 `json:"deptId" dc:"机构ID"`
|
|
AccountPeriod string `json:"accountPeriod" dc:"账期YYYY-MM"`
|
|
OpeningBalance float64 `json:"openingBalance" dc:"月初余额"`
|
|
CommissionIncome float64 `json:"commissionIncome" dc:"分润收入"`
|
|
BalanceTransferInIncome float64 `json:"balanceTransferInIncome" dc:"余额转提现收入"`
|
|
WithdrawalExpense float64 `json:"withdrawalExpense" dc:"提现支出"`
|
|
WithdrawableTransferOutExpense float64 `json:"withdrawableTransferOutExpense" dc:"可提现转余额支出"`
|
|
ProfitCreditRepayExpense float64 `json:"profitCreditRepayExpense" dc:"盈利账户还款支出"`
|
|
TotalIncome float64 `json:"totalIncome" dc:"本月收入总额"`
|
|
TotalExpense float64 `json:"totalExpense" dc:"本月支出总额"`
|
|
ClosingBalance float64 `json:"closingBalance" dc:"月末余额(月初余额+本月收入-本月支出)"`
|
|
IncomeCount int `json:"incomeCount" dc:"收入笔数"`
|
|
ExpenseCount int `json:"expenseCount" dc:"支出笔数"`
|
|
BillStatus int `json:"billStatus" dc:"账单状态:1正常,2已调整,3已作废"`
|
|
SettleTime *gtime.Time `json:"settleTime" dc:"结算时间"`
|
|
SettleBy int64 `json:"settleBy" dc:"结算人ID"`
|
|
TenantId string `json:"tenantId" dc:"租户ID"`
|
|
CreatedDept int64 `json:"createdDept" dc:"创建部门"`
|
|
CreatedBy int64 `json:"createdBy" dc:"创建者"`
|
|
CreatedAt *gtime.Time `json:"createdAt" dc:"创建时间"`
|
|
UpdatedBy int64 `json:"updatedBy" dc:"更新者"`
|
|
UpdatedAt *gtime.Time `json:"updatedAt" dc:"更新时间"`
|
|
}
|
|
type TProfitBillModel struct {
|
|
TotalIncome float64 `json:"totalIncome" dc:"本月收入总额"`
|
|
TotalExpense float64 `json:"totalExpense" dc:"本月支出总额"`
|
|
}
|
|
|
|
type TCoreFinancialDataModel struct {
|
|
TotalIncome float64 `json:"totalIncome" dc:"总收入"`
|
|
TopLevelProfit float64 `json:"topLevelProfit" dc:"顶级利润"`
|
|
PendingWithdrawAmount float64 `json:"pendingWithdrawAmount" dc:"待审核提现"`
|
|
WithdrawedAmount float64 `json:"withdrawedAmount" dc:"已提现金额"`
|
|
}
|
|
|
|
// TFinancialTrendParam 财务趋势折线图参数
|
|
type TFinancialTrendParam struct {
|
|
Type int `json:"type" dc:"类型:1年,2月"`
|
|
Year string `json:"year" dc:"年份,如:2026"`
|
|
Month string `json:"month" dc:"月份,如:2026-01"`
|
|
Indicators []int `json:"indicators" dc:"指标类型:1总收入,2顶级利润,3待审核提现,4已提现金额"`
|
|
}
|
|
|
|
// TFinancialTrendModel 财务趋势折线图结果
|
|
type TFinancialTrendModel struct {
|
|
Labels []string `json:"labels" dc:"时间数组"`
|
|
Series []TFinancialTrendSeries `json:"series" dc:"数据数组"`
|
|
}
|
|
|
|
// TFinancialTrendSeries 趋势数据系列
|
|
type TFinancialTrendSeries struct {
|
|
Name string `json:"name" dc:"指标名称:1总收入,2顶级利润,3待审核提现,4已提现金额"`
|
|
Type int `json:"type" dc:"指标类型"`
|
|
Values []float64 `json:"values" dc:"指标值数组"`
|
|
}
|