Merge branch 'develop' of https://gitee.com/fusenpack/fusenapi into develop
This commit is contained in:
24
model/fsmaplibrarymodel.go
Executable file
24
model/fsmaplibrarymodel.go
Executable file
@@ -0,0 +1,24 @@
|
||||
package model
|
||||
|
||||
import "github.com/zeromicro/go-zero/core/stores/sqlx"
|
||||
|
||||
var _ FsMapLibraryModel = (*customFsMapLibraryModel)(nil)
|
||||
|
||||
type (
|
||||
// FsMapLibraryModel is an interface to be customized, add more methods here,
|
||||
// and implement the added methods in customFsMapLibraryModel.
|
||||
FsMapLibraryModel interface {
|
||||
fsMapLibraryModel
|
||||
}
|
||||
|
||||
customFsMapLibraryModel struct {
|
||||
*defaultFsMapLibraryModel
|
||||
}
|
||||
)
|
||||
|
||||
// NewFsMapLibraryModel returns a model for the database table.
|
||||
func NewFsMapLibraryModel(conn sqlx.SqlConn) FsMapLibraryModel {
|
||||
return &customFsMapLibraryModel{
|
||||
defaultFsMapLibraryModel: newFsMapLibraryModel(conn),
|
||||
}
|
||||
}
|
||||
89
model/fsmaplibrarymodel_gen.go
Executable file
89
model/fsmaplibrarymodel_gen.go
Executable file
@@ -0,0 +1,89 @@
|
||||
// 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 (
|
||||
fsMapLibraryFieldNames = builder.RawFieldNames(&FsMapLibrary{})
|
||||
fsMapLibraryRows = strings.Join(fsMapLibraryFieldNames, ",")
|
||||
fsMapLibraryRowsExpectAutoSet = strings.Join(stringx.Remove(fsMapLibraryFieldNames, "`id`", "`create_at`", "`create_time`", "`created_at`", "`update_at`", "`update_time`", "`updated_at`"), ",")
|
||||
fsMapLibraryRowsWithPlaceHolder = strings.Join(stringx.Remove(fsMapLibraryFieldNames, "`id`", "`create_at`", "`create_time`", "`created_at`", "`update_at`", "`update_time`", "`updated_at`"), "=?,") + "=?"
|
||||
)
|
||||
|
||||
type (
|
||||
fsMapLibraryModel interface {
|
||||
Insert(ctx context.Context, data *FsMapLibrary) (sql.Result, error)
|
||||
FindOne(ctx context.Context, id int64) (*FsMapLibrary, error)
|
||||
Update(ctx context.Context, data *FsMapLibrary) error
|
||||
Delete(ctx context.Context, id int64) error
|
||||
}
|
||||
|
||||
defaultFsMapLibraryModel struct {
|
||||
conn sqlx.SqlConn
|
||||
table string
|
||||
}
|
||||
|
||||
FsMapLibrary struct {
|
||||
Id int64 `db:"id"` // Id
|
||||
Title string `db:"title"` // 名称
|
||||
Info string `db:"info"` // 贴图数据
|
||||
Sort int64 `db:"sort"` // 排序
|
||||
Status int64 `db:"status"` // 状态 1启用
|
||||
Ctime int64 `db:"ctime"` // 创建时间
|
||||
TagId int64 `db:"tag_id"` // 模板标签id
|
||||
}
|
||||
)
|
||||
|
||||
func newFsMapLibraryModel(conn sqlx.SqlConn) *defaultFsMapLibraryModel {
|
||||
return &defaultFsMapLibraryModel{
|
||||
conn: conn,
|
||||
table: "`fs_map_library`",
|
||||
}
|
||||
}
|
||||
|
||||
func (m *defaultFsMapLibraryModel) 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 *defaultFsMapLibraryModel) FindOne(ctx context.Context, id int64) (*FsMapLibrary, error) {
|
||||
query := fmt.Sprintf("select %s from %s where `id` = ? limit 1", fsMapLibraryRows, m.table)
|
||||
var resp FsMapLibrary
|
||||
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 *defaultFsMapLibraryModel) Insert(ctx context.Context, data *FsMapLibrary) (sql.Result, error) {
|
||||
query := fmt.Sprintf("insert into %s (%s) values (?, ?, ?, ?, ?, ?)", m.table, fsMapLibraryRowsExpectAutoSet)
|
||||
ret, err := m.conn.ExecCtx(ctx, query, data.Title, data.Info, data.Sort, data.Status, data.Ctime, data.TagId)
|
||||
return ret, err
|
||||
}
|
||||
|
||||
func (m *defaultFsMapLibraryModel) Update(ctx context.Context, data *FsMapLibrary) error {
|
||||
query := fmt.Sprintf("update %s set %s where `id` = ?", m.table, fsMapLibraryRowsWithPlaceHolder)
|
||||
_, err := m.conn.ExecCtx(ctx, query, data.Title, data.Info, data.Sort, data.Status, data.Ctime, data.TagId, data.Id)
|
||||
return err
|
||||
}
|
||||
|
||||
func (m *defaultFsMapLibraryModel) tableName() string {
|
||||
return m.table
|
||||
}
|
||||
24
model/fsorderdetailmodel.go
Executable file
24
model/fsorderdetailmodel.go
Executable file
@@ -0,0 +1,24 @@
|
||||
package model
|
||||
|
||||
import "github.com/zeromicro/go-zero/core/stores/sqlx"
|
||||
|
||||
var _ FsOrderDetailModel = (*customFsOrderDetailModel)(nil)
|
||||
|
||||
type (
|
||||
// FsOrderDetailModel is an interface to be customized, add more methods here,
|
||||
// and implement the added methods in customFsOrderDetailModel.
|
||||
FsOrderDetailModel interface {
|
||||
fsOrderDetailModel
|
||||
}
|
||||
|
||||
customFsOrderDetailModel struct {
|
||||
*defaultFsOrderDetailModel
|
||||
}
|
||||
)
|
||||
|
||||
// NewFsOrderDetailModel returns a model for the database table.
|
||||
func NewFsOrderDetailModel(conn sqlx.SqlConn) FsOrderDetailModel {
|
||||
return &customFsOrderDetailModel{
|
||||
defaultFsOrderDetailModel: newFsOrderDetailModel(conn),
|
||||
}
|
||||
}
|
||||
121
model/fsorderdetailmodel_gen.go
Executable file
121
model/fsorderdetailmodel_gen.go
Executable file
@@ -0,0 +1,121 @@
|
||||
// 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 (
|
||||
fsOrderDetailFieldNames = builder.RawFieldNames(&FsOrderDetail{})
|
||||
fsOrderDetailRows = strings.Join(fsOrderDetailFieldNames, ",")
|
||||
fsOrderDetailRowsExpectAutoSet = strings.Join(stringx.Remove(fsOrderDetailFieldNames, "`id`", "`create_at`", "`create_time`", "`created_at`", "`update_at`", "`update_time`", "`updated_at`"), ",")
|
||||
fsOrderDetailRowsWithPlaceHolder = strings.Join(stringx.Remove(fsOrderDetailFieldNames, "`id`", "`create_at`", "`create_time`", "`created_at`", "`update_at`", "`update_time`", "`updated_at`"), "=?,") + "=?"
|
||||
)
|
||||
|
||||
type (
|
||||
fsOrderDetailModel interface {
|
||||
Insert(ctx context.Context, data *FsOrderDetail) (sql.Result, error)
|
||||
FindOne(ctx context.Context, id int64) (*FsOrderDetail, error)
|
||||
FindOneBySn(ctx context.Context, sn string) (*FsOrderDetail, error)
|
||||
Update(ctx context.Context, data *FsOrderDetail) error
|
||||
Delete(ctx context.Context, id int64) error
|
||||
}
|
||||
|
||||
defaultFsOrderDetailModel struct {
|
||||
conn sqlx.SqlConn
|
||||
table string
|
||||
}
|
||||
|
||||
FsOrderDetail struct {
|
||||
Id int64 `db:"id"`
|
||||
Sn string `db:"sn"` // 唯一编码
|
||||
OrderId int64 `db:"order_id"` // 订单ID
|
||||
UserId sql.NullInt64 `db:"user_id"` // 用户ID
|
||||
FactoryId int64 `db:"factory_id"` // 工厂ID
|
||||
OrderDetailTemplateId int64 `db:"order_detail_template_id"` // 详情templateID
|
||||
ProductId int64 `db:"product_id"` // 产品ID
|
||||
BuyNum int64 `db:"buy_num"` // 购买数量
|
||||
PushNum int64 `db:"push_num"` // 已发数量
|
||||
Amount int64 `db:"amount"` // 单价
|
||||
Cover string `db:"cover"` // 截图
|
||||
Ctime int64 `db:"ctime"` // 添加时间
|
||||
Status int64 `db:"status"` // 状态位 是否推送到厂家 是否生产完成 是否发货完成
|
||||
OptionalId int64 `db:"optional_id"` // 选项ID
|
||||
OptionalTitle string `db:"optional_title"` // 选项名称
|
||||
OptionPrice int64 `db:"option_price"` // 配件价格
|
||||
IsTofactory int64 `db:"is_tofactory"` // 是否推送到工厂
|
||||
IsProduct int64 `db:"is_product"` // 是否生产中
|
||||
IsProductCompletion int64 `db:"is_product_completion"` // 是否生产完成
|
||||
IsCloud int64 `db:"is_cloud"` // 是否是云仓订单
|
||||
IsTocloud int64 `db:"is_tocloud"` // 是否已发云仓(云仓单要发货到云仓,直接发到用户的不需要发到云仓)
|
||||
IsDeliver int64 `db:"is_deliver"` // 是否已发货
|
||||
IsEnd int64 `db:"is_end"` // 是否完成订单(签收)
|
||||
CartId int64 `db:"cart_id"` // 购物车编号
|
||||
}
|
||||
)
|
||||
|
||||
func newFsOrderDetailModel(conn sqlx.SqlConn) *defaultFsOrderDetailModel {
|
||||
return &defaultFsOrderDetailModel{
|
||||
conn: conn,
|
||||
table: "`fs_order_detail`",
|
||||
}
|
||||
}
|
||||
|
||||
func (m *defaultFsOrderDetailModel) 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 *defaultFsOrderDetailModel) FindOne(ctx context.Context, id int64) (*FsOrderDetail, error) {
|
||||
query := fmt.Sprintf("select %s from %s where `id` = ? limit 1", fsOrderDetailRows, m.table)
|
||||
var resp FsOrderDetail
|
||||
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 *defaultFsOrderDetailModel) FindOneBySn(ctx context.Context, sn string) (*FsOrderDetail, error) {
|
||||
var resp FsOrderDetail
|
||||
query := fmt.Sprintf("select %s from %s where `sn` = ? limit 1", fsOrderDetailRows, 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 *defaultFsOrderDetailModel) Insert(ctx context.Context, data *FsOrderDetail) (sql.Result, error) {
|
||||
query := fmt.Sprintf("insert into %s (%s) values (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)", m.table, fsOrderDetailRowsExpectAutoSet)
|
||||
ret, err := m.conn.ExecCtx(ctx, query, data.Sn, data.OrderId, data.UserId, data.FactoryId, data.OrderDetailTemplateId, data.ProductId, data.BuyNum, data.PushNum, data.Amount, data.Cover, data.Ctime, data.Status, data.OptionalId, data.OptionalTitle, data.OptionPrice, data.IsTofactory, data.IsProduct, data.IsProductCompletion, data.IsCloud, data.IsTocloud, data.IsDeliver, data.IsEnd, data.CartId)
|
||||
return ret, err
|
||||
}
|
||||
|
||||
func (m *defaultFsOrderDetailModel) Update(ctx context.Context, newData *FsOrderDetail) error {
|
||||
query := fmt.Sprintf("update %s set %s where `id` = ?", m.table, fsOrderDetailRowsWithPlaceHolder)
|
||||
_, err := m.conn.ExecCtx(ctx, query, newData.Sn, newData.OrderId, newData.UserId, newData.FactoryId, newData.OrderDetailTemplateId, newData.ProductId, newData.BuyNum, newData.PushNum, newData.Amount, newData.Cover, newData.Ctime, newData.Status, newData.OptionalId, newData.OptionalTitle, newData.OptionPrice, newData.IsTofactory, newData.IsProduct, newData.IsProductCompletion, newData.IsCloud, newData.IsTocloud, newData.IsDeliver, newData.IsEnd, newData.CartId, newData.Id)
|
||||
return err
|
||||
}
|
||||
|
||||
func (m *defaultFsOrderDetailModel) tableName() string {
|
||||
return m.table
|
||||
}
|
||||
24
model/fsorderdetailtemplatemodel.go
Executable file
24
model/fsorderdetailtemplatemodel.go
Executable file
@@ -0,0 +1,24 @@
|
||||
package model
|
||||
|
||||
import "github.com/zeromicro/go-zero/core/stores/sqlx"
|
||||
|
||||
var _ FsOrderDetailTemplateModel = (*customFsOrderDetailTemplateModel)(nil)
|
||||
|
||||
type (
|
||||
// FsOrderDetailTemplateModel is an interface to be customized, add more methods here,
|
||||
// and implement the added methods in customFsOrderDetailTemplateModel.
|
||||
FsOrderDetailTemplateModel interface {
|
||||
fsOrderDetailTemplateModel
|
||||
}
|
||||
|
||||
customFsOrderDetailTemplateModel struct {
|
||||
*defaultFsOrderDetailTemplateModel
|
||||
}
|
||||
)
|
||||
|
||||
// NewFsOrderDetailTemplateModel returns a model for the database table.
|
||||
func NewFsOrderDetailTemplateModel(conn sqlx.SqlConn) FsOrderDetailTemplateModel {
|
||||
return &customFsOrderDetailTemplateModel{
|
||||
defaultFsOrderDetailTemplateModel: newFsOrderDetailTemplateModel(conn),
|
||||
}
|
||||
}
|
||||
108
model/fsorderdetailtemplatemodel_gen.go
Executable file
108
model/fsorderdetailtemplatemodel_gen.go
Executable file
@@ -0,0 +1,108 @@
|
||||
// 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 (
|
||||
fsOrderDetailTemplateFieldNames = builder.RawFieldNames(&FsOrderDetailTemplate{})
|
||||
fsOrderDetailTemplateRows = strings.Join(fsOrderDetailTemplateFieldNames, ",")
|
||||
fsOrderDetailTemplateRowsExpectAutoSet = strings.Join(stringx.Remove(fsOrderDetailTemplateFieldNames, "`id`", "`create_at`", "`create_time`", "`created_at`", "`update_at`", "`update_time`", "`updated_at`"), ",")
|
||||
fsOrderDetailTemplateRowsWithPlaceHolder = strings.Join(stringx.Remove(fsOrderDetailTemplateFieldNames, "`id`", "`create_at`", "`create_time`", "`created_at`", "`update_at`", "`update_time`", "`updated_at`"), "=?,") + "=?"
|
||||
)
|
||||
|
||||
type (
|
||||
fsOrderDetailTemplateModel interface {
|
||||
Insert(ctx context.Context, data *FsOrderDetailTemplate) (sql.Result, error)
|
||||
FindOne(ctx context.Context, id int64) (*FsOrderDetailTemplate, error)
|
||||
FindOneBySn(ctx context.Context, sn string) (*FsOrderDetailTemplate, error)
|
||||
Update(ctx context.Context, data *FsOrderDetailTemplate) error
|
||||
Delete(ctx context.Context, id int64) error
|
||||
}
|
||||
|
||||
defaultFsOrderDetailTemplateModel struct {
|
||||
conn sqlx.SqlConn
|
||||
table string
|
||||
}
|
||||
|
||||
FsOrderDetailTemplate struct {
|
||||
Id int64 `db:"id"`
|
||||
Sn string `db:"sn"` // 唯一编码
|
||||
ProductId int64 `db:"product_id"` // 产品ID
|
||||
ModelId int64 `db:"model_id"` // 模型ID
|
||||
TemplateId int64 `db:"template_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
|
||||
DesignId int64 `db:"design_id"` // 设计ID
|
||||
Ctime sql.NullInt64 `db:"ctime"` // 添加时间
|
||||
}
|
||||
)
|
||||
|
||||
func newFsOrderDetailTemplateModel(conn sqlx.SqlConn) *defaultFsOrderDetailTemplateModel {
|
||||
return &defaultFsOrderDetailTemplateModel{
|
||||
conn: conn,
|
||||
table: "`fs_order_detail_template`",
|
||||
}
|
||||
}
|
||||
|
||||
func (m *defaultFsOrderDetailTemplateModel) 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 *defaultFsOrderDetailTemplateModel) FindOne(ctx context.Context, id int64) (*FsOrderDetailTemplate, error) {
|
||||
query := fmt.Sprintf("select %s from %s where `id` = ? limit 1", fsOrderDetailTemplateRows, m.table)
|
||||
var resp FsOrderDetailTemplate
|
||||
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 *defaultFsOrderDetailTemplateModel) FindOneBySn(ctx context.Context, sn string) (*FsOrderDetailTemplate, error) {
|
||||
var resp FsOrderDetailTemplate
|
||||
query := fmt.Sprintf("select %s from %s where `sn` = ? limit 1", fsOrderDetailTemplateRows, 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 *defaultFsOrderDetailTemplateModel) Insert(ctx context.Context, data *FsOrderDetailTemplate) (sql.Result, error) {
|
||||
query := fmt.Sprintf("insert into %s (%s) values (?, ?, ?, ?, ?, ?, ?, ?, ?, ?)", m.table, fsOrderDetailTemplateRowsExpectAutoSet)
|
||||
ret, err := m.conn.ExecCtx(ctx, query, data.Sn, data.ProductId, data.ModelId, data.TemplateId, data.MaterialId, data.SizeId, data.EachBoxNum, data.EachBoxWeight, data.DesignId, data.Ctime)
|
||||
return ret, err
|
||||
}
|
||||
|
||||
func (m *defaultFsOrderDetailTemplateModel) Update(ctx context.Context, newData *FsOrderDetailTemplate) error {
|
||||
query := fmt.Sprintf("update %s set %s where `id` = ?", m.table, fsOrderDetailTemplateRowsWithPlaceHolder)
|
||||
_, err := m.conn.ExecCtx(ctx, query, newData.Sn, newData.ProductId, newData.ModelId, newData.TemplateId, newData.MaterialId, newData.SizeId, newData.EachBoxNum, newData.EachBoxWeight, newData.DesignId, newData.Ctime, newData.Id)
|
||||
return err
|
||||
}
|
||||
|
||||
func (m *defaultFsOrderDetailTemplateModel) tableName() string {
|
||||
return m.table
|
||||
}
|
||||
24
model/fsordermodel.go
Executable file
24
model/fsordermodel.go
Executable file
@@ -0,0 +1,24 @@
|
||||
package model
|
||||
|
||||
import "github.com/zeromicro/go-zero/core/stores/sqlx"
|
||||
|
||||
var _ FsOrderModel = (*customFsOrderModel)(nil)
|
||||
|
||||
type (
|
||||
// FsOrderModel is an interface to be customized, add more methods here,
|
||||
// and implement the added methods in customFsOrderModel.
|
||||
FsOrderModel interface {
|
||||
fsOrderModel
|
||||
}
|
||||
|
||||
customFsOrderModel struct {
|
||||
*defaultFsOrderModel
|
||||
}
|
||||
)
|
||||
|
||||
// NewFsOrderModel returns a model for the database table.
|
||||
func NewFsOrderModel(conn sqlx.SqlConn) FsOrderModel {
|
||||
return &customFsOrderModel{
|
||||
defaultFsOrderModel: newFsOrderModel(conn),
|
||||
}
|
||||
}
|
||||
134
model/fsordermodel_gen.go
Executable file
134
model/fsordermodel_gen.go
Executable file
@@ -0,0 +1,134 @@
|
||||
// Code generated by goctl. DO NOT EDIT.
|
||||
|
||||
package model
|
||||
|
||||
import (
|
||||
"context"
|
||||
"database/sql"
|
||||
"fmt"
|
||||
"strings"
|
||||
"time"
|
||||
|
||||
"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 (
|
||||
fsOrderFieldNames = builder.RawFieldNames(&FsOrder{})
|
||||
fsOrderRows = strings.Join(fsOrderFieldNames, ",")
|
||||
fsOrderRowsExpectAutoSet = strings.Join(stringx.Remove(fsOrderFieldNames, "`id`", "`create_at`", "`create_time`", "`created_at`", "`update_at`", "`update_time`", "`updated_at`"), ",")
|
||||
fsOrderRowsWithPlaceHolder = strings.Join(stringx.Remove(fsOrderFieldNames, "`id`", "`create_at`", "`create_time`", "`created_at`", "`update_at`", "`update_time`", "`updated_at`"), "=?,") + "=?"
|
||||
)
|
||||
|
||||
type (
|
||||
fsOrderModel interface {
|
||||
Insert(ctx context.Context, data *FsOrder) (sql.Result, error)
|
||||
FindOne(ctx context.Context, id int64) (*FsOrder, error)
|
||||
FindOneBySn(ctx context.Context, sn string) (*FsOrder, error)
|
||||
Update(ctx context.Context, data *FsOrder) error
|
||||
Delete(ctx context.Context, id int64) error
|
||||
}
|
||||
|
||||
defaultFsOrderModel struct {
|
||||
conn sqlx.SqlConn
|
||||
table string
|
||||
}
|
||||
|
||||
FsOrder struct {
|
||||
Id int64 `db:"id"`
|
||||
Sn string `db:"sn"` // 订单编号 FS211224OL2XDKNP
|
||||
UserId sql.NullInt64 `db:"user_id"` // 用户ID
|
||||
SellerUserId sql.NullInt64 `db:"seller_user_id"` // 销售员ID 0:自主下单
|
||||
TotalAmount int64 `db:"total_amount"` // 总价
|
||||
PayedAmount int64 `db:"payed_amount"` // 已支付金额
|
||||
PayMethod int64 `db:"pay_method"` // 支付方式 1paypal 2strip
|
||||
Ctime sql.NullInt64 `db:"ctime"` // 添加时间
|
||||
Utime sql.NullInt64 `db:"utime"` // 更新时间
|
||||
Ptime sql.NullInt64 `db:"ptime"` // 最后一次 支付时间(可能多次支付)
|
||||
AddressId int64 `db:"address_id"` // 地址ID或者云仓ID
|
||||
DeliveryMethod int64 `db:"delivery_method"` // 配送方式 1:直接发货到收获地址 2:云仓
|
||||
CustomerMark sql.NullString `db:"customer_mark"` // 客户备注
|
||||
Mark sql.NullString `db:"mark"` // 后台订单备注
|
||||
AddressInfo sql.NullString `db:"address_info"` // 详细地址信息JSON
|
||||
IsSup int64 `db:"is_sup"` // 0不是补货 1是补货
|
||||
Status int64 `db:"status"` // 状态位(0:未支付,1:部分支付,2:支付完成,3:部分生产,4:部分生产完成,5:全部生产,6:全部生产完成,7:部分发货,8:发货完成,9:完成订单,10:取消订单,11:退款中,12:退款完成,13:订单已删除,14:订单已关闭)
|
||||
IsPartPay int64 `db:"is_part_pay"` // 是否部分支付(0:否,1:是)
|
||||
IsPayCompleted int64 `db:"is_pay_completed"` // 是否支付完成(0:否,1:是)
|
||||
IsPartProduct int64 `db:"is_part_product"` // 是否部分生产(0:否,1:是)
|
||||
IsPartProductCompleted int64 `db:"is_part_product_completed"` // 是否部分生产完成(0:否,1:是)
|
||||
IsAllProduct int64 `db:"is_all_product"` // 是否全部生产(0:否,1:是)
|
||||
IsAllProductCompleted int64 `db:"is_all_product_completed"` // 是否全部生产完成(0:否,1:是)
|
||||
IsPartDelivery int64 `db:"is_part_delivery"` // 是否部分发货(0:否,1:是)
|
||||
IsDeliveryCompleted int64 `db:"is_delivery_completed"` // 是否发货完成(0:否,1:是)
|
||||
IsComplated int64 `db:"is_complated"` // 是否完成订单(0:否,1:是)
|
||||
IsCancel int64 `db:"is_cancel"` // 是否取消订单(0:否,1:是)
|
||||
IsRefunding int64 `db:"is_refunding"` // 是否退款中(0:否,1:是)
|
||||
IsRefunded int64 `db:"is_refunded"` // 是否退款完成(0:否,1:是)
|
||||
IsDeleted int64 `db:"is_deleted"` // 是否删除(0:否,1:是)
|
||||
RefundReasonId sql.NullInt64 `db:"refund_reason_id"` // 取消订单原因ID
|
||||
RefundReason sql.NullString `db:"refund_reason"` // 取消订单原因
|
||||
TsTime time.Time `db:"ts_time"`
|
||||
IsSure int64 `db:"is_sure"` // 是否确认订单 1确认0未确认
|
||||
DeliverSn string `db:"deliver_sn"` // 发货单号
|
||||
EmailTime int64 `db:"email_time"` // 邮件发送时间
|
||||
}
|
||||
)
|
||||
|
||||
func newFsOrderModel(conn sqlx.SqlConn) *defaultFsOrderModel {
|
||||
return &defaultFsOrderModel{
|
||||
conn: conn,
|
||||
table: "`fs_order`",
|
||||
}
|
||||
}
|
||||
|
||||
func (m *defaultFsOrderModel) 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 *defaultFsOrderModel) FindOne(ctx context.Context, id int64) (*FsOrder, error) {
|
||||
query := fmt.Sprintf("select %s from %s where `id` = ? limit 1", fsOrderRows, m.table)
|
||||
var resp FsOrder
|
||||
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 *defaultFsOrderModel) FindOneBySn(ctx context.Context, sn string) (*FsOrder, error) {
|
||||
var resp FsOrder
|
||||
query := fmt.Sprintf("select %s from %s where `sn` = ? limit 1", fsOrderRows, 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 *defaultFsOrderModel) Insert(ctx context.Context, data *FsOrder) (sql.Result, error) {
|
||||
query := fmt.Sprintf("insert into %s (%s) values (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)", m.table, fsOrderRowsExpectAutoSet)
|
||||
ret, err := m.conn.ExecCtx(ctx, query, data.Sn, data.UserId, data.SellerUserId, data.TotalAmount, data.PayedAmount, data.PayMethod, data.Ctime, data.Utime, data.Ptime, data.AddressId, data.DeliveryMethod, data.CustomerMark, data.Mark, data.AddressInfo, data.IsSup, data.Status, data.IsPartPay, data.IsPayCompleted, data.IsPartProduct, data.IsPartProductCompleted, data.IsAllProduct, data.IsAllProductCompleted, data.IsPartDelivery, data.IsDeliveryCompleted, data.IsComplated, data.IsCancel, data.IsRefunding, data.IsRefunded, data.IsDeleted, data.RefundReasonId, data.RefundReason, data.TsTime, data.IsSure, data.DeliverSn, data.EmailTime)
|
||||
return ret, err
|
||||
}
|
||||
|
||||
func (m *defaultFsOrderModel) Update(ctx context.Context, newData *FsOrder) error {
|
||||
query := fmt.Sprintf("update %s set %s where `id` = ?", m.table, fsOrderRowsWithPlaceHolder)
|
||||
_, err := m.conn.ExecCtx(ctx, query, newData.Sn, newData.UserId, newData.SellerUserId, newData.TotalAmount, newData.PayedAmount, newData.PayMethod, newData.Ctime, newData.Utime, newData.Ptime, newData.AddressId, newData.DeliveryMethod, newData.CustomerMark, newData.Mark, newData.AddressInfo, newData.IsSup, newData.Status, newData.IsPartPay, newData.IsPayCompleted, newData.IsPartProduct, newData.IsPartProductCompleted, newData.IsAllProduct, newData.IsAllProductCompleted, newData.IsPartDelivery, newData.IsDeliveryCompleted, newData.IsComplated, newData.IsCancel, newData.IsRefunding, newData.IsRefunded, newData.IsDeleted, newData.RefundReasonId, newData.RefundReason, newData.TsTime, newData.IsSure, newData.DeliverSn, newData.EmailTime, newData.Id)
|
||||
return err
|
||||
}
|
||||
|
||||
func (m *defaultFsOrderModel) tableName() string {
|
||||
return m.table
|
||||
}
|
||||
@@ -1,6 +1,10 @@
|
||||
package gmodel
|
||||
|
||||
import "gorm.io/gorm"
|
||||
import (
|
||||
"context"
|
||||
"errors"
|
||||
"gorm.io/gorm"
|
||||
)
|
||||
|
||||
type FsAddress struct {
|
||||
Id int64 `gorm:"primary_key" json:"id"`
|
||||
@@ -26,3 +30,17 @@ type FsAddressModel struct {
|
||||
func NewFsAddressModel(db *gorm.DB) *FsAddressModel {
|
||||
return &FsAddressModel{db}
|
||||
}
|
||||
func (a *FsAddressModel) GetOne(ctx context.Context, id int64, userId int64) (resp FsAddress, err error) {
|
||||
err = a.db.WithContext(ctx).Model(&FsAddress{}).Where("`id` = ? and `user_id` = ? and `status` = ? ", id, userId, 1).First(&resp).Error
|
||||
if err != nil && !errors.Is(err, gorm.ErrRecordNotFound) {
|
||||
return FsAddress{}, err
|
||||
}
|
||||
return resp, nil
|
||||
}
|
||||
func (a *FsAddressModel) GetUserAllAddress(ctx context.Context, userId int64) (resp []FsAddress, err error) {
|
||||
err = a.db.WithContext(ctx).Model(&FsAddress{}).Where("`user_id` = ? and `status` = ?", userId, 1).Order("`id` DESC").Find(&resp).Error
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
return
|
||||
}
|
||||
|
||||
31
model/gmodel/fsmaplibrarymodel.go
Executable file
31
model/gmodel/fsmaplibrarymodel.go
Executable file
@@ -0,0 +1,31 @@
|
||||
package gmodel
|
||||
|
||||
import (
|
||||
"context"
|
||||
"gorm.io/gorm"
|
||||
)
|
||||
|
||||
type FsMapLibrary struct {
|
||||
Id int64 `gorm:"primary_key" json:"id"` // Id
|
||||
Title *string `gorm:"default:''" json:"title"` // 名称
|
||||
Info *string `gorm:"default:''" json:"info"` // 贴图数据
|
||||
Sort *int64 `gorm:"default:0" json:"sort"` // 排序
|
||||
Status *int64 `gorm:"default:1" json:"status"` // 状态 1启用 0未启用
|
||||
Ctime *int64 `gorm:"default:0" json:"ctime"` // 创建时间
|
||||
TagId *int64 `gorm:"default:0" json:"tag_id"` // 模板标签id
|
||||
}
|
||||
type FsMapLibraryModel struct {
|
||||
db *gorm.DB
|
||||
}
|
||||
|
||||
func NewFsMapLibraryModel(db *gorm.DB) *FsMapLibraryModel {
|
||||
return &FsMapLibraryModel{db}
|
||||
}
|
||||
|
||||
func (ml *FsMapLibraryModel) GetAllEnabledList(ctx context.Context) (resp []FsMapLibrary, err error) {
|
||||
err = ml.db.WithContext(ctx).Model(&FsMapLibrary{}).Where("`status` = ?", 0).Find(&resp).Error
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
return
|
||||
}
|
||||
48
model/gmodel/fsorderdetailmodel.go
Executable file
48
model/gmodel/fsorderdetailmodel.go
Executable file
@@ -0,0 +1,48 @@
|
||||
package gmodel
|
||||
|
||||
import (
|
||||
"context"
|
||||
"gorm.io/gorm"
|
||||
)
|
||||
|
||||
type FsOrderDetail struct {
|
||||
Id int64 `gorm:"primary_key" json:"id"`
|
||||
Sn *string `gorm:"default:''" json:"sn"` // 唯一编码
|
||||
OrderId *int64 `gorm:"default:0" json:"order_id"` // 订单ID
|
||||
UserId *int64 `gorm:"default:0" json:"user_id"` // 用户ID
|
||||
FactoryId *int64 `gorm:"default:0" json:"factory_id"` // 工厂ID
|
||||
OrderDetailTemplateId *int64 `gorm:"default:0" json:"order_detail_template_id"` // 详情templateID
|
||||
ProductId *int64 `gorm:"default:0" json:"product_id"` // 产品ID
|
||||
BuyNum *int64 `gorm:"default:0" json:"buy_num"` // 购买数量
|
||||
PushNum *int64 `gorm:"default:0" json:"push_num"` // 已发数量
|
||||
Amount *int64 `gorm:"default:0" json:"amount"` // 单价
|
||||
Cover *string `gorm:"default:''" json:"cover"` // 截图
|
||||
Ctime *int64 `gorm:"default:0" json:"ctime"` // 添加时间
|
||||
Status *int64 `gorm:"default:0" json:"status"` // 状态位 是否推送到厂家 是否生产完成 是否发货完成
|
||||
OptionalId *int64 `gorm:"default:0" json:"optional_id"` // 选项ID
|
||||
OptionalTitle *string `gorm:"default:''" json:"optional_title"` // 选项名称
|
||||
OptionPrice *int64 `gorm:"default:0" json:"option_price"` // 配件价格
|
||||
IsTofactory *int64 `gorm:"default:0" json:"is_tofactory"` // 是否推送到工厂
|
||||
IsProduct *int64 `gorm:"default:0" json:"is_product"` // 是否生产中
|
||||
IsProductCompletion *int64 `gorm:"default:0" json:"is_product_completion"` // 是否生产完成
|
||||
IsCloud *int64 `gorm:"default:0" json:"is_cloud"` // 是否是云仓订单
|
||||
IsTocloud *int64 `gorm:"default:0" json:"is_tocloud"` // 是否已发云仓(云仓单要发货到云仓,直接发到用户的不需要发到云仓)
|
||||
IsDeliver *int64 `gorm:"default:0" json:"is_deliver"` // 是否已发货
|
||||
IsEnd *int64 `gorm:"default:0" json:"is_end"` // 是否完成订单(签收)
|
||||
CartId *int64 `gorm:"default:0" json:"cart_id"` // 购物车编号
|
||||
}
|
||||
type FsOrderDetailModel struct {
|
||||
db *gorm.DB
|
||||
}
|
||||
|
||||
func NewFsOrderDetailModel(db *gorm.DB) *FsOrderDetailModel {
|
||||
return &FsOrderDetailModel{db}
|
||||
}
|
||||
|
||||
func (od *FsOrderDetailModel) GetOrderDetailsByOrderId(ctx context.Context, orderId int64) (resp []FsOrderDetail, err error) {
|
||||
err = od.db.WithContext(ctx).Model(&FsOrderDetail{}).Where("`order_id` = ?", orderId).Find(&resp).Error
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
return
|
||||
}
|
||||
38
model/gmodel/fsorderdetailtemplatemodel.go
Executable file
38
model/gmodel/fsorderdetailtemplatemodel.go
Executable file
@@ -0,0 +1,38 @@
|
||||
package gmodel
|
||||
|
||||
import (
|
||||
"context"
|
||||
"gorm.io/gorm"
|
||||
)
|
||||
|
||||
type FsOrderDetailTemplate struct {
|
||||
Id int64 `gorm:"primary_key" json:"id"`
|
||||
Sn *string `gorm:"default:''" json:"sn"` // 唯一编码
|
||||
ProductId *int64 `gorm:"default:0" json:"product_id"` // 产品ID
|
||||
ModelId *int64 `gorm:"default:0" json:"model_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
|
||||
EachBoxNum *int64 `gorm:"default:0" json:"each_box_num"` // 每一箱的个数
|
||||
EachBoxWeight *float64 `gorm:"default:0.00" json:"each_box_weight"` // 每一箱的重量 单位KG
|
||||
DesignId *int64 `gorm:"default:0" json:"design_id"` // 设计ID
|
||||
Ctime *int64 `gorm:"default:0" json:"ctime"` // 添加时间
|
||||
}
|
||||
type FsOrderDetailTemplateModel struct {
|
||||
db *gorm.DB
|
||||
}
|
||||
|
||||
func NewFsOrderDetailTemplateModel(db *gorm.DB) *FsOrderDetailTemplateModel {
|
||||
return &FsOrderDetailTemplateModel{db}
|
||||
}
|
||||
|
||||
func (dt *FsOrderDetailTemplateModel) GetListByIds(ctx context.Context, ids []int64) (resp []FsOrderDetailTemplate, err error) {
|
||||
if len(ids) == 0 {
|
||||
return
|
||||
}
|
||||
err = dt.db.WithContext(ctx).Model(&FsOrderDetailTemplate{}).Where("`id` in (?)", ids).Find(&resp).Error
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
return
|
||||
}
|
||||
65
model/gmodel/fsordermodel.go
Executable file
65
model/gmodel/fsordermodel.go
Executable file
@@ -0,0 +1,65 @@
|
||||
package gmodel
|
||||
|
||||
import (
|
||||
"context"
|
||||
"errors"
|
||||
"gorm.io/gorm"
|
||||
"time"
|
||||
)
|
||||
|
||||
type FsOrder struct {
|
||||
Id int64 `gorm:"primary_key" json:"id"`
|
||||
Sn *string `gorm:"default:''" json:"sn"` // 订单编号 FS211224OL2XDKNP
|
||||
UserId *int64 `gorm:"default:0" json:"user_id"` // 用户ID
|
||||
SellerUserId *int64 `gorm:"default:0" json:"seller_user_id"` // 销售员ID 0:自主下单
|
||||
TotalAmount *int64 `gorm:"default:0" json:"total_amount"` // 总价
|
||||
PayedAmount *int64 `gorm:"default:0" json:"payed_amount"` // 已支付金额
|
||||
PayMethod *int64 `gorm:"default:0" json:"pay_method"` // 支付方式 1paypal 2strip
|
||||
Ctime *int64 `gorm:"default:0" json:"ctime"` // 添加时间
|
||||
Utime *int64 `gorm:"default:0" json:"utime"` // 更新时间
|
||||
Ptime *int64 `gorm:"default:0" json:"ptime"` // 最后一次 支付时间(可能多次支付)
|
||||
AddressId *int64 `gorm:"default:0" json:"address_id"` // 地址ID或者云仓ID
|
||||
DeliveryMethod *int64 `gorm:"default:0" json:"delivery_method"` // 配送方式 1:直接发货到收获地址 2:云仓
|
||||
CustomerMark *string `gorm:"default:''" json:"customer_mark"` // 客户备注
|
||||
Mark *string `gorm:"default:''" json:"mark"` // 后台订单备注
|
||||
AddressInfo *string `gorm:"default:''" json:"address_info"` // 详细地址信息JSON
|
||||
IsSup *int64 `gorm:"default:0" json:"is_sup"` // 0不是补货 1是补货
|
||||
Status *int64 `gorm:"default:0" json:"status"` // 状态位(0:未支付,1:部分支付,2:支付完成,3:部分生产,4:部分生产完成,5:全部生产,6:全部生产完成,7:部分发货,8:发货完成,9:完成订单,10:取消订单,11:退款中,12:退款完成,13:订单已删除,14:订单已关闭)
|
||||
IsPartPay *int64 `gorm:"default:0" json:"is_part_pay"` // 是否部分支付(0:否,1:是)
|
||||
IsPayCompleted *int64 `gorm:"default:0" json:"is_pay_completed"` // 是否支付完成(0:否,1:是)
|
||||
IsPartProduct *int64 `gorm:"default:0" json:"is_part_product"` // 是否部分生产(0:否,1:是)
|
||||
IsPartProductCompleted *int64 `gorm:"default:0" json:"is_part_product_completed"` // 是否部分生产完成(0:否,1:是)
|
||||
IsAllProduct *int64 `gorm:"default:0" json:"is_all_product"` // 是否全部生产(0:否,1:是)
|
||||
IsAllProductCompleted *int64 `gorm:"default:0" json:"is_all_product_completed"` // 是否全部生产完成(0:否,1:是)
|
||||
IsPartDelivery *int64 `gorm:"default:0" json:"is_part_delivery"` // 是否部分发货(0:否,1:是)
|
||||
IsDeliveryCompleted *int64 `gorm:"default:0" json:"is_delivery_completed"` // 是否发货完成(0:否,1:是)
|
||||
IsComplated *int64 `gorm:"default:0" json:"is_complated"` // 是否完成订单(0:否,1:是)
|
||||
IsCancel *int64 `gorm:"default:0" json:"is_cancel"` // 是否取消订单(0:否,1:是)
|
||||
IsRefunding *int64 `gorm:"default:0" json:"is_refunding"` // 是否退款中(0:否,1:是)
|
||||
IsRefunded *int64 `gorm:"default:0" json:"is_refunded"` // 是否退款完成(0:否,1:是)
|
||||
IsDeleted *int64 `gorm:"default:0" json:"is_deleted"` // 是否删除(0:否,1:是)
|
||||
RefundReasonId *int64 `gorm:"default:0" json:"refund_reason_id"` // 取消订单原因ID
|
||||
RefundReason *string `gorm:"default:''" json:"refund_reason"` // 取消订单原因
|
||||
TsTime *time.Time `gorm:"" json:"ts_time"`
|
||||
IsSure *int64 `gorm:"default:0" json:"is_sure"` // 是否确认订单 1确认0未确认
|
||||
DeliverSn *string `gorm:"default:''" json:"deliver_sn"` // 发货单号
|
||||
EmailTime *int64 `gorm:"default:0" json:"email_time"` // 邮件发送时间
|
||||
}
|
||||
type FsOrderModel struct {
|
||||
db *gorm.DB
|
||||
}
|
||||
|
||||
func NewFsOrderModel(db *gorm.DB) *FsOrderModel {
|
||||
return &FsOrderModel{db}
|
||||
}
|
||||
|
||||
func (o *FsOrderModel) FindOneBySn(ctx context.Context, userId int64, sn string) (resp FsOrder, err error) {
|
||||
err = o.db.WithContext(ctx).Model(&FsOrder{}).Where(" `user_id` = ? and `sn` = ? ", userId, sn).First(&resp).Error
|
||||
if err != nil && !errors.Is(err, gorm.ErrRecordNotFound) {
|
||||
return FsOrder{}, err
|
||||
}
|
||||
return resp, nil
|
||||
}
|
||||
func (o *FsOrderModel) Update(ctx context.Context, id int64, data FsOrder) error {
|
||||
return o.db.WithContext(ctx).Model(&FsOrder{}).Where("`id` = ?", id).Updates(data).Error
|
||||
}
|
||||
@@ -1,6 +1,9 @@
|
||||
package gmodel
|
||||
|
||||
import "gorm.io/gorm"
|
||||
import (
|
||||
"context"
|
||||
"gorm.io/gorm"
|
||||
)
|
||||
|
||||
type FsProductTemplateTags struct {
|
||||
Id int64 `gorm:"primary_key" json:"id"` // ID
|
||||
@@ -15,3 +18,14 @@ type FsProductTemplateTagsModel struct {
|
||||
func NewFsProductTemplateTagsModel(db *gorm.DB) *FsProductTemplateTagsModel {
|
||||
return &FsProductTemplateTagsModel{db}
|
||||
}
|
||||
|
||||
func (pt *FsProductTemplateTagsModel) GetListByIds(ctx context.Context, ids []int64) (resp []FsProductTemplateTags, err error) {
|
||||
if len(ids) == 0 {
|
||||
return
|
||||
}
|
||||
err = pt.db.WithContext(ctx).Model(&FsProductTemplateTags{}).Where("`id` in (?)", ids).Find(&resp).Error
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
return
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user