谭斌 2 лет назад
Родитель
Сommit
5e937ce805

+ 20 - 3
device-api-service/src/main/java/com/xy/service/DeviceInfoServiceImpl.java

@@ -1,7 +1,9 @@
 package com.xy.service;
 package com.xy.service;
 
 
 import cn.hutool.core.collection.CollUtil;
 import cn.hutool.core.collection.CollUtil;
+import cn.hutool.core.util.StrUtil;
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
 import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.core.toolkit.Wrappers;
 import com.baomidou.mybatisplus.core.toolkit.Wrappers;
@@ -300,12 +302,27 @@ public class DeviceInfoServiceImpl extends ServiceImpl<DeviceInfoMapper, DeviceI
 
 
     @Override
     @Override
     public R<List<DeviceInfoDto.Vo>> listCommon(DeviceInfoDto.ListCommon dto) {
     public R<List<DeviceInfoDto.Vo>> listCommon(DeviceInfoDto.ListCommon dto) {
-        LambdaQueryWrapper<DeviceInfo> lambdaQueryWrapper = new MybatisPlusQuery().eqWrapper(dto.getVo(), DeviceInfo.class).build();
+        String deviceSearch = dto.getDeviceSearch();
+        QueryWrapper<DeviceInfo> queryWrapper = new MybatisPlusQuery().eqWrapper(dto.getVo(), DeviceInfo.class).buildQW();
         List<Long> placeLineIds = dto.getPlaceLineIds();
         List<Long> placeLineIds = dto.getPlaceLineIds();
+        List<Long> deviceIds = dto.getDeviceIds();
+        List<String> columnList = dto.getColumnList();
         if (CollUtil.isNotEmpty(placeLineIds)) {
         if (CollUtil.isNotEmpty(placeLineIds)) {
-            lambdaQueryWrapper.eq(DeviceInfo::getPlaceId, placeLineIds);
+            queryWrapper.eq(LambdaUtils.getProperty(DeviceInfo::getPlaceLineId), placeLineIds);
         }
         }
-        return R.ok(copy(DeviceInfoDto.Vo.class, list(lambdaQueryWrapper)));
+
+        if (StrUtil.isNotEmpty(deviceSearch)) {
+            queryWrapper.and(wrapper -> wrapper.likeRight(LambdaUtils.getProperty(DeviceInfo::getDeviceName), deviceSearch).or()
+                    .eq(LambdaUtils.getProperty(DeviceInfo::getMercDeviceCode), deviceSearch));
+        }
+
+        if (CollUtil.isNotEmpty(columnList)) {
+            queryWrapper.select(columnList.stream().toArray(String[]::new));
+        }
+        if (CollUtil.isNotEmpty(deviceIds)) {
+            queryWrapper.eq(LambdaUtils.getProperty(DeviceInfo::getDeviceId), deviceIds);
+        }
+        return R.ok(copy(DeviceInfoDto.Vo.class, list(queryWrapper)));
     }
     }
 
 
     /**
     /**

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

@@ -49,10 +49,20 @@ public class DeviceInfoDto {
     @Data
     @Data
     @Accessors(chain = true)
     @Accessors(chain = true)
     public static class ListCommon {
     public static class ListCommon {
-        @ApiModelProperty("线路id")
+        @ApiModelProperty("设备信息VO")
         Vo vo;
         Vo vo;
         @ApiModelProperty("线路id多个")
         @ApiModelProperty("线路id多个")
         private List<Long> placeLineIds;
         private List<Long> placeLineIds;
+
+        @ApiModelProperty("id")
+        private List<Long> deviceIds;
+
+
+        @ApiModelProperty("指定字段查询")
+        private List<String> columnList;
+
+        @ApiModelProperty(value = "根据名称或编码搜索")
+        private String deviceSearch;
     }
     }
 
 
     @Data
     @Data