|
@@ -6,10 +6,16 @@ import com.xy.consumer.disconnect.DisconnectedProducer;
|
|
|
import com.xy.dto.DeviceErrorsRecordDto;
|
|
|
import com.xy.dto.spi.DeviceAlarmNotifyDTO;
|
|
|
import com.xy.dto.spi.DeviceStatusChangeNotifyDTO;
|
|
|
+import com.xy.entity.DeviceCharging;
|
|
|
import com.xy.entity.DeviceInfo;
|
|
|
+import com.xy.entity.SysDictRedis;
|
|
|
+import com.xy.service.DeviceChargingServiceImpl;
|
|
|
import com.xy.service.DeviceErrorsRecordServiceImpl;
|
|
|
import com.xy.service.DeviceInfoServiceImpl;
|
|
|
+import com.xy.utils.SysDictUtils;
|
|
|
import com.xy.utils.enums.DeviceErrorTypesEnum;
|
|
|
+import com.xy.utils.enums.DictEnum;
|
|
|
+import com.xy.utils.enums.DictSonEnum;
|
|
|
import com.xy.work.SpiDeviceService;
|
|
|
import io.swagger.annotations.Api;
|
|
|
import io.swagger.annotations.ApiOperation;
|
|
@@ -17,6 +23,7 @@ import lombok.AllArgsConstructor;
|
|
|
import lombok.extern.slf4j.Slf4j;
|
|
|
import org.springframework.stereotype.Service;
|
|
|
|
|
|
+import java.time.LocalDateTime;
|
|
|
import java.util.Map;
|
|
|
|
|
|
|
|
@@ -38,6 +45,8 @@ public class SpiDeviceServiceImpl implements SpiDeviceService {
|
|
|
|
|
|
private DisconnectedProducer disconnectedProducer;
|
|
|
|
|
|
+ private DeviceChargingServiceImpl deviceChargingService;
|
|
|
+
|
|
|
@Override
|
|
|
@ApiOperation("设备告警通知")
|
|
|
public void deviceAlarmNotify(Map<String, String> params, DeviceAlarmNotifyDTO deviceAlarmNotifyDTO) {
|
|
@@ -77,6 +86,25 @@ public class SpiDeviceServiceImpl implements SpiDeviceService {
|
|
|
.setDeviceId(deviceInfo.getDeviceId())
|
|
|
.setBusyState(status)
|
|
|
.setFreezeStatus(status);
|
|
|
+ //修改激活状态
|
|
|
+ if (deviceStatusChangeNotifyDTO.getActiveStatus() != null && deviceStatusChangeNotifyDTO.getActiveStatus() == 1) {
|
|
|
+ if (deviceInfo == null || deviceInfo.getActiveState() != 1) {
|
|
|
+ LocalDateTime now = LocalDateTime.now();
|
|
|
+ updateDeviceInfo.setActiveState(deviceStatusChangeNotifyDTO.getActiveStatus());
|
|
|
+ updateDeviceInfo.setActiveTime(now);
|
|
|
+ //首次激活可试用x天
|
|
|
+ DeviceCharging deviceCharging = deviceChargingService.getById(deviceInfo.getDeviceId());
|
|
|
+ if (deviceCharging == null) {
|
|
|
+ SysDictRedis sysDictRedis = SysDictUtils.get(DictEnum.DEVICE_CHARGING.getKey(), DictSonEnum.DEVICE_CHARGING_X.getKey());
|
|
|
+ deviceChargingService.save(new DeviceCharging()
|
|
|
+ .setDeviceId(deviceInfo.getDeviceId())
|
|
|
+ .setChargingX(Integer.valueOf(sysDictRedis.getValue()))
|
|
|
+ .setTimeout(now)
|
|
|
+ .setCreateTime(now)
|
|
|
+ );
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
deviceInfoService.updateById(updateDeviceInfo);
|
|
|
}
|
|
|
}
|