Prechádzať zdrojové kódy

nfc设备重置解绑

tanbin 9 mesiacov pred
rodič
commit
0b3bb87e08

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

@@ -365,7 +365,12 @@ public class MercMiniDeviceController {
     @PostMapping("restActive")
     @ApiOperation("重置设备激活")
     public R restActive(@RequestBody @Validated MercMiniDeviceDto.RestActive restActive) {
-        DeviceInfo deviceInfo = deviceInfoService.getById(restActive.getDeviceId());
+        DeviceInfoDto.Vo deviceInfo = deviceInfoService.obj(new DeviceInfoDto.Obj().setDeviceId(restActive.getDeviceId()).setIsSysinfo(true)).getData();
+        DeviceSysinfoDto.Vo deviceSysinfo = deviceInfo.getDeviceSysinfo();
+        if (deviceSysinfo != null) {
+            restActive.setNfcSn(deviceSysinfo.getNfcSn());
+        }
+
         return FactoryUtils.getServiceRoute(DeviceFactory.class, deviceInfo.getDeviceType()).restActive(restActive);
     }
 

+ 12 - 1
device-api-service/src/main/java/com/xy/service/factory/device/impl/open/OpenDeviceFactoryImpl.java

@@ -16,6 +16,7 @@ import com.xy.device.EnumDeviceBusyStatus;
 import com.xy.dto.*;
 import com.xy.dto.be.MercDto;
 import com.xy.dto.nfc.ActiveDeviceDTO;
+import com.xy.dto.nfc.ResetDeviceDTO;
 import com.xy.entity.*;
 import com.xy.enums.SysCodeConfigureEnum;
 import com.xy.mapper.DeviceCreateIdsMapper;
@@ -231,7 +232,16 @@ public class OpenDeviceFactoryImpl implements DeviceFactory {
 
     @Override
     public R restActive(MercMiniDeviceDto.RestActive restActive) {
-        deviceChargingService.removeById(restActive.getDeviceId());
+        Long deviceId = restActive.getDeviceId();
+        String nfcSn = restActive.getNfcSn();
+        //nfc解绑重置
+        if (StrUtil.isNotEmpty(nfcSn)) {
+            String loginId = AuthorizeUtils.getLoginId(String.class);
+            ResetDeviceDTO resetParams = new ResetDeviceDTO().setOperatorId(loginId).setOperatorName(loginId).setRemark("设备激活重置").setTerminalId(String.valueOf(deviceId));
+            alipayDeviceService.nfcDeviceReset(resetParams);
+            R.feignCheckData(alipayDeviceService.nfcDeviceReset(resetParams));
+        }
+        deviceChargingService.removeById(deviceId);
         deviceAlgorithmChargingService.remove(new LambdaQueryWrapper<DeviceAlgorithmCharging>()
                 .eq(DeviceAlgorithmCharging::getDeviceId, restActive.getDeviceId())
         );
@@ -240,6 +250,7 @@ public class OpenDeviceFactoryImpl implements DeviceFactory {
                 .set(DeviceInfo::getActiveTime, null)
                 .eq(DeviceInfo::getDeviceId, restActive.getDeviceId())
         );
+
         return R.ok();
     }
 

+ 2 - 0
device-api/src/main/java/com/xy/dto/MercMiniDeviceDto.java

@@ -87,6 +87,8 @@ public class MercMiniDeviceDto {
         @NotNull(message = "deviceId不能为空")
         @ApiModelProperty("设备id")
         private Long deviceId;
+        @ApiModelProperty("nfcSN")
+        private String nfcSn;
 
     }