diff --git a/README.md b/README.md index f326bcadf4..efdb44c7fc 100644 --- a/README.md +++ b/README.md @@ -1,5 +1,5 @@
-
+
- * S3 协议的客户端,采用亚马逊提供的 software.amazon.awssdk.s3 库
*
* @author 芋道源码
*/
public class S3FileClient extends AbstractFileClient
* 关联 {@link cn.iocoder.yudao.module.iot.dal.dataobject.product.IotProductDO#getId()}
*/
- @Schema(description = "产品编号", requiredMode = REQUIRED, example = "1024")
+ @Schema(description = "产品编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "1024")
@Trans(type = TransType.SIMPLE, target = IotProductDO.class, fields = {"name"}, refs = {"productName"})
private String productId;
/**
@@ -47,12 +45,12 @@ public class IotOtaFirmwareRespVO implements VO {
*
* 冗余 {@link cn.iocoder.yudao.module.iot.dal.dataobject.product.IotProductDO#getProductKey()}
*/
- @Schema(description = "产品标识", requiredMode = REQUIRED, example = "iot-product-key")
+ @Schema(description = "产品标识", requiredMode = Schema.RequiredMode.REQUIRED, example = "iot-product-key")
private String productKey;
/**
* 产品名称
*/
- @Schema(description = "产品名称", requiredMode = REQUIRED, example = "OTA产品")
+ @Schema(description = "产品名称", requiredMode = Schema.RequiredMode.REQUIRED, example = "OTA产品")
private String productName;
/**
* 签名方式
@@ -69,12 +67,12 @@ public class IotOtaFirmwareRespVO implements VO {
/**
* 固件文件大小
*/
- @Schema(description = "固件文件大小", requiredMode = REQUIRED, example = "1024")
+ @Schema(description = "固件文件大小", requiredMode = Schema.RequiredMode.REQUIRED, example = "1024")
private Long fileSize;
/**
* 固件文件 URL
*/
- @Schema(description = "固件文件 URL", requiredMode = REQUIRED, example = "https://www.iocoder.cn")
+ @Schema(description = "固件文件 URL", requiredMode = Schema.RequiredMode.REQUIRED, example = "https://www.iocoder.cn")
private String fileUrl;
/**
* 自定义信息,建议使用 JSON 格式
diff --git a/yudao-module-iot/yudao-module-iot-biz/src/main/java/cn/iocoder/yudao/module/iot/controller/admin/ota/vo/firmware/IotOtaFirmwareUpdateReqVO.java b/yudao-module-iot/yudao-module-iot-biz/src/main/java/cn/iocoder/yudao/module/iot/controller/admin/ota/vo/firmware/IotOtaFirmwareUpdateReqVO.java
index aa134bceef..2a594b238e 100644
--- a/yudao-module-iot/yudao-module-iot-biz/src/main/java/cn/iocoder/yudao/module/iot/controller/admin/ota/vo/firmware/IotOtaFirmwareUpdateReqVO.java
+++ b/yudao-module-iot/yudao-module-iot-biz/src/main/java/cn/iocoder/yudao/module/iot/controller/admin/ota/vo/firmware/IotOtaFirmwareUpdateReqVO.java
@@ -5,18 +5,16 @@ import jakarta.validation.constraints.NotEmpty;
import jakarta.validation.constraints.NotNull;
import lombok.Data;
-import static io.swagger.v3.oas.annotations.media.Schema.RequiredMode.REQUIRED;
-
@Schema(description = "管理后台 - IoT OTA 固件更新 Request VO")
@Data
public class IotOtaFirmwareUpdateReqVO {
- @Schema(description = "固件编号", requiredMode = REQUIRED, example = "1024")
+ @Schema(description = "固件编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "1024")
@NotNull(message = "固件编号不能为空")
private Long id;
// TODO @li:name 是不是可以飞必传哈
- @Schema(description = "固件名称", requiredMode = REQUIRED, example = "智能开关固件")
+ @Schema(description = "固件名称", requiredMode = Schema.RequiredMode.REQUIRED, example = "智能开关固件")
@NotEmpty(message = "固件名称不能为空")
private String name;
diff --git a/yudao-module-iot/yudao-module-iot-biz/src/main/java/cn/iocoder/yudao/module/iot/controller/admin/ota/vo/upgrade/record/IotOtaUpgradeRecordPageReqVO.java b/yudao-module-iot/yudao-module-iot-biz/src/main/java/cn/iocoder/yudao/module/iot/controller/admin/ota/vo/upgrade/record/IotOtaUpgradeRecordPageReqVO.java
index 2b21b30796..cf74cbb8c2 100644
--- a/yudao-module-iot/yudao-module-iot-biz/src/main/java/cn/iocoder/yudao/module/iot/controller/admin/ota/vo/upgrade/record/IotOtaUpgradeRecordPageReqVO.java
+++ b/yudao-module-iot/yudao-module-iot-biz/src/main/java/cn/iocoder/yudao/module/iot/controller/admin/ota/vo/upgrade/record/IotOtaUpgradeRecordPageReqVO.java
@@ -5,8 +5,6 @@ import io.swagger.v3.oas.annotations.media.Schema;
import jakarta.validation.constraints.NotNull;
import lombok.Data;
-import static io.swagger.v3.oas.annotations.media.Schema.RequiredMode.REQUIRED;
-
@Data
@Schema(description = "管理后台 - IoT OTA 升级记录分页 Request VO")
public class IotOtaUpgradeRecordPageReqVO extends PageParam {
@@ -17,7 +15,7 @@ public class IotOtaUpgradeRecordPageReqVO extends PageParam {
*
* 该字段用于标识升级任务的唯一编号,不能为空。
*/
- @Schema(description = "升级任务编号", requiredMode = REQUIRED, example = "1024")
+ @Schema(description = "升级任务编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "1024")
@NotNull(message = "升级任务编号不能为空")
private Long taskId;
@@ -26,7 +24,7 @@ public class IotOtaUpgradeRecordPageReqVO extends PageParam {
*
* 该字段用于标识设备的名称,通常用于区分不同的设备。
*/
- @Schema(description = "设备标识", requiredMode = REQUIRED, example = "摄像头A1-1")
+ @Schema(description = "设备标识", requiredMode = Schema.RequiredMode.REQUIRED, example = "摄像头A1-1")
private String deviceName;
}
diff --git a/yudao-module-iot/yudao-module-iot-biz/src/main/java/cn/iocoder/yudao/module/iot/controller/admin/ota/vo/upgrade/record/IotOtaUpgradeRecordRespVO.java b/yudao-module-iot/yudao-module-iot-biz/src/main/java/cn/iocoder/yudao/module/iot/controller/admin/ota/vo/upgrade/record/IotOtaUpgradeRecordRespVO.java
index db6737febb..d770374260 100644
--- a/yudao-module-iot/yudao-module-iot-biz/src/main/java/cn/iocoder/yudao/module/iot/controller/admin/ota/vo/upgrade/record/IotOtaUpgradeRecordRespVO.java
+++ b/yudao-module-iot/yudao-module-iot-biz/src/main/java/cn/iocoder/yudao/module/iot/controller/admin/ota/vo/upgrade/record/IotOtaUpgradeRecordRespVO.java
@@ -10,8 +10,6 @@ import lombok.Data;
import java.time.LocalDateTime;
-import static io.swagger.v3.oas.annotations.media.Schema.RequiredMode.REQUIRED;
-
@Data
@Schema(description = "管理后台 - IoT OTA 升级记录 Response VO")
public class IotOtaUpgradeRecordRespVO {
@@ -19,73 +17,73 @@ public class IotOtaUpgradeRecordRespVO {
/**
* 升级记录编号
*/
- @Schema(description = "升级记录编号", requiredMode = REQUIRED, example = "1024")
+ @Schema(description = "升级记录编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "1024")
private Long id;
/**
* 固件编号
*
* 关联 {@link IotOtaFirmwareDO#getId()}
*/
- @Schema(description = "固件编号", requiredMode = REQUIRED, example = "1024")
+ @Schema(description = "固件编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "1024")
@Trans(type = TransType.SIMPLE, target = IotOtaFirmwareDO.class, fields = {"version"}, refs = {"firmwareVersion"})
private Long firmwareId;
/**
* 固件版本
*/
- @Schema(description = "固件版本", requiredMode = REQUIRED, example = "v1.0.0")
+ @Schema(description = "固件版本", requiredMode = Schema.RequiredMode.REQUIRED, example = "v1.0.0")
private String firmwareVersion;
/**
* 任务编号
*
* 关联 {@link IotOtaUpgradeTaskDO#getId()}
*/
- @Schema(description = "任务编号", requiredMode = REQUIRED, example = "1024")
+ @Schema(description = "任务编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "1024")
private Long taskId;
/**
* 产品标识
*
* 关联 {@link cn.iocoder.yudao.module.iot.dal.dataobject.product.IotProductDO#getId()}
*/
- @Schema(description = "产品标识", requiredMode = REQUIRED, example = "iot")
+ @Schema(description = "产品标识", requiredMode = Schema.RequiredMode.REQUIRED, example = "iot")
private String productKey;
/**
* 设备名称
*
* 关联 {@link cn.iocoder.yudao.module.iot.dal.dataobject.device.IotDeviceDO#getId()}
*/
- @Schema(description = "设备名称", requiredMode = REQUIRED, example = "iot")
+ @Schema(description = "设备名称", requiredMode = Schema.RequiredMode.REQUIRED, example = "iot")
private String deviceName;
/**
* 设备编号
*
* 关联 {@link cn.iocoder.yudao.module.iot.dal.dataobject.device.IotDeviceDO#getId()}
*/
- @Schema(description = "设备编号", requiredMode = REQUIRED, example = "1024")
+ @Schema(description = "设备编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "1024")
private String deviceId;
/**
* 来源的固件编号
*
* 关联 {@link IotDeviceDO#getFirmwareId()}
*/
- @Schema(description = "来源的固件编号", requiredMode = REQUIRED, example = "1024")
+ @Schema(description = "来源的固件编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "1024")
@Trans(type = TransType.SIMPLE, target = IotOtaFirmwareDO.class, fields = {"version"}, refs = {"fromFirmwareVersion"})
private Long fromFirmwareId;
/**
* 来源的固件版本
*/
- @Schema(description = "来源的固件版本", requiredMode = REQUIRED, example = "v1.0.0")
+ @Schema(description = "来源的固件版本", requiredMode = Schema.RequiredMode.REQUIRED, example = "v1.0.0")
private String fromFirmwareVersion;
/**
* 升级状态
*
* 关联 {@link cn.iocoder.yudao.module.iot.enums.ota.IotOtaUpgradeRecordStatusEnum}
*/
- @Schema(description = "升级状态", requiredMode = REQUIRED, allowableValues = {"0", "10", "20", "30", "40", "50"})
+ @Schema(description = "升级状态", requiredMode = Schema.RequiredMode.REQUIRED, allowableValues = {"0", "10", "20", "30", "40", "50"})
private Integer status;
/**
* 升级进度,百分比
*/
- @Schema(description = "升级进度,百分比", requiredMode = REQUIRED, example = "10")
+ @Schema(description = "升级进度,百分比", requiredMode = Schema.RequiredMode.REQUIRED, example = "10")
private Integer progress;
/**
* 升级进度描述
@@ -93,17 +91,17 @@ public class IotOtaUpgradeRecordRespVO {
* 注意,只记录设备最后一次的升级进度描述
* 如果想看历史记录,可以查看 {@link cn.iocoder.yudao.module.iot.dal.dataobject.device.IotDeviceLogDO} 设备日志
*/
- @Schema(description = "升级进度描述", requiredMode = REQUIRED, example = "10")
+ @Schema(description = "升级进度描述", requiredMode = Schema.RequiredMode.REQUIRED, example = "10")
private String description;
/**
* 升级开始时间
*/
- @Schema(description = "升级开始时间", requiredMode = REQUIRED, example = "2022-07-08 07:30:00")
+ @Schema(description = "升级开始时间", requiredMode = Schema.RequiredMode.REQUIRED, example = "2022-07-08 07:30:00")
private LocalDateTime startTime;
/**
* 升级结束时间
*/
- @Schema(description = "升级结束时间", requiredMode = REQUIRED, example = "2022-07-08 07:30:00")
+ @Schema(description = "升级结束时间", requiredMode = Schema.RequiredMode.REQUIRED, example = "2022-07-08 07:30:00")
private LocalDateTime endTime;
}
diff --git a/yudao-module-iot/yudao-module-iot-biz/src/main/java/cn/iocoder/yudao/module/iot/controller/admin/ota/vo/upgrade/task/IotOtaUpgradeTaskPageReqVO.java b/yudao-module-iot/yudao-module-iot-biz/src/main/java/cn/iocoder/yudao/module/iot/controller/admin/ota/vo/upgrade/task/IotOtaUpgradeTaskPageReqVO.java
index d2b1926aa6..8abdd59370 100644
--- a/yudao-module-iot/yudao-module-iot-biz/src/main/java/cn/iocoder/yudao/module/iot/controller/admin/ota/vo/upgrade/task/IotOtaUpgradeTaskPageReqVO.java
+++ b/yudao-module-iot/yudao-module-iot-biz/src/main/java/cn/iocoder/yudao/module/iot/controller/admin/ota/vo/upgrade/task/IotOtaUpgradeTaskPageReqVO.java
@@ -5,8 +5,6 @@ import io.swagger.v3.oas.annotations.media.Schema;
import jakarta.validation.constraints.NotNull;
import lombok.Data;
-import static io.swagger.v3.oas.annotations.media.Schema.RequiredMode.REQUIRED;
-
@Data
@Schema(description = "管理后台 - IoT OTA 升级任务分页 Request VO")
public class IotOtaUpgradeTaskPageReqVO extends PageParam {
@@ -21,7 +19,7 @@ public class IotOtaUpgradeTaskPageReqVO extends PageParam {
* 固件编号字段,用于唯一标识固件,不能为空
*/
@NotNull(message = "固件编号不能为空")
- @Schema(description = "固件编号", requiredMode = REQUIRED, example = "1024")
+ @Schema(description = "固件编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "1024")
private Long firmwareId;
}
diff --git a/yudao-module-iot/yudao-module-iot-biz/src/main/java/cn/iocoder/yudao/module/iot/controller/admin/ota/vo/upgrade/task/IotOtaUpgradeTaskRespVO.java b/yudao-module-iot/yudao-module-iot-biz/src/main/java/cn/iocoder/yudao/module/iot/controller/admin/ota/vo/upgrade/task/IotOtaUpgradeTaskRespVO.java
index dbc29618f8..6a32522ac3 100644
--- a/yudao-module-iot/yudao-module-iot-biz/src/main/java/cn/iocoder/yudao/module/iot/controller/admin/ota/vo/upgrade/task/IotOtaUpgradeTaskRespVO.java
+++ b/yudao-module-iot/yudao-module-iot-biz/src/main/java/cn/iocoder/yudao/module/iot/controller/admin/ota/vo/upgrade/task/IotOtaUpgradeTaskRespVO.java
@@ -9,8 +9,6 @@ import lombok.Data;
import java.time.LocalDateTime;
import java.util.List;
-import static io.swagger.v3.oas.annotations.media.Schema.RequiredMode.REQUIRED;
-
@Data
@Schema(description = "管理后台 - IoT OTA 升级任务 Response VO")
public class IotOtaUpgradeTaskRespVO implements VO {
@@ -18,12 +16,12 @@ public class IotOtaUpgradeTaskRespVO implements VO {
/**
* 任务编号
*/
- @Schema(description = "任务编号", requiredMode = REQUIRED, example = "1024")
+ @Schema(description = "任务编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "1024")
private Long id;
/**
* 任务名称
*/
- @Schema(description = "任务名称", requiredMode = REQUIRED, example = "升级任务")
+ @Schema(description = "任务名称", requiredMode = Schema.RequiredMode.REQUIRED, example = "升级任务")
private String name;
/**
* 任务描述
@@ -35,31 +33,31 @@ public class IotOtaUpgradeTaskRespVO implements VO {
*
* 关联 {@link IotOtaFirmwareDO#getId()}
*/
- @Schema(description = "固件编号", requiredMode = REQUIRED, example = "1024")
+ @Schema(description = "固件编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "1024")
private Long firmwareId;
/**
* 任务状态
*
* 关联 {@link cn.iocoder.yudao.module.iot.enums.ota.IotOtaUpgradeTaskStatusEnum}
*/
- @Schema(description = "任务状态", requiredMode = REQUIRED, allowableValues = {"10", "20", "21", "30"})
+ @Schema(description = "任务状态", requiredMode = Schema.RequiredMode.REQUIRED, allowableValues = {"10", "20", "21", "30"})
private Integer status;
/**
* 任务状态名称
*/
- @Schema(description = "任务状态名称", requiredMode = REQUIRED, example = "进行中")
+ @Schema(description = "任务状态名称", requiredMode = Schema.RequiredMode.REQUIRED, example = "进行中")
private String statusName;
/**
* 升级范围
*
* 关联 {@link cn.iocoder.yudao.module.iot.enums.ota.IotOtaUpgradeTaskScopeEnum}
*/
- @Schema(description = "升级范围", requiredMode = REQUIRED, allowableValues = {"1", "2"})
+ @Schema(description = "升级范围", requiredMode = Schema.RequiredMode.REQUIRED, allowableValues = {"1", "2"})
private Integer scope;
/**
* 设备数量
*/
- @Schema(description = "设备数量", requiredMode = REQUIRED, example = "1024")
+ @Schema(description = "设备数量", requiredMode = Schema.RequiredMode.REQUIRED, example = "1024")
private Long deviceCount;
/**
* 选中的设备编号数组
@@ -78,7 +76,7 @@ public class IotOtaUpgradeTaskRespVO implements VO {
/**
* 创建时间
*/
- @Schema(description = "创建时间", requiredMode = REQUIRED, example = "2022-07-08 07:30:00")
+ @Schema(description = "创建时间", requiredMode = Schema.RequiredMode.REQUIRED, example = "2022-07-08 07:30:00")
private LocalDateTime createTime;
}
diff --git a/yudao-module-iot/yudao-module-iot-biz/src/main/java/cn/iocoder/yudao/module/iot/controller/admin/ota/vo/upgrade/task/IotOtaUpgradeTaskSaveReqVO.java b/yudao-module-iot/yudao-module-iot-biz/src/main/java/cn/iocoder/yudao/module/iot/controller/admin/ota/vo/upgrade/task/IotOtaUpgradeTaskSaveReqVO.java
index 0ace17a047..e8cdbefa46 100644
--- a/yudao-module-iot/yudao-module-iot-biz/src/main/java/cn/iocoder/yudao/module/iot/controller/admin/ota/vo/upgrade/task/IotOtaUpgradeTaskSaveReqVO.java
+++ b/yudao-module-iot/yudao-module-iot-biz/src/main/java/cn/iocoder/yudao/module/iot/controller/admin/ota/vo/upgrade/task/IotOtaUpgradeTaskSaveReqVO.java
@@ -11,8 +11,6 @@ import lombok.Data;
import java.util.List;
-import static io.swagger.v3.oas.annotations.media.Schema.RequiredMode.REQUIRED;
-
@Data
@Schema(description = "管理后台 - IoT OTA 升级任务创建/修改 Request VO")
public class IotOtaUpgradeTaskSaveReqVO {
@@ -24,7 +22,7 @@ public class IotOtaUpgradeTaskSaveReqVO {
* 任务名称
*/
@NotEmpty(message = "任务名称不能为空")
- @Schema(description = "任务名称", requiredMode = REQUIRED, example = "升级任务")
+ @Schema(description = "任务名称", requiredMode = Schema.RequiredMode.REQUIRED, example = "升级任务")
private String name;
/**
@@ -39,7 +37,7 @@ public class IotOtaUpgradeTaskSaveReqVO {
* 关联 {@link IotOtaFirmwareDO#getId()}
*/
@NotNull(message = "固件编号不能为空")
- @Schema(description = "固件编号", requiredMode = REQUIRED, example = "1024")
+ @Schema(description = "固件编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "1024")
private Long firmwareId;
/**
@@ -49,7 +47,7 @@ public class IotOtaUpgradeTaskSaveReqVO {
*/
@NotNull(message = "升级范围不能为空")
@InEnum(value = IotOtaUpgradeTaskScopeEnum.class)
- @Schema(description = "升级范围", requiredMode = REQUIRED, example = "1")
+ @Schema(description = "升级范围", requiredMode = Schema.RequiredMode.REQUIRED, example = "1")
private Integer scope;
/**
@@ -57,7 +55,7 @@ public class IotOtaUpgradeTaskSaveReqVO {
*
* 关联 {@link IotDeviceDO#getId()}
*/
- @Schema(description = "选中的设备编号数组", requiredMode = REQUIRED, example = "[1,2,3,4]")
+ @Schema(description = "选中的设备编号数组", requiredMode = Schema.RequiredMode.REQUIRED, example = "[1,2,3,4]")
private List
+ * Licensed under the GNU LESSER GENERAL PUBLIC LICENSE 3.0; + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + *
+ * http://www.gnu.org/licenses/lgpl.html + *
+ * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ + +package cn.iocoder.yudao.module.system.framework.justauth.core; + +import cn.hutool.core.collection.CollUtil; +import cn.hutool.core.util.EnumUtil; +import cn.hutool.core.util.ReflectUtil; +import cn.hutool.core.util.StrUtil; +import com.xkcoding.http.config.HttpConfig; +import com.xkcoding.justauth.autoconfigure.ExtendProperties; +import com.xkcoding.justauth.autoconfigure.JustAuthProperties; +import lombok.RequiredArgsConstructor; +import lombok.extern.slf4j.Slf4j; +import me.zhyd.oauth.cache.AuthStateCache; +import me.zhyd.oauth.config.AuthConfig; +import me.zhyd.oauth.config.AuthDefaultSource; +import me.zhyd.oauth.config.AuthSource; +import me.zhyd.oauth.enums.AuthResponseStatus; +import me.zhyd.oauth.exception.AuthException; +import me.zhyd.oauth.request.*; +import org.springframework.util.CollectionUtils; + +import java.net.InetSocketAddress; +import java.net.Proxy; +import java.util.ArrayList; +import java.util.HashMap; +import java.util.List; +import java.util.Map; +import java.util.stream.Collectors; + +// TODO @芋艿:等官方发布 1.4.1!!! +/** + *
+ * AuthRequest工厂类 + *
+ * + * @author yangkai.shen + * @date Created in 2019-07-22 14:21 + */ +@Slf4j +@RequiredArgsConstructor +public class AuthRequestFactory { + private final JustAuthProperties properties; + private final AuthStateCache authStateCache; + + /** + * 返回当前Oauth列表 + * + * @return Oauth列表 + */ + @SuppressWarnings({"unchecked", "rawtypes"}) + public List