From 728bb68f16de54040a56b5e7d7a01e4ed6c49829 Mon Sep 17 00:00:00 2001
From: yuzixiang <yzx123456>
Date: Mon, 25 May 2020 14:38:26 +0800
Subject: [PATCH] AQI数据插入任务(update)

---
 /dev/null                                           |  182 ------------------------------------
 src/main/java/com/moral/config/RedisConfig.java     |   57 +++++++++++
 src/main/resources/mapper/HistoryMapper.xml         |    4 
 src/main/java/com/moral/task/AQIDataInsertTask.java |   26 ++--
 src/main/resources/application.yml                  |   12 ++
 5 files changed, 83 insertions(+), 198 deletions(-)

diff --git a/src/main/java/com/moral/config/RedisConfig.java b/src/main/java/com/moral/config/RedisConfig.java
new file mode 100644
index 0000000..3639c12
--- /dev/null
+++ b/src/main/java/com/moral/config/RedisConfig.java
@@ -0,0 +1,57 @@
+package com.moral.config;
+
+import org.springframework.cache.CacheManager;
+import org.springframework.cache.annotation.CachingConfigurerSupport;
+import org.springframework.cache.annotation.EnableCaching;
+import org.springframework.cache.interceptor.KeyGenerator;
+import org.springframework.context.annotation.Bean;
+import org.springframework.context.annotation.Configuration;
+import org.springframework.data.redis.cache.RedisCacheManager;
+import org.springframework.data.redis.connection.RedisConnectionFactory;
+import org.springframework.data.redis.core.RedisTemplate;
+import org.springframework.data.redis.core.StringRedisTemplate;
+import org.springframework.data.redis.serializer.StringRedisSerializer;
+
+import java.lang.reflect.Method;
+
+@Configuration
+@EnableCaching
+public class RedisConfig extends CachingConfigurerSupport {
+
+    @Bean
+    public KeyGenerator keyGenerator() {
+        return new KeyGenerator() {
+            @Override
+            public Object generate(Object target, Method method, Object... params) {
+                StringBuilder sb = new StringBuilder();
+                sb.append(target.getClass().getName());
+                sb.append(method.getName());
+                for (Object obj : params) {
+                    sb.append(obj.toString());
+                }
+                return sb.toString();
+            }
+        };
+    }
+
+    @SuppressWarnings("rawtypes")
+    @Bean
+    public CacheManager cacheManager(RedisTemplate redisTemplate) {
+        RedisCacheManager rcm = new RedisCacheManager(redisTemplate);
+        //������������������������
+        //rcm.setDefaultExpiration(60);//���
+        return rcm;
+    }
+
+    @Bean
+    public RedisTemplate<String, String> redisTemplate(RedisConnectionFactory factory) {
+        StringRedisTemplate template = new StringRedisTemplate(factory);
+        StringRedisSerializer stringRedisSerializer = new StringRedisSerializer();
+        template.setDefaultSerializer(stringRedisSerializer);
+        template.setKeySerializer(stringRedisSerializer);
+        template.setValueSerializer(stringRedisSerializer);
+        template.setHashKeySerializer(stringRedisSerializer);
+        template.setHashValueSerializer(stringRedisSerializer);
+        return template;
+    }
+}
\ No newline at end of file
diff --git a/src/main/java/com/moral/task/AQIDataInsertTask.java b/src/main/java/com/moral/task/AQIDataInsertTask.java
index f31d5b3..71491d3 100644
--- a/src/main/java/com/moral/task/AQIDataInsertTask.java
+++ b/src/main/java/com/moral/task/AQIDataInsertTask.java
@@ -3,7 +3,6 @@
 import com.alibaba.fastjson.JSONObject;
 import com.moral.service.AQIService;
 import com.moral.util.HttpUtils;
-import com.moral.util.RedisUtils;
 import com.moral.util.WxMappingJackson2HttpMessageConverter;
 
 import com.xxl.job.core.biz.model.ReturnT;
@@ -11,6 +10,7 @@
 import org.apache.commons.lang3.time.DateUtils;
 import org.apache.http.HttpResponse;
 import org.apache.http.util.EntityUtils;
+import org.springframework.data.redis.core.RedisTemplate;
 import org.springframework.stereotype.Component;
 import org.springframework.util.ObjectUtils;
 import org.springframework.web.client.RestTemplate;
@@ -23,7 +23,7 @@
     @Resource
     private AQIService aqiService;
     @Resource
-    private RedisUtils redisUtils;
+    private RedisTemplate redisTemplate;
     @XxlJob("insertData")
     public ReturnT insertData(){
         SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
@@ -59,23 +59,23 @@
                 try {
                     int i=aqiService.insertAQIData(parameters);
                     if (i>0){
-                        if ("1".equals(cityAqiConfig.get("is_compensate"))) {
-                            returnT = new ReturnT(200, " ���������������������");
-                            Map<String, String> map = new HashMap<String, String>();
-                            map.put("e1", data.containsKey("PM25C") ? data.get("PM25C").toString() : data.get("PM2_5").toString());
-                            map.put("e2", data.containsKey("PM10C") ? data.get("PM10C").toString() : data.get("PM10").toString());
-                            map.put("e10", data.containsKey("COC") ? data.get("COC").toString() : data.get("CO").toString());
-                            map.put("e11", data.containsKey("SO2C") ? data.get("SO2C").toString() : data.get("SO2").toString());
-                            map.put("e15", data.containsKey("O3C") ? data.get("O3C").toString() : data.get("O3").toString());
-                            map.put("e16", data.containsKey("NO2C") ? data.get("NO2C").toString() : data.get("NO2").toString());
-                            redisUtils.set("aqi_" + cityAqiConfig.get("city_code"), map);
-                        }
+                        returnT = new ReturnT(200, " ���������������������");
                     }else {
                         returnT = new ReturnT(500, " ���������������������");
                     }
                 } catch (Exception e) {
                     e.printStackTrace();
                 }
+                if ("1".equals(cityAqiConfig.get("is_compensate"))) {
+                    Map<String, String> map = new HashMap<String, String>();
+                    map.put("e1", data.containsKey("PM25C") ? data.get("PM25C").toString() : data.get("PM2_5").toString());
+                    map.put("e2", data.containsKey("PM10C") ? data.get("PM10C").toString() : data.get("PM10").toString());
+                    map.put("e10", data.containsKey("COC") ? data.get("COC").toString() : data.get("CO").toString());
+                    map.put("e11", data.containsKey("SO2C") ? data.get("SO2C").toString() : data.get("SO2").toString());
+                    map.put("e15", data.containsKey("O3C") ? data.get("O3C").toString() : data.get("O3").toString());
+                    map.put("e16", data.containsKey("NO2C") ? data.get("NO2C").toString() : data.get("NO2").toString());
+                    redisTemplate.opsForHash().putAll("aqi_" + cityAqiConfig.get("city_code"),map);
+                }
             }
         }
         return returnT;
diff --git a/src/main/java/com/moral/util/RedisUtils.java b/src/main/java/com/moral/util/RedisUtils.java
deleted file mode 100644
index 3802bc7..0000000
--- a/src/main/java/com/moral/util/RedisUtils.java
+++ /dev/null
@@ -1,182 +0,0 @@
-package com.moral.util;
-
-import com.alibaba.fastjson.JSON;
-import com.alibaba.fastjson.TypeReference;
-import com.moral.common.BooleanValueFilter;
-import org.springframework.data.redis.core.RedisTemplate;
-import org.springframework.data.redis.core.ValueOperations;
-import org.springframework.data.redis.serializer.RedisSerializer;
-import org.springframework.data.redis.serializer.StringRedisSerializer;
-import org.springframework.stereotype.Component;
-
-import javax.annotation.Resource;
-import java.io.Serializable;
-import java.util.ArrayList;
-import java.util.List;
-import java.util.Map;
-import java.util.Set;
-import java.util.concurrent.TimeUnit;
-
-@Component
-public class RedisUtils {
-    private static final String AlarmPrefix = "alarm_";
-    public static String getAlarmKey(int organizationId){
-       return AlarmPrefix+organizationId;
-    }
-    private static final String Adjust = "adjust_";
-    public static String getAdjustKey(String mac){
-        return Adjust + mac;
-    }
-    @Resource
-    private RedisTemplate redisTemplate;
-    @Resource
-    private BooleanValueFilter javaTypePatchValueFilter;
-    /**
-     * ���������������������value
-     *
-     * @param keys
-     */
-    public void remove(final String... keys) {
-        for (String key : keys) {
-            remove(key);
-        }
-    }
-
-    /**
-     * ������������key
-     *
-     * @param pattern
-     */
-    public void removePattern(final String pattern) {
-        Set<Serializable> keys = redisTemplate.keys(pattern);
-        if (keys.size() > 0)
-            redisTemplate.delete(keys);
-    }
-
-    /**
-     * ���������������value
-     *
-     * @param key
-     */
-    public void remove(final String key) {
-        if (exists(key)) {
-            redisTemplate.delete(key);
-        }
-    }
-
-    /**
-     * ���������������������������������value
-     *
-     * @param key
-     * @return
-     */
-    public boolean exists(final String key) {
-        return redisTemplate.hasKey(key);
-    }
-
-    /**
-     * ������������
-     *
-     * @param key
-     * @return
-     */
-    public Object get(final String key) {
-        Object result = null;
-        ValueOperations<Serializable, Object> operations = redisTemplate.opsForValue();
-        result = operations.get(key);
-        return result;
-    }
-    /**
-     * ������������,������������������
-     *
-     * @param key
-     * @return
-     */
-    public  <T>T get(String key,Class<T> clazz) {
-      	Object obj = get(key);
-      	String json = obj!=null?obj.toString():null;
-      	if(json!=null) {
-      		return (T) parseObject(json,clazz);
-      	}
-      	return null;
-      }
-    /**
-     * ������������,������������������
-     *
-     * @param key
-     * @return
-     */
-      public  <T>T get(String key,TypeReference typeReference) {
-      	Object obj = get(key);
-      	String json = obj!=null?obj.toString():null;
-      	if(json!=null) {
-      		return (T) parseObject(json,typeReference);
-      	}
-      	return null;
-      }
-      private static <T>T parseObject(String key,Class<T> clazz) {
-          return (T) JSON.parseObject(key,clazz);
-     }
-      private static <T>T parseObject(String key,TypeReference typeReference) {
-    	   return (T) JSON.parseObject(key,typeReference);
-      }
-      public <T> List<T> getList(String pattern,TypeReference typeReference){
-    	  List<String> jsonList = getList(pattern);
-    	  List<T>  list = new ArrayList<T>();
-    	  for(String json:jsonList) {
-    		     list.add((T)parseObject(json,typeReference));
-    	  }
-    	  return list;
-      }
-      public <T> List<T> getList(String pattern,Class<T> clazz){
-    	  List<String> jsonList = getList(pattern);
-    	  List<T>  list = new ArrayList<>();
-    	  for(String json:jsonList) {
-    		     list.add(parseObject(json,clazz));
-    	  }
-    	  return list;
-      }
-      public List<String> getList(String pattern){
-    	  Set<String> keys = keys(pattern);
-    	  List<String> list = new ArrayList<String>();
-    	  for(String key:keys) {
-    		 Object obj = get(key);
-    		 String json = obj!=null?obj.toString():null;
-    		 if(json!=null) {
-    			 list.add(json);
-    		 }
-    	  }
-    	  return list;
-      }
-      public Set<String> keys(String pattern) {
-      	return redisTemplate.keys(pattern);
-      }
-    /**
-     * ������������
-     *
-     * @param key
-     * @param value
-     * @return
-     */
-    public boolean set(final String key, Object value) {
-        boolean result = false;
-        RedisSerializer stringSerializer = new StringRedisSerializer();
-        redisTemplate.setKeySerializer(stringSerializer);
-        redisTemplate.setValueSerializer(stringSerializer);
-        redisTemplate.setHashKeySerializer(stringSerializer);
-        redisTemplate.setHashValueSerializer(stringSerializer);
-        this.redisTemplate = redisTemplate;
-        try {
-        	if(value!=null&&!(value instanceof String)) {
-        		value = JSON.toJSONString(value,new BooleanValueFilter());
-        	}
-            ValueOperations<Serializable, Object> operations = redisTemplate.opsForValue();
-            operations.set(key, value);
-            result = true;
-        } catch (Exception e) {
-            e.printStackTrace();
-        }
-        return result;
-    }
-
-}
diff --git a/src/main/resources/application.yml b/src/main/resources/application.yml
index a327bfe..cdb2e43 100644
--- a/src/main/resources/application.yml
+++ b/src/main/resources/application.yml
@@ -49,6 +49,16 @@
     #password: 123456
     channelCacheSize: 10
     concurrency: 5
-
+  redis:
+    host: 127.0.0.1
+    port: 6379
+    password: root
+    database: 1
+    timeout: 5000
+    pool:
+      max-active: 8
+      max-wait: -1
+      max-idle: 8
+      min-idle: 0
 mybatis:
   mapper-locations: classpath*:/mapper/*Mapper.xml
\ No newline at end of file
diff --git a/src/main/resources/mapper/HistoryMapper.xml b/src/main/resources/mapper/HistoryMapper.xml
index 044b959..b80dc89 100644
--- a/src/main/resources/mapper/HistoryMapper.xml
+++ b/src/main/resources/mapper/HistoryMapper.xml
@@ -177,10 +177,10 @@
     </insert>
 
     <delete id="deleteHistoryData" parameterType="java.lang.String">
-        delete from history3 where  time &lt; #{oldTime};
+        delete from history where  time &lt; #{oldTime};
     </delete>
     <update id="deletePartition">
-        ALTER table history3 drop PARTITION ${p};
+        ALTER table history drop PARTITION ${p};
     </update>
 
 </mapper>
\ No newline at end of file

--
Gitblit v1.8.0