基于springboot的扶贫助农系统的设计与实现

大家可以帮忙点赞、收藏、关注、评论啦

精彩专栏推荐订阅:在 下方专栏

JAVA实战项目

一、项目介绍

本课题所研究的扶贫助农系统,将信息技术与扶贫工作相结合,能够有效提高扶贫工作的效率和精确度。首先,系统可以收集、整理、分析农村地区的生产、生活、教育等方面的数据,为政府制定更加科学的扶贫政策提供依据。其次,系统可以为农村地区提供更加便捷、快速、有效的销售渠道,帮助农民更加充分地了解市场需求和价格信息,进而提高农产品的销售量和附加值。此外,系统还可以为农村地区提供技术、人才等方面的支持,促进农业生产的现代化和农村经济的转型升级。

二、功能介绍

管理员功能:

个人中心:管理员可以查看和编辑自己的个人信息,例如头像、姓名、密码等。
基础数据管理:在这里,管理员可以设置系统的一些基础数据,例如系统公告、帮助中心等。
论坛管理:管理员可以创建、编辑和删除论坛的版块和主题,可以设置论坛的开放或关闭状态,也可以对论坛中的帖子进行审核或删除。
扶贫公告管理:管理员可以发布、编辑和删除扶贫公告,扶贫公告可以是文章或者视频形式,可以设置公告的显示状态(例如已读或未读)。
任务信息管理:管理员可以添加、编辑和删除任务信息,每个任务信息包含任务名称、任务描述、任务奖励等。
任务报名管理:管理员可以查看所有用户的任务报名信息,可以根据实际情况对报名信息进行审核或删除。
新闻信息管理:管理员可以发布、编辑和删除新闻信息,新闻信息可以是文章或者视频形式。
用户管理:管理员可以查看所有用户的信息,例如用户名、注册时间、登录状态等,可以对用户进行禁用或启用,也可以修改用户的权限。

用户功能:

注册:用户可以填写用户名、密码、邮箱等必要信息进行系统注册。
登录:用户可以使用已注册的用户名和密码登录系统。
论坛信息:用户可以在论坛区浏览帖子,可以发表回复和评论,也可以对帖子进行点赞或收藏。
扶贫公告:用户可以查看所有的扶贫公告信息,可以选择感兴趣的公告进行报名参与。
浏览筛选任务信息进行报名:用户可以在任务信息列表中浏览各种任务信息,可以根据自己的兴趣筛选合适的任务进行报名参与。
新闻信息:用户可以查看所有的新闻信息,可以选择感兴趣的信息进行阅读。
个人中心:用户可以查看和编辑自己的个人信息,例如头像、姓名、密码等,也可以查看自己的报名信息和任务完成情况。

三、开发环境

  • 开发语言:Java
  • 数据库:MySQL
  • 系统架构:B/S
  • 后端:Springboot
  • 前端:vue
  • 工具:IDEA或者Eclipse、JDK1.8、Maven

四、项目展示

登录页面:在这里插入图片描述
首页模块:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述管理员模块:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

五、代码展示

public class AddressBookController {

    @Autowired
    private AddressBookService addressBookService;

    @PostMapping
    public R<String> save(@RequestBody tbAddressBook addressBook) {
        addressBook.setUserId(BaseContext.getCurrentId());
        log.info("地址为:{}", addressBook);
        tbAddressBook addressBookDefaulAddressBook = addressBookService.DefaultAddressBook(addressBook.getUserId());
        if (addressBookDefaulAddressBook==null) addressBook.setIsDefault(1);
        addressBookService.save(addressBook);
        return R.success("新增地址成功");

    }
    @PutMapping("default")
    public R<tbAddressBook> setDefault(@RequestBody tbAddressBook addressBook) {
        log.info("设置默认地址addressBook:{}", addressBook);
        LambdaUpdateWrapper<tbAddressBook> wrapper = new LambdaUpdateWrapper<>();
        wrapper.eq(tbAddressBook::getUserId, BaseContext.getCurrentId());
        wrapper.set(tbAddressBook::getIsDefault, 0);//把所有地址消除默认地址
        addressBookService.update(wrapper);
        addressBook.setIsDefault(1);//修改改地址为默认地址
        addressBookService.updateById(addressBook);
        return R.success(addressBook);
    }
    @GetMapping("/{id}")
    public R get(@PathVariable Long id) {
        log.info("根据id查询地址addressBook:{}", id);
        tbAddressBook addressBook = addressBookService.getById(id);
        if (addressBook != null) {
            return R.success(addressBook);
        } else {
            return R.error("没有找到该地址");
        }
    }

    @GetMapping("default")
    public R<tbAddressBook> getDefault() {
        LambdaQueryWrapper<tbAddressBook> queryWrapper = new LambdaQueryWrapper<>();
        queryWrapper.eq(tbAddressBook::getUserId, BaseContext.getCurrentId());
        queryWrapper.eq(tbAddressBook::getIsDefault, 1);
        tbAddressBook addressBook = addressBookService.getOne(queryWrapper);

        if (null == addressBook) {
            return R.error("没有找到该地址");
        } else {
            return R.success(addressBook);
        }
    }
    @GetMapping("/list")
    public R<List<tbAddressBook>> list(tbAddressBook addressBook) {
        addressBook.setUserId(BaseContext.getCurrentId());
        log.info("addressBook:{}", addressBook);

        LambdaQueryWrapper<tbAddressBook> queryWrapper = new LambdaQueryWrapper<>();
        queryWrapper.eq(null != addressBook.getUserId(), tbAddressBook::getUserId, addressBook.getUserId());
        queryWrapper.orderByDesc(tbAddressBook::getUpdateTime);

        List<tbAddressBook> list = addressBookService.list(queryWrapper);

        if (list==null){
            return R.error("地址为空");
        }else {
            return R.success(list);
        }
    }

    @PutMapping()
    public R<tbAddressBook> getById(@RequestBody tbAddressBook addressBook){
        log.info("根据地址id更新地址...");
        LambdaQueryWrapper<tbAddressBook> queryWrappergetId = new LambdaQueryWrapper<>();
        queryWrappergetId.eq(tbAddressBook::getId,addressBook.getId());
        int count = addressBookService.count(queryWrappergetId);


        if(count <=0){
            return R.error("没有找到对应的地址无法更新");
        }

        addressBookService.updateById(addressBook);
        return R.success(addressBook);
    }

    @DeleteMapping
    public R<String> delete(@RequestParam List<Long> ids){
        log.info("ids:{}",ids);

        LambdaQueryWrapper<tbAddressBook> queryWrapper = new LambdaQueryWrapper<>();
        queryWrapper.in(tbAddressBook::getId,ids);

        UpdateWrapper<tbAddressBook> UpdateWrapper = new UpdateWrapper<>();
        UpdateWrapper.set("is_Deleted",1);
        UpdateWrapper.in("id",ids);


        int count = addressBookService.count(queryWrapper);

        if (count<=0){
            return R.error("地址不存在无法删除");
        }else{
            addressBookService.update(UpdateWrapper);
            return R.success("地址删除成功");
        }

    }

六、项目总结

扶贫助农系统是一个综合性的信息管理系统,旨在促进农村地区的经济发展和社会进步。该系统通过将信息技术与扶贫工作相结合,以提高扶贫工作的效率和精确度,并帮助农民提升生产效益和生活质量。该系统主要包括两个角色:管理员和用户。管理员拥有多种功能,例如基础数据管理、论坛管理、扶贫公告管理、任务信息管理、任务报名管理、新闻信息管理和用户管理等。管理员可以收集、整理、分析和发布各种数据和信息,为政府制定更加科学的扶贫政策提供支持。同时,管理员还可以对用户进行管理,包括禁用、启用和修改权限等操作。对于用户来说,该系统提供了一系列的功能,包括注册、登录、论坛信息浏览和评论、扶贫公告查看和报名、任务信息筛选和报名、新闻信息浏览以及个人中心信息查看和编辑等。用户可以通过该系统更加便捷地获取各种信息和资源,并得到更多机会参与到农村地区的扶贫工作中。

大家点赞、收藏、关注、有问题都可留言交流👇🏻👇🏻👇🏻

  • 3
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值