141 lines
4.2 KiB
Go
141 lines
4.2 KiB
Go
package logic
|
|
|
|
import (
|
|
"github.com/fonchain/fonchain-artistinfo/cmd/internal/dao"
|
|
statement "github.com/fonchain/fonchain-artistinfo/pb/artistinfoStatement"
|
|
)
|
|
|
|
type IStatement interface {
|
|
StatementList(req *statement.StatementListRequest) (rep *statement.StatementListRespond, err error)
|
|
GetTxInfoByBatchUid(req *statement.GetTxInfoByBatchUidRequest) (rep *statement.GetTxInfoByBatchUidRespond, err error)
|
|
GetCopyInfoByBatchUid(req *statement.GetCopyInfoByBatchUidRequest) (rep *statement.GetCopyInfoByBatchUidRespond, err error)
|
|
}
|
|
|
|
func NewStatement() IStatement {
|
|
return &Statement{}
|
|
}
|
|
|
|
type Statement struct {
|
|
}
|
|
|
|
func (a *Statement) StatementList(req *statement.StatementListRequest) (rep *statement.StatementListRespond, err error) {
|
|
//查看是否有该画家
|
|
user, err := dao.GetArtistInfoById(req.ArtistUid)
|
|
if err != nil {
|
|
return
|
|
}
|
|
|
|
ContractData, err := dao.StatementList(user.MgmtArtistUid, req.State)
|
|
if err != nil {
|
|
return
|
|
}
|
|
|
|
rep = &statement.StatementListRespond{
|
|
Data: ContractData,
|
|
}
|
|
|
|
return
|
|
}
|
|
|
|
func (a *Statement) GetTxInfoByBatchUid(req *statement.GetTxInfoByBatchUidRequest) (rep *statement.GetTxInfoByBatchUidRespond, err error) {
|
|
|
|
rep = &statement.GetTxInfoByBatchUidRespond{}
|
|
|
|
//获取画家名
|
|
artworkTx, err := dao.GetTxArtistNameByBatchUid(req.BatchUid)
|
|
if err != nil {
|
|
return
|
|
}
|
|
rep.ArtistName = artworkTx.ArtistName
|
|
|
|
//获取物权画作详细信息
|
|
artworkTxDetails, err := dao.GetArtworkTxDetailByBatchUid(req.BatchUid)
|
|
if err != nil {
|
|
return
|
|
}
|
|
rep.ArtistName = artworkTx.ArtistName
|
|
|
|
//获取物权画作被售卖详细信息
|
|
artworkSoldTxDetails, err := dao.GetArtworkSoldTxDetailByBatchUid(req.BatchUid)
|
|
if err != nil {
|
|
return
|
|
}
|
|
|
|
artworkTxDetail := new(statement.ArtworkTxDetail)
|
|
artworkSoldTxDetail := new(statement.ArtworkSoldTxDetail)
|
|
|
|
for _, v := range artworkTxDetails {
|
|
artworkTxDetail.TfNum = v.TfNum
|
|
artworkTxDetail.ArtworkName = v.ArtworkName
|
|
artworkTxDetail.Ruler = v.Ruler
|
|
artworkTxDetail.MinPrice = v.MinPrice
|
|
artworkTxDetail.GuaranteePrice = v.GuaranteePrice
|
|
rep.ArtworkTxDetail = append(rep.ArtworkTxDetail, artworkTxDetail)
|
|
}
|
|
|
|
for _, v := range artworkSoldTxDetails {
|
|
artworkSoldTxDetail.TfNum = v.TfNum
|
|
artworkSoldTxDetail.ArtworkName = v.ArtworkName
|
|
artworkSoldTxDetail.Ruler = v.Ruler
|
|
artworkSoldTxDetail.SaleNo = v.SaleNo
|
|
artworkSoldTxDetail.CompleteDate = v.CompleteDate
|
|
artworkSoldTxDetail.MinPrice = v.MinPrice
|
|
artworkSoldTxDetail.SalePrice = v.SalePrice
|
|
artworkSoldTxDetail.GuaranteePrice = v.GuaranteePrice
|
|
rep.ArtworkSoldTxDetail = append(rep.ArtworkSoldTxDetail, artworkSoldTxDetail)
|
|
}
|
|
|
|
return
|
|
}
|
|
|
|
func (a *Statement) GetCopyInfoByBatchUid(req *statement.GetCopyInfoByBatchUidRequest) (rep *statement.GetCopyInfoByBatchUidRespond, err error) {
|
|
|
|
rep = &statement.GetCopyInfoByBatchUidRespond{}
|
|
|
|
//获取画家名
|
|
artworkTx, err := dao.GetCopyArtistNameByBatchUid(req.BatchUid)
|
|
if err != nil {
|
|
return
|
|
}
|
|
rep.ArtistName = artworkTx.ArtistName
|
|
|
|
//获取版权画作详细信息
|
|
artworkTxDetails, err := dao.GetArtworkCopyDetailByBatchUid(req.BatchUid)
|
|
if err != nil {
|
|
return
|
|
}
|
|
rep.ArtistName = artworkTx.ArtistName
|
|
|
|
//获取版权画作被售卖详细信息
|
|
artworkSoldTxDetails, err := dao.GetArtworkSoldCopyDetailByBatchUid(req.BatchUid)
|
|
if err != nil {
|
|
return
|
|
}
|
|
|
|
artworkCopyDetail := new(statement.ArtworkCopyDetail)
|
|
artworkSoldCopyDetail := new(statement.ArtworkSoldCopyDetail)
|
|
|
|
for _, v := range artworkTxDetails {
|
|
artworkCopyDetail.TfNum = v.TfNum
|
|
artworkCopyDetail.ArtworkName = v.ArtworkName
|
|
artworkCopyDetail.Ruler = v.Ruler
|
|
artworkCopyDetail.MinPrice = v.MinPrice
|
|
artworkCopyDetail.GuaranteePrice = v.GuaranteePrice
|
|
rep.ArtworkCopyDetail = append(rep.ArtworkCopyDetail, artworkCopyDetail)
|
|
}
|
|
|
|
for _, v := range artworkSoldTxDetails {
|
|
artworkSoldCopyDetail.TfNum = v.TfNum
|
|
artworkSoldCopyDetail.ArtworkName = v.ArtworkName
|
|
artworkSoldCopyDetail.Ruler = v.Ruler
|
|
artworkSoldCopyDetail.SaleNo = v.SaleNo
|
|
artworkSoldCopyDetail.CompleteDate = v.CompleteDate
|
|
artworkSoldCopyDetail.MinPrice = v.MinPrice
|
|
artworkSoldCopyDetail.SalePrice = v.SalePrice
|
|
artworkSoldCopyDetail.GuaranteePrice = v.GuaranteePrice
|
|
rep.ArtworkSoldCopyDetail = append(rep.ArtworkSoldCopyDetail, artworkSoldCopyDetail)
|
|
}
|
|
|
|
return
|
|
}
|