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
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值