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) }