From f28149d8183a62f87fa9c8df9ae589070d83f612 Mon Sep 17 00:00:00 2001
From: 于紫祥_1901 <email@yuzixiang_1910>
Date: Thu, 24 Dec 2020 13:47:50 +0800
Subject: [PATCH] 波动补偿

---
 src/main/java/com/moral/service/impl/FluctuationCompensationServiceImpl.java |   24 ++++++++++++
 src/main/java/com/moral/controller/PageController.java                       |   35 +++++++++++++++++
 src/main/java/com/moral/mapper/FluctuationCompensationMapper.java            |   12 ++++++
 src/main/java/com/moral/service/FluctuationCompensationService.java          |    9 ++++
 src/main/resources/mapper/FluctuationCompensationMapper.xml                  |   11 +++++
 src/main/java/com/moral/webSocketServer/ElectronicSWebSocketServer.java      |    4 +-
 6 files changed, 93 insertions(+), 2 deletions(-)

diff --git a/src/main/java/com/moral/controller/PageController.java b/src/main/java/com/moral/controller/PageController.java
new file mode 100644
index 0000000..dfb7c31
--- /dev/null
+++ b/src/main/java/com/moral/controller/PageController.java
@@ -0,0 +1,35 @@
+package com.moral.controller;
+
+
+
+import com.moral.service.FluctuationCompensationService;
+import net.sf.json.JSONObject;
+import org.springframework.web.bind.annotation.*;
+import javax.annotation.Resource;
+import java.util.List;
+import java.util.Map;
+
+@RestController
+@RequestMapping("/page")
+@CrossOrigin(origins = "*", maxAge = 3600)
+public class PageController {
+    @Resource
+    private FluctuationCompensationService fluctuationCompensationService;
+    @PostMapping("getFC")
+    public List<Map> getFC(@RequestBody Map<String, Object> parameters) {
+        String mac = parameters.get("mac").toString();
+        List<Map> fcMap = fluctuationCompensationService.getFc(mac);
+        return fcMap;
+    }
+
+    @PostMapping("update")
+    public int updateFC(@RequestBody Map<String, Object> parameters){
+        Object value = parameters.get("val");
+        System.out.println(value);
+        JSONObject jsonObject = JSONObject.fromObject(value);
+        String val = jsonObject.get("json").toString();
+        String mac = jsonObject.get("mac").toString();
+        int i = fluctuationCompensationService.update(mac, val);
+        return i;
+    }
+}
diff --git a/src/main/java/com/moral/mapper/FluctuationCompensationMapper.java b/src/main/java/com/moral/mapper/FluctuationCompensationMapper.java
new file mode 100644
index 0000000..4d8a9b2
--- /dev/null
+++ b/src/main/java/com/moral/mapper/FluctuationCompensationMapper.java
@@ -0,0 +1,12 @@
+package com.moral.mapper;
+
+import org.apache.ibatis.annotations.Param;
+
+import java.util.List;
+import java.util.Map;
+
+public interface FluctuationCompensationMapper {
+    List<Map> getFC(@Param("mac") String mac);
+
+    int update(@Param("mac") String mac, @Param("val") String val);
+}
diff --git a/src/main/java/com/moral/service/FluctuationCompensationService.java b/src/main/java/com/moral/service/FluctuationCompensationService.java
new file mode 100644
index 0000000..edbff3c
--- /dev/null
+++ b/src/main/java/com/moral/service/FluctuationCompensationService.java
@@ -0,0 +1,9 @@
+package com.moral.service;
+
+import java.util.List;
+import java.util.Map;
+
+public interface FluctuationCompensationService {
+    List<Map> getFc(String mac);
+    int update(String mac,String val);
+}
diff --git a/src/main/java/com/moral/service/impl/FluctuationCompensationServiceImpl.java b/src/main/java/com/moral/service/impl/FluctuationCompensationServiceImpl.java
new file mode 100644
index 0000000..e459611
--- /dev/null
+++ b/src/main/java/com/moral/service/impl/FluctuationCompensationServiceImpl.java
@@ -0,0 +1,24 @@
+package com.moral.service.impl;
+
+import com.moral.mapper.FluctuationCompensationMapper;
+import com.moral.service.FluctuationCompensationService;
+import org.springframework.stereotype.Service;
+
+import javax.annotation.Resource;
+import java.util.List;
+import java.util.Map;
+
+@Service
+public class FluctuationCompensationServiceImpl implements FluctuationCompensationService {
+@Resource
+private FluctuationCompensationMapper fluctuationCompensationMapper;
+    @Override
+    public List<Map> getFc(String mac) {
+        return fluctuationCompensationMapper.getFC(mac);
+    }
+
+    @Override
+    public int update(String mac, String val) {
+        return fluctuationCompensationMapper.update(mac,val);
+    }
+}
diff --git a/src/main/java/com/moral/webSocketServer/ElectronicSWebSocketServer.java b/src/main/java/com/moral/webSocketServer/ElectronicSWebSocketServer.java
index 7c41146..cedb59a 100644
--- a/src/main/java/com/moral/webSocketServer/ElectronicSWebSocketServer.java
+++ b/src/main/java/com/moral/webSocketServer/ElectronicSWebSocketServer.java
@@ -138,13 +138,13 @@
                                             JexlExpression jexlExpression = jexlEngine.createExpression(s);
                                             Object evaluate = jexlExpression.evaluate(null);
                                             BigDecimal bg = new BigDecimal(evaluate.toString());
-                                            value = bg.setScale(3, BigDecimal.ROUND_HALF_UP).toString();
+                                            value = bg.setScale(2, BigDecimal.ROUND_HALF_UP).toString();
                                             reMap.put(sensor.getName(), value+sensorUnits.get(0).getName());
                                         }
                                     }else {
                                         if (sensor.getName().equals("���������������������(TVOC)")){
                                             BigDecimal bg = new BigDecimal(Double.parseDouble(value)*2.5);
-                                            value = bg.setScale(3, BigDecimal.ROUND_HALF_UP).toString();
+                                            value = bg.setScale(2, BigDecimal.ROUND_HALF_UP).toString();
                                             reMap.put(sensor.getName(), value+sensor.getUnit());
                                         }else {
                                             reMap.put(sensor.getName(), value+sensor.getUnit());
diff --git a/src/main/resources/mapper/FluctuationCompensationMapper.xml b/src/main/resources/mapper/FluctuationCompensationMapper.xml
new file mode 100644
index 0000000..e4dbbcd
--- /dev/null
+++ b/src/main/resources/mapper/FluctuationCompensationMapper.xml
@@ -0,0 +1,11 @@
+<?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.moral.mapper.FluctuationCompensationMapper" >
+    <update id="update">
+        update `fluctuation_compensation` set json=#{val} where mac=#{mac}
+    </update>
+
+    <select id="getFC" resultType="java.util.Map">
+    SELECT * FROM `fluctuation_compensation` where mac like concat('%',#{mac},'%')
+  </select>
+</mapper>
\ No newline at end of file

--
Gitblit v1.8.0