mirror of
https://github.com/go-admin-team/go-admin.git
synced 2026-09-21 10:13:01 +00:00
refactor🎨 链式调用改造
This commit is contained in:
+33
-68
@@ -95,7 +95,6 @@ func (e SysMenu) GetSysMenu(c *gin.Context) {
|
|||||||
e.OK(object, "查看成功")
|
e.OK(object, "查看成功")
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
// InsertSysMenu 创建菜单
|
// InsertSysMenu 创建菜单
|
||||||
// @Summary 创建菜单
|
// @Summary 创建菜单
|
||||||
// @Description 获取JSON
|
// @Description 获取JSON
|
||||||
@@ -114,41 +113,34 @@ func (e SysMenu) GetSysMenu(c *gin.Context) {
|
|||||||
// @Security Bearer
|
// @Security Bearer
|
||||||
func (e SysMenu) InsertSysMenu(c *gin.Context) {
|
func (e SysMenu) InsertSysMenu(c *gin.Context) {
|
||||||
control := new(dto.SysMenuControl)
|
control := new(dto.SysMenuControl)
|
||||||
|
err := e.MakeContext(c).
|
||||||
e.Context = c
|
MakeLogger().
|
||||||
log := e.GetLogger()
|
MakeOrm().
|
||||||
|
Errors
|
||||||
db, err := e.GetOrm()
|
|
||||||
if err != nil {
|
if err != nil {
|
||||||
log.Error(err)
|
e.Error(http.StatusInternalServerError, err, err.Error())
|
||||||
|
e.Logger.Error(err)
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
//新增操作
|
// 绑定数据
|
||||||
err = control.Bind(c)
|
err = e.Bind(control)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
e.Error(http.StatusUnprocessableEntity, err, "参数验证失败")
|
e.Error(http.StatusUnprocessableEntity, err, "参数验证失败")
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
object, err := control.Generate()
|
|
||||||
if err != nil {
|
|
||||||
e.Error(http.StatusInternalServerError, err, "模型生成失败")
|
|
||||||
return
|
|
||||||
}
|
|
||||||
// 设置创建人
|
// 设置创建人
|
||||||
object.SetCreateBy(user.GetUserId(c))
|
control.SetCreateBy(user.GetUserId(c))
|
||||||
|
|
||||||
serviceSysMenu := service.SysMenu{}
|
serviceSysMenu := service.SysMenu{}
|
||||||
serviceSysMenu.Orm = db
|
err = serviceSysMenu.MakeLog(e.Logger).MakeOrm(e.Orm).InsertSysMenu(control).Error
|
||||||
serviceSysMenu.Log = log
|
|
||||||
err = serviceSysMenu.InsertSysMenu(object)
|
|
||||||
if err != nil {
|
if err != nil {
|
||||||
log.Error(err)
|
e.Logger.Error(err)
|
||||||
e.Error(http.StatusInternalServerError, err, "创建失败")
|
e.Error(http.StatusInternalServerError, err, "创建失败")
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
e.OK(control.GetId(), "创建成功")
|
||||||
e.OK(object.GetId(), "创建成功")
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// UpdateSysMenu 修改菜单
|
// UpdateSysMenu 修改菜单
|
||||||
@@ -165,40 +157,37 @@ func (e SysMenu) InsertSysMenu(c *gin.Context) {
|
|||||||
// @Security Bearer
|
// @Security Bearer
|
||||||
func (e SysMenu) UpdateSysMenu(c *gin.Context) {
|
func (e SysMenu) UpdateSysMenu(c *gin.Context) {
|
||||||
control := new(dto.SysMenuControl)
|
control := new(dto.SysMenuControl)
|
||||||
|
err := e.MakeContext(c).
|
||||||
e.Context = c
|
MakeLogger().
|
||||||
log := e.GetLogger()
|
MakeOrm().
|
||||||
|
Errors
|
||||||
db, err := e.GetOrm()
|
|
||||||
if err != nil {
|
if err != nil {
|
||||||
log.Error(err)
|
e.Logger.Error(err)
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
//更新操作
|
// 绑定数据
|
||||||
err = control.Bind(c)
|
err = e.Bind(control)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
e.Error(http.StatusUnprocessableEntity, err, "参数验证失败")
|
e.Error(http.StatusUnprocessableEntity, err, "参数验证失败")
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
object, err := control.Generate()
|
control.SetUpdateBy(user.GetUserId(c))
|
||||||
if err != nil {
|
|
||||||
e.Error(http.StatusInternalServerError, err, "模型生成失败")
|
|
||||||
return
|
|
||||||
}
|
|
||||||
object.SetUpdateBy(user.GetUserId(c))
|
|
||||||
|
|
||||||
serviceSysMenu := service.SysMenu{}
|
serviceSysMenu := service.SysMenu{}
|
||||||
serviceSysMenu.Orm = db
|
err = serviceSysMenu.
|
||||||
serviceSysMenu.Log = log
|
MakeOrm(e.Orm).
|
||||||
err = serviceSysMenu.UpdateSysMenu(object)
|
MakeLog(e.Logger).
|
||||||
|
UpdateSysMenu(control).Error
|
||||||
|
|
||||||
if err != nil {
|
if err != nil {
|
||||||
log.Error(err)
|
e.Logger.Error(err)
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
e.OK(object.GetId(), "更新成功")
|
e.OK(control.GetId(), "更新成功")
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// DeleteSysMenu 删除菜单
|
||||||
// @Summary 删除菜单
|
// @Summary 删除菜单
|
||||||
// @Description 删除数据
|
// @Description 删除数据
|
||||||
// @Tags 菜单
|
// @Tags 菜单
|
||||||
@@ -238,6 +227,7 @@ func (e SysMenu) DeleteSysMenu(c *gin.Context) {
|
|||||||
e.OK(control.GetId(), "删除成功")
|
e.OK(control.GetId(), "删除成功")
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// GetMenuRole 根据角色名称获取菜单列表数据(左菜单使用)
|
||||||
// @Summary 根据角色名称获取菜单列表数据(左菜单使用)
|
// @Summary 根据角色名称获取菜单列表数据(左菜单使用)
|
||||||
// @Description 获取JSON
|
// @Description 获取JSON
|
||||||
// @Tags 菜单
|
// @Tags 菜单
|
||||||
@@ -268,6 +258,7 @@ func (e SysMenu) GetMenuRole(c *gin.Context) {
|
|||||||
e.OK(result, "")
|
e.OK(result, "")
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// GetMenuIDS 获取角色对应的菜单id数组
|
||||||
// @Summary 获取角色对应的菜单id数组
|
// @Summary 获取角色对应的菜单id数组
|
||||||
// @Description 获取JSON
|
// @Description 获取JSON
|
||||||
// @Tags 菜单
|
// @Tags 菜单
|
||||||
@@ -296,33 +287,7 @@ func (e SysMenu) GetMenuIDS(c *gin.Context) {
|
|||||||
e.OK(result, "")
|
e.OK(result, "")
|
||||||
}
|
}
|
||||||
|
|
||||||
//// GetMenuTreeRoleselect 角色修改中的菜单列表
|
// GetMenuTreeSelect 获取菜单树
|
||||||
//func (e SysMenu) GetMenuTreeRoleselect(c *gin.Context) {
|
|
||||||
// var Menu models.Menu
|
|
||||||
// var SysRole models.SysRole
|
|
||||||
//
|
|
||||||
// id, err := tools.StringToInt(c.Param("roleId"))
|
|
||||||
// SysRole.RoleId = id
|
|
||||||
// //var r *models.SysRole
|
|
||||||
// r, err := SysRole.Get()
|
|
||||||
//
|
|
||||||
// var result *[]models.MenuLable
|
|
||||||
// menuIds := make([]int, 0)
|
|
||||||
// if r.RoleKey != "admin" {
|
|
||||||
// result, err = Menu.SetMenuLabel()
|
|
||||||
// tools.HasError(err, "抱歉未找到相关信息", -1)
|
|
||||||
// if id != 0 {
|
|
||||||
// menuIds, err = SysRole.GetRoleMeunId()
|
|
||||||
// tools.HasError(err, "抱歉未找到相关信息", -1)
|
|
||||||
// }
|
|
||||||
// }
|
|
||||||
// app.Custum(c, gin.H{
|
|
||||||
// "code": 200,
|
|
||||||
// "menus": result,
|
|
||||||
// "checkedKeys": menuIds,
|
|
||||||
// })
|
|
||||||
//}
|
|
||||||
|
|
||||||
// @Summary 获取菜单树
|
// @Summary 获取菜单树
|
||||||
// @Description 获取JSON
|
// @Description 获取JSON
|
||||||
// @Tags 菜单
|
// @Tags 菜单
|
||||||
@@ -370,4 +335,4 @@ func (e SysMenu) GetMenuTreeSelect(c *gin.Context) {
|
|||||||
"menus": result,
|
"menus": result,
|
||||||
"checkedKeys": menuIds,
|
"checkedKeys": menuIds,
|
||||||
}, "获取成功")
|
}, "获取成功")
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -2,11 +2,11 @@ package dto
|
|||||||
|
|
||||||
import (
|
import (
|
||||||
"encoding/json"
|
"encoding/json"
|
||||||
"go-admin/app/admin/models"
|
|
||||||
|
|
||||||
"github.com/gin-gonic/gin"
|
"github.com/gin-gonic/gin"
|
||||||
"github.com/gin-gonic/gin/binding"
|
"github.com/gin-gonic/gin/binding"
|
||||||
"github.com/go-admin-team/go-admin-core/sdk/api"
|
"github.com/go-admin-team/go-admin-core/sdk/api"
|
||||||
|
"go-admin/app/admin/models"
|
||||||
|
common "go-admin/common/models"
|
||||||
|
|
||||||
"go-admin/common/dto"
|
"go-admin/common/dto"
|
||||||
)
|
)
|
||||||
@@ -58,6 +58,15 @@ type SysMenuControl struct {
|
|||||||
Sort int `form:"sort" comment:"排序"` //排序
|
Sort int `form:"sort" comment:"排序"` //排序
|
||||||
Visible string `form:"visible" comment:"是否显示"` //是否显示
|
Visible string `form:"visible" comment:"是否显示"` //是否显示
|
||||||
IsFrame string `form:"isFrame" comment:"是否frame"` //是否frame
|
IsFrame string `form:"isFrame" comment:"是否frame"` //是否frame
|
||||||
|
common.ControlBy
|
||||||
|
}
|
||||||
|
|
||||||
|
func (s *SysMenuControl) SetCreateBy(id int) {
|
||||||
|
s.CreateBy = id
|
||||||
|
}
|
||||||
|
|
||||||
|
func (s *SysMenuControl) SetUpdateBy(id int) {
|
||||||
|
s.UpdateBy = id
|
||||||
}
|
}
|
||||||
|
|
||||||
// Bind 映射上下文中的结构体数据
|
// Bind 映射上下文中的结构体数据
|
||||||
@@ -82,26 +91,30 @@ func (s *SysMenuControl) Bind(ctx *gin.Context) error {
|
|||||||
}
|
}
|
||||||
|
|
||||||
// Generate 结构体数据转化 从 Control 至 model 对应的模型
|
// Generate 结构体数据转化 从 Control 至 model 对应的模型
|
||||||
func (s *SysMenuControl) Generate() (*models.SysMenu, error) {
|
func (s *SysMenuControl) Generate(model *models.SysMenu) {
|
||||||
return &models.SysMenu{
|
model.MenuId = s.MenuId
|
||||||
MenuId: s.MenuId,
|
model.MenuName = s.MenuName
|
||||||
MenuName: s.MenuName,
|
model.Title = s.Title
|
||||||
Title: s.Title,
|
model.Icon = s.Icon
|
||||||
Icon: s.Icon,
|
model.Path = s.Path
|
||||||
Path: s.Path,
|
model.Paths = s.Paths
|
||||||
Paths: s.Paths,
|
model.MenuType = s.MenuType
|
||||||
MenuType: s.MenuType,
|
model.Action = s.Action
|
||||||
Action: s.Action,
|
model.SysApi = s.SysApi
|
||||||
SysApi: s.SysApi,
|
model.Permission = s.Permission
|
||||||
Permission: s.Permission,
|
model.ParentId = s.ParentId
|
||||||
ParentId: s.ParentId,
|
model.NoCache = s.NoCache
|
||||||
NoCache: s.NoCache,
|
model.Breadcrumb = s.Breadcrumb
|
||||||
Breadcrumb: s.Breadcrumb,
|
model.Component = s.Component
|
||||||
Component: s.Component,
|
model.Sort = s.Sort
|
||||||
Sort: s.Sort,
|
model.Visible = s.Visible
|
||||||
Visible: s.Visible,
|
model.IsFrame = s.IsFrame
|
||||||
IsFrame: s.IsFrame,
|
if s.CreateBy != 0 {
|
||||||
}, nil
|
model.CreateBy = s.CreateBy
|
||||||
|
}
|
||||||
|
if s.UpdateBy != 0 {
|
||||||
|
model.UpdateBy = s.UpdateBy
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// GetId 获取数据对应的ID
|
// GetId 获取数据对应的ID
|
||||||
@@ -155,4 +168,4 @@ type MenuRole struct {
|
|||||||
|
|
||||||
type SelectRole struct {
|
type SelectRole struct {
|
||||||
RoleId int `uri:"roleId"`
|
RoleId int `uri:"roleId"`
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -2,18 +2,33 @@ package service
|
|||||||
|
|
||||||
import (
|
import (
|
||||||
"errors"
|
"errors"
|
||||||
|
|
||||||
"github.com/go-admin-team/go-admin-core/sdk/pkg"
|
"github.com/go-admin-team/go-admin-core/sdk/pkg"
|
||||||
|
"github.com/go-admin-team/go-admin-core/sdk/pkg/logger"
|
||||||
|
"gorm.io/gorm"
|
||||||
|
|
||||||
"go-admin/app/admin/models"
|
"go-admin/app/admin/models"
|
||||||
"go-admin/app/admin/service/dto"
|
"go-admin/app/admin/service/dto"
|
||||||
cDto "go-admin/common/dto"
|
cDto "go-admin/common/dto"
|
||||||
"go-admin/common/service"
|
"go-admin/common/service"
|
||||||
"gorm.io/gorm"
|
|
||||||
)
|
)
|
||||||
|
|
||||||
type SysMenu struct {
|
type SysMenu struct {
|
||||||
service.Service
|
service.Service
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// MakeOrm 设置ORM
|
||||||
|
func (e *SysMenu) MakeOrm(orm *gorm.DB) *SysMenu {
|
||||||
|
e.Orm = orm
|
||||||
|
return e
|
||||||
|
}
|
||||||
|
|
||||||
|
// MakeLog 设置Log
|
||||||
|
func (e *SysMenu) MakeLog(l *logger.Logger) *SysMenu {
|
||||||
|
e.Log = l
|
||||||
|
return e
|
||||||
|
}
|
||||||
|
|
||||||
// GetSysMenuPage 获取SysMenu列表
|
// GetSysMenuPage 获取SysMenu列表
|
||||||
func (e *SysMenu) GetSysMenuPage(c *dto.SysMenuSearch) (*[]models.SysMenu, error) {
|
func (e *SysMenu) GetSysMenuPage(c *dto.SysMenuSearch) (*[]models.SysMenu, error) {
|
||||||
var m = make([]models.SysMenu, 0)
|
var m = make([]models.SysMenu, 0)
|
||||||
@@ -73,17 +88,16 @@ func (e *SysMenu) GetSysMenu(d *dto.SysMenuById, model *models.SysMenu) error {
|
|||||||
}
|
}
|
||||||
|
|
||||||
// InsertSysMenu 创建SysMenu对象
|
// InsertSysMenu 创建SysMenu对象
|
||||||
func (e *SysMenu) InsertSysMenu(model *models.SysMenu) error {
|
func (e *SysMenu) InsertSysMenu(c *dto.SysMenuControl) *SysMenu {
|
||||||
var err error
|
var err error
|
||||||
var data models.SysMenu
|
var data models.SysMenu
|
||||||
|
c.Generate(&data)
|
||||||
err = e.Orm.Model(&data).
|
err = e.Orm.Create(&data).Error
|
||||||
Create(model).Error
|
|
||||||
if err != nil {
|
if err != nil {
|
||||||
e.Log.Errorf("db error:%s", err)
|
e.Log.Errorf("db error:%s", err)
|
||||||
return err
|
_ = e.AddError(err)
|
||||||
}
|
}
|
||||||
return nil
|
return e
|
||||||
}
|
}
|
||||||
|
|
||||||
func (e *SysMenu) initPaths(menu *models.SysMenu) error {
|
func (e *SysMenu) initPaths(menu *models.SysMenu) error {
|
||||||
@@ -105,20 +119,23 @@ func (e *SysMenu) initPaths(menu *models.SysMenu) error {
|
|||||||
}
|
}
|
||||||
|
|
||||||
// UpdateSysMenu 修改SysMenu对象
|
// UpdateSysMenu 修改SysMenu对象
|
||||||
func (e *SysMenu) UpdateSysMenu(c *models.SysMenu) error {
|
func (e *SysMenu) UpdateSysMenu(c *dto.SysMenuControl) *SysMenu {
|
||||||
var err error
|
var err error
|
||||||
|
model := models.SysMenu{}
|
||||||
db := e.Orm.Session(&gorm.Session{FullSaveAssociations: true}).Debug().Save(c)
|
e.Orm.First(&model, c.GetId())
|
||||||
|
c.Generate(&model)
|
||||||
|
db := e.Orm.Session(&gorm.Session{FullSaveAssociations: true}).Debug().Save(&model)
|
||||||
if db.Error != nil {
|
if db.Error != nil {
|
||||||
e.Log.Errorf("db error:%s", err)
|
e.Log.Errorf("db error:%s", err)
|
||||||
return err
|
_ = e.AddError(err)
|
||||||
|
return e
|
||||||
}
|
}
|
||||||
if db.RowsAffected == 0 {
|
if db.RowsAffected == 0 {
|
||||||
return errors.New("无权更新该数据")
|
e.AddError(errors.New("无权更新该数据"))
|
||||||
|
return e
|
||||||
}
|
}
|
||||||
return nil
|
return e
|
||||||
}
|
}
|
||||||
|
|
||||||
// RemoveSysMenu 删除SysMenu
|
// RemoveSysMenu 删除SysMenu
|
||||||
func (e *SysMenu) RemoveSysMenu(d *dto.SysMenuById) error {
|
func (e *SysMenu) RemoveSysMenu(d *dto.SysMenuById) error {
|
||||||
@@ -303,4 +320,4 @@ func (e *SysMenu) getByRoleName(roleName string) (Menus []models.SysMenu, err er
|
|||||||
return
|
return
|
||||||
}
|
}
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|||||||
+45
-4
@@ -1,12 +1,13 @@
|
|||||||
package apis
|
package apis
|
||||||
|
|
||||||
import (
|
import (
|
||||||
|
"errors"
|
||||||
"fmt"
|
"fmt"
|
||||||
"github.com/go-admin-team/go-admin-core/sdk/api"
|
"github.com/gin-gonic/gin/binding"
|
||||||
"net/http"
|
"net/http"
|
||||||
|
|
||||||
"github.com/gin-gonic/gin"
|
"github.com/gin-gonic/gin"
|
||||||
"github.com/gin-gonic/gin/binding"
|
"github.com/go-admin-team/go-admin-core/sdk/api"
|
||||||
"github.com/go-admin-team/go-admin-core/sdk/pkg"
|
"github.com/go-admin-team/go-admin-core/sdk/pkg"
|
||||||
"github.com/go-admin-team/go-admin-core/sdk/pkg/logger"
|
"github.com/go-admin-team/go-admin-core/sdk/pkg/logger"
|
||||||
"github.com/go-admin-team/go-admin-core/sdk/pkg/response"
|
"github.com/go-admin-team/go-admin-core/sdk/pkg/response"
|
||||||
@@ -16,13 +17,26 @@ import (
|
|||||||
type Api struct {
|
type Api struct {
|
||||||
Context *gin.Context
|
Context *gin.Context
|
||||||
Logger *logger.Logger
|
Logger *logger.Logger
|
||||||
|
Orm *gorm.DB
|
||||||
|
Errors error
|
||||||
|
}
|
||||||
|
|
||||||
|
func (e *Api) AddError(err error) error {
|
||||||
|
if e.Errors == nil {
|
||||||
|
e.Errors = err
|
||||||
|
} else if err != nil {
|
||||||
|
e.Logger.Error(err)
|
||||||
|
e.Errors = fmt.Errorf("%v; %w", e.Error, err)
|
||||||
|
}
|
||||||
|
return e.Errors
|
||||||
}
|
}
|
||||||
|
|
||||||
// MakeContext 设置http上下文
|
// MakeContext 设置http上下文
|
||||||
func (e *Api) MakeContext(c *gin.Context) {
|
func (e *Api) MakeContext(c *gin.Context) *Api {
|
||||||
fmt.Println(&c)
|
fmt.Println(&c)
|
||||||
e.Context = c
|
e.Context = c
|
||||||
fmt.Println(&e.Context)
|
fmt.Println(&e.Context)
|
||||||
|
return e
|
||||||
}
|
}
|
||||||
|
|
||||||
// GetLogger 获取上下文提供的日志
|
// GetLogger 获取上下文提供的日志
|
||||||
@@ -32,6 +46,9 @@ func (e Api) GetLogger() *logger.Logger {
|
|||||||
|
|
||||||
func (e Api) Bind(d interface{}, bindings ...binding.Binding) error {
|
func (e Api) Bind(d interface{}, bindings ...binding.Binding) error {
|
||||||
var err error
|
var err error
|
||||||
|
if len(bindings) == 0 {
|
||||||
|
bindings = append(bindings, binding.JSON, nil)
|
||||||
|
}
|
||||||
for i := range bindings {
|
for i := range bindings {
|
||||||
switch bindings[i] {
|
switch bindings[i] {
|
||||||
case binding.JSON:
|
case binding.JSON:
|
||||||
@@ -74,6 +91,30 @@ func (e Api) GetOrm() (*gorm.DB, error) {
|
|||||||
return db, nil
|
return db, nil
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// MakeLogger 设置上下文提供的日志
|
||||||
|
func (e *Api) MakeLogger() *Api {
|
||||||
|
e.Logger = api.GetRequestLogger(e.Context)
|
||||||
|
return e
|
||||||
|
}
|
||||||
|
|
||||||
|
// MakeOrm 设置Orm DB
|
||||||
|
func (e *Api) MakeOrm() *Api {
|
||||||
|
var err error
|
||||||
|
if e.Logger == nil {
|
||||||
|
err = errors.New("at MakeOrm logger is nil")
|
||||||
|
//e.Logger.Error(http.StatusInternalServerError, err, "at MakeOrm logger is nil")
|
||||||
|
_ = e.AddError(err)
|
||||||
|
return e
|
||||||
|
}
|
||||||
|
db, err := pkg.GetOrm(e.Context)
|
||||||
|
if err != nil {
|
||||||
|
e.Logger.Error(http.StatusInternalServerError, err, "数据库连接获取失败")
|
||||||
|
_ = e.AddError(err)
|
||||||
|
}
|
||||||
|
e.Orm = db
|
||||||
|
return e
|
||||||
|
}
|
||||||
|
|
||||||
// Error 通常错误数据处理
|
// Error 通常错误数据处理
|
||||||
func (e Api) Error(code int, err error, msg string) {
|
func (e Api) Error(code int, err error, msg string) {
|
||||||
response.Error(e.Context, code, err, msg)
|
response.Error(e.Context, code, err, msg)
|
||||||
@@ -92,4 +133,4 @@ func (e Api) PageOK(result interface{}, count int, pageIndex int, pageSize int,
|
|||||||
// Custom 兼容函数
|
// Custom 兼容函数
|
||||||
func (e Api) Custom(data gin.H) {
|
func (e Api) Custom(data gin.H) {
|
||||||
response.Custum(e.Context, data)
|
response.Custum(e.Context, data)
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,6 +1,7 @@
|
|||||||
package service
|
package service
|
||||||
|
|
||||||
import (
|
import (
|
||||||
|
"fmt"
|
||||||
"github.com/go-admin-team/go-admin-core/sdk/pkg/logger"
|
"github.com/go-admin-team/go-admin-core/sdk/pkg/logger"
|
||||||
"gorm.io/gorm"
|
"gorm.io/gorm"
|
||||||
)
|
)
|
||||||
@@ -10,4 +11,14 @@ type Service struct {
|
|||||||
Msg string
|
Msg string
|
||||||
MsgID string
|
MsgID string
|
||||||
Log *logger.Logger
|
Log *logger.Logger
|
||||||
|
Error error
|
||||||
|
}
|
||||||
|
|
||||||
|
func (db *Service) AddError(err error) error {
|
||||||
|
if db.Error == nil {
|
||||||
|
db.Error = err
|
||||||
|
} else if err != nil {
|
||||||
|
db.Error = fmt.Errorf("%v; %w", db.Error, err)
|
||||||
|
}
|
||||||
|
return db.Error
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user