mirror of
				https://github.com/YunaiV/ruoyi-vue-pro.git
				synced 2025-11-01 03:28:41 +08:00 
			
		
		
		
	fix: requiredMode 调成为 Schema.RequiredMode.REQUIRED 的方式,解决提示 REQUIRED 找不到的问题
This commit is contained in:
		| @ -5,24 +5,22 @@ 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 IotOtaFirmwareCreateReqVO { | ||||
|  | ||||
|     @Schema(description = "固件名称", requiredMode = REQUIRED, example = "智能开关固件") | ||||
|     @Schema(description = "固件名称", requiredMode = Schema.RequiredMode.REQUIRED, example = "智能开关固件") | ||||
|     @NotEmpty(message = "固件名称不能为空") | ||||
|     private String name; | ||||
|  | ||||
|     @Schema(description = "固件描述", example = "某品牌型号固件,测试用") | ||||
|     private String description; | ||||
|  | ||||
|     @Schema(description = "版本号", requiredMode = REQUIRED, example = "1.0.0") | ||||
|     @Schema(description = "版本号", requiredMode = Schema.RequiredMode.REQUIRED, example = "1.0.0") | ||||
|     @NotEmpty(message = "版本号不能为空") | ||||
|     private String version; | ||||
|  | ||||
|     @Schema(description = "产品编号", requiredMode = REQUIRED, example = "1024") | ||||
|     @Schema(description = "产品编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "1024") | ||||
|     @NotNull(message = "产品编号不能为空") | ||||
|     private String productId; | ||||
|  | ||||
| @ -30,7 +28,7 @@ public class IotOtaFirmwareCreateReqVO { | ||||
|     // TODO @li:是不是必传哈 | ||||
|     private String signMethod; | ||||
|  | ||||
|     @Schema(description = "固件文件 URL", requiredMode = REQUIRED, example = "https://www.iocoder.cn/yudao-firmware.zip") | ||||
|     @Schema(description = "固件文件 URL", requiredMode = Schema.RequiredMode.REQUIRED, example = "https://www.iocoder.cn/yudao-firmware.zip") | ||||
|     @NotEmpty(message = "固件文件 URL 不能为空") | ||||
|     private String fileUrl; | ||||
|  | ||||
|  | ||||
| @ -7,8 +7,6 @@ import com.fhs.core.trans.vo.VO; | ||||
| import io.swagger.v3.oas.annotations.media.Schema; | ||||
| import lombok.Data; | ||||
|  | ||||
| import static io.swagger.v3.oas.annotations.media.Schema.RequiredMode.REQUIRED; | ||||
|  | ||||
| @Data | ||||
| @Schema(description = "管理后台 - IoT OTA 固件 Response VO") | ||||
| public class IotOtaFirmwareRespVO implements VO { | ||||
| @ -16,12 +14,12 @@ public class IotOtaFirmwareRespVO implements VO { | ||||
|     /** | ||||
|      * 固件编号 | ||||
|      */ | ||||
|     @Schema(description = "固件编号", requiredMode = REQUIRED, example = "1024") | ||||
|     @Schema(description = "固件编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "1024") | ||||
|     private Long id; | ||||
|     /** | ||||
|      * 固件名称 | ||||
|      */ | ||||
|     @Schema(description = "固件名称", requiredMode = REQUIRED, example = "OTA固件") | ||||
|     @Schema(description = "固件名称", requiredMode = Schema.RequiredMode.REQUIRED, example = "OTA固件") | ||||
|     private String name; | ||||
|     /** | ||||
|      * 固件描述 | ||||
| @ -31,7 +29,7 @@ public class IotOtaFirmwareRespVO implements VO { | ||||
|     /** | ||||
|      * 版本号 | ||||
|      */ | ||||
|     @Schema(description = "版本号", requiredMode = REQUIRED, example = "1.0.0") | ||||
|     @Schema(description = "版本号", requiredMode = Schema.RequiredMode.REQUIRED, example = "1.0.0") | ||||
|     private String version; | ||||
|  | ||||
|     /** | ||||
| @ -39,7 +37,7 @@ public class IotOtaFirmwareRespVO implements VO { | ||||
|      * <p> | ||||
|      * 关联 {@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 { | ||||
|      * <p> | ||||
|      * 冗余 {@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 格式 | ||||
|  | ||||
| @ -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; | ||||
|  | ||||
|  | ||||
| @ -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 { | ||||
|      * <p> | ||||
|      * 该字段用于标识升级任务的唯一编号,不能为空。 | ||||
|      */ | ||||
|     @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 { | ||||
|      * <p> | ||||
|      * 该字段用于标识设备的名称,通常用于区分不同的设备。 | ||||
|      */ | ||||
|     @Schema(description = "设备标识", requiredMode = REQUIRED, example = "摄像头A1-1") | ||||
|     @Schema(description = "设备标识", requiredMode = Schema.RequiredMode.REQUIRED, example = "摄像头A1-1") | ||||
|     private String deviceName; | ||||
|  | ||||
| } | ||||
|  | ||||
| @ -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; | ||||
|     /** | ||||
|      * 固件编号 | ||||
|      * <p> | ||||
|      * 关联 {@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; | ||||
|     /** | ||||
|      * 任务编号 | ||||
|      * <p> | ||||
|      * 关联 {@link IotOtaUpgradeTaskDO#getId()} | ||||
|      */ | ||||
|     @Schema(description = "任务编号", requiredMode = REQUIRED, example = "1024") | ||||
|     @Schema(description = "任务编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "1024") | ||||
|     private Long taskId; | ||||
|     /** | ||||
|      * 产品标识 | ||||
|      * <p> | ||||
|      * 关联 {@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; | ||||
|     /** | ||||
|      * 设备名称 | ||||
|      * <p> | ||||
|      * 关联 {@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; | ||||
|     /** | ||||
|      * 设备编号 | ||||
|      * <p> | ||||
|      * 关联 {@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; | ||||
|     /** | ||||
|      * 来源的固件编号 | ||||
|      * <p> | ||||
|      * 关联 {@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; | ||||
|     /** | ||||
|      * 升级状态 | ||||
|      * <p> | ||||
|      * 关联 {@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; | ||||
|  | ||||
| } | ||||
|  | ||||
| @ -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; | ||||
|  | ||||
| } | ||||
|  | ||||
| @ -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 { | ||||
|      * <p> | ||||
|      * 关联 {@link IotOtaFirmwareDO#getId()} | ||||
|      */ | ||||
|     @Schema(description = "固件编号", requiredMode = REQUIRED, example = "1024") | ||||
|     @Schema(description = "固件编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "1024") | ||||
|     private Long firmwareId; | ||||
|     /** | ||||
|      * 任务状态 | ||||
|      * <p> | ||||
|      * 关联 {@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; | ||||
|     /** | ||||
|      * 升级范围 | ||||
|      * <p> | ||||
|      * 关联 {@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; | ||||
|  | ||||
| } | ||||
|  | ||||
| @ -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 { | ||||
|      * <p> | ||||
|      * 关联 {@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<Long> deviceIds; | ||||
|  | ||||
| } | ||||
|  | ||||
| @ -4,17 +4,15 @@ import com.alibaba.excel.annotation.ExcelIgnoreUnannotated; | ||||
| import io.swagger.v3.oas.annotations.media.Schema; | ||||
| import lombok.Data; | ||||
|  | ||||
| import static io.swagger.v3.oas.annotations.media.Schema.RequiredMode.REQUIRED; | ||||
|  | ||||
| @Schema(description = "管理后台 - 商品浏览记录 Response VO") | ||||
| @Data | ||||
| @ExcelIgnoreUnannotated | ||||
| public class ProductBrowseHistoryRespVO { | ||||
|  | ||||
|     @Schema(description = "编号", requiredMode = REQUIRED, example = "1") | ||||
|     @Schema(description = "编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "1") | ||||
|     private Long id; | ||||
|  | ||||
|     @Schema(description = "商品 SPU 编号", requiredMode = REQUIRED, example = "29502") | ||||
|     @Schema(description = "商品 SPU 编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "29502") | ||||
|     private Long spuId; | ||||
|  | ||||
|     // ========== 商品相关字段 ========== | ||||
| @ -34,4 +32,4 @@ public class ProductBrowseHistoryRespVO { | ||||
|     @Schema(description = "库存", example = "100") | ||||
|     private Integer stock; | ||||
|  | ||||
| } | ||||
| } | ||||
|  | ||||
| @ -6,13 +6,11 @@ import lombok.Data; | ||||
| import jakarta.validation.constraints.NotEmpty; | ||||
| import java.util.List; | ||||
|  | ||||
| import static io.swagger.v3.oas.annotations.media.Schema.RequiredMode.REQUIRED; | ||||
|  | ||||
| @Schema(description = "用户 APP - 商品收藏的批量 Request VO") // 用于收藏、取消收藏、获取收藏 | ||||
| @Data | ||||
| public class AppFavoriteBatchReqVO { | ||||
|  | ||||
|     @Schema(description = "商品 SPU 编号数组", requiredMode = REQUIRED, example = "29502") | ||||
|     @Schema(description = "商品 SPU 编号数组", requiredMode = Schema.RequiredMode.REQUIRED, example = "29502") | ||||
|     @NotEmpty(message = "商品 SPU 编号数组不能为空") | ||||
|     private List<Long> spuIds; | ||||
|  | ||||
|  | ||||
| @ -5,13 +5,11 @@ import lombok.Data; | ||||
|  | ||||
| import jakarta.validation.constraints.NotNull; | ||||
|  | ||||
| import static io.swagger.v3.oas.annotations.media.Schema.RequiredMode.REQUIRED; | ||||
|  | ||||
| @Schema(description = "用户 APP - 商品收藏的单个 Request VO") // 用于收藏、取消收藏、获取收藏 | ||||
| @Data | ||||
| public class AppFavoriteReqVO { | ||||
|  | ||||
|     @Schema(description = "商品 SPU 编号", requiredMode = REQUIRED, example = "29502") | ||||
|     @Schema(description = "商品 SPU 编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "29502") | ||||
|     @NotNull(message = "商品 SPU 编号不能为空") | ||||
|     private Long spuId; | ||||
|  | ||||
|  | ||||
| @ -2,16 +2,15 @@ package cn.iocoder.yudao.module.product.controller.app.favorite.vo; | ||||
|  | ||||
| import io.swagger.v3.oas.annotations.media.Schema; | ||||
| import lombok.Data; | ||||
| import static io.swagger.v3.oas.annotations.media.Schema.RequiredMode.REQUIRED; | ||||
|  | ||||
| @Schema(description = "用户 App - 商品收藏 Response VO") | ||||
| @Data | ||||
| public class AppFavoriteRespVO { | ||||
|  | ||||
|     @Schema(description = "编号", requiredMode = REQUIRED, example = "1") | ||||
|     @Schema(description = "编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "1") | ||||
|     private Long id; | ||||
|  | ||||
|     @Schema(description = "商品 SPU 编号", requiredMode = REQUIRED, example = "29502") | ||||
|     @Schema(description = "商品 SPU 编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "29502") | ||||
|     private Long spuId; | ||||
|  | ||||
|     // ========== 商品相关字段 ========== | ||||
|  | ||||
| @ -6,13 +6,11 @@ import lombok.Data; | ||||
|  | ||||
| import java.util.List; | ||||
|  | ||||
| import static io.swagger.v3.oas.annotations.media.Schema.RequiredMode.REQUIRED; | ||||
|  | ||||
| @Schema(description = "用户 APP - 删除商品浏览记录的 Request VO") | ||||
| @Data | ||||
| public class AppProductBrowseHistoryDeleteReqVO { | ||||
|  | ||||
|     @Schema(description = "商品 SPU 编号数组", requiredMode = REQUIRED, example = "29502") | ||||
|     @Schema(description = "商品 SPU 编号数组", requiredMode = Schema.RequiredMode.REQUIRED, example = "29502") | ||||
|     @NotEmpty(message = "商品 SPU 编号数组不能为空") | ||||
|     private List<Long> spuIds; | ||||
|  | ||||
|  | ||||
| @ -3,33 +3,31 @@ package cn.iocoder.yudao.module.product.controller.app.history.vo; | ||||
| import io.swagger.v3.oas.annotations.media.Schema; | ||||
| import lombok.Data; | ||||
|  | ||||
| import static io.swagger.v3.oas.annotations.media.Schema.RequiredMode.REQUIRED; | ||||
|  | ||||
| @Schema(description = "用户 App - 商品浏览记录 Response VO") | ||||
| @Data | ||||
| public class AppProductBrowseHistoryRespVO { | ||||
|  | ||||
|     @Schema(description = "编号", requiredMode = REQUIRED, example = "1") | ||||
|     @Schema(description = "编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "1") | ||||
|     private Long id; | ||||
|  | ||||
|     @Schema(description = "商品 SPU 编号", requiredMode = REQUIRED, example = "29502") | ||||
|     @Schema(description = "商品 SPU 编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "29502") | ||||
|     private Long spuId; | ||||
|  | ||||
|     // ========== 商品相关字段 ========== | ||||
|  | ||||
|     @Schema(description = "商品 SPU 名称", requiredMode = REQUIRED, example = "赵六") | ||||
|     @Schema(description = "商品 SPU 名称", requiredMode = Schema.RequiredMode.REQUIRED, example = "赵六") | ||||
|     private String spuName; | ||||
|  | ||||
|     @Schema(description = "商品封面图", requiredMode = REQUIRED, example = "https://www.iocoder.cn/pic.png") | ||||
|     @Schema(description = "商品封面图", requiredMode = Schema.RequiredMode.REQUIRED, example = "https://www.iocoder.cn/pic.png") | ||||
|     private String picUrl; | ||||
|  | ||||
|     @Schema(description = "商品单价", requiredMode = REQUIRED, example = "50") | ||||
|     @Schema(description = "商品单价", requiredMode = Schema.RequiredMode.REQUIRED, example = "50") | ||||
|     private Integer price; | ||||
|  | ||||
|     @Schema(description = "商品销量", requiredMode = REQUIRED, example = "60") | ||||
|     @Schema(description = "商品销量", requiredMode = Schema.RequiredMode.REQUIRED, example = "60") | ||||
|     private Integer salesCount; | ||||
|  | ||||
|     @Schema(description = "库存", requiredMode = REQUIRED, example = "80") | ||||
|     @Schema(description = "库存", requiredMode = Schema.RequiredMode.REQUIRED, example = "80") | ||||
|     private Integer stock; | ||||
|  | ||||
| } | ||||
|  | ||||
		Reference in New Issue
	
	Block a user
	 xingyu4j
					xingyu4j