Files
assets/model/entity/procurement/supplier.go
2026-03-18 10:18:03 +08:00

88 lines
4.8 KiB
Go
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
package entity
import (
consts "assets/consts/procurement"
"assets/consts/public"
"gitea.com/red-future/common/beans"
"github.com/gogf/gf/v2/os/gtime"
)
// Supplier 供应商实体
type Supplier struct {
beans.MongoBaseDO `bson:",inline"` // 嵌入基础字段Id, Creator, CreatedAt, Updater, UpdatedAt, TenantId, IsDeleted
// 基础信息
Name string `bson:"name" json:"name"` // 供应商名称(必填)
Code string `bson:"code" json:"code"` // 供应商编码(必填,唯一)
ShortName string `bson:"shortName" json:"shortName"` // 供应商简称
Alias []string `bson:"alias" json:"alias"` // 别名列表
Logo string `bson:"logo" json:"logo"` // 供应商LOGO URL
// 联系信息
Phone string `bson:"phone" json:"phone"` // 固定电话
Mobile string `bson:"mobile" json:"mobile"` // 手机号码
Email string `bson:"email" json:"email"` // 邮箱地址
Website string `bson:"website" json:"website"` // 官网地址
ContactPerson string `bson:"contactPerson" json:"contactPerson"` // 联系人姓名
ContactPhone string `bson:"contactPhone" json:"contactPhone"` // 联系人电话
ContactEmail string `bson:"contactEmail" json:"contactEmail"` // 联系人邮箱
ContactPosition string `bson:"contactPosition" json:"contactPosition"` // 联系人职位
// 地址信息
Country string `bson:"country" json:"country"` // 国家
Province string `bson:"province" json:"province"` // 省份
City string `bson:"city" json:"city"` // 城市
District string `bson:"district" json:"district"` // 区县
Address string `bson:"address" json:"address"` // 详细地址
PostalCode string `bson:"postalCode" json:"postalCode"` // 邮政编码
// 企业资质信息
BusinessLicense string `bson:"businessLicense" json:"businessLicense"` // 营业执照号
LegalPerson string `bson:"legalPerson" json:"legalPerson"` // 法定代表人
TaxNumber string `bson:"taxNumber" json:"taxNumber"` // 税务登记号
BankName string `bson:"bankName" json:"bankName"` // 开户银行
BankAccount string `bson:"bankAccount" json:"bankAccount"` // 银行账号
BankAccountName string `bson:"bankAccountName" json:"bankAccountName"` // 账户名称
// 业务合作信息
CooperationStart *gtime.Time `bson:"cooperationStart" json:"cooperationStart"` // 合作开始时间
CooperationEnd *gtime.Time `bson:"cooperationEnd" json:"cooperationEnd"` // 合作结束时间
SupplierLevel string `bson:"supplierLevel" json:"supplierLevel"` // 供应商等级
PaymentMethod string `bson:"paymentMethod" json:"paymentMethod"` // 结算方式
PaymentPeriod int `bson:"paymentPeriod" json:"paymentPeriod"` // 付款周期(天)
TaxRate float64 `bson:"taxRate" json:"taxRate"` // 税率如0.13表示13%
MinOrderAmount int `bson:"minOrderAmount" json:"minOrderAmount"` // 最小订货金额(分)
// 经营品类信息
MainCategories []string `bson:"mainCategories" json:"mainCategories"` // 主营品类ID列表
BusinessScope string `bson:"businessScope" json:"businessScope"` // 经营范围
// 状态和审核信息
Status consts.SupplierStatus `bson:"status" json:"status"` // 供应商状态
ReviewStatus consts.ReviewStatus `bson:"reviewStatus" json:"reviewStatus"` // 审核状态
ReviewBy string `bson:"reviewBy" json:"reviewBy"` // 审核人ID
ReviewAt *gtime.Time `bson:"reviewAt" json:"reviewAt"` // 审核时间
ReviewRemark string `bson:"reviewRemark" json:"reviewRemark"` // 审核备注
// 评分和评价
Rating float64 `bson:"rating" json:"rating"` // 综合评分0-5分
DeliveryRating float64 `bson:"deliveryRating" json:"deliveryRating"` // 交货及时率评分
QualityRating float64 `bson:"qualityRating" json:"qualityRating"` // 质量合格率评分
ServiceRating float64 `bson:"serviceRating" json:"serviceRating"` // 服务满意度评分
TotalOrders int64 `bson:"totalOrders" json:"totalOrders"` // 历史订单总数
TotalAmount int64 `bson:"totalAmount" json:"totalAmount"` // 历史交易总额(分)
// 备注和标签
Remark string `bson:"remark" json:"remark"` // 备注信息
Tags []string `bson:"tags" json:"tags"` // 标签列表
// 扩展字段
Extra map[string]interface{} `bson:"extra" json:"extra"` // 扩展字段
}
// CollectionName 获取集合名称
func (Supplier) CollectionName() string {
return public.SupplierCollection
}