service_createapi.go 1.0 KB

12345678910111213141516171819202122232425262728293031
  1. package authorized
  2. import (
  3. "github.com/xinliangnote/go-gin-api/configs"
  4. "github.com/xinliangnote/go-gin-api/internal/pkg/core"
  5. "github.com/xinliangnote/go-gin-api/internal/repository/mysql/authorized_api"
  6. "github.com/xinliangnote/go-gin-api/internal/repository/redis"
  7. )
  8. type CreateAuthorizedAPIData struct {
  9. BusinessKey string `json:"business_key"` // 调用方key
  10. Method string `json:"method"` // 请求方法
  11. API string `json:"api"` // 请求地址
  12. }
  13. func (s *service) CreateAPI(ctx core.Context, authorizedAPIData *CreateAuthorizedAPIData) (id int32, err error) {
  14. model := authorized_api.NewModel()
  15. model.BusinessKey = authorizedAPIData.BusinessKey
  16. model.Method = authorizedAPIData.Method
  17. model.Api = authorizedAPIData.API
  18. model.CreatedUser = ctx.SessionUserInfo().UserName
  19. model.IsDeleted = -1
  20. id, err = model.Create(s.db.GetDbW().WithContext(ctx.RequestContext()))
  21. if err != nil {
  22. return 0, err
  23. }
  24. s.cache.Del(configs.RedisKeyPrefixSignature+authorizedAPIData.BusinessKey, redis.WithTrace(ctx.Trace()))
  25. return
  26. }