266 lines
9.4 KiB
Go
266 lines
9.4 KiB
Go
|
// Package asArtwork -----------------------------
|
|||
|
// @file : common.go
|
|||
|
// @author : JJXu
|
|||
|
// @contact : wavingbear@163.com
|
|||
|
// @time : 2023/2/28 14:00
|
|||
|
// -------------------------------------------
|
|||
|
package asArtwork
|
|||
|
|
|||
|
import (
|
|||
|
"context"
|
|||
|
"dubbo.apache.org/dubbo-go/v3/common/logger"
|
|||
|
"errors"
|
|||
|
"fmt"
|
|||
|
"strings"
|
|||
|
"time"
|
|||
|
|
|||
|
"github.com/fonchain_enterprise/fonchain-main/api/artistInfoArtwork"
|
|||
|
"github.com/fonchain_enterprise/fonchain-main/api/artwork"
|
|||
|
"github.com/fonchain_enterprise/fonchain-main/api/artwork_query"
|
|||
|
"github.com/fonchain_enterprise/fonchain-main/pkg/e"
|
|||
|
"github.com/fonchain_enterprise/fonchain-main/pkg/service"
|
|||
|
"github.com/fonchain_enterprise/fonchain-main/pkg/utils"
|
|||
|
"github.com/fonchain_enterprise/fonchain-main/pkg/utils/stime"
|
|||
|
"github.com/gin-gonic/gin"
|
|||
|
)
|
|||
|
|
|||
|
// ReplenishArtwork 补充画家宝中查询到的画作首选项数据 更新ReplenishArtwork2,此方法无法正常进行排序
|
|||
|
func ReplenishArtwork2(lockRecords []*artistInfoArtwork.ArtworkLockInfo) ([]ArtworkPreviewResponse, error) {
|
|||
|
var artworkUids []string
|
|||
|
for _, v := range lockRecords {
|
|||
|
artworkUids = append(artworkUids, v.ArtworkUid)
|
|||
|
}
|
|||
|
if len(artworkUids) == 0 {
|
|||
|
return nil, nil
|
|||
|
}
|
|||
|
res, err := service.GrpcArtworkQueryImpl.ArtworkPreviewList(context.Background(), &artwork_query.ArtworkPreviewListRequest{
|
|||
|
Page: 1,
|
|||
|
PageSize: -1,
|
|||
|
ArtworkUids: artworkUids,
|
|||
|
})
|
|||
|
if err != nil {
|
|||
|
fmt.Println("1111111111")
|
|||
|
return nil, err
|
|||
|
}
|
|||
|
var resultData []ArtworkPreviewResponse
|
|||
|
for _, record := range lockRecords {
|
|||
|
for _, v := range res.Data {
|
|||
|
var ( // 这些数据存在画家宝的数据表中
|
|||
|
lockStatus int64
|
|||
|
BaseAuditStatus int32
|
|||
|
BaseAuditMark string
|
|||
|
BaseAuditMark2 string
|
|||
|
SupplementAuditStatus int32
|
|||
|
SupplementAuditMark string
|
|||
|
SupplementAuditMark2 string
|
|||
|
AuditFlowIndex int32
|
|||
|
CreatedAt int64
|
|||
|
UpdatedAt int64
|
|||
|
DeletedAt int64
|
|||
|
artistUid string
|
|||
|
)
|
|||
|
if record.ArtworkUid == v.ArtworkUid {
|
|||
|
lockStatus = record.Status
|
|||
|
BaseAuditStatus = int32(record.BaseAuditStatus)
|
|||
|
BaseAuditMark = record.BaseAuditMark
|
|||
|
BaseAuditMark2 = record.BaseAuditMark2
|
|||
|
SupplementAuditStatus = record.SupplementAuditStatus
|
|||
|
SupplementAuditMark = record.SupplementAuditMark
|
|||
|
SupplementAuditMark2 = record.SupplementAuditMark2
|
|||
|
AuditFlowIndex = record.AuditFlowIndex
|
|||
|
CreatedAt = record.CreatedAt
|
|||
|
UpdatedAt = record.UpdatedAt
|
|||
|
DeletedAt = record.DeletedAt
|
|||
|
artistUid = record.ArtistUid
|
|||
|
|
|||
|
fmt.Println("查询画作是否入围国展")
|
|||
|
var artworkExtResp, err = service.GrpcArtistInfoArtworkImpl.GetArtworkExtDatas(context.Background(), &artistInfoArtwork.GetArtworkExtDataRequest{ArtworkUid: v.ArtworkUid})
|
|||
|
if err != nil {
|
|||
|
fmt.Println("ReplenishArtwork GrpcArtistInfoArtworkImpl.GetArtworkExtDatas Err: ", err.Error())
|
|||
|
}
|
|||
|
// if v.InSource == 1 { //排除仅存在于画作系统中的画作
|
|||
|
// continue
|
|||
|
// }
|
|||
|
var nationalExhibition int64 = 1
|
|||
|
if artworkExtResp != nil {
|
|||
|
nationalExhibition = artworkExtResp.Data[0].NationalExhibition
|
|||
|
}
|
|||
|
|
|||
|
profileRes, err := service.GrpcArtworkImpl.ArtworkDetail(context.Background(), &artwork.ArtworkDetailRequest{ArtworkUuid: v.ArtworkUid, Type: "1"})
|
|||
|
if err != nil {
|
|||
|
fmt.Println("ReplenishArtwork GrpcArtworkImpl.ArtworkDetail Err: ", err.Error())
|
|||
|
}
|
|||
|
var tfNum string
|
|||
|
if profileRes != nil && profileRes.ProfileInfo != nil {
|
|||
|
tfNum = profileRes.ProfileInfo.Tfnum
|
|||
|
}
|
|||
|
resultData = append(resultData, ArtworkPreviewResponse{
|
|||
|
ArtistUuid: artistUid,
|
|||
|
ArtworkName: v.ArtworkName,
|
|||
|
Length: v.Length,
|
|||
|
Width: v.Width,
|
|||
|
Ruler: v.Ruler,
|
|||
|
CreatedAddress: strings.Split(v.CreatedAddress, ","),
|
|||
|
ArtistPhoto: v.ArtistPhoto,
|
|||
|
HdPic: v.HdPic,
|
|||
|
ArtworkUid: v.ArtworkUid,
|
|||
|
CreatedDate: v.CreateDate, //utils.If(v.CreateDate == "", "未知", v.CreateDate).(string),
|
|||
|
LockStatus: lockStatus,
|
|||
|
CreatedAt: time.Unix(CreatedAt, 0).Format(stime.Format_Normal_YMDhms),
|
|||
|
UpdatedAt: time.Unix(UpdatedAt, 0).Format(stime.Format_Normal_YMDhms),
|
|||
|
DeletedAt: DeletedAt,
|
|||
|
BaseAuditStatus: BaseAuditStatus,
|
|||
|
BaseAuditMark: BaseAuditMark,
|
|||
|
BaseAuditMark2: BaseAuditMark2,
|
|||
|
SupplementAuditStatus: SupplementAuditStatus,
|
|||
|
SupplementAuditMark: SupplementAuditMark,
|
|||
|
SupplementAuditMark2: SupplementAuditMark2,
|
|||
|
AuditFlowIndex: AuditFlowIndex,
|
|||
|
Insource: v.InSource,
|
|||
|
NationalExhibition: nationalExhibition,
|
|||
|
TfNum: tfNum,
|
|||
|
ArtworkType: v.ArtworkType,
|
|||
|
BaseInfoArtistUpdateAt: record.BaseInfoArtistUpdateAt,
|
|||
|
BaseInfoLatestOperator: record.BaseInfoLatestOperator,
|
|||
|
BaseInfoLatestOperationTime: record.BaseInfoLatestOperationTime,
|
|||
|
SupplyInfoArtistUpdateAt: record.SupplyInfoArtistUpdateAt,
|
|||
|
SupplyInfoLatestOperator: record.SupplyInfoLatestOperator,
|
|||
|
SupplyInfoLatestOperationTime: record.SupplyInfoLatestOperationTime,
|
|||
|
Id: record.Id,
|
|||
|
})
|
|||
|
}
|
|||
|
}
|
|||
|
}
|
|||
|
return resultData, nil
|
|||
|
}
|
|||
|
func GetArtworkPreviewList(c *gin.Context, req *GetArtworkPreviewListReq, mode artistInfoArtwork.ArtworkQueryMode) { //*artwork_query.ArtworkPreviewListRequest
|
|||
|
var order []string
|
|||
|
if req.SortField != "" {
|
|||
|
var orderType = "asc"
|
|||
|
if req.SortOrder == "descend" {
|
|||
|
orderType = "desc"
|
|||
|
}
|
|||
|
order = append(order, fmt.Sprintf("%s %s", utils.CamelToSnake(req.SortField), orderType))
|
|||
|
}
|
|||
|
//画家宝微服务获取画作管理中的列表
|
|||
|
records, err := service.GrpcArtistInfoArtworkImpl.GetArtworkLockRecords(c, &artistInfoArtwork.GetArtworkLockRecordsRequest{
|
|||
|
ArtistUid: req.ArtistUid,
|
|||
|
QueryType: mode,
|
|||
|
ArtworkUids: req.ArtworkUids,
|
|||
|
BaseAuditStatus: int64(req.BaseAuditStatus),
|
|||
|
SupplementAuditStatus: int64(req.SupplementAuditStatus),
|
|||
|
Order: order,
|
|||
|
})
|
|||
|
if err != nil {
|
|||
|
service.ErrorWithMark(c, e.Failed, err, "GetArtworkList:GrpcArtistInfoArtworkImpl.GetArtworkLockRecords", "查询失败")
|
|||
|
return
|
|||
|
}
|
|||
|
|
|||
|
if len(records.Data) == 0 {
|
|||
|
service.ResponseList(c, []struct{}{}, service.OptionPage(req.Page, req.PageSize, 0), service.OptionMsg("查询成功"))
|
|||
|
return
|
|||
|
}
|
|||
|
// 通过画作微服务补充画作信息
|
|||
|
resultData, err := ReplenishArtwork2(records.Data)
|
|||
|
if err != nil {
|
|||
|
service.ErrorWithMark(c, e.Failed, err, "GetIncompleteExtDataList ReplenishArtwork Error", err.Error())
|
|||
|
return
|
|||
|
}
|
|||
|
//分页 todo 分页后面放到画家宝微服务
|
|||
|
var result2 = []ArtworkPreviewResponse{}
|
|||
|
for k, v := range resultData {
|
|||
|
if int32(k) >= req.PageSize*(req.Page-1) && int32(k) < req.PageSize*req.Page {
|
|||
|
result2 = append(result2, v)
|
|||
|
}
|
|||
|
}
|
|||
|
|
|||
|
service.ResponseList(c, result2, service.OptionPage(req.Page, req.PageSize, records.Total), service.OptionMsg("查询成功"))
|
|||
|
}
|
|||
|
|
|||
|
// GetArtworkPreviewListData
|
|||
|
//
|
|||
|
// @Description: 返回切片结构体
|
|||
|
// @param req
|
|||
|
// @param mode
|
|||
|
// @return result
|
|||
|
// @return err
|
|||
|
func GetArtworkPreviewListData(req *GetArtworkPreviewListReq, mode artistInfoArtwork.ArtworkQueryMode) (result2 []ArtworkPreviewResponse, err error) {
|
|||
|
var order []string
|
|||
|
if req.SortField != "" {
|
|||
|
var orderType = "asc"
|
|||
|
if req.SortOrder == "descend" {
|
|||
|
orderType = "desc"
|
|||
|
}
|
|||
|
order = append(order, fmt.Sprintf("%s %s", utils.CamelToSnake(req.SortField), orderType))
|
|||
|
}
|
|||
|
//画家宝微服务获取画作管理中的列表
|
|||
|
records, err := service.GrpcArtistInfoArtworkImpl.GetArtworkLockRecords(context.Background(), &artistInfoArtwork.GetArtworkLockRecordsRequest{
|
|||
|
ArtistUid: req.ArtistUid,
|
|||
|
QueryType: mode,
|
|||
|
ArtworkUids: req.ArtworkUids,
|
|||
|
BaseAuditStatus: int64(req.BaseAuditStatus),
|
|||
|
SupplementAuditStatus: int64(req.SupplementAuditStatus),
|
|||
|
Order: order,
|
|||
|
})
|
|||
|
if err != nil {
|
|||
|
logger.Error("GetArtworkPreviewListData GrpcArtistInfoArtworkImpl err", err)
|
|||
|
err = errors.New(e.GetMsg(e.ErrorSelect))
|
|||
|
return
|
|||
|
}
|
|||
|
if len(records.Data) == 0 {
|
|||
|
err = errors.New(e.GetMsg(e.NOTDATA))
|
|||
|
return
|
|||
|
}
|
|||
|
// 通过画作微服务补充画作信息
|
|||
|
resultData, err := ReplenishArtwork2(records.Data)
|
|||
|
if err != nil {
|
|||
|
err = errors.New(e.GetMsg(e.ErrorSelect))
|
|||
|
return
|
|||
|
}
|
|||
|
for k, v := range resultData {
|
|||
|
if int32(k) >= req.PageSize*(req.Page-1) && int32(k) < req.PageSize*req.Page {
|
|||
|
result2 = append(result2, v)
|
|||
|
}
|
|||
|
}
|
|||
|
return
|
|||
|
}
|
|||
|
|
|||
|
// DEPRECATED
|
|||
|
func ConvertAuditStatusToString(auditStatus int) string {
|
|||
|
switch auditStatus {
|
|||
|
case 1:
|
|||
|
return "暂存"
|
|||
|
case 2:
|
|||
|
return "待审核"
|
|||
|
case 3:
|
|||
|
return "审批不通过"
|
|||
|
case 4:
|
|||
|
return "审批通过"
|
|||
|
case 5:
|
|||
|
return "信息待补充"
|
|||
|
case 6:
|
|||
|
return "驳回"
|
|||
|
case 7:
|
|||
|
return "复审中"
|
|||
|
default:
|
|||
|
return "未知"
|
|||
|
}
|
|||
|
}
|
|||
|
|
|||
|
func DescriptionAuidtStatusAtNow(data *artistInfoArtwork.ArtworkLockInfo) (flowIndex string, auditStatus string) {
|
|||
|
auditStatus = data.BaseAuditStatus.Value()
|
|||
|
switch data.AuditFlowIndex {
|
|||
|
case 2:
|
|||
|
flowIndex = "基本信息审批"
|
|||
|
case 3:
|
|||
|
flowIndex = "补充信息审批"
|
|||
|
default:
|
|||
|
if auditStatus != "暂存" {
|
|||
|
flowIndex = "基本信息审批"
|
|||
|
} else {
|
|||
|
flowIndex = "无"
|
|||
|
}
|
|||
|
}
|
|||
|
return
|
|||
|
}
|