50 lines
1.5 KiB
Go
50 lines
1.5 KiB
Go
|
|
package model
|
||
|
|
|
||
|
|
import (
|
||
|
|
"context"
|
||
|
|
"database/sql"
|
||
|
|
"fmt"
|
||
|
|
"strings"
|
||
|
|
"time"
|
||
|
|
|
||
|
|
"github.com/zeromicro/go-zero/core/stores/builder"
|
||
|
|
"github.com/zeromicro/go-zero/core/stores/sqlx"
|
||
|
|
"github.com/zeromicro/go-zero/core/stringx"
|
||
|
|
)
|
||
|
|
|
||
|
|
var (
|
||
|
|
proPlanFactoryFieldNames = builder.RawFieldNames(&ProPlanFactory{})
|
||
|
|
proPlanFactoryRows = strings.Join(proPlanFactoryFieldNames, ",")
|
||
|
|
proPlanFactoryRowsExpectAutoSet = strings.Join(stringx.Remove(proPlanFactoryFieldNames, "`id`", "`create_at`", "`create_time`", "`created_at`", "`update_at`", "`update_time`", "`updated_at`"), ",")
|
||
|
|
)
|
||
|
|
|
||
|
|
type (
|
||
|
|
proPlanFactoryModel interface {
|
||
|
|
Insert(ctx context.Context, data *ProPlanFactory) (sql.Result, error)
|
||
|
|
}
|
||
|
|
|
||
|
|
defaultProPlanFactoryModel struct {
|
||
|
|
conn sqlx.SqlConn
|
||
|
|
table string
|
||
|
|
}
|
||
|
|
|
||
|
|
ProPlanFactory struct {
|
||
|
|
Id int64 `db:"id"`
|
||
|
|
PlanId string `db:"plan_id"`
|
||
|
|
FactoryTenantId string `db:"factory_tenant_id"`
|
||
|
|
FactoryType string `db:"factory_type"`
|
||
|
|
ShareLinkId string `db:"share_link_id"`
|
||
|
|
CreatedAt time.Time `db:"created_at"`
|
||
|
|
}
|
||
|
|
)
|
||
|
|
|
||
|
|
func newProPlanFactoryModel(conn sqlx.SqlConn) *defaultProPlanFactoryModel {
|
||
|
|
return &defaultProPlanFactoryModel{conn: conn, table: "`pro_plan_factory`"}
|
||
|
|
}
|
||
|
|
|
||
|
|
func (m *defaultProPlanFactoryModel) Insert(ctx context.Context, data *ProPlanFactory) (sql.Result, error) {
|
||
|
|
query := fmt.Sprintf("INSERT INTO %s (%s) VALUES (?, ?, ?, ?)",
|
||
|
|
m.table, proPlanFactoryRowsExpectAutoSet)
|
||
|
|
return m.conn.ExecCtx(ctx, query, data.PlanId, data.FactoryTenantId, data.FactoryType, data.ShareLinkId)
|
||
|
|
}
|