diff --git a/cmd/internal/controller/contract.go b/cmd/internal/controller/contract.go index 1e330f5..cc69ff3 100644 --- a/cmd/internal/controller/contract.go +++ b/cmd/internal/controller/contract.go @@ -5,17 +5,25 @@ import ( "fmt" "github.com/fonchain/fonchain-artistinfo/cmd/internal/logic" - "github.com/fonchain/fonchain-artistinfo/pb/contract" + contract "github.com/fonchain/fonchain-artistinfo/pb/contract" ) type ContractProvider struct { - contract.UnimplementedContractServer + contract.UnimplementedArtistContractServer contractLogic *logic.Contract } -func (c *ContractProvider) FinishContract(ctx context.Context, req *contract.FinishContractRequest) (rep *contract.FinishContractRespond, err error) { +func (c *ContractProvider) CreateContract(ctx context.Context, req *contract.CreateContractRequest) (rep *contract.CreateContractRespond, err error) { fmt.Println("第一处") - if rep, err = c.contractLogic.FinishContract(req); err != nil { + if rep, err = c.contractLogic.CreateContract(req); err != nil { + return nil, err + } + return rep, nil +} + +func (c *ContractProvider) ContractListMgmt(ctx context.Context, req *contract.ContractListMgmtRequest) (rep *contract.ContractListMgmtRespond, err error) { + fmt.Println("第一处") + if rep, err = c.contractLogic.ContractListMgmt(req); err != nil { return nil, err } return rep, nil @@ -28,32 +36,64 @@ func (c *ContractProvider) ContractList(ctx context.Context, req *contract.Contr } return rep, nil } -func (c *ContractProvider) GetContract(ctx context.Context, req *contract.GetContractRequest) (rep *contract.ContractData, err error) { + +func (c *ContractProvider) SignContract(ctx context.Context, req *contract.SignContractRequest) (rep *contract.SignContractRespond, err error) { fmt.Println("第一处") - if rep, err = c.contractLogic.GetContract(req); err != nil { - return nil, err - } - return rep, nil -} -func (c *ContractProvider) ContractTxList(ctx context.Context, req *contract.ContractTxListRequest) (rep *contract.ContractTxListRespond, err error) { - fmt.Println("第一处") - if rep, err = c.contractLogic.ContractTxList(req); err != nil { + if rep, err = c.contractLogic.SignContract(req); err != nil { return nil, err } return rep, nil } -func (c *ContractProvider) UpdateContract(ctx context.Context, req *contract.UpdateContractRequest) (rep *contract.UpdateContractRespond, err error) { +func (c *ContractProvider) FinishContract(ctx context.Context, req *contract.FinishContractRequest) (rep *contract.FinishContractRespond, err error) { fmt.Println("第一处") - if rep, err = c.contractLogic.UpdateContract(req); err != nil { - return nil, err - } - return rep, nil -} -func (c *ContractProvider) UpdateContractTx(ctx context.Context, req *contract.UpdateContractTxRequest) (rep *contract.UpdateContractTxRespond, err error) { - fmt.Println("第一处") - if rep, err = c.contractLogic.UpdateContractTx(req); err != nil { + if rep, err = c.contractLogic.FinishContract(req); err != nil { return nil, err } return rep, nil } + +// func (c *ContractProvider) ContractTxList(ctx context.Context, req *contract.ContractTxListRequest) (rep *contract.ContractTxListRespond, err error) { +// fmt.Println("第一处") +// if rep, err = c.contractLogic.ContractTxList(req); err != nil { +// return nil, err +// } +// return rep, nil +// } + +// func (c *ContractProvider) ContractList(ctx context.Context, req *contract.ContractListRequest) (rep *contract.ContractListRespond, err error) { +// fmt.Println("第一处") +// if rep, err = c.contractLogic.ContractList(req); err != nil { +// return nil, err +// } +// return rep, nil +// } +// func (c *ContractProvider) GetContract(ctx context.Context, req *contract.GetContractRequest) (rep *contract.ContractData, err error) { +// fmt.Println("第一处") +// if rep, err = c.contractLogic.GetContract(req); err != nil { +// return nil, err +// } +// return rep, nil +// } +// func (c *ContractProvider) ContractTxList(ctx context.Context, req *contract.ContractTxListRequest) (rep *contract.ContractTxListRespond, err error) { +// fmt.Println("第一处") +// if rep, err = c.contractLogic.ContractTxList(req); err != nil { +// return nil, err +// } +// return rep, nil +// } + +// func (c *ContractProvider) UpdateContract(ctx context.Context, req *contract.UpdateContractRequest) (rep *contract.UpdateContractRespond, err error) { +// fmt.Println("第一处") +// if rep, err = c.contractLogic.UpdateContract(req); err != nil { +// return nil, err +// } +// return rep, nil +// } +// func (c *ContractProvider) UpdateContractTx(ctx context.Context, req *contract.UpdateContractTxRequest) (rep *contract.UpdateContractTxRespond, err error) { +// fmt.Println("第一处") +// if rep, err = c.contractLogic.UpdateContractTx(req); err != nil { +// return nil, err +// } +// return rep, nil +// } diff --git a/cmd/internal/dao/contract.go b/cmd/internal/dao/contract.go index a8d2753..3a363e8 100644 --- a/cmd/internal/dao/contract.go +++ b/cmd/internal/dao/contract.go @@ -2,196 +2,431 @@ package dao import ( "errors" - "github.com/fonchain/fonchain-artistinfo/cmd/model/old" - "time" + "strings" "github.com/fonchain/fonchain-artistinfo/cmd/model" - "github.com/fonchain/fonchain-artistinfo/pb/contract" + contract "github.com/fonchain/fonchain-artistinfo/pb/contract" db "github.com/fonchain/fonchain-artistinfo/pkg/db" "github.com/fonchain/fonchain-artistinfo/pkg/m" + uuid "github.com/satori/go.uuid" "go.uber.org/zap" + "gorm.io/gorm" ) -func FinishContract(id string) (err error) { - var contracts old.Contract - if err = db.DB.Where("transaction_id = ?", id).First(&contracts).Error; err != nil { +func GetMgmtContractByArtistUid(artistUid string, contractType int32) (err error) { + var contract model.Contract + if err = db.DB.Where("artist_uid = ? AND type = ?", artistUid, contractType).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 } - if err = db.DB.Model(&contracts).Update("state", 3).Error; err != nil { - zap.L().Error("user contract failed", zap.Error(err)) + return +} + +func CreateArtistContract(tx *gorm.DB, contract *model.Contract) (err error) { + 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 GetMgmtContractByArtworkUid(artworkUid string, artworkType int32) (err error) { + //画作有合同类型是2,6的都是 点击过"著作权代理转让服务合同"的 + var contract model.Contract + + if err = db.DB.Where("artwork_uid LiKE ? AND type = ?", "%"+artworkUid+"%", artworkType).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 CreateArtworkContract(tx *gorm.DB, artworkUid []string, artistUid string, contractType int32, latestLockTime string) (err error) { + var uid uuid.UUID + if uid, err = uuid.NewV4(); err != nil { + err = errors.New(m.ERROR_UID) + return + } + + //将画作切片转换成字符串格式便于保存 + ArtworkUid := strings.Join(artworkUid, ",") + contract := &model.Contract{ + Uid: uid.String(), + ArtistUid: artistUid, + ArtworkUid: ArtworkUid, + Type: contractType, + State: 1, + Status: 2, + LockTime: latestLockTime, + } + 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 { + zap.L().Error("get user info err", zap.Error(err)) + err = errors.New(m.ERROR_SELECT) + return + } + return +} + +func GetContractList(artistUid string, pageSize, offset int32) (contracts []*contract.Contracts, err error) { + + var contractSlice []model.Contract + if err = db.DB.Where("artist_uid = ?", artistUid).Order("ID asc").Limit(int(pageSize)).Offset(int(offset)).Find(&contractSlice).Error; err != nil { + zap.L().Error("create contracts info err", zap.Error(err)) + err = errors.New(m.CREATE_ERROR) + return + } + + for _, v := range contractSlice { + contcontract := &contract.Contracts{ + ContractUid: v.Uid, + ArtistUid: v.ArtistUid, + ArtworkUid: v.ArtworkUid, + ContractId: v.ContractId, + TransactionId: v.TransactionId, + Type: v.Type, + ViewUrl: v.ViewUrl, + DownloadUrl: v.DownloadUrl, + State: v.State, + Status: int32(v.Status), + LockTime: v.LockTime, + } + + contracts = append(contracts, contcontract) + } + + return + +} + +func GetArtistInfoById(id int32) (user model.User, err error) { + if err = db.DB.Where("mgmt_artist_id = ?", id).First(&user).Error; err != nil { + zap.L().Error("get user info err", zap.Error(err)) + err = errors.New(m.ERROR_SELECT) + return + } + return +} + +func ContractList(artist_uid string, state int32) (ContractData []*contract.Contracts, err error) { + + if state != 0 { + if state == 2 { + state = 3 + } + } + + var contracts []model.Contract + if err = db.DB.Where("artist_uid = ? AND type != 4 AND state = ?", artist_uid, state).Find(&contracts).Error; err != nil { + zap.L().Error("get contracts info err", zap.Error(err)) + err = errors.New(m.ERROR_SELECT) + return + } + + for _, v := range contracts { + + Contract := &contract.Contracts{ + ContractUid: v.Uid, + ArtistUid: v.ArtistUid, + ArtworkUid: v.ArtworkUid, + ContractId: v.ContractId, + TransactionId: v.TransactionId, + Type: v.Type, + ViewUrl: v.ViewUrl, + DownloadUrl: v.DownloadUrl, + State: v.State, + Status: int32(v.Status), + LockTime: v.LockTime, + SignTime: v.SignTime, + } + + ContractData = append(ContractData, Contract) + } + + return +} + +func GetContractInfo(ContractId int32) (contractInfo model.Contract, err error) { + if err = db.DB.Where("id = ?", ContractId).First(&contractInfo).Error; err != nil { + zap.L().Error("get contract info err", zap.Error(err)) + err = errors.New(m.ERROR_SELECT) + return + } + return +} + +func UpdateContract(tx *gorm.DB, artistUid, ViewPdfUrl, DownloadUrl, ContractNo string) (err error) { + if err = tx.Model(&model.Contract{}).Where("artist_uid = ?", artistUid).Updates(model.Contract{ViewUrl: ViewPdfUrl, DownloadUrl: DownloadUrl, ContractId: ContractNo}).Error; err != nil { + zap.L().Error("update contract info err", zap.Error(err)) + err = errors.New(m.UPDATE_FAILED) + return + } + return +} + +func UpdateContractTx(tx *gorm.DB, contractUid, transactionId string) (err error) { + if err = tx.Model(&model.Contract{}).Where("artist_uid = ?", contractUid).Updates(model.Contract{TransactionId: transactionId, State: 1}).Error; err != nil { + zap.L().Error("update contract info err", zap.Error(err)) + err = errors.New(m.UPDATE_FAILED) + return + } + return +} + +func FinishContract(tx *gorm.DB, id string) (contracts *contract.Contracts, err error) { + + var modelContract model.Contract + if err = tx.Where("transaction_id = ?", id).First(&modelContract).Error; err != nil { + zap.L().Error("get contract info err", zap.Error(err)) + err = errors.New(m.ERROR_SELECT) + return + } + + if err = db.DB.Model(&modelContract).Update("state", 3).Error; err != nil { + zap.L().Error("update user contract failed", zap.Error(err)) err = errors.New(m.UPDATE_FAILED) return } + contracts = &contract.Contracts{ + ArtistUid: modelContract.ArtistUid, + ArtworkUid: modelContract.ArtworkUid, + ContractUid: modelContract.ContractId, + TransactionId: modelContract.TransactionId, + Type: modelContract.Type, + ViewUrl: modelContract.ViewUrl, + DownloadUrl: modelContract.DownloadUrl, + State: modelContract.State, + Status: modelContract.Status, + LockTime: modelContract.LockTime, + SignTime: modelContract.SignTime, + } + return } -func ContractList(req *contract.ContractListRequest) (rep *contract.ContractListRespond, err error) { - rep = &contract.ContractListRespond{} - var Data []*contract.ContractData - - var user model.User - if err = db.DB.Where("id = ? ", int32(req.ID)).First(&user).Error; err != nil { - zap.L().Error("get user info err", zap.Error(err)) +func ContractTxList(uid string, state int32) (contracts []model.Contract, err error) { + if err = db.DB.Where("artist_uid = ? AND (type = 4 or type = 7) ADN state = ?", uid, state).Find(&contracts).Error; err != nil { + zap.L().Error("get contracts info err", zap.Error(err)) err = errors.New(m.ERROR_SELECT) return } - // todo - //var realName model.RealName - //if err = db.DB.Where("id = ? ", user.RealNameID).First(&realName).Error; err != nil { - // zap.L().Error("get realName info err", zap.Error(err)) - // err = errors.New(m.ERROR_SELECT) - // return - //} - - var args []interface{} - var sqlWhere = "user_id = ? and type !=4 " - args = append(args, req.ID) - - if req.State != 0 { - sqlWhere += " and state = ? " - if req.State == 2 { - req.State = 3 - } - args = append(args, req.State) - } - - var contractModel []old.Contract - if err = db.DB.Where(sqlWhere, args...).Find(&contractModel).Error; err != nil { - zap.L().Error("get contractModels info err", zap.Error(err)) - err = errors.New(m.ERROR_SELECT) - return - } - - for _, v := range contractModel { - contract := &contract.ContractData{} - contract.ID = uint64(v.ID) - contract.ContractId = v.ContractId - contract.DownloadUrl = v.DownloadUrl - contract.MgmtUserId = v.MgmtUserId - contract.State = int64(v.State) - contract.TransactionId = v.TransactionId - contract.Type = int64(v.Type) - contract.UserId = int64(v.UserId) - contract.ViewUrl = v.ViewUrl - contract.ExpirationTime = v.CreatedAt.Add(86400 * time.Second).Format("2006-01-02 15:04:05") - contract.SignTime = v.UpdatedAt.Format("2006-01-02") - Data = append(Data, contract) - } - - rep.Data = Data - return + } -func ContractTxList(req *contract.ContractTxListRequest) (rep *contract.ContractTxListRespond, err error) { - rep = &contract.ContractTxListRespond{} - var Data []*contract.ContractData +// 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 { +// if err == gorm.ErrRecordNotFound { +// artworkState.ArtworkId = id +// artworkState.State = 7 +// if err = tx.Create(&artworkState).Error; err != nil { +// zap.L().Error("create artworkState err", zap.Error(err)) +// err = errors.New(m.CREATE_ERROR) +// return +// } +// } else { +// zap.L().Error("find artworkState info err", zap.Error(err)) +// err = errors.New(m.ERROR_DATA_NOT_EXISTS) +// return +// } +// } +// } - var user model.User - if err = db.DB.Where("id = ? ", int32(req.ID)).First(&user).Error; err != nil { - zap.L().Error("get user info err", zap.Error(err)) - err = errors.New(m.ERROR_SELECT) - return - } - // todo - //var realName model.RealName - //if err = db.DB.Where("id = ? ", user.RealNameID).First(&realName).Error; err != nil { - // zap.L().Error("get realName info err", zap.Error(err)) - // err = errors.New(m.ERROR_SELECT) - // return - //} - // - //var args []interface{} - //var sqlWhere = " card_id = ? and (type = 4 or type = 7) " - //args = append(args, realName.IDNum) - //if req.State != 0 { - // sqlWhere += " and state = ? " - // args = append(args, req.State) - //} - // - //var contractModel []model.Contract - //if err = db.DB.Where(sqlWhere, args...).Find(&contractModel).Error; err != nil { - // zap.L().Error("get contractModels info err", zap.Error(err)) - // err = errors.New(m.ERROR_SELECT) - // return - //} - // - //for _, v := range contractModel { - // contractTmp := &contract.ContractData{} - // contractTmp.ID = uint64(v.ID) - // contractTmp.ContractId = v.ContractId - // contractTmp.DownloadUrl = v.DownloadUrl - // contractTmp.MgmtUserId = v.MgmtUserId - // contractTmp.State = int64(v.State) - // contractTmp.TransactionId = v.TransactionId - // contractTmp.Type = int64(v.Type) - // var b string - // if v.Type == 4 { - // b = "物权" - // } - // if v.Type == 7 { - // b = "版权" - // } - // contractTmp.BatchName = b + v.BatchName[0:4] + "年" + v.BatchName[4:6] + "月" + v.BatchName[6:11] + "年" + v.BatchName[11:13] + "月" - // contractTmp.UserId = int64(v.UserId) - // contractTmp.ViewUrl = v.ViewUrl - // contractTmp.ExpirationTime = v.CreatedAt.Add(86400 * time.Second).Format("2006-01-02 15:04:05") - // contractTmp.SignTime = v.UpdatedAt.Format("2006-01-02") - // Data = append(Data, contractTmp) - //} +// if err = tx.Model(&model.Artwork{}).Where("id = ? ", id).Update("flow_state", 7).Error; err != nil { +// zap.L().Error("Artwork Update Err", zap.Error(err)) +// err = errors.New(m.ERROR_DATA_NOT_EXISTS) +// return +// } - rep.Data = Data +// return +// } - return -} +// func ContractList(req *contract.ContractListRequest) (rep *contract.ContractListRespond, err error) { +// rep = &contract.ContractListRespond{} +// var Data []*contract.ContractData -func GetContract(id int32) (rep *contract.ContractData, err error) { - var con old.Contract - if err = db.DB.Where("id = ? ", id).First(&con).Error; err != nil { - zap.L().Error("get contract info err", zap.Error(err)) - err = errors.New(m.ERROR_SELECT) - return - } - rep.ID = uint64(con.ID) - rep.UserId = int64(con.UserId) - rep.CardId = con.CardId - rep.MgmtUserId = con.MgmtUserId - rep.ArtworkId = con.ArtworkId - rep.ContractId = con.ContractId - rep.TransactionId = con.TransactionId - rep.Type = int64(con.Type) - rep.BatchName = con.BatchName - rep.ViewUrl = con.ViewUrl - rep.DownloadUrl = con.DownloadUrl - rep.State = int64(con.State) +// var user model.User +// if err = db.DB.Where("id = ? ", req.ID).First(&user).Error; err != nil { +// zap.L().Error("get user info err", zap.Error(err)) +// err = errors.New(m.ERROR_SELECT) +// return +// } - return -} +// var realName model.RealName +// if err = db.DB.Where("id = ? ", user.RealNameId).First(&realName).Error; err != nil { +// zap.L().Error("get realName info err", zap.Error(err)) +// err = errors.New(m.ERROR_SELECT) +// return +// } -// 更新交易id -func UpdateContract(req *contract.UpdateContractRequest) error { - //数据库操作异常 - var con old.Contract - if err := db.DB.Model(&con).Updates(&old.Contract{ContractId: req.ContractId, ViewUrl: req.ViewUrl, DownloadUrl: req.DownloadUrl}).Error; err != nil { - return err - } - return nil -} +// var args []interface{} +// var sqlWhere = "user_id = ? and type !=4 " +// args = append(args, req.ID) -// 更新交易id -func UpdateContractTx(txId string, contractId int32) (err error) { - var con old.Contract - con.ID = contractId - if err = db.DB.Model(&con).Update("transaction_id", txId).Error; err != nil { - return - } - if err = db.DB.Model(&con).Update("state", 1).Error; err != nil { - return - } - return -} +// if req.State != 0 { +// sqlWhere += " and state = ? " +// if req.State == 2 { +// req.State = 3 +// } +// args = append(args, req.State) +// } + +// var contractModel []model.Contract +// if err = db.DB.Where(sqlWhere, args...).Find(&contractModel).Error; err != nil { +// zap.L().Error("get contractModels info err", zap.Error(err)) +// err = errors.New(m.ERROR_SELECT) +// return +// } + +// for _, v := range contractModel { +// contract := &contract.ContractData{} +// contract.ID = uint64(v.ID) +// contract.ContractId = v.ContractId +// contract.DownloadUrl = v.DownloadUrl +// contract.MgmtUserId = v.MgmtUserId +// contract.State = int64(v.State) +// contract.TransactionId = v.TransactionId +// contract.Type = int64(v.Type) +// contract.UserId = int64(v.UserId) +// contract.ViewUrl = v.ViewUrl +// contract.ExpirationTime = v.CreatedAt.Add(86400 * time.Second).Format("2006-01-02 15:04:05") +// contract.SignTime = v.UpdatedAt.Format("2006-01-02") +// Data = append(Data, contract) +// } + +// rep.Data = Data + +// return +// } + +// func ContractTxList(req *contract.ContractTxListRequest) (rep *contract.ContractTxListRespond, err error) { +// rep = &contract.ContractTxListRespond{} +// var Data []*contract.ContractData + +// var user model.User +// if err = db.DB.Where("id = ? ", int32(req.ID)).First(&user).Error; err != nil { +// zap.L().Error("get user info err", zap.Error(err)) +// err = errors.New(m.ERROR_SELECT) +// return +// } +// // todo +// //var realName model.RealName +// //if err = db.DB.Where("id = ? ", user.RealNameID).First(&realName).Error; err != nil { +// // zap.L().Error("get realName info err", zap.Error(err)) +// // err = errors.New(m.ERROR_SELECT) +// // return +// //} +// // +// //var args []interface{} +// //var sqlWhere = " card_id = ? and (type = 4 or type = 7) " +// //args = append(args, realName.IDNum) +// //if req.State != 0 { +// // sqlWhere += " and state = ? " +// // args = append(args, req.State) +// //} +// // +// //var contractModel []model.Contract +// //if err = db.DB.Where(sqlWhere, args...).Find(&contractModel).Error; err != nil { +// // zap.L().Error("get contractModels info err", zap.Error(err)) +// // err = errors.New(m.ERROR_SELECT) +// // return +// //} +// // +// //for _, v := range contractModel { +// // contractTmp := &contract.ContractData{} +// // contractTmp.ID = uint64(v.ID) +// // contractTmp.ContractId = v.ContractId +// // contractTmp.DownloadUrl = v.DownloadUrl +// // contractTmp.MgmtUserId = v.MgmtUserId +// // contractTmp.State = int64(v.State) +// // contractTmp.TransactionId = v.TransactionId +// // contractTmp.Type = int64(v.Type) +// // var b string +// // if v.Type == 4 { +// // b = "物权" +// // } +// // if v.Type == 7 { +// // b = "版权" +// // } +// // contractTmp.BatchName = b + v.BatchName[0:4] + "年" + v.BatchName[4:6] + "月" + v.BatchName[6:11] + "年" + v.BatchName[11:13] + "月" +// // contractTmp.UserId = int64(v.UserId) +// // contractTmp.ViewUrl = v.ViewUrl +// // contractTmp.ExpirationTime = v.CreatedAt.Add(86400 * time.Second).Format("2006-01-02 15:04:05") +// // contractTmp.SignTime = v.UpdatedAt.Format("2006-01-02") +// // Data = append(Data, contractTmp) +// //} + +// rep.Data = Data + +// return +// } + +// func GetContract(id int32) (rep *contract.ContractData, err error) { +// var con model.Contract +// if err = db.DB.Where("id = ? ", id).First(&con).Error; err != nil { +// zap.L().Error("get contract info err", zap.Error(err)) +// err = errors.New(m.ERROR_SELECT) +// return +// } +// rep.ID = uint64(con.ID) +// rep.UserId = int64(con.UserId) +// rep.CardId = con.CardId +// rep.MgmtUserId = con.MgmtUserId +// rep.ArtworkId = con.ArtworkId +// rep.ContractId = con.ContractId +// rep.TransactionId = con.TransactionId +// rep.Type = int64(con.Type) +// rep.BatchName = con.BatchName +// rep.ViewUrl = con.ViewUrl +// rep.DownloadUrl = con.DownloadUrl +// rep.State = int64(con.State) + +// return +// } + +// // 更新交易id +// func UpdateContract(req *contract.UpdateContractRequest) error { +// //数据库操作异常 +// var con model.Contract +// if err := db.DB.Model(&con).Updates(&model.Contract{ContractId: req.ContractId, ViewUrl: req.ViewUrl, DownloadUrl: req.DownloadUrl}).Error; err != nil { +// //在线和下载的链接 +// return err +// } +// return nil +// } + +// // 更新交易id +// func UpdateContractTx(txId string, contractId int32) (err error) { +// var con model.Contract +// con.ID = contractId +// if err = db.DB.Model(&con).Update("transaction_id", txId).Error; err != nil { //改变交易id +// return +// } +// if err = db.DB.Model(&con).Update("state", 1).Error; err != nil { //更新合约状态 // 1:待生成 2 待签署 3 签署完成 +// return +// } +// return +// } diff --git a/cmd/internal/logic/artistInfo_user.go b/cmd/internal/logic/artistInfo_user.go index eef889d..975f441 100644 --- a/cmd/internal/logic/artistInfo_user.go +++ b/cmd/internal/logic/artistInfo_user.go @@ -91,6 +91,7 @@ func (a *ArtistInfoUser) GetUserMsg(req *artistInfoUser.GetUserMsgRequest) (rep func (a *ArtistInfoUser) FindUser(req *artistInfoUser.FindUserRequest) (rep *artistInfoUser.UserInfo, err error) { return dao.FindUser(req) } + func (a *ArtistInfoUser) FindUserList(req *artistInfoUser.FindUsersRequest) (rep *artistInfoUser.FindUsersResponse, err error) { res, total, err := dao.FindUserList(req) rep = &artistInfoUser.FindUsersResponse{Data: res, Page: &artistInfoUser.UserCommonPageInfo{ diff --git a/cmd/internal/logic/contract.go b/cmd/internal/logic/contract.go index 632720c..30ad3fc 100644 --- a/cmd/internal/logic/contract.go +++ b/cmd/internal/logic/contract.go @@ -1,17 +1,39 @@ package logic import ( + "context" + "encoding/json" + "errors" + "fmt" + "strings" + "time" + "github.com/fonchain/fonchain-artistinfo/cmd/internal/dao" - "github.com/fonchain/fonchain-artistinfo/pb/contract" + "github.com/fonchain/fonchain-artistinfo/cmd/model" + "github.com/fonchain/fonchain-artistinfo/pb/artist" + "github.com/fonchain/fonchain-artistinfo/pb/artistInfoUser" + "github.com/fonchain/fonchain-artistinfo/pb/artwork" + contract "github.com/fonchain/fonchain-artistinfo/pb/contract" + contractMicroservice "github.com/fonchain/fonchain-artistinfo/pb/contract_microservice" + db "github.com/fonchain/fonchain-artistinfo/pkg/db" + "github.com/fonchain/fonchain-artistinfo/pkg/m" + "github.com/fonchain/fonchain-artistinfo/pkg/service" + uuid "github.com/satori/go.uuid" + "gorm.io/gorm" ) type IContract interface { - FinishContract(req *contract.FinishContractRequest) (rep *contract.FinishContractRespond, err error) + CreateContract(req *contract.CreateContractRequest) (rep *contract.CreateContractRespond, err error) + ContractListMgmt(req *contract.ContractListMgmtRequest) (rep *contract.ContractListMgmtRespond, err error) ContractList(req *contract.ContractListRequest) (rep *contract.ContractListRespond, err error) - ContractTxList(req *contract.ContractTxListRequest) (rep *contract.ContractTxListRespond, err error) - UpdateContract(req *contract.UpdateContractRequest) (rep *contract.UpdateContractRespond, err error) - UpdateContractTx(req *contract.UpdateContractTxRequest) (rep *contract.UpdateContractTxRespond, err error) - GetContract(req *contract.GetContractRequest) (rep *contract.ContractData, err error) + SignContract(req *contract.SignContractRequest) (rep *contract.SignContractRespond, err error) + FinishContract(req *contract.FinishContractRequest) (rep *contract.FinishContractRespond, err error) + // ContractTxList(req *contract.ContractTxListRequest) (rep *contract.ContractTxListRespond, err error) + + // ContractList(req *contract.ContractListRequest) (rep *contract.ContractListRespond, err error) + // UpdateContract(req *contract.UpdateContractRequest) (rep *contract.UpdateContractRespond, err error) + // UpdateContractTx(req *contract.UpdateContractTxRequest) (rep *contract.UpdateContractTxRespond, err error) + // GetContract(req *contract.GetContractRequest) (rep *contract.ContractData, err error) } func NewContract() IContract { @@ -21,47 +43,693 @@ func NewContract() IContract { type Contract struct { } -func (a *Contract) FinishContract(req *contract.FinishContractRequest) (rep *contract.FinishContractRespond, err error) { - rep = &contract.FinishContractRespond{} +func (a *Contract) CreateContract(req *contract.CreateContractRequest) (rep *contract.CreateContractRespond, err error) { + rep = &contract.CreateContractRespond{} + + //遇到错误数据库回滚 + tx := db.DB.Begin() + + userInfo, err := NewArtistInfo().FindUser(&artistInfoUser.FindUserRequest{ + MgmtArtistUid: req.ArtistUid, + IsArtist: true, + }) - err = dao.FinishContract(req.TransactionId) if err != nil { - return nil, err + return } + if userInfo.Id == 0 { + return + } + + switch req.Type { + //1 画家合同(不涉及画家的画作) + case 1: + + //查看画家合同是否已经存在,不存在继续 + if err = dao.GetMgmtContractByArtistUid(req.ArtistUid, req.Type); err == gorm.ErrRecordNotFound { + 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: req.ArtistUid, + Type: 1, + State: 1, + Status: 2, + LockTime: userInfo.LatestLockTime, + } + + if err = dao.CreateArtistContract(tx, contract); err != nil { + return + } + } else { + return + } + + case 2: + for _, v := range req.ArtworkUid { + //查看画作合同是否已经存在,不存在继续,类型2、6 + if err = dao.GetMgmtContractByArtworkUid(v, 2); err == gorm.ErrRecordNotFound { + } else { + return + } + + if err = dao.GetMgmtContractByArtworkUid(v, 6); err == gorm.ErrRecordNotFound { + + } else { + return + } + } + + //创建画家画作合同,类型2,如果批次选择多个画作的话,那么多个画在一个合同中 + if err = dao.CreateArtworkContract(tx, req.ArtworkUid, req.ArtistUid, 2, userInfo.LatestLockTime); err != nil { + tx.Rollback() + return + } + + //创建画家画作合同,类型6 + if err = dao.CreateArtworkContract(tx, req.ArtworkUid, req.ArtistUid, 6, userInfo.LatestLockTime); err != nil { + tx.Rollback() + return + } + + case 3: + for _, v := range req.ArtworkUid { + //查看画作合同是否已经存在,不存在继续,类型3 + if err = dao.GetMgmtContractByArtworkUid(v, 3); err == gorm.ErrRecordNotFound { + } else { + return + } + + //创建画家画作合同,类型3 + if err = dao.CreateArtworkContract(tx, req.ArtworkUid, req.ArtistUid, 3, userInfo.LatestLockTime); err != nil { + tx.Rollback() + return + } + } + + case 5: + for _, v := range req.ArtworkUid { + //查看画作合同是否已经存在,不存在继续,类型5 + if err = dao.GetMgmtContractByArtworkUid(v, 5); err == gorm.ErrRecordNotFound { + } else { + return + } + //创建画家画作合同,类型3 + if err = dao.CreateArtworkContract(tx, req.ArtworkUid, req.ArtistUid, 5, userInfo.LatestLockTime); err != nil { + tx.Rollback() + return + } + } + + default: + err = errors.New("type值出错!") + return + + } + + tx.Commit() + return +} + +func (a *Contract) ContractListMgmt(req *contract.ContractListMgmtRequest) (rep *contract.ContractListMgmtRespond, err error) { + rep = &contract.ContractListMgmtRespond{} + //查看是否有该画家 + if err = dao.GetArtistNoByUid(req.ArtistUid); err != nil { + return + } + + //合同分页查询操作 + if req.Page < 1 { + req.Page = 1 + } + if req.Num < 1 { + req.Num = 15 + } + offset := (req.Page - 1) * req.Num + + //获取该用户的所有合同 + contracts, err := dao.GetContractList(req.ArtistUid, req.Num, offset) + if err != nil { + return + } + rep.Data = contracts return } func (a *Contract) ContractList(req *contract.ContractListRequest) (rep *contract.ContractListRespond, err error) { - rep, err = dao.ContractList(req) + //查看是否有该画家 + user, err := dao.GetArtistInfoById(req.ID) + if err != nil { + return + } + + ContractData, err := dao.ContractList(user.MgmtArtistUid, req.State) + if err != nil { + return + } + + rep = &contract.ContractListRespond{ + Data: ContractData, + } return } -func (a *Contract) GetContract(req *contract.GetContractRequest) (rep *contract.ContractData, err error) { +func (a *Contract) SignContract(req *contract.SignContractRequest) (rep *contract.SignContractRespond, err error) { + rep = &contract.SignContractRespond{} - rep, err = dao.GetContract(int32(req.Id)) + //遇到错误数据库回滚 + tx := db.DB.Begin() + //根据合同id获取具体合同信息 + contractInfo, err := dao.GetContractInfo(req.ContractId) + if err != nil { + return + } + + //根据画家id获取画家具体信息 + artistDetailResponse, customerId, err := GetArtistInfoById(req.ID) + if err != nil { + return rep, err + } + + if contractInfo.Type != 4 && contractInfo.Type != 7 { + + switch contractInfo.Type { + case 1: + var ContractNo = fmt.Sprintf("TF_%d", time.Now().UnixNano()) + endTime := time.Now().AddDate(1, 0, -1) + parameterMap := make((map[string]string), 0) + + // 一、 模板填充 + parameterMap["PartyAName"] = artistDetailResponse.ProfileInfo.Name + parameterMap["PartyAAddress"] = artistDetailResponse.ProfileInfo.Address + parameterMap["PartyAIdentityCard"] = artistDetailResponse.ProfileInfo.CardId + parameterMap["PartyATelNum"] = artistDetailResponse.ProfileInfo.Phone + parameterMap["PartyBRule"] = "240" + parameterMap["SettleNum"] = "2" + parameterMap["SettleSec"] = "100" + parameterMap["ActivityNum"] = "2" + parameterMap["SettlerTypeFour"] = "2" + parameterMap["PowerDay"] = "5" + parameterMap["EffectStartYear"] = fmt.Sprintf("%d", time.Now().Year()) + parameterMap["EffectStartMonth"] = fmt.Sprintf("%d", time.Now().Month()) + parameterMap["EffectStartDay"] = fmt.Sprintf("%d", time.Now().Day()) + parameterMap["EffectEndYear"] = fmt.Sprintf("%d", endTime.Year()) + parameterMap["EffectEndMonth"] = fmt.Sprintf("%d", endTime.Month()) + parameterMap["EffectEndDay"] = fmt.Sprintf("%d", endTime.Day()) + parameterMap["PartyBLegal"] = "胡婷" + + //将map转换为string类型 + parameterMapType, err := json.Marshal(parameterMap) + if err != nil { + return rep, err + } + + generateContractRequest := &contractMicroservice.GenerateContractRequest{ + TemplateId: "一手画市场18", + ContractId: ContractNo, + ParameterMap: string(parameterMapType), + } + generateContractResponse, err := service.ContractImpl.GenerateContract(context.Background(), generateContractRequest) + if err != nil { + return rep, err + } + + //二、 自动签署 + extSignAutoRequest := &contractMicroservice.ExtSignAutoRequest{ + TransactionId: fmt.Sprintf("TFAU_%d", time.Now().UnixNano()), + ContractId: ContractNo, + CustomerId: "1A958BFD01E6551D06381DA6C0B19259", + DocTitle: fmt.Sprintf("TFAU_%d", time.Now().UnixNano()), + SignKeyword: "受托方(乙方)", + SignatureId: "1668589742383450", + KeyX: "120", + KeyY: "0", + } + + _, err = service.ContractImpl.ExtSignAuto(context.Background(), extSignAutoRequest) + if err != nil { + return rep, err + } + + //更新合同表,将合同的下载、在线、id保存 + err = dao.UpdateContract(tx, contractInfo.Uid, generateContractResponse.ViewPdfUrl, generateContractResponse.DownloadUrl, ContractNo) + if err != nil { + return rep, err + } + + case 2: + + var ContractNo = fmt.Sprintf("TF_%d", time.Now().UnixNano()) + var parameterMap = make(map[string]string) + endTime := time.Now().AddDate(1, 0, -1) + parameterMap["ContractNo"] = ContractNo + parameterMap["PartyAName"] = artistDetailResponse.ProfileInfo.Name + parameterMap["PartyAAddress"] = artistDetailResponse.ProfileInfo.Address + parameterMap["PartyAIdentityCard"] = artistDetailResponse.ProfileInfo.CardId + parameterMap["PartyATelNum"] = artistDetailResponse.ProfileInfo.Phone + parameterMap["SettleNum"] = "2" + parameterMap["SettleSecOne"] = "0" + parameterMap["SettleSecTwo"] = "100" + parameterMap["ActivityNum"] = "2" + parameterMap["SettlerTypeFour"] = "2" + parameterMap["PowerDay"] = "5" + parameterMap["EffectStartYear"] = fmt.Sprintf("%d", time.Now().Year()) + parameterMap["EffectStartMonth"] = fmt.Sprintf("%d", time.Now().Month()) + parameterMap["EffectStartDay"] = fmt.Sprintf("%d", time.Now().Day()) + parameterMap["EffectEndYear"] = fmt.Sprintf("%d", endTime.Year()) + parameterMap["EffectEndMonth"] = fmt.Sprintf("%d", endTime.Month()) + parameterMap["EffectEndDay"] = fmt.Sprintf("%d", endTime.Day()) + parameterMap["PartyBLegal"] = "邬侨华" + + //将map转换为string类型 + parameterMapType, err := json.Marshal(parameterMap) + if err != nil { + return rep, err + } + + generateContractRequest := &contractMicroservice.GenerateContractRequest{ + TemplateId: "著作权代理转让服务合同20", + ContractId: ContractNo, + ParameterMap: string(parameterMapType), + } + generateContractResponse, err := service.ContractImpl.GenerateContract(context.Background(), generateContractRequest) + if err != nil { + return rep, err + } + + //二、 自动签署 + extSignAutoRequest := &contractMicroservice.ExtSignAutoRequest{ + TransactionId: fmt.Sprintf("TFAU_%d", time.Now().UnixNano()), + ContractId: ContractNo, + CustomerId: "F49C748A0C06431BC620354F4491BD37", + DocTitle: fmt.Sprintf("TFAU_%d", time.Now().UnixNano()), + SignKeyword: "受托方(乙方)", + SignatureId: "1668589763366246", + KeyX: "120", + KeyY: "0", + } + + _, err = service.ContractImpl.ExtSignAuto(context.Background(), extSignAutoRequest) + if err != nil { + return rep, err + } + + //更新合同表,将合同的下载、在线、id保存 + err = dao.UpdateContract(tx, contractInfo.Uid, generateContractResponse.ViewPdfUrl, generateContractResponse.DownloadUrl, ContractNo) + if err != nil { + return rep, err + } + + case 3: + var ContractNo = fmt.Sprintf("TF_%d", time.Now().UnixNano()) + + //获取画作信息 + artworkDetailResponse, err := GetArtworkProfileByArtworkUid(contractInfo.ArtworkUid) + if err != nil { + return rep, err + } + + var parameterMap = make(map[string]string) + parameterMap["PartyAName"] = artistDetailResponse.ProfileInfo.Name + parameterMap["PartyAIdCard"] = artistDetailResponse.ProfileInfo.CardId + parameterMap["ArtworkName"] = artworkDetailResponse.ProfileInfo.ArtworkName + parameterMap["Year"] = fmt.Sprintf("%d", time.Now().Year()) + parameterMap["Month"] = fmt.Sprintf("%d", time.Now().Month()) + parameterMap["Day"] = fmt.Sprintf("%d", time.Now().Day()) + + //将map转换为string类型 + parameterMapType, err := json.Marshal(parameterMap) + if err != nil { + return rep, err + } + + generateContractRequest := &contractMicroservice.GenerateContractRequest{ + TemplateId: "登记授权委托书18", + ContractId: ContractNo, + ParameterMap: string(parameterMapType), + } + generateContractResponse, err := service.ContractImpl.GenerateContract(context.Background(), generateContractRequest) + if err != nil { + return rep, err + } + + //更新合同表,将合同的下载、在线、id保存 + err = dao.UpdateContract(tx, contractInfo.Uid, generateContractResponse.ViewPdfUrl, generateContractResponse.DownloadUrl, ContractNo) + if err != nil { + return rep, err + } + + case 5: + + //获取画作信息 + artworkDetailResponse, err := GetArtworkProfileByArtworkUid(contractInfo.ArtworkUid) + if err != nil { + return rep, err + } + + var ContractNo = fmt.Sprintf("TF_%d", time.Now().UnixNano()) + + var parameterMap = make(map[string]string) + parameterMap["ArtworkName"] = artworkDetailResponse.ProfileInfo.ArtworkName + parameterMap["Year"] = fmt.Sprintf("%d", time.Now().Year()) + parameterMap["Month"] = fmt.Sprintf("%d", time.Now().Month()) + parameterMap["Day"] = fmt.Sprintf("%d", time.Now().Day()) + + //将map转换为string类型 + parameterMapType, err := json.Marshal(parameterMap) + if err != nil { + return rep, err + } + + generateContractRequest := &contractMicroservice.GenerateContractRequest{ + TemplateId: "作品登记承诺书16", + ContractId: ContractNo, + ParameterMap: string(parameterMapType), + } + generateContractResponse, err := service.ContractImpl.GenerateContract(context.Background(), generateContractRequest) + if err != nil { + return rep, err + } + + //更新合同表,将合同的下载、在线、id保存 + err = dao.UpdateContract(tx, contractInfo.Uid, generateContractResponse.ViewPdfUrl, generateContractResponse.DownloadUrl, ContractNo) + if err != nil { + return rep, err + } + + case 6: + ArtistUids := strings.Split(contractInfo.ArtistUid, ",") + + type dynamic struct { + InsertWay int `json:"insertWay"` + Keyword string `json:"keyword"` + CellHeight float64 `json:"cellHeight"` + ColWidthPercent []int `json:"colWidthPercent"` + TheFirstHeader string `json:"theFirstHeader"` + CellHorizontalAlignment int `json:"cellHorizontalAlignment"` + CellVerticalAlignment int `json:"cellVerticalAlignment"` + Headers []string `json:"headers"` + Datas [][]string `json:"datas"` + } + var dynamicList []dynamic + var dynamicOne dynamic + + dynamicOne.InsertWay = 1 + dynamicOne.Keyword = "附表 1" + dynamicOne.CellHeight = 16.0 + dynamicOne.ColWidthPercent = []int{6, 6, 20, 10, 10} + // dynamicOne.TheFirstHeader = + dynamicOne.CellHorizontalAlignment = 1 + dynamicOne.CellVerticalAlignment = 5 + dynamicOne.Headers = []string{"序号", "作品名称", "哈希值", "著作权取得方式(原始/继受)", "继受取得的证明文件"} + + for k, v := range ArtistUids { + //获取画作信息 + artworkDetailResponse, err := GetArtworkProfileByArtworkUid(v) + if err != nil { + return rep, err + } + + var tmps []string + tmps = append(tmps, fmt.Sprintf("%d", k+1)) + tmps = append(tmps, artworkDetailResponse.ProfileInfo.ArtistName) //获取画作名字 + tmps = append(tmps, artworkDetailResponse.DigiInfo.CopyrightHash) //获取版权hash + tmps = append(tmps, "原始") + tmps = append(tmps, "") + dynamicOne.Datas = append(dynamicOne.Datas, tmps) + } + + dynamicList = append(dynamicList, dynamicOne) + + dyByte, err := json.Marshal(dynamicList) + if err != nil { + return rep, err + } + + ContractNo := fmt.Sprintf("TF_%d", time.Now().UnixNano()+1000) + + //一、 模板填充 + var parameterMap = make(map[string]string) + parameterMap["PartyBLegal"] = artistDetailResponse.ProfileInfo.Name + + //将map转换为string类型 + parameterMapType, err := json.Marshal(parameterMap) + if err != nil { + return rep, err + } + + var viewPdfUrl string + var downloadUrl string + + generateContractRequest := &contractMicroservice.GenerateContractRequest{ + ContractId: ContractNo, + ParameterMap: string(parameterMapType), + DynamicTables: string(dyByte), + } + + if len(ArtistUids) > 30 { + + return rep, errors.New("选择画作条数过多") + + } else if len(ArtistUids) <= 15 { + generateContractRequest.TemplateId = "著作权代理转让服务合同——附表152" + generateContractResponse, err := service.ContractImpl.GenerateContract(context.Background(), generateContractRequest) + if err != nil { + return rep, err + } + + viewPdfUrl = generateContractResponse.ViewPdfUrl + downloadUrl = generateContractResponse.DownloadUrl + + } else { + generateContractRequest.TemplateId = "著作权代理转让服务合同——附表302" + generateContractResponse, err := service.ContractImpl.GenerateContract(context.Background(), generateContractRequest) + if err != nil { + return rep, err + } + + viewPdfUrl = generateContractResponse.ViewPdfUrl + downloadUrl = generateContractResponse.DownloadUrl + } + + //二、 自动签署 + extSignAutoRequest := &contractMicroservice.ExtSignAutoRequest{ + TransactionId: fmt.Sprintf("TFAU_%d", time.Now().UnixNano()+1000), + ContractId: ContractNo, + CustomerId: "F49C748A0C06431BC620354F4491BD37", + DocTitle: fmt.Sprintf("TFAU_%d", time.Now().UnixNano()), + SignKeyword: "受托方(乙方)", + SignatureId: "1668589763366246", + KeyX: "120", + KeyY: "0", + } + + _, err = service.ContractImpl.ExtSignAuto(context.Background(), extSignAutoRequest) + if err != nil { + return rep, err + } + + //更新合同表,将合同的下载、在线、id保存 + err = dao.UpdateContract(tx, contractInfo.Uid, viewPdfUrl, downloadUrl, ContractNo) + if err != nil { + tx.Rollback() + return rep, err + } + default: + return rep, errors.New("type出错") + } + } + + //上面数据库没有错误就执行,上面修改的值下面会使用到 + tx.Commit() + + transactionId := fmt.Sprintf("TFTX_%d", time.Now().UnixNano()) + + var signKeyword string + + //从新根据合同id获取具体合同信息 + contractInfo, err = dao.GetContractInfo(req.ContractId) + if err != nil { + return + } + + if contractInfo.Type == 1 || contractInfo.Type == 2 || contractInfo.Type == 6 { + + signKeyword = "委托方(甲方)" + } + if contractInfo.Type == 3 { + signKeyword = "委托人签字:" + } + if contractInfo.Type == 4 { + signKeyword = "画家签字:" + } + if contractInfo.Type == 5 { + signKeyword = "申请人(签章):" + } + signShowTime := "1" + if contractInfo.Type == 5 || contractInfo.Type == 3 || contractInfo.Type == 6 { + signShowTime = "2" + } + + // 手动签署 + extSignRequest := &contractMicroservice.ExtSignRequest{ + TransactionId: transactionId, + ContractId: contractInfo.ContractId, + CustomerId: customerId, + ReturnUrl: fmt.Sprintf("%v/contractwrite?htmltype=%s&envtype=%s&token= %s", "192.168.10.7", req.HtmlType, req.EnvType, req.Token), + DocTitle: contractInfo.ContractId, + OpenEnvironment: "0", + MobileSignType: "2", + SignKeyword: signKeyword, + Keyx: "100", + Keyy: "-5", + SignatureShowTime: signShowTime, + PcHandSignature: "2", + } + + jumpCommonResponse, err := service.ContractImpl.ExtSign(context.Background(), extSignRequest) + if err != nil { + return rep, err + } + + err = dao.UpdateContractTx(tx, contractInfo.Uid, transactionId) + if err != nil { + return + } + rep.JumpUrl = jumpCommonResponse.JumpUrl + + return rep, nil +} + +func (a *Contract) FinishContract(req *contract.FinishContractRequest) (rep *contract.FinishContractRespond, err error) { + rep = &contract.FinishContractRespond{} + + tx := db.DB.Begin() + //更新合同状态并获取合同信息 + contract, err := dao.FinishContract(tx, req.TransactionId) + if err != nil { + tx.Rollback() + return nil, err + } + + rep.Contract = contract + + tx.Commit() return } -func (a *Contract) ContractTxList(req *contract.ContractTxListRequest) (rep *contract.ContractTxListRespond, err error) { - rep, err = dao.ContractTxList(req) +// func (a *Contract) ContractTxList(req *contract.ContractTxListRequest) (rep *contract.ContractTxListRespond, err error) { + +// rep = &contract.ContractTxListRespond{} +// var datas []*contract.Contracts + +// artistDetailResponse, _, err := GetArtistInfoById(req.ID) +// if err != nil { +// return +// } + +// contracts, err := dao.ContractTxList(artistDetailResponse.ProfileInfo.Uid, req.State) +// if err != nil { +// return +// } + +// data := &contract.Contracts{} +// for _, v := range contracts { +// data.ArtistUid = v.ArtistUid +// data.ArtworkUid = v.ArtworkUid +// data.ContractId = v.ContractId +// data.TransactionId = v.TransactionId +// data.Type = v.Type +// data.ViewUrl = v.ViewUrl +// data.DownloadUrl = v.DownloadUrl +// //时间戳转时间 +// data.ExpirationTime = time.Unix(int64(v.CreatedAt), 0).Format("2006/01/02 15:04:05") +// data.SignTime = v.SignTime +// datas = append(datas, data) + +// } + +// rep.Data = datas + +// return +// } + +// 根据画作uid获取画作信息 +func GetArtworkProfileByArtworkUid(artworkUid string) (artworkProfileInfo *artwork.ArtworkDetailResponse, err error) { + artworkProfileInfo = &artwork.ArtworkDetailResponse{} + + artworkDetailRequest := &artwork.ArtworkDetailRequest{ + ArtworkUuid: artworkUid, + Type: "1", + } + artworkDetailResponse, err := service.ArtworkImpl.ArtworkDetail(context.Background(), artworkDetailRequest) + if err != nil { + return + } + return artworkDetailResponse, nil +} + +// 根据画家id获取画家具体信息 +func GetArtistInfoById(id int32) (artistDetailResponse *artist.DetailResponse, customerId string, err error) { + artistDetailResponse = &artist.DetailResponse{} + + artistInfo, err := dao.GetArtistInfoById(id) + if err != nil { + return + } + + detailRequest := &artist.DetailRequest{ + Uid: artistInfo.MgmtArtistUid, + } + artistDetailResponse, err = service.GrpcArtistImpl.ArtistDetail(context.Background(), detailRequest) + if err != nil { + return + } + + customerId = artistInfo.CustomerId return } -func (a *Contract) UpdateContract(req *contract.UpdateContractRequest) (rep *contract.UpdateContractRespond, err error) { - rep = &contract.UpdateContractRespond{} - err = dao.UpdateContract(req) +// func (a *Contract) ContractList(req *contract.ContractListRequest) (rep *contract.ContractListRespond, err error) { - return -} +// rep, err = dao.ContractList(req) -func (a *Contract) UpdateContractTx(req *contract.UpdateContractTxRequest) (rep *contract.UpdateContractTxRespond, err error) { - rep = &contract.UpdateContractTxRespond{} - err = dao.UpdateContractTx(req.TransactionId, int32(req.ID)) +// return +// } - return -} +// func (a *Contract) GetContract(req *contract.GetContractRequest) (rep *contract.ContractData, err error) { + +// rep, err = dao.GetContract(int32(req.Id)) + +// return +// } +// func (a *Contract) ContractTxList(req *contract.ContractTxListRequest) (rep *contract.ContractTxListRespond, err error) { + +// rep, err = dao.ContractTxList(req) + +// return +// } + +// func (a *Contract) UpdateContract(req *contract.UpdateContractRequest) (rep *contract.UpdateContractRespond, err error) { +// rep = &contract.UpdateContractRespond{} +// err = dao.UpdateContract(req) + +// return +// } + +// func (a *Contract) UpdateContractTx(req *contract.UpdateContractTxRequest) (rep *contract.UpdateContractTxRespond, err error) { +// rep = &contract.UpdateContractTxRespond{} +// err = dao.UpdateContractTx(req.TransactionId, int32(req.ID)) + +// return +// } diff --git a/cmd/model/contract.go b/cmd/model/contract.go new file mode 100644 index 0000000..5ba1ee1 --- /dev/null +++ b/cmd/model/contract.go @@ -0,0 +1,25 @@ +package model + +import "gorm.io/plugin/soft_delete" + +// Contract 用户模型 +type Contract 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"` + ArtistUid string `gorm:"column:artist_uid;type:varchar(100);comment:画家uid;NOT NULL" json:"artist_uid"` + ArtworkUid string `gorm:"column:artwork_uid;type:varchar(100);comment:画作uid" json:"artwork_uid"` + ContractId string `gorm:"column:contract_id;type:varchar(100);comment:合同id" json:"contract_id"` + TransactionId string `gorm:"column:transaction_id;type:varchar(100);comment:交易id" json:"transaction_id"` + Type int32 `gorm:"column:type;type:int(1);comment:合同类型;NOT NULL" json:"type"` + ViewUrl string `gorm:"column:view_url;type:varchar(500);comment:在线查看合同链接" json:"view_url"` + DownloadUrl string `gorm:"column:download_url;type:varchar(500);comment:合同下载链接" json:"download_url"` + State int32 `gorm:"column:state;type:int(1);comment:合同状态;NOT NULL" json:"state"` + 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"` + BatchId int32 `gorm:"column:batch_id;comment:批次ID" json:"batch_id"` + BatchName string `gorm:"column:batch_name;comment:批次名" json:"batch_name"` + CreatedAt int32 `gorm:"column:created_at;autoCreateTime"` + UpdatedAt int32 `gorm:"column:updated_at;autoCreateTime"` + DeletedAt soft_delete.DeletedAt +} diff --git a/cmd/model/old/contract.go b/cmd/model/old/contract.go index 6f3b37f..7d7afaf 100644 --- a/cmd/model/old/contract.go +++ b/cmd/model/old/contract.go @@ -1,100 +1,20 @@ package old -import "github.com/fonchain/fonchain-artistinfo/cmd/model" +import "gorm.io/plugin/soft_delete" // Contract 用户模型 type Contract struct { - model.Model - ID int32 `gorm:"not null"` - UserId int32 `gorm:"not null"` - CardId string `gorm:"type:varchar(256) default ''"` - MgmtUserId string `gorm:"not null"` - ArtworkId string `gorm:"type:varchar(256) default ''"` - ContractId string `gorm:"type:varchar(256) default ''"` - TransactionId string `gorm:"type:varchar(256) default '' "` - Type int32 `gorm:"not null"` - BatchId int32 `gorm:"not null"` - BatchName string `gorm:"type:varchar(256) default '' "` - ViewUrl string `gorm:"type:varchar(256) default ''"` - DownloadUrl string `gorm:"type:varchar(256) default ''"` - State int32 `gorm:"not null"` -} - -type Reply struct { - Code int `json:"state"` - Message string `json:"message"` - Data interface{} `json:"data"` -} - -type ArtistInfoRes struct { - Uid string `json:"uid"` - Seqnum int64 `json:"seqnum"` // 序列号 - Tnum string `json:"tnum"` //ex.T240 - Num int `json:"num"` // 编号 - Name string `json:"name"` - CardId string `json:"cardId"` - PhoneNum string `json:"phone"` - Gender string `json:"gender"` // 性别 - Belong int `json:"belong"` // 画家归属,1-泰丰,2-丰链 - RecentPhoto string `json:"recentPhoto"` // 画家近照url - AccountBank string `json:"bank"` // 开户银行 - Account string `json:"account"` // 开户账号 - Video []string `json:"artistVideo"` // 视频资料 - ArtshowTimes int64 `json:"artshowTimes"` // 参加画展次数 - Age int64 `json:"age"` - Address string `json:"address"` - Resume string `json:"resume"` - CardPicFace string `json:"cardPicFace"` - CardPicBack string `json:"cardPicBack"` - CertificatePic string `json:"certificatePic"` - CertificateNum string `json:"certificateNum"` - // Priority int64 `json:"priority"` - Agent string `json:"agent"` - PenName string `json:"penName"` // 笔名 - Comment string `json:"comment"` - WtchainHash string `json:"wtchainHash"` - BaiduchainHash string `json:"baiduchanHash"` - ChengchainHash string `json:"chengchainHash"` - ChengChainCertUrl string `json:"chengChainCertUrl"` - BaiduChainCertUrl string `json:"baiduChainCertUrl"` - ChengChainCertOssUrl string `json:"chengChainCertOssUrl"` - Baiduchaincertossurl string `json:"baiduchaincertossurl"` - IsArtshow bool `json:"isArtshow"` // 是否参加过画展,1参加过,2未参加过 - CurrentPosition string `json:"currentPosition"` //现任职务 - Email string `json:"email"` - TeaRela string `json:"teaRela"` //师 - StuRela string `json:"stuRela"` //徒 - GradSchoolStudyTour string `json:"gradSchoolStudyTour"` //毕业院校及游学经历 - NaTittle string `json:"naTittle"` //国家级头衔 - ProTittle string `json:"proTittle"` //省级头衔 - MunTittle string `json:"munTittle"` //市级头衔 - CouTittle string `json:"couTittle"` //区县级头衔 - OtherTittle string `json:"otherTittle"` //其他头衔 - PastCooForms string `json:"pastCooForms"` //过往合作平台 - ExhibiInfo string `json:"exhibiInfo"` //参展信息 - KeyAchi string `json:"keyAchi"` //主要成就 - Works string `json:"works"` //作品集 - PicAlbum string `json:"picAlbum"` //画册 - - // AwardInfo []AwardInfo `json:"awardInfo"` //获奖信息 - // Publish []Publish `json:"publish"` //出版 - // AcadePub []AcadePub `json:"acadePub"` //学术发表 - // ThirdComment []ThirdComment `json:"thirdComment"` //第三方或策展人评论 - CreaDirect string `json:"creaDirect"` //创作方向(科目) - ArtStyle string `json:"artStyle"` //艺术风格 - PenInkSkill string `json:"penInkSkill"` //笔墨技法 - DrawThink string `json:"drawThink"` //绘画思想 - AcadeValue string `json:"acadeValue"` //学术价值 - - ArtName string `json:"artName"` // 艺名 - JoinClubTime string `json:"joinClubTime"` // 入会时间 - ArtistStamp string `json:"artistStamp"` // 画家印章 -} - -type CreateContractRes struct { - Code string `json:"code"` - Download_url string `json:"download_url"` - Msg string `json:"msg"` - Result string `json:"result"` - Viewpdf_url string `json:"viewpdf_url"` + 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"` + ArtistUid string `gorm:"column:artist_uid;type:varchar(100);comment:画家uid;NOT NULL" json:"artist_uid"` + ArtworkUid string `gorm:"column:artwork_uid;type:varchar(100);comment:画作uid" json:"artwork_uid"` + ContractId string `gorm:"column:contract_id;type:varchar(100);comment:合同id" json:"contract_id"` + TransactionId string `gorm:"column:transaction_id;type:varchar(100);comment:交易id" json:"transaction_id"` + Type int32 `gorm:"column:type;type:int(1);comment:合同类型;NOT NULL" json:"type"` + ViewUrl string `gorm:"column:view_url;type:varchar(500);comment:在线查看合同链接" json:"view_url"` + DownloadUrl string `gorm:"column:download_url;type:varchar(500);comment:合同下载链接" json:"download_url"` + State int32 `gorm:"column:state;type:int(1);comment:合同状态;NOT NULL" json:"state"` + CreatedAt int32 `gorm:"column:created_at;autoCreateTime"` + UpdatedAt int32 `gorm:"column:updated_at;autoCreateTime"` + DeletedAt soft_delete.DeletedAt } diff --git a/go.mod b/go.mod index 7ecb544..a0da8e3 100644 --- a/go.mod +++ b/go.mod @@ -28,6 +28,7 @@ require ( github.com/golang/protobuf v1.5.2 github.com/mwitkow/go-proto-validators v0.3.2 github.com/nfnt/resize v0.0.0-20180221191011-83c6a9932646 + github.com/satori/go.uuid v1.2.1-0.20181028125025-b2ce2384e17b go.uber.org/zap v1.21.0 golang.org/x/image v0.0.0-20190802002840-cff245a6509b google.golang.org/protobuf v1.28.1 @@ -122,7 +123,6 @@ require ( github.com/prometheus/procfs v0.7.3 // indirect github.com/prometheus/statsd_exporter v0.21.0 // indirect github.com/robfig/cron/v3 v3.0.1 // indirect - github.com/satori/go.uuid v1.2.1-0.20181028125025-b2ce2384e17b // indirect github.com/shirou/gopsutil v3.20.11+incompatible // indirect github.com/shirou/gopsutil/v3 v3.21.6 // indirect github.com/spaolacci/murmur3 v1.1.0 // indirect diff --git a/pb/contract/contract.pb.go b/pb/contract/contract.pb.go index d14b8c4..304de92 100644 --- a/pb/contract/contract.pb.go +++ b/pb/contract/contract.pb.go @@ -1,10 +1,10 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: -// protoc-gen-go v1.26.0 -// protoc v3.9.0 -// source: api/contract/contract.proto +// protoc-gen-go v1.28.1 +// protoc v3.21.8 +// source: contract.proto -package contract +package artistContract import ( protoreflect "google.golang.org/protobuf/reflect/protoreflect" @@ -20,31 +20,43 @@ const ( _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) ) -type FinishContractRequest struct { +type Contracts struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - TransactionId string `protobuf:"bytes,1,opt,name=TransactionId,json=transactionId,proto3" json:"TransactionId"` + ContractUid string `protobuf:"bytes,1,opt,name=ContractUid,json=contract_uid,proto3" json:"ContractUid,omitempty"` + ArtistUid string `protobuf:"bytes,2,opt,name=ArtistUid,json=artist_uid,proto3" json:"ArtistUid,omitempty"` + ArtworkUid string `protobuf:"bytes,3,opt,name=ArtworkUid,json=artwork_uid,proto3" json:"ArtworkUid,omitempty"` + ContractId string `protobuf:"bytes,4,opt,name=ContractId,json=contract_id,proto3" json:"ContractId,omitempty"` + TransactionId string `protobuf:"bytes,5,opt,name=TransactionId,json=transaction_id,proto3" json:"TransactionId,omitempty"` + Type int32 `protobuf:"varint,6,opt,name=Type,json=type,proto3" json:"Type,omitempty"` + ViewUrl string `protobuf:"bytes,7,opt,name=ViewUrl,json=view_url,proto3" json:"ViewUrl,omitempty"` + DownloadUrl string `protobuf:"bytes,8,opt,name=DownloadUrl,json=download_url,proto3" json:"DownloadUrl,omitempty"` + State int32 `protobuf:"varint,9,opt,name=State,json=state,proto3" json:"State,omitempty"` + Status int32 `protobuf:"varint,10,opt,name=Status,json=status,proto3" json:"Status,omitempty"` + ExpirationTime string `protobuf:"bytes,11,opt,name=ExpirationTime,json=expiration_time,proto3" json:"ExpirationTime,omitempty"` + LockTime string `protobuf:"bytes,12,opt,name=LockTime,json=lock_time,proto3" json:"LockTime,omitempty"` + SignTime string `protobuf:"bytes,13,opt,name=SignTime,json=sign_time,proto3" json:"SignTime,omitempty"` } -func (x *FinishContractRequest) Reset() { - *x = FinishContractRequest{} +func (x *Contracts) Reset() { + *x = Contracts{} if protoimpl.UnsafeEnabled { - mi := &file_api_contract_contract_proto_msgTypes[0] + mi := &file_contract_proto_msgTypes[0] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *FinishContractRequest) String() string { +func (x *Contracts) String() string { return protoimpl.X.MessageStringOf(x) } -func (*FinishContractRequest) ProtoMessage() {} +func (*Contracts) ProtoMessage() {} -func (x *FinishContractRequest) ProtoReflect() protoreflect.Message { - mi := &file_api_contract_contract_proto_msgTypes[0] +func (x *Contracts) ProtoReflect() protoreflect.Message { + mi := &file_contract_proto_msgTypes[0] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -55,41 +67,129 @@ func (x *FinishContractRequest) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use FinishContractRequest.ProtoReflect.Descriptor instead. -func (*FinishContractRequest) Descriptor() ([]byte, []int) { - return file_api_contract_contract_proto_rawDescGZIP(), []int{0} +// Deprecated: Use Contracts.ProtoReflect.Descriptor instead. +func (*Contracts) Descriptor() ([]byte, []int) { + return file_contract_proto_rawDescGZIP(), []int{0} } -func (x *FinishContractRequest) GetTransactionId() string { +func (x *Contracts) GetContractUid() string { + if x != nil { + return x.ContractUid + } + return "" +} + +func (x *Contracts) GetArtistUid() string { + if x != nil { + return x.ArtistUid + } + return "" +} + +func (x *Contracts) GetArtworkUid() string { + if x != nil { + return x.ArtworkUid + } + return "" +} + +func (x *Contracts) GetContractId() string { + if x != nil { + return x.ContractId + } + return "" +} + +func (x *Contracts) GetTransactionId() string { if x != nil { return x.TransactionId } return "" } -type FinishContractRespond struct { +func (x *Contracts) GetType() int32 { + if x != nil { + return x.Type + } + return 0 +} + +func (x *Contracts) GetViewUrl() string { + if x != nil { + return x.ViewUrl + } + return "" +} + +func (x *Contracts) GetDownloadUrl() string { + if x != nil { + return x.DownloadUrl + } + return "" +} + +func (x *Contracts) GetState() int32 { + if x != nil { + return x.State + } + return 0 +} + +func (x *Contracts) GetStatus() int32 { + if x != nil { + return x.Status + } + return 0 +} + +func (x *Contracts) GetExpirationTime() string { + if x != nil { + return x.ExpirationTime + } + return "" +} + +func (x *Contracts) GetLockTime() string { + if x != nil { + return x.LockTime + } + return "" +} + +func (x *Contracts) GetSignTime() string { + if x != nil { + return x.SignTime + } + return "" +} + +type CreateContractRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields + + 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"` } -func (x *FinishContractRespond) Reset() { - *x = FinishContractRespond{} +func (x *CreateContractRequest) Reset() { + *x = CreateContractRequest{} if protoimpl.UnsafeEnabled { - mi := &file_api_contract_contract_proto_msgTypes[1] + mi := &file_contract_proto_msgTypes[1] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *FinishContractRespond) String() string { +func (x *CreateContractRequest) String() string { return protoimpl.X.MessageStringOf(x) } -func (*FinishContractRespond) ProtoMessage() {} +func (*CreateContractRequest) ProtoMessage() {} -func (x *FinishContractRespond) ProtoReflect() protoreflect.Message { - mi := &file_api_contract_contract_proto_msgTypes[1] +func (x *CreateContractRequest) ProtoReflect() protoreflect.Message { + mi := &file_contract_proto_msgTypes[1] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -100,9 +200,195 @@ func (x *FinishContractRespond) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use FinishContractRespond.ProtoReflect.Descriptor instead. -func (*FinishContractRespond) Descriptor() ([]byte, []int) { - return file_api_contract_contract_proto_rawDescGZIP(), []int{1} +// Deprecated: Use CreateContractRequest.ProtoReflect.Descriptor instead. +func (*CreateContractRequest) Descriptor() ([]byte, []int) { + return file_contract_proto_rawDescGZIP(), []int{1} +} + +func (x *CreateContractRequest) GetArtistUid() string { + if x != nil { + return x.ArtistUid + } + return "" +} + +func (x *CreateContractRequest) GetArtworkUid() []string { + if x != nil { + return x.ArtworkUid + } + return nil +} + +func (x *CreateContractRequest) GetType() int32 { + if x != nil { + return x.Type + } + return 0 +} + +type CreateContractRespond struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Msg string `protobuf:"bytes,1,opt,name=Msg,json=msg,proto3" json:"Msg,omitempty"` +} + +func (x *CreateContractRespond) Reset() { + *x = CreateContractRespond{} + if protoimpl.UnsafeEnabled { + mi := &file_contract_proto_msgTypes[2] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *CreateContractRespond) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CreateContractRespond) ProtoMessage() {} + +func (x *CreateContractRespond) ProtoReflect() protoreflect.Message { + mi := &file_contract_proto_msgTypes[2] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use CreateContractRespond.ProtoReflect.Descriptor instead. +func (*CreateContractRespond) Descriptor() ([]byte, []int) { + return file_contract_proto_rawDescGZIP(), []int{2} +} + +func (x *CreateContractRespond) GetMsg() string { + if x != nil { + return x.Msg + } + return "" +} + +type ContractListMgmtRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + ArtistUid string `protobuf:"bytes,1,opt,name=ArtistUid,json=artist_uid,proto3" json:"ArtistUid,omitempty"` + Page int32 `protobuf:"varint,2,opt,name=Page,json=page,proto3" json:"Page,omitempty"` + Num int32 `protobuf:"varint,3,opt,name=Num,json=num,proto3" json:"Num,omitempty"` +} + +func (x *ContractListMgmtRequest) Reset() { + *x = ContractListMgmtRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_contract_proto_msgTypes[3] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ContractListMgmtRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ContractListMgmtRequest) ProtoMessage() {} + +func (x *ContractListMgmtRequest) ProtoReflect() protoreflect.Message { + mi := &file_contract_proto_msgTypes[3] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ContractListMgmtRequest.ProtoReflect.Descriptor instead. +func (*ContractListMgmtRequest) Descriptor() ([]byte, []int) { + return file_contract_proto_rawDescGZIP(), []int{3} +} + +func (x *ContractListMgmtRequest) GetArtistUid() string { + if x != nil { + return x.ArtistUid + } + return "" +} + +func (x *ContractListMgmtRequest) GetPage() int32 { + if x != nil { + return x.Page + } + return 0 +} + +func (x *ContractListMgmtRequest) GetNum() int32 { + if x != nil { + return x.Num + } + return 0 +} + +type ContractListMgmtRespond struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Data []*Contracts `protobuf:"bytes,1,rep,name=Data,json=data,proto3" json:"Data,omitempty"` + Msg string `protobuf:"bytes,2,opt,name=Msg,json=msg,proto3" json:"Msg,omitempty"` +} + +func (x *ContractListMgmtRespond) Reset() { + *x = ContractListMgmtRespond{} + if protoimpl.UnsafeEnabled { + mi := &file_contract_proto_msgTypes[4] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ContractListMgmtRespond) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ContractListMgmtRespond) ProtoMessage() {} + +func (x *ContractListMgmtRespond) ProtoReflect() protoreflect.Message { + mi := &file_contract_proto_msgTypes[4] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ContractListMgmtRespond.ProtoReflect.Descriptor instead. +func (*ContractListMgmtRespond) Descriptor() ([]byte, []int) { + return file_contract_proto_rawDescGZIP(), []int{4} +} + +func (x *ContractListMgmtRespond) GetData() []*Contracts { + if x != nil { + return x.Data + } + return nil +} + +func (x *ContractListMgmtRespond) GetMsg() string { + if x != nil { + return x.Msg + } + return "" } type ContractListRequest struct { @@ -110,16 +396,16 @@ type ContractListRequest struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - PageSize int64 `protobuf:"varint,1,opt,name=PageSize,json=pageSize,proto3" json:"PageSize"` - Page int64 `protobuf:"varint,2,opt,name=Page,json=page,proto3" json:"Page"` - State int64 `protobuf:"varint,3,opt,name=State,json=state,proto3" json:"State"` - ID int64 `protobuf:"varint,4,opt,name=ID,json=id,proto3" json:"ID"` + ID int32 `protobuf:"varint,1,opt,name=ID,json=id,proto3" json:"ID,omitempty"` + PageSize int32 `protobuf:"varint,2,opt,name=PageSize,json=pageSize,proto3" json:"PageSize,omitempty"` + Page int32 `protobuf:"varint,3,opt,name=Page,json=page,proto3" json:"Page,omitempty"` + State int32 `protobuf:"varint,4,opt,name=State,json=state,proto3" json:"State,omitempty"` } func (x *ContractListRequest) Reset() { *x = ContractListRequest{} if protoimpl.UnsafeEnabled { - mi := &file_api_contract_contract_proto_msgTypes[2] + mi := &file_contract_proto_msgTypes[5] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -132,7 +418,7 @@ func (x *ContractListRequest) String() string { func (*ContractListRequest) ProtoMessage() {} func (x *ContractListRequest) ProtoReflect() protoreflect.Message { - mi := &file_api_contract_contract_proto_msgTypes[2] + mi := &file_contract_proto_msgTypes[5] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -145,49 +431,50 @@ func (x *ContractListRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use ContractListRequest.ProtoReflect.Descriptor instead. func (*ContractListRequest) Descriptor() ([]byte, []int) { - return file_api_contract_contract_proto_rawDescGZIP(), []int{2} + return file_contract_proto_rawDescGZIP(), []int{5} } -func (x *ContractListRequest) GetPageSize() int64 { +func (x *ContractListRequest) GetID() int32 { + if x != nil { + return x.ID + } + return 0 +} + +func (x *ContractListRequest) GetPageSize() int32 { if x != nil { return x.PageSize } return 0 } -func (x *ContractListRequest) GetPage() int64 { +func (x *ContractListRequest) GetPage() int32 { if x != nil { return x.Page } return 0 } -func (x *ContractListRequest) GetState() int64 { +func (x *ContractListRequest) GetState() int32 { if x != nil { return x.State } return 0 } -func (x *ContractListRequest) GetID() int64 { - if x != nil { - return x.ID - } - return 0 -} - type ContractListRespond struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Data []*ContractData `protobuf:"bytes,1,rep,name=Data,proto3" json:"Data"` + Data []*Contracts `protobuf:"bytes,1,rep,name=Data,json=data,proto3" json:"Data,omitempty"` + Msg string `protobuf:"bytes,2,opt,name=Msg,json=msg,proto3" json:"Msg,omitempty"` } func (x *ContractListRespond) Reset() { *x = ContractListRespond{} if protoimpl.UnsafeEnabled { - mi := &file_api_contract_contract_proto_msgTypes[3] + mi := &file_contract_proto_msgTypes[6] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -200,7 +487,7 @@ func (x *ContractListRespond) String() string { func (*ContractListRespond) ProtoMessage() {} func (x *ContractListRespond) ProtoReflect() protoreflect.Message { - mi := &file_api_contract_contract_proto_msgTypes[3] + mi := &file_contract_proto_msgTypes[6] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -213,323 +500,39 @@ func (x *ContractListRespond) ProtoReflect() protoreflect.Message { // Deprecated: Use ContractListRespond.ProtoReflect.Descriptor instead. func (*ContractListRespond) Descriptor() ([]byte, []int) { - return file_api_contract_contract_proto_rawDescGZIP(), []int{3} + return file_contract_proto_rawDescGZIP(), []int{6} } -func (x *ContractListRespond) GetData() []*ContractData { +func (x *ContractListRespond) GetData() []*Contracts { if x != nil { return x.Data } return nil } -type ContractData struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - ID uint64 `protobuf:"varint,1,opt,name=ID,json=id,proto3" json:"ID"` - UserId int64 `protobuf:"varint,2,opt,name=UserId,json=userId,proto3" json:"UserId"` - CardId string `protobuf:"bytes,3,opt,name=CardId,json=cardId,proto3" json:"CardId"` - MgmtUserId string `protobuf:"bytes,4,opt,name=MgmtUserId,json=mgmtUserId,proto3" json:"MgmtUserId"` - ArtworkId string `protobuf:"bytes,5,opt,name=ArtworkId,json=artworkId,proto3" json:"ArtworkId"` - ContractId string `protobuf:"bytes,6,opt,name=ContractId,json=contractId,proto3" json:"ContractId"` - TransactionId string `protobuf:"bytes,7,opt,name=TransactionId,json=transactionId,proto3" json:"TransactionId"` - Type int64 `protobuf:"varint,8,opt,name=Type,json=type,proto3" json:"Type"` - BatchId int64 `protobuf:"varint,9,opt,name=BatchId,json=batchId,proto3" json:"BatchId"` - BatchName string `protobuf:"bytes,10,opt,name=BatchName,json=batchName,proto3" json:"BatchName"` - ViewUrl string `protobuf:"bytes,11,opt,name=ViewUrl,json=viewUrl,proto3" json:"ViewUrl"` - DownloadUrl string `protobuf:"bytes,12,opt,name=DownloadUrl,json=downloadUrl,proto3" json:"DownloadUrl"` - State int64 `protobuf:"varint,13,opt,name=State,json=state,proto3" json:"State"` - UpdateTime string `protobuf:"bytes,14,opt,name=UpdateTime,json=updateTime,proto3" json:"UpdateTime"` - CreateTime string `protobuf:"bytes,15,opt,name=CreateTime,json=createTime,proto3" json:"CreateTime"` - ExpirationTime string `protobuf:"bytes,16,opt,name=ExpirationTime,json=expirationTime,proto3" json:"ExpirationTime"` - SignTime string `protobuf:"bytes,17,opt,name=SignTime,json=signTime,proto3" json:"SignTime"` -} - -func (x *ContractData) Reset() { - *x = ContractData{} - if protoimpl.UnsafeEnabled { - mi := &file_api_contract_contract_proto_msgTypes[4] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *ContractData) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*ContractData) ProtoMessage() {} - -func (x *ContractData) ProtoReflect() protoreflect.Message { - mi := &file_api_contract_contract_proto_msgTypes[4] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use ContractData.ProtoReflect.Descriptor instead. -func (*ContractData) Descriptor() ([]byte, []int) { - return file_api_contract_contract_proto_rawDescGZIP(), []int{4} -} - -func (x *ContractData) GetID() uint64 { +func (x *ContractListRespond) GetMsg() string { if x != nil { - return x.ID - } - return 0 -} - -func (x *ContractData) GetUserId() int64 { - if x != nil { - return x.UserId - } - return 0 -} - -func (x *ContractData) GetCardId() string { - if x != nil { - return x.CardId + return x.Msg } return "" } -func (x *ContractData) GetMgmtUserId() string { - if x != nil { - return x.MgmtUserId - } - return "" -} - -func (x *ContractData) GetArtworkId() string { - if x != nil { - return x.ArtworkId - } - return "" -} - -func (x *ContractData) GetContractId() string { - if x != nil { - return x.ContractId - } - return "" -} - -func (x *ContractData) GetTransactionId() string { - if x != nil { - return x.TransactionId - } - return "" -} - -func (x *ContractData) GetType() int64 { - if x != nil { - return x.Type - } - return 0 -} - -func (x *ContractData) GetBatchId() int64 { - if x != nil { - return x.BatchId - } - return 0 -} - -func (x *ContractData) GetBatchName() string { - if x != nil { - return x.BatchName - } - return "" -} - -func (x *ContractData) GetViewUrl() string { - if x != nil { - return x.ViewUrl - } - return "" -} - -func (x *ContractData) GetDownloadUrl() string { - if x != nil { - return x.DownloadUrl - } - return "" -} - -func (x *ContractData) GetState() int64 { - if x != nil { - return x.State - } - return 0 -} - -func (x *ContractData) GetUpdateTime() string { - if x != nil { - return x.UpdateTime - } - return "" -} - -func (x *ContractData) GetCreateTime() string { - if x != nil { - return x.CreateTime - } - return "" -} - -func (x *ContractData) GetExpirationTime() string { - if x != nil { - return x.ExpirationTime - } - return "" -} - -func (x *ContractData) GetSignTime() string { - if x != nil { - return x.SignTime - } - return "" -} - -type ContractTxListRequest struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - PageSize int64 `protobuf:"varint,1,opt,name=PageSize,json=pageSize,proto3" json:"PageSize"` - Page int64 `protobuf:"varint,2,opt,name=Page,json=page,proto3" json:"Page"` - State int64 `protobuf:"varint,3,opt,name=State,json=state,proto3" json:"State"` - ID int64 `protobuf:"varint,4,opt,name=ID,json=id,proto3" json:"ID"` -} - -func (x *ContractTxListRequest) Reset() { - *x = ContractTxListRequest{} - if protoimpl.UnsafeEnabled { - mi := &file_api_contract_contract_proto_msgTypes[5] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *ContractTxListRequest) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*ContractTxListRequest) ProtoMessage() {} - -func (x *ContractTxListRequest) ProtoReflect() protoreflect.Message { - mi := &file_api_contract_contract_proto_msgTypes[5] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use ContractTxListRequest.ProtoReflect.Descriptor instead. -func (*ContractTxListRequest) Descriptor() ([]byte, []int) { - return file_api_contract_contract_proto_rawDescGZIP(), []int{5} -} - -func (x *ContractTxListRequest) GetPageSize() int64 { - if x != nil { - return x.PageSize - } - return 0 -} - -func (x *ContractTxListRequest) GetPage() int64 { - if x != nil { - return x.Page - } - return 0 -} - -func (x *ContractTxListRequest) GetState() int64 { - if x != nil { - return x.State - } - return 0 -} - -func (x *ContractTxListRequest) GetID() int64 { - if x != nil { - return x.ID - } - return 0 -} - -type ContractTxListRespond struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - Data []*ContractData `protobuf:"bytes,1,rep,name=Data,proto3" json:"Data"` -} - -func (x *ContractTxListRespond) Reset() { - *x = ContractTxListRespond{} - if protoimpl.UnsafeEnabled { - mi := &file_api_contract_contract_proto_msgTypes[6] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *ContractTxListRespond) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*ContractTxListRespond) ProtoMessage() {} - -func (x *ContractTxListRespond) ProtoReflect() protoreflect.Message { - mi := &file_api_contract_contract_proto_msgTypes[6] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use ContractTxListRespond.ProtoReflect.Descriptor instead. -func (*ContractTxListRespond) Descriptor() ([]byte, []int) { - return file_api_contract_contract_proto_rawDescGZIP(), []int{6} -} - -func (x *ContractTxListRespond) GetData() []*ContractData { - if x != nil { - return x.Data - } - return nil -} - type SignContractRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - ContractId int64 `protobuf:"varint,1,opt,name=ContractId,json=contractId,proto3" json:"ContractId"` - HtmlType string `protobuf:"bytes,2,opt,name=HtmlType,json=htmlType,proto3" json:"HtmlType"` - EnvType string `protobuf:"bytes,3,opt,name=EnvType,json=envType,proto3" json:"EnvType"` + ID int32 `protobuf:"varint,1,opt,name=ID,json=id,proto3" json:"ID,omitempty"` + ContractId int32 `protobuf:"varint,2,opt,name=ContractId,json=contractId,proto3" json:"ContractId,omitempty"` + Token string `protobuf:"bytes,3,opt,name=Token,json=token,proto3" json:"Token,omitempty"` + HtmlType string `protobuf:"bytes,4,opt,name=HtmlType,json=htmlType,proto3" json:"HtmlType,omitempty"` + EnvType string `protobuf:"bytes,5,opt,name=EnvType,json=envType,proto3" json:"EnvType,omitempty"` } func (x *SignContractRequest) Reset() { *x = SignContractRequest{} if protoimpl.UnsafeEnabled { - mi := &file_api_contract_contract_proto_msgTypes[7] + mi := &file_contract_proto_msgTypes[7] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -542,7 +545,7 @@ func (x *SignContractRequest) String() string { func (*SignContractRequest) ProtoMessage() {} func (x *SignContractRequest) ProtoReflect() protoreflect.Message { - mi := &file_api_contract_contract_proto_msgTypes[7] + mi := &file_contract_proto_msgTypes[7] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -555,16 +558,30 @@ func (x *SignContractRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use SignContractRequest.ProtoReflect.Descriptor instead. func (*SignContractRequest) Descriptor() ([]byte, []int) { - return file_api_contract_contract_proto_rawDescGZIP(), []int{7} + return file_contract_proto_rawDescGZIP(), []int{7} } -func (x *SignContractRequest) GetContractId() int64 { +func (x *SignContractRequest) GetID() int32 { + if x != nil { + return x.ID + } + return 0 +} + +func (x *SignContractRequest) GetContractId() int32 { if x != nil { return x.ContractId } return 0 } +func (x *SignContractRequest) GetToken() string { + if x != nil { + return x.Token + } + return "" +} + func (x *SignContractRequest) GetHtmlType() string { if x != nil { return x.HtmlType @@ -583,12 +600,15 @@ type SignContractRespond struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields + + JumpUrl string `protobuf:"bytes,1,opt,name=JumpUrl,json=jump_url,proto3" json:"JumpUrl,omitempty"` + Msg string `protobuf:"bytes,2,opt,name=Msg,json=msg,proto3" json:"Msg,omitempty"` } func (x *SignContractRespond) Reset() { *x = SignContractRespond{} if protoimpl.UnsafeEnabled { - mi := &file_api_contract_contract_proto_msgTypes[8] + mi := &file_contract_proto_msgTypes[8] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -601,7 +621,7 @@ func (x *SignContractRespond) String() string { func (*SignContractRespond) ProtoMessage() {} func (x *SignContractRespond) ProtoReflect() protoreflect.Message { - mi := &file_api_contract_contract_proto_msgTypes[8] + mi := &file_contract_proto_msgTypes[8] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -614,7 +634,249 @@ func (x *SignContractRespond) ProtoReflect() protoreflect.Message { // Deprecated: Use SignContractRespond.ProtoReflect.Descriptor instead. func (*SignContractRespond) Descriptor() ([]byte, []int) { - return file_api_contract_contract_proto_rawDescGZIP(), []int{8} + return file_contract_proto_rawDescGZIP(), []int{8} +} + +func (x *SignContractRespond) GetJumpUrl() string { + if x != nil { + return x.JumpUrl + } + return "" +} + +func (x *SignContractRespond) GetMsg() string { + if x != nil { + return x.Msg + } + return "" +} + +type FinishContractRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + TransactionId string `protobuf:"bytes,1,opt,name=TransactionId,json=transactionId,proto3" json:"TransactionId,omitempty"` +} + +func (x *FinishContractRequest) Reset() { + *x = FinishContractRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_contract_proto_msgTypes[9] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *FinishContractRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*FinishContractRequest) ProtoMessage() {} + +func (x *FinishContractRequest) ProtoReflect() protoreflect.Message { + mi := &file_contract_proto_msgTypes[9] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use FinishContractRequest.ProtoReflect.Descriptor instead. +func (*FinishContractRequest) Descriptor() ([]byte, []int) { + return file_contract_proto_rawDescGZIP(), []int{9} +} + +func (x *FinishContractRequest) GetTransactionId() string { + if x != nil { + return x.TransactionId + } + return "" +} + +type FinishContractRespond struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Contract *Contracts `protobuf:"bytes,1,opt,name=Contract,json=msg,proto3" json:"Contract,omitempty"` + Msg string `protobuf:"bytes,2,opt,name=Msg,json=msg,proto3" json:"Msg,omitempty"` +} + +func (x *FinishContractRespond) Reset() { + *x = FinishContractRespond{} + if protoimpl.UnsafeEnabled { + mi := &file_contract_proto_msgTypes[10] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *FinishContractRespond) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*FinishContractRespond) ProtoMessage() {} + +func (x *FinishContractRespond) ProtoReflect() protoreflect.Message { + mi := &file_contract_proto_msgTypes[10] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use FinishContractRespond.ProtoReflect.Descriptor instead. +func (*FinishContractRespond) Descriptor() ([]byte, []int) { + return file_contract_proto_rawDescGZIP(), []int{10} +} + +func (x *FinishContractRespond) GetContract() *Contracts { + if x != nil { + return x.Contract + } + return nil +} + +func (x *FinishContractRespond) GetMsg() string { + if x != nil { + return x.Msg + } + return "" +} + +type ContractTxListRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + ID int32 `protobuf:"varint,1,opt,name=ID,json=id,proto3" json:"ID,omitempty"` + PageSize int32 `protobuf:"varint,2,opt,name=PageSize,json=pageSize,proto3" json:"PageSize,omitempty"` + Page int32 `protobuf:"varint,3,opt,name=Page,json=page,proto3" json:"Page,omitempty"` + State int32 `protobuf:"varint,4,opt,name=State,json=state,proto3" json:"State,omitempty"` +} + +func (x *ContractTxListRequest) Reset() { + *x = ContractTxListRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_contract_proto_msgTypes[11] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ContractTxListRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ContractTxListRequest) ProtoMessage() {} + +func (x *ContractTxListRequest) ProtoReflect() protoreflect.Message { + mi := &file_contract_proto_msgTypes[11] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ContractTxListRequest.ProtoReflect.Descriptor instead. +func (*ContractTxListRequest) Descriptor() ([]byte, []int) { + return file_contract_proto_rawDescGZIP(), []int{11} +} + +func (x *ContractTxListRequest) GetID() int32 { + if x != nil { + return x.ID + } + return 0 +} + +func (x *ContractTxListRequest) GetPageSize() int32 { + if x != nil { + return x.PageSize + } + return 0 +} + +func (x *ContractTxListRequest) GetPage() int32 { + if x != nil { + return x.Page + } + return 0 +} + +func (x *ContractTxListRequest) GetState() int32 { + if x != nil { + return x.State + } + return 0 +} + +type ContractTxListRespond struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Data []*Contracts `protobuf:"bytes,1,rep,name=Data,proto3" json:"Data,omitempty"` + Msg string `protobuf:"bytes,2,opt,name=Msg,json=msg,proto3" json:"Msg,omitempty"` +} + +func (x *ContractTxListRespond) Reset() { + *x = ContractTxListRespond{} + if protoimpl.UnsafeEnabled { + mi := &file_contract_proto_msgTypes[12] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ContractTxListRespond) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ContractTxListRespond) ProtoMessage() {} + +func (x *ContractTxListRespond) ProtoReflect() protoreflect.Message { + mi := &file_contract_proto_msgTypes[12] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ContractTxListRespond.ProtoReflect.Descriptor instead. +func (*ContractTxListRespond) Descriptor() ([]byte, []int) { + return file_contract_proto_rawDescGZIP(), []int{12} +} + +func (x *ContractTxListRespond) GetData() []*Contracts { + if x != nil { + return x.Data + } + return nil +} + +func (x *ContractTxListRespond) GetMsg() string { + if x != nil { + return x.Msg + } + return "" } type GetContractRequest struct { @@ -622,13 +884,13 @@ type GetContractRequest struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Id int64 `protobuf:"varint,1,opt,name=Id,json=id,proto3" json:"Id"` + Id int64 `protobuf:"varint,1,opt,name=Id,json=id,proto3" json:"Id,omitempty"` } func (x *GetContractRequest) Reset() { *x = GetContractRequest{} if protoimpl.UnsafeEnabled { - mi := &file_api_contract_contract_proto_msgTypes[9] + mi := &file_contract_proto_msgTypes[13] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -641,7 +903,7 @@ func (x *GetContractRequest) String() string { func (*GetContractRequest) ProtoMessage() {} func (x *GetContractRequest) ProtoReflect() protoreflect.Message { - mi := &file_api_contract_contract_proto_msgTypes[9] + mi := &file_contract_proto_msgTypes[13] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -654,7 +916,7 @@ func (x *GetContractRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use GetContractRequest.ProtoReflect.Descriptor instead. func (*GetContractRequest) Descriptor() ([]byte, []int) { - return file_api_contract_contract_proto_rawDescGZIP(), []int{9} + return file_contract_proto_rawDescGZIP(), []int{13} } func (x *GetContractRequest) GetId() int64 { @@ -669,29 +931,29 @@ type UpdateContractRequest struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - ID uint64 `protobuf:"varint,1,opt,name=ID,json=id,proto3" json:"ID"` - UserId int64 `protobuf:"varint,2,opt,name=UserId,json=userId,proto3" json:"UserId"` - CardId string `protobuf:"bytes,3,opt,name=CardId,json=cardId,proto3" json:"CardId"` - MgmtUserId string `protobuf:"bytes,4,opt,name=MgmtUserId,json=mgmtUserId,proto3" json:"MgmtUserId"` - ArtworkId string `protobuf:"bytes,5,opt,name=ArtworkId,json=artworkId,proto3" json:"ArtworkId"` - ContractId string `protobuf:"bytes,6,opt,name=ContractId,json=contractId,proto3" json:"ContractId"` - TransactionId string `protobuf:"bytes,7,opt,name=TransactionId,json=transactionId,proto3" json:"TransactionId"` - Type int64 `protobuf:"varint,8,opt,name=Type,json=type,proto3" json:"Type"` - BatchId int64 `protobuf:"varint,9,opt,name=BatchId,json=batchId,proto3" json:"BatchId"` - BatchName string `protobuf:"bytes,10,opt,name=BatchName,json=batchName,proto3" json:"BatchName"` - ViewUrl string `protobuf:"bytes,11,opt,name=ViewUrl,json=viewUrl,proto3" json:"ViewUrl"` - DownloadUrl string `protobuf:"bytes,12,opt,name=DownloadUrl,json=downloadUrl,proto3" json:"DownloadUrl"` - State int64 `protobuf:"varint,13,opt,name=State,json=state,proto3" json:"State"` - UpdateTime string `protobuf:"bytes,14,opt,name=UpdateTime,json=updateTime,proto3" json:"UpdateTime"` - CreateTime string `protobuf:"bytes,15,opt,name=CreateTime,json=createTime,proto3" json:"CreateTime"` - ExpirationTime string `protobuf:"bytes,16,opt,name=ExpirationTime,json=expirationTime,proto3" json:"ExpirationTime"` - SignTime string `protobuf:"bytes,17,opt,name=SignTime,json=signTime,proto3" json:"SignTime"` + ID uint64 `protobuf:"varint,1,opt,name=ID,json=id,proto3" json:"ID,omitempty"` + UserId int64 `protobuf:"varint,2,opt,name=UserId,json=userId,proto3" json:"UserId,omitempty"` + CardId string `protobuf:"bytes,3,opt,name=CardId,json=cardId,proto3" json:"CardId,omitempty"` + MgmtUserId string `protobuf:"bytes,4,opt,name=MgmtUserId,json=mgmtUserId,proto3" json:"MgmtUserId,omitempty"` + ArtworkId string `protobuf:"bytes,5,opt,name=ArtworkId,json=artworkId,proto3" json:"ArtworkId,omitempty"` + ContractId string `protobuf:"bytes,6,opt,name=ContractId,json=contractId,proto3" json:"ContractId,omitempty"` + TransactionId string `protobuf:"bytes,7,opt,name=TransactionId,json=transactionId,proto3" json:"TransactionId,omitempty"` + Type int64 `protobuf:"varint,8,opt,name=Type,json=type,proto3" json:"Type,omitempty"` + BatchId int64 `protobuf:"varint,9,opt,name=BatchId,json=batchId,proto3" json:"BatchId,omitempty"` + BatchName string `protobuf:"bytes,10,opt,name=BatchName,json=batchName,proto3" json:"BatchName,omitempty"` + ViewUrl string `protobuf:"bytes,11,opt,name=ViewUrl,json=viewUrl,proto3" json:"ViewUrl,omitempty"` + DownloadUrl string `protobuf:"bytes,12,opt,name=DownloadUrl,json=downloadUrl,proto3" json:"DownloadUrl,omitempty"` + State int64 `protobuf:"varint,13,opt,name=State,json=state,proto3" json:"State,omitempty"` + UpdateTime string `protobuf:"bytes,14,opt,name=UpdateTime,json=updateTime,proto3" json:"UpdateTime,omitempty"` + CreateTime string `protobuf:"bytes,15,opt,name=CreateTime,json=createTime,proto3" json:"CreateTime,omitempty"` + ExpirationTime string `protobuf:"bytes,16,opt,name=ExpirationTime,json=expirationTime,proto3" json:"ExpirationTime,omitempty"` + SignTime string `protobuf:"bytes,17,opt,name=SignTime,json=signTime,proto3" json:"SignTime,omitempty"` } func (x *UpdateContractRequest) Reset() { *x = UpdateContractRequest{} if protoimpl.UnsafeEnabled { - mi := &file_api_contract_contract_proto_msgTypes[10] + mi := &file_contract_proto_msgTypes[14] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -704,7 +966,7 @@ func (x *UpdateContractRequest) String() string { func (*UpdateContractRequest) ProtoMessage() {} func (x *UpdateContractRequest) ProtoReflect() protoreflect.Message { - mi := &file_api_contract_contract_proto_msgTypes[10] + mi := &file_contract_proto_msgTypes[14] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -717,7 +979,7 @@ func (x *UpdateContractRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use UpdateContractRequest.ProtoReflect.Descriptor instead. func (*UpdateContractRequest) Descriptor() ([]byte, []int) { - return file_api_contract_contract_proto_rawDescGZIP(), []int{10} + return file_contract_proto_rawDescGZIP(), []int{14} } func (x *UpdateContractRequest) GetID() uint64 { @@ -848,7 +1110,7 @@ type UpdateContractRespond struct { func (x *UpdateContractRespond) Reset() { *x = UpdateContractRespond{} if protoimpl.UnsafeEnabled { - mi := &file_api_contract_contract_proto_msgTypes[11] + mi := &file_contract_proto_msgTypes[15] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -861,7 +1123,7 @@ func (x *UpdateContractRespond) String() string { func (*UpdateContractRespond) ProtoMessage() {} func (x *UpdateContractRespond) ProtoReflect() protoreflect.Message { - mi := &file_api_contract_contract_proto_msgTypes[11] + mi := &file_contract_proto_msgTypes[15] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -874,7 +1136,7 @@ func (x *UpdateContractRespond) ProtoReflect() protoreflect.Message { // Deprecated: Use UpdateContractRespond.ProtoReflect.Descriptor instead. func (*UpdateContractRespond) Descriptor() ([]byte, []int) { - return file_api_contract_contract_proto_rawDescGZIP(), []int{11} + return file_contract_proto_rawDescGZIP(), []int{15} } type UpdateContractTxRequest struct { @@ -882,14 +1144,14 @@ type UpdateContractTxRequest struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - ID int64 `protobuf:"varint,1,opt,name=ID,json=id,proto3" json:"ID"` - TransactionId string `protobuf:"bytes,2,opt,name=TransactionId,json=transactionId,proto3" json:"TransactionId"` + ID int64 `protobuf:"varint,1,opt,name=ID,json=id,proto3" json:"ID,omitempty"` + TransactionId string `protobuf:"bytes,2,opt,name=TransactionId,json=transactionId,proto3" json:"TransactionId,omitempty"` } func (x *UpdateContractTxRequest) Reset() { *x = UpdateContractTxRequest{} if protoimpl.UnsafeEnabled { - mi := &file_api_contract_contract_proto_msgTypes[12] + mi := &file_contract_proto_msgTypes[16] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -902,7 +1164,7 @@ func (x *UpdateContractTxRequest) String() string { func (*UpdateContractTxRequest) ProtoMessage() {} func (x *UpdateContractTxRequest) ProtoReflect() protoreflect.Message { - mi := &file_api_contract_contract_proto_msgTypes[12] + mi := &file_contract_proto_msgTypes[16] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -915,7 +1177,7 @@ func (x *UpdateContractTxRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use UpdateContractTxRequest.ProtoReflect.Descriptor instead. func (*UpdateContractTxRequest) Descriptor() ([]byte, []int) { - return file_api_contract_contract_proto_rawDescGZIP(), []int{12} + return file_contract_proto_rawDescGZIP(), []int{16} } func (x *UpdateContractTxRequest) GetID() int64 { @@ -941,7 +1203,7 @@ type UpdateContractTxRespond struct { func (x *UpdateContractTxRespond) Reset() { *x = UpdateContractTxRespond{} if protoimpl.UnsafeEnabled { - mi := &file_api_contract_contract_proto_msgTypes[13] + mi := &file_contract_proto_msgTypes[17] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -954,7 +1216,7 @@ func (x *UpdateContractTxRespond) String() string { func (*UpdateContractTxRespond) ProtoMessage() {} func (x *UpdateContractTxRespond) ProtoReflect() protoreflect.Message { - mi := &file_api_contract_contract_proto_msgTypes[13] + mi := &file_contract_proto_msgTypes[17] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -967,227 +1229,259 @@ func (x *UpdateContractTxRespond) ProtoReflect() protoreflect.Message { // Deprecated: Use UpdateContractTxRespond.ProtoReflect.Descriptor instead. func (*UpdateContractTxRespond) Descriptor() ([]byte, []int) { - return file_api_contract_contract_proto_rawDescGZIP(), []int{13} + return file_contract_proto_rawDescGZIP(), []int{17} } -var File_api_contract_contract_proto protoreflect.FileDescriptor +var File_contract_proto protoreflect.FileDescriptor -var file_api_contract_contract_proto_rawDesc = []byte{ - 0x0a, 0x1b, 0x61, 0x70, 0x69, 0x2f, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x2f, 0x63, - 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x08, 0x43, - 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x22, 0x3d, 0x0a, 0x15, 0x46, 0x69, 0x6e, 0x69, 0x73, - 0x68, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, +var file_contract_proto_rawDesc = []byte{ + 0x0a, 0x0e, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, + 0x12, 0x0e, 0x61, 0x72, 0x74, 0x69, 0x73, 0x74, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, + 0x22, 0x99, 0x03, 0x0a, 0x09, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x73, 0x12, 0x21, + 0x0a, 0x0b, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x55, 0x69, 0x64, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x0c, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x5f, 0x75, 0x69, + 0x64, 0x12, 0x1d, 0x0a, 0x09, 0x41, 0x72, 0x74, 0x69, 0x73, 0x74, 0x55, 0x69, 0x64, 0x18, 0x02, + 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, 0x03, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x61, 0x72, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x5f, 0x75, 0x69, + 0x64, 0x12, 0x1f, 0x0a, 0x0a, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x49, 0x64, 0x18, + 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x5f, + 0x69, 0x64, 0x12, 0x25, 0x0a, 0x0d, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, + 0x6e, 0x49, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x74, 0x72, 0x61, 0x6e, 0x73, + 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x54, 0x79, 0x70, + 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x12, 0x19, 0x0a, + 0x07, 0x56, 0x69, 0x65, 0x77, 0x55, 0x72, 0x6c, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, + 0x76, 0x69, 0x65, 0x77, 0x5f, 0x75, 0x72, 0x6c, 0x12, 0x21, 0x0a, 0x0b, 0x44, 0x6f, 0x77, 0x6e, + 0x6c, 0x6f, 0x61, 0x64, 0x55, 0x72, 0x6c, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x64, + 0x6f, 0x77, 0x6e, 0x6c, 0x6f, 0x61, 0x64, 0x5f, 0x75, 0x72, 0x6c, 0x12, 0x14, 0x0a, 0x05, 0x53, + 0x74, 0x61, 0x74, 0x65, 0x18, 0x09, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x73, 0x74, 0x61, 0x74, + 0x65, 0x12, 0x16, 0x0a, 0x06, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x0a, 0x20, 0x01, 0x28, + 0x05, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x27, 0x0a, 0x0e, 0x45, 0x78, 0x70, + 0x69, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x69, 0x6d, 0x65, 0x18, 0x0b, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x0f, 0x65, 0x78, 0x70, 0x69, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x74, 0x69, + 0x6d, 0x65, 0x12, 0x1b, 0x0a, 0x08, 0x4c, 0x6f, 0x63, 0x6b, 0x54, 0x69, 0x6d, 0x65, 0x18, 0x0c, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x6c, 0x6f, 0x63, 0x6b, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x12, + 0x1b, 0x0a, 0x08, 0x53, 0x69, 0x67, 0x6e, 0x54, 0x69, 0x6d, 0x65, 0x18, 0x0d, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x09, 0x73, 0x69, 0x67, 0x6e, 0x5f, 0x74, 0x69, 0x6d, 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, 0x5e, 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, 0x12, + 0x0a, 0x04, 0x50, 0x61, 0x67, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x70, 0x61, + 0x67, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x4e, 0x75, 0x6d, 0x18, 0x03, 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, 0x6b, 0x0a, 0x13, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 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, 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, 0x91, 0x01, 0x0a, 0x13, 0x53, 0x69, 0x67, 0x6e, 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, 0x05, 0x52, 0x02, 0x69, 0x64, 0x12, 0x1e, 0x0a, + 0x0a, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, + 0x05, 0x52, 0x0a, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x49, 0x64, 0x12, 0x14, 0x0a, + 0x05, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x74, 0x6f, + 0x6b, 0x65, 0x6e, 0x12, 0x1a, 0x0a, 0x08, 0x48, 0x74, 0x6d, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x18, + 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x68, 0x74, 0x6d, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x12, + 0x18, 0x0a, 0x07, 0x45, 0x6e, 0x76, 0x54, 0x79, 0x70, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x07, 0x65, 0x6e, 0x76, 0x54, 0x79, 0x70, 0x65, 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, 0x3d, 0x0a, + 0x15, 0x46, 0x69, 0x6e, 0x69, 0x73, 0x68, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x52, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x24, 0x0a, 0x0d, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, + 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x74, + 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x49, 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, 0x6d, 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, 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, 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, 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, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, - 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x22, 0x17, 0x0a, 0x15, 0x46, 0x69, 0x6e, 0x69, 0x73, 0x68, - 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x64, 0x22, - 0x6b, 0x0a, 0x13, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x4c, 0x69, 0x73, 0x74, 0x52, - 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x50, 0x61, 0x67, 0x65, 0x53, 0x69, - 0x7a, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x08, 0x70, 0x61, 0x67, 0x65, 0x53, 0x69, - 0x7a, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x50, 0x61, 0x67, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, - 0x52, 0x04, 0x70, 0x61, 0x67, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x53, 0x74, 0x61, 0x74, 0x65, 0x18, - 0x03, 0x20, 0x01, 0x28, 0x03, 0x52, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x12, 0x0e, 0x0a, 0x02, - 0x49, 0x44, 0x18, 0x04, 0x20, 0x01, 0x28, 0x03, 0x52, 0x02, 0x69, 0x64, 0x22, 0x41, 0x0a, 0x13, - 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, - 0x6f, 0x6e, 0x64, 0x12, 0x2a, 0x0a, 0x04, 0x44, 0x61, 0x74, 0x61, 0x18, 0x01, 0x20, 0x03, 0x28, - 0x0b, 0x32, 0x16, 0x2e, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x2e, 0x43, 0x6f, 0x6e, - 0x74, 0x72, 0x61, 0x63, 0x74, 0x44, 0x61, 0x74, 0x61, 0x52, 0x04, 0x44, 0x61, 0x74, 0x61, 0x22, - 0xf4, 0x03, 0x0a, 0x0c, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x44, 0x61, 0x74, 0x61, - 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, 0x6d, 0x0a, 0x15, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x61, - 0x63, 0x74, 0x54, 0x78, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, - 0x1a, 0x0a, 0x08, 0x50, 0x61, 0x67, 0x65, 0x53, 0x69, 0x7a, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x03, 0x52, 0x08, 0x70, 0x61, 0x67, 0x65, 0x53, 0x69, 0x7a, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x50, - 0x61, 0x67, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x04, 0x70, 0x61, 0x67, 0x65, 0x12, - 0x14, 0x0a, 0x05, 0x53, 0x74, 0x61, 0x74, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x03, 0x52, 0x05, - 0x73, 0x74, 0x61, 0x74, 0x65, 0x12, 0x0e, 0x0a, 0x02, 0x49, 0x44, 0x18, 0x04, 0x20, 0x01, 0x28, - 0x03, 0x52, 0x02, 0x69, 0x64, 0x22, 0x43, 0x0a, 0x15, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, - 0x74, 0x54, 0x78, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x64, 0x12, 0x2a, - 0x0a, 0x04, 0x44, 0x61, 0x74, 0x61, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x43, - 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x2e, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, - 0x44, 0x61, 0x74, 0x61, 0x52, 0x04, 0x44, 0x61, 0x74, 0x61, 0x22, 0x6b, 0x0a, 0x13, 0x53, 0x69, - 0x67, 0x6e, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, - 0x74, 0x12, 0x1e, 0x0a, 0x0a, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x49, 0x64, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0a, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x49, - 0x64, 0x12, 0x1a, 0x0a, 0x08, 0x48, 0x74, 0x6d, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x18, 0x02, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x08, 0x68, 0x74, 0x6d, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x12, 0x18, 0x0a, - 0x07, 0x45, 0x6e, 0x76, 0x54, 0x79, 0x70, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, - 0x65, 0x6e, 0x76, 0x54, 0x79, 0x70, 0x65, 0x22, 0x15, 0x0a, 0x13, 0x53, 0x69, 0x67, 0x6e, 0x43, - 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x64, 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, + 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, 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, 0xcf, 0x04, 0x0a, 0x08, 0x43, 0x6f, - 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x12, 0x54, 0x0a, 0x0e, 0x46, 0x69, 0x6e, 0x69, 0x73, 0x68, - 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x12, 0x1f, 0x2e, 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, 0x1f, 0x2e, 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, 0x4e, 0x0a, 0x0c, - 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x1d, 0x2e, 0x43, + 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, 0xd6, 0x04, + 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, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1d, 0x2e, 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, 0x45, 0x0a, 0x0b, - 0x47, 0x65, 0x74, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x12, 0x1c, 0x2e, 0x43, 0x6f, - 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x2e, 0x47, 0x65, 0x74, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x61, - 0x63, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x16, 0x2e, 0x43, 0x6f, 0x6e, 0x74, - 0x72, 0x61, 0x63, 0x74, 0x2e, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x44, 0x61, 0x74, - 0x61, 0x22, 0x00, 0x12, 0x54, 0x0a, 0x0e, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x54, - 0x78, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x1f, 0x2e, 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, 0x1f, 0x2e, 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, 0x4e, 0x0a, 0x0c, 0x53, 0x69, 0x67, - 0x6e, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x12, 0x1d, 0x2e, 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, 0x1d, 0x2e, 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, 0x54, 0x0a, 0x0e, 0x55, 0x70, 0x64, - 0x61, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x12, 0x1f, 0x2e, 0x43, 0x6f, - 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x43, 0x6f, 0x6e, - 0x74, 0x72, 0x61, 0x63, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1f, 0x2e, 0x43, - 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x43, 0x6f, - 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x64, 0x22, 0x00, 0x12, - 0x5a, 0x0a, 0x10, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, - 0x74, 0x54, 0x78, 0x12, 0x21, 0x2e, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x2e, 0x55, - 0x70, 0x64, 0x61, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x54, 0x78, 0x52, - 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x21, 0x2e, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, - 0x74, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, - 0x54, 0x78, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x64, 0x22, 0x00, 0x42, 0x0d, 0x5a, 0x0b, 0x2e, - 0x2f, 0x3b, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, - 0x6f, 0x33, + 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, 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 ( - file_api_contract_contract_proto_rawDescOnce sync.Once - file_api_contract_contract_proto_rawDescData = file_api_contract_contract_proto_rawDesc + file_contract_proto_rawDescOnce sync.Once + file_contract_proto_rawDescData = file_contract_proto_rawDesc ) -func file_api_contract_contract_proto_rawDescGZIP() []byte { - file_api_contract_contract_proto_rawDescOnce.Do(func() { - file_api_contract_contract_proto_rawDescData = protoimpl.X.CompressGZIP(file_api_contract_contract_proto_rawDescData) +func file_contract_proto_rawDescGZIP() []byte { + file_contract_proto_rawDescOnce.Do(func() { + file_contract_proto_rawDescData = protoimpl.X.CompressGZIP(file_contract_proto_rawDescData) }) - return file_api_contract_contract_proto_rawDescData + return file_contract_proto_rawDescData } -var file_api_contract_contract_proto_msgTypes = make([]protoimpl.MessageInfo, 14) -var file_api_contract_contract_proto_goTypes = []interface{}{ - (*FinishContractRequest)(nil), // 0: Contract.FinishContractRequest - (*FinishContractRespond)(nil), // 1: Contract.FinishContractRespond - (*ContractListRequest)(nil), // 2: Contract.ContractListRequest - (*ContractListRespond)(nil), // 3: Contract.ContractListRespond - (*ContractData)(nil), // 4: Contract.ContractData - (*ContractTxListRequest)(nil), // 5: Contract.ContractTxListRequest - (*ContractTxListRespond)(nil), // 6: Contract.ContractTxListRespond - (*SignContractRequest)(nil), // 7: Contract.SignContractRequest - (*SignContractRespond)(nil), // 8: Contract.SignContractRespond - (*GetContractRequest)(nil), // 9: Contract.GetContractRequest - (*UpdateContractRequest)(nil), // 10: Contract.UpdateContractRequest - (*UpdateContractRespond)(nil), // 11: Contract.UpdateContractRespond - (*UpdateContractTxRequest)(nil), // 12: Contract.UpdateContractTxRequest - (*UpdateContractTxRespond)(nil), // 13: Contract.UpdateContractTxRespond +var file_contract_proto_msgTypes = make([]protoimpl.MessageInfo, 18) +var file_contract_proto_goTypes = []interface{}{ + (*Contracts)(nil), // 0: artistContract.Contracts + (*CreateContractRequest)(nil), // 1: artistContract.CreateContractRequest + (*CreateContractRespond)(nil), // 2: artistContract.CreateContractRespond + (*ContractListMgmtRequest)(nil), // 3: artistContract.ContractListMgmtRequest + (*ContractListMgmtRespond)(nil), // 4: artistContract.ContractListMgmtRespond + (*ContractListRequest)(nil), // 5: artistContract.ContractListRequest + (*ContractListRespond)(nil), // 6: artistContract.ContractListRespond + (*SignContractRequest)(nil), // 7: artistContract.SignContractRequest + (*SignContractRespond)(nil), // 8: artistContract.SignContractRespond + (*FinishContractRequest)(nil), // 9: artistContract.FinishContractRequest + (*FinishContractRespond)(nil), // 10: artistContract.FinishContractRespond + (*ContractTxListRequest)(nil), // 11: artistContract.ContractTxListRequest + (*ContractTxListRespond)(nil), // 12: artistContract.ContractTxListRespond + (*GetContractRequest)(nil), // 13: artistContract.GetContractRequest + (*UpdateContractRequest)(nil), // 14: artistContract.UpdateContractRequest + (*UpdateContractRespond)(nil), // 15: artistContract.UpdateContractRespond + (*UpdateContractTxRequest)(nil), // 16: artistContract.UpdateContractTxRequest + (*UpdateContractTxRespond)(nil), // 17: artistContract.UpdateContractTxRespond } -var file_api_contract_contract_proto_depIdxs = []int32{ - 4, // 0: Contract.ContractListRespond.Data:type_name -> Contract.ContractData - 4, // 1: Contract.ContractTxListRespond.Data:type_name -> Contract.ContractData - 0, // 2: Contract.Contract.FinishContract:input_type -> Contract.FinishContractRequest - 2, // 3: Contract.Contract.ContractList:input_type -> Contract.ContractListRequest - 9, // 4: Contract.Contract.GetContract:input_type -> Contract.GetContractRequest - 5, // 5: Contract.Contract.ContractTxList:input_type -> Contract.ContractTxListRequest - 7, // 6: Contract.Contract.SignContract:input_type -> Contract.SignContractRequest - 10, // 7: Contract.Contract.UpdateContract:input_type -> Contract.UpdateContractRequest - 12, // 8: Contract.Contract.UpdateContractTx:input_type -> Contract.UpdateContractTxRequest - 1, // 9: Contract.Contract.FinishContract:output_type -> Contract.FinishContractRespond - 3, // 10: Contract.Contract.ContractList:output_type -> Contract.ContractListRespond - 4, // 11: Contract.Contract.GetContract:output_type -> Contract.ContractData - 6, // 12: Contract.Contract.ContractTxList:output_type -> Contract.ContractTxListRespond - 8, // 13: Contract.Contract.SignContract:output_type -> Contract.SignContractRespond - 11, // 14: Contract.Contract.UpdateContract:output_type -> Contract.UpdateContractRespond - 13, // 15: Contract.Contract.UpdateContractTx:output_type -> Contract.UpdateContractTxRespond - 9, // [9:16] is the sub-list for method output_type - 2, // [2:9] is the sub-list for method input_type - 2, // [2:2] is the sub-list for extension type_name - 2, // [2:2] is the sub-list for extension extendee - 0, // [0:2] is the sub-list for field type_name +var file_contract_proto_depIdxs = []int32{ + 0, // 0: artistContract.ContractListMgmtRespond.Data:type_name -> artistContract.Contracts + 0, // 1: artistContract.ContractListRespond.Data:type_name -> artistContract.Contracts + 0, // 2: artistContract.FinishContractRespond.Contract:type_name -> artistContract.Contracts + 0, // 3: artistContract.ContractTxListRespond.Data:type_name -> artistContract.Contracts + 1, // 4: artistContract.ArtistContract.CreateContract:input_type -> artistContract.CreateContractRequest + 3, // 5: artistContract.ArtistContract.ContractListMgmt:input_type -> artistContract.ContractListMgmtRequest + 5, // 6: artistContract.ArtistContract.ContractList:input_type -> artistContract.ContractListRequest + 7, // 7: artistContract.ArtistContract.SignContract:input_type -> artistContract.SignContractRequest + 9, // 8: artistContract.ArtistContract.FinishContract:input_type -> artistContract.FinishContractRequest + 11, // 9: artistContract.ArtistContract.ContractTxList:input_type -> artistContract.ContractTxListRequest + 2, // 10: artistContract.ArtistContract.CreateContract:output_type -> artistContract.CreateContractRespond + 4, // 11: artistContract.ArtistContract.ContractListMgmt:output_type -> artistContract.ContractListMgmtRespond + 6, // 12: artistContract.ArtistContract.ContractList:output_type -> artistContract.ContractListRespond + 8, // 13: artistContract.ArtistContract.SignContract:output_type -> artistContract.SignContractRespond + 10, // 14: artistContract.ArtistContract.FinishContract:output_type -> artistContract.FinishContractRespond + 12, // 15: artistContract.ArtistContract.ContractTxList:output_type -> artistContract.ContractTxListRespond + 10, // [10:16] is the sub-list for method output_type + 4, // [4:10] is the sub-list for method input_type + 4, // [4:4] is the sub-list for extension type_name + 4, // [4:4] is the sub-list for extension extendee + 0, // [0:4] is the sub-list for field type_name } -func init() { file_api_contract_contract_proto_init() } -func file_api_contract_contract_proto_init() { - if File_api_contract_contract_proto != nil { +func init() { file_contract_proto_init() } +func file_contract_proto_init() { + if File_contract_proto != nil { return } if !protoimpl.UnsafeEnabled { - file_api_contract_contract_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*FinishContractRequest); i { + file_contract_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*Contracts); i { case 0: return &v.state case 1: @@ -1198,8 +1492,8 @@ func file_api_contract_contract_proto_init() { return nil } } - file_api_contract_contract_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*FinishContractRespond); i { + file_contract_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CreateContractRequest); i { case 0: return &v.state case 1: @@ -1210,7 +1504,43 @@ func file_api_contract_contract_proto_init() { return nil } } - file_api_contract_contract_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { + file_contract_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CreateContractRespond); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_contract_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ContractListMgmtRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_contract_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ContractListMgmtRespond); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_contract_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ContractListRequest); i { case 0: return &v.state @@ -1222,7 +1552,7 @@ func file_api_contract_contract_proto_init() { return nil } } - file_api_contract_contract_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} { + file_contract_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ContractListRespond); i { case 0: return &v.state @@ -1234,43 +1564,7 @@ func file_api_contract_contract_proto_init() { return nil } } - file_api_contract_contract_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ContractData); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_api_contract_contract_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ContractTxListRequest); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_api_contract_contract_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ContractTxListRespond); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_api_contract_contract_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} { + file_contract_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*SignContractRequest); i { case 0: return &v.state @@ -1282,7 +1576,7 @@ func file_api_contract_contract_proto_init() { return nil } } - file_api_contract_contract_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} { + file_contract_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*SignContractRespond); i { case 0: return &v.state @@ -1294,7 +1588,55 @@ func file_api_contract_contract_proto_init() { return nil } } - file_api_contract_contract_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} { + file_contract_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*FinishContractRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_contract_proto_msgTypes[10].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*FinishContractRespond); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_contract_proto_msgTypes[11].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ContractTxListRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_contract_proto_msgTypes[12].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ContractTxListRespond); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_contract_proto_msgTypes[13].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*GetContractRequest); i { case 0: return &v.state @@ -1306,7 +1648,7 @@ func file_api_contract_contract_proto_init() { return nil } } - file_api_contract_contract_proto_msgTypes[10].Exporter = func(v interface{}, i int) interface{} { + file_contract_proto_msgTypes[14].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*UpdateContractRequest); i { case 0: return &v.state @@ -1318,7 +1660,7 @@ func file_api_contract_contract_proto_init() { return nil } } - file_api_contract_contract_proto_msgTypes[11].Exporter = func(v interface{}, i int) interface{} { + file_contract_proto_msgTypes[15].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*UpdateContractRespond); i { case 0: return &v.state @@ -1330,7 +1672,7 @@ func file_api_contract_contract_proto_init() { return nil } } - file_api_contract_contract_proto_msgTypes[12].Exporter = func(v interface{}, i int) interface{} { + file_contract_proto_msgTypes[16].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*UpdateContractTxRequest); i { case 0: return &v.state @@ -1342,7 +1684,7 @@ func file_api_contract_contract_proto_init() { return nil } } - file_api_contract_contract_proto_msgTypes[13].Exporter = func(v interface{}, i int) interface{} { + file_contract_proto_msgTypes[17].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*UpdateContractTxRespond); i { case 0: return &v.state @@ -1359,18 +1701,18 @@ func file_api_contract_contract_proto_init() { out := protoimpl.TypeBuilder{ File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), - RawDescriptor: file_api_contract_contract_proto_rawDesc, + RawDescriptor: file_contract_proto_rawDesc, NumEnums: 0, - NumMessages: 14, + NumMessages: 18, NumExtensions: 0, NumServices: 1, }, - GoTypes: file_api_contract_contract_proto_goTypes, - DependencyIndexes: file_api_contract_contract_proto_depIdxs, - MessageInfos: file_api_contract_contract_proto_msgTypes, + GoTypes: file_contract_proto_goTypes, + DependencyIndexes: file_contract_proto_depIdxs, + MessageInfos: file_contract_proto_msgTypes, }.Build() - File_api_contract_contract_proto = out.File - file_api_contract_contract_proto_rawDesc = nil - file_api_contract_contract_proto_goTypes = nil - file_api_contract_contract_proto_depIdxs = nil + File_contract_proto = out.File + file_contract_proto_rawDesc = nil + file_contract_proto_goTypes = nil + file_contract_proto_depIdxs = nil } diff --git a/pb/contract/contract.proto b/pb/contract/contract.proto index 556a18f..e92ddf1 100644 --- a/pb/contract/contract.proto +++ b/pb/contract/contract.proto @@ -1,79 +1,104 @@ syntax = "proto3"; -package Contract; -option go_package = "./;contract"; +package artistContract; +option go_package = "./;artistContract"; //$ protoc --proto_path=. --go_out=./api/contract --go-triple_out=./api/contract ./api/contract/contract.proto -service Contract { - rpc FinishContract (FinishContractRequest) returns (FinishContractRespond) {} +service ArtistContract { + rpc CreateContract (CreateContractRequest) returns (CreateContractRespond) {} + rpc ContractListMgmt (ContractListMgmtRequest) returns (ContractListMgmtRespond) {} rpc ContractList (ContractListRequest) returns (ContractListRespond) {} - rpc GetContract (GetContractRequest) returns (ContractData) {} - rpc ContractTxList (ContractTxListRequest) returns (ContractTxListRespond) {} rpc SignContract (SignContractRequest) returns (SignContractRespond) {} - rpc UpdateContract(UpdateContractRequest) returns (UpdateContractRespond) {} - rpc UpdateContractTx(UpdateContractTxRequest) returns (UpdateContractTxRespond) {} + rpc FinishContract (FinishContractRequest) returns (FinishContractRespond) {} + rpc ContractTxList (ContractTxListRequest) returns (ContractTxListRespond) {} + + // rpc GetContract (GetContractRequest) returns (ContractData) {} + + // rpc UpdateContract(UpdateContractRequest) returns (UpdateContractRespond) {} + // rpc UpdateContractTx(UpdateContractTxRequest) returns (UpdateContractTxRespond) {} } - - -message FinishContractRequest { - string TransactionId = 1 [json_name="transactionId"]; - +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"]; } -message FinishContractRespond { +message CreateContractRequest { + string ArtistUid = 1 [json_name="artist_uid"]; + repeated string ArtworkUid = 2 [json_name="artwork_uid"]; + int32 Type = 3 [json_name="type"]; +} + +message CreateContractRespond{ + string Msg = 1 [json_name = "msg"]; +} + +message ContractListMgmtRequest{ + string ArtistUid = 1 [json_name = "artist_uid"]; + int32 Page = 2 [json_name = "page"]; + int32 Num = 3 [json_name = "num"]; +} + +message ContractListMgmtRespond{ + repeated Contracts Data = 1 [json_name = "data"]; + string Msg = 2 [json_name = "msg"]; +} + +message ContractListRequest { + int32 ID = 1 [json_name = "id"]; + int32 PageSize = 2 [json_name="pageSize"]; + int32 Page = 3 [json_name="page"]; + int32 State = 4 [json_name="state"]; } - -message ContractListRequest { - int64 PageSize = 1 [json_name="pageSize"]; - int64 Page = 2 [json_name="page"]; - int64 State = 3 [json_name="state"]; - int64 ID =4 [json_name = "id"]; -} - message ContractListRespond { - repeated ContractData Data =1; + repeated Contracts Data = 1 [json_name = "data"]; + string Msg = 2 [json_name = "msg"]; } -message ContractData{ - uint64 ID = 1[json_name="id"]; - int64 UserId = 2[json_name="userId"]; - string CardId = 3[json_name="cardId"]; - string MgmtUserId = 4[json_name="mgmtUserId"]; - string ArtworkId = 5[json_name="artworkId"]; - string ContractId = 6[json_name="contractId"]; - string TransactionId = 7[json_name="transactionId"]; - int64 Type = 8[json_name="type"]; - int64 BatchId = 9[json_name="batchId"]; - string BatchName = 10[json_name="batchName"]; - string ViewUrl = 11[json_name="viewUrl"]; - string DownloadUrl = 12[json_name="downloadUrl"]; - int64 State = 13[json_name="state"]; - string UpdateTime = 14 [json_name="updateTime"]; - string CreateTime = 15[json_name="createTime"]; - string ExpirationTime = 16 [json_name="expirationTime"]; - string SignTime = 17 [json_name="signTime"]; +message SignContractRequest { + int32 ID = 1 [json_name = "id"]; + int32 ContractId = 2 [json_name="contractId"]; + string Token = 3 [json_name="token"]; + string HtmlType = 4 [json_name="htmlType"]; + string EnvType = 5 [json_name= "envType"]; +} + +message SignContractRespond { + string JumpUrl = 1 [json_name = "jump_url"]; + string Msg = 2 [json_name = "msg"]; +} + +message FinishContractRequest { + string TransactionId = 1 [json_name="transactionId"]; +} + +message FinishContractRespond { + Contracts Contract = 1 [json_name = "msg"]; + string Msg = 2 [json_name = "msg"]; } message ContractTxListRequest { - int64 PageSize = 1 [json_name="pageSize"]; - int64 Page = 2 [json_name="page"]; - int64 State = 3 [json_name="state"]; - int64 ID =4 [json_name = "id"]; + int32 ID = 1 [json_name = "id"]; + int32 PageSize = 2 [json_name="pageSize"]; + int32 Page = 3 [json_name="page"]; + int32 State = 4 [json_name="state"]; } message ContractTxListRespond { - repeated ContractData Data =1; -} -message SignContractRequest { - int64 ContractId = 1 [json_name="contractId"]; - string HtmlType = 2 [json_name="htmlType"]; - string EnvType = 3 [json_name= "envType"]; -} - -message SignContractRespond { - + repeated Contracts Data =1; + string Msg = 2 [json_name = "msg"]; } message GetContractRequest { diff --git a/pb/contract/contract.validator.pb.go b/pb/contract/contract.validator.pb.go new file mode 100644 index 0000000..47b88f0 --- /dev/null +++ b/pb/contract/contract.validator.pb.go @@ -0,0 +1,97 @@ +// Code generated by protoc-gen-gogo. DO NOT EDIT. +// source: contract.proto + +package artistContract + +import ( + fmt "fmt" + math "math" + proto "github.com/golang/protobuf/proto" + github_com_mwitkow_go_proto_validators "github.com/mwitkow/go-proto-validators" +) + +// Reference imports to suppress errors if they are not otherwise used. +var _ = proto.Marshal +var _ = fmt.Errorf +var _ = math.Inf + +func (this *Contracts) Validate() error { + return nil +} +func (this *CreateContractRequest) Validate() error { + return nil +} +func (this *CreateContractRespond) Validate() error { + return nil +} +func (this *ContractListMgmtRequest) Validate() error { + return nil +} +func (this *ContractListMgmtRespond) Validate() error { + for _, item := range this.Data { + if item != nil { + if err := github_com_mwitkow_go_proto_validators.CallValidatorIfExists(item); err != nil { + return github_com_mwitkow_go_proto_validators.FieldError("Data", err) + } + } + } + return nil +} +func (this *ContractListRequest) Validate() error { + return nil +} +func (this *ContractListRespond) Validate() error { + for _, item := range this.Data { + if item != nil { + if err := github_com_mwitkow_go_proto_validators.CallValidatorIfExists(item); err != nil { + return github_com_mwitkow_go_proto_validators.FieldError("Data", err) + } + } + } + return nil +} +func (this *SignContractRequest) Validate() error { + return nil +} +func (this *SignContractRespond) Validate() error { + return nil +} +func (this *FinishContractRequest) Validate() error { + return nil +} +func (this *FinishContractRespond) Validate() error { + if this.Contract != nil { + if err := github_com_mwitkow_go_proto_validators.CallValidatorIfExists(this.Contract); err != nil { + return github_com_mwitkow_go_proto_validators.FieldError("Contract", err) + } + } + return nil +} +func (this *ContractTxListRequest) Validate() error { + return nil +} +func (this *ContractTxListRespond) Validate() error { + for _, item := range this.Data { + if item != nil { + if err := github_com_mwitkow_go_proto_validators.CallValidatorIfExists(item); err != nil { + return github_com_mwitkow_go_proto_validators.FieldError("Data", err) + } + } + } + return nil +} +func (this *GetContractRequest) Validate() error { + return nil +} +func (this *UpdateContractRequest) Validate() error { + return nil +} +func (this *UpdateContractRespond) Validate() error { + return nil +} +func (this *UpdateContractTxRequest) Validate() error { + return nil +} +func (this *UpdateContractTxRespond) Validate() error { + return nil +} diff --git a/pb/contract/contract_triple.pb.go b/pb/contract/contract_triple.pb.go index cd742bd..dc5935a 100644 --- a/pb/contract/contract_triple.pb.go +++ b/pb/contract/contract_triple.pb.go @@ -1,10 +1,10 @@ // Code generated by protoc-gen-go-triple. DO NOT EDIT. // versions: -// - protoc-gen-go-triple v1.0.5 -// - protoc v3.9.0 -// source: api/contract/contract.proto +// - protoc-gen-go-triple v1.0.8 +// - protoc v3.21.8 +// source: contract.proto -package contract +package artistContract import ( context "context" @@ -24,157 +24,145 @@ import ( // is compatible with the grpc package it is being compiled against. const _ = grpc_go.SupportPackageIsVersion7 -// ContractClient is the client API for Contract service. +// ArtistContractClient is the client API for ArtistContract service. // // 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 ContractClient interface { - FinishContract(ctx context.Context, in *FinishContractRequest, opts ...grpc_go.CallOption) (*FinishContractRespond, common.ErrorWithAttachment) +type ArtistContractClient interface { + CreateContract(ctx context.Context, in *CreateContractRequest, opts ...grpc_go.CallOption) (*CreateContractRespond, common.ErrorWithAttachment) + ContractListMgmt(ctx context.Context, in *ContractListMgmtRequest, opts ...grpc_go.CallOption) (*ContractListMgmtRespond, common.ErrorWithAttachment) ContractList(ctx context.Context, in *ContractListRequest, opts ...grpc_go.CallOption) (*ContractListRespond, common.ErrorWithAttachment) - GetContract(ctx context.Context, in *GetContractRequest, opts ...grpc_go.CallOption) (*ContractData, common.ErrorWithAttachment) - ContractTxList(ctx context.Context, in *ContractTxListRequest, opts ...grpc_go.CallOption) (*ContractTxListRespond, common.ErrorWithAttachment) SignContract(ctx context.Context, in *SignContractRequest, opts ...grpc_go.CallOption) (*SignContractRespond, common.ErrorWithAttachment) - UpdateContract(ctx context.Context, in *UpdateContractRequest, opts ...grpc_go.CallOption) (*UpdateContractRespond, common.ErrorWithAttachment) - UpdateContractTx(ctx context.Context, in *UpdateContractTxRequest, opts ...grpc_go.CallOption) (*UpdateContractTxRespond, common.ErrorWithAttachment) + FinishContract(ctx context.Context, in *FinishContractRequest, opts ...grpc_go.CallOption) (*FinishContractRespond, common.ErrorWithAttachment) + ContractTxList(ctx context.Context, in *ContractTxListRequest, opts ...grpc_go.CallOption) (*ContractTxListRespond, common.ErrorWithAttachment) } -type contractClient struct { +type artistContractClient struct { cc *triple.TripleConn } -type ContractClientImpl struct { - FinishContract func(ctx context.Context, in *FinishContractRequest) (*FinishContractRespond, error) +type ArtistContractClientImpl struct { + CreateContract func(ctx context.Context, in *CreateContractRequest) (*CreateContractRespond, error) + ContractListMgmt func(ctx context.Context, in *ContractListMgmtRequest) (*ContractListMgmtRespond, error) ContractList func(ctx context.Context, in *ContractListRequest) (*ContractListRespond, error) - GetContract func(ctx context.Context, in *GetContractRequest) (*ContractData, error) - ContractTxList func(ctx context.Context, in *ContractTxListRequest) (*ContractTxListRespond, error) SignContract func(ctx context.Context, in *SignContractRequest) (*SignContractRespond, error) - UpdateContract func(ctx context.Context, in *UpdateContractRequest) (*UpdateContractRespond, error) - UpdateContractTx func(ctx context.Context, in *UpdateContractTxRequest) (*UpdateContractTxRespond, error) + FinishContract func(ctx context.Context, in *FinishContractRequest) (*FinishContractRespond, error) + ContractTxList func(ctx context.Context, in *ContractTxListRequest) (*ContractTxListRespond, error) } -func (c *ContractClientImpl) GetDubboStub(cc *triple.TripleConn) ContractClient { - return NewContractClient(cc) +func (c *ArtistContractClientImpl) GetDubboStub(cc *triple.TripleConn) ArtistContractClient { + return NewArtistContractClient(cc) } -func (c *ContractClientImpl) XXX_InterfaceName() string { - return "Contract.Contract" +func (c *ArtistContractClientImpl) XXX_InterfaceName() string { + return "artistContract.ArtistContract" } -func NewContractClient(cc *triple.TripleConn) ContractClient { - return &contractClient{cc} +func NewArtistContractClient(cc *triple.TripleConn) ArtistContractClient { + return &artistContractClient{cc} } -func (c *contractClient) FinishContract(ctx context.Context, in *FinishContractRequest, opts ...grpc_go.CallOption) (*FinishContractRespond, common.ErrorWithAttachment) { - out := new(FinishContractRespond) +func (c *artistContractClient) CreateContract(ctx context.Context, in *CreateContractRequest, opts ...grpc_go.CallOption) (*CreateContractRespond, common.ErrorWithAttachment) { + out := new(CreateContractRespond) interfaceKey := ctx.Value(constant.InterfaceKey).(string) - return out, c.cc.Invoke(ctx, "/"+interfaceKey+"/FinishContract", in, out) + return out, c.cc.Invoke(ctx, "/"+interfaceKey+"/CreateContract", in, out) } -func (c *contractClient) ContractList(ctx context.Context, in *ContractListRequest, opts ...grpc_go.CallOption) (*ContractListRespond, common.ErrorWithAttachment) { +func (c *artistContractClient) ContractListMgmt(ctx context.Context, in *ContractListMgmtRequest, opts ...grpc_go.CallOption) (*ContractListMgmtRespond, common.ErrorWithAttachment) { + out := new(ContractListMgmtRespond) + interfaceKey := ctx.Value(constant.InterfaceKey).(string) + return out, c.cc.Invoke(ctx, "/"+interfaceKey+"/ContractListMgmt", in, out) +} + +func (c *artistContractClient) ContractList(ctx context.Context, in *ContractListRequest, opts ...grpc_go.CallOption) (*ContractListRespond, common.ErrorWithAttachment) { out := new(ContractListRespond) interfaceKey := ctx.Value(constant.InterfaceKey).(string) return out, c.cc.Invoke(ctx, "/"+interfaceKey+"/ContractList", in, out) } -func (c *contractClient) GetContract(ctx context.Context, in *GetContractRequest, opts ...grpc_go.CallOption) (*ContractData, common.ErrorWithAttachment) { - out := new(ContractData) - interfaceKey := ctx.Value(constant.InterfaceKey).(string) - return out, c.cc.Invoke(ctx, "/"+interfaceKey+"/GetContract", in, out) -} - -func (c *contractClient) ContractTxList(ctx context.Context, in *ContractTxListRequest, opts ...grpc_go.CallOption) (*ContractTxListRespond, common.ErrorWithAttachment) { - out := new(ContractTxListRespond) - interfaceKey := ctx.Value(constant.InterfaceKey).(string) - return out, c.cc.Invoke(ctx, "/"+interfaceKey+"/ContractTxList", in, out) -} - -func (c *contractClient) SignContract(ctx context.Context, in *SignContractRequest, opts ...grpc_go.CallOption) (*SignContractRespond, common.ErrorWithAttachment) { +func (c *artistContractClient) SignContract(ctx context.Context, in *SignContractRequest, opts ...grpc_go.CallOption) (*SignContractRespond, common.ErrorWithAttachment) { out := new(SignContractRespond) interfaceKey := ctx.Value(constant.InterfaceKey).(string) return out, c.cc.Invoke(ctx, "/"+interfaceKey+"/SignContract", in, out) } -func (c *contractClient) UpdateContract(ctx context.Context, in *UpdateContractRequest, opts ...grpc_go.CallOption) (*UpdateContractRespond, common.ErrorWithAttachment) { - out := new(UpdateContractRespond) +func (c *artistContractClient) FinishContract(ctx context.Context, in *FinishContractRequest, opts ...grpc_go.CallOption) (*FinishContractRespond, common.ErrorWithAttachment) { + out := new(FinishContractRespond) interfaceKey := ctx.Value(constant.InterfaceKey).(string) - return out, c.cc.Invoke(ctx, "/"+interfaceKey+"/UpdateContract", in, out) + return out, c.cc.Invoke(ctx, "/"+interfaceKey+"/FinishContract", in, out) } -func (c *contractClient) UpdateContractTx(ctx context.Context, in *UpdateContractTxRequest, opts ...grpc_go.CallOption) (*UpdateContractTxRespond, common.ErrorWithAttachment) { - out := new(UpdateContractTxRespond) +func (c *artistContractClient) ContractTxList(ctx context.Context, in *ContractTxListRequest, opts ...grpc_go.CallOption) (*ContractTxListRespond, common.ErrorWithAttachment) { + out := new(ContractTxListRespond) interfaceKey := ctx.Value(constant.InterfaceKey).(string) - return out, c.cc.Invoke(ctx, "/"+interfaceKey+"/UpdateContractTx", in, out) + return out, c.cc.Invoke(ctx, "/"+interfaceKey+"/ContractTxList", in, out) } -// ContractServer is the server API for Contract service. -// All implementations must embed UnimplementedContractServer +// ArtistContractServer is the server API for ArtistContract service. +// All implementations must embed UnimplementedArtistContractServer // for forward compatibility -type ContractServer interface { - FinishContract(context.Context, *FinishContractRequest) (*FinishContractRespond, error) +type ArtistContractServer interface { + CreateContract(context.Context, *CreateContractRequest) (*CreateContractRespond, error) + ContractListMgmt(context.Context, *ContractListMgmtRequest) (*ContractListMgmtRespond, error) ContractList(context.Context, *ContractListRequest) (*ContractListRespond, error) - GetContract(context.Context, *GetContractRequest) (*ContractData, error) - ContractTxList(context.Context, *ContractTxListRequest) (*ContractTxListRespond, error) SignContract(context.Context, *SignContractRequest) (*SignContractRespond, error) - UpdateContract(context.Context, *UpdateContractRequest) (*UpdateContractRespond, error) - UpdateContractTx(context.Context, *UpdateContractTxRequest) (*UpdateContractTxRespond, error) - mustEmbedUnimplementedContractServer() + FinishContract(context.Context, *FinishContractRequest) (*FinishContractRespond, error) + ContractTxList(context.Context, *ContractTxListRequest) (*ContractTxListRespond, error) + mustEmbedUnimplementedArtistContractServer() } -// UnimplementedContractServer must be embedded to have forward compatible implementations. -type UnimplementedContractServer struct { +// UnimplementedArtistContractServer must be embedded to have forward compatible implementations. +type UnimplementedArtistContractServer struct { proxyImpl protocol.Invoker } -func (UnimplementedContractServer) FinishContract(context.Context, *FinishContractRequest) (*FinishContractRespond, error) { - return nil, status.Errorf(codes.Unimplemented, "method FinishContract not implemented") +func (UnimplementedArtistContractServer) CreateContract(context.Context, *CreateContractRequest) (*CreateContractRespond, error) { + return nil, status.Errorf(codes.Unimplemented, "method CreateContract not implemented") } -func (UnimplementedContractServer) ContractList(context.Context, *ContractListRequest) (*ContractListRespond, error) { +func (UnimplementedArtistContractServer) ContractListMgmt(context.Context, *ContractListMgmtRequest) (*ContractListMgmtRespond, error) { + return nil, status.Errorf(codes.Unimplemented, "method ContractListMgmt not implemented") +} +func (UnimplementedArtistContractServer) ContractList(context.Context, *ContractListRequest) (*ContractListRespond, error) { return nil, status.Errorf(codes.Unimplemented, "method ContractList not implemented") } -func (UnimplementedContractServer) GetContract(context.Context, *GetContractRequest) (*ContractData, error) { - return nil, status.Errorf(codes.Unimplemented, "method GetContract not implemented") -} -func (UnimplementedContractServer) ContractTxList(context.Context, *ContractTxListRequest) (*ContractTxListRespond, error) { - return nil, status.Errorf(codes.Unimplemented, "method ContractTxList not implemented") -} -func (UnimplementedContractServer) SignContract(context.Context, *SignContractRequest) (*SignContractRespond, error) { +func (UnimplementedArtistContractServer) SignContract(context.Context, *SignContractRequest) (*SignContractRespond, error) { return nil, status.Errorf(codes.Unimplemented, "method SignContract not implemented") } -func (UnimplementedContractServer) UpdateContract(context.Context, *UpdateContractRequest) (*UpdateContractRespond, error) { - return nil, status.Errorf(codes.Unimplemented, "method UpdateContract not implemented") +func (UnimplementedArtistContractServer) FinishContract(context.Context, *FinishContractRequest) (*FinishContractRespond, error) { + return nil, status.Errorf(codes.Unimplemented, "method FinishContract not implemented") } -func (UnimplementedContractServer) UpdateContractTx(context.Context, *UpdateContractTxRequest) (*UpdateContractTxRespond, error) { - return nil, status.Errorf(codes.Unimplemented, "method UpdateContractTx not implemented") +func (UnimplementedArtistContractServer) ContractTxList(context.Context, *ContractTxListRequest) (*ContractTxListRespond, error) { + return nil, status.Errorf(codes.Unimplemented, "method ContractTxList not implemented") } -func (s *UnimplementedContractServer) XXX_SetProxyImpl(impl protocol.Invoker) { +func (s *UnimplementedArtistContractServer) XXX_SetProxyImpl(impl protocol.Invoker) { s.proxyImpl = impl } -func (s *UnimplementedContractServer) XXX_GetProxyImpl() protocol.Invoker { +func (s *UnimplementedArtistContractServer) XXX_GetProxyImpl() protocol.Invoker { return s.proxyImpl } -func (s *UnimplementedContractServer) XXX_ServiceDesc() *grpc_go.ServiceDesc { - return &Contract_ServiceDesc +func (s *UnimplementedArtistContractServer) XXX_ServiceDesc() *grpc_go.ServiceDesc { + return &ArtistContract_ServiceDesc } -func (s *UnimplementedContractServer) XXX_InterfaceName() string { - return "Contract.Contract" +func (s *UnimplementedArtistContractServer) XXX_InterfaceName() string { + return "artistContract.ArtistContract" } -func (UnimplementedContractServer) mustEmbedUnimplementedContractServer() {} +func (UnimplementedArtistContractServer) mustEmbedUnimplementedArtistContractServer() {} -// UnsafeContractServer may be embedded to opt out of forward compatibility for this service. -// Use of this interface is not recommended, as added methods to ContractServer will +// UnsafeArtistContractServer may be embedded to opt out of forward compatibility for this service. +// Use of this interface is not recommended, as added methods to ArtistContractServer will // result in compilation errors. -type UnsafeContractServer interface { - mustEmbedUnimplementedContractServer() +type UnsafeArtistContractServer interface { + mustEmbedUnimplementedArtistContractServer() } -func RegisterContractServer(s grpc_go.ServiceRegistrar, srv ContractServer) { - s.RegisterService(&Contract_ServiceDesc, srv) +func RegisterArtistContractServer(s grpc_go.ServiceRegistrar, srv ArtistContractServer) { + s.RegisterService(&ArtistContract_ServiceDesc, srv) } -func _Contract_FinishContract_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc_go.UnaryServerInterceptor) (interface{}, error) { - in := new(FinishContractRequest) +func _ArtistContract_CreateContract_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc_go.UnaryServerInterceptor) (interface{}, error) { + in := new(CreateContractRequest) if err := dec(in); err != nil { return nil, err } @@ -186,7 +174,7 @@ func _Contract_FinishContract_Handler(srv interface{}, ctx context.Context, dec for k, v := range md { invAttachment[k] = v } - invo := invocation.NewRPCInvocation("FinishContract", args, invAttachment) + invo := invocation.NewRPCInvocation("CreateContract", args, invAttachment) if interceptor == nil { result := base.XXX_GetProxyImpl().Invoke(ctx, invo) return result, result.Error() @@ -202,7 +190,36 @@ func _Contract_FinishContract_Handler(srv interface{}, ctx context.Context, dec return interceptor(ctx, in, info, handler) } -func _Contract_ContractList_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc_go.UnaryServerInterceptor) (interface{}, error) { +func _ArtistContract_ContractListMgmt_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc_go.UnaryServerInterceptor) (interface{}, error) { + in := new(ContractListMgmtRequest) + 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("ContractListMgmt", 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 _ArtistContract_ContractList_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc_go.UnaryServerInterceptor) (interface{}, error) { in := new(ContractListRequest) if err := dec(in); err != nil { return nil, err @@ -231,65 +248,7 @@ func _Contract_ContractList_Handler(srv interface{}, ctx context.Context, dec fu return interceptor(ctx, in, info, handler) } -func _Contract_GetContract_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc_go.UnaryServerInterceptor) (interface{}, error) { - in := new(GetContractRequest) - 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("GetContract", 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 _Contract_ContractTxList_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc_go.UnaryServerInterceptor) (interface{}, error) { - in := new(ContractTxListRequest) - 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("ContractTxList", 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 _Contract_SignContract_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc_go.UnaryServerInterceptor) (interface{}, error) { +func _ArtistContract_SignContract_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc_go.UnaryServerInterceptor) (interface{}, error) { in := new(SignContractRequest) if err := dec(in); err != nil { return nil, err @@ -318,8 +277,8 @@ func _Contract_SignContract_Handler(srv interface{}, ctx context.Context, dec fu return interceptor(ctx, in, info, handler) } -func _Contract_UpdateContract_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc_go.UnaryServerInterceptor) (interface{}, error) { - in := new(UpdateContractRequest) +func _ArtistContract_FinishContract_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc_go.UnaryServerInterceptor) (interface{}, error) { + in := new(FinishContractRequest) if err := dec(in); err != nil { return nil, err } @@ -331,7 +290,7 @@ func _Contract_UpdateContract_Handler(srv interface{}, ctx context.Context, dec for k, v := range md { invAttachment[k] = v } - invo := invocation.NewRPCInvocation("UpdateContract", args, invAttachment) + invo := invocation.NewRPCInvocation("FinishContract", args, invAttachment) if interceptor == nil { result := base.XXX_GetProxyImpl().Invoke(ctx, invo) return result, result.Error() @@ -347,8 +306,8 @@ func _Contract_UpdateContract_Handler(srv interface{}, ctx context.Context, dec return interceptor(ctx, in, info, handler) } -func _Contract_UpdateContractTx_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc_go.UnaryServerInterceptor) (interface{}, error) { - in := new(UpdateContractTxRequest) +func _ArtistContract_ContractTxList_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc_go.UnaryServerInterceptor) (interface{}, error) { + in := new(ContractTxListRequest) if err := dec(in); err != nil { return nil, err } @@ -360,7 +319,7 @@ func _Contract_UpdateContractTx_Handler(srv interface{}, ctx context.Context, de for k, v := range md { invAttachment[k] = v } - invo := invocation.NewRPCInvocation("UpdateContractTx", args, invAttachment) + invo := invocation.NewRPCInvocation("ContractTxList", args, invAttachment) if interceptor == nil { result := base.XXX_GetProxyImpl().Invoke(ctx, invo) return result, result.Error() @@ -376,42 +335,38 @@ func _Contract_UpdateContractTx_Handler(srv interface{}, ctx context.Context, de return interceptor(ctx, in, info, handler) } -// Contract_ServiceDesc is the grpc_go.ServiceDesc for Contract service. +// ArtistContract_ServiceDesc is the grpc_go.ServiceDesc for ArtistContract service. // It's only intended for direct use with grpc_go.RegisterService, // and not to be introspected or modified (even as a copy) -var Contract_ServiceDesc = grpc_go.ServiceDesc{ - ServiceName: "Contract.Contract", - HandlerType: (*ContractServer)(nil), +var ArtistContract_ServiceDesc = grpc_go.ServiceDesc{ + ServiceName: "artistContract.ArtistContract", + HandlerType: (*ArtistContractServer)(nil), Methods: []grpc_go.MethodDesc{ { - MethodName: "FinishContract", - Handler: _Contract_FinishContract_Handler, + MethodName: "CreateContract", + Handler: _ArtistContract_CreateContract_Handler, + }, + { + MethodName: "ContractListMgmt", + Handler: _ArtistContract_ContractListMgmt_Handler, }, { MethodName: "ContractList", - Handler: _Contract_ContractList_Handler, - }, - { - MethodName: "GetContract", - Handler: _Contract_GetContract_Handler, - }, - { - MethodName: "ContractTxList", - Handler: _Contract_ContractTxList_Handler, + Handler: _ArtistContract_ContractList_Handler, }, { MethodName: "SignContract", - Handler: _Contract_SignContract_Handler, + Handler: _ArtistContract_SignContract_Handler, }, { - MethodName: "UpdateContract", - Handler: _Contract_UpdateContract_Handler, + MethodName: "FinishContract", + Handler: _ArtistContract_FinishContract_Handler, }, { - MethodName: "UpdateContractTx", - Handler: _Contract_UpdateContractTx_Handler, + MethodName: "ContractTxList", + Handler: _ArtistContract_ContractTxList_Handler, }, }, Streams: []grpc_go.StreamDesc{}, - Metadata: "api/contract/contract.proto", + Metadata: "contract.proto", } diff --git a/pb/contract_microservice/contract.pb.go b/pb/contract_microservice/contract.pb.go new file mode 100644 index 0000000..007d6da --- /dev/null +++ b/pb/contract_microservice/contract.pb.go @@ -0,0 +1,3450 @@ +// +// Licensed to the Apache Software Foundation (ASF) under one or more +// contributor license agreements. See the NOTICE file distributed with +// this work for additional information regarding copyright ownership. +// The ASF licenses this file to You under the Apache License, Version 2.0 +// (the "License"); you may not use this file except in compliance with +// the License. You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +// Code generated by protoc-gen-go. DO NOT EDIT. +// versions: +// protoc-gen-go v1.28.1 +// protoc v3.21.12 +// source: api/contract/contract.proto + +package contract + +import ( + protoreflect "google.golang.org/protobuf/reflect/protoreflect" + protoimpl "google.golang.org/protobuf/runtime/protoimpl" + reflect "reflect" + sync "sync" +) + +const ( + // Verify that this generated code is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) + // Verify that runtime/protoimpl is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) +) + +type CancelExtSignAutoRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + CustomerId string `protobuf:"bytes,1,opt,name=CustomerId,proto3" json:"CustomerId,omitempty"` + NotifyUrl string `protobuf:"bytes,2,opt,name=NotifyUrl,proto3" json:"NotifyUrl,omitempty"` + ReturnUrl string `protobuf:"bytes,3,opt,name=returnUrl,proto3" json:"returnUrl,omitempty"` +} + +func (x *CancelExtSignAutoRequest) Reset() { + *x = CancelExtSignAutoRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_api_contract_contract_proto_msgTypes[0] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *CancelExtSignAutoRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CancelExtSignAutoRequest) ProtoMessage() {} + +func (x *CancelExtSignAutoRequest) ProtoReflect() protoreflect.Message { + mi := &file_api_contract_contract_proto_msgTypes[0] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use CancelExtSignAutoRequest.ProtoReflect.Descriptor instead. +func (*CancelExtSignAutoRequest) Descriptor() ([]byte, []int) { + return file_api_contract_contract_proto_rawDescGZIP(), []int{0} +} + +func (x *CancelExtSignAutoRequest) GetCustomerId() string { + if x != nil { + return x.CustomerId + } + return "" +} + +func (x *CancelExtSignAutoRequest) GetNotifyUrl() string { + if x != nil { + return x.NotifyUrl + } + return "" +} + +func (x *CancelExtSignAutoRequest) GetReturnUrl() string { + if x != nil { + return x.ReturnUrl + } + return "" +} + +type Person struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + AreaCode string `protobuf:"bytes,1,opt,name=AreaCode,proto3" json:"AreaCode,omitempty"` + AuditFailReason string `protobuf:"bytes,2,opt,name=AuditFailReason,proto3" json:"AuditFailReason,omitempty"` + AuditorTime string `protobuf:"bytes,3,opt,name=AuditorTime,proto3" json:"AuditorTime,omitempty"` + BackgroundIdCardPath string `protobuf:"bytes,4,opt,name=BackgroundIdCardPath,proto3" json:"BackgroundIdCardPath,omitempty"` + BankCardNo string `protobuf:"bytes,5,opt,name=BankCardNo,proto3" json:"BankCardNo,omitempty"` + Birthday string `protobuf:"bytes,6,opt,name=Birthday,proto3" json:"Birthday,omitempty"` + CertType string `protobuf:"bytes,7,opt,name=CertType,proto3" json:"CertType,omitempty"` + ExpiresDate string `protobuf:"bytes,8,opt,name=ExpiresDate,proto3" json:"ExpiresDate,omitempty"` + Fork string `protobuf:"bytes,9,opt,name=Fork,proto3" json:"Fork,omitempty"` + GesturesPhotoPath string `protobuf:"bytes,10,opt,name=GesturesPhotoPath,proto3" json:"GesturesPhotoPath,omitempty"` + HeadPhotoPath string `protobuf:"bytes,11,opt,name=HeadPhotoPath,proto3" json:"HeadPhotoPath,omitempty"` + IdCard string `protobuf:"bytes,12,opt,name=IdCard,proto3" json:"IdCard,omitempty"` + IsLongTerm string `protobuf:"bytes,13,opt,name=IsLongTerm,proto3" json:"IsLongTerm,omitempty"` + IsPassFourElement float64 `protobuf:"fixed64,14,opt,name=IsPassFourElement,proto3" json:"IsPassFourElement,omitempty"` + IsPassThreeElement float64 `protobuf:"fixed64,15,opt,name=IsPassThreeElement,proto3" json:"IsPassThreeElement,omitempty"` + IssueAuthority string `protobuf:"bytes,16,opt,name=IssueAuthority,proto3" json:"IssueAuthority,omitempty"` + Mobile string `protobuf:"bytes,17,opt,name=Mobile,proto3" json:"Mobile,omitempty"` + PersonName string `protobuf:"bytes,18,opt,name=PersonName,proto3" json:"PersonName,omitempty"` + PhotoUuid string `protobuf:"bytes,19,opt,name=PhotoUuid,proto3" json:"PhotoUuid,omitempty"` + Sex string `protobuf:"bytes,20,opt,name=Sex,proto3" json:"Sex,omitempty"` + StartDate string `protobuf:"bytes,21,opt,name=StartDate,proto3" json:"StartDate,omitempty"` + Status string `protobuf:"bytes,22,opt,name=Status,proto3" json:"Status,omitempty"` + Type string `protobuf:"bytes,23,opt,name=Type,proto3" json:"Type,omitempty"` + VerifyType string `protobuf:"bytes,24,opt,name=VerifyType,proto3" json:"VerifyType,omitempty"` + Address string `protobuf:"bytes,25,opt,name=Address,proto3" json:"Address,omitempty"` +} + +func (x *Person) Reset() { + *x = Person{} + if protoimpl.UnsafeEnabled { + mi := &file_api_contract_contract_proto_msgTypes[1] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *Person) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*Person) ProtoMessage() {} + +func (x *Person) ProtoReflect() protoreflect.Message { + mi := &file_api_contract_contract_proto_msgTypes[1] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use Person.ProtoReflect.Descriptor instead. +func (*Person) Descriptor() ([]byte, []int) { + return file_api_contract_contract_proto_rawDescGZIP(), []int{1} +} + +func (x *Person) GetAreaCode() string { + if x != nil { + return x.AreaCode + } + return "" +} + +func (x *Person) GetAuditFailReason() string { + if x != nil { + return x.AuditFailReason + } + return "" +} + +func (x *Person) GetAuditorTime() string { + if x != nil { + return x.AuditorTime + } + return "" +} + +func (x *Person) GetBackgroundIdCardPath() string { + if x != nil { + return x.BackgroundIdCardPath + } + return "" +} + +func (x *Person) GetBankCardNo() string { + if x != nil { + return x.BankCardNo + } + return "" +} + +func (x *Person) GetBirthday() string { + if x != nil { + return x.Birthday + } + return "" +} + +func (x *Person) GetCertType() string { + if x != nil { + return x.CertType + } + return "" +} + +func (x *Person) GetExpiresDate() string { + if x != nil { + return x.ExpiresDate + } + return "" +} + +func (x *Person) GetFork() string { + if x != nil { + return x.Fork + } + return "" +} + +func (x *Person) GetGesturesPhotoPath() string { + if x != nil { + return x.GesturesPhotoPath + } + return "" +} + +func (x *Person) GetHeadPhotoPath() string { + if x != nil { + return x.HeadPhotoPath + } + return "" +} + +func (x *Person) GetIdCard() string { + if x != nil { + return x.IdCard + } + return "" +} + +func (x *Person) GetIsLongTerm() string { + if x != nil { + return x.IsLongTerm + } + return "" +} + +func (x *Person) GetIsPassFourElement() float64 { + if x != nil { + return x.IsPassFourElement + } + return 0 +} + +func (x *Person) GetIsPassThreeElement() float64 { + if x != nil { + return x.IsPassThreeElement + } + return 0 +} + +func (x *Person) GetIssueAuthority() string { + if x != nil { + return x.IssueAuthority + } + return "" +} + +func (x *Person) GetMobile() string { + if x != nil { + return x.Mobile + } + return "" +} + +func (x *Person) GetPersonName() string { + if x != nil { + return x.PersonName + } + return "" +} + +func (x *Person) GetPhotoUuid() string { + if x != nil { + return x.PhotoUuid + } + return "" +} + +func (x *Person) GetSex() string { + if x != nil { + return x.Sex + } + return "" +} + +func (x *Person) GetStartDate() string { + if x != nil { + return x.StartDate + } + return "" +} + +func (x *Person) GetStatus() string { + if x != nil { + return x.Status + } + return "" +} + +func (x *Person) GetType() string { + if x != nil { + return x.Type + } + return "" +} + +func (x *Person) GetVerifyType() string { + if x != nil { + return x.VerifyType + } + return "" +} + +func (x *Person) GetAddress() string { + if x != nil { + return x.Address + } + return "" +} + +type PersonCertInfoResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Person *Person `protobuf:"bytes,1,opt,name=Person,json=person,proto3" json:"Person,omitempty"` + AuthenticationSubmitTime string `protobuf:"bytes,2,opt,name=AuthenticationSubmitTime,json=authenticationSubmitTime,proto3" json:"AuthenticationSubmitTime,omitempty"` + PassTime string `protobuf:"bytes,3,opt,name=PassTime,json=passTime,proto3" json:"PassTime,omitempty"` + TransactionNo string `protobuf:"bytes,4,opt,name=TransactionNo,json=transactionNo,proto3" json:"TransactionNo,omitempty"` + Type string `protobuf:"bytes,5,opt,name=Type,json=type,proto3" json:"Type,omitempty"` +} + +func (x *PersonCertInfoResponse) Reset() { + *x = PersonCertInfoResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_api_contract_contract_proto_msgTypes[2] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *PersonCertInfoResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*PersonCertInfoResponse) ProtoMessage() {} + +func (x *PersonCertInfoResponse) ProtoReflect() protoreflect.Message { + mi := &file_api_contract_contract_proto_msgTypes[2] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use PersonCertInfoResponse.ProtoReflect.Descriptor instead. +func (*PersonCertInfoResponse) Descriptor() ([]byte, []int) { + return file_api_contract_contract_proto_rawDescGZIP(), []int{2} +} + +func (x *PersonCertInfoResponse) GetPerson() *Person { + if x != nil { + return x.Person + } + return nil +} + +func (x *PersonCertInfoResponse) GetAuthenticationSubmitTime() string { + if x != nil { + return x.AuthenticationSubmitTime + } + return "" +} + +func (x *PersonCertInfoResponse) GetPassTime() string { + if x != nil { + return x.PassTime + } + return "" +} + +func (x *PersonCertInfoResponse) GetTransactionNo() string { + if x != nil { + return x.TransactionNo + } + return "" +} + +func (x *PersonCertInfoResponse) GetType() string { + if x != nil { + return x.Type + } + return "" +} + +type FindCertInfo struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + VerifiedSerialno string `protobuf:"bytes,2,opt,name=VerifiedSerialno,json=verifiedSerialno,proto3" json:"VerifiedSerialno,omitempty"` +} + +func (x *FindCertInfo) Reset() { + *x = FindCertInfo{} + if protoimpl.UnsafeEnabled { + mi := &file_api_contract_contract_proto_msgTypes[3] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *FindCertInfo) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*FindCertInfo) ProtoMessage() {} + +func (x *FindCertInfo) ProtoReflect() protoreflect.Message { + mi := &file_api_contract_contract_proto_msgTypes[3] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use FindCertInfo.ProtoReflect.Descriptor instead. +func (*FindCertInfo) Descriptor() ([]byte, []int) { + return file_api_contract_contract_proto_rawDescGZIP(), []int{3} +} + +func (x *FindCertInfo) GetVerifiedSerialno() string { + if x != nil { + return x.VerifiedSerialno + } + return "" +} + +type Company struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + AuditFailReason string `protobuf:"bytes,1,opt,name=AuditFailReason,proto3" json:"AuditFailReason,omitempty"` + AuditorTime string `protobuf:"bytes,2,opt,name=AuditorTime,proto3" json:"AuditorTime,omitempty"` + CertificatesType string `protobuf:"bytes,3,opt,name=CertificatesType,proto3" json:"CertificatesType,omitempty"` + CompanyEmail string `protobuf:"bytes,4,opt,name=CompanyEmail,proto3" json:"CompanyEmail,omitempty"` + CompanyName string `protobuf:"bytes,5,opt,name=CompanyName,proto3" json:"CompanyName,omitempty"` + Hasagent string `protobuf:"bytes,6,opt,name=Hasagent,proto3" json:"Hasagent,omitempty"` + Legal string `protobuf:"bytes,7,opt,name=Legal,proto3" json:"Legal,omitempty"` + LegalMobile string `protobuf:"bytes,8,opt,name=LegalMobile,proto3" json:"LegalMobile,omitempty"` + LegalName string `protobuf:"bytes,9,opt,name=LegalName,proto3" json:"LegalName,omitempty"` + Organization string `protobuf:"bytes,10,opt,name=Organization,proto3" json:"Organization,omitempty"` + OrganizationPath string `protobuf:"bytes,11,opt,name=OrganizationPath,proto3" json:"OrganizationPath,omitempty"` + OrganizationType string `protobuf:"bytes,12,opt,name=OrganizationType,proto3" json:"OrganizationType,omitempty"` + RegFormPath string `protobuf:"bytes,13,opt,name=RegFormPath,proto3" json:"RegFormPath,omitempty"` + RelatedTransactionNo string `protobuf:"bytes,14,opt,name=RelatedTransactionNo,proto3" json:"RelatedTransactionNo,omitempty"` + Status string `protobuf:"bytes,15,opt,name=Status,proto3" json:"Status,omitempty"` + VerifyType string `protobuf:"bytes,16,opt,name=VerifyType,proto3" json:"VerifyType,omitempty"` +} + +func (x *Company) Reset() { + *x = Company{} + if protoimpl.UnsafeEnabled { + mi := &file_api_contract_contract_proto_msgTypes[4] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *Company) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*Company) ProtoMessage() {} + +func (x *Company) ProtoReflect() protoreflect.Message { + mi := &file_api_contract_contract_proto_msgTypes[4] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use Company.ProtoReflect.Descriptor instead. +func (*Company) Descriptor() ([]byte, []int) { + return file_api_contract_contract_proto_rawDescGZIP(), []int{4} +} + +func (x *Company) GetAuditFailReason() string { + if x != nil { + return x.AuditFailReason + } + return "" +} + +func (x *Company) GetAuditorTime() string { + if x != nil { + return x.AuditorTime + } + return "" +} + +func (x *Company) GetCertificatesType() string { + if x != nil { + return x.CertificatesType + } + return "" +} + +func (x *Company) GetCompanyEmail() string { + if x != nil { + return x.CompanyEmail + } + return "" +} + +func (x *Company) GetCompanyName() string { + if x != nil { + return x.CompanyName + } + return "" +} + +func (x *Company) GetHasagent() string { + if x != nil { + return x.Hasagent + } + return "" +} + +func (x *Company) GetLegal() string { + if x != nil { + return x.Legal + } + return "" +} + +func (x *Company) GetLegalMobile() string { + if x != nil { + return x.LegalMobile + } + return "" +} + +func (x *Company) GetLegalName() string { + if x != nil { + return x.LegalName + } + return "" +} + +func (x *Company) GetOrganization() string { + if x != nil { + return x.Organization + } + return "" +} + +func (x *Company) GetOrganizationPath() string { + if x != nil { + return x.OrganizationPath + } + return "" +} + +func (x *Company) GetOrganizationType() string { + if x != nil { + return x.OrganizationType + } + return "" +} + +func (x *Company) GetRegFormPath() string { + if x != nil { + return x.RegFormPath + } + return "" +} + +func (x *Company) GetRelatedTransactionNo() string { + if x != nil { + return x.RelatedTransactionNo + } + return "" +} + +func (x *Company) GetStatus() string { + if x != nil { + return x.Status + } + return "" +} + +func (x *Company) GetVerifyType() string { + if x != nil { + return x.VerifyType + } + return "" +} + +type Manager struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + AreaCode string `protobuf:"bytes,1,opt,name=AreaCode,proto3" json:"AreaCode,omitempty"` + AuditFailReason string `protobuf:"bytes,2,opt,name=AuditFailReason,proto3" json:"AuditFailReason,omitempty"` + AuditorTime string `protobuf:"bytes,3,opt,name=AuditorTime,proto3" json:"AuditorTime,omitempty"` + BackgroundIdCardPath string `protobuf:"bytes,4,opt,name=BackgroundIdCardPath,proto3" json:"BackgroundIdCardPath,omitempty"` + Birthday string `protobuf:"bytes,5,opt,name=Birthday,proto3" json:"Birthday,omitempty"` + ExpiresDate string `protobuf:"bytes,6,opt,name=ExpiresDate,proto3" json:"ExpiresDate,omitempty"` + Fork string `protobuf:"bytes,7,opt,name=Fork,proto3" json:"Fork,omitempty"` + HeadPhotoPath string `protobuf:"bytes,8,opt,name=HeadPhotoPath,proto3" json:"HeadPhotoPath,omitempty"` + IdCard string `protobuf:"bytes,9,opt,name=IdCard,proto3" json:"IdCard,omitempty"` + IsLongTerm string `protobuf:"bytes,10,opt,name=IsLongTerm,proto3" json:"IsLongTerm,omitempty"` + IssueAuthority string `protobuf:"bytes,11,opt,name=IssueAuthority,proto3" json:"IssueAuthority,omitempty"` + Mobile string `protobuf:"bytes,12,opt,name=Mobile,proto3" json:"Mobile,omitempty"` + PersonName string `protobuf:"bytes,13,opt,name=PersonName,proto3" json:"PersonName,omitempty"` + PhotoUuid string `protobuf:"bytes,14,opt,name=PhotoUuid,proto3" json:"PhotoUuid,omitempty"` + Sex string `protobuf:"bytes,15,opt,name=Sex,proto3" json:"Sex,omitempty"` + StartDate string `protobuf:"bytes,16,opt,name=StartDate,proto3" json:"StartDate,omitempty"` + Status string `protobuf:"bytes,17,opt,name=Status,proto3" json:"Status,omitempty"` + Type string `protobuf:"bytes,18,opt,name=Type,proto3" json:"Type,omitempty"` + VerifyType string `protobuf:"bytes,19,opt,name=VerifyType,proto3" json:"VerifyType,omitempty"` + Address string `protobuf:"bytes,20,opt,name=Address,proto3" json:"Address,omitempty"` +} + +func (x *Manager) Reset() { + *x = Manager{} + if protoimpl.UnsafeEnabled { + mi := &file_api_contract_contract_proto_msgTypes[5] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *Manager) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*Manager) ProtoMessage() {} + +func (x *Manager) ProtoReflect() protoreflect.Message { + mi := &file_api_contract_contract_proto_msgTypes[5] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use Manager.ProtoReflect.Descriptor instead. +func (*Manager) Descriptor() ([]byte, []int) { + return file_api_contract_contract_proto_rawDescGZIP(), []int{5} +} + +func (x *Manager) GetAreaCode() string { + if x != nil { + return x.AreaCode + } + return "" +} + +func (x *Manager) GetAuditFailReason() string { + if x != nil { + return x.AuditFailReason + } + return "" +} + +func (x *Manager) GetAuditorTime() string { + if x != nil { + return x.AuditorTime + } + return "" +} + +func (x *Manager) GetBackgroundIdCardPath() string { + if x != nil { + return x.BackgroundIdCardPath + } + return "" +} + +func (x *Manager) GetBirthday() string { + if x != nil { + return x.Birthday + } + return "" +} + +func (x *Manager) GetExpiresDate() string { + if x != nil { + return x.ExpiresDate + } + return "" +} + +func (x *Manager) GetFork() string { + if x != nil { + return x.Fork + } + return "" +} + +func (x *Manager) GetHeadPhotoPath() string { + if x != nil { + return x.HeadPhotoPath + } + return "" +} + +func (x *Manager) GetIdCard() string { + if x != nil { + return x.IdCard + } + return "" +} + +func (x *Manager) GetIsLongTerm() string { + if x != nil { + return x.IsLongTerm + } + return "" +} + +func (x *Manager) GetIssueAuthority() string { + if x != nil { + return x.IssueAuthority + } + return "" +} + +func (x *Manager) GetMobile() string { + if x != nil { + return x.Mobile + } + return "" +} + +func (x *Manager) GetPersonName() string { + if x != nil { + return x.PersonName + } + return "" +} + +func (x *Manager) GetPhotoUuid() string { + if x != nil { + return x.PhotoUuid + } + return "" +} + +func (x *Manager) GetSex() string { + if x != nil { + return x.Sex + } + return "" +} + +func (x *Manager) GetStartDate() string { + if x != nil { + return x.StartDate + } + return "" +} + +func (x *Manager) GetStatus() string { + if x != nil { + return x.Status + } + return "" +} + +func (x *Manager) GetType() string { + if x != nil { + return x.Type + } + return "" +} + +func (x *Manager) GetVerifyType() string { + if x != nil { + return x.VerifyType + } + return "" +} + +func (x *Manager) GetAddress() string { + if x != nil { + return x.Address + } + return "" +} + +type CompanyCertInfoResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Company *Company `protobuf:"bytes,1,opt,name=Company,proto3" json:"Company,omitempty"` + Manager *Manager `protobuf:"bytes,2,opt,name=Manager,json=manager,proto3" json:"Manager,omitempty"` + AuthenticationSubmitTime string `protobuf:"bytes,3,opt,name=AuthenticationSubmitTime,json=authenticationSubmitTime,proto3" json:"AuthenticationSubmitTime,omitempty"` + PassTime string `protobuf:"bytes,4,opt,name=PassTime,json=passTime,proto3" json:"PassTime,omitempty"` + TransactionNo string `protobuf:"bytes,5,opt,name=TransactionNo,json=transactionNo,proto3" json:"TransactionNo,omitempty"` + Type string `protobuf:"bytes,6,opt,name=Type,json=type,proto3" json:"Type,omitempty"` +} + +func (x *CompanyCertInfoResponse) Reset() { + *x = CompanyCertInfoResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_api_contract_contract_proto_msgTypes[6] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *CompanyCertInfoResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CompanyCertInfoResponse) ProtoMessage() {} + +func (x *CompanyCertInfoResponse) ProtoReflect() protoreflect.Message { + mi := &file_api_contract_contract_proto_msgTypes[6] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use CompanyCertInfoResponse.ProtoReflect.Descriptor instead. +func (*CompanyCertInfoResponse) Descriptor() ([]byte, []int) { + return file_api_contract_contract_proto_rawDescGZIP(), []int{6} +} + +func (x *CompanyCertInfoResponse) GetCompany() *Company { + if x != nil { + return x.Company + } + return nil +} + +func (x *CompanyCertInfoResponse) GetManager() *Manager { + if x != nil { + return x.Manager + } + return nil +} + +func (x *CompanyCertInfoResponse) GetAuthenticationSubmitTime() string { + if x != nil { + return x.AuthenticationSubmitTime + } + return "" +} + +func (x *CompanyCertInfoResponse) GetPassTime() string { + if x != nil { + return x.PassTime + } + return "" +} + +func (x *CompanyCertInfoResponse) GetTransactionNo() string { + if x != nil { + return x.TransactionNo + } + return "" +} + +func (x *CompanyCertInfoResponse) GetType() string { + if x != nil { + return x.Type + } + return "" +} + +type AuthStatusResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + AuthType uint64 `protobuf:"varint,1,opt,name=AuthType,json=authType,proto3" json:"AuthType,omitempty"` + ContractId string `protobuf:"bytes,2,opt,name=ContractId,json=contractId,proto3" json:"ContractId,omitempty"` + Status uint64 `protobuf:"varint,3,opt,name=Status,json=status,proto3" json:"Status,omitempty"` + TransactionId string `protobuf:"bytes,4,opt,name=TransactionId,json=transactionId,proto3" json:"TransactionId,omitempty"` +} + +func (x *AuthStatusResponse) Reset() { + *x = AuthStatusResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_api_contract_contract_proto_msgTypes[7] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *AuthStatusResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*AuthStatusResponse) ProtoMessage() {} + +func (x *AuthStatusResponse) ProtoReflect() protoreflect.Message { + mi := &file_api_contract_contract_proto_msgTypes[7] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use AuthStatusResponse.ProtoReflect.Descriptor instead. +func (*AuthStatusResponse) Descriptor() ([]byte, []int) { + return file_api_contract_contract_proto_rawDescGZIP(), []int{7} +} + +func (x *AuthStatusResponse) GetAuthType() uint64 { + if x != nil { + return x.AuthType + } + return 0 +} + +func (x *AuthStatusResponse) GetContractId() string { + if x != nil { + return x.ContractId + } + return "" +} + +func (x *AuthStatusResponse) GetStatus() uint64 { + if x != nil { + return x.Status + } + return 0 +} + +func (x *AuthStatusResponse) GetTransactionId() string { + if x != nil { + return x.TransactionId + } + return "" +} + +type ApplyCertRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + CustomerId string `protobuf:"bytes,1,opt,name=CustomerId,json=customerId,proto3" json:"CustomerId,omitempty"` + VerifiedSerialno string `protobuf:"bytes,2,opt,name=VerifiedSerialno,json=verifiedSerialno,proto3" json:"VerifiedSerialno,omitempty"` +} + +func (x *ApplyCertRequest) Reset() { + *x = ApplyCertRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_api_contract_contract_proto_msgTypes[8] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ApplyCertRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ApplyCertRequest) ProtoMessage() {} + +func (x *ApplyCertRequest) ProtoReflect() protoreflect.Message { + mi := &file_api_contract_contract_proto_msgTypes[8] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ApplyCertRequest.ProtoReflect.Descriptor instead. +func (*ApplyCertRequest) Descriptor() ([]byte, []int) { + return file_api_contract_contract_proto_rawDescGZIP(), []int{8} +} + +func (x *ApplyCertRequest) GetCustomerId() string { + if x != nil { + return x.CustomerId + } + return "" +} + +func (x *ApplyCertRequest) GetVerifiedSerialno() string { + if x != nil { + return x.VerifiedSerialno + } + return "" +} + +type ViewCommonResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + DownloadUrl string `protobuf:"bytes,1,opt,name=DownloadUrl,json=downloadUrl,proto3" json:"DownloadUrl,omitempty"` + ViewPdfUrl string `protobuf:"bytes,2,opt,name=ViewPdfUrl,json=viewPdfUrl,proto3" json:"ViewPdfUrl,omitempty"` +} + +func (x *ViewCommonResponse) Reset() { + *x = ViewCommonResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_api_contract_contract_proto_msgTypes[9] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ViewCommonResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ViewCommonResponse) ProtoMessage() {} + +func (x *ViewCommonResponse) ProtoReflect() protoreflect.Message { + mi := &file_api_contract_contract_proto_msgTypes[9] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ViewCommonResponse.ProtoReflect.Descriptor instead. +func (*ViewCommonResponse) Descriptor() ([]byte, []int) { + return file_api_contract_contract_proto_rawDescGZIP(), []int{9} +} + +func (x *ViewCommonResponse) GetDownloadUrl() string { + if x != nil { + return x.DownloadUrl + } + return "" +} + +func (x *ViewCommonResponse) GetViewPdfUrl() string { + if x != nil { + return x.ViewPdfUrl + } + return "" +} + +type PdfTemplateKeysRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + TemplateId string `protobuf:"bytes,1,opt,name=TemplateId,json=templateId,proto3" json:"TemplateId,omitempty"` +} + +func (x *PdfTemplateKeysRequest) Reset() { + *x = PdfTemplateKeysRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_api_contract_contract_proto_msgTypes[10] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *PdfTemplateKeysRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*PdfTemplateKeysRequest) ProtoMessage() {} + +func (x *PdfTemplateKeysRequest) ProtoReflect() protoreflect.Message { + mi := &file_api_contract_contract_proto_msgTypes[10] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use PdfTemplateKeysRequest.ProtoReflect.Descriptor instead. +func (*PdfTemplateKeysRequest) Descriptor() ([]byte, []int) { + return file_api_contract_contract_proto_rawDescGZIP(), []int{10} +} + +func (x *PdfTemplateKeysRequest) GetTemplateId() string { + if x != nil { + return x.TemplateId + } + return "" +} + +type PdfTemplateKeysResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Keys []string `protobuf:"bytes,1,rep,name=Keys,proto3" json:"Keys,omitempty"` +} + +func (x *PdfTemplateKeysResponse) Reset() { + *x = PdfTemplateKeysResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_api_contract_contract_proto_msgTypes[11] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *PdfTemplateKeysResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*PdfTemplateKeysResponse) ProtoMessage() {} + +func (x *PdfTemplateKeysResponse) ProtoReflect() protoreflect.Message { + mi := &file_api_contract_contract_proto_msgTypes[11] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use PdfTemplateKeysResponse.ProtoReflect.Descriptor instead. +func (*PdfTemplateKeysResponse) Descriptor() ([]byte, []int) { + return file_api_contract_contract_proto_rawDescGZIP(), []int{11} +} + +func (x *PdfTemplateKeysResponse) GetKeys() []string { + if x != nil { + return x.Keys + } + return nil +} + +type JumpCommonResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + JumpUrl string `protobuf:"bytes,1,opt,name=JumpUrl,json=jumpUrl,proto3" json:"JumpUrl,omitempty"` +} + +func (x *JumpCommonResponse) Reset() { + *x = JumpCommonResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_api_contract_contract_proto_msgTypes[12] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *JumpCommonResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*JumpCommonResponse) ProtoMessage() {} + +func (x *JumpCommonResponse) ProtoReflect() protoreflect.Message { + mi := &file_api_contract_contract_proto_msgTypes[12] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use JumpCommonResponse.ProtoReflect.Descriptor instead. +func (*JumpCommonResponse) Descriptor() ([]byte, []int) { + return file_api_contract_contract_proto_rawDescGZIP(), []int{12} +} + +func (x *JumpCommonResponse) GetJumpUrl() string { + if x != nil { + return x.JumpUrl + } + return "" +} + +type ContractRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + ContractId string `protobuf:"bytes,1,opt,name=ContractId,json=contractId,proto3" json:"ContractId,omitempty"` +} + +func (x *ContractRequest) Reset() { + *x = ContractRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_api_contract_contract_proto_msgTypes[13] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ContractRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ContractRequest) ProtoMessage() {} + +func (x *ContractRequest) ProtoReflect() protoreflect.Message { + mi := &file_api_contract_contract_proto_msgTypes[13] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ContractRequest.ProtoReflect.Descriptor instead. +func (*ContractRequest) Descriptor() ([]byte, []int) { + return file_api_contract_contract_proto_rawDescGZIP(), []int{13} +} + +func (x *ContractRequest) GetContractId() string { + if x != nil { + return x.ContractId + } + return "" +} + +type ExtSignRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + TransactionId string `protobuf:"bytes,1,opt,name=TransactionId,json=transactionId,proto3" json:"TransactionId,omitempty"` + ContractId string `protobuf:"bytes,2,opt,name=ContractId,json=contractId,proto3" json:"ContractId,omitempty"` + CustomerId string `protobuf:"bytes,3,opt,name=CustomerId,json=customerId,proto3" json:"CustomerId,omitempty"` + ReturnUrl string `protobuf:"bytes,4,opt,name=ReturnUrl,json=returnUrl,proto3" json:"ReturnUrl,omitempty"` + DocTitle string `protobuf:"bytes,5,opt,name=DocTitle,json=docTitle,proto3" json:"DocTitle,omitempty"` + OpenEnvironment string `protobuf:"bytes,6,opt,name=OpenEnvironment,json=openEnvironment,proto3" json:"OpenEnvironment,omitempty"` + MobileSignType string `protobuf:"bytes,7,opt,name=MobileSignType,json=mobileSignType,proto3" json:"MobileSignType,omitempty"` + SignKeyword string `protobuf:"bytes,8,opt,name=SignKeyword,json=signKeyword,proto3" json:"SignKeyword,omitempty"` + Keyx string `protobuf:"bytes,9,opt,name=Keyx,json=keyx,proto3" json:"Keyx,omitempty"` + Keyy string `protobuf:"bytes,10,opt,name=Keyy,json=keyy,proto3" json:"Keyy,omitempty"` + SignatureShowTime string `protobuf:"bytes,11,opt,name=SignatureShowTime,json=signatureShowTime,proto3" json:"SignatureShowTime,omitempty"` + PcHandSignature string `protobuf:"bytes,12,opt,name=PcHandSignature,proto3" json:"PcHandSignature,omitempty"` +} + +func (x *ExtSignRequest) Reset() { + *x = ExtSignRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_api_contract_contract_proto_msgTypes[14] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ExtSignRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ExtSignRequest) ProtoMessage() {} + +func (x *ExtSignRequest) ProtoReflect() protoreflect.Message { + mi := &file_api_contract_contract_proto_msgTypes[14] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ExtSignRequest.ProtoReflect.Descriptor instead. +func (*ExtSignRequest) Descriptor() ([]byte, []int) { + return file_api_contract_contract_proto_rawDescGZIP(), []int{14} +} + +func (x *ExtSignRequest) GetTransactionId() string { + if x != nil { + return x.TransactionId + } + return "" +} + +func (x *ExtSignRequest) GetContractId() string { + if x != nil { + return x.ContractId + } + return "" +} + +func (x *ExtSignRequest) GetCustomerId() string { + if x != nil { + return x.CustomerId + } + return "" +} + +func (x *ExtSignRequest) GetReturnUrl() string { + if x != nil { + return x.ReturnUrl + } + return "" +} + +func (x *ExtSignRequest) GetDocTitle() string { + if x != nil { + return x.DocTitle + } + return "" +} + +func (x *ExtSignRequest) GetOpenEnvironment() string { + if x != nil { + return x.OpenEnvironment + } + return "" +} + +func (x *ExtSignRequest) GetMobileSignType() string { + if x != nil { + return x.MobileSignType + } + return "" +} + +func (x *ExtSignRequest) GetSignKeyword() string { + if x != nil { + return x.SignKeyword + } + return "" +} + +func (x *ExtSignRequest) GetKeyx() string { + if x != nil { + return x.Keyx + } + return "" +} + +func (x *ExtSignRequest) GetKeyy() string { + if x != nil { + return x.Keyy + } + return "" +} + +func (x *ExtSignRequest) GetSignatureShowTime() string { + if x != nil { + return x.SignatureShowTime + } + return "" +} + +func (x *ExtSignRequest) GetPcHandSignature() string { + if x != nil { + return x.PcHandSignature + } + return "" +} + +type BeforeAuthSignRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + TransactionId string `protobuf:"bytes,1,opt,name=TransactionId,json=transactionId,proto3" json:"TransactionId,omitempty"` + ContractId string `protobuf:"bytes,2,opt,name=ContractId,json=contractId,proto3" json:"ContractId,omitempty"` + CustomerId string `protobuf:"bytes,3,opt,name=CustomerId,json=customerId,proto3" json:"CustomerId,omitempty"` + ReturnUrl string `protobuf:"bytes,4,opt,name=ReturnUrl,json=returnUrl,proto3" json:"ReturnUrl,omitempty"` + NotifyUrl string `protobuf:"bytes,5,opt,name=NotifyUrl,json=notifyUrl,proto3" json:"NotifyUrl,omitempty"` +} + +func (x *BeforeAuthSignRequest) Reset() { + *x = BeforeAuthSignRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_api_contract_contract_proto_msgTypes[15] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *BeforeAuthSignRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*BeforeAuthSignRequest) ProtoMessage() {} + +func (x *BeforeAuthSignRequest) ProtoReflect() protoreflect.Message { + mi := &file_api_contract_contract_proto_msgTypes[15] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use BeforeAuthSignRequest.ProtoReflect.Descriptor instead. +func (*BeforeAuthSignRequest) Descriptor() ([]byte, []int) { + return file_api_contract_contract_proto_rawDescGZIP(), []int{15} +} + +func (x *BeforeAuthSignRequest) GetTransactionId() string { + if x != nil { + return x.TransactionId + } + return "" +} + +func (x *BeforeAuthSignRequest) GetContractId() string { + if x != nil { + return x.ContractId + } + return "" +} + +func (x *BeforeAuthSignRequest) GetCustomerId() string { + if x != nil { + return x.CustomerId + } + return "" +} + +func (x *BeforeAuthSignRequest) GetReturnUrl() string { + if x != nil { + return x.ReturnUrl + } + return "" +} + +func (x *BeforeAuthSignRequest) GetNotifyUrl() string { + if x != nil { + return x.NotifyUrl + } + return "" +} + +type UploadDocsRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + ContractId string `protobuf:"bytes,1,opt,name=ContractId,json=customerId,proto3" json:"ContractId,omitempty"` + DocTitle string `protobuf:"bytes,2,opt,name=DocTitle,json=docTitle,proto3" json:"DocTitle,omitempty"` + DocUrl string `protobuf:"bytes,3,opt,name=DocUrl,json=docUrl,proto3" json:"DocUrl,omitempty"` + File string `protobuf:"bytes,4,opt,name=File,json=file,proto3" json:"File,omitempty"` //string doc_type = 1 [json_name = "customerId"]; +} + +func (x *UploadDocsRequest) Reset() { + *x = UploadDocsRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_api_contract_contract_proto_msgTypes[16] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *UploadDocsRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*UploadDocsRequest) ProtoMessage() {} + +func (x *UploadDocsRequest) ProtoReflect() protoreflect.Message { + mi := &file_api_contract_contract_proto_msgTypes[16] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use UploadDocsRequest.ProtoReflect.Descriptor instead. +func (*UploadDocsRequest) Descriptor() ([]byte, []int) { + return file_api_contract_contract_proto_rawDescGZIP(), []int{16} +} + +func (x *UploadDocsRequest) GetContractId() string { + if x != nil { + return x.ContractId + } + return "" +} + +func (x *UploadDocsRequest) GetDocTitle() string { + if x != nil { + return x.DocTitle + } + return "" +} + +func (x *UploadDocsRequest) GetDocUrl() string { + if x != nil { + return x.DocUrl + } + return "" +} + +func (x *UploadDocsRequest) GetFile() string { + if x != nil { + return x.File + } + return "" +} + +type CompanyVerifyRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + CustomerId string `protobuf:"bytes,1,opt,name=CustomerId,json=customerId,proto3" json:"CustomerId,omitempty"` +} + +func (x *CompanyVerifyRequest) Reset() { + *x = CompanyVerifyRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_api_contract_contract_proto_msgTypes[17] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *CompanyVerifyRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CompanyVerifyRequest) ProtoMessage() {} + +func (x *CompanyVerifyRequest) ProtoReflect() protoreflect.Message { + mi := &file_api_contract_contract_proto_msgTypes[17] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use CompanyVerifyRequest.ProtoReflect.Descriptor instead. +func (*CompanyVerifyRequest) Descriptor() ([]byte, []int) { + return file_api_contract_contract_proto_rawDescGZIP(), []int{17} +} + +func (x *CompanyVerifyRequest) GetCustomerId() string { + if x != nil { + return x.CustomerId + } + return "" +} + +type UploadTemplateResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + CustomerId string `protobuf:"bytes,1,opt,name=CustomerId,json=customerId,proto3" json:"CustomerId,omitempty"` +} + +func (x *UploadTemplateResponse) Reset() { + *x = UploadTemplateResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_api_contract_contract_proto_msgTypes[18] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *UploadTemplateResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*UploadTemplateResponse) ProtoMessage() {} + +func (x *UploadTemplateResponse) ProtoReflect() protoreflect.Message { + mi := &file_api_contract_contract_proto_msgTypes[18] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use UploadTemplateResponse.ProtoReflect.Descriptor instead. +func (*UploadTemplateResponse) Descriptor() ([]byte, []int) { + return file_api_contract_contract_proto_rawDescGZIP(), []int{18} +} + +func (x *UploadTemplateResponse) GetCustomerId() string { + if x != nil { + return x.CustomerId + } + return "" +} + +type PersonVerifyRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + CustomerId string `protobuf:"bytes,1,opt,name=CustomerId,json=customerId,proto3" json:"CustomerId,omitempty"` + VerifiedWay string `protobuf:"bytes,2,opt,name=VerifiedWay,json=verifiedWay,proto3" json:"VerifiedWay,omitempty"` + CustomerName string `protobuf:"bytes,3,opt,name=CustomerName,json=customerName,proto3" json:"CustomerName,omitempty"` + CustomerIdentNo string `protobuf:"bytes,4,opt,name=CustomerIdentNo,json=customerIdentNo,proto3" json:"CustomerIdentNo,omitempty"` + Mobile string `protobuf:"bytes,5,opt,name=Mobile,json=mobile,proto3" json:"Mobile,omitempty"` + ReturnUrl string `protobuf:"bytes,6,opt,name=ReturnUrl,json=returnUrl,proto3" json:"ReturnUrl,omitempty"` +} + +func (x *PersonVerifyRequest) Reset() { + *x = PersonVerifyRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_api_contract_contract_proto_msgTypes[19] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *PersonVerifyRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*PersonVerifyRequest) ProtoMessage() {} + +func (x *PersonVerifyRequest) ProtoReflect() protoreflect.Message { + mi := &file_api_contract_contract_proto_msgTypes[19] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use PersonVerifyRequest.ProtoReflect.Descriptor instead. +func (*PersonVerifyRequest) Descriptor() ([]byte, []int) { + return file_api_contract_contract_proto_rawDescGZIP(), []int{19} +} + +func (x *PersonVerifyRequest) GetCustomerId() string { + if x != nil { + return x.CustomerId + } + return "" +} + +func (x *PersonVerifyRequest) GetVerifiedWay() string { + if x != nil { + return x.VerifiedWay + } + return "" +} + +func (x *PersonVerifyRequest) GetCustomerName() string { + if x != nil { + return x.CustomerName + } + return "" +} + +func (x *PersonVerifyRequest) GetCustomerIdentNo() string { + if x != nil { + return x.CustomerIdentNo + } + return "" +} + +func (x *PersonVerifyRequest) GetMobile() string { + if x != nil { + return x.Mobile + } + return "" +} + +func (x *PersonVerifyRequest) GetReturnUrl() string { + if x != nil { + return x.ReturnUrl + } + return "" +} + +type PersonVerifyResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + TransactionNo string `protobuf:"bytes,1,opt,name=TransactionNo,proto3" json:"TransactionNo,omitempty"` + Url string `protobuf:"bytes,2,opt,name=Url,proto3" json:"Url,omitempty"` +} + +func (x *PersonVerifyResponse) Reset() { + *x = PersonVerifyResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_api_contract_contract_proto_msgTypes[20] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *PersonVerifyResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*PersonVerifyResponse) ProtoMessage() {} + +func (x *PersonVerifyResponse) ProtoReflect() protoreflect.Message { + mi := &file_api_contract_contract_proto_msgTypes[20] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use PersonVerifyResponse.ProtoReflect.Descriptor instead. +func (*PersonVerifyResponse) Descriptor() ([]byte, []int) { + return file_api_contract_contract_proto_rawDescGZIP(), []int{20} +} + +func (x *PersonVerifyResponse) GetTransactionNo() string { + if x != nil { + return x.TransactionNo + } + return "" +} + +func (x *PersonVerifyResponse) GetUrl() string { + if x != nil { + return x.Url + } + return "" +} + +type RegisterResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + CustomerId string `protobuf:"bytes,1,opt,name=CustomerId,json=customerId,proto3" json:"CustomerId,omitempty"` +} + +func (x *RegisterResponse) Reset() { + *x = RegisterResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_api_contract_contract_proto_msgTypes[21] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *RegisterResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*RegisterResponse) ProtoMessage() {} + +func (x *RegisterResponse) ProtoReflect() protoreflect.Message { + mi := &file_api_contract_contract_proto_msgTypes[21] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use RegisterResponse.ProtoReflect.Descriptor instead. +func (*RegisterResponse) Descriptor() ([]byte, []int) { + return file_api_contract_contract_proto_rawDescGZIP(), []int{21} +} + +func (x *RegisterResponse) GetCustomerId() string { + if x != nil { + return x.CustomerId + } + return "" +} + +type CustomerIdRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + CustomerId string `protobuf:"bytes,1,opt,name=CustomerId,json=customerId,proto3" json:"CustomerId,omitempty"` +} + +func (x *CustomerIdRequest) Reset() { + *x = CustomerIdRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_api_contract_contract_proto_msgTypes[22] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *CustomerIdRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CustomerIdRequest) ProtoMessage() {} + +func (x *CustomerIdRequest) ProtoReflect() protoreflect.Message { + mi := &file_api_contract_contract_proto_msgTypes[22] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use CustomerIdRequest.ProtoReflect.Descriptor instead. +func (*CustomerIdRequest) Descriptor() ([]byte, []int) { + return file_api_contract_contract_proto_rawDescGZIP(), []int{22} +} + +func (x *CustomerIdRequest) GetCustomerId() string { + if x != nil { + return x.CustomerId + } + return "" +} + +type CommonResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields +} + +func (x *CommonResponse) Reset() { + *x = CommonResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_api_contract_contract_proto_msgTypes[23] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *CommonResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CommonResponse) ProtoMessage() {} + +func (x *CommonResponse) ProtoReflect() protoreflect.Message { + mi := &file_api_contract_contract_proto_msgTypes[23] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use CommonResponse.ProtoReflect.Descriptor instead. +func (*CommonResponse) Descriptor() ([]byte, []int) { + return file_api_contract_contract_proto_rawDescGZIP(), []int{23} +} + +type RegisterOrgRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + OpenId string `protobuf:"bytes,1,opt,name=OpenId,json=openId,proto3" json:"OpenId,omitempty"` +} + +func (x *RegisterOrgRequest) Reset() { + *x = RegisterOrgRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_api_contract_contract_proto_msgTypes[24] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *RegisterOrgRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*RegisterOrgRequest) ProtoMessage() {} + +func (x *RegisterOrgRequest) ProtoReflect() protoreflect.Message { + mi := &file_api_contract_contract_proto_msgTypes[24] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use RegisterOrgRequest.ProtoReflect.Descriptor instead. +func (*RegisterOrgRequest) Descriptor() ([]byte, []int) { + return file_api_contract_contract_proto_rawDescGZIP(), []int{24} +} + +func (x *RegisterOrgRequest) GetOpenId() string { + if x != nil { + return x.OpenId + } + return "" +} + +type RegisterPersonRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + OpenId string `protobuf:"bytes,1,opt,name=OpenId,json=openId,proto3" json:"OpenId,omitempty"` +} + +func (x *RegisterPersonRequest) Reset() { + *x = RegisterPersonRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_api_contract_contract_proto_msgTypes[25] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *RegisterPersonRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*RegisterPersonRequest) ProtoMessage() {} + +func (x *RegisterPersonRequest) ProtoReflect() protoreflect.Message { + mi := &file_api_contract_contract_proto_msgTypes[25] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use RegisterPersonRequest.ProtoReflect.Descriptor instead. +func (*RegisterPersonRequest) Descriptor() ([]byte, []int) { + return file_api_contract_contract_proto_rawDescGZIP(), []int{25} +} + +func (x *RegisterPersonRequest) GetOpenId() string { + if x != nil { + return x.OpenId + } + return "" +} + +type AddSignRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + CustomerId string `protobuf:"bytes,1,opt,name=CustomerId,json=customerId,proto3" json:"CustomerId,omitempty"` + ReadImgByte []byte `protobuf:"bytes,2,opt,name=ReadImgByte,json=readImgByte,proto3" json:"ReadImgByte,omitempty"` +} + +func (x *AddSignRequest) Reset() { + *x = AddSignRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_api_contract_contract_proto_msgTypes[26] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *AddSignRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*AddSignRequest) ProtoMessage() {} + +func (x *AddSignRequest) ProtoReflect() protoreflect.Message { + mi := &file_api_contract_contract_proto_msgTypes[26] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use AddSignRequest.ProtoReflect.Descriptor instead. +func (*AddSignRequest) Descriptor() ([]byte, []int) { + return file_api_contract_contract_proto_rawDescGZIP(), []int{26} +} + +func (x *AddSignRequest) GetCustomerId() string { + if x != nil { + return x.CustomerId + } + return "" +} + +func (x *AddSignRequest) GetReadImgByte() []byte { + if x != nil { + return x.ReadImgByte + } + return nil +} + +type AddSignResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + SignatureId string `protobuf:"bytes,1,opt,name=SignatureId,json=signatureId,proto3" json:"SignatureId,omitempty"` +} + +func (x *AddSignResponse) Reset() { + *x = AddSignResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_api_contract_contract_proto_msgTypes[27] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *AddSignResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*AddSignResponse) ProtoMessage() {} + +func (x *AddSignResponse) ProtoReflect() protoreflect.Message { + mi := &file_api_contract_contract_proto_msgTypes[27] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use AddSignResponse.ProtoReflect.Descriptor instead. +func (*AddSignResponse) Descriptor() ([]byte, []int) { + return file_api_contract_contract_proto_rawDescGZIP(), []int{27} +} + +func (x *AddSignResponse) GetSignatureId() string { + if x != nil { + return x.SignatureId + } + return "" +} + +type CustomSignRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + CustomerId string `protobuf:"bytes,1,opt,name=CustomerId,json=customerId,proto3" json:"CustomerId,omitempty"` + Content string `protobuf:"bytes,2,opt,name=Content,json=content,proto3" json:"Content,omitempty"` +} + +func (x *CustomSignRequest) Reset() { + *x = CustomSignRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_api_contract_contract_proto_msgTypes[28] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *CustomSignRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CustomSignRequest) ProtoMessage() {} + +func (x *CustomSignRequest) ProtoReflect() protoreflect.Message { + mi := &file_api_contract_contract_proto_msgTypes[28] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use CustomSignRequest.ProtoReflect.Descriptor instead. +func (*CustomSignRequest) Descriptor() ([]byte, []int) { + return file_api_contract_contract_proto_rawDescGZIP(), []int{28} +} + +func (x *CustomSignRequest) GetCustomerId() string { + if x != nil { + return x.CustomerId + } + return "" +} + +func (x *CustomSignRequest) GetContent() string { + if x != nil { + return x.Content + } + return "" +} + +type CustomSignResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + SignatureImgBase64 string `protobuf:"bytes,1,opt,name=SignatureImgBase64,json=signatureImgBase64,proto3" json:"SignatureImgBase64,omitempty"` +} + +func (x *CustomSignResponse) Reset() { + *x = CustomSignResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_api_contract_contract_proto_msgTypes[29] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *CustomSignResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CustomSignResponse) ProtoMessage() {} + +func (x *CustomSignResponse) ProtoReflect() protoreflect.Message { + mi := &file_api_contract_contract_proto_msgTypes[29] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use CustomSignResponse.ProtoReflect.Descriptor instead. +func (*CustomSignResponse) Descriptor() ([]byte, []int) { + return file_api_contract_contract_proto_rawDescGZIP(), []int{29} +} + +func (x *CustomSignResponse) GetSignatureImgBase64() string { + if x != nil { + return x.SignatureImgBase64 + } + return "" +} + +type UploadTemplateRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + TemplateId string `protobuf:"bytes,1,opt,name=TemplateId,json=templateId,proto3" json:"TemplateId,omitempty"` + DocUrl string `protobuf:"bytes,2,opt,name=DocUrl,json=docUrl,proto3" json:"DocUrl,omitempty"` +} + +func (x *UploadTemplateRequest) Reset() { + *x = UploadTemplateRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_api_contract_contract_proto_msgTypes[30] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *UploadTemplateRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*UploadTemplateRequest) ProtoMessage() {} + +func (x *UploadTemplateRequest) ProtoReflect() protoreflect.Message { + mi := &file_api_contract_contract_proto_msgTypes[30] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use UploadTemplateRequest.ProtoReflect.Descriptor instead. +func (*UploadTemplateRequest) Descriptor() ([]byte, []int) { + return file_api_contract_contract_proto_rawDescGZIP(), []int{30} +} + +func (x *UploadTemplateRequest) GetTemplateId() string { + if x != nil { + return x.TemplateId + } + return "" +} + +func (x *UploadTemplateRequest) GetDocUrl() string { + if x != nil { + return x.DocUrl + } + return "" +} + +type ExtSignAutoRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + TransactionId string `protobuf:"bytes,1,opt,name=TransactionId,json=transactionId,proto3" json:"TransactionId,omitempty"` + ContractId string `protobuf:"bytes,2,opt,name=ContractId,json=contractId,proto3" json:"ContractId,omitempty"` + CustomerId string `protobuf:"bytes,3,opt,name=CustomerId,json=customerId,proto3" json:"CustomerId,omitempty"` + ClientRole string `protobuf:"bytes,4,opt,name=ClientRole,json=clientRole,proto3" json:"ClientRole,omitempty"` + DocTitle string `protobuf:"bytes,5,opt,name=DocTitle,json=docTitle,proto3" json:"DocTitle,omitempty"` + SignKeyword string `protobuf:"bytes,6,opt,name=SignKeyword,json=signKeyword,proto3" json:"SignKeyword,omitempty"` + SignatureId string `protobuf:"bytes,7,opt,name=SignatureId,json=signatureId,proto3" json:"SignatureId,omitempty"` + KeyX string `protobuf:"bytes,9,opt,name=KeyX,json=keyX,proto3" json:"KeyX,omitempty"` + KeyY string `protobuf:"bytes,10,opt,name=KeyY,json=keyY,proto3" json:"KeyY,omitempty"` +} + +func (x *ExtSignAutoRequest) Reset() { + *x = ExtSignAutoRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_api_contract_contract_proto_msgTypes[31] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ExtSignAutoRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ExtSignAutoRequest) ProtoMessage() {} + +func (x *ExtSignAutoRequest) ProtoReflect() protoreflect.Message { + mi := &file_api_contract_contract_proto_msgTypes[31] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ExtSignAutoRequest.ProtoReflect.Descriptor instead. +func (*ExtSignAutoRequest) Descriptor() ([]byte, []int) { + return file_api_contract_contract_proto_rawDescGZIP(), []int{31} +} + +func (x *ExtSignAutoRequest) GetTransactionId() string { + if x != nil { + return x.TransactionId + } + return "" +} + +func (x *ExtSignAutoRequest) GetContractId() string { + if x != nil { + return x.ContractId + } + return "" +} + +func (x *ExtSignAutoRequest) GetCustomerId() string { + if x != nil { + return x.CustomerId + } + return "" +} + +func (x *ExtSignAutoRequest) GetClientRole() string { + if x != nil { + return x.ClientRole + } + return "" +} + +func (x *ExtSignAutoRequest) GetDocTitle() string { + if x != nil { + return x.DocTitle + } + return "" +} + +func (x *ExtSignAutoRequest) GetSignKeyword() string { + if x != nil { + return x.SignKeyword + } + return "" +} + +func (x *ExtSignAutoRequest) GetSignatureId() string { + if x != nil { + return x.SignatureId + } + return "" +} + +func (x *ExtSignAutoRequest) GetKeyX() string { + if x != nil { + return x.KeyX + } + return "" +} + +func (x *ExtSignAutoRequest) GetKeyY() string { + if x != nil { + return x.KeyY + } + return "" +} + +type GenerateContractRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + TemplateId string `protobuf:"bytes,1,opt,name=TemplateId,json=templateId,proto3" json:"TemplateId,omitempty"` + ContractId string `protobuf:"bytes,2,opt,name=ContractId,json=templateId,proto3" json:"ContractId,omitempty"` + ParameterMap string `protobuf:"bytes,3,opt,name=ParameterMap,proto3" json:"ParameterMap,omitempty"` + DynamicTables string `protobuf:"bytes,4,opt,name=DynamicTables,json=dynamicTables,proto3" json:"DynamicTables,omitempty"` +} + +func (x *GenerateContractRequest) Reset() { + *x = GenerateContractRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_api_contract_contract_proto_msgTypes[32] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *GenerateContractRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GenerateContractRequest) ProtoMessage() {} + +func (x *GenerateContractRequest) ProtoReflect() protoreflect.Message { + mi := &file_api_contract_contract_proto_msgTypes[32] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use GenerateContractRequest.ProtoReflect.Descriptor instead. +func (*GenerateContractRequest) Descriptor() ([]byte, []int) { + return file_api_contract_contract_proto_rawDescGZIP(), []int{32} +} + +func (x *GenerateContractRequest) GetTemplateId() string { + if x != nil { + return x.TemplateId + } + return "" +} + +func (x *GenerateContractRequest) GetContractId() string { + if x != nil { + return x.ContractId + } + return "" +} + +func (x *GenerateContractRequest) GetParameterMap() string { + if x != nil { + return x.ParameterMap + } + return "" +} + +func (x *GenerateContractRequest) GetDynamicTables() string { + if x != nil { + return x.DynamicTables + } + return "" +} + +var File_api_contract_contract_proto protoreflect.FileDescriptor + +var file_api_contract_contract_proto_rawDesc = []byte{ + 0x0a, 0x1b, 0x61, 0x70, 0x69, 0x2f, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x2f, 0x63, + 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x08, 0x63, + 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x22, 0x76, 0x0a, 0x18, 0x43, 0x61, 0x6e, 0x63, 0x65, + 0x6c, 0x45, 0x78, 0x74, 0x53, 0x69, 0x67, 0x6e, 0x41, 0x75, 0x74, 0x6f, 0x52, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x12, 0x1e, 0x0a, 0x0a, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x65, 0x72, 0x49, + 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x65, + 0x72, 0x49, 0x64, 0x12, 0x1c, 0x0a, 0x09, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x55, 0x72, 0x6c, + 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x55, 0x72, + 0x6c, 0x12, 0x1c, 0x0a, 0x09, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x55, 0x72, 0x6c, 0x18, 0x03, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x55, 0x72, 0x6c, 0x22, + 0xb0, 0x06, 0x0a, 0x06, 0x50, 0x65, 0x72, 0x73, 0x6f, 0x6e, 0x12, 0x1a, 0x0a, 0x08, 0x41, 0x72, + 0x65, 0x61, 0x43, 0x6f, 0x64, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x41, 0x72, + 0x65, 0x61, 0x43, 0x6f, 0x64, 0x65, 0x12, 0x28, 0x0a, 0x0f, 0x41, 0x75, 0x64, 0x69, 0x74, 0x46, + 0x61, 0x69, 0x6c, 0x52, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x0f, 0x41, 0x75, 0x64, 0x69, 0x74, 0x46, 0x61, 0x69, 0x6c, 0x52, 0x65, 0x61, 0x73, 0x6f, 0x6e, + 0x12, 0x20, 0x0a, 0x0b, 0x41, 0x75, 0x64, 0x69, 0x74, 0x6f, 0x72, 0x54, 0x69, 0x6d, 0x65, 0x18, + 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x41, 0x75, 0x64, 0x69, 0x74, 0x6f, 0x72, 0x54, 0x69, + 0x6d, 0x65, 0x12, 0x32, 0x0a, 0x14, 0x42, 0x61, 0x63, 0x6b, 0x67, 0x72, 0x6f, 0x75, 0x6e, 0x64, + 0x49, 0x64, 0x43, 0x61, 0x72, 0x64, 0x50, 0x61, 0x74, 0x68, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x14, 0x42, 0x61, 0x63, 0x6b, 0x67, 0x72, 0x6f, 0x75, 0x6e, 0x64, 0x49, 0x64, 0x43, 0x61, + 0x72, 0x64, 0x50, 0x61, 0x74, 0x68, 0x12, 0x1e, 0x0a, 0x0a, 0x42, 0x61, 0x6e, 0x6b, 0x43, 0x61, + 0x72, 0x64, 0x4e, 0x6f, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x42, 0x61, 0x6e, 0x6b, + 0x43, 0x61, 0x72, 0x64, 0x4e, 0x6f, 0x12, 0x1a, 0x0a, 0x08, 0x42, 0x69, 0x72, 0x74, 0x68, 0x64, + 0x61, 0x79, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x42, 0x69, 0x72, 0x74, 0x68, 0x64, + 0x61, 0x79, 0x12, 0x1a, 0x0a, 0x08, 0x43, 0x65, 0x72, 0x74, 0x54, 0x79, 0x70, 0x65, 0x18, 0x07, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x43, 0x65, 0x72, 0x74, 0x54, 0x79, 0x70, 0x65, 0x12, 0x20, + 0x0a, 0x0b, 0x45, 0x78, 0x70, 0x69, 0x72, 0x65, 0x73, 0x44, 0x61, 0x74, 0x65, 0x18, 0x08, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x0b, 0x45, 0x78, 0x70, 0x69, 0x72, 0x65, 0x73, 0x44, 0x61, 0x74, 0x65, + 0x12, 0x12, 0x0a, 0x04, 0x46, 0x6f, 0x72, 0x6b, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, + 0x46, 0x6f, 0x72, 0x6b, 0x12, 0x2c, 0x0a, 0x11, 0x47, 0x65, 0x73, 0x74, 0x75, 0x72, 0x65, 0x73, + 0x50, 0x68, 0x6f, 0x74, 0x6f, 0x50, 0x61, 0x74, 0x68, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x11, 0x47, 0x65, 0x73, 0x74, 0x75, 0x72, 0x65, 0x73, 0x50, 0x68, 0x6f, 0x74, 0x6f, 0x50, 0x61, + 0x74, 0x68, 0x12, 0x24, 0x0a, 0x0d, 0x48, 0x65, 0x61, 0x64, 0x50, 0x68, 0x6f, 0x74, 0x6f, 0x50, + 0x61, 0x74, 0x68, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x48, 0x65, 0x61, 0x64, 0x50, + 0x68, 0x6f, 0x74, 0x6f, 0x50, 0x61, 0x74, 0x68, 0x12, 0x16, 0x0a, 0x06, 0x49, 0x64, 0x43, 0x61, + 0x72, 0x64, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x49, 0x64, 0x43, 0x61, 0x72, 0x64, + 0x12, 0x1e, 0x0a, 0x0a, 0x49, 0x73, 0x4c, 0x6f, 0x6e, 0x67, 0x54, 0x65, 0x72, 0x6d, 0x18, 0x0d, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x49, 0x73, 0x4c, 0x6f, 0x6e, 0x67, 0x54, 0x65, 0x72, 0x6d, + 0x12, 0x2c, 0x0a, 0x11, 0x49, 0x73, 0x50, 0x61, 0x73, 0x73, 0x46, 0x6f, 0x75, 0x72, 0x45, 0x6c, + 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x01, 0x52, 0x11, 0x49, 0x73, 0x50, + 0x61, 0x73, 0x73, 0x46, 0x6f, 0x75, 0x72, 0x45, 0x6c, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x2e, + 0x0a, 0x12, 0x49, 0x73, 0x50, 0x61, 0x73, 0x73, 0x54, 0x68, 0x72, 0x65, 0x65, 0x45, 0x6c, 0x65, + 0x6d, 0x65, 0x6e, 0x74, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x01, 0x52, 0x12, 0x49, 0x73, 0x50, 0x61, + 0x73, 0x73, 0x54, 0x68, 0x72, 0x65, 0x65, 0x45, 0x6c, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x26, + 0x0a, 0x0e, 0x49, 0x73, 0x73, 0x75, 0x65, 0x41, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, 0x74, 0x79, + 0x18, 0x10, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x49, 0x73, 0x73, 0x75, 0x65, 0x41, 0x75, 0x74, + 0x68, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x12, 0x16, 0x0a, 0x06, 0x4d, 0x6f, 0x62, 0x69, 0x6c, 0x65, + 0x18, 0x11, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x4d, 0x6f, 0x62, 0x69, 0x6c, 0x65, 0x12, 0x1e, + 0x0a, 0x0a, 0x50, 0x65, 0x72, 0x73, 0x6f, 0x6e, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x12, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x0a, 0x50, 0x65, 0x72, 0x73, 0x6f, 0x6e, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x1c, + 0x0a, 0x09, 0x50, 0x68, 0x6f, 0x74, 0x6f, 0x55, 0x75, 0x69, 0x64, 0x18, 0x13, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x09, 0x50, 0x68, 0x6f, 0x74, 0x6f, 0x55, 0x75, 0x69, 0x64, 0x12, 0x10, 0x0a, 0x03, + 0x53, 0x65, 0x78, 0x18, 0x14, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x53, 0x65, 0x78, 0x12, 0x1c, + 0x0a, 0x09, 0x53, 0x74, 0x61, 0x72, 0x74, 0x44, 0x61, 0x74, 0x65, 0x18, 0x15, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x09, 0x53, 0x74, 0x61, 0x72, 0x74, 0x44, 0x61, 0x74, 0x65, 0x12, 0x16, 0x0a, 0x06, + 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x16, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x53, 0x74, + 0x61, 0x74, 0x75, 0x73, 0x12, 0x12, 0x0a, 0x04, 0x54, 0x79, 0x70, 0x65, 0x18, 0x17, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x04, 0x54, 0x79, 0x70, 0x65, 0x12, 0x1e, 0x0a, 0x0a, 0x56, 0x65, 0x72, 0x69, + 0x66, 0x79, 0x54, 0x79, 0x70, 0x65, 0x18, 0x18, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x56, 0x65, + 0x72, 0x69, 0x66, 0x79, 0x54, 0x79, 0x70, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x41, 0x64, 0x64, 0x72, + 0x65, 0x73, 0x73, 0x18, 0x19, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x41, 0x64, 0x64, 0x72, 0x65, + 0x73, 0x73, 0x22, 0xd4, 0x01, 0x0a, 0x16, 0x50, 0x65, 0x72, 0x73, 0x6f, 0x6e, 0x43, 0x65, 0x72, + 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x28, 0x0a, + 0x06, 0x50, 0x65, 0x72, 0x73, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x10, 0x2e, + 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x2e, 0x50, 0x65, 0x72, 0x73, 0x6f, 0x6e, 0x52, + 0x06, 0x70, 0x65, 0x72, 0x73, 0x6f, 0x6e, 0x12, 0x3a, 0x0a, 0x18, 0x41, 0x75, 0x74, 0x68, 0x65, + 0x6e, 0x74, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x75, 0x62, 0x6d, 0x69, 0x74, 0x54, + 0x69, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x18, 0x61, 0x75, 0x74, 0x68, 0x65, + 0x6e, 0x74, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x75, 0x62, 0x6d, 0x69, 0x74, 0x54, + 0x69, 0x6d, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x50, 0x61, 0x73, 0x73, 0x54, 0x69, 0x6d, 0x65, 0x18, + 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x70, 0x61, 0x73, 0x73, 0x54, 0x69, 0x6d, 0x65, 0x12, + 0x24, 0x0a, 0x0d, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x4e, 0x6f, + 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, + 0x69, 0x6f, 0x6e, 0x4e, 0x6f, 0x12, 0x12, 0x0a, 0x04, 0x54, 0x79, 0x70, 0x65, 0x18, 0x05, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x22, 0x3a, 0x0a, 0x0c, 0x46, 0x69, 0x6e, + 0x64, 0x43, 0x65, 0x72, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x2a, 0x0a, 0x10, 0x56, 0x65, 0x72, + 0x69, 0x66, 0x69, 0x65, 0x64, 0x53, 0x65, 0x72, 0x69, 0x61, 0x6c, 0x6e, 0x6f, 0x18, 0x02, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x10, 0x76, 0x65, 0x72, 0x69, 0x66, 0x69, 0x65, 0x64, 0x53, 0x65, 0x72, + 0x69, 0x61, 0x6c, 0x6e, 0x6f, 0x22, 0xc3, 0x04, 0x0a, 0x07, 0x43, 0x6f, 0x6d, 0x70, 0x61, 0x6e, + 0x79, 0x12, 0x28, 0x0a, 0x0f, 0x41, 0x75, 0x64, 0x69, 0x74, 0x46, 0x61, 0x69, 0x6c, 0x52, 0x65, + 0x61, 0x73, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0f, 0x41, 0x75, 0x64, 0x69, + 0x74, 0x46, 0x61, 0x69, 0x6c, 0x52, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x12, 0x20, 0x0a, 0x0b, 0x41, + 0x75, 0x64, 0x69, 0x74, 0x6f, 0x72, 0x54, 0x69, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x0b, 0x41, 0x75, 0x64, 0x69, 0x74, 0x6f, 0x72, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x2a, 0x0a, + 0x10, 0x43, 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x65, 0x73, 0x54, 0x79, 0x70, + 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x10, 0x43, 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, + 0x63, 0x61, 0x74, 0x65, 0x73, 0x54, 0x79, 0x70, 0x65, 0x12, 0x22, 0x0a, 0x0c, 0x43, 0x6f, 0x6d, + 0x70, 0x61, 0x6e, 0x79, 0x45, 0x6d, 0x61, 0x69, 0x6c, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x0c, 0x43, 0x6f, 0x6d, 0x70, 0x61, 0x6e, 0x79, 0x45, 0x6d, 0x61, 0x69, 0x6c, 0x12, 0x20, 0x0a, + 0x0b, 0x43, 0x6f, 0x6d, 0x70, 0x61, 0x6e, 0x79, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x05, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x0b, 0x43, 0x6f, 0x6d, 0x70, 0x61, 0x6e, 0x79, 0x4e, 0x61, 0x6d, 0x65, 0x12, + 0x1a, 0x0a, 0x08, 0x48, 0x61, 0x73, 0x61, 0x67, 0x65, 0x6e, 0x74, 0x18, 0x06, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x08, 0x48, 0x61, 0x73, 0x61, 0x67, 0x65, 0x6e, 0x74, 0x12, 0x14, 0x0a, 0x05, 0x4c, + 0x65, 0x67, 0x61, 0x6c, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x4c, 0x65, 0x67, 0x61, + 0x6c, 0x12, 0x20, 0x0a, 0x0b, 0x4c, 0x65, 0x67, 0x61, 0x6c, 0x4d, 0x6f, 0x62, 0x69, 0x6c, 0x65, + 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x4c, 0x65, 0x67, 0x61, 0x6c, 0x4d, 0x6f, 0x62, + 0x69, 0x6c, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x4c, 0x65, 0x67, 0x61, 0x6c, 0x4e, 0x61, 0x6d, 0x65, + 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x4c, 0x65, 0x67, 0x61, 0x6c, 0x4e, 0x61, 0x6d, + 0x65, 0x12, 0x22, 0x0a, 0x0c, 0x4f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x4f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x2a, 0x0a, 0x10, 0x4f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x61, 0x74, 0x68, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x10, 0x4f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x61, 0x74, + 0x68, 0x12, 0x2a, 0x0a, 0x10, 0x4f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x54, 0x79, 0x70, 0x65, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x09, 0x52, 0x10, 0x4f, 0x72, 0x67, + 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x12, 0x20, 0x0a, + 0x0b, 0x52, 0x65, 0x67, 0x46, 0x6f, 0x72, 0x6d, 0x50, 0x61, 0x74, 0x68, 0x18, 0x0d, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x0b, 0x52, 0x65, 0x67, 0x46, 0x6f, 0x72, 0x6d, 0x50, 0x61, 0x74, 0x68, 0x12, + 0x32, 0x0a, 0x14, 0x52, 0x65, 0x6c, 0x61, 0x74, 0x65, 0x64, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, + 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x4e, 0x6f, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x09, 0x52, 0x14, 0x52, + 0x65, 0x6c, 0x61, 0x74, 0x65, 0x64, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, + 0x6e, 0x4e, 0x6f, 0x12, 0x16, 0x0a, 0x06, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x0f, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x06, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x1e, 0x0a, 0x0a, 0x56, + 0x65, 0x72, 0x69, 0x66, 0x79, 0x54, 0x79, 0x70, 0x65, 0x18, 0x10, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x0a, 0x56, 0x65, 0x72, 0x69, 0x66, 0x79, 0x54, 0x79, 0x70, 0x65, 0x22, 0xe9, 0x04, 0x0a, 0x07, + 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x12, 0x1a, 0x0a, 0x08, 0x41, 0x72, 0x65, 0x61, 0x43, + 0x6f, 0x64, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x41, 0x72, 0x65, 0x61, 0x43, + 0x6f, 0x64, 0x65, 0x12, 0x28, 0x0a, 0x0f, 0x41, 0x75, 0x64, 0x69, 0x74, 0x46, 0x61, 0x69, 0x6c, + 0x52, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0f, 0x41, 0x75, + 0x64, 0x69, 0x74, 0x46, 0x61, 0x69, 0x6c, 0x52, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x12, 0x20, 0x0a, + 0x0b, 0x41, 0x75, 0x64, 0x69, 0x74, 0x6f, 0x72, 0x54, 0x69, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x0b, 0x41, 0x75, 0x64, 0x69, 0x74, 0x6f, 0x72, 0x54, 0x69, 0x6d, 0x65, 0x12, + 0x32, 0x0a, 0x14, 0x42, 0x61, 0x63, 0x6b, 0x67, 0x72, 0x6f, 0x75, 0x6e, 0x64, 0x49, 0x64, 0x43, + 0x61, 0x72, 0x64, 0x50, 0x61, 0x74, 0x68, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x14, 0x42, + 0x61, 0x63, 0x6b, 0x67, 0x72, 0x6f, 0x75, 0x6e, 0x64, 0x49, 0x64, 0x43, 0x61, 0x72, 0x64, 0x50, + 0x61, 0x74, 0x68, 0x12, 0x1a, 0x0a, 0x08, 0x42, 0x69, 0x72, 0x74, 0x68, 0x64, 0x61, 0x79, 0x18, + 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x42, 0x69, 0x72, 0x74, 0x68, 0x64, 0x61, 0x79, 0x12, + 0x20, 0x0a, 0x0b, 0x45, 0x78, 0x70, 0x69, 0x72, 0x65, 0x73, 0x44, 0x61, 0x74, 0x65, 0x18, 0x06, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x45, 0x78, 0x70, 0x69, 0x72, 0x65, 0x73, 0x44, 0x61, 0x74, + 0x65, 0x12, 0x12, 0x0a, 0x04, 0x46, 0x6f, 0x72, 0x6b, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x04, 0x46, 0x6f, 0x72, 0x6b, 0x12, 0x24, 0x0a, 0x0d, 0x48, 0x65, 0x61, 0x64, 0x50, 0x68, 0x6f, + 0x74, 0x6f, 0x50, 0x61, 0x74, 0x68, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x48, 0x65, + 0x61, 0x64, 0x50, 0x68, 0x6f, 0x74, 0x6f, 0x50, 0x61, 0x74, 0x68, 0x12, 0x16, 0x0a, 0x06, 0x49, + 0x64, 0x43, 0x61, 0x72, 0x64, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x49, 0x64, 0x43, + 0x61, 0x72, 0x64, 0x12, 0x1e, 0x0a, 0x0a, 0x49, 0x73, 0x4c, 0x6f, 0x6e, 0x67, 0x54, 0x65, 0x72, + 0x6d, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x49, 0x73, 0x4c, 0x6f, 0x6e, 0x67, 0x54, + 0x65, 0x72, 0x6d, 0x12, 0x26, 0x0a, 0x0e, 0x49, 0x73, 0x73, 0x75, 0x65, 0x41, 0x75, 0x74, 0x68, + 0x6f, 0x72, 0x69, 0x74, 0x79, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x49, 0x73, 0x73, + 0x75, 0x65, 0x41, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x12, 0x16, 0x0a, 0x06, 0x4d, + 0x6f, 0x62, 0x69, 0x6c, 0x65, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x4d, 0x6f, 0x62, + 0x69, 0x6c, 0x65, 0x12, 0x1e, 0x0a, 0x0a, 0x50, 0x65, 0x72, 0x73, 0x6f, 0x6e, 0x4e, 0x61, 0x6d, + 0x65, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x50, 0x65, 0x72, 0x73, 0x6f, 0x6e, 0x4e, + 0x61, 0x6d, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x50, 0x68, 0x6f, 0x74, 0x6f, 0x55, 0x75, 0x69, 0x64, + 0x18, 0x0e, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x50, 0x68, 0x6f, 0x74, 0x6f, 0x55, 0x75, 0x69, + 0x64, 0x12, 0x10, 0x0a, 0x03, 0x53, 0x65, 0x78, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, + 0x53, 0x65, 0x78, 0x12, 0x1c, 0x0a, 0x09, 0x53, 0x74, 0x61, 0x72, 0x74, 0x44, 0x61, 0x74, 0x65, + 0x18, 0x10, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x53, 0x74, 0x61, 0x72, 0x74, 0x44, 0x61, 0x74, + 0x65, 0x12, 0x16, 0x0a, 0x06, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x11, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x06, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x12, 0x0a, 0x04, 0x54, 0x79, 0x70, + 0x65, 0x18, 0x12, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x54, 0x79, 0x70, 0x65, 0x12, 0x1e, 0x0a, + 0x0a, 0x56, 0x65, 0x72, 0x69, 0x66, 0x79, 0x54, 0x79, 0x70, 0x65, 0x18, 0x13, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x0a, 0x56, 0x65, 0x72, 0x69, 0x66, 0x79, 0x54, 0x79, 0x70, 0x65, 0x12, 0x18, 0x0a, + 0x07, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x14, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, + 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x22, 0x85, 0x02, 0x0a, 0x17, 0x43, 0x6f, 0x6d, 0x70, + 0x61, 0x6e, 0x79, 0x43, 0x65, 0x72, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x73, 0x70, 0x6f, + 0x6e, 0x73, 0x65, 0x12, 0x2b, 0x0a, 0x07, 0x43, 0x6f, 0x6d, 0x70, 0x61, 0x6e, 0x79, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x11, 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x2e, + 0x43, 0x6f, 0x6d, 0x70, 0x61, 0x6e, 0x79, 0x52, 0x07, 0x43, 0x6f, 0x6d, 0x70, 0x61, 0x6e, 0x79, + 0x12, 0x2b, 0x0a, 0x07, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x11, 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x2e, 0x4d, 0x61, 0x6e, + 0x61, 0x67, 0x65, 0x72, 0x52, 0x07, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x12, 0x3a, 0x0a, + 0x18, 0x41, 0x75, 0x74, 0x68, 0x65, 0x6e, 0x74, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x53, + 0x75, 0x62, 0x6d, 0x69, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x18, 0x61, 0x75, 0x74, 0x68, 0x65, 0x6e, 0x74, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x53, + 0x75, 0x62, 0x6d, 0x69, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x50, 0x61, 0x73, + 0x73, 0x54, 0x69, 0x6d, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x70, 0x61, 0x73, + 0x73, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x24, 0x0a, 0x0d, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, + 0x74, 0x69, 0x6f, 0x6e, 0x4e, 0x6f, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x74, 0x72, + 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x4e, 0x6f, 0x12, 0x12, 0x0a, 0x04, 0x54, + 0x79, 0x70, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x22, + 0x8e, 0x01, 0x0a, 0x12, 0x41, 0x75, 0x74, 0x68, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, + 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x41, 0x75, 0x74, 0x68, 0x54, 0x79, + 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x08, 0x61, 0x75, 0x74, 0x68, 0x54, 0x79, + 0x70, 0x65, 0x12, 0x1e, 0x0a, 0x0a, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x49, 0x64, + 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, + 0x49, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x03, 0x20, 0x01, + 0x28, 0x04, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x24, 0x0a, 0x0d, 0x54, 0x72, + 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x0d, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, + 0x22, 0x5e, 0x0a, 0x10, 0x41, 0x70, 0x70, 0x6c, 0x79, 0x43, 0x65, 0x72, 0x74, 0x52, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x12, 0x1e, 0x0a, 0x0a, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x65, 0x72, + 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, + 0x65, 0x72, 0x49, 0x64, 0x12, 0x2a, 0x0a, 0x10, 0x56, 0x65, 0x72, 0x69, 0x66, 0x69, 0x65, 0x64, + 0x53, 0x65, 0x72, 0x69, 0x61, 0x6c, 0x6e, 0x6f, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x10, + 0x76, 0x65, 0x72, 0x69, 0x66, 0x69, 0x65, 0x64, 0x53, 0x65, 0x72, 0x69, 0x61, 0x6c, 0x6e, 0x6f, + 0x22, 0x56, 0x0a, 0x12, 0x56, 0x69, 0x65, 0x77, 0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x52, 0x65, + 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x20, 0x0a, 0x0b, 0x44, 0x6f, 0x77, 0x6e, 0x6c, 0x6f, + 0x61, 0x64, 0x55, 0x72, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x64, 0x6f, 0x77, + 0x6e, 0x6c, 0x6f, 0x61, 0x64, 0x55, 0x72, 0x6c, 0x12, 0x1e, 0x0a, 0x0a, 0x56, 0x69, 0x65, 0x77, + 0x50, 0x64, 0x66, 0x55, 0x72, 0x6c, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x76, 0x69, + 0x65, 0x77, 0x50, 0x64, 0x66, 0x55, 0x72, 0x6c, 0x22, 0x38, 0x0a, 0x16, 0x50, 0x64, 0x66, 0x54, + 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x4b, 0x65, 0x79, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x12, 0x1e, 0x0a, 0x0a, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x49, 0x64, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x74, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, + 0x49, 0x64, 0x22, 0x2d, 0x0a, 0x17, 0x50, 0x64, 0x66, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, + 0x65, 0x4b, 0x65, 0x79, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x12, 0x0a, + 0x04, 0x4b, 0x65, 0x79, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x09, 0x52, 0x04, 0x4b, 0x65, 0x79, + 0x73, 0x22, 0x2e, 0x0a, 0x12, 0x4a, 0x75, 0x6d, 0x70, 0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x52, + 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x4a, 0x75, 0x6d, 0x70, 0x55, + 0x72, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x6a, 0x75, 0x6d, 0x70, 0x55, 0x72, + 0x6c, 0x22, 0x31, 0x0a, 0x0f, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x52, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x12, 0x1e, 0x0a, 0x0a, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, + 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x61, + 0x63, 0x74, 0x49, 0x64, 0x22, 0xa4, 0x03, 0x0a, 0x0e, 0x45, 0x78, 0x74, 0x53, 0x69, 0x67, 0x6e, + 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x24, 0x0a, 0x0d, 0x54, 0x72, 0x61, 0x6e, 0x73, + 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, + 0x74, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x12, 0x1e, 0x0a, + 0x0a, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x0a, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x49, 0x64, 0x12, 0x1e, 0x0a, + 0x0a, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x65, 0x72, 0x49, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x0a, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x65, 0x72, 0x49, 0x64, 0x12, 0x1c, 0x0a, + 0x09, 0x52, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x55, 0x72, 0x6c, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x09, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x55, 0x72, 0x6c, 0x12, 0x1a, 0x0a, 0x08, 0x44, + 0x6f, 0x63, 0x54, 0x69, 0x74, 0x6c, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x64, + 0x6f, 0x63, 0x54, 0x69, 0x74, 0x6c, 0x65, 0x12, 0x28, 0x0a, 0x0f, 0x4f, 0x70, 0x65, 0x6e, 0x45, + 0x6e, 0x76, 0x69, 0x72, 0x6f, 0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x0f, 0x6f, 0x70, 0x65, 0x6e, 0x45, 0x6e, 0x76, 0x69, 0x72, 0x6f, 0x6e, 0x6d, 0x65, 0x6e, + 0x74, 0x12, 0x26, 0x0a, 0x0e, 0x4d, 0x6f, 0x62, 0x69, 0x6c, 0x65, 0x53, 0x69, 0x67, 0x6e, 0x54, + 0x79, 0x70, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x6d, 0x6f, 0x62, 0x69, 0x6c, + 0x65, 0x53, 0x69, 0x67, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x12, 0x20, 0x0a, 0x0b, 0x53, 0x69, 0x67, + 0x6e, 0x4b, 0x65, 0x79, 0x77, 0x6f, 0x72, 0x64, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, + 0x73, 0x69, 0x67, 0x6e, 0x4b, 0x65, 0x79, 0x77, 0x6f, 0x72, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x4b, + 0x65, 0x79, 0x78, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6b, 0x65, 0x79, 0x78, 0x12, + 0x12, 0x0a, 0x04, 0x4b, 0x65, 0x79, 0x79, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6b, + 0x65, 0x79, 0x79, 0x12, 0x2c, 0x0a, 0x11, 0x53, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, + 0x53, 0x68, 0x6f, 0x77, 0x54, 0x69, 0x6d, 0x65, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x09, 0x52, 0x11, + 0x73, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, 0x53, 0x68, 0x6f, 0x77, 0x54, 0x69, 0x6d, + 0x65, 0x12, 0x28, 0x0a, 0x0f, 0x50, 0x63, 0x48, 0x61, 0x6e, 0x64, 0x53, 0x69, 0x67, 0x6e, 0x61, + 0x74, 0x75, 0x72, 0x65, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0f, 0x50, 0x63, 0x48, 0x61, + 0x6e, 0x64, 0x53, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, 0x22, 0xb9, 0x01, 0x0a, 0x15, + 0x42, 0x65, 0x66, 0x6f, 0x72, 0x65, 0x41, 0x75, 0x74, 0x68, 0x53, 0x69, 0x67, 0x6e, 0x52, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x24, 0x0a, 0x0d, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, + 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x74, 0x72, + 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x12, 0x1e, 0x0a, 0x0a, 0x43, + 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x0a, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x49, 0x64, 0x12, 0x1e, 0x0a, 0x0a, 0x43, + 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x65, 0x72, 0x49, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x0a, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x65, 0x72, 0x49, 0x64, 0x12, 0x1c, 0x0a, 0x09, 0x52, + 0x65, 0x74, 0x75, 0x72, 0x6e, 0x55, 0x72, 0x6c, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, + 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x55, 0x72, 0x6c, 0x12, 0x1c, 0x0a, 0x09, 0x4e, 0x6f, 0x74, + 0x69, 0x66, 0x79, 0x55, 0x72, 0x6c, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x6e, 0x6f, + 0x74, 0x69, 0x66, 0x79, 0x55, 0x72, 0x6c, 0x22, 0x7b, 0x0a, 0x11, 0x55, 0x70, 0x6c, 0x6f, 0x61, + 0x64, 0x44, 0x6f, 0x63, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1e, 0x0a, 0x0a, + 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x0a, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x65, 0x72, 0x49, 0x64, 0x12, 0x1a, 0x0a, 0x08, + 0x44, 0x6f, 0x63, 0x54, 0x69, 0x74, 0x6c, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, + 0x64, 0x6f, 0x63, 0x54, 0x69, 0x74, 0x6c, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x44, 0x6f, 0x63, 0x55, + 0x72, 0x6c, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x64, 0x6f, 0x63, 0x55, 0x72, 0x6c, + 0x12, 0x12, 0x0a, 0x04, 0x46, 0x69, 0x6c, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, + 0x66, 0x69, 0x6c, 0x65, 0x22, 0x36, 0x0a, 0x14, 0x43, 0x6f, 0x6d, 0x70, 0x61, 0x6e, 0x79, 0x56, + 0x65, 0x72, 0x69, 0x66, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1e, 0x0a, 0x0a, + 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x65, 0x72, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x0a, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x65, 0x72, 0x49, 0x64, 0x22, 0x38, 0x0a, 0x16, + 0x55, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x52, 0x65, + 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x1e, 0x0a, 0x0a, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, + 0x65, 0x72, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x63, 0x75, 0x73, 0x74, + 0x6f, 0x6d, 0x65, 0x72, 0x49, 0x64, 0x22, 0xdb, 0x01, 0x0a, 0x13, 0x50, 0x65, 0x72, 0x73, 0x6f, + 0x6e, 0x56, 0x65, 0x72, 0x69, 0x66, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1e, + 0x0a, 0x0a, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x65, 0x72, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x0a, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x65, 0x72, 0x49, 0x64, 0x12, 0x20, + 0x0a, 0x0b, 0x56, 0x65, 0x72, 0x69, 0x66, 0x69, 0x65, 0x64, 0x57, 0x61, 0x79, 0x18, 0x02, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x0b, 0x76, 0x65, 0x72, 0x69, 0x66, 0x69, 0x65, 0x64, 0x57, 0x61, 0x79, + 0x12, 0x22, 0x0a, 0x0c, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x65, 0x72, 0x4e, 0x61, 0x6d, 0x65, + 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x65, 0x72, + 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x28, 0x0a, 0x0f, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x65, 0x72, + 0x49, 0x64, 0x65, 0x6e, 0x74, 0x4e, 0x6f, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0f, 0x63, + 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x65, 0x72, 0x49, 0x64, 0x65, 0x6e, 0x74, 0x4e, 0x6f, 0x12, 0x16, + 0x0a, 0x06, 0x4d, 0x6f, 0x62, 0x69, 0x6c, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, + 0x6d, 0x6f, 0x62, 0x69, 0x6c, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x52, 0x65, 0x74, 0x75, 0x72, 0x6e, + 0x55, 0x72, 0x6c, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x72, 0x65, 0x74, 0x75, 0x72, + 0x6e, 0x55, 0x72, 0x6c, 0x22, 0x4e, 0x0a, 0x14, 0x50, 0x65, 0x72, 0x73, 0x6f, 0x6e, 0x56, 0x65, + 0x72, 0x69, 0x66, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x24, 0x0a, 0x0d, + 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x4e, 0x6f, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x0d, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, + 0x4e, 0x6f, 0x12, 0x10, 0x0a, 0x03, 0x55, 0x72, 0x6c, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x03, 0x55, 0x72, 0x6c, 0x22, 0x32, 0x0a, 0x10, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, + 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x1e, 0x0a, 0x0a, 0x43, 0x75, 0x73, 0x74, + 0x6f, 0x6d, 0x65, 0x72, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x63, 0x75, + 0x73, 0x74, 0x6f, 0x6d, 0x65, 0x72, 0x49, 0x64, 0x22, 0x33, 0x0a, 0x11, 0x43, 0x75, 0x73, 0x74, + 0x6f, 0x6d, 0x65, 0x72, 0x49, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1e, 0x0a, + 0x0a, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x65, 0x72, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x0a, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x65, 0x72, 0x49, 0x64, 0x22, 0x10, 0x0a, + 0x0e, 0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, + 0x2c, 0x0a, 0x12, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x4f, 0x72, 0x67, 0x52, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x4f, 0x70, 0x65, 0x6e, 0x49, 0x64, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x6f, 0x70, 0x65, 0x6e, 0x49, 0x64, 0x22, 0x2f, 0x0a, + 0x15, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x50, 0x65, 0x72, 0x73, 0x6f, 0x6e, 0x52, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x4f, 0x70, 0x65, 0x6e, 0x49, 0x64, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x6f, 0x70, 0x65, 0x6e, 0x49, 0x64, 0x22, 0x52, + 0x0a, 0x0e, 0x41, 0x64, 0x64, 0x53, 0x69, 0x67, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x12, 0x1e, 0x0a, 0x0a, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x65, 0x72, 0x49, 0x64, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x65, 0x72, 0x49, 0x64, + 0x12, 0x20, 0x0a, 0x0b, 0x52, 0x65, 0x61, 0x64, 0x49, 0x6d, 0x67, 0x42, 0x79, 0x74, 0x65, 0x18, + 0x02, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x0b, 0x72, 0x65, 0x61, 0x64, 0x49, 0x6d, 0x67, 0x42, 0x79, + 0x74, 0x65, 0x22, 0x33, 0x0a, 0x0f, 0x41, 0x64, 0x64, 0x53, 0x69, 0x67, 0x6e, 0x52, 0x65, 0x73, + 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x20, 0x0a, 0x0b, 0x53, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, + 0x72, 0x65, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x73, 0x69, 0x67, 0x6e, + 0x61, 0x74, 0x75, 0x72, 0x65, 0x49, 0x64, 0x22, 0x4d, 0x0a, 0x11, 0x43, 0x75, 0x73, 0x74, 0x6f, + 0x6d, 0x53, 0x69, 0x67, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1e, 0x0a, 0x0a, + 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x65, 0x72, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x0a, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x65, 0x72, 0x49, 0x64, 0x12, 0x18, 0x0a, 0x07, + 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x63, + 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x22, 0x44, 0x0a, 0x12, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, + 0x53, 0x69, 0x67, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x2e, 0x0a, 0x12, + 0x53, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, 0x49, 0x6d, 0x67, 0x42, 0x61, 0x73, 0x65, + 0x36, 0x34, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x12, 0x73, 0x69, 0x67, 0x6e, 0x61, 0x74, + 0x75, 0x72, 0x65, 0x49, 0x6d, 0x67, 0x42, 0x61, 0x73, 0x65, 0x36, 0x34, 0x22, 0x4f, 0x0a, 0x15, + 0x55, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x52, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1e, 0x0a, 0x0a, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, + 0x65, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x74, 0x65, 0x6d, 0x70, 0x6c, + 0x61, 0x74, 0x65, 0x49, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x44, 0x6f, 0x63, 0x55, 0x72, 0x6c, 0x18, + 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x64, 0x6f, 0x63, 0x55, 0x72, 0x6c, 0x22, 0xa2, 0x02, + 0x0a, 0x12, 0x45, 0x78, 0x74, 0x53, 0x69, 0x67, 0x6e, 0x41, 0x75, 0x74, 0x6f, 0x52, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x12, 0x24, 0x0a, 0x0d, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, + 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x74, 0x72, 0x61, + 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x12, 0x1e, 0x0a, 0x0a, 0x43, 0x6f, + 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, + 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x49, 0x64, 0x12, 0x1e, 0x0a, 0x0a, 0x43, 0x75, + 0x73, 0x74, 0x6f, 0x6d, 0x65, 0x72, 0x49, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, + 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x65, 0x72, 0x49, 0x64, 0x12, 0x1e, 0x0a, 0x0a, 0x43, 0x6c, + 0x69, 0x65, 0x6e, 0x74, 0x52, 0x6f, 0x6c, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, + 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x52, 0x6f, 0x6c, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x44, 0x6f, + 0x63, 0x54, 0x69, 0x74, 0x6c, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x64, 0x6f, + 0x63, 0x54, 0x69, 0x74, 0x6c, 0x65, 0x12, 0x20, 0x0a, 0x0b, 0x53, 0x69, 0x67, 0x6e, 0x4b, 0x65, + 0x79, 0x77, 0x6f, 0x72, 0x64, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x73, 0x69, 0x67, + 0x6e, 0x4b, 0x65, 0x79, 0x77, 0x6f, 0x72, 0x64, 0x12, 0x20, 0x0a, 0x0b, 0x53, 0x69, 0x67, 0x6e, + 0x61, 0x74, 0x75, 0x72, 0x65, 0x49, 0x64, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x73, + 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, 0x49, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x4b, 0x65, + 0x79, 0x58, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6b, 0x65, 0x79, 0x58, 0x12, 0x12, + 0x0a, 0x04, 0x4b, 0x65, 0x79, 0x59, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6b, 0x65, + 0x79, 0x59, 0x22, 0xa3, 0x01, 0x0a, 0x17, 0x47, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, 0x43, + 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1e, + 0x0a, 0x0a, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x0a, 0x74, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x49, 0x64, 0x12, 0x1e, + 0x0a, 0x0a, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x0a, 0x74, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x49, 0x64, 0x12, 0x22, + 0x0a, 0x0c, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x4d, 0x61, 0x70, 0x18, 0x03, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x4d, + 0x61, 0x70, 0x12, 0x24, 0x0a, 0x0d, 0x44, 0x79, 0x6e, 0x61, 0x6d, 0x69, 0x63, 0x54, 0x61, 0x62, + 0x6c, 0x65, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x64, 0x79, 0x6e, 0x61, 0x6d, + 0x69, 0x63, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x73, 0x32, 0xfd, 0x0c, 0x0a, 0x08, 0x43, 0x6f, 0x6e, + 0x74, 0x72, 0x61, 0x63, 0x74, 0x12, 0x4f, 0x0a, 0x0e, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, + 0x72, 0x50, 0x65, 0x72, 0x73, 0x6f, 0x6e, 0x12, 0x1f, 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x61, + 0x63, 0x74, 0x2e, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x50, 0x65, 0x72, 0x73, 0x6f, + 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1a, 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x72, + 0x61, 0x63, 0x74, 0x2e, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, + 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x4f, 0x0a, 0x0c, 0x50, 0x65, 0x72, 0x73, 0x6f, 0x6e, + 0x56, 0x65, 0x72, 0x69, 0x66, 0x79, 0x12, 0x1d, 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, + 0x74, 0x2e, 0x50, 0x65, 0x72, 0x73, 0x6f, 0x6e, 0x56, 0x65, 0x72, 0x69, 0x66, 0x79, 0x52, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1e, 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, + 0x2e, 0x50, 0x65, 0x72, 0x73, 0x6f, 0x6e, 0x56, 0x65, 0x72, 0x69, 0x66, 0x79, 0x52, 0x65, 0x73, + 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x49, 0x0a, 0x0b, 0x52, 0x65, 0x67, 0x69, 0x73, + 0x74, 0x65, 0x72, 0x4f, 0x72, 0x67, 0x12, 0x1c, 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, + 0x74, 0x2e, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x4f, 0x72, 0x67, 0x52, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1a, 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x2e, + 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, + 0x22, 0x00, 0x12, 0x51, 0x0a, 0x0d, 0x43, 0x6f, 0x6d, 0x70, 0x61, 0x6e, 0x79, 0x56, 0x65, 0x72, + 0x69, 0x66, 0x79, 0x12, 0x1e, 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x2e, 0x43, + 0x6f, 0x6d, 0x70, 0x61, 0x6e, 0x79, 0x56, 0x65, 0x72, 0x69, 0x66, 0x79, 0x52, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x1a, 0x1e, 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x2e, 0x50, + 0x65, 0x72, 0x73, 0x6f, 0x6e, 0x56, 0x65, 0x72, 0x69, 0x66, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, + 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x50, 0x0a, 0x12, 0x46, 0x69, 0x6e, 0x64, 0x50, 0x65, 0x72, + 0x73, 0x6f, 0x6e, 0x43, 0x65, 0x72, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x16, 0x2e, 0x63, 0x6f, + 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x43, 0x65, 0x72, 0x74, 0x49, + 0x6e, 0x66, 0x6f, 0x1a, 0x20, 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x2e, 0x50, + 0x65, 0x72, 0x73, 0x6f, 0x6e, 0x43, 0x65, 0x72, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x73, + 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x52, 0x0a, 0x13, 0x46, 0x69, 0x6e, 0x64, 0x43, + 0x6f, 0x6d, 0x70, 0x61, 0x6e, 0x79, 0x43, 0x65, 0x72, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x16, + 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x43, 0x65, + 0x72, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x1a, 0x21, 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, + 0x74, 0x2e, 0x43, 0x6f, 0x6d, 0x70, 0x61, 0x6e, 0x79, 0x43, 0x65, 0x72, 0x74, 0x49, 0x6e, 0x66, + 0x6f, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x43, 0x0a, 0x09, 0x41, + 0x70, 0x70, 0x6c, 0x79, 0x43, 0x65, 0x72, 0x74, 0x12, 0x1a, 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x72, + 0x61, 0x63, 0x74, 0x2e, 0x41, 0x70, 0x70, 0x6c, 0x79, 0x43, 0x65, 0x72, 0x74, 0x52, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x1a, 0x18, 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x2e, + 0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, + 0x12, 0x45, 0x0a, 0x0c, 0x41, 0x64, 0x64, 0x53, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, + 0x12, 0x18, 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x2e, 0x41, 0x64, 0x64, 0x53, + 0x69, 0x67, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x19, 0x2e, 0x63, 0x6f, 0x6e, + 0x74, 0x72, 0x61, 0x63, 0x74, 0x2e, 0x41, 0x64, 0x64, 0x53, 0x69, 0x67, 0x6e, 0x52, 0x65, 0x73, + 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x49, 0x0a, 0x0a, 0x43, 0x75, 0x73, 0x74, 0x6f, + 0x6d, 0x53, 0x69, 0x67, 0x6e, 0x12, 0x1b, 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, + 0x2e, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x53, 0x69, 0x67, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x1a, 0x1c, 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x2e, 0x43, 0x75, + 0x73, 0x74, 0x6f, 0x6d, 0x53, 0x69, 0x67, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, + 0x22, 0x00, 0x12, 0x4d, 0x0a, 0x0e, 0x55, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x54, 0x65, 0x6d, 0x70, + 0x6c, 0x61, 0x74, 0x65, 0x12, 0x1f, 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x2e, + 0x55, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x52, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x18, 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, + 0x2e, 0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, + 0x00, 0x12, 0x45, 0x0a, 0x0a, 0x55, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x44, 0x6f, 0x63, 0x73, 0x12, + 0x1b, 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x2e, 0x55, 0x70, 0x6c, 0x6f, 0x61, + 0x64, 0x44, 0x6f, 0x63, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x18, 0x2e, 0x63, + 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x2e, 0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x52, 0x65, + 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x55, 0x0a, 0x10, 0x47, 0x65, 0x6e, 0x65, + 0x72, 0x61, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x12, 0x21, 0x2e, 0x63, + 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x2e, 0x47, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, + 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, + 0x1c, 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x2e, 0x56, 0x69, 0x65, 0x77, 0x43, + 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, + 0x4b, 0x0a, 0x0b, 0x45, 0x78, 0x74, 0x53, 0x69, 0x67, 0x6e, 0x41, 0x75, 0x74, 0x6f, 0x12, 0x1c, + 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x2e, 0x45, 0x78, 0x74, 0x53, 0x69, 0x67, + 0x6e, 0x41, 0x75, 0x74, 0x6f, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1c, 0x2e, 0x63, + 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x2e, 0x56, 0x69, 0x65, 0x77, 0x43, 0x6f, 0x6d, 0x6d, + 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x51, 0x0a, 0x0e, + 0x42, 0x65, 0x66, 0x6f, 0x72, 0x65, 0x41, 0x75, 0x74, 0x68, 0x53, 0x69, 0x67, 0x6e, 0x12, 0x1f, + 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x2e, 0x42, 0x65, 0x66, 0x6f, 0x72, 0x65, + 0x41, 0x75, 0x74, 0x68, 0x53, 0x69, 0x67, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, + 0x1c, 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x2e, 0x4a, 0x75, 0x6d, 0x70, 0x43, + 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, + 0x43, 0x0a, 0x07, 0x45, 0x78, 0x74, 0x53, 0x69, 0x67, 0x6e, 0x12, 0x18, 0x2e, 0x63, 0x6f, 0x6e, + 0x74, 0x72, 0x61, 0x63, 0x74, 0x2e, 0x45, 0x78, 0x74, 0x53, 0x69, 0x67, 0x6e, 0x52, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1c, 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x2e, + 0x4a, 0x75, 0x6d, 0x70, 0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, + 0x73, 0x65, 0x22, 0x00, 0x12, 0x49, 0x0a, 0x0c, 0x56, 0x69, 0x65, 0x77, 0x43, 0x6f, 0x6e, 0x74, + 0x72, 0x61, 0x63, 0x74, 0x12, 0x19, 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x2e, + 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, + 0x1c, 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x2e, 0x4a, 0x75, 0x6d, 0x70, 0x43, + 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, + 0x4d, 0x0a, 0x10, 0x44, 0x6f, 0x77, 0x6e, 0x4c, 0x6f, 0x61, 0x64, 0x43, 0x6f, 0x6e, 0x74, 0x72, + 0x61, 0x63, 0x74, 0x12, 0x19, 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x2e, 0x43, + 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1c, + 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x2e, 0x4a, 0x75, 0x6d, 0x70, 0x43, 0x6f, + 0x6d, 0x6d, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x47, + 0x0a, 0x0e, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x46, 0x69, 0x6c, 0x69, 0x6e, 0x67, + 0x12, 0x19, 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x2e, 0x43, 0x6f, 0x6e, 0x74, + 0x72, 0x61, 0x63, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x18, 0x2e, 0x63, 0x6f, + 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x2e, 0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x52, 0x65, 0x73, + 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x5b, 0x0a, 0x12, 0x47, 0x65, 0x74, 0x50, 0x64, + 0x66, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x4b, 0x65, 0x79, 0x73, 0x12, 0x20, 0x2e, + 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x2e, 0x50, 0x64, 0x66, 0x54, 0x65, 0x6d, 0x70, + 0x6c, 0x61, 0x74, 0x65, 0x4b, 0x65, 0x79, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, + 0x21, 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x2e, 0x50, 0x64, 0x66, 0x54, 0x65, + 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x4b, 0x65, 0x79, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, + 0x73, 0x65, 0x22, 0x00, 0x12, 0x49, 0x0a, 0x0a, 0x41, 0x75, 0x74, 0x68, 0x53, 0x74, 0x61, 0x74, + 0x75, 0x73, 0x12, 0x1b, 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x2e, 0x43, 0x75, + 0x73, 0x74, 0x6f, 0x6d, 0x65, 0x72, 0x49, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, + 0x1c, 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x2e, 0x41, 0x75, 0x74, 0x68, 0x53, + 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, + 0x57, 0x0a, 0x11, 0x43, 0x61, 0x6e, 0x63, 0x65, 0x6c, 0x45, 0x78, 0x74, 0x53, 0x69, 0x67, 0x6e, + 0x41, 0x75, 0x74, 0x6f, 0x12, 0x22, 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x2e, + 0x43, 0x61, 0x6e, 0x63, 0x65, 0x6c, 0x45, 0x78, 0x74, 0x53, 0x69, 0x67, 0x6e, 0x41, 0x75, 0x74, + 0x6f, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1c, 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x72, + 0x61, 0x63, 0x74, 0x2e, 0x4a, 0x75, 0x6d, 0x70, 0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x52, 0x65, + 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x42, 0x0d, 0x5a, 0x0b, 0x2e, 0x2f, 0x3b, 0x63, + 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, +} + +var ( + file_api_contract_contract_proto_rawDescOnce sync.Once + file_api_contract_contract_proto_rawDescData = file_api_contract_contract_proto_rawDesc +) + +func file_api_contract_contract_proto_rawDescGZIP() []byte { + file_api_contract_contract_proto_rawDescOnce.Do(func() { + file_api_contract_contract_proto_rawDescData = protoimpl.X.CompressGZIP(file_api_contract_contract_proto_rawDescData) + }) + return file_api_contract_contract_proto_rawDescData +} + +var file_api_contract_contract_proto_msgTypes = make([]protoimpl.MessageInfo, 33) +var file_api_contract_contract_proto_goTypes = []interface{}{ + (*CancelExtSignAutoRequest)(nil), // 0: contract.CancelExtSignAutoRequest + (*Person)(nil), // 1: contract.Person + (*PersonCertInfoResponse)(nil), // 2: contract.PersonCertInfoResponse + (*FindCertInfo)(nil), // 3: contract.FindCertInfo + (*Company)(nil), // 4: contract.Company + (*Manager)(nil), // 5: contract.Manager + (*CompanyCertInfoResponse)(nil), // 6: contract.CompanyCertInfoResponse + (*AuthStatusResponse)(nil), // 7: contract.AuthStatusResponse + (*ApplyCertRequest)(nil), // 8: contract.ApplyCertRequest + (*ViewCommonResponse)(nil), // 9: contract.ViewCommonResponse + (*PdfTemplateKeysRequest)(nil), // 10: contract.PdfTemplateKeysRequest + (*PdfTemplateKeysResponse)(nil), // 11: contract.PdfTemplateKeysResponse + (*JumpCommonResponse)(nil), // 12: contract.JumpCommonResponse + (*ContractRequest)(nil), // 13: contract.ContractRequest + (*ExtSignRequest)(nil), // 14: contract.ExtSignRequest + (*BeforeAuthSignRequest)(nil), // 15: contract.BeforeAuthSignRequest + (*UploadDocsRequest)(nil), // 16: contract.UploadDocsRequest + (*CompanyVerifyRequest)(nil), // 17: contract.CompanyVerifyRequest + (*UploadTemplateResponse)(nil), // 18: contract.UploadTemplateResponse + (*PersonVerifyRequest)(nil), // 19: contract.PersonVerifyRequest + (*PersonVerifyResponse)(nil), // 20: contract.PersonVerifyResponse + (*RegisterResponse)(nil), // 21: contract.RegisterResponse + (*CustomerIdRequest)(nil), // 22: contract.CustomerIdRequest + (*CommonResponse)(nil), // 23: contract.CommonResponse + (*RegisterOrgRequest)(nil), // 24: contract.RegisterOrgRequest + (*RegisterPersonRequest)(nil), // 25: contract.RegisterPersonRequest + (*AddSignRequest)(nil), // 26: contract.AddSignRequest + (*AddSignResponse)(nil), // 27: contract.AddSignResponse + (*CustomSignRequest)(nil), // 28: contract.CustomSignRequest + (*CustomSignResponse)(nil), // 29: contract.CustomSignResponse + (*UploadTemplateRequest)(nil), // 30: contract.UploadTemplateRequest + (*ExtSignAutoRequest)(nil), // 31: contract.ExtSignAutoRequest + (*GenerateContractRequest)(nil), // 32: contract.GenerateContractRequest +} +var file_api_contract_contract_proto_depIdxs = []int32{ + 1, // 0: contract.PersonCertInfoResponse.Person:type_name -> contract.Person + 4, // 1: contract.CompanyCertInfoResponse.Company:type_name -> contract.Company + 5, // 2: contract.CompanyCertInfoResponse.Manager:type_name -> contract.Manager + 25, // 3: contract.Contract.RegisterPerson:input_type -> contract.RegisterPersonRequest + 19, // 4: contract.Contract.PersonVerify:input_type -> contract.PersonVerifyRequest + 24, // 5: contract.Contract.RegisterOrg:input_type -> contract.RegisterOrgRequest + 17, // 6: contract.Contract.CompanyVerify:input_type -> contract.CompanyVerifyRequest + 3, // 7: contract.Contract.FindPersonCertInfo:input_type -> contract.FindCertInfo + 3, // 8: contract.Contract.FindCompanyCertInfo:input_type -> contract.FindCertInfo + 8, // 9: contract.Contract.ApplyCert:input_type -> contract.ApplyCertRequest + 26, // 10: contract.Contract.AddSignature:input_type -> contract.AddSignRequest + 28, // 11: contract.Contract.CustomSign:input_type -> contract.CustomSignRequest + 30, // 12: contract.Contract.UploadTemplate:input_type -> contract.UploadTemplateRequest + 16, // 13: contract.Contract.UploadDocs:input_type -> contract.UploadDocsRequest + 32, // 14: contract.Contract.GenerateContract:input_type -> contract.GenerateContractRequest + 31, // 15: contract.Contract.ExtSignAuto:input_type -> contract.ExtSignAutoRequest + 15, // 16: contract.Contract.BeforeAuthSign:input_type -> contract.BeforeAuthSignRequest + 14, // 17: contract.Contract.ExtSign:input_type -> contract.ExtSignRequest + 13, // 18: contract.Contract.ViewContract:input_type -> contract.ContractRequest + 13, // 19: contract.Contract.DownLoadContract:input_type -> contract.ContractRequest + 13, // 20: contract.Contract.ContractFiling:input_type -> contract.ContractRequest + 10, // 21: contract.Contract.GetPdfTemplateKeys:input_type -> contract.PdfTemplateKeysRequest + 22, // 22: contract.Contract.AuthStatus:input_type -> contract.CustomerIdRequest + 0, // 23: contract.Contract.CancelExtSignAuto:input_type -> contract.CancelExtSignAutoRequest + 21, // 24: contract.Contract.RegisterPerson:output_type -> contract.RegisterResponse + 20, // 25: contract.Contract.PersonVerify:output_type -> contract.PersonVerifyResponse + 21, // 26: contract.Contract.RegisterOrg:output_type -> contract.RegisterResponse + 20, // 27: contract.Contract.CompanyVerify:output_type -> contract.PersonVerifyResponse + 2, // 28: contract.Contract.FindPersonCertInfo:output_type -> contract.PersonCertInfoResponse + 6, // 29: contract.Contract.FindCompanyCertInfo:output_type -> contract.CompanyCertInfoResponse + 23, // 30: contract.Contract.ApplyCert:output_type -> contract.CommonResponse + 27, // 31: contract.Contract.AddSignature:output_type -> contract.AddSignResponse + 29, // 32: contract.Contract.CustomSign:output_type -> contract.CustomSignResponse + 23, // 33: contract.Contract.UploadTemplate:output_type -> contract.CommonResponse + 23, // 34: contract.Contract.UploadDocs:output_type -> contract.CommonResponse + 9, // 35: contract.Contract.GenerateContract:output_type -> contract.ViewCommonResponse + 9, // 36: contract.Contract.ExtSignAuto:output_type -> contract.ViewCommonResponse + 12, // 37: contract.Contract.BeforeAuthSign:output_type -> contract.JumpCommonResponse + 12, // 38: contract.Contract.ExtSign:output_type -> contract.JumpCommonResponse + 12, // 39: contract.Contract.ViewContract:output_type -> contract.JumpCommonResponse + 12, // 40: contract.Contract.DownLoadContract:output_type -> contract.JumpCommonResponse + 23, // 41: contract.Contract.ContractFiling:output_type -> contract.CommonResponse + 11, // 42: contract.Contract.GetPdfTemplateKeys:output_type -> contract.PdfTemplateKeysResponse + 7, // 43: contract.Contract.AuthStatus:output_type -> contract.AuthStatusResponse + 12, // 44: contract.Contract.CancelExtSignAuto:output_type -> contract.JumpCommonResponse + 24, // [24:45] is the sub-list for method output_type + 3, // [3:24] is the sub-list for method input_type + 3, // [3:3] is the sub-list for extension type_name + 3, // [3:3] is the sub-list for extension extendee + 0, // [0:3] is the sub-list for field type_name +} + +func init() { file_api_contract_contract_proto_init() } +func file_api_contract_contract_proto_init() { + if File_api_contract_contract_proto != nil { + return + } + if !protoimpl.UnsafeEnabled { + file_api_contract_contract_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CancelExtSignAutoRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_api_contract_contract_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*Person); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_api_contract_contract_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*PersonCertInfoResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_api_contract_contract_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*FindCertInfo); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_api_contract_contract_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*Company); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_api_contract_contract_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*Manager); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_api_contract_contract_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CompanyCertInfoResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_api_contract_contract_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*AuthStatusResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_api_contract_contract_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ApplyCertRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_api_contract_contract_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ViewCommonResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_api_contract_contract_proto_msgTypes[10].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*PdfTemplateKeysRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_api_contract_contract_proto_msgTypes[11].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*PdfTemplateKeysResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_api_contract_contract_proto_msgTypes[12].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*JumpCommonResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_api_contract_contract_proto_msgTypes[13].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ContractRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_api_contract_contract_proto_msgTypes[14].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ExtSignRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_api_contract_contract_proto_msgTypes[15].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*BeforeAuthSignRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_api_contract_contract_proto_msgTypes[16].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*UploadDocsRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_api_contract_contract_proto_msgTypes[17].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CompanyVerifyRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_api_contract_contract_proto_msgTypes[18].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*UploadTemplateResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_api_contract_contract_proto_msgTypes[19].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*PersonVerifyRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_api_contract_contract_proto_msgTypes[20].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*PersonVerifyResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_api_contract_contract_proto_msgTypes[21].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*RegisterResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_api_contract_contract_proto_msgTypes[22].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CustomerIdRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_api_contract_contract_proto_msgTypes[23].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CommonResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_api_contract_contract_proto_msgTypes[24].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*RegisterOrgRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_api_contract_contract_proto_msgTypes[25].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*RegisterPersonRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_api_contract_contract_proto_msgTypes[26].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*AddSignRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_api_contract_contract_proto_msgTypes[27].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*AddSignResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_api_contract_contract_proto_msgTypes[28].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CustomSignRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_api_contract_contract_proto_msgTypes[29].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CustomSignResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_api_contract_contract_proto_msgTypes[30].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*UploadTemplateRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_api_contract_contract_proto_msgTypes[31].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ExtSignAutoRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_api_contract_contract_proto_msgTypes[32].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*GenerateContractRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + } + type x struct{} + out := protoimpl.TypeBuilder{ + File: protoimpl.DescBuilder{ + GoPackagePath: reflect.TypeOf(x{}).PkgPath(), + RawDescriptor: file_api_contract_contract_proto_rawDesc, + NumEnums: 0, + NumMessages: 33, + NumExtensions: 0, + NumServices: 1, + }, + GoTypes: file_api_contract_contract_proto_goTypes, + DependencyIndexes: file_api_contract_contract_proto_depIdxs, + MessageInfos: file_api_contract_contract_proto_msgTypes, + }.Build() + File_api_contract_contract_proto = out.File + file_api_contract_contract_proto_rawDesc = nil + file_api_contract_contract_proto_goTypes = nil + file_api_contract_contract_proto_depIdxs = nil +} diff --git a/pb/contract_microservice/contract.proto b/pb/contract_microservice/contract.proto new file mode 100644 index 0000000..e8183a7 --- /dev/null +++ b/pb/contract_microservice/contract.proto @@ -0,0 +1,298 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +syntax = "proto3"; +package contract; +//import "github.com/mwitkow/go-proto-validators/validator.proto"; + +option go_package = "./;contract"; + +service Contract { + rpc RegisterPerson (RegisterPersonRequest) returns (RegisterResponse) {} //个人注册 + rpc PersonVerify (PersonVerifyRequest) returns (PersonVerifyResponse) {} //个人身份校验 + + rpc RegisterOrg (RegisterOrgRequest) returns (RegisterResponse) {} //主体注册 + rpc CompanyVerify (CompanyVerifyRequest) returns (PersonVerifyResponse) {} //主体身份校验 + + rpc FindPersonCertInfo (FindCertInfo) returns (PersonCertInfoResponse) {} //主体身份校验 + rpc FindCompanyCertInfo (FindCertInfo) returns (CompanyCertInfoResponse) {} //主体身份校验 + + rpc ApplyCert (ApplyCertRequest) returns (CommonResponse) {} //颁发证书 + + rpc AddSignature (AddSignRequest) returns (AddSignResponse) {} //实名证书申请 + rpc CustomSign (CustomSignRequest) returns (CustomSignResponse) {} //自定义印章 + rpc UploadTemplate (UploadTemplateRequest) returns (CommonResponse) {} //上传文本 + rpc UploadDocs (UploadDocsRequest) returns (CommonResponse) {} //上传文本 + rpc GenerateContract (GenerateContractRequest) returns (ViewCommonResponse) {} //模板填充 + rpc ExtSignAuto (ExtSignAutoRequest) returns (ViewCommonResponse) {} //自动签章 + rpc BeforeAuthSign (BeforeAuthSignRequest) returns (JumpCommonResponse) {} //自动签章 授权 + rpc ExtSign (ExtSignRequest) returns (JumpCommonResponse) {} //授权 + rpc ViewContract (ContractRequest) returns (JumpCommonResponse) {} //查看合同 + rpc DownLoadContract (ContractRequest) returns (JumpCommonResponse) {} //查看合同 + rpc ContractFiling (ContractRequest) returns (CommonResponse) {} //合同归档 + rpc GetPdfTemplateKeys (PdfTemplateKeysRequest) returns (PdfTemplateKeysResponse) {} //获取合同模板的key值 + + rpc AuthStatus (CustomerIdRequest) returns (AuthStatusResponse) {} //获取合同模板的key值 + rpc CancelExtSignAuto (CancelExtSignAutoRequest) returns (JumpCommonResponse) {} //取消授权签协议接口 +} + +message CancelExtSignAutoRequest { + string CustomerId = 1; + string NotifyUrl = 2; + string returnUrl = 3; +} + +message Person { + string AreaCode = 1; + string AuditFailReason = 2; + string AuditorTime = 3; + string BackgroundIdCardPath = 4; + string BankCardNo = 5; + string Birthday = 6; + string CertType = 7; + string ExpiresDate = 8; + string Fork = 9; + string GesturesPhotoPath = 10; + string HeadPhotoPath = 11; + string IdCard = 12; + string IsLongTerm = 13; + double IsPassFourElement = 14; + double IsPassThreeElement = 15; + string IssueAuthority = 16; + string Mobile = 17; + string PersonName = 18; + string PhotoUuid = 19; + string Sex = 20; + string StartDate = 21; + string Status = 22; + string Type = 23; + string VerifyType = 24; + string Address = 25; +} + +message PersonCertInfoResponse { + Person Person = 1 [json_name = "person"]; + string AuthenticationSubmitTime = 2 [json_name = "authenticationSubmitTime"]; + string PassTime = 3 [json_name = "passTime"]; + string TransactionNo = 4 [json_name = "transactionNo"]; + string Type = 5 [json_name = "type"]; +} + +message FindCertInfo { + string VerifiedSerialno = 2 [json_name = "verifiedSerialno"]; +} +message Company{ + string AuditFailReason = 1; + string AuditorTime = 2; + string CertificatesType = 3; + string CompanyEmail = 4; + string CompanyName = 5; + string Hasagent = 6; + string Legal = 7; + string LegalMobile = 8; + string LegalName = 9; + string Organization = 10; + string OrganizationPath = 11; + string OrganizationType = 12; + string RegFormPath = 13; + string RelatedTransactionNo = 14; + string Status = 15; + string VerifyType = 16; +} + +message Manager { + string AreaCode = 1; + string AuditFailReason = 2; + string AuditorTime = 3; + string BackgroundIdCardPath = 4; + string Birthday = 5; + string ExpiresDate = 6; + string Fork = 7; + string HeadPhotoPath = 8; + string IdCard = 9; + string IsLongTerm = 10; + string IssueAuthority = 11; + string Mobile = 12; + string PersonName = 13; + string PhotoUuid = 14; + string Sex = 15; + string StartDate = 16; + string Status = 17; + string Type = 18; + string VerifyType = 19; + string Address = 20; +} + +message CompanyCertInfoResponse { + Company Company = 1 [json_name = "Company"]; + Manager Manager = 2 [json_name = "manager"]; + string AuthenticationSubmitTime = 3 [json_name = "authenticationSubmitTime"]; + string PassTime = 4 [json_name = "passTime"]; + string TransactionNo = 5 [json_name = "transactionNo"]; + string Type = 6 [json_name = "type"]; +} + +message AuthStatusResponse { + uint64 AuthType = 1 [json_name = "authType"]; + string ContractId = 2 [json_name = "contractId"]; + uint64 Status = 3 [json_name = "status"]; + string TransactionId = 4 [json_name = "transactionId"]; +} + +message ApplyCertRequest { + string CustomerId = 1 [json_name = "customerId"]; + string VerifiedSerialno = 2 [json_name = "verifiedSerialno"]; +} + +message ViewCommonResponse { + string DownloadUrl = 1 [json_name = "downloadUrl"]; + string ViewPdfUrl = 2 [json_name = "viewPdfUrl"]; +} + + +message PdfTemplateKeysRequest { + string TemplateId = 1 [json_name = "templateId"]; +} + +message PdfTemplateKeysResponse { + repeated string Keys = 1 [json_name = "Keys"]; +} + +message JumpCommonResponse { + string JumpUrl = 1 [json_name = "jumpUrl"]; +} + +message ContractRequest { + string ContractId = 1 [json_name = "contractId"]; +} + +message ExtSignRequest { + string TransactionId = 1 [json_name = "transactionId"]; + string ContractId = 2 [json_name = "contractId"]; + string CustomerId = 3 [json_name = "customerId"]; + string ReturnUrl = 4 [json_name = "returnUrl"]; + string DocTitle = 5 [json_name = "docTitle"]; + string OpenEnvironment = 6 [json_name = "openEnvironment"]; + string MobileSignType = 7 [json_name = "mobileSignType"]; + string SignKeyword = 8 [json_name = "signKeyword"]; + string Keyx = 9 [json_name = "keyx"]; + string Keyy = 10 [json_name = "keyy"]; + string SignatureShowTime = 11 [json_name = "signatureShowTime"]; + string PcHandSignature = 12 [json_name = "PcHandSignature"]; +} + +message BeforeAuthSignRequest { + string TransactionId = 1 [json_name = "transactionId"]; + string ContractId = 2 [json_name = "contractId"]; + string CustomerId = 3 [json_name = "customerId"]; + string ReturnUrl = 4 [json_name = "returnUrl"]; + string NotifyUrl = 5 [json_name = "notifyUrl"]; +} + + +message UploadDocsRequest { + string ContractId = 1 [json_name = "customerId"]; + string DocTitle = 2 [json_name = "docTitle"]; + string DocUrl = 3 [json_name = "docUrl"]; + string File = 4 [json_name = "file"]; + //string doc_type = 1 [json_name = "customerId"]; +} + +message CompanyVerifyRequest { + string CustomerId = 1 [json_name = "customerId"]; +} + +message UploadTemplateResponse { + string CustomerId = 1 [json_name = "customerId"]; +} + +message PersonVerifyRequest { + string CustomerId = 1 [json_name = "customerId"]; + string VerifiedWay = 2 [json_name = "verifiedWay"]; + string CustomerName = 3 [json_name = "customerName"]; + string CustomerIdentNo = 4 [json_name = "customerIdentNo"]; + string Mobile = 5 [json_name = "mobile"]; + string ReturnUrl = 6 [json_name = "returnUrl"]; +} + +message PersonVerifyResponse { + string TransactionNo =1; + string Url =2; +} + +message RegisterResponse { + string CustomerId = 1 [json_name = "customerId"]; +} + +message CustomerIdRequest { + string CustomerId = 1 [json_name = "customerId"]; +} + +message CommonResponse { +} + +message RegisterOrgRequest { + string OpenId = 1 [json_name = "openId"]; +} + +message RegisterPersonRequest { + string OpenId = 1 [json_name = "openId"]; +} + +message AddSignRequest { + string CustomerId = 1 [json_name = "customerId"]; + bytes ReadImgByte = 2 [json_name = "readImgByte"]; +} + +message AddSignResponse { + string SignatureId = 1 [json_name = "signatureId"]; +} + +message CustomSignRequest { + string CustomerId = 1 [json_name = "customerId"]; + string Content = 2 [json_name = "content"]; +} + +message CustomSignResponse { + string SignatureImgBase64 = 1 [json_name = "signatureImgBase64"]; +} + + +message UploadTemplateRequest { + string TemplateId = 1 [json_name = "templateId"]; + string DocUrl = 2 [json_name = "docUrl"]; +} + +message ExtSignAutoRequest { + string TransactionId = 1 [json_name = "transactionId"]; + string ContractId = 2 [json_name = "contractId"]; + string CustomerId = 3 [json_name = "customerId"]; + string ClientRole = 4 [json_name = "clientRole"]; + string DocTitle = 5 [json_name = "docTitle"]; + string SignKeyword = 6 [json_name = "signKeyword"]; + string SignatureId = 7 [json_name = "signatureId"]; + string KeyX = 9 [json_name = "keyX"]; + string KeyY = 10 [json_name = "keyY"]; +} + +message GenerateContractRequest { + string TemplateId = 1 [json_name="templateId"]; + string ContractId = 2 [json_name="templateId"]; + string ParameterMap = 3 [json_name="ParameterMap"]; + string DynamicTables = 4 [json_name="dynamicTables"]; +} + diff --git a/pb/contract_microservice/contract.validator.pb.go b/pb/contract_microservice/contract.validator.pb.go new file mode 100644 index 0000000..813cfd5 --- /dev/null +++ b/pb/contract_microservice/contract.validator.pb.go @@ -0,0 +1,131 @@ +// Code generated by protoc-gen-gogo. DO NOT EDIT. +// source: api/contract/contract.proto + +package contract + +import ( + fmt "fmt" + math "math" + proto "github.com/golang/protobuf/proto" + github_com_mwitkow_go_proto_validators "github.com/mwitkow/go-proto-validators" +) + +// Reference imports to suppress errors if they are not otherwise used. +var _ = proto.Marshal +var _ = fmt.Errorf +var _ = math.Inf + +func (this *CancelExtSignAutoRequest) Validate() error { + return nil +} +func (this *Person) Validate() error { + return nil +} +func (this *PersonCertInfoResponse) Validate() error { + if this.Person != nil { + if err := github_com_mwitkow_go_proto_validators.CallValidatorIfExists(this.Person); err != nil { + return github_com_mwitkow_go_proto_validators.FieldError("Person", err) + } + } + return nil +} +func (this *FindCertInfo) Validate() error { + return nil +} +func (this *Company) Validate() error { + return nil +} +func (this *Manager) Validate() error { + return nil +} +func (this *CompanyCertInfoResponse) Validate() error { + if this.Company != nil { + if err := github_com_mwitkow_go_proto_validators.CallValidatorIfExists(this.Company); err != nil { + return github_com_mwitkow_go_proto_validators.FieldError("Company", err) + } + } + if this.Manager != nil { + if err := github_com_mwitkow_go_proto_validators.CallValidatorIfExists(this.Manager); err != nil { + return github_com_mwitkow_go_proto_validators.FieldError("Manager", err) + } + } + return nil +} +func (this *AuthStatusResponse) Validate() error { + return nil +} +func (this *ApplyCertRequest) Validate() error { + return nil +} +func (this *ViewCommonResponse) Validate() error { + return nil +} +func (this *PdfTemplateKeysRequest) Validate() error { + return nil +} +func (this *PdfTemplateKeysResponse) Validate() error { + return nil +} +func (this *JumpCommonResponse) Validate() error { + return nil +} +func (this *ContractRequest) Validate() error { + return nil +} +func (this *ExtSignRequest) Validate() error { + return nil +} +func (this *BeforeAuthSignRequest) Validate() error { + return nil +} +func (this *UploadDocsRequest) Validate() error { + return nil +} +func (this *CompanyVerifyRequest) Validate() error { + return nil +} +func (this *UploadTemplateResponse) Validate() error { + return nil +} +func (this *PersonVerifyRequest) Validate() error { + return nil +} +func (this *PersonVerifyResponse) Validate() error { + return nil +} +func (this *RegisterResponse) Validate() error { + return nil +} +func (this *CustomerIdRequest) Validate() error { + return nil +} +func (this *CommonResponse) Validate() error { + return nil +} +func (this *RegisterOrgRequest) Validate() error { + return nil +} +func (this *RegisterPersonRequest) Validate() error { + return nil +} +func (this *AddSignRequest) Validate() error { + return nil +} +func (this *AddSignResponse) Validate() error { + return nil +} +func (this *CustomSignRequest) Validate() error { + return nil +} +func (this *CustomSignResponse) Validate() error { + return nil +} +func (this *UploadTemplateRequest) Validate() error { + return nil +} +func (this *ExtSignAutoRequest) Validate() error { + return nil +} +func (this *GenerateContractRequest) Validate() error { + return nil +} diff --git a/pb/contract_microservice/contract_triple.pb.go b/pb/contract_microservice/contract_triple.pb.go new file mode 100644 index 0000000..dbdd26d --- /dev/null +++ b/pb/contract_microservice/contract_triple.pb.go @@ -0,0 +1,1047 @@ +// Code generated by protoc-gen-go-triple. DO NOT EDIT. +// versions: +// - protoc-gen-go-triple v1.0.8 +// - protoc v3.21.12 +// source: api/contract/contract.proto + +package contract + +import ( + context "context" + protocol "dubbo.apache.org/dubbo-go/v3/protocol" + dubbo3 "dubbo.apache.org/dubbo-go/v3/protocol/dubbo3" + invocation "dubbo.apache.org/dubbo-go/v3/protocol/invocation" + grpc_go "github.com/dubbogo/grpc-go" + codes "github.com/dubbogo/grpc-go/codes" + metadata "github.com/dubbogo/grpc-go/metadata" + status "github.com/dubbogo/grpc-go/status" + common "github.com/dubbogo/triple/pkg/common" + constant "github.com/dubbogo/triple/pkg/common/constant" + triple "github.com/dubbogo/triple/pkg/triple" +) + +// This is a compile-time assertion to ensure that this generated file +// is compatible with the grpc package it is being compiled against. +const _ = grpc_go.SupportPackageIsVersion7 + +// ContractClient is the client API for Contract service. +// +// 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 ContractClient interface { + RegisterPerson(ctx context.Context, in *RegisterPersonRequest, opts ...grpc_go.CallOption) (*RegisterResponse, common.ErrorWithAttachment) + PersonVerify(ctx context.Context, in *PersonVerifyRequest, opts ...grpc_go.CallOption) (*PersonVerifyResponse, common.ErrorWithAttachment) + RegisterOrg(ctx context.Context, in *RegisterOrgRequest, opts ...grpc_go.CallOption) (*RegisterResponse, common.ErrorWithAttachment) + CompanyVerify(ctx context.Context, in *CompanyVerifyRequest, opts ...grpc_go.CallOption) (*PersonVerifyResponse, common.ErrorWithAttachment) + FindPersonCertInfo(ctx context.Context, in *FindCertInfo, opts ...grpc_go.CallOption) (*PersonCertInfoResponse, common.ErrorWithAttachment) + FindCompanyCertInfo(ctx context.Context, in *FindCertInfo, opts ...grpc_go.CallOption) (*CompanyCertInfoResponse, common.ErrorWithAttachment) + ApplyCert(ctx context.Context, in *ApplyCertRequest, opts ...grpc_go.CallOption) (*CommonResponse, common.ErrorWithAttachment) + AddSignature(ctx context.Context, in *AddSignRequest, opts ...grpc_go.CallOption) (*AddSignResponse, common.ErrorWithAttachment) + CustomSign(ctx context.Context, in *CustomSignRequest, opts ...grpc_go.CallOption) (*CustomSignResponse, common.ErrorWithAttachment) + UploadTemplate(ctx context.Context, in *UploadTemplateRequest, opts ...grpc_go.CallOption) (*CommonResponse, common.ErrorWithAttachment) + UploadDocs(ctx context.Context, in *UploadDocsRequest, opts ...grpc_go.CallOption) (*CommonResponse, common.ErrorWithAttachment) + GenerateContract(ctx context.Context, in *GenerateContractRequest, opts ...grpc_go.CallOption) (*ViewCommonResponse, common.ErrorWithAttachment) + ExtSignAuto(ctx context.Context, in *ExtSignAutoRequest, opts ...grpc_go.CallOption) (*ViewCommonResponse, common.ErrorWithAttachment) + BeforeAuthSign(ctx context.Context, in *BeforeAuthSignRequest, opts ...grpc_go.CallOption) (*JumpCommonResponse, common.ErrorWithAttachment) + ExtSign(ctx context.Context, in *ExtSignRequest, opts ...grpc_go.CallOption) (*JumpCommonResponse, common.ErrorWithAttachment) + ViewContract(ctx context.Context, in *ContractRequest, opts ...grpc_go.CallOption) (*JumpCommonResponse, common.ErrorWithAttachment) + DownLoadContract(ctx context.Context, in *ContractRequest, opts ...grpc_go.CallOption) (*JumpCommonResponse, common.ErrorWithAttachment) + ContractFiling(ctx context.Context, in *ContractRequest, opts ...grpc_go.CallOption) (*CommonResponse, common.ErrorWithAttachment) + GetPdfTemplateKeys(ctx context.Context, in *PdfTemplateKeysRequest, opts ...grpc_go.CallOption) (*PdfTemplateKeysResponse, common.ErrorWithAttachment) + AuthStatus(ctx context.Context, in *CustomerIdRequest, opts ...grpc_go.CallOption) (*AuthStatusResponse, common.ErrorWithAttachment) + CancelExtSignAuto(ctx context.Context, in *CancelExtSignAutoRequest, opts ...grpc_go.CallOption) (*JumpCommonResponse, common.ErrorWithAttachment) +} + +type contractClient struct { + cc *triple.TripleConn +} + +type ContractClientImpl struct { + RegisterPerson func(ctx context.Context, in *RegisterPersonRequest) (*RegisterResponse, error) + PersonVerify func(ctx context.Context, in *PersonVerifyRequest) (*PersonVerifyResponse, error) + RegisterOrg func(ctx context.Context, in *RegisterOrgRequest) (*RegisterResponse, error) + CompanyVerify func(ctx context.Context, in *CompanyVerifyRequest) (*PersonVerifyResponse, error) + FindPersonCertInfo func(ctx context.Context, in *FindCertInfo) (*PersonCertInfoResponse, error) + FindCompanyCertInfo func(ctx context.Context, in *FindCertInfo) (*CompanyCertInfoResponse, error) + ApplyCert func(ctx context.Context, in *ApplyCertRequest) (*CommonResponse, error) + AddSignature func(ctx context.Context, in *AddSignRequest) (*AddSignResponse, error) + CustomSign func(ctx context.Context, in *CustomSignRequest) (*CustomSignResponse, error) + UploadTemplate func(ctx context.Context, in *UploadTemplateRequest) (*CommonResponse, error) + UploadDocs func(ctx context.Context, in *UploadDocsRequest) (*CommonResponse, error) + GenerateContract func(ctx context.Context, in *GenerateContractRequest) (*ViewCommonResponse, error) + ExtSignAuto func(ctx context.Context, in *ExtSignAutoRequest) (*ViewCommonResponse, error) + BeforeAuthSign func(ctx context.Context, in *BeforeAuthSignRequest) (*JumpCommonResponse, error) + ExtSign func(ctx context.Context, in *ExtSignRequest) (*JumpCommonResponse, error) + ViewContract func(ctx context.Context, in *ContractRequest) (*JumpCommonResponse, error) + DownLoadContract func(ctx context.Context, in *ContractRequest) (*JumpCommonResponse, error) + ContractFiling func(ctx context.Context, in *ContractRequest) (*CommonResponse, error) + GetPdfTemplateKeys func(ctx context.Context, in *PdfTemplateKeysRequest) (*PdfTemplateKeysResponse, error) + AuthStatus func(ctx context.Context, in *CustomerIdRequest) (*AuthStatusResponse, error) + CancelExtSignAuto func(ctx context.Context, in *CancelExtSignAutoRequest) (*JumpCommonResponse, error) +} + +func (c *ContractClientImpl) GetDubboStub(cc *triple.TripleConn) ContractClient { + return NewContractClient(cc) +} + +func (c *ContractClientImpl) XXX_InterfaceName() string { + return "contract.Contract" +} + +func NewContractClient(cc *triple.TripleConn) ContractClient { + return &contractClient{cc} +} + +func (c *contractClient) RegisterPerson(ctx context.Context, in *RegisterPersonRequest, opts ...grpc_go.CallOption) (*RegisterResponse, common.ErrorWithAttachment) { + out := new(RegisterResponse) + interfaceKey := ctx.Value(constant.InterfaceKey).(string) + return out, c.cc.Invoke(ctx, "/"+interfaceKey+"/RegisterPerson", in, out) +} + +func (c *contractClient) PersonVerify(ctx context.Context, in *PersonVerifyRequest, opts ...grpc_go.CallOption) (*PersonVerifyResponse, common.ErrorWithAttachment) { + out := new(PersonVerifyResponse) + interfaceKey := ctx.Value(constant.InterfaceKey).(string) + return out, c.cc.Invoke(ctx, "/"+interfaceKey+"/PersonVerify", in, out) +} + +func (c *contractClient) RegisterOrg(ctx context.Context, in *RegisterOrgRequest, opts ...grpc_go.CallOption) (*RegisterResponse, common.ErrorWithAttachment) { + out := new(RegisterResponse) + interfaceKey := ctx.Value(constant.InterfaceKey).(string) + return out, c.cc.Invoke(ctx, "/"+interfaceKey+"/RegisterOrg", in, out) +} + +func (c *contractClient) CompanyVerify(ctx context.Context, in *CompanyVerifyRequest, opts ...grpc_go.CallOption) (*PersonVerifyResponse, common.ErrorWithAttachment) { + out := new(PersonVerifyResponse) + interfaceKey := ctx.Value(constant.InterfaceKey).(string) + return out, c.cc.Invoke(ctx, "/"+interfaceKey+"/CompanyVerify", in, out) +} + +func (c *contractClient) FindPersonCertInfo(ctx context.Context, in *FindCertInfo, opts ...grpc_go.CallOption) (*PersonCertInfoResponse, common.ErrorWithAttachment) { + out := new(PersonCertInfoResponse) + interfaceKey := ctx.Value(constant.InterfaceKey).(string) + return out, c.cc.Invoke(ctx, "/"+interfaceKey+"/FindPersonCertInfo", in, out) +} + +func (c *contractClient) FindCompanyCertInfo(ctx context.Context, in *FindCertInfo, opts ...grpc_go.CallOption) (*CompanyCertInfoResponse, common.ErrorWithAttachment) { + out := new(CompanyCertInfoResponse) + interfaceKey := ctx.Value(constant.InterfaceKey).(string) + return out, c.cc.Invoke(ctx, "/"+interfaceKey+"/FindCompanyCertInfo", in, out) +} + +func (c *contractClient) ApplyCert(ctx context.Context, in *ApplyCertRequest, opts ...grpc_go.CallOption) (*CommonResponse, common.ErrorWithAttachment) { + out := new(CommonResponse) + interfaceKey := ctx.Value(constant.InterfaceKey).(string) + return out, c.cc.Invoke(ctx, "/"+interfaceKey+"/ApplyCert", in, out) +} + +func (c *contractClient) AddSignature(ctx context.Context, in *AddSignRequest, opts ...grpc_go.CallOption) (*AddSignResponse, common.ErrorWithAttachment) { + out := new(AddSignResponse) + interfaceKey := ctx.Value(constant.InterfaceKey).(string) + return out, c.cc.Invoke(ctx, "/"+interfaceKey+"/AddSignature", in, out) +} + +func (c *contractClient) CustomSign(ctx context.Context, in *CustomSignRequest, opts ...grpc_go.CallOption) (*CustomSignResponse, common.ErrorWithAttachment) { + out := new(CustomSignResponse) + interfaceKey := ctx.Value(constant.InterfaceKey).(string) + return out, c.cc.Invoke(ctx, "/"+interfaceKey+"/CustomSign", in, out) +} + +func (c *contractClient) UploadTemplate(ctx context.Context, in *UploadTemplateRequest, opts ...grpc_go.CallOption) (*CommonResponse, common.ErrorWithAttachment) { + out := new(CommonResponse) + interfaceKey := ctx.Value(constant.InterfaceKey).(string) + return out, c.cc.Invoke(ctx, "/"+interfaceKey+"/UploadTemplate", in, out) +} + +func (c *contractClient) UploadDocs(ctx context.Context, in *UploadDocsRequest, opts ...grpc_go.CallOption) (*CommonResponse, common.ErrorWithAttachment) { + out := new(CommonResponse) + interfaceKey := ctx.Value(constant.InterfaceKey).(string) + return out, c.cc.Invoke(ctx, "/"+interfaceKey+"/UploadDocs", in, out) +} + +func (c *contractClient) GenerateContract(ctx context.Context, in *GenerateContractRequest, opts ...grpc_go.CallOption) (*ViewCommonResponse, common.ErrorWithAttachment) { + out := new(ViewCommonResponse) + interfaceKey := ctx.Value(constant.InterfaceKey).(string) + return out, c.cc.Invoke(ctx, "/"+interfaceKey+"/GenerateContract", in, out) +} + +func (c *contractClient) ExtSignAuto(ctx context.Context, in *ExtSignAutoRequest, opts ...grpc_go.CallOption) (*ViewCommonResponse, common.ErrorWithAttachment) { + out := new(ViewCommonResponse) + interfaceKey := ctx.Value(constant.InterfaceKey).(string) + return out, c.cc.Invoke(ctx, "/"+interfaceKey+"/ExtSignAuto", in, out) +} + +func (c *contractClient) BeforeAuthSign(ctx context.Context, in *BeforeAuthSignRequest, opts ...grpc_go.CallOption) (*JumpCommonResponse, common.ErrorWithAttachment) { + out := new(JumpCommonResponse) + interfaceKey := ctx.Value(constant.InterfaceKey).(string) + return out, c.cc.Invoke(ctx, "/"+interfaceKey+"/BeforeAuthSign", in, out) +} + +func (c *contractClient) ExtSign(ctx context.Context, in *ExtSignRequest, opts ...grpc_go.CallOption) (*JumpCommonResponse, common.ErrorWithAttachment) { + out := new(JumpCommonResponse) + interfaceKey := ctx.Value(constant.InterfaceKey).(string) + return out, c.cc.Invoke(ctx, "/"+interfaceKey+"/ExtSign", in, out) +} + +func (c *contractClient) ViewContract(ctx context.Context, in *ContractRequest, opts ...grpc_go.CallOption) (*JumpCommonResponse, common.ErrorWithAttachment) { + out := new(JumpCommonResponse) + interfaceKey := ctx.Value(constant.InterfaceKey).(string) + return out, c.cc.Invoke(ctx, "/"+interfaceKey+"/ViewContract", in, out) +} + +func (c *contractClient) DownLoadContract(ctx context.Context, in *ContractRequest, opts ...grpc_go.CallOption) (*JumpCommonResponse, common.ErrorWithAttachment) { + out := new(JumpCommonResponse) + interfaceKey := ctx.Value(constant.InterfaceKey).(string) + return out, c.cc.Invoke(ctx, "/"+interfaceKey+"/DownLoadContract", in, out) +} + +func (c *contractClient) ContractFiling(ctx context.Context, in *ContractRequest, opts ...grpc_go.CallOption) (*CommonResponse, common.ErrorWithAttachment) { + out := new(CommonResponse) + interfaceKey := ctx.Value(constant.InterfaceKey).(string) + return out, c.cc.Invoke(ctx, "/"+interfaceKey+"/ContractFiling", in, out) +} + +func (c *contractClient) GetPdfTemplateKeys(ctx context.Context, in *PdfTemplateKeysRequest, opts ...grpc_go.CallOption) (*PdfTemplateKeysResponse, common.ErrorWithAttachment) { + out := new(PdfTemplateKeysResponse) + interfaceKey := ctx.Value(constant.InterfaceKey).(string) + return out, c.cc.Invoke(ctx, "/"+interfaceKey+"/GetPdfTemplateKeys", in, out) +} + +func (c *contractClient) AuthStatus(ctx context.Context, in *CustomerIdRequest, opts ...grpc_go.CallOption) (*AuthStatusResponse, common.ErrorWithAttachment) { + out := new(AuthStatusResponse) + interfaceKey := ctx.Value(constant.InterfaceKey).(string) + return out, c.cc.Invoke(ctx, "/"+interfaceKey+"/AuthStatus", in, out) +} + +func (c *contractClient) CancelExtSignAuto(ctx context.Context, in *CancelExtSignAutoRequest, opts ...grpc_go.CallOption) (*JumpCommonResponse, common.ErrorWithAttachment) { + out := new(JumpCommonResponse) + interfaceKey := ctx.Value(constant.InterfaceKey).(string) + return out, c.cc.Invoke(ctx, "/"+interfaceKey+"/CancelExtSignAuto", in, out) +} + +// ContractServer is the server API for Contract service. +// All implementations must embed UnimplementedContractServer +// for forward compatibility +type ContractServer interface { + RegisterPerson(context.Context, *RegisterPersonRequest) (*RegisterResponse, error) + PersonVerify(context.Context, *PersonVerifyRequest) (*PersonVerifyResponse, error) + RegisterOrg(context.Context, *RegisterOrgRequest) (*RegisterResponse, error) + CompanyVerify(context.Context, *CompanyVerifyRequest) (*PersonVerifyResponse, error) + FindPersonCertInfo(context.Context, *FindCertInfo) (*PersonCertInfoResponse, error) + FindCompanyCertInfo(context.Context, *FindCertInfo) (*CompanyCertInfoResponse, error) + ApplyCert(context.Context, *ApplyCertRequest) (*CommonResponse, error) + AddSignature(context.Context, *AddSignRequest) (*AddSignResponse, error) + CustomSign(context.Context, *CustomSignRequest) (*CustomSignResponse, error) + UploadTemplate(context.Context, *UploadTemplateRequest) (*CommonResponse, error) + UploadDocs(context.Context, *UploadDocsRequest) (*CommonResponse, error) + GenerateContract(context.Context, *GenerateContractRequest) (*ViewCommonResponse, error) + ExtSignAuto(context.Context, *ExtSignAutoRequest) (*ViewCommonResponse, error) + BeforeAuthSign(context.Context, *BeforeAuthSignRequest) (*JumpCommonResponse, error) + ExtSign(context.Context, *ExtSignRequest) (*JumpCommonResponse, error) + ViewContract(context.Context, *ContractRequest) (*JumpCommonResponse, error) + DownLoadContract(context.Context, *ContractRequest) (*JumpCommonResponse, error) + ContractFiling(context.Context, *ContractRequest) (*CommonResponse, error) + GetPdfTemplateKeys(context.Context, *PdfTemplateKeysRequest) (*PdfTemplateKeysResponse, error) + AuthStatus(context.Context, *CustomerIdRequest) (*AuthStatusResponse, error) + CancelExtSignAuto(context.Context, *CancelExtSignAutoRequest) (*JumpCommonResponse, error) + mustEmbedUnimplementedContractServer() +} + +// UnimplementedContractServer must be embedded to have forward compatible implementations. +type UnimplementedContractServer struct { + proxyImpl protocol.Invoker +} + +func (UnimplementedContractServer) RegisterPerson(context.Context, *RegisterPersonRequest) (*RegisterResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method RegisterPerson not implemented") +} +func (UnimplementedContractServer) PersonVerify(context.Context, *PersonVerifyRequest) (*PersonVerifyResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method PersonVerify not implemented") +} +func (UnimplementedContractServer) RegisterOrg(context.Context, *RegisterOrgRequest) (*RegisterResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method RegisterOrg not implemented") +} +func (UnimplementedContractServer) CompanyVerify(context.Context, *CompanyVerifyRequest) (*PersonVerifyResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method CompanyVerify not implemented") +} +func (UnimplementedContractServer) FindPersonCertInfo(context.Context, *FindCertInfo) (*PersonCertInfoResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method FindPersonCertInfo not implemented") +} +func (UnimplementedContractServer) FindCompanyCertInfo(context.Context, *FindCertInfo) (*CompanyCertInfoResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method FindCompanyCertInfo not implemented") +} +func (UnimplementedContractServer) ApplyCert(context.Context, *ApplyCertRequest) (*CommonResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method ApplyCert not implemented") +} +func (UnimplementedContractServer) AddSignature(context.Context, *AddSignRequest) (*AddSignResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method AddSignature not implemented") +} +func (UnimplementedContractServer) CustomSign(context.Context, *CustomSignRequest) (*CustomSignResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method CustomSign not implemented") +} +func (UnimplementedContractServer) UploadTemplate(context.Context, *UploadTemplateRequest) (*CommonResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method UploadTemplate not implemented") +} +func (UnimplementedContractServer) UploadDocs(context.Context, *UploadDocsRequest) (*CommonResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method UploadDocs not implemented") +} +func (UnimplementedContractServer) GenerateContract(context.Context, *GenerateContractRequest) (*ViewCommonResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method GenerateContract not implemented") +} +func (UnimplementedContractServer) ExtSignAuto(context.Context, *ExtSignAutoRequest) (*ViewCommonResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method ExtSignAuto not implemented") +} +func (UnimplementedContractServer) BeforeAuthSign(context.Context, *BeforeAuthSignRequest) (*JumpCommonResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method BeforeAuthSign not implemented") +} +func (UnimplementedContractServer) ExtSign(context.Context, *ExtSignRequest) (*JumpCommonResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method ExtSign not implemented") +} +func (UnimplementedContractServer) ViewContract(context.Context, *ContractRequest) (*JumpCommonResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method ViewContract not implemented") +} +func (UnimplementedContractServer) DownLoadContract(context.Context, *ContractRequest) (*JumpCommonResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method DownLoadContract not implemented") +} +func (UnimplementedContractServer) ContractFiling(context.Context, *ContractRequest) (*CommonResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method ContractFiling not implemented") +} +func (UnimplementedContractServer) GetPdfTemplateKeys(context.Context, *PdfTemplateKeysRequest) (*PdfTemplateKeysResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method GetPdfTemplateKeys not implemented") +} +func (UnimplementedContractServer) AuthStatus(context.Context, *CustomerIdRequest) (*AuthStatusResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method AuthStatus not implemented") +} +func (UnimplementedContractServer) CancelExtSignAuto(context.Context, *CancelExtSignAutoRequest) (*JumpCommonResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method CancelExtSignAuto not implemented") +} +func (s *UnimplementedContractServer) XXX_SetProxyImpl(impl protocol.Invoker) { + s.proxyImpl = impl +} + +func (s *UnimplementedContractServer) XXX_GetProxyImpl() protocol.Invoker { + return s.proxyImpl +} + +func (s *UnimplementedContractServer) XXX_ServiceDesc() *grpc_go.ServiceDesc { + return &Contract_ServiceDesc +} +func (s *UnimplementedContractServer) XXX_InterfaceName() string { + return "contract.Contract" +} + +func (UnimplementedContractServer) mustEmbedUnimplementedContractServer() {} + +// UnsafeContractServer may be embedded to opt out of forward compatibility for this service. +// Use of this interface is not recommended, as added methods to ContractServer will +// result in compilation errors. +type UnsafeContractServer interface { + mustEmbedUnimplementedContractServer() +} + +func RegisterContractServer(s grpc_go.ServiceRegistrar, srv ContractServer) { + s.RegisterService(&Contract_ServiceDesc, srv) +} + +func _Contract_RegisterPerson_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc_go.UnaryServerInterceptor) (interface{}, error) { + in := new(RegisterPersonRequest) + 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("RegisterPerson", 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 _Contract_PersonVerify_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc_go.UnaryServerInterceptor) (interface{}, error) { + in := new(PersonVerifyRequest) + 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("PersonVerify", 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 _Contract_RegisterOrg_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc_go.UnaryServerInterceptor) (interface{}, error) { + in := new(RegisterOrgRequest) + 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("RegisterOrg", 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 _Contract_CompanyVerify_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc_go.UnaryServerInterceptor) (interface{}, error) { + in := new(CompanyVerifyRequest) + 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("CompanyVerify", 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 _Contract_FindPersonCertInfo_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc_go.UnaryServerInterceptor) (interface{}, error) { + in := new(FindCertInfo) + 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("FindPersonCertInfo", 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 _Contract_FindCompanyCertInfo_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc_go.UnaryServerInterceptor) (interface{}, error) { + in := new(FindCertInfo) + 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("FindCompanyCertInfo", 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 _Contract_ApplyCert_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc_go.UnaryServerInterceptor) (interface{}, error) { + in := new(ApplyCertRequest) + 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("ApplyCert", 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 _Contract_AddSignature_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc_go.UnaryServerInterceptor) (interface{}, error) { + in := new(AddSignRequest) + 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("AddSignature", 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 _Contract_CustomSign_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc_go.UnaryServerInterceptor) (interface{}, error) { + in := new(CustomSignRequest) + 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("CustomSign", 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 _Contract_UploadTemplate_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc_go.UnaryServerInterceptor) (interface{}, error) { + in := new(UploadTemplateRequest) + 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("UploadTemplate", 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 _Contract_UploadDocs_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc_go.UnaryServerInterceptor) (interface{}, error) { + in := new(UploadDocsRequest) + 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("UploadDocs", 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 _Contract_GenerateContract_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc_go.UnaryServerInterceptor) (interface{}, error) { + in := new(GenerateContractRequest) + 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("GenerateContract", 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 _Contract_ExtSignAuto_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc_go.UnaryServerInterceptor) (interface{}, error) { + in := new(ExtSignAutoRequest) + 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("ExtSignAuto", 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 _Contract_BeforeAuthSign_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc_go.UnaryServerInterceptor) (interface{}, error) { + in := new(BeforeAuthSignRequest) + 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("BeforeAuthSign", 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 _Contract_ExtSign_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc_go.UnaryServerInterceptor) (interface{}, error) { + in := new(ExtSignRequest) + 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("ExtSign", 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 _Contract_ViewContract_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc_go.UnaryServerInterceptor) (interface{}, error) { + in := new(ContractRequest) + 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("ViewContract", 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 _Contract_DownLoadContract_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc_go.UnaryServerInterceptor) (interface{}, error) { + in := new(ContractRequest) + 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("DownLoadContract", 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 _Contract_ContractFiling_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc_go.UnaryServerInterceptor) (interface{}, error) { + in := new(ContractRequest) + 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("ContractFiling", 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 _Contract_GetPdfTemplateKeys_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc_go.UnaryServerInterceptor) (interface{}, error) { + in := new(PdfTemplateKeysRequest) + 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("GetPdfTemplateKeys", 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 _Contract_AuthStatus_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc_go.UnaryServerInterceptor) (interface{}, error) { + in := new(CustomerIdRequest) + 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("AuthStatus", 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 _Contract_CancelExtSignAuto_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc_go.UnaryServerInterceptor) (interface{}, error) { + in := new(CancelExtSignAutoRequest) + 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("CancelExtSignAuto", 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) +} + +// Contract_ServiceDesc is the grpc_go.ServiceDesc for Contract service. +// It's only intended for direct use with grpc_go.RegisterService, +// and not to be introspected or modified (even as a copy) +var Contract_ServiceDesc = grpc_go.ServiceDesc{ + ServiceName: "contract.Contract", + HandlerType: (*ContractServer)(nil), + Methods: []grpc_go.MethodDesc{ + { + MethodName: "RegisterPerson", + Handler: _Contract_RegisterPerson_Handler, + }, + { + MethodName: "PersonVerify", + Handler: _Contract_PersonVerify_Handler, + }, + { + MethodName: "RegisterOrg", + Handler: _Contract_RegisterOrg_Handler, + }, + { + MethodName: "CompanyVerify", + Handler: _Contract_CompanyVerify_Handler, + }, + { + MethodName: "FindPersonCertInfo", + Handler: _Contract_FindPersonCertInfo_Handler, + }, + { + MethodName: "FindCompanyCertInfo", + Handler: _Contract_FindCompanyCertInfo_Handler, + }, + { + MethodName: "ApplyCert", + Handler: _Contract_ApplyCert_Handler, + }, + { + MethodName: "AddSignature", + Handler: _Contract_AddSignature_Handler, + }, + { + MethodName: "CustomSign", + Handler: _Contract_CustomSign_Handler, + }, + { + MethodName: "UploadTemplate", + Handler: _Contract_UploadTemplate_Handler, + }, + { + MethodName: "UploadDocs", + Handler: _Contract_UploadDocs_Handler, + }, + { + MethodName: "GenerateContract", + Handler: _Contract_GenerateContract_Handler, + }, + { + MethodName: "ExtSignAuto", + Handler: _Contract_ExtSignAuto_Handler, + }, + { + MethodName: "BeforeAuthSign", + Handler: _Contract_BeforeAuthSign_Handler, + }, + { + MethodName: "ExtSign", + Handler: _Contract_ExtSign_Handler, + }, + { + MethodName: "ViewContract", + Handler: _Contract_ViewContract_Handler, + }, + { + MethodName: "DownLoadContract", + Handler: _Contract_DownLoadContract_Handler, + }, + { + MethodName: "ContractFiling", + Handler: _Contract_ContractFiling_Handler, + }, + { + MethodName: "GetPdfTemplateKeys", + Handler: _Contract_GetPdfTemplateKeys_Handler, + }, + { + MethodName: "AuthStatus", + Handler: _Contract_AuthStatus_Handler, + }, + { + MethodName: "CancelExtSignAuto", + Handler: _Contract_CancelExtSignAuto_Handler, + }, + }, + Streams: []grpc_go.StreamDesc{}, + Metadata: "api/contract/contract.proto", +} diff --git a/pb/old/artwork/artwork.proto b/pb/old/artwork/artwork.proto index b640593..52758dd 100644 --- a/pb/old/artwork/artwork.proto +++ b/pb/old/artwork/artwork.proto @@ -22,7 +22,7 @@ message UpdateMsgRespond { } -} + message ListInterfaceRespond { int64 Total = 1 [json_name = "total"]; diff --git a/pkg/m/msg.go b/pkg/m/msg.go index 3d23e27..8f73c65 100644 --- a/pkg/m/msg.go +++ b/pkg/m/msg.go @@ -59,6 +59,7 @@ const ( ARTIST_NOT_EXISTS = "画家不存在" ERROR_DATA_NOT_EXISTS = "数据不存在" ERROR_UPDATE_ARTIST = "数据不存在" + ARTWORK_CONTRACT_EXISTS = "存在画作合同已经存在" ERROR_INVALID_CARDID = "身份证号不合法" INVITE_CODE_INVALID = "邀请码无效" ERROR_ISLOCK = "用户已被锁定" diff --git a/pkg/service/init.go b/pkg/service/init.go index ff39a3c..1cae9b1 100644 --- a/pkg/service/init.go +++ b/pkg/service/init.go @@ -8,14 +8,15 @@ import ( //_ "dubbo.apache.org/dubbo-go/v3/imports" "github.com/fonchain/fonchain-artistinfo/pb/account" "github.com/fonchain/fonchain-artistinfo/pb/artist" + contractMicroservice "github.com/fonchain/fonchain-artistinfo/pb/contract_microservice" ) var ( - GrpcArtistImpl = new(artist.ArtistClientImpl) - + GrpcArtistImpl = new(artist.ArtistClientImpl) AccountProvider = new(account.AccountClientImpl) ArtworkImpl = new(artwork.ArtworkClientImpl) ArtworkQueryImpl = new(artwork_query.ArtworkQueryClientImpl) + ContractImpl = new(contractMicroservice.ContractClientImpl) ) func init() { @@ -23,6 +24,7 @@ func init() { config.SetConsumerService(AccountProvider) config.SetConsumerService(ArtworkImpl) config.SetConsumerService(ArtworkQueryImpl) + config.SetConsumerService(ContractImpl) //if os.Args[len(os.Args)-1] == "unit-test" { // _ = os.Setenv(constant.ConfigFileEnvKey, "../../conf/dubbogo.yaml") //}