authorizedRoles) {
this.authorizedRoles = authorizedRoles;
}
+
+ public TeamOption getTeamOption() {
+ return this.teamOption;
+ }
+
+ public void setTeamOption(TeamOption teamOption) {
+ this.teamOption = teamOption;
+ }
+
+ public NumberConfig getNumberConfig() {
+ return this.numberConfig;
+ }
+
+ public void setNumberConfig(NumberConfig numberConfig) {
+ this.numberConfig = numberConfig;
+ }
+
+ public static class NumberConfig {
+ @SerializedName("scaling_ratio")
+ private String scalingRatio;
+ @SerializedName("display_digits")
+ private Integer displayDigits;
+ @SerializedName("symbol_setting")
+ private SymbolSetting symbolSetting;
+
+ public String getScalingRatio() {
+ return scalingRatio;
+ }
+
+ public void setScalingRatio(String scalingRatio) {
+ this.scalingRatio = scalingRatio;
+ }
+
+ public Integer getDisplayDigits() {
+ return displayDigits;
+ }
+
+ public void setDisplayDigits(Integer displayDigits) {
+ this.displayDigits = displayDigits;
+ }
+
+ public SymbolSetting getSymbolSetting() {
+ return symbolSetting;
+ }
+
+ public void setSymbolSetting(SymbolSetting symbolSetting) {
+ this.symbolSetting = symbolSetting;
+ }
+ }
+
+ public static class SymbolSetting {
+ @SerializedName("display")
+ private String display;
+ @SerializedName("value")
+ private String value;
+ @SerializedName("layout")
+ private String layout;
+
+ public String getDisplay() {
+ return display;
+ }
+
+ public void setDisplay(String display) {
+ this.display = display;
+ }
+
+ public String getValue() {
+ return value;
+ }
+
+ public void setValue(String value) {
+ this.value = value;
+ }
+
+ public String getLayout() {
+ return layout;
+ }
+
+ public void setLayout(String layout) {
+ this.layout = layout;
+ }
+ }
}
diff --git a/src/main/java/com/lark/project/service/workitem/WorkItemService.java b/src/main/java/com/lark/project/service/workitem/WorkItemService.java
index e6d8947..80afd2e 100644
--- a/src/main/java/com/lark/project/service/workitem/WorkItemService.java
+++ b/src/main/java/com/lark/project/service/workitem/WorkItemService.java
@@ -102,6 +102,9 @@ public interface WorkItemService {
// 更新实际工时
public UpdateWorkingHourRecordResp updateWorkingHourRecord(UpdateWorkingHourRecordReq req, RequestOptions reqOptions) throws Exception;
+ // 拉机器人入群
+ public BotJoinChatResp botJoinChat(BotJoinChatReq req, RequestOptions reqOptions) throws Exception;
+
/**
* 获取工作流详情(WBS)。
*
@@ -123,14 +126,14 @@ public interface WorkItemService {
/**
* 批量更新工作项。
*
- * 对应 OpenAPI:{@code POST /open_api/:project_key/work_item/:work_item_type_key/batch_update}
+ * 对应 OpenAPI:{@code POST /open_api/work_item/batch_update}
*/
public BatchUpdateWorkItemResp batchUpdateWorkItem(BatchUpdateWorkItemReq req, RequestOptions reqOptions) throws Exception;
/**
* 获取任务结果。
*
- * 对应 OpenAPI:{@code GET /open_api/:project_key/work_item/:work_item_type_key/:work_item_id/task_result}
+ * 对应 OpenAPI:{@code GET /open_api/task_result}
*/
public GetTaskResultResp getTaskResult(GetTaskResultReq req, RequestOptions reqOptions) throws Exception;
}
diff --git a/src/main/java/com/lark/project/service/workitem/WorkItemServiceImpl.java b/src/main/java/com/lark/project/service/workitem/WorkItemServiceImpl.java
index c503f51..ddfcbc6 100644
--- a/src/main/java/com/lark/project/service/workitem/WorkItemServiceImpl.java
+++ b/src/main/java/com/lark/project/service/workitem/WorkItemServiceImpl.java
@@ -704,7 +704,7 @@ public UpdateCompoundFieldValueResp updateCompoundFieldValue(UpdateCompoundField
return resp;
}
- @Override
+ // 批量更新工作项。
public BatchUpdateWorkItemResp batchUpdateWorkItem(BatchUpdateWorkItemReq req, RequestOptions reqOptions) throws Exception {
if (reqOptions == null) {
reqOptions = new RequestOptions();
@@ -727,7 +727,11 @@ public BatchUpdateWorkItemResp batchUpdateWorkItem(BatchUpdateWorkItemReq req, R
return resp;
}
- @Override
+ /**
+ * 获取任务结果。
+ *
+ * 对应 OpenAPI:{@code GET /open_api/task_result}
+ */
public GetTaskResultResp getTaskResult(GetTaskResultReq req, RequestOptions reqOptions) throws Exception {
if (reqOptions == null) {
reqOptions = new RequestOptions();
@@ -749,4 +753,27 @@ public GetTaskResultResp getTaskResult(GetTaskResultReq req, RequestOptions reqO
return resp;
}
+
+ // 拉机器人入群
+ public BotJoinChatResp botJoinChat(BotJoinChatReq req, RequestOptions reqOptions) throws Exception {
+ if (reqOptions == null) {
+ reqOptions = new RequestOptions();
+ }
+
+ RawResponse httpResponse = Transport.doSend(config, reqOptions, "POST"
+ , "/open_api/:project_key/work_item/:work_item_id/bot_join_chat"
+ , false
+ , req);
+
+ BotJoinChatResp resp = UnmarshalRespUtil.unmarshalResp(httpResponse, BotJoinChatResp.class);
+ if (resp == null) {
+ log.error(Logs.formatReq(req, httpResponse, "/open_api/:project_key/work_item/:work_item_id/bot_join_chat"));
+ throw new IllegalArgumentException(ErrConstants.RESULT_ILLEGAL);
+ }
+
+ resp.setRawResponse(httpResponse);
+ resp.setRequest(req);
+
+ return resp;
+ }
}
diff --git a/src/main/java/com/lark/project/service/workitem/builder/BatchUpdateWorkItemReq.java b/src/main/java/com/lark/project/service/workitem/builder/BatchUpdateWorkItemReq.java
index 0604eb1..0e2f60a 100644
--- a/src/main/java/com/lark/project/service/workitem/builder/BatchUpdateWorkItemReq.java
+++ b/src/main/java/com/lark/project/service/workitem/builder/BatchUpdateWorkItemReq.java
@@ -8,7 +8,7 @@
/**
* 批量更新工作项的请求对象。
*
- * 对应 OpenAPI:{@code POST /open_api/:project_key/work_item/:work_item_type_key/batch_update}
+ * 对应 OpenAPI:{@code POST /open_api/work_item/batch_update}
*/
public class BatchUpdateWorkItemReq {
@Body
diff --git a/src/main/java/com/lark/project/service/workitem/builder/BatchUpdateWorkItemResp.java b/src/main/java/com/lark/project/service/workitem/builder/BatchUpdateWorkItemResp.java
index 66f1614..bde6b65 100644
--- a/src/main/java/com/lark/project/service/workitem/builder/BatchUpdateWorkItemResp.java
+++ b/src/main/java/com/lark/project/service/workitem/builder/BatchUpdateWorkItemResp.java
@@ -3,9 +3,7 @@
import com.google.gson.annotations.SerializedName;
import com.lark.project.core.response.BaseResponse;
import com.lark.project.service.workitem.model.BatchUpdateWorkItemResult;
-import com.lark.project.service.workitem.model.WorkItemInfo;
-import java.util.List;
/**
* 批量更新工作项的响应对象。
diff --git a/src/main/java/com/lark/project/service/workitem/builder/BotJoinChatReq.java b/src/main/java/com/lark/project/service/workitem/builder/BotJoinChatReq.java
new file mode 100644
index 0000000..8b73409
--- /dev/null
+++ b/src/main/java/com/lark/project/service/workitem/builder/BotJoinChatReq.java
@@ -0,0 +1,92 @@
+package com.lark.project.service.workitem.builder;
+
+import com.google.gson.annotations.SerializedName;
+import com.lark.project.core.annotation.Body;
+import com.lark.project.core.annotation.Path;
+
+import java.util.List;
+
+public class BotJoinChatReq {
+
+ @Path
+ @SerializedName("project_key")
+ private String projectKey;
+
+ @Path
+ @SerializedName("work_item_id")
+ private Long workItemID;
+
+ @Body
+ private BotJoinChatReqBody body;
+
+ public BotJoinChatReq() {
+ }
+
+ public BotJoinChatReq(Builder builder) {
+ this.projectKey = builder.projectKey;
+ this.workItemID = builder.workItemID;
+ this.body = builder.body;
+ }
+
+ public static Builder newBuilder() {
+ return new Builder();
+ }
+
+ public String getProjectKey() {
+ return projectKey;
+ }
+
+ public void setProjectKey(String projectKey) {
+ this.projectKey = projectKey;
+ }
+
+ public Long getWorkItemID() {
+ return workItemID;
+ }
+
+ public void setWorkItemID(Long workItemID) {
+ this.workItemID = workItemID;
+ }
+
+ public BotJoinChatReqBody getBotJoinChatReqBody() {
+ return body;
+ }
+
+ public void setBotJoinChatReqBody(BotJoinChatReqBody body) {
+ this.body = body;
+ }
+
+ public static class Builder {
+ private String projectKey;
+ private Long workItemID;
+ private BotJoinChatReqBody body;
+
+ public Builder() {
+ body = new BotJoinChatReqBody();
+ }
+
+ public Builder projectKey(String projectKey) {
+ this.projectKey = projectKey;
+ return this;
+ }
+
+ public Builder workItemID(Long workItemID) {
+ this.workItemID = workItemID;
+ return this;
+ }
+
+ public Builder workItemTypeKey(String workItemTypeKey) {
+ this.body.setWorkItemTypeKey(workItemTypeKey);
+ return this;
+ }
+
+ public Builder appIds(List appIds) {
+ this.body.setAppIds(appIds);
+ return this;
+ }
+
+ public BotJoinChatReq build() {
+ return new BotJoinChatReq(this);
+ }
+ }
+}
diff --git a/src/main/java/com/lark/project/service/workitem/builder/BotJoinChatReqBody.java b/src/main/java/com/lark/project/service/workitem/builder/BotJoinChatReqBody.java
new file mode 100644
index 0000000..f8d4237
--- /dev/null
+++ b/src/main/java/com/lark/project/service/workitem/builder/BotJoinChatReqBody.java
@@ -0,0 +1,56 @@
+package com.lark.project.service.workitem.builder;
+
+import com.google.gson.annotations.SerializedName;
+
+import java.util.List;
+
+public class BotJoinChatReqBody {
+
+ @SerializedName("work_item_type_key")
+ private String workItemTypeKey;
+
+ @SerializedName("app_ids")
+ private List appIds;
+
+ public String getWorkItemTypeKey() {
+ return workItemTypeKey;
+ }
+
+ public void setWorkItemTypeKey(String workItemTypeKey) {
+ this.workItemTypeKey = workItemTypeKey;
+ }
+
+ public List getAppIds() {
+ return appIds;
+ }
+
+ public void setAppIds(List appIds) {
+ this.appIds = appIds;
+ }
+
+ public static Builder newBuilder() {
+ return new Builder();
+ }
+
+ public static class Builder {
+ private String workItemTypeKey;
+ private List appIds;
+
+ public Builder workItemTypeKey(String workItemTypeKey) {
+ this.workItemTypeKey = workItemTypeKey;
+ return this;
+ }
+
+ public Builder appIds(List appIds) {
+ this.appIds = appIds;
+ return this;
+ }
+
+ public BotJoinChatReqBody build() {
+ BotJoinChatReqBody body = new BotJoinChatReqBody();
+ body.setWorkItemTypeKey(workItemTypeKey);
+ body.setAppIds(appIds);
+ return body;
+ }
+ }
+}
diff --git a/src/main/java/com/lark/project/service/workitem/builder/BotJoinChatResp.java b/src/main/java/com/lark/project/service/workitem/builder/BotJoinChatResp.java
new file mode 100644
index 0000000..e010348
--- /dev/null
+++ b/src/main/java/com/lark/project/service/workitem/builder/BotJoinChatResp.java
@@ -0,0 +1,17 @@
+package com.lark.project.service.workitem.builder;
+
+import com.google.gson.annotations.SerializedName;
+import com.lark.project.core.response.BaseResponse;
+
+public class BotJoinChatResp extends BaseResponse {
+ @SerializedName("data")
+ private BotJoinChatRespBody data;
+
+ public BotJoinChatRespBody getData() {
+ return this.data;
+ }
+
+ public void setData(BotJoinChatRespBody data) {
+ this.data = data;
+ }
+}
diff --git a/src/main/java/com/lark/project/service/workitem/builder/BotJoinChatRespBody.java b/src/main/java/com/lark/project/service/workitem/builder/BotJoinChatRespBody.java
new file mode 100644
index 0000000..6393d69
--- /dev/null
+++ b/src/main/java/com/lark/project/service/workitem/builder/BotJoinChatRespBody.java
@@ -0,0 +1,41 @@
+package com.lark.project.service.workitem.builder;
+
+import com.google.gson.annotations.SerializedName;
+
+import java.util.List;
+
+public class BotJoinChatRespBody {
+
+ @SerializedName("chat_id")
+ private String chatId;
+
+ @SerializedName("failed_members")
+ private List failedMembers;
+
+ @SerializedName("success_members")
+ private List successMembers;
+
+ public String getChatId() {
+ return chatId;
+ }
+
+ public void setChatId(String chatId) {
+ this.chatId = chatId;
+ }
+
+ public List getFailedMembers() {
+ return failedMembers;
+ }
+
+ public void setFailedMembers(List failedMembers) {
+ this.failedMembers = failedMembers;
+ }
+
+ public List getSuccessMembers() {
+ return successMembers;
+ }
+
+ public void setSuccessMembers(List successMembers) {
+ this.successMembers = successMembers;
+ }
+}
diff --git a/src/main/java/com/lark/project/service/workitem/builder/CreateWorkItemReq.java b/src/main/java/com/lark/project/service/workitem/builder/CreateWorkItemReq.java
index 930a7a9..27d75cb 100644
--- a/src/main/java/com/lark/project/service/workitem/builder/CreateWorkItemReq.java
+++ b/src/main/java/com/lark/project/service/workitem/builder/CreateWorkItemReq.java
@@ -93,6 +93,16 @@ public Builder name(String name) {
return this;
}
+ public Builder requiredMode(Integer requiredMode) {
+ this.body.setRequiredMode(requiredMode);
+ return this;
+ }
+
+ public Builder roleMode(Integer roleMode) {
+ this.body.setRoleMode(roleMode);
+ return this;
+ }
+
public CreateWorkItemReq build() {
return new CreateWorkItemReq(this);
}
diff --git a/src/main/java/com/lark/project/service/workitem/builder/CreateWorkItemReqBody.java b/src/main/java/com/lark/project/service/workitem/builder/CreateWorkItemReqBody.java
index 08b1fe9..1b60321 100644
--- a/src/main/java/com/lark/project/service/workitem/builder/CreateWorkItemReqBody.java
+++ b/src/main/java/com/lark/project/service/workitem/builder/CreateWorkItemReqBody.java
@@ -31,8 +31,13 @@ public class CreateWorkItemReqBody {
private Long templateID;
@SerializedName("name")
private String name;
+ @SerializedName("required_mode")
+ private Integer requiredMode;
+ @SerializedName("role_mode")
+ private Integer roleMode;
public String getWorkItemTypeKey() {
+
return this.workItemTypeKey;
}
@@ -63,4 +68,20 @@ public String getName() {
public void setName(String name) {
this.name = name;
}
+
+ public Integer getRequiredMode() {
+ return this.requiredMode;
+ }
+
+ public void setRequiredMode(Integer requiredMode) {
+ this.requiredMode = requiredMode;
+ }
+
+ public Integer getRoleMode() {
+ return this.roleMode;
+ }
+
+ public void setRoleMode(Integer roleMode) {
+ this.roleMode = roleMode;
+ }
}
diff --git a/src/main/java/com/lark/project/service/workitem/model/FieldConf.java b/src/main/java/com/lark/project/service/workitem/model/FieldConf.java
index 72bfa96..9ea6770 100644
--- a/src/main/java/com/lark/project/service/workitem/model/FieldConf.java
+++ b/src/main/java/com/lark/project/service/workitem/model/FieldConf.java
@@ -59,6 +59,21 @@ public class FieldConf {
@SerializedName("label")
private String label;
+ @SerializedName("field_uuid")
+ private String fieldUUID;
+
+ @SerializedName("field_tips")
+ private String fieldTips;
+
+ @SerializedName("free_add")
+ private Boolean freeAdd;
+
+ @SerializedName("sub_type_level_mode")
+ private String subTypeLevelMode;
+
+ @SerializedName("sub_type_level_class")
+ private Long subTypeLevelClass;
+
public Integer getIsRequired() {
return this.isRequired;
}
@@ -155,4 +170,44 @@ public void setLabel(String label) {
this.label = label;
}
+ public String getFieldUUID() {
+ return this.fieldUUID;
+ }
+
+ public void setFieldUUID(String fieldUUID) {
+ this.fieldUUID = fieldUUID;
+ }
+
+ public String getFieldTips() {
+ return this.fieldTips;
+ }
+
+ public void setFieldTips(String fieldTips) {
+ this.fieldTips = fieldTips;
+ }
+
+ public Boolean getFreeAdd() {
+ return this.freeAdd;
+ }
+
+ public void setFreeAdd(Boolean freeAdd) {
+ this.freeAdd = freeAdd;
+ }
+
+ public String getSubTypeLevelMode() {
+ return this.subTypeLevelMode;
+ }
+
+ public void setSubTypeLevelMode(String subTypeLevelMode) {
+ this.subTypeLevelMode = subTypeLevelMode;
+ }
+
+ public Long getSubTypeLevelClass() {
+ return this.subTypeLevelClass;
+ }
+
+ public void setSubTypeLevelClass(Long subTypeLevelClass) {
+ this.subTypeLevelClass = subTypeLevelClass;
+ }
+
}
\ No newline at end of file
diff --git a/src/main/java/com/lark/project/service/workitem/model/WorkItemRelation.java b/src/main/java/com/lark/project/service/workitem/model/WorkItemRelation.java
index 1aabbb1..c50bc0d 100644
--- a/src/main/java/com/lark/project/service/workitem/model/WorkItemRelation.java
+++ b/src/main/java/com/lark/project/service/workitem/model/WorkItemRelation.java
@@ -40,6 +40,9 @@ public class WorkItemRelation {
@SerializedName("relation_details")
private List relationDetails;
+ @SerializedName("relation_type")
+ private Long relationType;
+
public String getID() {
return this.id;
}
@@ -56,6 +59,14 @@ public void setName(String name) {
this.name = name;
}
+ public Long getRelationType() {
+ return this.relationType;
+ }
+
+ public void setRelationType(Long relationType) {
+ this.relationType = relationType;
+ }
+
public Boolean getDisabled() {
return this.disabled;
}