| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100 |
- func (m *default{{.upperStartCamelObject}}Model) Delete(ctx context.Context, {{.lowerStartCamelPrimaryKey}} {{.dataType}}) error {
- {{if .withCache}}{{if .containsIndexCache}}data, err:=m.FindOne(ctx, {{.lowerStartCamelPrimaryKey}})
- if err!=nil{
- return err
- }
- {{end}} {{.keys}}
- _, err {{if .containsIndexCache}}={{else}}:={{end}} m.ExecCtx(ctx, func(ctx context.Context, conn sqlx.SqlConn) (result sql.Result, err error) {
- query := fmt.Sprintf("DELETE FROM %s WHERE {{.originalPrimaryKey}} = {{if .postgreSql}}$1{{else}}?{{end}}", m.table)
- return conn.ExecCtx(ctx, query, {{.lowerStartCamelPrimaryKey}})
- }, {{.keyValues}}){{else}}query := fmt.Sprintf("DELETE FROM %s WHERE {{.originalPrimaryKey}} = {{if .postgreSql}}$1{{else}}?{{end}}", m.table)
- _,err:=m.conn.ExecCtx(ctx, query, {{.lowerStartCamelPrimaryKey}}){{end}}
- return err
- }
- func (m *default{{.upperStartCamelObject}}Model) DeleteWithTx(ctx context.Context, session sqlx.Session, {{.lowerStartCamelPrimaryKey}} {{.dataType}}) error {
- {{if .withCache}}{{if .containsIndexCache}}data, err:=m.FindOne(ctx, {{.lowerStartCamelPrimaryKey}})
- if err!=nil{
- return err
- }
- {{end}} {{.keys}}
- _, err {{if .containsIndexCache}}={{else}}:={{end}} m.ExecCtx(ctx, func(ctx context.Context, conn sqlx.SqlConn) (result sql.Result, err error) {
- query := fmt.Sprintf("DELETE FROM %s WHERE {{.originalPrimaryKey}} = {{if .postgreSql}}$1{{else}}?{{end}}", m.table)
- return session.ExecCtx(ctx, query, {{.lowerStartCamelPrimaryKey}})
- }, {{.keyValues}}){{else}}query := fmt.Sprintf("DELETE FROM %s WHERE {{.originalPrimaryKey}} = {{if .postgreSql}}$1{{else}}?{{end}}", m.table)
- _,err:=session.ExecCtx(ctx, query, {{.lowerStartCamelPrimaryKey}}){{end}}
- return err
- }
- func (m *default{{.upperStartCamelObject}}Model) BatchDelete(ctx context.Context, {{.lowerStartCamelPrimaryKey}}s []{{.dataType}}) error {
- if len({{.lowerStartCamelPrimaryKey}}s) == 0 {
- return nil
- }
- {{if .withCache}}{{if .containsIndexCache}}primaryKeys := make([]interface{}, 0, len({{.lowerStartCamelPrimaryKey}}s))
- for _, key := range {{.lowerStartCamelPrimaryKey}}s {
- primaryKeys = append(primaryKeys, key)
- }
- oldDataList, err := m.findListByPrimaryKeys(ctx, primaryKeys)
- if err != nil {
- return err
- }{{end}}
- keys := make([]string, 0)
- for _, {{if .containsIndexCache}}data{{else}}{{.lowerStartCamelPrimaryKey}}{{end}} := range {{if .containsIndexCache}}oldDataList{{else}}{{.lowerStartCamelPrimaryKey}}s{{end}} { {{if .containsIndexCache}}
- {{.lowerStartCamelPrimaryKey}} := m.getPrimaryKeyValue(data){{end}}
- {{.keys}}
- keys = append(keys, {{.keyValues}})
- }{{end}}
- placeholders := make([]string, 0, len({{.lowerStartCamelPrimaryKey}}s))
- args := make([]interface{}, 0, len({{.lowerStartCamelPrimaryKey}}s))
- for {{if .postgreSql}}i, {{else}}_, {{end}}{{.lowerStartCamelPrimaryKey}} := range {{.lowerStartCamelPrimaryKey}}s {
- {{if .postgreSql}}placeholders = append(placeholders, fmt.Sprintf("$%d", i+1)){{else}}placeholders = append(placeholders, "?"){{end}}
- args = append(args, {{.lowerStartCamelPrimaryKey}})
- }
- {{if .withCache}}_, err {{if .containsIndexCache}}={{else}}:={{end}} m.ExecCtx(ctx, func(ctx context.Context, conn sqlx.SqlConn) (result sql.Result, err error) {
- query := fmt.Sprintf("DELETE FROM %s WHERE {{.originalPrimaryKey}} IN (%s)", m.table, strings.Join(placeholders, ","))
- return conn.ExecCtx(ctx, query, args...)
- }, keys...){{else}}query := fmt.Sprintf("DELETE FROM %s WHERE {{.originalPrimaryKey}} IN (%s)", m.table, strings.Join(placeholders, ","))
- _, err := m.conn.ExecCtx(ctx, query, args...){{end}}
- return err
- }
- func (m *default{{.upperStartCamelObject}}Model) BatchDeleteWithTx(ctx context.Context, session sqlx.Session, {{.lowerStartCamelPrimaryKey}}s []{{.dataType}}) error {
- if len({{.lowerStartCamelPrimaryKey}}s) == 0 {
- return nil
- }
- {{if .withCache}}{{if .containsIndexCache}}primaryKeys := make([]interface{}, 0, len({{.lowerStartCamelPrimaryKey}}s))
- for _, key := range {{.lowerStartCamelPrimaryKey}}s {
- primaryKeys = append(primaryKeys, key)
- }
- oldDataList, err := m.findListByPrimaryKeys(ctx, primaryKeys)
- if err != nil {
- return err
- }{{end}}
- keys := make([]string, 0)
- for _, {{if .containsIndexCache}}data{{else}}{{.lowerStartCamelPrimaryKey}}{{end}} := range {{if .containsIndexCache}}oldDataList{{else}}{{.lowerStartCamelPrimaryKey}}s{{end}} { {{if .containsIndexCache}}
- {{.lowerStartCamelPrimaryKey}} := m.getPrimaryKeyValue(data){{end}}
- {{.keys}}
- keys = append(keys, {{.keyValues}})
- }{{end}}
- placeholders := make([]string, 0, len({{.lowerStartCamelPrimaryKey}}s))
- args := make([]interface{}, 0, len({{.lowerStartCamelPrimaryKey}}s))
- for {{if .postgreSql}}i, {{else}}_, {{end}}{{.lowerStartCamelPrimaryKey}} := range {{.lowerStartCamelPrimaryKey}}s {
- {{if .postgreSql}}placeholders = append(placeholders, fmt.Sprintf("$%d", i+1)){{else}}placeholders = append(placeholders, "?"){{end}}
- args = append(args, {{.lowerStartCamelPrimaryKey}})
- }
- query := fmt.Sprintf("DELETE FROM %s WHERE {{.originalPrimaryKey}} IN (%s)", m.table, strings.Join(placeholders, ","))
- {{if .withCache}}_, err {{if .containsIndexCache}}={{else}}:={{end}} m.ExecCtx(ctx, func(ctx context.Context, conn sqlx.SqlConn) (result sql.Result, err error) {
- return session.ExecCtx(ctx, query, args...)
- }, keys...){{else}}_, err := session.ExecCtx(ctx, query, args...){{end}}
- return err
- }
|