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

38 lines
1.0 KiB
Go

package authorized
import (
"crypto/rand"
"encoding/hex"
"io"
"github.com/xinliangnote/go-gin-api/internal/pkg/core"
"github.com/xinliangnote/go-gin-api/internal/repository/mysql/authorized"
)
type CreateAuthorizedData struct {
BusinessKey string `json:"business_key"` // 调用方key
BusinessDeveloper string `json:"business_developer"` // 调用方对接人
Remark string `json:"remark"` // 备注
}
func (s *service) Create(ctx core.Context, authorizedData *CreateAuthorizedData) (id int32, err error) {
buf := make([]byte, 10)
io.ReadFull(rand.Reader, buf)
secret := hex.EncodeToString(buf)
model := authorized.NewModel()
model.BusinessKey = authorizedData.BusinessKey
model.BusinessSecret = secret
model.BusinessDeveloper = authorizedData.BusinessDeveloper
model.Remark = authorizedData.Remark
model.CreatedUser = ctx.SessionUserInfo().UserName
model.IsUsed = 1
model.IsDeleted = -1
id, err = model.Create(s.db.GetDbW().WithContext(ctx.RequestContext()))
if err != nil {
return 0, err
}
return
}