ftp派发
// 派发 @RequestMapping(value = "/groupRuleUpload") public void GroupRuleUpload(@RequestParam("file") CommonsMultipartFile file, HttpServletRequest request, HttpServletResponse response) { try { if (file == null) { Helper.StatusResponse(response, "failure", "-1", "派发规则文件不存在"); return; } String provinces = request.getParameter("province"); List<String> listProvinces = new ArrayList<String>(); Helper.Spliter(provinces, ",", listProvinces); if (listProvinces.size() == 0) { logger.error("RulesUpload 文件上传失败:province地市参数为空"); Helper.StatusResponse(response, "failure", "-1", "province地市参数为空"); return; } logger.info("upload fileName:" + file.getOriginalFilename()); // 获取输入流 CommonsMultipartFile 中可以直接得到文件的流 HashMap<String, List<String>> DeployHistory = new HashMap<String, List<String>>(); JSONObject obj = new JSONObject(); Map<String, DeployManagerInfo> results = sysService.QueryDeployManager(listProvinces); for (String a : listProvinces) { DeployManagerInfo dmi = results.get(a); if (dmi == null) { obj.put(a, "规则派发失败,传入省份名称不匹配"); //logger.error("RulesUpload " + a + "派发失败,传入省份名称不匹配"); continue; } if (!dmi.getStatus().equals("1")) { obj.put(a, "规则派发失败,该省份未部署"); //logger.error("RulesUpload " + a + "派发失败,该省份未部署"); continue; } FtpUtil ftp = new FtpUtil(dmi.getFtp_ip(), Helper.StringToInt(dmi.getFtp_port()), dmi.getFtp_user(), dmi.getFtp_password(), dmi.getFtp_direct()); if (ftp.CreateFTPConnect() != 0) { //logger.error("RulesUpload " + a + "派发失败,该地区ftp配置不可达:\n" + dmi.toString()); obj.put(a, "规则派发失败,该地区ftp配置不可达"); continue; } String res = ""; InputStream is = file.getInputStream(); boolean b = ftp.FtpUpload(/*a + "_" + */file.getOriginalFilename(), is); if (b == false) { res += file.getOriginalFilename() + "派发失败;"; } else { res += file.getOriginalFilename() + "派发成功;"; List<String> filelist = DeployHistory.get(a); if (filelist == null) { filelist = new ArrayList<String>(); DeployHistory.put(a, filelist); } filelist.add(file.getOriginalFilename()); } obj.put(a, res); ftp.CloseFtp(); } Helper.JsonResponser(response, obj); logger.info("RulesUpload 规则派发结果:\n" + obj.toString()); for (Entry<String, List<String>> entry : DeployHistory.entrySet()) { for (String filename : entry.getValue()) { HistoryRuleDeployInfo hdInfo = new HistoryRuleDeployInfo(); hdInfo.setProvince(entry.getKey()); hdInfo.setCreate_time(Helper.getDateByFormat(new Date(), "yyyy-MM-dd HH:mm:ss")); hdInfo.setRule_name(filename.replace(".csv", "").replace(".dat", "")); hdInfo.setFile_name(filename); int ret = sysService.InsertHistoryDeployInfo(hdInfo); if (ret != 1) { logger.error("规则派发结果历史入库失败,province=" + entry.getKey() + " filename=" + filename); } } } logger.info("GroupRuleUpload 规则派发结果历史入库完成"); }catch (Exception e) { logger.error("GroupRuleUpload:" + e.getMessage()); } }