Java项目:springboot物流管理系统

作者主页:Java毕设网

 简介:Java领域优质创作者、Java项目、学习资料、技术互助

文末获取源码

一、项目介绍

        基于springboot的物流管理系统,这个项目的技术使用的都是比较新的,代码写的架构设计、编码风格很规范、注释清洗、代码简洁、适合于二次开发、学习。

        管理员角色:注册、登录、我的物流,可以创建我要寄件,可以查看我要收件。个人管理,个人信息的查看和修改(头像、用户名、账号、密码、电话、邮箱等属性)、我收到的(展示收到的物流信息,如快递编号、寄件人、存放位置、订单时间、状态等)、我寄出的(可以自行修改订单的状态,未寄出、已寄出、已签收等)。后台管理:物流管理和用户管理。

        普通用户:注册、登录、我的物流,可以创建我要寄件,可以查看我要收件。个人管理,个人信息的查看和修改(头像、用户名、账号、密码、电话、邮箱等属性)、我收到的(展示收到的物流信息,如快递编号、寄件人、存放位置、订单时间、状态等)、我寄出的(可以自行修改订单的状态,未寄出、已寄出、已签收等)。

二、环境需要

1.运行环境:最好是java jdk 1.8,我们在这个平台上运行的。其他版本理论上也可以。
2.IDE环境:IDEA,Eclipse,Myeclipse都可以。推荐IDEA;
3.硬件环境:windows 7/8/10 1G内存以上;或者 Mac OS;
4.数据库:MySql 5.7/8.0版本均可;
5.是否Maven项目:是;

三、技术栈

1.后端:SpringBoot+Mysql+redis+Mybatis-plus
2.前端:Thymeleaf+jquery+layui

四、使用说明

1. 使用Navicat或者其它工具,在mysql中创建对应sql文件名称的数据库,并导入项目的sql文件;
2. 使用IDEA/Eclipse/MyEclipse导入项目,导入成功后请执行maven clean;maven install命令,然后运行;
3. 将项目中application.yml配置文件中的数据库配置改为自己的配置;
4. 运行项目,控制台提示运行成功后在浏览器中输入地址:http://localhost:8080/

五、运行截图

 

六、相关代码

登陆管理控制器

/**
 * @author EV
 * @date 2021/4/8 23:31
 */
@Controller
public class LoginController {

    @Autowired
    UserService userService;

    @GetMapping("/toLogin")
    public String toLogin(){
        return "login";
    }

    @PostMapping("/userLogin")
    public String login(@RequestParam String username, @RequestParam String password,
                        HttpSession session, RedirectAttributes attributes) {
        QueryWrapper<User> wrapper = new QueryWrapper<User>().eq("username", username).eq("password", password);
        User user = userService.getOne(wrapper);
        if (user != null){
            session.setAttribute("user",user);
            return "redirect:/index";
        }else {
            attributes.addFlashAttribute("message","用户名或密码错误");
            return "redirect:/toLogin";
        }
    }

    @GetMapping("/toRegister")
    public String toRegister() {
        return "register";
    }

    @PostMapping("/register")
    public String register(User user) {
        user.setCreateTime(new Date());
        userService.save(user);
        return "redirect:/toLogin";
    }

    @GetMapping("/findUsername")
    @ResponseBody
    public void findUsername(String username, HttpServletResponse response) throws IOException {
        response.setContentType("application/json;charset=utf-8");
        QueryWrapper<User> wrapper = new QueryWrapper<User>().eq("username", username);
        User userInfo = userService.getOne(wrapper);
        Map<String, Object> map = new HashMap<>();
        if (userInfo != null) {
            map.put("userExit", true);
            map.put("msg", "用户名已存在");
        } else {
            map.put("userExit", false);
            map.put("msg", "正确");
        }
        //将map转为json,并且传递给客户端
        String s = JSON.toJSONString(map);
        PrintWriter writer = response.getWriter();
        writer.write(s);
        writer.close();
    }

    @GetMapping("/findName")
    @ResponseBody
    public void findName(String name, HttpServletResponse response) throws IOException {
        response.setContentType("application/json;charset=utf-8");
        QueryWrapper<User> wrapper = new QueryWrapper<User>().eq("name", name);
        User userInfo = userService.getOne(wrapper);
        Map<String, Object> map = new HashMap<>();
        if (userInfo != null) {
            map.put("nameExit", true);
            map.put("msg", "用户名已存在");
        } else {
            map.put("nameExit", false);
            map.put("msg", "正确");
        }
        //将map转为json,并且传递给客户端
        String s = JSON.toJSONString(map);
        PrintWriter writer = response.getWriter();
        writer.write(s);
        writer.close();
    }

    @GetMapping("/logout")
    public String logout(HttpSession session){
        session.removeAttribute("user");
        return "redirect:/toLogin";
    }

}

用户管理控制器

/**
 * @author EV
 * @date 2021/5/3 22:16
 */
@Controller
public class UserController {

    @Autowired
    UserService userService;

    @Autowired
    PostService postService;

    @Autowired
    OrdersService ordersService;

    @Autowired
    private AliyunOssUtil aliyunOssUtil;

    //个人信息
    @GetMapping("/toUserInfo")
    public String toUserInfo(HttpSession session, RedirectAttributes attributes) {

        User userInfo = (User) session.getAttribute("user");
        if (userInfo != null) {
            Integer id = userInfo.getId();
            User user = userService.getById(id);
            //更新
            session.setAttribute("user", user);
            return "userInfo";
        } else {
            attributes.addFlashAttribute("message", "权限不足,请先登录");
            return "redirect:/toLogin";
        }
    }

    @PostMapping("/updateUserInfo")
    public String updateUserInfo(User user, HttpSession session) {
        User userInfo = (User) session.getAttribute("user");
        Integer id = userInfo.getId();
        user.setId(id);
        userService.updateById(user);
        return "redirect:/toUserInfo";
    }

    @GetMapping("/findByName")
    @ResponseBody
    public void findName(String name, HttpSession session, HttpServletResponse response) throws IOException {
        User nowUser = (User) session.getAttribute("user");
        Integer id = nowUser.getId();
        response.setContentType("application/json;charset=utf-8");
        QueryWrapper<User> wrapper = new QueryWrapper<User>().eq("name", name).ne("id", id);
        User userInfo = userService.getOne(wrapper);
        Map<String, Object> map = new HashMap<>();
        if (userInfo != null) {
            map.put("nameExit", true);
            map.put("msg", "用户名已存在");
        } else {
            map.put("nameExit", false);
            map.put("msg", "正确");
        }
        //将map转为json,并且传递给客户端
        String s = JSON.toJSONString(map);
        PrintWriter writer = response.getWriter();
        writer.write(s);
        writer.close();
    }

    @RequestMapping("/uploadAvatar")
    public String uploadAvatar(@RequestParam("file") MultipartFile file, HttpSession session) {
        String filename = file.getOriginalFilename();
        try {
            if (file != null) {
                if (!"".equals(filename.trim())) {
                    File newFile = new File(filename);
                    FileOutputStream outputStream = new FileOutputStream(newFile);
                    outputStream.write(file.getBytes());
                    outputStream.close();
                    file.transferTo(newFile);
                    //返回图片的URL
                    String url = aliyunOssUtil.upLoad(newFile);
                    User userInfo = (User) session.getAttribute("user");
                    userInfo.setAvatar(url);
                    userService.saveOrUpdate(userInfo);
                }
            }
        } catch (FileNotFoundException e) {
            e.printStackTrace();
        } catch (IOException e) {
            e.printStackTrace();
        }
        return "redirect:/toUserInfo";
    }


    //我收到的
    @GetMapping("/toUserPickUp")
    public String toUserPickUp(@RequestParam(required = false, defaultValue = "1", value = "pageNum") int pageNum, HttpSession session, Model model, RedirectAttributes attributes) {
        User userInfo = (User) session.getAttribute("user");
        if (userInfo != null) {
            PageHelper.startPage(pageNum, 6);
            List<Orders> ordersList = ordersService.findAllByUserId(userInfo.getId());
            PageInfo<Orders> pageInfo = new PageInfo<>(ordersList);
            model.addAttribute("ordersList", ordersList);
            model.addAttribute("pageInfo", pageInfo);
            return "userPickUp";
        } else {
            attributes.addFlashAttribute("message", "权限不足,请先登录");
            return "redirect:/toLogin";
        }
    }

    //我寄出的
    @GetMapping("/toUserSend")
    public String toUserSend(@RequestParam(required = false, defaultValue = "1", value = "pageNum") int pageNum, HttpSession session, Model model, RedirectAttributes attributes) {
        User userInfo = (User) session.getAttribute("user");
        if (userInfo != null) {
            PageHelper.startPage(pageNum, 6);
            List<Post> postList = postService.findByUserId(userInfo.getId());
            PageInfo<Post> pageInfo = new PageInfo<>(postList);
            model.addAttribute("postList", postList);
            model.addAttribute("pageInfo", pageInfo);
            return "userSend";
        } else {
            attributes.addFlashAttribute("message", "权限不足,请先登录");
            return "redirect:/toLogin";
        }
    }

    @GetMapping("toPostDetail/{id}")
    public String toPostDetail(@PathVariable Integer id, Model model) {
        Post post = postService.findById(id);
        model.addAttribute("post",post);
        return "send3";
    }

    @GetMapping("toUpdatePost/{id}")
    public String toUpdatePost(@PathVariable Integer id, Model model) {
        Post post = postService.findById(id);
        model.addAttribute("post",post);
        return "send2";
    }

    @GetMapping("deletePost/{id}")
    public String deletePost(@PathVariable Integer id) {
        postService.removeById(id);
        return "redirect:/toUserSend";
    }

}

七、如果也想学习本系统,下面领取。关注并回复:105springboot

  • 0
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Spring Boot 物流管理系统的实现涉及到多个模块,包括用户管理、订单管理、仓库管理、物流管理等。下面我可以给你一个简单的代码实现部分。 1. 用户管理模块 用户管理模块包括用户的登陆、注册、修改密码等功能。以下是一个简单的实现代码: ```java @Controller public class UserController { @Autowired private UserService userService; /** * 跳转到登录页面 * * @return */ @GetMapping(value = "/login") public String login() { return "login"; } /** * 用户登录 * * @param username * @param password * @param session * @return */ @PostMapping(value = "/login") public String login(@RequestParam String username, @RequestParam String password, HttpSession session) { User user = userService.login(username, password); if (user != null) { session.setAttribute("user", user); return "redirect:/index"; } else { return "login"; } } /** * 跳转到注册页面 * * @return */ @GetMapping(value = "/register") public String register() { return "register"; } /** * 用户注册 * * @param user * @return */ @PostMapping(value = "/register") public String register(User user) { if (userService.register(user)) { return "login"; } else { return "register"; } } /** * 用户注销 * * @param session * @return */ @GetMapping(value = "/logout") public String logout(HttpSession session) { session.removeAttribute("user"); return "login"; } /** * 跳转到修改密码页面 * * @return */ @GetMapping(value = "/changePassword") public String changePassword() { return "changePassword"; } /** * 修改密码 * * @param oldPassword * @param newPassword * @param session * @return */ @PostMapping(value = "/changePassword") public String changePassword(@RequestParam String oldPassword, @RequestParam String newPassword, HttpSession session) { User user = (User) session.getAttribute("user"); if (user != null && user.getPassword().equals(oldPassword)) { user.setPassword(newPassword); userService.updateUser(user); session.removeAttribute("user"); return "login"; } else { return "changePassword"; } } } ``` 2. 订单管理模块 订单管理模块包括订单的添加、删除、查询、修改等功能。以下是一个简单的实现代码: ```java @RestController @RequestMapping("/order") public class OrderController { @Autowired private OrderService orderService; /** * 添加订单 * * @param order * @return */ @PostMapping(value = "/add") public Result addOrder(Order order) { if (orderService.addOrder(order)) { return Result.success(); } else { return Result.failure("添加订单失败"); } } /** * 删除订单 * * @param orderId * @return */ @GetMapping(value = "/delete") public Result deleteOrder(@RequestParam Long orderId) { if (orderService.deleteOrder(orderId)) { return Result.success(); } else { return Result.failure("删除订单失败"); } } /** * 查询订单 * * @param orderId * @return */ @GetMapping(value = "/find") public Result findOrder(@RequestParam Long orderId) { Order order = orderService.findOrder(orderId); if (order != null) { return Result.success(order); } else { return Result.failure("查询订单失败"); } } /** * 修改订单 * * @param order * @return */ @PostMapping(value = "/update") public Result updateOrder(Order order) { if (orderService.updateOrder(order)) { return Result.success(); } else { return Result.failure("修改订单失败"); } } } ``` 3. 仓库管理模块 仓库管理模块包括仓库的添加、删除、查询、修改等功能。以下是一个简单的实现代码: ```java @RestController @RequestMapping("/warehouse") public class WarehouseController { @Autowired private WarehouseService warehouseService; /** * 添加仓库 * * @param warehouse * @return */ @PostMapping(value = "/add") public Result addWarehouse(Warehouse warehouse) { if (warehouseService.addWarehouse(warehouse)) { return Result.success(); } else { return Result.failure("添加仓库失败"); } } /** * 删除仓库 * * @param warehouseId * @return */ @GetMapping(value = "/delete") public Result deleteWarehouse(@RequestParam Long warehouseId) { if (warehouseService.deleteWarehouse(warehouseId)) { return Result.success(); } else { return Result.failure("删除仓库失败"); } } /** * 查询仓库 * * @param warehouseId * @return */ @GetMapping(value = "/find") public Result findWarehouse(@RequestParam Long warehouseId) { Warehouse warehouse = warehouseService.findWarehouse(warehouseId); if (warehouse != null) { return Result.success(warehouse); } else { return Result.failure("查询仓库失败"); } } /** * 修改仓库 * * @param warehouse * @return */ @PostMapping(value = "/update") public Result updateWarehouse(Warehouse warehouse) { if (warehouseService.updateWarehouse(warehouse)) { return Result.success(); } else { return Result.failure("修改仓库失败"); } } } ``` 4. 物流管理模块 物流管理模块包括物流的添加、删除、查询、修改等功能。以下是一个简单的实现代码: ```java @RestController @RequestMapping("/logistics") public class LogisticsController { @Autowired private LogisticsService logisticsService; /** * 添加物流 * * @param logistics * @return */ @PostMapping(value = "/add") public Result addLogistics(Logistics logistics) { if (logisticsService.addLogistics(logistics)) { return Result.success(); } else { return Result.failure("添加物流失败"); } } /** * 删除物流 * * @param logisticsId * @return */ @GetMapping(value = "/delete") public Result deleteLogistics(@RequestParam Long logisticsId) { if (logisticsService.deleteLogistics(logisticsId)) { return Result.success(); } else { return Result.failure("删除物流失败"); } } /** * 查询物流 * * @param logisticsId * @return */ @GetMapping(value = "/find") public Result findLogistics(@RequestParam Long logisticsId) { Logistics logistics = logisticsService.findLogistics(logisticsId); if (logistics != null) { return Result.success(logistics); } else { return Result.failure("查询物流失败"); } } /** * 修改物流 * * @param logistics * @return */ @PostMapping(value = "/update") public Result updateLogistics(Logistics logistics) { if (logisticsService.updateLogistics(logistics)) { return Result.success(); } else { return Result.failure("修改物流失败"); } } } ``` 以上就是一个简单的 Spring Boot 物流管理系统的代码实现部分。其中,UserController、OrderController、WarehouseController、LogisticsController 分别对应用户管理、订单管理、仓库管理、物流管理模块。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值