Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Commit 8832a71

Browse files
fix: #72 get type status need id
1 parent ac38550 commit 8832a71

9 files changed

+125
-124
lines changed

‎app/Coding/ProjectSetting.php

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@ public function getIssueTypes($token, $projectName)
2121
return $result['Response']['IssueTypes'];
2222
}
2323

24-
public function getIssueTypeStatus(string $token, string $projectName, string $issueType)
24+
public function getIssueTypeStatus(string $token, string $projectName, string $issueType, int$issueTypeId)
2525
{
2626
$response = $this->client->request('POST', 'https://e.coding.net/open-api', [
2727
'headers' => [
@@ -33,6 +33,7 @@ public function getIssueTypeStatus(string $token, string $projectName, string $i
3333
'Action' => 'DescribeProjectIssueStatusList',
3434
'ProjectName' => $projectName,
3535
'IssueType' => $issueType,
36+
'IssueTypeId' => $issueTypeId,
3637
],
3738
]);
3839
$result = json_decode($response->getBody(), true);

‎app/Commands/IssueImportCommand.php

Lines changed: 11 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -85,16 +85,21 @@ private function getIssueTypes(ProjectSetting $projectSetting, array $row): void
8585
}
8686
}
8787

88-
private function getStatusId(ProjectSetting $projectSetting, string $issueType, string $statusChinese): int
88+
private function getStatusId(ProjectSetting $projectSetting, string $issueTypeName, string $statusName): int
8989
{
90-
if (!isset($this->issueTypeStatus[$issueType])) {
91-
$result = $projectSetting->getIssueTypeStatus($this->codingToken, $this->codingProjectUri, $issueType);
90+
if (!isset($this->issueTypeStatus[$issueTypeName])) {
91+
$type = $this->issueTypes[$issueTypeName]['IssueType'];
92+
$typeId = $this->issueTypes[$issueTypeName]['Id'];
93+
$result = $projectSetting->getIssueTypeStatus($this->codingToken, $this->codingProjectUri, $type, $typeId);
9294
foreach ($result as $item) {
9395
$tmp = $item['IssueStatus'];
94-
$this->issueTypeStatus[$issueType][$tmp['Name']] = $tmp['Id'];
96+
$this->issueTypeStatus[$issueTypeName][$tmp['Name']] = $tmp['Id'];
9597
}
9698
}
97-
return intval($this->issueTypeStatus[$issueType][$statusChinese]);
99+
if (!isset($this->issueTypeStatus[$issueTypeName][$statusName])) {
100+
throw new Exception('' . $statusName . '」不存在,请在设置中添加');
101+
}
102+
return intval($this->issueTypeStatus[$issueTypeName][$statusName]);
98103
}
99104

100105
private function createIssueByRow(ProjectSetting $projectSetting, Issue $issue, Iteration $iteration, array $row)
@@ -127,7 +132,7 @@ private function createIssueByRow(ProjectSetting $projectSetting, Issue $issue,
127132
}
128133
}
129134
if (!empty($row['状态'])) {
130-
$data['StatusId'] = $this->getStatusId($projectSetting, $data['Type'], $row['状态']);
135+
$data['StatusId'] = $this->getStatusId($projectSetting, $row['事项类型'], $row['状态']);
131136
}
132137
$result = $issue->create($this->codingToken, $this->codingProjectUri, $data);
133138
if (isset($row['ID'])) {

‎app/Commands/ProjectGetIssueTypesCommand.php

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,6 @@
22

33
namespace App\Commands;
44

5-
use App\Coding\Issue;
65
use App\Coding\ProjectSetting;
76
use LaravelZero\Framework\Commands\Command;
87

‎tests/Feature/IssueImportCommandTest.php

Lines changed: 6 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -40,14 +40,8 @@ public function testImportSuccess()
4040
$projectSettingMock->shouldReceive('getIssueTypeStatus')->times(5)->andReturn(
4141
$requirementStatus,
4242
$requirementStatus,
43-
[
44-
['IssueStatus' => ['Id' => 11, 'Name' => '已完成']],
45-
['IssueStatus' => ['Id' => 12, 'Name' => '处理中']],
46-
],
47-
[
48-
['IssueStatus' => ['Id' => 11, 'Name' => '未开始']],
49-
['IssueStatus' => ['Id' => 12, 'Name' => '处理中']],
50-
],
43+
$requirementStatus,
44+
$requirementStatus,
5145
[
5246
['IssueStatus' => ['Id' => 22, 'Name' => '处理中']],
5347
['IssueStatus' => ['Id' => 23, 'Name' => '待处理']],
@@ -125,7 +119,7 @@ public function testImportUserStorySuccess()
125119
'IterationCode' => 2746,
126120
'DueDate' => '2021年10月21日',
127121
'StoryPoint' => '2',
128-
'StatusId' => 9,
122+
'StatusId' => 1227037,
129123
]
130124
])->andReturn($result);
131125

@@ -168,7 +162,7 @@ public function testImportSubTask()
168162
'Name' => '用户可通过手机号注册账户',
169163
'DueDate' => '2021年10月21日',
170164
'StoryPoint' => '2',
171-
'StatusId' => 9,
165+
'StatusId' => 1227037,
172166
]
173167
])->andReturn($parentIssue);
174168

@@ -183,7 +177,7 @@ public function testImportSubTask()
183177
'Name' => '完成手机号注册的短信验证码发送接口',
184178
'Priority' => "0",
185179
'ParentCode' => 2742,
186-
'StatusId' => 13,
180+
'StatusId' => 1227058,
187181
]
188182
])->andReturn($subTask1);
189183

@@ -198,7 +192,7 @@ public function testImportSubTask()
198192
'Name' => '完成通过手机号注册用户的接口',
199193
'Priority' => "1",
200194
'ParentCode' => 2742,
201-
'StatusId' => 13,
195+
'StatusId' => 1227058,
202196
]
203197
])->andReturn($subTask2);
204198

‎tests/Unit/CodingProjectSettingTest.php

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -46,6 +46,7 @@ public function testGetIssueTypeStatusSuccess()
4646
$codingProjectUri = $this->faker->slug;
4747

4848
$issueType = $this->faker->randomElement(['DEFECT', 'REQUIREMENT', 'MISSION', 'EPIC', 'SUB_TASK']);
49+
$issueTypeId = $this->faker->randomNumber();
4950
$clientMock = $this->getMockBuilder(Client::class)->getMock();
5051
$clientMock->expects($this->once())
5152
->method('request')
@@ -62,12 +63,13 @@ public function testGetIssueTypeStatusSuccess()
6263
'Action' => 'DescribeProjectIssueStatusList',
6364
'ProjectName' => $codingProjectUri,
6465
'IssueType' => $issueType,
66+
'IssueTypeId' => $issueTypeId,
6567
])
6668
]
6769
)
6870
->willReturn(new Response(200, [], $responseBody));
6971
$coding = new ProjectSetting($clientMock);
70-
$result = $coding->getIssueTypeStatus($codingToken, $codingProjectUri, $issueType);
72+
$result = $coding->getIssueTypeStatus($codingToken, $codingProjectUri, $issueType, $issueTypeId);
7173
$this->assertEquals(json_decode($responseBody, true)['Response']['ProjectIssueStatusList'], $result);
7274
}
7375
}
Lines changed: 68 additions & 68 deletions
Original file line numberDiff line numberDiff line change
@@ -1,79 +1,79 @@
11
{
2-
"Response": {
3-
"RequestId": "dc827006-32db-a74f-eeae-13bec31c8b92",
4-
"ProjectIssueStatusList": [
2+
"Response" : {
3+
"ProjectIssueStatusList" : [
54
{
6-
"IssueType": "REQUIREMENT",
7-
"IssueStatusId": 4,
8-
"IsDefault": true,
9-
"CreatedAt": 1597283400000,
10-
"UpdatedAt": 1597283400000,
11-
"Sort": 0,
12-
"IssueStatus": {
13-
"Id": 4,
14-
"Index": 3,
15-
"Name": "未开始",
16-
"Type": "TODO",
17-
"Description": "",
18-
"IsSystem": true,
19-
"CreatedAt": 1597283396000,
20-
"UpdatedAt": 1597283396000
21-
}
5+
"CreatedAt" : 1634639726000,
6+
"IsDefault" : true,
7+
"IssueStatus" : {
8+
"CreatedAt" : 1572178128000,
9+
"Description" : "",
10+
"Id" : 1227034,
11+
"Index" : 3,
12+
"IsSystem" : true,
13+
"Name" : "未开始",
14+
"Type": "TODO",
15+
"UpdatedAt" : 1572178128000
16+
},
17+
"IssueStatusId" : 1227034,
18+
"IssueType" : "REQUIREMENT",
19+
"Sort" : 0,
20+
"UpdatedAt" : 1634639726000
2221
},
2322
{
24-
"IssueType": "REQUIREMENT",
25-
"IssueStatusId": 9,
26-
"IsDefault": false,
27-
"CreatedAt": 1597283400000,
28-
"UpdatedAt": 1597283400000,
29-
"Sort": 0,
30-
"IssueStatus": {
31-
"Id": 9,
32-
"Index": 8,
33-
"Name": "开发中",
34-
"Type": "PROCESSING",
35-
"Description": "",
36-
"IsSystem": true,
37-
"CreatedAt": 1597283396000,
38-
"UpdatedAt": 1597283396000
39-
}
23+
"CreatedAt" : 1634639726000,
24+
"IsDefault" : false,
25+
"IssueStatus" : {
26+
"CreatedAt" : 1572178128000,
27+
"Description" : "",
28+
"Id" : 1227037,
29+
"Index" : 4,
30+
"IsSystem" : true,
31+
"Name" : "处理中",
32+
"Type": "PROCESSING",
33+
"UpdatedAt" : 1572178128000
34+
},
35+
"IssueStatusId" : 1227037,
36+
"IssueType" : "REQUIREMENT",
37+
"Sort" : 0,
38+
"UpdatedAt" : 1634639726000
4039
},
4140
{
42-
"IssueType": "REQUIREMENT",
43-
"IssueStatusId": 10,
44-
"IsDefault": false,
45-
"CreatedAt": 1597283400000,
46-
"UpdatedAt": 1597283400000,
47-
"Sort": 0,
48-
"IssueStatus": {
49-
"Id": 10,
50-
"Index": 9,
51-
"Name": "测试中",
52-
"Type": "PROCESSING",
53-
"Description": "",
54-
"IsSystem": true,
55-
"CreatedAt": 1597283396000,
56-
"UpdatedAt": 1597283396000
57-
}
41+
"CreatedAt" : 1634639726000,
42+
"IsDefault" : false,
43+
"IssueStatus" : {
44+
"CreatedAt" : 1572178128000,
45+
"Description" : "",
46+
"Id" : 1227040,
47+
"Index" : 5,
48+
"IsSystem" : true,
49+
"Name" : "待验证",
50+
"Type": "PROCESSING",
51+
"UpdatedAt" : 1572178128000
52+
},
53+
"IssueStatusId" : 1227040,
54+
"IssueType" : "REQUIREMENT",
55+
"Sort" : 0,
56+
"UpdatedAt" : 1634639726000
5857
},
5958
{
60-
"IssueType": "REQUIREMENT",
61-
"IssueStatusId": 13,
62-
"IsDefault": false,
63-
"CreatedAt": 1597283400000,
64-
"UpdatedAt": 1597283400000,
65-
"Sort": 0,
66-
"IssueStatus": {
67-
"Id": 13,
68-
"Index": 12,
69-
"Name": "已完成",
70-
"Type": "COMPLETED",
71-
"Description": "",
72-
"IsSystem": true,
73-
"CreatedAt": 1597283396000,
74-
"UpdatedAt": 1597283396000
75-
}
59+
"CreatedAt" : 1634639726000,
60+
"IsDefault" : false,
61+
"IssueStatus" : {
62+
"CreatedAt" : 1572178128000,
63+
"Description" : "",
64+
"Id" : 1227058,
65+
"Index" : 11,
66+
"IsSystem" : true,
67+
"Name" : "已完成",
68+
"Type": "COMPLETED",
69+
"UpdatedAt" : 1572178128000
70+
},
71+
"IssueStatusId" : 1227058,
72+
"IssueType" : "REQUIREMENT",
73+
"Sort" : 0,
74+
"UpdatedAt" : 1634639726000
7675
}
77-
]
76+
],
77+
"RequestId" : "3a8bb049-e28f-01c9-9990-0f17b92952c4"
7878
}
7979
}

‎tests/data/coding/scrum-issue-5.csv

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,2 +1,2 @@
1-
ID,事项类型,标题,描述,状态,创建时间,创建人,更新时间,所属迭代,故事点,处理人,缺陷类型,优先级,截止日期,模块,标签,关注人,开始日期
2-
5,用户故事,用户可通过手机号注册账户,,开发中,2021年10月19日 11:26:37,sinkcup,2021年10月19日 11:26:37,第 1 次迭代,2,sinkcup,,中,2021年10月21日,,,,
1+
ID,事项类型,标题,描述,状态,创建时间,创建人,更新时间,所属迭代,故事点,处理人,缺陷类型,优先级,截止日期,模块,标签,关注人,开始日期
2+
5,用户故事,用户可通过手机号注册账户,,处理中,2021年10月19日 11:26:37,sinkcup,2021年10月19日 11:26:37,第 1 次迭代,2,sinkcup,,中,2021年10月21日,,,,
Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
11
ID,ParentCode,事项类型,标题,描述,状态,创建时间,创建人,更新时间,所属迭代,故事点,处理人,缺陷类型,优先级,截止日期,模块,标签,关注人,开始日期
22
7,5,子工作项,完成通过手机号注册用户的接口,,已完成,2021年10月19日 11:26:38,sinkcup,2021年10月19日 11:26:38,,,,,中,,,,,
33
6,5,子工作项,完成手机号注册的短信验证码发送接口,,已完成,2021年10月19日 11:26:38,sinkcup,2021年10月19日 11:26:38,,,,,低,,,,,
4-
5,,用户故事,用户可通过手机号注册账户,,开发中,2021年10月19日 11:26:37,sinkcup,2021年10月19日 11:26:37,,2,sinkcup,,,2021年10月21日,,,,
4+
5,,用户故事,用户可通过手机号注册账户,,处理中,2021年10月19日 11:26:37,sinkcup,2021年10月19日 11:26:37,,2,sinkcup,,,2021年10月21日,,,,

‎tests/data/coding/scrum-issues.csv

Lines changed: 32 additions & 32 deletions
Original file line numberDiff line numberDiff line change
@@ -1,32 +1,32 @@
1-
ID,ParentCode,事项类型,标题,描述,状态,创建时间,创建人,更新时间,所属迭代,故事点,处理人,缺陷类型,优先级,截止日期,模块,标签,关注人,开始日期
2-
23,,缺陷,商品详情页中商品价格字体应当显示为红色并且加粗,"步骤:
3-
4-
测试环境中,打开商品列表页;
5-
点击任意商品进详情页。
6-
测试结果:商品的价格字体显示为正常大小,颜色为黑色。
7-
预期结果:商品价格字体为红色加粗。",待处理,2021年10月19日 11:26:39,sinkcup,2021年10月19日 11:26:39,,,,,中,,,,,
8-
22,,缺陷,登录页输入正确的用户名和密码后提示"用户不存在","步骤:
9-
测试环境中,输入URL https://mywebsite.com/login 进入登录页;
10-
输入用户名 Admin 和密码 mypassword;
11-
点击"登录"按钮。
12-
测试结果:页面提示"用户不存在"。
13-
预期结果:提示"登录成功"并且页面自动跳转到首页。",处理中,2021年10月19日 11:26:39,sinkcup,2021年10月19日 11:26:39,,,sinkcup,,中,,,,,
14-
21,,任务,编制新功能的帮助文档并发布,,未开始,2021年10月19日 11:26:39,sinkcup,2021年10月19日 11:26:39,,,,,中,,,,,
15-
20,,任务,编写脚本将 Excel 中的线下订单转换为商城后台订单,,未开始,2021年10月19日 11:26:39,sinkcup,2021年10月19日 11:26:39,,,,,中,,,,,
16-
19,,任务,注册腾讯云账户,搭建测试环境和生产环境服务器,,处理中,2021年10月19日 11:26:39,sinkcup,2021年10月19日 11:26:39,第 1 次迭代,3,sinkcup,,中,2021年10月21日,,,,
17-
18,,用户故事,用户可对未支付的订单执行取消订单操作,,未开始,2021年10月19日 11:26:39,sinkcup,2021年10月19日 11:26:39,,,,,中,,,,,
18-
17,,用户故事,管理员可在商城后台对订单执行发货操作,,未开始,2021年10月19日 11:26:39,sinkcup,2021年10月19日 11:26:39,,3,,,中,,,,,
19-
16,,用户故事,用户可在手机端搜索并查看指定的订单详情,,未开始,2021年10月19日 11:26:39,sinkcup,2021年10月19日 11:26:39,,1,,,中,,,,,
20-
15,,用户故事,通过访问邀请链接可注册成为商城用户,,未开始,2021年10月19日 11:26:39,sinkcup,2021年10月19日 11:26:39,,,,,中,,,,,
21-
14,,用户故事,管理员可取消未发货且状态异常的订单,,未开始,2021年10月19日 11:26:38,sinkcup,2021年10月19日 11:26:38,第 2 次迭代,3,,,中,,,,,
22-
13,,用户故事,用户可在"个人信息"中编辑个人基本信息,包括修改密码,,未开始,2021年10月19日 11:26:38,sinkcup,2021年10月19日 11:26:38,第 2 次迭代,2,sinkcup,,中,,,,,
23-
12,,用户故事,管理员可在商城后台搜索订单,,未开始,2021年10月19日 11:26:38,sinkcup,2021年10月19日 11:26:38,第 1 次迭代,2,,,中,,,,,
24-
11,,用户故事,管理员可在商城后台手工为用户下单,,未开始,2021年10月19日 11:26:38,sinkcup,2021年10月19日 11:26:38,第 1 次迭代,5,,,中,2021年10月26日,,,,
25-
10,,用户故事,用户可在个人中心的"个人信息"中查看个人信息,,已完成,2021年10月19日 11:26:38,sinkcup,2021年10月19日 11:26:38,第 1 次迭代,1,,,中,,,,,
26-
9,,用户故事,用户可通过短信验证码登录商城,,开发中,2021年10月19日 11:26:38,sinkcup,2021年10月19日 11:26:38,第 1 次迭代,,,,中,,,,,
27-
8,5,子工作项,完成用户注册页面控件并集成后端接口,,处理中,2021年10月19日 11:26:38,sinkcup,2021年10月19日 11:26:38,第 1 次迭代,,,,中,2021年10月21日,,,,
28-
7,5,子工作项,完成通过手机号注册用户的接口,,已完成,2021年10月19日 11:26:38,sinkcup,2021年10月19日 11:26:38,第 1 次迭代,,,,中,,,,,
29-
6,5,子工作项,完成手机号注册的短信验证码发送接口,,已完成,2021年10月19日 11:26:38,sinkcup,2021年10月19日 11:26:38,第 1 次迭代,,,,中,,,,,
30-
5,,用户故事,用户可通过手机号注册账户,,开发中,2021年10月19日 11:26:37,sinkcup,2021年10月19日 11:26:37,第 1 次迭代,2,sinkcup,,中,2021年10月21日,,,,
31-
2,,史诗,订单管理,订单管理将实现用户的订单列表查询、订单详情、订单改价、订单地址修改、申请售后、订单取消等功能,未开始,2021年10月19日 11:26:37,sinkcup,2021年10月19日 11:26:37,,,,,中,,,,,2021年10月19日
32-
1,,史诗,用户管理,用户管理将实现用户的注册、邀请、用户查询、个人信息管理、删除用户、注销账户等功能。,未开始,2021年10月19日 11:26:37,sinkcup,2021年10月19日 11:26:37,,,,,中,,,,,2021年10月19日
1+
ID,ParentCode,事项类型,标题,描述,状态,创建时间,创建人,更新时间,所属迭代,故事点,处理人,缺陷类型,优先级,截止日期,模块,标签,关注人,开始日期
2+
23,,缺陷,商品详情页中商品价格字体应当显示为红色并且加粗,"步骤:
3+
4+
测试环境中,打开商品列表页;
5+
点击任意商品进详情页。
6+
测试结果:商品的价格字体显示为正常大小,颜色为黑色。
7+
预期结果:商品价格字体为红色加粗。",待处理,2021年10月19日 11:26:39,sinkcup,2021年10月19日 11:26:39,,,,,中,,,,,
8+
22,,缺陷,登录页输入正确的用户名和密码后提示"用户不存在","步骤:
9+
测试环境中,输入URL https://mywebsite.com/login 进入登录页;
10+
输入用户名 Admin 和密码 mypassword;
11+
点击"登录"按钮。
12+
测试结果:页面提示"用户不存在"。
13+
预期结果:提示"登录成功"并且页面自动跳转到首页。",处理中,2021年10月19日 11:26:39,sinkcup,2021年10月19日 11:26:39,,,sinkcup,,中,,,,,
14+
21,,任务,编制新功能的帮助文档并发布,,未开始,2021年10月19日 11:26:39,sinkcup,2021年10月19日 11:26:39,,,,,中,,,,,
15+
20,,任务,编写脚本将 Excel 中的线下订单转换为商城后台订单,,未开始,2021年10月19日 11:26:39,sinkcup,2021年10月19日 11:26:39,第 2 次迭代,5,,,中,,,,,
16+
19,,任务,注册腾讯云账户,搭建测试环境和生产环境服务器,,处理中,2021年10月19日 11:26:39,sinkcup,2021年10月19日 11:26:39,第 1 次迭代,5,sinkcup,,中,,,,,
17+
18,,用户故事,用户可对未支付的订单执行取消订单操作,,未开始,2021年10月19日 11:26:39,sinkcup,2021年10月19日 11:26:39,,,,,中,,,,,
18+
17,,用户故事,管理员可在商城后台对订单执行发货操作,,未开始,2021年10月19日 11:26:39,sinkcup,2021年10月19日 11:26:39,第 2 次迭代,3,,,中,,,,,
19+
16,,用户故事,用户可在手机端搜索并查看指定的订单详情,,未开始,2021年10月19日 11:26:39,sinkcup,2021年10月19日 11:26:39,第 2 次迭代,1,,,中,,,,,
20+
15,,用户故事,通过访问邀请链接可注册成为商城用户,,未开始,2021年10月19日 11:26:39,sinkcup,2021年10月19日 11:26:39,第 2 次迭代,2,,,中,,,,,
21+
14,,用户故事,管理员可取消未发货且状态异常的订单,,未开始,2021年10月19日 11:26:38,sinkcup,2021年10月19日 11:26:38,第 2 次迭代,3,,,中,,,,,
22+
13,,用户故事,用户可在"个人信息"中编辑个人基本信息,包括修改密码,,未开始,2021年10月19日 11:26:38,sinkcup,2021年10月19日 11:26:38,第 2 次迭代,2,sinkcup,,中,,,,,
23+
12,,用户故事,管理员可在商城后台搜索订单,,未开始,2021年10月19日 11:26:38,sinkcup,2021年10月19日 11:26:38,第 1 次迭代,2,,,中,,,,,
24+
11,,用户故事,管理员可在商城后台手工为用户下单,,未开始,2021年10月19日 11:26:38,sinkcup,2021年10月19日 11:26:38,第 1 次迭代,5,,,中,,,,,
25+
10,,用户故事,用户可在个人中心的"个人信息"中查看个人信息,,已完成,2021年10月19日 11:26:38,sinkcup,2021年10月19日 11:26:38,第 1 次迭代,1,,,中,,,,,
26+
9,,用户故事,用户可通过短信验证码登录商城,,处理中,2021年10月19日 11:26:38,sinkcup,2021年10月19日 11:26:38,第 1 次迭代,1,,,中,,,,,
27+
8,5,子工作项,完成用户注册页面控件并集成后端接口,,处理中,2021年10月19日 11:26:38,sinkcup,2021年10月19日 11:26:38,第 1 次迭代,,,,中,,,,,
28+
7,5,子工作项,完成通过手机号注册用户的接口,,已完成,2021年10月19日 11:26:38,sinkcup,2021年10月19日 11:26:38,第 1 次迭代,,,,中,,,,,
29+
6,5,子工作项,完成手机号注册的短信验证码发送接口,,已完成,2021年10月19日 11:26:38,sinkcup,2021年10月19日 11:26:38,第 1 次迭代,,,,中,,,,,
30+
5,,用户故事,用户可通过手机号注册账户,,处理中,2021年10月19日 11:26:37,sinkcup,2021年10月19日 11:26:37,第 1 次迭代,2,sinkcup,,中,,,,,
31+
2,,史诗,订单管理,订单管理将实现用户的订单列表查询、订单详情、订单改价、订单地址修改、申请售后、订单取消等功能,未开始,2021年10月19日 11:26:37,sinkcup,2021年10月19日 11:26:37,,,,,中,,,,,
32+
1,,史诗,用户管理,用户管理将实现用户的注册、邀请、用户查询、个人信息管理、删除用户、注销账户等功能。,未开始,2021年10月19日 11:26:37,sinkcup,2021年10月19日 11:26:37,,,,,中,,,,,

0 commit comments

Comments
(0)

AltStyle によって変換されたページ (->オリジナル) /