From f4a0f2acc63d7785eab108419a4e16f5f688cb95 Mon Sep 17 00:00:00 2001 From: yujian <yujian@163.com> Date: 星期六, 18 一月 2020 12:06:27 +0800 Subject: [PATCH] 用户注册信息 --- 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