dbresponse

package
v2.3.1 Latest Latest
Warning

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

Go to latest
Published: Jan 29, 2026 License: MIT Imports: 12 Imported by: 0

Documentation

Index

Constants

View Source
const (
	PageField     = "p"
	PageSizeField = "pn"
	PageSize      = 30
)

Variables

This section is empty.

Functions

func ListMethodGet

func ListMethodGet[T any](w http.ResponseWriter, r *http.Request, tx *gorm.DB, c userDb.Curd, p Pager)

ListMethodGet 是一个通用的列表查询方法,用于根据不同的条件获取数据库中的记录。 它使用了泛型 T,允许任何类型的列表查询。 参数:

w http.ResponseWriter: 用于写入HTTP响应。
r *http.Request: 包含当前HTTP请求的详细信息。
tx *gorm.DB: GORM数据库连接对象,用于执行数据库操作。
c userDb.Curd: 查询配置,包含了查询所需的配置信息,如选择查询、条件查询等。
p Pager: 分页配置,用于指定查询的分页信息。

func ModelDelete

func ModelDelete[T any](w http.ResponseWriter, r *http.Request, tx *gorm.DB, c userDb.Curd)

ModelDelete 执行模型删除操作。 该函数接收一个HTTP响应写入器、一个HTTP请求、一个数据库事务指针、一个源模型实例和一个查询配置。 它根据查询配置在数据库中删除相关的模型记录。 如果删除操作失败,它将返回一个500错误和"删除数据失败"的消息。 如果删除成功,它将返回状态码0和"成功"的消息。

func PostModelUpdate

func PostModelUpdate[T any](w http.ResponseWriter, r *http.Request, tx *gorm.DB, c userDb.Curd, errMsg string)

PostModelUpdate 执行模型删除操作。是通过更新状态字段的方式实现的

func RespListsPkId

func RespListsPkId(w http.ResponseWriter, r *http.Request, tx *gorm.DB, resp any, pager ...Pager)

RespListsPkId 根据查询参数分页获取数据列表,并按指定字段排序。 该函数是一个泛型函数,可以处理任何类型的响应数据。 参数:

w: http.ResponseWriter,用于写入HTTP响应。
r: *http.Request,当前的HTTP请求。
tx: *gorm.DB,数据库事务对象,用于执行数据库查询。
respData: T,响应数据的结构体,用于存储查询结果。
pager: ...Pager,可变参数,用于自定义分页和排序行为。

func RespListsPkRowId

func RespListsPkRowId(w http.ResponseWriter, r *http.Request, tx *gorm.DB, resp any, pager ...Pager)

RespListsPkRowId 通用查询列表 主键 row_id

func RespListsWithFilter

func RespListsWithFilter[B any, T RespFilter](w http.ResponseWriter, r *http.Request, tx *gorm.DB, c userDb.Curd, p Pager)

RespListsWithFilter 是一个通用的查询列表函数,有默认的数据过滤函数

Types

type Pager

type Pager struct {
	PageSize      int    `ini:"page_size" yaml:"page_size" json:"page_size"` // 系统默认查询数量
	PageSizeField string `ini:"page_size_field" yaml:"page_size_field" json:"page_size_field"`
	PageField     string `ini:"page_field" yaml:"page_field" json:"page_field"`
	Order         string
}

type RespFilter

type RespFilter interface {
	RespFilter()
}

RespFilter 是一个接口,定义了 FiltterDatas 方法

type Stream

type Stream[T any] struct {
	Tx           *gorm.DB
	Rows         *sql.Rows
	EnableTotals bool
	Totals       int64
}

func (*Stream[T]) RespLists

func (s *Stream[T]) RespLists(w http.ResponseWriter)

RespLists

{
   "code":0,
   "msg":"成功",
   "total":0,
   "data":[]
}

Jump to

Keyboard shortcuts

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