diff --git a/de-xpack b/de-xpack index f6fb683914..374af155ed 160000 --- a/de-xpack +++ b/de-xpack @@ -1 +1 @@ -Subproject commit f6fb6839143be6f0741f228453d446363e3f542c +Subproject commit 374af155ed110bf7c405f78335938023f5d7872a diff --git a/sdk/api/api-base/src/main/java/io/dataease/api/dingtalk/api/DingtalkApi.java b/sdk/api/api-base/src/main/java/io/dataease/api/dingtalk/api/DingtalkApi.java new file mode 100644 index 0000000000..d4be6fb768 --- /dev/null +++ b/sdk/api/api-base/src/main/java/io/dataease/api/dingtalk/api/DingtalkApi.java @@ -0,0 +1,37 @@ +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.vo.DingtalkInfoVO; +import io.swagger.v3.oas.annotations.Operation; +import io.swagger.v3.oas.annotations.tags.Tag; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.RequestBody; + +@Tag(name = "钉钉设置") +@ApiSupport(order = 899) +public interface DingtalkApi { + + @Operation(summary = "查询钉钉信息") + @GetMapping("/info") + DingtalkInfoVO info(); + + @Operation(summary = "保存") + @PostMapping("/create") + void save(@RequestBody DingtalkSettingCreator creator); + + @Operation(summary = "钉钉token", hidden = true) + @PostMapping("/token") + String dingtalkToken(@RequestBody DingtalkTokenRequest request); + + @Operation(summary = "切换开启状态") + @PostMapping("/switchEnable") + void switchEnable(@RequestBody DingtalkEnableEditor editor); + + @Operation(summary = "验证可用性") + @PostMapping("/validate") + void validate(@RequestBody DingtalkSettingCreator creator); +} diff --git a/sdk/api/api-base/src/main/java/io/dataease/api/dingtalk/dto/DingtalkEnableEditor.java b/sdk/api/api-base/src/main/java/io/dataease/api/dingtalk/dto/DingtalkEnableEditor.java new file mode 100644 index 0000000000..efcc62563e --- /dev/null +++ b/sdk/api/api-base/src/main/java/io/dataease/api/dingtalk/dto/DingtalkEnableEditor.java @@ -0,0 +1,14 @@ +package io.dataease.api.dingtalk.dto; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; + +import java.io.Serializable; + +@Schema(description = "开启状态切换器") +@Data +public class DingtalkEnableEditor implements Serializable { + + @Schema(description = "状态", requiredMode = Schema.RequiredMode.REQUIRED) + private boolean enable; +} diff --git a/sdk/api/api-base/src/main/java/io/dataease/api/dingtalk/dto/DingtalkSettingCreator.java b/sdk/api/api-base/src/main/java/io/dataease/api/dingtalk/dto/DingtalkSettingCreator.java new file mode 100644 index 0000000000..09ee809e15 --- /dev/null +++ b/sdk/api/api-base/src/main/java/io/dataease/api/dingtalk/dto/DingtalkSettingCreator.java @@ -0,0 +1,23 @@ +package io.dataease.api.dingtalk.dto; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; + +import java.io.Serializable; + +@Schema(description = "钉钉设置构造器") +@Data +public class DingtalkSettingCreator implements Serializable { + @Schema(description = "agentId", requiredMode = Schema.RequiredMode.REQUIRED) + private String agentId; + @Schema(description = "appKey", requiredMode = Schema.RequiredMode.REQUIRED) + private String appKey; + @Schema(description = "appSecret", requiredMode = Schema.RequiredMode.REQUIRED) + private String appSecret; + @Schema(description = "回调域名", requiredMode = Schema.RequiredMode.REQUIRED) + private String callBack; + @Schema(description = "是否可用", requiredMode = Schema.RequiredMode.REQUIRED) + private Boolean enable; + @Schema(description = "是否有效") + private Boolean valid; +} diff --git a/sdk/api/api-base/src/main/java/io/dataease/api/dingtalk/dto/DingtalkTokenRequest.java b/sdk/api/api-base/src/main/java/io/dataease/api/dingtalk/dto/DingtalkTokenRequest.java new file mode 100644 index 0000000000..2bae3204c5 --- /dev/null +++ b/sdk/api/api-base/src/main/java/io/dataease/api/dingtalk/dto/DingtalkTokenRequest.java @@ -0,0 +1,13 @@ +package io.dataease.api.dingtalk.dto; + +import lombok.Data; + +import java.io.Serializable; + +@Data +public class DingtalkTokenRequest implements Serializable { + + private String code; + + private String state; +} diff --git a/sdk/api/api-base/src/main/java/io/dataease/api/dingtalk/vo/DingtalkInfoVO.java b/sdk/api/api-base/src/main/java/io/dataease/api/dingtalk/vo/DingtalkInfoVO.java new file mode 100644 index 0000000000..428d4f7b14 --- /dev/null +++ b/sdk/api/api-base/src/main/java/io/dataease/api/dingtalk/vo/DingtalkInfoVO.java @@ -0,0 +1,24 @@ +package io.dataease.api.dingtalk.vo; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; + +import java.io.Serializable; + +@Schema(description = "钉钉信息") +@Data +public class DingtalkInfoVO implements Serializable { + @Schema(description = "agentId") + private String agentId; + @Schema(description = "appKey") + private String appKey; + @Schema(description = "appSecret") + private String appSecret; + @Schema(description = "回调域名") + private String callBack; + @Schema(description = "是否开启") + private Boolean enable = false; + @Schema(description = "是否可用") + private Boolean valid = false; + +}