Selaa lähdekoodia

流量卡完善

lijin 1 vuosi sitten
vanhempi
commit
98d409a085

+ 10 - 6
device-api-service/src/main/java/com/xy/service/DeviceSimServiceImpl.java

@@ -170,15 +170,19 @@ public class DeviceSimServiceImpl extends ServiceImpl<DeviceSimMapper, DeviceSim
                 //封装过期状态说明
                 DeviceSimDto.Vo sim = record.getSim();
                 if (Emptys.check(sim)) {
-                    String timeoutStatus;
                     LocalDateTime timeout = sim.getTimeout();
-                    long s = DataTime.diff(page.getThisTime(), timeout, "s");
-                    if (s <= 0) {
-                        timeoutStatus = "欠费(" + (~(s / 86400 - 1)) + "天)";
+                    if (timeout == null) {
+                        record.getSim().setTimeoutStatus("未初始化");
                     } else {
-                        timeoutStatus = s <= value * 86400 ? "即将到期(" + s / 86400 + "天)" : "正常(" + s / 86400 + "天)";
+                        String timeoutStatus;
+                        long s = DataTime.diff(page.getThisTime(), timeout, "s");
+                        if (s <= 0) {
+                            timeoutStatus = "欠费(" + (~(s / 86400 - 1)) + "天)";
+                        } else {
+                            timeoutStatus = s <= value * 86400 ? "即将到期(" + s / 86400 + "天)" : "正常(" + s / 86400 + "天)";
+                        }
+                        record.getSim().setTimeoutStatus(timeoutStatus);
                     }
-                    record.getSim().setTimeoutStatus(timeoutStatus);
                 }
                 //封装计费标准
                 record.setChargingName(name).setChargingMoney(money);

+ 20 - 0
device-api-service/src/main/java/com/xy/service/DeviceSysinfoServiceImpl.java

@@ -4,6 +4,7 @@ import cn.hutool.json.JSONUtil;
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.xy.dto.DeviceSysinfoDto;
+import com.xy.entity.DeviceSim;
 import com.xy.entity.DeviceSysinfo;
 import com.xy.mapper.DeviceSysinfoMapper;
 import com.xy.utils.Emptys;
@@ -17,6 +18,7 @@ import org.springframework.stereotype.Service;
 import org.springframework.web.bind.annotation.PostMapping;
 import org.springframework.web.bind.annotation.RequestBody;
 
+import java.time.LocalDateTime;
 import java.util.List;
 
 import static com.xy.utils.Beans.copy;
@@ -35,6 +37,8 @@ import static com.xy.utils.Beans.copy;
 @AllArgsConstructor
 public class DeviceSysinfoServiceImpl extends ServiceImpl<DeviceSysinfoMapper, DeviceSysinfo> implements DeviceSysinfoService {
 
+    private DeviceSimServiceImpl deviceSimService;
+
     @PostMapping("obj")
     @ApiOperation("对象查询")
     public R<DeviceSysinfoDto.Vo> get(@RequestBody DeviceSysinfoDto.Vo vo) {
@@ -60,8 +64,24 @@ public class DeviceSysinfoServiceImpl extends ServiceImpl<DeviceSysinfoMapper, D
     @PostMapping("up")
     @ApiOperation("上报信息")
     public R up(@RequestBody DeviceSysinfoDto.Up up) {
+        //上报信息
         log.info("设备系统信息上报:{}", JSONUtil.toJsonStr(up));
         updateById(copy(DeviceSysinfo.class, up));
+        //同步流量卡
+        DeviceSysinfo deviceSysinfo = getById(up.getDeviceId());
+        String simIccid = deviceSysinfo.getSimIccid();
+        if (Emptys.check(simIccid)) {
+            LocalDateTime now = LocalDateTime.now();
+            DeviceSim deviceSim = deviceSimService.getById(simIccid);
+            if (deviceSim == null) {
+                deviceSim = new DeviceSim()
+                        .setId(simIccid)
+                        .setType(deviceSysinfo.getSimIsp())
+                        .setCreateTime(now)
+                        .setUpdateTime(now);
+                deviceSimService.save(deviceSim);
+            }
+        }
         return R.ok();
     }
 }