Browse Source

微信推送 10.11

523096025 2 năm trước cách đây
mục cha
commit
ac5e886167
13 tập tin đã thay đổi với 166 bổ sung29 xóa
  1. 6 0
      huimv-env-platform/huimv-env-device/pom.xml
  2. 6 0
      huimv-env-platform/huimv-env-device/src/main/java/com/huimv/env/device/listener/DeviceListener.java
  3. 38 0
      huimv-env-platform/huimv-env-manage/src/main/java/com/huimv/env/manage/HuimvEnvManageApplication.java
  4. 3 1
      huimv-env-platform/huimv-env-manage/src/main/java/com/huimv/env/manage/controller/EnvSprayConfigController.java
  5. 8 4
      huimv-env-platform/huimv-env-manage/src/main/java/com/huimv/env/manage/controller/LoginController.java
  6. 14 0
      huimv-env-platform/huimv-env-manage/src/main/java/com/huimv/env/manage/service/impl/EnvDeviceRegisterServiceImpl.java
  7. 13 3
      huimv-env-platform/huimv-env-manage/src/main/java/com/huimv/env/manage/service/impl/EnvHumiServiceImpl.java
  8. 38 0
      huimv-env-platform/huimv-env-manage/src/main/java/com/huimv/env/manage/session/AccessToken.java
  9. 8 3
      huimv-env-platform/huimv-env-manage/src/main/resources/application-prod.yml
  10. 10 5
      huimv-env-platform/huimv-env-manage/src/main/resources/com/huimv/env/manage/mapper/EnvAmmoniaMapper.xml
  11. 3 3
      huimv-env-platform/huimv-env-manage/src/main/resources/com/huimv/env/manage/mapper/EnvDeviceRegisterMapper.xml
  12. 8 5
      huimv-env-platform/huimv-env-manage/src/main/resources/com/huimv/env/manage/mapper/EnvHumiMapper.xml
  13. 11 5
      huimv-env-platform/huimv-env-manage/src/main/resources/com/huimv/env/manage/mapper/EnvTempMapper.xml

+ 6 - 0
huimv-env-platform/huimv-env-device/pom.xml

@@ -36,6 +36,12 @@
             <artifactId>spring-boot-starter-websocket</artifactId>
             <artifactId>spring-boot-starter-websocket</artifactId>
             <version>2.6.2</version>
             <version>2.6.2</version>
         </dependency>
         </dependency>
+<!--        微信推送-->
+        <dependency>
+            <groupId>com.github.binarywang</groupId>
+            <artifactId>weixin-java-miniapp</artifactId>
+            <version>4.1.0</version>
+        </dependency>
         <!-- JPA -->
         <!-- JPA -->
         <dependency>
         <dependency>
             <groupId>org.springframework.boot</groupId>
             <groupId>org.springframework.boot</groupId>

+ 6 - 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.Const;
 import com.huimv.env.common.utils.DateUtil;
 import com.huimv.env.common.utils.DateUtil;
 import com.huimv.env.common.utils.MathUtil;
 import com.huimv.env.common.utils.MathUtil;
+import com.huimv.env.device.config.WeChatMessageHelperTest;
 import com.huimv.env.device.config.WebSocket;
 import com.huimv.env.device.config.WebSocket;
 import com.huimv.env.device.producer.Producer;
 import com.huimv.env.device.producer.Producer;
 import com.huimv.env.device.service.ICommandParserService;
 import com.huimv.env.device.service.ICommandParserService;
@@ -184,7 +185,12 @@ public class DeviceListener {
         java.sql.Date todayDate = new java.sql.Date(new java.util.Date().getTime());
         java.sql.Date todayDate = new java.sql.Date(new java.util.Date().getTime());
         Timestamp nowTimestamp = new Timestamp(new java.util.Date().getTime());
         Timestamp nowTimestamp = new Timestamp(new java.util.Date().getTime());
         String farmCode = envDeviceRegisterEntity.getFarmCode();
         String farmCode = envDeviceRegisterEntity.getFarmCode();
+        //webSocket 推送
         webSocket.sendToUser("true,"+farmCode);
         webSocket.sendToUser("true,"+farmCode);
+        //微信推送
+        WeChatMessageHelperTest.sendWechatAppSubMessage();
+
+
         //{}
         //{}
         String messageContent = deviceService.getMessageContent(dataJo,envDeviceRegisterEntity);
         String messageContent = deviceService.getMessageContent(dataJo,envDeviceRegisterEntity);
         //{保存消息推送流水}
         //{保存消息推送流水}

+ 38 - 0
huimv-env-platform/huimv-env-manage/src/main/java/com/huimv/env/manage/HuimvEnvManageApplication.java

@@ -1,8 +1,13 @@
 package com.huimv.env.manage;
 package com.huimv.env.manage;
 
 
+import org.apache.catalina.Context;
+import org.apache.catalina.connector.Connector;
+import org.apache.tomcat.util.descriptor.web.SecurityCollection;
+import org.apache.tomcat.util.descriptor.web.SecurityConstraint;
 import org.mybatis.spring.annotation.MapperScan;
 import org.mybatis.spring.annotation.MapperScan;
 import org.springframework.boot.SpringApplication;
 import org.springframework.boot.SpringApplication;
 import org.springframework.boot.autoconfigure.SpringBootApplication;
 import org.springframework.boot.autoconfigure.SpringBootApplication;
+import org.springframework.boot.web.embedded.tomcat.TomcatServletWebServerFactory;
 import org.springframework.context.ApplicationContext;
 import org.springframework.context.ApplicationContext;
 import org.springframework.context.annotation.Bean;
 import org.springframework.context.annotation.Bean;
 import org.springframework.context.annotation.Import;
 import org.springframework.context.annotation.Import;
@@ -29,4 +34,37 @@ public class HuimvEnvManageApplication {
     public static RestTemplate getRestTemplate(){
     public static RestTemplate getRestTemplate(){
         return new RestTemplate();
         return new RestTemplate();
     }
     }
+
+    /**
+     * http重定向到https
+     * @return
+     */
+    @Bean
+    public TomcatServletWebServerFactory servletContainer() {
+        TomcatServletWebServerFactory tomcat = new TomcatServletWebServerFactory() {
+            @Override
+            protected void postProcessContext(Context context) {
+                SecurityConstraint constraint = new SecurityConstraint();
+                constraint.setUserConstraint("CONFIDENTIAL");
+                SecurityCollection collection = new SecurityCollection();
+                collection.addPattern("/*");
+                constraint.addCollection(collection);
+                context.addConstraint(constraint);
+            }
+        };
+        tomcat.addAdditionalTomcatConnectors(httpConnector());
+        return tomcat;
+    }
+
+    @Bean
+    public Connector httpConnector() {
+        Connector connector = new Connector("org.apache.coyote.http11.Http11NioProtocol");
+        connector.setScheme("http");
+        //Connector监听的http的默认端口号
+        connector.setPort(10001);
+        connector.setSecure(false);
+        //监听到http的端口号后转向到的https的端口号,也就是项目配置的port
+        connector.setRedirectPort(8097);
+        return connector;
+    }
 }
 }

+ 3 - 1
huimv-env-platform/huimv-env-manage/src/main/java/com/huimv/env/manage/controller/EnvSprayConfigController.java

@@ -40,12 +40,14 @@ public class EnvSprayConfigController {
 
 
     @PostMapping("/update")
     @PostMapping("/update")
     public Result update(@RequestBody EnvSprayConfig envSprayConfig) {
     public Result update(@RequestBody EnvSprayConfig envSprayConfig) {
+
         String deviceCode = envSprayConfig.getDeviceCode();
         String deviceCode = envSprayConfig.getDeviceCode();
         EnvSprayConfig envSprayConfig1 = envSprayConfigService.getOne(new QueryWrapper<EnvSprayConfig>().eq("device_code", deviceCode));
         EnvSprayConfig envSprayConfig1 = envSprayConfigService.getOne(new QueryWrapper<EnvSprayConfig>().eq("device_code", deviceCode));
 
 
         envSprayConfig.setId(envSprayConfig1.getId());
         envSprayConfig.setId(envSprayConfig1.getId());
         envSprayConfigService.updateById(envSprayConfig);
         envSprayConfigService.updateById(envSprayConfig);
-        return new Result(10000,"修改成功过",true);
+        return new Result(10000,"修改成功",true);
+
 
 
     }
     }
 }
 }

+ 8 - 4
huimv-env-platform/huimv-env-manage/src/main/java/com/huimv/env/manage/controller/LoginController.java

@@ -95,9 +95,13 @@ public class LoginController {
             accessToken.setAccountName(accountName);
             accessToken.setAccountName(accountName);
             accessToken.setCode(result.getCode());
             accessToken.setCode(result.getCode());
             accessToken.setMessage(result.getMessage());
             accessToken.setMessage(result.getMessage());
-            accessToken.setFarmId(accountEntity.getFarmIds());
+            accessToken.setFarmId(accountEntity.getLastFarmId()+"");
             String token = TokenSign.sign(accountName,id,accountEntity.getFarmIds());
             String token = TokenSign.sign(accountName,id,accountEntity.getFarmIds());
             accessToken.setToken(token);
             accessToken.setToken(token);
+            accessToken.setFarmName("慧牧测试牧场");
+            accessToken.setOpenId(accountEntity.getOpenId());
+            accessToken.setImgUrl(accountEntity.getImgUrl());
+            accessToken.setWechatName(accountEntity.getWechatName());
 
 
             accessToken.setId(id);
             accessToken.setId(id);
             accessToken.setLoginIp(remoteHost);
             accessToken.setLoginIp(remoteHost);
@@ -108,7 +112,7 @@ public class LoginController {
     }
     }
 
 
     //测试-token
     //测试-token
-    @PostMapping(value = "/getToken")
+    @GetMapping(value = "/getToken")
     public String getToken(HttpServletRequest req)  {
     public String getToken(HttpServletRequest req)  {
         String token =  TokenSign.sign("superadmin",1,null);
         String token =  TokenSign.sign("superadmin",1,null);
         return  token;
         return  token;
@@ -122,8 +126,8 @@ public class LoginController {
     @GetMapping("/wechatLogin")
     @GetMapping("/wechatLogin")
     public String wechatLogin(@RequestParam(name = "js_code")String js_code){
     public String wechatLogin(@RequestParam(name = "js_code")String js_code){
         String URL  = "https://api.weixin.qq.com/sns/jscode2session";
         String URL  = "https://api.weixin.qq.com/sns/jscode2session";
-        String appid  = "wxc5b3319392e20e72";
-        String secret  = "49d31f71e5300c28634e7753a36fede5";
+        String appid  = "wxa1289282dcd0746c";
+        String secret  = "a9669fef70b7377b34d90e5d1643c5f4";
         String grant_type  = "authorization_code";
         String grant_type  = "authorization_code";
 
 
         String forObject = restTemplate.getForObject(URL + "?appid=" + appid + "&secret=" + secret + "&grant_type=" + grant_type + "&js_code=" + js_code, String.class);
         String forObject = restTemplate.getForObject(URL + "?appid=" + appid + "&secret=" + secret + "&grant_type=" + grant_type + "&js_code=" + js_code, String.class);

+ 14 - 0
huimv-env-platform/huimv-env-manage/src/main/java/com/huimv/env/manage/service/impl/EnvDeviceRegisterServiceImpl.java

@@ -1,5 +1,6 @@
 package com.huimv.env.manage.service.impl;
 package com.huimv.env.manage.service.impl;
 
 
+import cn.hutool.core.util.ObjectUtil;
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.core.toolkit.StringUtils;
 import com.baomidou.mybatisplus.core.toolkit.StringUtils;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
@@ -13,6 +14,7 @@ import com.huimv.env.manage.utils.ResultCode;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 import org.springframework.stereotype.Service;
 
 
+import java.math.BigDecimal;
 import java.util.List;
 import java.util.List;
 import java.util.Map;
 import java.util.Map;
 
 
@@ -42,8 +44,20 @@ public class EnvDeviceRegisterServiceImpl extends ServiceImpl<EnvDeviceRegisterM
         }
         }
         IPage<EnvDeviceRegisterDto> envDeviceRegisterPage = new Page<>(Long.parseLong(pageNum), Long.parseLong(pageSize));
         IPage<EnvDeviceRegisterDto> envDeviceRegisterPage = new Page<>(Long.parseLong(pageNum), Long.parseLong(pageSize));
        IPage<EnvDeviceRegisterDto> page=  envDeviceRegisterMapper.registerList(envDeviceRegisterPage,farmCode);
        IPage<EnvDeviceRegisterDto> page=  envDeviceRegisterMapper.registerList(envDeviceRegisterPage,farmCode);
+        for (EnvDeviceRegisterDto record : page.getRecords()) {
+            if (ObjectUtil.isEmpty(record.getHumi())){
+                record.setHumi(new BigDecimal(0));
+            }
+            if (ObjectUtil.isEmpty(record.getTemp())){
+                record.setTemp(new BigDecimal(0));
+            }
+            if (ObjectUtil.isEmpty(record.getAmmonia())){
+                record.setAmmonia(new BigDecimal(0));
+            }
 
 
 
 
+        }
+
 
 
         return new Result(ResultCode.SUCCESS, page);
         return new Result(ResultCode.SUCCESS, page);
     }
     }

+ 13 - 3
huimv-env-platform/huimv-env-manage/src/main/java/com/huimv/env/manage/service/impl/EnvHumiServiceImpl.java

@@ -50,8 +50,19 @@ public class EnvHumiServiceImpl extends ServiceImpl<EnvHumiMapper, EnvHumi> impl
         if (StringUtils.isBlank(endTime)){
         if (StringUtils.isBlank(endTime)){
             endTime = DateUtil.format(DateUtil.endOfDay(new Date()),"yyyy-MM-dd");
             endTime = DateUtil.format(DateUtil.endOfDay(new Date()),"yyyy-MM-dd");
         }
         }
-        startTime = startTime+"00:00:00";
-        endTime = endTime+"23:59:59";
+        if(startTime.length() ==10){
+            startTime = startTime+" 00:00:00";
+        }else {
+            startTime = startTime+"00:00:00";
+        }
+        if (endTime.length() ==10) {
+            endTime = endTime+" 23:59:59";
+        }else {
+            endTime = endTime+"23:59:59";
+        }
+
+
+
         Map<String,List> endMap  = new HashMap();
         Map<String,List> endMap  = new HashMap();
         QueryWrapper<EnvAmmonia> ammoniaWrapper = new QueryWrapper<EnvAmmonia>().eq("device_code", deviceCode).between("ask_time", startTime, endTime);
         QueryWrapper<EnvAmmonia> ammoniaWrapper = new QueryWrapper<EnvAmmonia>().eq("device_code", deviceCode).between("ask_time", startTime, endTime);
         List<TimeData> ammoinData  =  envAmmoniaMapper.listByTime(ammoniaWrapper);
         List<TimeData> ammoinData  =  envAmmoniaMapper.listByTime(ammoniaWrapper);
@@ -80,7 +91,6 @@ public class EnvHumiServiceImpl extends ServiceImpl<EnvHumiMapper, EnvHumi> impl
 
 
         endMap.put("ammoin",ammoinData);
         endMap.put("ammoin",ammoinData);
         endMap.put("humiAndtemp",list);
         endMap.put("humiAndtemp",list);
-//        endMap.put("",tempData);
         return new Result(ResultCode.SUCCESS,endMap);
         return new Result(ResultCode.SUCCESS,endMap);
     }
     }
 }
 }

+ 38 - 0
huimv-env-platform/huimv-env-manage/src/main/java/com/huimv/env/manage/session/AccessToken.java

@@ -16,6 +16,44 @@ public class AccessToken {
     private Integer type;
     private Integer type;
     private String farmId;
     private String farmId;
     private String message;
     private String message;
+    private String farmName;
+    private String openId;
+
+    private String imgUrl;
+
+    private String wechatName;
+
+    public String getFarmName() {
+        return farmName;
+    }
+
+    public void setFarmName(String farmName) {
+        this.farmName = farmName;
+    }
+
+    public String getOpenId() {
+        return openId;
+    }
+
+    public void setOpenId(String openId) {
+        this.openId = openId;
+    }
+
+    public String getImgUrl() {
+        return imgUrl;
+    }
+
+    public void setImgUrl(String imgUrl) {
+        this.imgUrl = imgUrl;
+    }
+
+    public String getWechatName() {
+        return wechatName;
+    }
+
+    public void setWechatName(String wechatName) {
+        this.wechatName = wechatName;
+    }
 
 
     public AccessToken() {
     public AccessToken() {
     }
     }

+ 8 - 3
huimv-env-platform/huimv-env-manage/src/main/resources/application-prod.yml

@@ -1,6 +1,9 @@
 server:
 server:
-  port: 8096
-
+  port: 8097
+  ssl:
+    key-store: classpath:8391578_kdmc.ifarmcloud.com.jks
+    key-store-type: jks
+    key-store-password: RLKkWail
 spring:
 spring:
   application:
   application:
     name: huimv-env-input
     name: huimv-env-input
@@ -46,7 +49,9 @@ spring:
     port: 6379
     port: 6379
     password: hm123456
     password: hm123456
 
 
-
+mybatis-plus:
+  configuration:
+    log-impl: org.apache.ibatis.logging.stdout.StdOutImpl
     #server:
     #server:
 #  port: 9110
 #  port: 9110
 #spring:
 #spring:

+ 10 - 5
huimv-env-platform/huimv-env-manage/src/main/resources/com/huimv/env/manage/mapper/EnvAmmoniaMapper.xml

@@ -16,11 +16,16 @@
         <result column="farm_code" property="farmCode" />
         <result column="farm_code" property="farmCode" />
     </resultMap>
     </resultMap>
     <select id="listByTime" resultType="com.huimv.env.manage.entity.dto.TimeData">
     <select id="listByTime" resultType="com.huimv.env.manage.entity.dto.TimeData">
-        SELECT CAST(CONCAT(
-        SUBSTR(DATE_ADD(DATE_SUB(ask_time, INTERVAL MINUTE(ask_time) MINUTE), INTERVAL FLOOR(MINUTE(ask_time) / 30) * 30 MINUTE),
-               1, 17), '00') AS DATETIME) hourTime,ammonia  dataValue
+
+     SELECT  ask_time hourTime, ammonia  dataValue
 FROM `env_ammonia`
 FROM `env_ammonia`
-  ${ew.customSqlSegment}   GROUP BY hourTime
-    </select>
+  ${ew.customSqlSegment}
 
 
+
+    </select>
+<!--    &#45;&#45;    /*   SELECT CAST(CONCAT(-->
+<!--    &#45;&#45;         SUBSTR(DATE_ADD(DATE_SUB(ask_time, INTERVAL MINUTE(ask_time) MINUTE), INTERVAL FLOOR(MINUTE(ask_time) / 30) * 30 MINUTE),-->
+<!--    &#45;&#45;                1, 17), '00') AS DATETIME) hourTime,ammonia  dataValue-->
+<!--    &#45;&#45; FROM `env_ammonia`-->
+<!--    &#45;&#45;   ${ew.customSqlSegment}   GROUP BY hourTime*/-->
 </mapper>
 </mapper>

+ 3 - 3
huimv-env-platform/huimv-env-manage/src/main/resources/com/huimv/env/manage/mapper/EnvDeviceRegisterMapper.xml

@@ -19,18 +19,18 @@
 
 
        LEFT JOIN (
        LEFT JOIN (
         SELECT en1.temp temp  , en1.`device_code` device_code FROM env_temp  en1 RIGHT JOIN (
         SELECT en1.temp temp  , en1.`device_code` device_code FROM env_temp  en1 RIGHT JOIN (
-        SELECT MAX( id ) id  FROM `env_temp`/* WHERE DATEDIFF(ask_time,NOW())=0 */GROUP BY device_code
+        SELECT MAX( id ) id  FROM `env_temp` WHERE DATEDIFF(ask_time,NOW())=0 GROUP BY device_code
         )en2 ON en1.id = en2.id
         )en2 ON en1.id = en2.id
         )  et ON edr.device_code  = et.device_code
         )  et ON edr.device_code  = et.device_code
     LEFT JOIN (
     LEFT JOIN (
             SELECT eh1.humi humi  ,eh1.`device_code` device_code FROM env_humi  eh1 RIGHT JOIN (
             SELECT eh1.humi humi  ,eh1.`device_code` device_code FROM env_humi  eh1 RIGHT JOIN (
-            SELECT MAX( id ) id  FROM `env_humi` /* WHERE DATEDIFF(ask_time,NOW())=0*/ GROUP BY device_code
+            SELECT MAX( id ) id  FROM `env_humi`  WHERE DATEDIFF(ask_time,NOW())=0 GROUP BY device_code
             )eh2 ON eh1.id = eh2.id
             )eh2 ON eh1.id = eh2.id
             )  eh ON edr.device_code  = eh.device_code
             )  eh ON edr.device_code  = eh.device_code
 
 
         LEFT JOIN (
         LEFT JOIN (
         SELECT ea1.ammonia ammonia  ,ea1.`device_code` device_code FROM env_ammonia  ea1 RIGHT JOIN (
         SELECT ea1.ammonia ammonia  ,ea1.`device_code` device_code FROM env_ammonia  ea1 RIGHT JOIN (
-        SELECT MAX( id ) id  FROM `env_ammonia` /* WHERE DATEDIFF(ask_time,NOW())=0*/ GROUP BY device_code
+        SELECT MAX( id ) id  FROM `env_ammonia`  WHERE DATEDIFF(ask_time,NOW())=0 GROUP BY device_code
         )ea2 ON ea1.id = ea2.id
         )ea2 ON ea1.id = ea2.id
         )  ea ON edr.device_code  = ea.device_code
         )  ea ON edr.device_code  = ea.device_code
 
 

+ 8 - 5
huimv-env-platform/huimv-env-manage/src/main/resources/com/huimv/env/manage/mapper/EnvHumiMapper.xml

@@ -16,11 +16,14 @@
         <result column="farm_code" property="farmCode" />
         <result column="farm_code" property="farmCode" />
     </resultMap>
     </resultMap>
     <select id="listByTime" resultType="com.huimv.env.manage.entity.dto.TimeData">
     <select id="listByTime" resultType="com.huimv.env.manage.entity.dto.TimeData">
-           SELECT CAST(CONCAT(
-        SUBSTR(DATE_ADD(DATE_SUB(ask_time, INTERVAL MINUTE(ask_time) MINUTE), INTERVAL FLOOR(MINUTE(ask_time) / 30) * 30 MINUTE),
-               1, 17), '00') AS DATETIME) hourTime,humi  dataValue
+
+  SELECT ask_time hourTime,humi  dataValue
 FROM `env_humi`
 FROM `env_humi`
-  ${ew.customSqlSegment}   GROUP BY hourTime
+  ${ew.customSqlSegment}
     </select>
     </select>
-
+<!--    /*   SELECT CAST(CONCAT(-->
+<!--    SUBSTR(DATE_ADD(DATE_SUB(ask_time, INTERVAL MINUTE(ask_time) MINUTE), INTERVAL FLOOR(MINUTE(ask_time) / 30) * 30 MINUTE),-->
+<!--    1, 17), '00') AS DATETIME) hourTime,ammonia  dataValue-->
+<!--    FROM `env_ammonia`-->
+<!--    ${ew.customSqlSegment}   GROUP BY hourTime*/-->
 </mapper>
 </mapper>

+ 11 - 5
huimv-env-platform/huimv-env-manage/src/main/resources/com/huimv/env/manage/mapper/EnvTempMapper.xml

@@ -17,11 +17,17 @@
     </resultMap>
     </resultMap>
     <select id="listByTime" resultType="com.huimv.env.manage.entity.dto.TimeData">
     <select id="listByTime" resultType="com.huimv.env.manage.entity.dto.TimeData">
 
 
-           SELECT CAST(CONCAT(
-        SUBSTR(DATE_ADD(DATE_SUB(ask_time, INTERVAL MINUTE(ask_time) MINUTE), INTERVAL FLOOR(MINUTE(ask_time) / 30) * 30 MINUTE),
-               1, 17), '00') AS DATETIME) hourTime,temp  dataValue
+
+
+   SELECT ask_time hourTime,temp  dataValue
     FROM `env_temp`
     FROM `env_temp`
-  ${ew.customSqlSegment}   GROUP BY hourTime
-    </select>
+  ${ew.customSqlSegment}
 
 
+
+    </select>
+<!--    &#45;&#45;    /* SELECT CAST(CONCAT(-->
+<!--    &#45;&#45;         SUBSTR(DATE_ADD(DATE_SUB(ask_time, INTERVAL MINUTE(ask_time) MINUTE), INTERVAL FLOOR(MINUTE(ask_time) / 30) * 30 MINUTE),-->
+<!--    &#45;&#45;                1, 17), '00') AS DATETIME) hourTime,temp  dataValue-->
+<!--    &#45;&#45;     FROM `env_temp`-->
+<!--    &#45;&#45;   ${ew.customSqlSegment}   GROUP BY hourTime*/-->
 </mapper>
 </mapper>