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 < #{oldTime};
+ delete from history where time < #{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