背景
随着留守儿童爱心管理的不断发展,留守儿童爱心网站在现实生活中的使用和普及,留守儿童爱心管理成为近年内出现的一个热门话题,并且能够成为大众广为认可和接受的行为和选择。设计留守儿童爱心网站的目的就是借助计算机让复杂的管理操作变简单,变高效。
留守儿童爱心网站采用了B/S结构,JAVA作为开发语言,数据库采用了B/S结构,Mysql数据库进行开发。该系统包括前台操作,后台由管理员和用户两个部分,一方面,为用户提供首页、宣传新闻、志愿活动、爱心捐赠、个人中心、后台管理等功能;另一方面,为管理员提供首页、个人中心、用户管理、宣传新闻管理、志愿活动管理、爱心捐赠管理、旧物捐赠管理、活动报名管理、系统管理等功能。
系统设计
留守儿童爱心网站的主要功能的结构如图:
数据库设计
系统ER图
E-R图为实体-关系图,本系统的E-R图展现了各个实体之间的关系,在本数据库中,各个实体之间的关系均为多对多的关系。
志愿活动属性图如图
爱心捐赠实体属性图如图:
数据库表
由于涉及的数据库表较多,此处只展示部分的数据库表。
系统的详细设计与实现
系统功能模块
系统首页的主要功能展示了首页、宣传新闻、志愿活动、爱心捐赠、个人中心、后台管理等信息,进行相应操作。运行结果如图:
管理员功能模块
管理员登录系统后,可以对首页、个人中心、用户管理、宣传新闻管理、志愿活动管理、爱心捐赠管理、旧物捐赠管理、活动报名管理、系统管理等功能进行相应的操作管理,如图:
志愿活动管理,在志愿活动管理页面可以对索引、活动编号、活动名称、活动地点、开始时间、结束时间、活动图片、联系方式等内容进行详情、修改或删除等操作,如图:
爱心捐赠管理,在爱心捐赠管理页面可以对索引、捐赠标题、发布时间、机构名称、捐赠地点、封面图片、微信账号、微信用户名等内容进行详情、修改或删除等操作;如图:
用户功能模块
用户进入系统可以查看首页、个人中心、旧物捐赠管理、活动报名管理等内容,进行详细的操作,如图:
代码实现
由于涉及的代码较多,此处只展示部分的代码实现。
旧物捐赠入口代码
@RestController
@RequestMapping("/jiuwujuanzeng")
public class JiuwujuanzengController {
@Autowired
private JiuwujuanzengService jiuwujuanzengService;
/**
* 后端列表
*/
@RequestMapping("/page")
public R page(@RequestParam Map<String, Object> params,JiuwujuanzengEntity jiuwujuanzeng,
HttpServletRequest request){
String tableName = request.getSession().getAttribute("tableName").toString();
if(tableName.equals("yonghu")) {
jiuwujuanzeng.setYonghuzhanghao((String)request.getSession().getAttribute("username"));
}
EntityWrapper<JiuwujuanzengEntity> ew = new EntityWrapper<JiuwujuanzengEntity>();
PageUtils page = jiuwujuanzengService.queryPage(params, MPUtil.sort(MPUtil.between(MPUtil.likeOrEq(ew, jiuwujuanzeng), params), params));
return R.ok().put("data", page);
}
/**
* 前端列表
*/
@IgnoreAuth
@RequestMapping("/list")
public R list(@RequestParam Map<String, Object> params,JiuwujuanzengEntity jiuwujuanzeng,
HttpServletRequest request){
EntityWrapper<JiuwujuanzengEntity> ew = new EntityWrapper<JiuwujuanzengEntity>();
PageUtils page = jiuwujuanzengService.queryPage(params, MPUtil.sort(MPUtil.between(MPUtil.likeOrEq(ew, jiuwujuanzeng), params), params));
return R.ok().put("data", page);
}