Parcourir la source

Merge branch '设备查询通用组件' into test

hechunping il y a 1 an
Parent
commit
4fe0180802

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

@@ -175,6 +175,14 @@ public class MercMiniDeviceController {
         return deviceInfoService.mercDeviceSearchPage(page);
     }
 
+    @PostMapping("simpleDeviceSearchPage")
+    @ApiOperation("小程序-通用商户设备搜索组件")
+    public R<PageBean<DeviceInfoDto.SimpleDeviceSearchPageVo>> simpleDeviceSearchPage(@RequestBody DeviceInfoDto.SimpleDeviceSearchPageDto page) {
+        page.setMercId(MercAuthUtils.getMercId());
+        page.setMyDeviceIds(getMyDevices());
+        return deviceInfoService.simpleDeviceSearchPage(page);
+    }
+
     @ApiOperation("小程序商户设备详情-设备信息")
     @PostMapping("detail")
     R<DeviceInfoDto.Vo> detail(@RequestBody DeviceInfoDto.Obj obj) {

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

@@ -6,7 +6,6 @@ import cn.hutool.core.collection.ListUtil;
 import cn.hutool.core.date.DatePattern;
 import cn.hutool.core.date.DateTime;
 import cn.hutool.core.date.DateUtil;
-import cn.hutool.core.lang.Console;
 import cn.hutool.core.map.MapUtil;
 import cn.hutool.core.text.StrBuilder;
 import cn.hutool.core.util.BooleanUtil;
@@ -22,7 +21,6 @@ import com.baomidou.mybatisplus.core.toolkit.Wrappers;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.xy.collections.list.JArrayList;
 import com.xy.collections.list.JList;
-import com.xy.collections.map.JHashMap;
 import com.xy.collections.map.JMap;
 import com.xy.config.DeviceThreadPoolConfig;
 import com.xy.consts.DictConsts;
@@ -85,14 +83,14 @@ import static com.xy.utils.PlusBeans.*;
 @Api(tags = "设备-信息")
 public class DeviceInfoServiceImpl extends ServiceImpl<DeviceInfoMapper, DeviceInfo> implements DeviceInfoService {
 
-    private final CloudWalkApiService cloudWalkApiService;
-    private final AlgorithmService algorithmService;
-    private final CountApiService countApiService;
-    private final TyApiService tyApiService;
     /**
      * 质检商户code
      */
     public static final String QA_MERC_CODE = "10001";
+    private final CloudWalkApiService cloudWalkApiService;
+    private final AlgorithmService algorithmService;
+    private final CountApiService countApiService;
+    private final TyApiService tyApiService;
     private final MercFeignService mercFeignService;
     private final DeviceSysinfoServiceImpl deviceSysinfoService;
     private final DeviceStatusServiceImpl deviceStatusService;
@@ -1340,6 +1338,23 @@ public class DeviceInfoServiceImpl extends ServiceImpl<DeviceInfoMapper, DeviceI
         return list(Wrappers.<DeviceInfo>lambdaQuery().eq(DeviceInfo::getMercId, mercId).eq(DeviceInfo::getActiveState, DeviceActiveStateEnum.TRUE.getCode()));
     }
 
+    @Override
+    @ApiOperation("通用商户设备搜索组件")
+    public R<PageBean<DeviceInfoDto.SimpleDeviceSearchPageVo>> simpleDeviceSearchPage(@RequestBody DeviceInfoDto.SimpleDeviceSearchPageDto dto) {
+        LambdaQueryWrapper<DeviceInfo> lqw = new LambdaQueryWrapper<DeviceInfo>()
+                .select(DeviceInfo::getDeviceId, DeviceInfo::getDeviceName)
+                .and(Emptys.check(dto.getSearchKey()), wrapper -> {
+                    wrapper.like(DeviceInfo::getDeviceId, dto.getSearchKey())
+                            .or()
+                            .like(DeviceInfo::getDeviceName, dto.getSearchKey());
+                })
+                .in(Emptys.check(dto.getMyDeviceIds()), DeviceInfo::getDeviceId, dto.getMyDeviceIds())
+                .eq(DeviceInfo::getActiveState, DeviceActiveStateEnum.TRUE.getCode())
+                .eq(Emptys.check(dto.getMercId()), DeviceInfo::getMercId, dto.getMercId());
+        IPage page = page(toIPage(dto.getPage()), lqw);
+        PageBean<DeviceInfoDto.SimpleDeviceSearchPageVo> simpleDeviceSearchPageVoPageBean = toPageBean(DeviceInfoDto.SimpleDeviceSearchPageVo.class, page);
+        return R.ok(simpleDeviceSearchPageVoPageBean);
+    }
 
     /**
      * 小程序商户设备搜索

+ 39 - 23
device-api/src/main/java/com/xy/dto/DeviceInfoDto.java

@@ -39,6 +39,33 @@ public class DeviceInfoDto {
      */
     public final static String CLEAR = "clear";
 
+    @Data
+    @Accessors(chain = true)
+    public static class SimpleDeviceSearchPageDto {
+        @NotNull(message = "分页对象不能为空")
+        @ApiModelProperty(value = "分页对象", required = true)
+        private PageBean page;
+
+        @ApiModelProperty("设备名称/设备编号")
+        private String searchKey;
+
+        @ApiModelProperty(value = "权限设备id多个", hidden = true)
+        private List<Long> myDeviceIds;
+
+        @ApiModelProperty(value = "商户Id", hidden = true)
+        private Long mercId;
+    }
+
+    @Data
+    @Accessors(chain = true)
+    public static class SimpleDeviceSearchPageVo {
+        @ApiModelProperty(value = "设备名称")
+        private String deviceName;
+
+        @ApiModelProperty(value = "权限设备id多个", hidden = true)
+        private Long deviceId;
+    }
+
     @Data
     @Accessors(chain = true)
     public static class Count {
@@ -462,46 +489,24 @@ public class DeviceInfoDto {
 
         @ApiModelProperty("是否绑定商户")
         private Boolean isBindMerc;
-
-        /**
-         * size -1 不分页
-         *
-         * @return
-         */
-        public PageBean getPage() {
-            if (!this.exportPage) {
-                this.page.setSize(-1L);
-            }
-            return page;
-        }
-
-
         @ApiModelProperty("资产/sn/sim号")
         private String no;
-
         @ApiModelProperty("商户id/商户号/商户名称")
         private String merc;
-
         @ApiModelProperty("设备id/设备名称")
         private String deviceIdName;
-
         @ApiModelProperty("联网状态")
         private Integer netState;
-
         @ApiModelProperty("上位机版本号")
         private String appUpmVersion;
-
         @ApiModelProperty("下位机版本号")
         private String appDownmVersion;
-
         @JsonFormat(pattern = "yyyy-MM-dd")
         @ApiModelProperty(value = "激活时间-起")
         private LocalDate beginActiveTime;
-
         @JsonFormat(pattern = "yyyy-MM-dd")
         @ApiModelProperty(value = "激活时间-始")
         private LocalDate endActiveTime;
-
         @ApiModelProperty("附近最大距离,单位:米")
         private Integer nearby;
         @ApiModelProperty(value = "系统信息", hidden = true)
@@ -510,10 +515,21 @@ public class DeviceInfoDto {
         private DeviceStatusDto.Vo deviceStatus;
         @ApiModelProperty(value = "注册信息", hidden = true)
         private DeviceRegisterDto.Vo deviceRegister;
-
         @ApiModelProperty(value = "限制查询数量", required = false)
         private Integer limitNum;
 
+        /**
+         * size -1 不分页
+         *
+         * @return
+         */
+        public PageBean getPage() {
+            if (!this.exportPage) {
+                this.page.setSize(-1L);
+            }
+            return page;
+        }
+
         public String getBeginActiveTime() {
             return beginActiveTime == null ? null : DataTime.toString(beginActiveTime.atTime(0, 0, 0));
         }

+ 9 - 0
device-api/src/main/java/com/xy/service/DeviceInfoService.java

@@ -23,6 +23,15 @@ import java.util.Map;
 @RestMappingController("device-info")
 public interface DeviceInfoService {
 
+    /**
+     * 简单商户设备分页
+     * 只返回设备ID和名称
+     * @param dto
+     * @return
+     */
+    @PostMapping("simpleDeviceSearchPage")
+    R<PageBean<DeviceInfoDto.SimpleDeviceSearchPageVo>> simpleDeviceSearchPage(@RequestBody DeviceInfoDto.SimpleDeviceSearchPageDto dto);
+
     @PostMapping("netStateCount")
     R<Map<Long, DeviceInfoDto.NetStateCountVo>> netStateCount(@RequestBody DeviceInfoDto.NetStateCountDto dto);