diff --git a/Pinnacle/src/main/java/com/cfive/pinnacle/controller/NoticeController.java b/Pinnacle/src/main/java/com/cfive/pinnacle/controller/NoticeController.java index 7746257..910e787 100644 --- a/Pinnacle/src/main/java/com/cfive/pinnacle/controller/NoticeController.java +++ b/Pinnacle/src/main/java/com/cfive/pinnacle/controller/NoticeController.java @@ -1,6 +1,8 @@ package com.cfive.pinnacle.controller; import com.cfive.pinnacle.entity.Notice; +import com.cfive.pinnacle.entity.common.ResponseCode; +import com.cfive.pinnacle.entity.common.ResponseResult; import com.cfive.pinnacle.service.INoticeService; import lombok.Data; import org.springframework.beans.factory.annotation.Autowired; @@ -27,45 +29,45 @@ public class NoticeController { //根据公告id查公告信息及发布人 @GetMapping("/{nid}") - public Result selectByNoticeId(@PathVariable Long nid) { + public ResponseResult selectByNoticeId(@PathVariable Long nid) { Notice noticeById = noticeService.selectByNoticeId(nid); - Integer code = noticeById != null ? Code.SELECT_NOTICE_OK : Code.SELECT_NOTICE_ERR; + Integer code = noticeById != null ? ResponseCode.DATABASE_SELECT_OK : ResponseCode.DATABASE_SELECT_ERROR; String msg = noticeById != null ? "" : "数据查询失败,请尝试!"; - return new Result(code, noticeById, msg); + return ResponseResult.build(code, msg, noticeById); } ; //添加公告 @GetMapping - public Result selectAllNoticeId() { - List noticeList = noticeService.selectAllNoticeId(); - Integer code = noticeList != null ? Code.SELECT_ALL_OK : Code.SELECT_ALL_ERR; + public ResponseResult selectAllNotice() { + List noticeList = noticeService.selectAllNotice(); + Integer code = noticeList != null ? ResponseCode.DATABASE_SELECT_OK : ResponseCode.DATABASE_SELECT_ERROR; String msg = noticeList != null ? "" : "数据查询失败,请尝试!"; - return new Result(code, noticeList, msg); + return ResponseResult.build(code, msg, noticeList); } @PostMapping - public Result updateNotice(@RequestBody Notice notice) { + public ResponseResult updateNotice(@RequestBody Notice notice) { notice.setId(null); //清除id,使新插入的数据id自增 - notice.setModifyTime(LocalDateTime.now()); notice.setOriginId(notice.getId()); boolean updateById = noticeService.save(notice); - Result result = new Result(updateById ? Code.UPDATE_OK : Code.UPDATE_ERR, updateById); - return result; + String msg = updateById ? "" : "数据修改失败,请尝试!"; + return ResponseResult.build(updateById ? ResponseCode.DATABASE_UPDATE_OK : ResponseCode.DATABASE_UPDATE_ERROR, msg, updateById); } @PutMapping - public Result addNotice(@RequestBody Notice notice){ + public ResponseResult addNotice(@RequestBody Notice notice) { boolean insertNotice = noticeService.save(notice); - Result result = new Result(insertNotice ? Code.SAVE_OK : Code.SAVE_ERR, insertNotice); - return result; + String msg = insertNotice ? "" : "数据添加失败,请尝试!"; + return ResponseResult.build(insertNotice ? ResponseCode.DATABASE_SAVE_OK : ResponseCode.DATABASE_SAVE_ERROR, msg, insertNotice); } @DeleteMapping("/{nid}") - public Result deleteByNoticeId(@PathVariable Long nid){ - boolean removeById= noticeService.removeById(nid); - Result result = new Result(removeById ? Code.DELETE_OK : Code.DELETE_ERR, removeById); - return result; + public ResponseResult deleteByNoticeId(@PathVariable Long nid) { + boolean removeById = noticeService.deleteById(nid); + String msg = removeById ? "" : "数据删除失败,请尝试!"; + return ResponseResult.build(removeById ? ResponseCode.DATABASE_DELETE_OK : ResponseCode.DATABASE_DELETE_ERROR, msg, removeById); + } } diff --git a/Pinnacle/src/main/java/com/cfive/pinnacle/controller/NoticeReceiveController.java b/Pinnacle/src/main/java/com/cfive/pinnacle/controller/NoticeReceiveController.java deleted file mode 100644 index fad7e2b..0000000 --- a/Pinnacle/src/main/java/com/cfive/pinnacle/controller/NoticeReceiveController.java +++ /dev/null @@ -1,18 +0,0 @@ -package com.cfive.pinnacle.controller; - -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.RestController; - -/** - *

- * 公告接收 前端控制器 - *

- * - * @author FatttSnake - * @since 2023-04-30 - */ -@RestController -@RequestMapping("/noticeReceive") -public class NoticeReceiveController { - -} diff --git a/Pinnacle/src/main/java/com/cfive/pinnacle/entity/Notice.java b/Pinnacle/src/main/java/com/cfive/pinnacle/entity/Notice.java index c42bc57..c530e38 100644 --- a/Pinnacle/src/main/java/com/cfive/pinnacle/entity/Notice.java +++ b/Pinnacle/src/main/java/com/cfive/pinnacle/entity/Notice.java @@ -45,17 +45,29 @@ public class Notice implements Serializable { private String content; /** - * 公告类型 + * 公告类型Id */ @TableField("type_id") private Long typeId; + /** + * 公告类型 + */ + @TableField(exist = false) + private NoticeType noticeType; + /** * 发布者id */ @TableField("sender_id") private Long senderId; + /** + * 发布者 + */ + @TableField(exist = false) + private User sender; + /** * 创建时间 */ @@ -104,12 +116,6 @@ public class Notice implements Serializable { @TableField("old") private Integer old; - /** - * 发布者 - */ - @TableField(exist = false) - private User sender; - @TableField("deleted") @TableLogic private Integer deleted; diff --git a/Pinnacle/src/main/java/com/cfive/pinnacle/entity/NoticeReceive.java b/Pinnacle/src/main/java/com/cfive/pinnacle/entity/NoticeReceive.java index 6e1b62f..72ff611 100644 --- a/Pinnacle/src/main/java/com/cfive/pinnacle/entity/NoticeReceive.java +++ b/Pinnacle/src/main/java/com/cfive/pinnacle/entity/NoticeReceive.java @@ -32,17 +32,29 @@ public class NoticeReceive implements Serializable { private Long id; /** - * 用户 + * 用户Id */ @TableField("user_id") private Long userId; /** - * 公告 + * 用户 + */ + @TableField(exist = false) + private User user; + + /** + * 公告Id */ @TableField("notice_id") private Long noticeId; + /** + * 公告 + */ + @TableField(exist = false) + private Notice notice; + /** * 已读 */ diff --git a/Pinnacle/src/main/java/com/cfive/pinnacle/mapper/NoticeMapper.java b/Pinnacle/src/main/java/com/cfive/pinnacle/mapper/NoticeMapper.java index 8543b16..4a24937 100644 --- a/Pinnacle/src/main/java/com/cfive/pinnacle/mapper/NoticeMapper.java +++ b/Pinnacle/src/main/java/com/cfive/pinnacle/mapper/NoticeMapper.java @@ -18,5 +18,5 @@ import java.util.List; public interface NoticeMapper extends BaseMapper { Notice selectByNoticeId(Long nid); - List selectAllNoticeId(); + List selectAllNotice(); } diff --git a/Pinnacle/src/main/java/com/cfive/pinnacle/service/INoticeService.java b/Pinnacle/src/main/java/com/cfive/pinnacle/service/INoticeService.java index 3e31714..f750887 100644 --- a/Pinnacle/src/main/java/com/cfive/pinnacle/service/INoticeService.java +++ b/Pinnacle/src/main/java/com/cfive/pinnacle/service/INoticeService.java @@ -16,5 +16,7 @@ import java.util.List; public interface INoticeService extends IService { Notice selectByNoticeId(Long nid); - List selectAllNoticeId(); + List selectAllNotice(); + + Boolean deleteById(Long nid); } diff --git a/Pinnacle/src/main/java/com/cfive/pinnacle/service/impl/NoticeServiceImpl.java b/Pinnacle/src/main/java/com/cfive/pinnacle/service/impl/NoticeServiceImpl.java index 9bfc025..a5f5e5b 100644 --- a/Pinnacle/src/main/java/com/cfive/pinnacle/service/impl/NoticeServiceImpl.java +++ b/Pinnacle/src/main/java/com/cfive/pinnacle/service/impl/NoticeServiceImpl.java @@ -1,7 +1,10 @@ package com.cfive.pinnacle.service.impl; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.cfive.pinnacle.entity.Notice; +import com.cfive.pinnacle.entity.NoticeReceive; import com.cfive.pinnacle.mapper.NoticeMapper; +import com.cfive.pinnacle.mapper.NoticeReceiveMapper; import com.cfive.pinnacle.service.INoticeService; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import org.springframework.beans.factory.annotation.Autowired; @@ -21,13 +24,28 @@ import java.util.List; public class NoticeServiceImpl extends ServiceImpl implements INoticeService { @Autowired NoticeMapper noticeMapper; + @Autowired + NoticeReceiveMapper noticeReceiveMapper; @Override public Notice selectByNoticeId(Long nid) { return noticeMapper.selectByNoticeId(nid); } @Override - public List selectAllNoticeId() { - return noticeMapper.selectAllNoticeId(); + public List selectAllNotice() { + return noticeMapper.selectAllNotice(); } + + @Override + public Boolean deleteById(Long nid) { + LambdaQueryWrapper lqw = new LambdaQueryWrapper<>(); + lqw.eq(NoticeReceive::getNoticeId, nid); + List noticeReceives = noticeReceiveMapper.selectList(lqw); + for (NoticeReceive nrc: + noticeReceives) { + noticeReceiveMapper.deleteById(nrc.getId()); + } + return noticeMapper.deleteById(nid)==0; + } + } diff --git a/Pinnacle/src/main/resources/mapper/NoticeMapper.xml b/Pinnacle/src/main/resources/mapper/NoticeMapper.xml index 1744e72..c57e658 100644 --- a/Pinnacle/src/main/resources/mapper/NoticeMapper.xml +++ b/Pinnacle/src/main/resources/mapper/NoticeMapper.xml @@ -1,30 +1,36 @@ - + + - select * from t_user u, - t_notice t - where u.id = t.sender_id - and t.deleted = 0 + t_notice n, + t_notice_type type + where u.id = n.sender_id + and type.id=n.type_id + and n.deleted = 0 + and n.old=0 + diff --git a/Pinnacle/src/test/java/com/cfive/pinnacle/notice/NoticeTest.java b/Pinnacle/src/test/java/com/cfive/pinnacle/notice/NoticeTest.java index 85da088..6b629e2 100644 --- a/Pinnacle/src/test/java/com/cfive/pinnacle/notice/NoticeTest.java +++ b/Pinnacle/src/test/java/com/cfive/pinnacle/notice/NoticeTest.java @@ -1,11 +1,11 @@ package com.cfive.pinnacle.notice; import com.cfive.pinnacle.controller.NoticeController; -import com.cfive.pinnacle.controller.Result; -import com.cfive.pinnacle.entity.Department; import com.cfive.pinnacle.entity.Notice; +import com.cfive.pinnacle.entity.NoticeReceive; import com.cfive.pinnacle.entity.NoticeType; import com.cfive.pinnacle.entity.User; +import com.cfive.pinnacle.entity.common.ResponseResult; import com.cfive.pinnacle.service.IDepartmentService; import com.cfive.pinnacle.service.INoticeReceiveService; import com.cfive.pinnacle.service.INoticeTypeService; @@ -33,20 +33,20 @@ public class NoticeTest { @Test void selectByIdTest() { - Result notice = noticeController.selectByNoticeId(21L); - System.out.println(notice.getData()); + ResponseResult selectByNoticeId = noticeController.selectByNoticeId(21L); + System.out.println(selectByNoticeId.getData()); } @Test void selectAllTest() { - Result noticeList = noticeController.selectAllNoticeId(); + ResponseResult noticeList = noticeController.selectAllNotice(); System.out.println(noticeList.getData()); } @Test void updateTest() { - Result notice =noticeController.selectByNoticeId(23L); - Result updateNotice = noticeController.updateNotice((Notice)notice.getData()); + ResponseResult notice = noticeController.selectByNoticeId(23L); + ResponseResult updateNotice = noticeController.updateNotice((Notice) notice.getData()); System.out.println(updateNotice.getData()); } @@ -56,14 +56,13 @@ public class NoticeTest { notice.setTitle("title1"); notice.setTypeId(1652684907554496514L); notice.setSenderId(1652714496280469506L); - LocalDateTime startDate = LocalDateTime.parse("2023-03-21 00:00:00", DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss")); - LocalDateTime endDate = LocalDateTime.parse("2023-09-01 00:00:00", DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss")); -// notice.setEffectiveDate(startDate); -// notice.setEndDate(endDate); -// notice.setSenderID(2); + LocalDateTime sendTime = LocalDateTime.parse("2023-05-11 00:00:00", DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss")); + LocalDateTime endTime = LocalDateTime.parse("2023-09-01 00:00:00", DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss")); + notice.setPriority(2); + notice.setSendTime(sendTime); + notice.setEndTime(endTime); notice.setContent("Content1"); - Result updateNotice = noticeController.addNotice(notice); - System.out.println(updateNotice.getData()); + noticeController.addNotice(notice); } @Test void insertNoticeTypeTest(){ @@ -74,11 +73,11 @@ public class NoticeTest { @Test void insertNoticeRecTest(){ - User user = new User(); - user.setUsername("cyb"); - user.setPasswd("123"); - user.setDepartmentId(1652713919467151362L); - iUserService.save(user); -// iNoticeTypeService.save(noticeType); + NoticeReceive receive = new NoticeReceive(); + receive.setNoticeId(1652734384348790786L); + receive.setUserId(1652714496280469506L); + iNoticeReceiveService.save(receive); } + + } diff --git a/ui/src/components/NoticeTable.vue b/ui/src/components/NoticeTable.vue index 66cc48f..1c0eb23 100644 --- a/ui/src/components/NoticeTable.vue +++ b/ui/src/components/NoticeTable.vue @@ -16,11 +16,11 @@ :formatter="formatter" show-overflow-tooltip /> - - + + {{ scope.row.sender.userName }} + >{{ scope.row.sender.username }} @@ -93,7 +93,7 @@ export default { return row.title }, filterTag(value, row) { - return row.sender.userName === value + return row.sender.username === value }, filterHandler(value, row, column) { const property = column['property'] @@ -111,14 +111,16 @@ export default { console.log(index, row.id) }, handleDelete(index, row) { - axios.delete('http://localhost:8080/notice/' + row.id).then((response) => { + // console.log(row.id) + axios.delete('http://localhost:8621/notice/' + row.id).then((response) => { console.log(response.data) this.selectAllNotice() }) }, selectAllNotice() { - axios.get('http://localhost:8080/notice').then((response) => { - this.tableData = response.data.data + axios.get('http://localhost:8621/notice').then((response) => { + this.tableData = response.data.data; + console.log(response.data.data[0].id) }) } }, diff --git a/ui/src/pages/notice/NoticeHome.vue b/ui/src/pages/notice/NoticeHome.vue new file mode 100644 index 0000000..8bcbe70 --- /dev/null +++ b/ui/src/pages/notice/NoticeHome.vue @@ -0,0 +1,14 @@ + + + + + \ No newline at end of file