|
@@ -4,6 +4,7 @@ import cn.hutool.json.JSONObject;
|
|
|
import cn.hutool.json.JSONUtil;
|
|
|
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
|
|
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
|
|
+import com.github.yitter.idgen.YitIdHelper;
|
|
|
import com.xy.config.DeviceThreadPoolConfig;
|
|
|
import com.xy.dbmapper.SyncUpdate;
|
|
|
import com.xy.device.EnumDeviceTempConfig;
|
|
@@ -12,10 +13,7 @@ import com.xy.dto.CommandMqtt;
|
|
|
import com.xy.dto.DeviceEventMsgDto;
|
|
|
import com.xy.dto.DeviceStatusDto;
|
|
|
import com.xy.dto.DeviceTempRecordsDto;
|
|
|
-import com.xy.entity.DeviceConfig;
|
|
|
-import com.xy.entity.DeviceStatus;
|
|
|
-import com.xy.entity.DeviceSysinfo;
|
|
|
-import com.xy.entity.SysDictRedis;
|
|
|
+import com.xy.entity.*;
|
|
|
import com.xy.mapper.DeviceStatusMapper;
|
|
|
import com.xy.mapper.entity.DeviceStatusCount;
|
|
|
import com.xy.utils.*;
|
|
@@ -65,6 +63,8 @@ public class DeviceStatusServiceImpl extends ServiceImpl<DeviceStatusMapper, Dev
|
|
|
|
|
|
private MqttServiceImpl mqttService;
|
|
|
|
|
|
+ private DeviceDoorRecordServiceImpl deviceDoorRecordService;
|
|
|
+
|
|
|
@Override
|
|
|
@ApiOperation("上报信息")
|
|
|
public R up(DeviceStatusDto.Up up) {
|
|
@@ -162,8 +162,25 @@ public class DeviceStatusServiceImpl extends ServiceImpl<DeviceStatusMapper, Dev
|
|
|
@Override
|
|
|
@ApiOperation("开关门")
|
|
|
public R door(DeviceStatusDto.Door door) {
|
|
|
+ LocalDateTime now = LocalDateTime.now();
|
|
|
+ //修改门锁状态
|
|
|
DeviceStatus deviceStatus = copy(DeviceStatus.class, door).setUpdateTime(LocalDateTime.now());
|
|
|
updateById(deviceStatus);
|
|
|
+ //增加记录
|
|
|
+ FunctionUtils.ParamsNoResult<Tuple.Tuple2<Integer, Boolean>> fun = params -> deviceDoorRecordService.save(new DeviceDoorRecord()
|
|
|
+ .setId(YitIdHelper.nextId())
|
|
|
+ .setDeviceId(door.getDeviceId())
|
|
|
+ .setDoor(params.getV1())
|
|
|
+ .setStatus(params.getV2())
|
|
|
+ .setType(door.getType())
|
|
|
+ .setCreateTime(now)
|
|
|
+ );
|
|
|
+ if (Emptys.check(door.getDoorStateL())) {
|
|
|
+ fun.run(new Tuple.Tuple2<>(0, door.getDoorStateL() == 1));
|
|
|
+ }
|
|
|
+ if (Emptys.check(door.getDoorStateR())) {
|
|
|
+ fun.run(new Tuple.Tuple2<>(1, door.getDoorStateR() == 1));
|
|
|
+ }
|
|
|
return R.ok();
|
|
|
}
|
|
|
|