完善clientToken

main
jhc 10 months ago
parent ed1125c6dd
commit b231112030

@ -20,7 +20,7 @@ type DciProvider struct {
func (d *DciProvider) GetUploadUrl(_ context.Context, req *dci.GetUploadUrlRequest) (res *dci.GetUploadUrlResponse, err error) {
res = new(dci.GetUploadUrlResponse)
if req.FileName == "" {
return res, errCommon.ReturnError(errors.New(msg.ErrrFileIsEmpty), msg.ErrrFileIsEmpty, "未获取到相关文件 :")
return res, errCommon.ReturnError(errors.New(msg.ErrFileIsEmpty), msg.ErrFileIsEmpty, "未获取到相关文件 :")
}
res, err = d.file.Upload(req)

@ -31,13 +31,11 @@ type IDci interface {
type Dci struct {
}
func createToken(appID, appKey, channelId, userID, nonce string, timestamp int64) (token string, err error) {
func createToken(timestamp int64, keyword ...string) (token string, err error) {
var b bytes.Buffer
b.WriteString(appID)
b.WriteString(appKey)
b.WriteString(channelId)
b.WriteString(userID)
b.WriteString(nonce)
for i := 0; i < len(keyword); i++ {
b.WriteString(keyword[i])
}
b.WriteString(fmt.Sprint(timestamp))
h := sha256.New()

@ -3,8 +3,11 @@ package logic
import (
"chain-dci/pb/dci"
"chain-dci/pkg/app"
errCommon "chain-dci/pkg/err"
"chain-dci/pkg/msg"
bccrClient "github.com/antchain-openapi-sdk-go/bccr/client"
"github.com/jinzhu/copier"
"time"
)
type IDciRegistration interface {
@ -27,6 +30,12 @@ func (r *DciRegistration) CreateDciRegistration(req *dci.CreateDciRegistrationRe
createDciRegistrationRequest := new(bccrClient.CreateDciRegistrationRequest)
_ = copier.CopyWithOption(&createDciRegistrationRequest, req, copier.Option{DeepCopy: true})
clientToken, err := createToken(time.Now().UnixMilli(), req.DciContentId, app.ModuleClients.SfNode.Generate().Base64())
if err != nil {
return nil, errCommon.ReturnError(err, msg.ErrCreateToken, "创建CreateToken 失败: ")
}
createDciRegistrationRequest.SetClientToken(clientToken)
createDciPreregistrationResponse, err := app.ModuleClients.BccrClient.CreateDciRegistration(createDciRegistrationRequest)
if err != nil {
return nil, err
@ -61,6 +70,12 @@ func (r *DciRegistration) GetDciPayUrl(req *dci.GetDciPayUrlRequest) (res *dci.G
getDciPayUrlRequest := new(bccrClient.GetDciPayurlRequest)
_ = copier.CopyWithOption(&getDciPayUrlRequest, req, copier.Option{DeepCopy: true})
clientToken, err := createToken(time.Now().UnixMilli(), req.DigitalRegisterId, app.ModuleClients.SfNode.Generate().Base64())
if err != nil {
return nil, errCommon.ReturnError(err, msg.ErrCreateToken, "创建CreateToken 失败: ")
}
getDciPayUrlRequest.SetClientToken(clientToken)
getDciPayUrlResponse, err := app.ModuleClients.BccrClient.GetDciPayurl(getDciPayUrlRequest)
if err != nil {
return nil, err
@ -95,6 +110,12 @@ func (r *DciRegistration) GetDciRegistrationcert(req *dci.GetDciRegistrationcert
getDciRegistrationcertRequest := new(bccrClient.GetDciRegistrationcertRequest)
_ = copier.CopyWithOption(&getDciRegistrationcertRequest, req, copier.Option{DeepCopy: true})
clientToken, err := createToken(time.Now().UnixMilli(), req.DigitalRegisterId, app.ModuleClients.SfNode.Generate().Base64())
if err != nil {
return nil, errCommon.ReturnError(err, msg.ErrCreateToken, "创建CreateToken 失败: ")
}
getDciRegistrationcertRequest.SetClientToken(clientToken)
getDciRegistrationcertResponse, err := app.ModuleClients.BccrClient.GetDciRegistrationcert(getDciRegistrationcertRequest)
if err != nil {
return nil, err
@ -112,6 +133,12 @@ func (r *DciRegistration) RetryDciRegistration(req *dci.RetryDciRegistrationRequ
retryDciRegistrationRequest := new(bccrClient.RetryDciRegistrationRequest)
_ = copier.CopyWithOption(&retryDciRegistrationRequest, req, copier.Option{DeepCopy: true})
clientToken, err := createToken(time.Now().UnixMilli(), req.DigitalRegisterId, req.DciContentId, app.ModuleClients.SfNode.Generate().Base64())
if err != nil {
return nil, errCommon.ReturnError(err, msg.ErrCreateToken, "创建CreateToken 失败: ")
}
retryDciRegistrationRequest.SetClientToken(clientToken)
retryDciRegistrationResponse, err := app.ModuleClients.BccrClient.RetryDciRegistration(retryDciRegistrationRequest)
if err != nil {
return nil, err
@ -129,6 +156,12 @@ func (r *DciRegistration) CloseDciRegistration(req *dci.CloseDciRegistrationRequ
closeDciRegistrationRequest := new(bccrClient.CloseDciRegistrationRequest)
_ = copier.CopyWithOption(&closeDciRegistrationRequest, req, copier.Option{DeepCopy: true})
clientToken, err := createToken(time.Now().UnixMilli(), req.DigitalRegisterId, req.Name, req.MobileNo, app.ModuleClients.SfNode.Generate().Base64())
if err != nil {
return nil, errCommon.ReturnError(err, msg.ErrCreateToken, "创建CreateToken 失败: ")
}
closeDciRegistrationRequest.SetClientToken(clientToken)
closeDciRegistrationResponse, err := app.ModuleClients.BccrClient.CloseDciRegistration(closeDciRegistrationRequest)
if err != nil {
return nil, err

@ -3,8 +3,11 @@ package logic
import (
"chain-dci/pb/dci"
"chain-dci/pkg/app"
errCommon "chain-dci/pkg/err"
"chain-dci/pkg/msg"
bccrClient "github.com/antchain-openapi-sdk-go/bccr/client"
"github.com/jinzhu/copier"
"time"
)
type IDciUser interface {
@ -23,6 +26,12 @@ func (u *DciUser) AddDciUser(req *dci.AddDciUserRequest) (res *dci.AddDciUserRes
addDciUserRequest := new(bccrClient.AddDciUserRequest)
_ = copier.CopyWithOption(&addDciUserRequest, req, copier.Option{DeepCopy: true})
clientToken, err := createToken(time.Now().UnixMilli(), req.CertName, req.CertificateNumber, req.Phone, app.ModuleClients.SfNode.Generate().Base64())
if err != nil {
return nil, errCommon.ReturnError(err, msg.ErrCreateToken, "创建CreateToken 失败: ")
}
addDciUserRequest.SetClientToken(clientToken)
addDciUserResponse, err := app.ModuleClients.BccrClient.AddDciUser(addDciUserRequest)
if err != nil {
return nil, err
@ -40,6 +49,12 @@ func (u *DciUser) UpdateDciUser(req *dci.UpdateDciUserRequest) (res *dci.UpdateD
updateDciUserRequest := new(bccrClient.UpdateDciUserRequest)
_ = copier.CopyWithOption(&updateDciUserRequest, req, copier.Option{DeepCopy: true})
clientToken, err := createToken(time.Now().UnixMilli(), req.DciUserId, req.CertFrontFileId, req.CertBackFileId, req.Phone, app.ModuleClients.SfNode.Generate().Base64())
if err != nil {
return nil, errCommon.ReturnError(err, msg.ErrCreateToken, "创建CreateToken 失败: ")
}
updateDciUserRequest.SetClientToken(clientToken)
updateDciUserResponse, err := app.ModuleClients.BccrClient.UpdateDciUser(updateDciUserRequest)
if err != nil {
return nil, err

@ -3,8 +3,11 @@ package logic
import (
"chain-dci/pb/dci"
"chain-dci/pkg/app"
errCommon "chain-dci/pkg/err"
"chain-dci/pkg/msg"
bccrClient "github.com/antchain-openapi-sdk-go/bccr/client"
"github.com/jinzhu/copier"
"time"
)
type IDciWork interface {
@ -22,6 +25,12 @@ func (w *DciWork) CreateDciPreregistration(req *dci.CreateDciPreregistrationRequ
createDciPreregistrationRequest := new(bccrClient.CreateDciPreregistrationRequest)
_ = copier.CopyWithOption(&createDciPreregistrationRequest, req, copier.Option{DeepCopy: true})
clientToken, err := createToken(time.Now().UnixMilli(), req.DciUserId, req.WorkName, req.AuthorName, req.WorkFileId, app.ModuleClients.SfNode.Generate().Base64())
if err != nil {
return nil, errCommon.ReturnError(err, msg.ErrCreateToken, "创建CreateToken 失败: ")
}
createDciPreregistrationRequest.SetClientToken(clientToken)
createDciPreregistrationResponse, err := app.ModuleClients.BccrClient.CreateDciPreregistration(createDciPreregistrationRequest)
if err != nil {
return nil, err

@ -10,6 +10,7 @@ import (
bccrClient "github.com/antchain-openapi-sdk-go/bccr/client"
"github.com/jinzhu/copier"
"strings"
"time"
"unicode"
)
@ -65,6 +66,9 @@ func (f *File) Upload(req *dci.GetUploadUrlRequest) (res *dci.GetUploadUrlRespon
getUploadUrlRequest.SetFileName(fileName)
}
clientToken, err := createToken(time.Now().UnixMilli(), fileName, app.ModuleClients.SfNode.Generate().Base64())
getUploadUrlRequest.SetClientToken(clientToken)
getUploadUrlResponse := GetUploadUrl(getUploadUrlRequest)
//res = serializer.UploadUrlResponseToRpc(getUploadUrlResponse)
res = new(dci.GetUploadUrlResponse)

27
pkg/cache/redis.go vendored

@ -1,27 +1,24 @@
package cache
import (
dciConfig "chain-dci/config"
"github.com/dubbogo/gost/log/logger"
"github.com/go-redis/redis"
"github.com/google/wire"
"strconv"
)
var RedisProvider = wire.NewSet(NewRedis)
// TODO 添加连接池
func NewRedis() *redis.Client {
redisDb, _ := strconv.Atoi(dciConfig.Data.Redis.DB)
RedisClient := redis.NewClient(&redis.Options{
Addr: dciConfig.Data.Redis.Addr,
Password: dciConfig.Data.Redis.Password,
DB: redisDb,
})
_, err := RedisClient.Ping().Result()
if err != nil {
logger.Errorf("connRedis err", err)
panic(err)
}
return RedisClient
//redisDb, _ := strconv.Atoi(dciConfig.Data.Redis.DB)
//RedisClient := redis.NewClient(&redis.Options{
// Addr: dciConfig.Data.Redis.Addr,
// Password: dciConfig.Data.Redis.Password,
// DB: redisDb,
//})
//_, err := RedisClient.Ping().Result()
//if err != nil {
// logger.Errorf("connRedis err", err)
// panic(err)
//}
return nil
}

@ -1,18 +1,16 @@
package db
import (
dciConfig "chain-dci/config"
"github.com/google/wire"
"gorm.io/gorm"
"strings"
)
var MeetingProvider = wire.NewSet(NewDci)
var DciProvider = wire.NewSet(NewDci)
func NewDci() *gorm.DB {
connOaMeeting := strings.Join([]string{dciConfig.Data.ChainDci.User, ":", dciConfig.Data.ChainDci.Password,
"@tcp(", dciConfig.Data.ChainDci.Host, ":", dciConfig.Data.ChainDci.Port, ")/",
dciConfig.Data.ChainDci.DbName, "?charset=utf8mb4&parseTime=true"}, "")
DbOaMeeting := loadMysqlConn(connOaMeeting)
return DbOaMeeting
//connOaMeeting := strings.Join([]string{dciConfig.Data.ChainDci.User, ":", dciConfig.Data.ChainDci.Password,
// "@tcp(", dciConfig.Data.ChainDci.Host, ":", dciConfig.Data.ChainDci.Port, ")/",
// dciConfig.Data.ChainDci.DbName, "?charset=utf8mb4&parseTime=true"}, "")
//DbOaMeeting := loadMysqlConn(connOaMeeting)
return nil
}

@ -1,7 +1,5 @@
package common
import "chain-dci/pkg/db"
func Init() {
db.DBMigration()
//db.DBMigration()
}

@ -1,5 +1,6 @@
package msg
const (
ErrrFileIsEmpty = "未获取到相关文件"
ErrFileIsEmpty = "未获取到相关文件"
ErrCreateToken = "创建CreateToken失败"
)

@ -26,6 +26,11 @@ func NewSf() *snowflake.Node {
}
return node
}
func GenID() int64 {
func GenIDInt64() int64 {
return app.ModuleClients.SfNode.Generate().Int64()
}
func GetIDBase64() string {
return app.ModuleClients.SfNode.Generate().Base64()
}

Loading…
Cancel
Save