package hdl import ( "applet/app/db" "applet/app/e" md2 "applet/app/es/md" "applet/app/lib/validate" "applet/app/svc" "applet/app/task/md" "applet/app/utils" "bufio" "code.fnuoos.com/go_rely_warehouse/zyos_go_es.git/es" "encoding/csv" "encoding/json" "fmt" "github.com/gin-gonic/gin" "github.com/mcuadros/go-defaults" "github.com/syyongx/php2go" "strings" "time" ) func ImgReqUpload(c *gin.Context) { var args struct { DirName string `json:"dir_name,omitempty" default:"0"` FileName string `json:"file_name" binding:"required" label:"文件名"` FileSize int64 `json:"file_size" binding:"gt=1" label:"文件大小"` // 文件大小, 单位byte } defaults.SetDefaults(&args) err := c.ShouldBindJSON(&args) if err != nil { err = validate.HandleValidateErr(err) err1 := err.(e.E) e.OutErr(c, err1.Code, err1.Error()) return } scheme := "http" if c.Request.TLS != nil { scheme = "https" } // 拼装回调地址 callbackUrl := scheme + "://" + c.Request.Host + "/api/admin/file/upload/callback" res, err := svc.ImgReqUpload(c, "", args.DirName, args.FileName, callbackUrl, args.FileSize) if err != nil { e.OutErr(c, e.ERR_BAD_REQUEST, err.Error()) return } my := utils.SerializeStr(res) var my1 map[string]interface{} utils.Unserialize([]byte(my), &my1) masterListCfgDb := db.MasterListCfgDb{} masterListCfgDb.Set() fileBucketRegion := masterListCfgDb.MasterListCfgGetOneData("0", "file_bucket_region") if err != nil { e.OutErr(c, e.ERR_BAD_REQUEST, err) return } my1["host"] = fileBucketRegion e.OutSuc(c, my1, nil) } func File(c *gin.Context) { rFile, _ := c.FormFile("file") file, err := rFile.Open() if err != nil { c.String(400, "文件格式错误") return } //es.CreateIndexIfNotExists(md2.ZhiosTpdarenEsIndexNew, md2.ZhiosTpdarenNewEsMapping) defer file.Close() reader := csv.NewReader(bufio.NewReader(file)) i := 0 for { line, err := reader.Read() if err != nil { c.String(400, err.Error()) return } if line[0] == "上架时间" { i++ continue } //line 就是每一行的内容 fmt.Println(line) t := time.Now() var tmp md.TpdarenNew material := "" if strings.Contains(line[4], " 提取码") == false { material = line[4] } else { ex := strings.Split(line[4], " 提取码: ") material = ex[0] if strings.Contains(material, "?pwd=") == false { material += "?pwd=" + ex[1] } } material = strings.ReplaceAll(material, "链接:", "") material = strings.ReplaceAll(material, " ", "") tmp = md.TpdarenNew{ Description: line[5], Episode: utils.StrToInt(line[9]), Cate: line[6], ImageUrl: line[12], IsEnd: 0, PayEpisode: utils.StrToInt(line[10]), Material: material, OnlineTime: time.Date(t.Year(), time.Month(utils.StrToInt(strings.ReplaceAll(line[0], "月", ""))), 1, 0, 0, 0, 0, t.Location()).Format("2006-01-02 15:04:05"), Type: "dianzhong", Title: line[2], Data: utils.SerializeStr(line), DouyinTheaterId: 1, KuaishouTheaterId: 2, UpdateTime: int(time.Now().Unix()) - i*10, Time: int(time.Date(t.Year(), time.Month(utils.StrToInt(strings.ReplaceAll(line[0], "月", ""))), 1, 0, 0, 0, 0, t.Location()).Unix()), Appid: "31517", Id: line[1], IsClose: 0, } i++ var uniqueId = "" tmp.VideoType = "douyin" uniqueId = php2go.Md5(tmp.Appid + "_" + tmp.Type + "_" + tmp.VideoType + "_" + tmp.Id) commAdd(uniqueId, tmp) tmp.VideoType = "kuaishou" uniqueId = php2go.Md5(tmp.Appid + "_" + tmp.Type + "_" + tmp.VideoType + "_" + tmp.Id) commAdd(uniqueId, tmp) } } func FileTwo(c *gin.Context) { rFile, _ := c.FormFile("file") file, err := rFile.Open() if err != nil { c.String(400, "文件格式错误") return } //es.CreateIndexIfNotExists(md2.ZhiosTpdarenEsIndexNew, md2.ZhiosTpdarenNewEsMapping) defer file.Close() reader := csv.NewReader(bufio.NewReader(file)) i := 0 for { i++ line, err := reader.Read() if err != nil { c.String(400, err.Error()) return } if line[0] == "上架时间" { continue } //line 就是每一行的内容 fmt.Println(line) t := time.Now() var tmp md.TpdarenNew material := "" if strings.Contains(line[6], " 提取码") == false { material = line[6] } else { ex := strings.Split(line[6], " 提取码") material = ex[0] if strings.Contains(material, "?pwd=") == false { material += "?pwd=" + ex[1] } } if i > 318 && strings.ReplaceAll(line[0], "月", "") == "12" { line[0] = "1" } material = strings.ReplaceAll(material, "链接:", "") tmp = md.TpdarenNew{ Description: line[7], Episode: utils.StrToInt(line[11]), Cate: line[8], ImageUrl: line[14], IsEnd: 0, PayEpisode: utils.StrToInt(line[12]), Material: material, OnlineTime: time.Date(t.Year(), time.Month(utils.StrToInt(strings.ReplaceAll(line[0], "月", ""))), 1, 0, 0, 0, 0, t.Location()).Format("2006-01-02 15:04:05"), Type: "dianzhong", Title: line[2], Data: utils.SerializeStr(line), DouyinTheaterId: 1, KuaishouTheaterId: 2, UpdateTime: int(time.Now().Unix()) - i*10, Time: int(time.Date(t.Year(), time.Month(utils.StrToInt(strings.ReplaceAll(line[0], "月", ""))), 1, 0, 0, 0, 0, t.Location()).Unix()), Appid: "31517", Id: line[1], IsClose: 0, } var uniqueId = "" if utils.InArr(line[4], []string{"上架", "微信小程序下架", "乔陌漓,颜汐落"}) { tmp.VideoType = "douyin" uniqueId = php2go.Md5(tmp.Appid + "_" + tmp.Type + "_" + tmp.VideoType + "_" + tmp.Id) commAdd(uniqueId, tmp) } if utils.InArr(line[4], []string{"上架", "微信小程序下架", "乔陌漓,颜汐落", "抖音下架", "抖音下架、其他媒体上架"}) { tmp.VideoType = "kuaishou" uniqueId = php2go.Md5(tmp.Appid + "_" + tmp.Type + "_" + tmp.VideoType + "_" + tmp.Id) commAdd(uniqueId, tmp) } } } func FileSecond(c *gin.Context) { rFile, _ := c.FormFile("file") file, err := rFile.Open() if err != nil { c.String(400, "文件格式错误") return } //es.CreateIndexIfNotExists(md2.ZhiosTpdarenEsIndexNew, md2.ZhiosTpdarenNewEsMapping) defer file.Close() reader := csv.NewReader(bufio.NewReader(file)) i := 0 day := 10 for { line, err := reader.Read() if err != nil { c.String(400, err.Error()) return } if len(line) < 4 { continue } if line[3] == "剧集ID" || line[3] == "" { i++ continue } //line 就是每一行的内容 fmt.Println(line) t := time.Now() var tmp md.TpdarenNew material := "" if strings.Contains(line[6], " 提取码") == false { material = line[6] } else { ex := strings.Split(line[6], " 提取码") material = ex[0] if strings.Contains(material, "?pwd=") == false { material += "?pwd=" + ex[1] } } material = strings.ReplaceAll(material, "链接:", "") tmp = md.TpdarenNew{ Description: line[7], Episode: utils.StrToInt(line[11]), Cate: line[8], ImageUrl: line[14], IsEnd: 0, PayEpisode: utils.StrToInt(line[12]), Material: material, OnlineTime: time.Date(t.Year(), time.Month(day), 1, 0, 0, 0, 0, t.Location()).Format("2006-01-02 15:04:05"), Type: "dianzhong", Title: line[4], Data: utils.SerializeStr(line), DouyinTheaterId: 1, KuaishouTheaterId: 2, UpdateTime: int(time.Now().Unix()) - i*10, Time: int(time.Date(t.Year(), time.Month(day), 1, 0, 0, 0, 0, t.Location()).Unix()), Appid: "31517", Id: line[3], IsClose: 0, } i++ var uniqueId = "" tmp.VideoType = "douyin" uniqueId = php2go.Md5(tmp.Appid + "_" + tmp.Type + "_" + tmp.VideoType + "_" + tmp.Id) commAdd(uniqueId, tmp) tmp.VideoType = "kuaishou" uniqueId = php2go.Md5(tmp.Appid + "_" + tmp.Type + "_" + tmp.VideoType + "_" + tmp.Id) commAdd(uniqueId, tmp) } } func FileDown(c *gin.Context) { rFile, _ := c.FormFile("file") file, err := rFile.Open() if err != nil { c.String(400, "文件格式错误") return } defer file.Close() reader := csv.NewReader(bufio.NewReader(file)) i := 0 for { line, err := reader.Read() if err != nil { c.String(400, err.Error()) return } if line[1] == "ID" { continue } //line 就是每一行的内容 fmt.Println(line) tmp := md.TpdarenNew{ Type: "dianzhong", Appid: "31517", Id: line[1], } tmp.IsClose = 1 i++ var uniqueId = "" if utils.InArr(line[3], []string{"快手下架", "版权到期", "全平台下架", "版权到期,全平台下架", "只能H5用"}) { tmp.VideoType = "kuaishou" uniqueId = php2go.Md5(tmp.Appid + "_" + tmp.Type + "_" + tmp.VideoType + "_" + tmp.Id) fmt.Println(uniqueId) commDown(uniqueId, tmp) } if utils.InArr(line[3], []string{"抖音下架", "版权到期", "全平台下架", "版权到期,全平台下架", "只能H5用", "抖音/微信下架"}) { tmp.VideoType = "douyin" uniqueId = php2go.Md5(tmp.Appid + "_" + tmp.Type + "_" + tmp.VideoType + "_" + tmp.Id) fmt.Println(uniqueId) commDown(uniqueId, tmp) } } } func commAdd(uniqueId string, tmp md.TpdarenNew) { doc, _ := es.FirstDoc(md2.ZhiosTpdarenEsIndexNew, uniqueId) if doc == nil { createDocRet, err := es.CreateDoc(md2.ZhiosTpdarenEsIndexNew, uniqueId, tmp) if err != nil { return } fmt.Printf("CreateDoc ==> %+v \n\n", createDocRet) } else { createDocRet, err := es.UpdateDoc(md2.ZhiosTpdarenEsIndexNew, uniqueId, tmp) if err != nil { return } fmt.Printf("CreateDoc ==> %+v \n\n", createDocRet) } } func commDown(uniqueId string, tmp md.TpdarenNew) { doc, _ := es.FirstDoc(md2.ZhiosTpdarenEsIndexNew, uniqueId) if doc == nil { } else { var tmpDoc md.TpdarenNew json.Unmarshal(doc.Source, &tmpDoc) tmpDoc.IsClose = tmp.IsClose createDocRet, err := es.UpdateDoc(md2.ZhiosTpdarenEsIndexNew, uniqueId, tmpDoc) if err != nil { return } fmt.Printf("CreateDoc ==> %+v \n\n", createDocRet) } }