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