| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546 |
- package base
- import (
- "fmt"
- "gorm.io/gorm"
- )
- type QueryBaseHandler[T any] struct {
- }
- func NewQueryBaseHandler[T any](t *T) *QueryBaseHandler[T] {
- return &QueryBaseHandler[T]{}
- }
- func (*QueryBaseHandler[T]) DeleteOne(db *gorm.DB) error {
- tempInfo := new(T)
- // 先通过Id获取记录'
- if err := db.First(&tempInfo).Error; err != nil {
- return err
- }
- exCmd := db.Model(&tempInfo).Delete(&tempInfo)
- if exCmd.RowsAffected != 1 {
- return fmt.Errorf("delete fail")
- }
- if exCmd.Error != nil {
- return exCmd.Error
- }
- return nil
- }
- func (*QueryBaseHandler[T]) Get(db *gorm.DB) (*T, error) {
- tempInfo := new(T)
- // 先通过Id获取记录'
- if err := db.First(&tempInfo).Error; err != nil {
- return tempInfo, err
- }
- return tempInfo, nil
- }
- func (*QueryBaseHandler[T]) List(db *gorm.DB, req ListRequestInterface[T]) (*ListResponse[T], error) {
- return req.Query(db)
- }
- func (*QueryBaseHandler[T]) Export(db *gorm.DB, req ListRequestInterface[T]) (*ListResponse[T], error) {
- return req.Query(db)
- }
|