Merge remote-tracking branch 'origin/master'

main
liu.shiyi 2 years ago
commit 446cda2904

@ -189,4 +189,12 @@ public class DataRoomPageController {
} }
return R.success(bgList); return R.success(bgList);
} }
@ApiPermission
@PostMapping("/name/repeat")
@ApiOperation(value = "大屏/组件名称是否重复", position = 60, produces = MediaType.APPLICATION_JSON_VALUE)
public R<Boolean> nameRepeat(@RequestBody PageEntity pageEntity) {
boolean repeat = bigScreenPageService.checkNameRepeat(pageEntity);
return R.success(repeat);
}
} }

@ -24,6 +24,7 @@ import org.springframework.stereotype.Service;
import java.util.HashMap; import java.util.HashMap;
import java.util.List; import java.util.List;
import java.util.Map; import java.util.Map;
import java.util.Set;
import java.util.stream.Collectors; import java.util.stream.Collectors;
/** /**
@ -45,18 +46,24 @@ public class DataRoomMapServiceImpl extends ServiceImpl<DataRoomMapDao, DataRoom
LambdaQueryWrapper<DataRoomMapEntity> queryWrapper = new LambdaQueryWrapper<>(); LambdaQueryWrapper<DataRoomMapEntity> queryWrapper = new LambdaQueryWrapper<>();
queryWrapper.select(DataRoomMapEntity::getParentId); queryWrapper.select(DataRoomMapEntity::getParentId);
List<DataRoomMapEntity> list = this.list(queryWrapper); List<DataRoomMapEntity> list = this.list(queryWrapper);
List<String> idList = list.stream().map(DataRoomMapEntity::getParentId).collect(Collectors.toList()); Set<String> parentIds = list.stream().map(DataRoomMapEntity::getParentId).collect(Collectors.toSet());
LambdaQueryWrapper<DataRoomMapEntity> wrapper = QueryWrapperUtils.wrapperLike(new LambdaQueryWrapper<>(), searchDTO.getSearchKey(), DataRoomMapEntity::getName, DataRoomMapEntity::getMapCode); LambdaQueryWrapper<DataRoomMapEntity> wrapper = QueryWrapperUtils.wrapperLike(new LambdaQueryWrapper<>(), searchDTO.getSearchKey(), DataRoomMapEntity::getName, DataRoomMapEntity::getMapCode);
wrapper.eq(searchDTO.getLevel() != null, DataRoomMapEntity::getLevel, searchDTO.getLevel()); wrapper.eq(searchDTO.getLevel() != null, DataRoomMapEntity::getLevel, searchDTO.getLevel());
wrapper.eq(StringUtils.isNotBlank(searchDTO.getParentId()), DataRoomMapEntity::getParentId, searchDTO.getParentId()); wrapper.eq(StringUtils.isNotBlank(searchDTO.getParentId()), DataRoomMapEntity::getParentId, searchDTO.getParentId());
wrapper.eq(searchDTO.getUploadedGeoJson() != null, DataRoomMapEntity::getUploadedGeoJson, searchDTO.getUploadedGeoJson()); wrapper.eq(searchDTO.getUploadedGeoJson() != null, DataRoomMapEntity::getUploadedGeoJson, searchDTO.getUploadedGeoJson());
List<DataRoomMapEntity> entityList = this.list(wrapper); List<DataRoomMapEntity> entityList = this.list(wrapper);
List<String> idList = entityList.stream().map(DataRoomMapEntity::getId).collect(Collectors.toList());
List<DataRoomMapVO> voList = Lists.newArrayList(); List<DataRoomMapVO> voList = Lists.newArrayList();
for (DataRoomMapEntity entity : entityList) { for (DataRoomMapEntity entity : entityList) {
// 如果地图的直接父级也在列表中,那么不返回该地图
if (idList.contains(entity.getParentId())) {
continue;
}
DataRoomMapVO mapVO = BeanConvertUtils.convert(entity, DataRoomMapVO.class); DataRoomMapVO mapVO = BeanConvertUtils.convert(entity, DataRoomMapVO.class);
mapVO.setHasChildren(idList.contains(entity.getId())); mapVO.setHasChildren(parentIds.contains(entity.getId()));
voList.add(mapVO); voList.add(mapVO);
} }
return voList; return voList;
// return this.baseMapper.getList(searchDTO); // return this.baseMapper.getList(searchDTO);

@ -173,7 +173,28 @@ export default {
}, },
dataFormRules: { dataFormRules: {
name: [ name: [
{ required: true, message: '名称不能为空', trigger: 'blur' } { required: true, message: '名称不能为空', trigger: 'blur' },
//
{
validator: (rule, value, callback) => {
if (value) {
this.$dataRoomAxios.post('/bigScreen/design/name/repeat', {
name: value,
type: this.type,
id: this.dataForm.id
}).then((resp) => {
if (resp) {
callback(new Error('名称已存在'))
} else {
callback()
}
})
} else {
callback()
}
},
trigger: 'change'
}
] ]
}, },
sureLoading: false, sureLoading: false,

@ -208,7 +208,29 @@ export default {
}, },
dataFormRules: { dataFormRules: {
name: [ name: [
{ required: true, message: '名称不能为空', trigger: 'blur' } { required: true, message: '名称不能为空', trigger: 'blur' },
//
//
{
validator: (rule, value, callback) => {
if (value) {
this.$dataRoomAxios.post('/bigScreen/design/name/repeat', {
name: value,
type: this.type,
id: this.dataForm.id
}).then((resp) => {
if (resp) {
callback(new Error('名称已存在'))
} else {
callback()
}
})
} else {
callback()
}
},
trigger: 'change'
}
] ]
}, },
sureLoading: false, sureLoading: false,

Loading…
Cancel
Save