127 lines
6.3 KiB
Go
Executable File
127 lines
6.3 KiB
Go
Executable File
// Code generated by goctl. DO NOT EDIT.
|
|
|
|
package model
|
|
|
|
import (
|
|
"context"
|
|
"database/sql"
|
|
"fmt"
|
|
"strings"
|
|
|
|
"github.com/zeromicro/go-zero/core/stores/builder"
|
|
"github.com/zeromicro/go-zero/core/stores/sqlc"
|
|
"github.com/zeromicro/go-zero/core/stores/sqlx"
|
|
"github.com/zeromicro/go-zero/core/stringx"
|
|
)
|
|
|
|
var (
|
|
fsProductFieldNames = builder.RawFieldNames(&FsProduct{})
|
|
fsProductRows = strings.Join(fsProductFieldNames, ",")
|
|
fsProductRowsExpectAutoSet = strings.Join(stringx.Remove(fsProductFieldNames, "`id`", "`create_at`", "`create_time`", "`created_at`", "`update_at`", "`update_time`", "`updated_at`"), ",")
|
|
fsProductRowsWithPlaceHolder = strings.Join(stringx.Remove(fsProductFieldNames, "`id`", "`create_at`", "`create_time`", "`created_at`", "`update_at`", "`update_time`", "`updated_at`"), "=?,") + "=?"
|
|
)
|
|
|
|
type (
|
|
fsProductModel interface {
|
|
Insert(ctx context.Context, data *FsProduct) (sql.Result, error)
|
|
FindOne(ctx context.Context, id int64) (*FsProduct, error)
|
|
FindOneBySn(ctx context.Context, sn string) (*FsProduct, error)
|
|
Update(ctx context.Context, data *FsProduct) error
|
|
Delete(ctx context.Context, id int64) error
|
|
}
|
|
|
|
defaultFsProductModel struct {
|
|
conn sqlx.SqlConn
|
|
table string
|
|
}
|
|
|
|
FsProduct struct {
|
|
Id int64 `db:"id"`
|
|
Sn string `db:"sn"` // 商品编号 P98f087j
|
|
Type int64 `db:"type"` // 分类ID
|
|
Title string `db:"title"` // 名称
|
|
TitleCn string `db:"title_cn"` // 中文名称
|
|
Cover string `db:"cover"` // 封面图
|
|
Imgs string `db:"imgs"` // 一个或多个介绍图或视频
|
|
Keywords string `db:"keywords"` // 关键字
|
|
Intro sql.NullString `db:"intro"` // 简要描述
|
|
Sort int64 `db:"sort"` // 排序
|
|
SelledNum int64 `db:"selled_num"` // 已卖数量
|
|
Ctime sql.NullInt64 `db:"ctime"` // 添加时间
|
|
View int64 `db:"view"` // 浏览量
|
|
SizeIds sql.NullString `db:"size_ids"` // 尺寸 1,2,3,4
|
|
MaterialIds string `db:"material_ids"` // 材质 1,2,3
|
|
TagIds sql.NullString `db:"tag_ids"` // 标签 逗号间隔
|
|
Status int64 `db:"status"` // 状态位 弃用
|
|
ProduceDays int64 `db:"produce_days"` // 生产天数
|
|
DeliveryDays int64 `db:"delivery_days"` // 运送天数
|
|
CoverImg string `db:"cover_img"` // 背景图
|
|
IsShelf int64 `db:"is_shelf"` // 是否上架
|
|
IsRecommend int64 `db:"is_recommend"` // 是否推荐
|
|
IsHot int64 `db:"is_hot"` // 是否热销
|
|
IsProtection int64 `db:"is_protection"` // 是否环保
|
|
IsMicrowave int64 `db:"is_microwave"` // 是否可微波炉
|
|
IsDel int64 `db:"is_del"` // 是否删除
|
|
RecommendProduct sql.NullString `db:"recommend_product"` // 推荐产品id例如: 1,3,4,5
|
|
RecommendProductSort sql.NullString `db:"recommend_product_sort"` // 推荐排序例如:1324
|
|
SceneIds sql.NullString `db:"scene_ids"` // 关联的场景id
|
|
}
|
|
)
|
|
|
|
func newFsProductModel(conn sqlx.SqlConn) *defaultFsProductModel {
|
|
return &defaultFsProductModel{
|
|
conn: conn,
|
|
table: "`fs_product`",
|
|
}
|
|
}
|
|
|
|
func (m *defaultFsProductModel) Delete(ctx context.Context, id int64) error {
|
|
query := fmt.Sprintf("delete from %s where `id` = ?", m.table)
|
|
_, err := m.conn.ExecCtx(ctx, query, id)
|
|
return err
|
|
}
|
|
|
|
func (m *defaultFsProductModel) FindOne(ctx context.Context, id int64) (*FsProduct, error) {
|
|
query := fmt.Sprintf("select %s from %s where `id` = ? limit 1", fsProductRows, m.table)
|
|
var resp FsProduct
|
|
err := m.conn.QueryRowCtx(ctx, &resp, query, id)
|
|
switch err {
|
|
case nil:
|
|
return &resp, nil
|
|
case sqlc.ErrNotFound:
|
|
return nil, ErrNotFound
|
|
default:
|
|
return nil, err
|
|
}
|
|
}
|
|
|
|
func (m *defaultFsProductModel) FindOneBySn(ctx context.Context, sn string) (*FsProduct, error) {
|
|
var resp FsProduct
|
|
query := fmt.Sprintf("select %s from %s where `sn` = ? limit 1", fsProductRows, m.table)
|
|
err := m.conn.QueryRowCtx(ctx, &resp, query, sn)
|
|
switch err {
|
|
case nil:
|
|
return &resp, nil
|
|
case sqlc.ErrNotFound:
|
|
return nil, ErrNotFound
|
|
default:
|
|
return nil, err
|
|
}
|
|
}
|
|
|
|
func (m *defaultFsProductModel) Insert(ctx context.Context, data *FsProduct) (sql.Result, error) {
|
|
query := fmt.Sprintf("insert into %s (%s) values (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)", m.table, fsProductRowsExpectAutoSet)
|
|
ret, err := m.conn.ExecCtx(ctx, query, data.Sn, data.Type, data.Title, data.TitleCn, data.Cover, data.Imgs, data.Keywords, data.Intro, data.Sort, data.SelledNum, data.Ctime, data.View, data.SizeIds, data.MaterialIds, data.TagIds, data.Status, data.ProduceDays, data.DeliveryDays, data.CoverImg, data.IsShelf, data.IsRecommend, data.IsHot, data.IsProtection, data.IsMicrowave, data.IsDel, data.RecommendProduct, data.RecommendProductSort, data.SceneIds)
|
|
return ret, err
|
|
}
|
|
|
|
func (m *defaultFsProductModel) Update(ctx context.Context, newData *FsProduct) error {
|
|
query := fmt.Sprintf("update %s set %s where `id` = ?", m.table, fsProductRowsWithPlaceHolder)
|
|
_, err := m.conn.ExecCtx(ctx, query, newData.Sn, newData.Type, newData.Title, newData.TitleCn, newData.Cover, newData.Imgs, newData.Keywords, newData.Intro, newData.Sort, newData.SelledNum, newData.Ctime, newData.View, newData.SizeIds, newData.MaterialIds, newData.TagIds, newData.Status, newData.ProduceDays, newData.DeliveryDays, newData.CoverImg, newData.IsShelf, newData.IsRecommend, newData.IsHot, newData.IsProtection, newData.IsMicrowave, newData.IsDel, newData.RecommendProduct, newData.RecommendProductSort, newData.SceneIds, newData.Id)
|
|
return err
|
|
}
|
|
|
|
func (m *defaultFsProductModel) tableName() string {
|
|
return m.table
|
|
}
|