55 lines
2.4 KiB
Go
Executable File
55 lines
2.4 KiB
Go
Executable File
package gmodel
|
||
|
||
import (
|
||
"context"
|
||
"gorm.io/gorm"
|
||
)
|
||
|
||
type FsProductModel3d struct {
|
||
Id int64 `gorm:"primary_key" json:"id"`
|
||
ProductId *int64 `gorm:"default:0" json:"product_id"` // 产品ID
|
||
Tag *int64 `gorm:"default:1" json:"tag"` // 类别(1:模型,2:配件,3:场景)
|
||
Title *string `gorm:"default:''" json:"title"` // 标题
|
||
Name *string `gorm:"default:''" json:"name"` // 详情页展示名称
|
||
ModelInfo *string `gorm:"default:''" json:"model_info"` // 模型详情
|
||
MaterialId *int64 `gorm:"default:0" json:"material_id"` // 材质ID
|
||
SizeId *int64 `gorm:"default:0" json:"size_id"` // 尺寸ID
|
||
Sort *int64 `gorm:"default:0" json:"sort"` // 排序
|
||
Light *int64 `gorm:"default:0" json:"light"` // 灯光组
|
||
LightList *string `gorm:"default:''" json:"light_list"` // 灯光备选项
|
||
PartId *int64 `gorm:"default:0" json:"part_id"` // 配件选项id(配件就是模型的id)
|
||
PartList *string `gorm:"default:''" json:"part_list"` // 配件备选项
|
||
Status *int64 `gorm:"default:1" json:"status"` // 状态位 1显示 0删除
|
||
Ctime *int64 `gorm:"default:0" json:"ctime"` // 添加时间
|
||
OptionTemplate *int64 `gorm:"default:0" json:"option_template"` // 配件绑定的公共模板
|
||
Price *int64 `gorm:"default:0" json:"price"` // 仅配件用,配件的价格, 单位:美分
|
||
Sku *string `gorm:"default:''" json:"sku"` // sku
|
||
}
|
||
type FsProductModel3dModel struct {
|
||
db *gorm.DB
|
||
}
|
||
|
||
func NewFsProductModel3dModel(db *gorm.DB) *FsProductModel3dModel {
|
||
return &FsProductModel3dModel{db}
|
||
}
|
||
func (d *FsProductModel3dModel) GetAllByIds(ctx context.Context, ids []int64) (resp []FsProductModel3d, err error) {
|
||
if len(ids) == 0 {
|
||
return
|
||
}
|
||
err = d.db.WithContext(ctx).Model(&FsProductModel3d{}).Where("`id` in (?) and `status` = ?", ids, 1).Find(&resp).Error
|
||
if err != nil {
|
||
return nil, err
|
||
}
|
||
return
|
||
}
|
||
func (d *FsProductModel3dModel) GetAllByIdsTag(ctx context.Context, ids []int64, tag int64) (resp []FsProductModel3d, err error) {
|
||
if len(ids) == 0 {
|
||
return
|
||
}
|
||
err = d.db.WithContext(ctx).Model(&FsProductModel3d{}).Where("`id` in (?) and `status` = ? and `tag` = ?", ids, 1, tag).Find(&resp).Error
|
||
if err != nil {
|
||
return nil, err
|
||
}
|
||
return
|
||
}
|