Sfoglia il codice sorgente

设备管理费修改

李进 2 anni fa
parent
commit
700fdaaadb

+ 2 - 0
device-api-service/src/main/java/com/xy/alipay/AliPayDeviceControllerJob.java

@@ -91,4 +91,6 @@ public class AliPayDeviceControllerJob {
         return R.ok();
     }
 
+
+
 }

+ 28 - 0
device-api-service/src/main/java/com/xy/alipay/SpiDeviceServiceImpl.java

@@ -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);
     }
 }