java身份证实名认证-身份证二要素实名认证-身份证实名校验-身份证一致性实名认证

aliyun身份证实名认证-身份证二要素实名认证-身份证实名校验-身份证一致性实名认证

官网地址(需付费使用):
https://market.aliyun.com/products/57000002/cmapi026109.html?spm=5176.730005.result.5.426336f2dyiAnF&innerSource=search#sku=yuncode2010900004

public int insertUser(User user) {
        String idCardIdentityCardVerification = EonUtils.isIdCardIdentityCardVerification(user.getIdcard());
        if (!idCardIdentityCardVerification.equals("200")) throw new RuntimeException(idCardIdentityCardVerification);
        String url = "https://eid.shumaidata.com/eid/check";
        //产品code
        String appCode = "d589d30785b64629b18b664ad637d711";
        Map<String, String> params = new HashMap<>();
        params.put("idcard", user.getIdcard());
        params.put("name", user.getName());
        try {
            String result = postForm(appCode, url, params);
            HashMap map = JSON.parseObject(result, HashMap.class);
            HashMap resultmap = JSON.parseObject(map.get("result").toString(), HashMap.class);
            Integer sex = resultmap.get("sex").equals("男") ? 0 : 1;
            user.setSex(sex);
            String code = map.get("code").toString();
            String message = map.get("message") != null && !"".equals("成功") ? map.get("message").toString() : "检验姓名和身份证失败";
            if (!code.equals("0")) throw new RuntimeException(message);
            /*HashMap map2 = JSON.parseObject(resultmap.get("result").toString(), HashMap.class);*/
            //DateFormat dateFormat = new SimpleDateFormat("yyyyMMdd");
            String description = resultmap.get("description").toString();

            /*(1) 现役军人、武警官兵、特殊部门人员及特殊级别官员;
            (2) 退役不到2年的军人和士兵(根据军衔、兵种不同,时间会有所不同,一般为2年);
            (3) 户口迁出,且没有在新的迁入地迁入;
            (4) 户口迁入新迁入地,当地公安系统未将迁移信息上报到公安部(上报时间地域不同而有所差异);
            (5) 更改姓名,当地公安系统未将更改信息上报到公安部(上报时间因地域不同而有所差异);
            (6) 移民;
            (7) 未更换二代身份证;
            (8) 死亡。
            (9) 身份证号确实不存在*/
            if (!description.equals("一致")) throw new RuntimeException("上传身份证信息与权威库不一致,请重新上传");
//           HashMap resultty = JSON.parseObject(map.get("result").toString(), HashMap.class);
        } catch (IOException e) {
            e.printStackTrace();
            log.error("校验身份证接口出现问题:"+e.getMessage());
            throw new RuntimeException("网络异常请稍后重试");
        }
        user.setCreateTime(DateUtils.getNowDate());
        user.setPoints(10);
        
        return userMapper.insertUser(user);
    }

工具类

    public static String postForm(String appCode, String url, Map<String, String> params) throws IOException {
        OkHttpClient client = new OkHttpClient.Builder().build();
        FormBody.Builder formbuilder = new FormBody.Builder();
        Iterator<String> it = params.keySet().iterator();
        while (it.hasNext()) {
            String key = it.next();
            formbuilder.add(key, params.get(key));
        }
        FormBody body = formbuilder.build();
        Request request = new Request.Builder().url(url).addHeader("Authorization", "APPCODE " + appCode).post(body).build();
        Response response = client.newCall(request).execute();
        String result = response.body().string();
        return result;
    }
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值