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

来源:互联网 发布:手机网站自助建站源码 编辑:程序博客网 时间:2024/05/01 15:59

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";    }


阅读全文
0 0
原创粉丝点击