package logic // import ( // "errors" // "github.com/fonchain/fonchain-artistinfo/cmd/internal/dao" // "github.com/fonchain/fonchain-artistinfo/cmd/model" // "github.com/fonchain/fonchain-artistinfo/pb/mgmtStatement" // db "github.com/fonchain/fonchain-artistinfo/pkg/db" // "github.com/fonchain/fonchain-artistinfo/pkg/m" // uuid "github.com/satori/go.uuid" // ) // type IMgmtStatement interface { // AddBatchDetail(in *mgmtStatement.AddBatchDetailreq) (*mgmtStatement.AddBatchDetailres, error) // UploadExcelOne(in *mgmtStatement.UploadExcelOnereq) (*mgmtStatement.UploadExcelOneres, error) // UploadExcelTwo(in *mgmtStatement.UploadExcelTworeq) (*mgmtStatement.UploadExcelTwores, error) // ArtistStatementList(in *mgmtStatement.ArtistStatementListreq) (*mgmtStatement.ArtistStatementListres, error) // ArtStatementList(in *mgmtStatement.ArtStatementListreq) (*mgmtStatement.ArtStatementListres, error) // ExportContract(in *mgmtStatement.ExportContractreq) (*mgmtStatement.ExportContractres, error) // UpdateState(in *mgmtStatement.UpdateStatementreq) error // CreateTxContract(in *mgmtStatement.CreateTxContractreq) (resp *mgmtStatement.CreateTxContractres, err error) // } // func NewMgmtStatement() IMgmtStatement { // return &MgmtStatement{} // } // type MgmtStatement struct{} // // 通过excel生成一条批次数据 // func (a *MgmtStatement) AddBatchDetail(in *mgmtStatement.AddBatchDetailreq) (resp *mgmtStatement.AddBatchDetailres, err error) { // resp = &mgmtStatement.AddBatchDetailres{} // var uid uuid.UUID // if uid, err = uuid.NewV4(); err != nil { // err = errors.New(m.ERROR_UID) // return // } // if err != nil { // return nil, err // } // var data model.ArtworkTx // data.Uid = uid.String() // data.ArtistName = in.ArtistName // data.ArtistUid = in.ArtistUid // data.BatchTime = in.BatchTime // if err = dao.AddBatchDetail(&data); err != nil { // return // } // respData := &mgmtStatement.AddBatchRes{BatchUid: data.Uid} // resp.Data = respData // return // } // // 生成一条对账单记录(附件一) // func (a *MgmtStatement) UploadExcelOne(in *mgmtStatement.UploadExcelOnereq) (resp *mgmtStatement.UploadExcelOneres, err error) { // resp = &mgmtStatement.UploadExcelOneres{} // var uid uuid.UUID // if uid, err = uuid.NewV4(); err != nil { // err = errors.New(m.ERROR_UID) // return // } // if err != nil { // return nil, err // } // var data model.ArtworkSoldTxDetail //物权版权的对账单 // sqlSelect := `select uid from artwork_tx where artistid = ? and batchtime = ?` // var batchid string // if err := db.DB.Raw(sqlSelect, data.ArtistUid, data.BatchTime).Find(&batchid).Error; err != nil { // return nil, err // } // data.Uid = uid.String() // data.BatchUid = batchid // data.ArtworkName = in.ArtworkName // data.ArtistName = in.ArtistName // data.ArtistUid = in.ArtistUid // data.TfNum = in.TfNum // data.BatchTime = in.BatchTime // data.GuaranteePrice = in.GuaranteePrice // data.Ruler = in.Ruler // data.MinPrice = in.MinPrice // data.StType = in.StType //对账单类型:1=版权 2=物权 // if err = dao.UploadExcelOne(&data); err != nil { // return // } // respData := &mgmtStatement.StatementAddRes{StatementUid: data.Uid} // resp.Data = respData // return // } // // 生成一条对账单记录(附件二) // func (a *MgmtStatement) UploadExcelTwo(in *mgmtStatement.UploadExcelTworeq) (resp *mgmtStatement.UploadExcelTwores, err error) { // resp = &mgmtStatement.UploadExcelTwores{} // var uid uuid.UUID // if uid, err = uuid.NewV4(); err != nil { // err = errors.New(m.ERROR_UID) // return // } // if err != nil { // return nil, err // } // var data model.ArtworkSoldTxDetail //物权版权的对账单 // sqlSelect := `select uid from artwork_tx_batch where artistid = ? and batchtime = ?` // var batchid string // if err := db.DB.Raw(sqlSelect, data.ArtistUid, data.BatchTime).Find(&batchid).Error; err != nil { // return nil, err // } // data.Uid = uid.String() // data.BatchUid = batchid // data.ArtworkName = in.ArtworkName // data.ArtistName = in.ArtistName // data.ArtistUid = in.ArtistUid // data.TfNum = in.TfNum // data.BatchTime = in.BatchTime // data.Ruler = in.Ruler // data.MinPrice = in.MinPrice // data.StType = in.StType //对账单类型:1=版权 2=物权 // if err = dao.UploadExcelTwo(&data); err != nil { // return // } // respData := &mgmtStatement.StatementAddRes{StatementUid: data.Uid} // resp.Data = respData // return // } // // 画家对账单列表 // func (a *MgmtStatement) ArtistStatementList(in *mgmtStatement.ArtistStatementListreq) (resp *mgmtStatement.ArtistStatementListres, err error) { // resp = &mgmtStatement.ArtistStatementListres{} // if in.Page < model.InitPage { // in.Page = model.InitPage // } // if in.PageSize < 1 { // in.PageSize = model.PageSize // } // var list []*model.ArtworkSoldTxDetail // var count int64 // if list, count, err = dao.ArtistStatementList(in); err != nil { // return // } // resp.Count = int32(count) // resp.Page = in.Page // resp.PageSize = in.PageSize // for _, v := range list { // temp := mgmtStatement.ArtistStatementListres_Info{} // temp.ArtistName = v.ArtistName // temp.ArtistUid = v.ArtistUid // temp.BatchTime = v.BatchTime // resp.Data = append(resp.Data, &temp) // } // return // } // // 画作列表,根据画家和批次 // func (a *MgmtStatement) ArtStatementList(in *mgmtStatement.ArtStatementListreq) (resp *mgmtStatement.ArtStatementListres, err error) { // resp = &mgmtStatement.ArtStatementListres{} // if in.Page < model.InitPage { // in.Page = model.InitPage // } // if in.PageSize < 1 { // in.PageSize = model.PageSize // } // var list []*model.ArtworkSoldTxDetail // var count int64 // if list, count, err = dao.ArtStatementList(in); err != nil { // return // } // resp.Count = int32(count) // resp.Page = in.Page // resp.PageSize = in.PageSize // for _, v := range list { // temp := mgmtStatement.ArtStatementListres_Info{} // temp.ArtistName = v.ArtworkName // temp.ArtistUid = v.ArtistUid // temp.ArtworkName = v.ArtworkName // temp.Ruler = v.Ruler // temp.SaleNo = v.SaleNo // temp.TfNum = v.TfNum // temp.CompleteDate = v.CompleteDate // temp.MinPrice = v.MinPrice // } // return // } // // 更新对账单状态 // func (a *MgmtStatement) UpdateState(in *mgmtStatement.UpdateStatementreq) (err error) { // columns := map[string]interface{}{ // "status": in.Status, //状态 // } // if err = dao.UpdateState(in.StatementUid, columns); err != nil { // return // } // return // } // // 导出合同 // func (a *MgmtStatement) ExportContract(in *mgmtStatement.ExportContractreq) (resp *mgmtStatement.ExportContractres, err error) { // resp = &mgmtStatement.ExportContractres{} // if in.Page < model.InitPage { // in.Page = model.InitPage // } // if in.PageSize < 1 { // in.PageSize = model.PageSize // } // var list []*model.Contract // var count int64 // if list, count, err = dao.ExportContract(in); err != nil { // return // } // resp.Count = int32(count) // for _, v := range list { // temp := mgmtStatement.ExportContractres_Info{} // temp.DownloadUrl = v.DownloadUrl // temp.BatchTime = v.BatchTime // temp.StType = v.StType // temp.ViewUrl = v.ViewUrl // temp.BatchUid = v.BatchUid // temp.ArtistUid = v.ArtistUid // resp.Data = append(resp.Data, &temp) // } // return // } // // 生成合同 // func (a *MgmtStatement) CreateTxContract(in *mgmtStatement.CreateTxContractreq) (resp *mgmtStatement.CreateTxContractres, err error) { // resp = &mgmtStatement.CreateTxContractres{} // var uid uuid.UUID // if uid, err = uuid.NewV4(); err != nil { // err = errors.New(m.ERROR_UID) // return // } // if err != nil { // return nil, err // } // var data model.Contract // data.Uid = uid.String() // data.ArtistUid = in.ArtistUid // data.BatchTime = in.BatchTime // data.BatchUid = in.BatchUid // data.ContractId = in.ContractId // data.StType = in.StType // data.Status = 1 // data.DownloadUrl = in.DownloadUrl // data.ViewUrl = in.ViewUrl // data.CardId = in.CardId // if err = dao.CreateTxContract(&data); err != nil { // return // } // respData := &mgmtStatement.AddContractRes{BatchUid: data.Uid} // resp.Data = respData // return // }