Java实现物流配送系统的示例分析
发表于:2026-10-31 作者:千家信息网编辑
千家信息网最后更新 2026年10月31日,今天就跟大家聊聊有关Java实现物流配送系统的示例分析,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。介绍系统分普通用户、企业、超级管理员等角色
千家信息网最后更新 2026年10月31日Java实现物流配送系统的示例分析
今天就跟大家聊聊有关Java实现物流配送系统的示例分析,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。
介绍
系统分普通用户、企业、超级管理员等角色,除基础脚手架外,实现的功能有:
超级管理员:系统管理、用户管理、企业用户管理、普通用户管理、货物类型管理、车辆管理、公告管理、使用帮助等。
普通用户:注册登录、个人信息管理(个人资料、密码修改、充值、订单管理等)、货物浏览、公告查看、下单等。
企业用户:注册登录、修改密码、充值、订单管理、货物管理、车辆管理、安排车辆等。
运行环境:windows/Linux均可、jdk1.8、mysql5.7、redis3.0、idea/eclipse均可。
特色功能:系统支持支付宝沙箱支付。
效果图展示


主要实现代码
后台角色管理控制器:
/** * 后台角色管理控制器 * */@RequestMapping("/admin/role")@Controllerpublic class RoleController { private Logger log = LoggerFactory.getLogger(RoleController.class); @Autowired private MenuService menuService; @Autowired private OperaterLogService operaterLogService; @Autowired private RoleService roleService; /** * 分页搜索角色列表 * @param model * @param role * @param pageBean * @return */ @RequestMapping(value="/list") public String list(Model model,Role role,PageBean pageBean){ model.addAttribute("title", "角色列表"); model.addAttribute("name", role.getName()); model.addAttribute("pageBean", roleService.findByName(role, pageBean)); return "admin/role/list"; } /** * 角色添加页面 * @param model * @return */ @RequestMapping(value="/add",method=RequestMethod.GET) public String add(Model model){ List 系统控制器:
/** * 系统控制器 * */@RequestMapping("/system")@Controllerpublic class SystemController { @Autowired private OperaterLogService operaterLogService; @Autowired private UserService userService; @Autowired private DatabaseBakService databaseBakService; @Autowired private OrderAuthService orderAuthService; @Autowired private HomeUserService homeUserService; @Autowired private ExpressMailOrderService expressMailOrderService; private Logger log = LoggerFactory.getLogger(SystemController.class); /** * 登录页面 * @param model * @return */ @RequestMapping(value="/login",method=RequestMethod.GET) public String login(Model model){ return "admin/system/login"; } /** * 用户登录提交表单处理方法 * @param request * @param user * @param cpacha * @return */ @RequestMapping(value="/login",method=RequestMethod.POST) @ResponseBody public Result login(HttpServletRequest request,User user,String cpacha){ if(user == null){ return Result.error(CodeMsg.DATA_ERROR); } if (user.getUsername() == null || "".equals(user.getUsername())){ return Result.error(CodeMsg.ADMIN_USERNAME_EMPTY); } if (user.getPassword() == null || "".equals(user.getPassword())){ return Result.error(CodeMsg.ADMIN_PASSWORD_EMPTY); } //表示实体信息合法,开始验证验证码是否为空 if(StringUtils.isEmpty(cpacha)){ return Result.error(CodeMsg.CPACHA_EMPTY); } //说明验证码不为空,从session里获取验证码 Object attribute = request.getSession().getAttribute("admin_login"); if(attribute == null){ return Result.error(CodeMsg.SESSION_EXPIRED); } //表示session未失效,进一步判断用户填写的验证码是否正确 if(!cpacha.equalsIgnoreCase(attribute.toString())){ return Result.error(CodeMsg.CPACHA_ERROR); } //表示验证码正确,开始查询数据库,检验密码是否正确 User findByUsername = userService.findByUsername(user.getUsername()); //判断是否为空 if(findByUsername == null){ return Result.error(CodeMsg.ADMIN_USERNAME_NO_EXIST); } //表示用户存在,进一步对比密码是否正确 if(!findByUsername.getPassword().equals(user.getPassword())){ return Result.error(CodeMsg.ADMIN_PASSWORD_ERROR); } //表示密码正确,接下来判断用户状态是否可用 if(findByUsername.getStatus() == User.ADMIN_USER_STATUS_UNABLE){ return Result.error(CodeMsg.ADMIN_USER_UNABLE); } //检查用户所属角色状态是否可用 if(findByUsername.getRole() == null || findByUsername.getRole().getStatus() == Role.ADMIN_ROLE_STATUS_UNABLE){ return Result.error(CodeMsg.ADMIN_USER_ROLE_UNABLE); } //检查用户所属角色的权限是否存在 if(findByUsername.getRole().getAuthorities() == null || findByUsername.getRole().getAuthorities().size() == 0){ return Result.error(CodeMsg.ADMIN_USER_ROLE_AUTHORITES_EMPTY); } //检查一切符合,可以登录,将用户信息存放至session request.getSession().setAttribute(SessionConstant.SESSION_USER_LOGIN_KEY, findByUsername); //销毁session中的验证码 request.getSession().setAttribute("admin_login", null); //将登陆记录写入日志库 operaterLogService.add("用户【"+user.getUsername()+"】于【" + StringUtil.getFormatterDate(new Date(), "yyyy-MM-dd HH:mm:ss") + "】登录系统!"); log.info("用户成功登录,user = " + findByUsername); return Result.success(true); } /** * 登录成功后的系统主页 * @param model * @return */ @RequestMapping(value="/index") public String index(Model model){ model.addAttribute("operatorLogs", operaterLogService.findLastestLog(10)); BigDecimal homeUserCount = new BigDecimal(homeUserService.total()); BigDecimal userCount = new BigDecimal(userService.total()); BigDecimal homeUserCountAddUserCount = homeUserCount.add(userCount); model.addAttribute("branchesUsers",userService.inquiryOutletsUnderTheCourier()); model.addAttribute("orderCountAndMonthByNowYearList",expressMailOrderService.orderCountAndMonthByNowYear()); model.addAttribute("userTotal",homeUserCountAddUserCount); model.addAttribute("operatorLogTotal", operaterLogService.total()); model.addAttribute("databaseBackupTotal", databaseBakService.total()); model.addAttribute("onlineUserTotal", SessionListener.onlineUserCount); return "admin/system/index"; } /** * 注销登录 * @return */ @RequestMapping(value="/logout") public String logout(){ User loginedUser = SessionUtil.getLoginedUser(); if(loginedUser != null){ SessionUtil.set(SessionConstant.SESSION_USER_LOGIN_KEY, null); } return "redirect:login"; } /** * 无权限提示页面 * @return */ @RequestMapping(value="/no_right") public String noRight(){ return "admin/system/no_right"; } /** * 修改用户个人信息 * @return */ @RequestMapping(value="/update_userinfo",method=RequestMethod.GET) public String updateUserInfo(){ return "admin/system/update_userinfo"; } /** * 修改个人信息保存 * @param user * @return */ @RequestMapping(value="/update_userinfo",method=RequestMethod.POST) public String updateUserInfo(User user){ User loginedUser = SessionUtil.getLoginedUser(); loginedUser.setMobile(user.getMobile()); loginedUser.setHeadPic(user.getHeadPic()); //首先保存到数据库 userService.save(loginedUser); //更新session里的值 SessionUtil.set(SessionConstant.SESSION_USER_LOGIN_KEY, loginedUser); return "redirect:update_userinfo"; } /** * 修改密码页面 * @return */ @RequestMapping(value="/update_pwd",method=RequestMethod.GET) public String updatePwd(){ return "admin/system/update_pwd"; } /** * 修改密码表单提交 * @param oldPwd * @param newPwd * @return */ @RequestMapping(value="/update_pwd",method=RequestMethod.POST) @ResponseBody public Result updatePwd(@RequestParam(name="oldPwd",required=true)String oldPwd, @RequestParam(name="newPwd",required=true)String newPwd ){ User loginedUser = SessionUtil.getLoginedUser(); if(!loginedUser.getPassword().equals(oldPwd)){ return Result.error(CodeMsg.ADMIN_USER_UPDATE_PWD_ERROR); } if(StringUtils.isEmpty(newPwd)){ return Result.error(CodeMsg.ADMIN_USER_UPDATE_PWD_EMPTY); } loginedUser.setPassword(newPwd); //保存数据库 User save = userService.save(loginedUser); //更新session SessionUtil.set(SessionConstant.SESSION_USER_LOGIN_KEY, save); return Result.success(true); } /** * 日志管理列表 * @param model * @param operaterLog * @param pageBean * @return */ @RequestMapping(value="/operator_log_list") public String operatorLogList(Model model,OperaterLog operaterLog,PageBean pageBean){ model.addAttribute("pageBean", operaterLogService.findList(operaterLog, pageBean)); model.addAttribute("operator", operaterLog.getOperator()); model.addAttribute("title", "日志列表"); return "admin/system/operator_log_list"; } /** * 删除操作日志,可删除多个 * @param ids * @return */ @RequestMapping(value="/delete_operator_log",method=RequestMethod.POST) @ResponseBody public Result delete(String ids){ if(!StringUtils.isEmpty(ids)){ String[] splitIds = ids.split(","); for(String id : splitIds){ operaterLogService.delete(Long.valueOf(id)); } } return Result.success(true); } /** * 清空整个日志 * @return */ @RequestMapping(value="/delete_all_operator_log",method=RequestMethod.POST) @ResponseBody public Result deleteAll(){ operaterLogService.deleteAll(); return Result.success(true); }} 后台管理员管理控制器:
/** * 后台管理员管理控制器 * */@RequestMapping("/admin/user")@Controllerpublic class UserController { @Autowired private UserService userService; @Autowired private RoleService roleService; @Autowired private OperaterLogService operaterLogService; /** * 管理员列表页面 * @param model * @param user * @param pageBean * @return */ @RequestMapping(value="/list") public String list(Model model,User user,PageBean pageBean){ model.addAttribute("title", "管理员列表"); model.addAttribute("username", user.getUsername()); model.addAttribute("pageBean", userService.findList(pageBean,user.getUsername(), UserRoleTypeEnum.ADMIN)); return "admin/user/list"; } /** * 新增管理员页面 * @param model * @return */ @RequestMapping(value="/add",method=RequestMethod.GET) public String add(Model model){ model.addAttribute("roles", roleService.findAllByRoleType(UserRoleTypeEnum.ADMIN)); return "admin/user/add"; } /** * 管理员添加表单提交处理 * @param user * @return */ @RequestMapping(value="/add",method=RequestMethod.POST) @ResponseBody public Result add(User user){ //用统一验证实体方法验证是否合法 CodeMsg validate = ValidateEntityUtil.validate(user); if(validate.getCode() != CodeMsg.SUCCESS.getCode()){ return Result.error(validate); } if(user.getRole() == null || user.getRole().getId() == null){ return Result.error(CodeMsg.ADMIN_USER_ROLE_EMPTY); } //判断管理员名是否存在 if(userService.isExistUsername(user.getUsername(), 0L)){ return Result.error(CodeMsg.ADMIN_USERNAME_EXIST); } user.setUserType(UserRoleTypeEnum.ADMIN); //到这说明一切符合条件,进行数据库新增 if(userService.save(user) == null){ return Result.error(CodeMsg.ADMIN_USE_ADD_ERROR); } operaterLogService.add("添加管理员,管理员名:" + user.getUsername()); return Result.success(true); } /** * 管理员编辑页面 * @param model * @return */ @RequestMapping(value="/edit",method=RequestMethod.GET) public String edit(Model model,@RequestParam(name="id",required=true)Long id){ model.addAttribute("roles", roleService.findAllByRoleType(UserRoleTypeEnum.ADMIN)); model.addAttribute("user", userService.find(id)); return "admin/user/edit"; } /** * 编辑管理员信息表单提交处理 * @param user * @return */ @RequestMapping(value="/edit",method=RequestMethod.POST) @ResponseBody public Result edit(User user){ //用统一验证实体方法验证是否合法 CodeMsg validate = ValidateEntityUtil.validate(user); if(validate.getCode() != CodeMsg.SUCCESS.getCode()){ return Result.error(validate); } if(user.getRole() == null || user.getRole().getId() == null){ return Result.error(CodeMsg.ADMIN_USER_ROLE_EMPTY); } if(user.getId() == null || user.getId().longValue() <= 0){ return Result.error(CodeMsg.ADMIN_USE_NO_EXIST); } if(userService.isExistUsername(user.getUsername(), user.getId())){ return Result.error(CodeMsg.ADMIN_USERNAME_EXIST); } //到这说明一切符合条件,进行数据库保存 User findById = userService.find(user.getId()); //讲提交的管理员信息指定字段复制到已存在的user对象中,该方法会覆盖新字段内容 BeanUtils.copyProperties(user, findById, "id","createTime","updateTime","userType"); if(userService.save(findById) == null){ return Result.error(CodeMsg.ADMIN_USE_EDIT_ERROR); } operaterLogService.add("编辑管理员,管理员名:" + user.getUsername()); return Result.success(true); } /** * 删除管理员 * @param id * @return */ @RequestMapping(value="/delete",method=RequestMethod.POST) @ResponseBody public Result delete(@RequestParam(name="id",required=true)Long id){ try { userService.delete(id); } catch (Exception e) { return Result.error(CodeMsg.ADMIN_USE_DELETE_ERROR); } operaterLogService.add("删除管理员,管理员ID:" + id); return Result.success(true); }} 看完上述内容,你们对Java实现物流配送系统的示例分析有进一步的了解吗?如果还想了解更多知识或者相关内容,请关注行业资讯频道,感谢大家的支持。
管理
管理员
角色
用户
验证
登录
系统
页面
信息
密码
控制器
方法
表单
控制
合法
实体
数据
数据库
日志
处理
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
互联网科技垄断
互联网与科技发展
麻工互联网科技
百单互联网科技有限公司
致聘互联网科技
互联网女皇 腾讯科技
互联网公司会议桌创意科技软装饰
汉立互联网科技有限公司联系电话
西藏七维空间互联网科技有限公司
哈尔滨新华互联网科技学院
中国科技互联网公司收入
港股科技和互联网
畅思互联网科技
世界互联网领先科技成果获奖
南博望互联网科技有限公司
群盈汇互联网科技有限公司
广州富喜互联网络科技
互联网时代科技型公司的机会
科技互联网专业工作会议发言稿
科技互联网企业在行动
重生之互联网科技帝国
互联网医疗科技
贷财互联网科技
赫美联合互联网科技
想开互联网科技公司怎么样
中国科技创新与世界互联网大会
互联网领先科技宣传片
风投北京互联网科技
互联网科技职业技能培训学校
安徽零酒互联网科技有限公司