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 }