fonchain-fiee/pkg/service/artwork/query.go

83 lines
2.5 KiB
Go
Raw Normal View History

2025-02-19 06:24:15 +00:00
package artwork
import (
v3Config "dubbo.apache.org/dubbo-go/v3/config"
"github.com/fonchain_enterprise/fonchain-main/pkg/request"
"github.com/liuzl/gocc"
"fmt"
artShow "github.com/fonchain_enterprise/fonchain-main/api/artShow"
"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/gin-gonic/gin"
"go.uber.org/zap"
)
func SecondArtworkList(c *gin.Context) {
var req artwork_query.SecondArtworkListReq
if err := c.ShouldBind(&req); err != nil {
service.ResponseQuickMsg(c, e.Failed, err.Error(), nil)
return
}
resp, err := service.GrpcArtworkQueryImpl.SecondArtworkList(c, &req)
if err != nil {
service.ResponseQuickMsg(c, e.Failed, err.Error(), nil)
return
}
for _, v := range resp.Data {
if v.BlackListStatus == 2 {
v.ArtistName = fmt.Sprintf("#%s", v.ArtistName)
}
v.ArtistShowCount = fmt.Sprintf("%s0", v.ArtistName)
}
if len(resp.Data) > 0 && len(resp.Data) <= 50 && v3Config.GetConsumerService("ArtShowClientImpl") != nil {
var artistUids []string = make([]string, 0, len(resp.Data))
for k, v := range resp.Data {
artistUids = append(artistUids, v.ArtistUuid)
resp.Data[k].ArtistShowCount = fmt.Sprintf("%s0", v.ArtistName)
}
artshowResp, _err := service.GrpcArtShowImpl.ArtistExhibitionCount(c, &artShow.ArtistExhibitionCountReq{ArtistUid: artistUids})
if _err != nil {
zap.L().Error("artist ArtistExhibitionCount err", zap.Error(err))
}
if artshowResp != nil && len(artshowResp.ArtistShowCount) > 0 {
for k, v := range resp.Data {
for _, v1 := range artshowResp.ArtistShowCount {
if v.ArtistUuid == v1.ArtistUid {
resp.Data[k].ArtistShowCount = fmt.Sprintf("%s%d", v.ArtistName, v1.ShowCount)
break
}
}
}
}
}
service.ResponseQuickMsg(c, e.Ok, e.GetMsg(e.SUCCESS), resp)
return
}
// 繁体转简体
func TraditionalToSimplified(c *gin.Context) {
var err error
var out string
var req request.SimpleArtworkListReq
if err = c.ShouldBind(&req); err != nil {
service.ResponseQuickMsg(c, e.Failed, err.Error(), nil)
return
}
s2t, _err := gocc.New("t2s")
if _err != nil {
service.ResponseQuickMsg(c, e.Failed, e.GetMsg(e.Failed), nil)
return
}
out, err = s2t.Convert(req.Words)
if err != nil {
service.ResponseQuickMsg(c, e.Failed, e.GetMsg(e.Failed), nil)
return
}
service.ResponseQuickMsg(c, e.Ok, e.GetMsg(e.SUCCESS), map[string]interface{}{
"Out": out,
})
return
}