Browse Source

Merge remote-tracking branch 'origin/test' into test

李进 1 năm trước cách đây
mục cha
commit
7eca0809cc

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

@@ -654,6 +654,27 @@ public class DeviceInfoServiceImpl extends ServiceImpl<DeviceInfoMapper, DeviceI
         } else {
             dto.setActiveState("1");
         }
+
+
+        Integer busyStatus = dto.getBusyStatus();
+        Integer onlineStatus = dto.getOnlineStatus();
+        Integer deviceType = dto.getDeviceType();
+        //条件查询 在线状态,运营状态,设备类型,
+        List<Long> deviceIdList = new ArrayList<>();
+        if (deviceId != null) {
+            deviceIdList.add(deviceId);
+        }
+        if (onlineStatus != null) {
+            List<DeviceStatus> deviceStatusList = deviceStatusService.list(Wrappers.<DeviceStatus>lambdaQuery()
+                    .eq(onlineStatus != null, DeviceStatus::getNetState, onlineStatus)
+            );
+            if (CollUtil.isNotEmpty(deviceStatusList)) {
+                List<Long> dbDeviceIdList = deviceStatusList.stream().map(DeviceStatus::getDeviceId).collect(Collectors.toList());
+                deviceIdList.addAll(dbDeviceIdList);
+            }
+        }
+        dto.setDeviceIdList(deviceIdList);
+
         List<DeviceInfoDto.MercHomeCountVO> list = this.baseMapper.merHomeCountList(dto);
         if (CollUtil.isEmpty(list)) {
             return R.ok(Collections.emptyList());
@@ -664,7 +685,9 @@ public class DeviceInfoServiceImpl extends ServiceImpl<DeviceInfoMapper, DeviceI
         //非质检商户才需要激活
         lqw.eq(!isQa, DeviceInfo::getActiveState, DeviceActiveStateEnum.TRUE.getCode());
         lqw.eq(mercId != null, DeviceInfo::getMercId, mercId);
-        lqw.eq(deviceId != null, DeviceInfo::getDeviceId, deviceId);
+        lqw.eq(busyStatus != null, DeviceInfo::getBusyState, busyStatus);
+        lqw.eq(deviceType != null, DeviceInfo::getDeviceType, deviceType);
+        lqw.in(CollUtil.isNotEmpty(deviceIdList), DeviceInfo::getDeviceId, deviceIdList);
         lqw.like(StrUtil.isNotEmpty(deviceName), DeviceInfo::getDeviceName, deviceName).orderByAsc(true, DeviceInfo::getDeviceName, DeviceInfo::getDeviceId);
         List<DeviceInfo> deviceInfoList = this.list(lqw);
         //未分配线路的设置默认值

+ 15 - 2
device-api-service/src/main/resources/mapper/DeviceInfoMapper.xml

@@ -308,15 +308,28 @@
                 active_state = #{query.activeState}
             </if>
 
+            <if test="query.busyStatus != null  ">
+                busy_state = #{query.busyStatus}
+            </if>
+
+            <if test="query.deviceType != null  ">
+                device_type = #{deviceType}
+            </if>
+
             <if test="query.mercId != null">
                 and merc_id = #{query.mercId}
             </if>
             <if test="query.deviceName != null and query.deviceName != ''">
                 and device_name like concat('%', #{query.deviceName}, '%')
             </if>
-            <if test="query.deviceId != null">
-                and device_id = #{query.deviceId}
+            <if test="query.deviceIdList != null and query.deviceIdList.size>0 ">
+                and device_id in
+                <foreach collection="query.deviceIdList" index="index" item="item" open="(" separator="," close=")">
+                    #{item}
+                </foreach>
             </if>
+
+
         </where>
         group by place_line_id
     </select>

+ 12 - 1
device-api/src/main/java/com/xy/dto/DeviceInfoDto.java

@@ -652,7 +652,6 @@ public class DeviceInfoDto {
         @ApiModelProperty(value = "商户id")
         private Long mercId;
 
-
         @ApiModelProperty(value = "设备名称")
         private String deviceName;
 
@@ -662,6 +661,18 @@ public class DeviceInfoDto {
         @ApiModelProperty("激活状态")
         private String activeState;
 
+        @ApiModelProperty("在线状态-字典类型:device_online_status(1-在线,2-离线)")
+        private Integer onlineStatus;
+
+        @ApiModelProperty("运营状态-字典类型:device_busy_status(1-运营中,2-已停运)")
+        private Integer busyStatus;
+
+        @ApiModelProperty("设备类型-字典类型:device_type")
+        private Integer deviceType;
+
+        @ApiModelProperty(value = "设备ID", hidden = true)
+        private List<Long> deviceIdList;
+
     }