mirror of
https://gitee.com/huangge1199_admin/vue-pro.git
synced 2025-01-18 19:20:05 +08:00
修改:新增产品生成 ProductKey
This commit is contained in:
parent
609cc71930
commit
f7b62b4bcc
@ -9,46 +9,37 @@ import jakarta.validation.constraints.*;
|
||||
@Data
|
||||
public class ProductSaveReqVO {
|
||||
|
||||
@Schema(description = "产品名称", requiredMode = Schema.RequiredMode.REQUIRED, example = "李四")
|
||||
@Schema(description = "产品编号", requiredMode = Schema.RequiredMode.AUTO, example = "1")
|
||||
private Long id;
|
||||
|
||||
@Schema(description = "产品Key", requiredMode = Schema.RequiredMode.AUTO, example = "12345abc")
|
||||
private String productKey;
|
||||
|
||||
@Schema(description = "产品名称", requiredMode = Schema.RequiredMode.REQUIRED, example = "温湿度")
|
||||
@NotEmpty(message = "产品名称不能为空")
|
||||
private String name;
|
||||
|
||||
@Schema(description = "产品ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "26087")
|
||||
private Long id;
|
||||
|
||||
@Schema(description = "产品标识", requiredMode = Schema.RequiredMode.REQUIRED)
|
||||
@NotEmpty(message = "产品标识不能为空")
|
||||
private String productKey;
|
||||
|
||||
@Schema(description = "协议编号(脚本解析 id)", requiredMode = Schema.RequiredMode.REQUIRED, example = "13177")
|
||||
@NotNull(message = "协议编号(脚本解析 id)不能为空")
|
||||
private Long protocolId;
|
||||
|
||||
@Schema(description = "产品所属品类标识符", example = "14237")
|
||||
private Long categoryId;
|
||||
|
||||
@Schema(description = "产品描述", example = "你猜")
|
||||
private String description;
|
||||
|
||||
@Schema(description = "数据校验级别, 0: 强校验, 1: 弱校验, 2: 免校验", requiredMode = Schema.RequiredMode.REQUIRED, example = "1")
|
||||
@NotNull(message = "数据校验级别, 0: 强校验, 1: 弱校验, 2: 免校验不能为空")
|
||||
private Integer validateType;
|
||||
|
||||
@Schema(description = "产品状态, 0: DEVELOPMENT_STATUS, 1: RELEASE_STATUS", requiredMode = Schema.RequiredMode.REQUIRED, example = "1")
|
||||
@NotNull(message = "产品状态, 0: DEVELOPMENT_STATUS, 1: RELEASE_STATUS不能为空")
|
||||
private Integer status;
|
||||
|
||||
@Schema(description = "设备类型, 0: 直连设备, 1: 网关子设备, 2: 网关设备", requiredMode = Schema.RequiredMode.REQUIRED, example = "2")
|
||||
@NotNull(message = "设备类型, 0: 直连设备, 1: 网关子设备, 2: 网关设备不能为空")
|
||||
@Schema(description = "设备类型", requiredMode = Schema.RequiredMode.REQUIRED, example = "0")
|
||||
@NotNull(message = "设备类型不能为空")
|
||||
private Integer deviceType;
|
||||
|
||||
@Schema(description = "联网方式, 0: Wi-Fi, 1: Cellular, 2: Ethernet, 3: 其他", example = "2")
|
||||
@Schema(description = "联网方式", requiredMode = Schema.RequiredMode.REQUIRED,example = "0")
|
||||
@NotNull(message = "联网方式不能为空")
|
||||
private Integer netType;
|
||||
|
||||
@Schema(description = "接入网关协议, 0: modbus, 1: opc-ua, 2: customize, 3: ble, 4: zigbee", example = "2")
|
||||
@Schema(description = "接入网关协议", requiredMode = Schema.RequiredMode.REQUIRED,example = "0")
|
||||
@NotNull(message = "接入网关协议不能为空")
|
||||
private Integer protocolType;
|
||||
|
||||
@Schema(description = "数据格式, 0: 透传模式, 1: Alink JSON")
|
||||
@Schema(description = "数据格式",requiredMode = Schema.RequiredMode.REQUIRED, example = "0")
|
||||
@NotNull(message = "数据格式不能为空")
|
||||
private Integer dataFormat;
|
||||
|
||||
@Schema(description = "数据校验级别", requiredMode = Schema.RequiredMode.REQUIRED, example = "0")
|
||||
@NotNull(message = "数据校验级别不能为空")
|
||||
private Integer validateType;
|
||||
|
||||
@Schema(description = "产品描述", example = "描述")
|
||||
private String description;
|
||||
|
||||
}
|
@ -10,6 +10,8 @@ import jakarta.annotation.Resource;
|
||||
import org.springframework.stereotype.Service;
|
||||
import org.springframework.validation.annotation.Validated;
|
||||
|
||||
import java.util.UUID;
|
||||
|
||||
import static cn.iocoder.yudao.framework.common.exception.util.ServiceExceptionUtil.exception;
|
||||
import static cn.iocoder.yudao.module.iot.enums.ErrorCodeConstants.PRODUCT_NOT_EXISTS;
|
||||
|
||||
@ -27,6 +29,8 @@ public class ProductServiceImpl implements ProductService {
|
||||
|
||||
@Override
|
||||
public Long createProduct(ProductSaveReqVO createReqVO) {
|
||||
// 生成 ProductKey
|
||||
createProductKey(createReqVO);
|
||||
// 插入
|
||||
ProductDO product = BeanUtils.toBean(createReqVO, ProductDO.class);
|
||||
productMapper.insert(product);
|
||||
@ -34,6 +38,17 @@ public class ProductServiceImpl implements ProductService {
|
||||
return product.getId();
|
||||
}
|
||||
|
||||
/**
|
||||
* 创建 ProductKey
|
||||
*
|
||||
* @param createReqVO 创建信息
|
||||
*/
|
||||
private void createProductKey(ProductSaveReqVO createReqVO) {
|
||||
// 生成随机的 11 位字符串
|
||||
String productKey = UUID.randomUUID().toString().replace("-", "").substring(0, 11);
|
||||
createReqVO.setProductKey(productKey);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void updateProduct(ProductSaveReqVO updateReqVO) {
|
||||
// 校验存在
|
||||
|
Loading…
Reference in New Issue
Block a user