毕业设计——基于SSM(Sping+Spring MVC+MyBatis)框架的校园宽带业务管理系统

JavaEE课设项目——校园宽带业务管理系统

目录

  • JavaEE课设项目——校园宽带业务管理系统
    • 项目介绍
      • 系统功能
      • 技术栈
      • 相关工具组件
    • 启动
    • 项目运行图

项目介绍

本系统设计综合应用Java所学知识开发一个基于SSM(Sping+Spring MVC+MyBatis)框架的校园宽带业务管理系统

系统功能

  • 用户登录
  • 菜单导航
  • RABC管理(系统用户-角色-菜单权限)
  • 宽带业务客户、套餐产品、订单设计
  • 套餐续费
  • task定时任务——生成到期订单的提醒公告
  • 强化输入组件的数据联动
  • 更换druid数据连接池
  • 验证码、二维码
  • Excel导出客户数据表、订单
  • 引入echarts组件,完成数据统计(柱状图、条形图)

技术栈

java 8 + maven + ssm + layui

相关工具组件

  • 项目开发语言:java 8;
  • 项目构建管理工具:maven;
  • 前端页面框架:layui 2.4.x、layuicms 2.0、dtree、echarts;
  • 核心框架:spring 5.0.2,springmvc 5.0.2;
  • 持久层框架:mybatis 3.4.5;
  • 数据库连接池:alibaba-druid 1.1.21;
  • 分页插件:github-pagehelper 5.1.2;
  • 二维码生成工具包:zxing 3.4.0;
  • Excel工具包:apache-poi 4.1.0;
  • 验证码工具包:hutool 4.6.8;

启动

  1. 从git克隆项目导入到编译器,maven-update project下载相关依赖包
git clone https://github.com/acrx016/broadbandbusinesssys.git
  1. 导入数据库文件到MySQL
broadbandbusinesssys/src/main/resources/database/broadbandbusinessdb.sql
  1. 部署到tomcat既可运行启动,本地访问路径:
http://localhost:8080/ssm-demo/

项目运行图

  1. 登录界面
    毕业设计——基于SSM(Sping+Spring MVC+MyBatis)框架的校园宽带业务管理系统_第1张图片

  2. 系统工作台
    毕业设计——基于SSM(Sping+Spring MVC+MyBatis)框架的校园宽带业务管理系统_第2张图片

  3. 业务管理
    毕业设计——基于SSM(Sping+Spring MVC+MyBatis)框架的校园宽带业务管理系统_第3张图片

    毕业设计——基于SSM(Sping+Spring MVC+MyBatis)框架的校园宽带业务管理系统_第4张图片

  4. 数据统计
    毕业设计——基于SSM(Sping+Spring MVC+MyBatis)框架的校园宽带业务管理系统_第5张图片

    部分源码:

package edu.jwj439.bus.controller;

import java.awt.image.BufferedImage;
import java.io.ByteArrayOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.util.Date;
import javax.imageio.ImageIO;
import javax.servlet.ServletOutputStream;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import edu.jwj439.bus.service.ICustomerService;
import edu.jwj439.bus.service.IOrderService;
import edu.jwj439.bus.vo.CustomerVo;
import edu.jwj439.bus.vo.OrderVo;
import edu.jwj439.stats.utils.ExprotCustomerUtil;
import edu.jwj439.stats.utils.ZXingCodeEncodeUtil;
import edu.jwj439.sys.constast.SysConstast;
import edu.jwj439.sys.entity.User;
import edu.jwj439.sys.utils.DataGridView;
import edu.jwj439.sys.utils.RandomUtils;
import edu.jwj439.sys.utils.ResultObj;
import edu.jwj439.sys.utils.WebUtils;

@RestController
@RequestMapping("order")
public class OrderController {
    @Autowired
    private IOrderService orderService;

    @Autowired
    private ICustomerService customerService;

    @RequestMapping("loadAllOrder")
    public DataGridView loadAllOrder(OrderVo orderVo) {
        return this.orderService.queryAllOrder(orderVo);
    }

    /**
     * 初始化添加订单的表单数据
     * 
     * @param orderVo
     * @return
     */
    @RequestMapping("initOrderForm")
    public OrderVo initForm(OrderVo orderVo) {
        // 生成订单号
        orderVo.setOrderNumber(RandomUtils.createRandomStringUseTime(SysConstast.ORDER_HEAD_GH));
        // 生成计费日期
        /* orderVo.setOrderStarttime(RandomUtils.firstDateOfNextMonth(new Date())); */
        orderVo.setOrderStarttime(new Date());
        // 设置操作员
        User user = (User) WebUtils.getHttpSession().getAttribute("user");
        orderVo.setOrderOperator(user.getRealname());
        if (orderVo.getOrderFeetype() != null) {
            switch (orderVo.getOrderFeetype()) {
                case 1:
                    orderVo.setOrderEndtime(
                            RandomUtils.FeetypeOfYearly(orderVo.getOrderStarttime()));
                    break;
                case 0:
                    orderVo.setOrderEndtime(
                            RandomUtils.FeetypeOfMonthly(orderVo.getOrderStarttime()));
                    break;
                default:
                    break;
            }
        }

        return orderVo;
    }

    @RequestMapping("saveRenewOrder")
    public ResultObj renewOrder(OrderVo orderVo) {
        try {
            User user = (User) WebUtils.getHttpSession().getAttribute("user");
            orderVo.setOrderOperator(user.getRealname());
            orderVo.setOrderCreatetime(new Date());
            orderVo.setOrderState(SysConstast.ORDER_STATE_WAIT);// 订单状态默认等待中
            this.orderService.addOrder(orderVo);
            this.orderService.updateOrderState();
            return ResultObj.UPDATE_SUCCESS;
        } catch (Exception e) {
            return ResultObj.UPDATE_ERROR;
        }
    }

    @RequestMapping("saveOrder")
    public ResultObj saveOrder(OrderVo orderVo) {
        try {
            // 保存修改时间
            orderVo.setOrderCreatetime(new Date());
            orderVo.setOrderState(SysConstast.ORDER_STATE_WAIT);// 订单状态默认等待中
            CustomerVo customerVo = new CustomerVo();
            customerVo.setCustLevel(orderVo.getOrderFeetype());
            customerVo.setCustName(orderVo.getOrderCustName());
            customerService.updateCustomerLevel(customerVo);
            this.orderService.addOrder(orderVo);
            this.orderService.updateOrderState();
            return ResultObj.ADD_SUCCESS;
        } catch (Exception e) {
            e.printStackTrace();
            return ResultObj.ADD_ERROR;
        }
    }

    /**
     * 删除订单信息
     * 
     * @param OrderVo
     * @return
     */
    @RequestMapping("deleteOrder")
    public ResultObj deleteOrder(OrderVo OrderVo) {
        try {
            // 删除
            this.orderService.deleteOrder(OrderVo.getOrderId());
            return ResultObj.DELETE_SUCCESS;
        } catch (Exception e) {
            e.printStackTrace();
            return ResultObj.DELETE_ERROR;
        }
    }

    /**
     * 修改订单信息
     * 
     * @param OrderVo
     * @return
     */
    @RequestMapping("updateOrder")
    public ResultObj updateOrder(OrderVo orderVo) {
        try {
            // 修改
            this.orderService.updateOrder(orderVo);
            CustomerVo customerVo = new CustomerVo();
            customerVo.setCustLevel(orderVo.getOrderFeetype());
            customerVo.setCustName(orderVo.getOrderCustName());
            this.customerService.updateCustomerLevel(customerVo);
            this.orderService.updateOrderState();
            return ResultObj.UPDATE_SUCCESS;
        } catch (Exception e) {
            e.printStackTrace();
            return ResultObj.UPDATE_ERROR;
        }
    }

    /**
     * 
     * @param orderVo
     * @return
     */
    @RequestMapping("updateOrderDate")
    public ResultObj updateOrderDate(OrderVo orderVo) {
        try {
            // 修改
            int flag = orderVo.getOrderFeetype();
            switch (flag) {
                case 1:
                    orderVo.setOrderEndtime(RandomUtils.FeetypeOfYearly(orderVo.getOrderEndtime()));
                    break;
                case 0:
                    orderVo.setOrderEndtime(
                            RandomUtils.FeetypeOfMonthly(orderVo.getOrderEndtime()));
                    break;
                default:
                    break;
            }

            this.orderService.updateOrder(orderVo);
            this.orderService.updateOrderState();
            return ResultObj.UPDATE_SUCCESS;
        } catch (Exception e) {
            e.printStackTrace();
            return ResultObj.UPDATE_ERROR;
        }
    }

    @RequestMapping("getRenewDate")
    public OrderVo getRenewDate(OrderVo orderVo) {
        //新订单号
        orderVo.setOrderNumber(RandomUtils.createRandomStringUseTime(SysConstast.ORDER_HEAD_GH));
        switch (orderVo.getOrderFeetype()) {
            case 0:
                orderVo.setOrderEndtime(RandomUtils.FeetypeOfMonthly(orderVo.getOrderStarttime()));
                break;
            case 1:
                orderVo.setOrderEndtime(RandomUtils.FeetypeOfYearly(orderVo.getOrderStarttime()));
                break;
            default:
                break;
        }
        return orderVo;
    }

    @RequestMapping("getQRCode")
    public void getQRCode(HttpServletResponse response, HttpSession session, String str)
            throws IOException {
        // 定义图形验证码的长和宽
        // 画图片
        InputStream logoStream =
                ExprotCustomerUtil.class.getClassLoader().getResourceAsStream("logo.jpg");
        BufferedImage image = ZXingCodeEncodeUtil.createZxingCodeUseLogo(str, 150, 150, logoStream);

        ByteArrayOutputStream bos = new ByteArrayOutputStream();
        try {
            ImageIO.write(image, "JPEG", bos);
        } catch (IOException e1) {
            e1.printStackTrace();
        }

        ServletOutputStream outputStream = response.getOutputStream();
        ImageIO.write(image, "JPEG", outputStream);
    }
}

你可能感兴趣的:(毕业设计指导及定制,课程设计,spring,mvc)