初始商户信息导入(下载模板)

xiaoxiao2021-02-28  83

Spring当中提供了很多注解可以用,使用这些注解可以让代码更简洁,MerchantBase(entity)中的length属性里面就可以其对应导入信息字段的值。

/** * 导入 * * @param file * @param redirectAttributes * @return */ @RequiresPermissions("tranbase:merchantCreate:edit") @RequestMapping(value = "import", method = RequestMethod.POST) public String importFile(MultipartFile file, RedirectAttributes redirectAttributes) { try { int successNum = 0; int failureNum = 0; StringBuilder failureMsg = new StringBuilder(); ImportExcel ei = new ImportExcel(file, 1, 0); List<MerchantBase> list = ei.getDataList(MerchantBase.class); if (list.size() > 500) { addMessage(redirectAttributes, "导入失败!" +failureMsg +"<br/> "+ "导入数量不能大于500"); return "redirect:" + Global.getAdminPath() + "/tranbase/merchantInfo/create?repage"; } for (MerchantBase merchantBase : list) { try { MerchantBase mer = new MerchantBase(); mer.setMerchantCname(merchantBase.getMerchantCname()); MerchantBase base = merchantBaseService.getRegister(mer); //查找过程表 if (null == base) { base = merchantBaseService.getRegisterMain(mer); //查找主表 save } MerchantRegister merchantRegister=null; if(merchantBase.getRegisterAccount() !=null){ merchantRegister=merchantRegisterService.get(merchantBase.getRegisterAccount()) ; } if (merchantBaseService.get(merchantBase) == null && null == base && merchantRegister == null) { BeanValidators.validateWithException(validator, merchantBase); merchantBase.setOrgAcqId("48730000"); merchantBase.setSignAcqId("48730000"); //结算账户所属银行编码 merchantBase.setAudStatus("1"); merchantBase.setStlBankName(TranUtils.getBankName(merchantBase.getStlBankCode(), "")); merchantBase.setStlBranchName(TranUtils.getBranchName(merchantBase.getStlBankUnion(), "")); merchantBase.setMerchantStat("Y");//导入后默认状态 merchantBase.setFeeSrc("1"); merchantBase.setAllowCard("11100000000000000000000000000000000000000000000000");//默认支持卡类 merchantBase.setCcyType("156"); merchantBase.setFeeStlType("2"); merchantBase.setFeeType("2"); merchantBase.setLegalCardType("01"); merchantBase.setLockMode("0"); merchantBase.setCreditDaySumAmt("0"); merchantBase.setCreditMaxAmt("0"); merchantBase.setDaySumAmt("0"); merchantBase.setStlMinAmt("0"); // merchantBase.setCreateStamp(DateUtils.formatDate(new Date())); merchantBase.setSignDate(DateUtils.getDate("yyyyMMdd")); merchantBaseService.save(merchantBase); saveRegisterAccount(merchantBase); if (merchantBase.getTerminalNum()!=null){ createTerminal(merchantBase); } successNum++; } else { if (null != base) { failureMsg.append("<br/>商户名称:" + mer.getMerchantCname() + "已存在!"); }else if(null != merchantRegister ){ failureMsg.append("<br/>手刷账户:" + merchantBase.getRegisterAccount() + " 已存在; "); }else{ failureMsg.append("<br/>商户编号:" + merchantBase.getMerchantId() + " 已存在; "); } failureNum++; } } catch (ConstraintViolationException ex) { failureMsg.append("<br/> " + merchantBase.getMerchantId() + " 导入失败:"); List<String> messageList = BeanValidators.extractPropertyAndMessageAsList(ex, ": "); for (String message : messageList) { failureMsg.append(message + "; "); } failureNum++; } catch (Exception ex) { failureMsg.append("<br/> " + merchantBase.getMerchantId() + " 导入失败:" + ex.getMessage()); } } if (failureNum > 0) { failureMsg.insert(0, ",失败 " + failureNum + " 条,导入信息如下:"); } addMessage(redirectAttributes, "已成功导入 " + successNum + " " + failureMsg); } catch (Exception e) { addMessage(redirectAttributes, "导入失败!失败信息:" + e.getMessage()); } return "redirect:" + Global.getAdminPath() + "/tranbase/merchantInfo/create?repage"; }

转载请注明原文地址: https://www.6miu.com/read-74803.html

最新回复(0)