package com.cku.checker; import java.io.IOException; import java.sql.DriverManager; import java.sql.ResultSet; import java.sql.SQLException; import java.text.ParseException; import java.text.SimpleDateFormat; import java.util.ArrayList; import java.util.Date; import java.util.HashMap; import java.util.List; import java.util.Map; import org.apache.poi.openxml4j.exceptions.InvalidFormatException; import org.apache.poi.ss.usermodel.Row; import org.restlet.engine.util.DateUtils; import com.mysql.jdbc.Connection; import com.mysql.jdbc.PreparedStatement; import com.thinkgem.jeesite.common.utils.excel.ImportExcel; /** * 支付宝的账户核对功能,核对支付宝导出的数据与数据库中的数据是否能够匹配, * 不匹配的字段会被打印出来 * @author fanhuibin * */ public class AliPayChecker { //核对某一事件段的数据,正反匹配 public void dbToAlipay() throws InvalidFormatException, IOException{ //第一步读取支付宝的文件的excel ImportExcel ie = new ImportExcel("C:\\Users\\fanhuibin\\Desktop\\alipay_record_20161108_1051_1.xlsx",5); Connection conn = getConn(); String sql = "select r.running_number,o.id,r.payment_time,r.out_trade_no,r.payment_amount from payment_record r left join payment_order o on o.order_code = r.running_number where r.payment_time> '2016-10-26 00:00:00' and r.payment_time<'2016-10-26 23:59:59' and r.payment_way = '1'"; PreparedStatement pstmt; //解析excel从第几行开始,到第几行结束 int begin = 5518; int end = 5975; List> list = new ArrayList>(); //筛选出excel中符合要求的数据,构建map List> excelList = new ArrayList>(); //匹配记录数量 double totalprice = 0; for(int i=begin-1;i