154 lines
3.6 KiB
Go
154 lines
3.6 KiB
Go
package controller
|
|
|
|
import (
|
|
"context"
|
|
"errors"
|
|
"fonchain-artshow/cmd/model"
|
|
"fonchain-artshow/cmd/service"
|
|
"fonchain-artshow/pb/artShow"
|
|
"fonchain-artshow/pkg/m"
|
|
)
|
|
|
|
type ArtShowProvider struct {
|
|
artShow.UnimplementedArtShowServer
|
|
}
|
|
|
|
func (p *ArtShowProvider) CreateShow(ctx context.Context, req *artShow.SaveShowReq) (res *artShow.SaveShowRes, err error) {
|
|
if req.ShowName == "" {
|
|
err = errors.New(m.ERROR_SHOW_NAME)
|
|
return nil, err
|
|
}
|
|
if req.ShowTime == "" {
|
|
err = errors.New(m.ERROR_TIME)
|
|
return nil, err
|
|
}
|
|
res = new(artShow.SaveShowRes)
|
|
err, showID := service.CreateArtShowWithArtworkPrice(req)
|
|
if err != nil {
|
|
res.Msg = err.Error()
|
|
err = errors.New(m.ERROR_CREATE)
|
|
return res, err
|
|
}
|
|
res.Msg = m.CREATE_SUCCESS
|
|
res.ShowID = int64(showID)
|
|
return res, nil
|
|
}
|
|
|
|
func (p *ArtShowProvider) UpdateShow(ctx context.Context, req *artShow.SaveShowReq) (res *artShow.SaveShowRes, err error) {
|
|
if req.ID == 0 {
|
|
err = errors.New(m.ERROR_INVALID_ID)
|
|
return
|
|
}
|
|
res = new(artShow.SaveShowRes)
|
|
if req.IsShow == m.ARTSHOW_INSIDE {
|
|
showRel := new(model.ShowRel)
|
|
err, showRel = service.QueryShowRel(uint(req.ID))
|
|
if err != nil {
|
|
return res, err
|
|
}
|
|
if showRel.ID > 0 {
|
|
err = errors.New(m.ERROR_NOT_UPDATE_ISSHOW)
|
|
return
|
|
}
|
|
}
|
|
|
|
err, showID := service.UpdateArtShowWithArtworkPrice(req)
|
|
if err != nil {
|
|
res.Msg = err.Error()
|
|
err = errors.New(m.UPDATE_FAILED)
|
|
return
|
|
}
|
|
res.Msg = m.UPDATE_SUCCESS
|
|
res.ShowID = int64(showID)
|
|
return
|
|
}
|
|
|
|
func (p *ArtShowProvider) DelShow(ctx context.Context, req *artShow.DelShowReq) (res *artShow.CommonRes, err error) {
|
|
if len(req.ShowID) < 1 {
|
|
err = errors.New(m.ERROR_INVALID_ID)
|
|
return
|
|
}
|
|
err = service.DelArtShow(req)
|
|
if err != nil {
|
|
res.Msg = err.Error()
|
|
err = errors.New(m.ERROR_DELETE)
|
|
return
|
|
}
|
|
res.Msg = m.DELETE_SUCCESS
|
|
return
|
|
}
|
|
|
|
func (p *ArtShowProvider) ShowList(ctx context.Context, req *artShow.ShowListReq) (res *artShow.ShowListRes, err error) {
|
|
if req.Page == 0 {
|
|
req.Page = 1
|
|
}
|
|
if req.PageSize == 0 {
|
|
req.Page = 10
|
|
}
|
|
res = new(artShow.ShowListRes)
|
|
err, res = service.ArtShowList(req)
|
|
if err != nil {
|
|
res.Msg = err.Error()
|
|
err = errors.New(m.ERROR_QUERY)
|
|
return
|
|
}
|
|
return
|
|
}
|
|
|
|
func (p *ArtShowProvider) ShowInfo(ctx context.Context, req *artShow.ShowDetailReq) (res *artShow.ShowArtworkDetailRes, err error) {
|
|
err, res = service.ShowInfo(req)
|
|
if err != nil {
|
|
res.Msg = err.Error()
|
|
err = errors.New(m.ERROR_QUERY)
|
|
return
|
|
}
|
|
return
|
|
}
|
|
|
|
func (p *ArtShowProvider) ShowStatisticalInfo(ctx context.Context, req *artShow.ShowStatisticalInfoReq) (res *artShow.ShowStatisticalInfoRes, err error) {
|
|
res = new(artShow.ShowStatisticalInfoRes)
|
|
err, num := service.ShowStatisticalInfo(req)
|
|
if err != nil {
|
|
res.Msg = err.Error()
|
|
err = errors.New(m.ERROR_Statistical_NUM)
|
|
return
|
|
}
|
|
res.Data = num
|
|
return
|
|
}
|
|
|
|
func (p *ArtShowProvider) ArtworkPrice(ctx context.Context, req *artShow.ArtworkPriceReq) (res *artShow.ArtworkPriceRes, err error) {
|
|
if req.ArtworkID == 0 {
|
|
err = errors.New(m.ERROR_INVALID_ID)
|
|
return
|
|
}
|
|
res = new(artShow.ArtworkPriceRes)
|
|
err, res = service.ArtworkPriceInfo(req)
|
|
if err != nil {
|
|
res.Msg = err.Error()
|
|
err = errors.New(m.ERROR_QUERY)
|
|
return
|
|
}
|
|
return
|
|
}
|
|
|
|
func (p *ArtShowProvider) ShowListWithApply(ctx context.Context, req *artShow.ShowListReq) (res *artShow.ShowListRes, err error) {
|
|
if req.Page == 0 {
|
|
req.Page = 1
|
|
}
|
|
if req.PageSize == 0 {
|
|
req.Page = 10
|
|
}
|
|
if req.IsShow == 0 {
|
|
req.IsShow = 2
|
|
}
|
|
res = new(artShow.ShowListRes)
|
|
err, res = service.ArtShowListWithApply(req)
|
|
if err != nil {
|
|
res.Msg = err.Error()
|
|
err = errors.New(m.ERROR_QUERY)
|
|
return
|
|
}
|
|
return
|
|
}
|