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 } if req.IsShow == 0 { req.IsShow = m.ARTSHOW_INSIDE } 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 }