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 目录 - 优化代码
39 lines
1.1 KiB
Go
39 lines
1.1 KiB
Go
package authorized
|
|
|
|
import (
|
|
"github.com/xinliangnote/go-gin-api/configs"
|
|
"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/authorized_api"
|
|
"github.com/xinliangnote/go-gin-api/internal/repository/redis"
|
|
|
|
"gorm.io/gorm"
|
|
)
|
|
|
|
func (s *service) DeleteAPI(ctx core.Context, id int32) (err error) {
|
|
// 先查询 id 是否存在
|
|
authorizedApiInfo, err := authorized_api.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 := authorized_api.NewQueryBuilder()
|
|
qb.WhereId(mysql.EqualPredicate, id)
|
|
err = qb.Updates(s.db.GetDbW().WithContext(ctx.RequestContext()), data)
|
|
if err != nil {
|
|
return err
|
|
}
|
|
|
|
s.cache.Del(configs.RedisKeyPrefixSignature+authorizedApiInfo.BusinessKey, redis.WithTrace(ctx.Trace()))
|
|
return
|
|
}
|