package gmodel import ( "context" "errors" "gorm.io/gorm" "time" ) type FsProductDesign struct { Id int64 `gorm:"primary_key" json:"id"` Sn *string `gorm:"default:''" json:"sn"` // 唯一标识 UserId *int64 `gorm:"default:0" json:"user_id"` // 用户ID ProductId *int64 `gorm:"default:0" json:"product_id"` // 产品ID TemplateId *int64 `gorm:"default:0" json:"template_id"` // 模型ID MaterialId *int64 `gorm:"default:0" json:"material_id"` // 材质ID SizeId *int64 `gorm:"default:0" json:"size_id"` // 尺寸ID OptionalId *int64 `gorm:"default:0" json:"optional_id"` // 选项ID Cover *string `gorm:"default:''" json:"cover"` // 封面图 Info *string `gorm:"default:''" json:"info"` // 保留的设计信息 Utime *time.Time `gorm:"" json:"utime"` // 更新时间 Status *int64 `gorm:"default:1" json:"status"` // 状态 IsDel *int64 `gorm:"default:0" json:"is_del"` // 是否删除 0未删除 1删除 IsPay *int64 `gorm:"default:0" json:"is_pay"` // 是否已有支付 0 未 1 有 LogoColor *string `gorm:"default:''" json:"logo_color"` // logo图片备选项 PageGuid *string `gorm:"default:''" json:"page_guid"` // 页面识别id } type FsProductDesignModel struct { db *gorm.DB } func NewFsProductDesignModel(db *gorm.DB) *FsProductDesignModel { return &FsProductDesignModel{db} } func (d *FsProductDesignModel) FindOneBySn(ctx context.Context, sn string) (resp FsProductDesign, err error) { err = d.db.WithContext(ctx).Model(&FsProductDesign{}).Where("`sn` = ? and `status` = ?", sn, 1).First(&resp).Error if err != nil && !errors.Is(err, gorm.ErrRecordNotFound) { return FsProductDesign{}, err } return resp, nil }