|
@@ -10,12 +10,17 @@ import com.baomidou.mybatisplus.core.toolkit.Wrappers;
|
|
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
|
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
|
import com.usky.common.core.bean.CommonPage;
|
|
import com.usky.common.core.bean.CommonPage;
|
|
import com.usky.common.core.exception.BusinessException;
|
|
import com.usky.common.core.exception.BusinessException;
|
|
|
|
+import com.usky.common.core.util.UUIDUtils;
|
|
import com.usky.common.security.utils.SecurityUtils;
|
|
import com.usky.common.security.utils.SecurityUtils;
|
|
|
|
+import com.usky.iot.RemoteIotTaskService;
|
|
|
|
+import com.usky.meeting.domain.EgDevice;
|
|
import com.usky.meeting.domain.MeetingDevice;
|
|
import com.usky.meeting.domain.MeetingDevice;
|
|
import com.usky.meeting.domain.MeetingFloor;
|
|
import com.usky.meeting.domain.MeetingFloor;
|
|
import com.usky.meeting.domain.MeetingRoom;
|
|
import com.usky.meeting.domain.MeetingRoom;
|
|
|
|
+import com.usky.meeting.mapper.EgDeviceMapper;
|
|
import com.usky.meeting.mapper.MeetingDeviceMapper;
|
|
import com.usky.meeting.mapper.MeetingDeviceMapper;
|
|
import com.usky.meeting.mapper.MeetingRoomMapper;
|
|
import com.usky.meeting.mapper.MeetingRoomMapper;
|
|
|
|
+import com.usky.meeting.repository.MeetingRoomRepository;
|
|
import com.usky.meeting.service.MeetingDeviceService;
|
|
import com.usky.meeting.service.MeetingDeviceService;
|
|
import com.usky.common.mybatis.core.AbstractCrudService;
|
|
import com.usky.common.mybatis.core.AbstractCrudService;
|
|
import com.usky.meeting.service.MeetingRoomService;
|
|
import com.usky.meeting.service.MeetingRoomService;
|
|
@@ -47,40 +52,100 @@ import java.util.stream.Collectors;
|
|
public class MeetingDeviceServiceImpl extends AbstractCrudService<MeetingDeviceMapper, MeetingDevice> implements MeetingDeviceService {
|
|
public class MeetingDeviceServiceImpl extends AbstractCrudService<MeetingDeviceMapper, MeetingDevice> implements MeetingDeviceService {
|
|
@Autowired
|
|
@Autowired
|
|
private MeetingRoomMapper meetingRoomMapper;
|
|
private MeetingRoomMapper meetingRoomMapper;
|
|
|
|
+ @Autowired
|
|
|
|
+ private EgDeviceMapper egDeviceMapper;
|
|
|
|
+ @Autowired
|
|
|
|
+ private RemoteIotTaskService remoteIotTaskService;
|
|
|
|
+ @Autowired
|
|
|
|
+ private MeetingRoomRepository dmMeetingRoomRepository;
|
|
|
|
|
|
@Override
|
|
@Override
|
|
public CommonPage<MeetingDevice> meetingDeviceList(MeetingDeviceRequestVO requestVO){
|
|
public CommonPage<MeetingDevice> meetingDeviceList(MeetingDeviceRequestVO requestVO){
|
|
Integer current = requestVO.getCurrent();
|
|
Integer current = requestVO.getCurrent();
|
|
Integer size = requestVO.getSize();
|
|
Integer size = requestVO.getSize();
|
|
IPage<MeetingDevice> page = new Page<>(current,size);
|
|
IPage<MeetingDevice> page = new Page<>(current,size);
|
|
- LambdaQueryWrapper<MeetingDevice> queryWrapper = Wrappers.lambdaQuery();
|
|
|
|
- queryWrapper.like(StringUtils.isNotBlank(requestVO.getDeviceName()),MeetingDevice::getDeviceName,requestVO.getDeviceName())
|
|
|
|
|
|
+ Integer tenantId ;
|
|
|
|
+
|
|
|
|
+ if(StringUtils.isNotBlank(requestVO.getDomain())){
|
|
|
|
+ tenantId = dmMeetingRoomRepository.getTenantIdByDomain(requestVO.getDomain());
|
|
|
|
+ }else{
|
|
|
|
+ tenantId = SecurityUtils.getTenantId();
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ //根据输入所属会议室名称刷选
|
|
|
|
+ List<Long> roomIdList = new ArrayList<>();
|
|
|
|
+ List<MeetingRoom> meetingRoomsList = null;
|
|
|
|
+ LambdaQueryWrapper<MeetingRoom> queryWrapper = Wrappers.lambdaQuery();
|
|
|
|
+ if(StringUtils.isNotBlank(requestVO.getRoomName())){
|
|
|
|
+ queryWrapper.like(MeetingRoom::getRoomName,requestVO.getRoomName()).eq(MeetingRoom::getTenantId,tenantId);
|
|
|
|
+ meetingRoomsList = meetingRoomMapper.selectList(queryWrapper);
|
|
|
|
+ if(CollectionUtils.isNotEmpty(meetingRoomsList)){
|
|
|
|
+ for (int i = 0; i < meetingRoomsList.size(); i++) {
|
|
|
|
+ roomIdList.add(meetingRoomsList.get(i).getRoomId());
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ }else{
|
|
|
|
+ queryWrapper.eq(MeetingRoom::getTenantId,tenantId);
|
|
|
|
+ meetingRoomsList = meetingRoomMapper.selectList(queryWrapper);
|
|
|
|
+ }
|
|
|
|
+ //根据输入所属门禁设备名称刷选
|
|
|
|
+ List<Integer> egDeviceIdList = new ArrayList<>();
|
|
|
|
+ List<EgDevice> egDeviceList = null;
|
|
|
|
+ LambdaQueryWrapper<EgDevice> queryWrapper1 = Wrappers.lambdaQuery();
|
|
|
|
+ if(StringUtils.isNotBlank(requestVO.getEgDeviceName())){
|
|
|
|
+ queryWrapper1.like(EgDevice::getDeviceName,requestVO.getEgDeviceName()).eq(EgDevice::getTenantId,tenantId);
|
|
|
|
+ egDeviceList = egDeviceMapper.selectList(queryWrapper1);
|
|
|
|
+ if(CollectionUtils.isNotEmpty(egDeviceList)){
|
|
|
|
+ for (int i = 0; i < egDeviceList.size(); i++) {
|
|
|
|
+ egDeviceIdList.add(egDeviceList.get(i).getId());
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ }else{
|
|
|
|
+ queryWrapper1.eq(EgDevice::getTenantId,tenantId);
|
|
|
|
+ egDeviceList = egDeviceMapper.selectList(queryWrapper1);
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ LambdaQueryWrapper<MeetingDevice> queryWrapper3 = Wrappers.lambdaQuery();
|
|
|
|
+ queryWrapper3.like(StringUtils.isNotBlank(requestVO.getDeviceName()),MeetingDevice::getDeviceName,requestVO.getDeviceName())
|
|
.like(StringUtils.isNotBlank(requestVO.getNameplate()),MeetingDevice::getNameplate,requestVO.getNameplate())
|
|
.like(StringUtils.isNotBlank(requestVO.getNameplate()),MeetingDevice::getNameplate,requestVO.getNameplate())
|
|
.like(StringUtils.isNotBlank(requestVO.getMaintainer()),MeetingDevice::getMaintainer,requestVO.getMaintainer())
|
|
.like(StringUtils.isNotBlank(requestVO.getMaintainer()),MeetingDevice::getMaintainer,requestVO.getMaintainer())
|
|
.like(StringUtils.isNotBlank(requestVO.getContacts()),MeetingDevice::getContacts,requestVO.getContacts())
|
|
.like(StringUtils.isNotBlank(requestVO.getContacts()),MeetingDevice::getContacts,requestVO.getContacts())
|
|
.like(StringUtils.isNotBlank(requestVO.getRemark()),MeetingDevice::getRemark,requestVO.getRemark())
|
|
.like(StringUtils.isNotBlank(requestVO.getRemark()),MeetingDevice::getRemark,requestVO.getRemark())
|
|
- .eq(MeetingDevice::getTenantId,SecurityUtils.getTenantId())
|
|
|
|
- .orderByAsc(MeetingDevice::getDeviceId);
|
|
|
|
- page = this.page(page,queryWrapper);
|
|
|
|
|
|
+ .like(requestVO.getRoomId() != null,MeetingDevice::getRoomId,requestVO.getRoomId())
|
|
|
|
+ .in(CollectionUtils.isNotEmpty(roomIdList),MeetingDevice::getRoomId,roomIdList)
|
|
|
|
+ .in(CollectionUtils.isNotEmpty(egDeviceIdList),MeetingDevice::getEgDeviceId,egDeviceIdList)
|
|
|
|
+ .eq(MeetingDevice::getTenantId,tenantId)
|
|
|
|
+ .orderByAsc(MeetingDevice::getDeviceUuid);
|
|
|
|
+ page = this.page(page,queryWrapper3);
|
|
if(page.getRecords().size()>0){
|
|
if(page.getRecords().size()>0){
|
|
- List<Long> roomIdList = new ArrayList<>();
|
|
|
|
- for (int i = 0; i < page.getRecords().size(); i++) {
|
|
|
|
- roomIdList.add(Long.valueOf(page.getRecords().get(i).getRoomId()));
|
|
|
|
|
|
+
|
|
|
|
+ if(CollectionUtils.isNotEmpty(meetingRoomsList)){
|
|
|
|
+ for (int i = 0; i < page.getRecords().size(); i++) {
|
|
|
|
+ if(Objects.nonNull(page.getRecords().get(i).getRoomId())){
|
|
|
|
+ Long RId = Long.valueOf(page.getRecords().get(i).getRoomId());
|
|
|
|
+ for (int j = 0; j < meetingRoomsList.size(); j++) {
|
|
|
|
+ if(RId.equals(meetingRoomsList.get(j).getRoomId())){
|
|
|
|
+ page.getRecords().get(i).setMeetingRoom(meetingRoomsList.get(j));
|
|
|
|
+ break;
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ }
|
|
}
|
|
}
|
|
- List<Long> list = roomIdList.stream().distinct().collect(Collectors.toList());
|
|
|
|
|
|
|
|
- LambdaQueryWrapper<MeetingRoom> queryWrapper1 = Wrappers.lambdaQuery();
|
|
|
|
- queryWrapper1.in(MeetingRoom::getRoomId,list).eq(MeetingRoom::getTenantId,SecurityUtils.getTenantId());
|
|
|
|
- List<MeetingRoom> meetingRoomList = meetingRoomMapper.selectList(queryWrapper1);
|
|
|
|
- if(CollectionUtils.isNotEmpty(meetingRoomList)){
|
|
|
|
|
|
+ if(CollectionUtils.isNotEmpty(egDeviceList)){
|
|
for (int i = 0; i < page.getRecords().size(); i++) {
|
|
for (int i = 0; i < page.getRecords().size(); i++) {
|
|
- Long RId = Long.valueOf(page.getRecords().get(i).getRoomId());
|
|
|
|
- for (int j = 0; j < meetingRoomList.size(); j++) {
|
|
|
|
- if(RId.equals(meetingRoomList.get(j).getRoomId())){
|
|
|
|
- page.getRecords().get(i).setRoomName(meetingRoomList.get(j).getRoomName());
|
|
|
|
- break;
|
|
|
|
|
|
+ if(Objects.nonNull(page.getRecords().get(i).getEgDeviceId())){
|
|
|
|
+ Integer egDeviceId = page.getRecords().get(i).getEgDeviceId();
|
|
|
|
+ for (int j = 0; j < egDeviceList.size(); j++) {
|
|
|
|
+ if(egDeviceId.equals(egDeviceList.get(j).getId())){
|
|
|
|
+ page.getRecords().get(i).setEgDevice(egDeviceList.get(j));
|
|
|
|
+ break;
|
|
|
|
+ }
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
+
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
@@ -100,6 +165,7 @@ public class MeetingDeviceServiceImpl extends AbstractCrudService<MeetingDeviceM
|
|
meetingDevice.setTenantId(SecurityUtils.getTenantId());
|
|
meetingDevice.setTenantId(SecurityUtils.getTenantId());
|
|
this.save(meetingDevice);
|
|
this.save(meetingDevice);
|
|
|
|
|
|
|
|
+ remoteIotTaskService.addDeviceInfo("505_USKY", meetingDevice.getDeviceUuid().toString(),"",meetingDevice.getDeviceName(),meetingDevice.getInstallAddress(),1);
|
|
}
|
|
}
|
|
|
|
|
|
@Override
|
|
@Override
|
|
@@ -119,14 +185,15 @@ public class MeetingDeviceServiceImpl extends AbstractCrudService<MeetingDeviceM
|
|
Optional.ofNullable(meetingDevice).orElseThrow(() -> new BusinessException("该会议室设备不存在"));
|
|
Optional.ofNullable(meetingDevice).orElseThrow(() -> new BusinessException("该会议室设备不存在"));
|
|
this.removeById(deviceId);
|
|
this.removeById(deviceId);
|
|
|
|
|
|
|
|
+ remoteIotTaskService.deleteDeviceInfo(deviceId.toString());
|
|
}
|
|
}
|
|
|
|
|
|
public boolean checkNameUnique(MeetingDevice meetingDevice){
|
|
public boolean checkNameUnique(MeetingDevice meetingDevice){
|
|
- Long deviceId = null == meetingDevice.getDeviceId()?-1:meetingDevice.getDeviceId();
|
|
|
|
|
|
+ Long deviceId = null == meetingDevice.getDeviceUuid()?-1:meetingDevice.getDeviceUuid();
|
|
LambdaQueryWrapper<MeetingDevice> queryWrapper = Wrappers.lambdaQuery();
|
|
LambdaQueryWrapper<MeetingDevice> queryWrapper = Wrappers.lambdaQuery();
|
|
queryWrapper.eq(MeetingDevice::getDeviceName,meetingDevice.getDeviceName())
|
|
queryWrapper.eq(MeetingDevice::getDeviceName,meetingDevice.getDeviceName())
|
|
.eq(MeetingDevice::getTenantId,SecurityUtils.getTenantId());
|
|
.eq(MeetingDevice::getTenantId,SecurityUtils.getTenantId());
|
|
MeetingDevice one = this.getOne(queryWrapper);
|
|
MeetingDevice one = this.getOne(queryWrapper);
|
|
- return null != one && !Objects.equals(one.getDeviceId(),deviceId);
|
|
|
|
|
|
+ return null != one && !Objects.equals(one.getDeviceUuid(),deviceId);
|
|
}
|
|
}
|
|
}
|
|
}
|