谭斌 2 gadi atpakaļ
vecāks
revīzija
7b1e0aa8ae

+ 4 - 6
device-api-service/src/main/java/com/xy/service/DeviceInfoServiceImpl.java

@@ -412,17 +412,15 @@ public class DeviceInfoServiceImpl extends ServiceImpl<DeviceInfoMapper, DeviceI
         lqw.eq(deviceId != null, DeviceInfo::getDeviceId, deviceId);
         lqw.like(StrUtil.isNotEmpty(deviceName), DeviceInfo::getDeviceName, deviceName);
         List<DeviceInfo> deviceInfoList = this.list(lqw);
+        //未分配线路的设置默认值
+        deviceInfoList.stream().filter(s -> s.getPlaceLineId() == null).forEach(s -> s.setPlaceLineId(-1L));
+        //根据线路id分组
+        Map<Long, List<DeviceInfo>> deviceMap = deviceInfoList.stream().collect(Collectors.groupingBy(DeviceInfo::getPlaceLineId));
         list.forEach(v -> {
             DeviceInfoDto.MercHomeListVO vo = new DeviceInfoDto.MercHomeListVO();
             Long placeLineId = v.getPlaceLineId();
-            if (placeLineId.longValue() == -1) {
-                //未分配线路的,也就是 其他设备
-            }
             vo.setDeviceNum(v.getDeviceNum());
             vo.setPlaceLineId(v.getPlaceLineId());
-            //TODO: 线路名称反显在商户服务进行
-            //根据线路id分组
-            Map<Long, List<DeviceInfo>> deviceMap = deviceInfoList.stream().collect(Collectors.groupingBy(DeviceInfo::getPlaceLineId));
             //线路下的设备列表
             List<DeviceInfoDto.MercHomeDeviceVo> deviceInfos = Beans.copy(DeviceInfoDto.MercHomeDeviceVo.class, deviceMap.get(placeLineId));
             deviceInfos.forEach(device -> {

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

@@ -226,7 +226,7 @@
     <select id="merHomeCountList" resultType="com.xy.dto.DeviceInfoDto$MercHomeCountVO">
         select count(*) deviceNum, IFNULL(place_line_id,-1) placeLineId
         from device_info
-        group by place_line_id
+
         <where>
             <if test="query.mercId != null">
                 and merc_id = #{query.mercId}
@@ -238,5 +238,6 @@
                 and device_id = #{query.deviceId}
             </if>
         </where>
+        group by place_line_id
     </select>
 </mapper>