Browse Source

完成项目和设备组配置

yangxiaokun 3 years ago
parent
commit
9e87c39d6b

+ 0 - 1
src/main/java/com/zy/bms/config/ExceptionAdvice.java

@@ -5,7 +5,6 @@ import org.springframework.web.bind.annotation.ExceptionHandler;
 import org.springframework.web.bind.annotation.RestControllerAdvice;
 import org.springframework.web.method.annotation.MethodArgumentTypeMismatchException;
 
-
 /**
  * 全局异常拦截
  *

+ 3 - 6
src/main/java/com/zy/bms/config/InterceptorCfg.java

@@ -20,9 +20,7 @@ import java.util.List;
 @Profile("prod")
 @Configuration
 public class InterceptorCfg implements WebMvcConfigurer {
-    /**
-     * 身份验证拦截器
-     */
+
     @Resource
     private UbiAppAuthInterceptor ubiAppAuthInterceptor;
     @Resource
@@ -32,7 +30,7 @@ public class InterceptorCfg implements WebMvcConfigurer {
 
     static {
         whiteList.add("/bms/api/operate/admin/login.do");
-        whiteList.add("/bms/api/common/author.do");
+        whiteList.add("/bms/api/operate/user/login.do");
     }
 
     /**
@@ -41,8 +39,7 @@ public class InterceptorCfg implements WebMvcConfigurer {
     @Override
     public void addInterceptors(InterceptorRegistry registry) {
         registry.addInterceptor(ubiAppAuthInterceptor)
-                .addPathPatterns("/bms/api/ubiapp/**")
-                .excludePathPatterns(whiteList);
+                .addPathPatterns("/bms/api/ubiapp/**");
 
         registry.addInterceptor(operateAuthInterceptor)
                 .addPathPatterns("/bms/api/operate/**")

+ 3 - 1
src/main/java/com/zy/bms/controller/CommonController.java

@@ -14,7 +14,9 @@ import org.springframework.web.bind.annotation.RestController;
 @RestController
 @RequestMapping("/bms/api/common")
 public class CommonController {
-
+    /**
+     * 权限不足
+     */
     @RequestMapping("author.do")
     public ServerResponse author() {
         return ServerResponse.custom(ResponseCode.AUTHOR);

+ 12 - 5
src/main/java/com/zy/bms/controller/UserController.java

@@ -1,14 +1,14 @@
 package com.zy.bms.controller;
 
-
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.zy.bms.common.ServerResponse;
 import com.zy.bms.entity.User;
+import com.zy.bms.pojo.io.UserIO;
 import com.zy.bms.service.IUserService;
 import com.zy.bms.utils.AesUtil;
+import org.springframework.web.bind.annotation.GetMapping;
 import org.springframework.web.bind.annotation.PostMapping;
 import org.springframework.web.bind.annotation.RequestMapping;
-
 import org.springframework.web.bind.annotation.RestController;
 
 import javax.annotation.Resource;
@@ -20,7 +20,7 @@ import javax.annotation.Resource;
  * @since 2021-06-03
  */
 @RestController
-@RequestMapping("/bms/api/ubiapp")
+@RequestMapping("/bms/api/operate/user")
 public class UserController {
     @Resource
     private IUserService userService;
@@ -28,8 +28,7 @@ public class UserController {
     /**
      * 微信登录
      *
-     * @param code 微信登录凭证
-     * @return 用户openId
+     * @return 用户 加密openId
      */
     @PostMapping("login.do")
     public ServerResponse login(String code) {
@@ -43,4 +42,12 @@ public class UserController {
         }
         return ServerResponse.success(AesUtil.encrypt(openId));
     }
+
+    /**
+     * 分页查询用户列表
+     */
+    @GetMapping("listPage.do")
+    public ServerResponse listPage(UserIO io) {
+        return ServerResponse.success(userService.listPage(io));
+    }
 }

+ 33 - 0
src/main/java/com/zy/bms/controller/lp/LpDeviceController.java

@@ -0,0 +1,33 @@
+package com.zy.bms.controller.lp;
+
+import com.zy.bms.common.ServerResponse;
+import com.zy.bms.pojo.io.DeviceIO;
+import com.zy.bms.service.lp.ILpInfoStateService;
+import org.springframework.web.bind.annotation.GetMapping;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+import javax.annotation.Resource;
+
+/**
+ * 路牌设备
+ *
+ * @author yang xiao kun
+ * create on 2021/7/16
+ */
+@RestController
+@RequestMapping("/bms/api/operate/device/lp")
+public class LpDeviceController {
+
+    @Resource
+    private ILpInfoStateService lpInfoStateService;
+
+    /**
+     * 分页查询设备
+     */
+    @GetMapping("listPage.do")
+    public ServerResponse listPage(DeviceIO io) {
+        return ServerResponse.success(lpInfoStateService.listPage(io));
+    }
+
+}

+ 1 - 1
src/main/java/com/zy/bms/controller/lp/LpInfoStateController.java → src/main/java/com/zy/bms/controller/lp/LpWxController.java

@@ -19,7 +19,7 @@ import javax.annotation.Resource;
  */
 @RestController
 @RequestMapping("/bms/api/lpapp")
-public class LpInfoStateController {
+public class LpWxController {
     @Resource
     private ILpInfoStateService lpInfoStateService;
 

+ 1 - 1
src/main/java/com/zy/bms/controller/ubi/UbiDeviceController.java

@@ -20,7 +20,7 @@ import javax.annotation.Resource;
  * @since 2021-06-01
  */
 @RestController
-@RequestMapping("/bms/api/operate/device")
+@RequestMapping("/bms/api/operate/device/ubi")
 public class UbiDeviceController extends BaseController {
     @Resource
     private IUbiInfoStateService ubiInfoStateService;

+ 1 - 5
src/main/java/com/zy/bms/entity/User.java

@@ -1,17 +1,13 @@
 package com.zy.bms.entity;
 
-import com.baomidou.mybatisplus.annotation.IdType;
 import com.baomidou.mybatisplus.annotation.TableId;
 import lombok.Data;
 
 import java.time.LocalDateTime;
 import java.io.Serializable;
 
-
 /**
- * <p>
  * 用户表
- * </p>
  *
  * @author yangxiaokun
  * @since 2021-06-03
@@ -24,7 +20,7 @@ public class User implements Serializable {
     /**
      * 主键
      */
-    @TableId(type = IdType.INPUT)
+    @TableId
     private Integer id;
 
     /**

+ 10 - 0
src/main/java/com/zy/bms/mapper/UserMapper.java

@@ -1,8 +1,12 @@
 package com.zy.bms.mapper;
 
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.zy.bms.entity.User;
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.zy.bms.pojo.io.UserIO;
 import org.apache.ibatis.annotations.Mapper;
+import org.apache.ibatis.annotations.Param;
 import org.springframework.stereotype.Repository;
 
 /**
@@ -17,4 +21,10 @@ import org.springframework.stereotype.Repository;
 @Repository
 public interface UserMapper extends BaseMapper<User> {
 
+    /**
+     * 分页查询用户
+     *
+     * @param io 查询参数
+     */
+    IPage<User> listPage(Page<User> page, @Param("io") UserIO io);
 }

+ 11 - 2
src/main/java/com/zy/bms/mapper/lp/LpInfoStateMapper.java

@@ -1,15 +1,17 @@
 package com.zy.bms.mapper.lp;
 
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.zy.bms.entity.lp.LpInfoState;
+import com.zy.bms.pojo.io.DeviceIO;
+import com.zy.bms.pojo.vo.LpDeviceListVo;
 import org.apache.ibatis.annotations.Mapper;
 import org.apache.ibatis.annotations.Param;
 import org.springframework.stereotype.Repository;
 
 /**
- * <p>
  * 设备-路牌 Mapper 接口
- * </p>
  *
  * @author chenyi
  * @since 2021-06-22
@@ -18,6 +20,13 @@ import org.springframework.stereotype.Repository;
 @Repository
 public interface LpInfoStateMapper extends BaseMapper<LpInfoState> {
 
+    /**
+     * 分页查询设备列表
+     *
+     * @param io 查询条件
+     */
+    IPage<LpDeviceListVo> listPage(Page<LpDeviceListVo> page, @Param("io") DeviceIO io);
+
     /**
      * 更新唤醒时间和阈值
      *

+ 0 - 2
src/main/java/com/zy/bms/mapper/ubi/UbiInfoStateMapper.java

@@ -14,10 +14,8 @@ import org.springframework.stereotype.Repository;
 import java.util.List;
 
 /**
- * <p>
  * 普适性
  * 设备动态信息表 Mapper 接口
- * </p>
  *
  * @author yangxiaokun
  * @since 2021-06-01

+ 0 - 6
src/main/java/com/zy/bms/pojo/io/DeviceIO.java

@@ -10,7 +10,6 @@ import lombok.EqualsAndHashCode;
  * create on 2021/2/18
  */
 @Data
-@EqualsAndHashCode(callSuper = false)
 public class DeviceIO extends PageIO {
 
     /**
@@ -28,9 +27,4 @@ public class DeviceIO extends PageIO {
      */
     private String groupId;
 
-    /**
-     * 微信端
-     * 用户ID
-     */
-    private Integer userId;
 }

+ 0 - 1
src/main/java/com/zy/bms/pojo/io/UserIO.java

@@ -10,7 +10,6 @@ import lombok.EqualsAndHashCode;
  * create on 2021/2/18
  */
 @Data
-@EqualsAndHashCode(callSuper = false)
 public class UserIO extends PageIO {
     /**
      * 昵称/用户名/手机号

+ 135 - 0
src/main/java/com/zy/bms/pojo/vo/LpDeviceListVo.java

@@ -0,0 +1,135 @@
+package com.zy.bms.pojo.vo;
+
+import com.alibaba.fastjson.annotation.JSONField;
+import lombok.Data;
+
+import java.math.BigDecimal;
+import java.time.LocalDateTime;
+
+/**
+ * 路牌设备列表视图
+ *
+ * @author yang xiao kun
+ * create on 2021/8/20
+ */
+@Data
+public class LpDeviceListVo {
+
+    private Integer id;
+
+    /**
+     * 设备唯一码
+     */
+    private String openNum;
+
+    /**
+     * 登录 MQTT 账号
+     */
+    private String username;
+
+    /**
+     * 登录 MQTT 密码
+     */
+    private String password;
+
+    /**
+     * SN码
+     */
+    private String sn;
+
+    /**
+     * 创建时间
+     */
+    private LocalDateTime createTime;
+
+    /**
+     * 设备组
+     */
+    private String groupId;
+
+    /**
+     * 定时唤醒时间
+     */
+    private BigDecimal wakeInt;
+
+    /**
+     * 阈值
+     */
+    private Integer thresh;
+
+    /**
+     * 电量
+     */
+    private String battery;
+
+    /**
+     * 信号
+     */
+    private String s4g;
+
+    private String x;
+
+    private String y;
+
+    private String z;
+
+    private String anglex;
+
+    private String angley;
+
+    private String anglez;
+
+    /**
+     * 温度
+     */
+    private String temp;
+
+    /**
+     * 经度
+     */
+    @JSONField(format = "#.######")
+    private Double lon;
+
+    /**
+     * 纬度
+     */
+    @JSONField(format = "#.######")
+    private Double lat;
+
+    /**
+     * 经度(Gcj)
+     */
+    @JSONField(format = "#.######")
+    private Double lonGcj;
+
+    /**
+     * 纬度(Gcj)
+     */
+    @JSONField(format = "#.######")
+    private Double latGcj;
+
+    /**
+     * 格式化位置
+     */
+    private String site;
+
+    /**
+     * 定位模式 1:GPS 2:基站
+     */
+    private Integer mode;
+
+    /**
+     * 状态 0:离线 1:在线
+     */
+    private Integer status;
+
+    /**
+     * 上传类型
+     */
+    private String dataType;
+
+    /**
+     * 数据更新时间
+     */
+    private LocalDateTime updateTime;
+}

+ 9 - 2
src/main/java/com/zy/bms/service/IUserService.java

@@ -1,9 +1,9 @@
 package com.zy.bms.service;
 
+import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.zy.bms.entity.User;
 import com.baomidou.mybatisplus.extension.service.IService;
-
-import java.util.List;
+import com.zy.bms.pojo.io.UserIO;
 
 /**
  * <p>
@@ -19,4 +19,11 @@ public interface IUserService extends IService<User> {
      * 通过微信传来的code 换取 appid
      */
     String getWxAppId(String code);
+
+    /**
+     * 分页查询用户
+     *
+     * @param io 查询参数
+     */
+    IPage<User> listPage(UserIO io);
 }

+ 9 - 1
src/main/java/com/zy/bms/service/impl/UserServiceImpl.java

@@ -1,9 +1,12 @@
 package com.zy.bms.service.impl;
 
 import com.alibaba.fastjson.JSONObject;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.zy.bms.common.Constant;
 import com.zy.bms.entity.User;
 import com.zy.bms.mapper.UserMapper;
+import com.zy.bms.pojo.io.UserIO;
 import com.zy.bms.service.IUserService;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.zy.bms.utils.HttpUtil;
@@ -11,7 +14,6 @@ import org.springframework.stereotype.Service;
 import org.springframework.util.LinkedMultiValueMap;
 import org.springframework.util.MultiValueMap;
 
-
 /**
  * 用户表 服务实现类
  *
@@ -35,4 +37,10 @@ public class UserServiceImpl extends ServiceImpl<UserMapper, User> implements IU
             return null;
         }
     }
+
+    @Override
+    public IPage<User> listPage(UserIO io) {
+        Page<User> page = new Page<>(io.getCurrent(), io.getSize());
+        return baseMapper.listPage(page, io);
+    }
 }

+ 10 - 2
src/main/java/com/zy/bms/service/lp/ILpInfoStateService.java

@@ -1,18 +1,26 @@
 package com.zy.bms.service.lp;
 
+import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.extension.service.IService;
 import com.zy.bms.entity.lp.LpInfoState;
+import com.zy.bms.pojo.io.DeviceIO;
+import com.zy.bms.pojo.vo.LpDeviceListVo;
 
 /**
- * <p>
  * 设备-路牌 服务类
- * </p>
  *
  * @author chenyi
  * @since 2021-06-22
  */
 public interface ILpInfoStateService extends IService<LpInfoState> {
 
+    /**
+     * 分页查询设备列表
+     *
+     * @param io 查询条件
+     */
+    IPage<LpDeviceListVo> listPage(DeviceIO io);
+
     /**
      * 通过设备ID获取设备信息
      *

+ 10 - 0
src/main/java/com/zy/bms/service/lp/impl/LpInfoStateServiceImpl.java

@@ -1,8 +1,12 @@
 package com.zy.bms.service.lp.impl;
 
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.zy.bms.entity.lp.LpInfoState;
 import com.zy.bms.mapper.lp.LpInfoStateMapper;
+import com.zy.bms.pojo.io.DeviceIO;
+import com.zy.bms.pojo.vo.LpDeviceListVo;
 import com.zy.bms.service.IPostMqttMsgService;
 import com.zy.bms.service.lp.ILpInfoStateService;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
@@ -24,6 +28,12 @@ public class LpInfoStateServiceImpl extends ServiceImpl<LpInfoStateMapper, LpInf
     @Resource
     private IPostMqttMsgService postMqttMsgService;
 
+    @Override
+    public IPage<LpDeviceListVo> listPage(DeviceIO io) {
+        Page<LpDeviceListVo> page = new Page<>(io.getCurrent(), io.getSize());
+        return baseMapper.listPage(page, io);
+    }
+
     @Override
     public LpInfoState getByOpenNum(String openNum) {
         return baseMapper.selectOne(new QueryWrapper<LpInfoState>().eq("open_num", openNum));

+ 1 - 5
src/main/java/com/zy/bms/service/ubi/impl/UbiInfoStateServiceImpl.java

@@ -22,9 +22,8 @@ import java.util.List;
 import java.util.Set;
 
 /**
- * <p>
+ * 普适性
  * 设备动态信息表 服务实现类
- * </p>
  *
  * @author yangxiaokun
  * @since 2021-06-01
@@ -32,9 +31,6 @@ import java.util.Set;
 @Service
 public class UbiInfoStateServiceImpl extends ServiceImpl<UbiInfoStateMapper, UbiInfoState> implements IUbiInfoStateService {
 
-    @Resource
-    private IUserPrivilegeService userPrivilegeService;
-
     @Resource
     private IUbiTcpService tcpSetService;
     @Resource

+ 23 - 0
src/main/resources/mapper/LpInfoStateMapper.xml

@@ -2,6 +2,29 @@
 <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
 <mapper namespace="com.zy.bms.mapper.lp.LpInfoStateMapper">
 
+    <select id="listPage" resultType="com.zy.bms.pojo.vo.LpDeviceListVo">
+        SELECT
+        t1.username,
+        t1.password,
+        t1.sn,
+        t1.create_time,
+        t1.group_id,
+        t2.*
+        FROM
+        device_base t1
+        LEFT JOIN lp_info_state t2 ON t1.open_num = t2.open_num
+        WHERE t1.type = 'lupai'
+        <if test="io.openNum != null and io.openNum != ''">
+            AND t1.open_num LIKE CONCAT('%',#{io.openNum},'%')
+        </if>
+        <if test="io.groupId != null and io.groupId > -1">
+            AND t1.group_id = #{io.groupId}
+        </if>
+        <if test="io.status != null and io.status > -1">
+            AND t2.status = #{io.status}
+        </if>
+    </select>
+
     <update id="updateWakeAndThresh">
         UPDATE
         lp_info_state

+ 18 - 31
src/main/resources/mapper/UbiInfoStateMapper.xml

@@ -1,13 +1,13 @@
 <?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.zy.bms.mapper.ubi.UbiInfoStateMapper">
 
     <update id="updateStatus">
         UPDATE
             ubi_info_state
         SET status = 0
-        WHERE TIMESTAMPDIFF(SECOND, update_time, NOW()) > (freq + 120)
+        WHERE
+            TIMESTAMPDIFF(SECOND, update_time, NOW()) > (freq + 120)
     </update>
 
     <select id="listPage" resultType="com.zy.bms.pojo.vo.UbiDeviceListVo">
@@ -18,21 +18,11 @@
             t1.sn,
             t1.create_time,
             t1.group_id,
-            t2.freq,
-            t2.power_volt,
-            t2.sat_num,
-            t2.signal4g,
-            t2.device_id,
-            t2.lat,
-            t2.lon,
-            t2.lat_gcj,
-            t2.lon_gcj,
-            t2.`version`,
-            t2.status,
-            t2.update_time
+            t2.*
         FROM
             device_base t1
-        LEFT JOIN ubi_info_state t2 ON t1.open_num = t2.open_num
+        LEFT JOIN
+            ubi_info_state t2 ON t1.open_num = t2.open_num
         WHERE
             t1.type = "gnss"
             <if test="io.openNum != null and io.openNum != ''">
@@ -48,28 +38,25 @@
 
     <select id="getDetail" resultType="com.zy.bms.pojo.vo.UbiDeviceDetailVo">
         SELECT t1.open_num,
-               t2.power_volt,
-               t2.sat_num,
-               t2.signal4g,
-               t2.`version`,
-               t2.status,
-               t2.lon,
-               t2.lon_gcj,
-               t2.lat,
-               t2.lat_gcj,
-               t2.update_time
-        FROM device_base t1
-                 LEFT JOIN ubi_info_state t2 ON t1.open_num = t2.open_num
-        WHERE t1.type = "gnss" AND t1.open_num = #{openNum}
+               t2.*
+        FROM
+            device_base t1
+        LEFT JOIN
+            ubi_info_state t2 ON t1.open_num = t2.open_num
+        WHERE
+            t1.type = "gnss" AND t1.open_num = #{openNum}
     </select>
 
     <select id="listWx" resultType="com.zy.bms.pojo.vo.UbiDeviceListVo">
         SELECT t1.open_num,
                t1.create_time,
                t2.status
-        FROM device_base t1
-                 LEFT JOIN ubi_info_state t2 ON t1.open_num = t2.open_num
-        WHERE t1.type = "gnss" t1.group_id = #{group}
+        FROM
+            device_base t1
+        LEFT JOIN
+            ubi_info_state t2 ON t1.open_num = t2.open_num
+        WHERE
+            t1.type = "gnss" t1.group_id = #{group}
     </select>
 
     <select id="checkOpenNum" resultType="java.lang.Integer">

+ 23 - 0
src/main/resources/mapper/UserMapper.xml

@@ -2,4 +2,27 @@
 <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
 <mapper namespace="com.zy.bms.mapper.UserMapper">
 
+    <select id="listPage" resultType="com.zy.bms.entity.User">
+        SELECT
+        *
+        FROM
+        user
+        <where>
+            <if test="io.key != null and io.key != ''">
+                AND (username LIKE('%',#{io.key},'%')
+                OR phone LIKE('%',#{io.key},'%')
+                OR nickname LIKE('%',#{io.key},'%'))
+            </if>
+            <if test="io.gender != null">
+                AND gender = #{io.gender}
+            </if>
+            <if test="io.status != null">
+                AND status = #{io.status}
+            </if>
+            <if test="io.itemId != null">
+                AND item_id = #{io.itemId}
+            </if>
+        </where>
+    </select>
+
 </mapper>