// Package genin // @Link https://github.com/xiujiecn/xiu-admin // @Copyright Copyright (c) 2026 LiXiujie // @Author Lxj // @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/consts" "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" "slices" "time" "github.com/gogf/gf/v2/errors/gerror" "github.com/gogf/gf/v2/os/gtime" ) // TAgentBalanceUpdateFields 修改企业客户财务信息字段过滤 type TAgentBalanceUpdateFields struct { DeptId int64 `json:"deptId" dc:"机构ID"` Balance float64 `json:"balance" dc:"账户余额"` WithdrawAmount float64 `json:"withdrawAmount" dc:"可提现金额"` WithdrawAmountStatus int `json:"withdrawAmountStatus" dc:"可提现金额状态: 1-正常, 0-冻结"` InvoiceAmount float64 `json:"invoiceAmount" dc:"已开票金额"` CanInvoiceAmount float64 `json:"canInvoiceAmount" dc:"可开票金额"` CreditLimit float64 `json:"creditLimit" dc:"信用额度"` UsedCredit float64 `json:"usedCredit" dc:"已使用信用额度"` PendingRepayment float64 `json:"pendingRepayment" dc:"待还款金额"` Status int `json:"status" dc:"状态: 0-正常, 1-禁用"` TenantId string `json:"tenantId" dc:"租户ID"` UpdatedBy int64 `json:"updatedBy" dc:"更新者"` UpdatedAt *gtime.Time `json:"updatedAt" dc:"更新时间"` } // TAgentBalanceInsertFields 新增企业客户财务信息字段过滤 type TAgentBalanceInsertFields struct { DeptId int64 `json:"deptId" dc:"机构ID"` Balance float64 `json:"balance" dc:"账户余额"` WithdrawAmount float64 `json:"withdrawAmount" dc:"可提现金额"` WithdrawAmountStatus int `json:"withdrawAmountStatus" dc:"可提现金额状态: 1-正常, 0-冻结"` InvoiceAmount float64 `json:"invoiceAmount" dc:"已开票金额"` CanInvoiceAmount float64 `json:"canInvoiceAmount" dc:"可开票金额"` CreditLimit float64 `json:"creditLimit" dc:"信用额度"` UsedCredit float64 `json:"usedCredit" dc:"已使用信用额度"` PendingRepayment float64 `json:"pendingRepayment" dc:"待还款金额"` Status int `json:"status" dc:"状态: 0-正常, 1-禁用"` TenantId string `json:"tenantId" dc:"租户ID"` CreatedDept int64 `json:"createdDept" dc:"创建部门"` CreatedBy int64 `json:"createdBy" dc:"创建者"` CreatedAt *gtime.Time `json:"createdAt" dc:"创建时间"` } // TAgentBalanceEditParam 修改/新增企业客户财务信息 type TAgentBalanceEditParam struct { //entity.TAgentBalance Id int64 `json:"id" dc:"账户ID"` DeptId *int64 `json:"deptId" dc:"机构ID"` Balance *float64 `json:"balance" dc:"账户余额"` WithdrawAmount *float64 `json:"withdrawAmount" dc:"可提现金额"` WithdrawAmountStatus *int `json:"withdrawAmountStatus" dc:"可提现金额状态: 1-正常, 0-冻结"` InvoiceAmount *float64 `json:"invoiceAmount" dc:"已开票金额"` CanInvoiceAmount *float64 `json:"canInvoiceAmount" dc:"可开票金额"` CreditLimit *float64 `json:"creditLimit" dc:"信用额度"` UsedCredit *float64 `json:"usedCredit" dc:"已使用信用额度"` PendingRepayment *float64 `json:"pendingRepayment" dc:"待还款金额"` Status *int `json:"status" dc:"状态: 0-正常, 1-禁用"` 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 *TAgentBalanceEditParam) Filter(ctx context.Context) (err error) { return } type TAgentBalanceEditModel struct{} // TAgentBalanceDeleteParam 删除企业客户财务信息 type TAgentBalanceDeleteParam struct { Id interface{} `json:"id" v:"required#账户ID不能为空" dc:"账户ID"` } func (in *TAgentBalanceDeleteParam) Filter(ctx context.Context) (err error) { return } type TAgentBalanceDeleteModel struct{} // TAgentBalanceViewParam 获取指定企业客户财务信息信息 type TAgentBalanceViewParam struct { Id int64 `json:"id" v:"required#账户ID不能为空" dc:"账户ID"` } func (in *TAgentBalanceViewParam) Filter(ctx context.Context) (err error) { return } type TAgentBalanceViewModel struct { entity.TAgentBalance CreatedBySumma *hook.MemberSumma `json:"createdBySumma" dc:"创建者摘要信息"` UpdatedBySumma *hook.MemberSumma `json:"updatedBySumma" dc:"更新者摘要信息"` } // TAgentBalanceListParam 获取企业客户财务信息列表 type TAgentBalanceListParam struct { request.PageInfo Id int64 `json:"id" dc:"账户ID"` WithdrawAmountStatus int `json:"withdrawAmountStatus" dc:"可提现金额状态: 1-正常, 0-冻结"` Status int `json:"status" dc:"状态: 0-正常, 1-禁用"` CreatedAt []*gtime.Time `json:"createdAt" dc:"创建时间"` } func (in *TAgentBalanceListParam) Filter(ctx context.Context) (err error) { return } type TAgentBalanceListModel struct { Id int64 `json:"id" dc:"账户ID"` DeptId int64 `json:"deptId" dc:"机构ID"` Balance float64 `json:"balance" dc:"账户余额"` WithdrawAmount float64 `json:"withdrawAmount" dc:"可提现金额"` WithdrawAmountStatus int `json:"withdrawAmountStatus" dc:"可提现金额状态: 1-正常, 0-冻结"` InvoiceAmount float64 `json:"invoiceAmount" dc:"已开票金额"` CanInvoiceAmount float64 `json:"canInvoiceAmount" dc:"可开票金额"` CreditLimit float64 `json:"creditLimit" dc:"信用额度"` UsedCredit float64 `json:"usedCredit" dc:"已使用信用额度"` PendingRepayment float64 `json:"pendingRepayment" dc:"待还款金额"` Status int `json:"status" dc:"状态: 0-正常, 1-禁用"` 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:"更新时间"` } // TAgentBalanceExportModel 导出企业客户财务信息 type TAgentBalanceExportModel struct { Id int64 `json:"id" dc:"账户ID"` DeptId int64 `json:"deptId" dc:"机构ID"` Balance float64 `json:"balance" dc:"账户余额"` WithdrawAmount float64 `json:"withdrawAmount" dc:"可提现金额"` WithdrawAmountStatus int `json:"withdrawAmountStatus" dc:"可提现金额状态: 1-正常, 0-冻结"` InvoiceAmount float64 `json:"invoiceAmount" dc:"已开票金额"` CanInvoiceAmount float64 `json:"canInvoiceAmount" dc:"可开票金额"` CreditLimit float64 `json:"creditLimit" dc:"信用额度"` UsedCredit float64 `json:"usedCredit" dc:"已使用信用额度"` PendingRepayment float64 `json:"pendingRepayment" dc:"待还款金额"` Status int `json:"status" dc:"状态: 0-正常, 1-禁用"` 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:"更新时间"` } // TAgentBalanceStatusParam 更新企业客户财务信息状态 type TAgentBalanceStatusParam struct { Id int64 `json:"id" v:"required#账户ID不能为空" dc:"账户ID"` Status int `json:"status" dc:"状态"` } func (in *TAgentBalanceStatusParam) Filter(ctx context.Context) (err error) { if in.Id <= 0 { err = gerror.New("账户ID不能为空") return } if in.Status <= 0 { err = gerror.New("状态不能为空") return } if !slices.Contains(consts.StatusSlice, in.Status) { err = gerror.New("状态不正确") return } return } type TAgentBalanceStatusModel struct{} type TAgentBalanceTrendParam struct { StartMonth string `json:"startMonth" dc:"开始月份,格式YYYY-MM"` EndMonth string `json:"endMonth" dc:"结束月份,格式YYYY-MM"` AccountType string `json:"accountType" dc:"账户类型:1 盈利账户,2消费账户 默认1"` } func (in *TAgentBalanceTrendParam) Filter(ctx context.Context) (err error) { return } type TAgentBalanceChartSeries struct { Name string `json:"name" dc:"折线名称"` Values []float64 `json:"values" dc:"折线数据"` } type TAgentBalanceChartData struct { Labels []string `json:"labels" dc:"月份标签"` Series []*TAgentBalanceChartSeries `json:"series" dc:"折线数据"` } // TAgentBalanceCommissionSettlementParam 分润结算参数。 type TAgentBalanceCommissionSettlementParam struct { StartPeriod string `json:"startPeriod" dc:"开始账期,格式YYYY-MM"` EndPeriod string `json:"endPeriod" dc:"结束账期,格式YYYY-MM"` } func (in *TAgentBalanceCommissionSettlementParam) Filter(ctx context.Context) (err error) { if in == nil { return gerror.New("参数不能为空") } if in.StartPeriod == "" { return gerror.New("开始账期不能为空") } if in.EndPeriod == "" { return gerror.New("结束账期不能为空") } startTime, err := time.Parse("2006-01", in.StartPeriod) if err != nil { return gerror.New("开始账期格式不正确,应为YYYY-MM") } endTime, err := time.Parse("2006-01", in.EndPeriod) if err != nil { return gerror.New("结束账期格式不正确,应为YYYY-MM") } if startTime.After(endTime) { return gerror.New("开始账期不能大于结束账期") } return nil } // TAgentBalanceCommissionSettlementResult 分润结算结果。 type TAgentBalanceCommissionSettlementResult struct { StartPeriod string `json:"startPeriod" dc:"开始账期"` EndPeriod string `json:"endPeriod" dc:"结束账期"` ScanCount int `json:"scanCount" dc:"扫描数量"` SuccessGroupCount int `json:"successGroupCount" dc:"成功分组数"` FailGroupCount int `json:"failGroupCount" dc:"失败分组数"` SettledCount int `json:"settledCount" dc:"已结算明细数"` SettledAmount float64 `json:"settledAmount" dc:"已结算金额"` } // TAgentBalanceCommissionSettlementGroup 分润结算分组数据。 type TAgentBalanceCommissionSettlementGroup struct { DeptId int64 AccountPeriod string TenantId string CreatedDept int64 Ids []int64 Amount float64 } // TAgentBalanceCommissionSettlementGroupKey 分润结算分组键。 type TAgentBalanceCommissionSettlementGroupKey struct { DeptId int64 AccountPeriod string TenantId string }