浏览代码

id_card_review

Xingyu Xian 3 周之前
父节点
当前提交
5310f8be6e
共有 4 个文件被更改,包括 101 次插入0 次删除
  1. 53 0
      handler/id_card_review.go
  2. 21 0
      model/http_model/id_card_review.go
  3. 1 0
      route/init.go
  4. 26 0
      service/id_card_review.go

+ 53 - 0
handler/id_card_review.go

@@ -0,0 +1,53 @@
+package handler
+
+import (
+	"github.com/gin-gonic/gin"
+	"github.com/sirupsen/logrus"
+	"youngee_b_api/model/http_model"
+	"youngee_b_api/service"
+)
+
+func WrapIdCardReviewHandler(ctx *gin.Context) {
+	handler := newIdCardReviewHandler(ctx)
+	baseRun(handler)
+}
+
+func newIdCardReviewHandler(ctx *gin.Context) *IdCardReviewHandler {
+	return &IdCardReviewHandler{
+		req:  http_model.NewIdCardReviewRequest(),
+		resp: http_model.NewIdCardReviewResponse(),
+		ctx:  ctx,
+	}
+}
+
+type IdCardReviewHandler struct {
+	req  *http_model.IdCardReviewRequest
+	resp *http_model.CommonResponse
+	ctx  *gin.Context
+}
+
+func (h *IdCardReviewHandler) getRequest() interface{} {
+	return h.req
+}
+func (h *IdCardReviewHandler) getContext() *gin.Context {
+	return h.ctx
+}
+func (h *IdCardReviewHandler) getResponse() interface{} {
+	return h.resp
+}
+func (h *IdCardReviewHandler) run() {
+	config := service.GetConfig()
+	err := config.CheckIdCard(h.req)
+	if err != nil {
+		logrus.Errorf("[OCRIdentify] call Show err:%+v\n", err)
+		h.resp.Status = 40000
+		h.resp.Message = "error"
+		return
+	}
+	h.resp.Status = 20000
+	h.resp.Message = "ok"
+}
+
+func (h *IdCardReviewHandler) checkParam() error {
+	return nil
+}

+ 21 - 0
model/http_model/id_card_review.go

@@ -0,0 +1,21 @@
+package http_model
+
+type IdCardReviewRequest struct {
+	IdCardUrl    string `json:"id_card_url"`
+	Side         string `json:"side"`
+	SupplierId   int    `json:"supplier_id"`
+	SubAccountId int    `json:"sub_account_id"`
+}
+
+type IdCardReviewData struct {
+}
+
+func NewIdCardReviewRequest() *IdCardReviewRequest {
+	return new(IdCardReviewRequest)
+}
+
+func NewIdCardReviewResponse() *CommonResponse {
+	resp := new(CommonResponse)
+	resp.Data = new(IdCardReviewData)
+	return resp
+}

+ 1 - 0
route/init.go

@@ -27,6 +27,7 @@ func InitRoute(r *gin.Engine) {
 		a.POST("/getUserInfo", handler.WrapGetUserInfoHandler)             // 服务商用户信息
 		a.POST("/updateContact", handler.WrapUpdateContactHandler)         // 更新联系方式
 		a.POST("/company/review", handler.WrapCompanyReviewHandler)        // 营业执照审核
+		a.POST("/idCard/review", handler.WrapIdCardReviewHandler)          // 身份证认证
 		a.GET("/test/ping", func(c *gin.Context) {
 			resp := http_model.CommonResponse{
 				Status:  0,

+ 26 - 0
service/id_card_review.go

@@ -0,0 +1,26 @@
+package service
+
+import (
+	"fmt"
+	"github.com/huaweicloud/huaweicloud-sdk-go-v3/services/ocr/v1/model"
+	"youngee_b_api/model/http_model"
+)
+
+func (c *Config) CheckIdCard(param *http_model.IdCardReviewRequest) error {
+	request := &model.RecognizeIdCardRequest{}
+	request.Body = &model.IdCardRequestBody{
+		Url:  &param.IdCardUrl,
+		Side: &param.Side,
+	}
+	response, err := c.OcrClient.RecognizeIdCard(request)
+	if err != nil {
+		//if err.StatusCode == 400 {
+		//	return "false", err
+		//}
+		return err
+	}
+	result := response.Result
+	fmt.Println(result)
+
+	return nil
+}