123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239 |
- package v1
- import (
- "context"
- "strings"
- v1pb "go-common/app/admin/live/live-admin/api/http/v1"
- "go-common/app/admin/live/live-admin/conf"
- rspb "go-common/app/service/live/resource/api/grpc/v1"
- "go-common/library/log"
- )
- // ResourceService struct
- type ResourceService struct {
- conf *conf.Config
- // optionally add other properties here, such as dao
- // dao *dao.Dao
- rsCli *rspb.Client
- }
- //NewResourceService init
- func NewResourceService(c *conf.Config) (s *ResourceService) {
- s = &ResourceService{
- conf: c,
- }
- var svc *rspb.Client
- var err error
- log.Info("ResourceService Init: %+v", s.conf.ResourceClient)
- if svc, err = rspb.NewClient(s.conf.ResourceClient); err != nil {
- panic(err)
- }
- s.rsCli = svc
- return s
- }
- // Add implementation
- // Add 添加资源接口
- // `method:"POST" internal:"true"
- func (s *ResourceService) Add(ctx context.Context, req *v1pb.AddReq) (resp *v1pb.AddResp, err error) {
- respRPC, error := s.rsCli.Add(ctx, &rspb.AddReq{
- Platform: req.Platform,
- Title: req.Title,
- JumpPath: req.JumpPath,
- JumpPathType: req.JumpPathType,
- JumpTime: req.JumpTime,
- Type: req.Type,
- Device: req.Device,
- StartTime: req.StartTime,
- EndTime: req.EndTime,
- ImageUrl: req.ImageUrl,
- })
- err = error
- if error == nil {
- resp = &v1pb.AddResp{
- Id: respRPC.Id,
- }
- }
- return
- }
- // AddEx implementation
- // AddEx 添加资源接口
- // `method:"POST" internal:"true"
- func (s *ResourceService) AddEx(ctx context.Context, req *v1pb.AddReq) (resp *v1pb.AddResp, err error) {
- respRPC, error := s.rsCli.AddEx(ctx, &rspb.AddReq{
- Platform: req.Platform,
- Title: req.Title,
- JumpPath: req.JumpPath,
- JumpPathType: req.JumpPathType,
- JumpTime: req.JumpTime,
- Type: req.Type,
- Device: req.Device,
- StartTime: req.StartTime,
- EndTime: req.EndTime,
- ImageUrl: req.ImageUrl,
- })
- err = error
- if error == nil {
- resp = &v1pb.AddResp{
- Id: respRPC.Id,
- }
- }
- return
- }
- // Edit implementation
- // Edit 编辑资源接口
- // `method:"POST" internal:"true" `
- func (s *ResourceService) Edit(ctx context.Context, req *v1pb.EditReq) (resp *v1pb.EditResp, err error) {
- _, err = s.rsCli.Edit(ctx, &rspb.EditReq{
- Platform: req.Platform,
- Id: req.Id,
- Title: req.Title,
- JumpPath: req.JumpPath,
- JumpTime: req.JumpTime,
- StartTime: req.StartTime,
- EndTime: req.EndTime,
- ImageUrl: req.ImageUrl,
- JumpPathType: req.JumpPathType,
- })
- return
- }
- // Offline implementation
- // Offline 下线资源接口
- // `method:"POST" internal:"true" `
- func (s *ResourceService) Offline(ctx context.Context, req *v1pb.OfflineReq) (resp *v1pb.OfflineResp, err error) {
- _, err = s.rsCli.Offline(ctx, &rspb.OfflineReq{
- Platform: req.Platform,
- Id: req.Id,
- })
- if err == nil {
- resp = &v1pb.OfflineResp{}
- }
- return
- }
- // GetList implementation
- // GetList 获取资源列表
- // `method:"GET" internal:"true" `
- func (s *ResourceService) GetList(ctx context.Context, req *v1pb.GetListReq) (resp *v1pb.GetListResp, err error) {
- RPCReq := &rspb.GetListReq{
- Platform: req.Platform,
- Type: req.Type,
- Page: req.Page,
- PageSize: req.PageSize,
- }
- if RPCReq.Page == 0 {
- RPCReq.Page = 1
- }
- if RPCReq.PageSize == 0 {
- RPCReq.PageSize = 50
- }
- var RPCResp *rspb.GetListResp
- RPCResp, err = s.rsCli.GetList(ctx, RPCReq)
- if err == nil {
- resp = &v1pb.GetListResp{
- CurrentPage: RPCResp.CurrentPage,
- TotalCount: RPCResp.TotalCount,
- List: convertRPCList2HttpList(RPCResp.List),
- }
- }
- return
- }
- // GetPlatformList implementation
- // 获取平台列表
- // `method:"GET" internal:"true" `
- func (s *ResourceService) GetPlatformList(ctx context.Context, req *v1pb.GetPlatformListReq) (resp *v1pb.GetPlatformListResp, err error) {
- var RPCResp *rspb.GetPlatformListResp
- RPCResp, err = s.rsCli.GetPlatformList(ctx, &rspb.GetPlatformListReq{
- Type: req.Type,
- })
- if err == nil {
- resp = &v1pb.GetPlatformListResp{
- Platform: RPCResp.Platform,
- }
- }
- return
- }
- // GetListEx implementation
- // GetListEx 获取资源列表
- // `method:"GET" internal:"true" `
- func (s *ResourceService) GetListEx(ctx context.Context, req *v1pb.GetListExReq) (resp *v1pb.GetListExResp, err error) {
- var RPCResp *rspb.GetListExResp
- // 默认分页参数
- if req.Page == 0 {
- req.Page = 1
- }
- if req.PageSize == 0 {
- req.PageSize = 50
- }
- if len(req.Type) > 0 {
- req.Type = strings.Split(req.Type[0], ",")
- }
- RPCResp, err = s.rsCli.GetListEx(ctx, &rspb.GetListExReq{
- Platform: req.Platform,
- Page: req.Page,
- PageSize: req.PageSize,
- Type: req.Type,
- DevicePlatform: req.DevicePlatform,
- Status: req.Status,
- StartTime: req.StartTime,
- EndTime: req.EndTime,
- })
- if err == nil {
- resp = &v1pb.GetListExResp{
- CurrentPage: RPCResp.CurrentPage,
- TotalCount: RPCResp.TotalCount,
- List: convertRPCListEx2HttpListEx(RPCResp.List),
- }
- }
- return
- }
- func convertRPCList2HttpList(RPCList []*rspb.GetListResp_List) (HTTPList []*v1pb.GetListResp_List) {
- HTTPList = make([]*v1pb.GetListResp_List, len(RPCList))
- for index, RPCRespItem := range RPCList {
- HTTPList[index] = &v1pb.GetListResp_List{
- Id: RPCRespItem.Id,
- Title: RPCRespItem.Title,
- JumpPath: RPCRespItem.JumpPath,
- DevicePlatform: RPCRespItem.DevicePlatform,
- DeviceBuild: RPCRespItem.DeviceBuild,
- StartTime: RPCRespItem.StartTime,
- EndTime: RPCRespItem.EndTime,
- Status: RPCRespItem.Status,
- DeviceLimit: RPCRespItem.DeviceLimit,
- ImageUrl: RPCRespItem.ImageUrl,
- JumpPathType: RPCRespItem.JumpPathType,
- JumpTime: RPCRespItem.JumpTime,
- }
- }
- return
- }
- func convertRPCListEx2HttpListEx(RPCList []*rspb.GetListExResp_List) (HTTPList []*v1pb.GetListExResp_List) {
- HTTPList = make([]*v1pb.GetListExResp_List, len(RPCList))
- for index, RPCRespItem := range RPCList {
- HTTPList[index] = &v1pb.GetListExResp_List{
- Id: RPCRespItem.Id,
- Title: RPCRespItem.Title,
- JumpPath: RPCRespItem.JumpPath,
- DevicePlatform: RPCRespItem.DevicePlatform,
- DeviceBuild: RPCRespItem.DeviceBuild,
- StartTime: RPCRespItem.StartTime,
- EndTime: RPCRespItem.EndTime,
- Status: RPCRespItem.Status,
- DeviceLimit: RPCRespItem.DeviceLimit,
- ImageUrl: RPCRespItem.ImageUrl,
- JumpPathType: RPCRespItem.JumpPathType,
- JumpTime: RPCRespItem.JumpTime,
- Type: RPCRespItem.Type,
- }
- }
- return
- }
|