ソースを参照

Merge branch 'refs/heads/master' into master-商品重构2阶段

tanbin 7 ヶ月 前
コミット
8690f2bcfe

+ 22 - 0
device-api-service/src/main/java/com/xy/service/DeviceInfoServiceImpl.java

@@ -32,6 +32,7 @@ import com.xy.dto.common.MercPlaceDto;
 import com.xy.dto.device.DeviceQueryDTO;
 import com.xy.dto.device.DeviceRegDTO;
 import com.xy.dto.mini.MiniDeviceInfoDto;
+import com.xy.dto.nfc.ActiveDeviceDTO;
 import com.xy.entity.*;
 import com.xy.enums.FileExportType;
 import com.xy.error.CommRuntimeException;
@@ -1906,4 +1907,25 @@ public class DeviceInfoServiceImpl extends ServiceImpl<DeviceInfoMapper, DeviceI
         List<DeviceInfoDto.MercNormalListVo> copy = copy(DeviceInfoDto.MercNormalListVo.class, list);
         return R.ok(copy);
     }
+
+    @PostMapping("nfcActive")
+    @ApiOperation("nfc设备激活")
+    public R<Boolean> nfcActive(@RequestBody @Validated ActiveDeviceDTO dto) {
+        String terminalId = dto.getTerminalId();
+        DeviceInfo deviceInfo = this.getById(Long.valueOf(terminalId));
+        if (deviceInfo == null) {
+            throw new CommRuntimeException("设备不存在!");
+        }
+        String deviceName = deviceInfo.getDeviceName();
+        if (StrUtil.isEmpty(deviceName)) {
+            deviceName = terminalId;
+        }
+        dto.setDeviceName(deviceName);
+
+        Boolean b = R.feignCheckData(alipayDeviceService.nfcDeviceActive(dto));
+        if (BooleanUtil.isFalse(b)) {
+            throw new RuntimeException("NFC设备激活失败!");
+        }
+        return R.ok(true);
+    }
 }

+ 10 - 8
device-api-service/src/main/java/com/xy/service/DeviceMqttConsumerImpl.java

@@ -411,14 +411,7 @@ public class DeviceMqttConsumerImpl implements DeviceMqttConsumer {
         } catch (Exception e) {
             return;
         }
-        DeviceSysinfo deviceSysinfo = deviceSysinfoService.getById(deviceId);
-        if (deviceSysinfo != null) {
-            Boolean isHaveAlipayNpad = deviceSysinfo.getIsHaveAlipayNpad();
-            if (BooleanUtil.isTrue(isHaveAlipayNpad)) {
-                //nfc 同步上位机状态
-                alipayDeviceService.upperDeviceStatusSync(new UpperDeviceStatusDTO().setTerminalId(String.valueOf(deviceId)).setOnline(netState == 1));
-            }
-        }
+       
         //上报状态
         DeviceStatusDto.Up up = new DeviceStatusDto.Up().setDeviceId(deviceId);
         up.setNetState(netState);
@@ -428,6 +421,15 @@ public class DeviceMqttConsumerImpl implements DeviceMqttConsumer {
                 .setDeviceId(deviceId);
         save.setNetStatus(netState);
         deviceNetRecordService.save(save);
+
+        DeviceSysinfo deviceSysinfo = deviceSysinfoService.getById(deviceId);
+        if (deviceSysinfo != null) {
+            Boolean isHaveAlipayNpad = deviceSysinfo.getIsHaveAlipayNpad();
+            if (BooleanUtil.isTrue(isHaveAlipayNpad)) {
+                //nfc 同步上位机状态
+                alipayDeviceService.upperDeviceStatusSync(new UpperDeviceStatusDTO().setTerminalId(String.valueOf(deviceId)).setOnline(netState == 1));
+            }
+        }
     }
 
 }