阅读背景:

导出(下载)数据库查询的数据生成csv文件

来源:互联网 

	@SuppressWarnings({ "unchecked" })
	public String downLoadCsvFile(){
		System.out.println("下载csv提现对账文件");
		
		HttpServletResponse response1 = ServletActionContext.getResponse();
		
		System.out.println("response1:"+response1);
		//从表中查询出数据
		String sql = "select t.* from TB_XXX t ";
		if(searchTime==null){//如果查询时间为空则默认查询昨天的
			//赋默认值
			System.out.println("默认查询昨天的");
			Calendar cal= Calendar.getInstance();
			cal.add(Calendar.DATE, -1);
			String yesterday = new SimpleDateFormat( "yyyy-MM-dd").format(cal.getTime());
			searchTime=yesterday;
		}
		log.info("searchTime为:"+searchTime);
		log.info("accountStatusState为:"+accountStatusState);
		sql+="where t.settle_date=to_char(to_date('"+searchTime+"','YYYY-MM-DD'),'YYYYMMDD') ";
		if(accountStatusState!=null&&!("").equals(accountStatusState)&&accountStatusState!=3){
			sql+="and t.diff_flag="+accountStatusState;
		}
//		else{
//			accountStatusState = 3;
//			sql+="and t.diff_flag="+accountStatusState;
//		}
//		
		log.info("查询语句为:"+sql);
//		pageBean=accountCheckService.findBySql(sql, pageBean);
		/**
		 * 根据原生sql查询
		 */
		List<AccountCheck> datalist = accountCheckService.findBySqlToClass(sql);
//		List<AccountCheck> datalist = pageBean.getDataList();
		System.out.println("datalist="+datalist);
//		List<String> datalist2 = Arrays.asList(datalist.toString());
//		List refundList = null;
		//下载后,跳转到cashMoneyList.jsp
		System.out.println("真假:"+datalist.toString().equals("[]"));
		if(datalist!=null&&!datalist.toString().equals("")&&!datalist.toString().equals("[]")){
			List exportData = new ArrayList();
			LinkedHashMap datamMap = null;
//			HashMap map = null;
			for(int i=0;i<datalist.size();i++){
				datamMap = new LinkedHashMap();
				datamMap.put("1", datalist.get(i).getOrder_num()!=null?datalist.get(i).getOrder_num():"");
				datamMap.put("2", datalist.get(i).getPay_num()!=null?datalist.get(i).getPay_num():"");
				datamMap.put("3", datalist.get(i).getOrder_time()!=null?datalist.get(i).getOrder_time():"");
				datamMap.put("4", datalist.get(i).getSettle_date()!=null?datalist.get(i).getSettle_date():"");
				datamMap.put("5", datalist.get(i).getOrder_money()!=null?datalist.get(i).getOrder_money():"");
				datamMap.put("6", datalist.get(i).getPay_money()!=null?datalist.get(i).getPay_money():"");
				datamMap.put("7", datalist.get(i).getPay_rate()!=null?datalist.get(i).getPay_rate():"");
				if(datalist.get(i).getYt_status()==null){
					yt_status="";
				}else if(datalist.get(i).getYt_status().equals("0")){
					yt_status = "成功";
				}else if(datalist.get(i).getYt_status().equals("5")){
					yt_status = "退款";
				}else{
					yt_status = "";
				}
				datamMap.put("8", yt_status);
				if(datalist.get(i).getDiff_flag()==null){
					diff_flag="";
				}else if(datalist.get(i).getDiff_flag().equals("1")){
					diff_flag = "银无我有";
				}else if(datalist.get(i).getDiff_flag().equals("2")){
					diff_flag = "银有我无";
				}else if(datalist.get(i).getDiff_flag().equals("0")){
					diff_flag = "平账";
				}else{
					diff_flag = "";
				}
				datamMap.put("9", diff_flag);
				datamMap.put("10", datalist.get(i).getRefund_date()!=null?datalist.get(i).getRefund_date():"");
				if(datalist.get(i).getPay_type()==null){
					pay_type="";
				}else if(datalist.get(i).getPay_type().equals("1")){
					pay_type = "银行卡";
				}else if(datalist.get(i).getPay_type().equals("2")){
					pay_type = "钱包";
				}else{
					pay_type = "";
				}
				datamMap.put("11", pay_type);
				if(datalist.get(i).getUser_type()==null){
					user_type = "";
				}else if(datalist.get(i).getUser_type()==1){
					user_type = "发行商";
				}else if(datalist.get(i).getUser_type()==2){
					user_type = "普通用户";
				}else{
					user_type = "";
				}
				datamMap.put("12", user_type);
				exportData.add(datamMap);
			}
			System.out.println("输出到对账表的数据为exportData:"+exportData);
			
			//定义导出的文件名
			String name = "XX支付对账文件_清算日期_"+searchTime+"_";
			try {
				fileName = new String(name.getBytes("utf-8"), "ISO8859-1");
			} catch (UnsupportedEncodingException e) {
				// TODO Auto-generated catch block
				e.printStackTrace();
			}
			LinkedHashMap map2 = new LinkedHashMap(); 
			map2.put("1", "订单号"); 
			map2.put("2", "支付流水号"); 
			map2.put("3", "订单时间"); 
			map2.put("4", "清算日期"); 
			map2.put("5", "订单金额"); 
			map2.put("6", "支付金额"); 
			map2.put("7", "手续费"); 
			map2.put("8", "XX交易状态"); // 0 成功 5 退款
			map2.put("9", "对账结果"); // 1 表示X无我有,2 表示X有我无,0 表示平帐
			map2.put("10", "退款时间"); 
			map2.put("11", "支付方式"); //1 银行卡 2 钱包
			map2.put("12", "用户类型"); //1 银行卡 2 钱包
//			String filePath= "c:\Users\Administrator\Desktop\";
//			String filePath="/home/lljrweb/filepath";
			String osName = System.getProperty("os.name");
			if (osName.contains("Linux")){
				filePath=Content.csvfilepath;
			}else{
				filePath="D:\apache-tomcat-7.0.53\csvfilepath";
			}
			File csvfile = CSVUtil.createCSVFile(exportData, map2, filePath, fileName);//生成CSV文件 
			try {//将生成的csv文件转换为流
				fileInputStream = new FileInputStream(csvfile);
				System.out.println("将文件转换成流");
			} catch (FileNotFoundException e1) {
				e1.printStackTrace();
			}
			fileName = csvfile.getName(); //文件下载名称名
			log.info("fileName:"+fileName);
//			String fileName2 = fileName.substring(0,20)+".csv";
//			System.out.println("新的fileName2:"+fileName2);
//			try {
//				log.info("619");
//				CSVUtil.exportFile(response1, filePath + fileName, fileName);
//				msg = "6";
//			} catch (IOException e) {
//				msg = "7";
//				e.printStackTrace();
//			}//下载生成的CSV文件,重定向到列表页面
		}else{//返回数据为空
			log.info("查询的数据datalist为空");
			msg = "7001";//提示改天数据为空
			return "toList";
			
		}
		System.out.println("返回success");
		return "success";
	}	@SuppressWarnings({ "unchecked" }



你的当前访问异常,请进行认证后继续阅读剩余内容。

分享到: