Skip to content
项目
群组
代码片段
帮助
当前项目
正在载入...
登录 / 注册
切换导航面板
D
device-back
项目
项目
详情
活动
周期分析
仓库
仓库
文件
提交
分支
标签
贡献者
图表
比较
统计图
议题
1
议题
1
列表
看板
标记
里程碑
合并请求
0
合并请求
0
CI / CD
CI / CD
流水线
作业
日程
统计图
Wiki
Wiki
代码片段
代码片段
成员
成员
折叠边栏
关闭边栏
活动
图像
聊天
创建新问题
作业
提交
问题看板
Open sidebar
Matrix
device-back
Commits
25e4880c
提交
25e4880c
authored
12月 01, 2020
作者:
邓砥奕
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
提交阅知模块
上级
a2f8b6d7
隐藏空白字符变更
内嵌
并排
正在显示
7 个修改的文件
包含
431 行增加
和
0 行删除
+431
-0
MessageController.java
...om/tykj/dev/device/read/controller/MessageController.java
+44
-0
MessageDao.java
.../java/com/tykj/dev/device/read/repository/MessageDao.java
+13
-0
MessageService.java
...java/com/tykj/dev/device/read/service/MessageService.java
+35
-0
MessageServiceImpl.java
...tykj/dev/device/read/service/impl/MessageServiceImpl.java
+96
-0
MessageBto.java
...java/com/tykj/dev/device/read/subject/bto/MessageBto.java
+104
-0
Message.java
.../java/com/tykj/dev/device/read/subject/domin/Message.java
+89
-0
MessageUserVo.java
...va/com/tykj/dev/device/read/subject/vo/MessageUserVo.java
+50
-0
没有找到文件。
dev-read/src/main/java/com/tykj/dev/device/read/controller/MessageController.java
0 → 100644
浏览文件 @
25e4880c
package
com
.
tykj
.
dev
.
device
.
read
.
controller
;
/**
* @author dengdiyi
*/
import
com.tykj.dev.config.swagger.AutoDocument
;
import
com.tykj.dev.device.read.service.MessageService
;
import
io.swagger.annotations.Api
;
import
io.swagger.annotations.ApiOperation
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.http.ResponseEntity
;
import
org.springframework.web.bind.annotation.*
;
/**
* @author dengdiyi
*/
@RestController
@Api
(
tags
=
"阅知模块"
,
description
=
"阅知模块"
)
@AutoDocument
@RequestMapping
(
"/read"
)
public
class
MessageController
{
@Autowired
private
MessageService
messageService
;
@ApiOperation
(
value
=
"阅知信息查询"
)
@GetMapping
(
"/get"
)
public
ResponseEntity
getMessage
(){
return
ResponseEntity
.
ok
(
messageService
.
getList
());
}
@ApiOperation
(
value
=
"提交已读阅知信息"
)
@PostMapping
(
"/read/{id}"
)
public
ResponseEntity
readMessage
(
@PathVariable
(
"id"
)
int
id
){
return
ResponseEntity
.
ok
(
messageService
.
read
(
id
).
parse2Bto
().
toVo
());
}
@ApiOperation
(
value
=
"完成阅知信息"
)
@PostMapping
(
"/complete/{id}"
)
public
ResponseEntity
completeMessage
(
@PathVariable
(
"id"
)
int
id
){
return
ResponseEntity
.
ok
(
messageService
.
complete
(
id
).
parse2Bto
().
toVo
());
}
}
dev-read/src/main/java/com/tykj/dev/device/read/repository/MessageDao.java
0 → 100644
浏览文件 @
25e4880c
package
com
.
tykj
.
dev
.
device
.
read
.
repository
;
import
com.tykj.dev.device.read.subject.domin.Message
;
import
org.springframework.data.jpa.repository.JpaRepository
;
import
org.springframework.data.jpa.repository.JpaSpecificationExecutor
;
import
org.springframework.stereotype.Repository
;
/**
* @author dengdiyi
*/
@Repository
public
interface
MessageDao
extends
JpaRepository
<
Message
,
Integer
>,
JpaSpecificationExecutor
<
Message
>
{
}
dev-read/src/main/java/com/tykj/dev/device/read/service/MessageService.java
0 → 100644
浏览文件 @
25e4880c
package
com
.
tykj
.
dev
.
device
.
read
.
service
;
import
com.tykj.dev.device.read.subject.bto.MessageBto
;
import
com.tykj.dev.device.read.subject.domin.Message
;
import
com.tykj.dev.device.read.subject.vo.MessageUserVo
;
import
java.util.List
;
/**
* @author dengdiyi
*/
public
interface
MessageService
{
MessageBto
add
(
MessageBto
messageBto
);
Message
update
(
Message
message
);
Message
get
(
Integer
id
);
void
delete
(
Integer
id
);
List
<
MessageUserVo
>
getList
();
/**
* @param messageId 阅知信息id
* 阅读该信息
*/
Message
read
(
Integer
messageId
);
/**
* @param messageId 阅知信息id
* 完成该阅知信息
*/
Message
complete
(
Integer
messageId
);
}
dev-read/src/main/java/com/tykj/dev/device/read/service/impl/MessageServiceImpl.java
0 → 100644
浏览文件 @
25e4880c
package
com
.
tykj
.
dev
.
device
.
read
.
service
.
impl
;
import
com.tykj.dev.device.read.repository.MessageDao
;
import
com.tykj.dev.device.read.service.MessageService
;
import
com.tykj.dev.device.read.subject.bto.MessageBto
;
import
com.tykj.dev.device.read.subject.domin.Message
;
import
com.tykj.dev.device.read.subject.vo.MessageUserVo
;
import
com.tykj.dev.device.user.util.UserUtils
;
import
com.tykj.dev.misc.exception.ApiException
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.stereotype.Service
;
import
java.util.Comparator
;
import
java.util.List
;
import
java.util.Optional
;
import
java.util.stream.Collectors
;
/**
* @author dengdiyi
*/
@Service
public
class
MessageServiceImpl
implements
MessageService
{
@Autowired
private
MessageDao
messageDao
;
@Autowired
private
UserUtils
userUtils
;
@Override
public
MessageBto
add
(
MessageBto
messageBto
)
{
return
messageDao
.
save
(
messageBto
.
toDo
()).
parse2Bto
();
}
@Override
public
Message
update
(
Message
message
)
{
return
messageDao
.
save
(
message
);
}
@Override
public
Message
get
(
Integer
id
)
{
Optional
<
Message
>
message
=
messageDao
.
findById
(
id
);
if
(
message
.
isPresent
()){
return
message
.
get
();
}
else
{
throw
new
ApiException
(
"Id不存在"
);
}
}
@Override
public
void
delete
(
Integer
id
)
{
messageDao
.
deleteById
(
id
);
}
@Override
public
List
<
MessageUserVo
>
getList
()
{
Integer
userId
=
userUtils
.
getCurrentUserId
();
return
messageDao
.
findAll
().
stream
()
.
map
(
Message:
:
parse2Bto
)
.
filter
(
messageBto
->
messageBto
.
getInvolveUserIdList
().
contains
(
userId
)&&!
messageBto
.
getCompleteUserIdList
().
contains
(
userId
))
.
map
(
MessageBto:
:
toVo
)
.
sorted
(
Comparator
.
comparing
(
MessageUserVo:
:
getCreateTime
).
reversed
())
.
collect
(
Collectors
.
toList
());
}
/**
* @param messageId 阅知信息id
*/
@Override
public
Message
read
(
Integer
messageId
)
{
Integer
userId
=
userUtils
.
getCurrentUserId
();
MessageBto
messageBto
=
get
(
messageId
).
parse2Bto
();
List
<
Integer
>
userIds
=
messageBto
.
getUserReadDetailList
();
userIds
.
add
(
userId
);
messageBto
.
setUserReadDetailList
(
userIds
);
List
<
Integer
>
userIds2
=
messageBto
.
getCompleteUserIdList
();
userIds2
.
add
(
userId
);
messageBto
.
setCompleteUserIdList
(
userIds2
);
return
messageDao
.
save
(
messageBto
.
toDo
());
}
/**
* @param messageId 阅知信息id
* 完成该阅知信息
*/
@Override
public
Message
complete
(
Integer
messageId
)
{
Integer
userId
=
userUtils
.
getCurrentUserId
();
MessageBto
messageBto
=
get
(
messageId
).
parse2Bto
();
List
<
Integer
>
userIds
=
messageBto
.
getCompleteUserIdList
();
userIds
.
add
(
userId
);
messageBto
.
setCompleteUserIdList
(
userIds
);
return
messageDao
.
save
(
messageBto
.
toDo
());
}
}
dev-read/src/main/java/com/tykj/dev/device/read/subject/bto/MessageBto.java
0 → 100644
浏览文件 @
25e4880c
package
com
.
tykj
.
dev
.
device
.
read
.
subject
.
bto
;
import
com.tykj.dev.device.read.subject.domin.Message
;
import
com.tykj.dev.device.read.subject.vo.MessageUserVo
;
import
com.tykj.dev.device.user.util.UserUtils
;
import
com.tykj.dev.misc.base.BeanHelper
;
import
com.tykj.dev.misc.utils.SpringUtils
;
import
com.tykj.dev.misc.utils.StringSplitUtil
;
import
io.swagger.annotations.ApiModelProperty
;
import
lombok.AllArgsConstructor
;
import
lombok.Data
;
import
lombok.NoArgsConstructor
;
import
org.modelmapper.ModelMapper
;
import
org.springframework.data.annotation.CreatedDate
;
import
org.springframework.data.annotation.LastModifiedBy
;
import
org.springframework.data.annotation.LastModifiedDate
;
import
java.util.ArrayList
;
import
java.util.Date
;
import
java.util.List
;
/**
* @author dengdiyi
*/
@Data
@NoArgsConstructor
@AllArgsConstructor
public
class
MessageBto
{
@ApiModelProperty
(
name
=
"主键id"
)
private
Integer
id
;
@ApiModelProperty
(
name
=
"阅知信息对应业务Id"
)
private
Integer
taskId
;
@ApiModelProperty
(
value
=
"业务类型主键id"
)
private
Integer
businessType
;
@ApiModelProperty
(
value
=
"信息内容"
)
private
String
content
;
@ApiModelProperty
(
value
=
"阅知人员id类别"
)
private
List
<
Integer
>
involveUserIdList
;
@ApiModelProperty
(
value
=
"已完成人员id列表"
)
private
List
<
Integer
>
completeUserIdList
=
new
ArrayList
<>();
@ApiModelProperty
(
value
=
"用户已读列表"
)
private
List
<
Integer
>
userReadDetailList
=
new
ArrayList
<>();
@ApiModelProperty
(
value
=
"创建用户id"
)
private
Integer
createUserId
;
@ApiModelProperty
(
value
=
"创建时间"
)
@CreatedDate
private
Date
createTime
;
@ApiModelProperty
(
value
=
"更新用户id"
)
@LastModifiedBy
private
Integer
updateUserId
;
@ApiModelProperty
(
value
=
"更新时间"
)
@LastModifiedDate
private
Date
updateTime
;
@ApiModelProperty
(
value
=
"删除标记(0:未删除,1:已删除)"
)
private
Integer
deleteTag
=
0
;
/**
* bto类转化为do类
*/
public
Message
toDo
()
{
//复制相同属性
ModelMapper
modelMapper
=
BeanHelper
.
getUserMapper
();
Message
message
=
modelMapper
.
map
(
this
,
Message
.
class
);
//set组合字段
message
.
setInvolveUsers
(
StringSplitUtil
.
idListToString
(
this
.
involveUserIdList
));
message
.
setUserReadDetail
(
StringSplitUtil
.
idListToString
(
this
.
userReadDetailList
));
message
.
setCompleteUsers
(
StringSplitUtil
.
idListToString
(
this
.
completeUserIdList
));
return
message
;
}
/**
* bto类转化为vo类
*/
public
MessageUserVo
toVo
()
{
UserUtils
userUtils
=
SpringUtils
.
getBean
(
"userUtils"
);
//复制相同属性
ModelMapper
modelMapper
=
BeanHelper
.
getUserMapper
();
MessageUserVo
messageUserVo
=
modelMapper
.
map
(
this
,
MessageUserVo
.
class
);
//set vo字段
if
(
userUtils
!=
null
&&
userReadDetailList
.
contains
(
userUtils
.
getCurrentUserId
())){
messageUserVo
.
setIsRead
(
1
);
}
return
messageUserVo
;
}
public
MessageBto
(
Integer
taskId
,
Integer
businessType
,
String
content
,
List
<
Integer
>
involveUserIdList
)
{
this
.
taskId
=
taskId
;
this
.
businessType
=
businessType
;
this
.
content
=
content
;
this
.
involveUserIdList
=
involveUserIdList
;
}
}
dev-read/src/main/java/com/tykj/dev/device/read/subject/domin/Message.java
0 → 100644
浏览文件 @
25e4880c
package
com
.
tykj
.
dev
.
device
.
read
.
subject
.
domin
;
import
com.tykj.dev.misc.base.BeanHelper
;
import
com.tykj.dev.misc.utils.StringSplitUtil
;
import
io.swagger.annotations.ApiModel
;
import
io.swagger.annotations.ApiModelProperty
;
import
lombok.Data
;
import
org.hibernate.annotations.SQLDelete
;
import
org.hibernate.annotations.Where
;
import
org.modelmapper.ModelMapper
;
import
org.springframework.data.annotation.CreatedBy
;
import
org.springframework.data.annotation.CreatedDate
;
import
org.springframework.data.annotation.LastModifiedBy
;
import
org.springframework.data.annotation.LastModifiedDate
;
import
org.springframework.data.jpa.domain.support.AuditingEntityListener
;
import
com.tykj.dev.device.read.subject.bto.MessageBto
;
import
javax.persistence.*
;
import
java.util.Date
;
/**
* 阅知信息表
* @author dengdiyi
*/
@Data
@Entity
@EntityListeners
(
AuditingEntityListener
.
class
)
@SQLDelete
(
sql
=
"update message set delete_tag = 1 where id = ?"
)
@Where
(
clause
=
"delete_tag = 0"
)
@ApiModel
(
"阅知信息表"
)
public
class
Message
{
@Id
@GeneratedValue
(
strategy
=
GenerationType
.
IDENTITY
)
@ApiModelProperty
(
name
=
"主键id"
)
private
Integer
id
;
@ApiModelProperty
(
name
=
"阅知信息对应业务Id"
)
private
Integer
taskId
;
@ApiModelProperty
(
value
=
"业务类型主键id"
)
private
Integer
businessType
;
@ApiModelProperty
(
value
=
"信息内容"
)
private
String
content
;
@ApiModelProperty
(
value
=
"阅知人员id(x作为分隔符),例如x1x2x,意为id为1,2的用户待阅知该信息"
)
private
String
involveUsers
;
@ApiModelProperty
(
value
=
"已完成人员id(x作为分隔符),例如x1x2x,意为id为1,2的用户已完成阅知该信息"
)
private
String
completeUsers
;
@ApiModelProperty
(
value
=
"用户阅读信息"
)
private
String
userReadDetail
;
@ApiModelProperty
(
value
=
"创建用户id"
)
@CreatedBy
private
Integer
createUserId
;
@ApiModelProperty
(
value
=
"创建时间"
)
@CreatedDate
private
Date
createTime
;
@ApiModelProperty
(
value
=
"更新用户id"
)
@LastModifiedBy
private
Integer
updateUserId
;
@ApiModelProperty
(
value
=
"更新时间"
)
@LastModifiedDate
private
Date
updateTime
;
@ApiModelProperty
(
value
=
"删除标记(0:未删除,1:已删除)"
)
private
Integer
deleteTag
=
0
;
/**
* do类转化为bto类
*/
public
MessageBto
parse2Bto
()
{
//modelMap复制
ModelMapper
mapper
=
BeanHelper
.
getUserMapper
();
MessageBto
messageBto
=
mapper
.
map
(
this
,
MessageBto
.
class
);
//解析组合字段并添加
messageBto
.
setInvolveUserIdList
(
StringSplitUtil
.
userIdSplit
(
this
.
involveUsers
));
messageBto
.
setUserReadDetailList
(
StringSplitUtil
.
userIdSplit
(
this
.
userReadDetail
));
messageBto
.
setCompleteUserIdList
(
StringSplitUtil
.
userIdSplit
(
this
.
completeUsers
));
return
messageBto
;
}
}
dev-read/src/main/java/com/tykj/dev/device/read/subject/vo/MessageUserVo.java
0 → 100644
浏览文件 @
25e4880c
package
com
.
tykj
.
dev
.
device
.
read
.
subject
.
vo
;
import
io.swagger.annotations.ApiModelProperty
;
import
lombok.AllArgsConstructor
;
import
lombok.Data
;
import
lombok.NoArgsConstructor
;
import
org.springframework.data.annotation.CreatedDate
;
import
org.springframework.data.annotation.LastModifiedBy
;
import
org.springframework.data.annotation.LastModifiedDate
;
import
java.util.Date
;
/**
* @author dengdiyi
*/
@Data
@NoArgsConstructor
@AllArgsConstructor
public
class
MessageUserVo
{
@ApiModelProperty
(
name
=
"主键id"
)
private
Integer
id
;
@ApiModelProperty
(
name
=
"阅知信息对应业务Id"
)
private
Integer
taskId
;
@ApiModelProperty
(
value
=
"业务类型主键id"
)
private
Integer
businessType
;
@ApiModelProperty
(
value
=
"信息内容"
)
private
String
content
;
@ApiModelProperty
(
name
=
"当前用户是否已阅读(0:未读,1:已读)"
)
private
Integer
isRead
=
0
;
@ApiModelProperty
(
value
=
"创建用户id"
)
private
Integer
createUserId
;
@ApiModelProperty
(
value
=
"创建时间"
)
@CreatedDate
private
Date
createTime
;
@ApiModelProperty
(
value
=
"更新用户id"
)
@LastModifiedBy
private
Integer
updateUserId
;
@ApiModelProperty
(
value
=
"更新时间"
)
@LastModifiedDate
private
Date
updateTime
;
}
编写
预览
Markdown
格式
0%
重试
或
添加新文件
添加附件
取消
您添加了
0
人
到此讨论。请谨慎行事。
请先完成此评论的编辑!
取消
请
注册
或者
登录
后发表评论