fire

package
v2.1.2 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jul 29, 2021 License: Apache-2.0 Imports: 14 Imported by: 0

Documentation

Overview

* * @Author: TheLife * @Date: 2021/5/26 下午11:21

* * @Author: TheLife * @Date: 2021/5/27 下午5:08

* * @Author: TheLife * @Date: 2021/5/26 下午5:01

* * @Author: TheLife * @Date: 2021/6/23 下午9:37

* * @Author: TheLife * @Date: 2021/5/27 下午4:34

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func Camel2Case added in v2.1.2

func Camel2Case(name string) string

func FormatColumn

func FormatColumn(column string) (res string)

格式化列

func If

func If(isA bool, a, b interface{}) interface{}

func UpdateArithmetic

func UpdateArithmetic(column string, value interface{}, art ArithmeticType) (m map[string]interface{})

field = field ArithmeticType Number # field = field + 1

Types

type Allow

type Allow struct {
	// where
	Where []string
	Range []string
	In    []string
	Like  []string

	// order
	Sorts []string
}

func (*Allow) AllowParams

func (a *Allow) AllowParams(params Params, db *Fire) *Fire

allowParams

func (*Allow) AllowSort

func (a *Allow) AllowSort(sort Sort, db *Fire) *Fire

allowSort

type ArithmeticType

type ArithmeticType string

=== update ===

const (
	ArithmeticIncrease ArithmeticType = "+"
	ArithmeticReduce   ArithmeticType = "-"
	ArithmeticMultiply ArithmeticType = "*"
	ArithmeticExcept   ArithmeticType = "/"
)

type CompareType

type CompareType string
const (
	CompareEqual      CompareType = "="
	CompareAboutEqual CompareType = ">="
	CompareAbout      CompareType = ">"
	CompareLessEqual  CompareType = "<="
	CompareLess       CompareType = "<"
)

type Fire added in v2.1.0

type Fire struct {
	*gorm.DB
}

func NewInstance

func NewInstance(db *gorm.DB) *Fire

func (*Fire) Allow added in v2.1.0

func (d *Fire) Allow(param Param, allow Allow) *Fire

allow

func (*Fire) Close added in v2.1.0

func (d *Fire) Close() (err error)

func (*Fire) CrudAll added in v2.1.0

func (d *Fire) CrudAll(model interface{}, callListData interface{}) (err error)

func (*Fire) CrudAllPage added in v2.1.0

func (d *Fire) CrudAllPage(model interface{}, callListData interface{}, page ...Page) (pageResult PageResult, err error)

func (*Fire) CrudAllPagePreloadAll added in v2.1.0

func (d *Fire) CrudAllPagePreloadAll(model interface{}, callListData interface{}, page ...Page) (pageResult PageResult, err error)

func (*Fire) CrudAllPagePreloadJoin added in v2.1.0

func (d *Fire) CrudAllPagePreloadJoin(model interface{}, callListData interface{}, page ...Page) (pageResult PageResult, err error)

func (*Fire) CrudAllPreloadAll added in v2.1.0

func (d *Fire) CrudAllPreloadAll(model interface{}, callListData interface{}) (err error)

func (*Fire) CrudAllPreloadJoin added in v2.1.0

func (d *Fire) CrudAllPreloadJoin(model interface{}, callListData interface{}) (err error)

func (*Fire) CrudCount added in v2.1.0

func (d *Fire) CrudCount(model interface{}) (count int64, err error)

func (*Fire) CrudCreate added in v2.1.0

func (d *Fire) CrudCreate(model interface{}, batchSize ...int) (err error)

model support Array,Slice,Struct every struct support tag `gormCreate` validator.Struct()

func (*Fire) CrudDelete added in v2.1.0

func (d *Fire) CrudDelete(model interface{}) (err error)

func (*Fire) CrudOne added in v2.1.0

func (d *Fire) CrudOne(model interface{}, callData interface{}) (err error)

func (*Fire) CrudOnePreloadAll added in v2.1.0

func (d *Fire) CrudOnePreloadAll(model interface{}, callData interface{}) (err error)

func (*Fire) CrudOnePreloadJoin added in v2.1.0

func (d *Fire) CrudOnePreloadJoin(model interface{}, callData interface{}) (err error)

func (*Fire) CrudSum added in v2.1.0

func (d *Fire) CrudSum(model interface{}, column string) (sum float32, err error)

func (*Fire) CrudUpdate added in v2.1.0

func (d *Fire) CrudUpdate(model interface{}, updates ...interface{}) (err error)

updates support (M or map[string]interface{}) and struct support gorm.Db.Select() and gorm.Db.Omit() TODO: struct only update non-zero fields

func (*Fire) CrudUpdatePrimaryKey added in v2.1.0

func (d *Fire) CrudUpdatePrimaryKey(model interface{}, updates ...interface{}) (err error)

Make sure that all primary keys are not zero when updating

func (*Fire) IsExists added in v2.1.0

func (d *Fire) IsExists(model interface{}) bool

func (*Fire) OrderByColumn added in v2.1.0

func (d *Fire) OrderByColumn(column string, order OrderType, many ...bool) *Fire

func (*Fire) PreloadAll added in v2.1.0

func (d *Fire) PreloadAll() *Fire

=== SELECT === TODO:Multiple SQL, gorm bonding data, so query conditions other than the main table are not supported

func (*Fire) PreloadJoin added in v2.1.0

func (d *Fire) PreloadJoin(model interface{}) *Fire

TODO:Single SQL, mysql bonding data, so the conditions of all query tables are supported. use Join you need to pay attention to performance

func (*Fire) WhereCompare added in v2.1.0

func (d *Fire) WhereCompare(column string, value interface{}, compare ...CompareType) *Fire

column CompareEqual ? # column = ?

func (*Fire) WhereIn added in v2.1.0

func (d *Fire) WhereIn(column string, value interface{}, isNot ...bool) *Fire

column IN(?) column NOT IN(?)

func (*Fire) WhereLike added in v2.1.0

func (d *Fire) WhereLike(column string, value interface{}) *Fire

column LIKE %?%

func (*Fire) WhereRange added in v2.1.0

func (d *Fire) WhereRange(column string, start interface{}, end interface{}) *Fire

column >= start ANd column <= end

type M

type M map[string]interface{}

type OrderType

type OrderType string

=== order ===

const (
	OrderAsc  OrderType = "asc"
	OrderDesc OrderType = "desc"
)

type Page

type Page struct {
	Current  int `json:"current" form:"current"`
	PageSize int `json:"pageSize" form:"pageSize"`
}

func (*Page) GetOffset

func (p *Page) GetOffset() int

type PageParam

type PageParam struct {
	Page
	Param
}

分页参数

type PageResult

type PageResult struct {
	Page
	Total int64       `json:"total"`
	Data  interface{} `json:"data"`
}

分页结果

func (*PageResult) Init

func (p *PageResult) Init(page ...Page)

type Param

type Param struct {
	Params Params `form:"params" json:"params"`
	Sort   Sort   `form:"sort" json:"sort" binding:"omitempty,max=1,dive,keys,required,endkeys,eq=ascend|eq=descend"`
}

筛选、排序参数

type Params

type Params map[string]interface{}

type Sort

type Sort map[string]interface{}

type TimeFieldsEditModel added in v2.1.2

type TimeFieldsEditModel struct {
	// 13位毫秒时间戳
	CreatedAt int64 `gorm:"column:created_at;autoCreateTime:milli;type:bigint(13);unsigned;comment:创建时间" json:"createdAt"`
	// 13位毫秒时间戳,兼容用户一秒内多次点击
	UpdatedAt int64 `gorm:"column:updated_at;autoUpdateTime:milli;type:bigint(13);unsigned;comment:修改时间" json:"updatedAt"`
}

type TimeFieldsModel

type TimeFieldsModel struct {
	TimeFieldsEditModel
	// 软删除,默认为0,删除时设置当前10位秒数时间戳
	DeletedAt soft_delete.DeletedAt `gorm:"column:deleted_at;type:bigint(13);unsigned;comment:删除时间" json:"deletedAt"`
}

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL