Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
软件工程实践2022年春W班
Mobius
mobius-system
提交
38f8543e
M
mobius-system
项目概览
软件工程实践2022年春W班
/
Mobius
/
mobius-system
通知
5
Star
0
Fork
2
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
DevOps
流水线
流水线任务
计划
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
M
mobius-system
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
DevOps
DevOps
流水线
流水线任务
计划
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
流水线任务
提交
Issue看板
前往新版Gitcode,体验更适合开发者的 AI 搜索 >>
提交
38f8543e
编写于
6月 17, 2022
作者:
S
Sqh
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
v0.1.7
发送笔友信的业务逻辑和邮票数目对接完成
上级
02973d12
变更
3
隐藏空白更改
内联
并排
Showing
3 changed file
with
60 addition
and
52 deletion
+60
-52
mobius-portal/src/main/java/com/mobius/modules/lms/service/LmsPenService.java
...in/java/com/mobius/modules/lms/service/LmsPenService.java
+2
-0
mobius-portal/src/main/java/com/mobius/modules/lms/service/impl/LmsPenServiceImpl.java
...om/mobius/modules/lms/service/impl/LmsPenServiceImpl.java
+57
-51
mobius-portal/src/main/java/com/mobius/modules/ums/model/UmsUser.java
...l/src/main/java/com/mobius/modules/ums/model/UmsUser.java
+1
-1
未找到文件。
mobius-portal/src/main/java/com/mobius/modules/lms/service/LmsPenService.java
浏览文件 @
38f8543e
...
...
@@ -9,6 +9,7 @@ import com.mobius.modules.lms.dto.SearchReceivedLmsPensConditionParam;
import
com.mobius.modules.lms.dto.SearchSentLmsPensConditionParam
;
import
com.mobius.modules.lms.model.LmsPen
;
import
com.mobius.modules.lms.vo.PenVO
;
import
org.springframework.transaction.annotation.Transactional
;
/**
* <p>
...
...
@@ -41,6 +42,7 @@ public interface LmsPenService extends IService<LmsPen> {
CommonResult
userPenFriendSendList
(
IPage
<
PenBriefDTO
>
page
);
@Transactional
CommonResult
userSendPen
(
PenVO
penVO
);
CommonResult
getPenFriendLetterInfo
(
Long
id
);
...
...
mobius-portal/src/main/java/com/mobius/modules/lms/service/impl/LmsPenServiceImpl.java
浏览文件 @
38f8543e
...
...
@@ -34,7 +34,7 @@ import java.util.*;
/**
* <p>
*
服务实现类
* 服务实现类
* </p>
*
* @author Hzd
...
...
@@ -73,7 +73,7 @@ public class LmsPenServiceImpl extends ServiceImpl<LmsPenMapper, LmsPen> impleme
UmsUser
user
=
userService
.
getUserByPhone
(
phone
);
Integer
sentId
=
user
.
getId
();
final
LambdaQueryWrapper
<
LmsPen
>
lambda
=
new
QueryWrapper
<
LmsPen
>().
lambda
();
lambda
.
eq
(
LmsPen:
:
getSenderId
,
sentId
);
lambda
.
eq
(
LmsPen:
:
getSenderId
,
sentId
);
if
(
conditionParam
.
getReceiveId
()
!=
null
)
{
lambda
.
eq
(
LmsPen:
:
getReceiverId
,
conditionParam
.
getReceiveId
());
}
...
...
@@ -90,22 +90,22 @@ public class LmsPenServiceImpl extends ServiceImpl<LmsPenMapper, LmsPen> impleme
final
Date
lowerUpdateTime
=
conditionParam
.
getLowerUpdateTime
();
final
Date
upperUpdateTime
=
conditionParam
.
getUpperUpdateTime
();
final
SimpleDateFormat
dateFormat
=
new
SimpleDateFormat
(
ComConstants
.
DATE_TIME_FORMAT_PATTERN
);
if
(
lowerArriveTime
!=
null
){
if
(
lowerArriveTime
!=
null
)
{
lambda
.
apply
(
"UNIX_TIMESTAMP(arrive_time) >= UNIX_TIMESTAMP('"
+
dateFormat
.
format
(
lowerArriveTime
)
+
"')"
);
}
if
(
upperArriveTime
!=
null
){
if
(
upperArriveTime
!=
null
)
{
lambda
.
apply
(
"UNIX_TIMESTAMP(arrive_time) <= UNIX_TIMESTAMP('"
+
dateFormat
.
format
(
upperArriveTime
)
+
"')"
);
}
if
(
lowerCreateTime
!=
null
){
if
(
lowerCreateTime
!=
null
)
{
lambda
.
apply
(
"UNIX_TIMESTAMP(create_time) >= UNIX_TIMESTAMP('"
+
dateFormat
.
format
(
lowerCreateTime
)
+
"')"
);
}
if
(
upperCreateTime
!=
null
){
if
(
upperCreateTime
!=
null
)
{
lambda
.
apply
(
"UNIX_TIMESTAMP(create_time) <= UNIX_TIMESTAMP('"
+
dateFormat
.
format
(
upperCreateTime
)
+
"')"
);
}
if
(
lowerUpdateTime
!=
null
){
if
(
lowerUpdateTime
!=
null
)
{
lambda
.
apply
(
"UNIX_TIMESTAMP(update_time) >= UNIX_TIMESTAMP('"
+
dateFormat
.
format
(
lowerUpdateTime
)
+
"')"
);
}
if
(
upperUpdateTime
!=
null
){
if
(
upperUpdateTime
!=
null
)
{
lambda
.
apply
(
"UNIX_TIMESTAMP(update_time) <= UNIX_TIMESTAMP('"
+
dateFormat
.
format
(
upperUpdateTime
)
+
"')"
);
}
return
super
.
page
(
page
,
lambda
);
...
...
@@ -119,7 +119,7 @@ public class LmsPenServiceImpl extends ServiceImpl<LmsPenMapper, LmsPen> impleme
UmsUser
user
=
userService
.
getUserByPhone
(
phone
);
Integer
receiveId
=
user
.
getId
();
final
LambdaQueryWrapper
<
LmsPen
>
lambda
=
new
QueryWrapper
<
LmsPen
>().
lambda
();
lambda
.
eq
(
LmsPen:
:
getReceiverId
,
receiveId
);
lambda
.
eq
(
LmsPen:
:
getReceiverId
,
receiveId
);
if
(
conditionParam
.
getSenderId
()
!=
null
)
{
lambda
.
eq
(
LmsPen:
:
getSenderId
,
conditionParam
.
getSenderId
());
}
...
...
@@ -136,35 +136,36 @@ public class LmsPenServiceImpl extends ServiceImpl<LmsPenMapper, LmsPen> impleme
final
Date
lowerUpdateTime
=
conditionParam
.
getLowerUpdateTime
();
final
Date
upperUpdateTime
=
conditionParam
.
getUpperUpdateTime
();
final
SimpleDateFormat
dateFormat
=
new
SimpleDateFormat
(
ComConstants
.
DATE_TIME_FORMAT_PATTERN
);
if
(
lowerArriveTime
!=
null
){
if
(
lowerArriveTime
!=
null
)
{
lambda
.
apply
(
"UNIX_TIMESTAMP(arrive_time) >= UNIX_TIMESTAMP('"
+
dateFormat
.
format
(
lowerArriveTime
)
+
"')"
);
}
if
(
upperArriveTime
!=
null
){
if
(
upperArriveTime
!=
null
)
{
lambda
.
apply
(
"UNIX_TIMESTAMP(arrive_time) <= UNIX_TIMESTAMP('"
+
dateFormat
.
format
(
upperArriveTime
)
+
"')"
);
}
if
(
lowerCreateTime
!=
null
){
if
(
lowerCreateTime
!=
null
)
{
lambda
.
apply
(
"UNIX_TIMESTAMP(create_time) >= UNIX_TIMESTAMP('"
+
dateFormat
.
format
(
lowerCreateTime
)
+
"')"
);
}
if
(
upperCreateTime
!=
null
){
if
(
upperCreateTime
!=
null
)
{
lambda
.
apply
(
"UNIX_TIMESTAMP(create_time) <= UNIX_TIMESTAMP('"
+
dateFormat
.
format
(
upperCreateTime
)
+
"')"
);
}
if
(
lowerUpdateTime
!=
null
){
if
(
lowerUpdateTime
!=
null
)
{
lambda
.
apply
(
"UNIX_TIMESTAMP(update_time) >= UNIX_TIMESTAMP('"
+
dateFormat
.
format
(
lowerUpdateTime
)
+
"')"
);
}
if
(
upperUpdateTime
!=
null
){
if
(
upperUpdateTime
!=
null
)
{
lambda
.
apply
(
"UNIX_TIMESTAMP(update_time) <= UNIX_TIMESTAMP('"
+
dateFormat
.
format
(
upperUpdateTime
)
+
"')"
);
}
return
super
.
page
(
page
,
lambda
);
}
return
super
.
page
(
page
,
lambda
);
}
@Override
public
CommonResult
userPenFriendSendList
(
IPage
<
PenBriefDTO
>
page
)
{
MyUserDetail
details
=
(
MyUserDetail
)
SecurityContextHolder
.
getContext
().
getAuthentication
().
getPrincipal
();
IPage
<
PenBriefDTO
>
senderPenBriefList
=
baseMapper
.
selectSenderPenBriefList
(
Long
.
parseLong
(
details
.
getId
().
toString
()),
page
);
HashMap
<
String
,
Object
>
result
=
new
HashMap
<>();
result
.
put
(
"total"
,
senderPenBriefList
.
getTotal
());
HashMap
<
String
,
Object
>
result
=
new
HashMap
<>();
result
.
put
(
"total"
,
senderPenBriefList
.
getTotal
());
result
.
put
(
"list"
,
senderPenBriefList
.
getRecords
());
result
.
put
(
"list"
,
senderPenBriefList
.
getRecords
());
return
CommonResult
.
success
(
result
);
}
...
...
@@ -172,24 +173,25 @@ public class LmsPenServiceImpl extends ServiceImpl<LmsPenMapper, LmsPen> impleme
public
CommonResult
userSendPen
(
PenVO
penVO
)
{
MyUserDetail
details
=
(
MyUserDetail
)
SecurityContextHolder
.
getContext
().
getAuthentication
().
getPrincipal
();
if
(
penVO
.
getReceiverId
().
equals
(
details
.
getId
())){
if
(
penVO
.
getReceiverId
().
equals
(
details
.
getId
()))
{
return
CommonResult
.
failed
(
"不能写信给自己"
);
}
if
(!
relationService
.
isFriend
(
penVO
.
getReceiverId
())){
if
(!
relationService
.
isFriend
(
penVO
.
getReceiverId
()))
{
return
CommonResult
.
failed
(
"您未添加对方为好友"
);
};
}
;
Long
contentId
=
draftLetterService
.
saveDraft
(
penVO
,
0
);
UmsUser
byId
=
userService
.
getById
(
penVO
.
getReceiverId
());
if
(
byId
==
null
)
{
if
(
byId
==
null
)
{
return
CommonResult
.
failed
(
"收信方不存在"
);
}
LmsIncident
incident
=
incidentService
.
generateIncidentId
();
Date
arriveTime
=
new
Date
(
new
Date
().
getTime
()
+
incident
.
getDelayTime
()*
60
*
60
*
1000
);
Date
arriveTime
=
new
Date
(
System
.
currentTimeMillis
()
+
incident
.
getDelayTime
()
*
60
*
60
*
1000
);
String
contentBrief
;
if
(
penVO
.
getContent
().
length
()
<=
20
)
{
contentBrief
=
penVO
.
getContent
();
}
else
{
contentBrief
=
penVO
.
getContent
().
substring
(
0
,
20
);
if
(
penVO
.
getContent
().
length
()
<=
20
)
{
contentBrief
=
penVO
.
getContent
();
}
else
{
contentBrief
=
penVO
.
getContent
().
substring
(
0
,
20
);
}
LmsPen
pen
=
LmsPen
.
builder
()
.
id
(
0L
)
...
...
@@ -208,6 +210,9 @@ public class LmsPenServiceImpl extends ServiceImpl<LmsPenMapper, LmsPen> impleme
.
build
();
save
(
pen
);
final
UmsUser
currentUser
=
userService
.
getCurrentUser
();
currentUser
.
setStampCount
(
currentUser
.
getStampCount
()
-
1
);
userService
.
updateUserById
(
currentUser
);
return
CommonResult
.
success
(
incident
);
}
...
...
@@ -215,13 +220,13 @@ public class LmsPenServiceImpl extends ServiceImpl<LmsPenMapper, LmsPen> impleme
public
CommonResult
getPenFriendLetterInfo
(
Long
id
)
{
MyUserDetail
details
=
(
MyUserDetail
)
SecurityContextHolder
.
getContext
().
getAuthentication
().
getPrincipal
();
LmsPen
byId
=
getById
(
id
);
if
(
byId
==
null
)
{
if
(
byId
==
null
)
{
return
CommonResult
.
failed
(
"信件不存在"
);
}
if
(
byId
.
getSenderId
().
intValue
()
==
details
.
getId
().
intValue
()){
if
(
byId
.
getSenderId
().
intValue
()
==
details
.
getId
().
intValue
())
{
return
CommonResult
.
success
(
baseMapper
.
selectPenInfo
(
id
));
}
else
if
(
byId
.
getReceiverId
().
equals
(
details
.
getId
()))
{
if
(
byId
.
getArriveTime
().
after
(
new
Date
())){
}
else
if
(
byId
.
getReceiverId
().
equals
(
details
.
getId
()))
{
if
(
byId
.
getArriveTime
().
after
(
new
Date
()))
{
return
CommonResult
.
failed
(
"信件未送达"
);
}
byId
.
setIsRead
(
1
);
...
...
@@ -234,11 +239,11 @@ public class LmsPenServiceImpl extends ServiceImpl<LmsPenMapper, LmsPen> impleme
@Override
public
LmsPen
getLatestPenLetter
(
Long
userId
)
{
QueryWrapper
<
LmsPen
>
wrapper
=
new
QueryWrapper
<>();
wrapper
.
eq
(
"receiver_id"
,
userId
);
wrapper
.
ge
(
"arrive_time"
,
new
Date
());
wrapper
.
eq
(
"receiver_id"
,
userId
);
wrapper
.
ge
(
"arrive_time"
,
new
Date
());
wrapper
.
orderByDesc
(
"arrive_time"
);
List
<
LmsPen
>
lmsPens
=
baseMapper
.
selectList
(
wrapper
);
if
(
lmsPens
.
isEmpty
()){
if
(
lmsPens
.
isEmpty
())
{
return
null
;
}
return
lmsPens
.
get
(
0
);
...
...
@@ -248,37 +253,38 @@ public class LmsPenServiceImpl extends ServiceImpl<LmsPenMapper, LmsPen> impleme
public
CommonResult
getUserLatestPenInfo
()
{
MyUserDetail
details
=
(
MyUserDetail
)
SecurityContextHolder
.
getContext
().
getAuthentication
().
getPrincipal
();
LmsPen
latestPenLetter
=
getLatestPenLetter
(
Long
.
parseLong
(
details
.
getId
().
toString
()));
if
(
latestPenLetter
==
null
)
{
if
(
latestPenLetter
==
null
)
{
return
CommonResult
.
success
(
"快和你的笔友们交流吧!"
);
}
LmsIncident
incident
=
incidentService
.
getById
(
latestPenLetter
.
getIncidentId
());
long
hours
=
latestPenLetter
.
getArriveTime
().
getTime
()
-
new
Date
().
getTime
();
hours
=
hours
/(
1000
*
60
*
60
);
String
message
=
"有一封信正在赶来....+\n"
+
"路上"
+
incident
.
getDescription
()
+
",\n"
+
"大约"
+
hours
+
"小时后到达."
;
long
hours
=
latestPenLetter
.
getArriveTime
().
getTime
()
-
new
Date
().
getTime
();
hours
=
hours
/
(
1000
*
60
*
60
);
String
message
=
"有一封信正在赶来....+\n"
+
"路上"
+
incident
.
getDescription
()
+
",\n"
+
"大约"
+
hours
+
"小时后到达."
;
return
CommonResult
.
success
(
message
);
}
@Override
public
CommonResult
getPenFriendList
(
Long
friendId
,
Long
page
,
Long
size
)
{
if
(!
relationService
.
isFriend
(
Integer
.
valueOf
(
friendId
.
toString
()))){
if
(!
relationService
.
isFriend
(
Integer
.
valueOf
(
friendId
.
toString
())))
{
return
CommonResult
.
failed
(
"您未添加对方为好友"
);
};
}
;
MyUserDetail
details
=
(
MyUserDetail
)
SecurityContextHolder
.
getContext
().
getAuthentication
().
getPrincipal
();
Date
date
=
new
Date
(
"2000/5/22"
);
log
.
info
(
date
.
toString
());
IPage
<
PenBriefDTO
>
sendList
=
baseMapper
.
selectSenderPenBriefList
(
Long
.
parseLong
(
details
.
getId
().
toString
()),
friendId
,
date
,
new
Page
<>(
page
,
size
));
IPage
<
PenBriefDTO
>
receiveList
=
baseMapper
.
selectSenderPenBriefList
(
friendId
,
Long
.
parseLong
(
details
.
getId
().
toString
()),
new
Date
(),
new
Page
<>(
page
,
size
));
HashMap
<
String
,
Object
>
result
=
new
HashMap
<>();
result
.
put
(
"total"
,
sendList
.
getTotal
()
+
receiveList
.
getTotal
());
IPage
<
PenBriefDTO
>
sendList
=
baseMapper
.
selectSenderPenBriefList
(
Long
.
parseLong
(
details
.
getId
().
toString
()),
friendId
,
date
,
new
Page
<>(
page
,
size
));
IPage
<
PenBriefDTO
>
receiveList
=
baseMapper
.
selectSenderPenBriefList
(
friendId
,
Long
.
parseLong
(
details
.
getId
().
toString
()),
new
Date
(),
new
Page
<>(
page
,
size
));
HashMap
<
String
,
Object
>
result
=
new
HashMap
<>();
result
.
put
(
"total"
,
sendList
.
getTotal
()
+
receiveList
.
getTotal
());
List
<
PenBriefDTO
>
resultList
=
new
ArrayList
<>();
resultList
.
addAll
(
sendList
.
getRecords
());
resultList
.
addAll
(
receiveList
.
getRecords
());
resultList
.
sort
(
new
Comparator
<
PenBriefDTO
>()
{
@Override
public
int
compare
(
PenBriefDTO
o1
,
PenBriefDTO
o2
)
{
if
(
o1
.
getIsRead
()
>
o2
.
getIsRead
())
{
if
(
o1
.
getIsRead
()
>
o2
.
getIsRead
())
{
return
1
;
}
if
(
o1
.
getArriveTime
().
before
(
o2
.
getArriveTime
()))
{
...
...
@@ -287,12 +293,12 @@ public class LmsPenServiceImpl extends ServiceImpl<LmsPenMapper, LmsPen> impleme
return
0
;
}
});
int
start
=
(
int
)
((
page
-
1
)*
size
);
int
start
=
(
int
)
((
page
-
1
)
*
size
);
List
<
PenBriefDTO
>
penBriefDTOS
=
new
ArrayList
<>();
for
(
int
i
=
start
;
i
<
resultList
.
size
()-
1
&&
i
<
start
+
size
;
i
++)
{
for
(
int
i
=
start
;
i
<
resultList
.
size
()
-
1
&&
i
<
start
+
size
;
i
++)
{
penBriefDTOS
.
add
(
resultList
.
get
(
i
));
}
result
.
put
(
"list"
,
penBriefDTOS
);
result
.
put
(
"list"
,
penBriefDTOS
);
return
CommonResult
.
success
(
result
);
}
...
...
mobius-portal/src/main/java/com/mobius/modules/ums/model/UmsUser.java
浏览文件 @
38f8543e
...
...
@@ -70,7 +70,7 @@ public class UmsUser implements Serializable {
private
String
icon
;
@ApiModelProperty
(
value
=
"邮票数量"
)
private
String
stampCount
;
private
Integer
stampCount
;
@ApiModelProperty
(
value
=
"每日收到信件投递的时间,格式为hh:mm:ss"
)
private
String
receiveLetterTime
;
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录