Skip to content

Commit 0753cf6

Browse files
committed
支持从任意状态变为已解决
1 parent 94d193c commit 0753cf6

File tree

3 files changed

+30
-8
lines changed

3 files changed

+30
-8
lines changed

src/main/java/tech/foxdev/tapdvcs/TapdBugData.java

+7
Original file line numberDiff line numberDiff line change
@@ -6,5 +6,12 @@ public class TapdBugData {
66
public String ID;
77
public String CreateName;
88

9+
public enum Status {
10+
New,
11+
Accept,
12+
ReOpen
13+
}
14+
15+
public Status CurStatus;
916
public String OwnName;
1017
}

src/main/java/tech/foxdev/tapdvcs/TapdBugListDialog.java

+17-2
Original file line numberDiff line numberDiff line change
@@ -2,15 +2,18 @@
22

33
import com.intellij.openapi.project.Project;
44
import com.intellij.openapi.vcs.CommitMessageI;
5+
import org.apache.commons.lang.CharSet;
56
import org.jsoup.Jsoup;
67

78
import javax.swing.*;
89
import java.awt.event.*;
10+
import java.io.UnsupportedEncodingException;
911
import java.net.URI;
1012
import java.net.URISyntaxException;
1113
import java.net.http.HttpClient;
1214
import java.net.http.HttpRequest;
1315
import java.net.http.HttpResponse;
16+
import java.nio.charset.Charset;
1417
import java.time.Duration;
1518
import java.util.concurrent.CompletableFuture;
1619

@@ -32,7 +35,7 @@ public TapdBugListDialog() {
3235
setModal(true);
3336
getRootPane().setDefaultButton(buttonOK);
3437
bugList.setCellRenderer(new CheckboxListCellRenderer());
35-
contentPanel.setSize(550,150);
38+
contentPanel.setSize(550, 150);
3639
contentPanel.updateUI();
3740
buttonOK.addActionListener(new ActionListener() {
3841
public void actionPerformed(ActionEvent e) {
@@ -138,11 +141,24 @@ private void GetAllBug() {
138141
var ownName = doc.getElementsByClass(" left-tree-brick nav-iconbtn dropdown user").first().getElementsByTag("a").first().attr("title");
139142
VcsHandler.ClearData();
140143
for (int i = 0; i < allBugs.size(); i++) {
144+
var itemID = allBugs.get(i).attr("data-item-id");
145+
String bugStatus = allBugs.get(i).getElementsByTag("td").get(3).text();
141146
var bug = allBugs.get(i).getElementsByClass("card-title content-cardtitle namecol preview-title J-worktablePreview").first();
142147
var data = new TapdBugData();
143148
data.DisplayName = bug.attr("title");
144149
data.Url = bug.attr("href");
145150
data.ID = bug.attr("data-entityid");
151+
String NewS = "\u65B0";
152+
String AccS = "\u63A5\u53D7/\u5904\u7406";
153+
String ReOpenS = "\u91CD\u65B0\u6253\u5F00";
154+
155+
if (bugStatus.equals(NewS)) {
156+
data.CurStatus = TapdBugData.Status.New;
157+
} else if (bugStatus.equals(AccS)) {
158+
data.CurStatus = TapdBugData.Status.Accept;
159+
} else if (bugStatus.equals(ReOpenS)) {
160+
data.CurStatus = TapdBugData.Status.ReOpen;
161+
}
146162
var nameItem = allBugs.get(i).getElementById("td_bug_reporter_" + data.ID);
147163
if (nameItem == null) {
148164
continue;
@@ -163,5 +179,4 @@ private void GetAllBug() {
163179
}
164180

165181

166-
167182
}

src/main/java/tech/foxdev/tapdvcs/TapdTaskProcess.java

+6-6
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,7 @@
11
package tech.foxdev.tapdvcs;
22

3-
import com.fasterxml.jackson.databind.annotation.JsonDeserialize;
43
import com.fasterxml.jackson.jr.ob.JSON;
54
import com.intellij.openapi.diagnostic.Logger;
6-
import org.apache.commons.httpclient.Cookie;
75

86
import javax.swing.*;
97
import java.awt.event.*;
@@ -15,9 +13,6 @@
1513
import java.net.http.HttpResponse;
1614
import java.time.Duration;
1715
import java.util.ArrayList;
18-
import java.util.Arrays;
19-
import java.util.Timer;
20-
import java.util.regex.Matcher;
2116

2217
public class TapdTaskProcess extends JDialog {
2318
private static String comment;
@@ -198,7 +193,12 @@ private void BuildUrl(Status status, TapdBugData tapdBugData) {
198193
String url = "https://www.tapd.cn/api/entity/workflow/change_bug_status";
199194
switch (status) {
200195
case InProcess:
201-
Send(url, BuildPostData(tapdBugData, "new", "in_progress", tapdBugData.OwnName, tapdBugData.OwnName, ""));
196+
if(tapdBugData.CurStatus == TapdBugData.Status.Accept)
197+
break;
198+
String curStatus = "new";
199+
if(tapdBugData.CurStatus == TapdBugData.Status.ReOpen)
200+
curStatus = "reopened";
201+
Send(url, BuildPostData(tapdBugData, curStatus, "in_progress", tapdBugData.OwnName, tapdBugData.OwnName, ""));
202202
break;
203203
case FixedAndAddComment:
204204
String data = BuildPostData(tapdBugData,"in_progress", "resolved", tapdBugData.CreateName, tapdBugData.CreateName, comment+"\n"+TapdBugListDialog.TapdComment);

0 commit comments

Comments
 (0)