fix(zentao): update fields to float (#3769)
diff --git a/plugins/zentao/e2e/raw_tables/_raw_zentao_api_tasks.csv b/plugins/zentao/e2e/raw_tables/_raw_zentao_api_tasks.csv
index 73a83d8..3d9e271 100644
--- a/plugins/zentao/e2e/raw_tables/_raw_zentao_api_tasks.csv
+++ b/plugins/zentao/e2e/raw_tables/_raw_zentao_api_tasks.csv
@@ -1,4 +1,4 @@
id,params,data,url,input,created_at
1,"{""ConnectionId"":1,""ProductId"":3,""ExecutionId"":1,""ProjectId"":1}","{""id"":1,""project"":13,""parent"":0,""execution"":9,""module"":0,""design"":0,""story"":0,""storyVersion"":1,""designVersion"":0,""fromBug"":0,""feedback"":0,""fromIssue"":0,""name"":""\u4efb\u52a1\u540d\u79f0"",""type"":""devel"",""mode"":"""",""pri"":3,""estimate"":0,""consumed"":0,""left"":0,""deadline"":""2022-10-01"",""status"":""wait"",""subStatus"":"""",""color"":"""",""mailto"":[{""id"":2,""account"":""productManager"",""avatar"":"""",""realname"":""\u4ea7\u54c1\u7ecf\u7406""},{""id"":3,""account"":""projectManager"",""avatar"":"""",""realname"":""\u9879\u76ee\u7ecf\u7406""}],""desc"":""\u4efb\u52a1\u63cf\u8ff0\u003Cspan\u003E \u003C\/span\u003E\u003Cbr \/\u003E\u003Cdiv\u003E\u003Cbr \/\u003E\u003C\/div\u003E"",""version"":1,""openedBy"":{""id"":1,""account"":""devlake"",""avatar"":"""",""realname"":""devlake""},""openedDate"":""2022-09-19T01:50:37Z"",""assignedTo"":{""id"":5,""account"":""dev2"",""avatar"":"""",""realname"":""\u5f00\u53d1\u4e59""},""assignedDate"":""2022-09-19T01:50:37Z"",""estStarted"":""2022-09-20"",""realStarted"":null,""finishedBy"":null,""finishedDate"":null,""finishedList"":"""",""canceledBy"":null,""canceledDate"":null,""closedBy"":null,""closedDate"":null,""planDuration"":0,""realDuration"":0,""closedReason"":"""",""lastEditedBy"":null,""lastEditedDate"":null,""activatedDate"":""0000-00-00 00:00:00"",""order"":0,""repo"":0,""mr"":0,""entry"":"""",""lines"":"""",""v1"":"""",""v2"":"""",""deleted"":false,""vision"":""rnd"",""storyID"":null,""storyTitle"":null,""product"":null,""branch"":null,""latestStoryVersion"":null,""storyStatus"":null,""assignedToRealName"":""\u5f00\u53d1\u4e59"",""priOrder"":""3"",""delay"":47,""needConfirm"":false,""progress"":21.11}",http://iwater.red:8000/api.php/v1/executions/9/tasks?limit=100&page=1,null,2022-11-17 06:28:36.902
-2,"{""ConnectionId"":1,""ProductId"":3,""ExecutionId"":1,""ProjectId"":1}","{""id"":2,""project"":13,""parent"":0,""execution"":9,""module"":0,""design"":0,""story"":0,""storyVersion"":1,""designVersion"":0,""fromBug"":0,""feedback"":0,""fromIssue"":0,""name"":""\u4efb\u52a1\u540d\u79f0"",""type"":""devel"",""mode"":"""",""pri"":3,""estimate"":0,""consumed"":0,""left"":0,""deadline"":""2022-10-01"",""status"":""wait"",""subStatus"":"""",""color"":"""",""mailto"":[{""id"":2,""account"":""productManager"",""avatar"":"""",""realname"":""\u4ea7\u54c1\u7ecf\u7406""},{""id"":3,""account"":""projectManager"",""avatar"":"""",""realname"":""\u9879\u76ee\u7ecf\u7406""}],""desc"":""\u4efb\u52a1\u63cf\u8ff0\u003Cspan\u003E \u003C\/span\u003E\u003Cbr \/\u003E\u003Cdiv\u003E\u003Cbr \/\u003E\u003C\/div\u003E"",""version"":1,""openedBy"":{""id"":1,""account"":""devlake"",""avatar"":"""",""realname"":""devlake""},""openedDate"":""2022-09-19T01:50:37Z"",""assignedTo"":{""id"":5,""account"":""dev2"",""avatar"":"""",""realname"":""\u5f00\u53d1\u4e59""},""assignedDate"":""2022-09-19T01:50:37Z"",""estStarted"":""2022-09-20"",""realStarted"":null,""finishedBy"":null,""finishedDate"":null,""finishedList"":"""",""canceledBy"":null,""canceledDate"":null,""closedBy"":null,""closedDate"":null,""planDuration"":0,""realDuration"":0,""closedReason"":"""",""lastEditedBy"":null,""lastEditedDate"":null,""activatedDate"":""0000-00-00 00:00:00"",""order"":0,""repo"":0,""mr"":0,""entry"":"""",""lines"":"""",""v1"":"""",""v2"":"""",""deleted"":false,""vision"":""rnd"",""storyID"":null,""storyTitle"":null,""product"":null,""branch"":null,""latestStoryVersion"":null,""storyStatus"":null,""assignedToRealName"":""\u5f00\u53d1\u4e59"",""priOrder"":""3"",""delay"":47,""needConfirm"":false,""progress"":3}",http://iwater.red:8000/api.php/v1/executions/9/tasks?limit=100&page=1,null,2022-11-17 06:48:56.248
-4,"{""ConnectionId"":1,""ProductId"":3,""ExecutionId"":1,""ProjectId"":1}","{""id"":3,""project"":13,""parent"":0,""execution"":9,""module"":0,""design"":0,""story"":0,""storyVersion"":1,""designVersion"":0,""fromBug"":0,""feedback"":0,""fromIssue"":0,""name"":""\u4efb\u52a1\u540d\u79f0"",""type"":""devel"",""mode"":"""",""pri"":3,""estimate"":0,""consumed"":0,""left"":0,""deadline"":""2022-10-01"",""status"":""wait"",""subStatus"":"""",""color"":"""",""mailto"":[{""id"":2,""account"":""productManager"",""avatar"":"""",""realname"":""\u4ea7\u54c1\u7ecf\u7406""},{""id"":3,""account"":""projectManager"",""avatar"":"""",""realname"":""\u9879\u76ee\u7ecf\u7406""}],""desc"":""\u4efb\u52a1\u63cf\u8ff0\u003Cspan\u003E \u003C\/span\u003E\u003Cbr \/\u003E\u003Cdiv\u003E\u003Cbr \/\u003E\u003C\/div\u003E"",""version"":1,""openedBy"":{""id"":1,""account"":""devlake"",""avatar"":"""",""realname"":""devlake""},""openedDate"":""2022-09-19T01:50:37Z"",""assignedTo"":{""id"":5,""account"":""dev2"",""avatar"":"""",""realname"":""\u5f00\u53d1\u4e59""},""assignedDate"":""2022-09-19T01:50:37Z"",""estStarted"":""2022-09-20"",""realStarted"":null,""finishedBy"":null,""finishedDate"":null,""finishedList"":"""",""canceledBy"":null,""canceledDate"":null,""closedBy"":null,""closedDate"":null,""planDuration"":0,""realDuration"":0,""closedReason"":"""",""lastEditedBy"":null,""lastEditedDate"":null,""activatedDate"":""0000-00-00 00:00:00"",""order"":0,""repo"":0,""mr"":0,""entry"":"""",""lines"":"""",""v1"":"""",""v2"":"""",""deleted"":false,""vision"":""rnd"",""storyID"":null,""storyTitle"":null,""product"":null,""branch"":null,""latestStoryVersion"":null,""storyStatus"":null,""assignedToRealName"":""\u5f00\u53d1\u4e59"",""priOrder"":""3"",""delay"":47,""needConfirm"":false,""progress"":43.22121}",http://iwater.red:8000/api.php/v1/executions/9/tasks?limit=100&page=1,null,2022-11-17 07:10:21.155
+2,"{""ConnectionId"":1,""ProductId"":3,""ExecutionId"":1,""ProjectId"":1}","{""id"":2,""project"":13,""parent"":0,""execution"":9,""module"":0,""design"":0,""story"":0,""storyVersion"":1,""designVersion"":0,""fromBug"":0,""feedback"":0,""fromIssue"":0,""name"":""\u4efb\u52a1\u540d\u79f0"",""type"":""devel"",""mode"":"""",""pri"":3,""estimate"":12.1,""consumed"":2.1,""left"":10,""deadline"":""2022-10-01"",""status"":""wait"",""subStatus"":"""",""color"":"""",""mailto"":[{""id"":2,""account"":""productManager"",""avatar"":"""",""realname"":""\u4ea7\u54c1\u7ecf\u7406""},{""id"":3,""account"":""projectManager"",""avatar"":"""",""realname"":""\u9879\u76ee\u7ecf\u7406""}],""desc"":""\u4efb\u52a1\u63cf\u8ff0\u003Cspan\u003E \u003C\/span\u003E\u003Cbr \/\u003E\u003Cdiv\u003E\u003Cbr \/\u003E\u003C\/div\u003E"",""version"":1,""openedBy"":{""id"":1,""account"":""devlake"",""avatar"":"""",""realname"":""devlake""},""openedDate"":""2022-09-19T01:50:37Z"",""assignedTo"":{""id"":5,""account"":""dev2"",""avatar"":"""",""realname"":""\u5f00\u53d1\u4e59""},""assignedDate"":""2022-09-19T01:50:37Z"",""estStarted"":""2022-09-20"",""realStarted"":null,""finishedBy"":null,""finishedDate"":null,""finishedList"":"""",""canceledBy"":null,""canceledDate"":null,""closedBy"":null,""closedDate"":null,""planDuration"":0,""realDuration"":0,""closedReason"":"""",""lastEditedBy"":null,""lastEditedDate"":null,""activatedDate"":""0000-00-00 00:00:00"",""order"":0,""repo"":0,""mr"":0,""entry"":"""",""lines"":"""",""v1"":"""",""v2"":"""",""deleted"":false,""vision"":""rnd"",""storyID"":null,""storyTitle"":null,""product"":null,""branch"":null,""latestStoryVersion"":null,""storyStatus"":null,""assignedToRealName"":""\u5f00\u53d1\u4e59"",""priOrder"":""3"",""delay"":47,""needConfirm"":false,""progress"":3}",http://iwater.red:8000/api.php/v1/executions/9/tasks?limit=100&page=1,null,2022-11-17 06:48:56.248
+4,"{""ConnectionId"":1,""ProductId"":3,""ExecutionId"":1,""ProjectId"":1}","{""id"":3,""project"":13,""parent"":0,""execution"":9,""module"":0,""design"":0,""story"":0,""storyVersion"":1,""designVersion"":0,""fromBug"":0,""feedback"":0,""fromIssue"":0,""name"":""\u4efb\u52a1\u540d\u79f0"",""type"":""devel"",""mode"":"""",""pri"":3,""estimate"":11.2,""consumed"":0,""left"":0,""deadline"":""2022-10-01"",""status"":""wait"",""subStatus"":"""",""color"":"""",""mailto"":[{""id"":2,""account"":""productManager"",""avatar"":"""",""realname"":""\u4ea7\u54c1\u7ecf\u7406""},{""id"":3,""account"":""projectManager"",""avatar"":"""",""realname"":""\u9879\u76ee\u7ecf\u7406""}],""desc"":""\u4efb\u52a1\u63cf\u8ff0\u003Cspan\u003E \u003C\/span\u003E\u003Cbr \/\u003E\u003Cdiv\u003E\u003Cbr \/\u003E\u003C\/div\u003E"",""version"":1,""openedBy"":{""id"":1,""account"":""devlake"",""avatar"":"""",""realname"":""devlake""},""openedDate"":""2022-09-19T01:50:37Z"",""assignedTo"":{""id"":5,""account"":""dev2"",""avatar"":"""",""realname"":""\u5f00\u53d1\u4e59""},""assignedDate"":""2022-09-19T01:50:37Z"",""estStarted"":""2022-09-20"",""realStarted"":null,""finishedBy"":null,""finishedDate"":null,""finishedList"":"""",""canceledBy"":null,""canceledDate"":null,""closedBy"":null,""closedDate"":null,""planDuration"":0,""realDuration"":0,""closedReason"":"""",""lastEditedBy"":null,""lastEditedDate"":null,""activatedDate"":""0000-00-00 00:00:00"",""order"":0,""repo"":0,""mr"":0,""entry"":"""",""lines"":"""",""v1"":"""",""v2"":"""",""deleted"":false,""vision"":""rnd"",""storyID"":null,""storyTitle"":null,""product"":null,""branch"":null,""latestStoryVersion"":null,""storyStatus"":null,""assignedToRealName"":""\u5f00\u53d1\u4e59"",""priOrder"":""3"",""delay"":47,""needConfirm"":false,""progress"":43.22121}",http://iwater.red:8000/api.php/v1/executions/9/tasks?limit=100&page=1,null,2022-11-17 07:10:21.155
diff --git a/plugins/zentao/e2e/snapshot_tables/_tool_zentao_tasks.csv b/plugins/zentao/e2e/snapshot_tables/_tool_zentao_tasks.csv
index 4125a08..6604084 100644
--- a/plugins/zentao/e2e/snapshot_tables/_tool_zentao_tasks.csv
+++ b/plugins/zentao/e2e/snapshot_tables/_tool_zentao_tasks.csv
@@ -1,4 +1,4 @@
connection_id,id,execution_id,project,parent,execution,module,design,story,story_version,design_version,from_bug,feedback,from_issue,name,type,mode,pri,estimate,consumed,deadline,status,sub_status,color,description,version,opened_by_id,opened_by_name,opened_date,assigned_to_id,assigned_to_name,assigned_date,est_started,real_started,finished_id,finished_date,finished_list,canceled_id,canceled_date,closed_by_id,closed_date,plan_duration,real_duration,closed_reason,last_edited_id,last_edited_date,activated_date,order_in,repo,mr,entry,num_of_line,v1,v2,deleted,vision,story_id,story_title,branch,latest_story_version,story_status,assigned_to_real_name,pri_order,need_confirm,progress
1,1,1,13,0,9,0,0,0,1,0,0,0,0,任务名称,devel,,3,0,0,2022-10-01,wait,,,任务描述<span> </span><br /><div><br /></div>,1,1,devlake,2022-09-19T01:50:37.000+00:00,5,开发乙,2022-09-19T01:50:37.000+00:00,2022-09-20,,0,,,0,,0,,0,0,,0,,0000-00-00 00:00:00,0,0,0,,,,,0,rnd,0,,0,0,,开发乙,3,0,21.11
-1,2,1,13,0,9,0,0,0,1,0,0,0,0,任务名称,devel,,3,0,0,2022-10-01,wait,,,任务描述<span> </span><br /><div><br /></div>,1,1,devlake,2022-09-19T01:50:37.000+00:00,5,开发乙,2022-09-19T01:50:37.000+00:00,2022-09-20,,0,,,0,,0,,0,0,,0,,0000-00-00 00:00:00,0,0,0,,,,,0,rnd,0,,0,0,,开发乙,3,0,3
-1,3,1,13,0,9,0,0,0,1,0,0,0,0,任务名称,devel,,3,0,0,2022-10-01,wait,,,任务描述<span> </span><br /><div><br /></div>,1,1,devlake,2022-09-19T01:50:37.000+00:00,5,开发乙,2022-09-19T01:50:37.000+00:00,2022-09-20,,0,,,0,,0,,0,0,,0,,0000-00-00 00:00:00,0,0,0,,,,,0,rnd,0,,0,0,,开发乙,3,0,43.22121
+1,2,1,13,0,9,0,0,0,1,0,0,0,0,任务名称,devel,,3,12.1,2.1,2022-10-01,wait,,,任务描述<span> </span><br /><div><br /></div>,1,1,devlake,2022-09-19T01:50:37.000+00:00,5,开发乙,2022-09-19T01:50:37.000+00:00,2022-09-20,,0,,,0,,0,,0,0,,0,,0000-00-00 00:00:00,0,0,0,,,,,0,rnd,0,,0,0,,开发乙,3,0,3
+1,3,1,13,0,9,0,0,0,1,0,0,0,0,任务名称,devel,,3,11.2,0,2022-10-01,wait,,,任务描述<span> </span><br /><div><br /></div>,1,1,devlake,2022-09-19T01:50:37.000+00:00,5,开发乙,2022-09-19T01:50:37.000+00:00,2022-09-20,,0,,,0,,0,,0,0,,0,,0000-00-00 00:00:00,0,0,0,,,,,0,rnd,0,,0,0,,开发乙,3,0,43.22121
diff --git a/plugins/zentao/models/archived/execution.go b/plugins/zentao/models/archived/execution.go
index 5124b64..859c132 100644
--- a/plugins/zentao/models/archived/execution.go
+++ b/plugins/zentao/models/archived/execution.go
@@ -68,17 +68,17 @@
PMId uint64
QDId uint64
RDId uint64
- Team string `json:"team"`
- Acl string `json:"acl"`
- OrderIn int `json:"order"`
- Vision string `json:"vision"`
- DisplayCards int `json:"displayCards"`
- FluidBoard string `json:"fluidBoard"`
- Deleted bool `json:"deleted"`
- TotalHours int `json:"totalHours"`
- TotalEstimate int `json:"totalEstimate"`
- TotalConsumed int `json:"totalConsumed"`
- TotalLeft int `json:"totalLeft"`
+ Team string `json:"team"`
+ Acl string `json:"acl"`
+ OrderIn int `json:"order"`
+ Vision string `json:"vision"`
+ DisplayCards int `json:"displayCards"`
+ FluidBoard string `json:"fluidBoard"`
+ Deleted bool `json:"deleted"`
+ TotalHours float64 `json:"totalHours"`
+ TotalEstimate float64 `json:"totalEstimate"`
+ TotalConsumed float64 `json:"totalConsumed"`
+ TotalLeft float64 `json:"totalLeft"`
ProjectId uint64
Progress float64 `json:"progress"`
CaseReview bool `json:"caseReview"`
diff --git a/plugins/zentao/models/archived/project.go b/plugins/zentao/models/archived/project.go
index b6f93d6..0121599 100644
--- a/plugins/zentao/models/archived/project.go
+++ b/plugins/zentao/models/archived/project.go
@@ -82,9 +82,9 @@
TeamCount int `json:"teamCount"`
LeftTasks string `json:"leftTasks"`
//TeamMembers []interface{} `json:"teamMembers" gorm:"-"`
- TotalEstimate int `json:"totalEstimate"`
- TotalConsumed int `json:"totalConsumed"`
- TotalLeft int `json:"totalLeft"`
+ TotalEstimate float64 `json:"totalEstimate"`
+ TotalConsumed float64 `json:"totalConsumed"`
+ TotalLeft float64 `json:"totalLeft"`
Progress float64 `json:"progress"`
TotalReal int `json:"totalReal"`
}
@@ -101,9 +101,9 @@
WhitelistRealname string `json:"realname"`
}
type Hours struct {
- HoursTotalEstimate int `json:"totalEstimate"`
- HoursTotalConsumed int `json:"totalConsumed"`
- HoursTotalLeft int `json:"totalLeft"`
+ HoursTotalEstimate float64 `json:"totalEstimate"`
+ HoursTotalConsumed float64 `json:"totalConsumed"`
+ HoursTotalLeft float64 `json:"totalLeft"`
HoursProgress float64 `json:"progress"`
HoursTotalReal int `json:"totalReal"`
}
diff --git a/plugins/zentao/models/archived/story.go b/plugins/zentao/models/archived/story.go
index 770ecdf..4488e10 100644
--- a/plugins/zentao/models/archived/story.go
+++ b/plugins/zentao/models/archived/story.go
@@ -24,33 +24,33 @@
type ZentaoStory struct {
archived.NoPKModel
- ConnectionId uint64 `gorm:"primaryKey;type:BIGINT NOT NULL"`
- ID uint64 `json:"id" gorm:"primaryKey;type:BIGINT NOT NULL" `
- Project uint64 `json:"project"`
- Product uint64 `json:"product"`
- Branch int `json:"branch"`
- Version int `json:"version"`
- OrderIn int `json:"order"`
- Vision string `json:"vision"`
- Parent uint64 `json:"parent"`
- Module int `json:"module"`
- Plan string `json:"plan"`
- Source string `json:"source"`
- SourceNote string `json:"sourceNote"`
- FromBug int `json:"fromBug"`
- Feedback int `json:"feedback"`
- FeedbackBy string `json:"feedbackBy"`
- Title string `json:"title"`
- Keywords string `json:"keywords"`
- Type string `json:"type"`
- Category string `json:"category"`
- Pri int `json:"pri"`
- Estimate int `json:"estimate"`
- Status string `json:"status"`
- SubStatus string `json:"subStatus"`
- Color string `json:"color"`
- Stage string `json:"stage"`
- StagedById uint64 `json:"stagedBy"`
+ ConnectionId uint64 `gorm:"primaryKey;type:BIGINT NOT NULL"`
+ ID uint64 `json:"id" gorm:"primaryKey;type:BIGINT NOT NULL" `
+ Project uint64 `json:"project"`
+ Product uint64 `json:"product"`
+ Branch int `json:"branch"`
+ Version int `json:"version"`
+ OrderIn int `json:"order"`
+ Vision string `json:"vision"`
+ Parent uint64 `json:"parent"`
+ Module int `json:"module"`
+ Plan string `json:"plan"`
+ Source string `json:"source"`
+ SourceNote string `json:"sourceNote"`
+ FromBug int `json:"fromBug"`
+ Feedback int `json:"feedback"`
+ FeedbackBy string `json:"feedbackBy"`
+ Title string `json:"title"`
+ Keywords string `json:"keywords"`
+ Type string `json:"type"`
+ Category string `json:"category"`
+ Pri int `json:"pri"`
+ Estimate float64 `json:"estimate"`
+ Status string `json:"status"`
+ SubStatus string `json:"subStatus"`
+ Color string `json:"color"`
+ Stage string `json:"stage"`
+ StagedById uint64 `json:"stagedBy"`
//Mailto []interface{} `json:"mailto"`
Lib int `json:"lib"`
FromStory uint64 `json:"fromStory"`
diff --git a/plugins/zentao/models/archived/task.go b/plugins/zentao/models/archived/task.go
index 0ee2d05..cd23e7d 100644
--- a/plugins/zentao/models/archived/task.go
+++ b/plugins/zentao/models/archived/task.go
@@ -24,30 +24,30 @@
type ZentaoTask struct {
archived.NoPKModel
- ConnectionId uint64 `gorm:"primaryKey;type:BIGINT NOT NULL"`
- ExecutionId uint64 `json:"execution_id"`
- ID uint64 `json:"id" gorm:"primaryKey;type:BIGINT NOT NULL"`
- Project uint64 `json:"project"`
- Parent uint64 `json:"parent"`
- Execution uint64 `json:"execution"`
- Module int `json:"module"`
- Design int `json:"design"`
- Story uint64 `json:"story"`
- StoryVersion int `json:"storyVersion"`
- DesignVersion int `json:"designVersion"`
- FromBug int `json:"fromBug"`
- Feedback int `json:"feedback"`
- FromIssue int `json:"fromIssue"`
- Name string `json:"name"`
- Type string `json:"type"`
- Mode string `json:"mode"`
- Pri int `json:"pri"`
- Estimate int `json:"estimate"`
- Consumed int `json:"consumed"`
- Deadline string `json:"deadline"`
- Status string `json:"status"`
- SubStatus string `json:"subStatus"`
- Color string `json:"color"`
+ ConnectionId uint64 `gorm:"primaryKey;type:BIGINT NOT NULL"`
+ ExecutionId uint64 `json:"execution_id"`
+ ID uint64 `json:"id" gorm:"primaryKey;type:BIGINT NOT NULL"`
+ Project uint64 `json:"project"`
+ Parent uint64 `json:"parent"`
+ Execution uint64 `json:"execution"`
+ Module int `json:"module"`
+ Design int `json:"design"`
+ Story uint64 `json:"story"`
+ StoryVersion int `json:"storyVersion"`
+ DesignVersion int `json:"designVersion"`
+ FromBug int `json:"fromBug"`
+ Feedback int `json:"feedback"`
+ FromIssue int `json:"fromIssue"`
+ Name string `json:"name"`
+ Type string `json:"type"`
+ Mode string `json:"mode"`
+ Pri int `json:"pri"`
+ Estimate float64 `json:"estimate"`
+ Consumed float64 `json:"consumed"`
+ Deadline string `json:"deadline"`
+ Status string `json:"status"`
+ SubStatus string `json:"subStatus"`
+ Color string `json:"color"`
//Mailto interface{} `json:"mailto"`
Description string `json:"desc"`
Version int `json:"version"`
diff --git a/plugins/zentao/models/execution.go b/plugins/zentao/models/execution.go
index f58d97d..74fc0aa 100644
--- a/plugins/zentao/models/execution.go
+++ b/plugins/zentao/models/execution.go
@@ -115,15 +115,15 @@
Avatar string `json:"avatar"`
Realname string `json:"realname"`
} `json:"whitelist"`
- OrderIn int `json:"order"`
- Vision string `json:"vision"`
- DisplayCards int `json:"displayCards"`
- FluidBoard string `json:"fluidBoard"`
- Deleted bool `json:"deleted"`
- TotalHours int `json:"totalHours"`
- TotalEstimate int `json:"totalEstimate"`
- TotalConsumed int `json:"totalConsumed"`
- TotalLeft int `json:"totalLeft"`
+ OrderIn int `json:"order"`
+ Vision string `json:"vision"`
+ DisplayCards int `json:"displayCards"`
+ FluidBoard string `json:"fluidBoard"`
+ Deleted bool `json:"deleted"`
+ TotalHours float64 `json:"totalHours"`
+ TotalEstimate float64 `json:"totalEstimate"`
+ TotalConsumed float64 `json:"totalConsumed"`
+ TotalLeft float64 `json:"totalLeft"`
ProjectInfo struct {
ID uint64 `json:"id"`
Project uint64 `json:"project"`
@@ -180,23 +180,23 @@
} `json:"projectInfo"`
Progress float64 `json:"progress"`
TeamMembers []struct {
- ID uint64 `json:"id"`
- Root int `json:"root"`
- Type string `json:"type"`
- Account string `json:"account"`
- Role string `json:"role"`
- Position string `json:"position"`
- Limited string `json:"limited"`
- Join string `json:"join"`
- Days int `json:"days"`
- Hours int `json:"hours"`
- Estimate string `json:"estimate"`
- Consumed string `json:"consumed"`
- Left string `json:"left"`
- OrderIn int `json:"order"`
- TotalHours int `json:"totalHours"`
- UserID uint64 `json:"userID"`
- Realname string `json:"realname"`
+ ID uint64 `json:"id"`
+ Root int `json:"root"`
+ Type string `json:"type"`
+ Account string `json:"account"`
+ Role string `json:"role"`
+ Position string `json:"position"`
+ Limited string `json:"limited"`
+ Join string `json:"join"`
+ Days int `json:"days"`
+ Hours int `json:"hours"`
+ Estimate string `json:"estimate"`
+ Consumed string `json:"consumed"`
+ Left string `json:"left"`
+ OrderIn int `json:"order"`
+ TotalHours float64 `json:"totalHours"`
+ UserID uint64 `json:"userID"`
+ Realname string `json:"realname"`
} `json:"teamMembers"`
Products []struct {
ID uint64 `json:"id"`
@@ -252,17 +252,17 @@
PMId uint64
QDId uint64
RDId uint64
- Team string `json:"team"`
- Acl string `json:"acl"`
- OrderIn int `json:"order"`
- Vision string `json:"vision"`
- DisplayCards int `json:"displayCards"`
- FluidBoard string `json:"fluidBoard"`
- Deleted bool `json:"deleted"`
- TotalHours int `json:"totalHours"`
- TotalEstimate int `json:"totalEstimate"`
- TotalConsumed int `json:"totalConsumed"`
- TotalLeft int `json:"totalLeft"`
+ Team string `json:"team"`
+ Acl string `json:"acl"`
+ OrderIn int `json:"order"`
+ Vision string `json:"vision"`
+ DisplayCards int `json:"displayCards"`
+ FluidBoard string `json:"fluidBoard"`
+ Deleted bool `json:"deleted"`
+ TotalHours float64 `json:"totalHours"`
+ TotalEstimate float64 `json:"totalEstimate"`
+ TotalConsumed float64 `json:"totalConsumed"`
+ TotalLeft float64 `json:"totalLeft"`
ProjectId uint64
Progress float64 `json:"progress"`
CaseReview bool `json:"caseReview"`
diff --git a/plugins/zentao/models/project.go b/plugins/zentao/models/project.go
index 1d6627a..3432c5b 100644
--- a/plugins/zentao/models/project.go
+++ b/plugins/zentao/models/project.go
@@ -82,9 +82,9 @@
TeamCount int `json:"teamCount"`
LeftTasks string `json:"leftTasks"`
//TeamMembers []interface{} `json:"teamMembers" gorm:"-"`
- TotalEstimate int `json:"totalEstimate"`
- TotalConsumed int `json:"totalConsumed"`
- TotalLeft int `json:"totalLeft"`
+ TotalEstimate float64 `json:"totalEstimate"`
+ TotalConsumed float64 `json:"totalConsumed"`
+ TotalLeft float64 `json:"totalLeft"`
Progress float64 `json:"progress"`
TotalReal int `json:"totalReal"`
}
diff --git a/plugins/zentao/models/story.go b/plugins/zentao/models/story.go
index 3b319d8..e919d58 100644
--- a/plugins/zentao/models/story.go
+++ b/plugins/zentao/models/story.go
@@ -39,7 +39,7 @@
Type string `json:"type"`
Category string `json:"category"`
Pri int `json:"pri"`
- Estimate int `json:"estimate"`
+ Estimate float64 `json:"estimate"`
Status string `json:"status"`
SubStatus string `json:"subStatus"`
Color string `json:"color"`
@@ -106,30 +106,30 @@
type ZentaoStory struct {
common.NoPKModel
- ConnectionId uint64 `gorm:"primaryKey;type:BIGINT NOT NULL"`
- ID uint64 `json:"id" gorm:"primaryKey;type:BIGINT NOT NULL" `
- Product uint64 `json:"product"`
- Branch int `json:"branch"`
- Version int `json:"version"`
- OrderIn int `json:"order"`
- Vision string `json:"vision"`
- Parent uint64 `json:"parent"`
- Module int `json:"module"`
- Plan string `json:"plan"`
- Source string `json:"source"`
- SourceNote string `json:"sourceNote"`
- FromBug int `json:"fromBug"`
- Feedback int `json:"feedback"`
- Title string `json:"title"`
- Keywords string `json:"keywords"`
- Type string `json:"type"`
- Category string `json:"category"`
- Pri int `json:"pri"`
- Estimate int `json:"estimate"`
- Status string `json:"status"`
- SubStatus string `json:"subStatus"`
- Color string `json:"color"`
- Stage string `json:"stage"`
+ ConnectionId uint64 `gorm:"primaryKey;type:BIGINT NOT NULL"`
+ ID uint64 `json:"id" gorm:"primaryKey;type:BIGINT NOT NULL" `
+ Product uint64 `json:"product"`
+ Branch int `json:"branch"`
+ Version int `json:"version"`
+ OrderIn int `json:"order"`
+ Vision string `json:"vision"`
+ Parent uint64 `json:"parent"`
+ Module int `json:"module"`
+ Plan string `json:"plan"`
+ Source string `json:"source"`
+ SourceNote string `json:"sourceNote"`
+ FromBug int `json:"fromBug"`
+ Feedback int `json:"feedback"`
+ Title string `json:"title"`
+ Keywords string `json:"keywords"`
+ Type string `json:"type"`
+ Category string `json:"category"`
+ Pri int `json:"pri"`
+ Estimate float64 `json:"estimate"`
+ Status string `json:"status"`
+ SubStatus string `json:"subStatus"`
+ Color string `json:"color"`
+ Stage string `json:"stage"`
//Mailto []interface{} `json:"mailto"`
Lib int `json:"lib"`
FromStory uint64 `json:"fromStory"`
diff --git a/plugins/zentao/models/task.go b/plugins/zentao/models/task.go
index 228e38a..94411c2 100644
--- a/plugins/zentao/models/task.go
+++ b/plugins/zentao/models/task.go
@@ -23,28 +23,28 @@
)
type ZentaoTaskRes struct {
- Id uint64 `json:"id"`
- Project uint64 `json:"project"`
- Parent uint64 `json:"parent"`
- Execution uint64 `json:"execution"`
- Module int `json:"module"`
- Design int `json:"design"`
- Story uint64 `json:"story"`
- StoryVersion int `json:"storyVersion"`
- DesignVersion int `json:"designVersion"`
- FromBug int `json:"fromBug"`
- Feedback int `json:"feedback"`
- FromIssue int `json:"fromIssue"`
- Name string `json:"name"`
- Type string `json:"type"`
- Mode string `json:"mode"`
- Pri int `json:"pri"`
- Estimate int `json:"estimate"`
- Consumed int `json:"consumed"`
- Deadline string `json:"deadline"`
- Status string `json:"status"`
- SubStatus string `json:"subStatus"`
- Color string `json:"color"`
+ Id uint64 `json:"id"`
+ Project uint64 `json:"project"`
+ Parent uint64 `json:"parent"`
+ Execution uint64 `json:"execution"`
+ Module int `json:"module"`
+ Design int `json:"design"`
+ Story uint64 `json:"story"`
+ StoryVersion int `json:"storyVersion"`
+ DesignVersion int `json:"designVersion"`
+ FromBug int `json:"fromBug"`
+ Feedback int `json:"feedback"`
+ FromIssue int `json:"fromIssue"`
+ Name string `json:"name"`
+ Type string `json:"type"`
+ Mode string `json:"mode"`
+ Pri int `json:"pri"`
+ Estimate float64 `json:"estimate"`
+ Consumed float64 `json:"consumed"`
+ Deadline string `json:"deadline"`
+ Status string `json:"status"`
+ SubStatus string `json:"subStatus"`
+ Color string `json:"color"`
Mailto []struct {
Id uint64 `json:"id"`
Account string `json:"account"`
@@ -128,30 +128,30 @@
type ZentaoTask struct {
common.NoPKModel
- ConnectionId uint64 `gorm:"primaryKey;type:BIGINT NOT NULL"`
- ExecutionId uint64 `json:"execution_id"`
- ID uint64 `json:"id" gorm:"primaryKey;type:BIGINT NOT NULL"`
- Project uint64 `json:"project"`
- Parent uint64 `json:"parent"`
- Execution uint64 `json:"execution"`
- Module int `json:"module"`
- Design int `json:"design"`
- Story uint64 `json:"story"`
- StoryVersion int `json:"storyVersion"`
- DesignVersion int `json:"designVersion"`
- FromBug int `json:"fromBug"`
- Feedback int `json:"feedback"`
- FromIssue int `json:"fromIssue"`
- Name string `json:"name"`
- Type string `json:"type"`
- Mode string `json:"mode"`
- Pri int `json:"pri"`
- Estimate int `json:"estimate"`
- Consumed int `json:"consumed"`
- Deadline string `json:"deadline"`
- Status string `json:"status"`
- SubStatus string `json:"subStatus"`
- Color string `json:"color"`
+ ConnectionId uint64 `gorm:"primaryKey;type:BIGINT NOT NULL"`
+ ExecutionId uint64 `json:"execution_id"`
+ ID uint64 `json:"id" gorm:"primaryKey;type:BIGINT NOT NULL"`
+ Project uint64 `json:"project"`
+ Parent uint64 `json:"parent"`
+ Execution uint64 `json:"execution"`
+ Module int `json:"module"`
+ Design int `json:"design"`
+ Story uint64 `json:"story"`
+ StoryVersion int `json:"storyVersion"`
+ DesignVersion int `json:"designVersion"`
+ FromBug int `json:"fromBug"`
+ Feedback int `json:"feedback"`
+ FromIssue int `json:"fromIssue"`
+ Name string `json:"name"`
+ Type string `json:"type"`
+ Mode string `json:"mode"`
+ Pri int `json:"pri"`
+ Estimate float64 `json:"estimate"`
+ Consumed float64 `json:"consumed"`
+ Deadline string `json:"deadline"`
+ Status string `json:"status"`
+ SubStatus string `json:"subStatus"`
+ Color string `json:"color"`
//Mailto interface{} `json:"mailto"`
Description string `json:"desc"`
Version int `json:"version"`