123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233 |
- package grpc
- import (
- "context"
- pb "go-common/app/service/main/tv/api"
- "go-common/app/service/main/tv/internal/model"
- "go-common/app/service/main/tv/internal/service"
- "go-common/library/ecode"
- "go-common/library/log"
- "go-common/library/net/rpc/warden"
- )
- // New new warden rpc server
- func New(c *warden.ServerConfig, svc *service.Service) *warden.Server {
- ws := warden.NewServer(c)
- pb.RegisterTVServiceServer(ws.Server(), &server{svc})
- ws, err := ws.Start()
- if err != nil {
- panic(err)
- }
- log.Info("start grpc server")
- return ws
- }
- type server struct {
- svr *service.Service
- }
- var _ pb.TVServiceServer = &server{}
- // UserInfo implementation
- func (s *server) UserInfo(ctx context.Context, req *pb.UserInfoReq) (resp *pb.UserInfoReply, err error) {
- ui, err := s.svr.UserInfo(ctx, req.Mid)
- if err != nil {
- return
- }
- if ui == nil {
- return nil, ecode.NothingFound
- }
- resp = &pb.UserInfoReply{}
- resp.DeepCopyFromUserInfo(ui)
- return
- }
- // ChangeHistory implementation
- func (s *server) ChangeHistory(ctx context.Context, req *pb.ChangeHistoryReq) (resp *pb.ChangeHistoryReply, err error) {
- ch, err := s.svr.ChangeHistory(ctx, req.Id)
- if err != nil {
- return
- }
- if ch == nil {
- return nil, ecode.NothingFound
- }
- resp = &pb.ChangeHistoryReply{}
- resp.DeepCopyFromUserChangeHistory(ch)
- return
- }
- // ChangeHistorys implementation
- func (s *server) ChangeHistorys(ctx context.Context, req *pb.ChangeHistorysReq) (resp *pb.ChangeHistorysReply, err error) {
- chs, total, err := s.svr.ChangeHistorys(ctx, req.Mid, req.From, req.To, req.Pn, req.Ps)
- if err != nil {
- return
- }
- resp = &pb.ChangeHistorysReply{Total: int32(total)}
- resp.Historys = make([]*pb.ChangeHistoryReply, 0, len(chs))
- for _, ch := range chs {
- chr := &pb.ChangeHistoryReply{}
- chr.DeepCopyFromUserChangeHistory(ch)
- resp.Historys = append(resp.Historys, chr)
- }
- return
- }
- func suitType2String(st int8) string {
- switch st {
- case model.SuitTypeAll:
- return "ALL"
- case model.SuitTypeMvip:
- return "MVIP"
- default:
- return "ALL"
- }
- }
- // PanelInfo implemention
- func (s *server) PanelInfo(ctx context.Context, req *pb.PanelInfoReq) (resp *pb.PanelInfoReply, err error) {
- pi, err := s.svr.PanelInfo(ctx, req.Mid)
- if err != nil {
- return
- }
- resp = &pb.PanelInfoReply{}
- resp.PriceConfigs = make(map[string]*pb.PanelPriceConfigs)
- for st, ps := range pi {
- ppcs := &pb.PanelPriceConfigs{}
- ppcs.PriceConfigs = make([]*pb.PanelPriceConfig, 0)
- for _, p := range ps {
- item := &pb.PanelPriceConfig{}
- item.DeepCopyFromPanelPriceConfig(p)
- ppcs.PriceConfigs = append(ppcs.PriceConfigs, item)
- }
- resp.PriceConfigs[suitType2String(st)] = ppcs
- }
- return
- }
- // GuestPanelInfo implemention
- func (s *server) GuestPanelInfo(ctx context.Context, req *pb.GuestPanelInfoReq) (resp *pb.GuestPanelInfoReply, err error) {
- pi, err := s.svr.GuestPanelInfo(ctx)
- if err != nil {
- return
- }
- resp = &pb.GuestPanelInfoReply{}
- resp.PriceConfigs = make(map[string]*pb.PanelPriceConfigs)
- for st, ps := range pi {
- ppcs := &pb.PanelPriceConfigs{}
- ppcs.PriceConfigs = make([]*pb.PanelPriceConfig, 0, len(ps))
- for _, p := range ps {
- item := &pb.PanelPriceConfig{}
- item.DeepCopyFromPanelPriceConfig(p)
- ppcs.PriceConfigs = append(ppcs.PriceConfigs, item)
- }
- resp.PriceConfigs[suitType2String(st)] = ppcs
- }
- return
- }
- // PayOrder implementation
- func (s *server) PayOrder(ctx context.Context, req *pb.PayOrderReq) (resp *pb.PayOrderReply, err error) {
- resp = &pb.PayOrderReply{}
- return
- }
- // CreateQr implementation
- func (s *server) CreateQr(ctx context.Context, req *pb.CreateQrReq) (resp *pb.CreateQrReply, err error) {
- qr, err := s.svr.CreateQr(ctx, req.Mid, req.Pid, req.BuyNum, req.Guid, req.AppChannel)
- if err != nil {
- return
- }
- resp = &pb.CreateQrReply{}
- resp.DeepCopyFromQR(qr)
- return
- }
- // CreateGuestQr implementation
- func (s *server) CreateGuestQr(ctx context.Context, req *pb.CreateGuestQrReq) (resp *pb.CreateGuestQrReply, err error) {
- qr, err := s.svr.CreateGuestQr(ctx, req.Pid, req.BuyNum, req.Guid, req.AppChannel)
- if err != nil {
- return
- }
- resp = &pb.CreateGuestQrReply{}
- resp.DeepCopyFromQR(qr)
- return
- }
- // CreateOrder implementation
- func (s *server) CreateOrder(ctx context.Context, req *pb.CreateOrderReq) (resp *pb.CreateOrderReply, err error) {
- pi, err := s.svr.CreateOrder(ctx, req.Token, req.Platform, req.PaymentType, req.ClientIp)
- if err != nil {
- return
- }
- resp = &pb.CreateOrderReply{}
- resp.DeepCopyFromPayInfo(pi)
- return
- }
- // CreateGuestOrder implementation
- func (s *server) CreateGuestOrder(ctx context.Context, req *pb.CreateGuestOrderReq) (resp *pb.CreateGuestOrderReply, err error) {
- pi, err := s.svr.CreateGuestOrder(ctx, req.Mid, req.Token, req.Platform, req.PaymentType, req.ClientIp)
- if err != nil {
- return
- }
- resp = &pb.CreateGuestOrderReply{}
- resp.DeepCopyFromPayInfo(pi)
- return
- }
- // RenewVip implementation
- func (s *server) TokenInfo(ctx context.Context, req *pb.TokenInfoReq) (resp *pb.TokenInfoReply, err error) {
- ti, err := s.svr.TokenInfos(ctx, req.Token)
- if err != nil {
- return
- }
- resp = &pb.TokenInfoReply{}
- resp.Tokens = make([]*pb.TokenInfo, 0)
- for _, v := range ti {
- t := &pb.TokenInfo{}
- t.DeepCopyFromTokenInfo(v)
- resp.Tokens = append(resp.Tokens, t)
- }
- return
- }
- // RenewVip implementation
- func (s *server) RenewVip(ctx context.Context, req *pb.RenewVipReq) (resp *pb.RenewVipReply, err error) {
- err = s.svr.RenewVip(ctx, req.Mid)
- if err != nil {
- return
- }
- resp = &pb.RenewVipReply{}
- return
- }
- // YstUserInfo implementation
- func (s *server) YstUserInfo(ctx context.Context, req *pb.YstUserInfoReq) (resp *pb.YstUserInfoReply, err error) {
- resp = &pb.YstUserInfoReply{}
- ui, err := s.svr.YstUserInfo(ctx, req.DeepCopyAsYstUserInfoReq())
- if err != nil {
- resp.Result = "998"
- resp.Msg = err.Error()
- return
- }
- resp.DeepCopyFromUserInfo(ui)
- resp.Result = "0"
- resp.Msg = "ok"
- return
- }
- // PayCallback implementation
- func (s *server) PayCallback(ctx context.Context, req *pb.PayCallbackReq) (resp *pb.PayCallbackReply, err error) {
- ystReq := &model.YstPayCallbackReq{}
- req.DeepCopyAsIntoYstPayCallbackReq(ystReq)
- ystReply := s.svr.PayCallback(ctx, ystReq)
- resp = &pb.PayCallbackReply{}
- resp.DeepCopyFromYstPayCallbackReply(ystReply)
- return
- }
- // WxContractCallback implementation.
- func (s *server) WxContractCallback(ctx context.Context, req *pb.WxContractCallbackReq) (resp *pb.WxContractCallbackReply, err error) {
- resp = &pb.WxContractCallbackReply{}
- return
- }
|