Files
go-gin-api/internal/services/menu/service_deleteaction.go
新亮 4c37a7e6b5 feature(1.2.8): swagger 接口文档新增 Security
- 将 middleware 命名为 interceptor
- 将 deploy 命名为 deployments
- 移除 pkg/errno
- 使用 proposal 目录
- 优化代码
2021-11-28 13:25:27 +08:00

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
}