admin
2020-04-13 dd5b15229cb15459fa7c31ccea77dac28cbfafbd
fanli/src/main/java/com/yeshi/fanli/util/elme/ElmeOrderUtil.java
@@ -5,7 +5,6 @@
import java.math.BigDecimal;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Collections;
import java.util.Date;
import java.util.List;
import java.util.Properties;
@@ -17,11 +16,14 @@
import javax.mail.Store;
import javax.mail.internet.MimeMessage;
import org.apache.poi.hssf.usermodel.HSSFDateUtil;
import org.apache.poi.ss.usermodel.Cell;
import org.apache.poi.ss.usermodel.Row;
import org.apache.poi.xssf.usermodel.XSSFWorkbook;
import org.yeshi.utils.mail.ShowMail;
import com.yeshi.fanli.entity.elme.ElmeOrder;
import com.yeshi.fanli.log.LogHelper;
import com.yeshi.fanli.util.MoneyBigDecimalUtil;
import com.yeshi.fanli.util.TimeUtil;
@@ -44,11 +46,26 @@
         ElmeOrder order = new ElmeOrder();
         Row row = sheet.getRow(r);
         for (int c = row.getFirstCellNum(); c < row.getLastCellNum(); c++) {
            String content = row.getCell(c).toString().trim();
            Cell cell = row.getCell(c);
            String content = null;
            String columnName = firstRow.getCell(c).getStringCellValue().trim();
            if (cell == null)
               continue;
            if (cell.getCellType() == Cell.CELL_TYPE_NUMERIC) {
               if (HSSFDateUtil.isCellDateFormatted(cell)) { // 判断日期类型
                  Date date = cell.getDateCellValue();
                  content = TimeUtil.getGernalTime(date.getTime(), "yyyy-MM-dd");
               } else { // 否
                  content = cell.getNumericCellValue() + "";
               }
            } else if (cell.getCellType() == Cell.CELL_TYPE_STRING) {
               content = (cell.getStringCellValue());
            }
            switch (columnName) {
            case "渠道号":
               order.setChannelId(content);
               order.setChannelId(new BigDecimal(content).longValue() + "");
               break;
            case "渠道名称":
               order.setChannelName(content);
@@ -57,13 +74,13 @@
               order.setTrackPid(content);
               break;
            case "rid":
               order.setRid(content);
               order.setRid(new BigDecimal(content).longValue() + "");
               break;
            case "订单日期":
               order.setOrderDate(new Date(TimeUtil.convertToTimeTemp(content, "yyyy-MM-dd")));
               break;
            case "订单号":
               order.setOrderId(content.replace("<", "").replace(">", ""));
               order.setOrderId(content.replace("&lt;", "").replace("&gt;", "").replace("<", "").replace(">", ""));
               break;
            case "支付金额":
               order.setPayMoney(new BigDecimal(content));
@@ -75,19 +92,19 @@
               order.setCouponMoney(new BigDecimal(content));
               break;
            case "是否新客首单":
               order.setNewerFirstOrder(Integer.parseInt(content));
               order.setNewerFirstOrder(new BigDecimal(content).intValue());
               break;
            case "是否新客复购单":
               order.setNewerRepayOrder(Integer.parseInt(content));
               order.setNewerRepayOrder(new BigDecimal(content).intValue());
               break;
            case "是否使用淘客红包":
               order.setTaokeHongBao(Integer.parseInt(content));
               order.setTaokeHongBao(new BigDecimal(content).intValue());
               break;
            case "是否有在会场内该门店的点击记录":
               order.setShopClick(Integer.parseInt(content));
               order.setShopClick(new BigDecimal(content).intValue());
               break;
            case "是否领券后7天内首单":
               order.setRecieveCoupon7DayFirstOrder(Integer.parseInt(content));
               order.setRecieveCoupon7DayFirstOrder(new BigDecimal(content).intValue());
               break;
            case "是否6结佣":
               if ("是".equalsIgnoreCase(content))
@@ -124,21 +141,26 @@
         for (int i = list.size() - 1; i >= 0; i--) {
            ShowMail showMail = new ShowMail((MimeMessage) list.get(i));
            if ("qiuming.wu<qiuming.wu@ele.me>".equalsIgnoreCase(showMail.getFrom())) {
               if (count++ > 4)
               if (count++ > 5)
                  break;
               boolean attch = showMail.isContainAttach((Part) list.get(i));
               if (attch) {
                  List<InputStream> attchList = showMail.saveAttachMent((Part) list.get(i));
                  if (attchList.size() > 0) {
                     List<ElmeOrder> orderList = ElmeOrderUtil.parseOrder(attchList.get(0));
                     if (orderList != null && orderList.size() > 0)
                        totalOrderList.addAll(orderList);
               try {
                  boolean attch = showMail.isContainAttach((Part) list.get(i));
                  if (attch) {
                     List<InputStream> attchList = showMail.saveAttachMent((Part) list.get(i));
                     if (attchList.size() > 0) {
                        List<ElmeOrder> orderList = ElmeOrderUtil.parseOrder(attchList.get(0));
                        if (orderList != null && orderList.size() > 0)
                           totalOrderList.addAll(orderList);
                     }
                  }
               } catch (Exception e) {
               }
            }
         }
      } catch (Exception e) {
         e.printStackTrace();
         LogHelper.errorDetailInfo(e);
      }
      return totalOrderList;
   }