Преглед на файлове

删除脚本功能上传

maker преди 2 години
родител
ревизия
a2cf4ec1fc
променени са 3 файла, в които са добавени 65 реда и са изтрити 4 реда
  1. 24 0
      api/v1/task/task_conf.go
  2. 2 3
      router/task/task_conf.go
  3. 39 1
      service/task/task_conf.go

+ 24 - 0
api/v1/task/task_conf.go

@@ -63,6 +63,30 @@ func (b *TaskConfApi) DownloadFile(c *gin.Context) {
 
 }
 
+//删除上传脚本
+func (b *TaskConfApi) DeleteScript(c *gin.Context)  {
+	//获取前端传值校验
+	var file task.GameScriptResponse
+	_ = c.ShouldBindJSON(&file)
+	//校验提交信息
+	if file.Url == "" {
+		response.FailWithMessage("请传入正确的参数", c)
+		return
+	}
+	if file.Id == 0 {
+		response.FailWithMessage("请传入正确的id", c)
+		return
+	}
+	//调用删除服务
+	if err := taskConfService.DeleteScript(file); err != nil {
+		global.GVA_LOG.Error("删除失败!", zap.Error(err))
+		response.FailWithMessage(err.Error(), c)
+	} else {
+		response.OkWithMessage("删除成功", c)
+	}
+
+}
+
 
 //获取所有游戏脚本列表
 func (b *TaskConfApi) GetScriptList(c *gin.Context)  {

+ 2 - 3
router/task/task_conf.go

@@ -6,7 +6,6 @@ import (
 )
 
 type UploadFileRouter struct {
-
 }
 
 func (e *UploadFileRouter) InitUploadFileRouter(Router *gin.RouterGroup) {
@@ -16,8 +15,8 @@ func (e *UploadFileRouter) InitUploadFileRouter(Router *gin.RouterGroup) {
 		GameTaskRouter.POST("addFileUpdate", TaskConfApi.UploadFile)
 		GameTaskRouter.GET("downloadFile", TaskConfApi.DownloadFile)
 		GameTaskRouter.POST("getScriptList", TaskConfApi.GetScriptList)
+		GameTaskRouter.POST("deleteScript", TaskConfApi.DeleteScript)
 		GameTaskRouter.POST("statusChange", TaskConfApi.StatusChange)
 		GameTaskRouter.POST("addFeeNotice", TaskConfApi.AddFeeNotice)
-
 	}
-}
+}

+ 39 - 1
service/task/task_conf.go

@@ -34,6 +34,10 @@ func (e *TaskConfService) Upload(file response.UploadFileResponse) error {
 	return global.GVA_DB.Table("upload_file").Create(&file).Error
 }
 
+const ACCESSKEY string = "B81Gsvry2StqKVE3txS-7v9GBBfqykC9zhebmxnW"
+const SECRETKEY string = "YEZJuYcdeF7vRvzffxpopAVR-jMPZg9pZ-4IKTVW"
+const BUCKET string = "pinaishop"
+
 //更改的上传文件函数
 func (e *TaskConfService) UploadFileFunc(file *multipart.FileHeader, taskId string) (string, string, string, error) {
 	// 读取文件后缀
@@ -265,7 +269,7 @@ func (e *TaskConfService) GetScriptList(script task.GameScriptResponse, info req
 			err = db.Order(orderStr).Find(&scriptList).Error
 		} else {
 			//默认按照名字升序排序
-			err = db.Order("name").Find(&scriptList).Error
+			err = db.Order("id desc").Find(&scriptList).Error
 		}
 	}
 	return scriptList, total, err
@@ -292,4 +296,38 @@ func (e *TaskConfService) JudgeOperate(taskConf task.TaskConf) (err error) {
 	}
 	//如果有,更新
 	return global.GVA_DB.Model(&task.TaskConf{}).Where("task_id = ?", taskConf.TaskId).Omit("task_id", "user").Updates(map[string]interface{}{"add_fee_notice": taskConf.AddFeeNotice, "simulator_type": taskConf.SimulatorType}).Error
+}
+
+//删除上传脚本
+func (e *TaskConfService) DeleteScript(file task.GameScriptResponse) (err error)  {
+	//七牛云删除所需要的条件
+	mac := qbox.NewMac(ACCESSKEY, SECRETKEY)
+	cfg := storage.Config{
+		// 是否使用https域名进行资源管理
+		UseHTTPS: true,
+	}
+	// 指定空间所在的区域,如果不指定将自动探测
+	// 如果没有特殊需求,默认不需要指定
+	//cfg.Region=&storage.ZoneHuabei
+	bucketManager := storage.NewBucketManager(mac, &cfg)
+
+	//删除数据库记录
+	var entity task.GameScriptResponse
+	err = global.GVA_DB.Table("upload_file").Where("id", file.Id).First(&entity).Error
+	if errors.Is(err, gorm.ErrRecordNotFound) {
+		return errors.New("无此条脚本记录")
+	}
+	key := file.Url[30:]
+	fmt.Println(key)
+	err = global.GVA_DB.Table("upload_file").Delete(&entity).Error
+	if err != nil {
+		return err
+	}
+
+	//删除七牛云的记录
+	err = bucketManager.Delete(BUCKET, key)
+	fmt.Println(err)
+	return err
+
+
 }