Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
X
xyqb-user2
Project
Project
Details
Activity
Releases
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Boards
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
head_group
xyqb-user2
Commits
60a642bb
Commit
60a642bb
authored
Oct 30, 2019
by
技术部-任文超
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
魔法值---完成
parent
be80edab
Changes
9
Expand all
Hide whitespace changes
Inline
Side-by-side
Showing
9 changed files
with
207 additions
and
291 deletions
+207
-291
Constants.java
src/main/java/cn/quantgroup/xyqb/Constants.java
+17
-5
ExceptionHandlingController.java
...antgroup/xyqb/controller/ExceptionHandlingController.java
+13
-4
WeChatController.java
...quantgroup/xyqb/controller/external/WeChatController.java
+14
-14
UserQueryLogController.java
.../controller/internal/querylog/UserQueryLogController.java
+73
-131
InnerController.java
...tgroup/xyqb/controller/internal/user/InnerController.java
+8
-23
UserQueryLogException.java
...a/cn/quantgroup/xyqb/exception/UserQueryLogException.java
+19
-0
IdCardServiceImpl.java
.../quantgroup/xyqb/service/auth/impl/IdCardServiceImpl.java
+3
-3
Base64.java
src/main/java/cn/quantgroup/xyqb/util/encrypt/Base64.java
+58
-110
UserLoginTest.java
src/test/java/login/UserLoginTest.java
+2
-1
No files found.
src/main/java/cn/quantgroup/xyqb/Constants.java
View file @
60a642bb
...
...
@@ -40,6 +40,9 @@ public interface Constants {
int
DAY_NO_MIN
=
30
;
int
MONTH_NO_MAX
=
200
;
int
MONTH_NO_MIN
=
30
;
int
AGE_MAX
=
150
;
int
USER_QUERY_INFO_BATCH_SIZE
=
3000
;
int
USER_ID_BATCH_SIZE
=
500
;
/** 垃圾,前辈竟然用这个办法来识别UUID */
int
UUID_MIN_LENGTH
=
10
;
String
AUTO_SORT_TYPE
=
"auto"
;
...
...
@@ -59,16 +62,23 @@ public interface Constants {
String
ERROR_MSG
=
"errorMsg"
;
String
BANK_CARD
=
"bankCard"
;
String
ADDRESS
=
"address"
;
/**
* 微信标识参数名
*/
String
WECHAT_OPEN_ID
=
"wechat_open_id"
;
String
PASSWORD
=
"password"
;
String
RESULT_CODE
=
"code"
;
String
RESULT_DATA
=
"data"
;
String
SUCCESS_CODE
=
"0000"
;
String
PROTOCOL_HEAD_HTTPS
=
"https:"
;
String
PROTOCOL_HEAD_HTTP
=
"http"
;
String
REDIRECT
=
"redirect"
;
String
LOCAL
=
"local"
;
String
DOCKER_DOMAIN
=
"liangkebang"
;
/**
* 微信标识参数名
*/
String
WECHAT_OPEN_ID
=
"wechat_open_id"
;
String
MERCHANT_BAITIAO
=
"baitiao"
;
String
MERCHANT_WECHAT_PAY
=
"wechat-pay"
;
// -- Start -- IPV4安全策略常量组
/**
...
...
@@ -156,8 +166,10 @@ public interface Constants {
interface
Channel
{
long
BAITIAO
=
222L
;
String
LKB_CODE
=
"0002"
;
// 量化派channnel_code
// 量化派channnel_code
String
LKB_CODE
=
"0002"
;
long
WECHAT
=
198L
;
long
HENGCHANG
=
58L
;
}
interface
Session
{
...
...
src/main/java/cn/quantgroup/xyqb/controller/ExceptionHandlingController.java
View file @
60a642bb
package
cn
.
quantgroup
.
xyqb
.
controller
;
import
cn.quantgroup.xyqb.exception.PasswordErrorLimitException
;
import
cn.quantgroup.xyqb.exception.UserNotExistException
;
import
cn.quantgroup.xyqb.exception.VerificationCodeErrorException
;
import
cn.quantgroup.xyqb.exception.WechatRelateUserException
;
import
cn.quantgroup.xyqb.exception.*
;
import
cn.quantgroup.xyqb.model.JsonResult
;
import
cn.quantgroup.xyqb.util.IpUtil
;
import
org.slf4j.Logger
;
...
...
@@ -69,6 +66,18 @@ public class ExceptionHandlingController implements IBaseController {
return
new
JsonResult
(
unee
.
getMessage
(),
401L
,
null
);
}
/**
* 用户查询或导出异常
*
* @param uqle
* @return
*/
@ExceptionHandler
(
UserQueryLogException
.
class
)
public
JsonResult
userQueryLogException
(
UserQueryLogException
uqle
)
{
LOGGER
.
info
(
"throw UserQueryLogException,msg={},businessCode={},code={}"
,
uqle
.
getMessage
(),
1L
,
0L
);
return
JsonResult
.
buildErrorStateResult
(
uqle
.
getMessage
(),
null
);
}
/**
* 微信关联异常
*
...
...
src/main/java/cn/quantgroup/xyqb/controller/external/WeChatController.java
View file @
60a642bb
...
...
@@ -191,7 +191,7 @@ public class WeChatController implements IBaseController {
schema
=
extDataObj
.
getOrDefault
(
"protocol"
,
Constants
.
PROTOCOL_HEAD_HTTP
).
toString
();
log
.
info
(
"从微信登录extData中获得协议信息,protocol:{}"
,
schema
);
registerFrom
=
Long
.
valueOf
(
extDataObj
.
getOrDefault
(
"registerFrom"
,
"1"
).
toString
());
redirect
=
(
String
)
extDataObj
.
getOrDefault
(
"redirect"
,
"redirect"
);
redirect
=
(
String
)
extDataObj
.
getOrDefault
(
Constants
.
REDIRECT
,
Constants
.
REDIRECT
);
log
.
info
(
"从微信登录,registerFrom:{}, redirect:{}"
,
registerFrom
,
redirect
);
receiveCodeWithDefault
(
code
,
systemKey
,
schema
,
registerFrom
,
redirect
,
response
);
}
...
...
@@ -274,7 +274,7 @@ public class WeChatController implements IBaseController {
public
void
redirectForTest
(
String
redirect
,
HttpServletRequest
request
,
HttpServletResponse
response
)
throws
MalformedURLException
{
URL
url
=
new
URL
(
redirect
);
String
host
=
url
.
getHost
();
if
(!
host
.
endsWith
(
"liangkebang.com"
)
&&
!
host
.
endsWith
(
"liangkebang.net"
))
{
if
(!
host
.
contains
(
Constants
.
DOCKER_DOMAIN
))
{
log
.
error
(
"redirect 非法请求, host:{}"
,
host
);
return
;
}
...
...
@@ -320,22 +320,22 @@ public class WeChatController implements IBaseController {
private
String
createUserSession
(
User
user
,
Merchant
merchant
,
String
redirect
,
String
domain
,
Long
registerFrom
)
{
log
.
info
(
"[WeChatController][createUserSession]微信授权及跳转:user:{},merchant:{},redirect:{},domain:{},registerFrom:{}"
,
user
,
merchant
,
redirect
,
domain
,
registerFrom
);
LoginProperties
loginProperties
=
new
LoginProperties
(
""
,
4
,
Constants
.
Channel
.
WECHAT
,
registerFrom
,
String
.
valueOf
(
Constants
.
Channel
.
WECHAT
),
merchant
.
getId
(),
merchant
.
getName
());
if
(
StringUtils
.
isEmpty
(
redirect
)
||
"redirect"
.
equals
(
redirect
))
{
if
(
StringUtils
.
isEmpty
(
redirect
)
||
Constants
.
REDIRECT
.
equals
(
redirect
))
{
log
.
info
(
"微信登录:redirect为null,走正常流程."
);
if
(
"baitiao"
.
equals
(
merchant
.
getName
()))
{
if
(
Constants
.
MERCHANT_BAITIAO
.
equals
(
merchant
.
getName
()))
{
return
loginInWechatWithSessionCreated
(
user
,
merchant
,
"cashTarget5"
,
Constants
.
Channel
.
BAITIAO
,
domain
,
Constants
.
Channel
.
WECHAT
);
}
else
if
(
"wechat-pay"
.
equals
(
merchant
.
getName
()))
{
}
else
if
(
Constants
.
MERCHANT_WECHAT_PAY
.
equals
(
merchant
.
getName
()))
{
AuthBean
authBean
=
sessionService
.
createSession
(
user
,
loginProperties
);
return
domain
+
"/landing?token="
+
authBean
.
getToken
()
+
"®isterFrom="
+
registerFrom
+
"&channelId="
+
Constants
.
Channel
.
WECHAT
+
"&key="
+
merchant
.
getName
()
+
"&target=cashTarget5"
;
}
else
{
return
loginInWechatWithSessionCreated
(
user
,
merchant
,
"cashTarget4"
,
1L
,
domain
,
registerFrom
);
}
}
else
if
(
"local"
.
equals
(
redirect
))
{
}
else
if
(
Constants
.
LOCAL
.
equals
(
redirect
))
{
log
.
info
(
"微信登录:redirect不为null,创建session跳到指定前端页面."
);
AuthBean
authBean
=
sessionService
.
createSession
(
user
,
loginProperties
);
log
.
info
(
"微信登录:跳转地址{}"
,
domain
+
"/weixin/callback?phoneNo="
+
user
.
getPhoneNo
()
+
"&token="
+
authBean
.
getToken
());
Long
channelId
=
"baitiao"
.
equals
(
merchant
.
getName
())
?
Constants
.
Channel
.
BAITIAO
:
1L
;
String
target
=
"baitiao"
.
equals
(
merchant
.
getName
())
?
"cashTarget5"
:
"cashTarget4"
;
Long
channelId
=
Constants
.
MERCHANT_BAITIAO
.
equals
(
merchant
.
getName
())
?
Constants
.
Channel
.
BAITIAO
:
1L
;
String
target
=
Constants
.
MERCHANT_BAITIAO
.
equals
(
merchant
.
getName
())
?
"cashTarget5"
:
"cashTarget4"
;
return
domain
+
"/landing?token="
+
authBean
.
getToken
()
+
"®isterFrom="
+
registerFrom
+
"&channelId="
+
channelId
+
"&key="
+
merchant
.
getName
()
+
"&target="
+
target
+
"&isWechat=true"
;
}
...
...
@@ -364,13 +364,13 @@ public class WeChatController implements IBaseController {
}
private
String
assembleNormalRedirectUrl
(
Merchant
merchant
,
Long
registerFrom
,
String
domain
)
{
if
(
"baitiao"
.
equals
(
merchant
.
getName
()))
{
if
(
registerFrom
==
58L
||
registerFrom
==
198L
)
{
if
(
Constants
.
MERCHANT_BAITIAO
.
equals
(
merchant
.
getName
()))
{
if
(
registerFrom
==
Constants
.
Channel
.
HENGCHANG
||
registerFrom
==
Constants
.
Channel
.
WECHAT
)
{
return
domain
+
"/landing?key=baitiao&target=cashTarget5&channelId=222®isterFrom="
+
registerFrom
;
}
else
{
return
domain
+
"/landing?key=baitiao&target=cashTarget5&channelId=222®isterFrom=198"
;
}
}
else
if
(
"wechat-pay"
.
equals
(
merchant
.
getName
()))
{
}
else
if
(
Constants
.
MERCHANT_WECHAT_PAY
.
equals
(
merchant
.
getName
()))
{
return
domain
+
"/landing?key=wechat-pay&target=cashTarget5&channelId=1&page=landing/4®isterFrom="
+
registerFrom
;
}
else
{
return
domain
+
"/landing?key=xyqb&target=cashTarget4&channelId=1®isterFrom="
+
registerFrom
;
...
...
@@ -378,13 +378,13 @@ public class WeChatController implements IBaseController {
}
private
String
assembleWechatRedirectUrl
(
Merchant
merchant
,
WechatUserInfo
userInfo
,
Long
registerFrom
,
String
domain
)
{
if
(
"baitiao"
.
equals
(
merchant
.
getName
()))
{
if
(
registerFrom
==
58L
||
registerFrom
==
198L
)
{
if
(
Constants
.
MERCHANT_BAITIAO
.
equals
(
merchant
.
getName
()))
{
if
(
registerFrom
==
Constants
.
Channel
.
HENGCHANG
||
registerFrom
==
Constants
.
Channel
.
WECHAT
)
{
return
domain
+
"/landing?key=baitiao&target=cashTarget5®isterFrom="
+
registerFrom
+
"&channelId=222&isWechat=true&openId="
+
userInfo
.
getOpenId
();
}
else
{
return
domain
+
"/landing?key=baitiao&target=cashTarget5®isterFrom=198&channelId=222&isWechat=true&openId="
+
userInfo
.
getOpenId
();
}
}
else
if
(
"wechat-pay"
.
equals
(
merchant
.
getName
()))
{
}
else
if
(
Constants
.
MERCHANT_WECHAT_PAY
.
equals
(
merchant
.
getName
()))
{
return
domain
+
"/landing?key=wechat-pay&target=cashTarget5&page=landing/4®isterFrom= "
+
registerFrom
+
"&channelId=1&isWechat=true&openId="
+
userInfo
.
getOpenId
();
}
else
{
return
domain
+
"/landing?key=xyqb&target=cashTarget4®isterFrom= "
+
registerFrom
+
"&channelId=1&isWechat=true&openId="
+
userInfo
.
getOpenId
();
...
...
src/main/java/cn/quantgroup/xyqb/controller/internal/querylog/UserQueryLogController.java
View file @
60a642bb
This diff is collapsed.
Click to expand it.
src/main/java/cn/quantgroup/xyqb/controller/internal/user/InnerController.java
View file @
60a642bb
...
...
@@ -37,12 +37,10 @@ import org.apache.commons.lang3.StringUtils;
import
org.apache.commons.lang3.math.NumberUtils
;
import
org.apache.http.HttpStatus
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.context.ApplicationEventPublisher
;
import
org.springframework.util.CollectionUtils
;
import
org.springframework.validation.annotation.Validated
;
import
org.springframework.web.bind.annotation.*
;
import
javax.annotation.Resource
;
import
javax.servlet.http.HttpServletRequest
;
import
javax.validation.constraints.Min
;
import
java.io.UnsupportedEncodingException
;
...
...
@@ -89,14 +87,9 @@ public class InnerController implements IBaseController {
private
ISmsService
smsService
;
@Autowired
private
IUserRegisterService
userRegisterService
;
@Resource
private
ApplicationEventPublisher
applicationEventPublisher
;
private
static
final
char
[]
PWD_BASE
=
{
'a'
,
'b'
,
'c'
,
'd'
,
'e'
,
'f'
,
'g'
,
'h'
,
'i'
,
'j'
,
'k'
,
'l'
,
'm'
,
'n'
,
'o'
,
'p'
,
'q'
,
'r'
,
's'
,
't'
,
'u'
,
'v'
,
'w'
,
'x'
,
'y'
,
'z'
,
'0'
,
'1'
,
'2'
,
'3'
,
'4'
,
'5'
,
'6'
,
'7'
,
'8'
,
'9'
};
private
static
final
String
RESET_PWD_TOKEN
=
"ecf75c1f-2ccb-4661-8e4b-2874c0f45a2b"
;
private
static
final
String
MODIFY_CONTACT_TOKEN
=
"@qwsdedad131323213w!"
;
/**
...
...
@@ -209,7 +202,7 @@ public class InnerController implements IBaseController {
}
List
<
Long
>
userIds
=
JSONObject
.
parseObject
(
userIdsString
,
new
TypeReference
<
List
<
Long
>>()
{
});
if
(!
CollectionUtils
.
isEmpty
(
userIds
)
&&
userIds
.
size
()
<=
500
)
{
if
(!
CollectionUtils
.
isEmpty
(
userIds
)
&&
userIds
.
size
()
<=
Constants
.
USER_ID_BATCH_SIZE
)
{
Map
<
Long
,
String
>
userIdAndPhoneMap
=
userService
.
findPhoneByIdsInDb
(
userIds
);
return
JsonResult
.
buildSuccessResult
(
""
,
userIdAndPhoneMap
);
}
else
{
...
...
@@ -473,10 +466,9 @@ public class InnerController implements IBaseController {
@RequestParam
(
required
=
false
)
String
phoneNo
,
@RequestParam
(
required
=
false
)
Relation
relation
,
String
key
,
@RequestParam
String
reason
,
HttpServletRequest
request
)
{
if
(!
"@qwsdedad131323213w!"
.
equals
(
key
)
||
contactId
==
null
)
{
if
(!
MODIFY_CONTACT_TOKEN
.
equals
(
key
)
||
contactId
==
null
)
{
return
JsonResult
.
buildErrorStateResult
(
"参数不合法"
,
null
);
}
if
(
StringUtils
.
isEmpty
(
name
)
&&
StringUtils
.
isEmpty
(
phoneNo
))
{
return
JsonResult
.
buildErrorStateResult
(
"修改联系人修改条件不能都为空"
,
null
);
}
...
...
@@ -986,8 +978,8 @@ public class InnerController implements IBaseController {
}
List
<
String
>
phones
=
JSONObject
.
parseObject
(
userPhones
,
new
TypeReference
<
List
<
String
>>()
{
});
if
(
org
.
apache
.
commons
.
collections
.
CollectionUtils
.
isNot
Empty
(
phones
))
{
if
(
!(
phones
.
size
()
>
MAX_SIZE
)
)
{
if
(
!
CollectionUtils
.
is
Empty
(
phones
))
{
if
(
phones
.
size
()
<=
MAX_SIZE
)
{
List
<
User
>
users
=
userService
.
findByPhones
(
phones
);
if
(
org
.
apache
.
commons
.
collections
.
CollectionUtils
.
isNotEmpty
(
users
))
{
return
JsonResult
.
buildSuccessResult
(
null
,
users
.
stream
().
collect
(
Collectors
.
toMap
(
User:
:
getPhoneNo
,
User:
:
getId
)));
...
...
@@ -1013,16 +1005,14 @@ public class InnerController implements IBaseController {
@ApiOperation
(
value
=
"根据手机号批量查询UUID"
,
httpMethod
=
"POST"
)
@TargetDataSource
(
type
=
DSType
.
SLAVE
)
public
JsonResult
getUuidsByPhones
(
@RequestParam
(
"userPhones"
)
String
userPhones
)
{
if
(
StringUtils
.
isBlank
(
userPhones
))
{
return
JsonResult
.
buildErrorStateResult
(
"传入用户手机号不可为空"
,
null
);
}
List
<
String
>
phones
=
JSONObject
.
parseObject
(
userPhones
,
new
TypeReference
<
List
<
String
>>()
{
});
if
(
org
.
apache
.
commons
.
collections
.
CollectionUtils
.
isNotEmpty
(
phones
))
{
if
(
!(
phones
.
size
()
>
MAX_SIZE
)
)
{
if
(
phones
.
size
()
<=
MAX_SIZE
)
{
List
<
UserInfo
>
userInfos
=
userService
.
findUserInfosByPhones
(
phones
);
if
(
org
.
apache
.
commons
.
collections
.
CollectionUtils
.
isNotEmpty
(
userInfos
))
{
Map
<
String
,
UserInfo
>
userInfoMap
=
Maps
.
newHashMapWithExpectedSize
(
userInfos
.
size
());
...
...
@@ -1079,7 +1069,6 @@ public class InnerController implements IBaseController {
if
(!
isIdCard
)
{
return
JsonResult
.
buildErrorStateResult
(
"用户身份证号异常."
,
null
);
}
Address
addressObj
=
null
;
//地址信息,同时存在provinceCode和address时才校验地址信息
if
(
StringUtils
.
isNotEmpty
(
provinceCode
)
&&
StringUtils
.
isNotEmpty
(
address
))
{
...
...
@@ -1114,14 +1103,12 @@ public class InnerController implements IBaseController {
addressObj
.
setDistrict
(
district
);
addressObj
.
setAddress
(
address
);
}
channelId
=
MoreObjects
.
firstNonNull
(
channelId
,
"-1"
);
// 验证用户是否已存在
User
user
=
userService
.
findByPhoneInDb
(
phoneNo
);
if
(
null
!=
user
)
{
return
JsonResult
.
buildErrorStateResult
(
"用户已存在,手机号被占用"
,
null
);
}
List
<
Contact
>
contactList
=
null
;
// 目前对空白字符串和null值容错,因是api调用,不考虑对非法格式容错(会阻断注册)
if
(
StringUtils
.
isNotBlank
(
contacts
))
{
...
...
@@ -1135,9 +1122,7 @@ public class InnerController implements IBaseController {
}
}
}
user
=
userRegisterService
.
register
(
Long
.
valueOf
(
registeredFrom
),
Long
.
valueOf
(
channelId
),
phoneNo
,
name
,
idNo
,
addressObj
,
contacts
,
contactList
,
btRegisterChannelId
);
UserRet
userRet
=
new
UserRet
(
user
);
return
JsonResult
.
buildSuccessResult
(
null
,
userRet
);
}
...
...
@@ -1406,7 +1391,7 @@ public class InnerController implements IBaseController {
@RequestMapping
(
"/user/password/reset/{key}/{phone}"
)
public
JsonResult
resetPasswordByKey
(
@PathVariable
(
"key"
)
String
key
,
@PathVariable
(
"phone"
)
String
phone
)
{
log
.
info
(
"密码重置请求,phone:[{}]"
,
phone
);
if
(!
"ecf75c1f-2ccb-4661-8e4b-2874c0f45a2b"
.
equalsIgnoreCase
(
key
))
{
if
(!
RESET_PWD_TOKEN
.
equalsIgnoreCase
(
key
))
{
log
.
error
(
"密码重置失败,key错误!@!,phone:[{}]"
,
phone
);
return
JsonResult
.
buildErrorStateResult
(
"用户密码重置失败."
,
HttpStatus
.
SC_UNAUTHORIZED
);
}
...
...
src/main/java/cn/quantgroup/xyqb/exception/UserQueryLogException.java
0 → 100644
View file @
60a642bb
package
cn
.
quantgroup
.
xyqb
.
exception
;
/**
* @author renwc
* @time 2019-10-30
*/
public
class
UserQueryLogException
extends
RuntimeException
{
private
static
final
long
serialVersionUID
=
-
1L
;
public
UserQueryLogException
(
String
msg
,
Throwable
t
)
{
super
(
msg
,
t
);
}
public
UserQueryLogException
(
String
msg
)
{
super
(
msg
);
}
}
src/main/java/cn/quantgroup/xyqb/service/auth/impl/IdCardServiceImpl.java
View file @
60a642bb
...
...
@@ -105,7 +105,7 @@ public class IdCardServiceImpl implements IIdCardService {
}
GregorianCalendar
gc
=
new
GregorianCalendar
();
Date
date
=
new
SimpleDateFormat
(
"yyyy-MM-dd"
).
parse
(
dateStr
);
if
(
gc
.
get
(
Calendar
.
YEAR
)
-
year
>
150
||
gc
.
getTime
().
getTime
()
-
date
.
getTime
()
<
0
)
{
if
(
gc
.
get
(
Calendar
.
YEAR
)
-
year
>
Constants
.
AGE_MAX
||
gc
.
getTime
().
getTime
()
-
date
.
getTime
()
<
0
)
{
return
false
;
}
if
(
month
<
Constants
.
MONTH_NO_MIN
||
month
>
Constants
.
MONTH_NO_MAX
)
{
...
...
@@ -169,7 +169,7 @@ public class IdCardServiceImpl implements IIdCardService {
return
null
;
}
if
(
gc
.
get
(
Calendar
.
YEAR
)
-
year
>
150
||
gc
.
getTime
().
getTime
()
-
date
.
getTime
()
<
0
)
{
if
(
gc
.
get
(
Calendar
.
YEAR
)
-
year
>
Constants
.
AGE_MAX
||
gc
.
getTime
().
getTime
()
-
date
.
getTime
()
<
0
)
{
return
cardInfo
;
}
if
(
month
<
Constants
.
MONTH_NO_MIN
||
month
>
Constants
.
MONTH_NO_MAX
)
{
...
...
@@ -241,7 +241,7 @@ public class IdCardServiceImpl implements IIdCardService {
}
GregorianCalendar
gc
=
new
GregorianCalendar
();
Date
date
=
new
SimpleDateFormat
(
"yyyy-MM-dd"
).
parse
(
dateStr
);
if
(
gc
.
get
(
Calendar
.
YEAR
)
-
year
>
150
||
gc
.
getTime
().
getTime
()
-
date
.
getTime
()
<
0
)
{
if
(
gc
.
get
(
Calendar
.
YEAR
)
-
year
>
Constants
.
AGE_MAX
||
gc
.
getTime
().
getTime
()
-
date
.
getTime
()
<
0
)
{
throw
new
IdCardException
(
"身份证出生年份不正确"
);
}
if
(
month
<
Constants
.
MONTH_NO_MIN
||
month
>
Constants
.
MONTH_NO_MAX
)
{
...
...
src/main/java/cn/quantgroup/xyqb/util/encrypt/Base64.java
View file @
60a642bb
This diff is collapsed.
Click to expand it.
src/test/java/login/UserLoginTest.java
View file @
60a642bb
...
...
@@ -77,7 +77,8 @@ public class UserLoginTest {
//String userId = "8c02a7b8-815f-4ba0-b39c-a9e6e52904de";
//测试userId为空的情况
String
userId
=
""
;
request
.
addHeader
(
"x-original-client-ip"
,
"172.16.0.1"
);
String
ip
=
"172.16.0.1"
;
request
.
addHeader
(
"x-original-client-ip"
,
ip
);
request
.
addHeader
(
"authorization"
,
"Basic MTg1MTMzNDE4MDg6MTIzNDU2"
);
JsonResult
jsonResult
=
userController
.
login
(
channelId
,
appChannel
,
createFrom
,
userId
,
"xyqb"
,
"xyqb"
,
request
);
AuthBean
authBean
=
(
AuthBean
)
jsonResult
.
getData
();
...
...
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