Finish GetInfo
method
This commit is contained in:
parent
e70138664f
commit
c30a1fc5c6
@ -2,63 +2,63 @@ package data
|
||||
|
||||
// 星座信息
|
||||
|
||||
var Constellation = [12]map[string]string{
|
||||
{
|
||||
var Constellation = [13]map[string]string{
|
||||
1: {
|
||||
"name": "水瓶座",
|
||||
"start_date": "01-20",
|
||||
"end_date": "02-18",
|
||||
},
|
||||
{
|
||||
2: {
|
||||
"name": "双鱼座",
|
||||
"start_date": "02-19",
|
||||
"end_date": "03-20",
|
||||
},
|
||||
{
|
||||
3: {
|
||||
"name": "白羊座",
|
||||
"start_date": "03-21",
|
||||
"end_date": "04-19",
|
||||
},
|
||||
{
|
||||
4: {
|
||||
"name": "金牛座",
|
||||
"start_date": "04-20",
|
||||
"end_date": "05-20",
|
||||
},
|
||||
{
|
||||
5: {
|
||||
"name": "双子座",
|
||||
"start_date": "05-21",
|
||||
"end_date": "06-21",
|
||||
},
|
||||
{
|
||||
6: {
|
||||
"name": "巨蟹座",
|
||||
"start_date": "06-22",
|
||||
"end_date": "07-22",
|
||||
},
|
||||
{
|
||||
7: {
|
||||
"name": "狮子座",
|
||||
"start_date": "07-23",
|
||||
"end_date": "08-22",
|
||||
},
|
||||
{
|
||||
8: {
|
||||
"name": "处女座",
|
||||
"start_date": "08-23",
|
||||
"end_date": "09-22",
|
||||
},
|
||||
{
|
||||
9: {
|
||||
"name": "天秤座",
|
||||
"start_date": "09-23",
|
||||
"end_date": "10-23",
|
||||
},
|
||||
{
|
||||
10: {
|
||||
"name": "天蝎座",
|
||||
"start_date": "10-24",
|
||||
"end_date": "11-22",
|
||||
},
|
||||
{
|
||||
11: {
|
||||
"name": "射手座",
|
||||
"start_date": "11-23",
|
||||
"end_date": "12-21",
|
||||
},
|
||||
{
|
||||
12: {
|
||||
"name": "摩羯座",
|
||||
"start_date": "12-22",
|
||||
"end_date": "01-19",
|
||||
|
31
helper.go
31
helper.go
@ -2,6 +2,7 @@ package id_validator
|
||||
|
||||
import (
|
||||
"strconv"
|
||||
"strings"
|
||||
|
||||
"id-validator/data"
|
||||
)
|
||||
@ -58,6 +59,36 @@ func GetAddress(addressCode string, birthdayCode string) string {
|
||||
return address
|
||||
}
|
||||
|
||||
// 获取星座信息
|
||||
func GetConstellation(birthdayCode string) string {
|
||||
monthStr := Substr(birthdayCode, 4, 6)
|
||||
dayStr := Substr(birthdayCode, 6, 8)
|
||||
month, _ := strconv.Atoi(monthStr)
|
||||
day, _ := strconv.Atoi(dayStr)
|
||||
startDate := data.Constellation[month]["start_date"]
|
||||
startDay, _ := strconv.Atoi(strings.Split(startDate, "-")[1])
|
||||
if day >= startDay {
|
||||
return data.Constellation[month]["name"]
|
||||
}
|
||||
|
||||
tmpMonth := month - 1
|
||||
if month == 1 {
|
||||
tmpMonth = 12
|
||||
}
|
||||
|
||||
return data.Constellation[tmpMonth]["name"]
|
||||
}
|
||||
|
||||
// 获取生肖信息
|
||||
func GetChineseZodiac(birthdayCode string) string {
|
||||
// 子鼠
|
||||
start := 1900
|
||||
end, _ := strconv.Atoi(Substr(birthdayCode, 0, 4))
|
||||
key := (end - start) % 12
|
||||
|
||||
return data.ChineseZodiac[key]
|
||||
}
|
||||
|
||||
// Substr 截取字符串
|
||||
func Substr(source string, start int, end int) string {
|
||||
var r = []rune(source)
|
||||
|
@ -1,5 +1,12 @@
|
||||
package id_validator
|
||||
|
||||
import (
|
||||
"fmt"
|
||||
"strconv"
|
||||
|
||||
"id-validator/data"
|
||||
)
|
||||
|
||||
// 验证身份证号合法性
|
||||
func IsValid(id string) bool {
|
||||
if !CheckIdArgument(id) {
|
||||
@ -21,3 +28,42 @@ func IsValid(id string) bool {
|
||||
|
||||
return code["checkBit"] == checkBit
|
||||
}
|
||||
|
||||
// 获取身份证信息
|
||||
func GetInfo(id string) map[string]string {
|
||||
// 验证有效性
|
||||
if !IsValid(id) {
|
||||
return map[string]string{}
|
||||
}
|
||||
|
||||
code := GenerateType(id)
|
||||
|
||||
addressInfo := GetAddressInfo(code["addressCode"], code["birthdayCode"])
|
||||
fmt.Println(addressInfo)
|
||||
address, _ := strconv.Atoi(code["addressCode"])
|
||||
abandoned := "0"
|
||||
if data.AddressCode[address] == "" {
|
||||
abandoned = "1"
|
||||
}
|
||||
// birthday, _ := time.Parse("20060102", code["birthdayCode"])
|
||||
|
||||
sex := "1"
|
||||
sexCode, _ := strconv.Atoi(code["order"])
|
||||
if (sexCode % 2) == 0 {
|
||||
sex = "0"
|
||||
}
|
||||
info := map[string]string{
|
||||
"addressCode": code["addressCode"],
|
||||
"abandoned": abandoned,
|
||||
"address": addressInfo["province"] + addressInfo["city"] + addressInfo["district"],
|
||||
// "addressTree": addressInfo,
|
||||
// "birthdayCode": birthday,
|
||||
"constellation": GetConstellation(code["birthdayCode"]),
|
||||
"chineseZodiac": GetChineseZodiac(code["birthdayCode"]),
|
||||
"sex": sex,
|
||||
"length": code["type"],
|
||||
"checkBit": code["checkBit"],
|
||||
}
|
||||
|
||||
return info
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user