|
@@ -15,6 +15,7 @@ import com.xy.device.EnumDeviceActiveStatus;
|
|
|
import com.xy.device.EnumDeviceBusyStatus;
|
|
|
import com.xy.dto.*;
|
|
|
import com.xy.dto.be.MercDto;
|
|
|
+import com.xy.dto.nfc.ActiveDeviceDTO;
|
|
|
import com.xy.entity.*;
|
|
|
import com.xy.enums.SysCodeConfigureEnum;
|
|
|
import com.xy.mapper.DeviceCreateIdsMapper;
|
|
@@ -74,6 +75,7 @@ public class OpenDeviceFactoryImpl implements DeviceFactory {
|
|
|
private DeviceFaultMonitorConfigServiceImpl deviceFaultMonitorConfigService;
|
|
|
|
|
|
private MercService mercService;
|
|
|
+ private AlipayDeviceService alipayDeviceService;
|
|
|
|
|
|
@Override
|
|
|
public R save(DeviceRegisterDto.Save save) {
|
|
@@ -193,6 +195,18 @@ public class OpenDeviceFactoryImpl implements DeviceFactory {
|
|
|
List<DeviceInfo> activeList = new ArrayList<>();
|
|
|
JMap<Long, MercMiniDeviceDto.ActiveVo> cover = new JArrayList<>(result).toMap(MercMiniDeviceDto.ActiveVo::getDeviceId).cover();
|
|
|
deviceIds.forEach(deviceId -> {
|
|
|
+ DeviceInfoDto.Vo dv = R.feignCheckData(deviceInfoService.obj(new DeviceInfoDto.Obj().setDeviceId(deviceId).setIsSysinfo(Boolean.TRUE)));
|
|
|
+ DeviceSysinfoDto.Vo deviceSysinfo = dv.getDeviceSysinfo();
|
|
|
+ if (deviceSysinfo != null && StrUtil.isNotEmpty(deviceSysinfo.getNfcSn())) {
|
|
|
+ // NFC 支付宝碰一下激活
|
|
|
+ ActiveDeviceDTO activeDeviceDTO = new ActiveDeviceDTO().setTerminalId(String.valueOf(deviceId))
|
|
|
+ .setDeviceName(dv.getDeviceName())
|
|
|
+ .setBoardSn(deviceSysinfo.getDeviceSn()).setNfcSn(deviceSysinfo.getNfcSn()).setAddress(dv.getPlaceName());
|
|
|
+ Boolean b = R.feignCheckData(alipayDeviceService.nfcDeviceActive(activeDeviceDTO));
|
|
|
+ if (b) {
|
|
|
+ throw new RuntimeException("NFC设备激活失败");
|
|
|
+ }
|
|
|
+ }
|
|
|
//过滤需要付费的设备
|
|
|
if (cover.containsKey(deviceId)) {
|
|
|
return;
|