Переглянути джерело

Merge remote-tracking branch 'origin/master'

hechunping 2 роки тому
батько
коміт
3673b114ea

+ 15 - 13
device-api-service/src/main/java/com/xy/entity/MqttAcl.java → device-api-service/src/main/java/com/xy/entity/MqttUser.java

@@ -2,48 +2,50 @@ package com.xy.entity;
 
 import com.baomidou.mybatisplus.annotation.IdType;
 import com.baomidou.mybatisplus.annotation.TableId;
+import java.time.LocalDateTime;
+import java.io.Serializable;
 import io.swagger.annotations.ApiModel;
 import io.swagger.annotations.ApiModelProperty;
 import lombok.Data;
 import lombok.EqualsAndHashCode;
 import lombok.experimental.Accessors;
 
-import java.io.Serializable;
-
 /**
  * <p>
  * 
  * </p>
  *
  * @author lijin
- * @since 2023-01-10
+ * @since 2023-02-17
  */
 @Data
 @EqualsAndHashCode(callSuper = false)
 @Accessors(chain = true)
-@ApiModel(value="MqttAcl对象", description="")
-public class MqttAcl implements Serializable {
+@ApiModel(value="MqttUser对象", description="")
+public class MqttUser implements Serializable {
 
     private static final long serialVersionUID = 1L;
 
     @TableId(value = "id", type = IdType.AUTO)
     private Integer id;
 
-    @ApiModelProperty(value = "连接地址")
-    private String ipaddress;
+    private String sn;
+
+    private Long deviceId;
 
-    @ApiModelProperty(value = "连接名")
     private String username;
 
-    @ApiModelProperty(value = "客户端ID(设备ID)")
-    private String clientid;
+    private String passwordHash;
 
-    private String action;
+    private String salt;
 
-    private String permission;
+    private Boolean isSuperuser;
 
-    @ApiModelProperty(value = "队列(设备ID)")
     private String topic;
 
+    private String ipAddress;
+
+    private LocalDateTime created;
+
 
 }

+ 0 - 16
device-api-service/src/main/java/com/xy/mapper/MqttAclMapper.java

@@ -1,16 +0,0 @@
-package com.xy.mapper;
-
-import com.baomidou.mybatisplus.core.mapper.BaseMapper;
-import com.xy.entity.MqttAcl;
-
-/**
- * <p>
- * Mapper 接口
- * </p>
- *
- * @author lijin
- * @since 2023-01-10
- */
-public interface MqttAclMapper extends BaseMapper<MqttAcl> {
-
-}

+ 16 - 0
device-api-service/src/main/java/com/xy/mapper/MqttUserMapper.java

@@ -0,0 +1,16 @@
+package com.xy.mapper;
+
+import com.xy.entity.MqttUser;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+
+/**
+ * <p>
+ *  Mapper 接口
+ * </p>
+ *
+ * @author lijin
+ * @since 2023-02-17
+ */
+public interface MqttUserMapper extends BaseMapper<MqttUser> {
+
+}

+ 15 - 0
device-api-service/src/main/java/com/xy/mapper/mapper/MqttUserMapper.xml

@@ -0,0 +1,15 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="com.xy.mapper.MqttUserMapper">
+
+    <!-- 通用查询映射结果 -->
+    <resultMap id="BaseResultMap" type="com.xy.entity.MqttUser">
+        <id column="id" property="id" />
+        <result column="username" property="username" />
+        <result column="password_hash" property="passwordHash" />
+        <result column="salt" property="salt" />
+        <result column="is_superuser" property="isSuperuser" />
+        <result column="created" property="created" />
+    </resultMap>
+
+</mapper>

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

@@ -156,23 +156,23 @@ public class DeviceInfoServiceImpl extends ServiceImpl<DeviceInfoMapper, DeviceI
 
     @Override
     @ApiOperation("更新商户线路")
-    public R updateLine(@RequestBody @Validated DeviceInfoDto.UpdateLine updateLine){
-        LambdaUpdateWrapper<DeviceInfo> luw = new LambdaUpdateWrapper<DeviceInfo>().eq(DeviceInfo::getMercId,updateLine.getMercId());
+    public R updateLine(@RequestBody @Validated DeviceInfoDto.UpdateLine updateLine) {
+        LambdaUpdateWrapper<DeviceInfo> luw = new LambdaUpdateWrapper<DeviceInfo>().eq(DeviceInfo::getMercId, updateLine.getMercId());
         //绑定线路,更换线路
-        if(DeviceInfoDto.UPDATE.equals(updateLine.getType())){
+        if (DeviceInfoDto.UPDATE.equals(updateLine.getType())) {
             DeviceInfo deviceInfo = new DeviceInfo();
             deviceInfo.setPlaceLineId(updateLine.getPlaceLineId());
-            luw.in(DeviceInfo::getDeviceId,updateLine.getDeviceIds());
-            baseMapper.update(deviceInfo,luw);
+            luw.in(DeviceInfo::getDeviceId, updateLine.getDeviceIds());
+            baseMapper.update(deviceInfo, luw);
         }
         //删除线路
-        if(DeviceInfoDto.DEL.equals(updateLine.getType())) {
+        if (DeviceInfoDto.DEL.equals(updateLine.getType())) {
             luw.eq(DeviceInfo::getPlaceLineId, updateLine.getWherePlaceLineId());
             luw.set(DeviceInfo::getPlaceLineId, null);
             baseMapper.update(null, luw);
         }
         //解绑线路 设置线路ID为null
-        if(DeviceInfoDto.CLEAR.equals(updateLine.getType())) {
+        if (DeviceInfoDto.CLEAR.equals(updateLine.getType())) {
             luw.in(DeviceInfo::getDeviceId, updateLine.getDeviceIds());
             luw.set(DeviceInfo::getPlaceLineId, null);
             baseMapper.update(null, luw);
@@ -183,23 +183,23 @@ public class DeviceInfoServiceImpl extends ServiceImpl<DeviceInfoMapper, DeviceI
 
     @Override
     @ApiOperation("更新商户点位")
-    public R updatePlace(@RequestBody @Validated DeviceInfoDto.UpdatePlace updatePlace){
-        LambdaUpdateWrapper<DeviceInfo> luw = new LambdaUpdateWrapper<DeviceInfo>().eq(DeviceInfo::getMercId,updatePlace.getMercId());
+    public R updatePlace(@RequestBody @Validated DeviceInfoDto.UpdatePlace updatePlace) {
+        LambdaUpdateWrapper<DeviceInfo> luw = new LambdaUpdateWrapper<DeviceInfo>().eq(DeviceInfo::getMercId, updatePlace.getMercId());
         //绑定点位,更换点位
-        if(DeviceInfoDto.UPDATE.equals(updatePlace.getType())){
+        if (DeviceInfoDto.UPDATE.equals(updatePlace.getType())) {
             DeviceInfo deviceInfo = new DeviceInfo();
             deviceInfo.setPlaceId(updatePlace.getPlaceId());
-            luw.in(DeviceInfo::getDeviceId,updatePlace.getDeviceIds());
-            baseMapper.update(deviceInfo,luw);
+            luw.in(DeviceInfo::getDeviceId, updatePlace.getDeviceIds());
+            baseMapper.update(deviceInfo, luw);
         }
         //删除点位
-        if(DeviceInfoDto.DEL.equals(updatePlace.getType())) {
+        if (DeviceInfoDto.DEL.equals(updatePlace.getType())) {
             luw.eq(DeviceInfo::getPlaceId, updatePlace.getWherePlaceId());
             luw.set(DeviceInfo::getPlaceId, null);
             baseMapper.update(null, luw);
         }
         //解绑点位 设置点位ID为null
-        if(DeviceInfoDto.CLEAR.equals(updatePlace.getType())) {
+        if (DeviceInfoDto.CLEAR.equals(updatePlace.getType())) {
             luw.in(DeviceInfo::getDeviceId, updatePlace.getDeviceIds());
             luw.set(DeviceInfo::getPlaceId, null);
             baseMapper.update(null, luw);
@@ -297,6 +297,16 @@ public class DeviceInfoServiceImpl extends ServiceImpl<DeviceInfoMapper, DeviceI
         return R.ok(copy(DeviceInfoDto.Vo.class, list));
     }
 
+    @Override
+    public R<List<DeviceInfoDto.Vo>> listCommon(DeviceInfoDto.ListCommon dto) {
+        LambdaQueryWrapper<DeviceInfo> lambdaQueryWrapper = new MybatisPlusQuery().eqWrapper(dto.getVo(), DeviceInfo.class).build();
+        List<Long> placeLineIds = dto.getPlaceLineIds();
+        if (CollUtil.isNotEmpty(placeLineIds)) {
+            lambdaQueryWrapper.eq(DeviceInfo::getPlaceId, placeLineIds);
+        }
+        return R.ok(copy(DeviceInfoDto.Vo.class, list(lambdaQueryWrapper)));
+    }
+
     /**
      * 获取商户设备列表
      *

+ 16 - 4
device-api-service/src/main/java/com/xy/service/DeviceRegisterServiceImpl.java

@@ -8,12 +8,14 @@ import com.xy.annotation.Lock;
 import com.xy.collections.list.JArrayList;
 import com.xy.collections.list.JList;
 import com.xy.collections.map.JMap;
+import com.xy.config.MqttConfig;
 import com.xy.dto.DeviceQualityDto;
 import com.xy.dto.DeviceRegisterDto;
-import com.xy.dto.MqttAclDto;
+import com.xy.dto.MqttUserDto;
 import com.xy.entity.*;
 import com.xy.mapper.*;
 import com.xy.utils.*;
+import com.xy.utils.consts.CommConsts;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
 import lombok.AllArgsConstructor;
@@ -51,7 +53,9 @@ public class DeviceRegisterServiceImpl extends ServiceImpl<DeviceRegisterMapper,
 
     private DeviceQualityServiceImpl deviceQualityService;
 
-    private MqttAclServiceImpl mqttAclService;
+    private MqttUserServiceImpl mqttUserService;
+
+    private MqttConfig mqttConfig;
 
     @PostMapping("save")
     @ApiOperation("添加")
@@ -105,9 +109,17 @@ public class DeviceRegisterServiceImpl extends ServiceImpl<DeviceRegisterMapper,
         );
         //新增设备-状态
         deviceStatusMapper.insert(new DeviceStatus().setDeviceId(deviceRegister.getDeviceId()));
-        //新增mqtt信息
+        //新增mqtt认证信息
         String deviceId = deviceRegister.getDeviceId().toString();
-        mqttAclService.save(new MqttAclDto.Save().setClientid(deviceId).setUsername(deviceId));
+        MqttUserDto.Save mqttUserInfo = new MqttUserDto.Save();
+        mqttUserInfo.setUsername(deviceId);
+        mqttUserInfo.setPasswordHash(deviceId);
+        mqttUserInfo.setCreated(LocalDateTime.now());
+        mqttUserInfo.setTopic(CommConsts.DEVICE_MQTT_TOPIC_SUFFIX);
+        mqttUserInfo.setSn(deviceRegister.getDeviceSn());
+        mqttUserInfo.setDeviceId(deviceRegister.getDeviceId());
+        mqttUserInfo.setIpAddress(mqttConfig.getUrl());
+        mqttUserService.save(mqttUserInfo);
         return R.ok();
     }
 

+ 0 - 78
device-api-service/src/main/java/com/xy/service/MqttAclServiceImpl.java

@@ -1,78 +0,0 @@
-package com.xy.service;
-
-import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
-import com.baomidou.mybatisplus.core.metadata.IPage;
-import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
-import com.xy.config.XyMqttConfig;
-import com.xy.dto.MqttAclDto;
-import com.xy.entity.MqttAcl;
-import com.xy.mapper.MqttAclMapper;
-import com.xy.utils.MybatisPlusQuery;
-import com.xy.utils.PageBean;
-import com.xy.utils.R;
-import com.xy.utils.consts.CommConsts;
-import io.swagger.annotations.Api;
-import io.swagger.annotations.ApiOperation;
-import lombok.AllArgsConstructor;
-import org.springframework.stereotype.Service;
-import org.springframework.validation.annotation.Validated;
-import org.springframework.web.bind.annotation.PostMapping;
-import org.springframework.web.bind.annotation.RequestBody;
-
-import java.time.LocalDateTime;
-
-import static com.xy.utils.Beans.copy;
-import static com.xy.utils.PlusBeans.toIPage;
-import static com.xy.utils.PlusBeans.toPageBean;
-
-
-/**
- * <p>
- * 服务实现类
- * </p>
- *
- * @author lijin
- * @since 2023-01-10
- */
-@Service
-@AllArgsConstructor
-@Api(tags = "mqtt授权")
-public class MqttAclServiceImpl extends ServiceImpl<MqttAclMapper, MqttAcl> implements MqttAclService {
-
-    private XyMqttConfig xyMqttConfig;
-
-    @PostMapping("page")
-    @ApiOperation("分页查询")
-    public R<PageBean<MqttAclDto.Vo>> page(@RequestBody MqttAclDto.Page page) {
-        PageBean pageBean = page.getPage();
-        LambdaQueryWrapper<MqttAcl> lambdaQueryWrapper = new MybatisPlusQuery().eqWrapper(page, MqttAcl.class).build();
-        IPage<MqttAcl> iPage = page(toIPage(pageBean), lambdaQueryWrapper);
-        return R.ok(toPageBean(MqttAclDto.Vo.class, iPage));
-    }
-
-    @PostMapping("get")
-    @ApiOperation("查询对象")
-    public R<MqttAclDto.Vo> get(@RequestBody MqttAclDto.Vo vo) {
-        MqttAcl mqttAclInfo = getOne(new MybatisPlusQuery().eqWrapper(vo, MqttAcl.class).build());
-        MqttAclDto.Vo v = copy(MqttAclDto.Vo.class, mqttAclInfo).setServerDateTime(LocalDateTime.now());
-        return R.ok(v);
-    }
-
-    @PostMapping("save")
-    @ApiOperation("添加")
-    public R save(@RequestBody @Validated MqttAclDto.Save save) {
-        MqttAcl saveInfo = copy(MqttAcl.class, save)
-                .setIpaddress(xyMqttConfig.getUrl())
-                .setTopic(save.getClientid() + CommConsts.DEVICE_MQTT_TOPIC_SUFFIX);
-        save(saveInfo);
-        return R.ok();
-    }
-
-    @PostMapping("update")
-    @ApiOperation("修改")
-    public R update(@RequestBody @Validated MqttAclDto.Update update) {
-        MqttAcl updateInfo = copy(MqttAcl.class, update);
-        updateById(updateInfo);
-        return R.ok();
-    }
-}

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

@@ -103,7 +103,7 @@ public class MqttServiceImpl extends ServiceImpl<MqttCommandMapper, MqttCommand>
     public void sysnAtoms() {
         String sn = LambdaUtils.getProperty(MqttCommand::getSn);
         QueryWrapper<MqttCommand> wrapper = new QueryWrapper<MqttCommand>()
-                .select("max(%s) as %s", sn, sn);
+                .select(String.format("max(%s) as %s", sn, sn));
         MqttCommand mqttCommand = getOne(wrapper);
         if (mqttCommand == null) {
             return;

+ 84 - 0
device-api-service/src/main/java/com/xy/service/MqttUserServiceImpl.java

@@ -0,0 +1,84 @@
+package com.xy.service;
+
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.xy.dto.MqttUserDto;
+import com.xy.entity.MqttUser;
+import com.xy.mapper.MqttUserMapper;
+import com.xy.utils.Emptys;
+import com.xy.utils.MybatisPlusQuery;
+import com.xy.utils.PageBean;
+import com.xy.utils.R;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import lombok.AllArgsConstructor;
+import org.springframework.stereotype.Service;
+import org.springframework.validation.annotation.Validated;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.RequestBody;
+
+import java.util.List;
+
+import static com.xy.utils.Beans.copy;
+import static com.xy.utils.PlusBeans.toIPage;
+import static com.xy.utils.PlusBeans.toPageBean;
+
+
+/**
+ * <p>
+ * 服务实现类
+ * </p>
+ *
+ * @author lijin
+ * @since 2023-02-17
+ */
+@Service
+@AllArgsConstructor
+@Api(tags = "mqtt认证")
+public class MqttUserServiceImpl extends ServiceImpl<MqttUserMapper, MqttUser> implements MqttUserService {
+
+    @PostMapping("obj")
+    @ApiOperation("对象查询")
+    public R<MqttUserDto.Vo> obj(@RequestBody MqttUserDto.Vo vo) {
+        MqttUserDto.SelectList selectList = copy(MqttUserDto.SelectList.class, vo);
+        List<MqttUserDto.Vo> list = list(selectList).getData();
+        if (Emptys.check(list)) {
+            return R.ok(list.get(0).setServerTime(System.currentTimeMillis()));
+        }
+        return R.ok();
+    }
+
+    @PostMapping("list")
+    @ApiOperation("集合查询")
+    public R<List<MqttUserDto.Vo>> list(@RequestBody MqttUserDto.SelectList selectList) {
+        LambdaQueryWrapper<MqttUser> lambdaQueryWrapper = new MybatisPlusQuery().eqWrapper(selectList, MqttUser.class).build();
+        List<MqttUser> list = list(lambdaQueryWrapper);
+        return R.ok(copy(MqttUserDto.Vo.class, list));
+    }
+
+    @PostMapping("page")
+    @ApiOperation("分页查询")
+    public R<PageBean<MqttUserDto.Vo>> page(@RequestBody MqttUserDto.Page page) {
+        PageBean pageBean = page.getPage();
+        LambdaQueryWrapper<MqttUser> lambdaQueryWrapper = new MybatisPlusQuery().eqWrapper(page, MqttUser.class).build();
+        IPage<MqttUser> iPage = page(toIPage(pageBean), lambdaQueryWrapper);
+        return R.ok(toPageBean(MqttUserDto.Vo.class, iPage));
+    }
+
+    @PostMapping("save")
+    @ApiOperation("添加")
+    public R save(@RequestBody @Validated MqttUserDto.Save save) {
+        MqttUser saveInfo = copy(MqttUser.class, save);
+        save(saveInfo);
+        return R.ok();
+    }
+
+    @PostMapping("update")
+    @ApiOperation("修改")
+    public R update(@RequestBody @Validated MqttUserDto.Update update) {
+        MqttUser updateInfo = copy(MqttUser.class, update);
+        updateById(updateInfo);
+        return R.ok();
+    }
+}

+ 15 - 2
device-api-service/src/main/java/com/xy/ztest/Test.java

@@ -1,12 +1,25 @@
 package com.xy.ztest;
 
-import com.xy.utils.MybatisGenerator;
+import com.xy.utils.MybatisGenerator2;
 
 public class Test {
 
     public static void main(String[] args) {
-        MybatisGenerator.Generator.builder()
+        MybatisGenerator2.Generator.builder()
                 .author("lijin")
+                .commPath("F:/idea-project/xy/xy-device")
+                .dtoModule("device-api")
+                .dtoPackage("com.xy")
+                .serviceModule("device-api")
+                .servicePackage("com.xy")
+                .implModule("device-api-service")
+                .implPackage("com.xy")
+                .mapperModule("device-api-service")
+                .mapperPackage("com.xy")
+                .feignModule("device-api-cloud")
+                .feignPackage("com.xy")
+                .entityModule("device-api-service")
+                .entityPackage("com.xy")
                 .build().create();
     }
 

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

@@ -46,6 +46,15 @@ public class DeviceInfoDto {
         private List<Long> deviceIds;
     }
 
+    @Data
+    @Accessors(chain = true)
+    public static class ListCommon {
+        @ApiModelProperty("线路id")
+        Vo vo;
+        @ApiModelProperty("线路id多个")
+        private List<Long> placeLineIds;
+    }
+
     @Data
     @Accessors(chain = true)
     public static class UpdateLine {
@@ -87,6 +96,7 @@ public class DeviceInfoDto {
         @ApiModelProperty(value = "原点位ID")
         private Long wherePlaceId;
     }
+
     @Data
     @Accessors(chain = true)
     public static class Update extends Vo {

+ 0 - 83
device-api/src/main/java/com/xy/dto/MqttAclDto.java

@@ -1,83 +0,0 @@
-package com.xy.dto;
-
-import com.fasterxml.jackson.annotation.JsonFormat;
-import com.xy.utils.PageBean;
-import io.swagger.annotations.ApiModelProperty;
-import lombok.Data;
-import lombok.experimental.Accessors;
-
-import javax.validation.constraints.NotBlank;
-import javax.validation.constraints.NotNull;
-import java.time.LocalDateTime;
-
-/**
- * <p>
- *
- * </p>
- *
- * @author lijin
- * @since 2023-01-10
- */
-public class MqttAclDto {
-
-    @Data
-    @Accessors(chain = true)
-    public static class Page extends Vo {
-
-        @ApiModelProperty(value = "分页对象", required = true)
-        private PageBean page;
-
-    }
-
-    @Data
-    @Accessors(chain = true)
-    public static class Save extends Vo {
-
-        @NotBlank(message = "username不能为空")
-        @ApiModelProperty(value = "连接名")
-        private String username;
-
-        @NotBlank(message = "clientid不能为空")
-        @ApiModelProperty(value = "客户端ID(设备ID)")
-        private String clientid;
-    }
-
-    @Data
-    @Accessors(chain = true)
-    public static class Update extends Vo {
-
-        @NotNull(message = "id不能为空")
-        @ApiModelProperty(value = "唯一标识")
-        private Integer id;
-    }
-
-    @Data
-    @Accessors(chain = true)
-    public static class Vo {
-
-        @ApiModelProperty(value = "唯一标识")
-        private Integer id;
-
-        @ApiModelProperty(value = "连接地址")
-        private String ipaddress;
-
-        @ApiModelProperty(value = "连接名")
-        private String username;
-
-        @ApiModelProperty(value = "客户端ID(设备ID)")
-        private String clientid;
-
-        private String action;
-
-        private String permission;
-
-        @ApiModelProperty(value = "队列(设备ID)")
-        private String topic;
-
-        @ApiModelProperty("服务器时间")
-        @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
-        private LocalDateTime serverDateTime;
-
-    }
-
-}

+ 83 - 0
device-api/src/main/java/com/xy/dto/MqttUserDto.java

@@ -0,0 +1,83 @@
+package com.xy.dto;
+
+import com.fasterxml.jackson.annotation.JsonFormat;
+import com.xy.utils.PageBean;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+import lombok.experimental.Accessors;
+
+import java.time.LocalDateTime;
+
+/**
+ * <p>
+ *
+ * </p>
+ *
+ * @author lijin
+ * @since 2023-02-17
+ */
+public class MqttUserDto {
+
+    @Data
+    @Accessors(chain = true)
+    public static class SelectList extends Vo {
+
+    }
+
+    @Data
+    @Accessors(chain = true)
+    public static class Page extends Vo {
+
+        @ApiModelProperty(value = "分页对象", required = true)
+        private PageBean page;
+
+    }
+
+    @Data
+    @Accessors(chain = true)
+    public static class Save extends Vo {
+
+    }
+
+    @Data
+    @Accessors(chain = true)
+    public static class Update extends Vo {
+
+    }
+
+    @Data
+    @Accessors(chain = true)
+    public static class Vo {
+
+        @ApiModelProperty("唯一标识")
+        private Integer id;
+
+        @ApiModelProperty("sn号")
+        private String sn;
+
+        @ApiModelProperty("设备id")
+        private Long deviceId;
+
+        @ApiModelProperty("账号")
+        private String username;
+
+        @ApiModelProperty("密码")
+        private String passwordHash;
+
+        private String salt;
+
+        private Boolean isSuperuser;
+
+        @ApiModelProperty("订阅topic")
+        private String topic;
+
+        @ApiModelProperty("连接地址")
+        private String ipAddress;
+
+        private Long serverTime;
+
+        @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+        private LocalDateTime created;
+
+    }
+}

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

@@ -67,8 +67,18 @@ public interface DeviceInfoService {
     @PostMapping("list")
     R<List<DeviceInfoDto.Vo>> list(DeviceInfoDto.ListDto dto);
 
+    /**
+     * 通用列表查询
+     *
+     * @param dto
+     * @return
+     */
+    @PostMapping("listCommon")
+    R<List<DeviceInfoDto.Vo>> listCommon(DeviceInfoDto.ListCommon dto);
+
     /**
      * 更新商户线路
+     *
      * @param updateLine
      * @return
      */
@@ -77,6 +87,7 @@ public interface DeviceInfoService {
 
     /**
      * 更新商户点位
+     *
      * @param updatePlace
      * @return
      */

+ 3 - 3
device-api/src/main/java/com/xy/service/MqttAclService.java → device-api/src/main/java/com/xy/service/MqttUserService.java

@@ -8,9 +8,9 @@ import com.xy.annotate.RestMappingController;
  * </p>
  *
  * @author lijin
- * @since 2023-01-10
+ * @since 2023-02-17
  */
-@RestMappingController("/mqtt-acl")
-public interface MqttAclService {
+@RestMappingController("/mqtt-user")
+public interface MqttUserService {
 
 }