Эх сурвалжийг харах

Merge remote-tracking branch 'origin/master'

lijin 8 сар өмнө
parent
commit
5a3816d98a

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

@@ -500,4 +500,24 @@ public class MercMiniDeviceController {
         return R.ok(deviceBluetoothAuthService.saveOrUpdate(deviceBluetoothAuth));
     }
 
+
+    @ApiOperation("支付宝Npad音量设置")
+    @PostMapping("setAliNpadVol")
+    public R<Boolean> setAliNpadVol(@RequestBody @Validated DeviceInfoDto.NfcVol nfcVol) {
+        String deviceId = nfcVol.getDeviceId();
+        DeviceSetAttr dto = new DeviceSetAttr();
+        dto.setType("VOL").setTerminalId(deviceId).setValue(nfcVol.getValue());
+        return R.ok(R.feignCheckData(alipayDeviceService.setAttributes(dto)));
+    }
+
+
+    @ApiOperation("音量、温度查询")
+    @PostMapping("queryAliNpadVol")
+    public R<Boolean> queryAliNpadVol(@RequestBody DeviceInfoDto.NfcVolQuery dto) {
+        DeviceQueryAttr deviceQueryAttr = new DeviceQueryAttr();
+        deviceQueryAttr.setTerminalId(dto.getDeviceId());
+        deviceQueryAttr.setType("VOL");
+        return R.ok(R.feignCheckData(alipayDeviceService.queryAttributes(deviceQueryAttr)));
+    }
+
 }

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

@@ -1358,6 +1358,7 @@ public class DeviceInfoServiceImpl extends ServiceImpl<DeviceInfoMapper, DeviceI
                         goodsDevice = goodsDevice.stream().filter(g -> g.getGoodsId() != 1 && g.getGoodsId() != 2).collect(Collectors.toList());
                         device.setOnSaleNum(goodsDevice.stream().mapToInt(GoodsDeviceDto.Vo::getStock).sum());
                         device.setFillNum(goodsDevice.stream().mapToInt(GoodsDeviceDto.Vo::getFillCount).sum());
+                        device.setCapacity(goodsDevice.stream().mapToInt(GoodsDeviceDto.Vo::getCapacity).sum());
                     }
                 }
                 // 温控仪 反显

+ 13 - 0
device-api-service/src/main/java/com/xy/service/DeviceMqttConsumerImpl.java

@@ -16,6 +16,7 @@ import com.xy.device.EnumDeviceOnlineStatus;
 import com.xy.dto.*;
 import com.xy.dto.be.MercDto;
 import com.xy.dto.be.MercUserDeviceDto;
+import com.xy.dto.nfc.UpperDeviceStatusDTO;
 import com.xy.entity.*;
 import com.xy.enums.ChannelType;
 import com.xy.enums.MsgConfigId;
@@ -60,6 +61,10 @@ public class DeviceMqttConsumerImpl implements DeviceMqttConsumer {
 
     private DeviceFaultInfoServiceImpl deviceFaultInfoService;
 
+    private DeviceSysinfoServiceImpl deviceSysinfoService;
+
+    private AlipayDeviceService alipayDeviceService;
+
     @Override
     @ApiOperation("设备在线")
     @Async(DeviceThreadPoolConfig.DEVICE_NETWORK_POLL)
@@ -406,6 +411,14 @@ 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);

+ 6 - 0
device-api/src/main/java/com/xy/dto/DeviceInfoDto.java

@@ -26,6 +26,7 @@ import java.util.List;
 @Data
 @Accessors(chain = true)
 public class DeviceInfoDto {
+
     /**
      * 删除线路\点位时时指定 传入 wherePlaceLineId\wherePlaceId
      */
@@ -545,6 +546,8 @@ public class DeviceInfoDto {
         @ApiModelProperty("是否查询故障设备")
         private Boolean fault;
 
+        @ApiModelProperty("是否有nfc")
+        private Boolean isHaveNfc;
 
         @ApiModelProperty("是否导出当前页")
         private Boolean exportPage = true;
@@ -1200,6 +1203,9 @@ public class DeviceInfoDto {
         @ApiModelProperty("补货数")
         private Integer fillNum;
 
+        @ApiModelProperty(value = "单机容量")
+        private Integer capacity;
+
 
         @ApiModelProperty("左门锁机状态名称")
         private String deviceStateLName;