2023-11-23 12:06:14 +00:00
|
|
|
package logic
|
|
|
|
|
|
|
|
import (
|
|
|
|
"chain-dci/pb/dci"
|
|
|
|
"chain-dci/pkg/app"
|
2023-11-27 02:03:39 +00:00
|
|
|
errCommon "chain-dci/pkg/err"
|
|
|
|
"chain-dci/pkg/msg"
|
2023-11-23 12:06:14 +00:00
|
|
|
bccrClient "github.com/antchain-openapi-sdk-go/bccr/client"
|
|
|
|
"github.com/jinzhu/copier"
|
2023-11-27 02:03:39 +00:00
|
|
|
"time"
|
2023-11-23 12:06:14 +00:00
|
|
|
)
|
|
|
|
|
|
|
|
type IDciWork interface {
|
|
|
|
CreateDciPreregistration(req *dci.CreateDciPreregistrationRequest) (res *dci.CreateDciPreregistrationResponse, err error)
|
|
|
|
QueryDciPreregistration(req *dci.QueryDciPreregistrationRequest) (res *dci.QueryDciPreregistrationResponse, err error)
|
2024-09-05 09:42:43 +00:00
|
|
|
SubmitDciFeedback(req *dci.SubmitDciFeedbackRequest) (res *dci.SubmitDciFeedbackResponse, err error)
|
2023-11-23 12:06:14 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
type DciWork struct {
|
|
|
|
}
|
|
|
|
|
|
|
|
// CreateDciPreregistration 作品 申领 DCI
|
|
|
|
func (w *DciWork) CreateDciPreregistration(req *dci.CreateDciPreregistrationRequest) (res *dci.CreateDciPreregistrationResponse, err error) {
|
2024-01-11 04:14:53 +00:00
|
|
|
errCommon.NoReturnInfo(req, "作品 申领 DCI 参数信息: ")
|
|
|
|
|
2023-11-23 12:06:14 +00:00
|
|
|
res = new(dci.CreateDciPreregistrationResponse)
|
|
|
|
|
|
|
|
createDciPreregistrationRequest := new(bccrClient.CreateDciPreregistrationRequest)
|
2024-01-11 04:14:53 +00:00
|
|
|
_ = copier.CopyWithOption(&createDciPreregistrationRequest, req, copier.Option{DeepCopy: false})
|
2023-11-23 12:06:14 +00:00
|
|
|
|
2023-11-27 02:03:39 +00:00
|
|
|
clientToken, err := createToken(time.Now().UnixMilli(), req.DciUserId, req.WorkName, req.AuthorName, req.WorkFileId, app.ModuleClients.SfNode.Generate().Base64())
|
|
|
|
if err != nil {
|
2023-11-27 02:06:23 +00:00
|
|
|
return nil, errCommon.ReturnError(err, msg.ErrCreateClientToken, "创建clientToken 失败: ")
|
2023-11-27 02:03:39 +00:00
|
|
|
}
|
|
|
|
createDciPreregistrationRequest.SetClientToken(clientToken)
|
|
|
|
|
2023-11-23 12:06:14 +00:00
|
|
|
createDciPreregistrationResponse, err := app.ModuleClients.BccrClient.CreateDciPreregistration(createDciPreregistrationRequest)
|
|
|
|
if err != nil {
|
2024-01-11 04:14:53 +00:00
|
|
|
return nil, errCommon.ReturnError(err, msg.ErrCreateDciPreregistration, "作品 申领 DCI 失败: ")
|
2023-11-23 12:06:14 +00:00
|
|
|
}
|
|
|
|
|
2024-01-11 04:14:53 +00:00
|
|
|
errCommon.NoReturnInfo(createDciPreregistrationResponse, "作品 申领 DCI 成功: ")
|
|
|
|
|
|
|
|
_ = copier.CopyWithOption(&res, createDciPreregistrationResponse, copier.Option{DeepCopy: false})
|
2023-11-23 12:06:14 +00:00
|
|
|
|
|
|
|
return
|
|
|
|
}
|
|
|
|
|
|
|
|
// QueryDciPreregistration 作品 查询 DCI
|
|
|
|
func (w *DciWork) QueryDciPreregistration(req *dci.QueryDciPreregistrationRequest) (res *dci.QueryDciPreregistrationResponse, err error) {
|
2024-01-11 04:14:53 +00:00
|
|
|
errCommon.NoReturnInfo(req, "作品 查询 DCI 参数信息: ")
|
|
|
|
|
2023-11-23 12:06:14 +00:00
|
|
|
res = new(dci.QueryDciPreregistrationResponse)
|
|
|
|
|
|
|
|
queryDciPreregistrationRequest := new(bccrClient.QueryDciPreregistrationRequest)
|
2024-01-11 04:14:53 +00:00
|
|
|
_ = copier.CopyWithOption(&queryDciPreregistrationRequest, req, copier.Option{DeepCopy: false})
|
2023-11-23 12:06:14 +00:00
|
|
|
|
|
|
|
queryDciPreregistrationResponse, err := app.ModuleClients.BccrClient.QueryDciPreregistration(queryDciPreregistrationRequest)
|
|
|
|
if err != nil {
|
2024-01-11 04:14:53 +00:00
|
|
|
return nil, errCommon.ReturnError(err, msg.ErrQueryDciPreregistration, "作品 查询 DCI 失败: ")
|
2023-11-23 12:06:14 +00:00
|
|
|
}
|
|
|
|
|
2024-01-11 04:14:53 +00:00
|
|
|
errCommon.NoReturnInfo(queryDciPreregistrationResponse, "作品 查询 DCI 成功: ")
|
|
|
|
|
|
|
|
_ = copier.CopyWithOption(&res, queryDciPreregistrationResponse, copier.Option{DeepCopy: false})
|
2023-11-23 12:06:14 +00:00
|
|
|
|
|
|
|
return
|
|
|
|
}
|
2024-09-05 09:42:43 +00:00
|
|
|
|
|
|
|
// SubmitDciFeedback 作品 DCI 申诉
|
|
|
|
func (w *DciWork) SubmitDciFeedback(req *dci.SubmitDciFeedbackRequest) (res *dci.SubmitDciFeedbackResponse, err error) {
|
|
|
|
errCommon.NoReturnInfo(req, "作品 DCI 申诉 参数信息: ")
|
|
|
|
|
|
|
|
res = new(dci.SubmitDciFeedbackResponse)
|
|
|
|
|
|
|
|
submitDciFeedbackRequest := new(bccrClient.SubmitDciFeedbackRequest)
|
|
|
|
_ = copier.CopyWithOption(&submitDciFeedbackRequest, req, copier.Option{DeepCopy: false})
|
|
|
|
|
|
|
|
submitDciFeedbackResponse, err := app.ModuleClients.BccrClient.SubmitDciFeedback(submitDciFeedbackRequest)
|
|
|
|
if err != nil {
|
|
|
|
return nil, errCommon.ReturnError(err, msg.ErrSubmitDciFeedback, "作品 DCI 申诉 失败: ")
|
|
|
|
}
|
|
|
|
|
|
|
|
errCommon.NoReturnInfo(submitDciFeedbackResponse, "作品 DCI 申诉 成功: ")
|
|
|
|
|
|
|
|
_ = copier.CopyWithOption(&res, submitDciFeedbackResponse, copier.Option{DeepCopy: false})
|
|
|
|
|
|
|
|
return
|
|
|
|
}
|
|
|
|
|
|
|
|
/*// QueryDciFeedback 作品 DCI 申诉 查询
|
|
|
|
func (w *DciWork) QueryDciFeedback(req *dci.SubmitDciFeedbackRequest) (res *dci.SubmitDciFeedbackResponse, err error) {
|
|
|
|
errCommon.NoReturnInfo(req, "作品 DCI 申诉 参数信息: ")
|
|
|
|
|
|
|
|
res = new(dci.SubmitDciFeedbackResponse)
|
|
|
|
|
|
|
|
submitDciFeedbackRequest := new(bccrClient.SubmitDciFeedbackRequest)
|
|
|
|
_ = copier.CopyWithOption(&submitDciFeedbackRequest, req, copier.Option{DeepCopy: false})
|
|
|
|
|
|
|
|
submitDciFeedbackResponse, err := app.ModuleClients.BccrClient.QueryDciFeedback(submitDciFeedbackRequest)
|
|
|
|
if err != nil {
|
|
|
|
return nil, errCommon.ReturnError(err, msg.ErrSubmitDciFeedback, "作品 DCI 申诉 失败: ")
|
|
|
|
}
|
|
|
|
|
|
|
|
errCommon.NoReturnInfo(submitDciFeedbackResponse, "作品 DCI 申诉 成功: ")
|
|
|
|
|
|
|
|
_ = copier.CopyWithOption(&res, submitDciFeedbackResponse, copier.Option{DeepCopy: false})
|
|
|
|
|
|
|
|
return
|
|
|
|
}
|
|
|
|
*/
|