fonchain-artistinfo/cmd/internal/logic/contract.go
2023-03-17 21:17:15 +08:00

808 lines
26 KiB
Go
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

package logic
import (
"context"
"errors"
"fmt"
"github.com/fonchain/fonchain-artistinfo/cmd/internal/dao"
"github.com/fonchain/fonchain-artistinfo/cmd/model"
"github.com/fonchain/fonchain-artistinfo/pb/artist"
"github.com/fonchain/fonchain-artistinfo/pb/artwork"
contract "github.com/fonchain/fonchain-artistinfo/pb/contract"
db "github.com/fonchain/fonchain-artistinfo/pkg/db"
"github.com/fonchain/fonchain-artistinfo/pkg/m"
"github.com/fonchain/fonchain-artistinfo/pkg/service"
uuid "github.com/satori/go.uuid"
"gorm.io/gorm"
)
type IContract interface {
CreateContract(req *contract.CreateContractRequest) (rep *contract.CreateContractRespond, err error)
ContractListMgmt(req *contract.ContractListMgmtRequest) (rep *contract.ContractListMgmtRespond, err error)
ContractList(req *contract.ContractListRequest) (rep *contract.ContractListRespond, err error)
SignContract(req *contract.SignContractRequest) (rep *contract.SignContractRespond, err error)
FinishContract(req *contract.FinishContractRequest) (rep *contract.FinishContractRespond, err error)
GetContractInfoByContractUid(req *contract.GetContractInfoByContractUidRequest) (rep *contract.GetContractInfoByContractUidRespond, err error)
// ContractTxList(req *contract.ContractTxListRequest) (rep *contract.ContractTxListRespond, err error)
// ContractList(req *contract.ContractListRequest) (rep *contract.ContractListRespond, err error)
// UpdateContract(req *contract.UpdateContractRequest) (rep *contract.UpdateContractRespond, err error)
// UpdateContractTx(req *contract.UpdateContractTxRequest) (rep *contract.UpdateContractTxRespond, err error)
// GetContract(req *contract.GetContractRequest) (rep *contract.ContractData, err error)
}
func NewContract() IContract {
return &Contract{}
}
type Contract struct {
}
func (a *Contract) CreateContract(req *contract.CreateContractRequest) (rep *contract.CreateContractRespond, err error) {
rep = &contract.CreateContractRespond{}
//遇到错误数据库回滚
tx := db.DB.Begin()
userInfo, err := dao.GetArtistInfoByArtistUid(req.ArtistUid)
if err != nil {
return
}
fmt.Println("第二处111111111111111")
switch req.Type {
//1 画家合同(不涉及画家的画作)
case 1:
//查看画家合同是否已经存在,不存在继续
if err = dao.GetMgmtContractByArtistUid(req.ArtistUid, req.Type); err == gorm.ErrRecordNotFound {
fmt.Println("第一处111")
var uid uuid.UUID
if uid, err = uuid.NewV4(); err != nil {
err = errors.New(m.ERROR_UID)
return
}
//创建画家合同
contract := &model.Contract{
Uid: uid.String(),
ArtistUid: req.ArtistUid,
Type: 1,
State: 1,
Status: 2,
LockTime: userInfo.LatestLockTime,
}
if err = dao.CreateArtistContract(tx, contract); err != nil {
return
}
} else {
fmt.Println("第一处112")
return
}
case 2:
for _, v := range req.ArtworkUid {
//查看画作合同是否已经存在,不存在继续类型2、6
if err = dao.GetMgmtContractByArtworkUid(v, 2); err == gorm.ErrRecordNotFound {
} else {
return
}
if err = dao.GetMgmtContractByArtworkUid(v, 6); err == gorm.ErrRecordNotFound {
} else {
return
}
}
//创建画家画作合同类型2,如果批次选择多个画作的话,那么多个画在一个合同中
if err = dao.CreateArtworkContract(tx, req.ArtworkUid, req.ArtistUid, 2, userInfo.LatestLockTime); err != nil {
tx.Rollback()
return
}
//创建画家画作合同类型6
if err = dao.CreateArtworkContract(tx, req.ArtworkUid, req.ArtistUid, 6, userInfo.LatestLockTime); err != nil {
tx.Rollback()
return
}
case 3:
for _, v := range req.ArtworkUid {
//查看画作合同是否已经存在,不存在继续类型3
if err = dao.GetMgmtContractByArtworkUid(v, 3); err == gorm.ErrRecordNotFound {
} else {
return
}
}
//创建画家画作合同类型3,每个画作一个合同
for _, v := range req.ArtworkUid {
var artworkUid []string
artworkUid = append(artworkUid, v)
if err = dao.CreateArtworkContract(tx, artworkUid, req.ArtistUid, 3, userInfo.LatestLockTime); err != nil {
tx.Rollback()
return
}
}
case 5:
for _, v := range req.ArtworkUid {
//查看画作合同是否已经存在,不存在继续类型5
if err = dao.GetMgmtContractByArtworkUid(v, 5); err == gorm.ErrRecordNotFound {
} else {
return
}
}
//创建画家画作合同类型5
for _, v := range req.ArtworkUid {
var artworkUid []string
artworkUid = append(artworkUid, v)
if err = dao.CreateArtworkContract(tx, artworkUid, req.ArtistUid, 5, userInfo.LatestLockTime); err != nil {
tx.Rollback()
return
}
}
default:
err = errors.New("type值出错!")
return rep, err
}
tx.Commit()
return
}
func (a *Contract) ContractListMgmt(req *contract.ContractListMgmtRequest) (rep *contract.ContractListMgmtRespond, err error) {
rep = &contract.ContractListMgmtRespond{}
//查看是否有该画家
_, err = dao.GetArtistInfoByArtistUid(req.ArtistUid)
if err != nil {
return
}
//合同分页查询操作
if req.Page < 1 {
req.Page = 1
}
if req.Num < 1 {
req.Num = 15
}
offset := (req.Page - 1) * req.Num
//获取该用户的所有合同
contracts, err := dao.GetContractList(req.ArtistUid, req.Num, offset)
if err != nil {
return
}
rep.Data = contracts
return
}
func (a *Contract) ContractList(req *contract.ContractListRequest) (rep *contract.ContractListRespond, err error) {
//查看是否有该画家
user, err := dao.GetArtistInfoById(req.ArtistUid)
if err != nil {
return
}
fmt.Println("user:", user)
ContractData, err := dao.ContractList(user.MgmtArtistUid, req.State)
if err != nil {
return
}
rep = &contract.ContractListRespond{
Data: ContractData,
}
return
}
func (a *Contract) SignContract(req *contract.SignContractRequest) (rep *contract.SignContractRespond, err error) {
rep = &contract.SignContractRespond{}
fmt.Println("SignContractReq", req)
tx := db.DB.Begin()
//更新合同状态并获取合同信息
err = dao.UpdateContract(tx, req)
if err != nil {
tx.Rollback()
}
tx.Commit()
return
}
func (a *Contract) FinishContract(req *contract.FinishContractRequest) (rep *contract.FinishContractRespond, err error) {
rep = &contract.FinishContractRespond{}
tx := db.DB.Begin()
//更新合同状态并获取合同信息
contract, err := dao.FinishContract(tx, req.TransactionId)
if err != nil {
tx.Rollback()
return nil, err
}
rep.Contract = contract
tx.Commit()
return
}
// func (a *Contract) SignContract(req *contract.SignContractRequest) (rep *contract.SignContractRespond, err error) {
// rep = &contract.SignContractRespond{}
// //遇到错误数据库回滚
// tx := db.DB.Begin()
// //根据合同uid获取具体合同信息
// contractInfo, err := dao.GetContractInfo(req.ContractUid)
// if err != nil {
// return
// }
// // //根据画家id获取画家具体信息
// // artistDetailResponse, customerId, err := GetArtistInfoById(req.ArtistUid)
// // if err != nil {
// // return rep, err
// // }
// //返回画家信息
// artistDetailResponse, err := dao.GetArtistInfoByArtistUid(req.ArtistUid)
// if err != nil {
// return
// }
// var (
// realName string
// address string
// idNum string
// telNum string
// )
// if artistDetailResponse.RealNameInfo != nil {
// realName = artistDetailResponse.RealNameInfo.Name
// address = artistDetailResponse.RealNameInfo.Address
// idNum = artistDetailResponse.RealNameInfo.IdNum
// telNum = artistDetailResponse.RealNameInfo.TelNum
// } else {
// fmt.Printf("用户%s 实名信息为空", artistDetailResponse.MgmtArtistUid)
// }
// if contractInfo.Type != 4 && contractInfo.Type != 7 {
// switch contractInfo.Type {
// case 1:
// var ContractNo = fmt.Sprintf("TF_%d", time.Now().UnixNano())
// endTime := time.Now().AddDate(1, 0, -1)
// parameterMap := make((map[string]string), 0)
// // 一、 模板填充
// parameterMap["PartyAName"] = realName
// parameterMap["PartyAAddress"] = address
// parameterMap["PartyAIdentityCard"] = idNum
// parameterMap["PartyATelNum"] = artistDetailResponse.TelNum
// parameterMap["PartyBRule"] = "240"
// parameterMap["SettleNum"] = "2"
// parameterMap["SettleSec"] = "100"
// parameterMap["ActivityNum"] = "2"
// parameterMap["SettlerTypeFour"] = "2"
// parameterMap["PowerDay"] = "5"
// parameterMap["EffectStartYear"] = fmt.Sprintf("%d", time.Now().Year())
// parameterMap["EffectStartMonth"] = fmt.Sprintf("%d", time.Now().Month())
// parameterMap["EffectStartDay"] = fmt.Sprintf("%d", time.Now().Day())
// parameterMap["EffectEndYear"] = fmt.Sprintf("%d", endTime.Year())
// parameterMap["EffectEndMonth"] = fmt.Sprintf("%d", endTime.Month())
// parameterMap["EffectEndDay"] = fmt.Sprintf("%d", endTime.Day())
// parameterMap["PartyBLegal"] = "胡婷"
// //将map转换为string类型
// parameterMapType, err := json.Marshal(parameterMap)
// if err != nil {
// return rep, err
// }
// generateContractRequest := &contractMicroservice.GenerateContractRequest{
// TemplateId: "一手画市场18",
// ContractId: ContractNo,
// ParameterMap: string(parameterMapType),
// }
// fmt.Println("合同111")
// generateContractResponse, err := service.ContractImpl.GenerateContract(context.Background(), generateContractRequest)
// if err != nil {
// return rep, err
// }
// //二、 自动签署
// extSignAutoRequest := &contractMicroservice.ExtSignAutoRequest{
// TransactionId: fmt.Sprintf("TFAU_%d", time.Now().UnixNano()),
// ContractId: ContractNo,
// CustomerId: "1A958BFD01E6551D06381DA6C0B19259",
// DocTitle: fmt.Sprintf("TFAU_%d", time.Now().UnixNano()),
// SignKeyword: "受托方(乙方)",
// SignatureId: "1668589742383450",
// KeyX: "120",
// KeyY: "0",
// }
// fmt.Println("合同11")
// _, err = service.ContractImpl.ExtSignAuto(context.Background(), extSignAutoRequest)
// if err != nil {
// return rep, err
// }
// fmt.Println("合同1")
// //更新合同表将合同的下载、在线、id保存
// err = dao.UpdateContract(tx, contractInfo.Uid, generateContractResponse.ViewPdfUrl, generateContractResponse.DownloadUrl, ContractNo)
// if err != nil {
// return rep, err
// }
// fmt.Println("合同2")
// case 2:
// var ContractNo = fmt.Sprintf("TF_%d", time.Now().UnixNano())
// var parameterMap = make(map[string]string)
// endTime := time.Now().AddDate(1, 0, -1)
// parameterMap["contractNo"] = ContractNo
// parameterMap["partyAName"] = realName
// parameterMap["partyAAddress"] = address
// parameterMap["partyAIdentityCard"] = idNum
// parameterMap["partyATelNum"] = telNum
// parameterMap["settleNum"] = "2"
// parameterMap["settleSecOne"] = "0"
// parameterMap["settleSecTwo"] = "100"
// parameterMap["activityNum"] = "2"
// parameterMap["settlerTypeFour"] = "2"
// parameterMap["powerDay"] = "5"
// parameterMap["effectStartYear"] = fmt.Sprintf("%d", time.Now().Year())
// parameterMap["effectStartMonth"] = fmt.Sprintf("%d", time.Now().Month())
// parameterMap["effectStartDay"] = fmt.Sprintf("%d", time.Now().Day())
// parameterMap["effectEndYear"] = fmt.Sprintf("%d", endTime.Year())
// parameterMap["effectEndMonth"] = fmt.Sprintf("%d", endTime.Month())
// parameterMap["effectEndDay"] = fmt.Sprintf("%d", endTime.Day())
// parameterMap["PartyBLegal"] = "邬侨华"
// //将map转换为string类型
// parameterMapType, err := json.Marshal(parameterMap)
// if err != nil {
// return rep, err
// }
// generateContractRequest := &contractMicroservice.GenerateContractRequest{
// TemplateId: "著作权代理转让服务合同20",
// ContractId: ContractNo,
// ParameterMap: string(parameterMapType),
// }
// generateContractResponse, err := service.ContractImpl.GenerateContract(context.Background(), generateContractRequest)
// if err != nil {
// return rep, err
// }
// //二、 自动签署
// extSignAutoRequest := &contractMicroservice.ExtSignAutoRequest{
// TransactionId: fmt.Sprintf("TFAU_%d", time.Now().UnixNano()),
// ContractId: ContractNo,
// CustomerId: "F49C748A0C06431BC620354F4491BD37",
// DocTitle: fmt.Sprintf("TFAU_%d", time.Now().UnixNano()),
// SignKeyword: "受托方(乙方)",
// SignatureId: "1668589763366246",
// KeyX: "120",
// KeyY: "0",
// }
// _, err = service.ContractImpl.ExtSignAuto(context.Background(), extSignAutoRequest)
// if err != nil {
// return rep, err
// }
// //更新合同表将合同的下载、在线、id保存
// err = dao.UpdateContract(tx, contractInfo.Uid, generateContractResponse.ViewPdfUrl, generateContractResponse.DownloadUrl, ContractNo)
// if err != nil {
// return rep, err
// }
// case 3:
// var ContractNo = fmt.Sprintf("TF_%d", time.Now().UnixNano())
// //获取画作信息
// artworkDetailResponse, err := GetArtworkProfileByArtworkUid(contractInfo.ArtworkUid)
// if err != nil {
// return rep, err
// }
// var parameterMap = make(map[string]string)
// parameterMap["partyAName"] = realName
// parameterMap["partyAIdCard"] = idNum
// parameterMap["artworkName"] = artworkDetailResponse.ProfileInfo.ArtworkName
// parameterMap["year"] = fmt.Sprintf("%d", time.Now().Year())
// parameterMap["month"] = fmt.Sprintf("%d", time.Now().Month())
// parameterMap["day"] = fmt.Sprintf("%d", time.Now().Day())
// //将map转换为string类型
// parameterMapType, err := json.Marshal(parameterMap)
// if err != nil {
// return rep, err
// }
// generateContractRequest := &contractMicroservice.GenerateContractRequest{
// TemplateId: "登记授权委托书18",
// ContractId: ContractNo,
// ParameterMap: string(parameterMapType),
// }
// generateContractResponse, err := service.ContractImpl.GenerateContract(context.Background(), generateContractRequest)
// if err != nil {
// return rep, err
// }
// //更新合同表将合同的下载、在线、id保存
// err = dao.UpdateContract(tx, contractInfo.Uid, generateContractResponse.ViewPdfUrl, generateContractResponse.DownloadUrl, ContractNo)
// if err != nil {
// return rep, err
// }
// case 5:
// //获取画作信息
// artworkDetailResponse, err := GetArtworkProfileByArtworkUid(contractInfo.ArtworkUid)
// if err != nil {
// return rep, err
// }
// var ContractNo = fmt.Sprintf("TF_%d", time.Now().UnixNano())
// var parameterMap = make(map[string]string)
// parameterMap["artworkName"] = artworkDetailResponse.ProfileInfo.ArtworkName
// parameterMap["year"] = fmt.Sprintf("%d", time.Now().Year())
// parameterMap["month"] = fmt.Sprintf("%d", time.Now().Month())
// parameterMap["day"] = fmt.Sprintf("%d", time.Now().Day())
// //将map转换为string类型
// parameterMapType, err := json.Marshal(parameterMap)
// if err != nil {
// return rep, err
// }
// generateContractRequest := &contractMicroservice.GenerateContractRequest{
// TemplateId: "作品登记承诺书16",
// ContractId: ContractNo,
// ParameterMap: string(parameterMapType),
// }
// generateContractResponse, err := service.ContractImpl.GenerateContract(context.Background(), generateContractRequest)
// if err != nil {
// return rep, err
// }
// //更新合同表将合同的下载、在线、id保存
// err = dao.UpdateContract(tx, contractInfo.Uid, generateContractResponse.ViewPdfUrl, generateContractResponse.DownloadUrl, ContractNo)
// if err != nil {
// return rep, err
// }
// case 6:
// ArtistUids := strings.Split(contractInfo.ArtistUid, ",")
// type dynamic struct {
// InsertWay int `json:"insertWay"`
// Keyword string `json:"keyword"`
// CellHeight float64 `json:"cellHeight"`
// ColWidthPercent []int `json:"colWidthPercent"`
// TheFirstHeader string `json:"theFirstHeader"`
// CellHorizontalAlignment int `json:"cellHorizontalAlignment"`
// CellVerticalAlignment int `json:"cellVerticalAlignment"`
// Headers []string `json:"headers"`
// Datas [][]string `json:"datas"`
// }
// var dynamicList []dynamic
// var dynamicOne dynamic
// dynamicOne.InsertWay = 1
// dynamicOne.Keyword = "附表 1"
// dynamicOne.CellHeight = 16.0
// dynamicOne.ColWidthPercent = []int{6, 6, 20, 10, 10}
// // dynamicOne.TheFirstHeader =
// dynamicOne.CellHorizontalAlignment = 1
// dynamicOne.CellVerticalAlignment = 5
// dynamicOne.Headers = []string{"序号", "作品名称", "哈希值", "著作权取得方式(原始/继受)", "继受取得的证明文件"}
// for k, v := range ArtistUids {
// //获取画作信息
// artworkDetailResponse, err := GetArtworkProfileByArtworkUid(v)
// if err != nil {
// return rep, err
// }
// var tmps []string
// tmps = append(tmps, fmt.Sprintf("%d", k+1))
// tmps = append(tmps, artworkDetailResponse.ProfileInfo.ArtistName) //获取画作名字
// tmps = append(tmps, artworkDetailResponse.DigiInfo.CopyrightHash) //获取版权hash
// tmps = append(tmps, "原始")
// tmps = append(tmps, "")
// dynamicOne.Datas = append(dynamicOne.Datas, tmps)
// }
// dynamicList = append(dynamicList, dynamicOne)
// dyByte, err := json.Marshal(dynamicList)
// if err != nil {
// return rep, err
// }
// ContractNo := fmt.Sprintf("TF_%d", time.Now().UnixNano()+1000)
// //一、 模板填充
// var parameterMap = make(map[string]string)
// parameterMap["partyBLegal"] = artistDetailResponse.RealNameInfo.Name
// //将map转换为string类型
// parameterMapType, err := json.Marshal(parameterMap)
// if err != nil {
// return rep, err
// }
// var viewPdfUrl string
// var downloadUrl string
// generateContractRequest := &contractMicroservice.GenerateContractRequest{
// ContractId: ContractNo,
// ParameterMap: string(parameterMapType),
// DynamicTables: string(dyByte),
// }
// if len(ArtistUids) > 30 {
// return rep, errors.New("选择画作条数过多")
// } else if len(ArtistUids) <= 15 {
// generateContractRequest.TemplateId = "著作权代理转让服务合同——附表152"
// generateContractResponse, err := service.ContractImpl.GenerateContract(context.Background(), generateContractRequest)
// if err != nil {
// return rep, err
// }
// viewPdfUrl = generateContractResponse.ViewPdfUrl
// downloadUrl = generateContractResponse.DownloadUrl
// } else {
// generateContractRequest.TemplateId = "著作权代理转让服务合同——附表302"
// generateContractResponse, err := service.ContractImpl.GenerateContract(context.Background(), generateContractRequest)
// if err != nil {
// return rep, err
// }
// viewPdfUrl = generateContractResponse.ViewPdfUrl
// downloadUrl = generateContractResponse.DownloadUrl
// }
// //二、 自动签署
// extSignAutoRequest := &contractMicroservice.ExtSignAutoRequest{
// TransactionId: fmt.Sprintf("TFAU_%d", time.Now().UnixNano()+1000),
// ContractId: ContractNo,
// CustomerId: "F49C748A0C06431BC620354F4491BD37",
// DocTitle: fmt.Sprintf("TFAU_%d", time.Now().UnixNano()),
// SignKeyword: "受托方(乙方)",
// SignatureId: "1668589763366246",
// KeyX: "120",
// KeyY: "0",
// }
// _, err = service.ContractImpl.ExtSignAuto(context.Background(), extSignAutoRequest)
// if err != nil {
// return rep, err
// }
// //更新合同表将合同的下载、在线、id保存
// err = dao.UpdateContract(tx, contractInfo.Uid, viewPdfUrl, downloadUrl, ContractNo)
// if err != nil {
// tx.Rollback()
// return rep, err
// }
// default:
// return rep, errors.New("type出错")
// }
// }
// //上面数据库没有错误就执行,上面修改的值下面会使用到
// tx.Commit()
// transactionId := fmt.Sprintf("TFTX_%d", time.Now().UnixNano())
// var signKeyword string
// //从新根据合同id获取具体合同信息
// contractInfo, err = dao.GetContractInfo(req.ContractUid)
// if err != nil {
// return
// }
// if contractInfo.Type == 1 || contractInfo.Type == 2 || contractInfo.Type == 6 {
// signKeyword = "委托方(甲方)"
// }
// if contractInfo.Type == 3 {
// signKeyword = "委托人签字:"
// }
// if contractInfo.Type == 4 {
// signKeyword = "画家签字:"
// }
// if contractInfo.Type == 5 {
// signKeyword = "申请人(签章):"
// }
// signShowTime := "1"
// if contractInfo.Type == 5 || contractInfo.Type == 3 || contractInfo.Type == 6 {
// signShowTime = "2"
// }
// // 手动签署
// extSignRequest := &contractMicroservice.ExtSignRequest{
// TransactionId: transactionId,
// ContractId: contractInfo.ContractId,
// CustomerId: artistDetailResponse.CustomerId,
// ReturnUrl: fmt.Sprintf("%v/contractwrite?htmltype=%s&envtype=%s&token= %s", "192.168.10.7", req.HtmlType, req.EnvType, req.Token),
// DocTitle: contractInfo.ContractId,
// OpenEnvironment: "0",
// MobileSignType: "2",
// SignKeyword: signKeyword,
// Keyx: "100",
// Keyy: "-5",
// SignatureShowTime: signShowTime,
// PcHandSignature: "2",
// }
// jumpCommonResponse, err := service.ContractImpl.ExtSign(context.Background(), extSignRequest)
// if err != nil {
// return rep, err
// }
// err = dao.UpdateContractTx(tx, contractInfo.Uid, transactionId)
// if err != nil {
// return
// }
// rep.JumpUrl = jumpCommonResponse.JumpUrl
// return rep, nil
// }
func (a *Contract) GetContractInfoByContractUid(req *contract.GetContractInfoByContractUidRequest) (rep *contract.GetContractInfoByContractUidRespond, err error) {
rep = &contract.GetContractInfoByContractUidRespond{}
contractInfo, err := dao.GetContractInfo(req.ContractUid)
if err != nil {
return
}
contract := &contract.Contracts{
ContractUid: contractInfo.Uid,
ArtistUid: contractInfo.ArtistUid,
ArtworkUid: contractInfo.ArtworkUid,
ContractId: contractInfo.ContractId,
TransactionId: contractInfo.TransactionId,
Type: contractInfo.Type,
ViewUrl: contractInfo.ViewUrl,
DownloadUrl: contractInfo.DownloadUrl,
State: contractInfo.State,
Status: contractInfo.Status,
LockTime: contractInfo.LockTime,
SignTime: contractInfo.SignTime,
}
rep.Data = contract
return
}
// func (a *Contract) ContractTxList(req *contract.ContractTxListRequest) (rep *contract.ContractTxListRespond, err error) {
// rep = &contract.ContractTxListRespond{}
// var datas []*contract.Contracts
// artistDetailResponse, _, err := GetArtistInfoById(req.ID)
// if err != nil {
// return
// }
// contracts, err := dao.ContractTxList(artistDetailResponse.ProfileInfo.Uid, req.State)
// if err != nil {
// return
// }
// data := &contract.Contracts{}
// for _, v := range contracts {
// data.ArtistUid = v.ArtistUid
// data.ArtworkUid = v.ArtworkUid
// data.ContractId = v.ContractId
// data.TransactionId = v.TransactionId
// data.Type = v.Type
// data.ViewUrl = v.ViewUrl
// data.DownloadUrl = v.DownloadUrl
// //时间戳转时间
// data.ExpirationTime = time.Unix(int64(v.CreatedAt), 0).Format("2006/01/02 15:04:05")
// data.SignTime = v.SignTime
// datas = append(datas, data)
// }
// rep.Data = datas
// return
// }
// 根据画作uid获取画作信息
func GetArtworkProfileByArtworkUid(artworkUid string) (artworkProfileInfo *artwork.ArtworkDetailResponse, err error) {
artworkProfileInfo = &artwork.ArtworkDetailResponse{}
artworkDetailRequest := &artwork.ArtworkDetailRequest{
ArtworkUuid: artworkUid,
Type: "1",
}
artworkDetailResponse, err := service.ArtworkImpl.ArtworkDetail(context.Background(), artworkDetailRequest)
if err != nil {
return
}
return artworkDetailResponse, nil
}
// 根据画家id获取画家具体信息
func GetArtistInfoById(artistUid string) (artistDetailResponse *artist.DetailResponse, customerId string, err error) {
artistDetailResponse = &artist.DetailResponse{}
artistInfo, err := dao.GetArtistInfoById(artistUid)
if err != nil {
return
}
detailRequest := &artist.DetailRequest{
Uid: artistInfo.MgmtArtistUid,
}
artistDetailResponse, err = service.GrpcArtistImpl.ArtistDetail(context.Background(), detailRequest)
if err != nil {
return
}
customerId = artistInfo.CustomerId
return
}
// func (a *Contract) ContractList(req *contract.ContractListRequest) (rep *contract.ContractListRespond, err error) {
// rep, err = dao.ContractList(req)
// return
// }
// func (a *Contract) GetContract(req *contract.GetContractRequest) (rep *contract.ContractData, err error) {
// rep, err = dao.GetContract(int32(req.Id))
// return
// }
// func (a *Contract) ContractTxList(req *contract.ContractTxListRequest) (rep *contract.ContractTxListRespond, err error) {
// rep, err = dao.ContractTxList(req)
// return
// }
// func (a *Contract) UpdateContract(req *contract.UpdateContractRequest) (rep *contract.UpdateContractRespond, err error) {
// rep = &contract.UpdateContractRespond{}
// err = dao.UpdateContract(req)
// return
// }
// func (a *Contract) UpdateContractTx(req *contract.UpdateContractTxRequest) (rep *contract.UpdateContractTxRespond, err error) {
// rep = &contract.UpdateContractTxRespond{}
// err = dao.UpdateContractTx(req.TransactionId, int32(req.ID))
// return
// }