• 基于springboot+vue的仓储物流系统


    博主主页猫头鹰源码

    博主简介:Java领域优质创作者、CSDN博客专家、公司架构师、全网粉丝5万+、专注Java技术领域和毕业设计项目实战

    主要内容:毕业设计(Javaweb项目|小程序等)、简历模板、学习资料、面试题库、技术咨询

    文末联系获取

    项目介绍: 

    本系统适合选题:仓库、仓储、物流、仓储物流等。系统采用springboot+vue整合开发,前端框架主要使用了element-ui框架、数据层采用mybatis,功能齐全,界面美观。

    系统包含技术:

    后端:springboot,mybatis
    前端:element-ui、js、css等
    开发工具:idea/vscode
    数据库:mysql 5.7
    JDK版本:jdk1.8

    部分截图说明:

    下面是登录页面

    车辆管理

    司机管理

    仓储管理

    入库记录

    kpi考核

    kpi规则

    部分代码:

    1. /**
    2. * 注册
    3. * @param user
    4. * @return
    5. */
    6. @PostMapping("register")
    7. public Map<String, Object> signUp(@RequestBody User user) {
    8. // 查询用户
    9. Map<String, String> query = new HashMap<>();
    10. query.put("username",user.getUsername());
    11. List list = service.select(query, new HashMap<>()).getResultList();
    12. if (list.size()>0){
    13. return error(30000, "用户已存在");
    14. }
    15. user.setUserId(null);
    16. user.setPassword(service.encryption(user.getPassword()));
    17. service.save(user);
    18. return success(1);
    19. }
    20. /**
    21. * 找回密码
    22. * @param form
    23. * @return
    24. */
    25. @PostMapping("forget_password")
    26. public Map<String, Object> forgetPassword(@RequestBody User form,HttpServletRequest request) {
    27. JSONObject ret = new JSONObject();
    28. String username = form.getUsername();
    29. String code = form.getCode();
    30. String password = form.getPassword();
    31. // 判断条件
    32. if(code == null || code.length() == 0){
    33. return error(30000, "验证码不能为空");
    34. }
    35. if(username == null || username.length() == 0){
    36. return error(30000, "用户名不能为空");
    37. }
    38. if(password == null || password.length() == 0){
    39. return error(30000, "密码不能为空");
    40. }
    41. // 查询用户
    42. Map<String, String> query = new HashMap<>();
    43. query.put("username",username);
    44. Query select = service.select(query, service.readConfig(request));
    45. List list = select.getResultList();
    46. if (list.size() > 0) {
    47. User o = (User) list.get(0);
    48. JSONObject query2 = new JSONObject();
    49. JSONObject form2 = new JSONObject();
    50. // 修改用户密码
    51. query2.put("user_id",o.getUserId());
    52. form2.put("password",service.encryption(password));
    53. service.update(query, service.readConfig(request), form2);
    54. return success(1);
    55. }
    56. return error(70000,"用户不存在");
    57. }
    58. /**
    59. * 登录
    60. * @param data
    61. * @param httpServletRequest
    62. * @return
    63. */
    64. @PostMapping("login")
    65. public Map<String, Object> login(@RequestBody Map<String, String> data, HttpServletRequest httpServletRequest) {
    66. log.info("[执行登录接口]");
    67. String username = data.get("username");
    68. String email = data.get("email");
    69. String phone = data.get("phone");
    70. String password = data.get("password");
    71. List resultList = null;
    72. Map<String, String> map = new HashMap<>();
    73. if(username != null && "".equals(username) == false){
    74. map.put("username", username);
    75. resultList = service.select(map, new HashMap<>()).getResultList();
    76. }
    77. else if(email != null && "".equals(email) == false){
    78. map.put("email", email);
    79. resultList = service.select(map, new HashMap<>()).getResultList();
    80. }
    81. else if(phone != null && "".equals(phone) == false){
    82. map.put("phone", phone);
    83. resultList = service.select(map, new HashMap<>()).getResultList();
    84. }else{
    85. return error(30000, "账号或密码不能为空");
    86. }
    87. if (resultList == null || password == null) {
    88. return error(30000, "账号或密码不能为空");
    89. }
    90. //判断是否有这个用户
    91. if (resultList.size()<=0){
    92. return error(30000,"用户不存在");
    93. }
    94. User byUsername = (User) resultList.get(0);
    95. Map<String, String> groupMap = new HashMap<>();
    96. groupMap.put("name",byUsername.getUserGroup());
    97. List groupList = userGroupService.select(groupMap, new HashMap<>()).getResultList();
    98. if (groupList.size()<1){
    99. return error(30000,"用户组不存在");
    100. }
    101. UserGroup userGroup = (UserGroup) groupList.get(0);
    102. //查询用户审核状态
    103. if (!StringUtils.isEmpty(userGroup.getSourceTable())){
    104. String sql = "select examine_state from "+ userGroup.getSourceTable() +" WHERE user_id = " + byUsername.getUserId();
    105. String res = String.valueOf(service.runCountSql(sql).getSingleResult());
    106. if (res==null){
    107. return error(30000,"用户不存在");
    108. }
    109. if (!res.equals("已通过")){
    110. return error(30000,"该用户审核未通过");
    111. }
    112. }
    113. //查询用户状态
    114. if (byUsername.getState()!=1){
    115. return error(30000,"用户非可用状态,不能登录");
    116. }
    117. String md5password = service.encryption(password);
    118. if (byUsername.getPassword().equals(md5password)) {
    119. // 存储Token到数据库
    120. AccessToken accessToken = new AccessToken();
    121. accessToken.setToken(UUID.randomUUID().toString().replaceAll("-", ""));
    122. accessToken.setUser_id(byUsername.getUserId());
    123. tokenService.save(accessToken);
    124. // 返回用户信息
    125. JSONObject user = JSONObject.parseObject(JSONObject.toJSONString(byUsername));
    126. user.put("token", accessToken.getToken());
    127. JSONObject ret = new JSONObject();
    128. ret.put("obj",user);
    129. return success(ret);
    130. } else {
    131. return error(30000, "账号或密码不正确");
    132. }
    133. }

    以上就是部分功能展示,从整体上来看,本系统功能是十分完整的,界面设计简洁大方,交互友好,数据库设计也很合理,规模适中,代码工整,清晰,适合学习使用。

    好了,今天就到这儿吧,小伙伴们点赞、收藏、评论,一键三连走起呀,下期见~~

  • 相关阅读:
    【新技术】是实现智慧燃气的基础
    Guava强大的“流畅”风格比较器-Ordering的使用方法
    网络安全——CVE-2015-1635-HTTP远程代码执行
    软考刷题:网络安全
    ffmpeg把视频文件转码为MP4格式
    C++ 两种实例化方式
    JVM的几种常见垃圾回收算法
    Redis启动命令和5种数据leix
    第2 章 战略管理
    鸿蒙Harmony应用开发—ArkTS声明式开发(基础手势:RichText)
  • 原文地址:https://blog.csdn.net/mtyedu/article/details/132875305