Files

220 lines
11 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"
"github.com/gogf/gf/v2/encoding/gjson"
"github.com/gogf/gf/v2/os/gtime"
)
// TFinCommissionDetailUpdateFields 修改分润明细表字段过滤
type TFinCommissionDetailUpdateFields struct {
CommissionNo string `json:"commissionNo" dc:"分润明细编号"`
OrderSn string `json:"orderSn" dc:"订单编号"`
OrderType string `json:"orderType" dc:"订单类型"`
ProductId int64 `json:"productId" dc:"商品ID"`
PayerDeptId int64 `json:"payerDeptId" dc:"下级机构ID"`
BenefitDeptId int64 `json:"benefitDeptId" dc:"受益机构ID"`
BenefitDeptLevel int `json:"benefitDeptLevel" dc:"受益机构层级"`
CommissionAmount float64 `json:"commissionAmount" dc:"分润金额"`
CommissionStatus int `json:"commissionStatus" dc:"分润状态:0待结算,1可提现"`
BenefitSnapshot *gjson.Json `json:"benefitSnapshot" dc:"价格快照(受益机构的成本价+利润+利润悉数=出货单价)"`
AccountPeriod string `json:"accountPeriod" dc:"账期(YYYY-MM)"`
SettlementTime *gtime.Time `json:"settlementTime" dc:"结算时间"`
TenantId string `json:"tenantId" dc:"租户ID"`
UpdatedBy int64 `json:"updatedBy" dc:"更新者"`
UpdatedAt *gtime.Time `json:"updatedAt" dc:"更新时间"`
}
// TFinCommissionDetailInsertFields 新增分润明细表字段过滤
type TFinCommissionDetailInsertFields struct {
CommissionNo string `json:"commissionNo" dc:"分润明细编号"`
OrderSn string `json:"orderSn" dc:"订单编号"`
OrderType string `json:"orderType" dc:"订单类型"`
ProductId int64 `json:"productId" dc:"商品ID"`
PayerDeptId int64 `json:"payerDeptId" dc:"下级机构ID"`
BenefitDeptId int64 `json:"benefitDeptId" dc:"受益机构ID"`
BenefitDeptLevel int `json:"benefitDeptLevel" dc:"受益机构层级"`
CommissionAmount float64 `json:"commissionAmount" dc:"分润金额"`
CommissionStatus int `json:"commissionStatus" dc:"分润状态:0待结算,1可提现"`
BenefitSnapshot *gjson.Json `json:"benefitSnapshot" dc:"价格快照(受益机构的成本价+利润+利润悉数=出货单价)"`
AccountPeriod string `json:"accountPeriod" dc:"账期(YYYY-MM)"`
SettlementTime *gtime.Time `json:"settlementTime" dc:"结算时间"`
TenantId string `json:"tenantId" dc:"租户ID"`
CreatedDept int64 `json:"createdDept" dc:"创建部门"`
CreatedBy int64 `json:"createdBy" dc:"创建者"`
CreatedAt *gtime.Time `json:"createdAt" dc:"创建时间"`
}
// TFinCommissionDetailEditParam 修改/新增分润明细表
type TFinCommissionDetailEditParam struct {
//entity.TFinCommissionDetail
Id int64 `json:"id" dc:"主键ID"`
CommissionNo *string `json:"commissionNo" dc:"分润明细编号"`
OrderSn *string `json:"orderSn" dc:"订单编号"`
OrderType *string `json:"orderType" dc:"订单类型"`
ProductId *int64 `json:"productId" dc:"商品ID"`
PayerDeptId *int64 `json:"payerDeptId" dc:"下级机构ID"`
BenefitDeptId *int64 `json:"benefitDeptId" dc:"受益机构ID"`
BenefitDeptLevel *int `json:"benefitDeptLevel" dc:"受益机构层级"`
CommissionAmount *float64 `json:"commissionAmount" dc:"分润金额"`
CommissionStatus *int `json:"commissionStatus" dc:"分润状态:0待结算,1可提现"`
BenefitSnapshot *gjson.Json `json:"benefitSnapshot" dc:"价格快照(受益机构的成本价+利润+利润悉数=出货单价)"`
AccountPeriod *string `json:"accountPeriod" dc:"账期(YYYY-MM)"`
SettlementTime *gtime.Time `json:"settlementTime" 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 *TFinCommissionDetailEditParam) Filter(ctx context.Context) (err error) {
return
}
type TFinCommissionDetailEditModel struct{}
// TFinCommissionDetailDeleteParam 删除分润明细表
type TFinCommissionDetailDeleteParam struct {
Id interface{} `json:"id" v:"required#主键ID不能为空" dc:"主键ID"`
}
func (in *TFinCommissionDetailDeleteParam) Filter(ctx context.Context) (err error) {
return
}
type TFinCommissionDetailDeleteModel struct{}
// TFinCommissionDetailViewParam 获取指定分润明细表信息
type TFinCommissionDetailViewParam struct {
Id int64 `json:"id" v:"required#主键ID不能为空" dc:"主键ID"`
}
func (in *TFinCommissionDetailViewParam) Filter(ctx context.Context) (err error) {
return
}
type TFinCommissionDetailViewModel struct {
entity.TFinCommissionDetail
CreatedBySumma *hook.MemberSumma `json:"createdBySumma" dc:"创建者摘要信息"`
UpdatedBySumma *hook.MemberSumma `json:"updatedBySumma" dc:"更新者摘要信息"`
}
// TFinCommissionDetailListParam 获取分润明细表列表
type TFinCommissionDetailListParam struct {
request.PageInfo
Id int64 `json:"id" dc:"主键ID"`
CommissionStatus int `json:"commissionStatus" dc:"分润状态:0待结算,1可提现"`
CreatedAt []*gtime.Time `json:"createdAt" dc:"创建时间"`
}
func (in *TFinCommissionDetailListParam) Filter(ctx context.Context) (err error) {
return
}
type TFinCommissionDetailListModel struct {
Id int64 `json:"id" dc:"主键ID"`
CommissionNo string `json:"commissionNo" dc:"分润明细编号"`
OrderSn string `json:"orderSn" dc:"订单编号"`
OrderType string `json:"orderType" dc:"订单类型"`
ProductId int64 `json:"productId" dc:"商品ID"`
PayerDeptId int64 `json:"payerDeptId" dc:"下级机构ID"`
BenefitDeptId int64 `json:"benefitDeptId" dc:"受益机构ID"`
BenefitDeptLevel int `json:"benefitDeptLevel" dc:"受益机构层级"`
CommissionAmount float64 `json:"commissionAmount" dc:"分润金额"`
CommissionStatus int `json:"commissionStatus" dc:"分润状态:0待结算,1可提现"`
AccountPeriod string `json:"accountPeriod" dc:"账期(YYYY-MM)"`
SettlementTime *gtime.Time `json:"settlementTime" dc:"结算时间"`
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:"更新时间"`
}
// TFinCommissionDetailExportModel 导出分润明细表
type TFinCommissionDetailExportModel struct {
Id int64 `json:"id" dc:"主键ID"`
CommissionNo string `json:"commissionNo" dc:"分润明细编号"`
OrderSn string `json:"orderSn" dc:"订单编号"`
OrderType string `json:"orderType" dc:"订单类型"`
ProductId int64 `json:"productId" dc:"商品ID"`
PayerDeptId int64 `json:"payerDeptId" dc:"下级机构ID"`
BenefitDeptId int64 `json:"benefitDeptId" dc:"受益机构ID"`
BenefitDeptLevel int `json:"benefitDeptLevel" dc:"受益机构层级"`
CommissionAmount float64 `json:"commissionAmount" dc:"分润金额"`
CommissionStatus int `json:"commissionStatus" dc:"分润状态:0待结算,1可提现"`
AccountPeriod string `json:"accountPeriod" dc:"账期(YYYY-MM)"`
SettlementTime *gtime.Time `json:"settlementTime" 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:"更新时间"`
}
// TCommissionOverviewParam 分层分润概览参数
type TCommissionOverviewParam struct {
Type int `json:"type" dc:"类型:1年,2月"`
Year string `json:"year" dc:"年份,如:2026"`
Month string `json:"month" dc:"月份,如:2026-01"`
}
// TCommissionOverviewModel 分层分润概览结果
type TCommissionOverviewModel struct {
Level1Income float64 `json:"level1Income" dc:"一级客户收入"`
Level2Income float64 `json:"level2Income" dc:"二级客户收入"`
Level3Income float64 `json:"level3Income" dc:"三级客户收入"`
TotalIncome float64 `json:"totalIncome" dc:"总收入"`
}
// TLevelSummaryParam 层级汇总表参数
type TLevelSummaryParam struct {
Type int `json:"type" dc:"类型:1年,2月"`
Year string `json:"year" dc:"年份,如:2026"`
Month string `json:"month" dc:"月份,如:2026-01"`
}
// TLevelSummaryItem 层级汇总项
type TLevelSummaryItem struct {
Level int `json:"level" dc:"层级:1一级客户,2二级客户,3三级客户"`
CustomerCount int `json:"customerCount" dc:"客户数"`
IncomeAmount float64 `json:"incomeAmount" dc:"收入金额"`
CommissionAmount float64 `json:"commissionAmount" dc:"分润金额"`
IncomeRatio float64 `json:"incomeRatio" dc:"收入占比"`
}
// TLevelSummaryModel 层级汇总结果
type TLevelSummaryModel struct {
Items []TLevelSummaryItem `json:"items" dc:"层级汇总列表"`
}
// IncomeQueryParams 收入查询参数
type IncomeQueryParams struct {
DeptIds []int64 `json:"deptIds" dc:"部门ID列表"`
StartPeriod string `json:"startPeriod" dc:"开始账期"`
EndPeriod string `json:"endPeriod" dc:"结束账期"`
}
// TFinCommissionSettleUpdateParam 分润结算后批量更新参数。
type TFinCommissionSettleUpdateParam struct {
Ids []int64 `json:"ids" dc:"分润明细ID列表"`
SettlementTime *gtime.Time `json:"settlementTime" dc:"结算时间"`
}