package types

type MarriageReq struct {
	Name   string `json:"name" validate:"required,name"`
	IDCard string `json:"id_card" validate:"required,idCard"`
	Mobile string `json:"mobile" validate:"required,mobile"`
	Code   string `json:"code" validate:"required"`
}
type HomeServiceReq struct {
	Name   string `json:"name" validate:"required,name"`
	IDCard string `json:"id_card" validate:"required,idCard"`
	Mobile string `json:"mobile" validate:"required,mobile"`
	Code   string `json:"code" validate:"required"`
}

// RiskAssessment 查询请求结构
type RiskAssessmentReq struct {
	Name   string `json:"name" validate:"required,name"`
	IDCard string `json:"id_card" validate:"required,idCard"`
	Mobile string `json:"mobile" validate:"required,mobile"`
	Code   string `json:"code" validate:"required"`
}

// CompanyInfo 查询请求结构
type CompanyInfoReq struct {
	Name   string `json:"name" validate:"required,name"`
	IDCard string `json:"id_card" validate:"required,idCard"`
	Mobile string `json:"mobile" validate:"required,mobile"`
	Code   string `json:"code" validate:"required"`
}

// RentalInfo 查询请求结构
type RentalInfoReq struct {
	Name   string `json:"name" validate:"required,name"`
	IDCard string `json:"id_card" validate:"required,idCard"`
	Mobile string `json:"mobile" validate:"required,mobile"`
	Code   string `json:"code" validate:"required"`
}

// PreLoanBackgroundCheck 查询请求结构
type PreLoanBackgroundCheckReq struct {
	Name   string `json:"name" validate:"required,name"`
	IDCard string `json:"id_card" validate:"required,idCard"`
	Mobile string `json:"mobile" validate:"required,mobile"`
	Code   string `json:"code" validate:"required"`
}

// BackgroundCheck 查询请求结构
type BackgroundCheckReq struct {
	Name   string `json:"name" validate:"required,name"`
	IDCard string `json:"id_card" validate:"required,idCard"`
	Mobile string `json:"mobile" validate:"required,mobile"`
	Code   string `json:"code" validate:"required"`
}
type PersonalDataReq struct {
	Name   string `json:"name" validate:"required,name"`
	IDCard string `json:"id_card" validate:"required,idCard"`
	Mobile string `json:"mobile" validate:"required,mobile"`
	Code   string `json:"code" validate:"required"`
}

type ConsumerFinanceReportReq struct {
	Name   string `json:"name" validate:"required,name"`
	IDCard string `json:"id_card" validate:"required,idCard"`
	Mobile string `json:"mobile" validate:"required,mobile"`
	Code   string `json:"code" validate:"required"`
}
type EntLawsuitReq struct {
	EntName string `json:"ent_name" validate:"required,name"`
	EntCode string `json:"ent_code" validate:"required,USCI"`
	Mobile  string `json:"mobile" validate:"required,mobile"`
	Code    string `json:"code" validate:"required"`
}
type TocPhoneThreeElements struct {
	Name   string `json:"name" validate:"required,name"`
	IDCard string `json:"id_card" validate:"required,idCard"`
	Mobile string `json:"mobile" validate:"required,mobile"`
}
type TocPhoneTwoElements struct {
	Name   string `json:"name" validate:"required,name"`
	Mobile string `json:"mobile" validate:"required,mobile"`
}
type TocIDCardTwoElements struct {
	Name   string `json:"name" validate:"required,name"`
	IDCard string `json:"id_card" validate:"required,idCard"`
}
type TocDualMarriage struct {
	NameMan     string `json:"name_man" validate:"required,name"`
	IDCardMan   string `json:"id_card_man" validate:"required,idCard"`
	NameWoman   string `json:"name_woman" validate:"required,name"`
	IDCardWoman string `json:"id_card_woman" validate:"required,idCard"`
}
type TocPersonVehicleVerification struct {
	Name       string `json:"name" validate:"required,name"`
	CarType    string `json:"car_type" validate:"required"`
	CarLicense string `json:"car_license" validate:"required"`
}

// 银行卡黑名单
type TocBankCardBlacklist struct {
	Name     string `json:"name" validate:"required,name"`
	IDCard   string `json:"id_card" validate:"required,idCard"`
	Mobile   string `json:"mobile" validate:"required,mobile"`
	BankCard string `json:"bank_card" validate:"required"`
}

// 手机号码风险
type TocPhoneNumberRisk struct {
	Mobile string `json:"mobile" validate:"required,mobile"`
}

// 手机二次卡
type TocPhoneSecondaryCard struct {
	Mobile    string `json:"mobile" validate:"required,mobile"`
	StartDate string `json:"start_date" validate:"required"`
}

type AgentQueryData struct {
	Mobile string `json:"mobile"`
	Code   string `json:"code"`
}
type AgentIdentifier struct {
	AgentID   string  `json:"agent_id"`   // 代理ID
	ProductID string  `json:"product_id"` // 产品ID
	SetPrice  float64 `json:"set_price"`  // 代理设定价格
}

// 特殊名单 G26BJ05
var G26BJ05FieldMapping = map[string]string{
	"IDCard":    "id",
	"Name":      "name",
	"Mobile":    "cell",
	"TimeRange": "time_range",
}

// 个人不良
var G34BJ03FieldMapping = map[string]string{
	"IDCard": "id_card",
	"Name":   "name",
}

// 个人涉诉 G35SC01
var G35SC01FieldMapping = map[string]string{
	"Name":         "name",
	"IDCard":       "idcard",
	"InquiredAuth": "inquired_auth",
}

// 单人婚姻 G09SC02
var G09SC02FieldMapping = map[string]string{
	"IDCard": "certNumMan",
	"Name":   "nameMan",
}

// 借贷意向 G27BJ05
var G27BJ05FieldMapping = map[string]string{
	"IDCard": "id",
	"Name":   "name",
	"Mobile": "cell",
}

// 借贷行为 G28BJ05
var G28BJ05FieldMapping = map[string]string{
	"IDCard": "id",
	"Name":   "name",
	"Mobile": "cell",
}

// 股东人企关系精准版 G05HZ01
var G05HZ01FieldMapping = map[string]string{
	"IDCard": "pid",
}
