telco_server/app/admin/models/bus_models/m_cooperative_manage.go

128 lines
8.1 KiB
Go
Raw Normal View History

2025-03-18 11:45:22 +00:00
package bus_models
import "go-admin/app/admin/models"
type BusCooperative struct {
models.Model
CooperativeNumber string `gorm:"type:varchar(32);not null" json:"cooperative_number"` // 合作商编号
CooperativeName string `gorm:"type:varchar(64);not null" json:"cooperative_name"` // 合作商名称
Contact string `gorm:"type:varchar(32);not null" json:"contact"` // 联系人
Tel string `gorm:"type:varchar(20);not null" json:"tel"` // 手机号
Status int8 `gorm:"type:tinyint(1);not null;default:1" json:"status"` // 账户状态1启用 0禁用
Account string `gorm:"type:varchar(32);not null;unique" json:"account"` // 账户
Password string `gorm:"type:varchar(64);not null" json:"password"` // 密码(建议存储加密哈希值)
Balance float64 `gorm:"type:decimal(10,3);not null;default:0.000" json:"balance"` // 账户余额
Free float64 `gorm:"type:decimal(10,2);not null;default:0.00" json:"free"` // 赠送余额
Bond float64 `gorm:"type:decimal(10,2);not null;default:0.00" json:"bond"` // 保证金
CardHolder string `gorm:"type:varchar(32)" json:"card_holder,omitempty"` // 开户人
Bank string `gorm:"type:varchar(64)" json:"bank,omitempty"` // 开户行
CardID string `gorm:"type:varchar(32)" json:"card_id,omitempty"` // 银行帐号
TaxID string `gorm:"type:varchar(32)" json:"tax_id,omitempty"` // 税号
Products []BusCooperativeProduct `json:"products" gorm:"-"` // 产品信息
}
// BusCooperativeProduct 合作商与产品关联表
type BusCooperativeProduct struct {
models.Model
CooperativeID uint64 `gorm:"not null" json:"cooperative_id"` // 合作商编号
ProductID uint64 `gorm:"not null" json:"product_id"` // 产品ID
Discount float64 `gorm:"type:decimal(5,2);not null;default:0.00" json:"discount"` // 折扣0-1
}
// CooperativeListReq 查询合作商列表请求
type CooperativeListReq struct {
CooperativeNumber string `form:"cooperative_number,omitempty"` // 合作商编号(可选)
CooperativeName string `form:"cooperative_name,omitempty"` // 合作商名称(支持模糊查询)
Status int8 `form:"status,omitempty"` // 账户状态1启用 0禁用
Page int `form:"page" binding:"required,min=1"` // 页码
PageSize int `form:"page_size" binding:"required,min=1,max=100"` // 每页条数
}
// CooperativeListResp 查询合作商列表响应
type CooperativeListResp struct {
List []BusCooperative `json:"list"` // 合作商列表
Total int `json:"total"` // 总记录数
Page int `json:"page"` // 页码
PageSize int `json:"page_size"` // 每页大小
}
// CreateCooperativeReq 创建合作商请求
type CreateCooperativeReq struct {
CooperativeName string `json:"cooperative_name" binding:"required"` // 合作商名称
Contact string `json:"contact" binding:"required"` // 联系人
Tel string `json:"tel" binding:"required"` // 手机号
Account string `json:"account" binding:"required"` // 账户
Password string `json:"password" binding:"required"` // 密码(前端传输时应加密)
Balance float64 `json:"balance,omitempty"` // 账户余额(可选)
Free float64 `json:"free,omitempty"` // 赠送余额(可选)
Bond float64 `json:"bond,omitempty"` // 保证金(可选)
CardHolder string `json:"card_holder,omitempty"` // 开户人(可选)
Bank string `json:"bank,omitempty"` // 开户行(可选)
CardID string `json:"card_id,omitempty"` // 银行帐号(可选)
TaxID string `json:"tax_id,omitempty"` // 税号(可选)
Products []ProductDiscount `json:"products"` // 关联产品及折扣信息
}
// ProductDiscount 结构体用于存储产品ID及对应折扣
type ProductDiscount struct {
ProductID uint64 `json:"product_id" binding:"required"` // 产品ID
Discount float64 `json:"discount" binding:"required"` // 折扣0-1之间
}
// CreateCooperativeResp 创建合作商响应
type CreateCooperativeResp struct {
CooperativeNumber string `form:"cooperative_number"` // 合作商编号
}
// EditCooperativeReq 编辑合作商请求
type EditCooperativeReq struct {
CooperativeNumber string `form:"cooperative_number,required"` // 合作商编号
CooperativeName string `json:"cooperative_name,omitempty"` // 合作商名称(可选)
Contact string `json:"contact,omitempty"` // 联系人(可选)
Tel string `json:"tel,omitempty"` // 手机号(可选)
Status int8 `json:"status,omitempty"` // 账户状态(可选)
Account string `json:"account,omitempty"` // 账户(可选)
Password string `json:"password,omitempty"` // 密码(可选,前端加密传输)
Balance float64 `json:"balance,omitempty"` // 账户余额(可选)
Free float64 `json:"free,omitempty"` // 赠送余额(可选)
Bond float64 `json:"bond,omitempty"` // 保证金(可选)
CardHolder string `json:"card_holder,omitempty"` // 开户人(可选)
Bank string `json:"bank,omitempty"` // 开户行(可选)
CardID string `json:"card_id,omitempty"` // 银行帐号(可选)
TaxID string `json:"tax_id,omitempty"` // 税号(可选)
Products []ProductDiscount `json:"products"` // 关联产品及折扣信息
}
// DeleteCooperativeReq 删除合作商请求
type DeleteCooperativeReq struct {
CooperativeNumber string `form:"cooperative_number,required"` // 合作商编号
}
// CooperativeDetailReq 查询合作商详情请求参数
type CooperativeDetailReq struct {
CooperativeID uint64 `json:"cooperative_id" binding:"required"` // 合作商ID
}
// CooperativeDetailResp 查询合作商详情响应参数
type CooperativeDetailResp struct {
CooperativeNumber string `json:"cooperative_number"` // 合作商编号
CooperativeName string `json:"cooperative_name"` // 合作商名称
Contact string `json:"contact"` // 联系人
Tel string `json:"tel"` // 手机号
Status int8 `json:"status"` // 账户状态1启用 0禁用
Account string `json:"account"` // 账户
Balance float64 `json:"balance"` // 账户余额
Free float64 `json:"free"` // 赠送余额
Bond float64 `json:"bond"` // 保证金
Products []ProductDetail `json:"products"` // 产品信息
}
// ProductDetail 产品信息
type ProductDetail struct {
ProductCode string `json:"product_code"` // 产品编码
ProductName string `json:"product_name"` // 产品名称
Discount float64 `json:"discount"` // 折扣0-1
}