9ece3f3a5af7f706afd5ba3ecbb30ea14c9968f5.svn-base 3.4 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889
  1. //
  2. // Source code recreated from a .class file by IntelliJ IDEA
  3. // (powered by Fernflower decompiler)
  4. //
  5. package cn.com.goldenwater.util.common;
  6. import com.fasterxml.jackson.annotation.JsonAutoDetect.Visibility;
  7. import com.fasterxml.jackson.annotation.PropertyAccessor;
  8. import com.fasterxml.jackson.databind.ObjectMapper;
  9. import com.fasterxml.jackson.databind.ObjectMapper.DefaultTyping;
  10. import org.springframework.data.redis.connection.RedisConnectionFactory;
  11. import org.springframework.data.redis.core.RedisTemplate;
  12. import org.springframework.data.redis.serializer.Jackson2JsonRedisSerializer;
  13. import org.springframework.data.redis.serializer.RedisSerializer;
  14. import org.springframework.data.redis.serializer.StringRedisSerializer;
  15. import javax.servlet.http.HttpServletRequest;
  16. import java.io.File;
  17. import java.io.FileOutputStream;
  18. public class IPUtils {
  19. public IPUtils() {
  20. }
  21. public static RedisTemplate<String, Object> getRedisTemplate(RedisConnectionFactory redisConnectionFactory) {
  22. RedisTemplate<String, Object> redisTemplate = new RedisTemplate<>();
  23. redisTemplate.setConnectionFactory(redisConnectionFactory);
  24. RedisSerializer stringSerializer = new StringRedisSerializer();
  25. redisTemplate.setKeySerializer(stringSerializer);
  26. redisTemplate.setHashKeySerializer(stringSerializer);
  27. Jackson2JsonRedisSerializer jackson2JsonRedisSerializer = new Jackson2JsonRedisSerializer<>(Object.class);
  28. ObjectMapper objectMapper = new ObjectMapper();
  29. objectMapper.setVisibility(PropertyAccessor.ALL, Visibility.ANY);
  30. objectMapper.enableDefaultTyping(DefaultTyping.NON_FINAL);
  31. jackson2JsonRedisSerializer.setObjectMapper(objectMapper);
  32. redisTemplate.setValueSerializer(jackson2JsonRedisSerializer);
  33. redisTemplate.afterPropertiesSet();
  34. return redisTemplate;
  35. }
  36. public static void uploadFile(byte[] file, String filePath, String fileName) throws Exception {
  37. File targetFile = new File(filePath);
  38. if (!targetFile.exists()) {
  39. targetFile.mkdirs();
  40. }
  41. FileOutputStream out = new FileOutputStream(filePath + fileName);
  42. out.write(file);
  43. out.flush();
  44. out.close();
  45. }
  46. public static String getIpAddr(HttpServletRequest request) {
  47. String ip = request.getHeader("x-forwarded-for");
  48. //System.out.println("x-forwarded-for ip: " + ip);
  49. if (ip != null && ip.length() != 0 && !"unknown".equalsIgnoreCase(ip) && ip.indexOf(",") != -1) {
  50. ip = ip.split(",")[0];
  51. }
  52. if (ip == null || ip.length() == 0 || "unknown".equalsIgnoreCase(ip)) {
  53. ip = request.getHeader("Proxy-Client-IP");
  54. }
  55. if (ip == null || ip.length() == 0 || "unknown".equalsIgnoreCase(ip)) {
  56. ip = request.getHeader("WL-Proxy-Client-IP");
  57. }
  58. if (ip == null || ip.length() == 0 || "unknown".equalsIgnoreCase(ip)) {
  59. ip = request.getHeader("HTTP_CLIENT_IP");
  60. }
  61. if (ip == null || ip.length() == 0 || "unknown".equalsIgnoreCase(ip)) {
  62. ip = request.getHeader("HTTP_X_FORWARDED_FOR");
  63. }
  64. if (ip == null || ip.length() == 0 || "unknown".equalsIgnoreCase(ip)) {
  65. ip = request.getHeader("X-Real-IP");
  66. }
  67. if (ip == null || ip.length() == 0 || "unknown".equalsIgnoreCase(ip)) {
  68. ip = request.getRemoteAddr();
  69. }
  70. return ip;
  71. }
  72. }