瀏覽代碼

蓝牙授权,sn重复取最新一条记录

tanbin 1 月之前
父節點
當前提交
2cd7dfaec9

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

@@ -430,10 +430,11 @@ public class MercMiniDeviceController {
     @ApiOperation("蓝牙开门-生成授权码")
     public R<Boolean> genCode(@RequestBody @Validated DeviceBluetoothAuthDto.GenCode dto) {
         String deviceSn = dto.getDeviceSn();
-        DeviceSysinfo deviceSysinfo = deviceSysinfoService.getOne(Wrappers.<DeviceSysinfo>lambdaQuery().eq(DeviceSysinfo::getDeviceSn, deviceSn));
-        if (deviceSysinfo == null) {
+        List<DeviceSysinfo> list = deviceSysinfoService.list(Wrappers.<DeviceSysinfo>lambdaQuery().eq(DeviceSysinfo::getDeviceSn, deviceSn).orderByDesc(DeviceSysinfo::getCreateTime));
+        if (CollUtil.isEmpty(list)) {
             return R.fail("设备不存在!");
         }
+        DeviceSysinfo deviceSysinfo = list.get(0);
         Long deviceId = deviceSysinfo.getDeviceId();
         // 用户输入的
         String authCode = dto.getAuthCode();
@@ -472,10 +473,11 @@ public class MercMiniDeviceController {
     @ApiOperation("蓝牙开门-校验并使用授权码")
     public R<Boolean> verificationCode(@RequestBody @Validated DeviceBluetoothAuthDto.VerificationCode dto) {
         String deviceSn = dto.getDeviceSn();
-        DeviceSysinfo deviceSysinfo = deviceSysinfoService.getOne(Wrappers.<DeviceSysinfo>lambdaQuery().eq(DeviceSysinfo::getDeviceSn, deviceSn));
-        if (deviceSysinfo == null) {
+        List<DeviceSysinfo> list = deviceSysinfoService.list(Wrappers.<DeviceSysinfo>lambdaQuery().eq(DeviceSysinfo::getDeviceSn, deviceSn).orderByDesc(DeviceSysinfo::getCreateTime));
+        if (CollUtil.isEmpty(list)) {
             return R.fail("设备不存在!");
         }
+        DeviceSysinfo deviceSysinfo = list.get(0);
         Long deviceId = deviceSysinfo.getDeviceId();
         String authCode = dto.getAuthCode();
         String cacheAuthCode = getCacheAuthCode(deviceId);