From a933f0d763daee61788b06345d85d0b06af92e97 Mon Sep 17 00:00:00 2001 From: laodaming <11058467+laudamine@user.noreply.gitee.com> Date: Mon, 5 Jun 2023 10:26:25 +0800 Subject: [PATCH] fix --- model/fsproductpricemodel.go | 24 +++++ model/fsproductpricemodel_gen.go | 123 ++++++++++++++++++++++++++ model/fsproducttemplatev2model.go | 24 +++++ model/fsproducttemplatev2model_gen.go | 105 ++++++++++++++++++++++ model/fstagsmodel.go | 24 +++++ model/fstagsmodel_gen.go | 93 +++++++++++++++++++ 6 files changed, 393 insertions(+) create mode 100755 model/fsproductpricemodel.go create mode 100755 model/fsproductpricemodel_gen.go create mode 100755 model/fsproducttemplatev2model.go create mode 100755 model/fsproducttemplatev2model_gen.go create mode 100755 model/fstagsmodel.go create mode 100755 model/fstagsmodel_gen.go diff --git a/model/fsproductpricemodel.go b/model/fsproductpricemodel.go new file mode 100755 index 00000000..ef9c3d64 --- /dev/null +++ b/model/fsproductpricemodel.go @@ -0,0 +1,24 @@ +package model + +import "github.com/zeromicro/go-zero/core/stores/sqlx" + +var _ FsProductPriceModel = (*customFsProductPriceModel)(nil) + +type ( + // FsProductPriceModel is an interface to be customized, add more methods here, + // and implement the added methods in customFsProductPriceModel. + FsProductPriceModel interface { + fsProductPriceModel + } + + customFsProductPriceModel struct { + *defaultFsProductPriceModel + } +) + +// NewFsProductPriceModel returns a model for the database table. +func NewFsProductPriceModel(conn sqlx.SqlConn) FsProductPriceModel { + return &customFsProductPriceModel{ + defaultFsProductPriceModel: newFsProductPriceModel(conn), + } +} diff --git a/model/fsproductpricemodel_gen.go b/model/fsproductpricemodel_gen.go new file mode 100755 index 00000000..f95facf8 --- /dev/null +++ b/model/fsproductpricemodel_gen.go @@ -0,0 +1,123 @@ +// 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 ( + fsProductPriceFieldNames = builder.RawFieldNames(&FsProductPrice{}) + fsProductPriceRows = strings.Join(fsProductPriceFieldNames, ",") + fsProductPriceRowsExpectAutoSet = strings.Join(stringx.Remove(fsProductPriceFieldNames, "`id`", "`create_at`", "`create_time`", "`created_at`", "`update_at`", "`update_time`", "`updated_at`"), ",") + fsProductPriceRowsWithPlaceHolder = strings.Join(stringx.Remove(fsProductPriceFieldNames, "`id`", "`create_at`", "`create_time`", "`created_at`", "`update_at`", "`update_time`", "`updated_at`"), "=?,") + "=?" +) + +type ( + fsProductPriceModel interface { + Insert(ctx context.Context, data *FsProductPrice) (sql.Result, error) + FindOne(ctx context.Context, id int64) (*FsProductPrice, error) + FindOneByProductIdMaterialIdSizeId(ctx context.Context, productId int64, materialId int64, sizeId int64) (*FsProductPrice, error) + Update(ctx context.Context, data *FsProductPrice) error + Delete(ctx context.Context, id int64) error + GetPriceList(ctx context.Context, productIds []string) ([]GetPriceListRsp, error) + } + + defaultFsProductPriceModel struct { + conn sqlx.SqlConn + table string + } + + FsProductPrice struct { + Id int64 `db:"id"` + Sn string `db:"sn"` // 唯一编码 + Title string `db:"title"` // 标题描述 + ProductId int64 `db:"product_id"` // 产品ID + MaterialId int64 `db:"material_id"` // 材质ID + SizeId int64 `db:"size_id"` // 尺寸ID + EachBoxNum int64 `db:"each_box_num"` // 每一箱的个数 + EachBoxWeight float64 `db:"each_box_weight"` // 每一箱的重量 单位KG + MinBuyNum int64 `db:"min_buy_num"` // 最少购买量 + StepNum string `db:"step_num"` // 数量阶梯 eg:10,20,30 + StepPrice string `db:"step_price"` // 价格阶梯 eg:100,50,25 + Status int64 `db:"status"` // 是否可用 + IsDefault int64 `db:"is_default"` // 是否默认 + } +) + +func newFsProductPriceModel(conn sqlx.SqlConn) *defaultFsProductPriceModel { + return &defaultFsProductPriceModel{ + conn: conn, + table: "`fs_product_price`", + } +} + +func (m *defaultFsProductPriceModel) 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 *defaultFsProductPriceModel) FindOne(ctx context.Context, id int64) (*FsProductPrice, error) { + query := fmt.Sprintf("select %s from %s where `id` = ? limit 1", fsProductPriceRows, m.table) + var resp FsProductPrice + 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 *defaultFsProductPriceModel) FindOneByProductIdMaterialIdSizeId(ctx context.Context, productId int64, materialId int64, sizeId int64) (*FsProductPrice, error) { + var resp FsProductPrice + query := fmt.Sprintf("select %s from %s where `product_id` = ? and `material_id` = ? and `size_id` = ? limit 1", fsProductPriceRows, m.table) + err := m.conn.QueryRowCtx(ctx, &resp, query, productId, materialId, sizeId) + switch err { + case nil: + return &resp, nil + case sqlc.ErrNotFound: + return nil, ErrNotFound + default: + return nil, err + } +} + +func (m *defaultFsProductPriceModel) Insert(ctx context.Context, data *FsProductPrice) (sql.Result, error) { + query := fmt.Sprintf("insert into %s (%s) values (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)", m.table, fsProductPriceRowsExpectAutoSet) + ret, err := m.conn.ExecCtx(ctx, query, data.Sn, data.Title, data.ProductId, data.MaterialId, data.SizeId, data.EachBoxNum, data.EachBoxWeight, data.MinBuyNum, data.StepNum, data.StepPrice, data.Status, data.IsDefault) + return ret, err +} + +func (m *defaultFsProductPriceModel) Update(ctx context.Context, newData *FsProductPrice) error { + query := fmt.Sprintf("update %s set %s where `id` = ?", m.table, fsProductPriceRowsWithPlaceHolder) + _, err := m.conn.ExecCtx(ctx, query, newData.Sn, newData.Title, newData.ProductId, newData.MaterialId, newData.SizeId, newData.EachBoxNum, newData.EachBoxWeight, newData.MinBuyNum, newData.StepNum, newData.StepPrice, newData.Status, newData.IsDefault, newData.Id) + return err +} + +type GetPriceListRsp struct { + ProductId int64 `json:"product_id"` + Price string `json:"price"` +} + +func (m *defaultFsProductPriceModel) GetPriceList(ctx context.Context, productIds []string) (resp []GetPriceListRsp, err error) { + query := fmt.Sprintf("select %s from %s where `product_id` in (?) and `status` = ? group by product_id", "product_id,group_concat(step_price) as price ", m.table) + if err = m.conn.QueryRowsCtx(ctx, &resp, query, strings.Join(productIds, ","), 1); err != nil { + return nil, err + } + return +} +func (m *defaultFsProductPriceModel) tableName() string { + return m.table +} diff --git a/model/fsproducttemplatev2model.go b/model/fsproducttemplatev2model.go new file mode 100755 index 00000000..6315c103 --- /dev/null +++ b/model/fsproducttemplatev2model.go @@ -0,0 +1,24 @@ +package model + +import "github.com/zeromicro/go-zero/core/stores/sqlx" + +var _ FsProductTemplateV2Model = (*customFsProductTemplateV2Model)(nil) + +type ( + // FsProductTemplateV2Model is an interface to be customized, add more methods here, + // and implement the added methods in customFsProductTemplateV2Model. + FsProductTemplateV2Model interface { + fsProductTemplateV2Model + } + + customFsProductTemplateV2Model struct { + *defaultFsProductTemplateV2Model + } +) + +// NewFsProductTemplateV2Model returns a model for the database table. +func NewFsProductTemplateV2Model(conn sqlx.SqlConn) FsProductTemplateV2Model { + return &customFsProductTemplateV2Model{ + defaultFsProductTemplateV2Model: newFsProductTemplateV2Model(conn), + } +} diff --git a/model/fsproducttemplatev2model_gen.go b/model/fsproducttemplatev2model_gen.go new file mode 100755 index 00000000..c6b7752a --- /dev/null +++ b/model/fsproducttemplatev2model_gen.go @@ -0,0 +1,105 @@ +// 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 ( + fsProductTemplateV2FieldNames = builder.RawFieldNames(&FsProductTemplateV2{}) + fsProductTemplateV2Rows = strings.Join(fsProductTemplateV2FieldNames, ",") + fsProductTemplateV2RowsExpectAutoSet = strings.Join(stringx.Remove(fsProductTemplateV2FieldNames, "`id`", "`create_at`", "`create_time`", "`created_at`", "`update_at`", "`update_time`", "`updated_at`"), ",") + fsProductTemplateV2RowsWithPlaceHolder = strings.Join(stringx.Remove(fsProductTemplateV2FieldNames, "`id`", "`create_at`", "`create_time`", "`created_at`", "`update_at`", "`update_time`", "`updated_at`"), "=?,") + "=?" +) + +type ( + fsProductTemplateV2Model interface { + Insert(ctx context.Context, data *FsProductTemplateV2) (sql.Result, error) + FindOne(ctx context.Context, id int64) (*FsProductTemplateV2, error) + Update(ctx context.Context, data *FsProductTemplateV2) error + Delete(ctx context.Context, id int64) error + FindAllByCondition(ctx context.Context, productIds []string, isDel int, status int) ([]FsProductTemplateV2, error) + } + + defaultFsProductTemplateV2Model struct { + conn sqlx.SqlConn + table string + } + + FsProductTemplateV2 struct { + Id int64 `db:"id"` + ProductId int64 `db:"product_id"` // 产品ID + ModelId int64 `db:"model_id"` // 模型ID + Title string `db:"title"` // 模板(sku),预留字段 + Name string `db:"name"` // 名称 + CoverImg sql.NullString `db:"cover_img"` // 模板背景图 + TemplateInfo string `db:"template_info"` // 模板详情 + MaterialImg sql.NullString `db:"material_img"` // 合成好的贴图 + Sort int64 `db:"sort"` // 排序 + LogoWidth int64 `db:"logo_width"` // logo图最大宽度 + LogoHeight int64 `db:"logo_height"` // logo图最大高度 + IsPublic int64 `db:"is_public"` // 是否可公用(1:可以,0:不可以) + Status int64 `db:"status"` // 状态1正常 2异常 + Ctime int64 `db:"ctime"` // 添加时间 + Tag string `db:"tag"` // 标签(用户自填) + IsDel int64 `db:"is_del"` // 是否删除 1删除 + } +) + +func newFsProductTemplateV2Model(conn sqlx.SqlConn) *defaultFsProductTemplateV2Model { + return &defaultFsProductTemplateV2Model{ + conn: conn, + table: "`fs_product_template_v2`", + } +} + +func (m *defaultFsProductTemplateV2Model) 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 *defaultFsProductTemplateV2Model) FindOne(ctx context.Context, id int64) (*FsProductTemplateV2, error) { + query := fmt.Sprintf("select %s from %s where `id` = ? limit 1", fsProductTemplateV2Rows, m.table) + var resp FsProductTemplateV2 + 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 *defaultFsProductTemplateV2Model) Insert(ctx context.Context, data *FsProductTemplateV2) (sql.Result, error) { + query := fmt.Sprintf("insert into %s (%s) values (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)", m.table, fsProductTemplateV2RowsExpectAutoSet) + ret, err := m.conn.ExecCtx(ctx, query, data.ProductId, data.ModelId, data.Title, data.Name, data.CoverImg, data.TemplateInfo, data.MaterialImg, data.Sort, data.LogoWidth, data.LogoHeight, data.IsPublic, data.Status, data.Ctime, data.Tag, data.IsDel) + return ret, err +} + +func (m *defaultFsProductTemplateV2Model) Update(ctx context.Context, data *FsProductTemplateV2) error { + query := fmt.Sprintf("update %s set %s where `id` = ?", m.table, fsProductTemplateV2RowsWithPlaceHolder) + _, err := m.conn.ExecCtx(ctx, query, data.ProductId, data.ModelId, data.Title, data.Name, data.CoverImg, data.TemplateInfo, data.MaterialImg, data.Sort, data.LogoWidth, data.LogoHeight, data.IsPublic, data.Status, data.Ctime, data.Tag, data.IsDel, data.Id) + return err +} +func (m *defaultFsProductTemplateV2Model) FindAllByCondition(ctx context.Context, productIds []string, isDel int, status int) (resp []FsProductTemplateV2, err error) { + query := fmt.Sprintf("select %s from %s where `id` in (?) and `is_del` = ? and `status` = ?", fsProductTemplateV2Rows, m.table) + if err = m.conn.QueryRowsCtx(ctx, &resp, query, strings.Join(productIds, ","), isDel, status); err != nil { + return nil, err + } + return +} +func (m *defaultFsProductTemplateV2Model) tableName() string { + return m.table +} diff --git a/model/fstagsmodel.go b/model/fstagsmodel.go new file mode 100755 index 00000000..09704cdc --- /dev/null +++ b/model/fstagsmodel.go @@ -0,0 +1,24 @@ +package model + +import "github.com/zeromicro/go-zero/core/stores/sqlx" + +var _ FsTagsModel = (*customFsTagsModel)(nil) + +type ( + // FsTagsModel is an interface to be customized, add more methods here, + // and implement the added methods in customFsTagsModel. + FsTagsModel interface { + fsTagsModel + } + + customFsTagsModel struct { + *defaultFsTagsModel + } +) + +// NewFsTagsModel returns a model for the database table. +func NewFsTagsModel(conn sqlx.SqlConn) FsTagsModel { + return &customFsTagsModel{ + defaultFsTagsModel: newFsTagsModel(conn), + } +} diff --git a/model/fstagsmodel_gen.go b/model/fstagsmodel_gen.go new file mode 100755 index 00000000..7f3e7455 --- /dev/null +++ b/model/fstagsmodel_gen.go @@ -0,0 +1,93 @@ +// 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 ( + fsTagsFieldNames = builder.RawFieldNames(&FsTags{}) + fsTagsRows = strings.Join(fsTagsFieldNames, ",") + fsTagsRowsExpectAutoSet = strings.Join(stringx.Remove(fsTagsFieldNames, "`id`", "`create_at`", "`create_time`", "`created_at`", "`update_at`", "`update_time`", "`updated_at`"), ",") + fsTagsRowsWithPlaceHolder = strings.Join(stringx.Remove(fsTagsFieldNames, "`id`", "`create_at`", "`create_time`", "`created_at`", "`update_at`", "`update_time`", "`updated_at`"), "=?,") + "=?" +) + +type ( + fsTagsModel interface { + Insert(ctx context.Context, data *FsTags) (sql.Result, error) + FindOne(ctx context.Context, id int64) (*FsTags, error) + Update(ctx context.Context, data *FsTags) error + Delete(ctx context.Context, id int64) error + } + + defaultFsTagsModel struct { + conn sqlx.SqlConn + table string + } + + FsTags struct { + Id int64 `db:"id"` // ID + Title string `db:"title"` // 标题 + Level int64 `db:"level"` // 层级、分类 1 => 二维码分类 + ClickNum int64 `db:"click_num"` // 点击次数 + Sort int64 `db:"sort"` // 排序(从大到小) + CreateAt int64 `db:"create_at"` // 创建时间 + Icon sql.NullString `db:"icon"` // 标签图标 + Status int64 `db:"status"` // 状态 1:可用 + Description string `db:"description"` // 介绍 Seo + RecommendProduct sql.NullString `db:"recommend_product"` // 推荐产品id例如: 1,3,4,5 + RecommendProductSort sql.NullString `db:"recommend_product_sort"` // 推荐排序例如:1324 + } +) + +func newFsTagsModel(conn sqlx.SqlConn) *defaultFsTagsModel { + return &defaultFsTagsModel{ + conn: conn, + table: "`fs_tags`", + } +} + +func (m *defaultFsTagsModel) 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 *defaultFsTagsModel) FindOne(ctx context.Context, id int64) (*FsTags, error) { + query := fmt.Sprintf("select %s from %s where `id` = ? limit 1", fsTagsRows, m.table) + var resp FsTags + 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 *defaultFsTagsModel) Insert(ctx context.Context, data *FsTags) (sql.Result, error) { + query := fmt.Sprintf("insert into %s (%s) values (?, ?, ?, ?, ?, ?, ?, ?, ?)", m.table, fsTagsRowsExpectAutoSet) + ret, err := m.conn.ExecCtx(ctx, query, data.Title, data.Level, data.ClickNum, data.Sort, data.Icon, data.Status, data.Description, data.RecommendProduct, data.RecommendProductSort) + return ret, err +} + +func (m *defaultFsTagsModel) Update(ctx context.Context, data *FsTags) error { + query := fmt.Sprintf("update %s set %s where `id` = ?", m.table, fsTagsRowsWithPlaceHolder) + _, err := m.conn.ExecCtx(ctx, query, data.Title, data.Level, data.ClickNum, data.Sort, data.Icon, data.Status, data.Description, data.RecommendProduct, data.RecommendProductSort, data.Id) + return err +} + +func (m *defaultFsTagsModel) tableName() string { + return m.table +}