fix(iot): 补充设备、事件和服务名称非空校验

- 在创建和更新设备、事件和服务时,增加了对名称非空的校验
- 抛出 ConstraintException 异常,提示名称不能为空
- 优化了数据完整性验证,防止非法数据入库
This commit is contained in:
zhuangtianxiang 2024-12-28 20:54:04 +08:00
parent e1a027e55a
commit 75d640cf3c
3 changed files with 19 additions and 13 deletions

View File

@ -29,8 +29,6 @@ import java.util.stream.Collectors;
@Service @Service
public class ProductServiceImpl extends ServiceImpl<ProductRepository, Product> implements ProductService { public class ProductServiceImpl extends ServiceImpl<ProductRepository, Product> implements ProductService {
private final ProductMapper mapper; private final ProductMapper mapper;
private final ParamMapper paramMapper;
private final ParamRepository paramRepo;
private final ParamService paramService; private final ParamService paramService;
/** /**
@ -41,6 +39,9 @@ public class ProductServiceImpl extends ServiceImpl<ProductRepository, Product>
if (baseMapper.findByName(dto.getName()) != null) { if (baseMapper.findByName(dto.getName()) != null) {
throw new ConstraintException("该设备已存在!"); throw new ConstraintException("该设备已存在!");
} }
if (dto.getName() == null) {
throw new ConstraintException("设备名称不能为空!");
}
Product product = mapper.toEntity(dto); Product product = mapper.toEntity(dto);
save(product); save(product);
paramService.create(dto.getParams(), product.getId(), Param.ForeignType.PRODUCT); paramService.create(dto.getParams(), product.getId(), Param.ForeignType.PRODUCT);
@ -51,6 +52,9 @@ public class ProductServiceImpl extends ServiceImpl<ProductRepository, Product>
*/ */
@Override @Override
public Product update(ProductDto dto, Long id) { public Product update(ProductDto dto, Long id) {
if (dto.getName() == null) {
throw new ConstraintException("设备名称不能为空!");
}
Product product = baseMapper.selectById(id); Product product = baseMapper.selectById(id);
mapper.convert(dto, product); mapper.convert(dto, product);
updateById(product); updateById(product);
@ -58,16 +62,6 @@ public class ProductServiceImpl extends ServiceImpl<ProductRepository, Product>
return product; return product;
} }
// /**
// * 分页查询产品
// *
// * @param query 查询表单
// * @param page 分页参数
// */
// @Override
// public Page<Product> page(Page<Product> page, ProductQuery query) {
// return baseMapper.page(page, query.wrapper());
// }
@Override @Override
public Product detail(Long id) { public Product detail(Long id) {
return baseMapper.selectById(id); return baseMapper.selectById(id);

View File

@ -29,6 +29,9 @@ public class EventServiceImpl extends ServiceImpl<EventRepository, Event> implem
if (baseMapper.findByName(dto.getName()) != null) { if (baseMapper.findByName(dto.getName()) != null) {
throw new ConstraintException("该事件已存在!"); throw new ConstraintException("该事件已存在!");
} }
if (dto.getName() == null) {
throw new ConstraintException("事件名称不能为空!");
}
Event event = mapper.toEntity(dto); Event event = mapper.toEntity(dto);
save(event); save(event);
paramService.create(dto.getOutputs(), event.getId(), Param.ForeignType.EVENT); paramService.create(dto.getOutputs(), event.getId(), Param.ForeignType.EVENT);
@ -39,6 +42,9 @@ public class EventServiceImpl extends ServiceImpl<EventRepository, Event> implem
*/ */
@Override @Override
public Event update(EventDto dto, Long id) { public Event update(EventDto dto, Long id) {
if (dto.getName() == null) {
throw new ConstraintException("事件名称不能为空!");
}
Event event = baseMapper.selectById(id); Event event = baseMapper.selectById(id);
mapper.convert(dto, event); mapper.convert(dto, event);
updateById(event); updateById(event);

View File

@ -31,7 +31,10 @@ public class ServeServiceImpl extends ServiceImpl<ServeRepository, Serve> implem
@Override @Override
public Serve create(ServeDto dto) { public Serve create(ServeDto dto) {
if (baseMapper.findByName(dto.getName()) != null) { if (baseMapper.findByName(dto.getName()) != null) {
throw new ConstraintException("该事件已存在!"); throw new ConstraintException("该服务已存在!");
}
if (dto.getName() == null) {
throw new ConstraintException("服务名称不能为空!");
} }
Serve serve = mapper.toEntity(dto); Serve serve = mapper.toEntity(dto);
save(serve); save(serve);
@ -45,6 +48,9 @@ public class ServeServiceImpl extends ServiceImpl<ServeRepository, Serve> implem
*/ */
@Override @Override
public Serve update(ServeDto dto, Long id) { public Serve update(ServeDto dto, Long id) {
if (dto.getName() == null) {
throw new ConstraintException("服务名称不能为空!");
}
Serve serve = baseMapper.selectById(id); Serve serve = baseMapper.selectById(id);
mapper.convert(dto, serve); mapper.convert(dto, serve);
updateById(serve); updateById(serve);