From 88c7df1d5089d8e39f356a68eaccc18f308e190c Mon Sep 17 00:00:00 2001
From: yujian <yujian@163.com>
Date: 星期二, 24 三月 2020 12:10:07 +0800
Subject: [PATCH] Merge branch 'div' into div-1
---
fanli/src/main/java/com/yeshi/fanli/util/elme/ElmeOrderUtil.java | 209 +++++++++++++++++++++++++++++++++++-----------------
1 files changed, 140 insertions(+), 69 deletions(-)
diff --git a/fanli/src/main/java/com/yeshi/fanli/util/elme/ElmeOrderUtil.java b/fanli/src/main/java/com/yeshi/fanli/util/elme/ElmeOrderUtil.java
index 4ebb5e3..d58d673 100644
--- a/fanli/src/main/java/com/yeshi/fanli/util/elme/ElmeOrderUtil.java
+++ b/fanli/src/main/java/com/yeshi/fanli/util/elme/ElmeOrderUtil.java
@@ -1,91 +1,120 @@
package com.yeshi.fanli.util.elme;
+import java.io.IOException;
import java.io.InputStream;
import java.math.BigDecimal;
import java.util.ArrayList;
+import java.util.Arrays;
import java.util.Date;
import java.util.List;
+import java.util.Properties;
+
+import javax.mail.Folder;
+import javax.mail.Message;
+import javax.mail.Part;
+import javax.mail.Session;
+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;
-import jxl.Sheet;
-import jxl.Workbook;
-
public class ElmeOrderUtil {
- /**
- * 瑙f瀽璁㈠崟锛堜粠杈撳叆娴侊級
- *
- * @param input
- * @return
- */
- public static List<ElmeOrder> parseOrder(InputStream input) {
+ public static List<ElmeOrder> parseOrder(InputStream is) {
List<ElmeOrder> list = new ArrayList<>();
+
+ org.apache.poi.ss.usermodel.Workbook wb = null;
try {
- jxl.Workbook rwb = Workbook.getWorkbook(input);
- Sheet sheet = rwb.getSheet(0);
- for (int r = 1; r < sheet.getRows(); r++) {
- ElmeOrder order = new ElmeOrder();
- for (int c = 0; c < sheet.getColumns(); c++) {
- String content = sheet.getCell(c, r).getContents();
- String columnName = sheet.getCell(c, 0).getContents().trim();
- switch (columnName) {
- case "娓犻亾鍙�":
- order.setChannelId(content);
- break;
- case "娓犻亾鍚嶇О":
- order.setChannelName(content);
- break;
- case "track_pid":
- order.setTrackPid(content);
- break;
- case "rid":
- order.setRid(content);
- break;
- case "璁㈠崟鏃ユ湡":
- order.setOrderDate(new Date(TimeUtil.convertToTimeTemp(content, "yyyy-MM-dd")));
- break;
- case "璁㈠崟鍙�":
- order.setOrderId(content.replace("<", "").replace(">", ""));
- break;
- case "鏀粯閲戦":
- order.setPayMoney(new BigDecimal(content));
- break;
- case "涓嬪崟鍩庡競":
- order.setCity(content);
- break;
- case "鐢ㄥ埜閲戦":
- order.setCouponMoney(new BigDecimal(content));
- break;
- case "鏄惁鏂板棣栧崟":
- order.setNewerFirstOrder(Integer.parseInt(content));
- break;
- case "鏄惁鏂板澶嶈喘鍗�":
- order.setNewerRepayOrder(Integer.parseInt(content));
- break;
- case "鏄惁浣跨敤娣樺绾㈠寘":
- order.setTaokeHongBao(Integer.parseInt(content));
- break;
- case "鏄惁鏈夊湪浼氬満鍐呰闂ㄥ簵鐨勭偣鍑昏褰�":
- order.setShopClick(Integer.parseInt(content));
- break;
- case "鏄惁棰嗗埜鍚�7澶╁唴棣栧崟":
- order.setRecieveCoupon7DayFirstOrder(Integer.parseInt(content));
- break;
- case "鏄惁6缁撲剑":
- if ("鏄�".equalsIgnoreCase(content))
- order.setIsSettle(true);
- else
- order.setIsSettle(false);
- break;
+ wb = new XSSFWorkbook(is);
+ } catch (IOException e) {
+ e.printStackTrace();
+ }
+ // 寮�濮嬭В鏋�
+ org.apache.poi.ss.usermodel.Sheet sheet = wb.getSheetAt(0);
+
+ Row firstRow = sheet.getRow(0);
+ for (int r = 1; r <= sheet.getLastRowNum(); r++) {
+ ElmeOrder order = new ElmeOrder();
+ Row row = sheet.getRow(r);
+ for (int c = row.getFirstCellNum(); c < row.getLastCellNum(); c++) {
+ 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());
}
- list.add(order);
+ switch (columnName) {
+ case "娓犻亾鍙�":
+ order.setChannelId(new BigDecimal(content).longValue() + "");
+ break;
+ case "娓犻亾鍚嶇О":
+ order.setChannelName(content);
+ break;
+ case "track_pid":
+ order.setTrackPid(content);
+ break;
+ case "rid":
+ 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(">", "").replace("<", "").replace(">", ""));
+ break;
+ case "鏀粯閲戦":
+ order.setPayMoney(new BigDecimal(content));
+ break;
+ case "涓嬪崟鍩庡競":
+ order.setCity(content);
+ break;
+ case "鐢ㄥ埜閲戦":
+ order.setCouponMoney(new BigDecimal(content));
+ break;
+ case "鏄惁鏂板棣栧崟":
+ order.setNewerFirstOrder(new BigDecimal(content).intValue());
+ break;
+ case "鏄惁鏂板澶嶈喘鍗�":
+ order.setNewerRepayOrder(new BigDecimal(content).intValue());
+ break;
+ case "鏄惁浣跨敤娣樺绾㈠寘":
+ order.setTaokeHongBao(new BigDecimal(content).intValue());
+ break;
+ case "鏄惁鏈夊湪浼氬満鍐呰闂ㄥ簵鐨勭偣鍑昏褰�":
+ order.setShopClick(new BigDecimal(content).intValue());
+ break;
+ case "鏄惁棰嗗埜鍚�7澶╁唴棣栧崟":
+ order.setRecieveCoupon7DayFirstOrder(new BigDecimal(content).intValue());
+ break;
+ case "鏄惁6缁撲剑":
+ if ("鏄�".equalsIgnoreCase(content))
+ order.setIsSettle(true);
+ else
+ order.setIsSettle(false);
+ break;
+ }
}
- rwb.close();
- } catch (Exception e) {
+ list.add(order);
}
return list;
}
@@ -94,4 +123,46 @@
return MoneyBigDecimalUtil.mul(payMoney, new BigDecimal("0.06"));
}
+ public static List<ElmeOrder> pullLatest5DayOrder() {
+ List<ElmeOrder> totalOrderList = new ArrayList<>();
+ String host = "pop.qq.com";
+ String username = "2780501319@qq.com";
+ String password = "dbltidaeknumdgfd";
+ Properties props = new Properties();
+ Session session = Session.getDefaultInstance(props, null);
+ try {
+ Store store = session.getStore("pop3");
+ store.connect(host, username, password);
+ Folder folder = store.getFolder("INBOX");
+ folder.open(Folder.READ_ONLY);
+ Message message[] = folder.getMessages();
+ List<Message> list = Arrays.asList(message);
+ int count = 0;
+ 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++ > 5)
+ break;
+ 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) {
+ LogHelper.errorDetailInfo(e);
+ }
+ return totalOrderList;
+ }
+
}
--
Gitblit v1.8.0