Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
L
LuJin-Im
Project
Project
Details
Activity
Releases
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
yangzhaojun
LuJin-Im
Commits
a44754e4
Commit
a44754e4
authored
Aug 29, 2018
by
李博今
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
修改时间格式
完善发送短信功能
parent
2a5d29f5
Changes
15
Show whitespace changes
Inline
Side-by-side
Showing
15 changed files
with
610 additions
and
413 deletions
+610
-413
pom.xml
pom.xml
+396
-385
qiqiim-server.iml
qiqiim-server.iml
+3
-0
Sms.java
src/main/java/com/qiqiim/webserver/sms/Sms.java
+68
-0
SmsResponseEntity.java
...main/java/com/qiqiim/webserver/sms/SmsResponseEntity.java
+50
-0
ImController.java
...va/com/qiqiim/webserver/user/controller/ImController.java
+40
-4
ErrorLogDao.java
src/main/java/com/qiqiim/webserver/user/dao/ErrorLogDao.java
+3
-1
ErrorLogDao.xml
src/main/java/com/qiqiim/webserver/user/dao/ErrorLogDao.xml
+2
-2
UserInfoDao.java
src/main/java/com/qiqiim/webserver/user/dao/UserInfoDao.java
+2
-0
UserInfoDao.xml
src/main/java/com/qiqiim/webserver/user/dao/UserInfoDao.xml
+3
-0
ErrorLog.java
src/main/java/com/qiqiim/webserver/user/model/ErrorLog.java
+33
-17
ErrorLogService.java
...va/com/qiqiim/webserver/user/service/ErrorLogService.java
+1
-1
UserInfoService.java
...va/com/qiqiim/webserver/user/service/UserInfoService.java
+2
-0
ErrorLogServiceImpl.java
...qiim/webserver/user/service/impl/ErrorLogServiceImpl.java
+2
-2
UserInfoServiceImpl.java
...qiim/webserver/user/service/impl/UserInfoServiceImpl.java
+4
-0
errorloglist.jsp
src/main/webapp/WEB-INF/page/user/errorloglist.jsp
+1
-1
No files found.
pom.xml
View file @
a44754e4
...
...
@@ -357,6 +357,17 @@
<version>
1.20
</version>
</dependency>
<dependency>
<groupId>
com.aliyun
</groupId>
<artifactId>
aliyun-java-sdk-core
</artifactId>
<version>
3.7.1
</version>
</dependency>
<dependency>
<groupId>
com.aliyun
</groupId>
<artifactId>
aliyun-java-sdk-dysmsapi
</artifactId>
<version>
1.1.0
</version>
</dependency>
</dependencies>
<build>
<plugins>
...
...
qiqiim-server.iml
View file @
a44754e4
...
...
@@ -109,5 +109,8 @@
<orderEntry
type=
"library"
name=
"Maven: com.googlecode.protobuf-java-format:protobuf-java-format:1.4"
level=
"project"
/>
<orderEntry
type=
"library"
name=
"Maven: org.directwebremoting:dwr:3.0.2-RELEASE"
level=
"project"
/>
<orderEntry
type=
"library"
name=
"Maven: eu.bitwalker:UserAgentUtils:1.20"
level=
"project"
/>
<orderEntry
type=
"library"
name=
"Maven: com.aliyun:aliyun-java-sdk-core:3.7.1"
level=
"project"
/>
<orderEntry
type=
"library"
name=
"Maven: org.json:json:20170516"
level=
"project"
/>
<orderEntry
type=
"library"
name=
"Maven: com.aliyun:aliyun-java-sdk-dysmsapi:1.1.0"
level=
"project"
/>
</component>
</module>
\ No newline at end of file
src/main/java/com/qiqiim/webserver/sms/Sms.java
0 → 100644
View file @
a44754e4
/**
* createby : JinxLbj
* date : 2018/8/28
* desc : 短信类
**/
package
com
.
qiqiim
.
webserver
.
sms
;
import
com.aliyuncs.DefaultAcsClient
;
import
com.aliyuncs.IAcsClient
;
import
com.aliyuncs.dysmsapi.model.v20170525.SendSmsRequest
;
import
com.aliyuncs.dysmsapi.model.v20170525.SendSmsResponse
;
import
com.aliyuncs.exceptions.ClientException
;
import
com.aliyuncs.http.MethodType
;
import
com.aliyuncs.profile.DefaultProfile
;
import
com.aliyuncs.profile.IClientProfile
;
public
class
Sms
{
public
static
SmsResponseEntity
sendSms
(
String
messagePhone
)
throws
ClientException
{
//设置超时时间-可自行调整
System
.
setProperty
(
"sun.net.client.defaultConnectTimeout"
,
"10000"
);
System
.
setProperty
(
"sun.net.client.defaultReadTimeout"
,
"10000"
);
//初始化ascClient需要的几个参数
//短信API产品名称(短信产品名固定,无需修改)
final
String
product
=
"Dysmsapi"
;
//短信API产品域名(接口地址固定,无需修改)
final
String
domain
=
"dysmsapi.aliyuncs.com"
;
//替换成你的AK
//你的accessKeyId,参考本文档步骤2
final
String
accessKeyId
=
"LTAI1iNWZ0jnl7Wt"
;
//你的accessKeySecret,参考本文档步骤2
final
String
accessKeySecret
=
"mATCFe5ssZsrelng2KURsb401BU55e"
;
//初始化ascClient,暂时不支持多region(请勿修改)
IClientProfile
profile
=
DefaultProfile
.
getProfile
(
"cn-hangzhou"
,
accessKeyId
,
accessKeySecret
);
DefaultProfile
.
addEndpoint
(
"cn-hangzhou"
,
"cn-hangzhou"
,
product
,
domain
);
IAcsClient
acsClient
=
new
DefaultAcsClient
(
profile
);
//组装请求对象
SendSmsRequest
request
=
new
SendSmsRequest
();
//使用post提交
request
.
setMethod
(
MethodType
.
POST
);
//必填:待发送手机号。支持以逗号分隔的形式进行批量调用,批量上限为1000个手机号码,批量调用相对于单条调用及时性稍有延迟,验证码类型的短信推荐使用单条调用的方式;发送国际/港澳台消息时,接收号码格式为00+国际区号+号码,如“0085200000000”
request
.
setPhoneNumbers
(
messagePhone
);
//必填:短信签名-可在短信控制台中找到
request
.
setSignName
(
"阿里云短信测试专用"
);
//必填:短信模板-可在短信控制台中找到,发送国际/港澳台消息时,请使用国际/港澳台短信模版
request
.
setTemplateCode
(
"SMS_141605474"
);
//可选:模板中的变量替换JSON串,如模板内容为"亲爱的${name},您的验证码为${code}"时,此处的值为
//友情提示:如果JSON中需要带换行符,请参照标准的JSON协议对换行符的要求,比如短信内容中包含\r\n的情况在JSON中需要表示成\\r\\n,否则会导致JSON在服务端解析失败
// request.setTemplateParam("{\"code\":\"123456\"}");
//请求失败这里会抛ClientException异常
SendSmsResponse
sendSmsResponse
=
acsClient
.
getAcsResponse
(
request
);
SmsResponseEntity
smsResponseEntity
=
new
SmsResponseEntity
();
//请求成功
smsResponseEntity
.
setBizId
(
sendSmsResponse
.
getBizId
());
smsResponseEntity
.
setCode
(
sendSmsResponse
.
getCode
());
smsResponseEntity
.
setMessage
(
sendSmsResponse
.
getMessage
());
smsResponseEntity
.
setRequestId
(
sendSmsResponse
.
getRequestId
());
return
smsResponseEntity
;
}
public
static
void
main
(
String
[]
args
)
throws
ClientException
{
sendSms
(
"test"
);
}
}
src/main/java/com/qiqiim/webserver/sms/SmsResponseEntity.java
0 → 100644
View file @
a44754e4
/**
* createby : JinxLbj
* date : 2018/8/28
* desc : 返回类
**/
package
com
.
qiqiim
.
webserver
.
sms
;
public
class
SmsResponseEntity
{
private
String
requestId
;
private
String
code
;
private
String
message
;
private
String
bizId
;
public
String
getRequestId
()
{
return
requestId
;
}
public
void
setRequestId
(
String
requestId
)
{
this
.
requestId
=
requestId
;
}
public
String
getCode
()
{
return
code
;
}
public
void
setCode
(
String
code
)
{
this
.
code
=
code
;
}
public
String
getMessage
()
{
return
message
;
}
public
void
setMessage
(
String
message
)
{
this
.
message
=
message
;
}
public
String
getBizId
()
{
return
bizId
;
}
public
void
setBizId
(
String
bizId
)
{
this
.
bizId
=
bizId
;
}
}
src/main/java/com/qiqiim/webserver/user/controller/ImController.java
View file @
a44754e4
...
...
@@ -8,7 +8,10 @@ import java.util.stream.Collectors;
import
javax.servlet.http.HttpServletRequest
;
import
javax.servlet.http.HttpServletResponse
;
import
com.aliyuncs.exceptions.ClientException
;
import
com.qiqiim.server.model.Session
;
import
com.qiqiim.webserver.sms.Sms
;
import
com.qiqiim.webserver.sms.SmsResponseEntity
;
import
com.qiqiim.webserver.user.dao.UserAdminInfoDao
;
import
com.qiqiim.webserver.user.model.*
;
import
com.qiqiim.webserver.user.service.*
;
...
...
@@ -60,6 +63,8 @@ public class ImController extends BaseController {
private
UserAdminInfoService
userAdminInfoServiceImpl
;
@Autowired
private
UserInfoService
userInfoServiceImpl
;
@Autowired
private
ErrorLogService
errorLogServiceImpl
;
private
static
Logger
logger
=
LoggerFactory
.
getLogger
(
ImController
.
class
);
...
...
@@ -179,7 +184,7 @@ public class ImController extends BaseController {
UserAccountEntity
userAccountEntity
=
userAccountServiceImpl
.
queryObject
(
Long
.
valueOf
(
nowId
));
params
.
put
(
"account"
,
userAccountEntity
.
getAccount
());
params
.
put
(
"password"
,
userAccountEntity
.
getPassword
());
}
else
{
}
else
{
//生成新用户
UserAccountEntity
newUserAccount
=
new
UserAccountEntity
();
String
data
=
UUID
.
randomUUID
().
toString
().
replaceAll
(
"-"
,
""
);
...
...
@@ -194,8 +199,39 @@ public class ImController extends BaseController {
//将信息放入params
params
.
put
(
"account"
,
data
);
params
.
put
(
"password"
,
data
);
//发送短信
String
messagePhone
=
userInfoServiceImpl
.
getMessagePhone
(
Long
.
parseLong
(
request
.
getParameter
(
"wantedId"
)));
try
{
SmsResponseEntity
smsResponseEntity
=
Sms
.
sendSms
(
messagePhone
);
if
(
smsResponseEntity
.
getCode
()
==
null
||
!
"OK"
.
equals
(
smsResponseEntity
.
getCode
())){
//请求失败
ErrorLog
errorLog
=
new
ErrorLog
();
errorLog
.
setId
(
smsResponseEntity
.
getRequestId
());
errorLog
.
setConsultantId
(
Long
.
parseLong
(
request
.
getParameter
(
"wantedId"
)));
Map
<
String
,
Object
>
map
=
new
HashMap
<>();
map
.
put
(
"account"
,
data
);
errorLog
.
setUserId
(
userAccountServiceImpl
.
queryObjectByAccount
(
map
).
getId
());
errorLog
.
setErrorCode
(
smsResponseEntity
.
getCode
());
errorLog
.
setErrorMessage
(
smsResponseEntity
.
getMessage
());
errorLog
.
setPhone
(
messagePhone
);
errorLog
.
setSendTime
(
new
Date
());
errorLogServiceImpl
.
saveErrorLog
(
errorLog
);
}
}
catch
(
ClientException
e
)
{
ErrorLog
errorLog
=
new
ErrorLog
();
errorLog
.
setId
(
e
.
getRequestId
());
errorLog
.
setConsultantId
(
Long
.
parseLong
(
request
.
getParameter
(
"wantedId"
)));
Map
<
String
,
Object
>
map
=
new
HashMap
<>();
map
.
put
(
"account"
,
data
);
errorLog
.
setUserId
(
userAccountServiceImpl
.
queryObjectByAccount
(
map
).
getId
());
errorLog
.
setErrorCode
(
e
.
getErrCode
());
errorLog
.
setErrorMessage
(
e
.
getMessage
());
errorLog
.
setPhone
(
messagePhone
);
errorLog
.
setSendTime
(
new
Date
());
errorLogServiceImpl
.
saveErrorLog
(
errorLog
);
e
.
printStackTrace
();
}
}
//根据新用户登录
...
...
@@ -706,9 +742,9 @@ public class ImController extends BaseController {
@RequestMapping
(
value
=
"/receivePhone"
)
@ResponseBody
public
Map
<
String
,
Object
>
receivePhone
(
@Param
(
value
=
"id"
)
long
id
)
{
public
Map
<
String
,
Object
>
receivePhone
(
@Param
(
value
=
"id"
)
long
id
)
{
String
phone
=
userInfoServiceImpl
.
getPhone
(
id
);
Map
<
String
,
Object
>
map
=
new
HashMap
<>();
Map
<
String
,
Object
>
map
=
new
HashMap
<>();
map
.
put
(
"phone"
,
phone
);
return
map
;
}
...
...
src/main/java/com/qiqiim/webserver/user/dao/ErrorLogDao.java
View file @
a44754e4
...
...
@@ -6,14 +6,16 @@
package
com
.
qiqiim
.
webserver
.
user
.
dao
;
import
com.qiqiim.webserver.base.dao.BaseDao
;
import
com.qiqiim.webserver.user.model.ErrorLog
;
import
com.qiqiim.webserver.user.model.UserAccountEntity
;
import
org.apache.ibatis.annotations.Param
;
import
org.springframework.stereotype.Repository
;
import
java.util.List
;
@Repository
public
interface
ErrorLogDao
{
public
interface
ErrorLogDao
extends
BaseDao
<
UserAccountEntity
>
{
List
<
ErrorLog
>
getLogs
(
String
state
);
...
...
src/main/java/com/qiqiim/webserver/user/dao/ErrorLogDao.xml
View file @
a44754e4
...
...
@@ -21,8 +21,8 @@
</select>
<insert
id=
"saveErrorLog"
>
INSERT INTO error_log (user_id,consultant_id,phone,message,error_code,error_message,send_time,state)
VALUE (#{userId},#{consultantId},#{phone},#{message},#{errorCode},#{errorMessage},#{sendTime},#{state});
INSERT INTO error_log (
id,
user_id,consultant_id,phone,message,error_code,error_message,send_time,state)
VALUE (#{
id},#{
userId},#{consultantId},#{phone},#{message},#{errorCode},#{errorMessage},#{sendTime},#{state});
</insert>
<delete
id=
"delErrorLog"
>
...
...
src/main/java/com/qiqiim/webserver/user/dao/UserInfoDao.java
View file @
a44754e4
...
...
@@ -16,4 +16,6 @@ public interface UserInfoDao extends BaseDao<UserInfoEntity> {
int
delByUid
(
@Param
(
value
=
"id"
)
long
id
);
String
getPhone
(
@Param
(
value
=
"id"
)
long
id
);
String
getMessagePhone
(
@Param
(
value
=
"id"
)
long
id
);
}
src/main/java/com/qiqiim/webserver/user/dao/UserInfoDao.xml
View file @
a44754e4
...
...
@@ -185,4 +185,7 @@
select phone from user_info where uid = #{id};
</select>
<select
id=
"getMessagePhone"
resultType=
"string"
>
select message_phone from user_info where uid = #{id};
</select>
</mapper>
\ No newline at end of file
src/main/java/com/qiqiim/webserver/user/model/ErrorLog.java
View file @
a44754e4
...
...
@@ -6,13 +6,18 @@
package
com
.
qiqiim
.
webserver
.
user
.
model
;
import
org.springframework.format.annotation.DateTimeFormat
;
import
org.springframework.stereotype.Component
;
import
java.text.SimpleDateFormat
;
import
java.util.Date
;
@Component
public
class
ErrorLog
{
private
int
id
;
private
int
userId
;
private
int
consultantId
;
private
String
id
;
private
Long
userId
;
private
Long
consultantId
;
private
String
phone
;
private
String
message
;
private
String
errorCode
;
...
...
@@ -20,28 +25,29 @@ public class ErrorLog {
private
Date
sendTime
;
private
String
state
=
"0"
;
private
String
solution
;
private
String
formatTime
;
public
int
getId
()
{
public
String
getId
()
{
return
id
;
}
public
void
setId
(
int
id
)
{
public
void
setId
(
String
id
)
{
this
.
id
=
id
;
}
public
int
getUserId
()
{
public
Long
getUserId
()
{
return
userId
;
}
public
void
setUserId
(
int
userId
)
{
public
void
setUserId
(
Long
userId
)
{
this
.
userId
=
userId
;
}
public
int
getConsultantId
()
{
public
Long
getConsultantId
()
{
return
consultantId
;
}
public
void
setConsultantId
(
int
consultantId
)
{
public
void
setConsultantId
(
Long
consultantId
)
{
this
.
consultantId
=
consultantId
;
}
...
...
@@ -69,14 +75,6 @@ public class ErrorLog {
this
.
errorCode
=
errorCode
;
}
public
Date
getSendTime
()
{
return
sendTime
;
}
public
void
setSendTime
(
Date
sendTime
)
{
this
.
sendTime
=
sendTime
;
}
public
String
getErrorMessage
()
{
return
errorMessage
;
}
...
...
@@ -85,6 +83,16 @@ public class ErrorLog {
this
.
errorMessage
=
errorMessage
;
}
public
Date
getSendTime
()
{
return
sendTime
;
}
public
void
setSendTime
(
Date
sendTime
)
{
this
.
sendTime
=
sendTime
;
SimpleDateFormat
sdf
=
new
SimpleDateFormat
(
"yyyy-MM-dd HH:mm:ss"
);
this
.
formatTime
=
sdf
.
format
(
sendTime
);
}
public
String
getState
()
{
return
state
;
}
...
...
@@ -100,4 +108,12 @@ public class ErrorLog {
public
void
setSolution
(
String
solution
)
{
this
.
solution
=
solution
;
}
public
String
getFormatTime
()
{
return
formatTime
;
}
public
void
setFormatTime
(
String
formatTime
)
{
this
.
formatTime
=
formatTime
;
}
}
\ No newline at end of file
src/main/java/com/qiqiim/webserver/user/service/ErrorLogService.java
View file @
a44754e4
...
...
@@ -16,7 +16,7 @@ public interface ErrorLogService {
* 错误信息录入数据库
* @return 插入是否成功(0失败 1成功)
*/
int
saveErrorLog
();
int
saveErrorLog
(
ErrorLog
errorLog
);
/**
* 获取所有错误信息
...
...
src/main/java/com/qiqiim/webserver/user/service/UserInfoService.java
View file @
a44754e4
...
...
@@ -29,4 +29,6 @@ public interface UserInfoService {
int
delByUid
(
long
uid
);
String
getPhone
(
long
uid
);
String
getMessagePhone
(
long
uid
);
}
src/main/java/com/qiqiim/webserver/user/service/impl/ErrorLogServiceImpl.java
View file @
a44754e4
...
...
@@ -21,8 +21,8 @@ public class ErrorLogServiceImpl implements ErrorLogService {
private
ErrorLogDao
errorLogDao
;
@Override
public
int
saveErrorLog
()
{
return
errorLogDao
.
saveErrorLog
(
new
ErrorLog
()
);
public
int
saveErrorLog
(
ErrorLog
errorLog
)
{
return
errorLogDao
.
saveErrorLog
(
errorLog
);
}
@Override
...
...
src/main/java/com/qiqiim/webserver/user/service/impl/UserInfoServiceImpl.java
View file @
a44754e4
...
...
@@ -72,4 +72,8 @@ public class UserInfoServiceImpl implements UserInfoService {
return
userInfoDao
.
getPhone
(
uid
);
}
@Override
public
String
getMessagePhone
(
long
uid
)
{
return
userInfoDao
.
getMessagePhone
(
uid
);
}
}
src/main/webapp/WEB-INF/page/user/errorloglist.jsp
View file @
a44754e4
...
...
@@ -42,7 +42,7 @@
<td>
${user.message}
</td>
<td>
${user.errorCode}
</td>
<td>
${user.errorMessage}
</td>
<td>
${user.
send
Time}
</td>
<td>
${user.
format
Time}
</td>
<td>
<a
class=
"layui-btn layui-btn-primary layui-btn-xs sendUserMsg"
onclick=
"del(this)"
>
删除
</a>
</td>
...
...
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