Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
代码敲不队
YoubiliProject
提交
5ef8ce20
Y
YoubiliProject
项目概览
代码敲不队
/
YoubiliProject
通知
7
Star
1
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
DevOps
流水线
流水线任务
计划
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
Y
YoubiliProject
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
DevOps
DevOps
流水线
流水线任务
计划
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
流水线任务
提交
Issue看板
前往新版Gitcode,体验更适合开发者的 AI 搜索 >>
提交
5ef8ce20
编写于
7月 14, 2023
作者:
喷火的神灵
🎱
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
通知模块业务!
上级
1bb215fc
变更
9
隐藏空白更改
内联
并排
Showing
9 changed file
with
341 addition
and
0 deletion
+341
-0
youbili-project-backend/src/main/java/cn/tedu/youbiliprojectbackend/modules/social/notice/controller/NoticeController.java
...nd/modules/social/notice/controller/NoticeController.java
+52
-0
youbili-project-backend/src/main/java/cn/tedu/youbiliprojectbackend/modules/social/notice/dao/persist/mapper/NoticeMapper.java
...odules/social/notice/dao/persist/mapper/NoticeMapper.java
+23
-0
youbili-project-backend/src/main/java/cn/tedu/youbiliprojectbackend/modules/social/notice/dao/persist/repository/INoticeRepository.java
...cial/notice/dao/persist/repository/INoticeRepository.java
+17
-0
youbili-project-backend/src/main/java/cn/tedu/youbiliprojectbackend/modules/social/notice/dao/persist/repository/impl/NoticeRepositoryImpl.java
...ice/dao/persist/repository/impl/NoticeRepositoryImpl.java
+52
-0
youbili-project-backend/src/main/java/cn/tedu/youbiliprojectbackend/modules/social/notice/pojo/entity/Notice.java
...jectbackend/modules/social/notice/pojo/entity/Notice.java
+28
-0
youbili-project-backend/src/main/java/cn/tedu/youbiliprojectbackend/modules/social/notice/pojo/vo/NoticeAllListVO.java
...ackend/modules/social/notice/pojo/vo/NoticeAllListVO.java
+29
-0
youbili-project-backend/src/main/java/cn/tedu/youbiliprojectbackend/modules/social/notice/service/INoticeService.java
...backend/modules/social/notice/service/INoticeService.java
+15
-0
youbili-project-backend/src/main/java/cn/tedu/youbiliprojectbackend/modules/social/notice/service/impl/NoticeServiceImpl.java
...modules/social/notice/service/impl/NoticeServiceImpl.java
+58
-0
youbili-project-backend/src/main/resources/mapper/notice/NoticeMapper.xml
...backend/src/main/resources/mapper/notice/NoticeMapper.xml
+67
-0
未找到文件。
youbili-project-backend/src/main/java/cn/tedu/youbiliprojectbackend/modules/social/notice/controller/NoticeController.java
0 → 100644
浏览文件 @
5ef8ce20
package
cn.tedu.youbiliprojectbackend.modules.social.notice.controller
;
import
cn.tedu.youbiliprojectbackend.common.security.CurrentPrincipal
;
import
cn.tedu.youbiliprojectbackend.common.utils.pagedate.PageData
;
import
cn.tedu.youbiliprojectbackend.common.web.response.RestBean
;
import
cn.tedu.youbiliprojectbackend.modules.social.notice.pojo.vo.NoticeAllListVO
;
import
cn.tedu.youbiliprojectbackend.modules.social.notice.service.INoticeService
;
import
com.github.xiaoymin.knife4j.annotations.ApiOperationSupport
;
import
io.swagger.annotations.Api
;
import
io.swagger.annotations.ApiImplicitParam
;
import
io.swagger.annotations.ApiImplicitParams
;
import
io.swagger.annotations.ApiOperation
;
import
jakarta.validation.Valid
;
import
lombok.extern.slf4j.Slf4j
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.security.access.prepost.PreAuthorize
;
import
org.springframework.security.core.annotation.AuthenticationPrincipal
;
import
org.springframework.validation.annotation.Validated
;
import
org.springframework.web.bind.annotation.*
;
import
java.util.List
;
@Slf4j
@RestController
@RequestMapping
(
"/social/notice"
)
@Validated
@Api
(
tags
=
"1通知"
)
public
class
NoticeController
{
@Autowired
private
INoticeService
noticeService
;
@GetMapping
(
"/listSelect"
)
@ApiOperation
(
"用户通知"
)
@ApiOperationSupport
(
order
=
100
)
public
RestBean
<
Object
>
getSelectNotice
(
@AuthenticationPrincipal
CurrentPrincipal
principal
,
Integer
enable
)
{
log
.
debug
(
"开始处理【查询通知】的请求"
);
System
.
out
.
println
(
"当事人ID"
+
principal
.
getUserID
());
NoticeAllListVO
noticeAllListVO
=
new
NoticeAllListVO
();
noticeAllListVO
.
setTypeEnable
(
enable
);
List
<
NoticeAllListVO
>
noticeAllListVOPageData
=
noticeService
.
userNoticeList
(
noticeAllListVO
,
principal
);
return
RestBean
.
success
(
noticeAllListVOPageData
);
}
@PostMapping
(
"/notifyDelete"
)
@ApiOperation
(
"根据ID删除个人通知"
)
@ApiOperationSupport
(
order
=
200
)
public
RestBean
<
NoticeAllListVO
>
deleteByUserId
(
@AuthenticationPrincipal
CurrentPrincipal
principal
)
{
noticeService
.
deleteByUserId
(
principal
.
getUserID
());
return
RestBean
.
success
();
}
}
youbili-project-backend/src/main/java/cn/tedu/youbiliprojectbackend/modules/social/notice/dao/persist/mapper/NoticeMapper.java
0 → 100644
浏览文件 @
5ef8ce20
package
cn.tedu.youbiliprojectbackend.modules.social.notice.dao.persist.mapper
;
import
cn.tedu.youbiliprojectbackend.modules.social.notice.pojo.entity.Notice
;
import
cn.tedu.youbiliprojectbackend.modules.social.notice.pojo.vo.NoticeAllListVO
;
import
com.baomidou.mybatisplus.core.mapper.BaseMapper
;
import
org.springframework.stereotype.Repository
;
import
java.util.List
;
@Repository
public
interface
NoticeMapper
extends
BaseMapper
<
Notice
>
{
List
<
NoticeAllListVO
>
userEnableNoticeList
(
Integer
enable
);
List
<
NoticeAllListVO
>
adminEnableNoticeList
(
Integer
enable
);
List
<
NoticeAllListVO
>
userNoticeUserId
(
Long
userID
);
void
deleteByUserId
(
Long
id
);
}
youbili-project-backend/src/main/java/cn/tedu/youbiliprojectbackend/modules/social/notice/dao/persist/repository/INoticeRepository.java
0 → 100644
浏览文件 @
5ef8ce20
package
cn.tedu.youbiliprojectbackend.modules.social.notice.dao.persist.repository
;
import
cn.tedu.youbiliprojectbackend.common.utils.pagedate.PageData
;
import
cn.tedu.youbiliprojectbackend.modules.social.notice.pojo.entity.Notice
;
import
cn.tedu.youbiliprojectbackend.modules.social.notice.pojo.vo.NoticeAllListVO
;
import
java.util.List
;
public
interface
INoticeRepository
{
List
<
NoticeAllListVO
>
userNoticeList
(
Integer
enable
);
List
<
NoticeAllListVO
>
adminNoticeList
(
Integer
enable
);
List
<
NoticeAllListVO
>
userNoticeUserId
(
Long
userID
);
Boolean
deleteByUserId
(
Long
id
);
}
youbili-project-backend/src/main/java/cn/tedu/youbiliprojectbackend/modules/social/notice/dao/persist/repository/impl/NoticeRepositoryImpl.java
0 → 100644
浏览文件 @
5ef8ce20
package
cn.tedu.youbiliprojectbackend.modules.social.notice.dao.persist.repository.impl
;
import
cn.tedu.youbiliprojectbackend.common.utils.pagedate.PageData
;
import
cn.tedu.youbiliprojectbackend.common.utils.pagedate.PageInfoToPageDataConverter
;
import
cn.tedu.youbiliprojectbackend.modules.social.notice.dao.persist.mapper.NoticeMapper
;
import
cn.tedu.youbiliprojectbackend.modules.social.notice.dao.persist.repository.INoticeRepository
;
import
cn.tedu.youbiliprojectbackend.modules.social.notice.pojo.entity.Notice
;
import
cn.tedu.youbiliprojectbackend.modules.social.notice.pojo.vo.NoticeAllListVO
;
import
com.baomidou.mybatisplus.core.conditions.query.QueryWrapper
;
import
com.github.pagehelper.PageHelper
;
import
com.github.pagehelper.PageInfo
;
import
lombok.extern.slf4j.Slf4j
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.stereotype.Repository
;
import
java.util.List
;
@Repository
@Slf4j
public
class
NoticeRepositoryImpl
implements
INoticeRepository
{
public
NoticeRepositoryImpl
()
{
log
.
debug
(
"通知的dao层"
);
}
@Autowired
private
NoticeMapper
noticeMapper
;
@Override
public
List
<
NoticeAllListVO
>
userNoticeList
(
Integer
enable
)
{
List
<
NoticeAllListVO
>
list
=
noticeMapper
.
userEnableNoticeList
(
enable
);
return
list
;
}
@Override
public
List
<
NoticeAllListVO
>
adminNoticeList
(
Integer
enable
)
{
List
<
NoticeAllListVO
>
adminNoticeAllList
=
noticeMapper
.
adminEnableNoticeList
(
enable
);
return
adminNoticeAllList
;
}
@Override
public
List
<
NoticeAllListVO
>
userNoticeUserId
(
Long
userID
)
{
return
noticeMapper
.
userNoticeUserId
(
userID
);
}
@Override
public
Boolean
deleteByUserId
(
Long
id
)
{
noticeMapper
.
deleteByUserId
(
id
);
return
true
;
}
}
youbili-project-backend/src/main/java/cn/tedu/youbiliprojectbackend/modules/social/notice/pojo/entity/Notice.java
0 → 100644
浏览文件 @
5ef8ce20
package
cn.tedu.youbiliprojectbackend.modules.social.notice.pojo.entity
;
import
com.baomidou.mybatisplus.annotation.TableName
;
import
lombok.Data
;
import
java.io.Serializable
;
import
java.util.Date
;
@Data
@TableName
(
"notice"
)
public
class
Notice
implements
Serializable
{
private
Long
noticeID
;
private
Long
userID
;
private
String
systemName
;
private
Integer
typeEnable
;
private
String
noticeText
;
private
Date
noticeTime
;
private
Date
gmtCreate
;
private
Date
gmtModified
;
}
youbili-project-backend/src/main/java/cn/tedu/youbiliprojectbackend/modules/social/notice/pojo/vo/NoticeAllListVO.java
0 → 100644
浏览文件 @
5ef8ce20
package
cn.tedu.youbiliprojectbackend.modules.social.notice.pojo.vo
;
import
lombok.Data
;
import
java.io.Serializable
;
import
java.util.Date
;
@Data
public
class
NoticeAllListVO
implements
Serializable
{
private
Long
noticeID
;
private
Long
userID
;
private
Long
videoID
;
private
String
systemName
;
private
Integer
typeEnable
;
private
String
noticeText
;
private
Date
noticeTime
;
private
Date
gmtCreate
;
private
Date
gmtModified
;
}
youbili-project-backend/src/main/java/cn/tedu/youbiliprojectbackend/modules/social/notice/service/INoticeService.java
0 → 100644
浏览文件 @
5ef8ce20
package
cn.tedu.youbiliprojectbackend.modules.social.notice.service
;
import
cn.tedu.youbiliprojectbackend.common.security.CurrentPrincipal
;
import
cn.tedu.youbiliprojectbackend.common.utils.pagedate.PageData
;
import
cn.tedu.youbiliprojectbackend.modules.social.notice.pojo.vo.NoticeAllListVO
;
import
java.util.List
;
public
interface
INoticeService
{
List
<
NoticeAllListVO
>
userNoticeList
(
NoticeAllListVO
noticeAllListVOS
,
CurrentPrincipal
principal
);
Boolean
deleteByUserId
(
Long
id
);
}
youbili-project-backend/src/main/java/cn/tedu/youbiliprojectbackend/modules/social/notice/service/impl/NoticeServiceImpl.java
0 → 100644
浏览文件 @
5ef8ce20
package
cn.tedu.youbiliprojectbackend.modules.social.notice.service.impl
;
import
cn.tedu.youbiliprojectbackend.common.ex.ServiceException
;
import
cn.tedu.youbiliprojectbackend.common.security.CurrentPrincipal
;
import
cn.tedu.youbiliprojectbackend.common.web.response.ServiceCode
;
import
cn.tedu.youbiliprojectbackend.modules.social.notice.dao.persist.repository.INoticeRepository
;
import
cn.tedu.youbiliprojectbackend.modules.social.notice.pojo.vo.NoticeAllListVO
;
import
cn.tedu.youbiliprojectbackend.modules.social.notice.service.INoticeService
;
import
lombok.extern.slf4j.Slf4j
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.stereotype.Service
;
import
java.util.ArrayList
;
import
java.util.List
;
@Service
@Slf4j
public
class
NoticeServiceImpl
implements
INoticeService
{
@Autowired
private
INoticeRepository
noticeRepository
;
@Override
public
List
<
NoticeAllListVO
>
userNoticeList
(
NoticeAllListVO
noticeAllListVOS
,
CurrentPrincipal
principal
)
{
Integer
userEnable
=
noticeAllListVOS
.
getTypeEnable
();
Long
userNoticeUserId
=
principal
.
getUserID
();
List
<
NoticeAllListVO
>
list
=
new
ArrayList
<>();
if
(
userEnable
==
1
)
{
List
<
NoticeAllListVO
>
noticePrivateList
=
noticeRepository
.
userNoticeUserId
(
userNoticeUserId
);
for
(
NoticeAllListVO
noticePrivate
:
noticePrivateList
)
{
Long
userID
=
noticePrivate
.
getUserID
();
if
(
userNoticeUserId
==
userID
){
list
.
add
(
noticePrivate
);
}
}
return
list
;
}
else
if
(
userEnable
==
0
)
{
log
.
debug
(
"开始处理【查询系统通知】的业务"
);
List
<
NoticeAllListVO
>
adminNoticeAllList
=
noticeRepository
.
adminNoticeList
(
userEnable
);
return
adminNoticeAllList
;
}
else
{
return
null
;
}
}
@Override
public
Boolean
deleteByUserId
(
Long
id
)
{
Boolean
deleteNull
=
noticeRepository
.
deleteByUserId
(
id
);
if
(
deleteNull
==
false
)
{
String
message
=
"删除的问内容不存在"
;
log
.
warn
(
message
);
throw
new
ServiceException
(
ServiceCode
.
ERROR_BAD_REQUEST
,
message
);
}
return
true
;
}
}
youbili-project-backend/src/main/resources/mapper/notice/NoticeMapper.xml
0 → 100644
浏览文件 @
5ef8ce20
<?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.tedu.youbiliprojectbackend.modules.social.notice.dao.persist.mapper.NoticeMapper"
>
<!-- <!– List<NoticeAllListVO> userNoticeList(); –>-->
<!-- <select id="userNoticeList"-->
<!-- resultType="cn.tedu.youbiliprojectbackend.modules.social.notice.pojo.vo.NoticeAllListVO">-->
<!-- SELECT userID, typeEnable, noticeText, noticeTime-->
<!-- FROM notice-->
<!-- WHERE notice.userID = #{userID}-->
<!-- ORDER BY noticeID DESC-->
<!-- </select>-->
<!-- <!– List<NoticeAllListVO> adminNoticeList();–>-->
<!-- <!– NoticeAllListVO getStandardByTypeEnable(Long id);–>-->
<!-- <select id="getStandardByTypeEnable"-->
<!-- resultType="cn.tedu.youbiliprojectbackend.modules.social.notice.pojo.vo.NoticeAllListVO">-->
<!-- SELECT userID, typeEnable, noticeText, noticeTime-->
<!-- FROM notice-->
<!-- WHERE notice.noticeID = #{noticeID}-->
<!-- </select>-->
<!-- <!– List<NoticeAllListVO> adminNoticeList();–>-->
<!-- <select id="adminNoticeList" resultType="cn.tedu.youbiliprojectbackend.modules.social.notice.pojo.vo.NoticeAllListVO">-->
<!-- SELECT userID, typeEnable, noticeText, noticeTime-->
<!-- FROM notice-->
<!-- WHERE notice.noticeID = #{noticeID}-->
<!-- </select>-->
<!-- List<NoticeAllListVO> adminNoticeList(); -->
<select
id=
"adminEnableNoticeList"
resultType=
"cn.tedu.youbiliprojectbackend.modules.social.notice.pojo.vo.NoticeAllListVO"
>
SELECT noticeID, userID, typeEnable, noticeText, noticeTime, typeEnable
FROM notice
WHERE typeEnable = 0
ORDER BY noticeID DESC
</select>
<!-- List<NoticeAllListVO> userNoticeList();-->
<select
id=
"userEnableNoticeList"
resultType=
"cn.tedu.youbiliprojectbackend.modules.social.notice.pojo.vo.NoticeAllListVO"
>
SELECT typeEnable, noticeText, noticeTime, userID
FROM notice
WHERE typeEnable = 1
ORDER BY noticeID DESC
</select>
<!-- List<NoticeAllListVO> userNoticeUserId(Long userID);-->
<select
id=
"userNoticeUserId"
resultType=
"cn.tedu.youbiliprojectbackend.modules.social.notice.pojo.vo.NoticeAllListVO"
>
SELECT noticeID, userID, typeEnable, noticeText, noticeTime
FROM notice
WHERE userID
ORDER BY noticeID DESC
</select>
<!-- void deleteByUserId(Long id);-->
<delete
id=
"deleteByUserId"
>
DELETE
FROM notice
WHERE userID = #{userId}
</delete>
</mapper>
\ No newline at end of file
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录