mirror of
https://github.com/xinliangnote/go-gin-api.git
synced 2024-04-21 12:31:46 +00:00
- 将 middleware 命名为 interceptor - 将 deploy 命名为 deployments - 移除 pkg/errno - 使用 proposal 目录 - 优化代码
36 lines
875 B
Go
36 lines
875 B
Go
package menu
|
|
|
|
import (
|
|
"github.com/xinliangnote/go-gin-api/internal/pkg/core"
|
|
"github.com/xinliangnote/go-gin-api/internal/repository/mysql"
|
|
"github.com/xinliangnote/go-gin-api/internal/repository/mysql/menu_action"
|
|
|
|
"gorm.io/gorm"
|
|
)
|
|
|
|
func (s *service) DeleteAction(ctx core.Context, id int32) (err error) {
|
|
// 先查询 id 是否存在
|
|
_, err = menu_action.NewQueryBuilder().
|
|
WhereIsDeleted(mysql.EqualPredicate, -1).
|
|
WhereId(mysql.EqualPredicate, id).
|
|
First(s.db.GetDbR().WithContext(ctx.RequestContext()))
|
|
|
|
if err == gorm.ErrRecordNotFound {
|
|
return nil
|
|
}
|
|
|
|
data := map[string]interface{}{
|
|
"is_deleted": 1,
|
|
"updated_user": ctx.SessionUserInfo().UserName,
|
|
}
|
|
|
|
qb := menu_action.NewQueryBuilder()
|
|
qb.WhereId(mysql.EqualPredicate, id)
|
|
err = qb.Updates(s.db.GetDbW().WithContext(ctx.RequestContext()), data)
|
|
if err != nil {
|
|
return err
|
|
}
|
|
|
|
return
|
|
}
|