背景
随着信息技术和网络技术的飞速发展,人类已进入全新信息化时代,传统管理技术已无法高效,便捷地管理信息。为了迎合时代需求,优化管理效率,各种各样的管理系统应运而生,各行各业相继进入信息管理时代,网吧管理系统就是信息时代变革中的产物之一。
系统设计
本系统采用从上往下的步骤开发,基本功能如下:
(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");
    }


















