promote
This commit is contained in:
27
app/main/model/adminApiModel.go
Normal file
27
app/main/model/adminApiModel.go
Normal file
@@ -0,0 +1,27 @@
|
||||
package model
|
||||
|
||||
import (
|
||||
"github.com/zeromicro/go-zero/core/stores/cache"
|
||||
"github.com/zeromicro/go-zero/core/stores/sqlx"
|
||||
)
|
||||
|
||||
var _ AdminApiModel = (*customAdminApiModel)(nil)
|
||||
|
||||
type (
|
||||
// AdminApiModel is an interface to be customized, add more methods here,
|
||||
// and implement the added methods in customAdminApiModel.
|
||||
AdminApiModel interface {
|
||||
adminApiModel
|
||||
}
|
||||
|
||||
customAdminApiModel struct {
|
||||
*defaultAdminApiModel
|
||||
}
|
||||
)
|
||||
|
||||
// NewAdminApiModel returns a model for the database table.
|
||||
func NewAdminApiModel(conn sqlx.SqlConn, c cache.CacheConf) AdminApiModel {
|
||||
return &customAdminApiModel{
|
||||
defaultAdminApiModel: newAdminApiModel(conn, c),
|
||||
}
|
||||
}
|
||||
411
app/main/model/adminApiModel_gen.go
Normal file
411
app/main/model/adminApiModel_gen.go
Normal file
@@ -0,0 +1,411 @@
|
||||
// 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 (
|
||||
adminApiFieldNames = builder.RawFieldNames(&AdminApi{})
|
||||
adminApiRows = strings.Join(adminApiFieldNames, ",")
|
||||
adminApiRowsExpectAutoSet = strings.Join(stringx.Remove(adminApiFieldNames, "`id`", "`create_time`", "`update_time`"), ",")
|
||||
adminApiRowsWithPlaceHolder = strings.Join(stringx.Remove(adminApiFieldNames, "`id`", "`create_time`", "`update_time`"), "=?,") + "=?"
|
||||
|
||||
cacheTycAdminApiIdPrefix = "cache:tyc:adminApi:id:"
|
||||
cacheTycAdminApiApiCodePrefix = "cache:tyc:adminApi:apiCode:"
|
||||
)
|
||||
|
||||
type (
|
||||
adminApiModel interface {
|
||||
Insert(ctx context.Context, session sqlx.Session, data *AdminApi) (sql.Result, error)
|
||||
FindOne(ctx context.Context, id int64) (*AdminApi, error)
|
||||
FindOneByApiCode(ctx context.Context, apiCode string) (*AdminApi, error)
|
||||
Update(ctx context.Context, session sqlx.Session, data *AdminApi) (sql.Result, error)
|
||||
UpdateWithVersion(ctx context.Context, session sqlx.Session, data *AdminApi) 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 *AdminApi) 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) ([]*AdminApi, error)
|
||||
FindPageListByPage(ctx context.Context, rowBuilder squirrel.SelectBuilder, page, pageSize int64, orderBy string) ([]*AdminApi, error)
|
||||
FindPageListByPageWithTotal(ctx context.Context, rowBuilder squirrel.SelectBuilder, page, pageSize int64, orderBy string) ([]*AdminApi, int64, error)
|
||||
FindPageListByIdDESC(ctx context.Context, rowBuilder squirrel.SelectBuilder, preMinId, pageSize int64) ([]*AdminApi, error)
|
||||
FindPageListByIdASC(ctx context.Context, rowBuilder squirrel.SelectBuilder, preMaxId, pageSize int64) ([]*AdminApi, error)
|
||||
Delete(ctx context.Context, session sqlx.Session, id int64) error
|
||||
}
|
||||
|
||||
defaultAdminApiModel struct {
|
||||
sqlc.CachedConn
|
||||
table string
|
||||
}
|
||||
|
||||
AdminApi 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"` // 版本号
|
||||
ApiName string `db:"api_name"` // 接口名称
|
||||
ApiCode string `db:"api_code"` // 接口编码
|
||||
Method string `db:"method"` // 请求方法:GET、POST等
|
||||
Url string `db:"url"` // 接口URL
|
||||
Status int64 `db:"status"` // 状态:0-禁用,1-启用
|
||||
Description string `db:"description"` // 接口描述
|
||||
}
|
||||
)
|
||||
|
||||
func newAdminApiModel(conn sqlx.SqlConn, c cache.CacheConf) *defaultAdminApiModel {
|
||||
return &defaultAdminApiModel{
|
||||
CachedConn: sqlc.NewConn(conn, c),
|
||||
table: "`admin_api`",
|
||||
}
|
||||
}
|
||||
|
||||
func (m *defaultAdminApiModel) Insert(ctx context.Context, session sqlx.Session, data *AdminApi) (sql.Result, error) {
|
||||
data.DelState = globalkey.DelStateNo
|
||||
tycAdminApiApiCodeKey := fmt.Sprintf("%s%v", cacheTycAdminApiApiCodePrefix, data.ApiCode)
|
||||
tycAdminApiIdKey := fmt.Sprintf("%s%v", cacheTycAdminApiIdPrefix, 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, adminApiRowsExpectAutoSet)
|
||||
if session != nil {
|
||||
return session.ExecCtx(ctx, query, data.DeleteTime, data.DelState, data.Version, data.ApiName, data.ApiCode, data.Method, data.Url, data.Status, data.Description)
|
||||
}
|
||||
return conn.ExecCtx(ctx, query, data.DeleteTime, data.DelState, data.Version, data.ApiName, data.ApiCode, data.Method, data.Url, data.Status, data.Description)
|
||||
}, tycAdminApiApiCodeKey, tycAdminApiIdKey)
|
||||
}
|
||||
|
||||
func (m *defaultAdminApiModel) FindOne(ctx context.Context, id int64) (*AdminApi, error) {
|
||||
tycAdminApiIdKey := fmt.Sprintf("%s%v", cacheTycAdminApiIdPrefix, id)
|
||||
var resp AdminApi
|
||||
err := m.QueryRowCtx(ctx, &resp, tycAdminApiIdKey, func(ctx context.Context, conn sqlx.SqlConn, v interface{}) error {
|
||||
query := fmt.Sprintf("select %s from %s where `id` = ? and del_state = ? limit 1", adminApiRows, 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 *defaultAdminApiModel) FindOneByApiCode(ctx context.Context, apiCode string) (*AdminApi, error) {
|
||||
tycAdminApiApiCodeKey := fmt.Sprintf("%s%v", cacheTycAdminApiApiCodePrefix, apiCode)
|
||||
var resp AdminApi
|
||||
err := m.QueryRowIndexCtx(ctx, &resp, tycAdminApiApiCodeKey, m.formatPrimary, func(ctx context.Context, conn sqlx.SqlConn, v interface{}) (i interface{}, e error) {
|
||||
query := fmt.Sprintf("select %s from %s where `api_code` = ? and del_state = ? limit 1", adminApiRows, m.table)
|
||||
if err := conn.QueryRowCtx(ctx, &resp, query, apiCode, 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 *defaultAdminApiModel) Update(ctx context.Context, session sqlx.Session, newData *AdminApi) (sql.Result, error) {
|
||||
data, err := m.FindOne(ctx, newData.Id)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
tycAdminApiApiCodeKey := fmt.Sprintf("%s%v", cacheTycAdminApiApiCodePrefix, data.ApiCode)
|
||||
tycAdminApiIdKey := fmt.Sprintf("%s%v", cacheTycAdminApiIdPrefix, 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, adminApiRowsWithPlaceHolder)
|
||||
if session != nil {
|
||||
return session.ExecCtx(ctx, query, newData.DeleteTime, newData.DelState, newData.Version, newData.ApiName, newData.ApiCode, newData.Method, newData.Url, newData.Status, newData.Description, newData.Id)
|
||||
}
|
||||
return conn.ExecCtx(ctx, query, newData.DeleteTime, newData.DelState, newData.Version, newData.ApiName, newData.ApiCode, newData.Method, newData.Url, newData.Status, newData.Description, newData.Id)
|
||||
}, tycAdminApiApiCodeKey, tycAdminApiIdKey)
|
||||
}
|
||||
|
||||
func (m *defaultAdminApiModel) UpdateWithVersion(ctx context.Context, session sqlx.Session, newData *AdminApi) 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
|
||||
}
|
||||
tycAdminApiApiCodeKey := fmt.Sprintf("%s%v", cacheTycAdminApiApiCodePrefix, data.ApiCode)
|
||||
tycAdminApiIdKey := fmt.Sprintf("%s%v", cacheTycAdminApiIdPrefix, 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, adminApiRowsWithPlaceHolder)
|
||||
if session != nil {
|
||||
return session.ExecCtx(ctx, query, newData.DeleteTime, newData.DelState, newData.Version, newData.ApiName, newData.ApiCode, newData.Method, newData.Url, newData.Status, newData.Description, newData.Id, oldVersion)
|
||||
}
|
||||
return conn.ExecCtx(ctx, query, newData.DeleteTime, newData.DelState, newData.Version, newData.ApiName, newData.ApiCode, newData.Method, newData.Url, newData.Status, newData.Description, newData.Id, oldVersion)
|
||||
}, tycAdminApiApiCodeKey, tycAdminApiIdKey)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
updateCount, err := sqlResult.RowsAffected()
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
if updateCount == 0 {
|
||||
return ErrNoRowsUpdate
|
||||
}
|
||||
|
||||
return nil
|
||||
}
|
||||
|
||||
func (m *defaultAdminApiModel) DeleteSoft(ctx context.Context, session sqlx.Session, data *AdminApi) 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 "), "AdminApiModel delete err : %+v", err)
|
||||
}
|
||||
return nil
|
||||
}
|
||||
|
||||
func (m *defaultAdminApiModel) 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 *defaultAdminApiModel) 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 *defaultAdminApiModel) FindAll(ctx context.Context, builder squirrel.SelectBuilder, orderBy string) ([]*AdminApi, error) {
|
||||
|
||||
builder = builder.Columns(adminApiRows)
|
||||
|
||||
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 []*AdminApi
|
||||
err = m.QueryRowsNoCacheCtx(ctx, &resp, query, values...)
|
||||
switch err {
|
||||
case nil:
|
||||
return resp, nil
|
||||
default:
|
||||
return nil, err
|
||||
}
|
||||
}
|
||||
|
||||
func (m *defaultAdminApiModel) FindPageListByPage(ctx context.Context, builder squirrel.SelectBuilder, page, pageSize int64, orderBy string) ([]*AdminApi, error) {
|
||||
|
||||
builder = builder.Columns(adminApiRows)
|
||||
|
||||
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 []*AdminApi
|
||||
err = m.QueryRowsNoCacheCtx(ctx, &resp, query, values...)
|
||||
switch err {
|
||||
case nil:
|
||||
return resp, nil
|
||||
default:
|
||||
return nil, err
|
||||
}
|
||||
}
|
||||
|
||||
func (m *defaultAdminApiModel) FindPageListByPageWithTotal(ctx context.Context, builder squirrel.SelectBuilder, page, pageSize int64, orderBy string) ([]*AdminApi, int64, error) {
|
||||
|
||||
total, err := m.FindCount(ctx, builder, "id")
|
||||
if err != nil {
|
||||
return nil, 0, err
|
||||
}
|
||||
|
||||
builder = builder.Columns(adminApiRows)
|
||||
|
||||
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 []*AdminApi
|
||||
err = m.QueryRowsNoCacheCtx(ctx, &resp, query, values...)
|
||||
switch err {
|
||||
case nil:
|
||||
return resp, total, nil
|
||||
default:
|
||||
return nil, total, err
|
||||
}
|
||||
}
|
||||
|
||||
func (m *defaultAdminApiModel) FindPageListByIdDESC(ctx context.Context, builder squirrel.SelectBuilder, preMinId, pageSize int64) ([]*AdminApi, error) {
|
||||
|
||||
builder = builder.Columns(adminApiRows)
|
||||
|
||||
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 []*AdminApi
|
||||
err = m.QueryRowsNoCacheCtx(ctx, &resp, query, values...)
|
||||
switch err {
|
||||
case nil:
|
||||
return resp, nil
|
||||
default:
|
||||
return nil, err
|
||||
}
|
||||
}
|
||||
|
||||
func (m *defaultAdminApiModel) FindPageListByIdASC(ctx context.Context, builder squirrel.SelectBuilder, preMaxId, pageSize int64) ([]*AdminApi, error) {
|
||||
|
||||
builder = builder.Columns(adminApiRows)
|
||||
|
||||
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 []*AdminApi
|
||||
err = m.QueryRowsNoCacheCtx(ctx, &resp, query, values...)
|
||||
switch err {
|
||||
case nil:
|
||||
return resp, nil
|
||||
default:
|
||||
return nil, err
|
||||
}
|
||||
}
|
||||
|
||||
func (m *defaultAdminApiModel) 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 *defaultAdminApiModel) SelectBuilder() squirrel.SelectBuilder {
|
||||
return squirrel.Select().From(m.table)
|
||||
}
|
||||
func (m *defaultAdminApiModel) Delete(ctx context.Context, session sqlx.Session, id int64) error {
|
||||
data, err := m.FindOne(ctx, id)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
tycAdminApiApiCodeKey := fmt.Sprintf("%s%v", cacheTycAdminApiApiCodePrefix, data.ApiCode)
|
||||
tycAdminApiIdKey := fmt.Sprintf("%s%v", cacheTycAdminApiIdPrefix, 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)
|
||||
}, tycAdminApiApiCodeKey, tycAdminApiIdKey)
|
||||
return err
|
||||
}
|
||||
func (m *defaultAdminApiModel) formatPrimary(primary interface{}) string {
|
||||
return fmt.Sprintf("%s%v", cacheTycAdminApiIdPrefix, primary)
|
||||
}
|
||||
func (m *defaultAdminApiModel) 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", adminApiRows, m.table)
|
||||
return conn.QueryRowCtx(ctx, v, query, primary, globalkey.DelStateNo)
|
||||
}
|
||||
|
||||
func (m *defaultAdminApiModel) tableName() string {
|
||||
return m.table
|
||||
}
|
||||
27
app/main/model/adminDictDataModel.go
Normal file
27
app/main/model/adminDictDataModel.go
Normal file
@@ -0,0 +1,27 @@
|
||||
package model
|
||||
|
||||
import (
|
||||
"github.com/zeromicro/go-zero/core/stores/cache"
|
||||
"github.com/zeromicro/go-zero/core/stores/sqlx"
|
||||
)
|
||||
|
||||
var _ AdminDictDataModel = (*customAdminDictDataModel)(nil)
|
||||
|
||||
type (
|
||||
// AdminDictDataModel is an interface to be customized, add more methods here,
|
||||
// and implement the added methods in customAdminDictDataModel.
|
||||
AdminDictDataModel interface {
|
||||
adminDictDataModel
|
||||
}
|
||||
|
||||
customAdminDictDataModel struct {
|
||||
*defaultAdminDictDataModel
|
||||
}
|
||||
)
|
||||
|
||||
// NewAdminDictDataModel returns a model for the database table.
|
||||
func NewAdminDictDataModel(conn sqlx.SqlConn, c cache.CacheConf) AdminDictDataModel {
|
||||
return &customAdminDictDataModel{
|
||||
defaultAdminDictDataModel: newAdminDictDataModel(conn, c),
|
||||
}
|
||||
}
|
||||
437
app/main/model/adminDictDataModel_gen.go
Normal file
437
app/main/model/adminDictDataModel_gen.go
Normal file
@@ -0,0 +1,437 @@
|
||||
// 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
|
||||
}
|
||||
27
app/main/model/adminDictTypeModel.go
Normal file
27
app/main/model/adminDictTypeModel.go
Normal file
@@ -0,0 +1,27 @@
|
||||
package model
|
||||
|
||||
import (
|
||||
"github.com/zeromicro/go-zero/core/stores/cache"
|
||||
"github.com/zeromicro/go-zero/core/stores/sqlx"
|
||||
)
|
||||
|
||||
var _ AdminDictTypeModel = (*customAdminDictTypeModel)(nil)
|
||||
|
||||
type (
|
||||
// AdminDictTypeModel is an interface to be customized, add more methods here,
|
||||
// and implement the added methods in customAdminDictTypeModel.
|
||||
AdminDictTypeModel interface {
|
||||
adminDictTypeModel
|
||||
}
|
||||
|
||||
customAdminDictTypeModel struct {
|
||||
*defaultAdminDictTypeModel
|
||||
}
|
||||
)
|
||||
|
||||
// NewAdminDictTypeModel returns a model for the database table.
|
||||
func NewAdminDictTypeModel(conn sqlx.SqlConn, c cache.CacheConf) AdminDictTypeModel {
|
||||
return &customAdminDictTypeModel{
|
||||
defaultAdminDictTypeModel: newAdminDictTypeModel(conn, c),
|
||||
}
|
||||
}
|
||||
409
app/main/model/adminDictTypeModel_gen.go
Normal file
409
app/main/model/adminDictTypeModel_gen.go
Normal file
@@ -0,0 +1,409 @@
|
||||
// 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 (
|
||||
adminDictTypeFieldNames = builder.RawFieldNames(&AdminDictType{})
|
||||
adminDictTypeRows = strings.Join(adminDictTypeFieldNames, ",")
|
||||
adminDictTypeRowsExpectAutoSet = strings.Join(stringx.Remove(adminDictTypeFieldNames, "`id`", "`create_time`", "`update_time`"), ",")
|
||||
adminDictTypeRowsWithPlaceHolder = strings.Join(stringx.Remove(adminDictTypeFieldNames, "`id`", "`create_time`", "`update_time`"), "=?,") + "=?"
|
||||
|
||||
cacheTycAdminDictTypeIdPrefix = "cache:tyc:adminDictType:id:"
|
||||
cacheTycAdminDictTypeDictTypePrefix = "cache:tyc:adminDictType:dictType:"
|
||||
)
|
||||
|
||||
type (
|
||||
adminDictTypeModel interface {
|
||||
Insert(ctx context.Context, session sqlx.Session, data *AdminDictType) (sql.Result, error)
|
||||
FindOne(ctx context.Context, id int64) (*AdminDictType, error)
|
||||
FindOneByDictType(ctx context.Context, dictType string) (*AdminDictType, error)
|
||||
Update(ctx context.Context, session sqlx.Session, data *AdminDictType) (sql.Result, error)
|
||||
UpdateWithVersion(ctx context.Context, session sqlx.Session, data *AdminDictType) 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 *AdminDictType) 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) ([]*AdminDictType, error)
|
||||
FindPageListByPage(ctx context.Context, rowBuilder squirrel.SelectBuilder, page, pageSize int64, orderBy string) ([]*AdminDictType, error)
|
||||
FindPageListByPageWithTotal(ctx context.Context, rowBuilder squirrel.SelectBuilder, page, pageSize int64, orderBy string) ([]*AdminDictType, int64, error)
|
||||
FindPageListByIdDESC(ctx context.Context, rowBuilder squirrel.SelectBuilder, preMinId, pageSize int64) ([]*AdminDictType, error)
|
||||
FindPageListByIdASC(ctx context.Context, rowBuilder squirrel.SelectBuilder, preMaxId, pageSize int64) ([]*AdminDictType, error)
|
||||
Delete(ctx context.Context, session sqlx.Session, id int64) error
|
||||
}
|
||||
|
||||
defaultAdminDictTypeModel struct {
|
||||
sqlc.CachedConn
|
||||
table string
|
||||
}
|
||||
|
||||
AdminDictType 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"` // 字典类型编码
|
||||
DictName string `db:"dict_name"` // 字典类型名称
|
||||
Status int64 `db:"status"` // 状态:0-禁用,1-启用
|
||||
Remark sql.NullString `db:"remark"` // 备注
|
||||
}
|
||||
)
|
||||
|
||||
func newAdminDictTypeModel(conn sqlx.SqlConn, c cache.CacheConf) *defaultAdminDictTypeModel {
|
||||
return &defaultAdminDictTypeModel{
|
||||
CachedConn: sqlc.NewConn(conn, c),
|
||||
table: "`admin_dict_type`",
|
||||
}
|
||||
}
|
||||
|
||||
func (m *defaultAdminDictTypeModel) Insert(ctx context.Context, session sqlx.Session, data *AdminDictType) (sql.Result, error) {
|
||||
data.DelState = globalkey.DelStateNo
|
||||
tycAdminDictTypeDictTypeKey := fmt.Sprintf("%s%v", cacheTycAdminDictTypeDictTypePrefix, data.DictType)
|
||||
tycAdminDictTypeIdKey := fmt.Sprintf("%s%v", cacheTycAdminDictTypeIdPrefix, 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, adminDictTypeRowsExpectAutoSet)
|
||||
if session != nil {
|
||||
return session.ExecCtx(ctx, query, data.DeleteTime, data.DelState, data.Version, data.DictType, data.DictName, data.Status, data.Remark)
|
||||
}
|
||||
return conn.ExecCtx(ctx, query, data.DeleteTime, data.DelState, data.Version, data.DictType, data.DictName, data.Status, data.Remark)
|
||||
}, tycAdminDictTypeDictTypeKey, tycAdminDictTypeIdKey)
|
||||
}
|
||||
|
||||
func (m *defaultAdminDictTypeModel) FindOne(ctx context.Context, id int64) (*AdminDictType, error) {
|
||||
tycAdminDictTypeIdKey := fmt.Sprintf("%s%v", cacheTycAdminDictTypeIdPrefix, id)
|
||||
var resp AdminDictType
|
||||
err := m.QueryRowCtx(ctx, &resp, tycAdminDictTypeIdKey, func(ctx context.Context, conn sqlx.SqlConn, v interface{}) error {
|
||||
query := fmt.Sprintf("select %s from %s where `id` = ? and del_state = ? limit 1", adminDictTypeRows, 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 *defaultAdminDictTypeModel) FindOneByDictType(ctx context.Context, dictType string) (*AdminDictType, error) {
|
||||
tycAdminDictTypeDictTypeKey := fmt.Sprintf("%s%v", cacheTycAdminDictTypeDictTypePrefix, dictType)
|
||||
var resp AdminDictType
|
||||
err := m.QueryRowIndexCtx(ctx, &resp, tycAdminDictTypeDictTypeKey, 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 del_state = ? limit 1", adminDictTypeRows, m.table)
|
||||
if err := conn.QueryRowCtx(ctx, &resp, query, dictType, 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 *defaultAdminDictTypeModel) Update(ctx context.Context, session sqlx.Session, newData *AdminDictType) (sql.Result, error) {
|
||||
data, err := m.FindOne(ctx, newData.Id)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
tycAdminDictTypeDictTypeKey := fmt.Sprintf("%s%v", cacheTycAdminDictTypeDictTypePrefix, data.DictType)
|
||||
tycAdminDictTypeIdKey := fmt.Sprintf("%s%v", cacheTycAdminDictTypeIdPrefix, 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, adminDictTypeRowsWithPlaceHolder)
|
||||
if session != nil {
|
||||
return session.ExecCtx(ctx, query, newData.DeleteTime, newData.DelState, newData.Version, newData.DictType, newData.DictName, newData.Status, newData.Remark, newData.Id)
|
||||
}
|
||||
return conn.ExecCtx(ctx, query, newData.DeleteTime, newData.DelState, newData.Version, newData.DictType, newData.DictName, newData.Status, newData.Remark, newData.Id)
|
||||
}, tycAdminDictTypeDictTypeKey, tycAdminDictTypeIdKey)
|
||||
}
|
||||
|
||||
func (m *defaultAdminDictTypeModel) UpdateWithVersion(ctx context.Context, session sqlx.Session, newData *AdminDictType) 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
|
||||
}
|
||||
tycAdminDictTypeDictTypeKey := fmt.Sprintf("%s%v", cacheTycAdminDictTypeDictTypePrefix, data.DictType)
|
||||
tycAdminDictTypeIdKey := fmt.Sprintf("%s%v", cacheTycAdminDictTypeIdPrefix, 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, adminDictTypeRowsWithPlaceHolder)
|
||||
if session != nil {
|
||||
return session.ExecCtx(ctx, query, newData.DeleteTime, newData.DelState, newData.Version, newData.DictType, newData.DictName, newData.Status, newData.Remark, newData.Id, oldVersion)
|
||||
}
|
||||
return conn.ExecCtx(ctx, query, newData.DeleteTime, newData.DelState, newData.Version, newData.DictType, newData.DictName, newData.Status, newData.Remark, newData.Id, oldVersion)
|
||||
}, tycAdminDictTypeDictTypeKey, tycAdminDictTypeIdKey)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
updateCount, err := sqlResult.RowsAffected()
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
if updateCount == 0 {
|
||||
return ErrNoRowsUpdate
|
||||
}
|
||||
|
||||
return nil
|
||||
}
|
||||
|
||||
func (m *defaultAdminDictTypeModel) DeleteSoft(ctx context.Context, session sqlx.Session, data *AdminDictType) 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 "), "AdminDictTypeModel delete err : %+v", err)
|
||||
}
|
||||
return nil
|
||||
}
|
||||
|
||||
func (m *defaultAdminDictTypeModel) 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 *defaultAdminDictTypeModel) 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 *defaultAdminDictTypeModel) FindAll(ctx context.Context, builder squirrel.SelectBuilder, orderBy string) ([]*AdminDictType, error) {
|
||||
|
||||
builder = builder.Columns(adminDictTypeRows)
|
||||
|
||||
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 []*AdminDictType
|
||||
err = m.QueryRowsNoCacheCtx(ctx, &resp, query, values...)
|
||||
switch err {
|
||||
case nil:
|
||||
return resp, nil
|
||||
default:
|
||||
return nil, err
|
||||
}
|
||||
}
|
||||
|
||||
func (m *defaultAdminDictTypeModel) FindPageListByPage(ctx context.Context, builder squirrel.SelectBuilder, page, pageSize int64, orderBy string) ([]*AdminDictType, error) {
|
||||
|
||||
builder = builder.Columns(adminDictTypeRows)
|
||||
|
||||
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 []*AdminDictType
|
||||
err = m.QueryRowsNoCacheCtx(ctx, &resp, query, values...)
|
||||
switch err {
|
||||
case nil:
|
||||
return resp, nil
|
||||
default:
|
||||
return nil, err
|
||||
}
|
||||
}
|
||||
|
||||
func (m *defaultAdminDictTypeModel) FindPageListByPageWithTotal(ctx context.Context, builder squirrel.SelectBuilder, page, pageSize int64, orderBy string) ([]*AdminDictType, int64, error) {
|
||||
|
||||
total, err := m.FindCount(ctx, builder, "id")
|
||||
if err != nil {
|
||||
return nil, 0, err
|
||||
}
|
||||
|
||||
builder = builder.Columns(adminDictTypeRows)
|
||||
|
||||
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 []*AdminDictType
|
||||
err = m.QueryRowsNoCacheCtx(ctx, &resp, query, values...)
|
||||
switch err {
|
||||
case nil:
|
||||
return resp, total, nil
|
||||
default:
|
||||
return nil, total, err
|
||||
}
|
||||
}
|
||||
|
||||
func (m *defaultAdminDictTypeModel) FindPageListByIdDESC(ctx context.Context, builder squirrel.SelectBuilder, preMinId, pageSize int64) ([]*AdminDictType, error) {
|
||||
|
||||
builder = builder.Columns(adminDictTypeRows)
|
||||
|
||||
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 []*AdminDictType
|
||||
err = m.QueryRowsNoCacheCtx(ctx, &resp, query, values...)
|
||||
switch err {
|
||||
case nil:
|
||||
return resp, nil
|
||||
default:
|
||||
return nil, err
|
||||
}
|
||||
}
|
||||
|
||||
func (m *defaultAdminDictTypeModel) FindPageListByIdASC(ctx context.Context, builder squirrel.SelectBuilder, preMaxId, pageSize int64) ([]*AdminDictType, error) {
|
||||
|
||||
builder = builder.Columns(adminDictTypeRows)
|
||||
|
||||
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 []*AdminDictType
|
||||
err = m.QueryRowsNoCacheCtx(ctx, &resp, query, values...)
|
||||
switch err {
|
||||
case nil:
|
||||
return resp, nil
|
||||
default:
|
||||
return nil, err
|
||||
}
|
||||
}
|
||||
|
||||
func (m *defaultAdminDictTypeModel) 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 *defaultAdminDictTypeModel) SelectBuilder() squirrel.SelectBuilder {
|
||||
return squirrel.Select().From(m.table)
|
||||
}
|
||||
func (m *defaultAdminDictTypeModel) Delete(ctx context.Context, session sqlx.Session, id int64) error {
|
||||
data, err := m.FindOne(ctx, id)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
tycAdminDictTypeDictTypeKey := fmt.Sprintf("%s%v", cacheTycAdminDictTypeDictTypePrefix, data.DictType)
|
||||
tycAdminDictTypeIdKey := fmt.Sprintf("%s%v", cacheTycAdminDictTypeIdPrefix, 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)
|
||||
}, tycAdminDictTypeDictTypeKey, tycAdminDictTypeIdKey)
|
||||
return err
|
||||
}
|
||||
func (m *defaultAdminDictTypeModel) formatPrimary(primary interface{}) string {
|
||||
return fmt.Sprintf("%s%v", cacheTycAdminDictTypeIdPrefix, primary)
|
||||
}
|
||||
func (m *defaultAdminDictTypeModel) 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", adminDictTypeRows, m.table)
|
||||
return conn.QueryRowCtx(ctx, v, query, primary, globalkey.DelStateNo)
|
||||
}
|
||||
|
||||
func (m *defaultAdminDictTypeModel) tableName() string {
|
||||
return m.table
|
||||
}
|
||||
27
app/main/model/adminMenuModel.go
Normal file
27
app/main/model/adminMenuModel.go
Normal file
@@ -0,0 +1,27 @@
|
||||
package model
|
||||
|
||||
import (
|
||||
"github.com/zeromicro/go-zero/core/stores/cache"
|
||||
"github.com/zeromicro/go-zero/core/stores/sqlx"
|
||||
)
|
||||
|
||||
var _ AdminMenuModel = (*customAdminMenuModel)(nil)
|
||||
|
||||
type (
|
||||
// AdminMenuModel is an interface to be customized, add more methods here,
|
||||
// and implement the added methods in customAdminMenuModel.
|
||||
AdminMenuModel interface {
|
||||
adminMenuModel
|
||||
}
|
||||
|
||||
customAdminMenuModel struct {
|
||||
*defaultAdminMenuModel
|
||||
}
|
||||
)
|
||||
|
||||
// NewAdminMenuModel returns a model for the database table.
|
||||
func NewAdminMenuModel(conn sqlx.SqlConn, c cache.CacheConf) AdminMenuModel {
|
||||
return &customAdminMenuModel{
|
||||
defaultAdminMenuModel: newAdminMenuModel(conn, c),
|
||||
}
|
||||
}
|
||||
414
app/main/model/adminMenuModel_gen.go
Normal file
414
app/main/model/adminMenuModel_gen.go
Normal file
@@ -0,0 +1,414 @@
|
||||
// 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 (
|
||||
adminMenuFieldNames = builder.RawFieldNames(&AdminMenu{})
|
||||
adminMenuRows = strings.Join(adminMenuFieldNames, ",")
|
||||
adminMenuRowsExpectAutoSet = strings.Join(stringx.Remove(adminMenuFieldNames, "`id`", "`create_time`", "`update_time`"), ",")
|
||||
adminMenuRowsWithPlaceHolder = strings.Join(stringx.Remove(adminMenuFieldNames, "`id`", "`create_time`", "`update_time`"), "=?,") + "=?"
|
||||
|
||||
cacheTycAdminMenuIdPrefix = "cache:tyc:adminMenu:id:"
|
||||
cacheTycAdminMenuNamePathPrefix = "cache:tyc:adminMenu:name:path:"
|
||||
)
|
||||
|
||||
type (
|
||||
adminMenuModel interface {
|
||||
Insert(ctx context.Context, session sqlx.Session, data *AdminMenu) (sql.Result, error)
|
||||
FindOne(ctx context.Context, id int64) (*AdminMenu, error)
|
||||
FindOneByNamePath(ctx context.Context, name string, path string) (*AdminMenu, error)
|
||||
Update(ctx context.Context, session sqlx.Session, data *AdminMenu) (sql.Result, error)
|
||||
UpdateWithVersion(ctx context.Context, session sqlx.Session, data *AdminMenu) 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 *AdminMenu) 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) ([]*AdminMenu, error)
|
||||
FindPageListByPage(ctx context.Context, rowBuilder squirrel.SelectBuilder, page, pageSize int64, orderBy string) ([]*AdminMenu, error)
|
||||
FindPageListByPageWithTotal(ctx context.Context, rowBuilder squirrel.SelectBuilder, page, pageSize int64, orderBy string) ([]*AdminMenu, int64, error)
|
||||
FindPageListByIdDESC(ctx context.Context, rowBuilder squirrel.SelectBuilder, preMinId, pageSize int64) ([]*AdminMenu, error)
|
||||
FindPageListByIdASC(ctx context.Context, rowBuilder squirrel.SelectBuilder, preMaxId, pageSize int64) ([]*AdminMenu, error)
|
||||
Delete(ctx context.Context, session sqlx.Session, id int64) error
|
||||
}
|
||||
|
||||
defaultAdminMenuModel struct {
|
||||
sqlc.CachedConn
|
||||
table string
|
||||
}
|
||||
|
||||
AdminMenu 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"` // 版本号
|
||||
Pid int64 `db:"pid"` // 父菜单ID
|
||||
Name string `db:"name"` // 路由名称
|
||||
Path string `db:"path"` // 路由路径
|
||||
Component string `db:"component"` // 组件路径
|
||||
Redirect sql.NullString `db:"redirect"` // 重定向路径
|
||||
Meta string `db:"meta"` // 路由元数据配置
|
||||
Status int64 `db:"status"` // 状态: 0-禁用, 1-启用
|
||||
Type int64 `db:"type"`
|
||||
Sort int64 `db:"sort"` // 排序号
|
||||
}
|
||||
)
|
||||
|
||||
func newAdminMenuModel(conn sqlx.SqlConn, c cache.CacheConf) *defaultAdminMenuModel {
|
||||
return &defaultAdminMenuModel{
|
||||
CachedConn: sqlc.NewConn(conn, c),
|
||||
table: "`admin_menu`",
|
||||
}
|
||||
}
|
||||
|
||||
func (m *defaultAdminMenuModel) Insert(ctx context.Context, session sqlx.Session, data *AdminMenu) (sql.Result, error) {
|
||||
data.DelState = globalkey.DelStateNo
|
||||
tycAdminMenuIdKey := fmt.Sprintf("%s%v", cacheTycAdminMenuIdPrefix, data.Id)
|
||||
tycAdminMenuNamePathKey := fmt.Sprintf("%s%v:%v", cacheTycAdminMenuNamePathPrefix, data.Name, data.Path)
|
||||
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, adminMenuRowsExpectAutoSet)
|
||||
if session != nil {
|
||||
return session.ExecCtx(ctx, query, data.DeleteTime, data.DelState, data.Version, data.Pid, data.Name, data.Path, data.Component, data.Redirect, data.Meta, data.Status, data.Type, data.Sort)
|
||||
}
|
||||
return conn.ExecCtx(ctx, query, data.DeleteTime, data.DelState, data.Version, data.Pid, data.Name, data.Path, data.Component, data.Redirect, data.Meta, data.Status, data.Type, data.Sort)
|
||||
}, tycAdminMenuIdKey, tycAdminMenuNamePathKey)
|
||||
}
|
||||
|
||||
func (m *defaultAdminMenuModel) FindOne(ctx context.Context, id int64) (*AdminMenu, error) {
|
||||
tycAdminMenuIdKey := fmt.Sprintf("%s%v", cacheTycAdminMenuIdPrefix, id)
|
||||
var resp AdminMenu
|
||||
err := m.QueryRowCtx(ctx, &resp, tycAdminMenuIdKey, func(ctx context.Context, conn sqlx.SqlConn, v interface{}) error {
|
||||
query := fmt.Sprintf("select %s from %s where `id` = ? and del_state = ? limit 1", adminMenuRows, 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 *defaultAdminMenuModel) FindOneByNamePath(ctx context.Context, name string, path string) (*AdminMenu, error) {
|
||||
tycAdminMenuNamePathKey := fmt.Sprintf("%s%v:%v", cacheTycAdminMenuNamePathPrefix, name, path)
|
||||
var resp AdminMenu
|
||||
err := m.QueryRowIndexCtx(ctx, &resp, tycAdminMenuNamePathKey, m.formatPrimary, func(ctx context.Context, conn sqlx.SqlConn, v interface{}) (i interface{}, e error) {
|
||||
query := fmt.Sprintf("select %s from %s where `name` = ? and `path` = ? and del_state = ? limit 1", adminMenuRows, m.table)
|
||||
if err := conn.QueryRowCtx(ctx, &resp, query, name, path, 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 *defaultAdminMenuModel) Update(ctx context.Context, session sqlx.Session, newData *AdminMenu) (sql.Result, error) {
|
||||
data, err := m.FindOne(ctx, newData.Id)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
tycAdminMenuIdKey := fmt.Sprintf("%s%v", cacheTycAdminMenuIdPrefix, data.Id)
|
||||
tycAdminMenuNamePathKey := fmt.Sprintf("%s%v:%v", cacheTycAdminMenuNamePathPrefix, data.Name, data.Path)
|
||||
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, adminMenuRowsWithPlaceHolder)
|
||||
if session != nil {
|
||||
return session.ExecCtx(ctx, query, newData.DeleteTime, newData.DelState, newData.Version, newData.Pid, newData.Name, newData.Path, newData.Component, newData.Redirect, newData.Meta, newData.Status, newData.Type, newData.Sort, newData.Id)
|
||||
}
|
||||
return conn.ExecCtx(ctx, query, newData.DeleteTime, newData.DelState, newData.Version, newData.Pid, newData.Name, newData.Path, newData.Component, newData.Redirect, newData.Meta, newData.Status, newData.Type, newData.Sort, newData.Id)
|
||||
}, tycAdminMenuIdKey, tycAdminMenuNamePathKey)
|
||||
}
|
||||
|
||||
func (m *defaultAdminMenuModel) UpdateWithVersion(ctx context.Context, session sqlx.Session, newData *AdminMenu) 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
|
||||
}
|
||||
tycAdminMenuIdKey := fmt.Sprintf("%s%v", cacheTycAdminMenuIdPrefix, data.Id)
|
||||
tycAdminMenuNamePathKey := fmt.Sprintf("%s%v:%v", cacheTycAdminMenuNamePathPrefix, data.Name, data.Path)
|
||||
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, adminMenuRowsWithPlaceHolder)
|
||||
if session != nil {
|
||||
return session.ExecCtx(ctx, query, newData.DeleteTime, newData.DelState, newData.Version, newData.Pid, newData.Name, newData.Path, newData.Component, newData.Redirect, newData.Meta, newData.Status, newData.Type, newData.Sort, newData.Id, oldVersion)
|
||||
}
|
||||
return conn.ExecCtx(ctx, query, newData.DeleteTime, newData.DelState, newData.Version, newData.Pid, newData.Name, newData.Path, newData.Component, newData.Redirect, newData.Meta, newData.Status, newData.Type, newData.Sort, newData.Id, oldVersion)
|
||||
}, tycAdminMenuIdKey, tycAdminMenuNamePathKey)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
updateCount, err := sqlResult.RowsAffected()
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
if updateCount == 0 {
|
||||
return ErrNoRowsUpdate
|
||||
}
|
||||
|
||||
return nil
|
||||
}
|
||||
|
||||
func (m *defaultAdminMenuModel) DeleteSoft(ctx context.Context, session sqlx.Session, data *AdminMenu) 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 "), "AdminMenuModel delete err : %+v", err)
|
||||
}
|
||||
return nil
|
||||
}
|
||||
|
||||
func (m *defaultAdminMenuModel) 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 *defaultAdminMenuModel) 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 *defaultAdminMenuModel) FindAll(ctx context.Context, builder squirrel.SelectBuilder, orderBy string) ([]*AdminMenu, error) {
|
||||
|
||||
builder = builder.Columns(adminMenuRows)
|
||||
|
||||
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 []*AdminMenu
|
||||
err = m.QueryRowsNoCacheCtx(ctx, &resp, query, values...)
|
||||
switch err {
|
||||
case nil:
|
||||
return resp, nil
|
||||
default:
|
||||
return nil, err
|
||||
}
|
||||
}
|
||||
|
||||
func (m *defaultAdminMenuModel) FindPageListByPage(ctx context.Context, builder squirrel.SelectBuilder, page, pageSize int64, orderBy string) ([]*AdminMenu, error) {
|
||||
|
||||
builder = builder.Columns(adminMenuRows)
|
||||
|
||||
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 []*AdminMenu
|
||||
err = m.QueryRowsNoCacheCtx(ctx, &resp, query, values...)
|
||||
switch err {
|
||||
case nil:
|
||||
return resp, nil
|
||||
default:
|
||||
return nil, err
|
||||
}
|
||||
}
|
||||
|
||||
func (m *defaultAdminMenuModel) FindPageListByPageWithTotal(ctx context.Context, builder squirrel.SelectBuilder, page, pageSize int64, orderBy string) ([]*AdminMenu, int64, error) {
|
||||
|
||||
total, err := m.FindCount(ctx, builder, "id")
|
||||
if err != nil {
|
||||
return nil, 0, err
|
||||
}
|
||||
|
||||
builder = builder.Columns(adminMenuRows)
|
||||
|
||||
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 []*AdminMenu
|
||||
err = m.QueryRowsNoCacheCtx(ctx, &resp, query, values...)
|
||||
switch err {
|
||||
case nil:
|
||||
return resp, total, nil
|
||||
default:
|
||||
return nil, total, err
|
||||
}
|
||||
}
|
||||
|
||||
func (m *defaultAdminMenuModel) FindPageListByIdDESC(ctx context.Context, builder squirrel.SelectBuilder, preMinId, pageSize int64) ([]*AdminMenu, error) {
|
||||
|
||||
builder = builder.Columns(adminMenuRows)
|
||||
|
||||
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 []*AdminMenu
|
||||
err = m.QueryRowsNoCacheCtx(ctx, &resp, query, values...)
|
||||
switch err {
|
||||
case nil:
|
||||
return resp, nil
|
||||
default:
|
||||
return nil, err
|
||||
}
|
||||
}
|
||||
|
||||
func (m *defaultAdminMenuModel) FindPageListByIdASC(ctx context.Context, builder squirrel.SelectBuilder, preMaxId, pageSize int64) ([]*AdminMenu, error) {
|
||||
|
||||
builder = builder.Columns(adminMenuRows)
|
||||
|
||||
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 []*AdminMenu
|
||||
err = m.QueryRowsNoCacheCtx(ctx, &resp, query, values...)
|
||||
switch err {
|
||||
case nil:
|
||||
return resp, nil
|
||||
default:
|
||||
return nil, err
|
||||
}
|
||||
}
|
||||
|
||||
func (m *defaultAdminMenuModel) 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 *defaultAdminMenuModel) SelectBuilder() squirrel.SelectBuilder {
|
||||
return squirrel.Select().From(m.table)
|
||||
}
|
||||
func (m *defaultAdminMenuModel) Delete(ctx context.Context, session sqlx.Session, id int64) error {
|
||||
data, err := m.FindOne(ctx, id)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
tycAdminMenuIdKey := fmt.Sprintf("%s%v", cacheTycAdminMenuIdPrefix, id)
|
||||
tycAdminMenuNamePathKey := fmt.Sprintf("%s%v:%v", cacheTycAdminMenuNamePathPrefix, data.Name, data.Path)
|
||||
_, 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)
|
||||
}, tycAdminMenuIdKey, tycAdminMenuNamePathKey)
|
||||
return err
|
||||
}
|
||||
func (m *defaultAdminMenuModel) formatPrimary(primary interface{}) string {
|
||||
return fmt.Sprintf("%s%v", cacheTycAdminMenuIdPrefix, primary)
|
||||
}
|
||||
func (m *defaultAdminMenuModel) 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", adminMenuRows, m.table)
|
||||
return conn.QueryRowCtx(ctx, v, query, primary, globalkey.DelStateNo)
|
||||
}
|
||||
|
||||
func (m *defaultAdminMenuModel) tableName() string {
|
||||
return m.table
|
||||
}
|
||||
27
app/main/model/adminPromotionLinkModel.go
Normal file
27
app/main/model/adminPromotionLinkModel.go
Normal file
@@ -0,0 +1,27 @@
|
||||
package model
|
||||
|
||||
import (
|
||||
"github.com/zeromicro/go-zero/core/stores/cache"
|
||||
"github.com/zeromicro/go-zero/core/stores/sqlx"
|
||||
)
|
||||
|
||||
var _ AdminPromotionLinkModel = (*customAdminPromotionLinkModel)(nil)
|
||||
|
||||
type (
|
||||
// AdminPromotionLinkModel is an interface to be customized, add more methods here,
|
||||
// and implement the added methods in customAdminPromotionLinkModel.
|
||||
AdminPromotionLinkModel interface {
|
||||
adminPromotionLinkModel
|
||||
}
|
||||
|
||||
customAdminPromotionLinkModel struct {
|
||||
*defaultAdminPromotionLinkModel
|
||||
}
|
||||
)
|
||||
|
||||
// NewAdminPromotionLinkModel returns a model for the database table.
|
||||
func NewAdminPromotionLinkModel(conn sqlx.SqlConn, c cache.CacheConf) AdminPromotionLinkModel {
|
||||
return &customAdminPromotionLinkModel{
|
||||
defaultAdminPromotionLinkModel: newAdminPromotionLinkModel(conn, c),
|
||||
}
|
||||
}
|
||||
408
app/main/model/adminPromotionLinkModel_gen.go
Normal file
408
app/main/model/adminPromotionLinkModel_gen.go
Normal file
@@ -0,0 +1,408 @@
|
||||
// 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 (
|
||||
adminPromotionLinkFieldNames = builder.RawFieldNames(&AdminPromotionLink{})
|
||||
adminPromotionLinkRows = strings.Join(adminPromotionLinkFieldNames, ",")
|
||||
adminPromotionLinkRowsExpectAutoSet = strings.Join(stringx.Remove(adminPromotionLinkFieldNames, "`id`", "`create_time`", "`update_time`"), ",")
|
||||
adminPromotionLinkRowsWithPlaceHolder = strings.Join(stringx.Remove(adminPromotionLinkFieldNames, "`id`", "`create_time`", "`update_time`"), "=?,") + "=?"
|
||||
|
||||
cacheTycAdminPromotionLinkIdPrefix = "cache:tyc:adminPromotionLink:id:"
|
||||
cacheTycAdminPromotionLinkUrlPrefix = "cache:tyc:adminPromotionLink:url:"
|
||||
)
|
||||
|
||||
type (
|
||||
adminPromotionLinkModel interface {
|
||||
Insert(ctx context.Context, session sqlx.Session, data *AdminPromotionLink) (sql.Result, error)
|
||||
FindOne(ctx context.Context, id int64) (*AdminPromotionLink, error)
|
||||
FindOneByUrl(ctx context.Context, url string) (*AdminPromotionLink, error)
|
||||
Update(ctx context.Context, session sqlx.Session, data *AdminPromotionLink) (sql.Result, error)
|
||||
UpdateWithVersion(ctx context.Context, session sqlx.Session, data *AdminPromotionLink) 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 *AdminPromotionLink) 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) ([]*AdminPromotionLink, error)
|
||||
FindPageListByPage(ctx context.Context, rowBuilder squirrel.SelectBuilder, page, pageSize int64, orderBy string) ([]*AdminPromotionLink, error)
|
||||
FindPageListByPageWithTotal(ctx context.Context, rowBuilder squirrel.SelectBuilder, page, pageSize int64, orderBy string) ([]*AdminPromotionLink, int64, error)
|
||||
FindPageListByIdDESC(ctx context.Context, rowBuilder squirrel.SelectBuilder, preMinId, pageSize int64) ([]*AdminPromotionLink, error)
|
||||
FindPageListByIdASC(ctx context.Context, rowBuilder squirrel.SelectBuilder, preMaxId, pageSize int64) ([]*AdminPromotionLink, error)
|
||||
Delete(ctx context.Context, session sqlx.Session, id int64) error
|
||||
}
|
||||
|
||||
defaultAdminPromotionLinkModel struct {
|
||||
sqlc.CachedConn
|
||||
table string
|
||||
}
|
||||
|
||||
AdminPromotionLink 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"` // 版本号
|
||||
Url string `db:"url"` // 推广链接URL
|
||||
Name string `db:"name"` // 推广链接名称
|
||||
AdminUserId int64 `db:"admin_user_id"` // 推广者账号ID
|
||||
}
|
||||
)
|
||||
|
||||
func newAdminPromotionLinkModel(conn sqlx.SqlConn, c cache.CacheConf) *defaultAdminPromotionLinkModel {
|
||||
return &defaultAdminPromotionLinkModel{
|
||||
CachedConn: sqlc.NewConn(conn, c),
|
||||
table: "`admin_promotion_link`",
|
||||
}
|
||||
}
|
||||
|
||||
func (m *defaultAdminPromotionLinkModel) Insert(ctx context.Context, session sqlx.Session, data *AdminPromotionLink) (sql.Result, error) {
|
||||
data.DelState = globalkey.DelStateNo
|
||||
tycAdminPromotionLinkIdKey := fmt.Sprintf("%s%v", cacheTycAdminPromotionLinkIdPrefix, data.Id)
|
||||
tycAdminPromotionLinkUrlKey := fmt.Sprintf("%s%v", cacheTycAdminPromotionLinkUrlPrefix, data.Url)
|
||||
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, adminPromotionLinkRowsExpectAutoSet)
|
||||
if session != nil {
|
||||
return session.ExecCtx(ctx, query, data.DeleteTime, data.DelState, data.Version, data.Url, data.Name, data.AdminUserId)
|
||||
}
|
||||
return conn.ExecCtx(ctx, query, data.DeleteTime, data.DelState, data.Version, data.Url, data.Name, data.AdminUserId)
|
||||
}, tycAdminPromotionLinkIdKey, tycAdminPromotionLinkUrlKey)
|
||||
}
|
||||
|
||||
func (m *defaultAdminPromotionLinkModel) FindOne(ctx context.Context, id int64) (*AdminPromotionLink, error) {
|
||||
tycAdminPromotionLinkIdKey := fmt.Sprintf("%s%v", cacheTycAdminPromotionLinkIdPrefix, id)
|
||||
var resp AdminPromotionLink
|
||||
err := m.QueryRowCtx(ctx, &resp, tycAdminPromotionLinkIdKey, func(ctx context.Context, conn sqlx.SqlConn, v interface{}) error {
|
||||
query := fmt.Sprintf("select %s from %s where `id` = ? and del_state = ? limit 1", adminPromotionLinkRows, 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 *defaultAdminPromotionLinkModel) FindOneByUrl(ctx context.Context, url string) (*AdminPromotionLink, error) {
|
||||
tycAdminPromotionLinkUrlKey := fmt.Sprintf("%s%v", cacheTycAdminPromotionLinkUrlPrefix, url)
|
||||
var resp AdminPromotionLink
|
||||
err := m.QueryRowIndexCtx(ctx, &resp, tycAdminPromotionLinkUrlKey, m.formatPrimary, func(ctx context.Context, conn sqlx.SqlConn, v interface{}) (i interface{}, e error) {
|
||||
query := fmt.Sprintf("select %s from %s where `url` = ? and del_state = ? limit 1", adminPromotionLinkRows, m.table)
|
||||
if err := conn.QueryRowCtx(ctx, &resp, query, url, 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 *defaultAdminPromotionLinkModel) Update(ctx context.Context, session sqlx.Session, newData *AdminPromotionLink) (sql.Result, error) {
|
||||
data, err := m.FindOne(ctx, newData.Id)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
tycAdminPromotionLinkIdKey := fmt.Sprintf("%s%v", cacheTycAdminPromotionLinkIdPrefix, data.Id)
|
||||
tycAdminPromotionLinkUrlKey := fmt.Sprintf("%s%v", cacheTycAdminPromotionLinkUrlPrefix, data.Url)
|
||||
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, adminPromotionLinkRowsWithPlaceHolder)
|
||||
if session != nil {
|
||||
return session.ExecCtx(ctx, query, newData.DeleteTime, newData.DelState, newData.Version, newData.Url, newData.Name, newData.AdminUserId, newData.Id)
|
||||
}
|
||||
return conn.ExecCtx(ctx, query, newData.DeleteTime, newData.DelState, newData.Version, newData.Url, newData.Name, newData.AdminUserId, newData.Id)
|
||||
}, tycAdminPromotionLinkIdKey, tycAdminPromotionLinkUrlKey)
|
||||
}
|
||||
|
||||
func (m *defaultAdminPromotionLinkModel) UpdateWithVersion(ctx context.Context, session sqlx.Session, newData *AdminPromotionLink) 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
|
||||
}
|
||||
tycAdminPromotionLinkIdKey := fmt.Sprintf("%s%v", cacheTycAdminPromotionLinkIdPrefix, data.Id)
|
||||
tycAdminPromotionLinkUrlKey := fmt.Sprintf("%s%v", cacheTycAdminPromotionLinkUrlPrefix, data.Url)
|
||||
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, adminPromotionLinkRowsWithPlaceHolder)
|
||||
if session != nil {
|
||||
return session.ExecCtx(ctx, query, newData.DeleteTime, newData.DelState, newData.Version, newData.Url, newData.Name, newData.AdminUserId, newData.Id, oldVersion)
|
||||
}
|
||||
return conn.ExecCtx(ctx, query, newData.DeleteTime, newData.DelState, newData.Version, newData.Url, newData.Name, newData.AdminUserId, newData.Id, oldVersion)
|
||||
}, tycAdminPromotionLinkIdKey, tycAdminPromotionLinkUrlKey)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
updateCount, err := sqlResult.RowsAffected()
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
if updateCount == 0 {
|
||||
return ErrNoRowsUpdate
|
||||
}
|
||||
|
||||
return nil
|
||||
}
|
||||
|
||||
func (m *defaultAdminPromotionLinkModel) DeleteSoft(ctx context.Context, session sqlx.Session, data *AdminPromotionLink) 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 "), "AdminPromotionLinkModel delete err : %+v", err)
|
||||
}
|
||||
return nil
|
||||
}
|
||||
|
||||
func (m *defaultAdminPromotionLinkModel) 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 *defaultAdminPromotionLinkModel) 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 *defaultAdminPromotionLinkModel) FindAll(ctx context.Context, builder squirrel.SelectBuilder, orderBy string) ([]*AdminPromotionLink, error) {
|
||||
|
||||
builder = builder.Columns(adminPromotionLinkRows)
|
||||
|
||||
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 []*AdminPromotionLink
|
||||
err = m.QueryRowsNoCacheCtx(ctx, &resp, query, values...)
|
||||
switch err {
|
||||
case nil:
|
||||
return resp, nil
|
||||
default:
|
||||
return nil, err
|
||||
}
|
||||
}
|
||||
|
||||
func (m *defaultAdminPromotionLinkModel) FindPageListByPage(ctx context.Context, builder squirrel.SelectBuilder, page, pageSize int64, orderBy string) ([]*AdminPromotionLink, error) {
|
||||
|
||||
builder = builder.Columns(adminPromotionLinkRows)
|
||||
|
||||
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 []*AdminPromotionLink
|
||||
err = m.QueryRowsNoCacheCtx(ctx, &resp, query, values...)
|
||||
switch err {
|
||||
case nil:
|
||||
return resp, nil
|
||||
default:
|
||||
return nil, err
|
||||
}
|
||||
}
|
||||
|
||||
func (m *defaultAdminPromotionLinkModel) FindPageListByPageWithTotal(ctx context.Context, builder squirrel.SelectBuilder, page, pageSize int64, orderBy string) ([]*AdminPromotionLink, int64, error) {
|
||||
|
||||
total, err := m.FindCount(ctx, builder, "id")
|
||||
if err != nil {
|
||||
return nil, 0, err
|
||||
}
|
||||
|
||||
builder = builder.Columns(adminPromotionLinkRows)
|
||||
|
||||
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 []*AdminPromotionLink
|
||||
err = m.QueryRowsNoCacheCtx(ctx, &resp, query, values...)
|
||||
switch err {
|
||||
case nil:
|
||||
return resp, total, nil
|
||||
default:
|
||||
return nil, total, err
|
||||
}
|
||||
}
|
||||
|
||||
func (m *defaultAdminPromotionLinkModel) FindPageListByIdDESC(ctx context.Context, builder squirrel.SelectBuilder, preMinId, pageSize int64) ([]*AdminPromotionLink, error) {
|
||||
|
||||
builder = builder.Columns(adminPromotionLinkRows)
|
||||
|
||||
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 []*AdminPromotionLink
|
||||
err = m.QueryRowsNoCacheCtx(ctx, &resp, query, values...)
|
||||
switch err {
|
||||
case nil:
|
||||
return resp, nil
|
||||
default:
|
||||
return nil, err
|
||||
}
|
||||
}
|
||||
|
||||
func (m *defaultAdminPromotionLinkModel) FindPageListByIdASC(ctx context.Context, builder squirrel.SelectBuilder, preMaxId, pageSize int64) ([]*AdminPromotionLink, error) {
|
||||
|
||||
builder = builder.Columns(adminPromotionLinkRows)
|
||||
|
||||
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 []*AdminPromotionLink
|
||||
err = m.QueryRowsNoCacheCtx(ctx, &resp, query, values...)
|
||||
switch err {
|
||||
case nil:
|
||||
return resp, nil
|
||||
default:
|
||||
return nil, err
|
||||
}
|
||||
}
|
||||
|
||||
func (m *defaultAdminPromotionLinkModel) 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 *defaultAdminPromotionLinkModel) SelectBuilder() squirrel.SelectBuilder {
|
||||
return squirrel.Select().From(m.table)
|
||||
}
|
||||
func (m *defaultAdminPromotionLinkModel) Delete(ctx context.Context, session sqlx.Session, id int64) error {
|
||||
data, err := m.FindOne(ctx, id)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
tycAdminPromotionLinkIdKey := fmt.Sprintf("%s%v", cacheTycAdminPromotionLinkIdPrefix, id)
|
||||
tycAdminPromotionLinkUrlKey := fmt.Sprintf("%s%v", cacheTycAdminPromotionLinkUrlPrefix, data.Url)
|
||||
_, 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)
|
||||
}, tycAdminPromotionLinkIdKey, tycAdminPromotionLinkUrlKey)
|
||||
return err
|
||||
}
|
||||
func (m *defaultAdminPromotionLinkModel) formatPrimary(primary interface{}) string {
|
||||
return fmt.Sprintf("%s%v", cacheTycAdminPromotionLinkIdPrefix, primary)
|
||||
}
|
||||
func (m *defaultAdminPromotionLinkModel) 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", adminPromotionLinkRows, m.table)
|
||||
return conn.QueryRowCtx(ctx, v, query, primary, globalkey.DelStateNo)
|
||||
}
|
||||
|
||||
func (m *defaultAdminPromotionLinkModel) tableName() string {
|
||||
return m.table
|
||||
}
|
||||
27
app/main/model/adminPromotionLinkStatsHistoryModel.go
Normal file
27
app/main/model/adminPromotionLinkStatsHistoryModel.go
Normal file
@@ -0,0 +1,27 @@
|
||||
package model
|
||||
|
||||
import (
|
||||
"github.com/zeromicro/go-zero/core/stores/cache"
|
||||
"github.com/zeromicro/go-zero/core/stores/sqlx"
|
||||
)
|
||||
|
||||
var _ AdminPromotionLinkStatsHistoryModel = (*customAdminPromotionLinkStatsHistoryModel)(nil)
|
||||
|
||||
type (
|
||||
// AdminPromotionLinkStatsHistoryModel is an interface to be customized, add more methods here,
|
||||
// and implement the added methods in customAdminPromotionLinkStatsHistoryModel.
|
||||
AdminPromotionLinkStatsHistoryModel interface {
|
||||
adminPromotionLinkStatsHistoryModel
|
||||
}
|
||||
|
||||
customAdminPromotionLinkStatsHistoryModel struct {
|
||||
*defaultAdminPromotionLinkStatsHistoryModel
|
||||
}
|
||||
)
|
||||
|
||||
// NewAdminPromotionLinkStatsHistoryModel returns a model for the database table.
|
||||
func NewAdminPromotionLinkStatsHistoryModel(conn sqlx.SqlConn, c cache.CacheConf) AdminPromotionLinkStatsHistoryModel {
|
||||
return &customAdminPromotionLinkStatsHistoryModel{
|
||||
defaultAdminPromotionLinkStatsHistoryModel: newAdminPromotionLinkStatsHistoryModel(conn, c),
|
||||
}
|
||||
}
|
||||
412
app/main/model/adminPromotionLinkStatsHistoryModel_gen.go
Normal file
412
app/main/model/adminPromotionLinkStatsHistoryModel_gen.go
Normal file
@@ -0,0 +1,412 @@
|
||||
// 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 (
|
||||
adminPromotionLinkStatsHistoryFieldNames = builder.RawFieldNames(&AdminPromotionLinkStatsHistory{})
|
||||
adminPromotionLinkStatsHistoryRows = strings.Join(adminPromotionLinkStatsHistoryFieldNames, ",")
|
||||
adminPromotionLinkStatsHistoryRowsExpectAutoSet = strings.Join(stringx.Remove(adminPromotionLinkStatsHistoryFieldNames, "`id`", "`create_time`", "`update_time`"), ",")
|
||||
adminPromotionLinkStatsHistoryRowsWithPlaceHolder = strings.Join(stringx.Remove(adminPromotionLinkStatsHistoryFieldNames, "`id`", "`create_time`", "`update_time`"), "=?,") + "=?"
|
||||
|
||||
cacheTycAdminPromotionLinkStatsHistoryIdPrefix = "cache:tyc:adminPromotionLinkStatsHistory:id:"
|
||||
cacheTycAdminPromotionLinkStatsHistoryLinkIdStatsDatePrefix = "cache:tyc:adminPromotionLinkStatsHistory:linkId:statsDate:"
|
||||
)
|
||||
|
||||
type (
|
||||
adminPromotionLinkStatsHistoryModel interface {
|
||||
Insert(ctx context.Context, session sqlx.Session, data *AdminPromotionLinkStatsHistory) (sql.Result, error)
|
||||
FindOne(ctx context.Context, id int64) (*AdminPromotionLinkStatsHistory, error)
|
||||
FindOneByLinkIdStatsDate(ctx context.Context, linkId int64, statsDate time.Time) (*AdminPromotionLinkStatsHistory, error)
|
||||
Update(ctx context.Context, session sqlx.Session, data *AdminPromotionLinkStatsHistory) (sql.Result, error)
|
||||
UpdateWithVersion(ctx context.Context, session sqlx.Session, data *AdminPromotionLinkStatsHistory) 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 *AdminPromotionLinkStatsHistory) 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) ([]*AdminPromotionLinkStatsHistory, error)
|
||||
FindPageListByPage(ctx context.Context, rowBuilder squirrel.SelectBuilder, page, pageSize int64, orderBy string) ([]*AdminPromotionLinkStatsHistory, error)
|
||||
FindPageListByPageWithTotal(ctx context.Context, rowBuilder squirrel.SelectBuilder, page, pageSize int64, orderBy string) ([]*AdminPromotionLinkStatsHistory, int64, error)
|
||||
FindPageListByIdDESC(ctx context.Context, rowBuilder squirrel.SelectBuilder, preMinId, pageSize int64) ([]*AdminPromotionLinkStatsHistory, error)
|
||||
FindPageListByIdASC(ctx context.Context, rowBuilder squirrel.SelectBuilder, preMaxId, pageSize int64) ([]*AdminPromotionLinkStatsHistory, error)
|
||||
Delete(ctx context.Context, session sqlx.Session, id int64) error
|
||||
}
|
||||
|
||||
defaultAdminPromotionLinkStatsHistoryModel struct {
|
||||
sqlc.CachedConn
|
||||
table string
|
||||
}
|
||||
|
||||
AdminPromotionLinkStatsHistory 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"` // 版本号
|
||||
LinkId int64 `db:"link_id"` // 推广链接ID
|
||||
StatsDate time.Time `db:"stats_date"` // 统计日期
|
||||
ClickCount int64 `db:"click_count"` // 点击数
|
||||
PayCount int64 `db:"pay_count"` // 付费次数
|
||||
PayAmount float64 `db:"pay_amount"` // 付费金额
|
||||
LastClickTime sql.NullTime `db:"last_click_time"` // 最后点击时间
|
||||
LastPayTime sql.NullTime `db:"last_pay_time"` // 最后付费时间
|
||||
}
|
||||
)
|
||||
|
||||
func newAdminPromotionLinkStatsHistoryModel(conn sqlx.SqlConn, c cache.CacheConf) *defaultAdminPromotionLinkStatsHistoryModel {
|
||||
return &defaultAdminPromotionLinkStatsHistoryModel{
|
||||
CachedConn: sqlc.NewConn(conn, c),
|
||||
table: "`admin_promotion_link_stats_history`",
|
||||
}
|
||||
}
|
||||
|
||||
func (m *defaultAdminPromotionLinkStatsHistoryModel) Insert(ctx context.Context, session sqlx.Session, data *AdminPromotionLinkStatsHistory) (sql.Result, error) {
|
||||
data.DelState = globalkey.DelStateNo
|
||||
tycAdminPromotionLinkStatsHistoryIdKey := fmt.Sprintf("%s%v", cacheTycAdminPromotionLinkStatsHistoryIdPrefix, data.Id)
|
||||
tycAdminPromotionLinkStatsHistoryLinkIdStatsDateKey := fmt.Sprintf("%s%v:%v", cacheTycAdminPromotionLinkStatsHistoryLinkIdStatsDatePrefix, data.LinkId, data.StatsDate)
|
||||
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, adminPromotionLinkStatsHistoryRowsExpectAutoSet)
|
||||
if session != nil {
|
||||
return session.ExecCtx(ctx, query, data.DeleteTime, data.DelState, data.Version, data.LinkId, data.StatsDate, data.ClickCount, data.PayCount, data.PayAmount, data.LastClickTime, data.LastPayTime)
|
||||
}
|
||||
return conn.ExecCtx(ctx, query, data.DeleteTime, data.DelState, data.Version, data.LinkId, data.StatsDate, data.ClickCount, data.PayCount, data.PayAmount, data.LastClickTime, data.LastPayTime)
|
||||
}, tycAdminPromotionLinkStatsHistoryIdKey, tycAdminPromotionLinkStatsHistoryLinkIdStatsDateKey)
|
||||
}
|
||||
|
||||
func (m *defaultAdminPromotionLinkStatsHistoryModel) FindOne(ctx context.Context, id int64) (*AdminPromotionLinkStatsHistory, error) {
|
||||
tycAdminPromotionLinkStatsHistoryIdKey := fmt.Sprintf("%s%v", cacheTycAdminPromotionLinkStatsHistoryIdPrefix, id)
|
||||
var resp AdminPromotionLinkStatsHistory
|
||||
err := m.QueryRowCtx(ctx, &resp, tycAdminPromotionLinkStatsHistoryIdKey, func(ctx context.Context, conn sqlx.SqlConn, v interface{}) error {
|
||||
query := fmt.Sprintf("select %s from %s where `id` = ? and del_state = ? limit 1", adminPromotionLinkStatsHistoryRows, 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 *defaultAdminPromotionLinkStatsHistoryModel) FindOneByLinkIdStatsDate(ctx context.Context, linkId int64, statsDate time.Time) (*AdminPromotionLinkStatsHistory, error) {
|
||||
tycAdminPromotionLinkStatsHistoryLinkIdStatsDateKey := fmt.Sprintf("%s%v:%v", cacheTycAdminPromotionLinkStatsHistoryLinkIdStatsDatePrefix, linkId, statsDate)
|
||||
var resp AdminPromotionLinkStatsHistory
|
||||
err := m.QueryRowIndexCtx(ctx, &resp, tycAdminPromotionLinkStatsHistoryLinkIdStatsDateKey, m.formatPrimary, func(ctx context.Context, conn sqlx.SqlConn, v interface{}) (i interface{}, e error) {
|
||||
query := fmt.Sprintf("select %s from %s where `link_id` = ? and `stats_date` = ? and del_state = ? limit 1", adminPromotionLinkStatsHistoryRows, m.table)
|
||||
if err := conn.QueryRowCtx(ctx, &resp, query, linkId, statsDate, 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 *defaultAdminPromotionLinkStatsHistoryModel) Update(ctx context.Context, session sqlx.Session, newData *AdminPromotionLinkStatsHistory) (sql.Result, error) {
|
||||
data, err := m.FindOne(ctx, newData.Id)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
tycAdminPromotionLinkStatsHistoryIdKey := fmt.Sprintf("%s%v", cacheTycAdminPromotionLinkStatsHistoryIdPrefix, data.Id)
|
||||
tycAdminPromotionLinkStatsHistoryLinkIdStatsDateKey := fmt.Sprintf("%s%v:%v", cacheTycAdminPromotionLinkStatsHistoryLinkIdStatsDatePrefix, data.LinkId, data.StatsDate)
|
||||
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, adminPromotionLinkStatsHistoryRowsWithPlaceHolder)
|
||||
if session != nil {
|
||||
return session.ExecCtx(ctx, query, newData.DeleteTime, newData.DelState, newData.Version, newData.LinkId, newData.StatsDate, newData.ClickCount, newData.PayCount, newData.PayAmount, newData.LastClickTime, newData.LastPayTime, newData.Id)
|
||||
}
|
||||
return conn.ExecCtx(ctx, query, newData.DeleteTime, newData.DelState, newData.Version, newData.LinkId, newData.StatsDate, newData.ClickCount, newData.PayCount, newData.PayAmount, newData.LastClickTime, newData.LastPayTime, newData.Id)
|
||||
}, tycAdminPromotionLinkStatsHistoryIdKey, tycAdminPromotionLinkStatsHistoryLinkIdStatsDateKey)
|
||||
}
|
||||
|
||||
func (m *defaultAdminPromotionLinkStatsHistoryModel) UpdateWithVersion(ctx context.Context, session sqlx.Session, newData *AdminPromotionLinkStatsHistory) 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
|
||||
}
|
||||
tycAdminPromotionLinkStatsHistoryIdKey := fmt.Sprintf("%s%v", cacheTycAdminPromotionLinkStatsHistoryIdPrefix, data.Id)
|
||||
tycAdminPromotionLinkStatsHistoryLinkIdStatsDateKey := fmt.Sprintf("%s%v:%v", cacheTycAdminPromotionLinkStatsHistoryLinkIdStatsDatePrefix, data.LinkId, data.StatsDate)
|
||||
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, adminPromotionLinkStatsHistoryRowsWithPlaceHolder)
|
||||
if session != nil {
|
||||
return session.ExecCtx(ctx, query, newData.DeleteTime, newData.DelState, newData.Version, newData.LinkId, newData.StatsDate, newData.ClickCount, newData.PayCount, newData.PayAmount, newData.LastClickTime, newData.LastPayTime, newData.Id, oldVersion)
|
||||
}
|
||||
return conn.ExecCtx(ctx, query, newData.DeleteTime, newData.DelState, newData.Version, newData.LinkId, newData.StatsDate, newData.ClickCount, newData.PayCount, newData.PayAmount, newData.LastClickTime, newData.LastPayTime, newData.Id, oldVersion)
|
||||
}, tycAdminPromotionLinkStatsHistoryIdKey, tycAdminPromotionLinkStatsHistoryLinkIdStatsDateKey)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
updateCount, err := sqlResult.RowsAffected()
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
if updateCount == 0 {
|
||||
return ErrNoRowsUpdate
|
||||
}
|
||||
|
||||
return nil
|
||||
}
|
||||
|
||||
func (m *defaultAdminPromotionLinkStatsHistoryModel) DeleteSoft(ctx context.Context, session sqlx.Session, data *AdminPromotionLinkStatsHistory) 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 "), "AdminPromotionLinkStatsHistoryModel delete err : %+v", err)
|
||||
}
|
||||
return nil
|
||||
}
|
||||
|
||||
func (m *defaultAdminPromotionLinkStatsHistoryModel) 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 *defaultAdminPromotionLinkStatsHistoryModel) 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 *defaultAdminPromotionLinkStatsHistoryModel) FindAll(ctx context.Context, builder squirrel.SelectBuilder, orderBy string) ([]*AdminPromotionLinkStatsHistory, error) {
|
||||
|
||||
builder = builder.Columns(adminPromotionLinkStatsHistoryRows)
|
||||
|
||||
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 []*AdminPromotionLinkStatsHistory
|
||||
err = m.QueryRowsNoCacheCtx(ctx, &resp, query, values...)
|
||||
switch err {
|
||||
case nil:
|
||||
return resp, nil
|
||||
default:
|
||||
return nil, err
|
||||
}
|
||||
}
|
||||
|
||||
func (m *defaultAdminPromotionLinkStatsHistoryModel) FindPageListByPage(ctx context.Context, builder squirrel.SelectBuilder, page, pageSize int64, orderBy string) ([]*AdminPromotionLinkStatsHistory, error) {
|
||||
|
||||
builder = builder.Columns(adminPromotionLinkStatsHistoryRows)
|
||||
|
||||
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 []*AdminPromotionLinkStatsHistory
|
||||
err = m.QueryRowsNoCacheCtx(ctx, &resp, query, values...)
|
||||
switch err {
|
||||
case nil:
|
||||
return resp, nil
|
||||
default:
|
||||
return nil, err
|
||||
}
|
||||
}
|
||||
|
||||
func (m *defaultAdminPromotionLinkStatsHistoryModel) FindPageListByPageWithTotal(ctx context.Context, builder squirrel.SelectBuilder, page, pageSize int64, orderBy string) ([]*AdminPromotionLinkStatsHistory, int64, error) {
|
||||
|
||||
total, err := m.FindCount(ctx, builder, "id")
|
||||
if err != nil {
|
||||
return nil, 0, err
|
||||
}
|
||||
|
||||
builder = builder.Columns(adminPromotionLinkStatsHistoryRows)
|
||||
|
||||
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 []*AdminPromotionLinkStatsHistory
|
||||
err = m.QueryRowsNoCacheCtx(ctx, &resp, query, values...)
|
||||
switch err {
|
||||
case nil:
|
||||
return resp, total, nil
|
||||
default:
|
||||
return nil, total, err
|
||||
}
|
||||
}
|
||||
|
||||
func (m *defaultAdminPromotionLinkStatsHistoryModel) FindPageListByIdDESC(ctx context.Context, builder squirrel.SelectBuilder, preMinId, pageSize int64) ([]*AdminPromotionLinkStatsHistory, error) {
|
||||
|
||||
builder = builder.Columns(adminPromotionLinkStatsHistoryRows)
|
||||
|
||||
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 []*AdminPromotionLinkStatsHistory
|
||||
err = m.QueryRowsNoCacheCtx(ctx, &resp, query, values...)
|
||||
switch err {
|
||||
case nil:
|
||||
return resp, nil
|
||||
default:
|
||||
return nil, err
|
||||
}
|
||||
}
|
||||
|
||||
func (m *defaultAdminPromotionLinkStatsHistoryModel) FindPageListByIdASC(ctx context.Context, builder squirrel.SelectBuilder, preMaxId, pageSize int64) ([]*AdminPromotionLinkStatsHistory, error) {
|
||||
|
||||
builder = builder.Columns(adminPromotionLinkStatsHistoryRows)
|
||||
|
||||
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 []*AdminPromotionLinkStatsHistory
|
||||
err = m.QueryRowsNoCacheCtx(ctx, &resp, query, values...)
|
||||
switch err {
|
||||
case nil:
|
||||
return resp, nil
|
||||
default:
|
||||
return nil, err
|
||||
}
|
||||
}
|
||||
|
||||
func (m *defaultAdminPromotionLinkStatsHistoryModel) 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 *defaultAdminPromotionLinkStatsHistoryModel) SelectBuilder() squirrel.SelectBuilder {
|
||||
return squirrel.Select().From(m.table)
|
||||
}
|
||||
func (m *defaultAdminPromotionLinkStatsHistoryModel) Delete(ctx context.Context, session sqlx.Session, id int64) error {
|
||||
data, err := m.FindOne(ctx, id)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
tycAdminPromotionLinkStatsHistoryIdKey := fmt.Sprintf("%s%v", cacheTycAdminPromotionLinkStatsHistoryIdPrefix, id)
|
||||
tycAdminPromotionLinkStatsHistoryLinkIdStatsDateKey := fmt.Sprintf("%s%v:%v", cacheTycAdminPromotionLinkStatsHistoryLinkIdStatsDatePrefix, data.LinkId, data.StatsDate)
|
||||
_, 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)
|
||||
}, tycAdminPromotionLinkStatsHistoryIdKey, tycAdminPromotionLinkStatsHistoryLinkIdStatsDateKey)
|
||||
return err
|
||||
}
|
||||
func (m *defaultAdminPromotionLinkStatsHistoryModel) formatPrimary(primary interface{}) string {
|
||||
return fmt.Sprintf("%s%v", cacheTycAdminPromotionLinkStatsHistoryIdPrefix, primary)
|
||||
}
|
||||
func (m *defaultAdminPromotionLinkStatsHistoryModel) 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", adminPromotionLinkStatsHistoryRows, m.table)
|
||||
return conn.QueryRowCtx(ctx, v, query, primary, globalkey.DelStateNo)
|
||||
}
|
||||
|
||||
func (m *defaultAdminPromotionLinkStatsHistoryModel) tableName() string {
|
||||
return m.table
|
||||
}
|
||||
27
app/main/model/adminPromotionLinkStatsTotalModel.go
Normal file
27
app/main/model/adminPromotionLinkStatsTotalModel.go
Normal file
@@ -0,0 +1,27 @@
|
||||
package model
|
||||
|
||||
import (
|
||||
"github.com/zeromicro/go-zero/core/stores/cache"
|
||||
"github.com/zeromicro/go-zero/core/stores/sqlx"
|
||||
)
|
||||
|
||||
var _ AdminPromotionLinkStatsTotalModel = (*customAdminPromotionLinkStatsTotalModel)(nil)
|
||||
|
||||
type (
|
||||
// AdminPromotionLinkStatsTotalModel is an interface to be customized, add more methods here,
|
||||
// and implement the added methods in customAdminPromotionLinkStatsTotalModel.
|
||||
AdminPromotionLinkStatsTotalModel interface {
|
||||
adminPromotionLinkStatsTotalModel
|
||||
}
|
||||
|
||||
customAdminPromotionLinkStatsTotalModel struct {
|
||||
*defaultAdminPromotionLinkStatsTotalModel
|
||||
}
|
||||
)
|
||||
|
||||
// NewAdminPromotionLinkStatsTotalModel returns a model for the database table.
|
||||
func NewAdminPromotionLinkStatsTotalModel(conn sqlx.SqlConn, c cache.CacheConf) AdminPromotionLinkStatsTotalModel {
|
||||
return &customAdminPromotionLinkStatsTotalModel{
|
||||
defaultAdminPromotionLinkStatsTotalModel: newAdminPromotionLinkStatsTotalModel(conn, c),
|
||||
}
|
||||
}
|
||||
411
app/main/model/adminPromotionLinkStatsTotalModel_gen.go
Normal file
411
app/main/model/adminPromotionLinkStatsTotalModel_gen.go
Normal file
@@ -0,0 +1,411 @@
|
||||
// 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 (
|
||||
adminPromotionLinkStatsTotalFieldNames = builder.RawFieldNames(&AdminPromotionLinkStatsTotal{})
|
||||
adminPromotionLinkStatsTotalRows = strings.Join(adminPromotionLinkStatsTotalFieldNames, ",")
|
||||
adminPromotionLinkStatsTotalRowsExpectAutoSet = strings.Join(stringx.Remove(adminPromotionLinkStatsTotalFieldNames, "`id`", "`create_time`", "`update_time`"), ",")
|
||||
adminPromotionLinkStatsTotalRowsWithPlaceHolder = strings.Join(stringx.Remove(adminPromotionLinkStatsTotalFieldNames, "`id`", "`create_time`", "`update_time`"), "=?,") + "=?"
|
||||
|
||||
cacheTycAdminPromotionLinkStatsTotalIdPrefix = "cache:tyc:adminPromotionLinkStatsTotal:id:"
|
||||
cacheTycAdminPromotionLinkStatsTotalLinkIdPrefix = "cache:tyc:adminPromotionLinkStatsTotal:linkId:"
|
||||
)
|
||||
|
||||
type (
|
||||
adminPromotionLinkStatsTotalModel interface {
|
||||
Insert(ctx context.Context, session sqlx.Session, data *AdminPromotionLinkStatsTotal) (sql.Result, error)
|
||||
FindOne(ctx context.Context, id int64) (*AdminPromotionLinkStatsTotal, error)
|
||||
FindOneByLinkId(ctx context.Context, linkId int64) (*AdminPromotionLinkStatsTotal, error)
|
||||
Update(ctx context.Context, session sqlx.Session, data *AdminPromotionLinkStatsTotal) (sql.Result, error)
|
||||
UpdateWithVersion(ctx context.Context, session sqlx.Session, data *AdminPromotionLinkStatsTotal) 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 *AdminPromotionLinkStatsTotal) 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) ([]*AdminPromotionLinkStatsTotal, error)
|
||||
FindPageListByPage(ctx context.Context, rowBuilder squirrel.SelectBuilder, page, pageSize int64, orderBy string) ([]*AdminPromotionLinkStatsTotal, error)
|
||||
FindPageListByPageWithTotal(ctx context.Context, rowBuilder squirrel.SelectBuilder, page, pageSize int64, orderBy string) ([]*AdminPromotionLinkStatsTotal, int64, error)
|
||||
FindPageListByIdDESC(ctx context.Context, rowBuilder squirrel.SelectBuilder, preMinId, pageSize int64) ([]*AdminPromotionLinkStatsTotal, error)
|
||||
FindPageListByIdASC(ctx context.Context, rowBuilder squirrel.SelectBuilder, preMaxId, pageSize int64) ([]*AdminPromotionLinkStatsTotal, error)
|
||||
Delete(ctx context.Context, session sqlx.Session, id int64) error
|
||||
}
|
||||
|
||||
defaultAdminPromotionLinkStatsTotalModel struct {
|
||||
sqlc.CachedConn
|
||||
table string
|
||||
}
|
||||
|
||||
AdminPromotionLinkStatsTotal 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"` // 版本号
|
||||
LinkId int64 `db:"link_id"` // 推广链接ID
|
||||
ClickCount int64 `db:"click_count"` // 总点击数
|
||||
PayCount int64 `db:"pay_count"` // 总付费次数
|
||||
PayAmount float64 `db:"pay_amount"` // 总付费金额
|
||||
LastClickTime sql.NullTime `db:"last_click_time"` // 最后点击时间
|
||||
LastPayTime sql.NullTime `db:"last_pay_time"` // 最后付费时间
|
||||
}
|
||||
)
|
||||
|
||||
func newAdminPromotionLinkStatsTotalModel(conn sqlx.SqlConn, c cache.CacheConf) *defaultAdminPromotionLinkStatsTotalModel {
|
||||
return &defaultAdminPromotionLinkStatsTotalModel{
|
||||
CachedConn: sqlc.NewConn(conn, c),
|
||||
table: "`admin_promotion_link_stats_total`",
|
||||
}
|
||||
}
|
||||
|
||||
func (m *defaultAdminPromotionLinkStatsTotalModel) Insert(ctx context.Context, session sqlx.Session, data *AdminPromotionLinkStatsTotal) (sql.Result, error) {
|
||||
data.DelState = globalkey.DelStateNo
|
||||
tycAdminPromotionLinkStatsTotalIdKey := fmt.Sprintf("%s%v", cacheTycAdminPromotionLinkStatsTotalIdPrefix, data.Id)
|
||||
tycAdminPromotionLinkStatsTotalLinkIdKey := fmt.Sprintf("%s%v", cacheTycAdminPromotionLinkStatsTotalLinkIdPrefix, data.LinkId)
|
||||
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, adminPromotionLinkStatsTotalRowsExpectAutoSet)
|
||||
if session != nil {
|
||||
return session.ExecCtx(ctx, query, data.DeleteTime, data.DelState, data.Version, data.LinkId, data.ClickCount, data.PayCount, data.PayAmount, data.LastClickTime, data.LastPayTime)
|
||||
}
|
||||
return conn.ExecCtx(ctx, query, data.DeleteTime, data.DelState, data.Version, data.LinkId, data.ClickCount, data.PayCount, data.PayAmount, data.LastClickTime, data.LastPayTime)
|
||||
}, tycAdminPromotionLinkStatsTotalIdKey, tycAdminPromotionLinkStatsTotalLinkIdKey)
|
||||
}
|
||||
|
||||
func (m *defaultAdminPromotionLinkStatsTotalModel) FindOne(ctx context.Context, id int64) (*AdminPromotionLinkStatsTotal, error) {
|
||||
tycAdminPromotionLinkStatsTotalIdKey := fmt.Sprintf("%s%v", cacheTycAdminPromotionLinkStatsTotalIdPrefix, id)
|
||||
var resp AdminPromotionLinkStatsTotal
|
||||
err := m.QueryRowCtx(ctx, &resp, tycAdminPromotionLinkStatsTotalIdKey, func(ctx context.Context, conn sqlx.SqlConn, v interface{}) error {
|
||||
query := fmt.Sprintf("select %s from %s where `id` = ? and del_state = ? limit 1", adminPromotionLinkStatsTotalRows, 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 *defaultAdminPromotionLinkStatsTotalModel) FindOneByLinkId(ctx context.Context, linkId int64) (*AdminPromotionLinkStatsTotal, error) {
|
||||
tycAdminPromotionLinkStatsTotalLinkIdKey := fmt.Sprintf("%s%v", cacheTycAdminPromotionLinkStatsTotalLinkIdPrefix, linkId)
|
||||
var resp AdminPromotionLinkStatsTotal
|
||||
err := m.QueryRowIndexCtx(ctx, &resp, tycAdminPromotionLinkStatsTotalLinkIdKey, m.formatPrimary, func(ctx context.Context, conn sqlx.SqlConn, v interface{}) (i interface{}, e error) {
|
||||
query := fmt.Sprintf("select %s from %s where `link_id` = ? and del_state = ? limit 1", adminPromotionLinkStatsTotalRows, m.table)
|
||||
if err := conn.QueryRowCtx(ctx, &resp, query, linkId, 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 *defaultAdminPromotionLinkStatsTotalModel) Update(ctx context.Context, session sqlx.Session, newData *AdminPromotionLinkStatsTotal) (sql.Result, error) {
|
||||
data, err := m.FindOne(ctx, newData.Id)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
tycAdminPromotionLinkStatsTotalIdKey := fmt.Sprintf("%s%v", cacheTycAdminPromotionLinkStatsTotalIdPrefix, data.Id)
|
||||
tycAdminPromotionLinkStatsTotalLinkIdKey := fmt.Sprintf("%s%v", cacheTycAdminPromotionLinkStatsTotalLinkIdPrefix, data.LinkId)
|
||||
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, adminPromotionLinkStatsTotalRowsWithPlaceHolder)
|
||||
if session != nil {
|
||||
return session.ExecCtx(ctx, query, newData.DeleteTime, newData.DelState, newData.Version, newData.LinkId, newData.ClickCount, newData.PayCount, newData.PayAmount, newData.LastClickTime, newData.LastPayTime, newData.Id)
|
||||
}
|
||||
return conn.ExecCtx(ctx, query, newData.DeleteTime, newData.DelState, newData.Version, newData.LinkId, newData.ClickCount, newData.PayCount, newData.PayAmount, newData.LastClickTime, newData.LastPayTime, newData.Id)
|
||||
}, tycAdminPromotionLinkStatsTotalIdKey, tycAdminPromotionLinkStatsTotalLinkIdKey)
|
||||
}
|
||||
|
||||
func (m *defaultAdminPromotionLinkStatsTotalModel) UpdateWithVersion(ctx context.Context, session sqlx.Session, newData *AdminPromotionLinkStatsTotal) 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
|
||||
}
|
||||
tycAdminPromotionLinkStatsTotalIdKey := fmt.Sprintf("%s%v", cacheTycAdminPromotionLinkStatsTotalIdPrefix, data.Id)
|
||||
tycAdminPromotionLinkStatsTotalLinkIdKey := fmt.Sprintf("%s%v", cacheTycAdminPromotionLinkStatsTotalLinkIdPrefix, data.LinkId)
|
||||
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, adminPromotionLinkStatsTotalRowsWithPlaceHolder)
|
||||
if session != nil {
|
||||
return session.ExecCtx(ctx, query, newData.DeleteTime, newData.DelState, newData.Version, newData.LinkId, newData.ClickCount, newData.PayCount, newData.PayAmount, newData.LastClickTime, newData.LastPayTime, newData.Id, oldVersion)
|
||||
}
|
||||
return conn.ExecCtx(ctx, query, newData.DeleteTime, newData.DelState, newData.Version, newData.LinkId, newData.ClickCount, newData.PayCount, newData.PayAmount, newData.LastClickTime, newData.LastPayTime, newData.Id, oldVersion)
|
||||
}, tycAdminPromotionLinkStatsTotalIdKey, tycAdminPromotionLinkStatsTotalLinkIdKey)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
updateCount, err := sqlResult.RowsAffected()
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
if updateCount == 0 {
|
||||
return ErrNoRowsUpdate
|
||||
}
|
||||
|
||||
return nil
|
||||
}
|
||||
|
||||
func (m *defaultAdminPromotionLinkStatsTotalModel) DeleteSoft(ctx context.Context, session sqlx.Session, data *AdminPromotionLinkStatsTotal) 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 "), "AdminPromotionLinkStatsTotalModel delete err : %+v", err)
|
||||
}
|
||||
return nil
|
||||
}
|
||||
|
||||
func (m *defaultAdminPromotionLinkStatsTotalModel) 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 *defaultAdminPromotionLinkStatsTotalModel) 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 *defaultAdminPromotionLinkStatsTotalModel) FindAll(ctx context.Context, builder squirrel.SelectBuilder, orderBy string) ([]*AdminPromotionLinkStatsTotal, error) {
|
||||
|
||||
builder = builder.Columns(adminPromotionLinkStatsTotalRows)
|
||||
|
||||
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 []*AdminPromotionLinkStatsTotal
|
||||
err = m.QueryRowsNoCacheCtx(ctx, &resp, query, values...)
|
||||
switch err {
|
||||
case nil:
|
||||
return resp, nil
|
||||
default:
|
||||
return nil, err
|
||||
}
|
||||
}
|
||||
|
||||
func (m *defaultAdminPromotionLinkStatsTotalModel) FindPageListByPage(ctx context.Context, builder squirrel.SelectBuilder, page, pageSize int64, orderBy string) ([]*AdminPromotionLinkStatsTotal, error) {
|
||||
|
||||
builder = builder.Columns(adminPromotionLinkStatsTotalRows)
|
||||
|
||||
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 []*AdminPromotionLinkStatsTotal
|
||||
err = m.QueryRowsNoCacheCtx(ctx, &resp, query, values...)
|
||||
switch err {
|
||||
case nil:
|
||||
return resp, nil
|
||||
default:
|
||||
return nil, err
|
||||
}
|
||||
}
|
||||
|
||||
func (m *defaultAdminPromotionLinkStatsTotalModel) FindPageListByPageWithTotal(ctx context.Context, builder squirrel.SelectBuilder, page, pageSize int64, orderBy string) ([]*AdminPromotionLinkStatsTotal, int64, error) {
|
||||
|
||||
total, err := m.FindCount(ctx, builder, "id")
|
||||
if err != nil {
|
||||
return nil, 0, err
|
||||
}
|
||||
|
||||
builder = builder.Columns(adminPromotionLinkStatsTotalRows)
|
||||
|
||||
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 []*AdminPromotionLinkStatsTotal
|
||||
err = m.QueryRowsNoCacheCtx(ctx, &resp, query, values...)
|
||||
switch err {
|
||||
case nil:
|
||||
return resp, total, nil
|
||||
default:
|
||||
return nil, total, err
|
||||
}
|
||||
}
|
||||
|
||||
func (m *defaultAdminPromotionLinkStatsTotalModel) FindPageListByIdDESC(ctx context.Context, builder squirrel.SelectBuilder, preMinId, pageSize int64) ([]*AdminPromotionLinkStatsTotal, error) {
|
||||
|
||||
builder = builder.Columns(adminPromotionLinkStatsTotalRows)
|
||||
|
||||
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 []*AdminPromotionLinkStatsTotal
|
||||
err = m.QueryRowsNoCacheCtx(ctx, &resp, query, values...)
|
||||
switch err {
|
||||
case nil:
|
||||
return resp, nil
|
||||
default:
|
||||
return nil, err
|
||||
}
|
||||
}
|
||||
|
||||
func (m *defaultAdminPromotionLinkStatsTotalModel) FindPageListByIdASC(ctx context.Context, builder squirrel.SelectBuilder, preMaxId, pageSize int64) ([]*AdminPromotionLinkStatsTotal, error) {
|
||||
|
||||
builder = builder.Columns(adminPromotionLinkStatsTotalRows)
|
||||
|
||||
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 []*AdminPromotionLinkStatsTotal
|
||||
err = m.QueryRowsNoCacheCtx(ctx, &resp, query, values...)
|
||||
switch err {
|
||||
case nil:
|
||||
return resp, nil
|
||||
default:
|
||||
return nil, err
|
||||
}
|
||||
}
|
||||
|
||||
func (m *defaultAdminPromotionLinkStatsTotalModel) 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 *defaultAdminPromotionLinkStatsTotalModel) SelectBuilder() squirrel.SelectBuilder {
|
||||
return squirrel.Select().From(m.table)
|
||||
}
|
||||
func (m *defaultAdminPromotionLinkStatsTotalModel) Delete(ctx context.Context, session sqlx.Session, id int64) error {
|
||||
data, err := m.FindOne(ctx, id)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
tycAdminPromotionLinkStatsTotalIdKey := fmt.Sprintf("%s%v", cacheTycAdminPromotionLinkStatsTotalIdPrefix, id)
|
||||
tycAdminPromotionLinkStatsTotalLinkIdKey := fmt.Sprintf("%s%v", cacheTycAdminPromotionLinkStatsTotalLinkIdPrefix, data.LinkId)
|
||||
_, 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)
|
||||
}, tycAdminPromotionLinkStatsTotalIdKey, tycAdminPromotionLinkStatsTotalLinkIdKey)
|
||||
return err
|
||||
}
|
||||
func (m *defaultAdminPromotionLinkStatsTotalModel) formatPrimary(primary interface{}) string {
|
||||
return fmt.Sprintf("%s%v", cacheTycAdminPromotionLinkStatsTotalIdPrefix, primary)
|
||||
}
|
||||
func (m *defaultAdminPromotionLinkStatsTotalModel) 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", adminPromotionLinkStatsTotalRows, m.table)
|
||||
return conn.QueryRowCtx(ctx, v, query, primary, globalkey.DelStateNo)
|
||||
}
|
||||
|
||||
func (m *defaultAdminPromotionLinkStatsTotalModel) tableName() string {
|
||||
return m.table
|
||||
}
|
||||
27
app/main/model/adminPromotionOrderModel.go
Normal file
27
app/main/model/adminPromotionOrderModel.go
Normal file
@@ -0,0 +1,27 @@
|
||||
package model
|
||||
|
||||
import (
|
||||
"github.com/zeromicro/go-zero/core/stores/cache"
|
||||
"github.com/zeromicro/go-zero/core/stores/sqlx"
|
||||
)
|
||||
|
||||
var _ AdminPromotionOrderModel = (*customAdminPromotionOrderModel)(nil)
|
||||
|
||||
type (
|
||||
// AdminPromotionOrderModel is an interface to be customized, add more methods here,
|
||||
// and implement the added methods in customAdminPromotionOrderModel.
|
||||
AdminPromotionOrderModel interface {
|
||||
adminPromotionOrderModel
|
||||
}
|
||||
|
||||
customAdminPromotionOrderModel struct {
|
||||
*defaultAdminPromotionOrderModel
|
||||
}
|
||||
)
|
||||
|
||||
// NewAdminPromotionOrderModel returns a model for the database table.
|
||||
func NewAdminPromotionOrderModel(conn sqlx.SqlConn, c cache.CacheConf) AdminPromotionOrderModel {
|
||||
return &customAdminPromotionOrderModel{
|
||||
defaultAdminPromotionOrderModel: newAdminPromotionOrderModel(conn, c),
|
||||
}
|
||||
}
|
||||
409
app/main/model/adminPromotionOrderModel_gen.go
Normal file
409
app/main/model/adminPromotionOrderModel_gen.go
Normal file
@@ -0,0 +1,409 @@
|
||||
// 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 (
|
||||
adminPromotionOrderFieldNames = builder.RawFieldNames(&AdminPromotionOrder{})
|
||||
adminPromotionOrderRows = strings.Join(adminPromotionOrderFieldNames, ",")
|
||||
adminPromotionOrderRowsExpectAutoSet = strings.Join(stringx.Remove(adminPromotionOrderFieldNames, "`id`", "`create_time`", "`update_time`"), ",")
|
||||
adminPromotionOrderRowsWithPlaceHolder = strings.Join(stringx.Remove(adminPromotionOrderFieldNames, "`id`", "`create_time`", "`update_time`"), "=?,") + "=?"
|
||||
|
||||
cacheTycAdminPromotionOrderIdPrefix = "cache:tyc:adminPromotionOrder:id:"
|
||||
cacheTycAdminPromotionOrderOrderIdPrefix = "cache:tyc:adminPromotionOrder:orderId:"
|
||||
)
|
||||
|
||||
type (
|
||||
adminPromotionOrderModel interface {
|
||||
Insert(ctx context.Context, session sqlx.Session, data *AdminPromotionOrder) (sql.Result, error)
|
||||
FindOne(ctx context.Context, id int64) (*AdminPromotionOrder, error)
|
||||
FindOneByOrderId(ctx context.Context, orderId int64) (*AdminPromotionOrder, error)
|
||||
Update(ctx context.Context, session sqlx.Session, data *AdminPromotionOrder) (sql.Result, error)
|
||||
UpdateWithVersion(ctx context.Context, session sqlx.Session, data *AdminPromotionOrder) 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 *AdminPromotionOrder) 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) ([]*AdminPromotionOrder, error)
|
||||
FindPageListByPage(ctx context.Context, rowBuilder squirrel.SelectBuilder, page, pageSize int64, orderBy string) ([]*AdminPromotionOrder, error)
|
||||
FindPageListByPageWithTotal(ctx context.Context, rowBuilder squirrel.SelectBuilder, page, pageSize int64, orderBy string) ([]*AdminPromotionOrder, int64, error)
|
||||
FindPageListByIdDESC(ctx context.Context, rowBuilder squirrel.SelectBuilder, preMinId, pageSize int64) ([]*AdminPromotionOrder, error)
|
||||
FindPageListByIdASC(ctx context.Context, rowBuilder squirrel.SelectBuilder, preMaxId, pageSize int64) ([]*AdminPromotionOrder, error)
|
||||
Delete(ctx context.Context, session sqlx.Session, id int64) error
|
||||
}
|
||||
|
||||
defaultAdminPromotionOrderModel struct {
|
||||
sqlc.CachedConn
|
||||
table string
|
||||
}
|
||||
|
||||
AdminPromotionOrder 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"` // 版本号
|
||||
LinkId int64 `db:"link_id"` // 推广链接ID
|
||||
OrderId int64 `db:"order_id"` // 订单ID
|
||||
UserId int64 `db:"user_id"` // 下单用户ID
|
||||
AdminUserId int64 `db:"admin_user_id"` // 推广者账号ID
|
||||
}
|
||||
)
|
||||
|
||||
func newAdminPromotionOrderModel(conn sqlx.SqlConn, c cache.CacheConf) *defaultAdminPromotionOrderModel {
|
||||
return &defaultAdminPromotionOrderModel{
|
||||
CachedConn: sqlc.NewConn(conn, c),
|
||||
table: "`admin_promotion_order`",
|
||||
}
|
||||
}
|
||||
|
||||
func (m *defaultAdminPromotionOrderModel) Insert(ctx context.Context, session sqlx.Session, data *AdminPromotionOrder) (sql.Result, error) {
|
||||
data.DelState = globalkey.DelStateNo
|
||||
tycAdminPromotionOrderIdKey := fmt.Sprintf("%s%v", cacheTycAdminPromotionOrderIdPrefix, data.Id)
|
||||
tycAdminPromotionOrderOrderIdKey := fmt.Sprintf("%s%v", cacheTycAdminPromotionOrderOrderIdPrefix, data.OrderId)
|
||||
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, adminPromotionOrderRowsExpectAutoSet)
|
||||
if session != nil {
|
||||
return session.ExecCtx(ctx, query, data.DeleteTime, data.DelState, data.Version, data.LinkId, data.OrderId, data.UserId, data.AdminUserId)
|
||||
}
|
||||
return conn.ExecCtx(ctx, query, data.DeleteTime, data.DelState, data.Version, data.LinkId, data.OrderId, data.UserId, data.AdminUserId)
|
||||
}, tycAdminPromotionOrderIdKey, tycAdminPromotionOrderOrderIdKey)
|
||||
}
|
||||
|
||||
func (m *defaultAdminPromotionOrderModel) FindOne(ctx context.Context, id int64) (*AdminPromotionOrder, error) {
|
||||
tycAdminPromotionOrderIdKey := fmt.Sprintf("%s%v", cacheTycAdminPromotionOrderIdPrefix, id)
|
||||
var resp AdminPromotionOrder
|
||||
err := m.QueryRowCtx(ctx, &resp, tycAdminPromotionOrderIdKey, func(ctx context.Context, conn sqlx.SqlConn, v interface{}) error {
|
||||
query := fmt.Sprintf("select %s from %s where `id` = ? and del_state = ? limit 1", adminPromotionOrderRows, 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 *defaultAdminPromotionOrderModel) FindOneByOrderId(ctx context.Context, orderId int64) (*AdminPromotionOrder, error) {
|
||||
tycAdminPromotionOrderOrderIdKey := fmt.Sprintf("%s%v", cacheTycAdminPromotionOrderOrderIdPrefix, orderId)
|
||||
var resp AdminPromotionOrder
|
||||
err := m.QueryRowIndexCtx(ctx, &resp, tycAdminPromotionOrderOrderIdKey, m.formatPrimary, func(ctx context.Context, conn sqlx.SqlConn, v interface{}) (i interface{}, e error) {
|
||||
query := fmt.Sprintf("select %s from %s where `order_id` = ? and del_state = ? limit 1", adminPromotionOrderRows, m.table)
|
||||
if err := conn.QueryRowCtx(ctx, &resp, query, orderId, 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 *defaultAdminPromotionOrderModel) Update(ctx context.Context, session sqlx.Session, newData *AdminPromotionOrder) (sql.Result, error) {
|
||||
data, err := m.FindOne(ctx, newData.Id)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
tycAdminPromotionOrderIdKey := fmt.Sprintf("%s%v", cacheTycAdminPromotionOrderIdPrefix, data.Id)
|
||||
tycAdminPromotionOrderOrderIdKey := fmt.Sprintf("%s%v", cacheTycAdminPromotionOrderOrderIdPrefix, data.OrderId)
|
||||
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, adminPromotionOrderRowsWithPlaceHolder)
|
||||
if session != nil {
|
||||
return session.ExecCtx(ctx, query, newData.DeleteTime, newData.DelState, newData.Version, newData.LinkId, newData.OrderId, newData.UserId, newData.AdminUserId, newData.Id)
|
||||
}
|
||||
return conn.ExecCtx(ctx, query, newData.DeleteTime, newData.DelState, newData.Version, newData.LinkId, newData.OrderId, newData.UserId, newData.AdminUserId, newData.Id)
|
||||
}, tycAdminPromotionOrderIdKey, tycAdminPromotionOrderOrderIdKey)
|
||||
}
|
||||
|
||||
func (m *defaultAdminPromotionOrderModel) UpdateWithVersion(ctx context.Context, session sqlx.Session, newData *AdminPromotionOrder) 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
|
||||
}
|
||||
tycAdminPromotionOrderIdKey := fmt.Sprintf("%s%v", cacheTycAdminPromotionOrderIdPrefix, data.Id)
|
||||
tycAdminPromotionOrderOrderIdKey := fmt.Sprintf("%s%v", cacheTycAdminPromotionOrderOrderIdPrefix, data.OrderId)
|
||||
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, adminPromotionOrderRowsWithPlaceHolder)
|
||||
if session != nil {
|
||||
return session.ExecCtx(ctx, query, newData.DeleteTime, newData.DelState, newData.Version, newData.LinkId, newData.OrderId, newData.UserId, newData.AdminUserId, newData.Id, oldVersion)
|
||||
}
|
||||
return conn.ExecCtx(ctx, query, newData.DeleteTime, newData.DelState, newData.Version, newData.LinkId, newData.OrderId, newData.UserId, newData.AdminUserId, newData.Id, oldVersion)
|
||||
}, tycAdminPromotionOrderIdKey, tycAdminPromotionOrderOrderIdKey)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
updateCount, err := sqlResult.RowsAffected()
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
if updateCount == 0 {
|
||||
return ErrNoRowsUpdate
|
||||
}
|
||||
|
||||
return nil
|
||||
}
|
||||
|
||||
func (m *defaultAdminPromotionOrderModel) DeleteSoft(ctx context.Context, session sqlx.Session, data *AdminPromotionOrder) 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 "), "AdminPromotionOrderModel delete err : %+v", err)
|
||||
}
|
||||
return nil
|
||||
}
|
||||
|
||||
func (m *defaultAdminPromotionOrderModel) 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 *defaultAdminPromotionOrderModel) 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 *defaultAdminPromotionOrderModel) FindAll(ctx context.Context, builder squirrel.SelectBuilder, orderBy string) ([]*AdminPromotionOrder, error) {
|
||||
|
||||
builder = builder.Columns(adminPromotionOrderRows)
|
||||
|
||||
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 []*AdminPromotionOrder
|
||||
err = m.QueryRowsNoCacheCtx(ctx, &resp, query, values...)
|
||||
switch err {
|
||||
case nil:
|
||||
return resp, nil
|
||||
default:
|
||||
return nil, err
|
||||
}
|
||||
}
|
||||
|
||||
func (m *defaultAdminPromotionOrderModel) FindPageListByPage(ctx context.Context, builder squirrel.SelectBuilder, page, pageSize int64, orderBy string) ([]*AdminPromotionOrder, error) {
|
||||
|
||||
builder = builder.Columns(adminPromotionOrderRows)
|
||||
|
||||
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 []*AdminPromotionOrder
|
||||
err = m.QueryRowsNoCacheCtx(ctx, &resp, query, values...)
|
||||
switch err {
|
||||
case nil:
|
||||
return resp, nil
|
||||
default:
|
||||
return nil, err
|
||||
}
|
||||
}
|
||||
|
||||
func (m *defaultAdminPromotionOrderModel) FindPageListByPageWithTotal(ctx context.Context, builder squirrel.SelectBuilder, page, pageSize int64, orderBy string) ([]*AdminPromotionOrder, int64, error) {
|
||||
|
||||
total, err := m.FindCount(ctx, builder, "id")
|
||||
if err != nil {
|
||||
return nil, 0, err
|
||||
}
|
||||
|
||||
builder = builder.Columns(adminPromotionOrderRows)
|
||||
|
||||
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 []*AdminPromotionOrder
|
||||
err = m.QueryRowsNoCacheCtx(ctx, &resp, query, values...)
|
||||
switch err {
|
||||
case nil:
|
||||
return resp, total, nil
|
||||
default:
|
||||
return nil, total, err
|
||||
}
|
||||
}
|
||||
|
||||
func (m *defaultAdminPromotionOrderModel) FindPageListByIdDESC(ctx context.Context, builder squirrel.SelectBuilder, preMinId, pageSize int64) ([]*AdminPromotionOrder, error) {
|
||||
|
||||
builder = builder.Columns(adminPromotionOrderRows)
|
||||
|
||||
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 []*AdminPromotionOrder
|
||||
err = m.QueryRowsNoCacheCtx(ctx, &resp, query, values...)
|
||||
switch err {
|
||||
case nil:
|
||||
return resp, nil
|
||||
default:
|
||||
return nil, err
|
||||
}
|
||||
}
|
||||
|
||||
func (m *defaultAdminPromotionOrderModel) FindPageListByIdASC(ctx context.Context, builder squirrel.SelectBuilder, preMaxId, pageSize int64) ([]*AdminPromotionOrder, error) {
|
||||
|
||||
builder = builder.Columns(adminPromotionOrderRows)
|
||||
|
||||
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 []*AdminPromotionOrder
|
||||
err = m.QueryRowsNoCacheCtx(ctx, &resp, query, values...)
|
||||
switch err {
|
||||
case nil:
|
||||
return resp, nil
|
||||
default:
|
||||
return nil, err
|
||||
}
|
||||
}
|
||||
|
||||
func (m *defaultAdminPromotionOrderModel) 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 *defaultAdminPromotionOrderModel) SelectBuilder() squirrel.SelectBuilder {
|
||||
return squirrel.Select().From(m.table)
|
||||
}
|
||||
func (m *defaultAdminPromotionOrderModel) Delete(ctx context.Context, session sqlx.Session, id int64) error {
|
||||
data, err := m.FindOne(ctx, id)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
tycAdminPromotionOrderIdKey := fmt.Sprintf("%s%v", cacheTycAdminPromotionOrderIdPrefix, id)
|
||||
tycAdminPromotionOrderOrderIdKey := fmt.Sprintf("%s%v", cacheTycAdminPromotionOrderOrderIdPrefix, data.OrderId)
|
||||
_, 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)
|
||||
}, tycAdminPromotionOrderIdKey, tycAdminPromotionOrderOrderIdKey)
|
||||
return err
|
||||
}
|
||||
func (m *defaultAdminPromotionOrderModel) formatPrimary(primary interface{}) string {
|
||||
return fmt.Sprintf("%s%v", cacheTycAdminPromotionOrderIdPrefix, primary)
|
||||
}
|
||||
func (m *defaultAdminPromotionOrderModel) 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", adminPromotionOrderRows, m.table)
|
||||
return conn.QueryRowCtx(ctx, v, query, primary, globalkey.DelStateNo)
|
||||
}
|
||||
|
||||
func (m *defaultAdminPromotionOrderModel) tableName() string {
|
||||
return m.table
|
||||
}
|
||||
27
app/main/model/adminRoleApiModel.go
Normal file
27
app/main/model/adminRoleApiModel.go
Normal file
@@ -0,0 +1,27 @@
|
||||
package model
|
||||
|
||||
import (
|
||||
"github.com/zeromicro/go-zero/core/stores/cache"
|
||||
"github.com/zeromicro/go-zero/core/stores/sqlx"
|
||||
)
|
||||
|
||||
var _ AdminRoleApiModel = (*customAdminRoleApiModel)(nil)
|
||||
|
||||
type (
|
||||
// AdminRoleApiModel is an interface to be customized, add more methods here,
|
||||
// and implement the added methods in customAdminRoleApiModel.
|
||||
AdminRoleApiModel interface {
|
||||
adminRoleApiModel
|
||||
}
|
||||
|
||||
customAdminRoleApiModel struct {
|
||||
*defaultAdminRoleApiModel
|
||||
}
|
||||
)
|
||||
|
||||
// NewAdminRoleApiModel returns a model for the database table.
|
||||
func NewAdminRoleApiModel(conn sqlx.SqlConn, c cache.CacheConf) AdminRoleApiModel {
|
||||
return &customAdminRoleApiModel{
|
||||
defaultAdminRoleApiModel: newAdminRoleApiModel(conn, c),
|
||||
}
|
||||
}
|
||||
407
app/main/model/adminRoleApiModel_gen.go
Normal file
407
app/main/model/adminRoleApiModel_gen.go
Normal file
@@ -0,0 +1,407 @@
|
||||
// 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 (
|
||||
adminRoleApiFieldNames = builder.RawFieldNames(&AdminRoleApi{})
|
||||
adminRoleApiRows = strings.Join(adminRoleApiFieldNames, ",")
|
||||
adminRoleApiRowsExpectAutoSet = strings.Join(stringx.Remove(adminRoleApiFieldNames, "`id`", "`create_time`", "`update_time`"), ",")
|
||||
adminRoleApiRowsWithPlaceHolder = strings.Join(stringx.Remove(adminRoleApiFieldNames, "`id`", "`create_time`", "`update_time`"), "=?,") + "=?"
|
||||
|
||||
cacheTycAdminRoleApiIdPrefix = "cache:tyc:adminRoleApi:id:"
|
||||
cacheTycAdminRoleApiRoleIdApiIdPrefix = "cache:tyc:adminRoleApi:roleId:apiId:"
|
||||
)
|
||||
|
||||
type (
|
||||
adminRoleApiModel interface {
|
||||
Insert(ctx context.Context, session sqlx.Session, data *AdminRoleApi) (sql.Result, error)
|
||||
FindOne(ctx context.Context, id int64) (*AdminRoleApi, error)
|
||||
FindOneByRoleIdApiId(ctx context.Context, roleId int64, apiId int64) (*AdminRoleApi, error)
|
||||
Update(ctx context.Context, session sqlx.Session, data *AdminRoleApi) (sql.Result, error)
|
||||
UpdateWithVersion(ctx context.Context, session sqlx.Session, data *AdminRoleApi) 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 *AdminRoleApi) 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) ([]*AdminRoleApi, error)
|
||||
FindPageListByPage(ctx context.Context, rowBuilder squirrel.SelectBuilder, page, pageSize int64, orderBy string) ([]*AdminRoleApi, error)
|
||||
FindPageListByPageWithTotal(ctx context.Context, rowBuilder squirrel.SelectBuilder, page, pageSize int64, orderBy string) ([]*AdminRoleApi, int64, error)
|
||||
FindPageListByIdDESC(ctx context.Context, rowBuilder squirrel.SelectBuilder, preMinId, pageSize int64) ([]*AdminRoleApi, error)
|
||||
FindPageListByIdASC(ctx context.Context, rowBuilder squirrel.SelectBuilder, preMaxId, pageSize int64) ([]*AdminRoleApi, error)
|
||||
Delete(ctx context.Context, session sqlx.Session, id int64) error
|
||||
}
|
||||
|
||||
defaultAdminRoleApiModel struct {
|
||||
sqlc.CachedConn
|
||||
table string
|
||||
}
|
||||
|
||||
AdminRoleApi 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"` // 版本号
|
||||
RoleId int64 `db:"role_id"` // 关联到角色表的id
|
||||
ApiId int64 `db:"api_id"` // 关联到接口表的id
|
||||
}
|
||||
)
|
||||
|
||||
func newAdminRoleApiModel(conn sqlx.SqlConn, c cache.CacheConf) *defaultAdminRoleApiModel {
|
||||
return &defaultAdminRoleApiModel{
|
||||
CachedConn: sqlc.NewConn(conn, c),
|
||||
table: "`admin_role_api`",
|
||||
}
|
||||
}
|
||||
|
||||
func (m *defaultAdminRoleApiModel) Insert(ctx context.Context, session sqlx.Session, data *AdminRoleApi) (sql.Result, error) {
|
||||
data.DelState = globalkey.DelStateNo
|
||||
tycAdminRoleApiIdKey := fmt.Sprintf("%s%v", cacheTycAdminRoleApiIdPrefix, data.Id)
|
||||
tycAdminRoleApiRoleIdApiIdKey := fmt.Sprintf("%s%v:%v", cacheTycAdminRoleApiRoleIdApiIdPrefix, data.RoleId, data.ApiId)
|
||||
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, adminRoleApiRowsExpectAutoSet)
|
||||
if session != nil {
|
||||
return session.ExecCtx(ctx, query, data.DeleteTime, data.DelState, data.Version, data.RoleId, data.ApiId)
|
||||
}
|
||||
return conn.ExecCtx(ctx, query, data.DeleteTime, data.DelState, data.Version, data.RoleId, data.ApiId)
|
||||
}, tycAdminRoleApiIdKey, tycAdminRoleApiRoleIdApiIdKey)
|
||||
}
|
||||
|
||||
func (m *defaultAdminRoleApiModel) FindOne(ctx context.Context, id int64) (*AdminRoleApi, error) {
|
||||
tycAdminRoleApiIdKey := fmt.Sprintf("%s%v", cacheTycAdminRoleApiIdPrefix, id)
|
||||
var resp AdminRoleApi
|
||||
err := m.QueryRowCtx(ctx, &resp, tycAdminRoleApiIdKey, func(ctx context.Context, conn sqlx.SqlConn, v interface{}) error {
|
||||
query := fmt.Sprintf("select %s from %s where `id` = ? and del_state = ? limit 1", adminRoleApiRows, 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 *defaultAdminRoleApiModel) FindOneByRoleIdApiId(ctx context.Context, roleId int64, apiId int64) (*AdminRoleApi, error) {
|
||||
tycAdminRoleApiRoleIdApiIdKey := fmt.Sprintf("%s%v:%v", cacheTycAdminRoleApiRoleIdApiIdPrefix, roleId, apiId)
|
||||
var resp AdminRoleApi
|
||||
err := m.QueryRowIndexCtx(ctx, &resp, tycAdminRoleApiRoleIdApiIdKey, m.formatPrimary, func(ctx context.Context, conn sqlx.SqlConn, v interface{}) (i interface{}, e error) {
|
||||
query := fmt.Sprintf("select %s from %s where `role_id` = ? and `api_id` = ? and del_state = ? limit 1", adminRoleApiRows, m.table)
|
||||
if err := conn.QueryRowCtx(ctx, &resp, query, roleId, apiId, 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 *defaultAdminRoleApiModel) Update(ctx context.Context, session sqlx.Session, newData *AdminRoleApi) (sql.Result, error) {
|
||||
data, err := m.FindOne(ctx, newData.Id)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
tycAdminRoleApiIdKey := fmt.Sprintf("%s%v", cacheTycAdminRoleApiIdPrefix, data.Id)
|
||||
tycAdminRoleApiRoleIdApiIdKey := fmt.Sprintf("%s%v:%v", cacheTycAdminRoleApiRoleIdApiIdPrefix, data.RoleId, data.ApiId)
|
||||
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, adminRoleApiRowsWithPlaceHolder)
|
||||
if session != nil {
|
||||
return session.ExecCtx(ctx, query, newData.DeleteTime, newData.DelState, newData.Version, newData.RoleId, newData.ApiId, newData.Id)
|
||||
}
|
||||
return conn.ExecCtx(ctx, query, newData.DeleteTime, newData.DelState, newData.Version, newData.RoleId, newData.ApiId, newData.Id)
|
||||
}, tycAdminRoleApiIdKey, tycAdminRoleApiRoleIdApiIdKey)
|
||||
}
|
||||
|
||||
func (m *defaultAdminRoleApiModel) UpdateWithVersion(ctx context.Context, session sqlx.Session, newData *AdminRoleApi) 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
|
||||
}
|
||||
tycAdminRoleApiIdKey := fmt.Sprintf("%s%v", cacheTycAdminRoleApiIdPrefix, data.Id)
|
||||
tycAdminRoleApiRoleIdApiIdKey := fmt.Sprintf("%s%v:%v", cacheTycAdminRoleApiRoleIdApiIdPrefix, data.RoleId, data.ApiId)
|
||||
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, adminRoleApiRowsWithPlaceHolder)
|
||||
if session != nil {
|
||||
return session.ExecCtx(ctx, query, newData.DeleteTime, newData.DelState, newData.Version, newData.RoleId, newData.ApiId, newData.Id, oldVersion)
|
||||
}
|
||||
return conn.ExecCtx(ctx, query, newData.DeleteTime, newData.DelState, newData.Version, newData.RoleId, newData.ApiId, newData.Id, oldVersion)
|
||||
}, tycAdminRoleApiIdKey, tycAdminRoleApiRoleIdApiIdKey)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
updateCount, err := sqlResult.RowsAffected()
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
if updateCount == 0 {
|
||||
return ErrNoRowsUpdate
|
||||
}
|
||||
|
||||
return nil
|
||||
}
|
||||
|
||||
func (m *defaultAdminRoleApiModel) DeleteSoft(ctx context.Context, session sqlx.Session, data *AdminRoleApi) 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 "), "AdminRoleApiModel delete err : %+v", err)
|
||||
}
|
||||
return nil
|
||||
}
|
||||
|
||||
func (m *defaultAdminRoleApiModel) 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 *defaultAdminRoleApiModel) 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 *defaultAdminRoleApiModel) FindAll(ctx context.Context, builder squirrel.SelectBuilder, orderBy string) ([]*AdminRoleApi, error) {
|
||||
|
||||
builder = builder.Columns(adminRoleApiRows)
|
||||
|
||||
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 []*AdminRoleApi
|
||||
err = m.QueryRowsNoCacheCtx(ctx, &resp, query, values...)
|
||||
switch err {
|
||||
case nil:
|
||||
return resp, nil
|
||||
default:
|
||||
return nil, err
|
||||
}
|
||||
}
|
||||
|
||||
func (m *defaultAdminRoleApiModel) FindPageListByPage(ctx context.Context, builder squirrel.SelectBuilder, page, pageSize int64, orderBy string) ([]*AdminRoleApi, error) {
|
||||
|
||||
builder = builder.Columns(adminRoleApiRows)
|
||||
|
||||
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 []*AdminRoleApi
|
||||
err = m.QueryRowsNoCacheCtx(ctx, &resp, query, values...)
|
||||
switch err {
|
||||
case nil:
|
||||
return resp, nil
|
||||
default:
|
||||
return nil, err
|
||||
}
|
||||
}
|
||||
|
||||
func (m *defaultAdminRoleApiModel) FindPageListByPageWithTotal(ctx context.Context, builder squirrel.SelectBuilder, page, pageSize int64, orderBy string) ([]*AdminRoleApi, int64, error) {
|
||||
|
||||
total, err := m.FindCount(ctx, builder, "id")
|
||||
if err != nil {
|
||||
return nil, 0, err
|
||||
}
|
||||
|
||||
builder = builder.Columns(adminRoleApiRows)
|
||||
|
||||
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 []*AdminRoleApi
|
||||
err = m.QueryRowsNoCacheCtx(ctx, &resp, query, values...)
|
||||
switch err {
|
||||
case nil:
|
||||
return resp, total, nil
|
||||
default:
|
||||
return nil, total, err
|
||||
}
|
||||
}
|
||||
|
||||
func (m *defaultAdminRoleApiModel) FindPageListByIdDESC(ctx context.Context, builder squirrel.SelectBuilder, preMinId, pageSize int64) ([]*AdminRoleApi, error) {
|
||||
|
||||
builder = builder.Columns(adminRoleApiRows)
|
||||
|
||||
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 []*AdminRoleApi
|
||||
err = m.QueryRowsNoCacheCtx(ctx, &resp, query, values...)
|
||||
switch err {
|
||||
case nil:
|
||||
return resp, nil
|
||||
default:
|
||||
return nil, err
|
||||
}
|
||||
}
|
||||
|
||||
func (m *defaultAdminRoleApiModel) FindPageListByIdASC(ctx context.Context, builder squirrel.SelectBuilder, preMaxId, pageSize int64) ([]*AdminRoleApi, error) {
|
||||
|
||||
builder = builder.Columns(adminRoleApiRows)
|
||||
|
||||
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 []*AdminRoleApi
|
||||
err = m.QueryRowsNoCacheCtx(ctx, &resp, query, values...)
|
||||
switch err {
|
||||
case nil:
|
||||
return resp, nil
|
||||
default:
|
||||
return nil, err
|
||||
}
|
||||
}
|
||||
|
||||
func (m *defaultAdminRoleApiModel) 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 *defaultAdminRoleApiModel) SelectBuilder() squirrel.SelectBuilder {
|
||||
return squirrel.Select().From(m.table)
|
||||
}
|
||||
func (m *defaultAdminRoleApiModel) Delete(ctx context.Context, session sqlx.Session, id int64) error {
|
||||
data, err := m.FindOne(ctx, id)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
tycAdminRoleApiIdKey := fmt.Sprintf("%s%v", cacheTycAdminRoleApiIdPrefix, id)
|
||||
tycAdminRoleApiRoleIdApiIdKey := fmt.Sprintf("%s%v:%v", cacheTycAdminRoleApiRoleIdApiIdPrefix, data.RoleId, data.ApiId)
|
||||
_, 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)
|
||||
}, tycAdminRoleApiIdKey, tycAdminRoleApiRoleIdApiIdKey)
|
||||
return err
|
||||
}
|
||||
func (m *defaultAdminRoleApiModel) formatPrimary(primary interface{}) string {
|
||||
return fmt.Sprintf("%s%v", cacheTycAdminRoleApiIdPrefix, primary)
|
||||
}
|
||||
func (m *defaultAdminRoleApiModel) 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", adminRoleApiRows, m.table)
|
||||
return conn.QueryRowCtx(ctx, v, query, primary, globalkey.DelStateNo)
|
||||
}
|
||||
|
||||
func (m *defaultAdminRoleApiModel) tableName() string {
|
||||
return m.table
|
||||
}
|
||||
27
app/main/model/adminRoleMenuModel.go
Normal file
27
app/main/model/adminRoleMenuModel.go
Normal file
@@ -0,0 +1,27 @@
|
||||
package model
|
||||
|
||||
import (
|
||||
"github.com/zeromicro/go-zero/core/stores/cache"
|
||||
"github.com/zeromicro/go-zero/core/stores/sqlx"
|
||||
)
|
||||
|
||||
var _ AdminRoleMenuModel = (*customAdminRoleMenuModel)(nil)
|
||||
|
||||
type (
|
||||
// AdminRoleMenuModel is an interface to be customized, add more methods here,
|
||||
// and implement the added methods in customAdminRoleMenuModel.
|
||||
AdminRoleMenuModel interface {
|
||||
adminRoleMenuModel
|
||||
}
|
||||
|
||||
customAdminRoleMenuModel struct {
|
||||
*defaultAdminRoleMenuModel
|
||||
}
|
||||
)
|
||||
|
||||
// NewAdminRoleMenuModel returns a model for the database table.
|
||||
func NewAdminRoleMenuModel(conn sqlx.SqlConn, c cache.CacheConf) AdminRoleMenuModel {
|
||||
return &customAdminRoleMenuModel{
|
||||
defaultAdminRoleMenuModel: newAdminRoleMenuModel(conn, c),
|
||||
}
|
||||
}
|
||||
407
app/main/model/adminRoleMenuModel_gen.go
Normal file
407
app/main/model/adminRoleMenuModel_gen.go
Normal file
@@ -0,0 +1,407 @@
|
||||
// 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 (
|
||||
adminRoleMenuFieldNames = builder.RawFieldNames(&AdminRoleMenu{})
|
||||
adminRoleMenuRows = strings.Join(adminRoleMenuFieldNames, ",")
|
||||
adminRoleMenuRowsExpectAutoSet = strings.Join(stringx.Remove(adminRoleMenuFieldNames, "`id`", "`create_time`", "`update_time`"), ",")
|
||||
adminRoleMenuRowsWithPlaceHolder = strings.Join(stringx.Remove(adminRoleMenuFieldNames, "`id`", "`create_time`", "`update_time`"), "=?,") + "=?"
|
||||
|
||||
cacheTycAdminRoleMenuIdPrefix = "cache:tyc:adminRoleMenu:id:"
|
||||
cacheTycAdminRoleMenuRoleIdMenuIdPrefix = "cache:tyc:adminRoleMenu:roleId:menuId:"
|
||||
)
|
||||
|
||||
type (
|
||||
adminRoleMenuModel interface {
|
||||
Insert(ctx context.Context, session sqlx.Session, data *AdminRoleMenu) (sql.Result, error)
|
||||
FindOne(ctx context.Context, id int64) (*AdminRoleMenu, error)
|
||||
FindOneByRoleIdMenuId(ctx context.Context, roleId int64, menuId int64) (*AdminRoleMenu, error)
|
||||
Update(ctx context.Context, session sqlx.Session, data *AdminRoleMenu) (sql.Result, error)
|
||||
UpdateWithVersion(ctx context.Context, session sqlx.Session, data *AdminRoleMenu) 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 *AdminRoleMenu) 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) ([]*AdminRoleMenu, error)
|
||||
FindPageListByPage(ctx context.Context, rowBuilder squirrel.SelectBuilder, page, pageSize int64, orderBy string) ([]*AdminRoleMenu, error)
|
||||
FindPageListByPageWithTotal(ctx context.Context, rowBuilder squirrel.SelectBuilder, page, pageSize int64, orderBy string) ([]*AdminRoleMenu, int64, error)
|
||||
FindPageListByIdDESC(ctx context.Context, rowBuilder squirrel.SelectBuilder, preMinId, pageSize int64) ([]*AdminRoleMenu, error)
|
||||
FindPageListByIdASC(ctx context.Context, rowBuilder squirrel.SelectBuilder, preMaxId, pageSize int64) ([]*AdminRoleMenu, error)
|
||||
Delete(ctx context.Context, session sqlx.Session, id int64) error
|
||||
}
|
||||
|
||||
defaultAdminRoleMenuModel struct {
|
||||
sqlc.CachedConn
|
||||
table string
|
||||
}
|
||||
|
||||
AdminRoleMenu 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"` // 版本号
|
||||
RoleId int64 `db:"role_id"` // 关联到角色表的id
|
||||
MenuId int64 `db:"menu_id"` // 关联到菜单表的id
|
||||
}
|
||||
)
|
||||
|
||||
func newAdminRoleMenuModel(conn sqlx.SqlConn, c cache.CacheConf) *defaultAdminRoleMenuModel {
|
||||
return &defaultAdminRoleMenuModel{
|
||||
CachedConn: sqlc.NewConn(conn, c),
|
||||
table: "`admin_role_menu`",
|
||||
}
|
||||
}
|
||||
|
||||
func (m *defaultAdminRoleMenuModel) Insert(ctx context.Context, session sqlx.Session, data *AdminRoleMenu) (sql.Result, error) {
|
||||
data.DelState = globalkey.DelStateNo
|
||||
tycAdminRoleMenuIdKey := fmt.Sprintf("%s%v", cacheTycAdminRoleMenuIdPrefix, data.Id)
|
||||
tycAdminRoleMenuRoleIdMenuIdKey := fmt.Sprintf("%s%v:%v", cacheTycAdminRoleMenuRoleIdMenuIdPrefix, data.RoleId, data.MenuId)
|
||||
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, adminRoleMenuRowsExpectAutoSet)
|
||||
if session != nil {
|
||||
return session.ExecCtx(ctx, query, data.DeleteTime, data.DelState, data.Version, data.RoleId, data.MenuId)
|
||||
}
|
||||
return conn.ExecCtx(ctx, query, data.DeleteTime, data.DelState, data.Version, data.RoleId, data.MenuId)
|
||||
}, tycAdminRoleMenuIdKey, tycAdminRoleMenuRoleIdMenuIdKey)
|
||||
}
|
||||
|
||||
func (m *defaultAdminRoleMenuModel) FindOne(ctx context.Context, id int64) (*AdminRoleMenu, error) {
|
||||
tycAdminRoleMenuIdKey := fmt.Sprintf("%s%v", cacheTycAdminRoleMenuIdPrefix, id)
|
||||
var resp AdminRoleMenu
|
||||
err := m.QueryRowCtx(ctx, &resp, tycAdminRoleMenuIdKey, func(ctx context.Context, conn sqlx.SqlConn, v interface{}) error {
|
||||
query := fmt.Sprintf("select %s from %s where `id` = ? and del_state = ? limit 1", adminRoleMenuRows, 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 *defaultAdminRoleMenuModel) FindOneByRoleIdMenuId(ctx context.Context, roleId int64, menuId int64) (*AdminRoleMenu, error) {
|
||||
tycAdminRoleMenuRoleIdMenuIdKey := fmt.Sprintf("%s%v:%v", cacheTycAdminRoleMenuRoleIdMenuIdPrefix, roleId, menuId)
|
||||
var resp AdminRoleMenu
|
||||
err := m.QueryRowIndexCtx(ctx, &resp, tycAdminRoleMenuRoleIdMenuIdKey, m.formatPrimary, func(ctx context.Context, conn sqlx.SqlConn, v interface{}) (i interface{}, e error) {
|
||||
query := fmt.Sprintf("select %s from %s where `role_id` = ? and `menu_id` = ? and del_state = ? limit 1", adminRoleMenuRows, m.table)
|
||||
if err := conn.QueryRowCtx(ctx, &resp, query, roleId, menuId, 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 *defaultAdminRoleMenuModel) Update(ctx context.Context, session sqlx.Session, newData *AdminRoleMenu) (sql.Result, error) {
|
||||
data, err := m.FindOne(ctx, newData.Id)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
tycAdminRoleMenuIdKey := fmt.Sprintf("%s%v", cacheTycAdminRoleMenuIdPrefix, data.Id)
|
||||
tycAdminRoleMenuRoleIdMenuIdKey := fmt.Sprintf("%s%v:%v", cacheTycAdminRoleMenuRoleIdMenuIdPrefix, data.RoleId, data.MenuId)
|
||||
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, adminRoleMenuRowsWithPlaceHolder)
|
||||
if session != nil {
|
||||
return session.ExecCtx(ctx, query, newData.DeleteTime, newData.DelState, newData.Version, newData.RoleId, newData.MenuId, newData.Id)
|
||||
}
|
||||
return conn.ExecCtx(ctx, query, newData.DeleteTime, newData.DelState, newData.Version, newData.RoleId, newData.MenuId, newData.Id)
|
||||
}, tycAdminRoleMenuIdKey, tycAdminRoleMenuRoleIdMenuIdKey)
|
||||
}
|
||||
|
||||
func (m *defaultAdminRoleMenuModel) UpdateWithVersion(ctx context.Context, session sqlx.Session, newData *AdminRoleMenu) 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
|
||||
}
|
||||
tycAdminRoleMenuIdKey := fmt.Sprintf("%s%v", cacheTycAdminRoleMenuIdPrefix, data.Id)
|
||||
tycAdminRoleMenuRoleIdMenuIdKey := fmt.Sprintf("%s%v:%v", cacheTycAdminRoleMenuRoleIdMenuIdPrefix, data.RoleId, data.MenuId)
|
||||
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, adminRoleMenuRowsWithPlaceHolder)
|
||||
if session != nil {
|
||||
return session.ExecCtx(ctx, query, newData.DeleteTime, newData.DelState, newData.Version, newData.RoleId, newData.MenuId, newData.Id, oldVersion)
|
||||
}
|
||||
return conn.ExecCtx(ctx, query, newData.DeleteTime, newData.DelState, newData.Version, newData.RoleId, newData.MenuId, newData.Id, oldVersion)
|
||||
}, tycAdminRoleMenuIdKey, tycAdminRoleMenuRoleIdMenuIdKey)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
updateCount, err := sqlResult.RowsAffected()
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
if updateCount == 0 {
|
||||
return ErrNoRowsUpdate
|
||||
}
|
||||
|
||||
return nil
|
||||
}
|
||||
|
||||
func (m *defaultAdminRoleMenuModel) DeleteSoft(ctx context.Context, session sqlx.Session, data *AdminRoleMenu) 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 "), "AdminRoleMenuModel delete err : %+v", err)
|
||||
}
|
||||
return nil
|
||||
}
|
||||
|
||||
func (m *defaultAdminRoleMenuModel) 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 *defaultAdminRoleMenuModel) 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 *defaultAdminRoleMenuModel) FindAll(ctx context.Context, builder squirrel.SelectBuilder, orderBy string) ([]*AdminRoleMenu, error) {
|
||||
|
||||
builder = builder.Columns(adminRoleMenuRows)
|
||||
|
||||
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 []*AdminRoleMenu
|
||||
err = m.QueryRowsNoCacheCtx(ctx, &resp, query, values...)
|
||||
switch err {
|
||||
case nil:
|
||||
return resp, nil
|
||||
default:
|
||||
return nil, err
|
||||
}
|
||||
}
|
||||
|
||||
func (m *defaultAdminRoleMenuModel) FindPageListByPage(ctx context.Context, builder squirrel.SelectBuilder, page, pageSize int64, orderBy string) ([]*AdminRoleMenu, error) {
|
||||
|
||||
builder = builder.Columns(adminRoleMenuRows)
|
||||
|
||||
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 []*AdminRoleMenu
|
||||
err = m.QueryRowsNoCacheCtx(ctx, &resp, query, values...)
|
||||
switch err {
|
||||
case nil:
|
||||
return resp, nil
|
||||
default:
|
||||
return nil, err
|
||||
}
|
||||
}
|
||||
|
||||
func (m *defaultAdminRoleMenuModel) FindPageListByPageWithTotal(ctx context.Context, builder squirrel.SelectBuilder, page, pageSize int64, orderBy string) ([]*AdminRoleMenu, int64, error) {
|
||||
|
||||
total, err := m.FindCount(ctx, builder, "id")
|
||||
if err != nil {
|
||||
return nil, 0, err
|
||||
}
|
||||
|
||||
builder = builder.Columns(adminRoleMenuRows)
|
||||
|
||||
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 []*AdminRoleMenu
|
||||
err = m.QueryRowsNoCacheCtx(ctx, &resp, query, values...)
|
||||
switch err {
|
||||
case nil:
|
||||
return resp, total, nil
|
||||
default:
|
||||
return nil, total, err
|
||||
}
|
||||
}
|
||||
|
||||
func (m *defaultAdminRoleMenuModel) FindPageListByIdDESC(ctx context.Context, builder squirrel.SelectBuilder, preMinId, pageSize int64) ([]*AdminRoleMenu, error) {
|
||||
|
||||
builder = builder.Columns(adminRoleMenuRows)
|
||||
|
||||
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 []*AdminRoleMenu
|
||||
err = m.QueryRowsNoCacheCtx(ctx, &resp, query, values...)
|
||||
switch err {
|
||||
case nil:
|
||||
return resp, nil
|
||||
default:
|
||||
return nil, err
|
||||
}
|
||||
}
|
||||
|
||||
func (m *defaultAdminRoleMenuModel) FindPageListByIdASC(ctx context.Context, builder squirrel.SelectBuilder, preMaxId, pageSize int64) ([]*AdminRoleMenu, error) {
|
||||
|
||||
builder = builder.Columns(adminRoleMenuRows)
|
||||
|
||||
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 []*AdminRoleMenu
|
||||
err = m.QueryRowsNoCacheCtx(ctx, &resp, query, values...)
|
||||
switch err {
|
||||
case nil:
|
||||
return resp, nil
|
||||
default:
|
||||
return nil, err
|
||||
}
|
||||
}
|
||||
|
||||
func (m *defaultAdminRoleMenuModel) 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 *defaultAdminRoleMenuModel) SelectBuilder() squirrel.SelectBuilder {
|
||||
return squirrel.Select().From(m.table)
|
||||
}
|
||||
func (m *defaultAdminRoleMenuModel) Delete(ctx context.Context, session sqlx.Session, id int64) error {
|
||||
data, err := m.FindOne(ctx, id)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
tycAdminRoleMenuIdKey := fmt.Sprintf("%s%v", cacheTycAdminRoleMenuIdPrefix, id)
|
||||
tycAdminRoleMenuRoleIdMenuIdKey := fmt.Sprintf("%s%v:%v", cacheTycAdminRoleMenuRoleIdMenuIdPrefix, data.RoleId, data.MenuId)
|
||||
_, 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)
|
||||
}, tycAdminRoleMenuIdKey, tycAdminRoleMenuRoleIdMenuIdKey)
|
||||
return err
|
||||
}
|
||||
func (m *defaultAdminRoleMenuModel) formatPrimary(primary interface{}) string {
|
||||
return fmt.Sprintf("%s%v", cacheTycAdminRoleMenuIdPrefix, primary)
|
||||
}
|
||||
func (m *defaultAdminRoleMenuModel) 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", adminRoleMenuRows, m.table)
|
||||
return conn.QueryRowCtx(ctx, v, query, primary, globalkey.DelStateNo)
|
||||
}
|
||||
|
||||
func (m *defaultAdminRoleMenuModel) tableName() string {
|
||||
return m.table
|
||||
}
|
||||
27
app/main/model/adminRoleModel.go
Normal file
27
app/main/model/adminRoleModel.go
Normal file
@@ -0,0 +1,27 @@
|
||||
package model
|
||||
|
||||
import (
|
||||
"github.com/zeromicro/go-zero/core/stores/cache"
|
||||
"github.com/zeromicro/go-zero/core/stores/sqlx"
|
||||
)
|
||||
|
||||
var _ AdminRoleModel = (*customAdminRoleModel)(nil)
|
||||
|
||||
type (
|
||||
// AdminRoleModel is an interface to be customized, add more methods here,
|
||||
// and implement the added methods in customAdminRoleModel.
|
||||
AdminRoleModel interface {
|
||||
adminRoleModel
|
||||
}
|
||||
|
||||
customAdminRoleModel struct {
|
||||
*defaultAdminRoleModel
|
||||
}
|
||||
)
|
||||
|
||||
// NewAdminRoleModel returns a model for the database table.
|
||||
func NewAdminRoleModel(conn sqlx.SqlConn, c cache.CacheConf) AdminRoleModel {
|
||||
return &customAdminRoleModel{
|
||||
defaultAdminRoleModel: newAdminRoleModel(conn, c),
|
||||
}
|
||||
}
|
||||
410
app/main/model/adminRoleModel_gen.go
Normal file
410
app/main/model/adminRoleModel_gen.go
Normal file
@@ -0,0 +1,410 @@
|
||||
// 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 (
|
||||
adminRoleFieldNames = builder.RawFieldNames(&AdminRole{})
|
||||
adminRoleRows = strings.Join(adminRoleFieldNames, ",")
|
||||
adminRoleRowsExpectAutoSet = strings.Join(stringx.Remove(adminRoleFieldNames, "`id`", "`create_time`", "`update_time`"), ",")
|
||||
adminRoleRowsWithPlaceHolder = strings.Join(stringx.Remove(adminRoleFieldNames, "`id`", "`create_time`", "`update_time`"), "=?,") + "=?"
|
||||
|
||||
cacheTycAdminRoleIdPrefix = "cache:tyc:adminRole:id:"
|
||||
cacheTycAdminRoleRoleCodePrefix = "cache:tyc:adminRole:roleCode:"
|
||||
)
|
||||
|
||||
type (
|
||||
adminRoleModel interface {
|
||||
Insert(ctx context.Context, session sqlx.Session, data *AdminRole) (sql.Result, error)
|
||||
FindOne(ctx context.Context, id int64) (*AdminRole, error)
|
||||
FindOneByRoleCode(ctx context.Context, roleCode string) (*AdminRole, error)
|
||||
Update(ctx context.Context, session sqlx.Session, data *AdminRole) (sql.Result, error)
|
||||
UpdateWithVersion(ctx context.Context, session sqlx.Session, data *AdminRole) 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 *AdminRole) 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) ([]*AdminRole, error)
|
||||
FindPageListByPage(ctx context.Context, rowBuilder squirrel.SelectBuilder, page, pageSize int64, orderBy string) ([]*AdminRole, error)
|
||||
FindPageListByPageWithTotal(ctx context.Context, rowBuilder squirrel.SelectBuilder, page, pageSize int64, orderBy string) ([]*AdminRole, int64, error)
|
||||
FindPageListByIdDESC(ctx context.Context, rowBuilder squirrel.SelectBuilder, preMinId, pageSize int64) ([]*AdminRole, error)
|
||||
FindPageListByIdASC(ctx context.Context, rowBuilder squirrel.SelectBuilder, preMaxId, pageSize int64) ([]*AdminRole, error)
|
||||
Delete(ctx context.Context, session sqlx.Session, id int64) error
|
||||
}
|
||||
|
||||
defaultAdminRoleModel struct {
|
||||
sqlc.CachedConn
|
||||
table string
|
||||
}
|
||||
|
||||
AdminRole 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"` // 版本号
|
||||
RoleName string `db:"role_name"` // 角色名称
|
||||
RoleCode string `db:"role_code"` // 角色编码
|
||||
Description string `db:"description"` // 角色描述
|
||||
Status int64 `db:"status"` // 状态:0-禁用,1-启用
|
||||
Sort int64 `db:"sort"` // 排序
|
||||
}
|
||||
)
|
||||
|
||||
func newAdminRoleModel(conn sqlx.SqlConn, c cache.CacheConf) *defaultAdminRoleModel {
|
||||
return &defaultAdminRoleModel{
|
||||
CachedConn: sqlc.NewConn(conn, c),
|
||||
table: "`admin_role`",
|
||||
}
|
||||
}
|
||||
|
||||
func (m *defaultAdminRoleModel) Insert(ctx context.Context, session sqlx.Session, data *AdminRole) (sql.Result, error) {
|
||||
data.DelState = globalkey.DelStateNo
|
||||
tycAdminRoleIdKey := fmt.Sprintf("%s%v", cacheTycAdminRoleIdPrefix, data.Id)
|
||||
tycAdminRoleRoleCodeKey := fmt.Sprintf("%s%v", cacheTycAdminRoleRoleCodePrefix, data.RoleCode)
|
||||
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, adminRoleRowsExpectAutoSet)
|
||||
if session != nil {
|
||||
return session.ExecCtx(ctx, query, data.DeleteTime, data.DelState, data.Version, data.RoleName, data.RoleCode, data.Description, data.Status, data.Sort)
|
||||
}
|
||||
return conn.ExecCtx(ctx, query, data.DeleteTime, data.DelState, data.Version, data.RoleName, data.RoleCode, data.Description, data.Status, data.Sort)
|
||||
}, tycAdminRoleIdKey, tycAdminRoleRoleCodeKey)
|
||||
}
|
||||
|
||||
func (m *defaultAdminRoleModel) FindOne(ctx context.Context, id int64) (*AdminRole, error) {
|
||||
tycAdminRoleIdKey := fmt.Sprintf("%s%v", cacheTycAdminRoleIdPrefix, id)
|
||||
var resp AdminRole
|
||||
err := m.QueryRowCtx(ctx, &resp, tycAdminRoleIdKey, func(ctx context.Context, conn sqlx.SqlConn, v interface{}) error {
|
||||
query := fmt.Sprintf("select %s from %s where `id` = ? and del_state = ? limit 1", adminRoleRows, 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 *defaultAdminRoleModel) FindOneByRoleCode(ctx context.Context, roleCode string) (*AdminRole, error) {
|
||||
tycAdminRoleRoleCodeKey := fmt.Sprintf("%s%v", cacheTycAdminRoleRoleCodePrefix, roleCode)
|
||||
var resp AdminRole
|
||||
err := m.QueryRowIndexCtx(ctx, &resp, tycAdminRoleRoleCodeKey, m.formatPrimary, func(ctx context.Context, conn sqlx.SqlConn, v interface{}) (i interface{}, e error) {
|
||||
query := fmt.Sprintf("select %s from %s where `role_code` = ? and del_state = ? limit 1", adminRoleRows, m.table)
|
||||
if err := conn.QueryRowCtx(ctx, &resp, query, roleCode, 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 *defaultAdminRoleModel) Update(ctx context.Context, session sqlx.Session, newData *AdminRole) (sql.Result, error) {
|
||||
data, err := m.FindOne(ctx, newData.Id)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
tycAdminRoleIdKey := fmt.Sprintf("%s%v", cacheTycAdminRoleIdPrefix, data.Id)
|
||||
tycAdminRoleRoleCodeKey := fmt.Sprintf("%s%v", cacheTycAdminRoleRoleCodePrefix, data.RoleCode)
|
||||
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, adminRoleRowsWithPlaceHolder)
|
||||
if session != nil {
|
||||
return session.ExecCtx(ctx, query, newData.DeleteTime, newData.DelState, newData.Version, newData.RoleName, newData.RoleCode, newData.Description, newData.Status, newData.Sort, newData.Id)
|
||||
}
|
||||
return conn.ExecCtx(ctx, query, newData.DeleteTime, newData.DelState, newData.Version, newData.RoleName, newData.RoleCode, newData.Description, newData.Status, newData.Sort, newData.Id)
|
||||
}, tycAdminRoleIdKey, tycAdminRoleRoleCodeKey)
|
||||
}
|
||||
|
||||
func (m *defaultAdminRoleModel) UpdateWithVersion(ctx context.Context, session sqlx.Session, newData *AdminRole) 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
|
||||
}
|
||||
tycAdminRoleIdKey := fmt.Sprintf("%s%v", cacheTycAdminRoleIdPrefix, data.Id)
|
||||
tycAdminRoleRoleCodeKey := fmt.Sprintf("%s%v", cacheTycAdminRoleRoleCodePrefix, data.RoleCode)
|
||||
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, adminRoleRowsWithPlaceHolder)
|
||||
if session != nil {
|
||||
return session.ExecCtx(ctx, query, newData.DeleteTime, newData.DelState, newData.Version, newData.RoleName, newData.RoleCode, newData.Description, newData.Status, newData.Sort, newData.Id, oldVersion)
|
||||
}
|
||||
return conn.ExecCtx(ctx, query, newData.DeleteTime, newData.DelState, newData.Version, newData.RoleName, newData.RoleCode, newData.Description, newData.Status, newData.Sort, newData.Id, oldVersion)
|
||||
}, tycAdminRoleIdKey, tycAdminRoleRoleCodeKey)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
updateCount, err := sqlResult.RowsAffected()
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
if updateCount == 0 {
|
||||
return ErrNoRowsUpdate
|
||||
}
|
||||
|
||||
return nil
|
||||
}
|
||||
|
||||
func (m *defaultAdminRoleModel) DeleteSoft(ctx context.Context, session sqlx.Session, data *AdminRole) 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 "), "AdminRoleModel delete err : %+v", err)
|
||||
}
|
||||
return nil
|
||||
}
|
||||
|
||||
func (m *defaultAdminRoleModel) 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 *defaultAdminRoleModel) 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 *defaultAdminRoleModel) FindAll(ctx context.Context, builder squirrel.SelectBuilder, orderBy string) ([]*AdminRole, error) {
|
||||
|
||||
builder = builder.Columns(adminRoleRows)
|
||||
|
||||
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 []*AdminRole
|
||||
err = m.QueryRowsNoCacheCtx(ctx, &resp, query, values...)
|
||||
switch err {
|
||||
case nil:
|
||||
return resp, nil
|
||||
default:
|
||||
return nil, err
|
||||
}
|
||||
}
|
||||
|
||||
func (m *defaultAdminRoleModel) FindPageListByPage(ctx context.Context, builder squirrel.SelectBuilder, page, pageSize int64, orderBy string) ([]*AdminRole, error) {
|
||||
|
||||
builder = builder.Columns(adminRoleRows)
|
||||
|
||||
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 []*AdminRole
|
||||
err = m.QueryRowsNoCacheCtx(ctx, &resp, query, values...)
|
||||
switch err {
|
||||
case nil:
|
||||
return resp, nil
|
||||
default:
|
||||
return nil, err
|
||||
}
|
||||
}
|
||||
|
||||
func (m *defaultAdminRoleModel) FindPageListByPageWithTotal(ctx context.Context, builder squirrel.SelectBuilder, page, pageSize int64, orderBy string) ([]*AdminRole, int64, error) {
|
||||
|
||||
total, err := m.FindCount(ctx, builder, "id")
|
||||
if err != nil {
|
||||
return nil, 0, err
|
||||
}
|
||||
|
||||
builder = builder.Columns(adminRoleRows)
|
||||
|
||||
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 []*AdminRole
|
||||
err = m.QueryRowsNoCacheCtx(ctx, &resp, query, values...)
|
||||
switch err {
|
||||
case nil:
|
||||
return resp, total, nil
|
||||
default:
|
||||
return nil, total, err
|
||||
}
|
||||
}
|
||||
|
||||
func (m *defaultAdminRoleModel) FindPageListByIdDESC(ctx context.Context, builder squirrel.SelectBuilder, preMinId, pageSize int64) ([]*AdminRole, error) {
|
||||
|
||||
builder = builder.Columns(adminRoleRows)
|
||||
|
||||
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 []*AdminRole
|
||||
err = m.QueryRowsNoCacheCtx(ctx, &resp, query, values...)
|
||||
switch err {
|
||||
case nil:
|
||||
return resp, nil
|
||||
default:
|
||||
return nil, err
|
||||
}
|
||||
}
|
||||
|
||||
func (m *defaultAdminRoleModel) FindPageListByIdASC(ctx context.Context, builder squirrel.SelectBuilder, preMaxId, pageSize int64) ([]*AdminRole, error) {
|
||||
|
||||
builder = builder.Columns(adminRoleRows)
|
||||
|
||||
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 []*AdminRole
|
||||
err = m.QueryRowsNoCacheCtx(ctx, &resp, query, values...)
|
||||
switch err {
|
||||
case nil:
|
||||
return resp, nil
|
||||
default:
|
||||
return nil, err
|
||||
}
|
||||
}
|
||||
|
||||
func (m *defaultAdminRoleModel) 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 *defaultAdminRoleModel) SelectBuilder() squirrel.SelectBuilder {
|
||||
return squirrel.Select().From(m.table)
|
||||
}
|
||||
func (m *defaultAdminRoleModel) Delete(ctx context.Context, session sqlx.Session, id int64) error {
|
||||
data, err := m.FindOne(ctx, id)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
tycAdminRoleIdKey := fmt.Sprintf("%s%v", cacheTycAdminRoleIdPrefix, id)
|
||||
tycAdminRoleRoleCodeKey := fmt.Sprintf("%s%v", cacheTycAdminRoleRoleCodePrefix, data.RoleCode)
|
||||
_, 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)
|
||||
}, tycAdminRoleIdKey, tycAdminRoleRoleCodeKey)
|
||||
return err
|
||||
}
|
||||
func (m *defaultAdminRoleModel) formatPrimary(primary interface{}) string {
|
||||
return fmt.Sprintf("%s%v", cacheTycAdminRoleIdPrefix, primary)
|
||||
}
|
||||
func (m *defaultAdminRoleModel) 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", adminRoleRows, m.table)
|
||||
return conn.QueryRowCtx(ctx, v, query, primary, globalkey.DelStateNo)
|
||||
}
|
||||
|
||||
func (m *defaultAdminRoleModel) tableName() string {
|
||||
return m.table
|
||||
}
|
||||
27
app/main/model/adminUserModel.go
Normal file
27
app/main/model/adminUserModel.go
Normal file
@@ -0,0 +1,27 @@
|
||||
package model
|
||||
|
||||
import (
|
||||
"github.com/zeromicro/go-zero/core/stores/cache"
|
||||
"github.com/zeromicro/go-zero/core/stores/sqlx"
|
||||
)
|
||||
|
||||
var _ AdminUserModel = (*customAdminUserModel)(nil)
|
||||
|
||||
type (
|
||||
// AdminUserModel is an interface to be customized, add more methods here,
|
||||
// and implement the added methods in customAdminUserModel.
|
||||
AdminUserModel interface {
|
||||
adminUserModel
|
||||
}
|
||||
|
||||
customAdminUserModel struct {
|
||||
*defaultAdminUserModel
|
||||
}
|
||||
)
|
||||
|
||||
// NewAdminUserModel returns a model for the database table.
|
||||
func NewAdminUserModel(conn sqlx.SqlConn, c cache.CacheConf) AdminUserModel {
|
||||
return &customAdminUserModel{
|
||||
defaultAdminUserModel: newAdminUserModel(conn, c),
|
||||
}
|
||||
}
|
||||
435
app/main/model/adminUserModel_gen.go
Normal file
435
app/main/model/adminUserModel_gen.go
Normal file
@@ -0,0 +1,435 @@
|
||||
// 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 (
|
||||
adminUserFieldNames = builder.RawFieldNames(&AdminUser{})
|
||||
adminUserRows = strings.Join(adminUserFieldNames, ",")
|
||||
adminUserRowsExpectAutoSet = strings.Join(stringx.Remove(adminUserFieldNames, "`id`", "`create_time`", "`update_time`"), ",")
|
||||
adminUserRowsWithPlaceHolder = strings.Join(stringx.Remove(adminUserFieldNames, "`id`", "`create_time`", "`update_time`"), "=?,") + "=?"
|
||||
|
||||
cacheTycAdminUserIdPrefix = "cache:tyc:adminUser:id:"
|
||||
cacheTycAdminUserRealNamePrefix = "cache:tyc:adminUser:realName:"
|
||||
cacheTycAdminUserUsernamePrefix = "cache:tyc:adminUser:username:"
|
||||
)
|
||||
|
||||
type (
|
||||
adminUserModel interface {
|
||||
Insert(ctx context.Context, session sqlx.Session, data *AdminUser) (sql.Result, error)
|
||||
FindOne(ctx context.Context, id int64) (*AdminUser, error)
|
||||
FindOneByRealName(ctx context.Context, realName string) (*AdminUser, error)
|
||||
FindOneByUsername(ctx context.Context, username string) (*AdminUser, error)
|
||||
Update(ctx context.Context, session sqlx.Session, data *AdminUser) (sql.Result, error)
|
||||
UpdateWithVersion(ctx context.Context, session sqlx.Session, data *AdminUser) 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 *AdminUser) 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) ([]*AdminUser, error)
|
||||
FindPageListByPage(ctx context.Context, rowBuilder squirrel.SelectBuilder, page, pageSize int64, orderBy string) ([]*AdminUser, error)
|
||||
FindPageListByPageWithTotal(ctx context.Context, rowBuilder squirrel.SelectBuilder, page, pageSize int64, orderBy string) ([]*AdminUser, int64, error)
|
||||
FindPageListByIdDESC(ctx context.Context, rowBuilder squirrel.SelectBuilder, preMinId, pageSize int64) ([]*AdminUser, error)
|
||||
FindPageListByIdASC(ctx context.Context, rowBuilder squirrel.SelectBuilder, preMaxId, pageSize int64) ([]*AdminUser, error)
|
||||
Delete(ctx context.Context, session sqlx.Session, id int64) error
|
||||
}
|
||||
|
||||
defaultAdminUserModel struct {
|
||||
sqlc.CachedConn
|
||||
table string
|
||||
}
|
||||
|
||||
AdminUser 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"` // 版本号
|
||||
Username string `db:"username"` // 用户名
|
||||
Password string `db:"password"` // 密码
|
||||
RealName string `db:"real_name"` // 真实姓名
|
||||
Status int64 `db:"status"` // 状态:0-禁用,1-启用
|
||||
}
|
||||
)
|
||||
|
||||
func newAdminUserModel(conn sqlx.SqlConn, c cache.CacheConf) *defaultAdminUserModel {
|
||||
return &defaultAdminUserModel{
|
||||
CachedConn: sqlc.NewConn(conn, c),
|
||||
table: "`admin_user`",
|
||||
}
|
||||
}
|
||||
|
||||
func (m *defaultAdminUserModel) Insert(ctx context.Context, session sqlx.Session, data *AdminUser) (sql.Result, error) {
|
||||
data.DelState = globalkey.DelStateNo
|
||||
tycAdminUserIdKey := fmt.Sprintf("%s%v", cacheTycAdminUserIdPrefix, data.Id)
|
||||
tycAdminUserRealNameKey := fmt.Sprintf("%s%v", cacheTycAdminUserRealNamePrefix, data.RealName)
|
||||
tycAdminUserUsernameKey := fmt.Sprintf("%s%v", cacheTycAdminUserUsernamePrefix, data.Username)
|
||||
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, adminUserRowsExpectAutoSet)
|
||||
if session != nil {
|
||||
return session.ExecCtx(ctx, query, data.DeleteTime, data.DelState, data.Version, data.Username, data.Password, data.RealName, data.Status)
|
||||
}
|
||||
return conn.ExecCtx(ctx, query, data.DeleteTime, data.DelState, data.Version, data.Username, data.Password, data.RealName, data.Status)
|
||||
}, tycAdminUserIdKey, tycAdminUserRealNameKey, tycAdminUserUsernameKey)
|
||||
}
|
||||
|
||||
func (m *defaultAdminUserModel) FindOne(ctx context.Context, id int64) (*AdminUser, error) {
|
||||
tycAdminUserIdKey := fmt.Sprintf("%s%v", cacheTycAdminUserIdPrefix, id)
|
||||
var resp AdminUser
|
||||
err := m.QueryRowCtx(ctx, &resp, tycAdminUserIdKey, func(ctx context.Context, conn sqlx.SqlConn, v interface{}) error {
|
||||
query := fmt.Sprintf("select %s from %s where `id` = ? and del_state = ? limit 1", adminUserRows, 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 *defaultAdminUserModel) FindOneByRealName(ctx context.Context, realName string) (*AdminUser, error) {
|
||||
tycAdminUserRealNameKey := fmt.Sprintf("%s%v", cacheTycAdminUserRealNamePrefix, realName)
|
||||
var resp AdminUser
|
||||
err := m.QueryRowIndexCtx(ctx, &resp, tycAdminUserRealNameKey, m.formatPrimary, func(ctx context.Context, conn sqlx.SqlConn, v interface{}) (i interface{}, e error) {
|
||||
query := fmt.Sprintf("select %s from %s where `real_name` = ? and del_state = ? limit 1", adminUserRows, m.table)
|
||||
if err := conn.QueryRowCtx(ctx, &resp, query, realName, 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 *defaultAdminUserModel) FindOneByUsername(ctx context.Context, username string) (*AdminUser, error) {
|
||||
tycAdminUserUsernameKey := fmt.Sprintf("%s%v", cacheTycAdminUserUsernamePrefix, username)
|
||||
var resp AdminUser
|
||||
err := m.QueryRowIndexCtx(ctx, &resp, tycAdminUserUsernameKey, m.formatPrimary, func(ctx context.Context, conn sqlx.SqlConn, v interface{}) (i interface{}, e error) {
|
||||
query := fmt.Sprintf("select %s from %s where `username` = ? and del_state = ? limit 1", adminUserRows, m.table)
|
||||
if err := conn.QueryRowCtx(ctx, &resp, query, username, 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 *defaultAdminUserModel) Update(ctx context.Context, session sqlx.Session, newData *AdminUser) (sql.Result, error) {
|
||||
data, err := m.FindOne(ctx, newData.Id)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
tycAdminUserIdKey := fmt.Sprintf("%s%v", cacheTycAdminUserIdPrefix, data.Id)
|
||||
tycAdminUserRealNameKey := fmt.Sprintf("%s%v", cacheTycAdminUserRealNamePrefix, data.RealName)
|
||||
tycAdminUserUsernameKey := fmt.Sprintf("%s%v", cacheTycAdminUserUsernamePrefix, data.Username)
|
||||
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, adminUserRowsWithPlaceHolder)
|
||||
if session != nil {
|
||||
return session.ExecCtx(ctx, query, newData.DeleteTime, newData.DelState, newData.Version, newData.Username, newData.Password, newData.RealName, newData.Status, newData.Id)
|
||||
}
|
||||
return conn.ExecCtx(ctx, query, newData.DeleteTime, newData.DelState, newData.Version, newData.Username, newData.Password, newData.RealName, newData.Status, newData.Id)
|
||||
}, tycAdminUserIdKey, tycAdminUserRealNameKey, tycAdminUserUsernameKey)
|
||||
}
|
||||
|
||||
func (m *defaultAdminUserModel) UpdateWithVersion(ctx context.Context, session sqlx.Session, newData *AdminUser) 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
|
||||
}
|
||||
tycAdminUserIdKey := fmt.Sprintf("%s%v", cacheTycAdminUserIdPrefix, data.Id)
|
||||
tycAdminUserRealNameKey := fmt.Sprintf("%s%v", cacheTycAdminUserRealNamePrefix, data.RealName)
|
||||
tycAdminUserUsernameKey := fmt.Sprintf("%s%v", cacheTycAdminUserUsernamePrefix, data.Username)
|
||||
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, adminUserRowsWithPlaceHolder)
|
||||
if session != nil {
|
||||
return session.ExecCtx(ctx, query, newData.DeleteTime, newData.DelState, newData.Version, newData.Username, newData.Password, newData.RealName, newData.Status, newData.Id, oldVersion)
|
||||
}
|
||||
return conn.ExecCtx(ctx, query, newData.DeleteTime, newData.DelState, newData.Version, newData.Username, newData.Password, newData.RealName, newData.Status, newData.Id, oldVersion)
|
||||
}, tycAdminUserIdKey, tycAdminUserRealNameKey, tycAdminUserUsernameKey)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
updateCount, err := sqlResult.RowsAffected()
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
if updateCount == 0 {
|
||||
return ErrNoRowsUpdate
|
||||
}
|
||||
|
||||
return nil
|
||||
}
|
||||
|
||||
func (m *defaultAdminUserModel) DeleteSoft(ctx context.Context, session sqlx.Session, data *AdminUser) 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 "), "AdminUserModel delete err : %+v", err)
|
||||
}
|
||||
return nil
|
||||
}
|
||||
|
||||
func (m *defaultAdminUserModel) 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 *defaultAdminUserModel) 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 *defaultAdminUserModel) FindAll(ctx context.Context, builder squirrel.SelectBuilder, orderBy string) ([]*AdminUser, error) {
|
||||
|
||||
builder = builder.Columns(adminUserRows)
|
||||
|
||||
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 []*AdminUser
|
||||
err = m.QueryRowsNoCacheCtx(ctx, &resp, query, values...)
|
||||
switch err {
|
||||
case nil:
|
||||
return resp, nil
|
||||
default:
|
||||
return nil, err
|
||||
}
|
||||
}
|
||||
|
||||
func (m *defaultAdminUserModel) FindPageListByPage(ctx context.Context, builder squirrel.SelectBuilder, page, pageSize int64, orderBy string) ([]*AdminUser, error) {
|
||||
|
||||
builder = builder.Columns(adminUserRows)
|
||||
|
||||
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 []*AdminUser
|
||||
err = m.QueryRowsNoCacheCtx(ctx, &resp, query, values...)
|
||||
switch err {
|
||||
case nil:
|
||||
return resp, nil
|
||||
default:
|
||||
return nil, err
|
||||
}
|
||||
}
|
||||
|
||||
func (m *defaultAdminUserModel) FindPageListByPageWithTotal(ctx context.Context, builder squirrel.SelectBuilder, page, pageSize int64, orderBy string) ([]*AdminUser, int64, error) {
|
||||
|
||||
total, err := m.FindCount(ctx, builder, "id")
|
||||
if err != nil {
|
||||
return nil, 0, err
|
||||
}
|
||||
|
||||
builder = builder.Columns(adminUserRows)
|
||||
|
||||
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 []*AdminUser
|
||||
err = m.QueryRowsNoCacheCtx(ctx, &resp, query, values...)
|
||||
switch err {
|
||||
case nil:
|
||||
return resp, total, nil
|
||||
default:
|
||||
return nil, total, err
|
||||
}
|
||||
}
|
||||
|
||||
func (m *defaultAdminUserModel) FindPageListByIdDESC(ctx context.Context, builder squirrel.SelectBuilder, preMinId, pageSize int64) ([]*AdminUser, error) {
|
||||
|
||||
builder = builder.Columns(adminUserRows)
|
||||
|
||||
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 []*AdminUser
|
||||
err = m.QueryRowsNoCacheCtx(ctx, &resp, query, values...)
|
||||
switch err {
|
||||
case nil:
|
||||
return resp, nil
|
||||
default:
|
||||
return nil, err
|
||||
}
|
||||
}
|
||||
|
||||
func (m *defaultAdminUserModel) FindPageListByIdASC(ctx context.Context, builder squirrel.SelectBuilder, preMaxId, pageSize int64) ([]*AdminUser, error) {
|
||||
|
||||
builder = builder.Columns(adminUserRows)
|
||||
|
||||
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 []*AdminUser
|
||||
err = m.QueryRowsNoCacheCtx(ctx, &resp, query, values...)
|
||||
switch err {
|
||||
case nil:
|
||||
return resp, nil
|
||||
default:
|
||||
return nil, err
|
||||
}
|
||||
}
|
||||
|
||||
func (m *defaultAdminUserModel) 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 *defaultAdminUserModel) SelectBuilder() squirrel.SelectBuilder {
|
||||
return squirrel.Select().From(m.table)
|
||||
}
|
||||
func (m *defaultAdminUserModel) Delete(ctx context.Context, session sqlx.Session, id int64) error {
|
||||
data, err := m.FindOne(ctx, id)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
tycAdminUserIdKey := fmt.Sprintf("%s%v", cacheTycAdminUserIdPrefix, id)
|
||||
tycAdminUserRealNameKey := fmt.Sprintf("%s%v", cacheTycAdminUserRealNamePrefix, data.RealName)
|
||||
tycAdminUserUsernameKey := fmt.Sprintf("%s%v", cacheTycAdminUserUsernamePrefix, data.Username)
|
||||
_, 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)
|
||||
}, tycAdminUserIdKey, tycAdminUserRealNameKey, tycAdminUserUsernameKey)
|
||||
return err
|
||||
}
|
||||
func (m *defaultAdminUserModel) formatPrimary(primary interface{}) string {
|
||||
return fmt.Sprintf("%s%v", cacheTycAdminUserIdPrefix, primary)
|
||||
}
|
||||
func (m *defaultAdminUserModel) 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", adminUserRows, m.table)
|
||||
return conn.QueryRowCtx(ctx, v, query, primary, globalkey.DelStateNo)
|
||||
}
|
||||
|
||||
func (m *defaultAdminUserModel) tableName() string {
|
||||
return m.table
|
||||
}
|
||||
27
app/main/model/adminUserRoleModel.go
Normal file
27
app/main/model/adminUserRoleModel.go
Normal file
@@ -0,0 +1,27 @@
|
||||
package model
|
||||
|
||||
import (
|
||||
"github.com/zeromicro/go-zero/core/stores/cache"
|
||||
"github.com/zeromicro/go-zero/core/stores/sqlx"
|
||||
)
|
||||
|
||||
var _ AdminUserRoleModel = (*customAdminUserRoleModel)(nil)
|
||||
|
||||
type (
|
||||
// AdminUserRoleModel is an interface to be customized, add more methods here,
|
||||
// and implement the added methods in customAdminUserRoleModel.
|
||||
AdminUserRoleModel interface {
|
||||
adminUserRoleModel
|
||||
}
|
||||
|
||||
customAdminUserRoleModel struct {
|
||||
*defaultAdminUserRoleModel
|
||||
}
|
||||
)
|
||||
|
||||
// NewAdminUserRoleModel returns a model for the database table.
|
||||
func NewAdminUserRoleModel(conn sqlx.SqlConn, c cache.CacheConf) AdminUserRoleModel {
|
||||
return &customAdminUserRoleModel{
|
||||
defaultAdminUserRoleModel: newAdminUserRoleModel(conn, c),
|
||||
}
|
||||
}
|
||||
407
app/main/model/adminUserRoleModel_gen.go
Normal file
407
app/main/model/adminUserRoleModel_gen.go
Normal file
@@ -0,0 +1,407 @@
|
||||
// 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 (
|
||||
adminUserRoleFieldNames = builder.RawFieldNames(&AdminUserRole{})
|
||||
adminUserRoleRows = strings.Join(adminUserRoleFieldNames, ",")
|
||||
adminUserRoleRowsExpectAutoSet = strings.Join(stringx.Remove(adminUserRoleFieldNames, "`id`", "`create_time`", "`update_time`"), ",")
|
||||
adminUserRoleRowsWithPlaceHolder = strings.Join(stringx.Remove(adminUserRoleFieldNames, "`id`", "`create_time`", "`update_time`"), "=?,") + "=?"
|
||||
|
||||
cacheTycAdminUserRoleIdPrefix = "cache:tyc:adminUserRole:id:"
|
||||
cacheTycAdminUserRoleUserIdRoleIdPrefix = "cache:tyc:adminUserRole:userId:roleId:"
|
||||
)
|
||||
|
||||
type (
|
||||
adminUserRoleModel interface {
|
||||
Insert(ctx context.Context, session sqlx.Session, data *AdminUserRole) (sql.Result, error)
|
||||
FindOne(ctx context.Context, id int64) (*AdminUserRole, error)
|
||||
FindOneByUserIdRoleId(ctx context.Context, userId int64, roleId int64) (*AdminUserRole, error)
|
||||
Update(ctx context.Context, session sqlx.Session, data *AdminUserRole) (sql.Result, error)
|
||||
UpdateWithVersion(ctx context.Context, session sqlx.Session, data *AdminUserRole) 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 *AdminUserRole) 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) ([]*AdminUserRole, error)
|
||||
FindPageListByPage(ctx context.Context, rowBuilder squirrel.SelectBuilder, page, pageSize int64, orderBy string) ([]*AdminUserRole, error)
|
||||
FindPageListByPageWithTotal(ctx context.Context, rowBuilder squirrel.SelectBuilder, page, pageSize int64, orderBy string) ([]*AdminUserRole, int64, error)
|
||||
FindPageListByIdDESC(ctx context.Context, rowBuilder squirrel.SelectBuilder, preMinId, pageSize int64) ([]*AdminUserRole, error)
|
||||
FindPageListByIdASC(ctx context.Context, rowBuilder squirrel.SelectBuilder, preMaxId, pageSize int64) ([]*AdminUserRole, error)
|
||||
Delete(ctx context.Context, session sqlx.Session, id int64) error
|
||||
}
|
||||
|
||||
defaultAdminUserRoleModel struct {
|
||||
sqlc.CachedConn
|
||||
table string
|
||||
}
|
||||
|
||||
AdminUserRole 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"` // 版本号
|
||||
UserId int64 `db:"user_id"` // 关联到用户表的id
|
||||
RoleId int64 `db:"role_id"` // 关联到角色表的id
|
||||
}
|
||||
)
|
||||
|
||||
func newAdminUserRoleModel(conn sqlx.SqlConn, c cache.CacheConf) *defaultAdminUserRoleModel {
|
||||
return &defaultAdminUserRoleModel{
|
||||
CachedConn: sqlc.NewConn(conn, c),
|
||||
table: "`admin_user_role`",
|
||||
}
|
||||
}
|
||||
|
||||
func (m *defaultAdminUserRoleModel) Insert(ctx context.Context, session sqlx.Session, data *AdminUserRole) (sql.Result, error) {
|
||||
data.DelState = globalkey.DelStateNo
|
||||
tycAdminUserRoleIdKey := fmt.Sprintf("%s%v", cacheTycAdminUserRoleIdPrefix, data.Id)
|
||||
tycAdminUserRoleUserIdRoleIdKey := fmt.Sprintf("%s%v:%v", cacheTycAdminUserRoleUserIdRoleIdPrefix, data.UserId, data.RoleId)
|
||||
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, adminUserRoleRowsExpectAutoSet)
|
||||
if session != nil {
|
||||
return session.ExecCtx(ctx, query, data.DeleteTime, data.DelState, data.Version, data.UserId, data.RoleId)
|
||||
}
|
||||
return conn.ExecCtx(ctx, query, data.DeleteTime, data.DelState, data.Version, data.UserId, data.RoleId)
|
||||
}, tycAdminUserRoleIdKey, tycAdminUserRoleUserIdRoleIdKey)
|
||||
}
|
||||
|
||||
func (m *defaultAdminUserRoleModel) FindOne(ctx context.Context, id int64) (*AdminUserRole, error) {
|
||||
tycAdminUserRoleIdKey := fmt.Sprintf("%s%v", cacheTycAdminUserRoleIdPrefix, id)
|
||||
var resp AdminUserRole
|
||||
err := m.QueryRowCtx(ctx, &resp, tycAdminUserRoleIdKey, func(ctx context.Context, conn sqlx.SqlConn, v interface{}) error {
|
||||
query := fmt.Sprintf("select %s from %s where `id` = ? and del_state = ? limit 1", adminUserRoleRows, 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 *defaultAdminUserRoleModel) FindOneByUserIdRoleId(ctx context.Context, userId int64, roleId int64) (*AdminUserRole, error) {
|
||||
tycAdminUserRoleUserIdRoleIdKey := fmt.Sprintf("%s%v:%v", cacheTycAdminUserRoleUserIdRoleIdPrefix, userId, roleId)
|
||||
var resp AdminUserRole
|
||||
err := m.QueryRowIndexCtx(ctx, &resp, tycAdminUserRoleUserIdRoleIdKey, m.formatPrimary, func(ctx context.Context, conn sqlx.SqlConn, v interface{}) (i interface{}, e error) {
|
||||
query := fmt.Sprintf("select %s from %s where `user_id` = ? and `role_id` = ? and del_state = ? limit 1", adminUserRoleRows, m.table)
|
||||
if err := conn.QueryRowCtx(ctx, &resp, query, userId, roleId, 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 *defaultAdminUserRoleModel) Update(ctx context.Context, session sqlx.Session, newData *AdminUserRole) (sql.Result, error) {
|
||||
data, err := m.FindOne(ctx, newData.Id)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
tycAdminUserRoleIdKey := fmt.Sprintf("%s%v", cacheTycAdminUserRoleIdPrefix, data.Id)
|
||||
tycAdminUserRoleUserIdRoleIdKey := fmt.Sprintf("%s%v:%v", cacheTycAdminUserRoleUserIdRoleIdPrefix, data.UserId, data.RoleId)
|
||||
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, adminUserRoleRowsWithPlaceHolder)
|
||||
if session != nil {
|
||||
return session.ExecCtx(ctx, query, newData.DeleteTime, newData.DelState, newData.Version, newData.UserId, newData.RoleId, newData.Id)
|
||||
}
|
||||
return conn.ExecCtx(ctx, query, newData.DeleteTime, newData.DelState, newData.Version, newData.UserId, newData.RoleId, newData.Id)
|
||||
}, tycAdminUserRoleIdKey, tycAdminUserRoleUserIdRoleIdKey)
|
||||
}
|
||||
|
||||
func (m *defaultAdminUserRoleModel) UpdateWithVersion(ctx context.Context, session sqlx.Session, newData *AdminUserRole) 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
|
||||
}
|
||||
tycAdminUserRoleIdKey := fmt.Sprintf("%s%v", cacheTycAdminUserRoleIdPrefix, data.Id)
|
||||
tycAdminUserRoleUserIdRoleIdKey := fmt.Sprintf("%s%v:%v", cacheTycAdminUserRoleUserIdRoleIdPrefix, data.UserId, data.RoleId)
|
||||
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, adminUserRoleRowsWithPlaceHolder)
|
||||
if session != nil {
|
||||
return session.ExecCtx(ctx, query, newData.DeleteTime, newData.DelState, newData.Version, newData.UserId, newData.RoleId, newData.Id, oldVersion)
|
||||
}
|
||||
return conn.ExecCtx(ctx, query, newData.DeleteTime, newData.DelState, newData.Version, newData.UserId, newData.RoleId, newData.Id, oldVersion)
|
||||
}, tycAdminUserRoleIdKey, tycAdminUserRoleUserIdRoleIdKey)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
updateCount, err := sqlResult.RowsAffected()
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
if updateCount == 0 {
|
||||
return ErrNoRowsUpdate
|
||||
}
|
||||
|
||||
return nil
|
||||
}
|
||||
|
||||
func (m *defaultAdminUserRoleModel) DeleteSoft(ctx context.Context, session sqlx.Session, data *AdminUserRole) 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 "), "AdminUserRoleModel delete err : %+v", err)
|
||||
}
|
||||
return nil
|
||||
}
|
||||
|
||||
func (m *defaultAdminUserRoleModel) 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 *defaultAdminUserRoleModel) 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 *defaultAdminUserRoleModel) FindAll(ctx context.Context, builder squirrel.SelectBuilder, orderBy string) ([]*AdminUserRole, error) {
|
||||
|
||||
builder = builder.Columns(adminUserRoleRows)
|
||||
|
||||
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 []*AdminUserRole
|
||||
err = m.QueryRowsNoCacheCtx(ctx, &resp, query, values...)
|
||||
switch err {
|
||||
case nil:
|
||||
return resp, nil
|
||||
default:
|
||||
return nil, err
|
||||
}
|
||||
}
|
||||
|
||||
func (m *defaultAdminUserRoleModel) FindPageListByPage(ctx context.Context, builder squirrel.SelectBuilder, page, pageSize int64, orderBy string) ([]*AdminUserRole, error) {
|
||||
|
||||
builder = builder.Columns(adminUserRoleRows)
|
||||
|
||||
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 []*AdminUserRole
|
||||
err = m.QueryRowsNoCacheCtx(ctx, &resp, query, values...)
|
||||
switch err {
|
||||
case nil:
|
||||
return resp, nil
|
||||
default:
|
||||
return nil, err
|
||||
}
|
||||
}
|
||||
|
||||
func (m *defaultAdminUserRoleModel) FindPageListByPageWithTotal(ctx context.Context, builder squirrel.SelectBuilder, page, pageSize int64, orderBy string) ([]*AdminUserRole, int64, error) {
|
||||
|
||||
total, err := m.FindCount(ctx, builder, "id")
|
||||
if err != nil {
|
||||
return nil, 0, err
|
||||
}
|
||||
|
||||
builder = builder.Columns(adminUserRoleRows)
|
||||
|
||||
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 []*AdminUserRole
|
||||
err = m.QueryRowsNoCacheCtx(ctx, &resp, query, values...)
|
||||
switch err {
|
||||
case nil:
|
||||
return resp, total, nil
|
||||
default:
|
||||
return nil, total, err
|
||||
}
|
||||
}
|
||||
|
||||
func (m *defaultAdminUserRoleModel) FindPageListByIdDESC(ctx context.Context, builder squirrel.SelectBuilder, preMinId, pageSize int64) ([]*AdminUserRole, error) {
|
||||
|
||||
builder = builder.Columns(adminUserRoleRows)
|
||||
|
||||
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 []*AdminUserRole
|
||||
err = m.QueryRowsNoCacheCtx(ctx, &resp, query, values...)
|
||||
switch err {
|
||||
case nil:
|
||||
return resp, nil
|
||||
default:
|
||||
return nil, err
|
||||
}
|
||||
}
|
||||
|
||||
func (m *defaultAdminUserRoleModel) FindPageListByIdASC(ctx context.Context, builder squirrel.SelectBuilder, preMaxId, pageSize int64) ([]*AdminUserRole, error) {
|
||||
|
||||
builder = builder.Columns(adminUserRoleRows)
|
||||
|
||||
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 []*AdminUserRole
|
||||
err = m.QueryRowsNoCacheCtx(ctx, &resp, query, values...)
|
||||
switch err {
|
||||
case nil:
|
||||
return resp, nil
|
||||
default:
|
||||
return nil, err
|
||||
}
|
||||
}
|
||||
|
||||
func (m *defaultAdminUserRoleModel) 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 *defaultAdminUserRoleModel) SelectBuilder() squirrel.SelectBuilder {
|
||||
return squirrel.Select().From(m.table)
|
||||
}
|
||||
func (m *defaultAdminUserRoleModel) Delete(ctx context.Context, session sqlx.Session, id int64) error {
|
||||
data, err := m.FindOne(ctx, id)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
tycAdminUserRoleIdKey := fmt.Sprintf("%s%v", cacheTycAdminUserRoleIdPrefix, id)
|
||||
tycAdminUserRoleUserIdRoleIdKey := fmt.Sprintf("%s%v:%v", cacheTycAdminUserRoleUserIdRoleIdPrefix, data.UserId, data.RoleId)
|
||||
_, 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)
|
||||
}, tycAdminUserRoleIdKey, tycAdminUserRoleUserIdRoleIdKey)
|
||||
return err
|
||||
}
|
||||
func (m *defaultAdminUserRoleModel) formatPrimary(primary interface{}) string {
|
||||
return fmt.Sprintf("%s%v", cacheTycAdminUserRoleIdPrefix, primary)
|
||||
}
|
||||
func (m *defaultAdminUserRoleModel) 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", adminUserRoleRows, m.table)
|
||||
return conn.QueryRowCtx(ctx, v, query, primary, globalkey.DelStateNo)
|
||||
}
|
||||
|
||||
func (m *defaultAdminUserRoleModel) tableName() string {
|
||||
return m.table
|
||||
}
|
||||
Reference in New Issue
Block a user