Sfoglia il codice sorgente

Merge branch 'master' into prod

hechunping 1 anno fa
parent
commit
c4f620fa6a

+ 25 - 38
device-api-service-merc-mini/src/main/java/com/xy/controller/MercMiniDeviceController.java

@@ -57,28 +57,37 @@ import static com.xy.utils.Beans.copy;
 @Api(tags = "小程序-设备")
 public class MercMiniDeviceController {
 
+    /**
+     * auth-code有效期30分钟,单位:s ,
+     */
+    public static final Integer AUTH_CODE_TIMEOUT = 1800;
     private final MercFeignService mercFeignService;
-
     private final DeviceInfoServiceImpl deviceInfoService;
-
     private final DeviceSysinfoServiceImpl deviceSysinfoService;
-
     private final MercPlaceService mercPlaceService;
-
     private final MercLineService mercLineService;
-
     private final DeviceBluetoothAuthServiceImpl deviceBluetoothAuthService;
-
     private final DeviceTempRecordsServiceImpl deviceTempRecordsService;
-
     private final AlipayDeviceService alipayDeviceService;
-
     private final DeviceStatusServiceImpl deviceStatusService;
-
     private final DeviceConfigServiceImpl deviceConfigService;
-
     private final DeviceTempSetServiceImpl deviceTempSetService;
 
+    public static void setCacheAuthCode(Long deviceId, String code) {
+        RedisService<String> redisService = SpringBeanUtils.getBean(RedisService.class);
+        redisService.set("device:auth:code:" + deviceId, code, AUTH_CODE_TIMEOUT);
+    }
+
+    public static String getCacheAuthCode(Long deviceId) {
+        RedisService<String> redisService = SpringBeanUtils.getBean(RedisService.class);
+        return redisService.get("device:auth:code:" + deviceId);
+    }
+
+    public static void delCacheAuthCode(Long deviceId) {
+        RedisService<String> redisService = SpringBeanUtils.getBean(RedisService.class);
+        redisService.remove("device:auth:code:" + deviceId);
+    }
+
     @ApiOperation("解绑商户")
     @PostMapping("unBindMercDevice")
     R<Boolean> unBindMercDevice(@RequestBody @Validated DeviceInfoDto.MercDeviceUnBindDto dto) {
@@ -151,7 +160,6 @@ public class MercMiniDeviceController {
         return deviceInfoService.mercHomeStatistical(dto);
     }
 
-
     @ApiOperation("设备列表-Id&Name")
     @PostMapping("listOfIdName")
     public R listOfIdName() {
@@ -193,9 +201,13 @@ public class MercMiniDeviceController {
             Long placeId = vo.getPlaceId();
             List<MercPlaceDto.Vo> merPlaceList = R.feignCheckData(mercPlaceService.list(new MercPlaceDto.ListDto().setIds(CollUtil.newArrayList(placeId))));
             MercPlaceDto.Vo mercPlace = CollUtil.isNotEmpty(merPlaceList) ? merPlaceList.get(0) : null;
-            vo.setPlaceName(mercPlace == null ? StrUtil.EMPTY : mercPlace.getPlaceName());
+            if (Emptys.check(mercPlace)) {
+                vo.setDistrictName(mercPlace.getRegionName());
+                vo.setPlaceName(mercPlace.getPlaceName());
+            }
+
             //返显区域名称
-            vo.setDistrictName(mercPlace.getRegionName());
+
             DeviceStatusDto.Vo deviceStatus = vo.getDeviceStatus();
             vo.setNetStateName(deviceStatus == null ? StrUtil.EMPTY : DeviceNetSateType.getEnumByCode(deviceStatus.getNetState()).getDescription());
             if (deviceStatus != null) {
@@ -359,14 +371,12 @@ public class MercMiniDeviceController {
         return R.ok();
     }
 
-
     @ApiOperation("当前登录用户拥有的设备")
     @PostMapping("myDevices")
     R<List<Long>> myDevices() {
         return R.ok(getMyDevices());
     }
 
-
     /**
      * 获取登录人的设备
      *
@@ -431,7 +441,6 @@ public class MercMiniDeviceController {
         return R.ok(deviceBluetoothAuthService.save(saveInfo));
     }
 
-
     @PostMapping("verificationCode")
     @ApiOperation("蓝牙开门-校验并使用授权码")
     public R<Boolean> verificationCode(@RequestBody @Validated DeviceBluetoothAuthDto.VerificationCode dto) {
@@ -465,26 +474,4 @@ public class MercMiniDeviceController {
         return R.ok(deviceBluetoothAuthService.saveOrUpdate(deviceBluetoothAuth));
     }
 
-
-    /**
-     * auth-code有效期30分钟,单位:s ,
-     */
-    public static final Integer AUTH_CODE_TIMEOUT = 1800;
-
-
-    public static void setCacheAuthCode(Long deviceId, String code) {
-        RedisService<String> redisService = SpringBeanUtils.getBean(RedisService.class);
-        redisService.set("device:auth:code:" + deviceId, code, AUTH_CODE_TIMEOUT);
-    }
-
-    public static String getCacheAuthCode(Long deviceId) {
-        RedisService<String> redisService = SpringBeanUtils.getBean(RedisService.class);
-        return redisService.get("device:auth:code:" + deviceId);
-    }
-
-    public static void delCacheAuthCode(Long deviceId) {
-        RedisService<String> redisService = SpringBeanUtils.getBean(RedisService.class);
-        redisService.remove("device:auth:code:" + deviceId);
-    }
-
 }

+ 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();
     }
 }