yuzixiang
2020-05-25 728bb68f16de54040a56b5e7d7a01e4ed6c49829
AQI数据插入任务(update)
1 files deleted
1 files added
3 files modified
281 ■■■■ changed files
src/main/java/com/moral/config/RedisConfig.java 57 ●●●●● patch | view | raw | blame | history
src/main/java/com/moral/task/AQIDataInsertTask.java 26 ●●●● patch | view | raw | blame | history
src/main/java/com/moral/util/RedisUtils.java 182 ●●●●● patch | view | raw | blame | history
src/main/resources/application.yml 12 ●●●●● patch | view | raw | blame | history
src/main/resources/mapper/HistoryMapper.xml 4 ●●●● patch | view | raw | blame | history
src/main/java/com/moral/config/RedisConfig.java
New file
@@ -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;
    }
}
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;
src/main/java/com/moral/util/RedisUtils.java
File was deleted
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
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>