系统的层次图
整个项目被分为3部分 web网页前端,springboot的后端 ,还有由python组成的数据处理系统
每一个部分都被分开
数据流图
python数据处理系统的数据流图
- 需要启动虚拟机
- 在node1节点启动hadoop
- 获得数据集以后会启动
juypter,打开makeupana文件 - 开始进行数据处理和数据分析具体参照 spark淘宝数据处理
- 处理完之后会产生处理结果给web使用
- 存储数据到
mysql具体原理 关于将csv写入mysql.md
web的数据流图
springboot后端的系统流程图
上图各个模块的代码解释
账户密码登录
当收到的请求是登录请求时请求会被发送到
这个controler
1 | package makeup.web.controller.system; |
这段代码是一个Java Spring Boot控制器类,名为SysLoginController,用于处理登录验证和获取用户信息的请求。
主要功能包括:
-
login方法:处理登录请求,验证用户名、密码和验证码,并生成令牌(token)。使用SysLoginService的login方法进行登录验证,并将令牌存储在AjaxResult对象中返回给客户端。 -
getInfo方法:获取当前登录用户的信息。使用SecurityUtils获取当前登录用户的信息,并通过SysPermissionService获取用户的角色集合和权限集合。将用户信息、角色和权限存储在AjaxResult对象中返回给客户端。 -
getRouters方法:获取用户的路由信息。使用SecurityUtils获取当前登录用户的ID,然后使用ISysMenuService查询该用户可访问的菜单树。最后,通过menuService.buildMenus方法将菜单列表转换为路由信息,并将结果存储在AjaxResult对象中返回给客户端。
此代码主要用于实现用户登录验证和获取用户信息的功能,以及获取用户可访问的路由信息用于前端页面的渲染和权限控制。
对于登录部分的代码具体的流程就是
当用户发起登录请求时,login方法会被调用。该方法使用@PostMapping("/login")注解,表示它处理POST请求,并映射到"/login"路径。
方法签名如下:
1 |
|
方法参数是一个LoginBody对象,该对象包含登录所需的信息,包括用户名、密码、验证码和UUID。使用@RequestBody注解将请求体中的JSON数据映射到LoginBody对象。
方法体内的逻辑如下:
1 | AjaxResult ajax = AjaxResult.success(); |
首先,创建一个成功的AjaxResult对象,表示登录成功。然后调用loginService.login方法进行登录验证,并传递用户名、密码、验证码和UUID作为参数。该方法返回一个令牌(token),表示登录成功。
接下来,将令牌(token)存储在AjaxResult对象中,使用ajax.put(Constants.TOKEN, token)将令牌存储在名为"token"的键下。
最后,将包含令牌的AjaxResult对象作为响应返回给客户端。
通过这段代码,用户可以通过发送包含用户名、密码、验证码的POST请求来进行登录验证,并获取生成的令牌(token)。令牌可以用于后续的身份验证和授权操作。









