2026-03-18 10:18:03 +08:00
|
|
|
|
package entity
|
|
|
|
|
|
|
|
|
|
|
|
import (
|
|
|
|
|
|
consts "assets/consts/procurement"
|
|
|
|
|
|
"assets/consts/public"
|
|
|
|
|
|
|
2026-06-10 15:40:17 +08:00
|
|
|
|
"gitea.redpowerfuture.com/red-future/common/beans"
|
2026-03-18 10:18:03 +08:00
|
|
|
|
"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
|
|
|
|
|
|
}
|