perf(X-Pack): 钉钉配置增加聊天群

This commit is contained in:
fit2cloud-chenyw
2026-04-03 18:09:16 +08:00
committed by fit2cloud-chenyw
parent 42be4bd1de
commit 95f4f08403
13 changed files with 133 additions and 7 deletions

View File

@@ -1,11 +1,10 @@
package io.dataease.api.dingtalk.api;
import com.github.xiaoymin.knife4j.annotations.ApiSupport;
import io.dataease.api.dingtalk.dto.DingtalkEnableEditor;
import io.dataease.api.dingtalk.dto.DingtalkSettingCreator;
import io.dataease.api.dingtalk.dto.DingtalkTokenRequest;
import io.dataease.api.dingtalk.dto.*;
import io.dataease.api.dingtalk.vo.DingtalkInfoVO;
import io.dataease.api.lark.vo.LarkGroupVO;
import io.swagger.v3.oas.annotations.Hidden;
import io.swagger.v3.oas.annotations.Operation;
import io.swagger.v3.oas.annotations.tags.Tag;
import org.springframework.web.bind.annotation.GetMapping;
@@ -47,4 +46,12 @@ public interface DingtalkApi {
@Operation(summary = "获取群组", hidden = true)
@GetMapping("/getGroup")
LarkGroupVO getGroup();
@Hidden
@PostMapping("/getSignatureInfo")
DingtalkSignatureInfo getSignatureInfo(@RequestBody SignatureRequest request);
@Hidden
@PostMapping("/checkChat")
void checkChat(@RequestBody DingtalkChatCheckRequest request);
}

View File

@@ -0,0 +1,10 @@
package io.dataease.api.dingtalk.dto;
import lombok.Data;
import java.io.Serializable;
@Data
public class DingtalkChatCheckRequest implements Serializable {
private String chatId;
}

View File

@@ -1,13 +1,17 @@
package io.dataease.api.dingtalk.dto;
import io.dataease.api.dingtalk.vo.DingtalkChatItem;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import java.io.Serializable;
import java.util.List;
@Schema(description = "钉钉设置构造器")
@Data
public class DingtalkSettingCreator implements Serializable {
@Schema(description = "corpId", requiredMode = Schema.RequiredMode.REQUIRED)
private String corpId;
@Schema(description = "agentId", requiredMode = Schema.RequiredMode.REQUIRED)
private String agentId;
@Schema(description = "appKey", requiredMode = Schema.RequiredMode.REQUIRED)
@@ -20,4 +24,8 @@ public class DingtalkSettingCreator implements Serializable {
private Boolean enable;
@Schema(description = "是否有效")
private Boolean valid;
@Schema(description = "机器人Code")
private String robotCode;
@Schema(description = "群列表")
private List<DingtalkChatItem> chatList;
}

View File

@@ -0,0 +1,26 @@
package io.dataease.api.dingtalk.dto;
import lombok.Data;
import java.io.Serializable;
import java.util.List;
@Data
public class DingtalkSignatureInfo implements Serializable {
private String corpId;
private String agentId;
private String timeStamp;
private String nonceStr;
private String signature;
private Integer type = 0;
private List<String> jsApiList = List.of("chooseChat");
}

View File

@@ -0,0 +1,11 @@
package io.dataease.api.dingtalk.dto;
import lombok.Data;
import java.io.Serializable;
@Data
public class SignatureRequest implements Serializable {
private String currentUrl;
}

View File

@@ -10,6 +10,8 @@ import java.util.List;
@Schema(description = "钉钉信息")
@Data
public class DingtalkInfoVO implements Serializable {
@Schema(description = "corpId")
private String corpId;
@Schema(description = "agentId")
private String agentId;
@Schema(description = "appKey")
@@ -23,10 +25,10 @@ public class DingtalkInfoVO implements Serializable {
@Schema(description = "是否可用")
private Boolean valid = false;
@JsonIgnore
@Schema(description = "机器人Code")
private String robotCode;
@JsonIgnore
@Schema(description = "群列表")
private List<DingtalkChatItem> chatList;
}