对账单后台管理部分代码提交
This commit is contained in:
parent
6d247aa4a4
commit
2b9e317444
@ -23,7 +23,7 @@ func main() {
|
||||
config.SetProviderService(&controller.ArtistInfoArtshowProvider{})
|
||||
config.SetProviderService(&controller.ArtistInfoContractProvider{})
|
||||
config.SetConsumerService(&controller.ArtistInfoStatementProvider{})
|
||||
config.SetProviderService(&controller.MgmtStatementProvider{})
|
||||
// config.SetProviderService(&controller.MgmtStatementProvider{})
|
||||
db.Init(m.SERVER_CONFIG)
|
||||
cache.InitRedis(m.SERVER_CONFIG)
|
||||
if err := config.Load(); err != nil {
|
||||
|
@ -1,99 +1,99 @@
|
||||
package controller
|
||||
|
||||
import (
|
||||
"context"
|
||||
// import (
|
||||
// "context"
|
||||
|
||||
logic3 "github.com/fonchain/fonchain-artistinfo/cmd/internal/logic"
|
||||
"github.com/fonchain/fonchain-artistinfo/pb/mgmtStatement"
|
||||
"github.com/fonchain/fonchain-artistinfo/pkg/m"
|
||||
)
|
||||
// logic3 "github.com/fonchain/fonchain-artistinfo/cmd/internal/logic"
|
||||
// "github.com/fonchain/fonchain-artistinfo/pb/mgmtStatement"
|
||||
// "github.com/fonchain/fonchain-artistinfo/pkg/m"
|
||||
// )
|
||||
|
||||
type MgmtStatementProvider struct {
|
||||
mgmtStatement.UnimplementedMgmtStatementServer
|
||||
mgmtStatementLogic *logic3.MgmtStatement
|
||||
}
|
||||
// type MgmtStatementProvider struct {
|
||||
// mgmtStatement.UnimplementedMgmtStatementServer
|
||||
// mgmtStatementLogic *logic3.MgmtStatement
|
||||
// }
|
||||
|
||||
//通过excel获得批次数据
|
||||
func (a *MgmtStatementProvider) AddBatchDetail(ctx context.Context, in *mgmtStatement.AddBatchDetailreq) (resp *mgmtStatement.AddBatchDetailres, err error) {
|
||||
resp = &mgmtStatement.AddBatchDetailres{}
|
||||
err = nil
|
||||
if resp, err = a.mgmtStatementLogic.AddBatchDetail(in); err != nil {
|
||||
return
|
||||
}
|
||||
resp.Msg = m.CREATE_SUCCESS
|
||||
return
|
||||
}
|
||||
// // 通过excel获得批次数据
|
||||
// func (a *MgmtStatementProvider) AddBatchDetail(ctx context.Context, in *mgmtStatement.AddBatchDetailreq) (resp *mgmtStatement.AddBatchDetailres, err error) {
|
||||
// resp = &mgmtStatement.AddBatchDetailres{}
|
||||
// err = nil
|
||||
// if resp, err = a.mgmtStatementLogic.AddBatchDetail(in); err != nil {
|
||||
// return
|
||||
// }
|
||||
// resp.Msg = m.CREATE_SUCCESS
|
||||
// return
|
||||
// }
|
||||
|
||||
//通过excel导入数据存入数据库(附件一)
|
||||
func (a *MgmtStatementProvider) UploadExcelOne(ctx context.Context, in *mgmtStatement.UploadExcelOnereq) (resp *mgmtStatement.UploadExcelOneres, err error) {
|
||||
resp = &mgmtStatement.UploadExcelOneres{}
|
||||
err = nil
|
||||
if resp, err = a.mgmtStatementLogic.UploadExcelOne(in); err != nil {
|
||||
return
|
||||
}
|
||||
resp.Msg = m.CREATE_SUCCESS
|
||||
return
|
||||
}
|
||||
// // 通过excel导入数据存入数据库(附件一)
|
||||
// func (a *MgmtStatementProvider) UploadExcelOne(ctx context.Context, in *mgmtStatement.UploadExcelOnereq) (resp *mgmtStatement.UploadExcelOneres, err error) {
|
||||
// resp = &mgmtStatement.UploadExcelOneres{}
|
||||
// err = nil
|
||||
// if resp, err = a.mgmtStatementLogic.UploadExcelOne(in); err != nil {
|
||||
// return
|
||||
// }
|
||||
// resp.Msg = m.CREATE_SUCCESS
|
||||
// return
|
||||
// }
|
||||
|
||||
//通过excel导入数据存入数据库(附件二)
|
||||
func (a *MgmtStatementProvider) UploadExcelTwo(ctx context.Context, in *mgmtStatement.UploadExcelTworeq) (resp *mgmtStatement.UploadExcelTwores, err error) {
|
||||
resp = &mgmtStatement.UploadExcelTwores{}
|
||||
err = nil
|
||||
if resp, err = a.mgmtStatementLogic.UploadExcelTwo(in); err != nil {
|
||||
return
|
||||
}
|
||||
resp.Msg = m.CREATE_SUCCESS
|
||||
return
|
||||
}
|
||||
// // 通过excel导入数据存入数据库(附件二)
|
||||
// func (a *MgmtStatementProvider) UploadExcelTwo(ctx context.Context, in *mgmtStatement.UploadExcelTworeq) (resp *mgmtStatement.UploadExcelTwores, err error) {
|
||||
// resp = &mgmtStatement.UploadExcelTwores{}
|
||||
// err = nil
|
||||
// if resp, err = a.mgmtStatementLogic.UploadExcelTwo(in); err != nil {
|
||||
// return
|
||||
// }
|
||||
// resp.Msg = m.CREATE_SUCCESS
|
||||
// return
|
||||
// }
|
||||
|
||||
//画家对账单列表
|
||||
func (a *MgmtStatementProvider) ArtistStatementList(ctx context.Context, in *mgmtStatement.ArtistStatementListreq) (resp *mgmtStatement.ArtistStatementListres, err error) {
|
||||
resp = &mgmtStatement.ArtistStatementListres{}
|
||||
err = nil
|
||||
if resp, err = a.mgmtStatementLogic.ArtistStatementList(in); err != nil {
|
||||
return
|
||||
}
|
||||
resp.Msg = m.SUCCESS
|
||||
return
|
||||
}
|
||||
// // 画家对账单列表
|
||||
// func (a *MgmtStatementProvider) ArtistStatementList(ctx context.Context, in *mgmtStatement.ArtistStatementListreq) (resp *mgmtStatement.ArtistStatementListres, err error) {
|
||||
// resp = &mgmtStatement.ArtistStatementListres{}
|
||||
// err = nil
|
||||
// if resp, err = a.mgmtStatementLogic.ArtistStatementList(in); err != nil {
|
||||
// return
|
||||
// }
|
||||
// resp.Msg = m.SUCCESS
|
||||
// return
|
||||
// }
|
||||
|
||||
//画作对账单列表
|
||||
func (a *MgmtStatementProvider) ArtStatementList(ctx context.Context, in *mgmtStatement.ArtStatementListreq) (resp *mgmtStatement.ArtStatementListres, err error) {
|
||||
resp = &mgmtStatement.ArtStatementListres{}
|
||||
err = nil
|
||||
if resp, err = a.mgmtStatementLogic.ArtStatementList(in); err != nil {
|
||||
return
|
||||
}
|
||||
resp.Msg = m.SUCCESS
|
||||
return
|
||||
}
|
||||
// // 画作对账单列表
|
||||
// func (a *MgmtStatementProvider) ArtStatementList(ctx context.Context, in *mgmtStatement.ArtStatementListreq) (resp *mgmtStatement.ArtStatementListres, err error) {
|
||||
// resp = &mgmtStatement.ArtStatementListres{}
|
||||
// err = nil
|
||||
// if resp, err = a.mgmtStatementLogic.ArtStatementList(in); err != nil {
|
||||
// return
|
||||
// }
|
||||
// resp.Msg = m.SUCCESS
|
||||
// return
|
||||
// }
|
||||
|
||||
//更新对账单状态
|
||||
func (a *MgmtStatementProvider) UpdateState(ctx context.Context, in *mgmtStatement.UpdateStatementreq) (resp *mgmtStatement.UpdateStatementres, err error) {
|
||||
resp = &mgmtStatement.UpdateStatementres{}
|
||||
if err = a.mgmtStatementLogic.UpdateState(in); err != nil {
|
||||
return
|
||||
}
|
||||
resp.Msg = m.UPDATE_SUCCESS
|
||||
return
|
||||
}
|
||||
// // 更新对账单状态
|
||||
// func (a *MgmtStatementProvider) UpdateState(ctx context.Context, in *mgmtStatement.UpdateStatementreq) (resp *mgmtStatement.UpdateStatementres, err error) {
|
||||
// resp = &mgmtStatement.UpdateStatementres{}
|
||||
// if err = a.mgmtStatementLogic.UpdateState(in); err != nil {
|
||||
// return
|
||||
// }
|
||||
// resp.Msg = m.UPDATE_SUCCESS
|
||||
// return
|
||||
// }
|
||||
|
||||
//导出合同
|
||||
func (a *MgmtStatementProvider) ExportContract(ctx context.Context, in *mgmtStatement.ExportContractreq) (resp *mgmtStatement.ExportContractres, err error) {
|
||||
resp = &mgmtStatement.ExportContractres{}
|
||||
err = nil
|
||||
if resp, err = a.mgmtStatementLogic.ExportContract(in); err != nil {
|
||||
return
|
||||
}
|
||||
return
|
||||
}
|
||||
// // 导出合同
|
||||
// func (a *MgmtStatementProvider) ExportContract(ctx context.Context, in *mgmtStatement.ExportContractreq) (resp *mgmtStatement.ExportContractres, err error) {
|
||||
// resp = &mgmtStatement.ExportContractres{}
|
||||
// err = nil
|
||||
// if resp, err = a.mgmtStatementLogic.ExportContract(in); err != nil {
|
||||
// return
|
||||
// }
|
||||
// return
|
||||
// }
|
||||
|
||||
//生成管理系统合同
|
||||
func (a *MgmtStatementProvider) CreateTxContract(ctx context.Context, in *mgmtStatement.CreateTxContractreq) (resp *mgmtStatement.CreateTxContractres, err error) {
|
||||
resp = &mgmtStatement.CreateTxContractres{}
|
||||
err = nil
|
||||
if resp, err = a.mgmtStatementLogic.CreateTxContract(in); err != nil {
|
||||
return
|
||||
}
|
||||
return
|
||||
}
|
||||
// // 生成管理系统合同
|
||||
// func (a *MgmtStatementProvider) CreateTxContract(ctx context.Context, in *mgmtStatement.CreateTxContractreq) (resp *mgmtStatement.CreateTxContractres, err error) {
|
||||
// resp = &mgmtStatement.CreateTxContractres{}
|
||||
// err = nil
|
||||
// if resp, err = a.mgmtStatementLogic.CreateTxContract(in); err != nil {
|
||||
// return
|
||||
// }
|
||||
// return
|
||||
// }
|
||||
|
@ -13,6 +13,70 @@ type ArtistInfoStatementProvider struct {
|
||||
statementLogic *logic.Statement
|
||||
}
|
||||
|
||||
func (c *ArtistInfoStatementProvider) UploadExcelOneTx(ctx context.Context, req *statement.UploadExcelOneTxRequest) (rep *statement.UploadExcelOneTxRespond, err error) {
|
||||
fmt.Println("第一处")
|
||||
if rep, err = c.statementLogic.UploadExcelOneTx(req); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
return rep, nil
|
||||
}
|
||||
|
||||
func (c *ArtistInfoStatementProvider) UploadExcelTwoTx(ctx context.Context, req *statement.UploadExcelTwoTxRequest) (rep *statement.UploadExcelTwoTxRespond, err error) {
|
||||
fmt.Println("第一处")
|
||||
if rep, err = c.statementLogic.UploadExcelTwoTx(req); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
return rep, nil
|
||||
}
|
||||
|
||||
func (c *ArtistInfoStatementProvider) UploadExcelOneCopy(ctx context.Context, req *statement.UploadExcelOneCopyRequest) (rep *statement.UploadExcelOneCopyRespond, err error) {
|
||||
fmt.Println("第一处")
|
||||
if rep, err = c.statementLogic.UploadExcelOneCopy(req); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
return rep, nil
|
||||
}
|
||||
|
||||
func (c *ArtistInfoStatementProvider) UploadExcelTwoCopy(ctx context.Context, req *statement.UploadExcelTwoCopyRequest) (rep *statement.UploadExcelTwoCopyRespond, err error) {
|
||||
fmt.Println("第一处")
|
||||
if rep, err = c.statementLogic.UploadExcelTwoCopy(req); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
return rep, nil
|
||||
}
|
||||
|
||||
func (c *ArtistInfoStatementProvider) GetAllBatchTimeTx(ctx context.Context, req *statement.GetAllBatchTimeTxRequest) (rep *statement.GetAllBatchTimeTxRespond, err error) {
|
||||
fmt.Println("第一处")
|
||||
if rep, err = c.statementLogic.GetAllBatchTimeTx(req); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
return rep, nil
|
||||
}
|
||||
|
||||
func (c *ArtistInfoStatementProvider) GetAllBatchTimeCopy(ctx context.Context, req *statement.GetAllBatchTimeCopyRequest) (rep *statement.GetAllBatchTimeCopyRespond, err error) {
|
||||
fmt.Println("第一处")
|
||||
if rep, err = c.statementLogic.GetAllBatchTimeCopy(req); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
return rep, nil
|
||||
}
|
||||
|
||||
func (c *ArtistInfoStatementProvider) GetArtworkSoldTxDetailList(ctx context.Context, req *statement.GetArtworkSoldTxDetailListRequest) (rep *statement.GetArtworkSoldTxDetailListRespond, err error) {
|
||||
fmt.Println("第一处")
|
||||
if rep, err = c.statementLogic.GetArtworkSoldTxDetailList(req); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
return rep, nil
|
||||
}
|
||||
|
||||
func (c *ArtistInfoStatementProvider) GetArtworkSoldCopyDetailList(ctx context.Context, req *statement.GetArtworkSoldCopyDetailListRequest) (rep *statement.GetArtworkSoldCopyDetailListRespond, err error) {
|
||||
fmt.Println("第一处")
|
||||
if rep, err = c.statementLogic.GetArtworkSoldCopyDetailList(req); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
return rep, nil
|
||||
}
|
||||
|
||||
func (c *ArtistInfoStatementProvider) StatementList(ctx context.Context, req *statement.StatementListRequest) (rep *statement.StatementListRespond, err error) {
|
||||
fmt.Println("第一处")
|
||||
if rep, err = c.statementLogic.StatementList(req); err != nil {
|
||||
|
@ -95,6 +95,46 @@ func CreateArtworkContract(tx *gorm.DB, artworkUid []string, artistUid string, c
|
||||
return
|
||||
}
|
||||
|
||||
func StatementContractNo(artistUid, batchUid string) (err error) {
|
||||
//画作有合同类型是2,6的都是 点击过"著作权代理转让服务合同"的
|
||||
var contract model.Contract
|
||||
if err = db.DB.Where("artist_uid = ? AND batch_uid = ?", artistUid, batchUid).First(&contract).Error; err != nil && err != gorm.ErrRecordNotFound {
|
||||
zap.L().Error("get contract info err", zap.Error(err))
|
||||
err = errors.New(m.ERROR_SELECT)
|
||||
return
|
||||
}
|
||||
|
||||
//err 为空则查询到,返回画作合同已存在的错误
|
||||
if err == nil {
|
||||
err = errors.New(m.ARTWORK_CONTRACT_EXISTS)
|
||||
}
|
||||
|
||||
return
|
||||
}
|
||||
|
||||
func CreateStatementContract(tx *gorm.DB, artistUid, batchUid, batchTime string, contractType int32) (err error) {
|
||||
var uid uuid.UUID
|
||||
if uid, err = uuid.NewV4(); err != nil {
|
||||
err = errors.New(m.ERROR_UID)
|
||||
return
|
||||
}
|
||||
|
||||
contract := &model.Contract{
|
||||
Uid: uid.String(),
|
||||
ArtistUid: artistUid,
|
||||
Type: contractType,
|
||||
BatchTime: batchTime,
|
||||
BatchUid: batchUid,
|
||||
}
|
||||
if err = tx.Create(contract).Error; err != nil {
|
||||
zap.L().Error("create contract err", zap.Error(err))
|
||||
err = errors.New(m.CREATE_ERROR)
|
||||
return
|
||||
}
|
||||
|
||||
return
|
||||
}
|
||||
|
||||
func GetArtistNoByUid(artistUid string) (err error) {
|
||||
var user model.User
|
||||
if err = db.DB.Where("mgmt_artist_uid = ?", artistUid).First(&user).Error; err != nil {
|
||||
@ -286,6 +326,15 @@ func ContractTxList(uid string, state int32) (contracts []model.Contract, err er
|
||||
|
||||
}
|
||||
|
||||
func GetContractUrlTx(batchUid string) (contract model.Contract, err error) {
|
||||
if err = db.DB.Where("batch_uid = ?", batchUid).First(&contract).Error; err != nil {
|
||||
zap.L().Error("get contract info err", zap.Error(err))
|
||||
err = errors.New(m.ERROR_SELECT)
|
||||
return
|
||||
}
|
||||
return
|
||||
}
|
||||
|
||||
// func UpdateArtworkState(tx *gorm.DB, id int32) (err error) { //无用
|
||||
// var artworkState model.ArtworkState
|
||||
// if err = tx.Where("artwork_id = ? and state = ? ", id, 7).First(&artworkState).Error; err != nil {
|
||||
|
@ -10,7 +10,7 @@ import (
|
||||
"go.uber.org/zap"
|
||||
)
|
||||
|
||||
//通过excel获得批次数据到数据库
|
||||
// 通过excel获得批次数据到数据库
|
||||
func AddBatchDetail(batch *model.ArtworkTx) (err error) {
|
||||
tx := db.DB.Begin()
|
||||
if tx.Error != nil {
|
||||
@ -27,7 +27,7 @@ func AddBatchDetail(batch *model.ArtworkTx) (err error) {
|
||||
return
|
||||
}
|
||||
|
||||
//通过excel获得数据创建数据到数据库(附件一)
|
||||
// 通过excel获得数据创建数据到数据库(附件一)
|
||||
func UploadExcelOne(statement *model.ArtworkSoldTxDetail) (err error) {
|
||||
tx := db.DB.Begin()
|
||||
if tx.Error != nil {
|
||||
@ -44,7 +44,7 @@ func UploadExcelOne(statement *model.ArtworkSoldTxDetail) (err error) {
|
||||
return
|
||||
}
|
||||
|
||||
//通过excel获得数据创建数据到数据库(附件二)
|
||||
// 通过excel获得数据创建数据到数据库(附件二)
|
||||
func UploadExcelTwo(statement *model.ArtworkSoldTxDetail) (err error) {
|
||||
tx := db.DB.Begin()
|
||||
if tx.Error != nil {
|
||||
@ -61,7 +61,7 @@ func UploadExcelTwo(statement *model.ArtworkSoldTxDetail) (err error) {
|
||||
return
|
||||
}
|
||||
|
||||
//画家对账单列表
|
||||
// 画家对账单列表
|
||||
func ArtistStatementList(in *mgmtStatement.ArtistStatementListreq) (statement []*model.ArtworkSoldTxDetail, count int64, err error) {
|
||||
offset := (in.Page - 1) * in.PageSize
|
||||
db := db.DB.Model(&statement).Select("artist_uid, artist_name, batch_time, view_url, download_url").Where("st_type = ?", in.StType)
|
||||
@ -81,7 +81,7 @@ func ArtistStatementList(in *mgmtStatement.ArtistStatementListreq) (statement []
|
||||
return
|
||||
}
|
||||
|
||||
//画作基于批次和画家的对账单列表
|
||||
// 画作基于批次和画家的对账单列表
|
||||
func ArtStatementList(in *mgmtStatement.ArtStatementListreq) (statement []*model.ArtworkSoldTxDetail, count int64, err error) {
|
||||
offset := (in.Page - 1) * in.PageSize
|
||||
db := db.DB.Model(&statement).Table("").Select("artwork_name, tf_num, ruler, sale_no, min_price").Where("st_type = ?", in.StType)
|
||||
@ -101,7 +101,7 @@ func ArtStatementList(in *mgmtStatement.ArtStatementListreq) (statement []*model
|
||||
return
|
||||
}
|
||||
|
||||
//更新对账单状态
|
||||
// 更新对账单状态
|
||||
func UpdateState(StatementUid string, columns map[string]interface{}) (err error) {
|
||||
if err = db.DB.Model(&model.ArtworkSoldTxDetail{}).Where("StatementUid = ? ", StatementUid).Updates(columns).Error; err != nil {
|
||||
err = errors.New(m.ERROR_UPDATE_STATEMENT)
|
||||
@ -109,7 +109,7 @@ func UpdateState(StatementUid string, columns map[string]interface{}) (err error
|
||||
return
|
||||
}
|
||||
|
||||
//导出合同
|
||||
// 导出合同
|
||||
func ExportContract(in *mgmtStatement.ExportContractreq) (data []*model.Contract, count int64, err error) {
|
||||
offset := (in.Page - 1) * in.PageSize
|
||||
db := db.DB.Model(&data).Select("artist_uid, view_url, download_url, batch_time").Where("st_type = ?", in.StType)
|
||||
@ -129,7 +129,7 @@ func ExportContract(in *mgmtStatement.ExportContractreq) (data []*model.Contract
|
||||
return
|
||||
}
|
||||
|
||||
//生成合同
|
||||
// 生成合同
|
||||
func CreateTxContract(contract *model.Contract) (err error) {
|
||||
tx := db.DB.Begin()
|
||||
if tx.Error != nil {
|
||||
|
@ -8,12 +8,224 @@ import (
|
||||
db "github.com/fonchain/fonchain-artistinfo/pkg/db"
|
||||
"github.com/fonchain/fonchain-artistinfo/pkg/m"
|
||||
"go.uber.org/zap"
|
||||
"gorm.io/gorm"
|
||||
)
|
||||
|
||||
func IsExistArtworkTx(batchTime, artistUid string) (exist bool, artworkTx *model.ArtworkTx, err error) {
|
||||
|
||||
if err = db.DB.Where("batch_time = ? AND artist_uid = ?", batchTime, artistUid).First(&artworkTx).Error; err != nil {
|
||||
if err == gorm.ErrRecordNotFound {
|
||||
return true, nil, nil
|
||||
} else {
|
||||
zap.L().Error("get artworkTx info err", zap.Error(err))
|
||||
err = errors.New(m.ERROR_SELECT)
|
||||
return
|
||||
}
|
||||
}
|
||||
|
||||
return
|
||||
}
|
||||
|
||||
func IsExistArtworkCopy(batchTime, artistUid string) (exist bool, artworkCopy *model.ArtworkCopy, err error) {
|
||||
|
||||
if err = db.DB.Where("batch_time = ? AND artist_uid = ?", batchTime, artistUid).First(&artworkCopy).Error; err != nil {
|
||||
if err == gorm.ErrRecordNotFound {
|
||||
return true, nil, nil
|
||||
} else {
|
||||
zap.L().Error("get artworkCopy info err", zap.Error(err))
|
||||
err = errors.New(m.ERROR_SELECT)
|
||||
return
|
||||
}
|
||||
}
|
||||
|
||||
return
|
||||
}
|
||||
|
||||
func CreateArtworkTx(tx *gorm.DB, uid, batchTime, artistUid, asrtistName string) (err error) {
|
||||
artworkTx := &model.ArtworkTx{
|
||||
Uid: uid,
|
||||
ArtistUid: artistUid,
|
||||
ArtistName: asrtistName,
|
||||
BatchTime: batchTime,
|
||||
}
|
||||
|
||||
if err = tx.Create(&artworkTx).Error; err != nil {
|
||||
zap.L().Error("create artworkTx err", zap.Error(err))
|
||||
err = errors.New(m.CREATE_ERROR)
|
||||
return
|
||||
}
|
||||
|
||||
return
|
||||
}
|
||||
|
||||
func CreateArtworkCopy(tx *gorm.DB, uid, batchTime, artistUid, asrtistName string) (err error) {
|
||||
artworkCopy := &model.ArtworkCopy{
|
||||
Uid: uid,
|
||||
ArtistUid: artistUid,
|
||||
ArtistName: asrtistName,
|
||||
BatchTime: batchTime,
|
||||
}
|
||||
|
||||
if err = tx.Create(&artworkCopy).Error; err != nil {
|
||||
zap.L().Error("create artworkCopy err", zap.Error(err))
|
||||
err = errors.New(m.CREATE_ERROR)
|
||||
return
|
||||
}
|
||||
|
||||
return
|
||||
}
|
||||
|
||||
func CreateArtworkTxDetail(tx *gorm.DB, uid1, uid2 string, excelOneInfo *statement.ExcelOneInfo) (err error) {
|
||||
artworkTxDetail := &model.ArtworkTxDetail{
|
||||
Uid: uid2,
|
||||
BatchUid: uid1,
|
||||
TfNum: excelOneInfo.TfNum,
|
||||
ArtworkName: excelOneInfo.ArtistName,
|
||||
Ruler: excelOneInfo.Ruler,
|
||||
MinPrice: excelOneInfo.MinPrice,
|
||||
GuaranteePrice: excelOneInfo.GuaranteePrice,
|
||||
}
|
||||
|
||||
if err = tx.Create(&artworkTxDetail).Error; err != nil {
|
||||
zap.L().Error("create artworkTxDetail err", zap.Error(err))
|
||||
err = errors.New(m.CREATE_ERROR)
|
||||
return
|
||||
}
|
||||
|
||||
return
|
||||
}
|
||||
|
||||
func CreateArtworkCopyDetail(tx *gorm.DB, uid1, uid2 string, excelOneInfo *statement.ExcelOneInfo) (err error) {
|
||||
artworkCopyDetail := &model.ArtworkCopyDetail{
|
||||
Uid: uid2,
|
||||
BatchUid: uid1,
|
||||
TfNum: excelOneInfo.TfNum,
|
||||
ArtworkName: excelOneInfo.ArtistName,
|
||||
Ruler: excelOneInfo.Ruler,
|
||||
MinPrice: excelOneInfo.MinPrice,
|
||||
GuaranteePrice: excelOneInfo.GuaranteePrice,
|
||||
}
|
||||
|
||||
if err = tx.Create(&artworkCopyDetail).Error; err != nil {
|
||||
zap.L().Error("create artworkCopyDetail err", zap.Error(err))
|
||||
err = errors.New(m.CREATE_ERROR)
|
||||
return
|
||||
}
|
||||
|
||||
return
|
||||
}
|
||||
|
||||
func CreateArtworkSoldTxDetail(tx *gorm.DB, uid1, uid2 string, excelTwoInfo *statement.ExcelTwoInfo) (err error) {
|
||||
artworkSoldTxDetail := &model.ArtworkSoldTxDetail{
|
||||
Uid: uid2,
|
||||
BatchUid: uid1, //批次uid
|
||||
TfNum: excelTwoInfo.TfNum,
|
||||
ArtworkName: excelTwoInfo.ArtistName,
|
||||
Ruler: excelTwoInfo.Ruler,
|
||||
SaleNo: excelTwoInfo.SaleNo,
|
||||
CompleteDate: excelTwoInfo.CompleteDate,
|
||||
SalePrice: excelTwoInfo.SalePrice,
|
||||
}
|
||||
|
||||
if err = tx.Create(&artworkSoldTxDetail).Error; err != nil {
|
||||
zap.L().Error("create artworkSoldTxDetail err", zap.Error(err))
|
||||
err = errors.New(m.CREATE_ERROR)
|
||||
return
|
||||
}
|
||||
|
||||
return
|
||||
}
|
||||
|
||||
func CreateArtworkSoldCopyDetail(tx *gorm.DB, uid1, uid2 string, excelTwoInfo *statement.ExcelTwoInfo) (err error) {
|
||||
artworkSoldCopyDetail := &model.ArtworkSoldCopyDetail{
|
||||
Uid: uid2,
|
||||
BatchUid: uid1, //批次uid
|
||||
TfNum: excelTwoInfo.TfNum,
|
||||
ArtworkName: excelTwoInfo.ArtistName,
|
||||
Ruler: excelTwoInfo.Ruler,
|
||||
SaleNo: excelTwoInfo.SaleNo,
|
||||
CompleteDate: excelTwoInfo.CompleteDate,
|
||||
SalePrice: excelTwoInfo.SalePrice,
|
||||
}
|
||||
|
||||
if err = tx.Create(&artworkSoldCopyDetail).Error; err != nil {
|
||||
zap.L().Error("create artworkSoldCopyDetail err", zap.Error(err))
|
||||
err = errors.New(m.CREATE_ERROR)
|
||||
return
|
||||
}
|
||||
|
||||
return
|
||||
}
|
||||
|
||||
func GetAllBatchTimeTx() (batchTime []string, err error) {
|
||||
if err = db.DB.Where("DISTINCT batch_time").Find(&model.ArtworkTx{}).Pluck("batch_time", &batchTime).Error; err != nil {
|
||||
zap.L().Error("get artworkTxList info err", zap.Error(err))
|
||||
err = errors.New(m.ERROR_SELECT)
|
||||
return
|
||||
}
|
||||
return
|
||||
}
|
||||
|
||||
func GetAllBatchTimeCopy() (batchTime []string, err error) {
|
||||
if err = db.DB.Where("DISTINCT batch_time").Find(&model.ArtworkCopy{}).Pluck("batch_time", &batchTime).Error; err != nil {
|
||||
zap.L().Error("get artworkTxList info err", zap.Error(err))
|
||||
err = errors.New(m.ERROR_SELECT)
|
||||
return
|
||||
}
|
||||
return
|
||||
}
|
||||
|
||||
func GetArtworkTxList(query *gorm.DB, num, offset int32) (artworkTxList []model.ArtworkTx, err error) {
|
||||
if err = query.Model(&artworkTxList).Order("ID asc").Limit(int(num)).Offset(int(offset)).Error; err != nil {
|
||||
zap.L().Error("get artworkTxList info err", zap.Error(err))
|
||||
err = errors.New(m.ERROR_SELECT)
|
||||
return
|
||||
}
|
||||
return
|
||||
}
|
||||
|
||||
func GetArtworkCopyList(query *gorm.DB, num, offset int32) (artworkCopyList []model.ArtworkCopy, err error) {
|
||||
if err = query.Model(&artworkCopyList).Order("ID asc").Limit(int(num)).Offset(int(offset)).Error; err != nil {
|
||||
zap.L().Error("get artworkCopyList info err", zap.Error(err))
|
||||
err = errors.New(m.ERROR_SELECT)
|
||||
return
|
||||
}
|
||||
return
|
||||
}
|
||||
|
||||
func GetArtworkSoldTxDetailList(batchUid string) (artworkSoldTxDetail []model.ArtworkSoldTxDetail, err error) {
|
||||
if err = db.DB.Where("batch_uid = ?", batchUid).Find(&artworkSoldTxDetail).Error; err != nil {
|
||||
zap.L().Error("get artworkSoldTxDetail info err", zap.Error(err))
|
||||
err = errors.New(m.ERROR_SELECT)
|
||||
return
|
||||
}
|
||||
return
|
||||
}
|
||||
|
||||
func UpdateArtworkTxStatus(tx *gorm.DB, batchUid string, state int32) (err error) {
|
||||
if err = tx.Model(&model.ArtworkTx{}).Where("uid = ?", batchUid).Update("state", 2).Error; err != nil {
|
||||
zap.L().Error("update artworkTx info err", zap.Error(err))
|
||||
err = errors.New(m.UPDATE_FAILED)
|
||||
return
|
||||
}
|
||||
|
||||
return
|
||||
}
|
||||
|
||||
func UpdateArtworkCopyStatus(tx *gorm.DB, batchUid string, state int32) (err error) {
|
||||
if err = tx.Model(&model.ArtworkCopy{}).Where("uid = ?", batchUid).Update("state", 2).Error; err != nil {
|
||||
zap.L().Error("update artworkCopy info err", zap.Error(err))
|
||||
err = errors.New(m.UPDATE_FAILED)
|
||||
return
|
||||
}
|
||||
|
||||
return
|
||||
}
|
||||
|
||||
func StatementList(artistUid string, state int32) (contractData []*statement.Contracts, err error) {
|
||||
|
||||
var contracts []model.Contract
|
||||
if err = db.DB.Where("artist_uid = ? AND state = ?", artistUid, state).Where("type == 4 OR type == 7").Find(&contracts).Error; err != nil {
|
||||
if err = db.DB.Where("artist_uid = ? AND state = ? AND (type == 4 OR type == 7)", artistUid, state).Find(&contracts).Error; err != nil {
|
||||
zap.L().Error("get contracts info err", zap.Error(err))
|
||||
err = errors.New(m.ERROR_SELECT)
|
||||
return
|
||||
|
@ -78,7 +78,6 @@ func (a *Contract) CreateContract(req *contract.CreateContractRequest) (rep *con
|
||||
return
|
||||
}
|
||||
} else {
|
||||
fmt.Println("第一处112")
|
||||
return
|
||||
}
|
||||
|
||||
@ -128,6 +127,26 @@ func (a *Contract) CreateContract(req *contract.CreateContractRequest) (rep *con
|
||||
}
|
||||
}
|
||||
|
||||
//这里是对账单的物权合同!!!注意!!!
|
||||
case 4:
|
||||
//查看画家该批次是否已经有了合同,没有继续
|
||||
if err = dao.StatementContractNo(req.ArtistUid, req.BatchUid); err == gorm.ErrRecordNotFound {
|
||||
} else {
|
||||
return
|
||||
}
|
||||
|
||||
//创建物权合同,类型4
|
||||
if err = dao.CreateStatementContract(tx, req.ArtistUid, req.BatchUid, req.BatchTime, 4); err != nil {
|
||||
tx.Rollback()
|
||||
return
|
||||
}
|
||||
|
||||
//修改对账单,将State状态值改为2
|
||||
if err = dao.UpdateArtworkTxStatus(tx, req.BatchUid, 2); err != nil {
|
||||
tx.Rollback()
|
||||
return
|
||||
}
|
||||
|
||||
case 5:
|
||||
for _, v := range req.ArtworkUid {
|
||||
//查看画作合同是否已经存在,不存在继续,类型5
|
||||
@ -146,6 +165,25 @@ func (a *Contract) CreateContract(req *contract.CreateContractRequest) (rep *con
|
||||
}
|
||||
}
|
||||
|
||||
//这里是对账单的物权合同!!!注意!!!
|
||||
case 7:
|
||||
//查看画家该批次是否已经有了合同,没有继续
|
||||
if err = dao.StatementContractNo(req.ArtistUid, req.BatchUid); err == gorm.ErrRecordNotFound {
|
||||
} else {
|
||||
return
|
||||
}
|
||||
|
||||
//创建物权合同,类型4
|
||||
if err = dao.CreateStatementContract(tx, req.ArtistUid, req.BatchUid, req.BatchTime, 7); err != nil {
|
||||
tx.Rollback()
|
||||
return
|
||||
}
|
||||
|
||||
//修改对账单,将State状态值改为2
|
||||
if err = dao.UpdateArtworkCopyStatus(tx, req.BatchUid, 2); err != nil {
|
||||
tx.Rollback()
|
||||
return
|
||||
}
|
||||
default:
|
||||
err = errors.New("type值出错!")
|
||||
return rep, err
|
||||
@ -271,7 +309,6 @@ func (a *Contract) GetContractInfoByContractUid(req *contract.GetContractInfoByC
|
||||
SignTime: contractInfo.SignTime,
|
||||
BatchTime: contractInfo.BatchTime,
|
||||
BatchUid: contractInfo.BatchUid,
|
||||
StType: contractInfo.StType,
|
||||
}
|
||||
|
||||
rep.Data = contract
|
||||
|
@ -1,260 +1,258 @@
|
||||
package logic
|
||||
|
||||
import (
|
||||
"errors"
|
||||
// import (
|
||||
// "errors"
|
||||
|
||||
"github.com/fonchain/fonchain-artistinfo/cmd/internal/dao"
|
||||
"github.com/fonchain/fonchain-artistinfo/cmd/model"
|
||||
"github.com/fonchain/fonchain-artistinfo/pb/mgmtStatement"
|
||||
db "github.com/fonchain/fonchain-artistinfo/pkg/db"
|
||||
"github.com/fonchain/fonchain-artistinfo/pkg/m"
|
||||
uuid "github.com/satori/go.uuid"
|
||||
)
|
||||
// "github.com/fonchain/fonchain-artistinfo/cmd/internal/dao"
|
||||
// "github.com/fonchain/fonchain-artistinfo/cmd/model"
|
||||
// "github.com/fonchain/fonchain-artistinfo/pb/mgmtStatement"
|
||||
// db "github.com/fonchain/fonchain-artistinfo/pkg/db"
|
||||
// "github.com/fonchain/fonchain-artistinfo/pkg/m"
|
||||
// uuid "github.com/satori/go.uuid"
|
||||
// )
|
||||
|
||||
type IMgmtStatement interface {
|
||||
AddBatchDetail(in *mgmtStatement.AddBatchDetailreq) (*mgmtStatement.AddBatchDetailres, error)
|
||||
UploadExcelOne(in *mgmtStatement.UploadExcelOnereq) (*mgmtStatement.UploadExcelOneres, error)
|
||||
UploadExcelTwo(in *mgmtStatement.UploadExcelTworeq) (*mgmtStatement.UploadExcelTwores, error)
|
||||
ArtistStatementList(in *mgmtStatement.ArtistStatementListreq) (*mgmtStatement.ArtistStatementListres, error)
|
||||
ArtStatementList(in *mgmtStatement.ArtStatementListreq) (*mgmtStatement.ArtStatementListres, error)
|
||||
ExportContract(in *mgmtStatement.ExportContractreq) (*mgmtStatement.ExportContractres, error)
|
||||
UpdateState(in *mgmtStatement.UpdateStatementreq) error
|
||||
CreateTxContract(in *mgmtStatement.CreateTxContractreq) (resp *mgmtStatement.CreateTxContractres, err error)
|
||||
}
|
||||
// type IMgmtStatement interface {
|
||||
// AddBatchDetail(in *mgmtStatement.AddBatchDetailreq) (*mgmtStatement.AddBatchDetailres, error)
|
||||
// UploadExcelOne(in *mgmtStatement.UploadExcelOnereq) (*mgmtStatement.UploadExcelOneres, error)
|
||||
// UploadExcelTwo(in *mgmtStatement.UploadExcelTworeq) (*mgmtStatement.UploadExcelTwores, error)
|
||||
// ArtistStatementList(in *mgmtStatement.ArtistStatementListreq) (*mgmtStatement.ArtistStatementListres, error)
|
||||
// ArtStatementList(in *mgmtStatement.ArtStatementListreq) (*mgmtStatement.ArtStatementListres, error)
|
||||
// ExportContract(in *mgmtStatement.ExportContractreq) (*mgmtStatement.ExportContractres, error)
|
||||
// UpdateState(in *mgmtStatement.UpdateStatementreq) error
|
||||
// CreateTxContract(in *mgmtStatement.CreateTxContractreq) (resp *mgmtStatement.CreateTxContractres, err error)
|
||||
// }
|
||||
|
||||
func NewMgmtStatement() IMgmtStatement {
|
||||
return &MgmtStatement{}
|
||||
}
|
||||
// func NewMgmtStatement() IMgmtStatement {
|
||||
// return &MgmtStatement{}
|
||||
// }
|
||||
|
||||
type MgmtStatement struct{}
|
||||
// type MgmtStatement struct{}
|
||||
|
||||
//通过excel生成一条批次数据
|
||||
func (a *MgmtStatement) AddBatchDetail(in *mgmtStatement.AddBatchDetailreq) (resp *mgmtStatement.AddBatchDetailres, err error) {
|
||||
resp = &mgmtStatement.AddBatchDetailres{}
|
||||
var uid uuid.UUID
|
||||
if uid, err = uuid.NewV4(); err != nil {
|
||||
err = errors.New(m.ERROR_UID)
|
||||
return
|
||||
}
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
var data model.ArtworkTx
|
||||
data.Uid = uid.String()
|
||||
data.ArtistName = in.ArtistName
|
||||
data.ArtistUid = in.ArtistUid
|
||||
data.BatchTime = in.BatchTime
|
||||
data.StType = in.StType //对账单类型:1=版权 2=物权
|
||||
data.Status = 1 //对账单状态 1.未签署 2.已发送未签署 3.已签署
|
||||
if err = dao.AddBatchDetail(&data); err != nil {
|
||||
return
|
||||
}
|
||||
respData := &mgmtStatement.AddBatchRes{BatchUid: data.Uid}
|
||||
resp.Data = respData
|
||||
return
|
||||
}
|
||||
// // 通过excel生成一条批次数据
|
||||
// func (a *MgmtStatement) AddBatchDetail(in *mgmtStatement.AddBatchDetailreq) (resp *mgmtStatement.AddBatchDetailres, err error) {
|
||||
// resp = &mgmtStatement.AddBatchDetailres{}
|
||||
// var uid uuid.UUID
|
||||
// if uid, err = uuid.NewV4(); err != nil {
|
||||
// err = errors.New(m.ERROR_UID)
|
||||
// return
|
||||
// }
|
||||
// if err != nil {
|
||||
// return nil, err
|
||||
// }
|
||||
// var data model.ArtworkTx
|
||||
// data.Uid = uid.String()
|
||||
// data.ArtistName = in.ArtistName
|
||||
// data.ArtistUid = in.ArtistUid
|
||||
// data.BatchTime = in.BatchTime
|
||||
// if err = dao.AddBatchDetail(&data); err != nil {
|
||||
// return
|
||||
// }
|
||||
// respData := &mgmtStatement.AddBatchRes{BatchUid: data.Uid}
|
||||
// resp.Data = respData
|
||||
// return
|
||||
// }
|
||||
|
||||
//生成一条对账单记录(附件一)
|
||||
func (a *MgmtStatement) UploadExcelOne(in *mgmtStatement.UploadExcelOnereq) (resp *mgmtStatement.UploadExcelOneres, err error) {
|
||||
resp = &mgmtStatement.UploadExcelOneres{}
|
||||
var uid uuid.UUID
|
||||
if uid, err = uuid.NewV4(); err != nil {
|
||||
err = errors.New(m.ERROR_UID)
|
||||
return
|
||||
}
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
var data model.ArtworkSoldTxDetail //物权版权的对账单
|
||||
// // 生成一条对账单记录(附件一)
|
||||
// func (a *MgmtStatement) UploadExcelOne(in *mgmtStatement.UploadExcelOnereq) (resp *mgmtStatement.UploadExcelOneres, err error) {
|
||||
// resp = &mgmtStatement.UploadExcelOneres{}
|
||||
// var uid uuid.UUID
|
||||
// if uid, err = uuid.NewV4(); err != nil {
|
||||
// err = errors.New(m.ERROR_UID)
|
||||
// return
|
||||
// }
|
||||
// if err != nil {
|
||||
// return nil, err
|
||||
// }
|
||||
// var data model.ArtworkSoldTxDetail //物权版权的对账单
|
||||
|
||||
sqlSelect := `select uid from artwork_tx where artistid = ? and batchtime = ?`
|
||||
var batchid string
|
||||
if err := db.DB.Raw(sqlSelect, data.ArtistUid, data.BatchTime).Find(&batchid).Error; err != nil {
|
||||
return nil, err
|
||||
}
|
||||
// sqlSelect := `select uid from artwork_tx where artistid = ? and batchtime = ?`
|
||||
// var batchid string
|
||||
// if err := db.DB.Raw(sqlSelect, data.ArtistUid, data.BatchTime).Find(&batchid).Error; err != nil {
|
||||
// return nil, err
|
||||
// }
|
||||
|
||||
data.Uid = uid.String()
|
||||
data.BatchUid = batchid
|
||||
data.ArtworkName = in.ArtworkName
|
||||
data.ArtistName = in.ArtistName
|
||||
data.ArtistUid = in.ArtistUid
|
||||
data.TfNum = in.TfNum
|
||||
data.BatchTime = in.BatchTime
|
||||
data.GuaranteePrice = in.GuaranteePrice
|
||||
data.Ruler = in.Ruler
|
||||
data.MinPrice = in.MinPrice
|
||||
data.StType = in.StType //对账单类型:1=版权 2=物权
|
||||
if err = dao.UploadExcelOne(&data); err != nil {
|
||||
return
|
||||
}
|
||||
respData := &mgmtStatement.StatementAddRes{StatementUid: data.Uid}
|
||||
resp.Data = respData
|
||||
return
|
||||
}
|
||||
// data.Uid = uid.String()
|
||||
// data.BatchUid = batchid
|
||||
// data.ArtworkName = in.ArtworkName
|
||||
// data.ArtistName = in.ArtistName
|
||||
// data.ArtistUid = in.ArtistUid
|
||||
// data.TfNum = in.TfNum
|
||||
// data.BatchTime = in.BatchTime
|
||||
// data.GuaranteePrice = in.GuaranteePrice
|
||||
// data.Ruler = in.Ruler
|
||||
// data.MinPrice = in.MinPrice
|
||||
// data.StType = in.StType //对账单类型:1=版权 2=物权
|
||||
// if err = dao.UploadExcelOne(&data); err != nil {
|
||||
// return
|
||||
// }
|
||||
// respData := &mgmtStatement.StatementAddRes{StatementUid: data.Uid}
|
||||
// resp.Data = respData
|
||||
// return
|
||||
// }
|
||||
|
||||
//生成一条对账单记录(附件二)
|
||||
func (a *MgmtStatement) UploadExcelTwo(in *mgmtStatement.UploadExcelTworeq) (resp *mgmtStatement.UploadExcelTwores, err error) {
|
||||
resp = &mgmtStatement.UploadExcelTwores{}
|
||||
var uid uuid.UUID
|
||||
if uid, err = uuid.NewV4(); err != nil {
|
||||
err = errors.New(m.ERROR_UID)
|
||||
return
|
||||
}
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
var data model.ArtworkSoldTxDetail //物权版权的对账单
|
||||
// // 生成一条对账单记录(附件二)
|
||||
// func (a *MgmtStatement) UploadExcelTwo(in *mgmtStatement.UploadExcelTworeq) (resp *mgmtStatement.UploadExcelTwores, err error) {
|
||||
// resp = &mgmtStatement.UploadExcelTwores{}
|
||||
// var uid uuid.UUID
|
||||
// if uid, err = uuid.NewV4(); err != nil {
|
||||
// err = errors.New(m.ERROR_UID)
|
||||
// return
|
||||
// }
|
||||
// if err != nil {
|
||||
// return nil, err
|
||||
// }
|
||||
// var data model.ArtworkSoldTxDetail //物权版权的对账单
|
||||
|
||||
sqlSelect := `select uid from artwork_tx_batch where artistid = ? and batchtime = ?`
|
||||
var batchid string
|
||||
if err := db.DB.Raw(sqlSelect, data.ArtistUid, data.BatchTime).Find(&batchid).Error; err != nil {
|
||||
return nil, err
|
||||
}
|
||||
// sqlSelect := `select uid from artwork_tx_batch where artistid = ? and batchtime = ?`
|
||||
// var batchid string
|
||||
// if err := db.DB.Raw(sqlSelect, data.ArtistUid, data.BatchTime).Find(&batchid).Error; err != nil {
|
||||
// return nil, err
|
||||
// }
|
||||
|
||||
data.Uid = uid.String()
|
||||
data.BatchUid = batchid
|
||||
data.ArtworkName = in.ArtworkName
|
||||
data.ArtistName = in.ArtistName
|
||||
data.ArtistUid = in.ArtistUid
|
||||
data.TfNum = in.TfNum
|
||||
data.BatchTime = in.BatchTime
|
||||
data.Ruler = in.Ruler
|
||||
data.MinPrice = in.MinPrice
|
||||
data.StType = in.StType //对账单类型:1=版权 2=物权
|
||||
if err = dao.UploadExcelTwo(&data); err != nil {
|
||||
return
|
||||
}
|
||||
respData := &mgmtStatement.StatementAddRes{StatementUid: data.Uid}
|
||||
resp.Data = respData
|
||||
return
|
||||
}
|
||||
// data.Uid = uid.String()
|
||||
// data.BatchUid = batchid
|
||||
// data.ArtworkName = in.ArtworkName
|
||||
// data.ArtistName = in.ArtistName
|
||||
// data.ArtistUid = in.ArtistUid
|
||||
// data.TfNum = in.TfNum
|
||||
// data.BatchTime = in.BatchTime
|
||||
// data.Ruler = in.Ruler
|
||||
// data.MinPrice = in.MinPrice
|
||||
// data.StType = in.StType //对账单类型:1=版权 2=物权
|
||||
// if err = dao.UploadExcelTwo(&data); err != nil {
|
||||
// return
|
||||
// }
|
||||
// respData := &mgmtStatement.StatementAddRes{StatementUid: data.Uid}
|
||||
// resp.Data = respData
|
||||
// return
|
||||
// }
|
||||
|
||||
//画家对账单列表
|
||||
func (a *MgmtStatement) ArtistStatementList(in *mgmtStatement.ArtistStatementListreq) (resp *mgmtStatement.ArtistStatementListres, err error) {
|
||||
resp = &mgmtStatement.ArtistStatementListres{}
|
||||
if in.Page < model.InitPage {
|
||||
in.Page = model.InitPage
|
||||
}
|
||||
if in.PageSize < 1 {
|
||||
in.PageSize = model.PageSize
|
||||
}
|
||||
var list []*model.ArtworkSoldTxDetail
|
||||
var count int64
|
||||
if list, count, err = dao.ArtistStatementList(in); err != nil {
|
||||
return
|
||||
}
|
||||
resp.Count = int32(count)
|
||||
resp.Page = in.Page
|
||||
resp.PageSize = in.PageSize
|
||||
for _, v := range list {
|
||||
temp := mgmtStatement.ArtistStatementListres_Info{}
|
||||
temp.ArtistName = v.ArtistName
|
||||
temp.ArtistUid = v.ArtistUid
|
||||
temp.BatchTime = v.BatchTime
|
||||
resp.Data = append(resp.Data, &temp)
|
||||
}
|
||||
return
|
||||
}
|
||||
// // 画家对账单列表
|
||||
// func (a *MgmtStatement) ArtistStatementList(in *mgmtStatement.ArtistStatementListreq) (resp *mgmtStatement.ArtistStatementListres, err error) {
|
||||
// resp = &mgmtStatement.ArtistStatementListres{}
|
||||
// if in.Page < model.InitPage {
|
||||
// in.Page = model.InitPage
|
||||
// }
|
||||
// if in.PageSize < 1 {
|
||||
// in.PageSize = model.PageSize
|
||||
// }
|
||||
// var list []*model.ArtworkSoldTxDetail
|
||||
// var count int64
|
||||
// if list, count, err = dao.ArtistStatementList(in); err != nil {
|
||||
// return
|
||||
// }
|
||||
// resp.Count = int32(count)
|
||||
// resp.Page = in.Page
|
||||
// resp.PageSize = in.PageSize
|
||||
// for _, v := range list {
|
||||
// temp := mgmtStatement.ArtistStatementListres_Info{}
|
||||
// temp.ArtistName = v.ArtistName
|
||||
// temp.ArtistUid = v.ArtistUid
|
||||
// temp.BatchTime = v.BatchTime
|
||||
// resp.Data = append(resp.Data, &temp)
|
||||
// }
|
||||
// return
|
||||
// }
|
||||
|
||||
//画作列表,根据画家和批次
|
||||
func (a *MgmtStatement) ArtStatementList(in *mgmtStatement.ArtStatementListreq) (resp *mgmtStatement.ArtStatementListres, err error) {
|
||||
resp = &mgmtStatement.ArtStatementListres{}
|
||||
if in.Page < model.InitPage {
|
||||
in.Page = model.InitPage
|
||||
}
|
||||
if in.PageSize < 1 {
|
||||
in.PageSize = model.PageSize
|
||||
}
|
||||
var list []*model.ArtworkSoldTxDetail
|
||||
var count int64
|
||||
if list, count, err = dao.ArtStatementList(in); err != nil {
|
||||
return
|
||||
}
|
||||
resp.Count = int32(count)
|
||||
resp.Page = in.Page
|
||||
resp.PageSize = in.PageSize
|
||||
for _, v := range list {
|
||||
temp := mgmtStatement.ArtStatementListres_Info{}
|
||||
temp.ArtistName = v.ArtworkName
|
||||
temp.ArtistUid = v.ArtistUid
|
||||
temp.ArtworkName = v.ArtworkName
|
||||
temp.Ruler = v.Ruler
|
||||
temp.SaleNo = v.SaleNo
|
||||
temp.TfNum = v.TfNum
|
||||
temp.CompleteDate = v.CompleteDate
|
||||
temp.MinPrice = v.MinPrice
|
||||
}
|
||||
return
|
||||
}
|
||||
// // 画作列表,根据画家和批次
|
||||
// func (a *MgmtStatement) ArtStatementList(in *mgmtStatement.ArtStatementListreq) (resp *mgmtStatement.ArtStatementListres, err error) {
|
||||
// resp = &mgmtStatement.ArtStatementListres{}
|
||||
// if in.Page < model.InitPage {
|
||||
// in.Page = model.InitPage
|
||||
// }
|
||||
// if in.PageSize < 1 {
|
||||
// in.PageSize = model.PageSize
|
||||
// }
|
||||
// var list []*model.ArtworkSoldTxDetail
|
||||
// var count int64
|
||||
// if list, count, err = dao.ArtStatementList(in); err != nil {
|
||||
// return
|
||||
// }
|
||||
// resp.Count = int32(count)
|
||||
// resp.Page = in.Page
|
||||
// resp.PageSize = in.PageSize
|
||||
// for _, v := range list {
|
||||
// temp := mgmtStatement.ArtStatementListres_Info{}
|
||||
// temp.ArtistName = v.ArtworkName
|
||||
// temp.ArtistUid = v.ArtistUid
|
||||
// temp.ArtworkName = v.ArtworkName
|
||||
// temp.Ruler = v.Ruler
|
||||
// temp.SaleNo = v.SaleNo
|
||||
// temp.TfNum = v.TfNum
|
||||
// temp.CompleteDate = v.CompleteDate
|
||||
// temp.MinPrice = v.MinPrice
|
||||
// }
|
||||
// return
|
||||
// }
|
||||
|
||||
//更新对账单状态
|
||||
func (a *MgmtStatement) UpdateState(in *mgmtStatement.UpdateStatementreq) (err error) {
|
||||
columns := map[string]interface{}{
|
||||
"status": in.Status, //状态
|
||||
}
|
||||
if err = dao.UpdateState(in.StatementUid, columns); err != nil {
|
||||
return
|
||||
}
|
||||
return
|
||||
}
|
||||
// // 更新对账单状态
|
||||
// func (a *MgmtStatement) UpdateState(in *mgmtStatement.UpdateStatementreq) (err error) {
|
||||
// columns := map[string]interface{}{
|
||||
// "status": in.Status, //状态
|
||||
// }
|
||||
// if err = dao.UpdateState(in.StatementUid, columns); err != nil {
|
||||
// return
|
||||
// }
|
||||
// return
|
||||
// }
|
||||
|
||||
//导出合同
|
||||
func (a *MgmtStatement) ExportContract(in *mgmtStatement.ExportContractreq) (resp *mgmtStatement.ExportContractres, err error) {
|
||||
resp = &mgmtStatement.ExportContractres{}
|
||||
if in.Page < model.InitPage {
|
||||
in.Page = model.InitPage
|
||||
}
|
||||
if in.PageSize < 1 {
|
||||
in.PageSize = model.PageSize
|
||||
}
|
||||
// // 导出合同
|
||||
// func (a *MgmtStatement) ExportContract(in *mgmtStatement.ExportContractreq) (resp *mgmtStatement.ExportContractres, err error) {
|
||||
// resp = &mgmtStatement.ExportContractres{}
|
||||
// if in.Page < model.InitPage {
|
||||
// in.Page = model.InitPage
|
||||
// }
|
||||
// if in.PageSize < 1 {
|
||||
// in.PageSize = model.PageSize
|
||||
// }
|
||||
|
||||
var list []*model.Contract
|
||||
var count int64
|
||||
if list, count, err = dao.ExportContract(in); err != nil {
|
||||
return
|
||||
}
|
||||
resp.Count = int32(count)
|
||||
for _, v := range list {
|
||||
temp := mgmtStatement.ExportContractres_Info{}
|
||||
temp.DownloadUrl = v.DownloadUrl
|
||||
temp.BatchTime = v.BatchTime
|
||||
temp.StType = v.StType
|
||||
temp.ViewUrl = v.ViewUrl
|
||||
temp.BatchUid = v.BatchUid
|
||||
temp.ArtistUid = v.ArtistUid
|
||||
resp.Data = append(resp.Data, &temp)
|
||||
}
|
||||
return
|
||||
}
|
||||
// var list []*model.Contract
|
||||
// var count int64
|
||||
// if list, count, err = dao.ExportContract(in); err != nil {
|
||||
// return
|
||||
// }
|
||||
// resp.Count = int32(count)
|
||||
// for _, v := range list {
|
||||
// temp := mgmtStatement.ExportContractres_Info{}
|
||||
// temp.DownloadUrl = v.DownloadUrl
|
||||
// temp.BatchTime = v.BatchTime
|
||||
// temp.StType = v.StType
|
||||
// temp.ViewUrl = v.ViewUrl
|
||||
// temp.BatchUid = v.BatchUid
|
||||
// temp.ArtistUid = v.ArtistUid
|
||||
// resp.Data = append(resp.Data, &temp)
|
||||
// }
|
||||
// return
|
||||
// }
|
||||
|
||||
//生成合同
|
||||
func (a *MgmtStatement) CreateTxContract(in *mgmtStatement.CreateTxContractreq) (resp *mgmtStatement.CreateTxContractres, err error) {
|
||||
resp = &mgmtStatement.CreateTxContractres{}
|
||||
// // 生成合同
|
||||
// func (a *MgmtStatement) CreateTxContract(in *mgmtStatement.CreateTxContractreq) (resp *mgmtStatement.CreateTxContractres, err error) {
|
||||
// resp = &mgmtStatement.CreateTxContractres{}
|
||||
|
||||
var uid uuid.UUID
|
||||
if uid, err = uuid.NewV4(); err != nil {
|
||||
err = errors.New(m.ERROR_UID)
|
||||
return
|
||||
}
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
// var uid uuid.UUID
|
||||
// if uid, err = uuid.NewV4(); err != nil {
|
||||
// err = errors.New(m.ERROR_UID)
|
||||
// return
|
||||
// }
|
||||
// if err != nil {
|
||||
// return nil, err
|
||||
// }
|
||||
|
||||
var data model.Contract
|
||||
data.Uid = uid.String()
|
||||
data.ArtistUid = in.ArtistUid
|
||||
data.BatchTime = in.BatchTime
|
||||
data.BatchUid = in.BatchUid
|
||||
data.ContractId = in.ContractId
|
||||
data.StType = in.StType
|
||||
data.Status = 1
|
||||
data.DownloadUrl = in.DownloadUrl
|
||||
data.ViewUrl = in.ViewUrl
|
||||
data.CardId = in.CardId
|
||||
if err = dao.CreateTxContract(&data); err != nil {
|
||||
return
|
||||
}
|
||||
respData := &mgmtStatement.AddContractRes{BatchUid: data.Uid}
|
||||
resp.Data = respData
|
||||
return
|
||||
}
|
||||
// var data model.Contract
|
||||
// data.Uid = uid.String()
|
||||
// data.ArtistUid = in.ArtistUid
|
||||
// data.BatchTime = in.BatchTime
|
||||
// data.BatchUid = in.BatchUid
|
||||
// data.ContractId = in.ContractId
|
||||
// data.StType = in.StType
|
||||
// data.Status = 1
|
||||
// data.DownloadUrl = in.DownloadUrl
|
||||
// data.ViewUrl = in.ViewUrl
|
||||
// data.CardId = in.CardId
|
||||
// if err = dao.CreateTxContract(&data); err != nil {
|
||||
// return
|
||||
// }
|
||||
// respData := &mgmtStatement.AddContractRes{BatchUid: data.Uid}
|
||||
// resp.Data = respData
|
||||
// return
|
||||
// }
|
||||
|
@ -3,9 +3,18 @@ package logic
|
||||
import (
|
||||
"github.com/fonchain/fonchain-artistinfo/cmd/internal/dao"
|
||||
statement "github.com/fonchain/fonchain-artistinfo/pb/artistinfoStatement"
|
||||
db "github.com/fonchain/fonchain-artistinfo/pkg/db"
|
||||
"github.com/fonchain/fonchain-artistinfo/pkg/util"
|
||||
"gorm.io/gorm"
|
||||
)
|
||||
|
||||
type IStatement interface {
|
||||
UploadExcelOneTx(req *statement.UploadExcelOneTxRequest) (rep *statement.UploadExcelOneTxRespond, err error)
|
||||
UploadExcelTwoTx(req *statement.UploadExcelTwoTxRequest) (rep *statement.UploadExcelTwoTxRespond, err error)
|
||||
UploadExcelOneCopy(req *statement.UploadExcelOneCopyRequest) (rep *statement.UploadExcelOneCopyRespond, err error)
|
||||
UploadExcelTwoCopy(req *statement.UploadExcelTwoCopyRequest) (rep *statement.UploadExcelTwoCopyRespond, err error)
|
||||
GetAllBatchTimeTx(req *statement.GetAllBatchTimeTxRequest) (rep *statement.GetAllBatchTimeTxRespond, err error)
|
||||
GetArtworkSoldTxDetailList(req *statement.GetArtworkSoldTxDetailListRequest) (rep *statement.GetArtworkSoldTxDetailListRespond, err error)
|
||||
StatementList(req *statement.StatementListRequest) (rep *statement.StatementListRespond, err error)
|
||||
GetTxInfoByBatchUid(req *statement.GetTxInfoByBatchUidRequest) (rep *statement.GetTxInfoByBatchUidRespond, err error)
|
||||
GetCopyInfoByBatchUid(req *statement.GetCopyInfoByBatchUidRequest) (rep *statement.GetCopyInfoByBatchUidRespond, err error)
|
||||
@ -18,6 +27,414 @@ func NewStatement() IStatement {
|
||||
type Statement struct {
|
||||
}
|
||||
|
||||
func (a *Statement) UploadExcelOneTx(req *statement.UploadExcelOneTxRequest) (rep *statement.UploadExcelOneTxRespond, err error) {
|
||||
rep = &statement.UploadExcelOneTxRespond{}
|
||||
//开启事务,遇到错误就回滚
|
||||
tx := db.DB.Begin()
|
||||
defer func() {
|
||||
if err != nil {
|
||||
tx.Rollback()
|
||||
} else {
|
||||
tx.Commit()
|
||||
}
|
||||
}()
|
||||
for _, v := range req.ExcelOneInfo {
|
||||
//查看是否已经被生成了批次,没有的就生成物权批次
|
||||
exist, artworkTx, err := dao.IsExistArtworkTx(v.BatchTime, v.ArtistUid)
|
||||
if err != nil {
|
||||
return rep, err
|
||||
}
|
||||
|
||||
if exist {
|
||||
//获取批次uid
|
||||
uid1, err := util.GetUid()
|
||||
if err != nil {
|
||||
return rep, err
|
||||
}
|
||||
//生成批次
|
||||
err = dao.CreateArtworkTx(tx, uid1, v.BatchTime, v.ArtistUid, v.ArtistName)
|
||||
if err != nil {
|
||||
return rep, err
|
||||
}
|
||||
|
||||
//对账单画作物权委托详情uid
|
||||
uid2, err := util.GetUid()
|
||||
if err != nil {
|
||||
return rep, err
|
||||
}
|
||||
//将数据插入对账单画作物权委托详情
|
||||
err = dao.CreateArtworkTxDetail(tx, uid1, uid2, v)
|
||||
if err != nil {
|
||||
return rep, err
|
||||
}
|
||||
} else {
|
||||
//获取批次uid
|
||||
uid, err := util.GetUid()
|
||||
if err != nil {
|
||||
return rep, err
|
||||
}
|
||||
err = dao.CreateArtworkTxDetail(tx, artworkTx.Uid, uid, v)
|
||||
if err != nil {
|
||||
return rep, err
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
return
|
||||
}
|
||||
|
||||
func (a *Statement) UploadExcelTwoTx(req *statement.UploadExcelTwoTxRequest) (rep *statement.UploadExcelTwoTxRespond, err error) {
|
||||
rep = &statement.UploadExcelTwoTxRespond{}
|
||||
//开启事务,遇到错误就回滚
|
||||
tx := db.DB.Begin()
|
||||
defer func() {
|
||||
if err != nil {
|
||||
tx.Rollback()
|
||||
} else {
|
||||
tx.Commit()
|
||||
}
|
||||
}()
|
||||
for _, v := range req.ExcelTwoInfo {
|
||||
//查看是否已经被生成了物权批次
|
||||
exist, artworkTx, err := dao.IsExistArtworkTx(v.BatchTime, v.ArtistUid)
|
||||
if err != nil {
|
||||
return rep, err
|
||||
}
|
||||
//没有的就生成物权批次
|
||||
if exist {
|
||||
//获取批次uid
|
||||
uid1, err := util.GetUid()
|
||||
if err != nil {
|
||||
return rep, err
|
||||
}
|
||||
//生成批次
|
||||
err = dao.CreateArtworkTx(tx, uid1, v.BatchTime, v.ArtistUid, v.ArtistName)
|
||||
if err != nil {
|
||||
return rep, err
|
||||
}
|
||||
|
||||
//对账单画作物权委托详情uid
|
||||
uid2, err := util.GetUid()
|
||||
if err != nil {
|
||||
return rep, err
|
||||
}
|
||||
//将数据插入对账单画作物权销售委托详情
|
||||
err = dao.CreateArtworkSoldTxDetail(tx, uid1, uid2, v)
|
||||
if err != nil {
|
||||
return rep, err
|
||||
}
|
||||
} else {
|
||||
//获取批次uid
|
||||
uid, err := util.GetUid()
|
||||
if err != nil {
|
||||
return rep, err
|
||||
}
|
||||
err = dao.CreateArtworkSoldTxDetail(tx, artworkTx.Uid, uid, v)
|
||||
if err != nil {
|
||||
return rep, err
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
return
|
||||
}
|
||||
|
||||
func (a *Statement) UploadExcelOneCopy(req *statement.UploadExcelOneCopyRequest) (rep *statement.UploadExcelOneCopyRespond, err error) {
|
||||
rep = &statement.UploadExcelOneCopyRespond{}
|
||||
//开启事务,遇到错误就回滚
|
||||
tx := db.DB.Begin()
|
||||
defer func() {
|
||||
if err != nil {
|
||||
tx.Rollback()
|
||||
} else {
|
||||
tx.Commit()
|
||||
}
|
||||
}()
|
||||
|
||||
for _, v := range req.ExcelOneInfo {
|
||||
//查看是否已经被生成了批次,没有的就生成版权批次
|
||||
exist, artworkCopy, err := dao.IsExistArtworkCopy(v.BatchTime, v.ArtistUid)
|
||||
if err != nil {
|
||||
return rep, err
|
||||
}
|
||||
|
||||
if exist {
|
||||
//获取批次uid
|
||||
uid1, err := util.GetUid()
|
||||
if err != nil {
|
||||
return rep, err
|
||||
}
|
||||
//生成批次
|
||||
err = dao.CreateArtworkCopy(tx, uid1, v.BatchTime, v.ArtistUid, v.ArtistName)
|
||||
if err != nil {
|
||||
tx.Rollback()
|
||||
return rep, err
|
||||
}
|
||||
|
||||
//对账单画作物权委托详情uid
|
||||
uid2, err := util.GetUid()
|
||||
if err != nil {
|
||||
return rep, err
|
||||
}
|
||||
//将数据插入对账单画作物权委托详情
|
||||
err = dao.CreateArtworkCopyDetail(tx, uid1, uid2, v)
|
||||
if err != nil {
|
||||
return rep, err
|
||||
}
|
||||
} else {
|
||||
//获取批次uid
|
||||
uid, err := util.GetUid()
|
||||
if err != nil {
|
||||
return rep, err
|
||||
}
|
||||
err = dao.CreateArtworkCopyDetail(tx, artworkCopy.Uid, uid, v)
|
||||
if err != nil {
|
||||
return rep, err
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
return
|
||||
}
|
||||
|
||||
func (a *Statement) UploadExcelTwoCopy(req *statement.UploadExcelTwoCopyRequest) (rep *statement.UploadExcelTwoCopyRespond, err error) {
|
||||
rep = &statement.UploadExcelTwoCopyRespond{}
|
||||
//开启事务,遇到错误就回滚
|
||||
tx := db.DB.Begin()
|
||||
defer func() {
|
||||
if err != nil {
|
||||
tx.Rollback()
|
||||
} else {
|
||||
tx.Commit()
|
||||
}
|
||||
}()
|
||||
|
||||
for _, v := range req.ExcelTwoInfo {
|
||||
//查看是否已经被生成了物权批次
|
||||
exist, artworkCopy, err := dao.IsExistArtworkCopy(v.BatchTime, v.ArtistUid)
|
||||
if err != nil {
|
||||
return rep, err
|
||||
}
|
||||
//没有的就生成物权批次
|
||||
if exist {
|
||||
//获取批次uid
|
||||
uid1, err := util.GetUid()
|
||||
if err != nil {
|
||||
return rep, err
|
||||
}
|
||||
//生成批次
|
||||
err = dao.CreateArtworkCopy(tx, uid1, v.BatchTime, v.ArtistUid, v.ArtistName)
|
||||
if err != nil {
|
||||
tx.Rollback()
|
||||
return rep, err
|
||||
}
|
||||
|
||||
//对账单画作物权委托详情uid
|
||||
uid2, err := util.GetUid()
|
||||
if err != nil {
|
||||
return rep, err
|
||||
}
|
||||
//将数据插入对账单画作物权销售委托详情
|
||||
err = dao.CreateArtworkSoldCopyDetail(tx, uid1, uid2, v)
|
||||
if err != nil {
|
||||
return rep, err
|
||||
}
|
||||
} else {
|
||||
//获取批次uid
|
||||
uid, err := util.GetUid()
|
||||
if err != nil {
|
||||
return rep, err
|
||||
}
|
||||
err = dao.CreateArtworkSoldCopyDetail(tx, artworkCopy.Uid, uid, v)
|
||||
if err != nil {
|
||||
return rep, err
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
return
|
||||
}
|
||||
|
||||
func (a *Statement) GetAllBatchTimeTx(req *statement.GetAllBatchTimeTxRequest) (rep *statement.GetAllBatchTimeTxRespond, err error) {
|
||||
rep = &statement.GetAllBatchTimeTxRespond{}
|
||||
//batchTime去重查询,只获取batchTime字段值
|
||||
batchTime, err := dao.GetAllBatchTimeTx()
|
||||
if err != nil {
|
||||
return
|
||||
}
|
||||
|
||||
rep.BatchTime = batchTime
|
||||
return
|
||||
}
|
||||
|
||||
func (a *Statement) GetAllBatchTimeCopy(req *statement.GetAllBatchTimeCopyRequest) (rep *statement.GetAllBatchTimeCopyRespond, err error) {
|
||||
rep = &statement.GetAllBatchTimeCopyRespond{}
|
||||
//batchTime去重查询,只获取batchTime字段值
|
||||
batchTime, err := dao.GetAllBatchTimeCopy()
|
||||
if err != nil {
|
||||
return
|
||||
}
|
||||
|
||||
rep.BatchTime = batchTime
|
||||
return
|
||||
}
|
||||
|
||||
func (a *Statement) GetArtworkSoldTxDetailList(req *statement.GetArtworkSoldTxDetailListRequest) (rep *statement.GetArtworkSoldTxDetailListRespond, err error) {
|
||||
rep = &statement.GetArtworkSoldTxDetailListRespond{}
|
||||
artistList := &statement.ArtistList{}
|
||||
artworkSoldDetailList := &statement.ArtworkSoldDetailList{}
|
||||
|
||||
var query *gorm.DB = db.DB // 初始化query变量
|
||||
|
||||
//画家姓名不为空,模糊查询(根据画家姓名的某个字也可以查询)
|
||||
if req.ArtistName != "" {
|
||||
query = query.Where("artist_name LiKE ?", "%"+req.ArtistName+"%")
|
||||
}
|
||||
//批次不为空
|
||||
if req.BatchTime != "" {
|
||||
query = query.Where("batch_time = ?", req.BatchTime)
|
||||
}
|
||||
//画家姓名不为空
|
||||
if req.State != 0 {
|
||||
query = query.Where("state = ?", req.State)
|
||||
}
|
||||
|
||||
//合同分页查询操作
|
||||
if req.Page < 1 {
|
||||
req.Page = 1
|
||||
}
|
||||
if req.Num < 1 {
|
||||
req.Num = 15
|
||||
}
|
||||
offset := (req.Page - 1) * req.Num
|
||||
|
||||
artworkTxList, err := dao.GetArtworkTxList(query, req.Num, offset)
|
||||
if err != nil {
|
||||
return
|
||||
}
|
||||
|
||||
for _, v := range artworkTxList {
|
||||
artistList.BatchUid = v.Uid
|
||||
artistList.ArtistName = v.ArtistName
|
||||
artistList.BatchTime = v.BatchTime
|
||||
artistList.State = v.State
|
||||
|
||||
//当已经签署了合同时
|
||||
if v.State == 3 {
|
||||
//获取合同预览和下载链接
|
||||
contract, err := dao.GetContractUrlTx(v.Uid)
|
||||
if err != nil {
|
||||
return rep, err
|
||||
}
|
||||
artistList.ViewUrl = contract.ViewUrl
|
||||
artistList.DownloadUrl = contract.DownloadUrl
|
||||
} else {
|
||||
artistList.ViewUrl = ""
|
||||
artistList.DownloadUrl = ""
|
||||
}
|
||||
|
||||
//查询对账单画作物权销售委托详情
|
||||
artworkSoldTxDetail, err := dao.GetArtworkSoldTxDetailList(v.Uid)
|
||||
if err != nil {
|
||||
return rep, err
|
||||
}
|
||||
|
||||
//获取该画家该批次所有的已售出的画信息
|
||||
for _, m := range artworkSoldTxDetail {
|
||||
artworkSoldDetailList.ArtworkName = m.ArtworkName
|
||||
artworkSoldDetailList.TfNum = m.TfNum
|
||||
artworkSoldDetailList.Ruler = m.Ruler
|
||||
artworkSoldDetailList.SaleNo = m.SaleNo
|
||||
artworkSoldDetailList.CompleteDate = m.CompleteDate
|
||||
artworkSoldDetailList.SalePrice = m.SalePrice
|
||||
artistList.ArtworkSoldDetailList = append(artistList.ArtworkSoldDetailList, artworkSoldDetailList)
|
||||
}
|
||||
rep.ArtistList = append(rep.ArtistList, artistList)
|
||||
}
|
||||
|
||||
return
|
||||
}
|
||||
|
||||
func (a *Statement) GetArtworkSoldCopyDetailList(req *statement.GetArtworkSoldCopyDetailListRequest) (rep *statement.GetArtworkSoldCopyDetailListRespond, err error) {
|
||||
rep = &statement.GetArtworkSoldCopyDetailListRespond{}
|
||||
artistList := &statement.ArtistList{}
|
||||
artworkSoldDetailList := &statement.ArtworkSoldDetailList{}
|
||||
|
||||
var query *gorm.DB = db.DB // 初始化query变量
|
||||
|
||||
//画家姓名不为空
|
||||
if req.ArtistName != "" {
|
||||
query = query.Where("artist_name LiKE ?", "%"+req.ArtistName+"%")
|
||||
}
|
||||
//批次不为空
|
||||
if req.BatchTime != "" {
|
||||
query = query.Where("batch_time = ?", req.BatchTime)
|
||||
}
|
||||
//画家姓名不为空
|
||||
if req.State != 0 {
|
||||
query = query.Where("state = ?", req.State)
|
||||
}
|
||||
|
||||
//合同分页查询操作
|
||||
if req.Page < 1 {
|
||||
req.Page = 1
|
||||
}
|
||||
if req.Num < 1 {
|
||||
req.Num = 15
|
||||
}
|
||||
offset := (req.Page - 1) * req.Num
|
||||
|
||||
artworkCopyList, err := dao.GetArtworkCopyList(query, req.Num, offset)
|
||||
if err != nil {
|
||||
return
|
||||
}
|
||||
|
||||
for _, v := range artworkCopyList {
|
||||
artistList.BatchUid = v.Uid
|
||||
artistList.ArtistName = v.ArtistName
|
||||
artistList.BatchTime = v.BatchTime
|
||||
artistList.State = v.State
|
||||
|
||||
//当已经签署了合同时
|
||||
if v.State == 3 {
|
||||
//获取合同预览和下载链接
|
||||
contract, err := dao.GetContractUrlTx(v.Uid)
|
||||
if err != nil {
|
||||
return rep, err
|
||||
}
|
||||
artistList.ViewUrl = contract.ViewUrl
|
||||
artistList.DownloadUrl = contract.DownloadUrl
|
||||
} else {
|
||||
artistList.ViewUrl = ""
|
||||
artistList.DownloadUrl = ""
|
||||
}
|
||||
|
||||
//查询对账单画作物权销售委托详情
|
||||
artworkSoldTxDetail, err := dao.GetArtworkSoldTxDetailList(v.Uid)
|
||||
if err != nil {
|
||||
return rep, err
|
||||
}
|
||||
|
||||
//获取该画家该批次所有的已售出的画信息
|
||||
for _, m := range artworkSoldTxDetail {
|
||||
artworkSoldDetailList.ArtworkName = m.ArtworkName
|
||||
artworkSoldDetailList.TfNum = m.TfNum
|
||||
artworkSoldDetailList.Ruler = m.Ruler
|
||||
artworkSoldDetailList.SaleNo = m.SaleNo
|
||||
artworkSoldDetailList.CompleteDate = m.CompleteDate
|
||||
artworkSoldDetailList.SalePrice = m.SalePrice
|
||||
artistList.ArtworkSoldDetailList = append(artistList.ArtworkSoldDetailList, artworkSoldDetailList)
|
||||
}
|
||||
rep.ArtistList = append(rep.ArtistList, artistList)
|
||||
}
|
||||
|
||||
return
|
||||
}
|
||||
|
||||
func (a *Statement) StatementList(req *statement.StatementListRequest) (rep *statement.StatementListRespond, err error) {
|
||||
//查看是否有该画家
|
||||
user, err := dao.GetArtistInfoById(req.ArtistUid)
|
||||
@ -79,9 +496,7 @@ func (a *Statement) GetTxInfoByBatchUid(req *statement.GetTxInfoByBatchUidReques
|
||||
artworkSoldTxDetail.Ruler = v.Ruler
|
||||
artworkSoldTxDetail.SaleNo = v.SaleNo
|
||||
artworkSoldTxDetail.CompleteDate = v.CompleteDate
|
||||
artworkSoldTxDetail.MinPrice = v.MinPrice
|
||||
artworkSoldTxDetail.SalePrice = v.SalePrice
|
||||
artworkSoldTxDetail.GuaranteePrice = v.GuaranteePrice
|
||||
rep.ArtworkSoldTxDetail = append(rep.ArtworkSoldTxDetail, artworkSoldTxDetail)
|
||||
}
|
||||
|
||||
|
@ -12,15 +12,13 @@ type Contract struct {
|
||||
TransactionId string `gorm:"column:transaction_id;type:varchar(300);comment:交易id" json:"transaction_id"`
|
||||
Type int32 `gorm:"column:type;type:int(1);comment:合同类型 (1);NOT NULL" json:"type"`
|
||||
ViewUrl string `gorm:"column:view_url;type:varchar(500);comment:在线查看合同链接" json:"view_url"`
|
||||
CardId string `gorm:"column:card_id;type:varchar(500);comment:银行卡号" json:"card_id"`
|
||||
DownloadUrl string `gorm:"column:download_url;type:varchar(500);comment:合同下载链接" json:"download_url"`
|
||||
State int32 `gorm:"column:state;type:int(1);comment:合同状态,1:未签署2:已签署;NOT NULL" json:"state"` //1 未签署 2 已签署
|
||||
Status int32 `gorm:"column:status;default:2;comment:2=锁定 3=解锁" json:"status" ` //跟随用户的锁定和解锁状态,用于控制数据的展示
|
||||
State int32 `gorm:"column:state;default:1;type:int(1);comment:合同状态,1:未签署2:已签署;NOT NULL" json:"state"` //1 未签署 2 已签署
|
||||
Status int32 `gorm:"column:status;default:2;comment:2=锁定 3=解锁" json:"status" ` //跟随用户的锁定和解锁状态,用于控制数据的展示
|
||||
LockTime string `gorm:"column:lock_time;comment:锁定时间" json:"lockTime"`
|
||||
SignTime string `gorm:"column:sign_time;comment:签署时间" json:"sign_time"`
|
||||
BatchTime string `gorm:"column:batch_time;comment:批次时间" json:"batch_time"`
|
||||
BatchUid string `gorm:"column:batch_uid;comment:批次ID" json:"batch_uid"`
|
||||
StType int32 `gorm:"column:st_type;unqiueIndex:stype_uid_batchtime_idx;comment:对账单类型 1=版权 2=物权;"`
|
||||
ArtworkTx *ArtworkTx `gorm:"foreignKey:BatchUid;references:Uid"` //当前批次的物权委托单
|
||||
ArtworkCopy *ArtworkCopy `gorm:"foreignKey:BatchUid;references:Uid"` //当前批次的版权委托单
|
||||
ArtworkTxDetail []ArtworkTxDetail `gorm:"foreignKey:BatchUid;references:BatchUid"` //当前批次的物权委托单详情
|
||||
|
@ -14,8 +14,7 @@ type ArtworkTx struct {
|
||||
ArtistUid string `gorm:"column:artist_uid;type:varchar(100);comment:画家Uid;NOT NULL" json:"artist_uid"`
|
||||
ArtistName string `gorm:"column:artist_name;type:varchar(100);comment:画家名;NOT NULL" json:"artist_name"`
|
||||
BatchTime string `gorm:"column:batch_time;comment:批次时间" json:"batch_time"`
|
||||
StType int32 `gorm:"column:st_type;comment:对账单类型 1=版权 2=物权"`
|
||||
Status int32 `gorm:"column:st_type;comment:对账单状态 1:未签署;2:已生成,未签署;3:已签署"`
|
||||
State int32 `gorm:"column:state;default:1;type:int(1);comment:对账单状态,1:未生成合同 2:已生成数据库一条合同数据(不管画家有没有点击过都是已生成未签署) 3:已签署(画家在画家宝那边签署了合同);NOT NULL" json:"state"`
|
||||
CreatedAt int32 `gorm:"column:created_at;autoCreateTime"`
|
||||
UpdatedAt int32 `gorm:"column:updated_at;autoCreateTime"`
|
||||
DeletedAt soft_delete.DeletedAt
|
||||
@ -28,7 +27,7 @@ type ArtworkTxDetail struct {
|
||||
BatchUid string `gorm:"column:batch_uid;type:varchar(100);comment:对账单画作物权表的唯一表示,即批次Uid;NOT NULL" json:"batch_uid"`
|
||||
TfNum string `gorm:"column:tf_num;unqiueIndex:batchid_tfnum_idx;comment:"泰丰画作编号"`
|
||||
ArtworkName string `gorm:"column:artwork_name;comment:画作名称"`
|
||||
Ruler string `gorm:"column:ruler;comment:平尺"`
|
||||
Ruler float32 `gorm:"column:ruler;comment:平尺"`
|
||||
MinPrice float32 `gorm:"column:min_price;comment:委托销售底价"`
|
||||
GuaranteePrice float32 `gorm:"column:guarantee_price;comment:已收取保证金;"`
|
||||
CreatedAt int32 `gorm:"column:created_at;autoCreateTime"`
|
||||
@ -38,24 +37,18 @@ type ArtworkTxDetail struct {
|
||||
|
||||
// 对账单画作物权销售委托详情(该画家一个批次的全部已被售卖了的画作)
|
||||
type ArtworkSoldTxDetail struct {
|
||||
ID int32 `gorm:"column:id;type:int(11);primary_key;AUTO_INCREMENT" json:"id"`
|
||||
Uid string `gorm:"column:uid;type:varchar(100);comment:对账单画作物权详情表的唯一表示;NOT NULL" json:"uid"`
|
||||
BatchUid string `gorm:"column:batch_uid;type:varchar(100);comment:对账单画作物权表的唯一表示,即批次Uid;NOT NULL" json:"batch_uid"`
|
||||
BatchTime string `gorm:"column:batch_time;comment:批次时间"`
|
||||
TfNum string `gorm:"column:tf_num;unqiueIndex:batchid_tfnum_idx;comment:"泰丰画作编号"`
|
||||
ArtworkName string `gorm:"column:artwork_name;comment:画作名称"`
|
||||
ArtistName string `gorm:"column:artist_name;comment:画家名称"`
|
||||
ArtistUid string `gorm:"column:artist_uid;comment:画家uid"`
|
||||
Ruler string `gorm:"column:ruler;comment:平尺"`
|
||||
SaleNo string `gorm:"column:sale_no;comment:销售单号"`
|
||||
CompleteDate string `gorm:"column:complete_date;comment:成交日期"`
|
||||
MinPrice float32 `gorm:"column:min_price;comment:委托销售底价"`
|
||||
SalePrice float32 `gorm:"column:sale_price;comment:画作售价"`
|
||||
GuaranteePrice float32 `gorm:"column:guarantee_price;comment:已收取保证金;"`
|
||||
StType int32 `gorm:"column:st_type;comment:对账单类型 1=版权 2=物权"`
|
||||
CreatedAt int32 `gorm:"column:created_at;autoCreateTime"`
|
||||
UpdatedAt int32 `gorm:"column:updated_at;autoCreateTime"`
|
||||
DeletedAt soft_delete.DeletedAt
|
||||
ID int32 `gorm:"column:id;type:int(11);primary_key;AUTO_INCREMENT" json:"id"`
|
||||
Uid string `gorm:"column:uid;type:varchar(100);comment:对账单画作物权委托详情表的唯一表示;NOT NULL" json:"uid"`
|
||||
BatchUid string `gorm:"column:batch_uid;type:varchar(100);comment:对账单画作物权表的唯一表示,即批次Uid;NOT NULL" json:"batch_uid"`
|
||||
TfNum string `gorm:"column:tf_num;unqiueIndex:batchid_tfnum_idx;comment:"泰丰画作编号"`
|
||||
ArtworkName string `gorm:"column:artwork_name;comment:画作名称"`
|
||||
Ruler float32 `gorm:"column:ruler;comment:平尺"`
|
||||
SaleNo string `gorm:"column:sale_no;comment:销售单号"`
|
||||
CompleteDate string `gorm:"column:complete_date;comment:成交日期"`
|
||||
SalePrice float32 `gorm:"column:sale_price;comment:画作售价"`
|
||||
CreatedAt int32 `gorm:"column:created_at;autoCreateTime"`
|
||||
UpdatedAt int32 `gorm:"column:updated_at;autoCreateTime"`
|
||||
DeletedAt soft_delete.DeletedAt
|
||||
}
|
||||
|
||||
//对账单画作版权
|
||||
@ -65,6 +58,7 @@ type ArtworkCopy struct {
|
||||
ArtistUid string `gorm:"column:artist_uid;type:varchar(100);comment:画家Uid;NOT NULL" json:"artist_uid"`
|
||||
ArtistName string `gorm:"column:artist_name;type:varchar(100);comment:画家名;NOT NULL" json:"artist_name"`
|
||||
BatchTime string `gorm:"column:batch_time;comment:批次时间" json:"batch_time"`
|
||||
State int32 `gorm:"column:state;default:1;type:int(1);comment:对账单状态,1:未生成合同 2:已生成数据库一条合同数据(不管画家有没有点击过都是已生成未签署) 3:已签署(画家在画家宝那边签署了合同);NOT NULL" json:"state"`
|
||||
CreatedAt int32 `gorm:"column:created_at;autoCreateTime"`
|
||||
UpdatedAt int32 `gorm:"column:updated_at;autoCreateTime"`
|
||||
DeletedAt soft_delete.DeletedAt
|
||||
@ -77,7 +71,7 @@ type ArtworkCopyDetail struct {
|
||||
BatchUid string `gorm:"column:batch_uid;type:varchar(100);comment:对账单画作版权表的唯一表示,即批次Uid;NOT NULL" json:"batch_uid"`
|
||||
TfNum string `gorm:"column:tf_num;unqiueIndex:batchid_tfnum_idx;comment:"泰丰画作编号"`
|
||||
ArtworkName string `gorm:"column:artwork_name;comment:画作名称"`
|
||||
Ruler string `gorm:"column:ruler;comment:平尺"`
|
||||
Ruler float32 `gorm:"column:ruler;comment:平尺"`
|
||||
MinPrice float32 `gorm:"column:min_price;comment:委托销售底价"`
|
||||
GuaranteePrice float32 `gorm:"column:guarantee_price;comment:已收取保证金;"`
|
||||
CreatedAt int32 `gorm:"column:created_at;autoCreateTime"`
|
||||
@ -92,7 +86,7 @@ type ArtworkSoldCopyDetail struct {
|
||||
BatchUid string `gorm:"column:batch_uid;type:varchar(100);comment:对账单画作版权表的唯一表示,即批次Uid;NOT NULL" json:"batch_uid"`
|
||||
TfNum string `gorm:"column:tf_num;unqiueIndex:batchid_tfnum_idx;comment:"泰丰画作编号"`
|
||||
ArtworkName string `gorm:"column:artwork_name;comment:画作名称"`
|
||||
Ruler string `gorm:"column:ruler;comment:平尺"`
|
||||
Ruler float32 `gorm:"column:ruler;comment:平尺"`
|
||||
SaleNo string `gorm:"column:sale_no;comment:销售单号"`
|
||||
CompleteDate string `gorm:"column:complete_date;comment:成交日期"`
|
||||
MinPrice float32 `gorm:"column:min_price;comment:委托销售底价"`
|
||||
|
File diff suppressed because it is too large
Load Diff
@ -3,101 +3,228 @@ package statement;
|
||||
option go_package = "./;statement";
|
||||
|
||||
service Statement {
|
||||
rpc UploadExcelOneTx (UploadExcelOneTxRequest) returns (UploadExcelOneTxRespond) {}
|
||||
rpc UploadExcelTwoTx (UploadExcelTwoTxRequest) returns (UploadExcelTwoTxRespond) {}
|
||||
rpc UploadExcelOneCopy (UploadExcelOneCopyRequest) returns (UploadExcelOneCopyRespond) {}
|
||||
rpc UploadExcelTwoCopy (UploadExcelTwoCopyRequest) returns (UploadExcelTwoCopyRespond) {}
|
||||
rpc GetAllBatchTimeTx (GetAllBatchTimeTxRequest) returns (GetAllBatchTimeTxRespond) {}
|
||||
rpc GetAllBatchTimeCopy (GetAllBatchTimeCopyRequest) returns (GetAllBatchTimeCopyRespond) {}
|
||||
rpc GetArtworkSoldTxDetailList (GetArtworkSoldTxDetailListRequest) returns (GetArtworkSoldTxDetailListRespond) {}
|
||||
rpc GetArtworkSoldCopyDetailList (GetArtworkSoldCopyDetailListRequest) returns (GetArtworkSoldCopyDetailListRespond) {}
|
||||
rpc StatementList (StatementListRequest) returns (StatementListRespond) {}
|
||||
rpc GetTxInfoByBatchUid (GetTxInfoByBatchUidRequest) returns (GetTxInfoByBatchUidRespond) {}
|
||||
rpc GetCopyInfoByBatchUid (GetCopyInfoByBatchUidRequest) returns (GetCopyInfoByBatchUidRespond) {}
|
||||
}
|
||||
|
||||
message Contracts{
|
||||
string ContractUid = 1 [json_name = "contract_uid"];
|
||||
string ArtistUid = 2 [json_name = "artist_uid"];
|
||||
string ArtworkUid = 3 [json_name = "artwork_uid"];
|
||||
string ContractId = 4 [json_name = "contract_id"];
|
||||
string TransactionId = 5 [json_name = "transaction_id"];
|
||||
int32 Type = 6 [json_name = "type"];
|
||||
string ViewUrl = 7 [json_name = "view_url"];
|
||||
string DownloadUrl = 8 [json_name = "download_url"];
|
||||
int32 State = 9 [json_name = "state"];
|
||||
int32 Status = 10 [json_name = "status"];
|
||||
string ExpirationTime = 11 [json_name = "expiration_time"];
|
||||
string LockTime = 12 [json_name = "lock_time"];
|
||||
string SignTime = 13 [json_name = "sign_time"];
|
||||
string BatchTime = 14 [json_name = "batch_time"];
|
||||
string BatchUid = 15 [json_name = "batch_uid"];
|
||||
string contractUid = 1 [json_name = "contract_uid"];
|
||||
string artistUid = 2 [json_name = "artist_uid"];
|
||||
string artworkUid = 3 [json_name = "artwork_uid"];
|
||||
string contractId = 4 [json_name = "contract_id"];
|
||||
string transactionId = 5 [json_name = "transaction_id"];
|
||||
int32 type = 6 [json_name = "type"];
|
||||
string viewUrl = 7 [json_name = "view_url"];
|
||||
string downloadUrl = 8 [json_name = "download_url"];
|
||||
int32 state = 9 [json_name = "state"];
|
||||
int32 status = 10 [json_name = "status"];
|
||||
string expirationTime = 11 [json_name = "expiration_time"];
|
||||
string lockTime = 12 [json_name = "lock_time"];
|
||||
string signTime = 13 [json_name = "sign_time"];
|
||||
string batchTime = 14 [json_name = "batch_time"];
|
||||
string batchUid = 15 [json_name = "batch_uid"];
|
||||
}
|
||||
|
||||
message ArtworkTxDetail{
|
||||
string BatchUid = 1 [json_name = "batch_uid"];
|
||||
string TfNum = 2 [json_name = "TfNum"];
|
||||
string ArtworkName = 3 [json_name = "artwork_name"];
|
||||
string Ruler = 4 [json_name = "ruler"];
|
||||
float MinPrice = 5 [json_name = "min_price"];
|
||||
float GuaranteePrice = 6 [json_name = "guarantee_price"];
|
||||
string batchUid = 1 [json_name = "batch_uid"];
|
||||
string tfNum = 2 [json_name = "TfNum"];
|
||||
string artworkName = 3 [json_name = "artwork_name"];
|
||||
float ruler = 4 [json_name = "ruler"];
|
||||
float minPrice = 5 [json_name = "min_price"];
|
||||
float guaranteePrice = 6 [json_name = "guarantee_price"];
|
||||
}
|
||||
|
||||
message ArtworkSoldTxDetail{
|
||||
string BatchUid = 1 [json_name = "batch_uid"];
|
||||
string TfNum = 2 [json_name = "TfNum"];
|
||||
string ArtworkName = 3 [json_name = "artwork_name"];
|
||||
string Ruler = 4 [json_name = "ruler"];
|
||||
string SaleNo = 5 [json_name = "sale_no"];
|
||||
string CompleteDate = 6 [json_name = "complete_date"];
|
||||
float MinPrice = 7 [json_name = "min_price"];
|
||||
float SalePrice = 8 [json_name = "sale_price"];
|
||||
float GuaranteePrice = 9 [json_name = "guarantee_price"];
|
||||
string batchUid = 1 [json_name = "batch_uid"];
|
||||
string tfNum = 2 [json_name = "TfNum"];
|
||||
string artworkName = 3 [json_name = "artwork_name"];
|
||||
float ruler = 4 [json_name = "ruler"];
|
||||
string saleNo = 5 [json_name = "sale_no"];
|
||||
string completeDate = 6 [json_name = "complete_date"];
|
||||
float minPrice = 7 [json_name = "min_price"];
|
||||
float salePrice = 8 [json_name = "sale_price"];
|
||||
float guaranteePrice = 9 [json_name = "guarantee_price"];
|
||||
}
|
||||
|
||||
message ArtworkCopyDetail{
|
||||
string BatchUid = 1 [json_name = "batch_uid"];
|
||||
string TfNum = 2 [json_name = "TfNum"];
|
||||
string ArtworkName = 3 [json_name = "artwork_name"];
|
||||
string Ruler = 4 [json_name = "ruler"];
|
||||
float MinPrice = 5 [json_name = "min_price"];
|
||||
float GuaranteePrice = 6 [json_name = "guarantee_price"];
|
||||
string batchUid = 1 [json_name = "batch_uid"];
|
||||
string tfNum = 2 [json_name = "TfNum"];
|
||||
string artworkName = 3 [json_name = "artwork_name"];
|
||||
float ruler = 4 [json_name = "ruler"];
|
||||
float minPrice = 5 [json_name = "min_price"];
|
||||
float guaranteePrice = 6 [json_name = "guarantee_price"];
|
||||
}
|
||||
|
||||
message ArtworkSoldCopyDetail{
|
||||
string BatchUid = 1 [json_name = "batch_uid"];
|
||||
string TfNum = 2 [json_name = "TfNum"];
|
||||
string ArtworkName = 3 [json_name = "artwork_name"];
|
||||
string Ruler = 4 [json_name = "ruler"];
|
||||
string SaleNo = 5 [json_name = "sale_no"];
|
||||
string CompleteDate = 6 [json_name = "complete_date"];
|
||||
float MinPrice = 7 [json_name = "min_price"];
|
||||
float SalePrice = 8 [json_name = "sale_price"];
|
||||
float GuaranteePrice = 9 [json_name = "guarantee_price"];
|
||||
string batchUid = 1 [json_name = "batch_uid"];
|
||||
string tfNum = 2 [json_name = "TfNum"];
|
||||
string artworkName = 3 [json_name = "artwork_name"];
|
||||
float ruler = 4 [json_name = "ruler"];
|
||||
string saleNo = 5 [json_name = "sale_no"];
|
||||
string completeDate = 6 [json_name = "complete_date"];
|
||||
float minPrice = 7 [json_name = "min_price"];
|
||||
float salePrice = 8 [json_name = "sale_price"];
|
||||
float guaranteePrice = 9 [json_name = "guarantee_price"];
|
||||
}
|
||||
|
||||
message ExcelOneInfo {
|
||||
string artistUid = 1 [json_name = "artist_uid"];
|
||||
string batchTime = 2 [json_name = "batch_time"];
|
||||
string artistName = 3 [json_name = "artist_uid"];
|
||||
string tfNum = 4 [json_name = "tf_num"];
|
||||
string artworkName = 5 [json_name = "artwork_name"];
|
||||
float ruler = 6 [json_name = "ruler"];
|
||||
float minPrice = 7 [json_name = "min_price"];
|
||||
float guaranteePrice = 8 [json_name = "guarantee_price"];
|
||||
}
|
||||
|
||||
message ExcelTwoInfo{
|
||||
string artistUid = 1 [json_name = "artist_uid"];
|
||||
string batchTime = 2 [json_name = "batch_time"];
|
||||
string artistName = 3 [json_name = "artist_uid"];
|
||||
string tfNum = 4 [json_name = "tf_num"];
|
||||
string artworkName = 5 [json_name = "artwork_name"];
|
||||
float ruler = 6 [json_name = "ruler"];
|
||||
string saleNo = 7 [json_name = "saleNo"];
|
||||
string completeDate = 8 [json_name = "complete_date"];
|
||||
float salePrice = 9 [json_name = "salePrice"];
|
||||
}
|
||||
|
||||
message ArtworkSoldDetailList{
|
||||
string artworkName = 6 [json_name = "artwork_name"];
|
||||
string tfNum = 7 [json_name = "tf_num"];
|
||||
float ruler = 8 [json_name = "ruler"];
|
||||
string saleNo = 9 [json_name = "saleNo"];
|
||||
string completeDate = 10 [json_name = "complete_date"];
|
||||
float salePrice = 11 [json_name = "salePrice"];
|
||||
}
|
||||
|
||||
message ArtistList {
|
||||
string batchUid = 1 [json_name = "batch_uid"];
|
||||
string artistName = 2 [json_name = "artist_uid"];
|
||||
string batchTime = 3 [json_name = "batch_time"];
|
||||
int32 state = 4 [json_name = "state"];
|
||||
int32 status = 5 [json_name = "status"];
|
||||
string viewUrl = 6 [json_name = "view_url"];
|
||||
string downloadUrl = 7 [json_name = "download_url"];
|
||||
repeated ArtworkSoldDetailList artworkSoldDetailList = 8 [json_name = "artwork_sold_detail_list"];
|
||||
}
|
||||
|
||||
message UploadExcelOneTxRequest {
|
||||
repeated ExcelOneInfo excelOneInfo = 1 [json_name = "excel_one_info"];
|
||||
}
|
||||
|
||||
message UploadExcelOneTxRespond {
|
||||
string msg = 1 [json_name = "msg"];
|
||||
}
|
||||
|
||||
message UploadExcelTwoTxRequest {
|
||||
repeated ExcelTwoInfo excelTwoInfo = 1 [json_name = "excel_one_info"];
|
||||
}
|
||||
|
||||
message UploadExcelTwoTxRespond {
|
||||
string msg = 1 [json_name = "msg"];
|
||||
}
|
||||
|
||||
message UploadExcelOneCopyRequest {
|
||||
repeated ExcelOneInfo excelOneInfo = 1 [json_name = "excel_one_info"];
|
||||
}
|
||||
|
||||
message UploadExcelOneCopyRespond {
|
||||
string msg = 1 [json_name = "msg"];
|
||||
}
|
||||
|
||||
message UploadExcelTwoCopyRequest {
|
||||
repeated ExcelTwoInfo excelTwoInfo = 1 [json_name = "excel_one_info"];
|
||||
}
|
||||
|
||||
message UploadExcelTwoCopyRespond {
|
||||
string msg = 1 [json_name = "msg"];
|
||||
}
|
||||
|
||||
message GetAllBatchTimeTxRequest {
|
||||
|
||||
}
|
||||
|
||||
message GetAllBatchTimeTxRespond {
|
||||
repeated string BatchTime = 1 [json_name = "batch_time"];
|
||||
string msg = 2 [json_name = "msg"];
|
||||
}
|
||||
|
||||
message GetAllBatchTimeCopyRequest {
|
||||
|
||||
}
|
||||
|
||||
message GetAllBatchTimeCopyRespond {
|
||||
repeated string BatchTime = 1 [json_name = "batch_time"];
|
||||
string msg = 2 [json_name = "msg"];
|
||||
}
|
||||
|
||||
message GetArtworkSoldTxDetailListRequest {
|
||||
string artistName = 1 [json_name = "artist_name"];
|
||||
string batchTime = 2 [json_name = "batch_time"];
|
||||
int32 state = 3 [json_name = "state"];
|
||||
int32 page = 4 [json_name = "page"];
|
||||
int32 num = 5 [json_name = "num"];
|
||||
}
|
||||
|
||||
message GetArtworkSoldTxDetailListRespond {
|
||||
repeated ArtistList artist_list = 1 [json_name = "artist_list"];
|
||||
string msg = 2 [json_name = "msg"];
|
||||
}
|
||||
|
||||
message GetArtworkSoldCopyDetailListRequest {
|
||||
string artistName = 1 [json_name = "artist_name"];
|
||||
string batchTime = 2 [json_name = "batch_time"];
|
||||
int32 state = 3 [json_name = "state"];
|
||||
int32 page = 4 [json_name = "page"];
|
||||
int32 num = 5 [json_name = "num"];
|
||||
}
|
||||
|
||||
message GetArtworkSoldCopyDetailListRespond {
|
||||
repeated ArtistList artist_list = 1 [json_name = "artist_list"];
|
||||
string msg = 2 [json_name = "msg"];
|
||||
}
|
||||
|
||||
message StatementListRequest {
|
||||
string ArtistUid = 1 [json_name = "artist_uid"];
|
||||
int32 PageSize = 2 [json_name="pageSize"];
|
||||
int32 Page = 3 [json_name="page"];
|
||||
int32 State = 4 [json_name="state"];
|
||||
string artistUid = 1 [json_name = "artist_uid"];
|
||||
int32 pageSize = 2 [json_name="pageSize"];
|
||||
int32 page = 3 [json_name="page"];
|
||||
int32 state = 4 [json_name="state"];
|
||||
}
|
||||
|
||||
message StatementListRespond {
|
||||
repeated Contracts Data = 1 [json_name = "data"];
|
||||
string Msg = 2 [json_name = "msg"];
|
||||
repeated Contracts data = 1 [json_name = "data"];
|
||||
string msg = 2 [json_name = "msg"];
|
||||
}
|
||||
|
||||
message GetTxInfoByBatchUidRequest {
|
||||
string BatchUid = 1 [json_name = "batch_uid"];
|
||||
string batchUid = 1 [json_name = "batch_uid"];
|
||||
}
|
||||
|
||||
message GetTxInfoByBatchUidRespond {
|
||||
string ArtistName = 1 [json_name = "artist_name"];
|
||||
repeated ArtworkTxDetail ArtworkTxDetail = 2 [json_name = "artwork_tx_detail"];
|
||||
repeated ArtworkSoldTxDetail ArtworkSoldTxDetail = 3 [json_name = "artwork_sold_tx_detail"];
|
||||
string Msg = 4 [json_name = "msg"];
|
||||
string artistName = 1 [json_name = "artist_name"];
|
||||
repeated ArtworkTxDetail artworkTxDetail = 2 [json_name = "artwork_tx_detail"];
|
||||
repeated ArtworkSoldTxDetail artworkSoldTxDetail = 3 [json_name = "artwork_sold_tx_detail"];
|
||||
string msg = 4 [json_name = "msg"];
|
||||
}
|
||||
|
||||
message GetCopyInfoByBatchUidRequest {
|
||||
string BatchUid = 1 [json_name = "batch_uid"];
|
||||
string batchUid = 1 [json_name = "batch_uid"];
|
||||
}
|
||||
|
||||
message GetCopyInfoByBatchUidRespond {
|
||||
string ArtistName = 1 [json_name = "artist_name"];
|
||||
repeated ArtworkCopyDetail ArtworkCopyDetail = 2 [json_name = "artwork_copy_detail"];
|
||||
repeated ArtworkSoldCopyDetail ArtworkSoldCopyDetail = 3 [json_name = "artwork_sold_copy_detail"];
|
||||
string Msg = 4 [json_name = "msg"];
|
||||
string artistName = 1 [json_name = "artist_name"];
|
||||
repeated ArtworkCopyDetail artworkCopyDetail = 2 [json_name = "artwork_copy_detail"];
|
||||
repeated ArtworkSoldCopyDetail artworkSoldCopyDetail = 3 [json_name = "artwork_sold_copy_detail"];
|
||||
string msg = 4 [json_name = "msg"];
|
||||
}
|
@ -1,5 +1,5 @@
|
||||
// Code generated by protoc-gen-gogo. DO NOT EDIT.
|
||||
// source: statement.proto
|
||||
// source: Statement.proto
|
||||
|
||||
package statement
|
||||
|
||||
@ -30,6 +30,115 @@ func (this *ArtworkCopyDetail) Validate() error {
|
||||
func (this *ArtworkSoldCopyDetail) Validate() error {
|
||||
return nil
|
||||
}
|
||||
func (this *ExcelOneInfo) Validate() error {
|
||||
return nil
|
||||
}
|
||||
func (this *ExcelTwoInfo) Validate() error {
|
||||
return nil
|
||||
}
|
||||
func (this *ArtworkSoldDetailList) Validate() error {
|
||||
return nil
|
||||
}
|
||||
func (this *ArtistList) Validate() error {
|
||||
for _, item := range this.ArtworkSoldDetailList {
|
||||
if item != nil {
|
||||
if err := github_com_mwitkow_go_proto_validators.CallValidatorIfExists(item); err != nil {
|
||||
return github_com_mwitkow_go_proto_validators.FieldError("ArtworkSoldDetailList", err)
|
||||
}
|
||||
}
|
||||
}
|
||||
return nil
|
||||
}
|
||||
func (this *UploadExcelOneTxRequest) Validate() error {
|
||||
for _, item := range this.ExcelOneInfo {
|
||||
if item != nil {
|
||||
if err := github_com_mwitkow_go_proto_validators.CallValidatorIfExists(item); err != nil {
|
||||
return github_com_mwitkow_go_proto_validators.FieldError("ExcelOneInfo", err)
|
||||
}
|
||||
}
|
||||
}
|
||||
return nil
|
||||
}
|
||||
func (this *UploadExcelOneTxRespond) Validate() error {
|
||||
return nil
|
||||
}
|
||||
func (this *UploadExcelTwoTxRequest) Validate() error {
|
||||
for _, item := range this.ExcelTwoInfo {
|
||||
if item != nil {
|
||||
if err := github_com_mwitkow_go_proto_validators.CallValidatorIfExists(item); err != nil {
|
||||
return github_com_mwitkow_go_proto_validators.FieldError("ExcelTwoInfo", err)
|
||||
}
|
||||
}
|
||||
}
|
||||
return nil
|
||||
}
|
||||
func (this *UploadExcelTwoTxRespond) Validate() error {
|
||||
return nil
|
||||
}
|
||||
func (this *UploadExcelOneCopyRequest) Validate() error {
|
||||
for _, item := range this.ExcelOneInfo {
|
||||
if item != nil {
|
||||
if err := github_com_mwitkow_go_proto_validators.CallValidatorIfExists(item); err != nil {
|
||||
return github_com_mwitkow_go_proto_validators.FieldError("ExcelOneInfo", err)
|
||||
}
|
||||
}
|
||||
}
|
||||
return nil
|
||||
}
|
||||
func (this *UploadExcelOneCopyRespond) Validate() error {
|
||||
return nil
|
||||
}
|
||||
func (this *UploadExcelTwoCopyRequest) Validate() error {
|
||||
for _, item := range this.ExcelTwoInfo {
|
||||
if item != nil {
|
||||
if err := github_com_mwitkow_go_proto_validators.CallValidatorIfExists(item); err != nil {
|
||||
return github_com_mwitkow_go_proto_validators.FieldError("ExcelTwoInfo", err)
|
||||
}
|
||||
}
|
||||
}
|
||||
return nil
|
||||
}
|
||||
func (this *UploadExcelTwoCopyRespond) Validate() error {
|
||||
return nil
|
||||
}
|
||||
func (this *GetAllBatchTimeTxRequest) Validate() error {
|
||||
return nil
|
||||
}
|
||||
func (this *GetAllBatchTimeTxRespond) Validate() error {
|
||||
return nil
|
||||
}
|
||||
func (this *GetAllBatchTimeCopyRequest) Validate() error {
|
||||
return nil
|
||||
}
|
||||
func (this *GetAllBatchTimeCopyRespond) Validate() error {
|
||||
return nil
|
||||
}
|
||||
func (this *GetArtworkSoldTxDetailListRequest) Validate() error {
|
||||
return nil
|
||||
}
|
||||
func (this *GetArtworkSoldTxDetailListRespond) Validate() error {
|
||||
for _, item := range this.ArtistList {
|
||||
if item != nil {
|
||||
if err := github_com_mwitkow_go_proto_validators.CallValidatorIfExists(item); err != nil {
|
||||
return github_com_mwitkow_go_proto_validators.FieldError("ArtistList", err)
|
||||
}
|
||||
}
|
||||
}
|
||||
return nil
|
||||
}
|
||||
func (this *GetArtworkSoldCopyDetailListRequest) Validate() error {
|
||||
return nil
|
||||
}
|
||||
func (this *GetArtworkSoldCopyDetailListRespond) Validate() error {
|
||||
for _, item := range this.ArtistList {
|
||||
if item != nil {
|
||||
if err := github_com_mwitkow_go_proto_validators.CallValidatorIfExists(item); err != nil {
|
||||
return github_com_mwitkow_go_proto_validators.FieldError("ArtistList", err)
|
||||
}
|
||||
}
|
||||
}
|
||||
return nil
|
||||
}
|
||||
func (this *StatementListRequest) Validate() error {
|
||||
return nil
|
||||
}
|
||||
|
@ -2,7 +2,7 @@
|
||||
// versions:
|
||||
// - protoc-gen-go-triple v1.0.8
|
||||
// - protoc v3.21.8
|
||||
// source: statement.proto
|
||||
// source: Statement.proto
|
||||
|
||||
package statement
|
||||
|
||||
@ -28,6 +28,14 @@ const _ = grpc_go.SupportPackageIsVersion7
|
||||
//
|
||||
// For semantics around ctx use and closing/ending streaming RPCs, please refer to https://pkg.go.dev/google.golang.org/grpc/?tab=doc#ClientConn.NewStream.
|
||||
type StatementClient interface {
|
||||
UploadExcelOneTx(ctx context.Context, in *UploadExcelOneTxRequest, opts ...grpc_go.CallOption) (*UploadExcelOneTxRespond, common.ErrorWithAttachment)
|
||||
UploadExcelTwoTx(ctx context.Context, in *UploadExcelTwoTxRequest, opts ...grpc_go.CallOption) (*UploadExcelTwoTxRespond, common.ErrorWithAttachment)
|
||||
UploadExcelOneCopy(ctx context.Context, in *UploadExcelOneCopyRequest, opts ...grpc_go.CallOption) (*UploadExcelOneCopyRespond, common.ErrorWithAttachment)
|
||||
UploadExcelTwoCopy(ctx context.Context, in *UploadExcelTwoCopyRequest, opts ...grpc_go.CallOption) (*UploadExcelTwoCopyRespond, common.ErrorWithAttachment)
|
||||
GetAllBatchTimeTx(ctx context.Context, in *GetAllBatchTimeTxRequest, opts ...grpc_go.CallOption) (*GetAllBatchTimeTxRespond, common.ErrorWithAttachment)
|
||||
GetAllBatchTimeCopy(ctx context.Context, in *GetAllBatchTimeCopyRequest, opts ...grpc_go.CallOption) (*GetAllBatchTimeCopyRespond, common.ErrorWithAttachment)
|
||||
GetArtworkSoldTxDetailList(ctx context.Context, in *GetArtworkSoldTxDetailListRequest, opts ...grpc_go.CallOption) (*GetArtworkSoldTxDetailListRespond, common.ErrorWithAttachment)
|
||||
GetArtworkSoldCopyDetailList(ctx context.Context, in *GetArtworkSoldCopyDetailListRequest, opts ...grpc_go.CallOption) (*GetArtworkSoldCopyDetailListRespond, common.ErrorWithAttachment)
|
||||
StatementList(ctx context.Context, in *StatementListRequest, opts ...grpc_go.CallOption) (*StatementListRespond, common.ErrorWithAttachment)
|
||||
GetTxInfoByBatchUid(ctx context.Context, in *GetTxInfoByBatchUidRequest, opts ...grpc_go.CallOption) (*GetTxInfoByBatchUidRespond, common.ErrorWithAttachment)
|
||||
GetCopyInfoByBatchUid(ctx context.Context, in *GetCopyInfoByBatchUidRequest, opts ...grpc_go.CallOption) (*GetCopyInfoByBatchUidRespond, common.ErrorWithAttachment)
|
||||
@ -38,9 +46,17 @@ type statementClient struct {
|
||||
}
|
||||
|
||||
type StatementClientImpl struct {
|
||||
StatementList func(ctx context.Context, in *StatementListRequest) (*StatementListRespond, error)
|
||||
GetTxInfoByBatchUid func(ctx context.Context, in *GetTxInfoByBatchUidRequest) (*GetTxInfoByBatchUidRespond, error)
|
||||
GetCopyInfoByBatchUid func(ctx context.Context, in *GetCopyInfoByBatchUidRequest) (*GetCopyInfoByBatchUidRespond, error)
|
||||
UploadExcelOneTx func(ctx context.Context, in *UploadExcelOneTxRequest) (*UploadExcelOneTxRespond, error)
|
||||
UploadExcelTwoTx func(ctx context.Context, in *UploadExcelTwoTxRequest) (*UploadExcelTwoTxRespond, error)
|
||||
UploadExcelOneCopy func(ctx context.Context, in *UploadExcelOneCopyRequest) (*UploadExcelOneCopyRespond, error)
|
||||
UploadExcelTwoCopy func(ctx context.Context, in *UploadExcelTwoCopyRequest) (*UploadExcelTwoCopyRespond, error)
|
||||
GetAllBatchTimeTx func(ctx context.Context, in *GetAllBatchTimeTxRequest) (*GetAllBatchTimeTxRespond, error)
|
||||
GetAllBatchTimeCopy func(ctx context.Context, in *GetAllBatchTimeCopyRequest) (*GetAllBatchTimeCopyRespond, error)
|
||||
GetArtworkSoldTxDetailList func(ctx context.Context, in *GetArtworkSoldTxDetailListRequest) (*GetArtworkSoldTxDetailListRespond, error)
|
||||
GetArtworkSoldCopyDetailList func(ctx context.Context, in *GetArtworkSoldCopyDetailListRequest) (*GetArtworkSoldCopyDetailListRespond, error)
|
||||
StatementList func(ctx context.Context, in *StatementListRequest) (*StatementListRespond, error)
|
||||
GetTxInfoByBatchUid func(ctx context.Context, in *GetTxInfoByBatchUidRequest) (*GetTxInfoByBatchUidRespond, error)
|
||||
GetCopyInfoByBatchUid func(ctx context.Context, in *GetCopyInfoByBatchUidRequest) (*GetCopyInfoByBatchUidRespond, error)
|
||||
}
|
||||
|
||||
func (c *StatementClientImpl) GetDubboStub(cc *triple.TripleConn) StatementClient {
|
||||
@ -55,6 +71,54 @@ func NewStatementClient(cc *triple.TripleConn) StatementClient {
|
||||
return &statementClient{cc}
|
||||
}
|
||||
|
||||
func (c *statementClient) UploadExcelOneTx(ctx context.Context, in *UploadExcelOneTxRequest, opts ...grpc_go.CallOption) (*UploadExcelOneTxRespond, common.ErrorWithAttachment) {
|
||||
out := new(UploadExcelOneTxRespond)
|
||||
interfaceKey := ctx.Value(constant.InterfaceKey).(string)
|
||||
return out, c.cc.Invoke(ctx, "/"+interfaceKey+"/UploadExcelOneTx", in, out)
|
||||
}
|
||||
|
||||
func (c *statementClient) UploadExcelTwoTx(ctx context.Context, in *UploadExcelTwoTxRequest, opts ...grpc_go.CallOption) (*UploadExcelTwoTxRespond, common.ErrorWithAttachment) {
|
||||
out := new(UploadExcelTwoTxRespond)
|
||||
interfaceKey := ctx.Value(constant.InterfaceKey).(string)
|
||||
return out, c.cc.Invoke(ctx, "/"+interfaceKey+"/UploadExcelTwoTx", in, out)
|
||||
}
|
||||
|
||||
func (c *statementClient) UploadExcelOneCopy(ctx context.Context, in *UploadExcelOneCopyRequest, opts ...grpc_go.CallOption) (*UploadExcelOneCopyRespond, common.ErrorWithAttachment) {
|
||||
out := new(UploadExcelOneCopyRespond)
|
||||
interfaceKey := ctx.Value(constant.InterfaceKey).(string)
|
||||
return out, c.cc.Invoke(ctx, "/"+interfaceKey+"/UploadExcelOneCopy", in, out)
|
||||
}
|
||||
|
||||
func (c *statementClient) UploadExcelTwoCopy(ctx context.Context, in *UploadExcelTwoCopyRequest, opts ...grpc_go.CallOption) (*UploadExcelTwoCopyRespond, common.ErrorWithAttachment) {
|
||||
out := new(UploadExcelTwoCopyRespond)
|
||||
interfaceKey := ctx.Value(constant.InterfaceKey).(string)
|
||||
return out, c.cc.Invoke(ctx, "/"+interfaceKey+"/UploadExcelTwoCopy", in, out)
|
||||
}
|
||||
|
||||
func (c *statementClient) GetAllBatchTimeTx(ctx context.Context, in *GetAllBatchTimeTxRequest, opts ...grpc_go.CallOption) (*GetAllBatchTimeTxRespond, common.ErrorWithAttachment) {
|
||||
out := new(GetAllBatchTimeTxRespond)
|
||||
interfaceKey := ctx.Value(constant.InterfaceKey).(string)
|
||||
return out, c.cc.Invoke(ctx, "/"+interfaceKey+"/GetAllBatchTimeTx", in, out)
|
||||
}
|
||||
|
||||
func (c *statementClient) GetAllBatchTimeCopy(ctx context.Context, in *GetAllBatchTimeCopyRequest, opts ...grpc_go.CallOption) (*GetAllBatchTimeCopyRespond, common.ErrorWithAttachment) {
|
||||
out := new(GetAllBatchTimeCopyRespond)
|
||||
interfaceKey := ctx.Value(constant.InterfaceKey).(string)
|
||||
return out, c.cc.Invoke(ctx, "/"+interfaceKey+"/GetAllBatchTimeCopy", in, out)
|
||||
}
|
||||
|
||||
func (c *statementClient) GetArtworkSoldTxDetailList(ctx context.Context, in *GetArtworkSoldTxDetailListRequest, opts ...grpc_go.CallOption) (*GetArtworkSoldTxDetailListRespond, common.ErrorWithAttachment) {
|
||||
out := new(GetArtworkSoldTxDetailListRespond)
|
||||
interfaceKey := ctx.Value(constant.InterfaceKey).(string)
|
||||
return out, c.cc.Invoke(ctx, "/"+interfaceKey+"/GetArtworkSoldTxDetailList", in, out)
|
||||
}
|
||||
|
||||
func (c *statementClient) GetArtworkSoldCopyDetailList(ctx context.Context, in *GetArtworkSoldCopyDetailListRequest, opts ...grpc_go.CallOption) (*GetArtworkSoldCopyDetailListRespond, common.ErrorWithAttachment) {
|
||||
out := new(GetArtworkSoldCopyDetailListRespond)
|
||||
interfaceKey := ctx.Value(constant.InterfaceKey).(string)
|
||||
return out, c.cc.Invoke(ctx, "/"+interfaceKey+"/GetArtworkSoldCopyDetailList", in, out)
|
||||
}
|
||||
|
||||
func (c *statementClient) StatementList(ctx context.Context, in *StatementListRequest, opts ...grpc_go.CallOption) (*StatementListRespond, common.ErrorWithAttachment) {
|
||||
out := new(StatementListRespond)
|
||||
interfaceKey := ctx.Value(constant.InterfaceKey).(string)
|
||||
@ -77,6 +141,14 @@ func (c *statementClient) GetCopyInfoByBatchUid(ctx context.Context, in *GetCopy
|
||||
// All implementations must embed UnimplementedStatementServer
|
||||
// for forward compatibility
|
||||
type StatementServer interface {
|
||||
UploadExcelOneTx(context.Context, *UploadExcelOneTxRequest) (*UploadExcelOneTxRespond, error)
|
||||
UploadExcelTwoTx(context.Context, *UploadExcelTwoTxRequest) (*UploadExcelTwoTxRespond, error)
|
||||
UploadExcelOneCopy(context.Context, *UploadExcelOneCopyRequest) (*UploadExcelOneCopyRespond, error)
|
||||
UploadExcelTwoCopy(context.Context, *UploadExcelTwoCopyRequest) (*UploadExcelTwoCopyRespond, error)
|
||||
GetAllBatchTimeTx(context.Context, *GetAllBatchTimeTxRequest) (*GetAllBatchTimeTxRespond, error)
|
||||
GetAllBatchTimeCopy(context.Context, *GetAllBatchTimeCopyRequest) (*GetAllBatchTimeCopyRespond, error)
|
||||
GetArtworkSoldTxDetailList(context.Context, *GetArtworkSoldTxDetailListRequest) (*GetArtworkSoldTxDetailListRespond, error)
|
||||
GetArtworkSoldCopyDetailList(context.Context, *GetArtworkSoldCopyDetailListRequest) (*GetArtworkSoldCopyDetailListRespond, error)
|
||||
StatementList(context.Context, *StatementListRequest) (*StatementListRespond, error)
|
||||
GetTxInfoByBatchUid(context.Context, *GetTxInfoByBatchUidRequest) (*GetTxInfoByBatchUidRespond, error)
|
||||
GetCopyInfoByBatchUid(context.Context, *GetCopyInfoByBatchUidRequest) (*GetCopyInfoByBatchUidRespond, error)
|
||||
@ -88,6 +160,30 @@ type UnimplementedStatementServer struct {
|
||||
proxyImpl protocol.Invoker
|
||||
}
|
||||
|
||||
func (UnimplementedStatementServer) UploadExcelOneTx(context.Context, *UploadExcelOneTxRequest) (*UploadExcelOneTxRespond, error) {
|
||||
return nil, status.Errorf(codes.Unimplemented, "method UploadExcelOneTx not implemented")
|
||||
}
|
||||
func (UnimplementedStatementServer) UploadExcelTwoTx(context.Context, *UploadExcelTwoTxRequest) (*UploadExcelTwoTxRespond, error) {
|
||||
return nil, status.Errorf(codes.Unimplemented, "method UploadExcelTwoTx not implemented")
|
||||
}
|
||||
func (UnimplementedStatementServer) UploadExcelOneCopy(context.Context, *UploadExcelOneCopyRequest) (*UploadExcelOneCopyRespond, error) {
|
||||
return nil, status.Errorf(codes.Unimplemented, "method UploadExcelOneCopy not implemented")
|
||||
}
|
||||
func (UnimplementedStatementServer) UploadExcelTwoCopy(context.Context, *UploadExcelTwoCopyRequest) (*UploadExcelTwoCopyRespond, error) {
|
||||
return nil, status.Errorf(codes.Unimplemented, "method UploadExcelTwoCopy not implemented")
|
||||
}
|
||||
func (UnimplementedStatementServer) GetAllBatchTimeTx(context.Context, *GetAllBatchTimeTxRequest) (*GetAllBatchTimeTxRespond, error) {
|
||||
return nil, status.Errorf(codes.Unimplemented, "method GetAllBatchTimeTx not implemented")
|
||||
}
|
||||
func (UnimplementedStatementServer) GetAllBatchTimeCopy(context.Context, *GetAllBatchTimeCopyRequest) (*GetAllBatchTimeCopyRespond, error) {
|
||||
return nil, status.Errorf(codes.Unimplemented, "method GetAllBatchTimeCopy not implemented")
|
||||
}
|
||||
func (UnimplementedStatementServer) GetArtworkSoldTxDetailList(context.Context, *GetArtworkSoldTxDetailListRequest) (*GetArtworkSoldTxDetailListRespond, error) {
|
||||
return nil, status.Errorf(codes.Unimplemented, "method GetArtworkSoldTxDetailList not implemented")
|
||||
}
|
||||
func (UnimplementedStatementServer) GetArtworkSoldCopyDetailList(context.Context, *GetArtworkSoldCopyDetailListRequest) (*GetArtworkSoldCopyDetailListRespond, error) {
|
||||
return nil, status.Errorf(codes.Unimplemented, "method GetArtworkSoldCopyDetailList not implemented")
|
||||
}
|
||||
func (UnimplementedStatementServer) StatementList(context.Context, *StatementListRequest) (*StatementListRespond, error) {
|
||||
return nil, status.Errorf(codes.Unimplemented, "method StatementList not implemented")
|
||||
}
|
||||
@ -125,6 +221,238 @@ func RegisterStatementServer(s grpc_go.ServiceRegistrar, srv StatementServer) {
|
||||
s.RegisterService(&Statement_ServiceDesc, srv)
|
||||
}
|
||||
|
||||
func _Statement_UploadExcelOneTx_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc_go.UnaryServerInterceptor) (interface{}, error) {
|
||||
in := new(UploadExcelOneTxRequest)
|
||||
if err := dec(in); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
base := srv.(dubbo3.Dubbo3GrpcService)
|
||||
args := []interface{}{}
|
||||
args = append(args, in)
|
||||
md, _ := metadata.FromIncomingContext(ctx)
|
||||
invAttachment := make(map[string]interface{}, len(md))
|
||||
for k, v := range md {
|
||||
invAttachment[k] = v
|
||||
}
|
||||
invo := invocation.NewRPCInvocation("UploadExcelOneTx", args, invAttachment)
|
||||
if interceptor == nil {
|
||||
result := base.XXX_GetProxyImpl().Invoke(ctx, invo)
|
||||
return result, result.Error()
|
||||
}
|
||||
info := &grpc_go.UnaryServerInfo{
|
||||
Server: srv,
|
||||
FullMethod: ctx.Value("XXX_TRIPLE_GO_INTERFACE_NAME").(string),
|
||||
}
|
||||
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
|
||||
result := base.XXX_GetProxyImpl().Invoke(ctx, invo)
|
||||
return result, result.Error()
|
||||
}
|
||||
return interceptor(ctx, in, info, handler)
|
||||
}
|
||||
|
||||
func _Statement_UploadExcelTwoTx_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc_go.UnaryServerInterceptor) (interface{}, error) {
|
||||
in := new(UploadExcelTwoTxRequest)
|
||||
if err := dec(in); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
base := srv.(dubbo3.Dubbo3GrpcService)
|
||||
args := []interface{}{}
|
||||
args = append(args, in)
|
||||
md, _ := metadata.FromIncomingContext(ctx)
|
||||
invAttachment := make(map[string]interface{}, len(md))
|
||||
for k, v := range md {
|
||||
invAttachment[k] = v
|
||||
}
|
||||
invo := invocation.NewRPCInvocation("UploadExcelTwoTx", args, invAttachment)
|
||||
if interceptor == nil {
|
||||
result := base.XXX_GetProxyImpl().Invoke(ctx, invo)
|
||||
return result, result.Error()
|
||||
}
|
||||
info := &grpc_go.UnaryServerInfo{
|
||||
Server: srv,
|
||||
FullMethod: ctx.Value("XXX_TRIPLE_GO_INTERFACE_NAME").(string),
|
||||
}
|
||||
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
|
||||
result := base.XXX_GetProxyImpl().Invoke(ctx, invo)
|
||||
return result, result.Error()
|
||||
}
|
||||
return interceptor(ctx, in, info, handler)
|
||||
}
|
||||
|
||||
func _Statement_UploadExcelOneCopy_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc_go.UnaryServerInterceptor) (interface{}, error) {
|
||||
in := new(UploadExcelOneCopyRequest)
|
||||
if err := dec(in); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
base := srv.(dubbo3.Dubbo3GrpcService)
|
||||
args := []interface{}{}
|
||||
args = append(args, in)
|
||||
md, _ := metadata.FromIncomingContext(ctx)
|
||||
invAttachment := make(map[string]interface{}, len(md))
|
||||
for k, v := range md {
|
||||
invAttachment[k] = v
|
||||
}
|
||||
invo := invocation.NewRPCInvocation("UploadExcelOneCopy", args, invAttachment)
|
||||
if interceptor == nil {
|
||||
result := base.XXX_GetProxyImpl().Invoke(ctx, invo)
|
||||
return result, result.Error()
|
||||
}
|
||||
info := &grpc_go.UnaryServerInfo{
|
||||
Server: srv,
|
||||
FullMethod: ctx.Value("XXX_TRIPLE_GO_INTERFACE_NAME").(string),
|
||||
}
|
||||
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
|
||||
result := base.XXX_GetProxyImpl().Invoke(ctx, invo)
|
||||
return result, result.Error()
|
||||
}
|
||||
return interceptor(ctx, in, info, handler)
|
||||
}
|
||||
|
||||
func _Statement_UploadExcelTwoCopy_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc_go.UnaryServerInterceptor) (interface{}, error) {
|
||||
in := new(UploadExcelTwoCopyRequest)
|
||||
if err := dec(in); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
base := srv.(dubbo3.Dubbo3GrpcService)
|
||||
args := []interface{}{}
|
||||
args = append(args, in)
|
||||
md, _ := metadata.FromIncomingContext(ctx)
|
||||
invAttachment := make(map[string]interface{}, len(md))
|
||||
for k, v := range md {
|
||||
invAttachment[k] = v
|
||||
}
|
||||
invo := invocation.NewRPCInvocation("UploadExcelTwoCopy", args, invAttachment)
|
||||
if interceptor == nil {
|
||||
result := base.XXX_GetProxyImpl().Invoke(ctx, invo)
|
||||
return result, result.Error()
|
||||
}
|
||||
info := &grpc_go.UnaryServerInfo{
|
||||
Server: srv,
|
||||
FullMethod: ctx.Value("XXX_TRIPLE_GO_INTERFACE_NAME").(string),
|
||||
}
|
||||
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
|
||||
result := base.XXX_GetProxyImpl().Invoke(ctx, invo)
|
||||
return result, result.Error()
|
||||
}
|
||||
return interceptor(ctx, in, info, handler)
|
||||
}
|
||||
|
||||
func _Statement_GetAllBatchTimeTx_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc_go.UnaryServerInterceptor) (interface{}, error) {
|
||||
in := new(GetAllBatchTimeTxRequest)
|
||||
if err := dec(in); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
base := srv.(dubbo3.Dubbo3GrpcService)
|
||||
args := []interface{}{}
|
||||
args = append(args, in)
|
||||
md, _ := metadata.FromIncomingContext(ctx)
|
||||
invAttachment := make(map[string]interface{}, len(md))
|
||||
for k, v := range md {
|
||||
invAttachment[k] = v
|
||||
}
|
||||
invo := invocation.NewRPCInvocation("GetAllBatchTimeTx", args, invAttachment)
|
||||
if interceptor == nil {
|
||||
result := base.XXX_GetProxyImpl().Invoke(ctx, invo)
|
||||
return result, result.Error()
|
||||
}
|
||||
info := &grpc_go.UnaryServerInfo{
|
||||
Server: srv,
|
||||
FullMethod: ctx.Value("XXX_TRIPLE_GO_INTERFACE_NAME").(string),
|
||||
}
|
||||
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
|
||||
result := base.XXX_GetProxyImpl().Invoke(ctx, invo)
|
||||
return result, result.Error()
|
||||
}
|
||||
return interceptor(ctx, in, info, handler)
|
||||
}
|
||||
|
||||
func _Statement_GetAllBatchTimeCopy_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc_go.UnaryServerInterceptor) (interface{}, error) {
|
||||
in := new(GetAllBatchTimeCopyRequest)
|
||||
if err := dec(in); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
base := srv.(dubbo3.Dubbo3GrpcService)
|
||||
args := []interface{}{}
|
||||
args = append(args, in)
|
||||
md, _ := metadata.FromIncomingContext(ctx)
|
||||
invAttachment := make(map[string]interface{}, len(md))
|
||||
for k, v := range md {
|
||||
invAttachment[k] = v
|
||||
}
|
||||
invo := invocation.NewRPCInvocation("GetAllBatchTimeCopy", args, invAttachment)
|
||||
if interceptor == nil {
|
||||
result := base.XXX_GetProxyImpl().Invoke(ctx, invo)
|
||||
return result, result.Error()
|
||||
}
|
||||
info := &grpc_go.UnaryServerInfo{
|
||||
Server: srv,
|
||||
FullMethod: ctx.Value("XXX_TRIPLE_GO_INTERFACE_NAME").(string),
|
||||
}
|
||||
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
|
||||
result := base.XXX_GetProxyImpl().Invoke(ctx, invo)
|
||||
return result, result.Error()
|
||||
}
|
||||
return interceptor(ctx, in, info, handler)
|
||||
}
|
||||
|
||||
func _Statement_GetArtworkSoldTxDetailList_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc_go.UnaryServerInterceptor) (interface{}, error) {
|
||||
in := new(GetArtworkSoldTxDetailListRequest)
|
||||
if err := dec(in); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
base := srv.(dubbo3.Dubbo3GrpcService)
|
||||
args := []interface{}{}
|
||||
args = append(args, in)
|
||||
md, _ := metadata.FromIncomingContext(ctx)
|
||||
invAttachment := make(map[string]interface{}, len(md))
|
||||
for k, v := range md {
|
||||
invAttachment[k] = v
|
||||
}
|
||||
invo := invocation.NewRPCInvocation("GetArtworkSoldTxDetailList", args, invAttachment)
|
||||
if interceptor == nil {
|
||||
result := base.XXX_GetProxyImpl().Invoke(ctx, invo)
|
||||
return result, result.Error()
|
||||
}
|
||||
info := &grpc_go.UnaryServerInfo{
|
||||
Server: srv,
|
||||
FullMethod: ctx.Value("XXX_TRIPLE_GO_INTERFACE_NAME").(string),
|
||||
}
|
||||
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
|
||||
result := base.XXX_GetProxyImpl().Invoke(ctx, invo)
|
||||
return result, result.Error()
|
||||
}
|
||||
return interceptor(ctx, in, info, handler)
|
||||
}
|
||||
|
||||
func _Statement_GetArtworkSoldCopyDetailList_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc_go.UnaryServerInterceptor) (interface{}, error) {
|
||||
in := new(GetArtworkSoldCopyDetailListRequest)
|
||||
if err := dec(in); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
base := srv.(dubbo3.Dubbo3GrpcService)
|
||||
args := []interface{}{}
|
||||
args = append(args, in)
|
||||
md, _ := metadata.FromIncomingContext(ctx)
|
||||
invAttachment := make(map[string]interface{}, len(md))
|
||||
for k, v := range md {
|
||||
invAttachment[k] = v
|
||||
}
|
||||
invo := invocation.NewRPCInvocation("GetArtworkSoldCopyDetailList", args, invAttachment)
|
||||
if interceptor == nil {
|
||||
result := base.XXX_GetProxyImpl().Invoke(ctx, invo)
|
||||
return result, result.Error()
|
||||
}
|
||||
info := &grpc_go.UnaryServerInfo{
|
||||
Server: srv,
|
||||
FullMethod: ctx.Value("XXX_TRIPLE_GO_INTERFACE_NAME").(string),
|
||||
}
|
||||
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
|
||||
result := base.XXX_GetProxyImpl().Invoke(ctx, invo)
|
||||
return result, result.Error()
|
||||
}
|
||||
return interceptor(ctx, in, info, handler)
|
||||
}
|
||||
|
||||
func _Statement_StatementList_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc_go.UnaryServerInterceptor) (interface{}, error) {
|
||||
in := new(StatementListRequest)
|
||||
if err := dec(in); err != nil {
|
||||
@ -219,6 +547,38 @@ var Statement_ServiceDesc = grpc_go.ServiceDesc{
|
||||
ServiceName: "statement.Statement",
|
||||
HandlerType: (*StatementServer)(nil),
|
||||
Methods: []grpc_go.MethodDesc{
|
||||
{
|
||||
MethodName: "UploadExcelOneTx",
|
||||
Handler: _Statement_UploadExcelOneTx_Handler,
|
||||
},
|
||||
{
|
||||
MethodName: "UploadExcelTwoTx",
|
||||
Handler: _Statement_UploadExcelTwoTx_Handler,
|
||||
},
|
||||
{
|
||||
MethodName: "UploadExcelOneCopy",
|
||||
Handler: _Statement_UploadExcelOneCopy_Handler,
|
||||
},
|
||||
{
|
||||
MethodName: "UploadExcelTwoCopy",
|
||||
Handler: _Statement_UploadExcelTwoCopy_Handler,
|
||||
},
|
||||
{
|
||||
MethodName: "GetAllBatchTimeTx",
|
||||
Handler: _Statement_GetAllBatchTimeTx_Handler,
|
||||
},
|
||||
{
|
||||
MethodName: "GetAllBatchTimeCopy",
|
||||
Handler: _Statement_GetAllBatchTimeCopy_Handler,
|
||||
},
|
||||
{
|
||||
MethodName: "GetArtworkSoldTxDetailList",
|
||||
Handler: _Statement_GetArtworkSoldTxDetailList_Handler,
|
||||
},
|
||||
{
|
||||
MethodName: "GetArtworkSoldCopyDetailList",
|
||||
Handler: _Statement_GetArtworkSoldCopyDetailList_Handler,
|
||||
},
|
||||
{
|
||||
MethodName: "StatementList",
|
||||
Handler: _Statement_StatementList_Handler,
|
||||
@ -233,5 +593,5 @@ var Statement_ServiceDesc = grpc_go.ServiceDesc{
|
||||
},
|
||||
},
|
||||
Streams: []grpc_go.StreamDesc{},
|
||||
Metadata: "statement.proto",
|
||||
Metadata: "Statement.proto",
|
||||
}
|
||||
|
@ -40,7 +40,7 @@ type Contracts struct {
|
||||
SignTime string `protobuf:"bytes,13,opt,name=SignTime,json=sign_time,proto3" json:"SignTime,omitempty"`
|
||||
BatchTime string `protobuf:"bytes,14,opt,name=BatchTime,json=batch_time,proto3" json:"BatchTime,omitempty"`
|
||||
BatchUid string `protobuf:"bytes,15,opt,name=BatchUid,json=batch_uid,proto3" json:"BatchUid,omitempty"`
|
||||
StType int32 `protobuf:"varint,16,opt,name=StType,json=st_yype,proto3" json:"StType,omitempty"`
|
||||
StType int32 `protobuf:"varint,16,opt,name=StType,json=st_type,proto3" json:"StType,omitempty"`
|
||||
}
|
||||
|
||||
func (x *Contracts) Reset() {
|
||||
@ -194,7 +194,9 @@ type CreateContractRequest struct {
|
||||
|
||||
ArtistUid string `protobuf:"bytes,1,opt,name=ArtistUid,json=artist_uid,proto3" json:"ArtistUid,omitempty"`
|
||||
ArtworkUid []string `protobuf:"bytes,2,rep,name=ArtworkUid,json=artwork_uid,proto3" json:"ArtworkUid,omitempty"`
|
||||
Type int32 `protobuf:"varint,3,opt,name=Type,json=type,proto3" json:"Type,omitempty"`
|
||||
BatchUid string `protobuf:"bytes,3,opt,name=BatchUid,json=batch_uid,proto3" json:"BatchUid,omitempty"`
|
||||
BatchTime string `protobuf:"bytes,4,opt,name=BatchTime,json=batch_time,proto3" json:"BatchTime,omitempty"`
|
||||
Type int32 `protobuf:"varint,5,opt,name=Type,json=type,proto3" json:"Type,omitempty"`
|
||||
}
|
||||
|
||||
func (x *CreateContractRequest) Reset() {
|
||||
@ -243,6 +245,20 @@ func (x *CreateContractRequest) GetArtworkUid() []string {
|
||||
return nil
|
||||
}
|
||||
|
||||
func (x *CreateContractRequest) GetBatchUid() string {
|
||||
if x != nil {
|
||||
return x.BatchUid
|
||||
}
|
||||
return ""
|
||||
}
|
||||
|
||||
func (x *CreateContractRequest) GetBatchTime() string {
|
||||
if x != nil {
|
||||
return x.BatchTime
|
||||
}
|
||||
return ""
|
||||
}
|
||||
|
||||
func (x *CreateContractRequest) GetType() int32 {
|
||||
if x != nil {
|
||||
return x.Type
|
||||
@ -1441,194 +1457,198 @@ var file_contract_proto_rawDesc = []byte{
|
||||
0x0a, 0x62, 0x61, 0x74, 0x63, 0x68, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x12, 0x1b, 0x0a, 0x08, 0x42,
|
||||
0x61, 0x74, 0x63, 0x68, 0x55, 0x69, 0x64, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x62,
|
||||
0x61, 0x74, 0x63, 0x68, 0x5f, 0x75, 0x69, 0x64, 0x12, 0x17, 0x0a, 0x06, 0x53, 0x74, 0x54, 0x79,
|
||||
0x70, 0x65, 0x18, 0x10, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x73, 0x74, 0x5f, 0x79, 0x79, 0x70,
|
||||
0x65, 0x22, 0x6b, 0x0a, 0x15, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x74, 0x72,
|
||||
0x61, 0x63, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1d, 0x0a, 0x09, 0x41, 0x72,
|
||||
0x74, 0x69, 0x73, 0x74, 0x55, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x61,
|
||||
0x72, 0x74, 0x69, 0x73, 0x74, 0x5f, 0x75, 0x69, 0x64, 0x12, 0x1f, 0x0a, 0x0a, 0x41, 0x72, 0x74,
|
||||
0x77, 0x6f, 0x72, 0x6b, 0x55, 0x69, 0x64, 0x18, 0x02, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0b, 0x61,
|
||||
0x72, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x5f, 0x75, 0x69, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x54, 0x79,
|
||||
0x70, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x22, 0x29,
|
||||
0x0a, 0x15, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74,
|
||||
0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x64, 0x12, 0x10, 0x0a, 0x03, 0x4d, 0x73, 0x67, 0x18, 0x01,
|
||||
0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6d, 0x73, 0x67, 0x22, 0x76, 0x0a, 0x17, 0x43, 0x6f, 0x6e,
|
||||
0x74, 0x72, 0x61, 0x63, 0x74, 0x4c, 0x69, 0x73, 0x74, 0x4d, 0x67, 0x6d, 0x74, 0x52, 0x65, 0x71,
|
||||
0x75, 0x65, 0x73, 0x74, 0x12, 0x1d, 0x0a, 0x09, 0x41, 0x72, 0x74, 0x69, 0x73, 0x74, 0x55, 0x69,
|
||||
0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x61, 0x72, 0x74, 0x69, 0x73, 0x74, 0x5f,
|
||||
0x75, 0x69, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x02, 0x20,
|
||||
0x01, 0x28, 0x05, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x12, 0x0a, 0x04, 0x50,
|
||||
0x61, 0x67, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x70, 0x61, 0x67, 0x65, 0x12,
|
||||
0x10, 0x0a, 0x03, 0x4e, 0x75, 0x6d, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x03, 0x6e, 0x75,
|
||||
0x6d, 0x22, 0x5a, 0x0a, 0x17, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x4c, 0x69, 0x73,
|
||||
0x74, 0x4d, 0x67, 0x6d, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x64, 0x12, 0x2d, 0x0a, 0x04,
|
||||
0x44, 0x61, 0x74, 0x61, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x61, 0x72, 0x74,
|
||||
0x69, 0x73, 0x74, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x2e, 0x43, 0x6f, 0x6e, 0x74,
|
||||
0x72, 0x61, 0x63, 0x74, 0x73, 0x52, 0x04, 0x64, 0x61, 0x74, 0x61, 0x12, 0x10, 0x0a, 0x03, 0x4d,
|
||||
0x73, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6d, 0x73, 0x67, 0x22, 0x7a, 0x0a,
|
||||
0x13, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x71,
|
||||
0x75, 0x65, 0x73, 0x74, 0x12, 0x1d, 0x0a, 0x09, 0x41, 0x72, 0x74, 0x69, 0x73, 0x74, 0x55, 0x69,
|
||||
0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x61, 0x72, 0x74, 0x69, 0x73, 0x74, 0x5f,
|
||||
0x75, 0x69, 0x64, 0x12, 0x1a, 0x0a, 0x08, 0x50, 0x61, 0x67, 0x65, 0x53, 0x69, 0x7a, 0x65, 0x18,
|
||||
0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x70, 0x61, 0x67, 0x65, 0x53, 0x69, 0x7a, 0x65, 0x12,
|
||||
0x12, 0x0a, 0x04, 0x50, 0x61, 0x67, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x70,
|
||||
0x61, 0x67, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x53, 0x74, 0x61, 0x74, 0x65, 0x18, 0x04, 0x20, 0x01,
|
||||
0x28, 0x05, 0x52, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x22, 0x56, 0x0a, 0x13, 0x43, 0x6f, 0x6e,
|
||||
0x74, 0x72, 0x61, 0x63, 0x74, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x64,
|
||||
0x70, 0x65, 0x18, 0x10, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x73, 0x74, 0x5f, 0x74, 0x79, 0x70,
|
||||
0x65, 0x22, 0xa7, 0x01, 0x0a, 0x15, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x74,
|
||||
0x72, 0x61, 0x63, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1d, 0x0a, 0x09, 0x41,
|
||||
0x72, 0x74, 0x69, 0x73, 0x74, 0x55, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a,
|
||||
0x61, 0x72, 0x74, 0x69, 0x73, 0x74, 0x5f, 0x75, 0x69, 0x64, 0x12, 0x1f, 0x0a, 0x0a, 0x41, 0x72,
|
||||
0x74, 0x77, 0x6f, 0x72, 0x6b, 0x55, 0x69, 0x64, 0x18, 0x02, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0b,
|
||||
0x61, 0x72, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x5f, 0x75, 0x69, 0x64, 0x12, 0x1b, 0x0a, 0x08, 0x42,
|
||||
0x61, 0x74, 0x63, 0x68, 0x55, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x62,
|
||||
0x61, 0x74, 0x63, 0x68, 0x5f, 0x75, 0x69, 0x64, 0x12, 0x1d, 0x0a, 0x09, 0x42, 0x61, 0x74, 0x63,
|
||||
0x68, 0x54, 0x69, 0x6d, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x62, 0x61, 0x74,
|
||||
0x63, 0x68, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x54, 0x79, 0x70, 0x65, 0x18,
|
||||
0x05, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x22, 0x29, 0x0a, 0x15, 0x43,
|
||||
0x72, 0x65, 0x61, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x52, 0x65, 0x73,
|
||||
0x70, 0x6f, 0x6e, 0x64, 0x12, 0x10, 0x0a, 0x03, 0x4d, 0x73, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28,
|
||||
0x09, 0x52, 0x03, 0x6d, 0x73, 0x67, 0x22, 0x76, 0x0a, 0x17, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x61,
|
||||
0x63, 0x74, 0x4c, 0x69, 0x73, 0x74, 0x4d, 0x67, 0x6d, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73,
|
||||
0x74, 0x12, 0x1d, 0x0a, 0x09, 0x41, 0x72, 0x74, 0x69, 0x73, 0x74, 0x55, 0x69, 0x64, 0x18, 0x01,
|
||||
0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x61, 0x72, 0x74, 0x69, 0x73, 0x74, 0x5f, 0x75, 0x69, 0x64,
|
||||
0x12, 0x16, 0x0a, 0x06, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05,
|
||||
0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x12, 0x0a, 0x04, 0x50, 0x61, 0x67, 0x65,
|
||||
0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x70, 0x61, 0x67, 0x65, 0x12, 0x10, 0x0a, 0x03,
|
||||
0x4e, 0x75, 0x6d, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x03, 0x6e, 0x75, 0x6d, 0x22, 0x5a,
|
||||
0x0a, 0x17, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x4c, 0x69, 0x73, 0x74, 0x4d, 0x67,
|
||||
0x6d, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x64, 0x12, 0x2d, 0x0a, 0x04, 0x44, 0x61, 0x74,
|
||||
0x61, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x61, 0x72, 0x74, 0x69, 0x73, 0x74,
|
||||
0x43, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x2e, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63,
|
||||
0x74, 0x73, 0x52, 0x04, 0x64, 0x61, 0x74, 0x61, 0x12, 0x10, 0x0a, 0x03, 0x4d, 0x73, 0x67, 0x18,
|
||||
0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6d, 0x73, 0x67, 0x22, 0x7a, 0x0a, 0x13, 0x43, 0x6f,
|
||||
0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73,
|
||||
0x74, 0x12, 0x1d, 0x0a, 0x09, 0x41, 0x72, 0x74, 0x69, 0x73, 0x74, 0x55, 0x69, 0x64, 0x18, 0x01,
|
||||
0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x61, 0x72, 0x74, 0x69, 0x73, 0x74, 0x5f, 0x75, 0x69, 0x64,
|
||||
0x12, 0x1a, 0x0a, 0x08, 0x50, 0x61, 0x67, 0x65, 0x53, 0x69, 0x7a, 0x65, 0x18, 0x02, 0x20, 0x01,
|
||||
0x28, 0x05, 0x52, 0x08, 0x70, 0x61, 0x67, 0x65, 0x53, 0x69, 0x7a, 0x65, 0x12, 0x12, 0x0a, 0x04,
|
||||
0x50, 0x61, 0x67, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x70, 0x61, 0x67, 0x65,
|
||||
0x12, 0x14, 0x0a, 0x05, 0x53, 0x74, 0x61, 0x74, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52,
|
||||
0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x22, 0x56, 0x0a, 0x13, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x61,
|
||||
0x63, 0x74, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x64, 0x12, 0x2d, 0x0a,
|
||||
0x04, 0x44, 0x61, 0x74, 0x61, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x61, 0x72,
|
||||
0x74, 0x69, 0x73, 0x74, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x2e, 0x43, 0x6f, 0x6e,
|
||||
0x74, 0x72, 0x61, 0x63, 0x74, 0x73, 0x52, 0x04, 0x64, 0x61, 0x74, 0x61, 0x12, 0x10, 0x0a, 0x03,
|
||||
0x4d, 0x73, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6d, 0x73, 0x67, 0x22, 0xb2,
|
||||
0x02, 0x0a, 0x13, 0x53, 0x69, 0x67, 0x6e, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x52,
|
||||
0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1d, 0x0a, 0x09, 0x41, 0x72, 0x74, 0x69, 0x73, 0x74,
|
||||
0x55, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x61, 0x72, 0x74, 0x69, 0x73,
|
||||
0x74, 0x5f, 0x75, 0x69, 0x64, 0x12, 0x21, 0x0a, 0x0b, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63,
|
||||
0x74, 0x55, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x63, 0x6f, 0x6e, 0x74,
|
||||
0x72, 0x61, 0x63, 0x74, 0x5f, 0x75, 0x69, 0x64, 0x12, 0x14, 0x0a, 0x05, 0x54, 0x6f, 0x6b, 0x65,
|
||||
0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x12, 0x1b,
|
||||
0x0a, 0x08, 0x48, 0x74, 0x6d, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09,
|
||||
0x52, 0x09, 0x68, 0x74, 0x6d, 0x6c, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x12, 0x19, 0x0a, 0x07, 0x45,
|
||||
0x6e, 0x76, 0x54, 0x79, 0x70, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x65, 0x6e,
|
||||
0x76, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x12, 0x20, 0x0a, 0x0a, 0x56, 0x69, 0x65, 0x77, 0x50, 0x64,
|
||||
0x66, 0x55, 0x72, 0x6c, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x76, 0x69, 0x65, 0x77,
|
||||
0x5f, 0x70, 0x64, 0x66, 0x5f, 0x75, 0x72, 0x6c, 0x12, 0x21, 0x0a, 0x0b, 0x44, 0x6f, 0x77, 0x6e,
|
||||
0x6c, 0x6f, 0x61, 0x64, 0x55, 0x72, 0x6c, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x64,
|
||||
0x6f, 0x77, 0x6e, 0x6c, 0x6f, 0x61, 0x64, 0x5f, 0x75, 0x72, 0x6c, 0x12, 0x1f, 0x0a, 0x0a, 0x43,
|
||||
0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x4e, 0x6f, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52,
|
||||
0x0b, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x5f, 0x6e, 0x6f, 0x12, 0x25, 0x0a, 0x0d,
|
||||
0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x18, 0x09, 0x20,
|
||||
0x01, 0x28, 0x09, 0x52, 0x0e, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e,
|
||||
0x5f, 0x69, 0x64, 0x22, 0x42, 0x0a, 0x13, 0x53, 0x69, 0x67, 0x6e, 0x43, 0x6f, 0x6e, 0x74, 0x72,
|
||||
0x61, 0x63, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x64, 0x12, 0x19, 0x0a, 0x07, 0x4a, 0x75,
|
||||
0x6d, 0x70, 0x55, 0x72, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6a, 0x75, 0x6d,
|
||||
0x70, 0x5f, 0x75, 0x72, 0x6c, 0x12, 0x10, 0x0a, 0x03, 0x4d, 0x73, 0x67, 0x18, 0x02, 0x20, 0x01,
|
||||
0x28, 0x09, 0x52, 0x03, 0x6d, 0x73, 0x67, 0x22, 0x61, 0x0a, 0x15, 0x46, 0x69, 0x6e, 0x69, 0x73,
|
||||
0x68, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74,
|
||||
0x12, 0x25, 0x0a, 0x0d, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x49,
|
||||
0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63,
|
||||
0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x12, 0x21, 0x0a, 0x0b, 0x43, 0x6f, 0x6e, 0x74, 0x72,
|
||||
0x61, 0x63, 0x74, 0x55, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x63, 0x6f,
|
||||
0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x5f, 0x75, 0x69, 0x64, 0x22, 0x5b, 0x0a, 0x15, 0x46, 0x69,
|
||||
0x6e, 0x69, 0x73, 0x68, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x52, 0x65, 0x73, 0x70,
|
||||
0x6f, 0x6e, 0x64, 0x12, 0x30, 0x0a, 0x08, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x18,
|
||||
0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x61, 0x72, 0x74, 0x69, 0x73, 0x74, 0x43, 0x6f,
|
||||
0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x2e, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x73,
|
||||
0x52, 0x03, 0x6d, 0x73, 0x67, 0x12, 0x10, 0x0a, 0x03, 0x4d, 0x73, 0x67, 0x18, 0x02, 0x20, 0x01,
|
||||
0x28, 0x09, 0x52, 0x03, 0x6d, 0x73, 0x67, 0x22, 0x6e, 0x0a, 0x15, 0x43, 0x6f, 0x6e, 0x74, 0x72,
|
||||
0x61, 0x63, 0x74, 0x54, 0x78, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74,
|
||||
0x12, 0x0e, 0x0a, 0x02, 0x49, 0x44, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x02, 0x69, 0x64,
|
||||
0x12, 0x1b, 0x0a, 0x08, 0x50, 0x61, 0x67, 0x65, 0x53, 0x69, 0x7a, 0x65, 0x18, 0x02, 0x20, 0x01,
|
||||
0x28, 0x05, 0x52, 0x09, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x12, 0x12, 0x0a,
|
||||
0x04, 0x50, 0x61, 0x67, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x70, 0x61, 0x67,
|
||||
0x65, 0x12, 0x14, 0x0a, 0x05, 0x53, 0x74, 0x61, 0x74, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05,
|
||||
0x52, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x22, 0x58, 0x0a, 0x15, 0x43, 0x6f, 0x6e, 0x74, 0x72,
|
||||
0x61, 0x63, 0x74, 0x54, 0x78, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x64,
|
||||
0x12, 0x2d, 0x0a, 0x04, 0x44, 0x61, 0x74, 0x61, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x19,
|
||||
0x2e, 0x61, 0x72, 0x74, 0x69, 0x73, 0x74, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x2e,
|
||||
0x43, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x73, 0x52, 0x04, 0x64, 0x61, 0x74, 0x61, 0x12,
|
||||
0x43, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x73, 0x52, 0x04, 0x44, 0x61, 0x74, 0x61, 0x12,
|
||||
0x10, 0x0a, 0x03, 0x4d, 0x73, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6d, 0x73,
|
||||
0x67, 0x22, 0xb2, 0x02, 0x0a, 0x13, 0x53, 0x69, 0x67, 0x6e, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x61,
|
||||
0x63, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1d, 0x0a, 0x09, 0x41, 0x72, 0x74,
|
||||
0x69, 0x73, 0x74, 0x55, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x61, 0x72,
|
||||
0x74, 0x69, 0x73, 0x74, 0x5f, 0x75, 0x69, 0x64, 0x12, 0x21, 0x0a, 0x0b, 0x43, 0x6f, 0x6e, 0x74,
|
||||
0x72, 0x61, 0x63, 0x74, 0x55, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x63,
|
||||
0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x5f, 0x75, 0x69, 0x64, 0x12, 0x14, 0x0a, 0x05, 0x54,
|
||||
0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x74, 0x6f, 0x6b, 0x65,
|
||||
0x6e, 0x12, 0x1b, 0x0a, 0x08, 0x48, 0x74, 0x6d, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x18, 0x04, 0x20,
|
||||
0x01, 0x28, 0x09, 0x52, 0x09, 0x68, 0x74, 0x6d, 0x6c, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x12, 0x19,
|
||||
0x0a, 0x07, 0x45, 0x6e, 0x76, 0x54, 0x79, 0x70, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52,
|
||||
0x08, 0x65, 0x6e, 0x76, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x12, 0x20, 0x0a, 0x0a, 0x56, 0x69, 0x65,
|
||||
0x77, 0x50, 0x64, 0x66, 0x55, 0x72, 0x6c, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x76,
|
||||
0x69, 0x65, 0x77, 0x5f, 0x70, 0x64, 0x66, 0x5f, 0x75, 0x72, 0x6c, 0x12, 0x21, 0x0a, 0x0b, 0x44,
|
||||
0x6f, 0x77, 0x6e, 0x6c, 0x6f, 0x61, 0x64, 0x55, 0x72, 0x6c, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09,
|
||||
0x52, 0x0c, 0x64, 0x6f, 0x77, 0x6e, 0x6c, 0x6f, 0x61, 0x64, 0x5f, 0x75, 0x72, 0x6c, 0x12, 0x1f,
|
||||
0x0a, 0x0a, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x4e, 0x6f, 0x18, 0x08, 0x20, 0x01,
|
||||
0x28, 0x09, 0x52, 0x0b, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x5f, 0x6e, 0x6f, 0x12,
|
||||
0x25, 0x0a, 0x0d, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64,
|
||||
0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74,
|
||||
0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x22, 0x42, 0x0a, 0x13, 0x53, 0x69, 0x67, 0x6e, 0x43, 0x6f,
|
||||
0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x64, 0x12, 0x19, 0x0a,
|
||||
0x07, 0x4a, 0x75, 0x6d, 0x70, 0x55, 0x72, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08,
|
||||
0x6a, 0x75, 0x6d, 0x70, 0x5f, 0x75, 0x72, 0x6c, 0x12, 0x10, 0x0a, 0x03, 0x4d, 0x73, 0x67, 0x18,
|
||||
0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6d, 0x73, 0x67, 0x22, 0x61, 0x0a, 0x15, 0x46, 0x69,
|
||||
0x6e, 0x69, 0x73, 0x68, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x52, 0x65, 0x71, 0x75,
|
||||
0x65, 0x73, 0x74, 0x12, 0x25, 0x0a, 0x0d, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69,
|
||||
0x6f, 0x6e, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x74, 0x72, 0x61, 0x6e,
|
||||
0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x12, 0x21, 0x0a, 0x0b, 0x43, 0x6f,
|
||||
0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x55, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52,
|
||||
0x0c, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x5f, 0x75, 0x69, 0x64, 0x22, 0x5b, 0x0a,
|
||||
0x15, 0x46, 0x69, 0x6e, 0x69, 0x73, 0x68, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x52,
|
||||
0x65, 0x73, 0x70, 0x6f, 0x6e, 0x64, 0x12, 0x30, 0x0a, 0x08, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x61,
|
||||
0x63, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x61, 0x72, 0x74, 0x69, 0x73,
|
||||
0x74, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x2e, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x61,
|
||||
0x63, 0x74, 0x73, 0x52, 0x03, 0x6d, 0x73, 0x67, 0x12, 0x10, 0x0a, 0x03, 0x4d, 0x73, 0x67, 0x18,
|
||||
0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6d, 0x73, 0x67, 0x22, 0x6e, 0x0a, 0x15, 0x43, 0x6f,
|
||||
0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x54, 0x78, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x71, 0x75,
|
||||
0x65, 0x73, 0x74, 0x12, 0x0e, 0x0a, 0x02, 0x49, 0x44, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52,
|
||||
0x02, 0x69, 0x64, 0x12, 0x1b, 0x0a, 0x08, 0x50, 0x61, 0x67, 0x65, 0x53, 0x69, 0x7a, 0x65, 0x18,
|
||||
0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x09, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x73, 0x69, 0x7a, 0x65,
|
||||
0x12, 0x12, 0x0a, 0x04, 0x50, 0x61, 0x67, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04,
|
||||
0x70, 0x61, 0x67, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x53, 0x74, 0x61, 0x74, 0x65, 0x18, 0x04, 0x20,
|
||||
0x01, 0x28, 0x05, 0x52, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x22, 0x58, 0x0a, 0x15, 0x43, 0x6f,
|
||||
0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x54, 0x78, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, 0x70,
|
||||
0x6f, 0x6e, 0x64, 0x12, 0x2d, 0x0a, 0x04, 0x44, 0x61, 0x74, 0x61, 0x18, 0x01, 0x20, 0x03, 0x28,
|
||||
0x0b, 0x32, 0x19, 0x2e, 0x61, 0x72, 0x74, 0x69, 0x73, 0x74, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x61,
|
||||
0x63, 0x74, 0x2e, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x73, 0x52, 0x04, 0x44, 0x61,
|
||||
0x74, 0x61, 0x12, 0x10, 0x0a, 0x03, 0x4d, 0x73, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52,
|
||||
0x03, 0x6d, 0x73, 0x67, 0x22, 0x49, 0x0a, 0x23, 0x47, 0x65, 0x74, 0x43, 0x6f, 0x6e, 0x74, 0x72,
|
||||
0x61, 0x63, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x42, 0x79, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63,
|
||||
0x74, 0x55, 0x69, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x22, 0x0a, 0x0b, 0x43,
|
||||
0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x55, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09,
|
||||
0x52, 0x0d, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x22,
|
||||
0x66, 0x0a, 0x23, 0x47, 0x65, 0x74, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x49, 0x6e,
|
||||
0x66, 0x6f, 0x42, 0x79, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x55, 0x69, 0x64, 0x52,
|
||||
0x65, 0x73, 0x70, 0x6f, 0x6e, 0x64, 0x12, 0x2d, 0x0a, 0x04, 0x44, 0x61, 0x74, 0x61, 0x18, 0x01,
|
||||
0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x61, 0x72, 0x74, 0x69, 0x73, 0x74, 0x43, 0x6f, 0x6e,
|
||||
0x74, 0x72, 0x61, 0x63, 0x74, 0x2e, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x73, 0x52,
|
||||
0x04, 0x64, 0x61, 0x74, 0x61, 0x12, 0x10, 0x0a, 0x03, 0x4d, 0x73, 0x67, 0x18, 0x02, 0x20, 0x01,
|
||||
0x28, 0x09, 0x52, 0x03, 0x6d, 0x73, 0x67, 0x22, 0x24, 0x0a, 0x12, 0x47, 0x65, 0x74, 0x43, 0x6f,
|
||||
0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x0e, 0x0a,
|
||||
0x02, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x02, 0x69, 0x64, 0x22, 0xfd, 0x03,
|
||||
0x0a, 0x15, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74,
|
||||
0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x0e, 0x0a, 0x02, 0x49, 0x44, 0x18, 0x01, 0x20,
|
||||
0x01, 0x28, 0x04, 0x52, 0x02, 0x69, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x55, 0x73, 0x65, 0x72, 0x49,
|
||||
0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x06, 0x75, 0x73, 0x65, 0x72, 0x49, 0x64, 0x12,
|
||||
0x16, 0x0a, 0x06, 0x43, 0x61, 0x72, 0x64, 0x49, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52,
|
||||
0x06, 0x63, 0x61, 0x72, 0x64, 0x49, 0x64, 0x12, 0x1e, 0x0a, 0x0a, 0x4d, 0x67, 0x6d, 0x74, 0x55,
|
||||
0x73, 0x65, 0x72, 0x49, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x6d, 0x67, 0x6d,
|
||||
0x74, 0x55, 0x73, 0x65, 0x72, 0x49, 0x64, 0x12, 0x1c, 0x0a, 0x09, 0x41, 0x72, 0x74, 0x77, 0x6f,
|
||||
0x72, 0x6b, 0x49, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x61, 0x72, 0x74, 0x77,
|
||||
0x6f, 0x72, 0x6b, 0x49, 0x64, 0x12, 0x1e, 0x0a, 0x0a, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63,
|
||||
0x74, 0x49, 0x64, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x63, 0x6f, 0x6e, 0x74, 0x72,
|
||||
0x61, 0x63, 0x74, 0x49, 0x64, 0x12, 0x24, 0x0a, 0x0d, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63,
|
||||
0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x74, 0x72,
|
||||
0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x54,
|
||||
0x79, 0x70, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x03, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x12,
|
||||
0x18, 0x0a, 0x07, 0x42, 0x61, 0x74, 0x63, 0x68, 0x49, 0x64, 0x18, 0x09, 0x20, 0x01, 0x28, 0x03,
|
||||
0x52, 0x07, 0x62, 0x61, 0x74, 0x63, 0x68, 0x49, 0x64, 0x12, 0x1c, 0x0a, 0x09, 0x42, 0x61, 0x74,
|
||||
0x63, 0x68, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x62, 0x61,
|
||||
0x74, 0x63, 0x68, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x56, 0x69, 0x65, 0x77, 0x55,
|
||||
0x72, 0x6c, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x76, 0x69, 0x65, 0x77, 0x55, 0x72,
|
||||
0x6c, 0x12, 0x20, 0x0a, 0x0b, 0x44, 0x6f, 0x77, 0x6e, 0x6c, 0x6f, 0x61, 0x64, 0x55, 0x72, 0x6c,
|
||||
0x18, 0x0c, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x64, 0x6f, 0x77, 0x6e, 0x6c, 0x6f, 0x61, 0x64,
|
||||
0x55, 0x72, 0x6c, 0x12, 0x14, 0x0a, 0x05, 0x53, 0x74, 0x61, 0x74, 0x65, 0x18, 0x0d, 0x20, 0x01,
|
||||
0x28, 0x03, 0x52, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x12, 0x1e, 0x0a, 0x0a, 0x55, 0x70, 0x64,
|
||||
0x61, 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x75,
|
||||
0x70, 0x64, 0x61, 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x1e, 0x0a, 0x0a, 0x43, 0x72, 0x65,
|
||||
0x61, 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x63,
|
||||
0x72, 0x65, 0x61, 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x26, 0x0a, 0x0e, 0x45, 0x78, 0x70,
|
||||
0x69, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x69, 0x6d, 0x65, 0x18, 0x10, 0x20, 0x01, 0x28,
|
||||
0x09, 0x52, 0x0e, 0x65, 0x78, 0x70, 0x69, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x69, 0x6d,
|
||||
0x65, 0x12, 0x1a, 0x0a, 0x08, 0x53, 0x69, 0x67, 0x6e, 0x54, 0x69, 0x6d, 0x65, 0x18, 0x11, 0x20,
|
||||
0x01, 0x28, 0x09, 0x52, 0x08, 0x73, 0x69, 0x67, 0x6e, 0x54, 0x69, 0x6d, 0x65, 0x22, 0x17, 0x0a,
|
||||
0x15, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x52,
|
||||
0x65, 0x73, 0x70, 0x6f, 0x6e, 0x64, 0x22, 0x4f, 0x0a, 0x17, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65,
|
||||
0x43, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x54, 0x78, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73,
|
||||
0x74, 0x12, 0x0e, 0x0a, 0x02, 0x49, 0x44, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x02, 0x69,
|
||||
0x64, 0x12, 0x24, 0x0a, 0x0d, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e,
|
||||
0x49, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x61,
|
||||
0x63, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x22, 0x19, 0x0a, 0x17, 0x55, 0x70, 0x64, 0x61, 0x74,
|
||||
0x65, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x54, 0x78, 0x52, 0x65, 0x73, 0x70, 0x6f,
|
||||
0x6e, 0x64, 0x32, 0xe3, 0x05, 0x0a, 0x0e, 0x41, 0x72, 0x74, 0x69, 0x73, 0x74, 0x43, 0x6f, 0x6e,
|
||||
0x74, 0x72, 0x61, 0x63, 0x74, 0x12, 0x60, 0x0a, 0x0e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x43,
|
||||
0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x12, 0x25, 0x2e, 0x61, 0x72, 0x74, 0x69, 0x73, 0x74,
|
||||
0x43, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x43,
|
||||
0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x25,
|
||||
0x2e, 0x61, 0x72, 0x74, 0x69, 0x73, 0x74, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x2e,
|
||||
0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x52, 0x65,
|
||||
0x73, 0x70, 0x6f, 0x6e, 0x64, 0x22, 0x00, 0x12, 0x66, 0x0a, 0x10, 0x43, 0x6f, 0x6e, 0x74, 0x72,
|
||||
0x61, 0x63, 0x74, 0x4c, 0x69, 0x73, 0x74, 0x4d, 0x67, 0x6d, 0x74, 0x12, 0x27, 0x2e, 0x61, 0x72,
|
||||
0x74, 0x69, 0x73, 0x74, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x2e, 0x43, 0x6f, 0x6e,
|
||||
0x74, 0x72, 0x61, 0x63, 0x74, 0x4c, 0x69, 0x73, 0x74, 0x4d, 0x67, 0x6d, 0x74, 0x52, 0x65, 0x71,
|
||||
0x75, 0x65, 0x73, 0x74, 0x1a, 0x27, 0x2e, 0x61, 0x72, 0x74, 0x69, 0x73, 0x74, 0x43, 0x6f, 0x6e,
|
||||
0x74, 0x72, 0x61, 0x63, 0x74, 0x2e, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x4c, 0x69,
|
||||
0x73, 0x74, 0x4d, 0x67, 0x6d, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x64, 0x22, 0x00, 0x12,
|
||||
0x5a, 0x0a, 0x0c, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x4c, 0x69, 0x73, 0x74, 0x12,
|
||||
0x23, 0x2e, 0x61, 0x72, 0x74, 0x69, 0x73, 0x74, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74,
|
||||
0x2e, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x71,
|
||||
0x75, 0x65, 0x73, 0x74, 0x1a, 0x23, 0x2e, 0x61, 0x72, 0x74, 0x69, 0x73, 0x74, 0x43, 0x6f, 0x6e,
|
||||
0x74, 0x72, 0x61, 0x63, 0x74, 0x2e, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x4c, 0x69,
|
||||
0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x64, 0x22, 0x00, 0x12, 0x5a, 0x0a, 0x0c, 0x53,
|
||||
0x69, 0x67, 0x6e, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x12, 0x23, 0x2e, 0x61, 0x72,
|
||||
0x74, 0x69, 0x73, 0x74, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x2e, 0x53, 0x69, 0x67,
|
||||
0x6e, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74,
|
||||
0x1a, 0x23, 0x2e, 0x61, 0x72, 0x74, 0x69, 0x73, 0x74, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63,
|
||||
0x74, 0x2e, 0x53, 0x69, 0x67, 0x6e, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x52, 0x65,
|
||||
0x73, 0x70, 0x6f, 0x6e, 0x64, 0x22, 0x00, 0x12, 0x60, 0x0a, 0x0e, 0x46, 0x69, 0x6e, 0x69, 0x73,
|
||||
0x68, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x12, 0x25, 0x2e, 0x61, 0x72, 0x74, 0x69,
|
||||
0x73, 0x74, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x2e, 0x46, 0x69, 0x6e, 0x69, 0x73,
|
||||
0x68, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74,
|
||||
0x1a, 0x25, 0x2e, 0x61, 0x72, 0x74, 0x69, 0x73, 0x74, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63,
|
||||
0x74, 0x2e, 0x46, 0x69, 0x6e, 0x69, 0x73, 0x68, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74,
|
||||
0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x64, 0x22, 0x00, 0x12, 0x60, 0x0a, 0x0e, 0x43, 0x6f, 0x6e,
|
||||
0x74, 0x72, 0x61, 0x63, 0x74, 0x54, 0x78, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x25, 0x2e, 0x61, 0x72,
|
||||
0x74, 0x69, 0x73, 0x74, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x2e, 0x43, 0x6f, 0x6e,
|
||||
0x74, 0x72, 0x61, 0x63, 0x74, 0x54, 0x78, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65,
|
||||
0x73, 0x74, 0x1a, 0x25, 0x2e, 0x61, 0x72, 0x74, 0x69, 0x73, 0x74, 0x43, 0x6f, 0x6e, 0x74, 0x72,
|
||||
0x61, 0x63, 0x74, 0x2e, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x54, 0x78, 0x4c, 0x69,
|
||||
0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x64, 0x22, 0x00, 0x12, 0x8a, 0x01, 0x0a, 0x1c,
|
||||
0x67, 0x22, 0x49, 0x0a, 0x23, 0x47, 0x65, 0x74, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74,
|
||||
0x49, 0x6e, 0x66, 0x6f, 0x42, 0x79, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x55, 0x69,
|
||||
0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x22, 0x0a, 0x0b, 0x43, 0x6f, 0x6e, 0x74,
|
||||
0x72, 0x61, 0x63, 0x74, 0x55, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x63,
|
||||
0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x22, 0x66, 0x0a, 0x23,
|
||||
0x47, 0x65, 0x74, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x42,
|
||||
0x79, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x55, 0x69, 0x64, 0x12, 0x33, 0x2e, 0x61,
|
||||
0x72, 0x74, 0x69, 0x73, 0x74, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x2e, 0x47, 0x65,
|
||||
0x74, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x42, 0x79, 0x43,
|
||||
0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x55, 0x69, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73,
|
||||
0x74, 0x1a, 0x33, 0x2e, 0x61, 0x72, 0x74, 0x69, 0x73, 0x74, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x61,
|
||||
0x63, 0x74, 0x2e, 0x47, 0x65, 0x74, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x49, 0x6e,
|
||||
0x66, 0x6f, 0x42, 0x79, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x55, 0x69, 0x64, 0x52,
|
||||
0x65, 0x73, 0x70, 0x6f, 0x6e, 0x64, 0x22, 0x00, 0x42, 0x13, 0x5a, 0x11, 0x2e, 0x2f, 0x3b, 0x61,
|
||||
0x72, 0x74, 0x69, 0x73, 0x74, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x62, 0x06, 0x70,
|
||||
0x72, 0x6f, 0x74, 0x6f, 0x33,
|
||||
0x79, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x55, 0x69, 0x64, 0x52, 0x65, 0x73, 0x70,
|
||||
0x6f, 0x6e, 0x64, 0x12, 0x2d, 0x0a, 0x04, 0x44, 0x61, 0x74, 0x61, 0x18, 0x01, 0x20, 0x01, 0x28,
|
||||
0x0b, 0x32, 0x19, 0x2e, 0x61, 0x72, 0x74, 0x69, 0x73, 0x74, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x61,
|
||||
0x63, 0x74, 0x2e, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x73, 0x52, 0x04, 0x64, 0x61,
|
||||
0x74, 0x61, 0x12, 0x10, 0x0a, 0x03, 0x4d, 0x73, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52,
|
||||
0x03, 0x6d, 0x73, 0x67, 0x22, 0x24, 0x0a, 0x12, 0x47, 0x65, 0x74, 0x43, 0x6f, 0x6e, 0x74, 0x72,
|
||||
0x61, 0x63, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x0e, 0x0a, 0x02, 0x49, 0x64,
|
||||
0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x02, 0x69, 0x64, 0x22, 0xfd, 0x03, 0x0a, 0x15, 0x55,
|
||||
0x70, 0x64, 0x61, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x52, 0x65, 0x71,
|
||||
0x75, 0x65, 0x73, 0x74, 0x12, 0x0e, 0x0a, 0x02, 0x49, 0x44, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04,
|
||||
0x52, 0x02, 0x69, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x55, 0x73, 0x65, 0x72, 0x49, 0x64, 0x18, 0x02,
|
||||
0x20, 0x01, 0x28, 0x03, 0x52, 0x06, 0x75, 0x73, 0x65, 0x72, 0x49, 0x64, 0x12, 0x16, 0x0a, 0x06,
|
||||
0x43, 0x61, 0x72, 0x64, 0x49, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x63, 0x61,
|
||||
0x72, 0x64, 0x49, 0x64, 0x12, 0x1e, 0x0a, 0x0a, 0x4d, 0x67, 0x6d, 0x74, 0x55, 0x73, 0x65, 0x72,
|
||||
0x49, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x6d, 0x67, 0x6d, 0x74, 0x55, 0x73,
|
||||
0x65, 0x72, 0x49, 0x64, 0x12, 0x1c, 0x0a, 0x09, 0x41, 0x72, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x49,
|
||||
0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x61, 0x72, 0x74, 0x77, 0x6f, 0x72, 0x6b,
|
||||
0x49, 0x64, 0x12, 0x1e, 0x0a, 0x0a, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x49, 0x64,
|
||||
0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74,
|
||||
0x49, 0x64, 0x12, 0x24, 0x0a, 0x0d, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f,
|
||||
0x6e, 0x49, 0x64, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x74, 0x72, 0x61, 0x6e, 0x73,
|
||||
0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x54, 0x79, 0x70, 0x65,
|
||||
0x18, 0x08, 0x20, 0x01, 0x28, 0x03, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x12, 0x18, 0x0a, 0x07,
|
||||
0x42, 0x61, 0x74, 0x63, 0x68, 0x49, 0x64, 0x18, 0x09, 0x20, 0x01, 0x28, 0x03, 0x52, 0x07, 0x62,
|
||||
0x61, 0x74, 0x63, 0x68, 0x49, 0x64, 0x12, 0x1c, 0x0a, 0x09, 0x42, 0x61, 0x74, 0x63, 0x68, 0x4e,
|
||||
0x61, 0x6d, 0x65, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x62, 0x61, 0x74, 0x63, 0x68,
|
||||
0x4e, 0x61, 0x6d, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x56, 0x69, 0x65, 0x77, 0x55, 0x72, 0x6c, 0x18,
|
||||
0x0b, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x76, 0x69, 0x65, 0x77, 0x55, 0x72, 0x6c, 0x12, 0x20,
|
||||
0x0a, 0x0b, 0x44, 0x6f, 0x77, 0x6e, 0x6c, 0x6f, 0x61, 0x64, 0x55, 0x72, 0x6c, 0x18, 0x0c, 0x20,
|
||||
0x01, 0x28, 0x09, 0x52, 0x0b, 0x64, 0x6f, 0x77, 0x6e, 0x6c, 0x6f, 0x61, 0x64, 0x55, 0x72, 0x6c,
|
||||
0x12, 0x14, 0x0a, 0x05, 0x53, 0x74, 0x61, 0x74, 0x65, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x03, 0x52,
|
||||
0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x12, 0x1e, 0x0a, 0x0a, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65,
|
||||
0x54, 0x69, 0x6d, 0x65, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x75, 0x70, 0x64, 0x61,
|
||||
0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x1e, 0x0a, 0x0a, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65,
|
||||
0x54, 0x69, 0x6d, 0x65, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x63, 0x72, 0x65, 0x61,
|
||||
0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x26, 0x0a, 0x0e, 0x45, 0x78, 0x70, 0x69, 0x72, 0x61,
|
||||
0x74, 0x69, 0x6f, 0x6e, 0x54, 0x69, 0x6d, 0x65, 0x18, 0x10, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e,
|
||||
0x65, 0x78, 0x70, 0x69, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x1a,
|
||||
0x0a, 0x08, 0x53, 0x69, 0x67, 0x6e, 0x54, 0x69, 0x6d, 0x65, 0x18, 0x11, 0x20, 0x01, 0x28, 0x09,
|
||||
0x52, 0x08, 0x73, 0x69, 0x67, 0x6e, 0x54, 0x69, 0x6d, 0x65, 0x22, 0x17, 0x0a, 0x15, 0x55, 0x70,
|
||||
0x64, 0x61, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x52, 0x65, 0x73, 0x70,
|
||||
0x6f, 0x6e, 0x64, 0x22, 0x4f, 0x0a, 0x17, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x43, 0x6f, 0x6e,
|
||||
0x74, 0x72, 0x61, 0x63, 0x74, 0x54, 0x78, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x0e,
|
||||
0x0a, 0x02, 0x49, 0x44, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x02, 0x69, 0x64, 0x12, 0x24,
|
||||
0x0a, 0x0d, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x18,
|
||||
0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69,
|
||||
0x6f, 0x6e, 0x49, 0x64, 0x22, 0x19, 0x0a, 0x17, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x43, 0x6f,
|
||||
0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x54, 0x78, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x64, 0x32,
|
||||
0xe3, 0x05, 0x0a, 0x0e, 0x41, 0x72, 0x74, 0x69, 0x73, 0x74, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x61,
|
||||
0x63, 0x74, 0x12, 0x60, 0x0a, 0x0e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x74,
|
||||
0x72, 0x61, 0x63, 0x74, 0x12, 0x25, 0x2e, 0x61, 0x72, 0x74, 0x69, 0x73, 0x74, 0x43, 0x6f, 0x6e,
|
||||
0x74, 0x72, 0x61, 0x63, 0x74, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x74,
|
||||
0x72, 0x61, 0x63, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x25, 0x2e, 0x61, 0x72,
|
||||
0x74, 0x69, 0x73, 0x74, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x2e, 0x43, 0x72, 0x65,
|
||||
0x61, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f,
|
||||
0x6e, 0x64, 0x22, 0x00, 0x12, 0x66, 0x0a, 0x10, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74,
|
||||
0x4c, 0x69, 0x73, 0x74, 0x4d, 0x67, 0x6d, 0x74, 0x12, 0x27, 0x2e, 0x61, 0x72, 0x74, 0x69, 0x73,
|
||||
0x74, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x2e, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x61,
|
||||
0x63, 0x74, 0x4c, 0x69, 0x73, 0x74, 0x4d, 0x67, 0x6d, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73,
|
||||
0x74, 0x1a, 0x27, 0x2e, 0x61, 0x72, 0x74, 0x69, 0x73, 0x74, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x61,
|
||||
0x63, 0x74, 0x2e, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x4c, 0x69, 0x73, 0x74, 0x4d,
|
||||
0x67, 0x6d, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x64, 0x22, 0x00, 0x12, 0x5a, 0x0a, 0x0c,
|
||||
0x43, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x23, 0x2e, 0x61,
|
||||
0x72, 0x74, 0x69, 0x73, 0x74, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x2e, 0x43, 0x6f,
|
||||
0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73,
|
||||
0x74, 0x1a, 0x23, 0x2e, 0x61, 0x72, 0x74, 0x69, 0x73, 0x74, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x61,
|
||||
0x63, 0x74, 0x2e, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x4c, 0x69, 0x73, 0x74, 0x52,
|
||||
0x65, 0x73, 0x70, 0x6f, 0x6e, 0x64, 0x22, 0x00, 0x12, 0x5a, 0x0a, 0x0c, 0x53, 0x69, 0x67, 0x6e,
|
||||
0x43, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x12, 0x23, 0x2e, 0x61, 0x72, 0x74, 0x69, 0x73,
|
||||
0x74, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x2e, 0x53, 0x69, 0x67, 0x6e, 0x43, 0x6f,
|
||||
0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x23, 0x2e,
|
||||
0x61, 0x72, 0x74, 0x69, 0x73, 0x74, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x2e, 0x53,
|
||||
0x69, 0x67, 0x6e, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f,
|
||||
0x6e, 0x64, 0x22, 0x00, 0x12, 0x60, 0x0a, 0x0e, 0x46, 0x69, 0x6e, 0x69, 0x73, 0x68, 0x43, 0x6f,
|
||||
0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x12, 0x25, 0x2e, 0x61, 0x72, 0x74, 0x69, 0x73, 0x74, 0x43,
|
||||
0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x2e, 0x46, 0x69, 0x6e, 0x69, 0x73, 0x68, 0x43, 0x6f,
|
||||
0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x25, 0x2e,
|
||||
0x61, 0x72, 0x74, 0x69, 0x73, 0x74, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x2e, 0x46,
|
||||
0x69, 0x6e, 0x69, 0x73, 0x68, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x52, 0x65, 0x73,
|
||||
0x70, 0x6f, 0x6e, 0x64, 0x22, 0x00, 0x12, 0x60, 0x0a, 0x0e, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x61,
|
||||
0x63, 0x74, 0x54, 0x78, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x25, 0x2e, 0x61, 0x72, 0x74, 0x69, 0x73,
|
||||
0x74, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x2e, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x61,
|
||||
0x63, 0x74, 0x54, 0x78, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a,
|
||||
0x25, 0x2e, 0x61, 0x72, 0x74, 0x69, 0x73, 0x74, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74,
|
||||
0x2e, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x54, 0x78, 0x4c, 0x69, 0x73, 0x74, 0x52,
|
||||
0x65, 0x73, 0x70, 0x6f, 0x6e, 0x64, 0x22, 0x00, 0x12, 0x8a, 0x01, 0x0a, 0x1c, 0x47, 0x65, 0x74,
|
||||
0x43, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x42, 0x79, 0x43, 0x6f,
|
||||
0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x55, 0x69, 0x64, 0x12, 0x33, 0x2e, 0x61, 0x72, 0x74, 0x69,
|
||||
0x73, 0x74, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x2e, 0x47, 0x65, 0x74, 0x43, 0x6f,
|
||||
0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x42, 0x79, 0x43, 0x6f, 0x6e, 0x74,
|
||||
0x72, 0x61, 0x63, 0x74, 0x55, 0x69, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x33,
|
||||
0x2e, 0x61, 0x72, 0x74, 0x69, 0x73, 0x74, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x2e,
|
||||
0x47, 0x65, 0x74, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x42,
|
||||
0x79, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x55, 0x69, 0x64, 0x52, 0x65, 0x73, 0x70,
|
||||
0x6f, 0x6e, 0x64, 0x22, 0x00, 0x42, 0x13, 0x5a, 0x11, 0x2e, 0x2f, 0x3b, 0x61, 0x72, 0x74, 0x69,
|
||||
0x73, 0x74, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74,
|
||||
0x6f, 0x33,
|
||||
}
|
||||
|
||||
var (
|
||||
|
@ -39,7 +39,9 @@ message Contracts{
|
||||
message CreateContractRequest {
|
||||
string ArtistUid = 1 [json_name="artist_uid"];
|
||||
repeated string ArtworkUid = 2 [json_name="artwork_uid"];
|
||||
int32 Type = 3 [json_name="type"];
|
||||
string BatchUid = 3 [json_name="batch_uid"];
|
||||
string BatchTime = 4 [json_name="batch_time"];
|
||||
int32 Type = 5 [json_name="type"];
|
||||
}
|
||||
|
||||
message CreateContractRespond{
|
||||
|
@ -2,6 +2,7 @@ package util
|
||||
|
||||
import (
|
||||
"bytes"
|
||||
"errors"
|
||||
"fmt"
|
||||
"io"
|
||||
"io/ioutil"
|
||||
@ -14,6 +15,7 @@ import (
|
||||
|
||||
"github.com/fonchain/fonchain-artistinfo/pkg/m"
|
||||
"github.com/fonchain/utils/objstorage"
|
||||
uuid "github.com/satori/go.uuid"
|
||||
)
|
||||
|
||||
// IdCardTurnAge 身份证号读取年龄
|
||||
@ -165,3 +167,13 @@ func Post(url, data string) (string, error) {
|
||||
// str := (*string)(unsafe.Pointer(&respBytes))
|
||||
return string(respBytes), nil
|
||||
}
|
||||
|
||||
// 生成uid
|
||||
func GetUid() (uuids string, err error) {
|
||||
var uid uuid.UUID
|
||||
if uid, err = uuid.NewV4(); err != nil {
|
||||
err = errors.New(m.ERROR_UID)
|
||||
return "", err
|
||||
}
|
||||
return uid.String(), nil
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user