记得上下班打卡 | git大法好,push需谨慎
Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
L
liquidnet-bus-v1
Project
Project
Details
Activity
Releases
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
董敬伟
liquidnet-bus-v1
Commits
57a9b479
Commit
57a9b479
authored
Apr 15, 2022
by
张国柄
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
~api:开通数字账号+年龄校验;
parent
5edb944d
Changes
4
Hide whitespace changes
Inline
Side-by-side
Showing
4 changed files
with
163 additions
and
4 deletions
+163
-4
IDCardUtil.java
...main/java/com/liquidnet/commons/lang/util/IDCardUtil.java
+153
-0
AdamUserController.java
...liquidnet/service/adam/controller/AdamUserController.java
+4
-0
AdamUserBusiAcctServiceImpl.java
...ervice/adam/service/impl/AdamUserBusiAcctServiceImpl.java
+5
-4
errors.properties
...et-service-adam-impl/src/main/resources/errors.properties
+1
-0
No files found.
liquidnet-bus-common/liquidnet-common-base/src/main/java/com/liquidnet/commons/lang/util/IDCardUtil.java
0 → 100644
View file @
57a9b479
package
com
.
liquidnet
.
commons
.
lang
.
util
;
import
org.apache.commons.lang3.StringUtils
;
import
java.time.LocalDateTime
;
public
class
IDCardUtil
{
/**
* 15位身份证号
*/
private
static
final
int
FIFTEEN_ID_CARD
=
15
;
/**
* 18位身份证号
*/
private
static
final
int
EIGHTEEN_ID_CARD
=
18
;
/**
* 根据身份证号获取性别
*
* @param idNo
* @return int [0-未知|1-男|2-女]
*/
public
static
int
getSexCode
(
String
idNo
)
{
int
sex
=
0
;
if
(
StringUtils
.
isNotBlank
(
idNo
))
{
int
sexNum
;
switch
(
idNo
.
length
())
{
case
FIFTEEN_ID_CARD:
sexNum
=
Integer
.
parseInt
(
idNo
.
substring
(
14
,
15
));
break
;
case
EIGHTEEN_ID_CARD:
sexNum
=
Integer
.
parseInt
(
idNo
.
substring
(
16
).
substring
(
0
,
1
));
break
;
default
:
return
sex
;
}
if
(
sexNum
%
2
==
0
)
{
// 判断性别
sex
=
2
;
}
else
{
sex
=
1
;
}
}
return
sex
;
}
/**
* 根据身份证号获取性别
*
* @param idNo
* @return String[""-未知|"女"|"男"]
*/
public
static
String
getSexStr
(
String
idNo
)
{
String
sex
=
""
;
if
(
StringUtils
.
isNotBlank
(
idNo
))
{
int
sexNum
;
switch
(
idNo
.
length
())
{
case
FIFTEEN_ID_CARD:
sexNum
=
Integer
.
parseInt
(
idNo
.
substring
(
14
,
15
));
break
;
case
EIGHTEEN_ID_CARD:
sexNum
=
Integer
.
parseInt
(
idNo
.
substring
(
16
).
substring
(
0
,
1
));
break
;
default
:
return
sex
;
}
if
(
sexNum
%
2
==
0
)
{
// 判断性别
sex
=
"女"
;
}
else
{
sex
=
"男"
;
}
}
return
sex
;
}
/**
* 根据身份证号获取年龄
*
* @param idNo
* @return int
*/
public
static
int
getAge
(
String
idNo
)
{
int
age
=
0
;
if
(
StringUtils
.
isNotBlank
(
idNo
))
{
LocalDateTime
now
=
LocalDateTime
.
now
();
int
nowYear
=
now
.
getYear
(),
nowMonth
=
now
.
getMonthValue
();
// 当前年份、月份
String
uYear
,
uMonth
;
// 身份证年份、月份
switch
(
idNo
.
length
())
{
case
FIFTEEN_ID_CARD:
// 身份证上的年份(15位身份证为1980年前的)
uYear
=
"19"
+
idNo
.
substring
(
6
,
8
);
// 身份证上的月份
uMonth
=
idNo
.
substring
(
8
,
10
);
break
;
case
EIGHTEEN_ID_CARD:
// 身份证上的年份
uYear
=
idNo
.
substring
(
6
).
substring
(
0
,
4
);
// 身份证上的月份
uMonth
=
idNo
.
substring
(
10
).
substring
(
0
,
2
);
break
;
default
:
return
0
;
}
if
(
nowMonth
>=
Integer
.
parseInt
(
uMonth
))
{
// 当前月份大于用户出身的月份表示已过生日
age
=
nowYear
-
Integer
.
parseInt
(
uYear
)
+
1
;
}
else
{
age
=
nowYear
-
Integer
.
parseInt
(
uYear
);
}
}
return
age
;
}
// /**
// * 获取出生日期 yyyy年MM月dd日
// *
// * @param idNo
// * @return
// */
// public static String getBirthday(String idNo) {
// String birthday = "";
// String year = "";
// String month = "";
// String day = "";
// if (StringUtils.isNotBlank(idNo)) {
// //15位身份证号
// if (idNo.length() == FIFTEEN_ID_CARD) {
// // 身份证上的年份(15位身份证为1980年前的)
// year = "19" + idNo.substring(6, 8);
// //身份证上的月份
// month = idNo.substring(8, 10);
// //身份证上的日期
// day = idNo.substring(10, 12);
// //18位身份证号
// } else if (idNo.length() == EIGHTEEN_ID_CARD) {
// // 身份证上的年份
// year = idNo.substring(6).substring(0, 4);
// // 身份证上的月份
// month = idNo.substring(10).substring(0, 2);
// //身份证上的日期
// day = idNo.substring(12).substring(0, 2);
// }
// birthday = year + "年" + month + "月" + day + "日";
// }
// return birthday;
// }
public
static
void
main
(
String
[]
args
)
{
System
.
out
.
println
(
IDCardUtil
.
getAge
(
"141181199209160192"
));
}
}
liquidnet-bus-service/liquidnet-service-adam/liquidnet-service-adam-impl/src/main/java/com/liquidnet/service/adam/controller/AdamUserController.java
View file @
57a9b479
...
@@ -7,6 +7,7 @@ import com.liquidnet.common.third.shumei.util.ShumeiUtil;
...
@@ -7,6 +7,7 @@ import com.liquidnet.common.third.shumei.util.ShumeiUtil;
import
com.liquidnet.commons.lang.constant.LnsEnum
;
import
com.liquidnet.commons.lang.constant.LnsEnum
;
import
com.liquidnet.commons.lang.constant.LnsRegex
;
import
com.liquidnet.commons.lang.constant.LnsRegex
;
import
com.liquidnet.commons.lang.util.CurrentUtil
;
import
com.liquidnet.commons.lang.util.CurrentUtil
;
import
com.liquidnet.commons.lang.util.IDCardUtil
;
import
com.liquidnet.commons.lang.util.JsonUtils
;
import
com.liquidnet.commons.lang.util.JsonUtils
;
import
com.liquidnet.commons.lang.util.SensitizeUtil
;
import
com.liquidnet.commons.lang.util.SensitizeUtil
;
import
com.liquidnet.service.adam.constant.AdamConst
;
import
com.liquidnet.service.adam.constant.AdamConst
;
...
@@ -477,6 +478,9 @@ public class AdamUserController {
...
@@ -477,6 +478,9 @@ public class AdamUserController {
if
(!
java
.
util
.
regex
.
Pattern
.
matches
(
LnsRegex
.
Valid
.
CN_ID_CARD_REF
,
idCard
))
{
if
(!
java
.
util
.
regex
.
Pattern
.
matches
(
LnsRegex
.
Valid
.
CN_ID_CARD_REF
,
idCard
))
{
return
ResponseDto
.
failure
(
ErrorMapping
.
get
(
"10104"
));
return
ResponseDto
.
failure
(
ErrorMapping
.
get
(
"10104"
));
}
}
if
(
IDCardUtil
.
getAge
(
idCard
)
<
18
)
{
return
ResponseDto
.
failure
(
ErrorMapping
.
get
(
"10100"
));
}
}
}
String
currentUid
=
CurrentUtil
.
getCurrentUid
();
String
currentUid
=
CurrentUtil
.
getCurrentUid
();
String
mobile
=
(
String
)
CurrentUtil
.
getTokenClaims
().
get
(
CurrentUtil
.
TOKEN_MOBILE
);
String
mobile
=
(
String
)
CurrentUtil
.
getTokenClaims
().
get
(
CurrentUtil
.
TOKEN_MOBILE
);
...
...
liquidnet-bus-service/liquidnet-service-adam/liquidnet-service-adam-impl/src/main/java/com/liquidnet/service/adam/service/impl/AdamUserBusiAcctServiceImpl.java
View file @
57a9b479
...
@@ -2,10 +2,7 @@ package com.liquidnet.service.adam.service.impl;
...
@@ -2,10 +2,7 @@ package com.liquidnet.service.adam.service.impl;
import
com.fasterxml.jackson.databind.JsonNode
;
import
com.fasterxml.jackson.databind.JsonNode
;
import
com.fasterxml.jackson.databind.node.ObjectNode
;
import
com.fasterxml.jackson.databind.node.ObjectNode
;
import
com.liquidnet.commons.lang.util.CollectionUtil
;
import
com.liquidnet.commons.lang.util.*
;
import
com.liquidnet.commons.lang.util.CurrentUtil
;
import
com.liquidnet.commons.lang.util.HttpUtil
;
import
com.liquidnet.commons.lang.util.JsonUtils
;
import
com.liquidnet.service.adam.constant.AdamEnum
;
import
com.liquidnet.service.adam.constant.AdamEnum
;
import
com.liquidnet.service.adam.dto.vo.AdamRealInfoVo
;
import
com.liquidnet.service.adam.dto.vo.AdamRealInfoVo
;
import
com.liquidnet.service.adam.dto.vo.AdamUserBizAcctVo
;
import
com.liquidnet.service.adam.dto.vo.AdamUserBizAcctVo
;
...
@@ -62,6 +59,10 @@ public class AdamUserBusiAcctServiceImpl implements IAdamUserBusiAcctService {
...
@@ -62,6 +59,10 @@ public class AdamUserBusiAcctServiceImpl implements IAdamUserBusiAcctService {
if
(
inputNameIdCardInvalidFlg
)
{
if
(
inputNameIdCardInvalidFlg
)
{
name
=
realInfoVo
.
getName
();
name
=
realInfoVo
.
getName
();
idCard
=
realInfoVo
.
getIdCard
();
idCard
=
realInfoVo
.
getIdCard
();
if
(
IDCardUtil
.
getAge
(
idCard
)
<
18
)
{
return
ResponseDto
.
failure
(
ErrorMapping
.
get
(
"10100"
));
}
}
}
adamUserService
.
identityForUpsert
(
uid
,
name
,
idCard
,
mobile
,
true
);
adamUserService
.
identityForUpsert
(
uid
,
name
,
idCard
,
mobile
,
true
);
}
else
{
// 三要素认证的
}
else
{
// 三要素认证的
...
...
liquidnet-bus-service/liquidnet-service-adam/liquidnet-service-adam-impl/src/main/resources/errors.properties
View file @
57a9b479
...
@@ -33,6 +33,7 @@
...
@@ -33,6 +33,7 @@
10027
=
服务升级,暂不支持该操作
10027
=
服务升级,暂不支持该操作
10100
=
未满18周岁
10101
=
姓名或身份证件号无效
10101
=
姓名或身份证件号无效
10102
=
身份证号与姓名不符
10102
=
身份证号与姓名不符
10103
=
身份证姓名不合规
10103
=
身份证姓名不合规
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment