53 lines
2.1 KiB
Go
Executable File
53 lines
2.1 KiB
Go
Executable File
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
|
|
}
|
|
func (d *FsProductDesignModel) GetAllByIds(ctx context.Context, ids []int64) (resp []FsProductDesign, err error) {
|
|
if len(ids) == 0 {
|
|
return
|
|
}
|
|
err = d.db.WithContext(ctx).Model(&FsProductDesign{}).Where("`id` in (?) and `status` = ?", ids, 1).Find(&resp).Error
|
|
if err != nil {
|
|
return nil, err
|
|
}
|
|
return
|
|
}
|