package service import ( "strings" "videoplayer/dao" "videoplayer/proto" ) func GetVideo(id, auth_id int) dao.Video { return dao.FindVideoByID(id, auth_id) } func GetWillDelVideoList(id int) []dao.Video { return dao.FindWillDelVideoList(id) } func GetVideoList(auth_id int, start, end, hour string) []dao.Video { if start == "" { return dao.FindVideoListsByAuthID(auth_id) } else { //s, err := time.Parse("2006/1/02 15:04:05", start) //if err != nil { // s, err = time.Parse("2006/01/02 15:04:05", start) //} //e, err2 := time.Parse("2006/1/02 15:04:05", end) //if err2 != nil { // e, err2 = time.Parse("2006/01/02 15:04:05", end) //} //if s.After(e) || err != nil || err2 != nil { // fmt.Println(err) // fmt.Println(err2) // return []dao.Video{} //} start = strings.Replace(start, "/", "-", -1) end = strings.Replace(end, "/", "-", -1) start = strings.Replace(start, " ", " ", -1) end = strings.Replace(end, " ", " ", -1) start = start[0:5] + "0" + start[5:] end = end[0:5] + "0" + end[5:] if hour != "33" { ss := strings.Split(start, " ") ss1 := strings.Split(ss[1], ":") start = ss[0] + " " + hour + ":" + ss1[1] + ":" + ss1[2] es := strings.Split(end, " ") es1 := strings.Split(es[1], ":") end = es[0] + " " + hour + ":" + es1[1] + ":" + es1[2] } return dao.FindVideoListByTime(auth_id, start, end) } } func DelayVideo(id, auth_id, day int) int { return dao.DelayVideo(id, auth_id, day) } func DelayAllVideo(id, day int) int { return dao.DelayAllVideo(id, day) } func CreateVideo(videoPath, videoName string, cameraID, authID, human, isDelete int, createTime, endTime, deleteTime string, fileSize int) uint { return dao.CreateVideo(videoPath, videoName, cameraID, authID, human, isDelete, createTime, endTime, deleteTime, fileSize) } func DeleteVideo(id, user int) int { return dao.DeleteVideoByID(id, user) } func QuashVideo(user int, data map[string]interface{}) (int, string) { var res int var msg string switch data["method"] { case "delete": case "delay": if data["option"] == "all" { if dao.QuashAllDelay(user, data["delay_day"].(int)) == 0 { res = proto.RevokeDelayOperationFailed msg = "quash all video delay error" } else { res = proto.SuccessCode msg = "success" } } else if data["option"] == "one" { if dao.QuashOneDelay(user, data["id"].(int), data["delay_day"].(int)) == 0 { res = proto.RevokeDelayOperationFailed msg = "quash one video error" } else { res = proto.SuccessCode msg = "success" } } else { res = proto.RevokeOperationFailed msg = "option error,no such delay option" } default: res = proto.RevokeOperationFailed msg = "method error,no such method" } return res, msg } func UpdateVideo(videoPath, videoName string, cameraID, videoID, authID, human, isDelete int, createTime, endTime string, fileSize int) bool { video := GetVideo(videoID, authID) if video.ID == 0 { return false } if videoPath == "" { videoPath = video.VideoPath } if videoName == "" { videoName = video.VideoName } if cameraID == 0 { cameraID = video.CameraID } if human == 0 { human = video.Human } if isDelete == 0 { isDelete = video.IsDelete } if createTime == "" { createTime = video.CreateTime } if endTime == "" { endTime = video.EndTime } if fileSize == 0 { fileSize = video.FileSize } return dao.UpdateVideo(videoPath, videoName, cameraID, videoID, authID, human, isDelete, createTime, endTime, fileSize) }