Commit 5b709c01 authored by 赵啸非's avatar 赵啸非

修改通知去重复

parent 08b14d4f
......@@ -9,6 +9,7 @@ import com.mortals.framework.service.ITask;
import com.mortals.framework.service.ITaskExcuteService;
import com.mortals.xhx.common.code.FinishMethodEnum;
import com.mortals.xhx.common.code.MeetStatusEnum;
import com.mortals.xhx.common.code.YesNoEnum;
import com.mortals.xhx.common.key.RedisKey;
import com.mortals.xhx.common.keys.RedisCacheKeys;
import com.mortals.xhx.common.pdu.UploadDeviceReq;
......@@ -80,14 +81,40 @@ public class MeetSwitchTaskImpl implements ITaskExcuteService {
for (MettingRecordEntity recordEntity : recordEntities) {
long between = DateUtil.between(new Date(), recordEntity.getMeetTimeStart(), DateUnit.MINUTE);
if (between <= basicSetEntity.getPreMeetStart()) {
RoomDeviceQuery roomDeviceQuery = new RoomDeviceQuery();
roomDeviceQuery.setRoomId(recordEntity.getRoomId());
RoomDeviceEntity roomDeviceEntity = roomDeviceService.selectOne(roomDeviceQuery);
if(ObjectUtils.isEmpty(roomDeviceEntity)) return;
//还需满足当前进行中的会议 是否已经结束超时 存在时才推送消息
mettingRecordQuery = new MettingRecordQuery();
mettingRecordQuery.setMeetStatus(MeetStatusEnum.进行中.getValue());
mettingRecordQuery.setRoomId(recordEntity.getRoomId());
MettingRecordEntity mettingRecordEntity = mettingRecordService.selectOne(mettingRecordQuery);
if(!ObjectUtils.isEmpty(mettingRecordEntity)){
if( basicSetEntity.getPostMeetStart()>0){
//查看结束通知是否设置
long mettingBetween = DateUtil.between(mettingRecordEntity.getMeetTimeStart(), new Date(), DateUnit.MINUTE);
if(mettingBetween<=basicSetEntity.getPostMeetStart()){
log.info("当前进行中的会议未结束,不推送下一个会议消息");
return;
}
}
if(basicSetEntity.getMeetEnd()== YesNoEnum.YES.getValue()){
long mettingBetween = DateUtil.between(mettingRecordEntity.getMeetTimeEnd(), new Date(), DateUnit.MINUTE);
if(mettingBetween<=basicSetEntity.getPostMeetStart()){
log.info("当前进行中的会议未结束,不推送下一个会议消息");
return;
}
}
}
//通知设备进行数据更新
boolean setnx = cacheService.setnx(RedisKey.KEY_METTING_START_CACHE, recordEntity.getId(), between * 60);
if (setnx) {
RoomDeviceQuery roomDeviceQuery = new RoomDeviceQuery();
roomDeviceQuery.setRoomId(recordEntity.getRoomId());
RoomDeviceEntity roomDeviceEntity = roomDeviceService.selectOne(roomDeviceQuery);
if(ObjectUtils.isEmpty(roomDeviceEntity)) return;
UploadDeviceReq uploadDeviceReq = new UploadDeviceReq();
uploadDeviceReq.setDeviceCodeList(Arrays.asList(roomDeviceEntity.getDeviceCode()));
uploadDeviceReq.setAction("preMeetStart");
......
......@@ -62,7 +62,9 @@ public class MettingRecordServiceImpl extends AbstractCRUDServiceImpl<MettingRec
Date meetTimeEnd = entity.getMeetTimeEnd();
if (!ObjectUtils.isEmpty(meetTimeStart) && !ObjectUtils.isEmpty(meetTimeEnd)) {
MettingRecordQuery mettingRecordQuery = new MettingRecordQuery();
mettingRecordQuery.setMeetStatus(MeetStatusEnum.等待中.getValue());
//mettingRecordQuery.setMeetStatus(MeetStatusEnum.等待中.getValue());
mettingRecordQuery.setMeetStatusList(Arrays.asList(MeetStatusEnum.等待中.getValue(),MeetStatusEnum.进行中.getValue()));
mettingRecordQuery.setRoomId(entity.getRoomId());
//查询当前日期是否存在会议室占用
mettingRecordQuery.setMeetDate(entity.getMeetDate());
......@@ -87,7 +89,7 @@ public class MettingRecordServiceImpl extends AbstractCRUDServiceImpl<MettingRec
}
}
if (bool) {
throw new AppException("当前会议室该时段已经存在等待的会议,请选择其它时间段!");
throw new AppException("当前会议室该时段已经存在等待或进行中的会议,请选择其它时间段!");
}
}
......
......@@ -61,7 +61,6 @@ public class MettingRecordController extends BaseCRUDJsonBodyMappingController<M
protected void init(Map<String, Object> model, Context context) {
this.addDict(model, "meetStatus", paramService.getParamBySecondOrganize("MettingRecord", "meetStatus"));
this.addDict(model, "finishMethod", paramService.getParamBySecondOrganize("MettingRecord", "finishMethod"));
this.addDict(model, "roomId", roomService.find(new RoomQuery()).stream().collect(Collectors.toMap(x -> x.getId().toString(), y -> y.getRoomName(), (o, n) -> n)));
super.init(model, context);
}
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment