背景
随着信息技术和网络技术的飞速发展,人类已进入全新信息化时代,传统管理技术已无法高效,便捷地管理信息。为了迎合时代需求,优化管理效率,各种各样的管理系统应运而生,各行各业相继进入信息管理时代,网吧管理系统就是信息时代变革中的产物之一。
系统设计
本系统采用从上往下的步骤开发,基本功能如下:
(1)管理员用例图如下所示:
(2)会员用例图如下所示:
(3) )网管用例图如下
系统结构图如下:
数据库设计
系统ER图
商品信息管理E/R图,如下所示:
呼叫网管管理E/R图,如下所示:
数据库表
由于涉及到的数据库表较多,此处只展示部分的数据表。
系统实现
管理员功能模块
管理员登录进入系统可以查看首页,个人中心,会员管理,网管管理,商品类型管理,商品信息管理,购买商品管理,呼叫网管管理,电脑信息管理,用户上机管理,用户下机管理等功能,并进行详细操作,如图:
网管管理;在网管管理页面中可以查看索引,网管账号,网管姓名,备注,联系电话,性别,出生年月等内容,并进行详情,修改和删除操作;如图:
网管功能模块
网管登录进入系统可以查看首页,个人中心,会员管理,商品信息管理,购买商品管理,呼叫网管管理,电脑信息管理,用户上机管理,用户下机管理等功能,并进行详细操作。
会员功能模块
会员登录进入系统可以查看首页,个人中心,商品信息管理,购买商品管理,呼叫网管管理,电脑信息管理,用户上机管理,用户下机管理等功能,并进行详细操作,如图:
代码实现
由于涉及到的代码较多,此处只展示部分的代码实现。
网管入口代码
@RestController
@RequestMapping("/wangguan")
public class WangguanController {
@Autowired
private WangguanService wangguanService;
@Autowired
private TokenService tokenService;
/**
* 登录
*/
@IgnoreAuth
@RequestMapping(value = "/login")
public R login(String username, String password, String captcha, HttpServletRequest request) {
WangguanEntity user = wangguanService.selectOne(new EntityWrapper<WangguanEntity>().eq("wangguanzhanghao", username));
if(user==null || !user.getMima().equals(password)) {
return R.error("账号或密码不正确");
}
String token = tokenService.generateToken(user.getId(), username,"wangguan", "网管" );
return R.ok().put("token", token);
}
/**
* 注册
*/
@IgnoreAuth
@RequestMapping("/register")
public R register(@RequestBody WangguanEntity wangguan){
//ValidatorUtils.validateEntity(wangguan);
WangguanEntity user = wangguanService.selectOne(new EntityWrapper<WangguanEntity>().eq("wangguanzhanghao", wangguan.getWangguanzhanghao()));
if(user!=null) {
return R.error("注册用户已存在");
}
Long uId = new Date().getTime();
wangguan.setId(uId);
wangguanService.insert(wangguan);
return R.ok();
}
/**
* 退出
*/
@RequestMapping("/logout")
public R logout(HttpServletRequest request) {
request.getSession().invalidate();
return R.ok("退出成功");
}
/**
* 获取用户的session用户信息
*/
@RequestMapping("/session")
public R getCurrUser(HttpServletRequest request){
Long id = (Long)request.getSession().getAttribute("userId");
WangguanEntity user = wangguanService.selectById(id);
return R.ok().put("data", user);
}
/**
* 密码重置
*/
@IgnoreAuth
@RequestMapping(value = "/resetPass")
public R resetPass(String username, HttpServletRequest request){
WangguanEntity user = wangguanService.selectOne(new EntityWrapper<WangguanEntity>().eq("wangguanzhanghao", username));
if(user==null) {
return R.error("账号不存在");
}
user.setMima("123456");
wangguanService.updateById(user);
return R.ok("密码已重置为:123456");
}