From a55a04541ff13dcd5ef3b3a1e3fd488bdfb198dd Mon Sep 17 00:00:00 2001
From: zwzw1219
Date: Mon, 2 Oct 2017 20:03:52 +0800
Subject: [PATCH] =?UTF-8?q?!4=20=E5=85=AC=E5=91=8A=20Merge=20pull=20reques?=
=?UTF-8?q?t=20!4=20from=20zwzw1219/notice?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
doc/db/boot_backend.sql | 109 ++++++----
...sController.java => NoticeController.java} | 118 ++++++++---
.../dao/{ArticlesDao.java => NoticeDao.java} | 35 +++-
.../com/zw/admin/server/dto/NoticeReadVO.java | 19 ++
.../com/zw/admin/server/dto/NoticeVO.java | 21 ++
.../model/{Articles.java => Notice.java} | 2 +-
.../mybatis-mappers/ArticlesMapper.xml | 36 ----
.../mybatis-mappers/NoticeMapper.xml | 86 ++++++++
src/main/resources/public/index.html | 3 +
.../resources/public/pages/dashboard.html | 2 +-
.../addArticle.html => notice/addNotice.html} | 6 +-
.../resources/public/pages/notice/detail.html | 87 ++++++++
.../noticeList.html} | 30 ++-
.../public/pages/notice/noticePubList.html | 197 ++++++++++++++++++
.../updateNotice.html} | 8 +-
src/main/resources/static/js/main.js | 18 +-
16 files changed, 636 insertions(+), 141 deletions(-)
rename src/main/java/com/zw/admin/server/controller/{ArticlesController.java => NoticeController.java} (31%)
rename src/main/java/com/zw/admin/server/dao/{ArticlesDao.java => NoticeDao.java} (38%)
create mode 100644 src/main/java/com/zw/admin/server/dto/NoticeReadVO.java
create mode 100644 src/main/java/com/zw/admin/server/dto/NoticeVO.java
rename src/main/java/com/zw/admin/server/model/{Articles.java => Notice.java} (86%)
delete mode 100644 src/main/resources/mybatis-mappers/ArticlesMapper.xml
create mode 100644 src/main/resources/mybatis-mappers/NoticeMapper.xml
rename src/main/resources/public/pages/{article/addArticle.html => notice/addNotice.html} (96%)
create mode 100644 src/main/resources/public/pages/notice/detail.html
rename src/main/resources/public/pages/{article/articleList.html => notice/noticeList.html} (84%)
create mode 100644 src/main/resources/public/pages/notice/noticePubList.html
rename src/main/resources/public/pages/{article/updateArticle.html => notice/updateNotice.html} (95%)
diff --git a/doc/db/boot_backend.sql b/doc/db/boot_backend.sql
index d97966c..b1d1964 100644
--- a/doc/db/boot_backend.sql
+++ b/doc/db/boot_backend.sql
@@ -1,38 +1,20 @@
/*
Navicat MySQL Data Transfer
-Source Server : localhost
-Source Server Version : 50717
+Source Server : zhangw
+Source Server Version : 50624
Source Host : localhost:3306
Source Database : boot_backend
Target Server Type : MYSQL
-Target Server Version : 50717
+Target Server Version : 50624
File Encoding : 65001
-Date: 2017-09-27 17:40:56
+Date: 2017-10-02 19:26:05
*/
SET FOREIGN_KEY_CHECKS=0;
--- ----------------------------
--- Table structure for articles
--- ----------------------------
-DROP TABLE IF EXISTS `articles`;
-CREATE TABLE `articles` (
- `id` int(11) NOT NULL AUTO_INCREMENT,
- `title` varchar(128) NOT NULL,
- `content` text NOT NULL,
- `status` tinyint(1) NOT NULL DEFAULT '1',
- `createTime` datetime NOT NULL,
- `updateTime` datetime NOT NULL,
- PRIMARY KEY (`id`)
-) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
-
--- ----------------------------
--- Records of articles
--- ----------------------------
-
-- ----------------------------
-- Table structure for file_info
-- ----------------------------
@@ -299,7 +281,7 @@ CREATE TABLE `sys_permission` (
`permission` varchar(50) DEFAULT NULL,
`sort` int(11) NOT NULL,
PRIMARY KEY (`id`)
-) ENGINE=InnoDB AUTO_INCREMENT=31 DEFAULT CHARSET=utf8mb4;
+) ENGINE=InnoDB AUTO_INCREMENT=34 DEFAULT CHARSET=utf8mb4;
-- ----------------------------
-- Records of sys_permission
@@ -324,10 +306,10 @@ INSERT INTO `sys_permission` VALUES ('18', '16', '删除', '', '', '2', 'sys:fil
INSERT INTO `sys_permission` VALUES ('19', '0', '数据源监控', 'fa-eye', 'druid/index.html', '1', '', '9');
INSERT INTO `sys_permission` VALUES ('20', '0', '接口swagger', 'fa-file-pdf-o', 'swagger-ui.html', '1', '', '10');
INSERT INTO `sys_permission` VALUES ('21', '0', '代码生成', 'fa-wrench', 'pages/generate/edit.html', '1', 'generate:edit', '11');
-INSERT INTO `sys_permission` VALUES ('22', '0', '公告管理', 'fa-book', 'pages/article/articleList.html', '1', '', '12');
-INSERT INTO `sys_permission` VALUES ('23', '22', '查询', '', '', '2', 'articles:query', '100');
-INSERT INTO `sys_permission` VALUES ('24', '22', '添加', '', '', '2', 'articles:add', '100');
-INSERT INTO `sys_permission` VALUES ('25', '22', '删除', '', '', '2', 'articles:del', '100');
+INSERT INTO `sys_permission` VALUES ('22', '0', '公告管理', 'fa-book', 'pages/notice/noticeList.html', '1', '', '12');
+INSERT INTO `sys_permission` VALUES ('23', '22', '查询', '', '', '2', 'notice:query', '100');
+INSERT INTO `sys_permission` VALUES ('24', '22', '添加', '', '', '2', 'notice:add', '100');
+INSERT INTO `sys_permission` VALUES ('25', '22', '删除', '', '', '2', 'notice:del', '100');
INSERT INTO `sys_permission` VALUES ('26', '0', '日志查询', 'fa-reorder', 'pages/log/logList.html', '1', 'sys:log:query', '13');
INSERT INTO `sys_permission` VALUES ('27', '0', '邮件管理', 'fa-envelope', 'pages/mail/mailList.html', '1', '', '14');
INSERT INTO `sys_permission` VALUES ('28', '27', '发送邮件', '', '', '2', 'mail:send', '100');
@@ -474,24 +456,6 @@ CREATE TABLE `sys_user` (
INSERT INTO `sys_user` VALUES ('1', 'admin', '1015ed3b5f1345911198c995f9ad097e', '87e03afa1f0122531f729c9a7453f475', '管理员', null, '', '', '', '1998-07-01', '0', '1', '2017-04-10 15:21:38', '2017-07-06 09:20:19');
INSERT INTO `sys_user` VALUES ('2', 'user', '72c2e62dba72e5f178542313803f33d1', '143292269df8c63e2da1a9ba2aeff43c', '用户', null, '', '', '', null, '1', '1', '2017-08-01 21:47:18', '2017-08-01 21:47:18');
--- ----------------------------
--- Table structure for t_mail
--- ----------------------------
-DROP TABLE IF EXISTS `t_mail`;
-CREATE TABLE `t_mail` (
- `id` int(11) NOT NULL AUTO_INCREMENT,
- `userId` int(11) NOT NULL COMMENT '发送人',
- `subject` varchar(255) NOT NULL COMMENT '标题',
- `content` longtext NOT NULL COMMENT '正文',
- `createTime` datetime NOT NULL,
- `updateTime` datetime NOT NULL,
- PRIMARY KEY (`id`)
-) ENGINE=InnoDB AUTO_INCREMENT=9 DEFAULT CHARSET=utf8mb4;
-
--- ----------------------------
--- Records of t_mail
--- ----------------------------
-
-- ----------------------------
-- Table structure for t_job
-- ----------------------------
@@ -511,6 +475,28 @@ CREATE TABLE `t_job` (
UNIQUE KEY `jobName` (`jobName`)
) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=utf8mb4;
+-- ----------------------------
+-- Records of t_job
+-- ----------------------------
+
+-- ----------------------------
+-- Table structure for t_mail
+-- ----------------------------
+DROP TABLE IF EXISTS `t_mail`;
+CREATE TABLE `t_mail` (
+ `id` int(11) NOT NULL AUTO_INCREMENT,
+ `userId` int(11) NOT NULL COMMENT '发送人',
+ `subject` varchar(255) NOT NULL COMMENT '标题',
+ `content` longtext NOT NULL COMMENT '正文',
+ `createTime` datetime NOT NULL,
+ `updateTime` datetime NOT NULL,
+ PRIMARY KEY (`id`)
+) ENGINE=InnoDB AUTO_INCREMENT=9 DEFAULT CHARSET=utf8mb4;
+
+-- ----------------------------
+-- Records of t_mail
+-- ----------------------------
+
-- ----------------------------
-- Table structure for t_mail_to
-- ----------------------------
@@ -526,3 +512,36 @@ CREATE TABLE `t_mail_to` (
-- ----------------------------
-- Records of t_mail_to
-- ----------------------------
+
+-- ----------------------------
+-- Table structure for t_notice
+-- ----------------------------
+DROP TABLE IF EXISTS `t_notice`;
+CREATE TABLE `t_notice` (
+ `id` int(11) NOT NULL AUTO_INCREMENT,
+ `title` varchar(128) NOT NULL,
+ `content` text NOT NULL,
+ `status` tinyint(1) NOT NULL DEFAULT '1',
+ `createTime` datetime NOT NULL,
+ `updateTime` datetime NOT NULL,
+ PRIMARY KEY (`id`)
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
+
+-- ----------------------------
+-- Records of t_notice
+-- ----------------------------
+
+-- ----------------------------
+-- Table structure for t_notice_read
+-- ----------------------------
+DROP TABLE IF EXISTS `t_notice_read`;
+CREATE TABLE `t_notice_read` (
+ `noticeId` int(11) NOT NULL,
+ `userId` int(11) NOT NULL,
+ `createTime` datetime NOT NULL,
+ PRIMARY KEY (`noticeId`,`userId`)
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
+
+-- ----------------------------
+-- Records of t_notice_read
+-- ----------------------------
diff --git a/src/main/java/com/zw/admin/server/controller/ArticlesController.java b/src/main/java/com/zw/admin/server/controller/NoticeController.java
similarity index 31%
rename from src/main/java/com/zw/admin/server/controller/ArticlesController.java
rename to src/main/java/com/zw/admin/server/controller/NoticeController.java
index 2b9128f..12e511d 100644
--- a/src/main/java/com/zw/admin/server/controller/ArticlesController.java
+++ b/src/main/java/com/zw/admin/server/controller/NoticeController.java
@@ -14,74 +14,128 @@ import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import com.zw.admin.server.annotation.LogAnnotation;
-import com.zw.admin.server.dao.ArticlesDao;
-import com.zw.admin.server.model.Articles;
-import com.zw.admin.server.page.table.PageTableRequest;
+import com.zw.admin.server.dao.NoticeDao;
+import com.zw.admin.server.dto.NoticeReadVO;
+import com.zw.admin.server.dto.NoticeVO;
+import com.zw.admin.server.model.Notice;
+import com.zw.admin.server.model.Notice.Status;
+import com.zw.admin.server.model.User;
import com.zw.admin.server.page.table.PageTableHandler;
-import com.zw.admin.server.page.table.PageTableResponse;
import com.zw.admin.server.page.table.PageTableHandler.CountHandler;
import com.zw.admin.server.page.table.PageTableHandler.ListHandler;
+import com.zw.admin.server.page.table.PageTableRequest;
+import com.zw.admin.server.page.table.PageTableResponse;
+import com.zw.admin.server.utils.UserUtil;
import io.swagger.annotations.ApiOperation;
@RestController
-@RequestMapping("/articles")
-public class ArticlesController {
+@RequestMapping("/notices")
+public class NoticeController {
@Autowired
- private ArticlesDao articlesDao;
+ private NoticeDao noticeDao;
@LogAnnotation
@PostMapping
- @ApiOperation(value = "保存文章")
- @RequiresPermissions("articles:add")
- public Articles saveArticles(@RequestBody Articles articles) {
- articlesDao.save(articles);
+ @ApiOperation(value = "保存公告")
+ @RequiresPermissions("notice:add")
+ public Notice saveNotice(@RequestBody Notice notice) {
+ noticeDao.save(notice);
- return articles;
+ return notice;
}
@GetMapping("/{id}")
- @ApiOperation(value = "根据id获取文章")
- @RequiresPermissions("articles:query")
- public Articles get(@PathVariable Long id) {
- return articlesDao.getById(id);
+ @ApiOperation(value = "根据id获取公告")
+ @RequiresPermissions("notice:query")
+ public Notice get(@PathVariable Long id) {
+ return noticeDao.getById(id);
+ }
+
+ @GetMapping(params = "id")
+ public NoticeVO readNotice(Long id) {
+ NoticeVO vo = new NoticeVO();
+
+ Notice notice = noticeDao.getById(id);
+ if (notice == null || notice.getStatus() == Status.DRAFT) {
+ return vo;
+ }
+ vo.setNotice(notice);
+
+ noticeDao.saveReadRecord(notice.getId(), UserUtil.getCurrentUser().getId());
+
+ List users = noticeDao.listReadUsers(id);
+ vo.setUsers(users);
+
+ return vo;
}
@LogAnnotation
@PutMapping
- @ApiOperation(value = "修改文章")
- @RequiresPermissions("articles:add")
- public Articles updateArticles(@RequestBody Articles articles) {
- articlesDao.update(articles);
+ @ApiOperation(value = "修改公告")
+ @RequiresPermissions("notice:add")
+ public Notice updateNotice(@RequestBody Notice notice) {
+ Notice no = noticeDao.getById(notice.getId());
+ if (no.getStatus() == Status.PUBLISH) {
+ throw new IllegalArgumentException("发布状态的不能修改");
+ }
+ noticeDao.update(notice);
- return articles;
+ return notice;
}
@GetMapping
- @ApiOperation(value = "文章列表")
- @RequiresPermissions("articles:query")
- public PageTableResponse listArticles(PageTableRequest request) {
- return PageTableHandler. builder().countHandler(new CountHandler() {
+ @ApiOperation(value = "公告管理列表")
+ @RequiresPermissions("notice:query")
+ public PageTableResponse listNotice(PageTableRequest request) {
+ return PageTableHandler. builder().countHandler(new CountHandler() {
@Override
public int count(PageTableRequest request) {
- return articlesDao.count(request.getParams());
+ return noticeDao.count(request.getParams());
}
- }).listHandler(new ListHandler() {
+ }).listHandler(new ListHandler() {
@Override
- public List list(PageTableRequest request) {
- return articlesDao.list(request.getParams(), request.getOffset(), request.getLimit());
+ public List list(PageTableRequest request) {
+ return noticeDao.list(request.getParams(), request.getOffset(), request.getLimit());
}
}).build().handle(request);
}
@LogAnnotation
@DeleteMapping("/{id}")
- @ApiOperation(value = "删除文章")
- @RequiresPermissions(value = { "articles:del" })
+ @ApiOperation(value = "删除公告")
+ @RequiresPermissions(value = { "notice:del" })
public void delete(@PathVariable Long id) {
- articlesDao.delete(id);
+ noticeDao.delete(id);
+ }
+
+ @ApiOperation(value = "未读公告数")
+ @GetMapping("/count-unread")
+ public Integer countUnread() {
+ User user = UserUtil.getCurrentUser();
+ return noticeDao.countUnread(user.getId());
+ }
+
+ @GetMapping("/published")
+ @ApiOperation(value = "公告列表")
+ public PageTableResponse listNoticeReadVO(PageTableRequest request) {
+ request.getParams().put("userId", UserUtil.getCurrentUser().getId());
+
+ return PageTableHandler. builder().countHandler(new CountHandler() {
+
+ @Override
+ public int count(PageTableRequest request) {
+ return noticeDao.countNotice(request.getParams());
+ }
+ }).listHandler(new ListHandler() {
+
+ @Override
+ public List list(PageTableRequest request) {
+ return noticeDao.listNotice(request.getParams(), request.getOffset(), request.getLimit());
+ }
+ }).build().handle(request);
}
}
diff --git a/src/main/java/com/zw/admin/server/dao/ArticlesDao.java b/src/main/java/com/zw/admin/server/dao/NoticeDao.java
similarity index 38%
rename from src/main/java/com/zw/admin/server/dao/ArticlesDao.java
rename to src/main/java/com/zw/admin/server/dao/NoticeDao.java
index c84c26f..3f88eb1 100644
--- a/src/main/java/com/zw/admin/server/dao/ArticlesDao.java
+++ b/src/main/java/com/zw/admin/server/dao/NoticeDao.java
@@ -11,26 +11,41 @@ import org.apache.ibatis.annotations.Param;
import org.apache.ibatis.annotations.Select;
import org.apache.ibatis.annotations.Update;
-import com.zw.admin.server.model.Articles;
+import com.zw.admin.server.dto.NoticeReadVO;
+import com.zw.admin.server.model.Notice;
+import com.zw.admin.server.model.User;
@Mapper
-public interface ArticlesDao {
+public interface NoticeDao {
- @Select("select * from articles t where t.id = #{id}")
- Articles getById(Long id);
+ @Select("select * from t_notice t where t.id = #{id}")
+ Notice getById(Long id);
- @Delete("delete from articles where id = #{id}")
+ @Delete("delete from t_notice where id = #{id}")
int delete(Long id);
- @Update("update articles t set title = #{title}, content = #{content}, status = #{status}, updateTime = #{updateTime} where t.id = #{id}")
- int update(Articles articles);
+ @Update("update t_notice t set title = #{title}, content = #{content}, status = #{status}, updateTime = #{updateTime} where t.id = #{id}")
+ int update(Notice notice);
@Options(useGeneratedKeys = true, keyProperty = "id")
- @Insert("insert into articles(title, content, status, createTime, updateTime) values(#{title}, #{content}, #{status}, #{createTime}, #{updateTime})")
- int save(Articles articles);
+ @Insert("insert into t_notice(title, content, status, createTime, updateTime) values(#{title}, #{content}, #{status}, #{createTime}, #{updateTime})")
+ int save(Notice notice);
int count(@Param("params") Map params);
- List list(@Param("params") Map params, @Param("offset") Integer offset,
+ List list(@Param("params") Map params, @Param("offset") Integer offset,
+ @Param("limit") Integer limit);
+
+ @Insert("insert ignore into t_notice_read(noticeId, userId, createTime) values(#{noticeId}, #{userId}, now())")
+ int saveReadRecord(@Param("noticeId") Long noticeId, @Param("userId") Long userId);
+
+ List listReadUsers(Long noticeId);
+
+ @Select("select count(1) from t_notice t left join t_notice_read r on r.noticeId = t.id and r.userId = #{userId} where t.status = 1 and r.userId is null")
+ int countUnread(Long userId);
+
+ int countNotice(@Param("params") Map params);
+
+ List listNotice(@Param("params") Map params, @Param("offset") Integer offset,
@Param("limit") Integer limit);
}
diff --git a/src/main/java/com/zw/admin/server/dto/NoticeReadVO.java b/src/main/java/com/zw/admin/server/dto/NoticeReadVO.java
new file mode 100644
index 0000000..ffae09f
--- /dev/null
+++ b/src/main/java/com/zw/admin/server/dto/NoticeReadVO.java
@@ -0,0 +1,19 @@
+package com.zw.admin.server.dto;
+
+import java.util.Date;
+
+import com.zw.admin.server.model.Notice;
+
+import lombok.Getter;
+import lombok.Setter;
+
+@Setter
+@Getter
+public class NoticeReadVO extends Notice {
+
+ private static final long serialVersionUID = -3842182350180882396L;
+
+ private Long userId;
+ private Date readTime;
+ private Boolean isRead;
+}
diff --git a/src/main/java/com/zw/admin/server/dto/NoticeVO.java b/src/main/java/com/zw/admin/server/dto/NoticeVO.java
new file mode 100644
index 0000000..806f446
--- /dev/null
+++ b/src/main/java/com/zw/admin/server/dto/NoticeVO.java
@@ -0,0 +1,21 @@
+package com.zw.admin.server.dto;
+
+import java.io.Serializable;
+import java.util.List;
+
+import com.zw.admin.server.model.Notice;
+import com.zw.admin.server.model.User;
+
+import lombok.Getter;
+import lombok.Setter;
+
+@Getter
+@Setter
+public class NoticeVO implements Serializable {
+
+ private static final long serialVersionUID = 7363353918096951799L;
+
+ private Notice notice;
+
+ private List users;
+}
diff --git a/src/main/java/com/zw/admin/server/model/Articles.java b/src/main/java/com/zw/admin/server/model/Notice.java
similarity index 86%
rename from src/main/java/com/zw/admin/server/model/Articles.java
rename to src/main/java/com/zw/admin/server/model/Notice.java
index bdeded5..d33e397 100644
--- a/src/main/java/com/zw/admin/server/model/Articles.java
+++ b/src/main/java/com/zw/admin/server/model/Notice.java
@@ -5,7 +5,7 @@ import lombok.Setter;
@Getter
@Setter
-public class Articles extends BaseEntity {
+public class Notice extends BaseEntity {
private static final long serialVersionUID = -4401913568806243090L;
diff --git a/src/main/resources/mybatis-mappers/ArticlesMapper.xml b/src/main/resources/mybatis-mappers/ArticlesMapper.xml
deleted file mode 100644
index db0824b..0000000
--- a/src/main/resources/mybatis-mappers/ArticlesMapper.xml
+++ /dev/null
@@ -1,36 +0,0 @@
-
-
-
-
-
-
-
- and t.title like concat('%', #{params.title}, '%')
-
-
- and t.status = #{params.status}
-
-
- and t.updateTime >= #{params.beginTime}
-
-
-
- and DATE(t.updateTime) <= #{params.endTime}
-
-
-
-
-
- select count(1) from articles t
-
-
-
-
- select * from articles t
-
- ${params.orderBy}
- limit #{offset}, #{limit}
-
-
-
\ No newline at end of file
diff --git a/src/main/resources/mybatis-mappers/NoticeMapper.xml b/src/main/resources/mybatis-mappers/NoticeMapper.xml
new file mode 100644
index 0000000..4d1efb4
--- /dev/null
+++ b/src/main/resources/mybatis-mappers/NoticeMapper.xml
@@ -0,0 +1,86 @@
+
+
+
+
+
+
+
+ and t.title like concat('%', #{params.title}, '%')
+
+
+ and t.status = #{params.status}
+
+
+ and t.updateTime >= #{params.beginTime}
+
+
+
+ and DATE(t.updateTime) <= #{params.endTime}
+
+
+
+
+
+ select count(1) from t_notice t
+
+
+
+
+ select * from t_notice t
+
+ ${params.orderBy}
+ limit #{offset}, #{limit}
+
+
+
+ select u.* from
+ t_notice_read r inner join sys_user u
+ on u.id = r.userId
+ where
+ r.noticeId = #{noticeId}
+ order by r.createTime desc
+
+
+
+
+ t.status = 1
+
+ and t.title like concat('%', #{params.title}, '%')
+
+
+
+ and t.updateTime >= #{params.beginTime}
+
+
+
+ and DATE(t.updateTime) <= #{params.endTime}
+
+
+
+ and r.createTime is null
+
+
+ and r.createTime is not null
+
+
+
+
+
+
+ select count(1) from t_notice t left join
+ t_notice_read r on
+ r.noticeId = t.id and r.userId = #{params.userId}
+
+
+
+
+ select t.*,r.createTime readTime,
+ if(r.createTime is null, 0, 1) isRead,r.userId
+ from t_notice t left join
+ t_notice_read r on r.noticeId = t.id and r.userId = #{params.userId}
+
+ ${params.orderBy}
+ limit #{offset}, #{limit}
+
+
\ No newline at end of file
diff --git a/src/main/resources/public/index.html b/src/main/resources/public/index.html
index 7492e00..78f858e 100644
--- a/src/main/resources/public/index.html
+++ b/src/main/resources/public/index.html
@@ -30,6 +30,9 @@
- 公告管理:发布公告、查询公告
+ 公告管理:公告未读提醒、发布公告、查询公告、公告阅读人列表
个人信息修改
diff --git a/src/main/resources/public/pages/article/addArticle.html b/src/main/resources/public/pages/notice/addNotice.html
similarity index 96%
rename from src/main/resources/public/pages/article/addArticle.html
rename to src/main/resources/public/pages/notice/addNotice.html
index ed1a209..44892b7 100644
--- a/src/main/resources/public/pages/article/addArticle.html
+++ b/src/main/resources/public/pages/notice/addNotice.html
@@ -34,7 +34,7 @@