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