Files
iotlcm/admin-svr/server/internal/model/t_profit_account_month_bill.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:"指标值数组"`
}