Skip to content
Projects
Groups
Snippets
Help
Loading...
Sign in
Toggle navigation
B
browser-backend
Project
Project
Details
Activity
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
Administrator
browser-backend
Commits
248b4d9d
Commit
248b4d9d
authored
Aug 19, 2024
by
chenchao.deng
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
发送验证码 +注册流程优化
parent
2ab6089f
Hide whitespace changes
Inline
Side-by-side
Showing
7 changed files
with
54 additions
and
13 deletions
+54
-13
AccountController.java
.../browserbackend/account/controller/AccountController.java
+13
-0
AccountService.java
.../edgec/browserbackend/account/service/AccountService.java
+1
-0
SmsUtils.java
...va/com/edgec/browserbackend/account/service/SmsUtils.java
+20
-3
AccountServiceImpl.java
...owserbackend/account/service/impl/AccountServiceImpl.java
+13
-4
WebSecurityConfig.java
...m/edgec/browserbackend/auth/config/WebSecurityConfig.java
+1
-1
SmsUtils.java
...m/edgec/browserbackend/common/commons/utils/SmsUtils.java
+5
-5
BrowserBackendApplicationTests.java
.../edgec/browserbackend/BrowserBackendApplicationTests.java
+1
-0
No files found.
src/main/java/com/edgec/browserbackend/account/controller/AccountController.java
View file @
248b4d9d
...
@@ -116,6 +116,19 @@ public class AccountController {
...
@@ -116,6 +116,19 @@ public class AccountController {
return
resultDto
;
return
resultDto
;
}
}
@RequestMapping
(
path
=
"/resetAuthCode"
,
method
=
RequestMethod
.
POST
)
public
ResultDto
resetAuthCode
(
@RequestBody
MobileDto
mobile
)
{
ResultDto
resultDto
=
new
ResultDto
();
try
{
accountService
.
sendSmsOtpReset
(
mobile
.
getMobile
());
resultDto
.
setStatus
(
0
);
}
catch
(
ClientRequestException
e
)
{
logger
.
error
(
"fail to send sms"
,
e
);
dealClientRequestException
(
resultDto
,
e
);
}
return
resultDto
;
}
/**
/**
* 用户注册
* 用户注册
*/
*/
...
...
src/main/java/com/edgec/browserbackend/account/service/AccountService.java
View file @
248b4d9d
...
@@ -112,4 +112,5 @@ public interface AccountService {
...
@@ -112,4 +112,5 @@ public interface AccountService {
boolean
setAuthorize
(
String
username
,
boolean
isAgree
);
boolean
setAuthorize
(
String
username
,
boolean
isAgree
);
void
sendSmsOtpReset
(
String
mobile
);
}
}
src/main/java/com/edgec/browserbackend/account/service/SmsUtils.java
View file @
248b4d9d
...
@@ -19,12 +19,29 @@ public class SmsUtils {
...
@@ -19,12 +19,29 @@ public class SmsUtils {
private
static
final
int
TIME_OUT
=
10
*
60
;
//10minues
private
static
final
int
TIME_OUT
=
10
*
60
;
//10minues
public
enum
SmsTemplateCode
{
NEWACCOUNT
(
"SMS_472080002"
),
RESETACCOUNT
(
"SMS_471765248"
);
;
String
code
;
SmsTemplateCode
(
String
code
)
{
this
.
code
=
code
;
}
public
String
getCode
()
{
return
code
;
}
}
/**
/**
* Generate and send the SMS one time password to user's phone with SMS.
* Generate and send the SMS one time password to user's phone with SMS.
*
*
* @param phone
* @param phone
*/
*/
public
static
String
sendSmsOTP
(
String
phone
)
{
public
static
String
sendSmsOTP
(
String
phone
,
SmsTemplateCode
smsTemplateCode
)
{
String
randomCode
=
createRandom
(
true
,
6
);
String
randomCode
=
createRandom
(
true
,
6
);
DefaultProfile
profile
=
DefaultProfile
.
getProfile
(
"default"
,
"LTAI5tEdz1DY4A4oYUawUuNH"
,
"8KWmYgO0QIicZpyulhEwUhZqStrTwe"
);
DefaultProfile
profile
=
DefaultProfile
.
getProfile
(
"default"
,
"LTAI5tEdz1DY4A4oYUawUuNH"
,
"8KWmYgO0QIicZpyulhEwUhZqStrTwe"
);
IAcsClient
client
=
new
DefaultAcsClient
(
profile
);
IAcsClient
client
=
new
DefaultAcsClient
(
profile
);
...
@@ -35,9 +52,9 @@ public class SmsUtils {
...
@@ -35,9 +52,9 @@ public class SmsUtils {
request
.
setDomain
(
"dysmsapi.aliyuncs.com"
);
request
.
setDomain
(
"dysmsapi.aliyuncs.com"
);
request
.
setVersion
(
"2017-05-25"
);
request
.
setVersion
(
"2017-05-25"
);
request
.
setAction
(
"SendSms"
);
request
.
setAction
(
"SendSms"
);
request
.
putQueryParameter
(
"SignName"
,
"
深圳北鲲云计算有限公司
"
);
request
.
putQueryParameter
(
"SignName"
,
"
无界超级浏览器
"
);
request
.
putQueryParameter
(
"PhoneNumbers"
,
phone
);
request
.
putQueryParameter
(
"PhoneNumbers"
,
phone
);
request
.
putQueryParameter
(
"TemplateCode"
,
"SMS_471410139"
);
request
.
putQueryParameter
(
"TemplateCode"
,
smsTemplateCode
.
getCode
()
);
request
.
putQueryParameter
(
"TemplateParam"
,
"{\"code\":\""
+
randomCode
+
"\"}"
);
request
.
putQueryParameter
(
"TemplateParam"
,
"{\"code\":\""
+
randomCode
+
"\"}"
);
try
{
try
{
CommonResponse
response
=
client
.
getCommonResponse
(
request
);
CommonResponse
response
=
client
.
getCommonResponse
(
request
);
...
...
src/main/java/com/edgec/browserbackend/account/service/impl/AccountServiceImpl.java
View file @
248b4d9d
...
@@ -9,6 +9,7 @@ import com.edgec.browserbackend.account.service.AccountService;
...
@@ -9,6 +9,7 @@ import com.edgec.browserbackend.account.service.AccountService;
import
com.edgec.browserbackend.account.service.EmailService
;
import
com.edgec.browserbackend.account.service.EmailService
;
import
com.edgec.browserbackend.account.service.PaymentService
;
import
com.edgec.browserbackend.account.service.PaymentService
;
import
com.edgec.browserbackend.account.service.SmsUtils
;
import
com.edgec.browserbackend.account.service.SmsUtils
;
import
com.edgec.browserbackend.account.service.SmsUtils.SmsTemplateCode
;
import
com.edgec.browserbackend.account.utils.AccountServicePool
;
import
com.edgec.browserbackend.account.utils.AccountServicePool
;
import
com.edgec.browserbackend.auth.exception.AuthErrorCode
;
import
com.edgec.browserbackend.auth.exception.AuthErrorCode
;
import
com.edgec.browserbackend.auth.service.UserService
;
import
com.edgec.browserbackend.auth.service.UserService
;
...
@@ -427,9 +428,7 @@ public class AccountServiceImpl implements AccountService {
...
@@ -427,9 +428,7 @@ public class AccountServiceImpl implements AccountService {
// 1. 校验注册用户是否已存在
// 1. 校验注册用户是否已存在
Account
existing1
=
accountRepository
.
findByName
(
user
.
getUsername
()).
orElse
(
null
);
Account
existing1
=
accountRepository
.
findByName
(
user
.
getUsername
()).
orElse
(
null
);
Account
existing2
=
accountRepository
.
findOneByPhoneNumber
(
user
.
getUsername
());
Account
existing2
=
accountRepository
.
findOneByPhoneNumber
(
user
.
getUsername
());
Account
existing3
=
accountRepository
.
findOneByPhoneNumber
(
user
.
getPhone
());
if
(
existing1
!=
null
||
existing2
!=
null
)
{
Account
existing4
=
accountRepository
.
findByName
(
user
.
getPhone
()).
orElse
(
null
);
if
(
existing1
!=
null
||
existing2
!=
null
||
existing3
!=
null
||
existing4
!=
null
)
{
throw
new
ClientRequestException
(
AccountErrorCode
.
NAMEEXIST
,
"account already exists: "
+
user
.
getUsername
());
throw
new
ClientRequestException
(
AccountErrorCode
.
NAMEEXIST
,
"account already exists: "
+
user
.
getUsername
());
}
}
...
@@ -913,7 +912,7 @@ public class AccountServiceImpl implements AccountService {
...
@@ -913,7 +912,7 @@ public class AccountServiceImpl implements AccountService {
@Override
@Override
public
void
sendSmsOtp
(
String
phone
)
{
public
void
sendSmsOtp
(
String
phone
)
{
String
code
=
com
.
edgec
.
browserbackend
.
account
.
service
.
SmsUtils
.
sendSmsOTP
(
phone
);
String
code
=
SmsUtils
.
sendSmsOTP
(
phone
,
SmsTemplateCode
.
NEWACCOUNT
);
Otp
otp
=
new
Otp
();
Otp
otp
=
new
Otp
();
otp
.
setPhone
(
phone
);
otp
.
setPhone
(
phone
);
otp
.
setOtp
(
code
);
otp
.
setOtp
(
code
);
...
@@ -1165,6 +1164,16 @@ public class AccountServiceImpl implements AccountService {
...
@@ -1165,6 +1164,16 @@ public class AccountServiceImpl implements AccountService {
}
}
}
}
@Override
public
void
sendSmsOtpReset
(
String
phone
)
{
String
code
=
com
.
edgec
.
browserbackend
.
account
.
service
.
SmsUtils
.
sendSmsOTP
(
phone
,
SmsTemplateCode
.
RESETACCOUNT
);
Otp
otp
=
new
Otp
();
otp
.
setPhone
(
phone
);
otp
.
setOtp
(
code
);
otp
.
setCreatedAt
(
Instant
.
now
().
toEpochMilli
());
otpRepository
.
save
(
otp
);
}
private
void
notifyCustomerRegister
(
Account
contactUs
)
{
private
void
notifyCustomerRegister
(
Account
contactUs
)
{
StringBuilder
sb
=
new
StringBuilder
();
StringBuilder
sb
=
new
StringBuilder
();
sb
.
append
(
"Name: "
+
contactUs
.
getName
()
+
"<br/>"
);
sb
.
append
(
"Name: "
+
contactUs
.
getName
()
+
"<br/>"
);
...
...
src/main/java/com/edgec/browserbackend/auth/config/WebSecurityConfig.java
View file @
248b4d9d
...
@@ -33,7 +33,7 @@ public class WebSecurityConfig extends WebSecurityConfigurerAdapter {
...
@@ -33,7 +33,7 @@ public class WebSecurityConfig extends WebSecurityConfigurerAdapter {
@Override
@Override
public
void
configure
(
WebSecurity
web
)
throws
Exception
{
public
void
configure
(
WebSecurity
web
)
throws
Exception
{
web
.
ignoring
()
web
.
ignoring
()
.
antMatchers
(
"/user/authCode"
,
"/user/signUp"
,
.
antMatchers
(
"/user/authCode"
,
"/user/signUp"
,
"/user/resetAuthCode"
,
"/user/forgot**"
,
"/0xadministrator/getconfig**"
);
"/user/forgot**"
,
"/0xadministrator/getconfig**"
);
}
}
...
...
src/main/java/com/edgec/browserbackend/common/commons/utils/SmsUtils.java
View file @
248b4d9d
...
@@ -26,8 +26,8 @@ public class SmsUtils {
...
@@ -26,8 +26,8 @@ public class SmsUtils {
CLOUDAM_ARREARS
(
"SMS_174805285"
),
CLOUDAM_ARREARS
(
"SMS_174805285"
),
AUTHCODE
(
"SMS_185841618"
),
AUTHCODE
(
"SMS_185841618"
),
IPWILLEXPIRE_EXPIRE
(
"SMS_
185821567
"
),
IPWILLEXPIRE_EXPIRE
(
"SMS_
472140001
"
),
IPEXPIRED
(
"SMS_
185841667
"
),
IPEXPIRED
(
"SMS_
472140001
"
),
NEWACCOUNT
(
"SMS_187750800"
);
NEWACCOUNT
(
"SMS_187750800"
);
;
;
...
@@ -99,7 +99,7 @@ public class SmsUtils {
...
@@ -99,7 +99,7 @@ public class SmsUtils {
request
.
setVersion
(
"2017-05-25"
);
request
.
setVersion
(
"2017-05-25"
);
request
.
setAction
(
"SendSms"
);
request
.
setAction
(
"SendSms"
);
request
.
putQueryParameter
(
"PhoneNumbers"
,
phoneNum
);
request
.
putQueryParameter
(
"PhoneNumbers"
,
phoneNum
);
request
.
putQueryParameter
(
"SignName"
,
"
防关联
浏览器"
);
request
.
putQueryParameter
(
"SignName"
,
"
无界超级
浏览器"
);
request
.
putQueryParameter
(
"TemplateCode"
,
smsTemplateCode
.
getCode
());
request
.
putQueryParameter
(
"TemplateCode"
,
smsTemplateCode
.
getCode
());
request
.
putQueryParameter
(
"TemplateParam"
,
param
.
toJSONString
());
request
.
putQueryParameter
(
"TemplateParam"
,
param
.
toJSONString
());
try
{
try
{
...
@@ -122,9 +122,9 @@ public class SmsUtils {
...
@@ -122,9 +122,9 @@ public class SmsUtils {
request
.
setVersion
(
"2017-05-25"
);
request
.
setVersion
(
"2017-05-25"
);
request
.
setAction
(
"SendSms"
);
request
.
setAction
(
"SendSms"
);
request
.
putQueryParameter
(
"PhoneNumbers"
,
phoneNum
);
request
.
putQueryParameter
(
"PhoneNumbers"
,
phoneNum
);
request
.
putQueryParameter
(
"SignName"
,
"
防关联
浏览器"
);
request
.
putQueryParameter
(
"SignName"
,
"
无界超级
浏览器"
);
request
.
putQueryParameter
(
"TemplateCode"
,
smsTemplateCode
.
getCode
());
request
.
putQueryParameter
(
"TemplateCode"
,
smsTemplateCode
.
getCode
());
request
.
putQueryParameter
(
"TemplateParam"
,
param
.
toJSONString
());
//
request.putQueryParameter("TemplateParam", param.toJSONString());
try
{
try
{
CommonResponse
response
=
iAcsClient
.
getCommonResponse
(
request
);
CommonResponse
response
=
iAcsClient
.
getCommonResponse
(
request
);
if
(
response
.
getHttpStatus
()
==
200
&&
response
.
getData
().
contains
(
"OK"
))
{
if
(
response
.
getHttpStatus
()
==
200
&&
response
.
getData
().
contains
(
"OK"
))
{
...
...
src/test/java/com/edgec/browserbackend/BrowserBackendApplicationTests.java
View file @
248b4d9d
...
@@ -53,6 +53,7 @@ class BrowserBackendApplicationTests {
...
@@ -53,6 +53,7 @@ class BrowserBackendApplicationTests {
@Test
@Test
void
test3
()
throws
Exception
{
void
test3
()
throws
Exception
{
//SmsUtils.sendSmsOTP("18711016574");
JSONObject
param
=
new
JSONObject
();
JSONObject
param
=
new
JSONObject
();
param
.
put
(
"day"
,
"7"
);
param
.
put
(
"day"
,
"7"
);
param
.
put
(
"amount"
,
"5"
);
param
.
put
(
"amount"
,
"5"
);
...
...
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