chain-dci/internal/logic/dci_user.go
2023-11-23 20:06:14 +08:00

69 lines
2.1 KiB
Go

package logic
import (
"chain-dci/pb/dci"
"chain-dci/pkg/app"
bccrClient "github.com/antchain-openapi-sdk-go/bccr/client"
"github.com/jinzhu/copier"
)
type IDciUser interface {
AddDciUser(req *dci.AddDciUserRequest) (res *dci.AddDciUserResponse, err error)
UpdateDciUser(req *dci.UpdateDciUserRequest) (res *dci.UpdateDciUserResponse, err error)
QueryDciUser(req *dci.QueryDciUserRequest) (res *dci.QueryDciUserResponse, err error)
}
type DciUser struct {
}
// AddDciUser 著作权人 申领 DCI信息
func (u *DciUser) AddDciUser(req *dci.AddDciUserRequest) (res *dci.AddDciUserResponse, err error) {
res = new(dci.AddDciUserResponse)
addDciUserRequest := new(bccrClient.AddDciUserRequest)
_ = copier.CopyWithOption(&addDciUserRequest, req, copier.Option{DeepCopy: true})
addDciUserResponse, err := app.ModuleClients.BccrClient.AddDciUser(addDciUserRequest)
if err != nil {
return nil, err
}
_ = copier.CopyWithOption(&res, addDciUserResponse, copier.Option{DeepCopy: true})
return
}
// UpdateDciUser 著作权人 更新 DCI信息
func (u *DciUser) UpdateDciUser(req *dci.UpdateDciUserRequest) (res *dci.UpdateDciUserResponse, err error) {
res = new(dci.UpdateDciUserResponse)
updateDciUserRequest := new(bccrClient.UpdateDciUserRequest)
_ = copier.CopyWithOption(&updateDciUserRequest, req, copier.Option{DeepCopy: true})
updateDciUserResponse, err := app.ModuleClients.BccrClient.UpdateDciUser(updateDciUserRequest)
if err != nil {
return nil, err
}
_ = copier.CopyWithOption(&res, updateDciUserResponse, copier.Option{DeepCopy: true})
return
}
// QueryDciUser 著作权人 查询 DCI信息
func (u *DciUser) QueryDciUser(req *dci.QueryDciUserRequest) (res *dci.QueryDciUserResponse, err error) {
res = new(dci.QueryDciUserResponse)
queryDciUserRequest := new(bccrClient.QueryDciUserRequest)
_ = copier.CopyWithOption(&queryDciUserRequest, req, copier.Option{DeepCopy: true})
queryDciUserResponse, err := app.ModuleClients.BccrClient.QueryDciUser(queryDciUserRequest)
if err != nil {
return nil, err
}
_ = copier.CopyWithOption(&res, queryDciUserResponse, copier.Option{DeepCopy: true})
return
}