438 lines
		
	
	
		
			17 KiB
		
	
	
	
		
			Go
		
	
	
	
	
	
		
		
			
		
	
	
			438 lines
		
	
	
		
			17 KiB
		
	
	
	
		
			Go
		
	
	
	
	
	
|  | // Code generated by goctl. DO NOT EDIT! | |||
|  | 
 | |||
|  | package model | |||
|  | 
 | |||
|  | import ( | |||
|  | 	"context" | |||
|  | 	"database/sql" | |||
|  | 	"fmt" | |||
|  | 	"strings" | |||
|  | 
 | |||
|  | 	"time" | |||
|  | 
 | |||
|  | 	"github.com/Masterminds/squirrel" | |||
|  | 	"github.com/pkg/errors" | |||
|  | 	"github.com/zeromicro/go-zero/core/stores/builder" | |||
|  | 	"github.com/zeromicro/go-zero/core/stores/cache" | |||
|  | 	"github.com/zeromicro/go-zero/core/stores/sqlc" | |||
|  | 	"github.com/zeromicro/go-zero/core/stores/sqlx" | |||
|  | 	"github.com/zeromicro/go-zero/core/stringx" | |||
|  | 	"tyc-server/common/globalkey" | |||
|  | ) | |||
|  | 
 | |||
|  | var ( | |||
|  | 	adminDictDataFieldNames          = builder.RawFieldNames(&AdminDictData{}) | |||
|  | 	adminDictDataRows                = strings.Join(adminDictDataFieldNames, ",") | |||
|  | 	adminDictDataRowsExpectAutoSet   = strings.Join(stringx.Remove(adminDictDataFieldNames, "`id`", "`create_time`", "`update_time`"), ",") | |||
|  | 	adminDictDataRowsWithPlaceHolder = strings.Join(stringx.Remove(adminDictDataFieldNames, "`id`", "`create_time`", "`update_time`"), "=?,") + "=?" | |||
|  | 
 | |||
|  | 	cacheTycAdminDictDataIdPrefix                = "cache:tyc:adminDictData:id:" | |||
|  | 	cacheTycAdminDictDataDictTypeDictLabelPrefix = "cache:tyc:adminDictData:dictType:dictLabel:" | |||
|  | 	cacheTycAdminDictDataDictTypeDictValuePrefix = "cache:tyc:adminDictData:dictType:dictValue:" | |||
|  | ) | |||
|  | 
 | |||
|  | type ( | |||
|  | 	adminDictDataModel interface { | |||
|  | 		Insert(ctx context.Context, session sqlx.Session, data *AdminDictData) (sql.Result, error) | |||
|  | 		FindOne(ctx context.Context, id int64) (*AdminDictData, error) | |||
|  | 		FindOneByDictTypeDictLabel(ctx context.Context, dictType string, dictLabel string) (*AdminDictData, error) | |||
|  | 		FindOneByDictTypeDictValue(ctx context.Context, dictType string, dictValue int64) (*AdminDictData, error) | |||
|  | 		Update(ctx context.Context, session sqlx.Session, data *AdminDictData) (sql.Result, error) | |||
|  | 		UpdateWithVersion(ctx context.Context, session sqlx.Session, data *AdminDictData) error | |||
|  | 		Trans(ctx context.Context, fn func(context context.Context, session sqlx.Session) error) error | |||
|  | 		SelectBuilder() squirrel.SelectBuilder | |||
|  | 		DeleteSoft(ctx context.Context, session sqlx.Session, data *AdminDictData) error | |||
|  | 		FindSum(ctx context.Context, sumBuilder squirrel.SelectBuilder, field string) (float64, error) | |||
|  | 		FindCount(ctx context.Context, countBuilder squirrel.SelectBuilder, field string) (int64, error) | |||
|  | 		FindAll(ctx context.Context, rowBuilder squirrel.SelectBuilder, orderBy string) ([]*AdminDictData, error) | |||
|  | 		FindPageListByPage(ctx context.Context, rowBuilder squirrel.SelectBuilder, page, pageSize int64, orderBy string) ([]*AdminDictData, error) | |||
|  | 		FindPageListByPageWithTotal(ctx context.Context, rowBuilder squirrel.SelectBuilder, page, pageSize int64, orderBy string) ([]*AdminDictData, int64, error) | |||
|  | 		FindPageListByIdDESC(ctx context.Context, rowBuilder squirrel.SelectBuilder, preMinId, pageSize int64) ([]*AdminDictData, error) | |||
|  | 		FindPageListByIdASC(ctx context.Context, rowBuilder squirrel.SelectBuilder, preMaxId, pageSize int64) ([]*AdminDictData, error) | |||
|  | 		Delete(ctx context.Context, session sqlx.Session, id int64) error | |||
|  | 	} | |||
|  | 
 | |||
|  | 	defaultAdminDictDataModel struct { | |||
|  | 		sqlc.CachedConn | |||
|  | 		table string | |||
|  | 	} | |||
|  | 
 | |||
|  | 	AdminDictData struct { | |||
|  | 		Id         int64          `db:"id"` | |||
|  | 		CreateTime time.Time      `db:"create_time"` | |||
|  | 		UpdateTime time.Time      `db:"update_time"` | |||
|  | 		DeleteTime sql.NullTime   `db:"delete_time"` // 删除时间 | |||
|  | 		DelState   int64          `db:"del_state"` | |||
|  | 		Version    int64          `db:"version"`    // 版本号 | |||
|  | 		DictType   string         `db:"dict_type"`  // 字典类型编码 | |||
|  | 		DictLabel  string         `db:"dict_label"` // 字典标签 | |||
|  | 		DictValue  int64          `db:"dict_value"` // 字典键值 | |||
|  | 		DictSort   int64          `db:"dict_sort"`  // 字典排序 | |||
|  | 		Status     int64          `db:"status"`     // 状态:0-禁用,1-启用 | |||
|  | 		Remark     sql.NullString `db:"remark"`     // 备注 | |||
|  | 	} | |||
|  | ) | |||
|  | 
 | |||
|  | func newAdminDictDataModel(conn sqlx.SqlConn, c cache.CacheConf) *defaultAdminDictDataModel { | |||
|  | 	return &defaultAdminDictDataModel{ | |||
|  | 		CachedConn: sqlc.NewConn(conn, c), | |||
|  | 		table:      "`admin_dict_data`", | |||
|  | 	} | |||
|  | } | |||
|  | 
 | |||
|  | func (m *defaultAdminDictDataModel) Insert(ctx context.Context, session sqlx.Session, data *AdminDictData) (sql.Result, error) { | |||
|  | 	data.DelState = globalkey.DelStateNo | |||
|  | 	tycAdminDictDataDictTypeDictLabelKey := fmt.Sprintf("%s%v:%v", cacheTycAdminDictDataDictTypeDictLabelPrefix, data.DictType, data.DictLabel) | |||
|  | 	tycAdminDictDataDictTypeDictValueKey := fmt.Sprintf("%s%v:%v", cacheTycAdminDictDataDictTypeDictValuePrefix, data.DictType, data.DictValue) | |||
|  | 	tycAdminDictDataIdKey := fmt.Sprintf("%s%v", cacheTycAdminDictDataIdPrefix, data.Id) | |||
|  | 	return m.ExecCtx(ctx, func(ctx context.Context, conn sqlx.SqlConn) (result sql.Result, err error) { | |||
|  | 		query := fmt.Sprintf("insert into %s (%s) values (?, ?, ?, ?, ?, ?, ?, ?, ?)", m.table, adminDictDataRowsExpectAutoSet) | |||
|  | 		if session != nil { | |||
|  | 			return session.ExecCtx(ctx, query, data.DeleteTime, data.DelState, data.Version, data.DictType, data.DictLabel, data.DictValue, data.DictSort, data.Status, data.Remark) | |||
|  | 		} | |||
|  | 		return conn.ExecCtx(ctx, query, data.DeleteTime, data.DelState, data.Version, data.DictType, data.DictLabel, data.DictValue, data.DictSort, data.Status, data.Remark) | |||
|  | 	}, tycAdminDictDataDictTypeDictLabelKey, tycAdminDictDataDictTypeDictValueKey, tycAdminDictDataIdKey) | |||
|  | } | |||
|  | 
 | |||
|  | func (m *defaultAdminDictDataModel) FindOne(ctx context.Context, id int64) (*AdminDictData, error) { | |||
|  | 	tycAdminDictDataIdKey := fmt.Sprintf("%s%v", cacheTycAdminDictDataIdPrefix, id) | |||
|  | 	var resp AdminDictData | |||
|  | 	err := m.QueryRowCtx(ctx, &resp, tycAdminDictDataIdKey, func(ctx context.Context, conn sqlx.SqlConn, v interface{}) error { | |||
|  | 		query := fmt.Sprintf("select %s from %s where `id` = ? and del_state = ? limit 1", adminDictDataRows, m.table) | |||
|  | 		return conn.QueryRowCtx(ctx, v, query, id, globalkey.DelStateNo) | |||
|  | 	}) | |||
|  | 	switch err { | |||
|  | 	case nil: | |||
|  | 		return &resp, nil | |||
|  | 	case sqlc.ErrNotFound: | |||
|  | 		return nil, ErrNotFound | |||
|  | 	default: | |||
|  | 		return nil, err | |||
|  | 	} | |||
|  | } | |||
|  | 
 | |||
|  | func (m *defaultAdminDictDataModel) FindOneByDictTypeDictLabel(ctx context.Context, dictType string, dictLabel string) (*AdminDictData, error) { | |||
|  | 	tycAdminDictDataDictTypeDictLabelKey := fmt.Sprintf("%s%v:%v", cacheTycAdminDictDataDictTypeDictLabelPrefix, dictType, dictLabel) | |||
|  | 	var resp AdminDictData | |||
|  | 	err := m.QueryRowIndexCtx(ctx, &resp, tycAdminDictDataDictTypeDictLabelKey, m.formatPrimary, func(ctx context.Context, conn sqlx.SqlConn, v interface{}) (i interface{}, e error) { | |||
|  | 		query := fmt.Sprintf("select %s from %s where `dict_type` = ? and `dict_label` = ? and del_state = ? limit 1", adminDictDataRows, m.table) | |||
|  | 		if err := conn.QueryRowCtx(ctx, &resp, query, dictType, dictLabel, globalkey.DelStateNo); err != nil { | |||
|  | 			return nil, err | |||
|  | 		} | |||
|  | 		return resp.Id, nil | |||
|  | 	}, m.queryPrimary) | |||
|  | 	switch err { | |||
|  | 	case nil: | |||
|  | 		return &resp, nil | |||
|  | 	case sqlc.ErrNotFound: | |||
|  | 		return nil, ErrNotFound | |||
|  | 	default: | |||
|  | 		return nil, err | |||
|  | 	} | |||
|  | } | |||
|  | 
 | |||
|  | func (m *defaultAdminDictDataModel) FindOneByDictTypeDictValue(ctx context.Context, dictType string, dictValue int64) (*AdminDictData, error) { | |||
|  | 	tycAdminDictDataDictTypeDictValueKey := fmt.Sprintf("%s%v:%v", cacheTycAdminDictDataDictTypeDictValuePrefix, dictType, dictValue) | |||
|  | 	var resp AdminDictData | |||
|  | 	err := m.QueryRowIndexCtx(ctx, &resp, tycAdminDictDataDictTypeDictValueKey, m.formatPrimary, func(ctx context.Context, conn sqlx.SqlConn, v interface{}) (i interface{}, e error) { | |||
|  | 		query := fmt.Sprintf("select %s from %s where `dict_type` = ? and `dict_value` = ? and del_state = ? limit 1", adminDictDataRows, m.table) | |||
|  | 		if err := conn.QueryRowCtx(ctx, &resp, query, dictType, dictValue, globalkey.DelStateNo); err != nil { | |||
|  | 			return nil, err | |||
|  | 		} | |||
|  | 		return resp.Id, nil | |||
|  | 	}, m.queryPrimary) | |||
|  | 	switch err { | |||
|  | 	case nil: | |||
|  | 		return &resp, nil | |||
|  | 	case sqlc.ErrNotFound: | |||
|  | 		return nil, ErrNotFound | |||
|  | 	default: | |||
|  | 		return nil, err | |||
|  | 	} | |||
|  | } | |||
|  | 
 | |||
|  | func (m *defaultAdminDictDataModel) Update(ctx context.Context, session sqlx.Session, newData *AdminDictData) (sql.Result, error) { | |||
|  | 	data, err := m.FindOne(ctx, newData.Id) | |||
|  | 	if err != nil { | |||
|  | 		return nil, err | |||
|  | 	} | |||
|  | 	tycAdminDictDataDictTypeDictLabelKey := fmt.Sprintf("%s%v:%v", cacheTycAdminDictDataDictTypeDictLabelPrefix, data.DictType, data.DictLabel) | |||
|  | 	tycAdminDictDataDictTypeDictValueKey := fmt.Sprintf("%s%v:%v", cacheTycAdminDictDataDictTypeDictValuePrefix, data.DictType, data.DictValue) | |||
|  | 	tycAdminDictDataIdKey := fmt.Sprintf("%s%v", cacheTycAdminDictDataIdPrefix, data.Id) | |||
|  | 	return m.ExecCtx(ctx, func(ctx context.Context, conn sqlx.SqlConn) (result sql.Result, err error) { | |||
|  | 		query := fmt.Sprintf("update %s set %s where `id` = ?", m.table, adminDictDataRowsWithPlaceHolder) | |||
|  | 		if session != nil { | |||
|  | 			return session.ExecCtx(ctx, query, newData.DeleteTime, newData.DelState, newData.Version, newData.DictType, newData.DictLabel, newData.DictValue, newData.DictSort, newData.Status, newData.Remark, newData.Id) | |||
|  | 		} | |||
|  | 		return conn.ExecCtx(ctx, query, newData.DeleteTime, newData.DelState, newData.Version, newData.DictType, newData.DictLabel, newData.DictValue, newData.DictSort, newData.Status, newData.Remark, newData.Id) | |||
|  | 	}, tycAdminDictDataDictTypeDictLabelKey, tycAdminDictDataDictTypeDictValueKey, tycAdminDictDataIdKey) | |||
|  | } | |||
|  | 
 | |||
|  | func (m *defaultAdminDictDataModel) UpdateWithVersion(ctx context.Context, session sqlx.Session, newData *AdminDictData) error { | |||
|  | 
 | |||
|  | 	oldVersion := newData.Version | |||
|  | 	newData.Version += 1 | |||
|  | 
 | |||
|  | 	var sqlResult sql.Result | |||
|  | 	var err error | |||
|  | 
 | |||
|  | 	data, err := m.FindOne(ctx, newData.Id) | |||
|  | 	if err != nil { | |||
|  | 		return err | |||
|  | 	} | |||
|  | 	tycAdminDictDataDictTypeDictLabelKey := fmt.Sprintf("%s%v:%v", cacheTycAdminDictDataDictTypeDictLabelPrefix, data.DictType, data.DictLabel) | |||
|  | 	tycAdminDictDataDictTypeDictValueKey := fmt.Sprintf("%s%v:%v", cacheTycAdminDictDataDictTypeDictValuePrefix, data.DictType, data.DictValue) | |||
|  | 	tycAdminDictDataIdKey := fmt.Sprintf("%s%v", cacheTycAdminDictDataIdPrefix, data.Id) | |||
|  | 	sqlResult, err = m.ExecCtx(ctx, func(ctx context.Context, conn sqlx.SqlConn) (result sql.Result, err error) { | |||
|  | 		query := fmt.Sprintf("update %s set %s where `id` = ? and version = ? ", m.table, adminDictDataRowsWithPlaceHolder) | |||
|  | 		if session != nil { | |||
|  | 			return session.ExecCtx(ctx, query, newData.DeleteTime, newData.DelState, newData.Version, newData.DictType, newData.DictLabel, newData.DictValue, newData.DictSort, newData.Status, newData.Remark, newData.Id, oldVersion) | |||
|  | 		} | |||
|  | 		return conn.ExecCtx(ctx, query, newData.DeleteTime, newData.DelState, newData.Version, newData.DictType, newData.DictLabel, newData.DictValue, newData.DictSort, newData.Status, newData.Remark, newData.Id, oldVersion) | |||
|  | 	}, tycAdminDictDataDictTypeDictLabelKey, tycAdminDictDataDictTypeDictValueKey, tycAdminDictDataIdKey) | |||
|  | 	if err != nil { | |||
|  | 		return err | |||
|  | 	} | |||
|  | 	updateCount, err := sqlResult.RowsAffected() | |||
|  | 	if err != nil { | |||
|  | 		return err | |||
|  | 	} | |||
|  | 	if updateCount == 0 { | |||
|  | 		return ErrNoRowsUpdate | |||
|  | 	} | |||
|  | 
 | |||
|  | 	return nil | |||
|  | } | |||
|  | 
 | |||
|  | func (m *defaultAdminDictDataModel) DeleteSoft(ctx context.Context, session sqlx.Session, data *AdminDictData) error { | |||
|  | 	data.DelState = globalkey.DelStateYes | |||
|  | 	data.DeleteTime = sql.NullTime{Time: time.Now(), Valid: true} | |||
|  | 	if err := m.UpdateWithVersion(ctx, session, data); err != nil { | |||
|  | 		return errors.Wrapf(errors.New("delete soft failed "), "AdminDictDataModel delete err : %+v", err) | |||
|  | 	} | |||
|  | 	return nil | |||
|  | } | |||
|  | 
 | |||
|  | func (m *defaultAdminDictDataModel) FindSum(ctx context.Context, builder squirrel.SelectBuilder, field string) (float64, error) { | |||
|  | 
 | |||
|  | 	if len(field) == 0 { | |||
|  | 		return 0, errors.Wrapf(errors.New("FindSum Least One Field"), "FindSum Least One Field") | |||
|  | 	} | |||
|  | 
 | |||
|  | 	builder = builder.Columns("IFNULL(SUM(" + field + "),0)") | |||
|  | 
 | |||
|  | 	query, values, err := builder.Where("del_state = ?", globalkey.DelStateNo).ToSql() | |||
|  | 	if err != nil { | |||
|  | 		return 0, err | |||
|  | 	} | |||
|  | 
 | |||
|  | 	var resp float64 | |||
|  | 	err = m.QueryRowNoCacheCtx(ctx, &resp, query, values...) | |||
|  | 	switch err { | |||
|  | 	case nil: | |||
|  | 		return resp, nil | |||
|  | 	default: | |||
|  | 		return 0, err | |||
|  | 	} | |||
|  | } | |||
|  | 
 | |||
|  | func (m *defaultAdminDictDataModel) FindCount(ctx context.Context, builder squirrel.SelectBuilder, field string) (int64, error) { | |||
|  | 
 | |||
|  | 	if len(field) == 0 { | |||
|  | 		return 0, errors.Wrapf(errors.New("FindCount Least One Field"), "FindCount Least One Field") | |||
|  | 	} | |||
|  | 
 | |||
|  | 	builder = builder.Columns("COUNT(" + field + ")") | |||
|  | 
 | |||
|  | 	query, values, err := builder.Where("del_state = ?", globalkey.DelStateNo).ToSql() | |||
|  | 	if err != nil { | |||
|  | 		return 0, err | |||
|  | 	} | |||
|  | 
 | |||
|  | 	var resp int64 | |||
|  | 	err = m.QueryRowNoCacheCtx(ctx, &resp, query, values...) | |||
|  | 	switch err { | |||
|  | 	case nil: | |||
|  | 		return resp, nil | |||
|  | 	default: | |||
|  | 		return 0, err | |||
|  | 	} | |||
|  | } | |||
|  | 
 | |||
|  | func (m *defaultAdminDictDataModel) FindAll(ctx context.Context, builder squirrel.SelectBuilder, orderBy string) ([]*AdminDictData, error) { | |||
|  | 
 | |||
|  | 	builder = builder.Columns(adminDictDataRows) | |||
|  | 
 | |||
|  | 	if orderBy == "" { | |||
|  | 		builder = builder.OrderBy("id DESC") | |||
|  | 	} else { | |||
|  | 		builder = builder.OrderBy(orderBy) | |||
|  | 	} | |||
|  | 
 | |||
|  | 	query, values, err := builder.Where("del_state = ?", globalkey.DelStateNo).ToSql() | |||
|  | 	if err != nil { | |||
|  | 		return nil, err | |||
|  | 	} | |||
|  | 
 | |||
|  | 	var resp []*AdminDictData | |||
|  | 	err = m.QueryRowsNoCacheCtx(ctx, &resp, query, values...) | |||
|  | 	switch err { | |||
|  | 	case nil: | |||
|  | 		return resp, nil | |||
|  | 	default: | |||
|  | 		return nil, err | |||
|  | 	} | |||
|  | } | |||
|  | 
 | |||
|  | func (m *defaultAdminDictDataModel) FindPageListByPage(ctx context.Context, builder squirrel.SelectBuilder, page, pageSize int64, orderBy string) ([]*AdminDictData, error) { | |||
|  | 
 | |||
|  | 	builder = builder.Columns(adminDictDataRows) | |||
|  | 
 | |||
|  | 	if orderBy == "" { | |||
|  | 		builder = builder.OrderBy("id DESC") | |||
|  | 	} else { | |||
|  | 		builder = builder.OrderBy(orderBy) | |||
|  | 	} | |||
|  | 
 | |||
|  | 	if page < 1 { | |||
|  | 		page = 1 | |||
|  | 	} | |||
|  | 	offset := (page - 1) * pageSize | |||
|  | 
 | |||
|  | 	query, values, err := builder.Where("del_state = ?", globalkey.DelStateNo).Offset(uint64(offset)).Limit(uint64(pageSize)).ToSql() | |||
|  | 	if err != nil { | |||
|  | 		return nil, err | |||
|  | 	} | |||
|  | 
 | |||
|  | 	var resp []*AdminDictData | |||
|  | 	err = m.QueryRowsNoCacheCtx(ctx, &resp, query, values...) | |||
|  | 	switch err { | |||
|  | 	case nil: | |||
|  | 		return resp, nil | |||
|  | 	default: | |||
|  | 		return nil, err | |||
|  | 	} | |||
|  | } | |||
|  | 
 | |||
|  | func (m *defaultAdminDictDataModel) FindPageListByPageWithTotal(ctx context.Context, builder squirrel.SelectBuilder, page, pageSize int64, orderBy string) ([]*AdminDictData, int64, error) { | |||
|  | 
 | |||
|  | 	total, err := m.FindCount(ctx, builder, "id") | |||
|  | 	if err != nil { | |||
|  | 		return nil, 0, err | |||
|  | 	} | |||
|  | 
 | |||
|  | 	builder = builder.Columns(adminDictDataRows) | |||
|  | 
 | |||
|  | 	if orderBy == "" { | |||
|  | 		builder = builder.OrderBy("id DESC") | |||
|  | 	} else { | |||
|  | 		builder = builder.OrderBy(orderBy) | |||
|  | 	} | |||
|  | 
 | |||
|  | 	if page < 1 { | |||
|  | 		page = 1 | |||
|  | 	} | |||
|  | 	offset := (page - 1) * pageSize | |||
|  | 
 | |||
|  | 	query, values, err := builder.Where("del_state = ?", globalkey.DelStateNo).Offset(uint64(offset)).Limit(uint64(pageSize)).ToSql() | |||
|  | 	if err != nil { | |||
|  | 		return nil, total, err | |||
|  | 	} | |||
|  | 
 | |||
|  | 	var resp []*AdminDictData | |||
|  | 	err = m.QueryRowsNoCacheCtx(ctx, &resp, query, values...) | |||
|  | 	switch err { | |||
|  | 	case nil: | |||
|  | 		return resp, total, nil | |||
|  | 	default: | |||
|  | 		return nil, total, err | |||
|  | 	} | |||
|  | } | |||
|  | 
 | |||
|  | func (m *defaultAdminDictDataModel) FindPageListByIdDESC(ctx context.Context, builder squirrel.SelectBuilder, preMinId, pageSize int64) ([]*AdminDictData, error) { | |||
|  | 
 | |||
|  | 	builder = builder.Columns(adminDictDataRows) | |||
|  | 
 | |||
|  | 	if preMinId > 0 { | |||
|  | 		builder = builder.Where(" id < ? ", preMinId) | |||
|  | 	} | |||
|  | 
 | |||
|  | 	query, values, err := builder.Where("del_state = ?", globalkey.DelStateNo).OrderBy("id DESC").Limit(uint64(pageSize)).ToSql() | |||
|  | 	if err != nil { | |||
|  | 		return nil, err | |||
|  | 	} | |||
|  | 
 | |||
|  | 	var resp []*AdminDictData | |||
|  | 	err = m.QueryRowsNoCacheCtx(ctx, &resp, query, values...) | |||
|  | 	switch err { | |||
|  | 	case nil: | |||
|  | 		return resp, nil | |||
|  | 	default: | |||
|  | 		return nil, err | |||
|  | 	} | |||
|  | } | |||
|  | 
 | |||
|  | func (m *defaultAdminDictDataModel) FindPageListByIdASC(ctx context.Context, builder squirrel.SelectBuilder, preMaxId, pageSize int64) ([]*AdminDictData, error) { | |||
|  | 
 | |||
|  | 	builder = builder.Columns(adminDictDataRows) | |||
|  | 
 | |||
|  | 	if preMaxId > 0 { | |||
|  | 		builder = builder.Where(" id > ? ", preMaxId) | |||
|  | 	} | |||
|  | 
 | |||
|  | 	query, values, err := builder.Where("del_state = ?", globalkey.DelStateNo).OrderBy("id ASC").Limit(uint64(pageSize)).ToSql() | |||
|  | 	if err != nil { | |||
|  | 		return nil, err | |||
|  | 	} | |||
|  | 
 | |||
|  | 	var resp []*AdminDictData | |||
|  | 	err = m.QueryRowsNoCacheCtx(ctx, &resp, query, values...) | |||
|  | 	switch err { | |||
|  | 	case nil: | |||
|  | 		return resp, nil | |||
|  | 	default: | |||
|  | 		return nil, err | |||
|  | 	} | |||
|  | } | |||
|  | 
 | |||
|  | func (m *defaultAdminDictDataModel) Trans(ctx context.Context, fn func(ctx context.Context, session sqlx.Session) error) error { | |||
|  | 
 | |||
|  | 	return m.TransactCtx(ctx, func(ctx context.Context, session sqlx.Session) error { | |||
|  | 		return fn(ctx, session) | |||
|  | 	}) | |||
|  | 
 | |||
|  | } | |||
|  | 
 | |||
|  | func (m *defaultAdminDictDataModel) SelectBuilder() squirrel.SelectBuilder { | |||
|  | 	return squirrel.Select().From(m.table) | |||
|  | } | |||
|  | func (m *defaultAdminDictDataModel) Delete(ctx context.Context, session sqlx.Session, id int64) error { | |||
|  | 	data, err := m.FindOne(ctx, id) | |||
|  | 	if err != nil { | |||
|  | 		return err | |||
|  | 	} | |||
|  | 
 | |||
|  | 	tycAdminDictDataDictTypeDictLabelKey := fmt.Sprintf("%s%v:%v", cacheTycAdminDictDataDictTypeDictLabelPrefix, data.DictType, data.DictLabel) | |||
|  | 	tycAdminDictDataDictTypeDictValueKey := fmt.Sprintf("%s%v:%v", cacheTycAdminDictDataDictTypeDictValuePrefix, data.DictType, data.DictValue) | |||
|  | 	tycAdminDictDataIdKey := fmt.Sprintf("%s%v", cacheTycAdminDictDataIdPrefix, id) | |||
|  | 	_, err = m.ExecCtx(ctx, func(ctx context.Context, conn sqlx.SqlConn) (result sql.Result, err error) { | |||
|  | 		query := fmt.Sprintf("delete from %s where `id` = ?", m.table) | |||
|  | 		if session != nil { | |||
|  | 			return session.ExecCtx(ctx, query, id) | |||
|  | 		} | |||
|  | 		return conn.ExecCtx(ctx, query, id) | |||
|  | 	}, tycAdminDictDataDictTypeDictLabelKey, tycAdminDictDataDictTypeDictValueKey, tycAdminDictDataIdKey) | |||
|  | 	return err | |||
|  | } | |||
|  | func (m *defaultAdminDictDataModel) formatPrimary(primary interface{}) string { | |||
|  | 	return fmt.Sprintf("%s%v", cacheTycAdminDictDataIdPrefix, primary) | |||
|  | } | |||
|  | func (m *defaultAdminDictDataModel) queryPrimary(ctx context.Context, conn sqlx.SqlConn, v, primary interface{}) error { | |||
|  | 	query := fmt.Sprintf("select %s from %s where `id` = ? and del_state = ? limit 1", adminDictDataRows, m.table) | |||
|  | 	return conn.QueryRowCtx(ctx, v, query, primary, globalkey.DelStateNo) | |||
|  | } | |||
|  | 
 | |||
|  | func (m *defaultAdminDictDataModel) tableName() string { | |||
|  | 	return m.table | |||
|  | } |