Skip to content
Projects
Groups
Snippets
Help
Loading...
Sign in / Register
Toggle navigation
D
data-server
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
licc
data-server
Commits
f0958551
Commit
f0958551
authored
Mar 01, 2021
by
m1991
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
各种工具类
parent
627c6c38
Expand all
Show whitespace changes
Inline
Side-by-side
Showing
32 changed files
with
2616 additions
and
171 deletions
+2616
-171
Constants.java
...on/src/main/java/cn/wisenergy/common/utils/Constants.java
+73
-0
RedisUtil.java
...on/src/main/java/cn/wisenergy/common/utils/RedisUtil.java
+0
-88
RedisUtils.java
...n/src/main/java/cn/wisenergy/common/utils/RedisUtils.java
+459
-0
SpringUtils.java
.../src/main/java/cn/wisenergy/common/utils/SpringUtils.java
+0
-72
StringUtil.java
...n/src/main/java/cn/wisenergy/common/utils/StringUtil.java
+206
-1
SmsLogMapper.java
...apper/src/main/java/cn/wisenergy/mapper/SmsLogMapper.java
+26
-0
SmsLogMapper.xml
wisenergy-mapper/src/main/resources/mapper/SmsLogMapper.xml
+193
-0
Page.java
...ergy-model/src/main/java/cn/wisenergy/model/app/Page.java
+132
-0
SmsLog.java
...gy-model/src/main/java/cn/wisenergy/model/app/SmsLog.java
+99
-0
SmsLogService.java
...src/main/java/cn/wisenergy/service/app/SmsLogService.java
+17
-0
SmsLogServiceImpl.java
...java/cn/wisenergy/service/app/impl/SmsLogServiceImpl.java
+72
-0
pom.xml
wisenergy-web-admin/pom.xml
+22
-0
Application.java
...rgy-web-admin/src/main/java/cn/wisenergy/Application.java
+1
-0
GlobalConversConfiguration.java
...a/cn/wisenergy/web/config/GlobalConversConfiguration.java
+43
-0
SmsConfig.java
...dmin/src/main/java/cn/wisenergy/web/config/SmsConfig.java
+73
-0
BaseException.java
...min/src/main/java/cn/wisenergy/web/sms/BaseException.java
+58
-0
Constants.java
...b-admin/src/main/java/cn/wisenergy/web/sms/Constants.java
+73
-0
MathUtils.java
...b-admin/src/main/java/cn/wisenergy/web/sms/MathUtils.java
+44
-0
Page.java
...gy-web-admin/src/main/java/cn/wisenergy/web/sms/Page.java
+132
-0
ResponseOutput.java
...in/src/main/java/cn/wisenergy/web/sms/ResponseOutput.java
+54
-0
Result.java
...-web-admin/src/main/java/cn/wisenergy/web/sms/Result.java
+78
-0
ResultEnum.java
...-admin/src/main/java/cn/wisenergy/web/sms/ResultEnum.java
+64
-0
ResultUtils.java
...admin/src/main/java/cn/wisenergy/web/sms/ResultUtils.java
+84
-0
SmsController.java
...min/src/main/java/cn/wisenergy/web/sms/SmsController.java
+42
-0
SmsLog.java
...-web-admin/src/main/java/cn/wisenergy/web/sms/SmsLog.java
+120
-0
SmsUtils.java
...eb-admin/src/main/java/cn/wisenergy/web/sms/SmsUtils.java
+60
-0
TestController.java
...in/src/main/java/cn/wisenergy/web/sms/TestController.java
+57
-0
UrlUtils.java
...eb-admin/src/main/java/cn/wisenergy/web/sms/UrlUtils.java
+58
-0
ExceptionInterceptor.java
...n/wisenergy/web/sms/interceptor/ExceptionInterceptor.java
+53
-0
LoginInterceptor.java
...va/cn/wisenergy/web/sms/interceptor/LoginInterceptor.java
+111
-0
ValidateParamInterceptor.java
...senergy/web/sms/interceptor/ValidateParamInterceptor.java
+76
-0
application-dev.yml
wisenergy-web-admin/src/main/resources/application-dev.yml
+36
-10
No files found.
wisenergy-common/src/main/java/cn/wisenergy/common/utils/Constants.java
0 → 100644
View file @
f0958551
package
cn
.
wisenergy
.
common
.
utils
;
/***
* 系统中保存的一些常量
*/
/**
* Created by m1991 on 2021/2/28 22:50
*/
public
class
Constants
{
//通用常量
public
static
class
Common
{
//否
public
final
static
Integer
NOT
=
0
;
//是
public
final
static
Integer
YES
=
1
;
//女
public
final
static
Integer
SEX_WOMEN
=
0
;
//男
public
final
static
Integer
SEX_MAN
=
1
;
//数据精度
public
final
static
Integer
DECIMAL_DIGITS
=
2
;
}
//访问来源
public
static
class
SourceType
{
//访问来源-APP
public
final
static
Integer
APP
=
0
;
//访问来源-PC
public
final
static
Integer
PC
=
1
;
}
//连接符
public
static
class
Connnector
{
//逗号
public
final
static
String
COMMA_
=
","
;
//下划线
public
final
static
String
UNDERLINE
=
"_"
;
//冒号
public
final
static
String
COLON
=
":"
;
}
//时长
public
static
class
Duration
{
//一秒
public
final
static
Integer
SECOND_INT
=
1
;
//一分钟
public
final
static
Integer
MINUTE_INT
=
SECOND_INT
*
60
;
//半小时
public
final
static
Integer
HALF_HOUR_INT
=
MINUTE_INT
*
30
;
}
//正则的一些常量
public
static
class
RegConstant
{
//手机号正则
public
static
String
PHONE_REGSTR
=
"^[1][0-9]{10}$"
;
//密码正则
public
static
String
PASSWORD_REGSTR
=
"^([A-Z]|[a-z]|[0-9]|[_]){6,10}$"
;
}
//SMS相关常量
public
static
class
Sms
{
public
static
class
TemplateCode
{
public
static
String
LOGIN_OR_REGISTER
=
"SMS_197895260"
;
}
public
static
class
CodeType
{
public
static
Integer
LOGIN_OR_REGISTER
=
0
;
public
static
Integer
PASS_UPDATE
=
1
;
public
static
Integer
ORDER_NOTICE
=
2
;
}
}
//RedisKey相关的常量
public
static
class
RedisKey
{
public
static
String
PROJECT_PRIFIX
=
"xts"
;
public
static
String
SMS_PRIFIX
=
"sms"
;
public
static
String
TOKEN_PRIFIX
=
"token"
;
}
}
wisenergy-common/src/main/java/cn/wisenergy/common/utils/RedisUtil.java
deleted
100644 → 0
View file @
627c6c38
package
cn
.
wisenergy
.
common
.
utils
;
import
com.alibaba.fastjson.JSON
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.data.redis.core.*
;
import
org.springframework.stereotype.Component
;
import
java.util.concurrent.TimeUnit
;
/**
* Redis工具类
*
*/
@Component
public
class
RedisUtil
{
@Autowired
private
RedisTemplate
<
String
,
Object
>
redisTemplate
;
@Autowired
private
ValueOperations
<
String
,
String
>
valueOperations
;
@Autowired
private
HashOperations
<
String
,
String
,
Object
>
hashOperations
;
@Autowired
private
ListOperations
<
String
,
Object
>
listOperations
;
@Autowired
private
SetOperations
<
String
,
Object
>
setOperations
;
@Autowired
private
ZSetOperations
<
String
,
Object
>
zSetOperations
;
/** 不设置过期时长 */
public
final
static
long
NOT_EXPIRE
=
-
1
;
public
void
set
(
String
key
,
Object
value
){
set
(
key
,
value
);
}
public
void
set
(
String
key
,
Object
value
,
long
expire
){
valueOperations
.
set
(
key
,
toJson
(
value
),
expire
,
TimeUnit
.
SECONDS
);
}
public
void
set
(
String
key
,
Object
value
,
long
expire
,
TimeUnit
var5
){
valueOperations
.
set
(
key
,
toJson
(
value
),
expire
,
var5
);
}
public
<
T
>
T
get
(
String
key
,
Class
<
T
>
clazz
,
long
expire
)
{
String
value
=
valueOperations
.
get
(
key
);
if
(
expire
!=
NOT_EXPIRE
){
redisTemplate
.
expire
(
key
,
expire
,
TimeUnit
.
SECONDS
);
}
return
value
==
null
?
null
:
fromJson
(
value
,
clazz
);
}
public
<
T
>
T
get
(
String
key
,
Class
<
T
>
clazz
)
{
return
get
(
key
,
clazz
,
NOT_EXPIRE
);
}
public
String
get
(
String
key
,
long
expire
)
{
String
value
=
valueOperations
.
get
(
key
);
if
(
expire
!=
NOT_EXPIRE
){
redisTemplate
.
expire
(
key
,
expire
,
TimeUnit
.
SECONDS
);
}
return
value
;
}
public
String
get
(
String
key
)
{
return
get
(
key
,
NOT_EXPIRE
);
}
public
Boolean
delete
(
String
key
)
{
return
redisTemplate
.
delete
(
key
);
}
/**
* Object转成JSON数据
*/
private
String
toJson
(
Object
object
){
if
(
object
instanceof
Integer
||
object
instanceof
Long
||
object
instanceof
Float
||
object
instanceof
Double
||
object
instanceof
Boolean
||
object
instanceof
String
){
return
String
.
valueOf
(
object
);
}
return
JSON
.
toJSONString
(
object
);
}
/**
* JSON数据,转成Object
*/
private
<
T
>
T
fromJson
(
String
json
,
Class
<
T
>
clazz
){
return
JSON
.
parseObject
(
json
,
clazz
);
}
}
wisenergy-common/src/main/java/cn/wisenergy/common/utils/RedisUtils.java
0 → 100644
View file @
f0958551
This diff is collapsed.
Click to expand it.
wisenergy-common/src/main/java/cn/wisenergy/common/utils/SpringUtils.java
deleted
100644 → 0
View file @
627c6c38
package
cn
.
wisenergy
.
common
.
utils
;
import
org.springframework.beans.factory.DisposableBean
;
import
org.springframework.context.ApplicationContext
;
import
org.springframework.context.ApplicationContextAware
;
import
org.springframework.context.annotation.Lazy
;
import
org.springframework.stereotype.Component
;
import
org.springframework.util.Assert
;
@Component
(
"springUtils"
)
@Lazy
(
false
)
public
final
class
SpringUtils
implements
ApplicationContextAware
,
DisposableBean
{
/**
* applicationContext
*/
private
static
ApplicationContext
applicationContext
;
/**
* 不可实例化
*/
private
SpringUtils
()
{
}
public
void
setApplicationContext
(
ApplicationContext
applicationContext
)
{
SpringUtils
.
applicationContext
=
applicationContext
;
}
public
void
destroy
()
throws
Exception
{
applicationContext
=
null
;
}
/**
* 获取applicationContext
*
* @return applicationContext
*/
public
static
ApplicationContext
getApplicationContext
()
{
return
applicationContext
;
}
/**
* 获取实例
*
* @param name
* Bean名称
* @return 实例
*/
@SuppressWarnings
(
"deprecation"
)
public
static
Object
getBean
(
String
name
)
{
Assert
.
hasText
(
name
);
return
applicationContext
.
getBean
(
name
);
}
/**
* 获取实例
*
* @param name
* Bean名称
* @param type
* Bean类型
* @return 实例
*/
@SuppressWarnings
(
"deprecation"
)
public
static
<
T
>
T
getBean
(
String
name
,
Class
<
T
>
type
)
{
Assert
.
hasText
(
name
);
Assert
.
notNull
(
type
);
return
applicationContext
.
getBean
(
name
,
type
);
}
}
wisenergy-common/src/main/java/cn/wisenergy/common/utils/StringUtil.java
View file @
f0958551
...
@@ -10,10 +10,25 @@ import java.util.ArrayList;
...
@@ -10,10 +10,25 @@ import java.util.ArrayList;
import
java.util.Date
;
import
java.util.Date
;
import
java.util.List
;
import
java.util.List
;
import
org.springframework.beans.BeansException
;
import
org.springframework.beans.factory.DisposableBean
;
import
org.springframework.context.ApplicationContext
;
import
org.springframework.context.ApplicationContextAware
;
import
org.springframework.context.annotation.Lazy
;
import
org.springframework.stereotype.Component
;
import
org.springframework.util.Assert
;
import
java.util.*
;
/**
/**
* 字符串工具类
* 字符串工具类
*/
*/
public
class
StringUtil
{
@Component
(
"springUtils"
)
@Lazy
(
false
)
public
final
class
StringUtil
implements
ApplicationContextAware
,
DisposableBean
{
/**
/**
* String转为Integer
* String转为Integer
...
@@ -562,4 +577,194 @@ public class StringUtil {
...
@@ -562,4 +577,194 @@ public class StringUtil {
}
}
return
result
;
return
result
;
}
}
/**
* applicationContext
*/
private
static
ApplicationContext
applicationContext
;
// public static void setApplicationContext(ApplicationContext applicationContext) {
// StringUtil.applicationContext = applicationContext;
// }
/**
* 不可实例化
*/
private
StringUtil
()
{
}
// public void setApplicationContext(ApplicationContext applicationContext) {
// SpringUtils.applicationContext = applicationContext;
// }
public
void
destroy
()
throws
Exception
{
applicationContext
=
null
;
}
/**
* 获取applicationContext
*
* @return applicationContext
*/
public
static
ApplicationContext
getApplicationContext
()
{
return
applicationContext
;
}
/**
* 获取实例
*
* @param name
* Bean名称
* @return 实例
*/
@SuppressWarnings
(
"deprecation"
)
public
static
Object
getBean
(
String
name
)
{
Assert
.
hasText
(
name
);
return
applicationContext
.
getBean
(
name
);
}
/**
* 获取实例
*
* @param name
* Bean名称
* @param type
* Bean类型
* @return 实例
*/
@SuppressWarnings
(
"deprecation"
)
public
static
<
T
>
T
getBean
(
String
name
,
Class
<
T
>
type
)
{
Assert
.
hasText
(
name
);
Assert
.
notNull
(
type
);
return
applicationContext
.
getBean
(
name
,
type
);
}
/**
* 根据传入的字符串和切割方式返回一个Long的集合
* @param s
* @param cut
* @return
*/
public
static
Set
<
Long
>
string2LongSet
(
String
s
,
String
cut
)
{
if
(
StringUtils
.
isBlank
(
s
)
){
return
null
;
}
if
(
StringUtils
.
isBlank
(
cut
)){
cut
=
Constants
.
Connnector
.
COMMA_
;
}
String
s_temp
=
s
.
trim
();
String
[]
arr
=
s_temp
.
split
(
cut
);
Set
<
Long
>
list
=
new
HashSet
<
Long
>();
if
(
arr
==
null
||
arr
.
length
<=
0
){
return
null
;
}
for
(
String
l
:
arr
){
if
(!
StringUtils
.
isBlank
(
l
)){
try
{
list
.
add
(
Long
.
parseLong
(
l
));
}
catch
(
NumberFormatException
e
)
{
e
.
printStackTrace
();
continue
;
}
}
}
return
list
;
}
/**
* 根据传入的字符串和切割方式返回一个object的集合
* @param s
* @param cut
* @return
* @author:
* @date:
*/
public
static
List
<
String
>
string2StringList
(
String
s
,
String
cut
)
{
if
(
StringUtils
.
isBlank
(
s
)){
return
null
;
}
if
(
StringUtils
.
isBlank
(
cut
)){
cut
=
Constants
.
Connnector
.
COMMA_
;
}
String
s_temp
=
s
.
trim
();
String
[]
arr
=
s_temp
.
split
(
cut
);
List
<
String
>
list
=
new
ArrayList
<
String
>();
if
(
arr
==
null
||
arr
.
length
<=
0
){
return
null
;
}
for
(
String
l
:
arr
){
if
(!
StringUtils
.
isBlank
(
l
)){
list
.
add
(
l
);
}
}
return
list
;
}
/**
* 根据出入的参数创建一个key
* @return 如果参数为空,那么返回null
*/
public
static
String
formatKeys
(
String
...
args
){
if
(
args
!=
null
&&
args
.
length
>
0
){
StringBuilder
key
=
new
StringBuilder
();
for
(
String
s:
args
){
key
.
append
(
s
).
append
(
Constants
.
Connnector
.
UNDERLINE
);
}
return
key
.
toString
();
}
return
null
;
}
/**
* 根据出入的参数创建一个Redis key,自动拼接前缀
* @return 如果参数为空,那么返回null
*/
public
static
String
formatKeyWithPrefix
(
String
...
args
){
if
(
args
!=
null
&&
args
.
length
>
0
){
StringBuffer
key
=
new
StringBuffer
(
""
);
for
(
String
s:
args
){
key
.
append
(
s
).
append
(
Constants
.
Connnector
.
COLON
);
}
return
key
.
toString
();
}
return
null
;
}
/**
* Description: 创建一个简单的map对象
* @param key
* @param value
* @return
* @Author
* @since
*/
public
static
Map
<
String
,
Object
>
createSimpleMap
(
String
key
,
Object
value
){
Map
<
String
,
Object
>
conditions
=
null
;
if
(
key
!=
null
&&
!
key
.
equals
(
""
)){
conditions
=
new
HashMap
<
String
,
Object
>();
conditions
.
put
(
key
,
value
);
}
return
conditions
;
}
/***
* 判断字符串是否为空
* @param temp
* @return
*/
public
static
boolean
isBlank
(
String
temp
){
return
StringUtils
.
isBlank
(
temp
);
}
/**
* 返回一个没有中划线的32位字符串
* @return
*/
public
static
String
createToken
(){
return
UUID
.
randomUUID
().
toString
().
replace
(
"-"
,
""
);
}
@Override
public
void
setApplicationContext
(
ApplicationContext
applicationContext
)
throws
BeansException
{
StringUtil
.
applicationContext
=
applicationContext
;
}
}
}
wisenergy-mapper/src/main/java/cn/wisenergy/mapper/SmsLogMapper.java
0 → 100644
View file @
f0958551
package
cn
.
wisenergy
.
mapper
;
import
cn.wisenergy.model.app.SmsLog
;
import
org.apache.ibatis.annotations.Param
;
import
java.util.List
;
import
java.util.Map
;
public
interface
SmsLogMapper
{
public
SmsLog
getSmsLogById
(
@Param
(
value
=
"id"
)
Long
id
);
public
List
<
SmsLog
>
getSmsLogListByMap
(
Map
<
String
,
Object
>
param
);
public
Integer
getSmsLogCountByMap
(
Map
<
String
,
Object
>
param
);
public
Integer
insertSmsLog
(
SmsLog
smsLog
);
public
Integer
updateSmsLog
(
SmsLog
smsLog
);
public
Integer
deleteSmsLogById
(
@Param
(
value
=
"id"
)
Long
id
);
public
Integer
batchDeleteSmsLog
(
Map
<
String
,
List
<
String
>>
params
);
}
wisenergy-mapper/src/main/resources/mapper/SmsLogMapper.xml
0 → 100644
View file @
f0958551
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper
namespace=
"cn.wisenergy.mapper.SmsLogMapper"
>
<select
id=
"getSmsLogById"
resultType=
"cn.wisenergy.model.app.SmsLog"
>
select
id as id,
codeType as codeType,
phone as phone,
message as message,
failInfo as failInfo,
status as status,
createdUserId as createdUserId,
updatedUserId as updatedUserId,
creatdTime as creatdTime,
updatedTime as updatedTime,
isDelete as isDelete
from sms_log
<trim
prefix=
"where"
prefixOverrides=
"and | or"
>
<if
test=
"id != null"
>
and id=#{id}
</if>
</trim>
</select>
<select
id=
"getSmsLogListByMap"
resultType=
"cn.wisenergy.model.app.SmsLog"
parameterType=
"java.util.Map"
>
select
id as id,
codeType as codeType,
phone as phone,
message as message,
failInfo as failInfo,
status as status,
createdUserId as createdUserId,
updatedUserId as updatedUserId,
creatdTime as creatdTime,
updatedTime as updatedTime,
isDelete as isDelete
from sms_log
<trim
prefix=
"where"
prefixOverrides=
"and | or"
>
<if
test=
"id != null"
>
and id=#{id}
</if>
<if
test=
"codeType != null"
>
and codeType=#{codeType}
</if>
<if
test=
"phone != null and phone!=''"
>
and phone=#{phone}
</if>
<if
test=
"message != null and message!=''"
>
and message=#{message}
</if>
<if
test=
"failInfo != null and failInfo!=''"
>
and failInfo=#{failInfo}
</if>
<if
test=
"status != null"
>
and status=#{status}
</if>
<if
test=
"createdUserId != null"
>
and createdUserId=#{createdUserId}
</if>
<if
test=
"updatedUserId != null"
>
and updatedUserId=#{updatedUserId}
</if>
<if
test=
"null!=creatdTime"
>
and creatdTime=#{creatdTime}
</if>
<if
test=
"null!=updatedTime"
>
and updatedTime=#{updatedTime}
</if>
<if
test=
"isDelete != null"
>
and isDelete=#{isDelete}
</if>
</trim>
<if
test=
"beginPos != null and pageSize != null "
>
limit #{beginPos},#{pageSize}
</if>
</select>
<select
id=
"getSmsLogCountByMap"
resultType=
"Integer"
parameterType=
"java.util.Map"
>
select count(*) from sms_log
<trim
prefix=
"where"
prefixOverrides=
"and | or"
>
<if
test=
"id != null"
>
and id=#{id}
</if>
<if
test=
"codeType != null"
>
and codeType=#{codeType}
</if>
<if
test=
"phone != null and phone!=''"
>
and phone=#{phone}
</if>
<if
test=
"message != null and message!=''"
>
and message=#{message}
</if>
<if
test=
"failInfo != null and failInfo!=''"
>
and failInfo=#{failInfo}
</if>
<if
test=
"status != null"
>
and status=#{status}
</if>
<if
test=
"createdUserId != null"
>
and createdUserId=#{createdUserId}
</if>
<if
test=
"updatedUserId != null"
>
and updatedUserId=#{updatedUserId}
</if>
<if
test=
"null!=creatdTime"
>
and creatdTime=#{creatdTime}
</if>
<if
test=
"null!=updatedTime"
>
and updatedTime=#{updatedTime}
</if>
<if
test=
"isDelete != null"
>
and isDelete=#{isDelete}
</if>
</trim>
</select>
<insert
id=
"insertSmsLog"
parameterType=
"cn.wisenergy.model.app.SmsLog"
>
insert into sms_log(
codeType,
phone,
message,
failInfo,
status,
createdUserId,
updatedUserId,
creatdTime,
updatedTime,
isDelete)
values(
#{codeType},
#{phone},
#{message},
#{failInfo},
#{status},
#{createdUserId},
#{updatedUserId},
#{creatdTime},
#{updatedTime},
#{isDelete})
</insert>
<update
id=
"updateSmsLog"
parameterType=
"cn.wisenergy.model.app.SmsLog"
>
update sms_log
<trim
prefix=
"set"
suffixOverrides=
","
suffix=
"where id=#{id}"
>
<if
test=
"codeType != null"
>
codeType=#{codeType},
</if>
<if
test=
"phone != null and phone!=''"
>
phone=#{phone},
</if>
<if
test=
"message != null and message!=''"
>
message=#{message},
</if>
<if
test=
"failInfo != null and failInfo!=''"
>
failInfo=#{failInfo},
</if>
<if
test=
"status != null"
>
status=#{status},
</if>
<if
test=
"createdUserId != null"
>
createdUserId=#{createdUserId},
</if>
<if
test=
"updatedUserId != null"
>
updatedUserId=#{updatedUserId},
</if>
<if
test=
"creatdTime != null"
>
creatdTime=#{creatdTime},
</if>
<if
test=
"updatedTime != null"
>
updatedTime=#{updatedTime},
</if>
<if
test=
"isDelete != null"
>
isDelete=#{isDelete}
</if>
</trim>
</update>
<delete
id=
"deleteSmsLogById"
parameterType=
"String"
>
delete from sms_log where id = #{id}
</delete>
<delete
id=
"batchDeleteSmsLog"
parameterType=
"java.util.Map"
>
delete from sms_log where id in (
<foreach
collection=
"ids"
item=
"id"
separator=
","
>
#{id}
</foreach>
)
</delete>
</mapper>
\ No newline at end of file
wisenergy-model/src/main/java/cn/wisenergy/model/app/Page.java
0 → 100644
View file @
f0958551
package
cn
.
wisenergy
.
model
.
app
;
import
java.io.Serializable
;
import
java.util.ArrayList
;
import
java.util.List
;
/**
* 分页类
* Created by m1991 on 2021/2/28 23:06
*/
public
class
Page
<
T
>
implements
Serializable
{
private
static
final
long
serialVersionUID
=
5294589632707269745L
;
//默认页大小
private
static
int
DEFAULT_PAGE_SIZE
=
20
;
private
static
int
DEFAULT_PAGE_NO
=
1
;
//当前页码
private
int
pageNo
;
/**
* 每页的记录数
*/
private
int
pageSize
=
DEFAULT_PAGE_SIZE
;
/**
* 总记录数
*/
private
Integer
total
;
/**
* 总页数
*/
private
int
pages
;
/**
* 数据
*/
private
List
<
T
>
list
;
//开始位置
private
Integer
beginPos
;
public
Page
(
List
<
T
>
list
)
{
this
.
list
=
list
;
}
public
Page
(
int
pageNo
,
int
pageSize
,
Integer
total
)
{
pageNo
=
(
pageNo
==
0
)?
DEFAULT_PAGE_NO
:
pageNo
;
pageSize
=
(
pageSize
==
0
)?
DEFAULT_PAGE_SIZE
:
pageSize
;
this
.
beginPos
=(
pageNo
-
1
)*
pageSize
;
this
.
pageNo
=
pageNo
;
this
.
pageSize
=
pageSize
;
this
.
total
=
total
;
}
public
Page
(
List
<
T
>
list
,
int
pageNo
,
int
pageSize
,
int
total
)
{
this
.
list
=
list
;
this
.
pageNo
=
pageNo
;
this
.
setPageSize
(
pageSize
);
this
.
setTotal
(
total
);
}
public
Page
()
{
new
Page
<
T
>(
new
ArrayList
<
T
>(),
0
,
0
,
0
);
}
public
void
setPage
(
int
pageNo
,
int
pageSize
,
Integer
total
)
{
this
.
pageNo
=
pageNo
;
this
.
pageSize
=
pageSize
;
this
.
total
=
total
;
}
public
static
long
getSerialVersionUID
()
{
return
serialVersionUID
;
}
public
static
int
getDefaultPageSize
()
{
return
DEFAULT_PAGE_SIZE
;
}
public
static
void
setDefaultPageSize
(
int
defaultPageSize
)
{
DEFAULT_PAGE_SIZE
=
defaultPageSize
;
}
public
int
getPageNo
()
{
return
pageNo
;
}
public
void
setPageNo
(
int
pageNo
)
{
this
.
pageNo
=
pageNo
;
}
public
int
getPageSize
()
{
return
pageSize
;
}
public
void
setPageSize
(
int
pageSize
)
{
this
.
pageSize
=
pageSize
;
}
public
long
getTotal
()
{
return
total
;
}
public
void
setTotal
(
Integer
total
)
{
this
.
total
=
total
;
}
public
List
<
T
>
getList
()
{
return
list
;
}
public
void
setList
(
List
<
T
>
list
)
{
this
.
list
=
list
;
}
public
int
getPages
()
{
return
pages
;
}
public
void
setPages
(
int
pages
)
{
this
.
pages
=
pages
;
}
public
Integer
getBeginPos
()
{
return
beginPos
;
}
public
void
setBeginPos
(
Integer
beginPos
)
{
this
.
beginPos
=
beginPos
;
}
}
wisenergy-model/src/main/java/cn/wisenergy/model/app/SmsLog.java
0 → 100644
View file @
f0958551
package
cn
.
wisenergy
.
model
.
app
;
import
java.io.Serializable
;
import
java.util.Date
;
import
java.math.BigDecimal
;
/***
* 短信记录
*/
public
class
SmsLog
implements
Serializable
{
//
private
Long
id
;
//短信类型(0:注册、登录验证码,1:修改密码,2:订单状态通知信息)
private
Integer
codeType
;
//接收短信手机号
private
String
phone
;
//短信内容
private
String
message
;
//失败原因
private
String
failInfo
;
//状态(1:成功2:失败)
private
Integer
status
;
//创建人
private
Long
createdUserId
;
//修改人
private
Long
updatedUserId
;
//创建时间
private
Date
creatdTime
;
//修改时间
private
Date
updatedTime
;
//是否删除(0:否,1:是)
private
Integer
isDelete
;
//get set 方法
public
void
setId
(
Long
id
){
this
.
id
=
id
;
}
public
Long
getId
(){
return
this
.
id
;
}
public
void
setCodeType
(
Integer
codeType
){
this
.
codeType
=
codeType
;
}
public
Integer
getCodeType
(){
return
this
.
codeType
;
}
public
void
setPhone
(
String
phone
){
this
.
phone
=
phone
;
}
public
String
getPhone
(){
return
this
.
phone
;
}
public
void
setMessage
(
String
message
){
this
.
message
=
message
;
}
public
String
getMessage
(){
return
this
.
message
;
}
public
void
setFailInfo
(
String
failInfo
){
this
.
failInfo
=
failInfo
;
}
public
String
getFailInfo
(){
return
this
.
failInfo
;
}
public
void
setStatus
(
Integer
status
){
this
.
status
=
status
;
}
public
Integer
getStatus
(){
return
this
.
status
;
}
public
void
setCreatedUserId
(
Long
createdUserId
){
this
.
createdUserId
=
createdUserId
;
}
public
Long
getCreatedUserId
(){
return
this
.
createdUserId
;
}
public
void
setUpdatedUserId
(
Long
updatedUserId
){
this
.
updatedUserId
=
updatedUserId
;
}
public
Long
getUpdatedUserId
(){
return
this
.
updatedUserId
;
}
public
void
setCreatdTime
(
Date
creatdTime
){
this
.
creatdTime
=
creatdTime
;
}
public
Date
getCreatdTime
(){
return
this
.
creatdTime
;
}
public
void
setUpdatedTime
(
Date
updatedTime
){
this
.
updatedTime
=
updatedTime
;
}
public
Date
getUpdatedTime
(){
return
this
.
updatedTime
;
}
public
void
setIsDelete
(
Integer
isDelete
){
this
.
isDelete
=
isDelete
;
}
public
Integer
getIsDelete
(){
return
this
.
isDelete
;
}
}
wisenergy-service/src/main/java/cn/wisenergy/service/app/SmsLogService.java
0 → 100644
View file @
f0958551
package
cn
.
wisenergy
.
service
.
app
;
/**
*
* 短信功能业务层接口
*
* Created by m1991 on 2021/2/28 22:53
*/
public
interface
SmsLogService
{
/**
* 发送短信
* @param phone
* @param codeType
* @param uId
*/
void
sendMessage
(
String
phone
,
Integer
codeType
,
Long
uId
);
}
wisenergy-service/src/main/java/cn/wisenergy/service/app/impl/SmsLogServiceImpl.java
0 → 100644
View file @
f0958551
package
cn
.
wisenergy
.
service
.
app
.
impl
;
import
cn.wisenergy.mapper.SmsLogMapper
;
import
cn.wisenergy.model.app.SmsLog
;
import
cn.wisenergy.service.app.SmsLogService
;
import
cn.wisenergy.model.app.Page
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.stereotype.Service
;
import
java.util.Date
;
import
java.util.List
;
import
java.util.Map
;
import
java.util.ArrayList
;
import
java.util.HashMap
;
@Service
public
class
SmsLogServiceImpl
implements
SmsLogService
{
@Autowired
private
SmsLogMapper
smsLogMapper
;
public
SmsLog
getSmsLogById
(
Long
id
){
return
smsLogMapper
.
getSmsLogById
(
id
);
}
public
List
<
SmsLog
>
getSmsLogListByMap
(
Map
<
String
,
Object
>
param
){
return
smsLogMapper
.
getSmsLogListByMap
(
param
);
}
public
Integer
getSmsLogCountByMap
(
Map
<
String
,
Object
>
param
){
return
smsLogMapper
.
getSmsLogCountByMap
(
param
);
}
public
Integer
qdtxAddSmsLog
(
SmsLog
smsLog
){
smsLog
.
setCreatdTime
(
new
Date
());
return
smsLogMapper
.
insertSmsLog
(
smsLog
);
}
public
Integer
qdtxModifySmsLog
(
SmsLog
smsLog
){
smsLog
.
setUpdatedTime
(
new
Date
());
return
smsLogMapper
.
updateSmsLog
(
smsLog
);
}
public
Integer
qdtxDeleteSmsLogById
(
Long
id
){
return
smsLogMapper
.
deleteSmsLogById
(
id
);
}
public
Integer
qdtxBatchDeleteSmsLog
(
String
ids
){
Map
<
String
,
List
<
String
>>
param
=
new
HashMap
<
String
,
List
<
String
>>();
String
[]
paramArrays
=
ids
.
split
(
","
);
List
<
String
>
idList
=
new
ArrayList
<
String
>();
for
(
String
temp:
paramArrays
){
idList
.
add
(
temp
);
}
param
.
put
(
"ids"
,
idList
);
return
smsLogMapper
.
batchDeleteSmsLog
(
param
);
}
public
Page
<
SmsLog
>
querySmsLogPageByMap
(
Map
<
String
,
Object
>
param
,
Integer
pageNo
,
Integer
pageSize
){
Integer
total
=
smsLogMapper
.
getSmsLogCountByMap
(
param
);
Page
page
=
new
Page
(
pageNo
,
pageSize
,
total
);
param
.
put
(
"beginPos"
,
page
.
getBeginPos
());
param
.
put
(
"pageSize"
,
page
.
getPageSize
());
List
<
SmsLog
>
smsLogList
=
smsLogMapper
.
getSmsLogListByMap
(
param
);
page
.
setList
(
smsLogList
);
return
page
;
}
@Override
public
void
sendMessage
(
String
phone
,
Integer
codeType
,
Long
uId
)
{
}
}
wisenergy-web-admin/pom.xml
View file @
f0958551
...
@@ -28,6 +28,28 @@
...
@@ -28,6 +28,28 @@
<artifactId>
shiro-spring
</artifactId>
<artifactId>
shiro-spring
</artifactId>
<version>
1.4.0
</version>
<version>
1.4.0
</version>
</dependency>
</dependency>
<!-- thymeleaf模板 -->
<dependency>
<groupId>
org.springframework.boot
</groupId>
<artifactId>
spring-boot-starter-thymeleaf
</artifactId>
</dependency>
<dependency>
<groupId>
com.aliyun
</groupId>
<artifactId>
aliyun-java-sdk-core
</artifactId>
<version>
4.4.0
</version>
</dependency>
<dependency>
<groupId>
com.aliyun
</groupId>
<artifactId>
aliyun-java-sdk-dysmsapi
</artifactId>
<version>
1.0.0
</version>
</dependency>
<dependency>
<groupId>
javax.servlet
</groupId>
<artifactId>
servlet-api
</artifactId>
<version>
2.5
</version>
<scope>
provided
</scope>
</dependency>
</dependencies>
</dependencies>
<!-- MAVEN构建 -->
<!-- MAVEN构建 -->
...
...
wisenergy-web-admin/src/main/java/cn/wisenergy/Application.java
View file @
f0958551
...
@@ -12,6 +12,7 @@ import springfox.documentation.swagger2.annotations.EnableSwagger2;
...
@@ -12,6 +12,7 @@ import springfox.documentation.swagger2.annotations.EnableSwagger2;
* 配置netty启动
* 配置netty启动
*/
*/
@EnableCaching
@EnableCaching
//@SpringBootApplication(scanBasePackages = “com.mall”)
@SpringBootApplication
(
exclude
=
{
MultipartAutoConfiguration
.
class
})
@SpringBootApplication
(
exclude
=
{
MultipartAutoConfiguration
.
class
})
@MapperScan
(
@MapperScan
(
basePackages
=
"cn.wisenergy.mapper"
)
basePackages
=
"cn.wisenergy.mapper"
)
...
...
wisenergy-web-admin/src/main/java/cn/wisenergy/web/config/GlobalConversConfiguration.java
0 → 100644
View file @
f0958551
package
cn
.
wisenergy
.
web
.
config
;
import
org.springframework.context.annotation.Bean
;
import
org.springframework.context.annotation.Configuration
;
import
org.springframework.http.converter.HttpMessageConverter
;
import
org.springframework.http.converter.StringHttpMessageConverter
;
import
org.springframework.web.servlet.config.annotation.ContentNegotiationConfigurer
;
import
org.springframework.web.servlet.config.annotation.WebMvcConfigurationSupport
;
import
java.nio.charset.Charset
;
import
java.util.List
;
/**
* 配置全局编码格式 utf-8
* Created by m1991 on 2021/3/1 4:15
*/
@Configuration
public
class
GlobalConversConfiguration
extends
WebMvcConfigurationSupport
{
@Bean
public
HttpMessageConverter
<
String
>
responseBodyConverter
()
{
StringHttpMessageConverter
converter
=
new
StringHttpMessageConverter
(
Charset
.
forName
(
"UTF-8"
));
return
converter
;
}
@Override
public
void
configureMessageConverters
(
List
<
HttpMessageConverter
<?>>
converters
)
{
super
.
configureMessageConverters
(
converters
);
converters
.
add
(
responseBodyConverter
());
}
@Override
public
void
configureContentNegotiation
(
ContentNegotiationConfigurer
configurer
)
{
configurer
.
favorPathExtension
(
false
);
}
}
wisenergy-web-admin/src/main/java/cn/wisenergy/web/config/SmsConfig.java
0 → 100644
View file @
f0958551
package
cn
.
wisenergy
.
web
.
config
;
import
org.springframework.boot.context.properties.ConfigurationProperties
;
import
org.springframework.stereotype.Component
;
@Component
@ConfigurationProperties
(
prefix
=
"sms"
)
public
class
SmsConfig
{
private
String
accessKeyId
;
private
String
secret
;
private
String
regionId
;
private
String
domain
;
private
String
version
;
private
String
action
;
private
String
signName
;
public
String
getAccessKeyId
()
{
return
accessKeyId
;
}
public
void
setAccessKeyId
(
String
accessKeyId
)
{
this
.
accessKeyId
=
accessKeyId
;
}
public
String
getSecret
()
{
return
secret
;
}
public
void
setSecret
(
String
secret
)
{
this
.
secret
=
secret
;
}
public
String
getRegionId
()
{
return
regionId
;
}
public
void
setRegionId
(
String
regionId
)
{
this
.
regionId
=
regionId
;
}
public
String
getDomain
()
{
return
domain
;
}
public
void
setDomain
(
String
domain
)
{
this
.
domain
=
domain
;
}
public
String
getVersion
()
{
return
version
;
}
public
void
setVersion
(
String
version
)
{
this
.
version
=
version
;
}
public
String
getAction
()
{
return
action
;
}
public
void
setAction
(
String
action
)
{
this
.
action
=
action
;
}
public
String
getSignName
()
{
return
signName
;
}
public
void
setSignName
(
String
signName
)
{
this
.
signName
=
signName
;
}
}
wisenergy-web-admin/src/main/java/cn/wisenergy/web/sms/BaseException.java
0 → 100644
View file @
f0958551
package
cn
.
wisenergy
.
web
.
sms
;
/**
*
* 通用异常的处理
*/
public
class
BaseException
extends
Exception
{
private
static
final
long
serialVersionUID
=
1L
;
public
BaseException
()
{}
/**
* 一个返回状态枚举的构造函数
* @param resultEnum
*/
public
BaseException
(
ResultEnum
resultEnum
)
{
super
(
resultEnum
.
getMsg
());
this
.
resultEnum
=
resultEnum
;
this
.
errorCode
=
resultEnum
.
getCode
();
this
.
errorMessage
=
resultEnum
.
getMsg
();
}
// 返回信息枚举
private
ResultEnum
resultEnum
;
// 错误码
private
String
errorCode
;
// 错误信息
private
String
errorMessage
;
public
static
long
getSerialVersionUID
()
{
return
serialVersionUID
;
}
public
ResultEnum
getResultEnum
()
{
return
resultEnum
;
}
public
void
setResultEnum
(
ResultEnum
resultEnum
)
{
this
.
resultEnum
=
resultEnum
;
}
public
String
getErrorCode
()
{
return
errorCode
;
}
public
void
setErrorCode
(
String
errorCode
)
{
this
.
errorCode
=
errorCode
;
}
public
String
getErrorMessage
()
{
return
errorMessage
;
}
public
void
setErrorMessage
(
String
errorMessage
)
{
this
.
errorMessage
=
errorMessage
;
}
}
wisenergy-web-admin/src/main/java/cn/wisenergy/web/sms/Constants.java
0 → 100644
View file @
f0958551
package
cn
.
wisenergy
.
web
.
sms
;
/***
* 系统中保存的一些常量
*/
/**
* Created by m1991 on 2021/2/28 22:50
*/
public
class
Constants
{
//通用常量
public
static
class
Common
{
//否
public
final
static
Integer
NOT
=
0
;
//是
public
final
static
Integer
YES
=
1
;
//女
public
final
static
Integer
SEX_WOMEN
=
0
;
//男
public
final
static
Integer
SEX_MAN
=
1
;
//数据精度
public
final
static
Integer
DECIMAL_DIGITS
=
2
;
}
//访问来源
public
static
class
SourceType
{
//访问来源-APP
public
final
static
Integer
APP
=
0
;
//访问来源-PC
public
final
static
Integer
PC
=
1
;
}
//连接符
public
static
class
Connnector
{
//逗号
public
final
static
String
COMMA_
=
","
;
//下划线
public
final
static
String
UNDERLINE
=
"_"
;
//冒号
public
final
static
String
COLON
=
":"
;
}
//时长
public
static
class
Duration
{
//一秒
public
final
static
Integer
SECOND_INT
=
1
;
//一分钟
public
final
static
Integer
MINUTE_INT
=
SECOND_INT
*
60
;
//半小时
public
final
static
Integer
HALF_HOUR_INT
=
MINUTE_INT
*
30
;
}
//正则的一些常量
public
static
class
RegConstant
{
//手机号正则
public
static
String
PHONE_REGSTR
=
"^[1][0-9]{10}$"
;
//密码正则
public
static
String
PASSWORD_REGSTR
=
"^([A-Z]|[a-z]|[0-9]|[_]){6,10}$"
;
}
//SMS相关常量
public
static
class
Sms
{
public
static
class
TemplateCode
{
public
static
String
LOGIN_OR_REGISTER
=
"SMS_197895260"
;
}
public
static
class
CodeType
{
public
static
Integer
LOGIN_OR_REGISTER
=
0
;
public
static
Integer
PASS_UPDATE
=
1
;
public
static
Integer
ORDER_NOTICE
=
2
;
}
}
//RedisKey相关的常量
public
static
class
RedisKey
{
public
static
String
PROJECT_PRIFIX
=
"xts"
;
public
static
String
SMS_PRIFIX
=
"sms"
;
public
static
String
TOKEN_PRIFIX
=
"token"
;
}
}
wisenergy-web-admin/src/main/java/cn/wisenergy/web/sms/MathUtils.java
0 → 100644
View file @
f0958551
package
cn
.
wisenergy
.
web
.
sms
;
import
java.math.BigDecimal
;
/**
* @Description 数字相关工具类
* @Date 2019-08-22 17:08
* @Author est team
* Version 1.0
**/
public
class
MathUtils
{
/**
* 返回一个4位随机数
* @return
*/
public
static
String
random
(){
int
random
=
(
int
)
((
Math
.
random
()
*
9
+
1
)
*
1000
);
return
random
+
""
;
}
/**
* 格式化BigDecimal,返回保留相应的小数
* @param decimal
* @param num
* @return
*/
public
static
BigDecimal
formatDecimal
(
BigDecimal
decimal
,
int
num
){
BigDecimal
result
=
decimal
.
setScale
(
num
,
BigDecimal
.
ROUND_HALF_UP
);
return
result
;
}
/**
* 格式化BigDecimal,默认保留两位小数
* @param decimal
* @return
*/
public
static
BigDecimal
formatDecimal
(
BigDecimal
decimal
){
BigDecimal
result
=
formatDecimal
(
decimal
,
Constants
.
Common
.
DECIMAL_DIGITS
);
return
result
;
}
}
wisenergy-web-admin/src/main/java/cn/wisenergy/web/sms/Page.java
0 → 100644
View file @
f0958551
package
cn
.
wisenergy
.
web
.
sms
;
import
java.io.Serializable
;
import
java.util.ArrayList
;
import
java.util.List
;
/**
* 分页类
* Created by m1991 on 2021/2/28 23:06
*/
public
class
Page
<
T
>
implements
Serializable
{
private
static
final
long
serialVersionUID
=
5294589632707269745L
;
//默认页大小
private
static
int
DEFAULT_PAGE_SIZE
=
20
;
private
static
int
DEFAULT_PAGE_NO
=
1
;
//当前页码
private
int
pageNo
;
/**
* 每页的记录数
*/
private
int
pageSize
=
DEFAULT_PAGE_SIZE
;
/**
* 总记录数
*/
private
Integer
total
;
/**
* 总页数
*/
private
int
pages
;
/**
* 数据
*/
private
List
<
T
>
list
;
//开始位置
private
Integer
beginPos
;
public
Page
(
List
<
T
>
list
)
{
this
.
list
=
list
;
}
public
Page
(
int
pageNo
,
int
pageSize
,
Integer
total
)
{
pageNo
=
(
pageNo
==
0
)?
DEFAULT_PAGE_NO
:
pageNo
;
pageSize
=
(
pageSize
==
0
)?
DEFAULT_PAGE_SIZE
:
pageSize
;
this
.
beginPos
=(
pageNo
-
1
)*
pageSize
;
this
.
pageNo
=
pageNo
;
this
.
pageSize
=
pageSize
;
this
.
total
=
total
;
}
public
Page
(
List
<
T
>
list
,
int
pageNo
,
int
pageSize
,
int
total
)
{
this
.
list
=
list
;
this
.
pageNo
=
pageNo
;
this
.
setPageSize
(
pageSize
);
this
.
setTotal
(
total
);
}
public
Page
()
{
new
Page
<
T
>(
new
ArrayList
<
T
>(),
0
,
0
,
0
);
}
public
void
setPage
(
int
pageNo
,
int
pageSize
,
Integer
total
)
{
this
.
pageNo
=
pageNo
;
this
.
pageSize
=
pageSize
;
this
.
total
=
total
;
}
public
static
long
getSerialVersionUID
()
{
return
serialVersionUID
;
}
public
static
int
getDefaultPageSize
()
{
return
DEFAULT_PAGE_SIZE
;
}
public
static
void
setDefaultPageSize
(
int
defaultPageSize
)
{
DEFAULT_PAGE_SIZE
=
defaultPageSize
;
}
public
int
getPageNo
()
{
return
pageNo
;
}
public
void
setPageNo
(
int
pageNo
)
{
this
.
pageNo
=
pageNo
;
}
public
int
getPageSize
()
{
return
pageSize
;
}
public
void
setPageSize
(
int
pageSize
)
{
this
.
pageSize
=
pageSize
;
}
public
long
getTotal
()
{
return
total
;
}
public
void
setTotal
(
Integer
total
)
{
this
.
total
=
total
;
}
public
List
<
T
>
getList
()
{
return
list
;
}
public
void
setList
(
List
<
T
>
list
)
{
this
.
list
=
list
;
}
public
int
getPages
()
{
return
pages
;
}
public
void
setPages
(
int
pages
)
{
this
.
pages
=
pages
;
}
public
Integer
getBeginPos
()
{
return
beginPos
;
}
public
void
setBeginPos
(
Integer
beginPos
)
{
this
.
beginPos
=
beginPos
;
}
}
wisenergy-web-admin/src/main/java/cn/wisenergy/web/sms/ResponseOutput.java
0 → 100644
View file @
f0958551
package
cn
.
wisenergy
.
web
.
sms
;
import
com.alibaba.fastjson.JSONObject
;
import
org.slf4j.Logger
;
import
org.slf4j.LoggerFactory
;
import
javax.servlet.http.HttpServletResponse
;
import
java.io.IOException
;
import
java.io.PrintWriter
;
/**
* Title:向浏览器输出一个json
* Description: 类的功能详细描述
* @Author est team
* @version 1.0
* @since 2017年5月23日
*/
public
class
ResponseOutput
{
static
Logger
log
=
LoggerFactory
.
getLogger
(
ResponseOutput
.
class
);
/**
* 根据枚举对象将数据写会前端
* @param response
* @param resultEnum
*/
public
static
void
outputJson
(
HttpServletResponse
response
,
ResultEnum
resultEnum
)
{
outputJson
(
response
,
ResultUtils
.
returnResult
(
resultEnum
));
}
/**
* 根据返回对象将数据写会前端
* @param response
* @param result
*/
public
static
void
outputJson
(
HttpServletResponse
response
,
Result
result
)
{
response
.
setCharacterEncoding
(
"UTF-8"
);
response
.
setContentType
(
"application/json; charset=utf-8"
);
PrintWriter
out
=
null
;
try
{
out
=
response
.
getWriter
();
out
.
append
(
JSONObject
.
toJSON
(
result
).
toString
());
}
catch
(
IOException
e
)
{
log
.
error
(
"ResponseOut-->error:{}"
,
e
.
getMessage
());
}
finally
{
if
(
out
!=
null
)
{
out
.
close
();
}
}
}
}
\ No newline at end of file
wisenergy-web-admin/src/main/java/cn/wisenergy/web/sms/Result.java
0 → 100644
View file @
f0958551
package
cn
.
wisenergy
.
web
.
sms
;
import
java.io.Serializable
;
/**
* 返回信息包装类
* Created by m1991 on 2021/2/28 23:08
*/
public
class
Result
<
T
>
implements
Serializable
{
public
String
code
;
public
String
msg
;
private
T
data
;
/**
* 无参构造
*/
public
Result
()
{}
/**
* 根据code,msg创建一个Resutl
* @param code
* @param msg
*/
public
Result
(
String
code
,
String
msg
)
{
this
.
code
=
code
;
this
.
msg
=
msg
;
}
/**
* 根据code,msg,data创建一个Resutl
* @param code
* @param msg
* @param data
*/
public
Result
(
String
code
,
String
msg
,
T
data
)
{
this
.
code
=
code
;
this
.
msg
=
msg
;
this
.
data
=
data
;
}
/**
* 根据枚举创建一个Result
* @param resultEnum
*/
public
Result
(
ResultEnum
resultEnum
)
{
this
.
code
=
resultEnum
.
getCode
();
this
.
msg
=
resultEnum
.
getMsg
();
}
public
String
getCode
()
{
return
code
;
}
public
void
setCode
(
String
code
)
{
this
.
code
=
code
;
}
public
String
getMsg
()
{
return
msg
;
}
public
void
setMsg
(
String
msg
)
{
this
.
msg
=
msg
;
}
public
T
getData
()
{
return
data
;
}
public
void
setData
(
T
data
)
{
this
.
data
=
data
;
}
}
wisenergy-web-admin/src/main/java/cn/wisenergy/web/sms/ResultEnum.java
0 → 100644
View file @
f0958551
package
cn
.
wisenergy
.
web
.
sms
;
/**
* 出参错误码列表
* 尽管是后台信息,文案受制于中前台要求,暴露给用户
* 接手者请推动前端的后台包装,目前谨慎修改
*
* Created by m1991 on 2021/2/28 23:10
*/
public
enum
ResultEnum
{
SUCCESS
(
"0"
,
"成功"
),
FAIL
(
"1"
,
"失败"
),
COMMON_EXCEPTION
(
"5"
,
"系统异常"
),
FAIL_PARAM
(
"1001"
,
"请求参数错误"
),
FAIL_LOGIN
(
"1002"
,
"登录失败"
),
FAIL_VERIFY
(
"1003"
,
"验证码错误"
),
FAIL_ACCOUNT_EXIST
(
"1004"
,
"账号已存在"
),
FAIL_ACCOUNT_NOT_EXIST
(
"1005"
,
"账号不存在"
),
FAIL_TIMESTAMP_NOT_NULL
(
"1006"
,
"时间戳不能为空"
),
FAIL_VISIT_SOURCE_NOT_NULL
(
"1007"
,
"访问来源不能为空"
),
PHONE_ERROR
(
"1008"
,
"手机号码格式不正确"
),
CODETYPE_ERROR
(
"1009"
,
"手机号码格式不正确"
),
CODESEND_ERROR
(
"1010"
,
"请相隔60S后再发送"
),
FILE_NOT_LOGIN
(
"2001"
,
"未登录"
),
FILE_NOT_HAVE_PERMISSION
(
"2002"
,
"没有权限"
),
FAIL_ACCOUNT_LOCK
(
"2003"
,
"账号已被锁定"
),
FAIL_NOT_FIND_PAGE
(
"3001"
,
"找不到页面"
),
FAIL_TIMEOUT
(
"3002"
,
"请求超时"
),
FAIL_HAVE_DELETED
(
"3003"
,
"已被删除"
),
FAIL_HAVE_NOT_EXIST
(
"3005"
,
"数据不存在"
);
String
code
;
String
msg
;
ResultEnum
(
String
code
,
String
msg
)
{
this
.
code
=
code
;
this
.
msg
=
msg
;
}
public
String
getCode
()
{
return
code
;
}
public
String
getMsg
()
{
return
msg
;
}
public
static
ResultEnum
getByCode
(
String
code
)
{
if
(
code
==
null
)
{
return
COMMON_EXCEPTION
;
}
for
(
ResultEnum
outputEnum
:
ResultEnum
.
values
())
{
if
(
code
.
equals
(
outputEnum
.
code
))
{
return
outputEnum
;
}
}
return
COMMON_EXCEPTION
;
}
}
wisenergy-web-admin/src/main/java/cn/wisenergy/web/sms/ResultUtils.java
0 → 100644
View file @
f0958551
package
cn
.
wisenergy
.
web
.
sms
;
/**
* 用于返回Result的工具类
* Created by m1991 on 2021/2/28 23:03
*/
public
class
ResultUtils
{
/**
* 统一返回成功的Result
*/
public
static
Result
returnSuccess
()
{
Result
Result
=
new
Result
(
ResultEnum
.
SUCCESS
);
return
Result
;
}
/**
* 统一返回成功的Result 带数据
*/
public
static
Result
returnSuccess
(
String
msg
,
Object
data
)
{
Result
Result
=
new
Result
(
ResultEnum
.
SUCCESS
.
getCode
(),
msg
,
data
);
return
Result
;
}
/**
* 统一返回成功的Result 不带数据
*/
public
static
Result
returnSuccess
(
String
msg
)
{
Result
Result
=
new
Result
(
ResultEnum
.
SUCCESS
.
getCode
(),
msg
);
return
Result
;
}
/**
* 统一返回成功的Result 带数据 没有消息
*/
public
static
Result
returnDataSuccess
(
Object
data
)
{
Result
Result
=
new
Result
(
ResultEnum
.
SUCCESS
);
Result
.
setData
(
data
);
return
Result
;
}
/**
* 返回一个失败的Result
* @return
*/
public
static
Result
returnFail
()
{
Result
Result
=
new
Result
(
ResultEnum
.
FAIL
);
return
Result
;
}
/**
* 返回一个失败的Result
*
* @param msg
* @param code
* @return
*/
public
static
Result
returnFail
(
String
msg
,
String
code
)
{
Result
Result
=
new
Result
(
code
,
msg
);
return
Result
;
}
/**
* 返回 一个失败的Result,code统一为 “1”,msg自定义
*
* @param msg
* @return
*/
public
static
Result
returnFail
(
String
msg
)
{
Result
Result
=
new
Result
(
ResultEnum
.
FAIL
.
getCode
(),
msg
);
return
Result
;
}
/**
* 根据枚举创建一个Result
*
* @param resultEnum
* @return
*/
public
static
Result
returnResult
(
ResultEnum
resultEnum
)
{
Result
Result
=
new
Result
(
resultEnum
);
return
Result
;
}
}
wisenergy-web-admin/src/main/java/cn/wisenergy/web/sms/SmsController.java
0 → 100644
View file @
f0958551
package
cn
.
wisenergy
.
web
.
sms
;
import
cn.wisenergy.common.utils.RedisUtils
;
import
cn.wisenergy.common.utils.StringUtil
;
import
org.apache.commons.lang3.StringUtils
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.web.bind.annotation.RequestMapping
;
import
org.springframework.web.bind.annotation.RestController
;
@RequestMapping
(
"/api/sms"
)
@RestController
public
class
SmsController
{
@Autowired
private
SmsUtils
smsUtils
;
@Autowired
private
RedisUtils
redisUtils
;
@RequestMapping
(
"/verifyCode"
)
public
Result
verifyCode
(
String
phone
,
Integer
codeType
)
throws
Exception
{
//判断phone和codeType是否符合输入类型
if
(!
phone
.
matches
(
Constants
.
RegConstant
.
PHONE_REGSTR
)){
throw
new
BaseException
(
ResultEnum
.
PHONE_ERROR
);
}
if
(
codeType
!=
Constants
.
Sms
.
CodeType
.
LOGIN_OR_REGISTER
&&
codeType
!=
Constants
.
Sms
.
CodeType
.
PASS_UPDATE
&&
codeType
!=
Constants
.
Sms
.
CodeType
.
ORDER_NOTICE
){
throw
new
BaseException
(
ResultEnum
.
CODETYPE_ERROR
);
}
String
key
=
StringUtil
.
formatKeyWithPrefix
(
Constants
.
RedisKey
.
PROJECT_PRIFIX
,
Constants
.
RedisKey
.
SMS_PRIFIX
,
phone
,
codeType
+
""
);
//判断是否超过60S
String
oldCode
=
redisUtils
.
getValue
(
key
);
if
(!
StringUtils
.
isBlank
(
oldCode
)){
throw
new
BaseException
(
ResultEnum
.
CODESEND_ERROR
);
}
//生成随机数
String
code
=
MathUtils
.
random
();
//保存至Redis
redisUtils
.
set
(
key
,
code
,
Constants
.
Duration
.
MINUTE_INT
);
boolean
flag
=
smsUtils
.
sendMessage
(
phone
,
Constants
.
Sms
.
TemplateCode
.
LOGIN_OR_REGISTER
,
code
);
return
flag
?
ResultUtils
.
returnSuccess
():
ResultUtils
.
returnFail
();
}
}
\ No newline at end of file
wisenergy-web-admin/src/main/java/cn/wisenergy/web/sms/SmsLog.java
0 → 100644
View file @
f0958551
package
cn
.
wisenergy
.
web
.
sms
;
import
java.util.Date
;
/**
* 短信记录
* Created by m1991 on 2021/2/28 22:56
*/
public
class
SmsLog
{
//
private
Long
id
;
//短信类型(0:注册、登录验证码,1:修改密码,2:订单状态通知信息)
private
Integer
codeType
;
//接收短信手机号
private
String
phone
;
//短信内容
private
String
message
;
//失败原因
private
String
failInfo
;
//状态(1:成功2:失败)
private
Integer
status
;
//创建人
private
Long
createdUserId
;
//修改人
private
Long
updatedUserId
;
//创建时间
private
Date
creatdTime
;
//修改时间
private
Date
updatedTime
;
//是否删除(0:否,1:是)
private
Integer
isDelete
;
//get set 方法
public
Long
getId
()
{
return
id
;
}
public
void
setId
(
Long
id
)
{
this
.
id
=
id
;
}
public
Integer
getCodeType
()
{
return
codeType
;
}
public
void
setCodeType
(
Integer
codeType
)
{
this
.
codeType
=
codeType
;
}
public
String
getPhone
()
{
return
phone
;
}
public
void
setPhone
(
String
phone
)
{
this
.
phone
=
phone
;
}
public
String
getMessage
()
{
return
message
;
}
public
void
setMessage
(
String
message
)
{
this
.
message
=
message
;
}
public
String
getFailInfo
()
{
return
failInfo
;
}
public
void
setFailInfo
(
String
failInfo
)
{
this
.
failInfo
=
failInfo
;
}
public
Integer
getStatus
()
{
return
status
;
}
public
void
setStatus
(
Integer
status
)
{
this
.
status
=
status
;
}
public
Long
getCreatedUserId
()
{
return
createdUserId
;
}
public
void
setCreatedUserId
(
Long
createdUserId
)
{
this
.
createdUserId
=
createdUserId
;
}
public
Long
getUpdatedUserId
()
{
return
updatedUserId
;
}
public
void
setUpdatedUserId
(
Long
updatedUserId
)
{
this
.
updatedUserId
=
updatedUserId
;
}
public
Date
getCreatdTime
()
{
return
creatdTime
;
}
public
void
setCreatdTime
(
Date
creatdTime
)
{
this
.
creatdTime
=
creatdTime
;
}
public
Date
getUpdatedTime
()
{
return
updatedTime
;
}
public
void
setUpdatedTime
(
Date
updatedTime
)
{
this
.
updatedTime
=
updatedTime
;
}
public
Integer
getIsDelete
()
{
return
isDelete
;
}
public
void
setIsDelete
(
Integer
isDelete
)
{
this
.
isDelete
=
isDelete
;
}
}
wisenergy-web-admin/src/main/java/cn/wisenergy/web/sms/SmsUtils.java
0 → 100644
View file @
f0958551
package
cn
.
wisenergy
.
web
.
sms
;
import
cn.wisenergy.common.utils.StringUtil
;
import
cn.wisenergy.web.config.SmsConfig
;
import
com.alibaba.fastjson.JSONObject
;
import
com.aliyuncs.CommonRequest
;
import
com.aliyuncs.CommonResponse
;
import
com.aliyuncs.DefaultAcsClient
;
import
com.aliyuncs.IAcsClient
;
import
com.aliyuncs.exceptions.ClientException
;
import
com.aliyuncs.exceptions.ServerException
;
import
com.aliyuncs.http.MethodType
;
import
com.aliyuncs.profile.DefaultProfile
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.stereotype.Component
;
/***
* 短信发送工具类
*/
@Component
public
class
SmsUtils
{
@Autowired
private
SmsConfig
smsConfig
;
/***
* 发送短信的方法
* @param
* @return
*/
public
boolean
sendMessage
(
String
phone
,
String
templateCode
,
String
code
)
{
//构造一个acs的clinet
DefaultProfile
profile
=
DefaultProfile
.
getProfile
(
smsConfig
.
getRegionId
(),
smsConfig
.
getAccessKeyId
(),
smsConfig
.
getSecret
());
IAcsClient
client
=
new
DefaultAcsClient
(
profile
);
//构造请求的request
CommonRequest
request
=
new
CommonRequest
();
//设置了一堆参数
request
.
setSysMethod
(
MethodType
.
POST
);
request
.
setSysDomain
(
smsConfig
.
getDomain
());
request
.
setSysVersion
(
smsConfig
.
getVersion
());
request
.
setSysAction
(
smsConfig
.
getAction
());
request
.
putQueryParameter
(
"RegionId"
,
smsConfig
.
getRegionId
());
request
.
putQueryParameter
(
"PhoneNumbers"
,
phone
);
request
.
putQueryParameter
(
"SignName"
,
smsConfig
.
getSignName
());
request
.
putQueryParameter
(
"TemplateCode"
,
templateCode
);
request
.
putQueryParameter
(
"TemplateParam"
,
JSONObject
.
toJSONString
(
StringUtil
.
createSimpleMap
(
"code"
,
code
)));
try
{
//发送请求,接收响应
CommonResponse
response
=
client
.
getCommonResponse
(
request
);
System
.
out
.
println
(
response
.
getData
());
String
status
=
(
String
)
JSONObject
.
parseObject
(
response
.
getData
()).
get
(
"Code"
);
return
"OK"
.
equals
(
status
);
}
catch
(
ServerException
e
)
{
e
.
printStackTrace
();
}
catch
(
ClientException
e
)
{
e
.
printStackTrace
();
}
return
false
;
}
}
wisenergy-web-admin/src/main/java/cn/wisenergy/web/sms/TestController.java
0 → 100644
View file @
f0958551
package
cn
.
wisenergy
.
web
.
sms
;
//import cn.est.config.UserConfig;
//import cn.est.constants.ResultEnum;
//import cn.est.dto.Result;
//import cn.est.po.Brand;
//import cn.est.service.BrandService;
//import cn.est.utils.ResultUtils;
//import cn.est.utils.SmsUtils;
//import cn.est.utils.StringUtil;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.stereotype.Controller
;
import
org.springframework.web.bind.annotation.RequestMapping
;
import
org.springframework.web.bind.annotation.ResponseBody
;
@Controller
public
class
TestController
{
// @Autowired
// private BrandService brandService;
@Autowired
private
SmsUtils
smsUtils
;
//
// @Autowired
// private UserConfig useronfig;
@RequestMapping
(
"/index"
)
@ResponseBody
public
String
index
()
{
return
"Hello Wolrd"
;
}
// @RequestMapping("/query")
// @ResponseBody
// public List<Brand> queryBrandList(){
// Map<String,Object> param=new HashMap<String, Object>();
// return brandService.getBrandListByMap(param);
// }
// @RequestMapping("/testResult")
// @ResponseBody
// public Result testResult(){
// Map<String,Object> map= StringUtil.createSimpleMap("name","zzshang");
// Result result1= ResultUtils.returnSuccess("成功",map);
// Result result2=ResultUtils.returnFail(ResultEnum.FAIL_HAVE_DELETED.getCode(),ResultEnum.FAIL_HAVE_DELETED.getMsg());
// return result2;
// }
@RequestMapping
(
"/testSms"
)
@ResponseBody
public
Result
testException
()
throws
Exception
{
// System.out.println(useronfig.getUserName()+"---"+useronfig.getSex());
return
smsUtils
.
sendMessage
(
"18518666833"
,
"SMS_212170059"
,
"2111"
)?
ResultUtils
.
returnSuccess
():
ResultUtils
.
returnFail
();
}
}
wisenergy-web-admin/src/main/java/cn/wisenergy/web/sms/UrlUtils.java
0 → 100644
View file @
f0958551
package
cn
.
wisenergy
.
web
.
sms
;
import
java.io.BufferedReader
;
import
java.io.IOException
;
import
java.io.InputStream
;
import
java.io.InputStreamReader
;
import
java.net.HttpURLConnection
;
import
java.net.URL
;
/**
* 本类提供了对URL所指向的内容的加载操作
* @author hduser
*
*/
public
class
UrlUtils
{
/**
* 获取url网址返回的数据内容
* @param urlStr
* @return
*/
public
static
String
loadURL
(
String
urlStr
){
try
{
URL
url
=
new
URL
(
urlStr
);
HttpURLConnection
urlConnection
=
(
HttpURLConnection
)
url
.
openConnection
();
urlConnection
.
setRequestMethod
(
"GET"
);
urlConnection
.
connect
();
InputStream
inputStream
=
urlConnection
.
getInputStream
();
String
responseStr
=
ConvertToString
(
inputStream
);
return
responseStr
;
}
catch
(
IOException
e
){
e
.
printStackTrace
();
return
null
;
}
}
private
static
String
ConvertToString
(
InputStream
inputStream
){
InputStreamReader
inputStreamReader
=
new
InputStreamReader
(
inputStream
);
BufferedReader
bufferedReader
=
new
BufferedReader
(
inputStreamReader
);
StringBuilder
result
=
new
StringBuilder
();
String
line
=
null
;
try
{
while
((
line
=
bufferedReader
.
readLine
())
!=
null
){
result
.
append
(
line
+
"\n"
);
}
}
catch
(
IOException
e
)
{
e
.
printStackTrace
();
}
finally
{
try
{
inputStreamReader
.
close
();
inputStream
.
close
();
bufferedReader
.
close
();
}
catch
(
IOException
e
){
e
.
printStackTrace
();
}
}
return
result
.
toString
();
}
}
wisenergy-web-admin/src/main/java/cn/wisenergy/web/sms/interceptor/ExceptionInterceptor.java
0 → 100644
View file @
f0958551
package
cn
.
wisenergy
.
web
.
sms
.
interceptor
;
import
cn.wisenergy.web.sms.*
;
import
org.slf4j.Logger
;
import
org.slf4j.LoggerFactory
;
import
org.springframework.stereotype.Component
;
import
org.springframework.web.servlet.handler.HandlerInterceptorAdapter
;
import
javax.servlet.http.HttpServletRequest
;
import
javax.servlet.http.HttpServletResponse
;
/**
* 统一异常处理
*/
@Component
public
class
ExceptionInterceptor
extends
HandlerInterceptorAdapter
{
Logger
log
=
LoggerFactory
.
getLogger
(
ExceptionInterceptor
.
class
);
/**
* 异常处理
* @param request
* @param response
* @param handler
* @param ex
* @throws java.io.IOException
*/
@Override
public
void
afterCompletion
(
HttpServletRequest
request
,
HttpServletResponse
response
,
Object
handler
,
Exception
ex
)
{
Result
result
=
null
;
log
.
info
(
request
.
getRequestURI
()
+
">>>>>>"
);
log
.
info
(
request
.
getRequestURL
()
+
">>>>>>"
);
//拦截异常信息
if
(
ex
!=
null
)
{
response
.
setCharacterEncoding
(
"UTF-8"
);
response
.
setContentType
(
"text/html; charset=utf-8"
);
try
{
String
moduleMessage
=
ex
.
toString
();
log
.
info
(
"统一异常信息:{}"
,
moduleMessage
);
if
(
ex
instanceof
BaseException
)
{
BaseException
se
=
(
BaseException
)
ex
;
result
=
ResultUtils
.
returnFail
(
se
.
getErrorMessage
(),
se
.
getErrorCode
());
}
else
{
result
=
ResultUtils
.
returnResult
(
ResultEnum
.
FAIL
);
}
}
catch
(
Exception
e
)
{
if
(!(
ex
instanceof
BaseException
))
{
log
.
error
(
"未知错误:{}"
,
ex
);
result
=
ResultUtils
.
returnResult
(
ResultEnum
.
COMMON_EXCEPTION
);
}
}
ResponseOutput
.
outputJson
(
response
,
result
);
}
}
}
wisenergy-web-admin/src/main/java/cn/wisenergy/web/sms/interceptor/LoginInterceptor.java
0 → 100644
View file @
f0958551
package
cn
.
wisenergy
.
web
.
sms
.
interceptor
;
import
cn.wisenergy.common.utils.RedisUtils
;
import
cn.wisenergy.common.utils.StringUtil
;
import
cn.wisenergy.web.sms.*
;
import
org.slf4j.Logger
;
import
org.slf4j.LoggerFactory
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.stereotype.Component
;
import
org.springframework.web.servlet.ModelAndView
;
import
org.springframework.web.servlet.handler.HandlerInterceptorAdapter
;
import
javax.servlet.http.HttpServletRequest
;
import
javax.servlet.http.HttpServletResponse
;
import
java.util.Enumeration
;
import
java.util.HashMap
;
import
java.util.Map
;
/**
* 前端拦截器
*/
@Component
public
class
LoginInterceptor
extends
HandlerInterceptorAdapter
{
Logger
log
=
LoggerFactory
.
getLogger
(
LoginInterceptor
.
class
);
/**
* 直接放行的接口
*/
public
static
String
[]
EXCLUDE_URI
=
new
String
[]{
"/pay/alipay/notify"
,
"/pay/alipay/return"
,
"/user/wechat/callback"
};
/**
* 需要登录才可以访问的接口
*/
public
static
String
[]
VERIFY_URI
=
new
String
[]{
"/evaluate/assess"
,
"/order/maintain/"
,
"/pay/aliPay"
,
"/user/logout"
};
@Autowired
private
RedisUtils
redisUtils
;
@Override
public
boolean
preHandle
(
HttpServletRequest
request
,
HttpServletResponse
response
,
Object
obj
)
throws
Exception
{
boolean
flag
=
false
;
String
loginUser
=
null
;
String
key
=
null
;
Map
<
String
,
String
>
params
=
new
HashMap
<>();
Enumeration
<
String
>
names
=
request
.
getHeaderNames
();
while
(
names
.
hasMoreElements
())
{
String
name
=
names
.
nextElement
();
String
value
=
request
.
getHeader
(
name
);
params
.
put
(
name
,
value
);
}
// 获取访问url
String
url
=
request
.
getRequestURL
().
toString
();
// 判断是否直接放行
for
(
String
s
:
EXCLUDE_URI
)
{
if
(
url
.
contains
(
s
))
{
return
true
;
}
}
// if (StringUtil.isBlank(params.get("timestamp"))) {
// log.error("时间戳不能为空");
// ResponseOutput.outputJson(response, ResultEnum.FAIL_TIMESTAMP_NOT_NULL);
// return false;
// } else if (StringUtil.isBlank(params.get("source-type"))) {
// log.error("访问来源不能为空");
// ResponseOutput.outputJson(response, ResultEnum.FAIL_VISIT_SOURCE_NOT_NULL);
// return false;
// }
for
(
String
s
:
VERIFY_URI
)
{
if
(
url
.
contains
(
s
))
{
flag
=
true
;
break
;
}
}
// 判断,如果是需要拦截的方法
if
(
flag
)
{
String
token
=
request
.
getHeader
(
"token"
);
key
=
StringUtil
.
formatKeyWithPrefix
(
token
);
// 获取登录用户
loginUser
=
redisUtils
.
getValue
(
key
);
log
.
info
(
"Basenterceptor-->获取到用户登录信息users:{}"
,
loginUser
);
// 验证用户登陆
if
(
null
==
loginUser
)
{
ResponseOutput
.
outputJson
(
response
,
ResultEnum
.
FILE_NOT_LOGIN
);
return
false
;
}
}
// 如果用户是登录状态,登录状态续命
if
(!
StringUtil
.
isBlank
(
key
)
&&
!
StringUtil
.
isBlank
(
loginUser
)){
redisUtils
.
putValue
(
key
,
loginUser
,
Constants
.
Duration
.
HALF_HOUR_INT
);
}
return
true
;
}
@Override
public
void
afterCompletion
(
HttpServletRequest
arg0
,
HttpServletResponse
arg1
,
Object
arg2
,
Exception
arg3
)
throws
Exception
{
// TODO Auto-generated method stub
}
@Override
public
void
postHandle
(
HttpServletRequest
arg0
,
HttpServletResponse
arg1
,
Object
arg2
,
ModelAndView
arg3
)
throws
Exception
{
// TODO Auto-generated method stub
}
}
\ No newline at end of file
wisenergy-web-admin/src/main/java/cn/wisenergy/web/sms/interceptor/ValidateParamInterceptor.java
0 → 100644
View file @
f0958551
package
cn
.
wisenergy
.
web
.
sms
.
interceptor
;
import
cn.wisenergy.web.sms.ResponseOutput
;
import
cn.wisenergy.web.sms.ResultEnum
;
import
org.apache.commons.lang3.StringUtils
;
import
org.slf4j.Logger
;
import
org.slf4j.LoggerFactory
;
import
org.springframework.stereotype.Component
;
import
org.springframework.web.servlet.handler.HandlerInterceptorAdapter
;
import
javax.servlet.http.HttpServletRequest
;
import
javax.servlet.http.HttpServletResponse
;
import
java.util.*
;
/**
* 参数校验
*/
@Component
public
class
ValidateParamInterceptor
extends
HandlerInterceptorAdapter
{
Logger
log
=
LoggerFactory
.
getLogger
(
ValidateParamInterceptor
.
class
);
@Override
public
boolean
preHandle
(
HttpServletRequest
request
,
HttpServletResponse
response
,
Object
handler
)
throws
Exception
{
response
.
setHeader
(
"Content-type"
,
"text/html;charset=UTF-8"
);
//获取URL
String
servletPath
=
request
.
getServletPath
();
//先判断空值
// Map<String, String[]> reqParams = request.getParameterMap();
Map
<
String
,
String
>
reqParams
=
new
HashMap
<>();
Enumeration
<
String
>
names
=
request
.
getParameterNames
();
while
(
names
.
hasMoreElements
())
{
String
name
=
names
.
nextElement
();
String
value
=
request
.
getParameter
(
name
);
reqParams
.
put
(
name
,
value
);
}
Map
<
String
,
List
<
String
>>
notNullParams
=
notNullParems
();
for
(
String
key
:
notNullParams
.
keySet
()){
// 如果这个接口有需要判断非空的参数
if
(
servletPath
.
equals
(
key
)){
for
(
String
notNullParam
:
notNullParams
.
get
(
key
))
{
// 如果没有入参或者入参中不包括必传参数
if
(
reqParams
==
null
||
!
reqParams
.
containsKey
(
notNullParam
)
||
reqParams
.
get
(
notNullParam
)
==
null
||
StringUtils
.
isBlank
(
reqParams
.
get
(
notNullParam
))){
log
.
info
(
"接口:{},的参数:【{}】不能为空"
,
servletPath
,
notNullParam
);
ResponseOutput
.
outputJson
(
response
,
ResultEnum
.
FAIL_PARAM
);
return
false
;
}
}
}
}
return
true
;
}
/**
* 初始化非空接口和参数
* @return
*/
public
static
Map
<
String
,
List
<
String
>>
notNullParems
(){
Map
<
String
,
List
<
String
>>
map
=
new
HashMap
<>();
// 评估维度
map
.
put
(
"/api/evaluate/specList"
,
Arrays
.
asList
(
"modelId"
));
// 估计
map
.
put
(
"/api/evaluate/assess"
,
Arrays
.
asList
(
"modelId"
,
"optionIds"
));
// 维修--下单
map
.
put
(
"/api/order/maintain/submit"
,
Arrays
.
asList
(
"evaluateId"
,
"phone"
,
"appintData"
,
"temporalInterval"
,
"adress"
));
// 阿里支付
map
.
put
(
"/api/pay/alipay"
,
Arrays
.
asList
(
"orderNo"
,
"amount"
));
// 验证码登录、注册接口
map
.
put
(
"/api/sms/login/sms"
,
Arrays
.
asList
(
"phone"
,
"sms"
));
// 发送验证码接口
map
.
put
(
"/api/sms/verifyCode"
,
Arrays
.
asList
(
"phone"
,
"codeType"
));
return
map
;
}
}
wisenergy-web-admin/src/main/resources/application-dev.yml
View file @
f0958551
spring
:
spring
:
datasource
:
datasource
:
type
:
com.alibaba.druid.pool.DruidDataSource
type
:
com.alibaba.druid.pool.DruidDataSource
# 192.168.110.164 shop_app adm4HYservice$
druid
:
druid
:
driver-class-name
:
com.mysql.cj.jdbc.Driver
driver-class-name
:
com.mysql.cj.jdbc.Driver
url
:
jdbc:mysql://
192.168.110.164:3306/shop_app
?useUnicode=true&characterEncoding=UTF-8&allowMultiQueries=true&serverTimezone=GMT%2B8
url
:
jdbc:mysql://
localhost:3306/est
?useUnicode=true&characterEncoding=UTF-8&allowMultiQueries=true&serverTimezone=GMT%2B8
username
:
root
username
:
root
password
:
adm4HYservice$
password
:
root
initial-size
:
10
initial-size
:
10
max-active
:
100
max-active
:
100
min-idle
:
10
min-idle
:
10
...
@@ -44,11 +45,25 @@ spring:
...
@@ -44,11 +45,25 @@ spring:
# 总限制
# 总限制
max-request-size
:
20MB
max-request-size
:
20MB
# redis:
# database: 0
# host: 192.168.110.165
# port: 6379
# password: adm4HYservice$ # 密码(默认为空)
# timeout: 6000ms # 连接超时时长(毫秒)
# jedis:
# pool:
# max-active: 1000 # 连接池最大连接数(使用负值表示没有限制)
# max-wait: -1ms # 连接池最大阻塞等待时间(使用负值表示没有限制)
# max-idle: 10 # 连接池中的最大空闲连接
# min-idle: 5 # 连接池中的最小空闲连
#redis
redis
:
redis
:
database
:
0
host
:
192.168.0.105
host
:
192.168.110.165
port
:
6379
port
:
6379
password
:
adm4HYservice$
# 密码(默认为空)
password
:
123456
#连接0库
database
:
0
timeout
:
6000ms
# 连接超时时长(毫秒)
timeout
:
6000ms
# 连接超时时长(毫秒)
jedis
:
jedis
:
pool
:
pool
:
...
@@ -61,10 +76,21 @@ uploadFile:
...
@@ -61,10 +76,21 @@ uploadFile:
resourceHandler
:
/upload_flowChart/**
#请求 url 中的资源映射也是保存到数据库中的父级路径
resourceHandler
:
/upload_flowChart/**
#请求 url 中的资源映射也是保存到数据库中的父级路径
#location: D:/java/test/upload_flowChart/ #自定义上传文件服务器硬盘保存路径 ,linux服务器保存路径 /home/changfa/app/wxbjgkpt/upload_flowChart
#location: D:/java/test/upload_flowChart/ #自定义上传文件服务器硬盘保存路径 ,linux服务器保存路径 /home/changfa/app/wxbjgkpt/upload_flowChart
location
:
/opt/images/upload_flowChart/
#自定义上传文件服务器硬盘保存路径 ,linux服务器保存路径 /home/changfa/app/wxbjgkpt/upload_flowChart/
location
:
/opt/images/upload_flowChart/
#自定义上传文件服务器硬盘保存路径 ,linux服务器保存路径 /home/changfa/app/wxbjgkpt/upload_flowChart/
file
:
upload
:
path
:
D:/aplus
jwt
:
jwt
:
# 加密秘钥
# 加密秘钥
secret
:
f4e2e52034348f86b67cde581c0f9eb5
secret
:
f4e2e52034348f86b67cde581c0f9eb5
# token有效时长,单位秒
# token有效时长,单位秒
expire
:
14400
expire
:
14400
sms
:
accessKeyId
:
LTAI4G6xmYPhjrS18Bxz5Kqu
secret
:
l3ZuSn2XjsFZXaB3yb8O5ASRJh3DDe
regionId
:
cn-hangzhou
domain
:
dysmsapi.aliyuncs.com
version
:
2017-05-25
action
:
SendSms
signName
:
西田森生物科技
logging
:
logging
:
config
:
classpath:logback-spring.xml
config
:
classpath:logback-spring.xml
\ No newline at end of file
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