forked from xinliangnote/go-gin-api
/
service_updateused.go
37 lines (30 loc) · 1.06 KB
/
service_updateused.go
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
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"
"github.com/xinliangnote/go-gin-api/internal/repository/redis"
"gorm.io/gorm"
)
func (s *service) UpdateUsed(ctx core.Context, id int32, used int32) (err error) {
authorizedInfo, err := authorized.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_used": used,
"updated_user": ctx.SessionUserInfo().UserName,
}
qb := authorized.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+authorizedInfo.BusinessKey, redis.WithTrace(ctx.Trace()))
return
}