diff --git a/crontask/corn.go b/crontask/corn.go index 072d53d..af7976c 100644 --- a/crontask/corn.go +++ b/crontask/corn.go @@ -16,9 +16,7 @@ import ( func Run() { crontab := cron.New(cron.WithSeconds()) crontab.AddFunc("0 */1 * * * ?", CheckAndroidDevices) - // crontab.AddFunc("0 */1 * * * ?", CheckTaskStatus) crontab.AddFunc("*/15 * * * * ?", CheckMonkeyTasks) - // crontab.AddFunc("*/10 * * * * ?", GetBugStatusDaily) */1 * * * * crontab.Start() fmt.Println("[Crontab] 定时任务启动") } diff --git a/crontask/monkey.go b/crontask/monkey.go index 074f53d..c992e2c 100644 --- a/crontask/monkey.go +++ b/crontask/monkey.go @@ -24,6 +24,7 @@ func CheckMonkeyTasks() { // 没有空闲设备 continue } + db.Table("device").Model(models.Device{}).Where("udid = ?", device.Udid).Update("status", "busy") go monkey.RunAndroidMonkeyCmd(task, device.Udid) common.PushCorntaskLog("执行Monkey任务:" + task.Project + "-" + device.Udid) } diff --git a/device/devices.go b/device/devices.go index baa6ce5..dc23a26 100644 --- a/device/devices.go +++ b/device/devices.go @@ -259,7 +259,7 @@ func DeleteDevice(c *gin.Context) { c.JSON(http.StatusOK, rsp) } -// @Tags 设备管理 /api/device/v1/ +// @Tags 设备相关 /api/device/v1/ // @Summary 更新设备状态 // @Description 更新设备状态,错误的状态会被拒绝 // @accept x-www-form-urlencoded diff --git a/docs/docs.go b/docs/docs.go index 4c29fd8..8abdecf 100644 --- a/docs/docs.go +++ b/docs/docs.go @@ -286,7 +286,7 @@ const docTemplate = `{ "application/x-www-form-urlencoded" ], "tags": [ - "设备管理 /api/device/v1/" + "设备相关 /api/device/v1/" ], "summary": "更新设备状态", "parameters": [ @@ -918,6 +918,42 @@ const docTemplate = `{ } } }, + "/api/monkey/v2/task/handle/set": { + "post": { + "description": "更新Monkey任务跟进状态", + "consumes": [ + "application/x-www-form-urlencoded" + ], + "tags": [ + "Monkey相关 /api/monkey/v2/" + ], + "summary": "更新任务跟进状态", + "parameters": [ + { + "type": "string", + "description": "Monkey任务id", + "name": "task_id", + "in": "formData", + "required": true + }, + { + "type": "string", + "description": "跟进情况:IN_PROGRESS-跟进中/DONE-已跟进", + "name": "handle_status", + "in": "formData", + "required": true + } + ], + "responses": { + "200": { + "description": "返回创建后的设备信息", + "schema": { + "$ref": "#/definitions/models.Response" + } + } + } + } + }, "/api/project/v1/app": { "get": { "description": "根据应用名称app_name获取应用信息", diff --git a/docs/swagger.json b/docs/swagger.json index 8b877d4..24bee28 100644 --- a/docs/swagger.json +++ b/docs/swagger.json @@ -274,7 +274,7 @@ "application/x-www-form-urlencoded" ], "tags": [ - "设备管理 /api/device/v1/" + "设备相关 /api/device/v1/" ], "summary": "更新设备状态", "parameters": [ @@ -906,6 +906,42 @@ } } }, + "/api/monkey/v2/task/handle/set": { + "post": { + "description": "更新Monkey任务跟进状态", + "consumes": [ + "application/x-www-form-urlencoded" + ], + "tags": [ + "Monkey相关 /api/monkey/v2/" + ], + "summary": "更新任务跟进状态", + "parameters": [ + { + "type": "string", + "description": "Monkey任务id", + "name": "task_id", + "in": "formData", + "required": true + }, + { + "type": "string", + "description": "跟进情况:IN_PROGRESS-跟进中/DONE-已跟进", + "name": "handle_status", + "in": "formData", + "required": true + } + ], + "responses": { + "200": { + "description": "返回创建后的设备信息", + "schema": { + "$ref": "#/definitions/models.Response" + } + } + } + } + }, "/api/project/v1/app": { "get": { "description": "根据应用名称app_name获取应用信息", diff --git a/docs/swagger.yaml b/docs/swagger.yaml index 08ba496..3b4d6d1 100644 --- a/docs/swagger.yaml +++ b/docs/swagger.yaml @@ -208,7 +208,7 @@ paths: $ref: '#/definitions/models.Response' summary: 更新设备状态 tags: - - 设备管理 /api/device/v1/ + - 设备相关 /api/device/v1/ /api/monkey/v1/create_task: post: consumes: @@ -608,6 +608,30 @@ paths: summary: 新建Monkey任务 tags: - Monkey相关 /api/monkey/v2/ + /api/monkey/v2/task/handle/set: + post: + consumes: + - application/x-www-form-urlencoded + description: 更新Monkey任务跟进状态 + parameters: + - description: Monkey任务id + in: formData + name: task_id + required: true + type: string + - description: 跟进情况:IN_PROGRESS-跟进中/DONE-已跟进 + in: formData + name: handle_status + required: true + type: string + responses: + "200": + description: 返回创建后的设备信息 + schema: + $ref: '#/definitions/models.Response' + summary: 更新任务跟进状态 + tags: + - Monkey相关 /api/monkey/v2/ /api/project/v1/app: get: consumes: diff --git a/models/http.go b/models/http.go index fbdd85f..0f64c49 100644 --- a/models/http.go +++ b/models/http.go @@ -12,6 +12,12 @@ func (r *Response) Init() *Response { return r } +func (r *Response) SetData(i interface{}) *Response { + r.Code = 200 + r.Data = i + return r +} + func (r *Response) Success() *Response { r.Code = 200 r.Msg = "success" diff --git a/models/monkey_task.go b/models/monkey_task.go index d224736..ceb9715 100644 --- a/models/monkey_task.go +++ b/models/monkey_task.go @@ -20,6 +20,7 @@ type MonkeyTask struct { Creator string `json:"creator" gorm:"column:creator;type:varchar(255);comment:创建人"` Referer string `json:"referer" gorm:"column:referer;type:varchar(255);not null;comment:调用方"` Status string `json:"status" gorm:"column:status;type:varchar(255);not null;comment:运行状态"` + HandleStatus string `json:"handle_status" gorm:"type:varchar(255);null"` Remark string `json:"remark" gorm:"column:remark;type:varchar(255);not null;comment:备注"` CreateTime int `json:"create_time" gorm:"column:create_time;type:int(11);not null;autoCreateTime;comment:创建时间"` UpdateTime int `json:"update_time" gorm:"column:update_time;type:int(11);not null;autoUpdateTime;comment:更新时间"` diff --git a/monkey/task_v2.go b/monkey/task_v2.go index 494ac8d..54a4d6d 100644 --- a/monkey/task_v2.go +++ b/monkey/task_v2.go @@ -38,13 +38,14 @@ func CreateTaskV2(c *gin.Context) { if err != nil { rsp.Error(err.Error()) c.JSON(http.StatusOK, rsp) + return } defer dbsql.Close(db) var task models.MonkeyTask // 必填 task.Project = strings.ToLower(c.PostForm("project")) - task.Product = c.PostForm("product") + task.Product = strings.ToLower(c.PostForm("product")) task.PackageName = c.PostForm("package_name") task.PackageURL = c.PostForm("package_url") task.Platform = c.PostForm("platform")