背景
本系统提供给管理员对首页,个人中心,用户管理,项目分类管理,竞赛项目管理,赛事预约管理,系统管理等诸多功能进行管理。本系统对于用户输入的任何信息都进行了一定的验证,为管理员操作提高了效率,也使其数据安全性得到了保障。
系统架构
根据篮球竞赛预约平台的功能需求,进行系统设计。
前台功能:用户进入系统可以实现首页,竞赛项目,平台公告,个人中心,后台管理等功能进行操作;
后台由管理员和用户,主要功能包括首页,个人中心,用户管理,项目分类管理,竞赛项目管理,赛事预约管理,系统管理等功能;
系统对这些功能进行整合,产生的功能结构图如下:
数据库设计与实现
系统ER图
用户注册实体属性图如下所示:
竞赛项目实体属性图如下所示:
赛事预约管理实体属性图如下所示:
数据库表设计
由于涉及到的数据库表较多,此处只展示部分的数据库表。
系统功能的具体实现
前台功能模块
篮球竞赛预约平台,用户进入到平台首页,可以查看首页,竞赛项目,平台公告,个人中心,后台管理等内容进行操作,如图:
竞赛项目;在竞赛项目页面中可以查看赛事名称,赛事编号,项目分类,比赛模式,赛事要求,比赛时间,比赛地点,比赛详情、封面等内容;并进行赛事预约,评论,收藏操作;如图:
管理员功能模块
管理员登录进入篮球竞赛预约平台可以查看首页,个人中心,用户管理,项目分类管理,竞赛项目管理,赛事预约管理,系统管理等功能进行详细操作,如图:
用户功能模块
用户登录进入篮球竞赛预约平台可以查看首页,个人中心,赛事预约管理等功能进行详细操作,如图:
系统代码实现
由于涉及到的代码较多,此处只展示部分的代码实现。
赛事预约入口代码
@RestController
@RequestMapping("/saishiyuyue")
public class SaishiyuyueController {
@Autowired
private SaishiyuyueService saishiyuyueService;
/**
* 后端列表
*/
@RequestMapping("/page")
public R page(@RequestParam Map<String, Object> params,SaishiyuyueEntity saishiyuyue,
HttpServletRequest request){
String tableName = request.getSession().getAttribute("tableName").toString();
if(tableName.equals("yonghu")) {
saishiyuyue.setYonghuzhanghao((String)request.getSession().getAttribute("username"));
}
EntityWrapper<SaishiyuyueEntity> ew = new EntityWrapper<SaishiyuyueEntity>();
PageUtils page = saishiyuyueService.queryPage(params, MPUtil.sort(MPUtil.between(MPUtil.likeOrEq(ew, saishiyuyue), params), params));
return R.ok().put("data", page);
}
/**
* 前端列表
*/
@IgnoreAuth
@RequestMapping("/list")
public R list(@RequestParam Map<String, Object> params,SaishiyuyueEntity saishiyuyue,
HttpServletRequest request){
EntityWrapper<SaishiyuyueEntity> ew = new EntityWrapper<SaishiyuyueEntity>();
PageUtils page = saishiyuyueService.queryPage(params, MPUtil.sort(MPUtil.between(MPUtil.likeOrEq(ew, saishiyuyue), params), params));
return R.ok().put("data", page);
}
/**
* 列表
*/
@RequestMapping("/lists")
public R list( SaishiyuyueEntity saishiyuyue){
EntityWrapper<SaishiyuyueEntity> ew = new EntityWrapper<SaishiyuyueEntity>();
ew.allEq(MPUtil.allEQMapPre( saishiyuyue, "saishiyuyue"));
return R.ok().put("data", saishiyuyueService.selectListView(ew));
}
/**
* 查询
*/
@RequestMapping("/query")
public R query(SaishiyuyueEntity saishiyuyue){
EntityWrapper< SaishiyuyueEntity> ew = new EntityWrapper< SaishiyuyueEntity>();
ew.allEq(MPUtil.allEQMapPre( saishiyuyue, "saishiyuyue"));
SaishiyuyueView saishiyuyueView = saishiyuyueService.selectView(ew);
return R.ok("查询赛事预约成功").put("data", saishiyuyueView);
}