Просмотр исходного кода

Merge remote-tracking branch 'origin/master'

zhuoning 2 лет назад
Родитель
Сommit
5751b8e7f0
17 измененных файлов с 335 добавлено и 71 удалено
  1. 1 0
      huimv-env-platform/huimv-env-common/src/main/java/com/huimv/env/common/service/impl/PushMessageServiceImpl.java
  2. 7 5
      huimv-env-platform/huimv-env-device/pom.xml
  3. 175 0
      huimv-env-platform/huimv-env-device/src/main/java/com/huimv/env/device/config/WebSocket.java
  4. 19 0
      huimv-env-platform/huimv-env-device/src/main/java/com/huimv/env/device/config/WebSocketConfig.java
  5. 5 0
      huimv-env-platform/huimv-env-device/src/main/java/com/huimv/env/device/listener/DeviceListener.java
  6. 1 0
      huimv-env-platform/huimv-env-input/pom.xml
  7. 26 26
      huimv-env-platform/huimv-env-manage/src/main/java/com/huimv/env/manage/config/InterceptorConfig.java
  8. 2 4
      huimv-env-platform/huimv-env-manage/src/main/java/com/huimv/env/manage/config/JWTInterceptor.java
  9. 5 5
      huimv-env-platform/huimv-env-manage/src/main/java/com/huimv/env/manage/config/MybatisPlusConfig.java
  10. 0 1
      huimv-env-platform/huimv-env-manage/src/main/java/com/huimv/env/manage/controller/AuthorizeController.java
  11. 17 4
      huimv-env-platform/huimv-env-manage/src/main/java/com/huimv/env/manage/controller/EnvConfigController.java
  12. 41 14
      huimv-env-platform/huimv-env-manage/src/main/java/com/huimv/env/manage/controller/EnvPushMessgeController.java
  13. 5 2
      huimv-env-platform/huimv-env-manage/src/main/java/com/huimv/env/manage/entity/EnvPushMessge.java
  14. 2 2
      huimv-env-platform/huimv-env-manage/src/main/java/com/huimv/env/manage/mapper/EnvPushMessgeMapper.java
  15. 4 2
      huimv-env-platform/huimv-env-manage/src/main/java/com/huimv/env/manage/service/IEnvPushMessgeService.java
  16. 24 5
      huimv-env-platform/huimv-env-manage/src/main/java/com/huimv/env/manage/service/impl/EnvPushMessgeServiceImpl.java
  17. 1 1
      huimv-env-platform/huimv-env-manage/src/main/resources/com/huimv/env/manage/mapper/EnvPushMessgeMapper.xml

+ 1 - 0
huimv-env-platform/huimv-env-common/src/main/java/com/huimv/env/common/service/impl/PushMessageServiceImpl.java

@@ -33,6 +33,7 @@ public class PushMessageServiceImpl implements IPushMessageService {
         pushMessageEntity.setAddTime(nowTimestamp);
         pushMessageEntity.setAddDate(todayDate);
         pushMessageEntity.setFarmCode(farmCode);
+        pushMessageEntity.setDisplay(1);
         pushMessageEntity.setAskTime(dataJo.getString("askTime"));
         pushMessageEntityRepo.saveAndFlush(pushMessageEntity);
 

+ 7 - 5
huimv-env-platform/huimv-env-device/pom.xml

@@ -9,7 +9,7 @@
     </parent>
     <modelVersion>4.0.0</modelVersion>
 
-    <groupId>com.huimv</groupId>
+<!--    <groupId>com.huimv</groupId>-->
     <artifactId>huimv-env-device</artifactId>
     <version>0.0.1-SNAPSHOT</version>
 
@@ -31,6 +31,11 @@
             <groupId>org.springframework.boot</groupId>
             <artifactId>spring-boot-starter-undertow</artifactId>
         </dependency>
+        <dependency>
+            <groupId>org.springframework.boot</groupId>
+            <artifactId>spring-boot-starter-websocket</artifactId>
+            <version>2.6.2</version>
+        </dependency>
         <!-- JPA -->
         <dependency>
             <groupId>org.springframework.boot</groupId>
@@ -56,10 +61,7 @@
             <groupId>org.springframework.boot</groupId>
             <artifactId>spring-boot-starter-actuator</artifactId>
         </dependency>
-        <dependency>
-            <groupId>org.springframework.boot</groupId>
-            <artifactId>spring-boot-starter-web</artifactId>
-        </dependency>
+
         <dependency>
             <groupId>org.springframework.boot</groupId>
             <artifactId>spring-boot-starter-test</artifactId>

+ 175 - 0
huimv-env-platform/huimv-env-device/src/main/java/com/huimv/env/device/config/WebSocket.java

@@ -0,0 +1,175 @@
+package com.huimv.env.device.config;
+
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.stereotype.Component;
+
+import javax.websocket.*;
+import javax.websocket.server.PathParam;
+import javax.websocket.server.ServerEndpoint;
+import java.io.IOException;
+import java.text.DateFormat;
+import java.text.SimpleDateFormat;
+import java.util.Date;
+import java.util.concurrent.ConcurrentHashMap;
+
+//注册成组件
+@Component
+//定义websocket服务器端,它的功能主要是将目前的类定义成一个websocket服务器端。注解的值将被用于监听用户连接的终端访问URL地址
+@Slf4j
+@ServerEndpoint("/websocket/{farmCode}")
+public class WebSocket {
+    //静态变量,用来记录当前在线连接数。应该把它设计成线程安全的。
+    private static int onlineCount = 0;
+    //concurrent包的线程安全Set,用来存放每个客户端对应的MyWebSocket对象。若要实现服务端与单一客户端通信的话,可以使用Map来存放,其中Key可以为用户标识
+    private static ConcurrentHashMap<String, WebSocket> webSocketSet = new ConcurrentHashMap<String, WebSocket>();
+    //与某个客户端的连接会话,需要通过它来给客户端发送数据
+    private Session WebSocketsession;
+    //当前发消息的人员编号
+    private String farmCode = "";
+
+
+
+    @OnOpen
+    public void onOpen(@PathParam(value = "farmCode") String param, Session WebSocketsession, EndpointConfig config) {
+        System.out.println(param);
+        farmCode = param;//接收到发送消息的人员编号
+        this.WebSocketsession = WebSocketsession;
+        webSocketSet.put(param, this);//加入map中
+        addOnlineCount();           //在线数加1
+        System.out.println("有新连接加入!当前在线人数为" + getOnlineCount());
+    }
+
+
+    /**
+     * 连接关闭调用的方法
+     */
+    @OnClose
+    public void onClose() {
+        if (!farmCode.equals("")) {
+            webSocketSet.remove(farmCode);  //从set中删除
+            subOnlineCount();           //在线数减1
+            System.out.println("有一连接关闭!当前在线人数为" + getOnlineCount());
+        }
+    }
+
+
+    /**
+     * 收到客户端消息后调用的方法
+     *
+     * @param message 客户端发送过来的消息
+     * @param session 可选的参数
+     */
+    @SuppressWarnings("unused")
+//	@OnMessage
+    public void onMessage(String message, Session session) {
+        System.out.println("来自客户端的消息:" + message);
+//        session.get
+        //群发消息
+        if (1 < 2) {
+            sendAll(message);
+        } else {
+            //给指定的人发消息
+            sendToUser(message);
+        }
+    }
+
+
+    /**
+     * 给指定的人发送消息
+     * @param message
+     */
+    @OnMessage
+    public void sendToUser(String message) {
+        String sendfarmCode = message.split(",")[1];
+        String sendMessage = message.split(",")[0];
+        String now = getNowTime();
+        try {
+            if (webSocketSet.get(sendfarmCode) != null) {
+                webSocketSet.get(sendfarmCode).sendMessage(now + "用户" + farmCode + "发来消息:" + " <br/> " + sendMessage);
+            } else {
+                System.out.println("当前用户不在线");
+            }
+        } catch (IOException e) {
+            e.printStackTrace();
+        }
+    }
+
+
+    /**
+     * 给所有人发消息
+     * @param message
+     */
+    private void sendAll(String message) {
+        String now = getNowTime();
+        String sendMessage = message.split("[|]")[0];
+        //遍历HashMap
+        for (String key : webSocketSet.keySet()) {
+            try {
+                //判断接收用户是否是当前发消息的用户
+                if (!farmCode.equals(key)) {
+                    webSocketSet.get(key).sendMessage(now + "用户" + farmCode + "发来消息:" + " <br/> " + sendMessage);
+                    System.out.println("key = " + key);
+                }
+            } catch (IOException e) {
+                e.printStackTrace();
+            }
+        }
+    }
+
+
+
+
+    /**
+     * 获取当前时间
+     *
+     * @return
+     */
+    private String getNowTime() {
+        Date date = new Date();
+        DateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
+        String time = format.format(date);
+        return time;
+    }
+    /**
+     * 发生错误时调用
+     *
+     * @param session
+     * @param error
+     */
+    @OnError
+    public void onError(Session session, Throwable error) {
+        System.out.println("发生错误");
+        error.printStackTrace();
+    }
+
+
+    /**
+     * 这个方法与上面几个方法不一样。没有用注解,是根据自己需要添加的方法。
+     *
+     * @param message
+     * @throws IOException
+     */
+    public void sendMessage(String message) throws IOException {
+        this.WebSocketsession.getBasicRemote().sendText(message);
+        //this.session.getAsyncRemote().sendText(message);
+    }
+
+
+    public static synchronized int getOnlineCount() {
+        return onlineCount;
+    }
+
+
+    public static synchronized void addOnlineCount() {
+        WebSocket.onlineCount++;
+    }
+
+
+    public static synchronized void subOnlineCount() {
+        WebSocket.onlineCount--;
+    }
+
+
+
+
+}

+ 19 - 0
huimv-env-platform/huimv-env-device/src/main/java/com/huimv/env/device/config/WebSocketConfig.java

@@ -0,0 +1,19 @@
+package com.huimv.env.device.config;
+
+import org.springframework.context.annotation.Bean;
+import org.springframework.context.annotation.Configuration;
+import org.springframework.web.socket.server.standard.ServerEndpointExporter;
+
+/**
+ * websocket
+ * 的配置信息
+ */
+@Configuration
+public class WebSocketConfig {
+
+    @Bean
+    public ServerEndpointExporter serverEndpointExporter() {
+
+        return new ServerEndpointExporter();
+    }
+}

+ 5 - 0
huimv-env-platform/huimv-env-device/src/main/java/com/huimv/env/device/listener/DeviceListener.java

@@ -15,6 +15,7 @@ import com.huimv.env.common.service.ISprayStatusService;
 import com.huimv.env.common.utils.Const;
 import com.huimv.env.common.utils.DateUtil;
 import com.huimv.env.common.utils.MathUtil;
+import com.huimv.env.device.config.WebSocket;
 import com.huimv.env.device.producer.Producer;
 import com.huimv.env.device.service.ICommandParserService;
 import com.huimv.env.device.service.IDeviceService;
@@ -58,6 +59,9 @@ public class DeviceListener {
     @Autowired
     private ISprayStatusService sprayStatusService;
 
+    @Autowired
+    private WebSocket webSocket;
+
     @RabbitListener(queues = Const.QUEUE_TEMP)
     @RabbitHandler
     public void processTemp(Map RawMap) throws ParseException {
@@ -179,6 +183,7 @@ public class DeviceListener {
         java.sql.Date todayDate = new java.sql.Date(new java.util.Date().getTime());
         Timestamp nowTimestamp = new Timestamp(new java.util.Date().getTime());
         String farmCode = envDeviceRegisterEntity.getFarmCode();
+        webSocket.sendToUser("true,"+farmCode);
         //{}
         String messageContent = deviceService.getMessageContent(dataJo,envDeviceRegisterEntity);
         //{保存消息推送流水}

+ 1 - 0
huimv-env-platform/huimv-env-input/pom.xml

@@ -26,6 +26,7 @@
                 </exclusion>
             </exclusions>
         </dependency>
+
         <!-- 添加 Undertow 容器 -->
         <dependency>
             <groupId>org.springframework.boot</groupId>

+ 26 - 26
huimv-env-platform/huimv-env-manage/src/main/java/com/huimv/env/manage/config/InterceptorConfig.java

@@ -1,26 +1,26 @@
-//package com.huimv.env.manage.config;
-//
-//import org.springframework.context.annotation.Bean;
-//import org.springframework.context.annotation.Configuration;
-//import org.springframework.web.servlet.config.annotation.InterceptorRegistry;
-//import org.springframework.web.servlet.config.annotation.WebMvcConfigurer;
-//
-///**
-// * @Description: 注册验证tocken的拦截器
-// * @Author
-// * @Date 2021/4/19 20:41
-// * @Version V1.0
-// */
-//@Configuration
-//public class InterceptorConfig implements WebMvcConfigurer {
-//    @Bean
-//    public JWTInterceptor jwtInterceptor(){
-//        return new JWTInterceptor();
-//    }
-//
-//    @Override
-//    public void addInterceptors(InterceptorRegistry registry) {
-//        registry.addInterceptor(jwtInterceptor()).
-//                excludePathPatterns("/**/my/*");
-//    }
-//}
+package com.huimv.env.manage.config;
+
+import org.springframework.context.annotation.Bean;
+import org.springframework.context.annotation.Configuration;
+import org.springframework.web.servlet.config.annotation.InterceptorRegistry;
+import org.springframework.web.servlet.config.annotation.WebMvcConfigurer;
+
+/**
+ * @Description: 注册验证tocken的拦截器
+ * @Author
+ * @Date 2021/4/19 20:41
+ * @Version V1.0
+ */
+@Configuration
+public class InterceptorConfig implements WebMvcConfigurer {
+    @Bean
+    public JWTInterceptor jwtInterceptor(){
+        return new JWTInterceptor();
+    }
+
+    @Override
+    public void addInterceptors(InterceptorRegistry registry) {
+        registry.addInterceptor(jwtInterceptor()).
+                excludePathPatterns("/**/my/*");
+    }
+}

+ 2 - 4
huimv-env-platform/huimv-env-manage/src/main/java/com/huimv/env/manage/config/JWTInterceptor.java

@@ -1,4 +1,3 @@
-/*
 package com.huimv.env.manage.config;
 
 import com.alibaba.fastjson.JSONObject;
@@ -14,13 +13,12 @@ import javax.servlet.http.HttpServletResponse;
 import java.util.HashMap;
 import java.util.Map;
 
-*/
 /**
  * <p>
  *  jwt拦截器
  * </p>
  * @since 2021/4/19
- *//*
+ */
 
 public class JWTInterceptor implements HandlerInterceptor {
 
@@ -81,4 +79,4 @@ public class JWTInterceptor implements HandlerInterceptor {
     public void afterCompletion(HttpServletRequest request, HttpServletResponse response, Object handler, Exception ex) throws Exception {
 
     }
-}*/
+}

+ 5 - 5
huimv-env-platform/huimv-env-manage/src/main/java/com/huimv/env/manage/config/MybatisPlusConfig.java

@@ -1,4 +1,3 @@
-/*
 package com.huimv.env.manage.config;
 
 import com.baomidou.mybatisplus.annotation.DbType;
@@ -10,10 +9,11 @@ import org.springframework.context.annotation.Configuration;
 @Configuration
 public class MybatisPlusConfig {
 
-    */
-/**
+/*
+*
      * 分页插件
-     *//*
+
+*/
 
 //    @Bean
 //    public PaginationInterceptor paginationInterceptor() {
@@ -26,4 +26,4 @@ public class MybatisPlusConfig {
         interceptor.addInnerInterceptor(new PaginationInnerInterceptor(DbType.MYSQL));
         return interceptor;
     }
-}*/
+}

+ 0 - 1
huimv-env-platform/huimv-env-manage/src/main/java/com/huimv/env/manage/controller/AuthorizeController.java

@@ -26,7 +26,6 @@ public class AuthorizeController {
         /*
          * 保存账号关联权限组数据
          */
-        System.out.println("测试");
         String accountId = map.get("accountId");
         String groupIds = map.get("groupIds");
         return iAuthorizeService.saveAccountGroup(accountId,groupIds);

+ 17 - 4
huimv-env-platform/huimv-env-manage/src/main/java/com/huimv/env/manage/controller/EnvConfigController.java

@@ -1,10 +1,16 @@
 package com.huimv.env.manage.controller;
 
 
-import org.springframework.web.bind.annotation.RequestMapping;
+import com.huimv.env.manage.entity.EnvConfig;
+import com.huimv.env.manage.service.IEnvConfigService;
+import com.huimv.env.manage.service.IMenuService;
+import com.huimv.env.manage.utils.Result;
+import com.huimv.env.manage.utils.ResultCode;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.*;
+
+import java.util.Map;
 
-import org.springframework.web.bind.annotation.RestController;
-import org.springframework.web.bind.annotation.CrossOrigin;
 /**
  * <p>
  *  前端控制器
@@ -15,7 +21,14 @@ import org.springframework.web.bind.annotation.CrossOrigin;
  */
 @RestController
 @CrossOrigin
-@RequestMapping("/env-config")
+@RequestMapping("/envConfig")
 public class EnvConfigController {
+    @Autowired
+    IEnvConfigService envConfigService;
 
+    @PostMapping("/update")
+    public Result saveAccountGroup(@RequestBody EnvConfig envConfig){
+        envConfigService.updateById(envConfig);
+        return new Result(10000,"修改成功",true);
+    }
 }

+ 41 - 14
huimv-env-platform/huimv-env-manage/src/main/java/com/huimv/env/manage/controller/EnvPushMessgeController.java

@@ -1,16 +1,14 @@
 package com.huimv.env.manage.controller;
 
 
-import com.huimv.env.manage.entity.EnvPushMessge;
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
+import com.huimv.env.manage.entity.EnvPushMessage;
 import com.huimv.env.manage.service.IEnvPushMessgeService;
 import com.huimv.env.manage.utils.Result;
+import com.huimv.env.manage.utils.ResultCode;
 import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.web.bind.annotation.PostMapping;
-import org.springframework.web.bind.annotation.RequestBody;
-import org.springframework.web.bind.annotation.RequestMapping;
-
-import org.springframework.web.bind.annotation.RestController;
-import org.springframework.web.bind.annotation.CrossOrigin;
+import org.springframework.web.bind.annotation.*;
 
 import java.util.Map;
 
@@ -34,15 +32,44 @@ public class EnvPushMessgeController {
         return  envPushMessgeService.listMessge(paramMap);
 
     }
-    @PostMapping("/delete")
-    public Result delete(@RequestBody Map<String,Integer> paramMap){
-        Integer id = paramMap.get("id");
-        EnvPushMessge envPushMessge = new EnvPushMessge();
-        envPushMessge.setId(id);
-        envPushMessge.setId(0);
-        envPushMessgeService.updateById(envPushMessge);
+    @GetMapping("/getById")
+    public Result listMessge(@RequestParam(name = "id")Integer id){
+        return  new Result(ResultCode.SUCCESS,envPushMessgeService.getById(id));
+
+    }
+    @PostMapping("/update")
+    public Result update(@RequestBody EnvPushMessage envPushMessage){
+        envPushMessgeService.updateById(envPushMessage);
+        return  new Result(10000,"修改成功",true);
+
+    }
+    @GetMapping("/updateAll")
+    public Result update(@RequestParam(name = "farmCode")Integer farmCode){
+        UpdateWrapper<EnvPushMessage> wrapper = new UpdateWrapper<>();
+        wrapper.eq("farm_code",farmCode);
+        EnvPushMessage envPushMessage = new EnvPushMessage();
+        envPushMessage.setReadStatus(1);
+        envPushMessgeService.update(envPushMessage,wrapper);
+        return  new Result(10000,"修改成功",true);
+
+    }
+
+
+    @GetMapping("/delete")
+    public Result delete(@RequestParam(name = "id")Integer id){
+
+        EnvPushMessage envPushMessage = new EnvPushMessage();
+        envPushMessage.setId(id);
+        envPushMessage.setDisplay(0);
+        envPushMessgeService.updateById(envPushMessage);
         return new Result(10000,"删除成功",true) ;
 
     }
+    @GetMapping("/countRead")
+    public Result countRead(@RequestParam(name = "farmCode")Integer farmCode){
+
+        return envPushMessgeService.countRead(farmCode);
+
+    }
 
 }

+ 5 - 2
huimv-env-platform/huimv-env-manage/src/main/java/com/huimv/env/manage/entity/EnvPushMessge.java

@@ -22,8 +22,8 @@ import lombok.experimental.Accessors;
 @Data
 @EqualsAndHashCode(callSuper = false)
 @Accessors(chain = true)
-@TableName("env_push_messge")
-public class EnvPushMessge implements Serializable {
+@TableName("env_push_message")
+public class EnvPushMessage implements Serializable {
 
     private static final long serialVersionUID = 1L;
 
@@ -47,4 +47,7 @@ public class EnvPushMessge implements Serializable {
     private String farmCode;
 
 
+    private Integer display;
+    private Integer readStatus;
+
 }

+ 2 - 2
huimv-env-platform/huimv-env-manage/src/main/java/com/huimv/env/manage/mapper/EnvPushMessgeMapper.java

@@ -1,6 +1,6 @@
 package com.huimv.env.manage.mapper;
 
-import com.huimv.env.manage.entity.EnvPushMessge;
+import com.huimv.env.manage.entity.EnvPushMessage;
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
 
 /**
@@ -11,6 +11,6 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper;
  * @author author
  * @since 2022-08-18
  */
-public interface EnvPushMessgeMapper extends BaseMapper<EnvPushMessge> {
+public interface EnvPushMessgeMapper extends BaseMapper<EnvPushMessage> {
 
 }

+ 4 - 2
huimv-env-platform/huimv-env-manage/src/main/java/com/huimv/env/manage/service/IEnvPushMessgeService.java

@@ -1,6 +1,6 @@
 package com.huimv.env.manage.service;
 
-import com.huimv.env.manage.entity.EnvPushMessge;
+import com.huimv.env.manage.entity.EnvPushMessage;
 import com.baomidou.mybatisplus.extension.service.IService;
 import com.huimv.env.manage.utils.Result;
 
@@ -14,7 +14,9 @@ import java.util.Map;
  * @author author
  * @since 2022-08-18
  */
-public interface IEnvPushMessgeService extends IService<EnvPushMessge> {
+public interface IEnvPushMessgeService extends IService<EnvPushMessage> {
 
     Result listMessge(Map<String, String> paramMap);
+
+    Result countRead(Integer farmCode);
 }

+ 24 - 5
huimv-env-platform/huimv-env-manage/src/main/java/com/huimv/env/manage/service/impl/EnvPushMessgeServiceImpl.java

@@ -1,8 +1,9 @@
 package com.huimv.env.manage.service.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.huimv.env.manage.entity.EnvPushMessge;
+import com.huimv.env.manage.entity.EnvPushMessage;
 import com.huimv.env.manage.mapper.EnvPushMessgeMapper;
 import com.huimv.env.manage.service.IEnvPushMessgeService;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
@@ -10,6 +11,7 @@ import com.huimv.env.manage.utils.Result;
 import com.huimv.env.manage.utils.ResultCode;
 import org.springframework.stereotype.Service;
 
+import java.util.HashMap;
 import java.util.Map;
 
 /**
@@ -21,18 +23,35 @@ import java.util.Map;
  * @since 2022-08-18
  */
 @Service
-public class EnvPushMessgeServiceImpl extends ServiceImpl<EnvPushMessgeMapper, EnvPushMessge> implements IEnvPushMessgeService {
+public class EnvPushMessgeServiceImpl extends ServiceImpl<EnvPushMessgeMapper, EnvPushMessage> implements IEnvPushMessgeService {
 
     @Override
     public Result listMessge(Map<String, String> paramMap) {
         String farmCode = paramMap.get("farmCode");
         String pageSize = paramMap.get("pageSize");
         String pageNum = paramMap.get("pageNum");
-        QueryWrapper<EnvPushMessge> wrapper = new QueryWrapper<>();
+        QueryWrapper<EnvPushMessage> wrapper = new QueryWrapper<>();
 
         wrapper.eq("farm_code",farmCode);
-        wrapper.eq("delete",1);
-        Page<EnvPushMessge> page = this.page(new Page<>(Long.parseLong(pageSize), Long.parseLong(pageNum)),wrapper);
+        wrapper.eq("display",1);
+        wrapper.orderByAsc("read_status");
+        wrapper.orderByDesc("add_time");
+        IPage<EnvPushMessage> page = this.page(new Page<>( Long.parseLong(pageNum),Long.parseLong(pageSize)),wrapper);
         return new Result(ResultCode.SUCCESS,page);
     }
+
+    @Override
+    public Result countRead(Integer farmCode) {
+        QueryWrapper<EnvPushMessage> wrapper = new QueryWrapper<>();
+
+        wrapper.eq("display",1);
+        long count = this.count(wrapper);
+        wrapper.eq("read_status",0);
+        long count1 = this.count(wrapper);
+        Map map = new HashMap();
+        map.put("read",count -count1);
+        map.put("all",count );
+        map.put("noRead",count1);
+        return new Result(ResultCode.SUCCESS,map);
+    }
 }

+ 1 - 1
huimv-env-platform/huimv-env-manage/src/main/resources/com/huimv/env/manage/mapper/EnvPushMessgeMapper.xml

@@ -3,7 +3,7 @@
 <mapper namespace="com.huimv.env.manage.mapper.EnvPushMessgeMapper">
 
     <!-- 通用查询映射结果 -->
-    <resultMap id="BaseResultMap" type="com.huimv.env.manage.entity.EnvPushMessge">
+    <resultMap id="BaseResultMap" type="com.huimv.env.manage.entity.EnvPushMessage">
         <id column="id" property="id" />
         <result column="device_code" property="deviceCode" />
         <result column="fault_sn" property="faultSn" />