批量导入显示判空校验信息返回代码实现

1.相关代码如下
controller层:

@RequestMapping(value = "/batchInsertBlacklist", method = RequestMethod.POST, produces = MediaType.APPLICATION_JSON_VALUE)
    @ApiOperation(value = "黑名单导入", notes = "黑名单导入")
    public Result<String> batchInsertBlacklist(@RequestBody TwmCompanyBlacklistInfoImport twmCompanyBlacklistInfo) {
        List<TwmCompanyBlacklistInfoSave> twmCompanyBlacklistInfoSaves = twmCompanyBlacklistInfo.getTwmCompanyBlacklistInfoSave();
        // 获取登陆信息
        for (TwmCompanyBlacklistInfoSave companyBlacklistInfoSave : twmCompanyBlacklistInfoSaves) {
            AntUserInfo antUserInfo = SessionHelper.getAntUserInfo();
            companyBlacklistInfoSave.setInputManName(antUserInfo.getUsername());
            companyBlacklistInfoSave.setTopOrganizationCode(antUserInfo.getTopOrganizationCode());
        }
        return twmCompanyBlacklistInfoFacadeService.batchInsertTwmCompanyBlacklistInfo(twmCompanyBlacklistInfoSaves);
    }

service层:

@Override
    public Result<String> batchInsertTwmCompanyBlacklistInfo(List<TwmCompanyBlacklistInfoSave> twmCompanyBlacklistInfoSave) {
        List<String> errorMessage = new ArrayList<>();
        Integer num = 0; //记录黑名单问题的行数
        Set<String> hashSet = new HashSet<>();
        //参数校验
        List<String> stringList = validParam(twmCompanyBlacklistInfoSave, errorMessage, num, hashSet);
        if(CollectionUtils.isEmpty(stringList)){
            for (TwmCompanyBlacklistInfoSave companyBlacklistInfoSave : twmCompanyBlacklistInfoSave) {
                //对图片处理
                if(StringUtils.isNotBlank(companyBlacklistInfoSave.getFileUrl())
                        && companyBlacklistInfoSave.getFileUrl().contains("group2")) {
                    companyBlacklistInfoSave.setFileUrl(companyBlacklistInfoSave.getFileUrl().substring(companyBlacklistInfoSave.getFileUrl().indexOf("group2"),companyBlacklistInfoSave.getFileUrl().indexOf("?")));
                }
                twmCompanyBlacklistInfoService.insertTwmCompanyBlacklistInfo(companyBlacklistInfoSave);
            }
        }
        if(CollectionUtils.isNotEmpty(stringList)) {
            return  ResultOper.errorResult(StringUtils.join(stringList, ";<br/>"));
        }
        return new Result<String>(BaseConstants.SUCCESS, "导入成功", twmCompanyBlacklistInfoSave.size() + "", null, BaseConstants.SYS_SUCCESS);
    }
//参数校验
        List<String> stringList = validParam(twmCompanyBlacklistInfoSave, errorMessage, num, hashSet);

参数校验代码私有方法实现如下:

//参数校验
    private List<String> validParam(List<TwmCompanyBlacklistInfoSave> twmCompanyBlacklistInfoSave,List<String> errorMessage,Integer num,Set<String> hashSet){
        for (TwmCompanyBlacklistInfoSave companyBlacklistInfoSave : twmCompanyBlacklistInfoSave) {
            num ++;
            TwmCompanyBlacklistInfoQuery twmCompanyBlacklistInfoQuery = new TwmCompanyBlacklistInfoQuery();
            //白名单
            if(null != companyBlacklistInfoSave.getType()
                    && 1 == companyBlacklistInfoSave.getType()){
                if(StringUtils.isBlank(companyBlacklistInfoSave.getTemplateCode())){
                    errorMessage.add("第"+num+"条模板编号不能为空");
                }
                if(StringUtils.isBlank(companyBlacklistInfoSave.getBlacklistType())){
                    errorMessage.add("第"+num+"条客户类型不能为空");
                }
                twmCompanyBlacklistInfoQuery.setType(companyBlacklistInfoSave.getType());
                twmCompanyBlacklistInfoQuery.setTemplateCode(companyBlacklistInfoSave.getTemplateCode());
            }else {
                //黑名单
                twmCompanyBlacklistInfoQuery.setType(0);
            }
            twmCompanyBlacklistInfoQuery.setCompanyName(companyBlacklistInfoSave.getCompanyName());
            twmCompanyBlacklistInfoQuery.setTopOrganizationCode(companyBlacklistInfoSave.getTopOrganizationCode());
            PageModel<TwmCompanyBlacklistInfo> twmCompanyBlacklistInfoPageModel = twmCompanyBlacklistInfoService.listTwmCompanyBlacklistInfo(twmCompanyBlacklistInfoQuery);
            if(StringUtils.isBlank(companyBlacklistInfoSave.getCompanyName())){
                errorMessage.add("第"+num+"条公司名称不能为空");
            }
            if(StringUtils.isBlank(companyBlacklistInfoSave.getBusinessLicenseNo())){
                errorMessage.add("第"+num+"条营业执照号不能为空");
            }
            if(StringUtils.isBlank(companyBlacklistInfoSave.getCauseRemark())){
                errorMessage.add("第"+num+"条原因备注不能为空");
            }
            if(CollectionUtils.isNotEmpty(twmCompanyBlacklistInfoPageModel.getDatas())
                    && StringUtils.isNotBlank(companyBlacklistInfoSave.getCompanyName())){
                errorMessage.add("第"+num+"条当前公司内的公司名称不能重复");
            }
            hashSet.add(companyBlacklistInfoSave.getCompanyName()+"|"+companyBlacklistInfoSave.getTopOrganizationCode());
        }
        if(twmCompanyBlacklistInfoSave.size() > hashSet.size()){
            errorMessage.add("excel列表中公司名称重复");
        }
        return errorMessage;
    }

导入效果如下:
在这里插入图片描述
在这里插入图片描述
备注:
由于excel解析是前端做的,所以后端无需做excel校验,只需接收一个list集合就行了。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值