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
8e9689a7
Commit
8e9689a7
authored
Jun 20, 2019
by
技术部-任文超
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
添加VCC短信验证码专用接口(6位数字)
parent
46d8187c
Changes
2
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
57 additions
and
19 deletions
+57
-19
SmsController.java
...uantgroup/xyqb/controller/internal/sms/SmsController.java
+47
-19
TestJdk8.java
src/test/java/common/TestJdk8.java
+10
-0
No files found.
src/main/java/cn/quantgroup/xyqb/controller/internal/sms/SmsController.java
View file @
8e9689a7
...
...
@@ -10,6 +10,7 @@ import cn.quantgroup.xyqb.service.sms.ISmsService;
import
cn.quantgroup.xyqb.util.DateUtils
;
import
cn.quantgroup.xyqb.util.IPUtil
;
import
cn.quantgroup.xyqb.util.ValidationUtil
;
import
org.apache.commons.lang3.RandomStringUtils
;
import
org.apache.commons.lang3.StringUtils
;
import
org.slf4j.Logger
;
import
org.slf4j.LoggerFactory
;
...
...
@@ -32,7 +33,7 @@ import java.util.concurrent.TimeUnit;
public
class
SmsController
implements
IBaseController
{
private
static
final
Logger
LOGGER
=
LoggerFactory
.
getLogger
(
SmsController
.
class
);
private
static
final
Random
random
=
new
Random
()
;
private
final
static
String
RANDOM_CHARS
=
"0123456789"
;
private
static
final
long
EXPIRE_MINUTES
=
10
;
@Autowired
private
ISmsService
smsService
;
...
...
@@ -66,7 +67,8 @@ public class SmsController implements IBaseController {
@RequestParam
(
required
=
false
,
defaultValue
=
""
)
String
appName
,
@RequestParam
(
required
=
false
)
String
smsMerchant
)
{
LOGGER
.
info
(
"注册-发送验证码, phoneNo:{}, registerFrom:{}"
,
phoneNo
,
registerFrom
);
return
sendVerificationCode2
(
phoneNo
,
appName
,
smsMerchant
);
String
randomCode
=
smsIsDebug
?
"0000"
:
RandomStringUtils
.
random
(
4
,
RANDOM_CHARS
);
return
sendVerificationCode2
(
phoneNo
,
randomCode
,
appName
,
smsMerchant
);
}
/**
...
...
@@ -85,7 +87,8 @@ public class SmsController implements IBaseController {
@RequestParam
(
required
=
false
,
defaultValue
=
""
)
String
appName
,
@RequestParam
(
required
=
false
)
String
smsMerchant
)
{
LOGGER
.
info
(
"重置密码-发送验证码, phoneNo:{}, registerFrom:{}"
,
phoneNo
,
registerFrom
);
return
sendVerificationCode2
(
phoneNo
,
appName
,
smsMerchant
);
String
randomCode
=
smsIsDebug
?
"0000"
:
RandomStringUtils
.
random
(
4
,
RANDOM_CHARS
);
return
sendVerificationCode2
(
phoneNo
,
randomCode
,
appName
,
smsMerchant
);
}
/**
...
...
@@ -101,7 +104,8 @@ public class SmsController implements IBaseController {
return
JsonResult
.
buildErrorStateResult
(
"参数校验失败."
,
null
);
}
LOGGER
.
info
(
"注册-发送验证码, phoneNo:{}, registerFrom:{}"
,
phoneNo
,
registerFrom
);
return
sendVerificationCode2Voice
(
phoneNo
,
usage
);
String
randomCode
=
smsIsDebug
?
"0000"
:
RandomStringUtils
.
random
(
4
,
RANDOM_CHARS
);
return
sendVerificationCode2Voice
(
phoneNo
,
randomCode
,
usage
);
}
@CaptchaNewValidator
...
...
@@ -113,7 +117,8 @@ public class SmsController implements IBaseController {
return
JsonResult
.
buildErrorStateResult
(
"参数校验失败."
,
null
);
}
LOGGER
.
info
(
"重置密码-发送验证码, phoneNo:{}, registerFrom:{}"
,
phoneNo
,
registerFrom
);
return
sendVerificationCode2Voice
(
phoneNo
,
usage
);
String
randomCode
=
smsIsDebug
?
"0000"
:
RandomStringUtils
.
random
(
4
,
RANDOM_CHARS
);
return
sendVerificationCode2Voice
(
phoneNo
,
randomCode
,
usage
);
}
/**
...
...
@@ -128,7 +133,8 @@ public class SmsController implements IBaseController {
return
JsonResult
.
buildErrorStateResult
(
"参数校验失败."
,
null
);
}
LOGGER
.
info
(
"快速登陆-发送验证码, phoneNo:{}, registerFrom:{}"
,
phoneNo
,
registerFrom
);
return
sendVerificationCode2Voice
(
phoneNo
,
usage
);
String
randomCode
=
smsIsDebug
?
"0000"
:
RandomStringUtils
.
random
(
4
,
RANDOM_CHARS
);
return
sendVerificationCode2Voice
(
phoneNo
,
randomCode
,
usage
);
}
/**
...
...
@@ -145,7 +151,8 @@ public class SmsController implements IBaseController {
@RequestParam
(
required
=
false
,
defaultValue
=
""
)
String
appName
,
@RequestParam
(
required
=
false
)
String
smsMerchant
)
{
LOGGER
.
info
(
"快速登陆-发送验证码, phoneNo:{}, registerFrom:{}"
,
phoneNo
,
registerFrom
);
return
sendVerificationCode2
(
phoneNo
,
appName
,
smsMerchant
);
String
randomCode
=
smsIsDebug
?
"0000"
:
RandomStringUtils
.
random
(
4
,
RANDOM_CHARS
);
return
sendVerificationCode2
(
phoneNo
,
randomCode
,
appName
,
smsMerchant
);
}
/**
...
...
@@ -162,7 +169,8 @@ public class SmsController implements IBaseController {
@RequestParam
(
required
=
false
,
defaultValue
=
""
)
String
appName
,
@RequestParam
(
required
=
false
)
String
smsMerchant
)
{
LOGGER
.
info
(
"快速注册-发送验证码, phoneNo:{}, registerFrom:{}"
,
phoneNo
,
registerFrom
);
return
sendVerificationCode2
(
phoneNo
,
appName
,
smsMerchant
);
String
randomCode
=
smsIsDebug
?
"0000"
:
RandomStringUtils
.
random
(
4
,
RANDOM_CHARS
);
return
sendVerificationCode2
(
phoneNo
,
randomCode
,
appName
,
smsMerchant
);
}
/**
...
...
@@ -173,7 +181,7 @@ public class SmsController implements IBaseController {
* @param smsMerchant - 短信模板/类型
* @return
*/
private
JsonResult
sendVerificationCode2
(
String
phoneNo
,
String
appName
,
String
smsMerchant
)
{
private
JsonResult
sendVerificationCode2
(
String
phoneNo
,
String
randomCode
,
String
appName
,
String
smsMerchant
)
{
if
(!
ValidationUtil
.
validatePhoneNo
(
phoneNo
))
{
return
JsonResult
.
buildErrorStateResult
(
"手机号格式有误"
,
null
);
}
...
...
@@ -183,7 +191,6 @@ public class SmsController implements IBaseController {
if
(
expire
>=
EXPIRE_MINUTES
-
1
)
{
return
JsonResult
.
buildErrorStateResult
(
"1分钟内不能重复获取验证码"
,
null
);
}
String
randomCode
=
smsIsDebug
?
"0000"
:
String
.
valueOf
(
random
.
nextInt
(
8999
)
+
1000
);
String
uniqueId
=
phoneNo
+
UUID
.
randomUUID
().
toString
().
replaceAll
(
"-"
,
""
);
List
<
String
>
newList
=
new
ArrayList
<>();
newList
.
add
(
randomCode
);
...
...
@@ -211,7 +218,7 @@ public class SmsController implements IBaseController {
}
}
private
JsonResult
sendVerificationCode2Voice
(
String
phoneNo
,
String
usage
)
{
private
JsonResult
sendVerificationCode2Voice
(
String
phoneNo
,
String
randomCode
,
String
usage
)
{
String
verificationCountKey
=
Constants
.
REDIS_VOICE_CODE_COUNT
+
phoneNo
;
Long
getVerificationCount
=
redisTemplate
.
opsForHash
().
increment
(
verificationCountKey
,
usage
,
1
);
redisTemplate
.
expire
(
verificationCountKey
,
DateUtils
.
getSeconds
(),
TimeUnit
.
SECONDS
);
...
...
@@ -227,7 +234,6 @@ public class SmsController implements IBaseController {
if
(
expire
>=
EXPIRE_MINUTES
-
1
)
{
return
JsonResult
.
buildErrorStateResult
(
"1分钟内不能重复获取验证码"
,
null
);
}
String
randomCode
=
smsIsDebug
?
"0000"
:
String
.
valueOf
(
random
.
nextInt
(
8999
)
+
1000
);
String
uniqueId
=
phoneNo
+
UUID
.
randomUUID
().
toString
().
replaceAll
(
"-"
,
""
);
MsgParams
message
=
new
MsgParams
(
Collections
.
singletonList
(
4
),
phoneNo
,
"1"
,
"4"
,
Collections
.
singletonList
(
randomCode
),
uniqueId
);
try
{
...
...
@@ -254,7 +260,8 @@ public class SmsController implements IBaseController {
}
LOGGER
.
info
(
"快速登陆-发送验证码, phoneNo:{}, registerFrom:{}"
,
phoneNo
,
registerFrom
);
return
sendVerificationCode2VoiceNew
(
phoneNo
,
usage
,
deviceId
);
String
randomCode
=
smsIsDebug
?
"0000"
:
RandomStringUtils
.
random
(
4
,
RANDOM_CHARS
);
return
sendVerificationCode2VoiceNew
(
phoneNo
,
randomCode
,
usage
,
deviceId
);
}
/**
...
...
@@ -274,7 +281,8 @@ public class SmsController implements IBaseController {
@RequestParam
(
required
=
false
,
defaultValue
=
""
)
String
appName
,
@RequestParam
(
required
=
false
)
String
smsMerchant
)
{
LOGGER
.
info
(
"快速登陆-发送验证码, phoneNo:{}, registerFrom:{}"
,
phoneNo
,
registerFrom
);
return
sendVerificationCode2New
(
phoneNo
,
deviceId
,
true
,
appName
,
smsMerchant
);
String
randomCode
=
smsIsDebug
?
"0000"
:
RandomStringUtils
.
random
(
4
,
RANDOM_CHARS
);
return
sendVerificationCode2New
(
phoneNo
,
randomCode
,
deviceId
,
true
,
appName
,
smsMerchant
);
}
/**
...
...
@@ -294,7 +302,29 @@ public class SmsController implements IBaseController {
@RequestParam
(
required
=
false
,
defaultValue
=
""
)
String
appName
,
@RequestParam
(
required
=
false
)
String
smsMerchant
)
{
LOGGER
.
info
(
"快速登陆-发送验证码, phoneNo:{}, registerFrom:{}"
,
phoneNo
,
registerFrom
);
return
sendVerificationCode2New
(
phoneNo
,
deviceId
,
false
,
appName
,
smsMerchant
);
String
randomCode
=
smsIsDebug
?
"0000"
:
RandomStringUtils
.
random
(
4
,
RANDOM_CHARS
);
return
sendVerificationCode2New
(
phoneNo
,
randomCode
,
deviceId
,
false
,
appName
,
smsMerchant
);
}
/**
* VCC通用 - 发送短信验证码
*
* @param phoneNo - 手机号
* @param registerFrom -
* @param deviceId -
* @param appName -
* @param smsMerchant - 短信模板/类型
*/
@CaptchaNewValidator
@RequestMapping
(
"/send_vcc_sms_code"
)
public
JsonResult
sendVccSmsCode
(
@RequestParam
String
phoneNo
,
@RequestParam
(
required
=
false
)
String
registerFrom
,
@RequestParam
(
required
=
false
)
String
deviceId
,
@RequestParam
(
required
=
false
,
defaultValue
=
""
)
String
appName
,
@RequestParam
(
required
=
false
)
String
smsMerchant
)
{
LOGGER
.
info
(
"VCC-发送验证码, phoneNo:{}, registerFrom:{}"
,
phoneNo
,
registerFrom
);
String
randomCode
=
smsIsDebug
?
"000000"
:
RandomStringUtils
.
random
(
6
,
RANDOM_CHARS
);
return
sendVerificationCode2New
(
phoneNo
,
randomCode
,
deviceId
,
true
,
appName
,
smsMerchant
);
}
/**
...
...
@@ -307,7 +337,7 @@ public class SmsController implements IBaseController {
* @param smsMerchant - 短信模板/类型
* @return
*/
private
JsonResult
sendVerificationCode2New
(
String
phoneNo
,
String
deviceId
,
boolean
isApp
,
String
appName
,
String
smsMerchant
)
{
private
JsonResult
sendVerificationCode2New
(
String
phoneNo
,
String
randomCode
,
String
deviceId
,
boolean
isApp
,
String
appName
,
String
smsMerchant
)
{
if
(!
ValidationUtil
.
validatePhoneNo
(
phoneNo
))
{
return
JsonResult
.
buildErrorStateResult
(
"手机号格式有误"
,
null
);
}
...
...
@@ -350,7 +380,6 @@ public class SmsController implements IBaseController {
LOGGER
.
info
(
"sendVerificationCode2New1分钟内不能重复获取验证码:phoneNo:{},deviceId:{},ip:{}"
,
phoneNo
,
deviceId
,
clientIp
);
return
JsonResult
.
buildErrorStateResult
(
"1分钟内不能重复获取验证码"
,
null
);
}
String
randomCode
=
smsIsDebug
?
"0000"
:
String
.
valueOf
(
random
.
nextInt
(
8999
)
+
1000
);
String
uniqueId
=
phoneNo
+
UUID
.
randomUUID
().
toString
().
replaceAll
(
"-"
,
""
);
List
<
String
>
newList
=
new
ArrayList
<>();
newList
.
add
(
randomCode
);
...
...
@@ -383,7 +412,7 @@ public class SmsController implements IBaseController {
/**
* 新版本语音验证码
*/
private
JsonResult
sendVerificationCode2VoiceNew
(
String
phoneNo
,
String
usage
,
String
deviceId
)
{
private
JsonResult
sendVerificationCode2VoiceNew
(
String
phoneNo
,
String
randomCode
,
String
usage
,
String
deviceId
)
{
if
(!
ValidationUtil
.
validatePhoneNo
(
phoneNo
))
{
return
JsonResult
.
buildErrorStateResult
(
"手机号格式有误"
,
null
);
}
...
...
@@ -431,7 +460,6 @@ public class SmsController implements IBaseController {
if
(
expire
>=
EXPIRE_MINUTES
-
1
)
{
return
JsonResult
.
buildErrorStateResult
(
"1分钟内不能重复获取验证码"
,
null
);
}
String
randomCode
=
smsIsDebug
?
"0000"
:
String
.
valueOf
(
random
.
nextInt
(
8999
)
+
1000
);
String
uniqueId
=
phoneNo
+
UUID
.
randomUUID
().
toString
().
replaceAll
(
"-"
,
""
);
MsgParams
message
=
new
MsgParams
(
Collections
.
singletonList
(
4
),
phoneNo
,
"1"
,
"4"
,
Collections
.
singletonList
(
randomCode
),
uniqueId
);
try
{
...
...
src/test/java/common/TestJdk8.java
View file @
8e9689a7
...
...
@@ -2,12 +2,14 @@ package common;
import
java.util.Arrays
;
import
java.util.List
;
import
java.util.Random
;
import
java.util.UUID
;
import
java.util.stream.Collectors
;
import
cn.quantgroup.xyqb.Constants
;
import
cn.quantgroup.xyqb.util.AESUtil
;
import
lombok.extern.slf4j.Slf4j
;
import
org.apache.commons.lang.RandomStringUtils
;
import
org.junit.Assert
;
import
org.junit.Test
;
import
org.junit.runner.RunWith
;
...
...
@@ -18,6 +20,7 @@ import cn.quantgroup.xyqb.util.ValidationUtil;
@Slf4j
@RunWith
(
JUnit4
.
class
)
public
class
TestJdk8
{
final
static
String
RANDOM_CHARS
=
"0123456789"
;
@Test
public
void
testString
()
{
...
...
@@ -46,4 +49,11 @@ public class TestJdk8 {
log
.
info
(
"uuid:{}"
,
uuid
);
}
@Test
public
void
random
()
{
for
(
int
i
=
0
;
i
<
10
;
i
++){
log
.
info
(
"{}-random:{}"
,
i
,
RandomStringUtils
.
random
(
6
,
RANDOM_CHARS
));
}
}
}
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