|
@@ -14,6 +14,7 @@ import org.thingsboard.server.common.data.yunteng.dto.BaseDTO; |
|
@@ -14,6 +14,7 @@ import org.thingsboard.server.common.data.yunteng.dto.BaseDTO; |
14
|
import org.thingsboard.server.common.data.yunteng.dto.TkDeviceCagegoryDTO;
|
14
|
import org.thingsboard.server.common.data.yunteng.dto.TkDeviceCagegoryDTO;
|
15
|
import org.thingsboard.server.common.data.yunteng.utils.SpringBeanUtils;
|
15
|
import org.thingsboard.server.common.data.yunteng.utils.SpringBeanUtils;
|
16
|
import org.thingsboard.server.dao.util.TkDeviceCagegoryUtil;
|
16
|
import org.thingsboard.server.dao.util.TkDeviceCagegoryUtil;
|
|
|
17
|
+import org.thingsboard.server.dao.yunteng.entities.BaseEntity;
|
17
|
import org.thingsboard.server.dao.yunteng.entities.TkDeviceCagegoryEntity;
|
18
|
import org.thingsboard.server.dao.yunteng.entities.TkDeviceCagegoryEntity;
|
18
|
import org.thingsboard.server.dao.yunteng.mapper.TkDeviceCagegoryMapper;
|
19
|
import org.thingsboard.server.dao.yunteng.mapper.TkDeviceCagegoryMapper;
|
19
|
import org.thingsboard.server.dao.yunteng.service.AbstractBaseService;
|
20
|
import org.thingsboard.server.dao.yunteng.service.AbstractBaseService;
|
|
@@ -34,11 +35,27 @@ public class TkDeviceCagegoryServiceImpl extends AbstractBaseService<TkDeviceCag |
|
@@ -34,11 +35,27 @@ public class TkDeviceCagegoryServiceImpl extends AbstractBaseService<TkDeviceCag |
34
|
@Override
|
35
|
@Override
|
35
|
public TkDeviceCagegoryDTO save(TkDeviceCagegoryDTO tkDeviceCagegoryDTO) throws ThingsboardException {
|
36
|
public TkDeviceCagegoryDTO save(TkDeviceCagegoryDTO tkDeviceCagegoryDTO) throws ThingsboardException {
|
36
|
checkDto(tkDeviceCagegoryDTO);
|
37
|
checkDto(tkDeviceCagegoryDTO);
|
|
|
38
|
+ String parentId = tkDeviceCagegoryDTO.getParentId();
|
|
|
39
|
+ TkDeviceCagegoryDTO parentDto = null;
|
|
|
40
|
+ if (StringUtils.isNotBlank(parentId)) {
|
|
|
41
|
+ parentDto = detail(parentId);
|
|
|
42
|
+ if (parentDto == null) {
|
|
|
43
|
+ throw new TkDataValidationException("父级类别不存在!");
|
|
|
44
|
+ }
|
|
|
45
|
+ }
|
37
|
TkDeviceCagegoryEntity entity = new TkDeviceCagegoryEntity();
|
46
|
TkDeviceCagegoryEntity entity = new TkDeviceCagegoryEntity();
|
38
|
if (StringUtils.isBlank(tkDeviceCagegoryDTO.getId())) {
|
47
|
if (StringUtils.isBlank(tkDeviceCagegoryDTO.getId())) {
|
39
|
tkDeviceCagegoryDTO.copyToEntity(entity);
|
48
|
tkDeviceCagegoryDTO.copyToEntity(entity);
|
40
|
baseMapper.insert(entity);
|
49
|
baseMapper.insert(entity);
|
|
|
50
|
+ String id = entity.getId();
|
|
|
51
|
+ tkDeviceCagegoryDTO.setPathId(parentDto.getPathId() + "_" + tkDeviceCagegoryDTO.getId());
|
|
|
52
|
+ LambdaQueryWrapper<TkDeviceCagegoryEntity> filter = new QueryWrapper<TkDeviceCagegoryEntity>().lambda()
|
|
|
53
|
+ .eq(TkDeviceCagegoryEntity::getId, tkDeviceCagegoryDTO.getId());
|
|
|
54
|
+ entity = tkDeviceCagegoryDTO.getEntity(TkDeviceCagegoryEntity.class);
|
|
|
55
|
+ baseMapper.update(entity, filter);
|
|
|
56
|
+
|
41
|
} else {
|
57
|
} else {
|
|
|
58
|
+ tkDeviceCagegoryDTO.setPathId(parentDto.getPathId() + "_" + tkDeviceCagegoryDTO.getId());
|
42
|
LambdaQueryWrapper<TkDeviceCagegoryEntity> filter = new QueryWrapper<TkDeviceCagegoryEntity>().lambda()
|
59
|
LambdaQueryWrapper<TkDeviceCagegoryEntity> filter = new QueryWrapper<TkDeviceCagegoryEntity>().lambda()
|
43
|
.eq(TkDeviceCagegoryEntity::getId, tkDeviceCagegoryDTO.getId());
|
60
|
.eq(TkDeviceCagegoryEntity::getId, tkDeviceCagegoryDTO.getId());
|
44
|
entity = tkDeviceCagegoryDTO.getEntity(TkDeviceCagegoryEntity.class);
|
61
|
entity = tkDeviceCagegoryDTO.getEntity(TkDeviceCagegoryEntity.class);
|
|
@@ -51,6 +68,9 @@ public class TkDeviceCagegoryServiceImpl extends AbstractBaseService<TkDeviceCag |
|
@@ -51,6 +68,9 @@ public class TkDeviceCagegoryServiceImpl extends AbstractBaseService<TkDeviceCag |
51
|
}
|
68
|
}
|
52
|
|
69
|
|
53
|
private void checkDto(TkDeviceCagegoryDTO dto) throws ThingsboardException {
|
70
|
private void checkDto(TkDeviceCagegoryDTO dto) throws ThingsboardException {
|
|
|
71
|
+ if (StringUtils.isBlank(dto.getName())) {
|
|
|
72
|
+ throw new TkDataValidationException("类型名称不能为空!");
|
|
|
73
|
+ }
|
54
|
if (StringUtils.isBlank(dto.getTenantId())) {
|
74
|
if (StringUtils.isBlank(dto.getTenantId())) {
|
55
|
dto.setTenantId(SpringBeanUtils.getTenantId().getId().toString());
|
75
|
dto.setTenantId(SpringBeanUtils.getTenantId().getId().toString());
|
56
|
}
|
76
|
}
|
|
@@ -146,8 +166,16 @@ public class TkDeviceCagegoryServiceImpl extends AbstractBaseService<TkDeviceCag |
|
@@ -146,8 +166,16 @@ public class TkDeviceCagegoryServiceImpl extends AbstractBaseService<TkDeviceCag |
146
|
}
|
166
|
}
|
147
|
|
167
|
|
148
|
@Override
|
168
|
@Override
|
149
|
- public List<String> getCategoryIdParentid(String parentId) {
|
|
|
150
|
- List<String> result=new ArrayList<>();
|
169
|
+ public List<String> getChildIdById(String id) throws ThingsboardException {
|
|
|
170
|
+ QueryWrapper<TkDeviceCagegoryEntity> queryWrapper = new QueryWrapper();
|
|
|
171
|
+ LambdaQueryWrapper<TkDeviceCagegoryEntity> lambda = queryWrapper.lambda();
|
|
|
172
|
+ TenantId tenantId = SpringBeanUtils.getTenantId();
|
|
|
173
|
+ lambda.eq(TkDeviceCagegoryEntity::getTenantId, tenantId.getId().toString());
|
|
|
174
|
+ lambda.like(TkDeviceCagegoryEntity::getPathId, id);
|
|
|
175
|
+ List<TkDeviceCagegoryEntity> entityList = baseMapper.selectList(queryWrapper);
|
|
|
176
|
+ if (CollectionUtils.isNotEmpty(entityList)) {
|
|
|
177
|
+ return entityList.stream().map(BaseEntity::getId).collect(Collectors.toList());
|
|
|
178
|
+ }
|
151
|
return null;
|
179
|
return null;
|
152
|
}
|
180
|
}
|
153
|
} |
181
|
} |