三、人脸识别starter-定义最外层方法

一、分析

	H5人脸识别大致分为两步
	 - 获取H5人脸识别链接
	 - 查询识别结果

	所以最外层的方法就有两个
	1. 创建订单(获取H5人脸识别链接)
	2. 查询订单(查询识别结果)

二、定义方法

package com.starter.example;

public class FaceRecognitionService {

  public void createOrder() {

  }

  public void queryOrder() {

  }

}

三、createOrder()定义参数

1.姓名、身份证号
	创建订单首先姓名、身份证号,因为通道需要通过姓名身份证号和当前人员做对比
2. 通道编号
	首先在每个通道上开通账户之后,都会提供一些参数,如appId、appKey之类的,但是我们这里不能直接把这些参数作为参数,因为我们的starter定位是支持多个通道,而每个通道的参数数量可能不一样。所以抽象出来一个通道编号,一个通道编号可以对应不通的通道,或相同通道的不同参数。然后通过通道编号去拿通道的信息。
	以通道信息配置在数据库为例,大致如下		
ID通道编号通道类型app_idapp_key
1TD00001tencentappid00001appkey00001
1TD00002alibabaappid00002appkey00002
3.订单编号
	既然是创建订单,那么肯定有订单号,要通过订单号去查询订单
4.回调url
	认证完成之后会回调一个接口,返回认证结果

四、createOrder()定义返回值

	返回值是订单编号和H5链接,如果是其他错误,直接抛异常

五、queryOrder()定义参数

1.订单编号
	没说的,查询订单肯定需要订单编号
2.通道编号
	要去哪个通道查,需要通道编号

六、queryOrder()定义返回值

	返回订单的状态和此订单是否收费,因为订单只有认证才收费,如果创建了订单,不去认证,是不收费的

五、总结

	综上所诉,最终的方法为
public class FaceRecognitionService {

  /**
   * 创建订单
   * @param orderNo
   * @param passNo
   * @param name
   * @param idNo
   * @param callbackUrl
   * @return
   */
  public CreateOrderBo createOrder(String orderNo, String passNo, String name, String idNo, String callbackUrl) {
    return null;
  }

  /**
   * 查询订单
   * @param orderNo
   * @param passNo
   * @return
   */
  public QueryOrderBo queryOrder(String orderNo, String passNo) {
    return null;
  }

}
@Data
public class CreateOrderBo {

  private String orderNo;// 订单编号

  private String h5Url;// 认证地址

}
@Data
public class QueryOrderBo {

  private boolean isPass;// 认证是否通过

  private boolean isCharge;// 是否收费

}

项目目录

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值