更新接口

This commit is contained in:
徐俊杰 2023-02-28 23:27:00 +08:00
parent ee087e77f8
commit c8c093654d
25 changed files with 972 additions and 827 deletions

View File

@ -41,16 +41,16 @@ func (a ArtistInfoArtworkProvider) ArtworkLockAction(ctx context.Context, reques
return a.artistInfoLogic.ArtworkLockAction(request) return a.artistInfoLogic.ArtworkLockAction(request)
} }
// GetArtworkRecordUids 获取画作锁记录
func (a ArtistInfoArtworkProvider) GetArtworkLockRecords(ctx context.Context, request *artistInfoArtwork.GetArtworkLockRecordsRequest) (*artistInfoArtwork.ArtworkLockList, error) {
return a.artistInfoLogic.GetArtworkLockRecords(request)
}
// DeleteArtworkRecord 删除话走锁记录 // DeleteArtworkRecord 删除话走锁记录
func (a ArtistInfoArtworkProvider) DeleteArtworkRecord(ctx context.Context, request *artistInfoArtwork.DeleteArtworkRecordRequest) (*artistInfoArtwork.ArtworkCommonNoParams, error) { func (a ArtistInfoArtworkProvider) DeleteArtworkRecord(ctx context.Context, request *artistInfoArtwork.DeleteArtworkRecordRequest) (*artistInfoArtwork.ArtworkCommonNoParams, error) {
return a.artistInfoLogic.DeleteArtworkRecord(request) return a.artistInfoLogic.DeleteArtworkRecord(request)
} }
// GetArtworkRecordUids 获取画作锁记录
func (a ArtistInfoArtworkProvider) GetArtworkLockRecords(ctx context.Context, request *artistInfoArtwork.GetArtworkLockRecordsRequest) (*artistInfoArtwork.ArtworkLockList, error) {
return a.artistInfoLogic.GetArtworkLockRecords(request)
}
// GetArtworkLockHistoryGroup 查询画作历史记录,按照锁定时间分组 // GetArtworkLockHistoryGroup 查询画作历史记录,按照锁定时间分组
func (a ArtistInfoArtworkProvider) GetArtworkLockHistoryGroup(ctx context.Context, request *artistInfoArtwork.GetArtworkLockHistoryRequest) (*artistInfoArtwork.GetArtworkLockHistoryResponse, error) { func (a ArtistInfoArtworkProvider) GetArtworkLockHistoryGroup(ctx context.Context, request *artistInfoArtwork.GetArtworkLockHistoryRequest) (*artistInfoArtwork.GetArtworkLockHistoryResponse, error) {
return a.artistInfoLogic.GetArtworkLockHistoryGroup(request) return a.artistInfoLogic.GetArtworkLockHistoryGroup(request)

View File

@ -1,110 +1,103 @@
package controller package controller
import ( //
"context" //type SupplyProvider struct {
"fmt" // supplyinfo.UnimplementedSupplyInfoServer
// SupplyLogic *logic.Supply
"github.com/fonchain/fonchain-artistinfo/cmd/internal/logic" //}
"github.com/fonchain/fonchain-artistinfo/pb/supplyinfo" //
) //func (a *SupplyProvider) GetSupplyInfoList(ctx context.Context, req *supplyinfo.GetSupplyInfoListRequest) (rep *supplyinfo.GetSupplyInfoListRespond, err error) {
// fmt.Println("第一处")
type SupplyProvider struct { // if rep, err = a.SupplyLogic.GetSupplyInfoList(req); err != nil {
supplyinfo.UnimplementedSupplyInfoServer // return nil, err
SupplyLogic *logic.Supply // }
} // return rep, nil
//}
func (a *SupplyProvider) GetSupplyInfoList(ctx context.Context, req *supplyinfo.GetSupplyInfoListRequest) (rep *supplyinfo.GetSupplyInfoListRespond, err error) { //
fmt.Println("第一处") //func (a *SupplyProvider) GetSupplyInfo(ctx context.Context, req *supplyinfo.GetSupplyInfoRequest) (rep *supplyinfo.GetSupplyInfoData, err error) {
if rep, err = a.SupplyLogic.GetSupplyInfoList(req); err != nil { // fmt.Println("第一处")
return nil, err // if rep, err = a.SupplyLogic.GetSupplyInfo(req); err != nil {
} // return nil, err
return rep, nil // }
} // return rep, nil
//}
func (a *SupplyProvider) GetSupplyInfo(ctx context.Context, req *supplyinfo.GetSupplyInfoRequest) (rep *supplyinfo.GetSupplyInfoData, err error) { //
fmt.Println("第一处") //func (a *SupplyProvider) UpdateSupplyInfo(ctx context.Context, req *supplyinfo.UpdateSupplyInfoRequest) (rep *supplyinfo.UpdateSupplyInfoRespond, err error) {
if rep, err = a.SupplyLogic.GetSupplyInfo(req); err != nil { // fmt.Println("第一处")
return nil, err // if rep, err = a.SupplyLogic.UpdateSupplyInfo(req); err != nil {
} // return nil, err
return rep, nil // }
} // return rep, nil
//}
func (a *SupplyProvider) UpdateSupplyInfo(ctx context.Context, req *supplyinfo.UpdateSupplyInfoRequest) (rep *supplyinfo.UpdateSupplyInfoRespond, err error) { //
fmt.Println("第一处") //func (a *SupplyProvider) GetVideoList(ctx context.Context, req *supplyinfo.GetVideoListRequest) (rep *supplyinfo.GetVideoListRespond, err error) {
if rep, err = a.SupplyLogic.UpdateSupplyInfo(req); err != nil { // fmt.Println("第一处")
return nil, err // if rep, err = a.SupplyLogic.GetVideoList(req); err != nil {
} // return nil, err
return rep, nil // }
} // return rep, nil
//}
func (a *SupplyProvider) GetVideoList(ctx context.Context, req *supplyinfo.GetVideoListRequest) (rep *supplyinfo.GetVideoListRespond, err error) { //
fmt.Println("第一处") //func (a *SupplyProvider) GetVideo(ctx context.Context, req *supplyinfo.GetVideoRequest) (rep *supplyinfo.GetVideoListData, err error) {
if rep, err = a.SupplyLogic.GetVideoList(req); err != nil { // fmt.Println("第一处")
return nil, err // if rep, err = a.SupplyLogic.GetVideo(req); err != nil {
} // return nil, err
return rep, nil // }
} // return rep, nil
//}
func (a *SupplyProvider) GetVideo(ctx context.Context, req *supplyinfo.GetVideoRequest) (rep *supplyinfo.GetVideoListData, err error) { //
fmt.Println("第一处") //func (a *SupplyProvider) UpdateVideo(ctx context.Context, req *supplyinfo.UpdateVideoRequest) (rep *supplyinfo.UpdateVideoRespond, err error) {
if rep, err = a.SupplyLogic.GetVideo(req); err != nil { // fmt.Println("第一处")
return nil, err // if rep, err = a.SupplyLogic.UpdateVideo(req); err != nil {
} // return nil, err
return rep, nil // }
} // return rep, nil
//}
func (a *SupplyProvider) UpdateVideo(ctx context.Context, req *supplyinfo.UpdateVideoRequest) (rep *supplyinfo.UpdateVideoRespond, err error) { //
fmt.Println("第一处") //func (a *SupplyProvider) GetExam(ctx context.Context, req *supplyinfo.GetExamRequest) (rep *supplyinfo.GetExamListData, err error) {
if rep, err = a.SupplyLogic.UpdateVideo(req); err != nil { // fmt.Println("第一处")
return nil, err // if rep, err = a.SupplyLogic.GetExam(req); err != nil {
} // return nil, err
return rep, nil // }
} // return rep, nil
//}
func (a *SupplyProvider) GetExam(ctx context.Context, req *supplyinfo.GetExamRequest) (rep *supplyinfo.GetExamListData, err error) { //
fmt.Println("第一处") //func (a *SupplyProvider) GetExamList(ctx context.Context, req *supplyinfo.GetExamListRequest) (rep *supplyinfo.GetExamListRespond, err error) {
if rep, err = a.SupplyLogic.GetExam(req); err != nil { // fmt.Println("第一处")
return nil, err // if rep, err = a.SupplyLogic.GetExamList(req); err != nil {
} // return nil, err
return rep, nil // }
} // return rep, nil
//}
func (a *SupplyProvider) GetExamList(ctx context.Context, req *supplyinfo.GetExamListRequest) (rep *supplyinfo.GetExamListRespond, err error) { //
fmt.Println("第一处") //func (a *SupplyProvider) UpdateExam(ctx context.Context, req *supplyinfo.UpdateExamRequest) (rep *supplyinfo.UpdateExamRespond, err error) {
if rep, err = a.SupplyLogic.GetExamList(req); err != nil { // fmt.Println("第一处")
return nil, err // if rep, err = a.SupplyLogic.UpdateExam(req); err != nil {
} // return nil, err
return rep, nil // }
} // return rep, nil
//}
func (a *SupplyProvider) UpdateExam(ctx context.Context, req *supplyinfo.UpdateExamRequest) (rep *supplyinfo.UpdateExamRespond, err error) { //
fmt.Println("第一处") //func (a *SupplyProvider) GetArtistInfoList(ctx context.Context, req *supplyinfo.GetArtistInfoListRequest) (rep *supplyinfo.GetArtistInfoListRespond, err error) {
if rep, err = a.SupplyLogic.UpdateExam(req); err != nil { // fmt.Println("第一处")
return nil, err // if rep, err = a.SupplyLogic.GetArtistInfoList(req); err != nil {
} // return nil, err
return rep, nil // }
} // return rep, nil
//}
func (a *SupplyProvider) GetArtistInfoList(ctx context.Context, req *supplyinfo.GetArtistInfoListRequest) (rep *supplyinfo.GetArtistInfoListRespond, err error) { //
fmt.Println("第一处") //func (a *SupplyProvider) GetArtistInfo(ctx context.Context, req *supplyinfo.GetArtistInfoRequest) (rep *supplyinfo.GetArtistInfoListData, err error) {
if rep, err = a.SupplyLogic.GetArtistInfoList(req); err != nil { // fmt.Println("第一处")
return nil, err // if rep, err = a.SupplyLogic.GetArtistInfo(req); err != nil {
} // return nil, err
return rep, nil // }
} // return rep, nil
//}
func (a *SupplyProvider) GetArtistInfo(ctx context.Context, req *supplyinfo.GetArtistInfoRequest) (rep *supplyinfo.GetArtistInfoListData, err error) { //
fmt.Println("第一处") //func (a *SupplyProvider) UpdateArtistInfo(ctx context.Context, req *supplyinfo.UpdateArtistInfoRequest) (rep *supplyinfo.UpdateArtistInfoRespond, err error) {
if rep, err = a.SupplyLogic.GetArtistInfo(req); err != nil { // fmt.Println("第一处")
return nil, err // if rep, err = a.SupplyLogic.UpdateArtistInfo(req); err != nil {
} // return nil, err
return rep, nil // }
} // return rep, nil
//}
func (a *SupplyProvider) UpdateArtistInfo(ctx context.Context, req *supplyinfo.UpdateArtistInfoRequest) (rep *supplyinfo.UpdateArtistInfoRespond, err error) {
fmt.Println("第一处")
if rep, err = a.SupplyLogic.UpdateArtistInfo(req); err != nil {
return nil, err
}
return rep, nil
}

View File

@ -386,30 +386,30 @@ func UnFinishList(req *artistInfoUser.UnFinishListRequest) (rep *artistInfoUser.
// return nil, err // return nil, err
//} //}
//rep.AccountStateList = accountStateCount //rep.AccountStateList = accountStateCount
var supplyInfo model.SupplyInfo //var supplyInfo model.SupplyInfo
var supplyInfoCount int64 //var supplyInfoCount int64
if err := db.DB.Model(&supplyInfo).Where("types = ? and user_id = ? ", "1", user.ID).Count(&supplyInfoCount).Error; err != nil { //if err := db.DB.Model(&supplyInfo).Where("types = ? and user_id = ? ", "1", user.ID).Count(&supplyInfoCount).Error; err != nil {
zap.L().Error("get user info err", zap.Error(err)) // zap.L().Error("get user info err", zap.Error(err))
err = errors.New(m.ERROR_SELECT) // err = errors.New(m.ERROR_SELECT)
return nil, err // return nil, err
} //}
rep.SupplyInfoList += supplyInfoCount //rep.SupplyInfoList += supplyInfoCount
var exhVideo model.ExhVideo //var exhVideo model.ExhVideo
var exhVideoCount int64 //var exhVideoCount int64
if err := db.DB.Model(&exhVideo).Where("types = ? and user_id = ? ", "1", user.ID).Count(&exhVideoCount).Error; err != nil { //if err := db.DB.Model(&exhVideo).Where("types = ? and user_id = ? ", "1", user.ID).Count(&exhVideoCount).Error; err != nil {
zap.L().Error("get user info err", zap.Error(err)) // zap.L().Error("get user info err", zap.Error(err))
err = errors.New(m.ERROR_SELECT) // err = errors.New(m.ERROR_SELECT)
return nil, err // return nil, err
} //}
rep.SupplyInfoList += exhVideoCount //rep.SupplyInfoList += exhVideoCount
var exhExam model.ExhExam //var exhExam model.ExhExam
var exhExamCount int64 //var exhExamCount int64
if err := db.DB.Model(&exhExam).Where("types = ? and user_id = ? ", "1", user.ID).Count(&exhExamCount).Error; err != nil { //if err := db.DB.Model(&exhExam).Where("types = ? and user_id = ? ", "1", user.ID).Count(&exhExamCount).Error; err != nil {
zap.L().Error("get user info err", zap.Error(err)) // zap.L().Error("get user info err", zap.Error(err))
err = errors.New(m.ERROR_SELECT) // err = errors.New(m.ERROR_SELECT)
return nil, err // return nil, err
} //}
rep.SupplyInfoList += exhExamCount //rep.SupplyInfoList += exhExamCount
return rep, nil return rep, nil
} }

View File

@ -117,7 +117,7 @@ func GetArtworkLockRecords(req *artistInfoArtwork.GetArtworkLockRecordsRequest)
case artistInfoArtwork.ArtworkQueryMode_NowPreSaveArtwork: //当前暂存的画作 case artistInfoArtwork.ArtworkQueryMode_NowPreSaveArtwork: //当前暂存的画作
tx = tx.Where("status = 1") tx = tx.Where("status = 1")
case artistInfoArtwork.ArtworkQueryMode_NowLockedArtwork: //当前已锁定的画作 case artistInfoArtwork.ArtworkQueryMode_NowLockedArtwork: //当前已锁定的画作
tx = tx.Where("status = 2", req.ArtistUid) tx = tx.Where("status = 2")
case artistInfoArtwork.ArtworkQueryMode_ArtistCanSee: //画家能看到的画作(暂存和锁定) //弃用,画家看到的是暂存的画作 case artistInfoArtwork.ArtworkQueryMode_ArtistCanSee: //画家能看到的画作(暂存和锁定) //弃用,画家看到的是暂存的画作
tx = tx.Where("status < 3") tx = tx.Where("status < 3")
case artistInfoArtwork.ArtworkQueryMode_AllUnlockArtwork: //所有已解锁的画作(历史画作) case artistInfoArtwork.ArtworkQueryMode_AllUnlockArtwork: //所有已解锁的画作(历史画作)
@ -125,6 +125,9 @@ func GetArtworkLockRecords(req *artistInfoArtwork.GetArtworkLockRecordsRequest)
//case artistInfoArtwork.ArtworkQueryMode_AllHistoryArtwork: //所有历史画作 //case artistInfoArtwork.ArtworkQueryMode_AllHistoryArtwork: //所有历史画作
// tx = tx.Where("status > 1") // tx = tx.Where("status > 1")
} }
if req.AuditStatus != 0 {
tx = tx.Where("audit_status = ?", req.AuditStatus)
}
err = tx.Find(&datas).Error err = tx.Find(&datas).Error
for _, v := range datas { for _, v := range datas {
resp.Data = append(resp.Data, &artistInfoArtwork.ArtistLockInfo{ resp.Data = append(resp.Data, &artistInfoArtwork.ArtistLockInfo{

View File

@ -2,6 +2,7 @@ package dao
import ( import (
"errors" "errors"
"github.com/fonchain/fonchain-artistinfo/cmd/model/old"
"time" "time"
"github.com/fonchain/fonchain-artistinfo/cmd/model" "github.com/fonchain/fonchain-artistinfo/cmd/model"
@ -12,7 +13,7 @@ import (
) )
func FinishContract(id string) (err error) { func FinishContract(id string) (err error) {
var contracts model.Contract var contracts old.Contract
if err = db.DB.Where("transaction_id = ?", id).First(&contracts).Error; err != nil { if err = db.DB.Where("transaction_id = ?", id).First(&contracts).Error; err != nil {
zap.L().Error("get contract info err", zap.Error(err)) zap.L().Error("get contract info err", zap.Error(err))
err = errors.New(m.ERROR_SELECT) err = errors.New(m.ERROR_SELECT)
@ -59,7 +60,7 @@ func ContractList(req *contract.ContractListRequest) (rep *contract.ContractList
args = append(args, req.State) args = append(args, req.State)
} }
var contractModel []model.Contract var contractModel []old.Contract
if err = db.DB.Where(sqlWhere, args...).Find(&contractModel).Error; err != nil { if err = db.DB.Where(sqlWhere, args...).Find(&contractModel).Error; err != nil {
zap.L().Error("get contractModels info err", zap.Error(err)) zap.L().Error("get contractModels info err", zap.Error(err))
err = errors.New(m.ERROR_SELECT) err = errors.New(m.ERROR_SELECT)
@ -150,7 +151,7 @@ func ContractTxList(req *contract.ContractTxListRequest) (rep *contract.Contract
} }
func GetContract(id int32) (rep *contract.ContractData, err error) { func GetContract(id int32) (rep *contract.ContractData, err error) {
var con model.Contract var con old.Contract
if err = db.DB.Where("id = ? ", id).First(&con).Error; err != nil { if err = db.DB.Where("id = ? ", id).First(&con).Error; err != nil {
zap.L().Error("get contract info err", zap.Error(err)) zap.L().Error("get contract info err", zap.Error(err))
err = errors.New(m.ERROR_SELECT) err = errors.New(m.ERROR_SELECT)
@ -175,8 +176,8 @@ func GetContract(id int32) (rep *contract.ContractData, err error) {
// 更新交易id // 更新交易id
func UpdateContract(req *contract.UpdateContractRequest) error { func UpdateContract(req *contract.UpdateContractRequest) error {
//数据库操作异常 //数据库操作异常
var con model.Contract var con old.Contract
if err := db.DB.Model(&con).Updates(&model.Contract{ContractId: req.ContractId, ViewUrl: req.ViewUrl, DownloadUrl: req.DownloadUrl}).Error; err != nil { if err := db.DB.Model(&con).Updates(&old.Contract{ContractId: req.ContractId, ViewUrl: req.ViewUrl, DownloadUrl: req.DownloadUrl}).Error; err != nil {
return err return err
} }
return nil return nil
@ -184,7 +185,7 @@ func UpdateContract(req *contract.UpdateContractRequest) error {
// 更新交易id // 更新交易id
func UpdateContractTx(txId string, contractId int32) (err error) { func UpdateContractTx(txId string, contractId int32) (err error) {
var con model.Contract var con old.Contract
con.ID = contractId con.ID = contractId
if err = db.DB.Model(&con).Update("transaction_id", txId).Error; err != nil { if err = db.DB.Model(&con).Update("transaction_id", txId).Error; err != nil {
return return

View File

@ -1,398 +1,388 @@
package dao package dao
import ( //
"encoding/json" //func GetSupplyInfoList(id, num int32) (rep *supplyinfo.GetSupplyInfoListRespond, err error) {
"errors" // rep = &supplyinfo.GetSupplyInfoListRespond{}
// var datas []*supplyinfo.GetSupplyInfoData
"github.com/fonchain/fonchain-artistinfo/cmd/model" //
"github.com/fonchain/fonchain-artistinfo/pb/supplyinfo" // var supplyInfoList []model.SupplyInfo
db "github.com/fonchain/fonchain-artistinfo/pkg/db" // if err := db.DB.Where("user_id = ? and types <= ?", id, num).Find(&supplyInfoList).Error; err != nil {
"github.com/fonchain/fonchain-artistinfo/pkg/m" // zap.L().Error("get supplyInfo infos err", zap.Error(err))
"go.uber.org/zap" // err = errors.New(m.ERROR_SELECT)
) // return nil, err
// }
func GetSupplyInfoList(id, num int32) (rep *supplyinfo.GetSupplyInfoListRespond, err error) { //
rep = &supplyinfo.GetSupplyInfoListRespond{} // for i, v := range supplyInfoList {
var datas []*supplyinfo.GetSupplyInfoData // supplyInfoList[i].CreateTime = v.CreatedAt.Format("2006-01-02")
// data := &supplyinfo.GetSupplyInfoData{}
var supplyInfoList []model.SupplyInfo // data.ID = uint64(supplyInfoList[i].ID)
if err := db.DB.Where("user_id = ? and types <= ?", id, num).Find(&supplyInfoList).Error; err != nil { // data.ArtworkId = supplyInfoList[i].ArtworkId
zap.L().Error("get supplyInfo infos err", zap.Error(err)) // data.ArtistId = supplyInfoList[i].ArtistId
err = errors.New(m.ERROR_SELECT) // data.UserId = uint64(supplyInfoList[i].UserId)
return nil, err // data.Name = supplyInfoList[i].Name
} // data.ModelYear = supplyInfoList[i].ModelYear
// data.Photo = supplyInfoList[i].Photo
for i, v := range supplyInfoList { // data.ArtistPhoto = supplyInfoList[i].ArtistPhoto
supplyInfoList[i].CreateTime = v.CreatedAt.Format("2006-01-02") // data.Width = uint64(supplyInfoList[i].Width)
data := &supplyinfo.GetSupplyInfoData{} // data.Height = uint64(supplyInfoList[i].Height)
data.ID = uint64(supplyInfoList[i].ID) // data.Ruler = uint64(supplyInfoList[i].Ruler)
data.ArtworkId = supplyInfoList[i].ArtworkId // data.ExhibitInfo = supplyInfoList[i].ExhibitInfo
data.ArtistId = supplyInfoList[i].ArtistId // data.ExhibitPic1 = supplyInfoList[i].ExhibitPic1
data.UserId = uint64(supplyInfoList[i].UserId) // data.ExhibitPic2 = supplyInfoList[i].ExhibitPic2
data.Name = supplyInfoList[i].Name // data.CreateTime = supplyInfoList[i].CreateTime
data.ModelYear = supplyInfoList[i].ModelYear // data.Introduct = supplyInfoList[i].Introduct
data.Photo = supplyInfoList[i].Photo // data.NetworkTrace = supplyInfoList[i].NetworkTrace
data.ArtistPhoto = supplyInfoList[i].ArtistPhoto // data.CreateAddress = supplyInfoList[i].CreateAddress
data.Width = uint64(supplyInfoList[i].Width) // data.Url = supplyInfoList[i].Url
data.Height = uint64(supplyInfoList[i].Height) // data.Types = supplyInfoList[i].State
data.Ruler = uint64(supplyInfoList[i].Ruler) // data.Remark = supplyInfoList[i].Remark
data.ExhibitInfo = supplyInfoList[i].ExhibitInfo // data.Remark2 = supplyInfoList[i].Remark2
data.ExhibitPic1 = supplyInfoList[i].ExhibitPic1 // data.Enable = supplyInfoList[i].Enable
data.ExhibitPic2 = supplyInfoList[i].ExhibitPic2 // datas = append(datas, data)
data.CreateTime = supplyInfoList[i].CreateTime // }
data.Introduct = supplyInfoList[i].Introduct // rep.Data = datas
data.NetworkTrace = supplyInfoList[i].NetworkTrace //
data.CreateAddress = supplyInfoList[i].CreateAddress // return
data.Url = supplyInfoList[i].Url //}
data.Types = supplyInfoList[i].State //
data.Remark = supplyInfoList[i].Remark //func GetSupplyInfo(req *supplyinfo.GetSupplyInfoRequest) (rep *supplyinfo.GetSupplyInfoData, err error) {
data.Remark2 = supplyInfoList[i].Remark2 // rep = &supplyinfo.GetSupplyInfoData{}
data.Enable = supplyInfoList[i].Enable //
datas = append(datas, data) // var supplyInfoTmp model.SupplyInfo
} // if err := db.DB.Where("id = ?", req.Id).Find(&supplyInfoTmp).Error; err != nil {
rep.Data = datas // zap.L().Error("get supplyInfo infos err", zap.Error(err))
// err = errors.New(m.ERROR_SELECT)
return // return nil, err
} // }
// rep.ID = uint64(supplyInfoTmp.ID)
func GetSupplyInfo(req *supplyinfo.GetSupplyInfoRequest) (rep *supplyinfo.GetSupplyInfoData, err error) { // rep.ArtworkId = supplyInfoTmp.ArtworkId
rep = &supplyinfo.GetSupplyInfoData{} // rep.ArtistId = supplyInfoTmp.ArtistId
// rep.UserId = uint64(supplyInfoTmp.UserId)
var supplyInfoTmp model.SupplyInfo // rep.Name = supplyInfoTmp.Name
if err := db.DB.Where("id = ?", req.Id).Find(&supplyInfoTmp).Error; err != nil { // rep.ModelYear = supplyInfoTmp.ModelYear
zap.L().Error("get supplyInfo infos err", zap.Error(err)) // rep.Photo = supplyInfoTmp.Photo
err = errors.New(m.ERROR_SELECT) // rep.ArtistPhoto = supplyInfoTmp.ArtistPhoto
return nil, err // rep.Width = uint64(supplyInfoTmp.Width)
} // rep.Height = uint64(supplyInfoTmp.Height)
rep.ID = uint64(supplyInfoTmp.ID) // rep.Ruler = uint64(supplyInfoTmp.Ruler)
rep.ArtworkId = supplyInfoTmp.ArtworkId // rep.ExhibitInfo = supplyInfoTmp.ExhibitInfo
rep.ArtistId = supplyInfoTmp.ArtistId // rep.ExhibitPic1 = supplyInfoTmp.ExhibitPic1
rep.UserId = uint64(supplyInfoTmp.UserId) // rep.ExhibitPic2 = supplyInfoTmp.ExhibitPic2
rep.Name = supplyInfoTmp.Name // rep.CreateTime = supplyInfoTmp.CreateTime
rep.ModelYear = supplyInfoTmp.ModelYear // rep.Introduct = supplyInfoTmp.Introduct
rep.Photo = supplyInfoTmp.Photo // rep.NetworkTrace = supplyInfoTmp.NetworkTrace
rep.ArtistPhoto = supplyInfoTmp.ArtistPhoto // rep.CreateAddress = supplyInfoTmp.CreateAddress
rep.Width = uint64(supplyInfoTmp.Width) // rep.Url = supplyInfoTmp.Url
rep.Height = uint64(supplyInfoTmp.Height) // rep.Types = supplyInfoTmp.State
rep.Ruler = uint64(supplyInfoTmp.Ruler) // rep.Remark = supplyInfoTmp.Remark
rep.ExhibitInfo = supplyInfoTmp.ExhibitInfo // rep.Remark2 = supplyInfoTmp.Remark2
rep.ExhibitPic1 = supplyInfoTmp.ExhibitPic1 // rep.Enable = supplyInfoTmp.Enable
rep.ExhibitPic2 = supplyInfoTmp.ExhibitPic2 //
rep.CreateTime = supplyInfoTmp.CreateTime // return
rep.Introduct = supplyInfoTmp.Introduct //}
rep.NetworkTrace = supplyInfoTmp.NetworkTrace //
rep.CreateAddress = supplyInfoTmp.CreateAddress //func UpdateSupplyInfo(req *supplyinfo.UpdateSupplyInfoRequest) (rep *supplyinfo.UpdateSupplyInfoRespond, err error) {
rep.Url = supplyInfoTmp.Url // var SupplyInfo model.SupplyInfo
rep.Types = supplyInfoTmp.State // if err := db.DB.Where("id = ? ", req.ID).Find(&SupplyInfo).Error; err != nil {
rep.Remark = supplyInfoTmp.Remark // zap.L().Error("get supplyInfo info err", zap.Error(err))
rep.Remark2 = supplyInfoTmp.Remark2 // err = errors.New(m.ERROR_SELECT)
rep.Enable = supplyInfoTmp.Enable // return nil, err
// }
return //
} // SupplyInfo.CreateTime = req.CreateTime
// SupplyInfo.ModelYear = req.ModelYear
func UpdateSupplyInfo(req *supplyinfo.UpdateSupplyInfoRequest) (rep *supplyinfo.UpdateSupplyInfoRespond, err error) { // SupplyInfo.NetworkTrace = req.NetworkTrace
var SupplyInfo model.SupplyInfo // SupplyInfo.Url = req.Url
if err := db.DB.Where("id = ? ", req.ID).Find(&SupplyInfo).Error; err != nil { // SupplyInfo.Introduct = req.Introduct
zap.L().Error("get supplyInfo info err", zap.Error(err)) // SupplyInfo.State = req.Types
err = errors.New(m.ERROR_SELECT) // SupplyInfo.ExhibitInfo = req.ExhibitInfo
return nil, err // SupplyInfo.ExhibitPic1 = req.ExhibitPic1
} // SupplyInfo.ExhibitPic2 = req.ExhibitPic2
//
SupplyInfo.CreateTime = req.CreateTime // if err = db.DB.Save(&SupplyInfo).Error; err != nil {
SupplyInfo.ModelYear = req.ModelYear // zap.L().Error("save supplyInfo info err", zap.Error(err))
SupplyInfo.NetworkTrace = req.NetworkTrace // err = errors.New(m.SAVE_ERROR)
SupplyInfo.Url = req.Url // return
SupplyInfo.Introduct = req.Introduct // }
SupplyInfo.State = req.Types //
SupplyInfo.ExhibitInfo = req.ExhibitInfo // return
SupplyInfo.ExhibitPic1 = req.ExhibitPic1 //}
SupplyInfo.ExhibitPic2 = req.ExhibitPic2 //
//func GetVideoList(id int32) (rep *supplyinfo.GetVideoListRespond, err error) {
if err = db.DB.Save(&SupplyInfo).Error; err != nil { // rep = &supplyinfo.GetVideoListRespond{}
zap.L().Error("save supplyInfo info err", zap.Error(err)) // var datas []*supplyinfo.GetVideoListData
err = errors.New(m.SAVE_ERROR) //
return // var ExhVideo []model.ExhVideo
} // if err := db.DB.Where("user_id = ? and types <=4", id).Find(&ExhVideo).Error; err != nil {
// zap.L().Error("get exhVideo infos err", zap.Error(err))
return // err = errors.New(m.ERROR_SELECT)
} // return nil, err
// }
func GetVideoList(id int32) (rep *supplyinfo.GetVideoListRespond, err error) { //
rep = &supplyinfo.GetVideoListRespond{} // for _, v := range ExhVideo {
var datas []*supplyinfo.GetVideoListData // var data supplyinfo.GetVideoListData
// data.ID = uint64(v.ID)
var ExhVideo []model.ExhVideo // data.UserId = uint64(v.UserId)
if err := db.DB.Where("user_id = ? and types <=4", id).Find(&ExhVideo).Error; err != nil { // data.Url = v.Url
zap.L().Error("get exhVideo infos err", zap.Error(err)) // data.Types = v.State
err = errors.New(m.ERROR_SELECT) // data.Remark = v.Remark
return nil, err // data.Remark2 = v.Remark2
} // data.Enable = v.Enable
//
for _, v := range ExhVideo { // datas = append(datas, &data)
var data supplyinfo.GetVideoListData // }
data.ID = uint64(v.ID) //
data.UserId = uint64(v.UserId) // rep.Data = datas
data.Url = v.Url //
data.Types = v.State // return
data.Remark = v.Remark //}
data.Remark2 = v.Remark2 //
data.Enable = v.Enable //func GetVideo(req *supplyinfo.GetVideoRequest) (rep *supplyinfo.GetVideoListData, err error) {
// rep = &supplyinfo.GetVideoListData{}
datas = append(datas, &data) //
} // var ExhVideo model.ExhVideo
// if err := db.DB.Where("id = ?", req.ID).First(&ExhVideo).Error; err != nil {
rep.Data = datas // zap.L().Error("get exhVideo info err", zap.Error(err))
// err = errors.New(m.ERROR_SELECT)
return // return nil, err
} // }
//
func GetVideo(req *supplyinfo.GetVideoRequest) (rep *supplyinfo.GetVideoListData, err error) { // rep.ID = uint64(ExhVideo.ID)
rep = &supplyinfo.GetVideoListData{} // rep.UserId = uint64(ExhVideo.UserId)
// rep.Url = ExhVideo.Url
var ExhVideo model.ExhVideo // rep.Types = ExhVideo.State
if err := db.DB.Where("id = ?", req.ID).First(&ExhVideo).Error; err != nil { // rep.Remark = ExhVideo.Remark
zap.L().Error("get exhVideo info err", zap.Error(err)) // rep.Remark2 = ExhVideo.Remark2
err = errors.New(m.ERROR_SELECT) // rep.Enable = ExhVideo.Enable
return nil, err //
} // return
//}
rep.ID = uint64(ExhVideo.ID) //
rep.UserId = uint64(ExhVideo.UserId) //func UpdateVideo(req *supplyinfo.UpdateVideoRequest) (rep *supplyinfo.UpdateVideoRespond, err error) {
rep.Url = ExhVideo.Url // rep = &supplyinfo.UpdateVideoRespond{}
rep.Types = ExhVideo.State //
rep.Remark = ExhVideo.Remark // var ExhVideo model.ExhVideo
rep.Remark2 = ExhVideo.Remark2 // if err := db.DB.Where("id = ? ", req.ID).First(&ExhVideo).Error; err != nil {
rep.Enable = ExhVideo.Enable // zap.L().Error("get exhVideo info err", zap.Error(err))
// err = errors.New(m.ERROR_SELECT)
return // return nil, err
} // }
//
func UpdateVideo(req *supplyinfo.UpdateVideoRequest) (rep *supplyinfo.UpdateVideoRespond, err error) { // ExhVideo.Url = req.Url
rep = &supplyinfo.UpdateVideoRespond{} // ExhVideo.State = req.Types
//
var ExhVideo model.ExhVideo // if err := db.DB.Save(&ExhVideo).Error; err != nil {
if err := db.DB.Where("id = ? ", req.ID).First(&ExhVideo).Error; err != nil { // zap.L().Error("save exhVideo info err", zap.Error(err))
zap.L().Error("get exhVideo info err", zap.Error(err)) // err = errors.New(m.SAVE_ERROR)
err = errors.New(m.ERROR_SELECT) // return nil, err
return nil, err // }
} //
// return
ExhVideo.Url = req.Url //}
ExhVideo.State = req.Types //
//func GetExam(req *supplyinfo.GetExamRequest) (rep *supplyinfo.GetExamListData, err error) {
if err := db.DB.Save(&ExhVideo).Error; err != nil { // rep = &supplyinfo.GetExamListData{}
zap.L().Error("save exhVideo info err", zap.Error(err)) //
err = errors.New(m.SAVE_ERROR) // var ExhExam model.ExhExam
return nil, err // if err := db.DB.Where("id = ?", req.ID).First(&ExhExam).Error; err != nil {
} // zap.L().Error("get exhVideo info err", zap.Error(err))
// err = errors.New(m.ERROR_SELECT)
return // return nil, err
} // }
//
func GetExam(req *supplyinfo.GetExamRequest) (rep *supplyinfo.GetExamListData, err error) { // rep.ID = uint64(ExhExam.ID)
rep = &supplyinfo.GetExamListData{} // rep.UserId = uint64(ExhExam.UserId)
// rep.Title = ExhExam.Title
var ExhExam model.ExhExam // rep.Class = ExhExam.Class
if err := db.DB.Where("id = ?", req.ID).First(&ExhExam).Error; err != nil { // rep.TitleScore = uint64(ExhExam.TitleScore)
zap.L().Error("get exhVideo info err", zap.Error(err)) // rep.Score = ExhExam.Score
err = errors.New(m.ERROR_SELECT) // rep.Types = ExhExam.State
return nil, err // rep.Remark = ExhExam.Remark
} // rep.Remark2 = ExhExam.Remark2
// rep.Enable = ExhExam.Enable
rep.ID = uint64(ExhExam.ID) // return
rep.UserId = uint64(ExhExam.UserId) //}
rep.Title = ExhExam.Title //
rep.Class = ExhExam.Class //func GetExamList(req *supplyinfo.GetExamListRequest) (rep *supplyinfo.GetExamListRespond, err error) {
rep.TitleScore = uint64(ExhExam.TitleScore) // rep = &supplyinfo.GetExamListRespond{}
rep.Score = ExhExam.Score // var datas []*supplyinfo.GetExamListData
rep.Types = ExhExam.State //
rep.Remark = ExhExam.Remark // var ExhExam []model.ExhExam
rep.Remark2 = ExhExam.Remark2 // if err := db.DB.Where("user_id = ? and types <=4", req.ID).Find(&ExhExam).Error; err != nil {
rep.Enable = ExhExam.Enable // zap.L().Error("get exhVideo infos err", zap.Error(err))
return // err = errors.New(m.ERROR_SELECT)
} // return nil, err
// }
func GetExamList(req *supplyinfo.GetExamListRequest) (rep *supplyinfo.GetExamListRespond, err error) { //
rep = &supplyinfo.GetExamListRespond{} // for _, v := range ExhExam {
var datas []*supplyinfo.GetExamListData // var data supplyinfo.GetExamListData
//
var ExhExam []model.ExhExam // data.ID = uint64(v.ID)
if err := db.DB.Where("user_id = ? and types <=4", req.ID).Find(&ExhExam).Error; err != nil { // data.UserId = uint64(v.UserId)
zap.L().Error("get exhVideo infos err", zap.Error(err)) // data.Title = v.Title
err = errors.New(m.ERROR_SELECT) // data.Class = v.Class
return nil, err // data.TitleScore = uint64(v.TitleScore)
} // data.Score = v.Score
// data.Types = v.State
for _, v := range ExhExam { // data.Remark = v.Remark
var data supplyinfo.GetExamListData // data.Remark2 = v.Remark2
// data.Enable = v.Enable
data.ID = uint64(v.ID) //
data.UserId = uint64(v.UserId) // datas = append(datas, &data)
data.Title = v.Title // }
data.Class = v.Class //
data.TitleScore = uint64(v.TitleScore) // rep.Data = datas
data.Score = v.Score //
data.Types = v.State // return
data.Remark = v.Remark //}
data.Remark2 = v.Remark2 //
data.Enable = v.Enable //func UpdateExam(req *supplyinfo.UpdateExamRequest) (rep *supplyinfo.UpdateExamRespond, err error) {
// rep = &supplyinfo.UpdateExamRespond{}
datas = append(datas, &data) //
} // var ExhExam model.ExhExam
// if err := db.DB.Where("id = ? ", req.ID).First(&ExhExam).Error; err != nil {
rep.Data = datas // zap.L().Error("get exhVideo info err", zap.Error(err))
// err = errors.New(m.ERROR_SELECT)
return // return nil, err
} // }
//
func UpdateExam(req *supplyinfo.UpdateExamRequest) (rep *supplyinfo.UpdateExamRespond, err error) { // ExhExam.Score = req.Score
rep = &supplyinfo.UpdateExamRespond{} // ExhExam.Class = req.Class
// ExhExam.State = req.Types
var ExhExam model.ExhExam // ExhExam.Title = req.Title
if err := db.DB.Where("id = ? ", req.ID).First(&ExhExam).Error; err != nil { // ExhExam.Class = req.Class
zap.L().Error("get exhVideo info err", zap.Error(err)) // ExhExam.TitleScore = uint(req.TitleScore)
err = errors.New(m.ERROR_SELECT) // ExhExam.Score = req.Score
return nil, err // ExhExam.State = req.Types
} // ExhExam.Remark = req.Remark
// ExhExam.Remark2 = req.Remark2
ExhExam.Score = req.Score //
ExhExam.Class = req.Class // var score map[string]int32
ExhExam.State = req.Types // var titleScore int32
ExhExam.Title = req.Title //
ExhExam.Class = req.Class // json.Unmarshal([]byte(req.Score), &score)
ExhExam.TitleScore = uint(req.TitleScore) //
ExhExam.Score = req.Score // for _, v := range score {
ExhExam.State = req.Types // titleScore = titleScore + v
ExhExam.Remark = req.Remark // }
ExhExam.Remark2 = req.Remark2 //
// ExhExam.TitleScore = uint(titleScore)
var score map[string]int32 //
var titleScore int32 // if err = db.DB.Save(&ExhExam).Error; err != nil {
// zap.L().Error("save supplyInfo info err", zap.Error(err))
json.Unmarshal([]byte(req.Score), &score) // err = errors.New(m.SAVE_ERROR)
// return
for _, v := range score { // }
titleScore = titleScore + v //
} // if req.Types == "2" {
// type titleScore struct {
ExhExam.TitleScore = uint(titleScore) // UserId uint
// Score int
if err = db.DB.Save(&ExhExam).Error; err != nil { // }
zap.L().Error("save supplyInfo info err", zap.Error(err)) //
err = errors.New(m.SAVE_ERROR) // var tmp []model.ExhExam
return // if err = db.DB.Where("class = ?", req.Class).Order("title_score desc").Find(&tmp).Error; err != nil {
} // zap.L().Error("get exhExam infos err", zap.Error(err))
// err = errors.New(m.ERROR_SELECT)
if req.Types == "2" { // return nil, err
type titleScore struct { // }
UserId uint //
Score int // var ranking int
} // for k, v := range tmp {
// if v.UserId == uint(req.UserId) {
var tmp []model.ExhExam // ranking = k
if err = db.DB.Where("class = ?", req.Class).Order("title_score desc").Find(&tmp).Error; err != nil { // }
zap.L().Error("get exhExam infos err", zap.Error(err)) // }
err = errors.New(m.ERROR_SELECT) //
return nil, err // percent := (ranking + 1) / len(tmp) * 100
} // rep.Percent = int32(percent)
// return
var ranking int // }
for k, v := range tmp { //
if v.UserId == uint(req.UserId) { // return
ranking = k //}
} //
} //func GetArtistInfoList(id int32) (rep *supplyinfo.GetArtistInfoListRespond, err error) {
// rep = &supplyinfo.GetArtistInfoListRespond{}
percent := (ranking + 1) / len(tmp) * 100 // var datas []*supplyinfo.GetArtistInfoListData
rep.Percent = int32(percent) //
return // var artistInfoTmp []old.ArtistInfo
} // if err = db.DB.Where("user_id = ? and state <=4 ", id).Find(&artistInfoTmp).Error; err != nil {
// zap.L().Error("get artistInfo infos err", zap.Error(err))
return // err = errors.New(m.ERROR_SELECT)
} // return nil, err
// }
func GetArtistInfoList(id int32) (rep *supplyinfo.GetArtistInfoListRespond, err error) { //
rep = &supplyinfo.GetArtistInfoListRespond{} // for k, v := range artistInfoTmp {
var datas []*supplyinfo.GetArtistInfoListData // artistInfoTmp[k].Model.ID = v.ID
// data := &supplyinfo.GetArtistInfoListData{}
var artistInfoTmp []model.ArtistInfo //
if err = db.DB.Where("user_id = ? and state <=4 ", id).Find(&artistInfoTmp).Error; err != nil { // data.ID = uint64(artistInfoTmp[k].ID)
zap.L().Error("get artistInfo infos err", zap.Error(err)) // data.UserId = uint64(artistInfoTmp[k].UserId)
err = errors.New(m.ERROR_SELECT) // data.ArtistId = artistInfoTmp[k].ArtistId
return nil, err // data.BankAccount = artistInfoTmp[k].BankAccount
} // data.BankName = artistInfoTmp[k].BankName
// data.Introduct = artistInfoTmp[k].Introduct
for k, v := range artistInfoTmp { // data.CountryArtLevel = artistInfoTmp[k].CountryArtLevel
artistInfoTmp[k].Model.ID = v.ID // data.ArtistCertPic = artistInfoTmp[k].ArtistCertPic
data := &supplyinfo.GetArtistInfoListData{} // data.Remark = artistInfoTmp[k].Remark
// data.Remark2 = artistInfoTmp[k].Remark2
data.ID = uint64(artistInfoTmp[k].ID) // data.State = uint64(artistInfoTmp[k].State)
data.UserId = uint64(artistInfoTmp[k].UserId) //
data.ArtistId = artistInfoTmp[k].ArtistId // datas = append(datas, data)
data.BankAccount = artistInfoTmp[k].BankAccount // }
data.BankName = artistInfoTmp[k].BankName //
data.Introduct = artistInfoTmp[k].Introduct // rep.Data = datas
data.CountryArtLevel = artistInfoTmp[k].CountryArtLevel //
data.ArtistCertPic = artistInfoTmp[k].ArtistCertPic // return
data.Remark = artistInfoTmp[k].Remark //}
data.Remark2 = artistInfoTmp[k].Remark2 //
data.State = uint64(artistInfoTmp[k].State) //func GetArtistInfo(req *supplyinfo.GetArtistInfoRequest) (rep *supplyinfo.GetArtistInfoListData, err error) {
// rep = &supplyinfo.GetArtistInfoListData{}
datas = append(datas, data) //
} // var artistInfoTmp old.ArtistInfo
// if err := db.DB.Where("id = ?", req.ID).Find(&artistInfoTmp).Error; err != nil {
rep.Data = datas // zap.L().Error("get artistInfo info err", zap.Error(err))
// err = errors.New(m.ERROR_SELECT)
return // return nil, err
} // }
// rep.ID = uint64(artistInfoTmp.ID)
func GetArtistInfo(req *supplyinfo.GetArtistInfoRequest) (rep *supplyinfo.GetArtistInfoListData, err error) { // rep.UserId = uint64(artistInfoTmp.UserId)
rep = &supplyinfo.GetArtistInfoListData{} // rep.ArtistId = artistInfoTmp.ArtistId
// rep.BankAccount = artistInfoTmp.BankAccount
var artistInfoTmp model.ArtistInfo // rep.BankName = artistInfoTmp.BankName
if err := db.DB.Where("id = ?", req.ID).Find(&artistInfoTmp).Error; err != nil { // rep.Introduct = artistInfoTmp.Introduct
zap.L().Error("get artistInfo info err", zap.Error(err)) // rep.CountryArtLevel = artistInfoTmp.CountryArtLevel
err = errors.New(m.ERROR_SELECT) // rep.ArtistCertPic = artistInfoTmp.ArtistCertPic
return nil, err // rep.Remark = artistInfoTmp.Remark
} // rep.Remark2 = artistInfoTmp.Remark2
rep.ID = uint64(artistInfoTmp.ID) // rep.State = uint64(artistInfoTmp.State)
rep.UserId = uint64(artistInfoTmp.UserId) //
rep.ArtistId = artistInfoTmp.ArtistId // return
rep.BankAccount = artistInfoTmp.BankAccount //}
rep.BankName = artistInfoTmp.BankName //
rep.Introduct = artistInfoTmp.Introduct //func UpdateArtistInfo(req *supplyinfo.UpdateArtistInfoRequest) (rep *supplyinfo.UpdateArtistInfoRespond, err error) {
rep.CountryArtLevel = artistInfoTmp.CountryArtLevel // rep = &supplyinfo.UpdateArtistInfoRespond{}
rep.ArtistCertPic = artistInfoTmp.ArtistCertPic //
rep.Remark = artistInfoTmp.Remark // var artistInfoTmp old.ArtistInfo
rep.Remark2 = artistInfoTmp.Remark2 // if err := db.DB.Where("id = ? ", req.ID).Find(&artistInfoTmp).Error; err != nil {
rep.State = uint64(artistInfoTmp.State) // zap.L().Error("get artistInfo info err", zap.Error(err))
// err = errors.New(m.ERROR_SELECT)
return // return nil, err
} // }
//
func UpdateArtistInfo(req *supplyinfo.UpdateArtistInfoRequest) (rep *supplyinfo.UpdateArtistInfoRespond, err error) { // artistInfoTmp.BankAccount = req.BankAccount
rep = &supplyinfo.UpdateArtistInfoRespond{} // artistInfoTmp.BankName = req.BankName
// artistInfoTmp.Introduct = req.Introduct
var artistInfoTmp model.ArtistInfo // artistInfoTmp.State = uint(req.State)
if err := db.DB.Where("id = ? ", req.ID).Find(&artistInfoTmp).Error; err != nil { // artistInfoTmp.CountryArtLevel = req.CountryArtLevel
zap.L().Error("get artistInfo info err", zap.Error(err)) // artistInfoTmp.ArtistCertPic = req.ArtistCertPic
err = errors.New(m.ERROR_SELECT) //
return nil, err // if err = db.DB.Save(&artistInfoTmp).Error; err != nil {
} // zap.L().Error("save supplyInfo info err", zap.Error(err))
// err = errors.New(m.SAVE_ERROR)
artistInfoTmp.BankAccount = req.BankAccount // return
artistInfoTmp.BankName = req.BankName // }
artistInfoTmp.Introduct = req.Introduct //
artistInfoTmp.State = uint(req.State) // return
artistInfoTmp.CountryArtLevel = req.CountryArtLevel //}
artistInfoTmp.ArtistCertPic = req.ArtistCertPic
if err = db.DB.Save(&artistInfoTmp).Error; err != nil {
zap.L().Error("save supplyInfo info err", zap.Error(err))
err = errors.New(m.SAVE_ERROR)
return
}
return
}

View File

@ -1,88 +1,84 @@
package logic package logic
import ( //
"github.com/fonchain/fonchain-artistinfo/cmd/internal/dao" //type ISupply interface {
"github.com/fonchain/fonchain-artistinfo/pb/supplyinfo" // GetSupplyInfoList(req *supplyinfo.GetSupplyInfoListRequest) (rep *supplyinfo.GetSupplyInfoListRespond, err error)
) // GetSupplyInfo(req *supplyinfo.GetSupplyInfoRequest) (rep *supplyinfo.GetSupplyInfoData, err error)
// UpdateSupplyInfo(req *supplyinfo.UpdateSupplyInfoRequest) (rep *supplyinfo.UpdateSupplyInfoRespond, err error)
type ISupply interface { // GetVideoList(req *supplyinfo.GetVideoListRequest) (rep *supplyinfo.GetVideoListRespond, err error)
GetSupplyInfoList(req *supplyinfo.GetSupplyInfoListRequest) (rep *supplyinfo.GetSupplyInfoListRespond, err error) // GetVideo(req *supplyinfo.GetVideoRequest) (rep *supplyinfo.GetVideoListData, err error)
GetSupplyInfo(req *supplyinfo.GetSupplyInfoRequest) (rep *supplyinfo.GetSupplyInfoData, err error) // UpdateVideo(req *supplyinfo.UpdateVideoRequest) (rep *supplyinfo.UpdateVideoRespond, err error)
UpdateSupplyInfo(req *supplyinfo.UpdateSupplyInfoRequest) (rep *supplyinfo.UpdateSupplyInfoRespond, err error) // GetExam(req *supplyinfo.GetExamRequest) (rep *supplyinfo.GetExamListData, err error)
GetVideoList(req *supplyinfo.GetVideoListRequest) (rep *supplyinfo.GetVideoListRespond, err error) // GetExamList(req *supplyinfo.GetExamListRequest) (rep *supplyinfo.GetExamListRespond, err error)
GetVideo(req *supplyinfo.GetVideoRequest) (rep *supplyinfo.GetVideoListData, err error) // UpdateExam(req *supplyinfo.UpdateExamRequest) (rep *supplyinfo.UpdateExamRespond, err error)
UpdateVideo(req *supplyinfo.UpdateVideoRequest) (rep *supplyinfo.UpdateVideoRespond, err error) // GetArtistInfoList(req *supplyinfo.GetArtistInfoListRequest) (rep *supplyinfo.GetArtistInfoListRespond, err error)
GetExam(req *supplyinfo.GetExamRequest) (rep *supplyinfo.GetExamListData, err error) // GetArtistInfo(req *supplyinfo.GetArtistInfoRequest) (rep *supplyinfo.GetArtistInfoListData, err error)
GetExamList(req *supplyinfo.GetExamListRequest) (rep *supplyinfo.GetExamListRespond, err error) // UpdateArtistInfo(req *supplyinfo.UpdateArtistInfoRequest) (rep *supplyinfo.UpdateArtistInfoRespond, err error)
UpdateExam(req *supplyinfo.UpdateExamRequest) (rep *supplyinfo.UpdateExamRespond, err error) //}
GetArtistInfoList(req *supplyinfo.GetArtistInfoListRequest) (rep *supplyinfo.GetArtistInfoListRespond, err error) //
GetArtistInfo(req *supplyinfo.GetArtistInfoRequest) (rep *supplyinfo.GetArtistInfoListData, err error) //func NewSupply() ISupply {
UpdateArtistInfo(req *supplyinfo.UpdateArtistInfoRequest) (rep *supplyinfo.UpdateArtistInfoRespond, err error) // return &Supply{}
} //}
//
func NewSupply() ISupply { //type Supply struct {
return &Supply{} //}
} //
//func (a *Supply) GetSupplyInfoList(req *supplyinfo.GetSupplyInfoListRequest) (rep *supplyinfo.GetSupplyInfoListRespond, err error) {
type Supply struct { // rep, err = dao.GetSupplyInfoList(int32(req.ArtistId), int32(req.Types))
} // return
//}
func (a *Supply) GetSupplyInfoList(req *supplyinfo.GetSupplyInfoListRequest) (rep *supplyinfo.GetSupplyInfoListRespond, err error) { //
rep, err = dao.GetSupplyInfoList(int32(req.ArtistId), int32(req.Types)) //func (a *Supply) GetSupplyInfo(req *supplyinfo.GetSupplyInfoRequest) (rep *supplyinfo.GetSupplyInfoData, err error) {
return // rep, err = dao.GetSupplyInfo(req)
} // return
//}
func (a *Supply) GetSupplyInfo(req *supplyinfo.GetSupplyInfoRequest) (rep *supplyinfo.GetSupplyInfoData, err error) { //
rep, err = dao.GetSupplyInfo(req) //func (a *Supply) UpdateSupplyInfo(req *supplyinfo.UpdateSupplyInfoRequest) (rep *supplyinfo.UpdateSupplyInfoRespond, err error) {
return // rep, err = dao.UpdateSupplyInfo(req)
} // return
//}
func (a *Supply) UpdateSupplyInfo(req *supplyinfo.UpdateSupplyInfoRequest) (rep *supplyinfo.UpdateSupplyInfoRespond, err error) { //
rep, err = dao.UpdateSupplyInfo(req) //func (a *Supply) GetVideoList(req *supplyinfo.GetVideoListRequest) (rep *supplyinfo.GetVideoListRespond, err error) {
return // rep, err = dao.GetVideoList(int32(req.UserId))
} // return
//}
func (a *Supply) GetVideoList(req *supplyinfo.GetVideoListRequest) (rep *supplyinfo.GetVideoListRespond, err error) { //
rep, err = dao.GetVideoList(int32(req.UserId)) //func (a *Supply) GetVideo(req *supplyinfo.GetVideoRequest) (rep *supplyinfo.GetVideoListData, err error) {
return // rep, err = dao.GetVideo(req)
} // return
//}
func (a *Supply) GetVideo(req *supplyinfo.GetVideoRequest) (rep *supplyinfo.GetVideoListData, err error) { //
rep, err = dao.GetVideo(req) //func (a *Supply) UpdateVideo(req *supplyinfo.UpdateVideoRequest) (rep *supplyinfo.UpdateVideoRespond, err error) {
return // rep, err = dao.UpdateVideo(req)
} // return
//}
func (a *Supply) UpdateVideo(req *supplyinfo.UpdateVideoRequest) (rep *supplyinfo.UpdateVideoRespond, err error) { //
rep, err = dao.UpdateVideo(req) //func (a *Supply) GetExam(req *supplyinfo.GetExamRequest) (rep *supplyinfo.GetExamListData, err error) {
return // rep, err = dao.GetExam(req)
} // return
//}
func (a *Supply) GetExam(req *supplyinfo.GetExamRequest) (rep *supplyinfo.GetExamListData, err error) { //
rep, err = dao.GetExam(req) //func (a *Supply) GetExamList(req *supplyinfo.GetExamListRequest) (rep *supplyinfo.GetExamListRespond, err error) {
return // rep, err = dao.GetExamList(req)
} // return
//}
func (a *Supply) GetExamList(req *supplyinfo.GetExamListRequest) (rep *supplyinfo.GetExamListRespond, err error) { //
rep, err = dao.GetExamList(req) //func (a *Supply) UpdateExam(req *supplyinfo.UpdateExamRequest) (rep *supplyinfo.UpdateExamRespond, err error) {
return // rep, err = dao.UpdateExam(req)
} // return
//}
func (a *Supply) UpdateExam(req *supplyinfo.UpdateExamRequest) (rep *supplyinfo.UpdateExamRespond, err error) { //
rep, err = dao.UpdateExam(req) //func (a *Supply) GetArtistInfoList(req *supplyinfo.GetArtistInfoListRequest) (rep *supplyinfo.GetArtistInfoListRespond, err error) {
return // rep, err = dao.GetArtistInfoList(int32(req.UserId))
} // return
//}
func (a *Supply) GetArtistInfoList(req *supplyinfo.GetArtistInfoListRequest) (rep *supplyinfo.GetArtistInfoListRespond, err error) { //
rep, err = dao.GetArtistInfoList(int32(req.UserId)) //func (a *Supply) GetArtistInfo(req *supplyinfo.GetArtistInfoRequest) (rep *supplyinfo.GetArtistInfoListData, err error) {
return // rep, err = dao.GetArtistInfo(req)
} // return
//}
func (a *Supply) GetArtistInfo(req *supplyinfo.GetArtistInfoRequest) (rep *supplyinfo.GetArtistInfoListData, err error) { //
rep, err = dao.GetArtistInfo(req) //func (a *Supply) UpdateArtistInfo(req *supplyinfo.UpdateArtistInfoRequest) (rep *supplyinfo.UpdateArtistInfoRespond, err error) {
return // rep, err = dao.UpdateArtistInfo(req)
} // return
//}
func (a *Supply) UpdateArtistInfo(req *supplyinfo.UpdateArtistInfoRequest) (rep *supplyinfo.UpdateArtistInfoRespond, err error) {
rep, err = dao.UpdateArtistInfo(req)
return
}

View File

@ -4,6 +4,7 @@ import (
"encoding/json" "encoding/json"
"errors" "errors"
"fmt" "fmt"
"github.com/fonchain/fonchain-artistinfo/cmd/model/old"
"github.com/fonchain/fonchain-artistinfo/pb/old/artwork" "github.com/fonchain/fonchain-artistinfo/pb/old/artwork"
"github.com/fonchain/fonchain-artistinfo/cmd/model" "github.com/fonchain/fonchain-artistinfo/cmd/model"
@ -19,7 +20,7 @@ func ArtworkAdd(res *artwork.ArtworkAddRequest) (req *artwork.ArtworkAddRespond,
err = errors.New(m.ERROR_MARSHAL) err = errors.New(m.ERROR_MARSHAL)
return return
} }
artwork := &model.Artwork{ artwork := &old.Artwork{
ArtistId: res.ArtistId, ArtistId: res.ArtistId,
Name: res.Name, Name: res.Name,
ModelYear: res.ModelYear, ModelYear: res.ModelYear,
@ -46,7 +47,7 @@ func ArtworkAdd(res *artwork.ArtworkAddRequest) (req *artwork.ArtworkAddRespond,
} }
func UpdateArtwork(data *artwork.UpdateArtworkRequest) (err error) { func UpdateArtwork(data *artwork.UpdateArtworkRequest) (err error) {
var artwork model.Artwork var artwork old.Artwork
artwork.ID = int32(data.ID) artwork.ID = int32(data.ID)
if err = db.DB.First(&artwork).Error; err != nil { if err = db.DB.First(&artwork).Error; err != nil {
zap.L().Error("get artwork info err", zap.Error(err)) zap.L().Error("get artwork info err", zap.Error(err))
@ -86,7 +87,7 @@ func UpdateArtwork(data *artwork.UpdateArtworkRequest) (err error) {
} }
func DelArtwork(id int32) (err error) { func DelArtwork(id int32) (err error) {
if err = db.DB.Where("id = ?", id).Delete(&model.Artwork{}).Error; err != nil { if err = db.DB.Where("id = ?", id).Delete(&old.Artwork{}).Error; err != nil {
zap.L().Error("delete artwork info err", zap.Error(err)) zap.L().Error("delete artwork info err", zap.Error(err))
err = errors.New(m.ERROR_DELETE) err = errors.New(m.ERROR_DELETE)
return return
@ -96,7 +97,7 @@ func DelArtwork(id int32) (err error) {
} }
func ApproveArtwork(req *artwork.ApproveArtworkRequest) (rep *artwork.ApproveArtworkRespond, err error) { func ApproveArtwork(req *artwork.ApproveArtworkRequest) (rep *artwork.ApproveArtworkRespond, err error) {
var artwork model.Artwork var artwork old.Artwork
artwork.ID = req.ArtworkId artwork.ID = req.ArtworkId
var state int32 var state int32
if req.IsApprove { if req.IsApprove {
@ -104,7 +105,7 @@ func ApproveArtwork(req *artwork.ApproveArtworkRequest) (rep *artwork.ApproveArt
} else { } else {
state = 4 state = 4
} }
if err = db.DB.Model(&artwork).Updates(model.Artwork{State: state, Remark: req.Remark, Remark2: req.Remark2, ArtworkId: req.MgmtArtworkId}).Where("id", req.ArtworkId).Error; err != nil { if err = db.DB.Model(&artwork).Updates(old.Artwork{State: state, Remark: req.Remark, Remark2: req.Remark2, ArtworkId: req.MgmtArtworkId}).Where("id", req.ArtworkId).Error; err != nil {
zap.L().Error("get artwork info err", zap.Error(err)) zap.L().Error("get artwork info err", zap.Error(err))
err = errors.New(m.ERROR_SELECT) err = errors.New(m.ERROR_SELECT)
return return
@ -115,7 +116,7 @@ func GetArtworkList(req *artwork.GetArtworkListRequest) (rep *artwork.GetArtwork
rep = &artwork.GetArtworkListRespond{} rep = &artwork.GetArtworkListRespond{}
var datas []*artwork.UpdateArtworkRequest var datas []*artwork.UpdateArtworkRequest
fmt.Println("111") fmt.Println("111")
var artworkList []model.Artwork var artworkList []old.Artwork
//找到用户 p[] //找到用户 p[]
if err = db.DB.Order("created_at desc").Where("artist_id = ?", req.ID).Find(&artworkList).Error; err != nil { if err = db.DB.Order("created_at desc").Where("artist_id = ?", req.ID).Find(&artworkList).Error; err != nil {
fmt.Println("222") fmt.Println("222")
@ -154,7 +155,7 @@ func GetArtworkList(req *artwork.GetArtworkListRequest) (rep *artwork.GetArtwork
func GetArtwork(id int32) (rep *artwork.GetArtworkRespond, err error) { func GetArtwork(id int32) (rep *artwork.GetArtworkRespond, err error) {
rep = &artwork.GetArtworkRespond{} rep = &artwork.GetArtworkRespond{}
var artworkRes model.Artwork var artworkRes old.Artwork
if err = db.DB.Where("id = ?", id).First(&artworkRes).Error; err != nil { if err = db.DB.Where("id = ?", id).First(&artworkRes).Error; err != nil {
zap.L().Error("get artwork info err", zap.Error(err)) zap.L().Error("get artwork info err", zap.Error(err))
err = errors.New(m.ERROR_SELECT) err = errors.New(m.ERROR_SELECT)
@ -187,7 +188,7 @@ func GetArtwork(id int32) (rep *artwork.GetArtworkRespond, err error) {
} }
func UploadArtwork(Id uint64) (err error) { func UploadArtwork(Id uint64) (err error) {
var artwork model.Artwork var artwork old.Artwork
if err = db.DB.Find(&artwork, "id = ?", Id).Error; err != nil { if err = db.DB.Find(&artwork, "id = ?", Id).Error; err != nil {
zap.L().Error("get artwork info err", zap.Error(err)) zap.L().Error("get artwork info err", zap.Error(err))
err = errors.New(m.ERROR_SELECT) err = errors.New(m.ERROR_SELECT)
@ -238,7 +239,7 @@ func GetMgmtArtworkList(req *artwork.GetMgmtArtworkListRequest) (rep *artwork.Ge
return return
} }
rep.Count = uint64(artworkCount) rep.Count = uint64(artworkCount)
var artworkList []model.Artwork var artworkList []old.Artwork
//找到用户 //找到用户
sqlWhere = sqlWhere + " limit ?,? " sqlWhere = sqlWhere + " limit ?,? "
args = append(args, (req.Page-1)*req.PageSize) args = append(args, (req.Page-1)*req.PageSize)

71
cmd/model/artworkEx.go Normal file
View File

@ -0,0 +1,71 @@
// Package model -----------------------------
// @file : artworkEx.go
// @author : JJXu
// @contact : wavingbear@163.com
// @time : 2023/2/28 8:58
// -------------------------------------------
package model
import "fmt"
// 画展补充信息审批表
//type ArtExhibitionAudit struct {
// Model
// //ArtworkUid string `json:"artworkUid" gorm:"column:artwork_uid;comment:画作uid"`
// //ArtistUid string `json:"artistUid" gorm:"column:artist_uid;comment:画家uid"`
// //UserId int64 `json:"userId" gorm:"column:user_id;comment:画家宝用户id"`
// LockTime string `json:"lockTime" gorm:"column:lock_time;comment:锁定时间"`
// AuditType auditType `json:"auditType" gorm:"column:audit_type;comment:审批类型"`
// AuditModel
//}
//
//func (a ArtExhibitionAudit) TableName() string {
// return "art_exhibition_audit"
//}
//// 画作信息补充审批
//type AuditArtworkExt struct {
// AuditInfo ArtExhibitionAudit `json:"AuditInfo" gorm:"polymorphic:Owner;polymorphicValue:AuditType_ArtworkExt"`
//}
//
//// 画家视频资料补充审批
//type AuditArtistVideo struct {
// ArtworkId
// AuditInfo ArtExhibitionAudit `json:"AuditInfo" gorm:"polymorphic:Owner;polymorphicValue:AuditType_ArtistVideo"`
//}
//
//// 画家信息补充审批
//type AuditArtistExt struct {
// AuditInfo ArtExhibitionAudit `json:"AuditInfo" gorm:"polymorphic:Owner;polymorphicValue:AuditType_ArtistExt"`
//}
//
//// 画家指数补充审批
//type AuditArtistIndex struct {
// AuditInfo ArtExhibitionAudit `json:"AuditInfo" gorm:"polymorphic:Owner;polymorphicValue:AuditType_ArtistIndex"`
//}
// ======================================
// auditType 审批类型
type auditType int
const (
AuditType_ArtworkExt auditType = iota + 1
AuditType_ArtistVideo
AuditType_ArtistIndex
AuditType_ArtistExt
)
var auditTypeMapper = map[auditType]string{
AuditType_ArtworkExt: "画作信息补充审批",
AuditType_ArtistVideo: "画家视频资料补充审批",
AuditType_ArtistIndex: "画家指数补充审批",
AuditType_ArtistExt: "画家信息补充审批",
}
func (a auditType) String() string {
if str, ok := auditTypeMapper[a]; ok {
return str
} else {
return fmt.Sprintf("未知的审批类型:%d", int(a))
}
}

View File

@ -1,17 +0,0 @@
package model
type ArtworkLockRecord struct {
Model
ArtistUid string `json:"artistUid" gorm:"column:artist_uid;type:varchar(191);comment:画家uid"`
ArtworkUid string `json:"artworkUid" gorm:"column:artwork_uid;type:varchar(191);comment:画作uid"`
Status int64 `json:"status" gorm:"column:status;default:1;comment:1=准备/暂存 2=锁定 3=解锁"`
LockTime string `json:"lockTime" gorm:"column:lock_time;锁定时间"`
AuditStatus int64 `json:"auditStatus" gorm:"column:audit_status;default:1;comment:审核状态 1:待审核/暂存 2审核通过 3审核不通过"`
AuditMark string `json:"auditMark" gorm:"column:audit_mark;comment:审核备注"`
AuditMark2 string `json:"auditMark2" gorm:"column:audit_mark2;comment:审核备注2"`
//UserInfo User `gorm:"foreignKey:ArtistUid;reference:MgmtArtistUid"`
}
func (a ArtworkLockRecord) TableName() string {
return "artwork_lock_record"
}

View File

@ -1,9 +1,10 @@
package model package model
// 画家指数 // 画家指数
type ExhExam struct { type ArtworkExExam struct {
Model Model
UserId uint `gorm:"column:user_id;default:0;comment:账号id" json:"userId"` UserId uint `gorm:"column:user_id;default:0;comment:账号id" json:"userId"`
ArtistUid string `json:"artistUid" gorm:"column:artist_uid;comment:"`
Title string `gorm:"column:title;type:varchar(64);default:''" json:"title"` Title string `gorm:"column:title;type:varchar(64);default:''" json:"title"`
Class string `gorm:"column:class;type:varchar(25);default:''" json:"class"` Class string `gorm:"column:class;type:varchar(25);default:''" json:"class"`
TitleScore uint `gorm:"column:title_score;default:0" json:"titleScore"` TitleScore uint `gorm:"column:title_score;default:0" json:"titleScore"`
@ -14,6 +15,6 @@ type ExhExam struct {
Enable bool `gorm:"column:enable;default:0" json:"enable"` Enable bool `gorm:"column:enable;default:0" json:"enable"`
} }
func (e ExhExam) TableName() string { func (e ArtworkExExam) TableName() string {
return "exh_exam" return "artwork_ex_exam"
} }

View File

@ -0,0 +1,19 @@
package model
// 此表作为画家宝中的画作中间表的主表(画作主要数据保存在画作微服务中),请悉知
type ArtworkLockRecord struct {
Model
ArtistUid string `json:"artistUid" gorm:"column:artist_uid;type:varchar(191);comment:画家uid"`
ArtworkUid string `json:"artworkUid" gorm:"column:artwork_uid;type:varchar(191);comment:画作uid"`
Status int64 `json:"status" gorm:"column:status;default:1;comment:1=准备/暂存 2=锁定 3=解锁"`
LockTime string `json:"lockTime" gorm:"column:lock_time;comment:锁定时间"`
//画作补充信息审批记录
AuditStatus int64 `json:"auditStatus" gorm:"column:audit_status;default:1;comment:画作补充信息审核状态 1:待审核/暂存 2审核通过 3审核不通过"`
AuditMark string `json:"auditMark" gorm:"column:audit_mark;comment:审核备注"`
AuditMark2 string `json:"auditMark2" gorm:"column:audit_mark2;comment:审核备注2"`
//UserInfo User `gorm:"foreignKey:ArtistUid;reference:MgmtArtistUid"`
}
func (a ArtworkLockRecord) TableName() string {
return "artwork_lock_record"
}

View File

@ -11,3 +11,9 @@ type Model struct {
UpdatedAt time.Time `gorm:"column:updated_at" json:"updatedAt"` UpdatedAt time.Time `gorm:"column:updated_at" json:"updatedAt"`
DeletedAt soft_delete.DeletedAt `gorm:"column:deleted_at;type:bigint" json:"deletedAt"` DeletedAt soft_delete.DeletedAt `gorm:"column:deleted_at;type:bigint" json:"deletedAt"`
} }
type AuditModel struct {
AuditStatus int64 `json:"auditStatus" gorm:"column:audit_status;default:1;comment:审核状态 1:待审核/暂存 2审核通过 3审核不通过"`
AuditMark string `json:"auditMark" gorm:"column:audit_mark;comment:审核备注"`
AuditMark2 string `json:"auditMark2" gorm:"column:audit_mark2;comment:审核备注2"`
}

View File

@ -1,8 +1,10 @@
package model package old
import "github.com/fonchain/fonchain-artistinfo/cmd/model"
// User 用户模型 // User 用户模型
type ArtistInfo struct { type ArtistInfo struct {
Model model.Model
UserId uint `gorm:"not null default:0" json:"userId"` UserId uint `gorm:"not null default:0" json:"userId"`
ArtistId string `gorm:"type:varchar(256) default ''" json:"artistId"` ArtistId string `gorm:"type:varchar(256) default ''" json:"artistId"`
BankAccount string `gorm:"type:varchar(25) not null" json:"bankAccount"` BankAccount string `gorm:"type:varchar(25) not null" json:"bankAccount"`

View File

@ -1,8 +1,10 @@
package model package old
import "github.com/fonchain/fonchain-artistinfo/cmd/model"
// User 用户模型 // User 用户模型
type Artwork struct { type Artwork struct {
Model model.Model
ID int32 `gorm:"not null" json:"id"` ID int32 `gorm:"not null" json:"id"`
ArtistId uint64 `gorm:"not null" json:"artistId"` ArtistId uint64 `gorm:"not null" json:"artistId"`
Name string `gorm:"type:varchar(256) not null" json:"name"` Name string `gorm:"type:varchar(256) not null" json:"name"`

View File

@ -1,8 +1,10 @@
package model package old
import "github.com/fonchain/fonchain-artistinfo/cmd/model"
// User 用户模型 // User 用户模型
type ArtworkBatch struct { type ArtworkBatch struct {
Model model.Model
ID int32 `gorm:"not null"` ID int32 `gorm:"not null"`
BatchId int32 `gorm:"not null"` BatchId int32 `gorm:"not null"`
ArtistId int32 `gorm:"not null"` ArtistId int32 `gorm:"not null"`

View File

@ -1,8 +1,10 @@
package model package old
import "github.com/fonchain/fonchain-artistinfo/cmd/model"
// 考核 用户模型 // 考核 用户模型
type ArtworkState struct { type ArtworkState struct {
Model model.Model
ID int32 `gorm:"not null"` ID int32 `gorm:"not null"`
ArtworkId int32 `gorm:"default:0"` ArtworkId int32 `gorm:"default:0"`
State int32 `gorm:"default:0"` State int32 `gorm:"default:0"`

View File

@ -1,8 +1,10 @@
package model package old
import "github.com/fonchain/fonchain-artistinfo/cmd/model"
// User 用户模型 // User 用户模型
type Bank struct { type Bank struct {
Model model.Model
ID int32 `gorm:"not null"` ID int32 `gorm:"not null"`
UserId int32 `gorm:" not null"` UserId int32 `gorm:" not null"`
BankAccount string `gorm:"type:varchar(25) not null"` BankAccount string `gorm:"type:varchar(25) not null"`

View File

@ -1,8 +1,10 @@
package model package old
import "github.com/fonchain/fonchain-artistinfo/cmd/model"
// Contract 用户模型 // Contract 用户模型
type Contract struct { type Contract struct {
Model model.Model
ID int32 `gorm:"not null"` ID int32 `gorm:"not null"`
UserId int32 `gorm:"not null"` UserId int32 `gorm:"not null"`
CardId string `gorm:"type:varchar(256) default ''"` CardId string `gorm:"type:varchar(256) default ''"`

View File

@ -0,0 +1,55 @@
// Package model -----------------------------
// @file : temp_artwork_ext_data.go
// @author : JJXu
// @contact : wavingbear@163.com
// @time : 2023/2/28 11:51
// -------------------------------------------
package model
import (
"gorm.io/plugin/soft_delete"
"time"
)
type ArtworkExtData struct {
Id int32 `gorm:"column:id;primaryKey;autoIncrement:true" json:"Id"` //type:int32 comment:
ArtworkId int32 `gorm:"column:artwork_id" json:"ArtworkId"` //type:int32
ArtworkUuid string `gorm:"column:artwork_uuid" json:"ArtworkUuid"` //type:string comment:画作的uuid
ArtType int32 `gorm:"column:art_type" json:"ArtType"` //type:string comment:艺术类别
ArtTitle int32 `gorm:"column:art_title" json:"ArtTitle"` //type:string comment:艺术主题
ArtStyle int32 `gorm:"column:art_style" json:"ArtStyle"` //type:string comment:风格
Color int32 `gorm:"column:color" json:"Color"` //type:string comment:颜色
PenTechniques string `gorm:"column:pen_techniques" json:"PenTechniques"` //type:string comment:笔墨技法
ArtIdea string `gorm:"column:art_idea" json:"ArtIdea"` //type:string comment:绘画思想
ExpressIdea string `gorm:"column:express_idea" json:"ExpressIdea"` //type:string comment:表达思想
ArtStory string `gorm:"column:art_story" json:"ArtStory"` //type:string comment:创作背景故事
FirstPublish string `gorm:"column:first_publish" json:"FirstPublish"` //type:string comment:首次发表
FirstPublishImg string `gorm:"column:first_publish_img" json:"FirstPublishImg"` //type:string comment:首次发表截图
FirstName string `gorm:"column:first_name" json:"FirstName"` //type:string comment:首次命名
FirstNameImg string `gorm:"column:first_name_img" json:"FirstNameImg"` //type:string comment:首次命名截图
CopyrightHash string `gorm:"column:copyright_hash" json:"CopyrightHash"` //type:string comment:版权哈希
RealrightHash string `gorm:"column:realright_hash" json:"RealrightHash"` //type:string comment:物权哈希
SprayPosition string `gorm:"column:spray_position" json:"SprayPosition"` //type:string comment:喷涂位置
SprayRemark string `gorm:"column:spray_remark" json:"SprayRemark"` //type:string comment:喷涂备注
AuthDataHash string `gorm:"column:auth_data_hash" json:"AuthData"` //type:string comment:鉴证数据
DigiShootDate string `gorm:"column:digi_shoot_date" json:"DigiShootDate"` //type:string comment:数字化拍摄时间
DigiMakeDate string `gorm:"column:digi_make_date" json:"DigiMakeDate"` //type:string comment:数字化后期制作时间
DigiArtImg string `gorm:"column:digi_art_img" json:"DigiArtImg"` //type:string comment:数字化画作图
DigiArtCopyrightImg string `gorm:"column:digi_art_copyright_img" json:"DigiArtCopyrightImg"` //type:string comment:数字化画作版权图
DigiCopyrightInfo string `gorm:"column:digi_copyright_info" json:"DigiCopyrightInfo"` //type:string comment:数字化画作版权信息
DigiCopyrightFile string `gorm:"column:digi_copyright_file" json:"DigiCopyrightFile"` //type:string comment:数字化画作版权文件
Tags string `gorm:"column:tags" json:"Tags"` //type:string comment:选择标签
ThirdComment string `gorm:"column:third_comment" json:"ThirdComment"` //type:string comment:第三方评价
AuthTime string `gorm:"column:auth_time;comment:鉴证时间" json:"auth_time"`
AuthImg string `gorm:"column:auth_img" json:"AuthImg"` //type:string comment:鉴证图
Status int32 `gorm:"column:status;type:tinyint(4);default:1;comment:状态 正常 2 删除;NOT NULL" json:"status"`
CreatedAt time.Time `gorm:"column:created_at" json:"CreatedAt"` //type:int32 comment:
UpdatedAt time.Time `gorm:"column:updated_at" json:"UpdatedAt"` //type:int32 comment:
DeletedAt soft_delete.DeletedAt //type:int32 comment:
}
// TableName 表名:artwork_ext_data画作补充数据。
// 说明:
func (ArtworkExtData) TableName() string {
return "artwork_ext_data"
}

View File

@ -249,6 +249,7 @@ type GetArtworkLockRecordsRequest struct {
ArtistUid string `protobuf:"bytes,1,opt,name=artistUid,proto3" json:"artistUid,omitempty"` //画家uid ArtistUid string `protobuf:"bytes,1,opt,name=artistUid,proto3" json:"artistUid,omitempty"` //画家uid
QueryType ArtworkQueryMode `protobuf:"varint,2,opt,name=queryType,proto3,enum=artistinfo.ArtworkQueryMode" json:"queryType,omitempty"` //查询模式 QueryType ArtworkQueryMode `protobuf:"varint,2,opt,name=queryType,proto3,enum=artistinfo.ArtworkQueryMode" json:"queryType,omitempty"` //查询模式
AuditStatus int64 `protobuf:"varint,3,opt,name=AuditStatus,proto3" json:"AuditStatus,omitempty"` //审批状态 可选
} }
func (x *GetArtworkLockRecordsRequest) Reset() { func (x *GetArtworkLockRecordsRequest) Reset() {
@ -297,6 +298,13 @@ func (x *GetArtworkLockRecordsRequest) GetQueryType() ArtworkQueryMode {
return ArtworkQueryMode_NowPreSaveArtwork return ArtworkQueryMode_NowPreSaveArtwork
} }
func (x *GetArtworkLockRecordsRequest) GetAuditStatus() int64 {
if x != nil {
return x.AuditStatus
}
return 0
}
type ArtistLockInfo struct { type ArtistLockInfo struct {
state protoimpl.MessageState state protoimpl.MessageState
sizeCache protoimpl.SizeCache sizeCache protoimpl.SizeCache
@ -1025,7 +1033,7 @@ var file_pb_artistinfoArtwork_proto_rawDesc = []byte{
0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1c, 0x0a, 0x09, 0x61, 0x72, 0x74, 0x69, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1c, 0x0a, 0x09, 0x61, 0x72, 0x74, 0x69, 0x73,
0x74, 0x55, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x61, 0x72, 0x74, 0x69, 0x74, 0x55, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x61, 0x72, 0x74, 0x69,
0x73, 0x74, 0x55, 0x69, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x6c, 0x6f, 0x63, 0x6b, 0x18, 0x02, 0x20, 0x73, 0x74, 0x55, 0x69, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x6c, 0x6f, 0x63, 0x6b, 0x18, 0x02, 0x20,
0x01, 0x28, 0x05, 0x52, 0x04, 0x6c, 0x6f, 0x63, 0x6b, 0x22, 0x84, 0x01, 0x0a, 0x1c, 0x47, 0x65, 0x01, 0x28, 0x05, 0x52, 0x04, 0x6c, 0x6f, 0x63, 0x6b, 0x22, 0xa6, 0x01, 0x0a, 0x1c, 0x47, 0x65,
0x74, 0x41, 0x72, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x4c, 0x6f, 0x63, 0x6b, 0x52, 0x65, 0x63, 0x6f, 0x74, 0x41, 0x72, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x4c, 0x6f, 0x63, 0x6b, 0x52, 0x65, 0x63, 0x6f,
0x72, 0x64, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x28, 0x0a, 0x09, 0x61, 0x72, 0x72, 0x64, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x28, 0x0a, 0x09, 0x61, 0x72,
0x74, 0x69, 0x73, 0x74, 0x55, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0a, 0xba, 0x74, 0x69, 0x73, 0x74, 0x55, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0a, 0xba,
@ -1034,158 +1042,160 @@ var file_pb_artistinfoArtwork_proto_rawDesc = []byte{
0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x1c, 0x2e, 0x61, 0x72, 0x74, 0x69, 0x73, 0x74, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x1c, 0x2e, 0x61, 0x72, 0x74, 0x69, 0x73, 0x74,
0x69, 0x6e, 0x66, 0x6f, 0x2e, 0x41, 0x72, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x51, 0x75, 0x65, 0x72, 0x69, 0x6e, 0x66, 0x6f, 0x2e, 0x41, 0x72, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x51, 0x75, 0x65, 0x72,
0x79, 0x4d, 0x6f, 0x64, 0x65, 0x52, 0x09, 0x71, 0x75, 0x65, 0x72, 0x79, 0x54, 0x79, 0x70, 0x65, 0x79, 0x4d, 0x6f, 0x64, 0x65, 0x52, 0x09, 0x71, 0x75, 0x65, 0x72, 0x79, 0x54, 0x79, 0x70, 0x65,
0x22, 0xbc, 0x02, 0x0a, 0x0e, 0x41, 0x72, 0x74, 0x69, 0x73, 0x74, 0x4c, 0x6f, 0x63, 0x6b, 0x49, 0x12, 0x20, 0x0a, 0x0b, 0x41, 0x75, 0x64, 0x69, 0x74, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18,
0x6e, 0x66, 0x6f, 0x12, 0x1c, 0x0a, 0x09, 0x61, 0x72, 0x74, 0x69, 0x73, 0x74, 0x55, 0x69, 0x64, 0x03, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0b, 0x41, 0x75, 0x64, 0x69, 0x74, 0x53, 0x74, 0x61, 0x74,
0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x61, 0x72, 0x74, 0x69, 0x73, 0x74, 0x55, 0x69, 0x75, 0x73, 0x22, 0xbc, 0x02, 0x0a, 0x0e, 0x41, 0x72, 0x74, 0x69, 0x73, 0x74, 0x4c, 0x6f, 0x63,
0x64, 0x12, 0x1e, 0x0a, 0x0a, 0x61, 0x72, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x55, 0x69, 0x64, 0x18, 0x6b, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x1c, 0x0a, 0x09, 0x61, 0x72, 0x74, 0x69, 0x73, 0x74, 0x55,
0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x61, 0x72, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x55, 0x69, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x61, 0x72, 0x74, 0x69, 0x73, 0x74,
0x64, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x55, 0x69, 0x64, 0x12, 0x1e, 0x0a, 0x0a, 0x61, 0x72, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x55, 0x69,
0x03, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x1a, 0x0a, 0x08, 0x6c, 0x6f, 0x63, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x61, 0x72, 0x74, 0x77, 0x6f, 0x72, 0x6b,
0x6b, 0x54, 0x69, 0x6d, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6c, 0x6f, 0x63, 0x55, 0x69, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x03, 0x20,
0x6b, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x20, 0x0a, 0x0b, 0x61, 0x75, 0x64, 0x69, 0x74, 0x53, 0x74, 0x01, 0x28, 0x03, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x1a, 0x0a, 0x08, 0x6c,
0x61, 0x74, 0x75, 0x73, 0x18, 0x05, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0b, 0x61, 0x75, 0x64, 0x69, 0x6f, 0x63, 0x6b, 0x54, 0x69, 0x6d, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6c,
0x74, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x1c, 0x0a, 0x09, 0x61, 0x75, 0x64, 0x69, 0x74, 0x6f, 0x63, 0x6b, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x20, 0x0a, 0x0b, 0x61, 0x75, 0x64, 0x69, 0x74,
0x4d, 0x61, 0x72, 0x6b, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x61, 0x75, 0x64, 0x69, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x05, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0b, 0x61, 0x75,
0x74, 0x4d, 0x61, 0x72, 0x6b, 0x12, 0x1e, 0x0a, 0x0a, 0x61, 0x75, 0x64, 0x69, 0x74, 0x4d, 0x61, 0x64, 0x69, 0x74, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x1c, 0x0a, 0x09, 0x61, 0x75, 0x64,
0x72, 0x6b, 0x32, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x61, 0x75, 0x64, 0x69, 0x74, 0x69, 0x74, 0x4d, 0x61, 0x72, 0x6b, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x61, 0x75,
0x4d, 0x61, 0x72, 0x6b, 0x32, 0x12, 0x1c, 0x0a, 0x09, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x64, 0x69, 0x74, 0x4d, 0x61, 0x72, 0x6b, 0x12, 0x1e, 0x0a, 0x0a, 0x61, 0x75, 0x64, 0x69, 0x74,
0x41, 0x74, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x03, 0x52, 0x09, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x4d, 0x61, 0x72, 0x6b, 0x32, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x61, 0x75, 0x64,
0x64, 0x41, 0x74, 0x12, 0x1c, 0x0a, 0x09, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x69, 0x74, 0x4d, 0x61, 0x72, 0x6b, 0x32, 0x12, 0x1c, 0x0a, 0x09, 0x63, 0x72, 0x65, 0x61, 0x74,
0x18, 0x10, 0x20, 0x01, 0x28, 0x03, 0x52, 0x09, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x41, 0x65, 0x64, 0x41, 0x74, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x03, 0x52, 0x09, 0x63, 0x72, 0x65, 0x61,
0x74, 0x12, 0x1c, 0x0a, 0x09, 0x64, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x64, 0x41, 0x74, 0x18, 0x11, 0x74, 0x65, 0x64, 0x41, 0x74, 0x12, 0x1c, 0x0a, 0x09, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64,
0x20, 0x01, 0x28, 0x03, 0x52, 0x09, 0x64, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x64, 0x41, 0x74, 0x22, 0x41, 0x74, 0x18, 0x10, 0x20, 0x01, 0x28, 0x03, 0x52, 0x09, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65,
0x41, 0x0a, 0x0f, 0x41, 0x72, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x4c, 0x6f, 0x63, 0x6b, 0x4c, 0x69, 0x64, 0x41, 0x74, 0x12, 0x1c, 0x0a, 0x09, 0x64, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x64, 0x41, 0x74,
0x73, 0x74, 0x12, 0x2e, 0x0a, 0x04, 0x64, 0x61, 0x74, 0x61, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x18, 0x11, 0x20, 0x01, 0x28, 0x03, 0x52, 0x09, 0x64, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x64, 0x41,
0x32, 0x1a, 0x2e, 0x61, 0x72, 0x74, 0x69, 0x73, 0x74, 0x69, 0x6e, 0x66, 0x6f, 0x2e, 0x41, 0x72, 0x74, 0x22, 0x41, 0x0a, 0x0f, 0x41, 0x72, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x4c, 0x6f, 0x63, 0x6b,
0x74, 0x69, 0x73, 0x74, 0x4c, 0x6f, 0x63, 0x6b, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x04, 0x64, 0x61, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x2e, 0x0a, 0x04, 0x64, 0x61, 0x74, 0x61, 0x18, 0x01, 0x20, 0x03,
0x74, 0x61, 0x22, 0x32, 0x0a, 0x0e, 0x41, 0x72, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x55, 0x69, 0x64, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x61, 0x72, 0x74, 0x69, 0x73, 0x74, 0x69, 0x6e, 0x66, 0x6f, 0x2e,
0x4c, 0x69, 0x73, 0x74, 0x12, 0x20, 0x0a, 0x0b, 0x61, 0x72, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x55, 0x41, 0x72, 0x74, 0x69, 0x73, 0x74, 0x4c, 0x6f, 0x63, 0x6b, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x04,
0x69, 0x64, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0b, 0x61, 0x72, 0x74, 0x77, 0x6f, 0x64, 0x61, 0x74, 0x61, 0x22, 0x32, 0x0a, 0x0e, 0x41, 0x72, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x55,
0x72, 0x6b, 0x55, 0x69, 0x64, 0x73, 0x22, 0x3e, 0x0a, 0x1a, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x69, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x20, 0x0a, 0x0b, 0x61, 0x72, 0x74, 0x77, 0x6f, 0x72,
0x41, 0x72, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x52, 0x65, 0x71, 0x6b, 0x55, 0x69, 0x64, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0b, 0x61, 0x72, 0x74,
0x75, 0x65, 0x73, 0x74, 0x12, 0x20, 0x0a, 0x0b, 0x61, 0x72, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x55, 0x77, 0x6f, 0x72, 0x6b, 0x55, 0x69, 0x64, 0x73, 0x22, 0x3e, 0x0a, 0x1a, 0x44, 0x65, 0x6c, 0x65,
0x69, 0x64, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0b, 0x61, 0x72, 0x74, 0x77, 0x6f,
0x72, 0x6b, 0x55, 0x69, 0x64, 0x73, 0x22, 0x3c, 0x0a, 0x1c, 0x47, 0x65, 0x74, 0x41, 0x72, 0x74,
0x77, 0x6f, 0x72, 0x6b, 0x4c, 0x6f, 0x63, 0x6b, 0x48, 0x69, 0x73, 0x74, 0x6f, 0x72, 0x79, 0x52,
0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1c, 0x0a, 0x09, 0x61, 0x72, 0x74, 0x69, 0x73, 0x74,
0x55, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x61, 0x72, 0x74, 0x69, 0x73,
0x74, 0x55, 0x69, 0x64, 0x22, 0x49, 0x0a, 0x1b, 0x47, 0x65, 0x74, 0x41, 0x72, 0x74, 0x77, 0x6f,
0x72, 0x6b, 0x4c, 0x6f, 0x63, 0x6b, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x52, 0x65, 0x71, 0x75,
0x65, 0x73, 0x74, 0x12, 0x2a, 0x0a, 0x0a, 0x61, 0x72, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x55, 0x69,
0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0a, 0xba, 0xe9, 0xc0, 0x03, 0x05, 0x8a, 0x01,
0x02, 0x10, 0x01, 0x52, 0x0a, 0x61, 0x72, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x55, 0x69, 0x64, 0x22,
0x96, 0x04, 0x0a, 0x12, 0x41, 0x72, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x50, 0x72, 0x65, 0x76, 0x69,
0x65, 0x77, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x1e, 0x0a, 0x0a, 0x61, 0x72, 0x74, 0x69, 0x73, 0x74,
0x55, 0x75, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x61, 0x72, 0x74, 0x69,
0x73, 0x74, 0x55, 0x75, 0x69, 0x64, 0x12, 0x20, 0x0a, 0x0b, 0x61, 0x72, 0x74, 0x77, 0x6f, 0x72,
0x6b, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x61, 0x72, 0x74,
0x77, 0x6f, 0x72, 0x6b, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x6c, 0x65, 0x6e, 0x67,
0x74, 0x68, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x6c, 0x65, 0x6e, 0x67, 0x74, 0x68,
0x12, 0x14, 0x0a, 0x05, 0x77, 0x69, 0x64, 0x74, 0x68, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52,
0x05, 0x77, 0x69, 0x64, 0x74, 0x68, 0x12, 0x14, 0x0a, 0x05, 0x72, 0x75, 0x6c, 0x65, 0x72, 0x18,
0x05, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x72, 0x75, 0x6c, 0x65, 0x72, 0x12, 0x26, 0x0a, 0x0e,
0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x06,
0x20, 0x03, 0x28, 0x09, 0x52, 0x0e, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x41, 0x64, 0x64,
0x72, 0x65, 0x73, 0x73, 0x12, 0x20, 0x0a, 0x0b, 0x61, 0x72, 0x74, 0x69, 0x73, 0x74, 0x50, 0x68,
0x6f, 0x74, 0x6f, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x61, 0x72, 0x74, 0x69, 0x73,
0x74, 0x50, 0x68, 0x6f, 0x74, 0x6f, 0x12, 0x14, 0x0a, 0x05, 0x68, 0x64, 0x50, 0x69, 0x63, 0x18,
0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x68, 0x64, 0x50, 0x69, 0x63, 0x12, 0x1e, 0x0a, 0x0a,
0x61, 0x72, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x55, 0x69, 0x64, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09,
0x52, 0x0a, 0x61, 0x72, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x55, 0x69, 0x64, 0x12, 0x20, 0x0a, 0x0b,
0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x44, 0x61, 0x74, 0x65, 0x18, 0x0a, 0x20, 0x01, 0x28,
0x09, 0x52, 0x0b, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x44, 0x61, 0x74, 0x65, 0x12, 0x1e,
0x0a, 0x0a, 0x6c, 0x6f, 0x63, 0x6b, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x0b, 0x20, 0x01,
0x28, 0x05, 0x52, 0x0a, 0x6c, 0x6f, 0x63, 0x6b, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x20,
0x0a, 0x0b, 0x61, 0x75, 0x64, 0x69, 0x74, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x0c, 0x20,
0x01, 0x28, 0x03, 0x52, 0x0b, 0x61, 0x75, 0x64, 0x69, 0x74, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73,
0x12, 0x1c, 0x0a, 0x09, 0x61, 0x75, 0x64, 0x69, 0x74, 0x4d, 0x61, 0x72, 0x6b, 0x18, 0x0d, 0x20,
0x01, 0x28, 0x09, 0x52, 0x09, 0x61, 0x75, 0x64, 0x69, 0x74, 0x4d, 0x61, 0x72, 0x6b, 0x12, 0x1e,
0x0a, 0x0a, 0x61, 0x75, 0x64, 0x69, 0x74, 0x4d, 0x61, 0x72, 0x6b, 0x32, 0x18, 0x0e, 0x20, 0x01,
0x28, 0x09, 0x52, 0x0a, 0x61, 0x75, 0x64, 0x69, 0x74, 0x4d, 0x61, 0x72, 0x6b, 0x32, 0x12, 0x1c,
0x0a, 0x09, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x18, 0x0f, 0x20, 0x01, 0x28,
0x03, 0x52, 0x09, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x12, 0x1c, 0x0a, 0x09,
0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x18, 0x10, 0x20, 0x01, 0x28, 0x03, 0x52,
0x09, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x12, 0x1c, 0x0a, 0x09, 0x64, 0x65,
0x6c, 0x65, 0x74, 0x65, 0x64, 0x41, 0x74, 0x18, 0x11, 0x20, 0x01, 0x28, 0x03, 0x52, 0x09, 0x64,
0x65, 0x6c, 0x65, 0x74, 0x65, 0x64, 0x41, 0x74, 0x22, 0x5c, 0x0a, 0x1d, 0x47, 0x65, 0x74, 0x41,
0x72, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x4c, 0x6f, 0x63, 0x6b, 0x48, 0x69, 0x73, 0x74, 0x6f, 0x72,
0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x3b, 0x0a, 0x09, 0x67, 0x72, 0x6f,
0x75, 0x70, 0x4c, 0x69, 0x73, 0x74, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x61,
0x72, 0x74, 0x69, 0x73, 0x74, 0x69, 0x6e, 0x66, 0x6f, 0x2e, 0x41, 0x72, 0x74, 0x77, 0x6f, 0x72,
0x6b, 0x4c, 0x6f, 0x63, 0x6b, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x52, 0x09, 0x67, 0x72, 0x6f,
0x75, 0x70, 0x4c, 0x69, 0x73, 0x74, 0x22, 0x6d, 0x0a, 0x11, 0x41, 0x72, 0x74, 0x77, 0x6f, 0x72,
0x6b, 0x4c, 0x6f, 0x63, 0x6b, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x12, 0x1c, 0x0a, 0x09, 0x6c,
0x6f, 0x63, 0x6b, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09,
0x6c, 0x6f, 0x63, 0x6b, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x12, 0x3a, 0x0a, 0x08, 0x64, 0x61, 0x74,
0x61, 0x4c, 0x69, 0x73, 0x74, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x61, 0x72,
0x74, 0x69, 0x73, 0x74, 0x69, 0x6e, 0x66, 0x6f, 0x2e, 0x41, 0x72, 0x74, 0x77, 0x6f, 0x72, 0x6b,
0x50, 0x72, 0x65, 0x76, 0x69, 0x65, 0x77, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x08, 0x64, 0x61, 0x74,
0x61, 0x4c, 0x69, 0x73, 0x74, 0x22, 0xa1, 0x01, 0x0a, 0x1f, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65,
0x41, 0x72, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x41, 0x75, 0x64, 0x69, 0x74, 0x53, 0x74, 0x61, 0x74,
0x75, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1e, 0x0a, 0x0a, 0x61, 0x72, 0x74,
0x77, 0x6f, 0x72, 0x6b, 0x55, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x61,
0x72, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x55, 0x69, 0x64, 0x12, 0x20, 0x0a, 0x0b, 0x61, 0x75, 0x64,
0x69, 0x74, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x05, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0b,
0x61, 0x75, 0x64, 0x69, 0x74, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x1c, 0x0a, 0x09, 0x61,
0x75, 0x64, 0x69, 0x74, 0x4d, 0x61, 0x72, 0x6b, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09,
0x61, 0x75, 0x64, 0x69, 0x74, 0x4d, 0x61, 0x72, 0x6b, 0x12, 0x1e, 0x0a, 0x0a, 0x61, 0x75, 0x64,
0x69, 0x74, 0x4d, 0x61, 0x72, 0x6b, 0x32, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x61,
0x75, 0x64, 0x69, 0x74, 0x4d, 0x61, 0x72, 0x6b, 0x32, 0x2a, 0x67, 0x0a, 0x10, 0x41, 0x72, 0x74,
0x77, 0x6f, 0x72, 0x6b, 0x51, 0x75, 0x65, 0x72, 0x79, 0x4d, 0x6f, 0x64, 0x65, 0x12, 0x15, 0x0a,
0x11, 0x4e, 0x6f, 0x77, 0x50, 0x72, 0x65, 0x53, 0x61, 0x76, 0x65, 0x41, 0x72, 0x74, 0x77, 0x6f,
0x72, 0x6b, 0x10, 0x00, 0x12, 0x14, 0x0a, 0x10, 0x4e, 0x6f, 0x77, 0x4c, 0x6f, 0x63, 0x6b, 0x65,
0x64, 0x41, 0x72, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x10, 0x01, 0x12, 0x10, 0x0a, 0x0c, 0x41, 0x72,
0x74, 0x69, 0x73, 0x74, 0x43, 0x61, 0x6e, 0x53, 0x65, 0x65, 0x10, 0x02, 0x12, 0x14, 0x0a, 0x10,
0x41, 0x6c, 0x6c, 0x55, 0x6e, 0x6c, 0x6f, 0x63, 0x6b, 0x41, 0x72, 0x74, 0x77, 0x6f, 0x72, 0x6b,
0x10, 0x03, 0x32, 0xe3, 0x05, 0x0a, 0x11, 0x41, 0x72, 0x74, 0x69, 0x73, 0x74, 0x49, 0x6e, 0x66,
0x6f, 0x41, 0x72, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x12, 0x66, 0x0a, 0x17, 0x43, 0x72, 0x65, 0x61,
0x74, 0x65, 0x41, 0x72, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x4c, 0x6f, 0x63, 0x6b, 0x52, 0x65, 0x63,
0x6f, 0x72, 0x64, 0x12, 0x26, 0x2e, 0x61, 0x72, 0x74, 0x69, 0x73, 0x74, 0x69, 0x6e, 0x66, 0x6f,
0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x41, 0x72, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x4c, 0x6f,
0x63, 0x6b, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x52, 0x65, 0x71, 0x1a, 0x21, 0x2e, 0x61, 0x72,
0x74, 0x69, 0x73, 0x74, 0x69, 0x6e, 0x66, 0x6f, 0x2e, 0x41, 0x72, 0x74, 0x77, 0x6f, 0x72, 0x6b,
0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x4e, 0x6f, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x22, 0x00,
0x12, 0x5e, 0x0a, 0x11, 0x41, 0x72, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x4c, 0x6f, 0x63, 0x6b, 0x41,
0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x24, 0x2e, 0x61, 0x72, 0x74, 0x69, 0x73, 0x74, 0x69, 0x6e,
0x66, 0x6f, 0x2e, 0x41, 0x72, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x4c, 0x6f, 0x63, 0x6b, 0x41, 0x63,
0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x21, 0x2e, 0x61, 0x72,
0x74, 0x69, 0x73, 0x74, 0x69, 0x6e, 0x66, 0x6f, 0x2e, 0x41, 0x72, 0x74, 0x77, 0x6f, 0x72, 0x6b,
0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x4e, 0x6f, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x22, 0x00,
0x12, 0x60, 0x0a, 0x15, 0x47, 0x65, 0x74, 0x41, 0x72, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x4c, 0x6f,
0x63, 0x6b, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x73, 0x12, 0x28, 0x2e, 0x61, 0x72, 0x74, 0x69,
0x73, 0x74, 0x69, 0x6e, 0x66, 0x6f, 0x2e, 0x47, 0x65, 0x74, 0x41, 0x72, 0x74, 0x77, 0x6f, 0x72,
0x6b, 0x4c, 0x6f, 0x63, 0x6b, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x73, 0x52, 0x65, 0x71, 0x75,
0x65, 0x73, 0x74, 0x1a, 0x1b, 0x2e, 0x61, 0x72, 0x74, 0x69, 0x73, 0x74, 0x69, 0x6e, 0x66, 0x6f,
0x2e, 0x41, 0x72, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x4c, 0x6f, 0x63, 0x6b, 0x4c, 0x69, 0x73, 0x74,
0x22, 0x00, 0x12, 0x73, 0x0a, 0x1a, 0x47, 0x65, 0x74, 0x41, 0x72, 0x74, 0x77, 0x6f, 0x72, 0x6b,
0x4c, 0x6f, 0x63, 0x6b, 0x48, 0x69, 0x73, 0x74, 0x6f, 0x72, 0x79, 0x47, 0x72, 0x6f, 0x75, 0x70,
0x12, 0x28, 0x2e, 0x61, 0x72, 0x74, 0x69, 0x73, 0x74, 0x69, 0x6e, 0x66, 0x6f, 0x2e, 0x47, 0x65,
0x74, 0x41, 0x72, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x4c, 0x6f, 0x63, 0x6b, 0x48, 0x69, 0x73, 0x74,
0x6f, 0x72, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x29, 0x2e, 0x61, 0x72, 0x74,
0x69, 0x73, 0x74, 0x69, 0x6e, 0x66, 0x6f, 0x2e, 0x47, 0x65, 0x74, 0x41, 0x72, 0x74, 0x77, 0x6f,
0x72, 0x6b, 0x4c, 0x6f, 0x63, 0x6b, 0x48, 0x69, 0x73, 0x74, 0x6f, 0x72, 0x79, 0x52, 0x65, 0x73,
0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x62, 0x0a, 0x13, 0x44, 0x65, 0x6c, 0x65, 0x74,
0x65, 0x41, 0x72, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x12, 0x26,
0x2e, 0x61, 0x72, 0x74, 0x69, 0x73, 0x74, 0x69, 0x6e, 0x66, 0x6f, 0x2e, 0x44, 0x65, 0x6c, 0x65,
0x74, 0x65, 0x41, 0x72, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x52, 0x74, 0x65, 0x41, 0x72, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x52,
0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x21, 0x2e, 0x61, 0x72, 0x74, 0x69, 0x73, 0x74, 0x69, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x20, 0x0a, 0x0b, 0x61, 0x72, 0x74, 0x77, 0x6f, 0x72,
0x6e, 0x66, 0x6f, 0x2e, 0x41, 0x72, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6b, 0x55, 0x69, 0x64, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0b, 0x61, 0x72, 0x74,
0x6e, 0x4e, 0x6f, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x22, 0x00, 0x12, 0x5d, 0x0a, 0x14, 0x47, 0x77, 0x6f, 0x72, 0x6b, 0x55, 0x69, 0x64, 0x73, 0x22, 0x3c, 0x0a, 0x1c, 0x47, 0x65, 0x74, 0x41,
0x65, 0x74, 0x41, 0x72, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x4c, 0x6f, 0x63, 0x6b, 0x44, 0x65, 0x74, 0x72, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x4c, 0x6f, 0x63, 0x6b, 0x48, 0x69, 0x73, 0x74, 0x6f, 0x72,
0x61, 0x69, 0x6c, 0x12, 0x27, 0x2e, 0x61, 0x72, 0x74, 0x69, 0x73, 0x74, 0x69, 0x6e, 0x66, 0x6f, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1c, 0x0a, 0x09, 0x61, 0x72, 0x74, 0x69,
0x2e, 0x47, 0x65, 0x74, 0x41, 0x72, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x4c, 0x6f, 0x63, 0x6b, 0x44, 0x73, 0x74, 0x55, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x61, 0x72, 0x74,
0x65, 0x74, 0x61, 0x69, 0x6c, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1a, 0x2e, 0x61, 0x69, 0x73, 0x74, 0x55, 0x69, 0x64, 0x22, 0x49, 0x0a, 0x1b, 0x47, 0x65, 0x74, 0x41, 0x72, 0x74,
0x72, 0x74, 0x69, 0x73, 0x74, 0x69, 0x6e, 0x66, 0x6f, 0x2e, 0x41, 0x72, 0x74, 0x69, 0x73, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x4c, 0x6f, 0x63, 0x6b, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x52, 0x65,
0x4c, 0x6f, 0x63, 0x6b, 0x49, 0x6e, 0x66, 0x6f, 0x22, 0x00, 0x12, 0x6c, 0x0a, 0x18, 0x55, 0x70, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x2a, 0x0a, 0x0a, 0x61, 0x72, 0x74, 0x77, 0x6f, 0x72, 0x6b,
0x64, 0x61, 0x74, 0x65, 0x41, 0x72, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x41, 0x75, 0x64, 0x69, 0x74, 0x55, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0a, 0xba, 0xe9, 0xc0, 0x03, 0x05,
0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x2b, 0x2e, 0x61, 0x72, 0x74, 0x69, 0x73, 0x74, 0x69, 0x8a, 0x01, 0x02, 0x10, 0x01, 0x52, 0x0a, 0x61, 0x72, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x55, 0x69,
0x6e, 0x66, 0x6f, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x41, 0x72, 0x74, 0x77, 0x6f, 0x72, 0x64, 0x22, 0x96, 0x04, 0x0a, 0x12, 0x41, 0x72, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x50, 0x72, 0x65,
0x6b, 0x41, 0x75, 0x64, 0x69, 0x74, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, 0x71, 0x75, 0x76, 0x69, 0x65, 0x77, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x1e, 0x0a, 0x0a, 0x61, 0x72, 0x74, 0x69,
0x65, 0x73, 0x74, 0x1a, 0x21, 0x2e, 0x61, 0x72, 0x74, 0x69, 0x73, 0x74, 0x69, 0x6e, 0x66, 0x6f, 0x73, 0x74, 0x55, 0x75, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x61, 0x72,
0x2e, 0x41, 0x72, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x4e, 0x6f, 0x74, 0x69, 0x73, 0x74, 0x55, 0x75, 0x69, 0x64, 0x12, 0x20, 0x0a, 0x0b, 0x61, 0x72, 0x74, 0x77,
0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x22, 0x00, 0x42, 0x16, 0x5a, 0x14, 0x2e, 0x2f, 0x3b, 0x61, 0x6f, 0x72, 0x6b, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x61,
0x72, 0x74, 0x69, 0x73, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x41, 0x72, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x72, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x6c, 0x65,
0x50, 0x01, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, 0x6e, 0x67, 0x74, 0x68, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x6c, 0x65, 0x6e, 0x67,
0x74, 0x68, 0x12, 0x14, 0x0a, 0x05, 0x77, 0x69, 0x64, 0x74, 0x68, 0x18, 0x04, 0x20, 0x01, 0x28,
0x05, 0x52, 0x05, 0x77, 0x69, 0x64, 0x74, 0x68, 0x12, 0x14, 0x0a, 0x05, 0x72, 0x75, 0x6c, 0x65,
0x72, 0x18, 0x05, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x72, 0x75, 0x6c, 0x65, 0x72, 0x12, 0x26,
0x0a, 0x0e, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73,
0x18, 0x06, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0e, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x41,
0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, 0x20, 0x0a, 0x0b, 0x61, 0x72, 0x74, 0x69, 0x73, 0x74,
0x50, 0x68, 0x6f, 0x74, 0x6f, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x61, 0x72, 0x74,
0x69, 0x73, 0x74, 0x50, 0x68, 0x6f, 0x74, 0x6f, 0x12, 0x14, 0x0a, 0x05, 0x68, 0x64, 0x50, 0x69,
0x63, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x68, 0x64, 0x50, 0x69, 0x63, 0x12, 0x1e,
0x0a, 0x0a, 0x61, 0x72, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x55, 0x69, 0x64, 0x18, 0x09, 0x20, 0x01,
0x28, 0x09, 0x52, 0x0a, 0x61, 0x72, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x55, 0x69, 0x64, 0x12, 0x20,
0x0a, 0x0b, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x44, 0x61, 0x74, 0x65, 0x18, 0x0a, 0x20,
0x01, 0x28, 0x09, 0x52, 0x0b, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x44, 0x61, 0x74, 0x65,
0x12, 0x1e, 0x0a, 0x0a, 0x6c, 0x6f, 0x63, 0x6b, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x0b,
0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, 0x6c, 0x6f, 0x63, 0x6b, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73,
0x12, 0x20, 0x0a, 0x0b, 0x61, 0x75, 0x64, 0x69, 0x74, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18,
0x0c, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0b, 0x61, 0x75, 0x64, 0x69, 0x74, 0x53, 0x74, 0x61, 0x74,
0x75, 0x73, 0x12, 0x1c, 0x0a, 0x09, 0x61, 0x75, 0x64, 0x69, 0x74, 0x4d, 0x61, 0x72, 0x6b, 0x18,
0x0d, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x61, 0x75, 0x64, 0x69, 0x74, 0x4d, 0x61, 0x72, 0x6b,
0x12, 0x1e, 0x0a, 0x0a, 0x61, 0x75, 0x64, 0x69, 0x74, 0x4d, 0x61, 0x72, 0x6b, 0x32, 0x18, 0x0e,
0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x61, 0x75, 0x64, 0x69, 0x74, 0x4d, 0x61, 0x72, 0x6b, 0x32,
0x12, 0x1c, 0x0a, 0x09, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x18, 0x0f, 0x20,
0x01, 0x28, 0x03, 0x52, 0x09, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x12, 0x1c,
0x0a, 0x09, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x18, 0x10, 0x20, 0x01, 0x28,
0x03, 0x52, 0x09, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x12, 0x1c, 0x0a, 0x09,
0x64, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x64, 0x41, 0x74, 0x18, 0x11, 0x20, 0x01, 0x28, 0x03, 0x52,
0x09, 0x64, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x64, 0x41, 0x74, 0x22, 0x5c, 0x0a, 0x1d, 0x47, 0x65,
0x74, 0x41, 0x72, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x4c, 0x6f, 0x63, 0x6b, 0x48, 0x69, 0x73, 0x74,
0x6f, 0x72, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x3b, 0x0a, 0x09, 0x67,
0x72, 0x6f, 0x75, 0x70, 0x4c, 0x69, 0x73, 0x74, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1d,
0x2e, 0x61, 0x72, 0x74, 0x69, 0x73, 0x74, 0x69, 0x6e, 0x66, 0x6f, 0x2e, 0x41, 0x72, 0x74, 0x77,
0x6f, 0x72, 0x6b, 0x4c, 0x6f, 0x63, 0x6b, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x52, 0x09, 0x67,
0x72, 0x6f, 0x75, 0x70, 0x4c, 0x69, 0x73, 0x74, 0x22, 0x6d, 0x0a, 0x11, 0x41, 0x72, 0x74, 0x77,
0x6f, 0x72, 0x6b, 0x4c, 0x6f, 0x63, 0x6b, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x12, 0x1c, 0x0a,
0x09, 0x6c, 0x6f, 0x63, 0x6b, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09,
0x52, 0x09, 0x6c, 0x6f, 0x63, 0x6b, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x12, 0x3a, 0x0a, 0x08, 0x64,
0x61, 0x74, 0x61, 0x4c, 0x69, 0x73, 0x74, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1e, 0x2e,
0x61, 0x72, 0x74, 0x69, 0x73, 0x74, 0x69, 0x6e, 0x66, 0x6f, 0x2e, 0x41, 0x72, 0x74, 0x77, 0x6f,
0x72, 0x6b, 0x50, 0x72, 0x65, 0x76, 0x69, 0x65, 0x77, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x08, 0x64,
0x61, 0x74, 0x61, 0x4c, 0x69, 0x73, 0x74, 0x22, 0xa1, 0x01, 0x0a, 0x1f, 0x55, 0x70, 0x64, 0x61,
0x74, 0x65, 0x41, 0x72, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x41, 0x75, 0x64, 0x69, 0x74, 0x53, 0x74,
0x61, 0x74, 0x75, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1e, 0x0a, 0x0a, 0x61,
0x72, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x55, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52,
0x0a, 0x61, 0x72, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x55, 0x69, 0x64, 0x12, 0x20, 0x0a, 0x0b, 0x61,
0x75, 0x64, 0x69, 0x74, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x05, 0x20, 0x01, 0x28, 0x03,
0x52, 0x0b, 0x61, 0x75, 0x64, 0x69, 0x74, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x1c, 0x0a,
0x09, 0x61, 0x75, 0x64, 0x69, 0x74, 0x4d, 0x61, 0x72, 0x6b, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09,
0x52, 0x09, 0x61, 0x75, 0x64, 0x69, 0x74, 0x4d, 0x61, 0x72, 0x6b, 0x12, 0x1e, 0x0a, 0x0a, 0x61,
0x75, 0x64, 0x69, 0x74, 0x4d, 0x61, 0x72, 0x6b, 0x32, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52,
0x0a, 0x61, 0x75, 0x64, 0x69, 0x74, 0x4d, 0x61, 0x72, 0x6b, 0x32, 0x2a, 0x67, 0x0a, 0x10, 0x41,
0x72, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x51, 0x75, 0x65, 0x72, 0x79, 0x4d, 0x6f, 0x64, 0x65, 0x12,
0x15, 0x0a, 0x11, 0x4e, 0x6f, 0x77, 0x50, 0x72, 0x65, 0x53, 0x61, 0x76, 0x65, 0x41, 0x72, 0x74,
0x77, 0x6f, 0x72, 0x6b, 0x10, 0x00, 0x12, 0x14, 0x0a, 0x10, 0x4e, 0x6f, 0x77, 0x4c, 0x6f, 0x63,
0x6b, 0x65, 0x64, 0x41, 0x72, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x10, 0x01, 0x12, 0x10, 0x0a, 0x0c,
0x41, 0x72, 0x74, 0x69, 0x73, 0x74, 0x43, 0x61, 0x6e, 0x53, 0x65, 0x65, 0x10, 0x02, 0x12, 0x14,
0x0a, 0x10, 0x41, 0x6c, 0x6c, 0x55, 0x6e, 0x6c, 0x6f, 0x63, 0x6b, 0x41, 0x72, 0x74, 0x77, 0x6f,
0x72, 0x6b, 0x10, 0x03, 0x32, 0xe3, 0x05, 0x0a, 0x11, 0x41, 0x72, 0x74, 0x69, 0x73, 0x74, 0x49,
0x6e, 0x66, 0x6f, 0x41, 0x72, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x12, 0x66, 0x0a, 0x17, 0x43, 0x72,
0x65, 0x61, 0x74, 0x65, 0x41, 0x72, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x4c, 0x6f, 0x63, 0x6b, 0x52,
0x65, 0x63, 0x6f, 0x72, 0x64, 0x12, 0x26, 0x2e, 0x61, 0x72, 0x74, 0x69, 0x73, 0x74, 0x69, 0x6e,
0x66, 0x6f, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x41, 0x72, 0x74, 0x77, 0x6f, 0x72, 0x6b,
0x4c, 0x6f, 0x63, 0x6b, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x52, 0x65, 0x71, 0x1a, 0x21, 0x2e,
0x61, 0x72, 0x74, 0x69, 0x73, 0x74, 0x69, 0x6e, 0x66, 0x6f, 0x2e, 0x41, 0x72, 0x74, 0x77, 0x6f,
0x72, 0x6b, 0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x4e, 0x6f, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73,
0x22, 0x00, 0x12, 0x5e, 0x0a, 0x11, 0x41, 0x72, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x4c, 0x6f, 0x63,
0x6b, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x24, 0x2e, 0x61, 0x72, 0x74, 0x69, 0x73, 0x74,
0x69, 0x6e, 0x66, 0x6f, 0x2e, 0x41, 0x72, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x4c, 0x6f, 0x63, 0x6b,
0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x21, 0x2e,
0x61, 0x72, 0x74, 0x69, 0x73, 0x74, 0x69, 0x6e, 0x66, 0x6f, 0x2e, 0x41, 0x72, 0x74, 0x77, 0x6f,
0x72, 0x6b, 0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x4e, 0x6f, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73,
0x22, 0x00, 0x12, 0x60, 0x0a, 0x15, 0x47, 0x65, 0x74, 0x41, 0x72, 0x74, 0x77, 0x6f, 0x72, 0x6b,
0x4c, 0x6f, 0x63, 0x6b, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x73, 0x12, 0x28, 0x2e, 0x61, 0x72,
0x74, 0x69, 0x73, 0x74, 0x69, 0x6e, 0x66, 0x6f, 0x2e, 0x47, 0x65, 0x74, 0x41, 0x72, 0x74, 0x77,
0x6f, 0x72, 0x6b, 0x4c, 0x6f, 0x63, 0x6b, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x73, 0x52, 0x65,
0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1b, 0x2e, 0x61, 0x72, 0x74, 0x69, 0x73, 0x74, 0x69, 0x6e,
0x66, 0x6f, 0x2e, 0x41, 0x72, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x4c, 0x6f, 0x63, 0x6b, 0x4c, 0x69,
0x73, 0x74, 0x22, 0x00, 0x12, 0x73, 0x0a, 0x1a, 0x47, 0x65, 0x74, 0x41, 0x72, 0x74, 0x77, 0x6f,
0x72, 0x6b, 0x4c, 0x6f, 0x63, 0x6b, 0x48, 0x69, 0x73, 0x74, 0x6f, 0x72, 0x79, 0x47, 0x72, 0x6f,
0x75, 0x70, 0x12, 0x28, 0x2e, 0x61, 0x72, 0x74, 0x69, 0x73, 0x74, 0x69, 0x6e, 0x66, 0x6f, 0x2e,
0x47, 0x65, 0x74, 0x41, 0x72, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x4c, 0x6f, 0x63, 0x6b, 0x48, 0x69,
0x73, 0x74, 0x6f, 0x72, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x29, 0x2e, 0x61,
0x72, 0x74, 0x69, 0x73, 0x74, 0x69, 0x6e, 0x66, 0x6f, 0x2e, 0x47, 0x65, 0x74, 0x41, 0x72, 0x74,
0x77, 0x6f, 0x72, 0x6b, 0x4c, 0x6f, 0x63, 0x6b, 0x48, 0x69, 0x73, 0x74, 0x6f, 0x72, 0x79, 0x52,
0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x62, 0x0a, 0x13, 0x44, 0x65, 0x6c,
0x65, 0x74, 0x65, 0x41, 0x72, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64,
0x12, 0x26, 0x2e, 0x61, 0x72, 0x74, 0x69, 0x73, 0x74, 0x69, 0x6e, 0x66, 0x6f, 0x2e, 0x44, 0x65,
0x6c, 0x65, 0x74, 0x65, 0x41, 0x72, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x52, 0x65, 0x63, 0x6f, 0x72,
0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x21, 0x2e, 0x61, 0x72, 0x74, 0x69, 0x73,
0x74, 0x69, 0x6e, 0x66, 0x6f, 0x2e, 0x41, 0x72, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x43, 0x6f, 0x6d,
0x6d, 0x6f, 0x6e, 0x4e, 0x6f, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x22, 0x00, 0x12, 0x5d, 0x0a,
0x14, 0x47, 0x65, 0x74, 0x41, 0x72, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x4c, 0x6f, 0x63, 0x6b, 0x44,
0x65, 0x74, 0x61, 0x69, 0x6c, 0x12, 0x27, 0x2e, 0x61, 0x72, 0x74, 0x69, 0x73, 0x74, 0x69, 0x6e,
0x66, 0x6f, 0x2e, 0x47, 0x65, 0x74, 0x41, 0x72, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x4c, 0x6f, 0x63,
0x6b, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1a,
0x2e, 0x61, 0x72, 0x74, 0x69, 0x73, 0x74, 0x69, 0x6e, 0x66, 0x6f, 0x2e, 0x41, 0x72, 0x74, 0x69,
0x73, 0x74, 0x4c, 0x6f, 0x63, 0x6b, 0x49, 0x6e, 0x66, 0x6f, 0x22, 0x00, 0x12, 0x6c, 0x0a, 0x18,
0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x41, 0x72, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x41, 0x75, 0x64,
0x69, 0x74, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x2b, 0x2e, 0x61, 0x72, 0x74, 0x69, 0x73,
0x74, 0x69, 0x6e, 0x66, 0x6f, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x41, 0x72, 0x74, 0x77,
0x6f, 0x72, 0x6b, 0x41, 0x75, 0x64, 0x69, 0x74, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x65,
0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x21, 0x2e, 0x61, 0x72, 0x74, 0x69, 0x73, 0x74, 0x69, 0x6e,
0x66, 0x6f, 0x2e, 0x41, 0x72, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e,
0x4e, 0x6f, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x22, 0x00, 0x42, 0x16, 0x5a, 0x14, 0x2e, 0x2f,
0x3b, 0x61, 0x72, 0x74, 0x69, 0x73, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x41, 0x72, 0x74, 0x77, 0x6f,
0x72, 0x6b, 0x50, 0x01, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
} }
var ( var (

View File

@ -379,6 +379,8 @@ func (m *GetArtworkLockRecordsRequest) validate(all bool) error {
// no validation rules for QueryType // no validation rules for QueryType
// no validation rules for AuditStatus
if len(errors) > 0 { if len(errors) > 0 {
return GetArtworkLockRecordsRequestMultiError(errors) return GetArtworkLockRecordsRequestMultiError(errors)
} }

View File

@ -38,6 +38,7 @@ enum ArtworkQueryMode {
message GetArtworkLockRecordsRequest{ message GetArtworkLockRecordsRequest{
string artistUid =1 [(validate.rules).message.required = true];//uid string artistUid =1 [(validate.rules).message.required = true];//uid
ArtworkQueryMode queryType =2 ; // ArtworkQueryMode queryType =2 ; //
int64 AuditStatus =3; //
} }
message ArtistLockInfo{ message ArtistLockInfo{

View File

@ -2,6 +2,7 @@ package model
import ( import (
"fmt" "fmt"
"github.com/fonchain/fonchain-artistinfo/cmd/model/old"
"os" "os"
"strings" "strings"
"time" "time"
@ -94,19 +95,19 @@ func Database(conn string) {
func migration() { func migration() {
//自迁移模式 //自迁移模式
err := DB.AutoMigrate( err := DB.AutoMigrate(
&model.Bank{}, &old.Bank{},
&model.RealName{}, &model.RealName{},
&model.User{}, &model.User{},
&model.Invite{}, &model.Invite{},
&model.Artwork{}, &old.Artwork{},
//&model.Contract{}, //&model.Contract{},
//&model.SupplyInfo{}, //&model.SupplyInfo{},
//&model.ExhVideo{}, //&model.ExhVideo{},
//&model.ExhExam{}, //&model.ExhExam{},
&model.ArtistInfo{}, &old.ArtistInfo{},
&model.UserInvited{}, &model.UserInvited{},
&model.ArtworkState{}, &old.ArtworkState{},
&model.ArtworkBatch{}, &old.ArtworkBatch{},
&model.TempArtistInfo{}, &model.TempArtistInfo{},
&model.ArtworkLockRecord{}, &model.ArtworkLockRecord{},
) )