⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 payproxyserviceimpl.java.svn-base

📁 项目支付宝批量打款,采用httpclient+spring +quarz实现.
💻 SVN-BASE
📖 第 1 页 / 共 2 页
字号:

	public boolean rollbackPrepareSendUploadPM(Message message) {
		return daoFactory.getPayUploadDao().rollbackLoad(message);
	}
	
	
	public void generateCsv() {
		/** *********************上传配置参数*********************** */		
		String flag = (String) uploadPayConfig.get("flag");
		String uploadPath = (String) uploadPayConfig.get("uploadPath");
		PayUploadMessage message = new PayUploadMessage();
		boolean success = true;
		try {
			List<UploadPayBean> list = daoFactory.getPayUploadDao().load();

			StringBuffer contentBuf = new StringBuffer();

			StringBuffer recordBuf = new StringBuffer();

			recordBuf.append(Constants.ALIPAY_UPLOAD_TABLE_TITLE_SEQ).append(
					Constants.ALIPAY_SEPARATOR);
			recordBuf.append(Constants.ALIPAY_UPLOAD_TABLE_TITLE_USERNAME)
					.append(Constants.ALIPAY_SEPARATOR);
			recordBuf.append(Constants.ALIPAY_UPLOAD_TABLE_TITLE_BANKACOUNT)
					.append(Constants.ALIPAY_SEPARATOR);
			recordBuf.append(Constants.ALIPAY_UPLOAD_TABLE_TITLE_BANKNAME)
					.append(Constants.ALIPAY_SEPARATOR);
			recordBuf.append(Constants.ALIPAY_UPLOAD_TABLE_TITLE_PROVINCE)
					.append(Constants.ALIPAY_SEPARATOR);
			recordBuf.append(Constants.ALIPAY_UPLOAD_TABLE_TITLE_CITY).append(
					Constants.ALIPAY_SEPARATOR);
			recordBuf.append(Constants.ALIPAY_UPLOAD_TABLE_TITLE_BRANCHNAME)
					.append(Constants.ALIPAY_SEPARATOR);
			recordBuf.append(Constants.ALIPAY_UPLOAD_TABLE_TITLE_MONEY).append(
					Constants.ALIPAY_SEPARATOR);
			recordBuf.append(Constants.ALIPAY_UPLOAD_TABLE_TITLE_FLAG).append(
					Constants.ALIPAY_SEPARATOR);
			recordBuf.append(Constants.ALIPAY_UPLOAD_TABLE_TITLE_NOTE).append(
					"\r\n");
			String sysDatetime = PayUtil.getCurrDate();
			int totalRecord = list.size();
			int totalMoney = 0;
			for (UploadPayBean bean : list) {
				if (bean.getJYDM() != 1301) {
					logger.info("81666 has not withdrawing request.");
					return;
				}

				recordBuf.append(
						PayUtil.formatFlowId(seqPreFix, bean.getAUTOID()))
						.append(Constants.ALIPAY_SEPARATOR);

				message.getSeqsUploaded().append(bean.getAUTOID()).append(
						Constants.ALIPAY_SEPARATOR);

				recordBuf.append(bean.getBANKUSERNAME()).append(
						Constants.ALIPAY_SEPARATOR);
				recordBuf.append(bean.getBANKCNUMBER()).append(
						Constants.ALIPAY_SEPARATOR);
				recordBuf.append(bean.getBANKNAME()).append(
						Constants.ALIPAY_SEPARATOR);
				recordBuf.append(bean.getPROV()).append(
						Constants.ALIPAY_SEPARATOR);
				recordBuf.append(bean.getCITY()).append(
						Constants.ALIPAY_SEPARATOR);
				recordBuf.append(bean.getBANKADDRESS()).append(
						Constants.ALIPAY_SEPARATOR);

				recordBuf.append(bean.getMONEY()).append(
						Constants.ALIPAY_SEPARATOR);
				totalMoney += bean.getMONEY();

				recordBuf.append(flag).append(Constants.ALIPAY_SEPARATOR);
				recordBuf.append(bean.getNOTE()).append(
						Constants.ALIPAY_SEPARATOR);
				recordBuf.append("\r\n");
			}

			/** ************ 概要 **************************************** */
			contentBuf.append(Constants.ALIPAY_UPLOAD_MAIN_TITLE_DATE).append(
					Constants.ALIPAY_SEPARATOR);
			contentBuf.append(Constants.ALIPAY_UPLOAD_MAIN_TITLE_TOTALMONEY)
					.append(Constants.ALIPAY_SEPARATOR);
			contentBuf.append(Constants.ALIPAY_UPLOAD_MAIN_TITLE_TOTALRECORD)
					.append(Constants.ALIPAY_SEPARATOR);
			contentBuf.append(Constants.ALIPAY_UPLOAD_MAIN_TITLE_ALIPAYACOUNT);
			contentBuf.append("\r\n");

			contentBuf.append(sysDatetime.substring(0, 8)).append(
					Constants.ALIPAY_SEPARATOR);
			contentBuf.append(totalMoney).append(Constants.ALIPAY_SEPARATOR);
			contentBuf.append(totalRecord).append(Constants.ALIPAY_SEPARATOR);
			contentBuf.append(acount);
			contentBuf.append("\r\n");
			contentBuf.append(recordBuf);
			logger
					.info("----------------alipay content start----------------------");
			logger.info(contentBuf.toString());
			logger.info("----------------alipay content end---------------");
			String csvfile = sysDatetime + Constants.POSTFIX_CSV;

			/** ***************** 生成CSV文件 *********************************** */
			csvfile = uploadPath + "/" + csvfile;
			success = FileCSVHelper.generateCSVFile(csvfile, contentBuf
					.toString());
			/** ***************** 生成Zip文件 *********************************** */
			/*
			 * if (success) success = FileZipHelper.zipFile(csvfile, zipfile);
			 */

			if (!success) {
				logger.info("generate upload file [" + csvfile + "] error.");
				return;
			}				
			logger.info("successfully loading upload-alipay-content to queue.");
		} catch (Exception ex) {
			ex.printStackTrace();
			logger.error(ex);
		}
	}
	
	public Message analyzePayResultHandledPM() {
		ParseAlipayRZipMessage message = new ParseAlipayRZipMessage();
		
		try {
			String downloadPath = (String) downloadPayConfig.get("downloadPath");
			File file = new File(downloadPath);
			if(!file.exists()){
				file.mkdir();
			}
			String zipFiles[]=file.list(new ZipFilter());
			
			if (zipFiles == null || zipFiles.length== 0)
				return null;
			
			if(!downloadPath.endsWith("/"))
				downloadPath+="/";
			
			StringBuffer bufzip = new StringBuffer();

			List<String> zipfileList = new ArrayList<String>();
			for (int i=0;i<zipFiles.length;i++) {
				zipfileList.add(downloadPath+zipFiles[i]);
				bufzip.append(zipFiles[i]).append(",");
			}
			logger.info("begin to analyze these zip file " + bufzip.toString());
			message.setZipnameList(zipfileList);
			message.setOpUser(Constants.ALIPAY_OP_USER);
		} catch (Exception ex) {
			ex.printStackTrace();
			logger.error(ex);
			message = null;
		}
		return message;
	}
	
	public Message readyForDownloadMsg() {
		DownloadAlipRZipMessage returnMsg = new DownloadAlipRZipMessage();
		String uploadLog = (String) uploadPayConfig.get("uploadLog");
		try {
			String service = (String) downloadPayConfig.get("service");// 快速付款交易服务
			String sign_type = (String) downloadPayConfig.get("sign_type");// "SHA";
			String biz_type = (String) downloadPayConfig.get("biz_type");
			// ***************************************************
			String input_charset = (String) downloadPayConfig.get("input_charset");
			String downloadPath = (String) downloadPayConfig.get("downloadPath");
			
			List<String> csvFiles = FileCSVHelper.getFileNamesUploaded(uploadLog);
			
			if (csvFiles == null || csvFiles.size()== 0){
				logger.info("Not Found PreWithdraw  csv file.");
				return null;	
			}
			
			StringBuffer bufcsv = new StringBuffer();			
			
			for(String csv:csvFiles){				
				//*****************************************************************
				DownloadAlipRZipMessage message = new DownloadAlipRZipMessage();
				MultipartPostMethod mPost = new MultipartPostMethod(paygateway);

				String itemUrl = Payment.CreateUrl1(paygateway, service, partner,
						biz_type, csv, sign_type, key, input_charset);

				mPost.addParameter("_input_charset", input_charset);
				mPost.addParameter("partner", partner);
				mPost.addParameter("service", service);
				mPost.addParameter("sign", itemUrl);
				mPost.addParameter("sign_type", sign_type);
				mPost.addParameter("file_name", csv);
				mPost.addParameter("biz_type", biz_type);
				message.setPostMethod(mPost);
				message.setCsvname(csv);
				message.setOpUser(Constants.ALIPAY_OP_USER);
				message.setUploadLog((String) uploadPayConfig.get("uploadLog"));				
				//*****************************************************************
				returnMsg.getMsgList().add(message);				
				bufcsv.append(csv).append(",");
			}			
			logger.info("be ready for downloading these csv files [" + bufcsv.toString() +"] from Alipay.");
			
		} catch (Exception ex) {
			ex.printStackTrace();
			logger.error(ex);
			returnMsg = null;
		}
		return returnMsg;
	}	

	public DownloadPayBean payResultHandledPM(DownloadPayBean downloadPayBean) {
		DownloadPayBean respBean = daoFactory.getPayResultDao()
				.doHandlePayResult(downloadPayBean);
		return respBean;
	}

	public IDAOFactory getDaoFactory() {
		return daoFactory;
	}

	public void setDaoFactory(IDAOFactory daoFactory) {
		this.daoFactory = daoFactory;
	}

	public Map getUploadPayConfig() {
		return uploadPayConfig;
	}

	public void setUploadPayConfig(Map uploadPayConfig) {
		this.uploadPayConfig = uploadPayConfig;
	}

	public String getPaygateway() {
		return paygateway;
	}

	public void setPaygateway(String paygateway) {
		this.paygateway = paygateway;
	}

	public String getPartner() {
		return partner;
	}

	public void setPartner(String partner) {
		this.partner = partner;
	}

	public String getKey() {
		return key;
	}

	public void setKey(String key) {
		this.key = key;
	}

	public String getAcount() {
		return acount;
	}

	public void setAcount(String acount) {
		this.acount = acount;
	}

	public String getSeqPreFix() {
		return seqPreFix;
	}

	public void setSeqPreFix(String seqPreFix) {
		this.seqPreFix = seqPreFix;
	}

	public Map getDownloadPayConfig() {
		return downloadPayConfig;
	}

	public void setDownloadPayConfig(Map downloadPayConfig) {
		this.downloadPayConfig = downloadPayConfig;
	}
	
	class ZipFilter implements FilenameFilter
	{

	 public boolean accept(File dir, String name) {
	  return name.endsWith(Constants.POSTFIX_ZIP);
	 }
	}
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -