admin
2021-02-06 d1f26741bddf6f512d62c0100d42c52be8d37e76
utils/src/main/java/org/yeshi/utils/wx/WXRedPackUtil.java
@@ -1,74 +1,74 @@
package org.yeshi.utils.wx;
import java.io.BufferedReader;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.util.ArrayList;
import java.util.List;
import org.yeshi.utils.entity.wx.RedPackRecord;
public class WXRedPackUtil {
   public static List<RedPackRecord> readCsv(InputStream inStream) throws Exception {
      List<RedPackRecord> list = new ArrayList<RedPackRecord>();
      RedPackRecord record = null;
      BufferedReader reader = new BufferedReader(new InputStreamReader(inStream, "GBK"));
      // 换成你的文件名
      // BufferedReader reader=new BufferedReader(new InputStreamReader(new
      // FileInputStream(path),"GBK"));
      String line = null;
      // 第一行信息,为标题信息,不用,如果需要,注释掉
      reader.readLine();
      while ((line = reader.readLine()) != null) {
         // CSV格式文件为逗号分隔符文件,这里根据逗号切分
         String item[] = line.split(",");
         // 用户openid
         String openId = getValue(item, 3);
         if (openId == null || openId.trim().length() == 0)
            break;
         record = new RedPackRecord();
         record.setOpenId(openId);
         record.setSendTime(getCsvDate(getValue(item, 0))); // 发送时间
         record.setDetailno(getValue(item, 10)); // 红包订单号
         record.setBillno(getValue(item, 11)); // 商户订单号
         String status = getValue(item, 6);
         if (status != null && status.trim().length() > 0) {
            record.setStatus(status);
            if ("已领取".equals(status)) {
               record.setRcvTime(getCsvDate(getValue(item, 7)));
            } else if ("过期未领退款".equals(status)) {
               record.setRcvTime(getCsvDate(getValue(item, 8)));
            }
         }
         list.add(record);
      }
      return list;
   }
   public static String getValue(String[] item, int index) {
      if (item != null && item.length > index) {
         String value = item[index];
         return value;
      }
      return null;
   }
   public static String getCsvDate(String item) throws Exception {
      if (item == null || item.trim().length() == 0)
         return null;
      if (item.indexOf("/") > 0) {
         item = item.replaceAll("/", "-");
      } else if (item.indexOf("年") > 0) {
         item = item.replaceAll("年", "-").replaceAll("月", "-").replaceAll("日", "");
      }
      return item;
   }
}
package org.yeshi.utils.wx;
import java.io.BufferedReader;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.util.ArrayList;
import java.util.List;
import org.yeshi.utils.entity.wx.RedPackRecord;
public class WXRedPackUtil {
   public static List<RedPackRecord> readCsv(InputStream inStream) throws Exception {
      List<RedPackRecord> list = new ArrayList<RedPackRecord>();
      RedPackRecord record = null;
      BufferedReader reader = new BufferedReader(new InputStreamReader(inStream, "GBK"));
      // 换成你的文件名
      // BufferedReader reader=new BufferedReader(new InputStreamReader(new
      // FileInputStream(path),"GBK"));
      String line = null;
      // 第一行信息,为标题信息,不用,如果需要,注释掉
      reader.readLine();
      while ((line = reader.readLine()) != null) {
         // CSV格式文件为逗号分隔符文件,这里根据逗号切分
         String item[] = line.split(",");
         // 用户openid
         String openId = getValue(item, 3);
         if (openId == null || openId.trim().length() == 0)
            break;
         record = new RedPackRecord();
         record.setOpenId(openId);
         record.setSendTime(getCsvDate(getValue(item, 0))); // 发送时间
         record.setDetailno(getValue(item, 10)); // 红包订单号
         record.setBillno(getValue(item, 11)); // 商户订单号
         String status = getValue(item, 6);
         if (status != null && status.trim().length() > 0) {
            record.setStatus(status);
            if ("已领取".equals(status)) {
               record.setRcvTime(getCsvDate(getValue(item, 7)));
            } else if ("过期未领退款".equals(status)) {
               record.setRcvTime(getCsvDate(getValue(item, 8)));
            }
         }
         list.add(record);
      }
      return list;
   }
   public static String getValue(String[] item, int index) {
      if (item != null && item.length > index) {
         String value = item[index];
         return value;
      }
      return null;
   }
   public static String getCsvDate(String item) throws Exception {
      if (item == null || item.trim().length() == 0)
         return null;
      if (item.indexOf("/") > 0) {
         item = item.replaceAll("/", "-");
      } else if (item.indexOf("年") > 0) {
         item = item.replaceAll("年", "-").replaceAll("月", "-").replaceAll("日", "");
      }
      return item;
   }
}