|
@@ -1,38 +1,33 @@
|
|
|
package com.xy.controller;
|
|
|
|
|
|
import cn.hutool.core.collection.CollUtil;
|
|
|
+import cn.hutool.core.util.BooleanUtil;
|
|
|
+import cn.hutool.core.util.ObjectUtil;
|
|
|
import cn.hutool.core.util.StrUtil;
|
|
|
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
|
|
|
import com.xy.annotate.RestMappingController;
|
|
|
import com.xy.device.EnumDeviceActiveStatus;
|
|
|
import com.xy.device.EnumDeviceFreezeStatus;
|
|
|
import com.xy.device.EnumDeviceType;
|
|
|
-import com.xy.dto.DeviceBluetoothAuthDto;
|
|
|
-import com.xy.dto.DeviceInfoDto;
|
|
|
-import com.xy.dto.DeviceStatusDto;
|
|
|
-import com.xy.dto.MercMiniDeviceDto;
|
|
|
+import com.xy.dto.*;
|
|
|
import com.xy.dto.be.MercDto;
|
|
|
import com.xy.dto.common.MercLineDto;
|
|
|
import com.xy.dto.common.MercPlaceDto;
|
|
|
import com.xy.dto.mini.MiniMercRegionDto;
|
|
|
-import com.xy.entity.DeviceBluetoothAuth;
|
|
|
-import com.xy.entity.DeviceInfo;
|
|
|
-import com.xy.entity.DeviceSysinfo;
|
|
|
-import com.xy.entity.DeviceTempRecords;
|
|
|
+import com.xy.entity.*;
|
|
|
import com.xy.enums.MercStatus;
|
|
|
-import com.xy.service.DeviceBluetoothAuthServiceImpl;
|
|
|
-import com.xy.service.DeviceInfoServiceImpl;
|
|
|
-import com.xy.service.DeviceSysinfoServiceImpl;
|
|
|
-import com.xy.service.DeviceTempRecordsServiceImpl;
|
|
|
+import com.xy.service.*;
|
|
|
import com.xy.service.be.MercFeignService;
|
|
|
import com.xy.service.common.MercLineService;
|
|
|
import com.xy.service.common.MercPlaceService;
|
|
|
import com.xy.service.factory.device.DeviceFactory;
|
|
|
import com.xy.utils.*;
|
|
|
+import com.xy.utils.Enum.AlgorithmTypeEnum;
|
|
|
import com.xy.utils.enums.DeviceActiveStateEnum;
|
|
|
import com.xy.utils.enums.DeviceAuthCodeUseStatus;
|
|
|
import com.xy.utils.enums.DeviceLockState;
|
|
|
import com.xy.utils.enums.DeviceNetSateType;
|
|
|
+import com.xy.vo.DeviceDetailVO;
|
|
|
import io.swagger.annotations.Api;
|
|
|
import io.swagger.annotations.ApiOperation;
|
|
|
import lombok.AllArgsConstructor;
|
|
@@ -76,6 +71,10 @@ public class MercMiniDeviceController {
|
|
|
|
|
|
private final DeviceTempRecordsServiceImpl deviceTempRecordsService;
|
|
|
|
|
|
+ private final AlipayDeviceService alipayDeviceService;
|
|
|
+
|
|
|
+ private final DeviceStatusServiceImpl deviceStatusService;
|
|
|
+
|
|
|
@ApiOperation("商户设备首页统计")
|
|
|
@PostMapping("mercHomeStatistical")
|
|
|
public R<DeviceInfoDto.MercHomeStatisticalVO> mercHomeStatistical(@RequestBody @Valid DeviceInfoDto.MercHomeQueryDTO dto) {
|
|
@@ -113,7 +112,7 @@ public class MercMiniDeviceController {
|
|
|
R<DeviceInfoDto.Vo> r = deviceInfoService.obj(obj);
|
|
|
DeviceInfoDto.Vo vo = r.getData();
|
|
|
if (vo != null) {
|
|
|
-
|
|
|
+ Long algorithmId = vo.getAlgorithmId();
|
|
|
//点位
|
|
|
Long placeId = vo.getPlaceId();
|
|
|
List<MercPlaceDto.Vo> merPlaceList = R.feignCheckData(mercPlaceService.list(new MercPlaceDto.ListDto().setIds(CollUtil.newArrayList(placeId))));
|
|
@@ -153,8 +152,22 @@ public class MercMiniDeviceController {
|
|
|
DeviceLockState deviceLockStateR = DeviceLockState.getEnumByCode(deviceStateR);
|
|
|
vo.setDeviceStateRName(deviceLockStateR == null ? "未知" : deviceLockStateR.getDescription());
|
|
|
vo.setDeviceStateLName(deviceLockStateL == null ? "未知" : deviceLockStateL.getDescription());
|
|
|
+
|
|
|
+ if (AlgorithmTypeEnum.ALIPAY.getId() == algorithmId) {
|
|
|
+ //支付宝状态实时返回
|
|
|
+ DeviceDetailVO deviceDetailVO = alipayDeviceService.queryDetail(new DeviceDetailDTO().setTerminalId(String.valueOf(vo.getDeviceId())));
|
|
|
+ Boolean online = deviceDetailVO.getOnline();
|
|
|
+ Integer netState = BooleanUtil.isTrue(online) ? DeviceNetSateType.CONNECTED.getCode() : DeviceNetSateType.DISCONNECT.getCode();
|
|
|
+ if (!ObjectUtil.equals(netState, deviceStatus.getNetState())) {
|
|
|
+ //存在差异更新设备状态表
|
|
|
+ deviceStatusService.updateById(new DeviceStatus().setDeviceId(vo.getDeviceId()).setNetState(netState));
|
|
|
+ }
|
|
|
+ deviceStatus.setNetState(netState);
|
|
|
+ vo.setDeviceStatus(deviceStatus);
|
|
|
+ }
|
|
|
}
|
|
|
|
|
|
+
|
|
|
}
|
|
|
return R.ok(vo);
|
|
|
}
|