项目实训第四周02:公告管理

相关接口:TeacherNoticeService

	//获取公告列表
	public List<Map<String, Object>> getNoticesList();
	//查询公告
    public List<Map<String, Object>> searchNoticeInfo(String noticeContent, String teaName);
    //公告是否存在
    public boolean noticeContentIsExist(String noticeContent);
    //插入公告
    public int insertNoticeInfo(TeacherNotice teacherNotice);
    //更新公告
    public int updateNoticeInfo(TeacherNotice teacherNotice);
    //删除公告
    public int deleteNotice(Integer noticeId);

接口实现:TeacherNoticeService

获取公告列表 getNoticesList

	public List<Map<String, Object>> getNoticesList() {
        List<Map<String, Object>> resultList = new ArrayList<>();
        TeacherNoticeExample teacherNoticeExample = new TeacherNoticeExample();
        teacherNoticeExample.setOrderByClause("notice_id asc");
        List<TeacherNotice> teacherNoticeList = teacherNoticeMapper.selectByExample(teacherNoticeExample);
        for (TeacherNotice teacherNotice : teacherNoticeList){
            Map<String, Object> map = new HashMap<>();
            map.put("id", teacherNoticeList.indexOf(teacherNotice) + 1);
            map.put("noticeId", teacherNotice.getNoticeId());
            map.put("noticeContent", teacherNotice.getNoticeContent());
            map.put("noticeCreateTime", teacherNotice.getNoticeCreateTime());
            map.put("teaName", teacherNotice.getTeaName());
            map.put("tno", teacherNotice.getTno());
            resultList.add(map);
        }
        return resultList;
    }

查询公告 searchNoticeInfo

	public List<Map<String, Object>> searchNoticeInfo(String noticeContent, String teaName) {
        List<Map<String, Object>> resultList = new ArrayList<>();
        TeacherNoticeExample teacherNoticeExample = new TeacherNoticeExample();
        TeacherNoticeExample.Criteria criteria = teacherNoticeExample.createCriteria();
        if(!noticeContent.equals("undefined")) {
            criteria.andNoticeContentLike("%" + noticeContent + "%");
        }
        if(!teaName.equals("undefined")) {
            criteria.andTeaNameLike("%" + teaName + "%");
        }
        teacherNoticeExample.setOrderByClause("notice_id asc");
        List<TeacherNotice> teacherNoticeList = teacherNoticeMapper.selectByExample(teacherNoticeExample);
        for (TeacherNotice teacherNotice : teacherNoticeList){
            Map<String, Object> map = new HashMap<>();
            map.put("id", teacherNoticeList.indexOf(teacherNotice) + 1);
            map.put("noticeId", teacherNotice.getNoticeId());
            map.put("noticeContent", teacherNotice.getNoticeContent());
            map.put("tno", teacherNotice.getTno());
            map.put("noticeCreateTime", teacherNotice.getNoticeCreateTime());
            map.put("teaName", teacherNotice.getTeaName());
            resultList.add(map);
        }
        return resultList;
    }

公告是否存在 noticeContentIsExist

public boolean noticeContentIsExist(String noticeContent) {
        TeacherNoticeExample teacherNoticeExample = new TeacherNoticeExample();
        TeacherNoticeExample.Criteria criteria = teacherNoticeExample.createCriteria();
        criteria.andNoticeContentEqualTo(noticeContent);
        List<TeacherNotice> resultList = teacherNoticeMapper.selectByExample(teacherNoticeExample);
        if(resultList.size() > 0){
            return  true;
        } else {
            return false;
        }
    }

插入公告 insertNoticeInfo

	public int insertNoticeInfo(TeacherNotice teacherNotice) {
        int result = teacherNoticeMapper.insertSelective(teacherNotice);
        return result;
    }

更新公告 updateNoticeInfo

	public int updateNoticeInfo(TeacherNotice teacherNotice) {
        int result = teacherNoticeMapper.updateByPrimaryKeySelective(teacherNotice);
        return result;
    }

删除公告 deleteNotice

	public int deleteNotice(Integer noticeId) {
        int result = teacherNoticeMapper.deleteByPrimaryKey(noticeId);
        return result;
    }

Controller实现:TeacherNoticeController

父路径:/api/teacher
1、获取公告列表信息

//    获取公告列表信息
    @RequestMapping("/getNoticesList")
    public ServerResponse getNoticesList(){
        List<Map<String, Object>> resultList = teacherNoticeService.getNoticesList();
        return ServerResponse.createBySuccess("获取全部公告信息成功",resultList);
    }

2、获取搜索公告列表信息

//    获取搜索公告列表信息
    @RequestMapping("/searchNoticesList")
    public ServerResponse searchNoticesList(@RequestParam("noticeContent")String noticeContent,
                                            @RequestParam("teaName")String teaName){
        List<Map<String, Object>> resultList = teacherNoticeService.searchNoticeInfo(noticeContent, teaName);
        return ServerResponse.createBySuccess("获取搜索公告信息成功",resultList);
    }

3、更新公告信息

//    更新公告信息
    @RequestMapping(value = "/updateNoticeInfo",method = RequestMethod.POST)
    public ServerResponse updateNoticeInfo(@RequestBody(required = false)TeacherNotice teacherNotice){
        int result = teacherNoticeService.updateNoticeInfo(teacherNotice);
        if (result > 0){
            return ServerResponse.createBySuccess("更新公告信息成功",null);
        }
        else {
            return ServerResponse.createByError("数据库错误,更新公告信息失败");
        }
    }

4、添加公告信息

//    添加公告信息
    @RequestMapping(value = "/insertNoticeInfo",method = RequestMethod.POST)
    public ServerResponse insertNoticeInfo(@RequestBody(required = false)TeacherNotice teacherNotice) throws IOException {
        boolean noticeContentIsExist = teacherNoticeService.noticeContentIsExist(teacherNotice.getNoticeContent());
        if(noticeContentIsExist){
            return ServerResponse.createByError("此公告内容已存在,请创新新的公告内容");
        }

        teacherNotice.setNoticeCreateTime(new Date());
        int result = teacherNoticeService.insertNoticeInfo(teacherNotice);
        if (result > 0){
            // 插入公告时向学生推送消息
            ConcurrentHashMap<String, WebSocketDemo> webSocketSet = WebSocketDemo.getWebSocketDemo();
            for (String key : webSocketSet.keySet()) {
                if (key.length() == 12) {
                    webSocketSet.get(key).sendMessage("公告");
                }
            }
            return ServerResponse.createBySuccess("插入公告信息成功",null);
        }
        else {
            return ServerResponse.createByError("数据库错误,插入公告信息失败");
        }
    }

5、删除公告信息

//  删除公告信息
    @RequestMapping(value = "/deleteNotice",method = RequestMethod.POST)
    public ServerResponse deleteScore(@RequestBody Map<String, Object> obj) throws IOException {
        Integer noticeId = (Integer) obj.get("noticeId");
        int result = teacherNoticeService.deleteNotice(noticeId);
        if(result > 0){
            // 删除公告时向学生推送消息
            ConcurrentHashMap<String, WebSocketDemo> webSocketSet = WebSocketDemo.getWebSocketDemo();
            for (String key : webSocketSet.keySet()) {
                if (key.length() == 12) {
                    webSocketSet.get(key).sendMessage("公告");
                }
            }
            return ServerResponse.createBySuccess("删除成功",null);
        } else {
            return ServerResponse.createByError("数据库错误,删除失败");
        }
    }
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值