package service import ( "fmt" "iot_manager_service/app/multimedia/dao" "iot_manager_service/app/multimedia/model" "iot_manager_service/util/common" "iot_manager_service/util/logger" "strings" "time" ) var PublishLibrariesService = new(publishLibrariesService) type publishLibrariesService struct{} /** TODO: 此接口都未对接边缘端 */ func (s *publishLibrariesService) List(tenantId int, searchValue string, current, size int, sysType int) ([]dao.PublishLibraries, *common.Errors) { program := &dao.PublishLibraries{ TenantId: tenantId, SysType: sysType, } offset := (current - 1) * size limit := size if searchValue != "" { program.Name = searchValue } list, err := program.GetList(offset, limit) if err != nil { return nil, common.FailResponse(err.Error(), nil) } return list, nil } // Audit 素材发布 func (s *publishLibrariesService) Audit(req model.ReqProgramAudit) error { if !common.MultimediaEfficacyTime(req.StartTime, req.EndTime, req.KsTime) { panic("任务时间已过,请重新定义时间。") } program := dao.Program{ID: req.ProgramLibrariesId} err := program.Get() if err != nil { return err } update := PublishLibrariesService.Create(&program, req) fmt.Printf("update = %v", update) return nil } // SaveOrUpdate 保存 func (s *publishLibrariesService) Create(program *dao.Program, req model.ReqProgramAudit) *common.Errors { fmt.Printf("program = %v", program) remarks := "多媒体系统" if program.SysType == 1 { remarks = "广播系统" } infoIds := req.InfoId infoIds = strings.Trim(infoIds, ",") infoIds = strings.ReplaceAll(infoIds, "-1", "") infoIds = strings.ReplaceAll(infoIds, ",-1", "") //新id libraries := &dao.PublishLibraries{ Name: program.Name, Resolution: program.Resolution, Duration: program.Duration, FileSize: program.FileSize, InfoId: infoIds, ImgDuration: program.ImgDuration, StartTime: req.StartTime, EndTime: req.EndTime, NotificationType: "0", CreateTime: time.Now(), CreateUser: program.CreateUser, CreateName: "", UpdateTime: time.Now(), UpdateUser: "", IsDeleted: 0, Status: 1, TenantId: program.TenantId, Remarks: remarks, SysType: program.SysType, KsTime: req.KsTime, JsTime: req.JsTime, FileId: program.ID, } libraries.CreateTime = time.Now() if err := libraries.Create(); err != nil { logger.Logger.Errorf("Create err = %s \n", err.Error()) return common.FailResponse(err.Error(), nil) } fmt.Printf("libraries = %v", libraries) //TODO: 日志保存 return common.SuccessResponse(common.Succeeded, nil) } // GetProgram 取节目 func (s *publishLibrariesService) GetProgram(id int) (int, error) { libraries := dao.PublishLibraries{ID: int64(id)} program, err := libraries.GetProgram() return program, err } func (s *publishLibrariesService) putPublishLibraries(programId int, publishLibraries dao.PublishLibraries) { } // UpdateStatus 状态变更 func (s *publishLibrariesService) UpdateStatus(tenantId int, id int, status int, name string) (bool, error) { update := &dao.PublishLibraries{ TenantId: tenantId, ID: int64(id), Status: status, Name: name, } err := update.Update() if err != nil { return false, err } return true, nil }