Java项目:119SpringBoot废品回收系统

博主主页:Java旅途
简介:分享计算机知识、学习路线、系统源码及教程
文末获取源码

一、项目介绍

废品回收系统是由SpringBoot+Mybatis开发的,分为前台和后台,前台进行下单,后台处理。

后台功能如下:

  • 类型管理
  • 商品管理
  • 会员管理
  • 商户管理
  • 订单管理
  • 预约管理

前台功能如下:

  • 注册登录

  • 上门回收预约

  • 回收订单

  • 环保商城

  • 我的订单

  • 购物车

  • 个人中心

  • 下单

  • 付款

  • 确认收货

二、技术框架

  • 后端:SpringBoot,Mybatis
  • 前端:bootstrap,jquery

三、安装教程

  1. 用idea打开项目

  2. 在idea中配置jdk环境

  3. 配置maven环境并下载依赖

  4. 新建数据库,导入数据库文件

  5. 在application.yml文件中将数据库账号密码改成自己本地的

  6. 启动运行

四、项目截图

image-20230719153803411

image-20230719154340996

image-20230719154401759

image-20230719154429532

image-20230719154443070

image-20230719154454364

image-20230719154516527

五、相关代码

OrderManager

package com.soft.action.business;

import com.soft.model.*;
import com.soft.service.*;
import io.swagger.models.auth.In;
import org.apache.ibatis.annotations.Param;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.RequestParam;

import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;
import java.io.IOException;
import java.io.PrintWriter;
import java.util.List;
import java.util.Map;

/**
 * @program: garbgeSpringboot
 * @description: 商户订单管理
 **/
@Controller
@RequestMapping("business/orderManager")
public class OrderManager {

    @Autowired
    private GarbageOrderService garbageOrderService;

    @Autowired
    private AddressService addressService;

    @Autowired
    private GarbageTypeService garbageTypeService;

    @Autowired
    private SalesService salesService;


    @Autowired
    private UserService userService;

    // 跳转到废品回收订单管理界面
    @RequestMapping("/toOrderManager")
    public String toGarbageOrderManager(Map<String, Object> map) {

        List<GarbageOrder> garbageOrderList = garbageOrderService.getAllWaitGet();

        map.put("garbageOrderList", garbageOrderList);

        List<GarbageType> garbageTypeList = garbageTypeService.getAll();
        List<Address> addresses = addressService.getAll();

        map.put("garbageOrderList", garbageOrderList);
        map.put("addresses", addresses);
        map.put("garbageTypeList", garbageTypeList);

        return "business/garbageOrderManager";
    }

    // 跳转到废品回收订单管理界面
    @RequestMapping("/toAssigenSaler")
    public String toAssigenSaler(Map<String, Object> map, HttpSession session,@RequestParam("orderId")Integer orderId) {


        Business business = (Business) session.getAttribute("admin");
        Integer businessId = business.getId();
        List<Sales> salesList = salesService.getAll(businessId);

        map.put("salesList", salesList);
        map.put("orderId", orderId);

        return "business/saleList";
    }

    @RequestMapping(value = "/getGarbageOrder", method = RequestMethod.GET)
    public void getGarbageOrder(Map<String, Object> map, HttpSession session, HttpServletResponse response, @RequestParam("id") Integer id) throws IOException {

        PrintWriter out = response.getWriter();
        List<GarbageOrder> garbageOrderList = garbageOrderService.getAllWaitGet();


        Business business = (Business) session.getAttribute("admin");
        GarbageOrder garbageOrder = new GarbageOrder();

        garbageOrder.setId(id);
        garbageOrder.setStatus(2);
        garbageOrder.setBusinessId(business.getId());


        int result = garbageOrderService.updateSelective(garbageOrder);

        map.put("garbageOrderList", garbageOrderList);

        List<GarbageType> garbageTypeList = garbageTypeService.getAll();
        List<Address> addresses = addressService.getAll();

        map.put("garbageOrderList", garbageOrderList);
        map.put("addresses", addresses);
        map.put("garbageTypeList", garbageTypeList);

        // 添加废品上门回收订单
        if (result == 1) {
            System.out.println("抢单成功!");
            out.write("<script>alert('抢单成功!');"
                    + "window.location.href='/garbage-collection/business/orderManager/toOrderManager'</script>");
        } else {
            System.out.println("抢约失败!");
            out.write("<script>alert('抢单失败!');"
                    + "window.location.href='/garbage-collection/business/orderManager/toOrderManager'</script>");
        }
    }

    /**
     * 委派回收员
     */
    @RequestMapping(value = "/assigneSaler/{orderId}", method = RequestMethod.GET)
    public void assigneSaler(Map<String, Object> map, HttpSession session, HttpServletResponse response,
                             @PathVariable("orderId") Integer orderId,
                             @RequestParam("userId") Integer userId) throws IOException {

        PrintWriter out = response.getWriter();

        Business business = (Business) session.getAttribute("admin");
        GarbageOrder garbageOrder = new GarbageOrder();

        garbageOrder.setId(orderId);
        garbageOrder.setSaleId(userId);
        garbageOrder.setStatus(3);


        int result = garbageOrderService.updateSelective(garbageOrder);

        List<Sales> salesList = salesService.getAll(orderId);
        map.put("salesList", salesList);
        // 添加废品上门回收订单
        if (result == 1) {
            System.out.println("委派收货员成功!");
            out.write("<script>alert('委派收货员成功!');"
                    + "window.location.href='/garbage-collection/business/orderManager/toOrderManager'</script>");
        } else {
            System.out.println("委派收货员失败!");
            out.write("<script>alert('委派收货员失败!');"
                    + "window.location.href='/garbage-collection/business/orderManager/toOrderManager'</script>");
        }

    }

}

SalesManagerAction

package com.soft.action.business;

import com.soft.model.Business;
import com.soft.model.Sales;
import com.soft.model.User;
import com.soft.service.AddressService;
import com.soft.service.GarbageTypeService;
import com.soft.service.SalesService;
import com.soft.service.UserService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;

import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;
import java.io.IOException;
import java.io.PrintWriter;
import java.util.ArrayList;
import java.util.List;
import java.util.Map;

/**
 * @Description: 商户管理回收员控制器
 */
@Controller
@RequestMapping("/business/salesManager")
public class SalesManagerAction {

    @Autowired
    private SalesService userService;

    // 跳转到会员管理界面
    @RequestMapping("/toUserManager")
    public String toUserManager(Map<String, Object> map, HttpSession session) {

        Business business = (Business)session.getAttribute("admin");

        List<Sales> users = userService.getAll(business.getId());
        map.put("users", users);
        return "business/salePersonManager";

    }

    // 查询
    @RequestMapping("/search")
    public String search(String username, Map<String, Object> map, HttpServletResponse response) throws IOException {
        PrintWriter out = response.getWriter();

        if (username != null && !"".equals(username)) {
            Sales user = userService.getByUserName(username);
            if (user == null) {
                System.out.println("用户不存在!");
                out.write(
                        "<script>alert('回收员不存在!');" + "window.location.href='/garbage-collection/salesManager/toUserManager'</script>");
            } else {
                List<Sales> users = new ArrayList<Sales>();
                users.add(user);
                map.put("users", users);
                return "business/salePersonManager";
            }

        } else {
            return "redirect:toUserManager";
        }
        return "redirect:toUserManager";
    }


    // 修改
    @RequestMapping("/update")
    public String update(User user) {
        if (user != null) {
            // 这个是更新入库的user
            Sales newUser = userService.getById(user.getId());

            if (user.getUsername() != null && !"".equals(user.getUsername())) {
                newUser.setUsername(user.getUsername());
                System.out.println("修改了用户名");
            }
            if (user.getPassword() != null && !"".equals(user.getPassword())) {
                newUser.setPassword(user.getPassword());
                System.out.println("修改了密码");
            }
            if (user.getMoney() != null) {
                //newUser.setMoney(user.getMoney());
                System.out.println("修改了积分");
            }
            userService.update(newUser);
        }
        return "redirect:toUserManager";
    }

    @RequestMapping("/delete")
    public String delete(Integer id) {
        userService.delete(id);
        return "redirect:toUserManager";
    }
}

大家点赞、收藏、关注、评论啦 、👇🏻点开下方卡片👇🏻关注后回复 104

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/312133.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

源码搭建教学:连锁餐饮APP开发实战

连锁餐饮APP&#xff0c;对于很多从事餐饮行业的人来说不会陌生&#xff0c;同样这个项目本身就有着很高的热度。今天&#xff0c;小编将深入为大家讲述一下此系统的前后端开发、数据库设计、用户界面设计等方面&#xff0c;让您深入了解全栈开发的方方面面。 一、项目准备与规…

1.6计算机网络的性能指标

1.6计算机网络的性能指标 常用的计算机网络的性能指标有7个&#xff1a;速率、带宽、吞吐量、时延、往返时间、利用率、丢包率 1.6.1速率 计算机发送的信号是以二进制数字形式的。一个二进制数字就是一个比特(bit&#xff0c;binary digit)字节:Byte&#xff0c;1Byte8bit(1…

android APP修改为鸿蒙APP

将一个Android应用&#xff08;Android APP&#xff09;修改为鸿蒙应用&#xff08;HarmonyOS APP&#xff09;需要进行一些适配和重构工作&#xff0c;因为两者的底层架构和开发模型存在一些差异。下面是一些通用的步骤和考虑事项&#xff0c;希望对大家有所帮助。北京木奇移动…

C++进阶(三)多态

&#x1f4d8;北尘_&#xff1a;个人主页 &#x1f30e;个人专栏:《Linux操作系统》《经典算法试题 》《C》 《数据结构与算法》 ☀️走在路上&#xff0c;不忘来时的初心 文章目录 一、多态的概念1、概念 二、多态的定义及实现1、多态的构成条件2、虚函数3、虚函数的重写4、C…

002 Golang-channel-practice

第二题&#xff1a; 创建一个生产器和接收器&#xff0c;再建立一个无缓冲的channel。生产器负责把数据放进管道里&#xff0c;接收器负责把管道里面的数据打印出来。这里我们开5个协程把数据打印出来。 直接上代码&#xff01; package mainimport ("fmt" )func …

数谷·企声|贵州空港智能科技:以“智”提“质”,助力贵阳智慧机场建设

当前&#xff0c;我国民航正大力推进“平安、绿色、智慧、人文”的四型机场建设。贵州空港智能科技有限公司&#xff08;下称“空港智能科技”&#xff09;作为贵州民航产业集团有限公司&#xff08;下称“民航产业集团”&#xff09;信息化建设的排头兵和主力军&#xff0c;近…

java JDBC 连接数据库(增删查改)

必须先插入工具包 代码 public static void main(String[] args) {DataSource ds JdbcHelper.getDs();System.out.println(ds);JdbcTemplate jdbcTemplatenew JdbcTemplate(ds);System.out.println(jdbcTemplate);//新增String sql1"insert into biao values(null,?,?,…

GPT Store开业大吉:一场AI技术与创新的盛宴

就在1.11 日&#xff0c;ChatGPT 正式上线 GPT Store &#xff01; OpenAI CEO 山姆奥特曼第一时间确认了这个消息&#xff1a; 自从GPTs的概念提出以来&#xff0c;短短两个月内&#xff0c;全球用户已经创造了超过300万个GPTs。 点击 GPT Store 或者进入ChatGpt页面&am…

ChatGPT4 助力 Python 数据分析与可视化、人工智能建模及论文高效撰写

2022年11月30日&#xff0c;可能将成为一个改变人类历史的日子——美国人工智能开发机构OpenAI推出了聊天机器人ChatGPT3.5&#xff0c;将人工智能的发展推向了一个新的高度。2023年4月&#xff0c;更强版本的ChatGPT4.0上线&#xff0c;文本、语音、图像等多模态交互方式使其在…

HTML--文本

文本一般存在于 body下 段落标签&#xff1a;<p> </p> 换行标签&#xff1a;<br/> 放在一句话里可以换行 <p>这是一段话<br/>这是另一段话</p>文本标签分以下几种&#xff1a; 粗体标签&#xff1a;strong&#xff0c;b 斜体标签&#xf…

Spring Boot 中批量执行 SQL 脚本的实践

在Spring Boot应用中&#xff0c;有时候我们需要批量执行存储在数据库中的 SQL 脚本。本文将介绍一个实际的案例&#xff0c;演示如何通过 Spring Boot、MyBatis 和数据库来实现这一目标。 0、数据库层 CREATE TABLE batchUpdate (id INT AUTO_INCREMENT PRIMARY KEY,update_…

策略模式-实践

俗话说&#xff1a;条条大路通罗马。在很多情况下&#xff0c;实现某个目标的途径不止一条&#xff0c;例如我们在外出 旅游时可以选择多种不同的出行方式&#xff0c;如骑自行车、坐汽车、坐火车或者坐飞机&#xff0c;可根据实 际情况&#xff08;目的地、旅游预算、旅游时间…

vue2 el-table行悬停时弹出提示信息el-popover

实现方法&#xff0c;用到了cell-mouse-enter、cell-mouse-leave两个事件&#xff0c;然后在表格的首列字段中&#xff0c;加个el-popover组件&#xff0c;当然你也可以选择在其他字段的位置来显示提示框&#xff0c;看自己的需求了。 示例代码&#xff1a; <el-table cell…

每日coding

2645、构造有效字符串的最少插入数 给你一个字符串 word &#xff0c;你可以向其中任何位置插入 "a"、"b" 或 "c" 任意次&#xff0c;返回使 word 有效 需要插入的最少字母数。 如果字符串可以由 "abc" 串联多次得到&#xff0c;则认…

【HarmonyOS4.0】第九篇-ArkUI布局容器组件(一)

容器组件指的是它可以包含一个或多个子组件的组件&#xff0c;除了前边介绍过的公共属性外。 一、线性布局容器&#xff08;Row、Column&#xff09; 线性容器类表示按照水平方向或者竖直方向排列子组件的容器&#xff0c;ArkUI开发框架通过 Row 和 Colum 来实现线性布局。 …

Web3与物联网:去中心化设备互联的未来

Web3技术的崛起正引领着数字世界向着更加开放、去中心化的方向迈进&#xff0c;而物联网&#xff08;Internet of Things, IoT&#xff09;作为连接实体世界的桥梁&#xff0c;也在这场变革中经历着深刻的改变。本文将深入探讨Web3技术如何与物联网相结合&#xff0c;构建去中心…

【椒盐玉兔】GPTs Store 商店的TOP100 自定义GPT使用报告

详细的图文报告有100张图&#xff0c;因为太长就放网盘链接 链接&#xff1a;百度网盘 请输入提取码 提取码&#xff1a;ub2n 解压密码&#xff1a;heehel 更多作品&#xff1a;长期更新国内外&#xff0c;中英文AI人工智能作品 整理获取 通过算法&#xff0c;筛选出了目前访…

天津港强集团携手黄向墨创立的玉湖冷链 头部企业加强交流合作

玉湖集团是总部设于香港的有二十多年历史的跨国实业投资集团&#xff0c;由祖籍广东的香港企业家、著名爱国侨领黄向墨先生创立。黄向墨先生现任中国和平统一促进会常务理事、中华海外联谊会常务理事、香港选委会委员及香港全国人大代表选举会议成员。 新年第一天&#xff0c;…

Java:常见算法

认识算法 什么是算法&#xff1f; 解决某个实际问题的过程和方法 学习算法的技巧 先搞清楚算法的流程直接去推敲如何写代码 排序算法 冒泡排序 每次从数组中找出最大值放在数组的后面去。 实现冒泡排序的关键步骤分析 确认总共需要做几轮&#xff1a;数组的长度-1每轮比较…

Logback框架基本认识

文章目录 一.什么是Logback1.1 初识Logbcak 二.Logbcak的结构三.日志的级别四.配置组件详解4.1 logger 日志记录器属性的介绍如何在配置文件里配置 4.2 appender 附加器 配合日志记录器的输出格式4.2.1 控制台附加器4.2.2 文件附加器4.3.3滚动文件附加器 4.3 Filter: 过滤器&am…