当前位置: 首页 > news >正文

N-131基于jsp,ssm物流快递管理系统

开发工具:eclipse,jdk1.8

服务器:tomcat7.0

数据库:mysql5.7

技术: spring+springMVC+mybaits+EasyUI

项目包括用户前台和管理后台两部分,功能介绍如下: 

一、用户(前台)功能:

用户进入物流快递管理系统后,可以进行在线下单,下单完成后,可以查询订单状态;接着,用户可以浏览相关物流快递的新闻资讯;用户可以浏览网站提供的业务范围;最后,用户如果需要投诉或者反馈信息,可以给网站在线留言。

在线下单:用户可以在线下单,填写发货人、收货人和货物相关信息即可。

查询订单:用户下单后,可以输入订单号,查询物流快递订单的状态。

浏览新闻:用户可以在网站上,浏览相关物流快递的最新资讯。

浏览业务:用户可以浏览网站上的业务介绍,了解业务范围,明确自己的物流快递需求。

在线留言:用户可以给网站在线留言,填写相关信息即可。

二、管理员(后台)功能:

管理员首先登录系统,可以进行菜单管理、角色管理、用户管理、订单管理、新闻管理、留言管理、查看日志。

菜单管理:管理员可以增、删、改和查菜单信息。

角色管理:对角色信息进行管理,可以增、删、改和查角色信息。

用户管理:对用户信息进行管理,可以添加、修改、查询和删除用户信息。

订单管理:对订单信息进行管理,可以添加、修改、查询和删除订单信息。

新闻管理:对新闻进行管理,可以添加、修改、查询和删除新闻资讯。

留言管理:对留言信息进行管理,可以修改和删除留言信息。

查看日志:可以查看系统的详细日志信息。

文档截图:

前台用户截图:

后台管理员截图: 

package com.ischoolbar.programmer.controller.admin;import java.util.Date;
import java.util.HashMap;
import java.util.Map;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.RequestMethod;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.ResponseBody;
import org.springframework.web.servlet.ModelAndView;import com.ischoolbar.programmer.entity.admin.Order;
import com.ischoolbar.programmer.entity.admin.OrderStatus;
import com.ischoolbar.programmer.page.admin.Page;
import com.ischoolbar.programmer.service.admin.OrderService;
import com.ischoolbar.programmer.service.admin.OrderStatusService;/*** 订单管理控制器* @author llq**/
@RequestMapping("/admin/order")
@Controller
public class AdminOrderController {@Autowiredprivate OrderService orderService;@Autowiredprivate OrderStatusService orderStatusService;/*** 订单列表页面* @param model* @return*/@RequestMapping(value="/list",method=RequestMethod.GET)public ModelAndView list(ModelAndView model){model.setViewName("order/list");return model;}/*** 获取订单列表* @param page* @param content* @param roleId* @param sex* @return*/@RequestMapping(value="/list",method=RequestMethod.POST)@ResponseBodypublic Map<String, Object> getList(Page page,@RequestParam(name="sender",required=false,defaultValue="") String sender,@RequestParam(name="senderMobile",required=false,defaultValue="") String senderMobile,@RequestParam(name="reciever",required=false,defaultValue="") String reciever,@RequestParam(name="recieverMobile",required=false,defaultValue="") String recieverMobile){Map<String, Object> ret = new HashMap<String, Object>();Map<String, Object> queryMap = new HashMap<String, Object>();queryMap.put("sender", sender);queryMap.put("senderMobile", senderMobile);queryMap.put("reciever", reciever);queryMap.put("recieverMobile", recieverMobile);queryMap.put("offset", page.getOffset());queryMap.put("pageSize", page.getRows());ret.put("rows", orderService.findList(queryMap));ret.put("total", orderService.getTotal(queryMap));return ret;}/*** 获取订单状态列表* @param page* @param orderSn* @return*/@RequestMapping(value="/status_list",method=RequestMethod.POST)@ResponseBodypublic Map<String, Object> getStatusList(Page page,@RequestParam(name="orderSn",required=false,defaultValue="") String orderSn){Map<String, Object> ret = new HashMap<String, Object>();Map<String, Object> queryMap = new HashMap<String, Object>();queryMap.put("orderSn", orderSn);queryMap.put("offset", page.getOffset());queryMap.put("pageSize", page.getRows());ret.put("rows", orderStatusService.findList(queryMap));ret.put("total", orderStatusService.getTotal(queryMap));return ret;}/*** 添加订单* @param user* @return*/@RequestMapping(value="/add",method=RequestMethod.POST)@ResponseBodypublic Map<String, String> add(Order order){Map<String, String> ret = new HashMap<String, String>();if(order == null){ret.put("type", "error");ret.put("msg", "请填写正确的订单信息!");return ret;}order.setSn(System.currentTimeMillis()+"");order.setCreateTime(new Date());if(orderService.add(order) <= 0){ret.put("type", "error");ret.put("msg", "订单添加失败,请联系管理员!");return ret;}ret.put("type", "success");ret.put("msg", "订单添加成功!");return ret;}/*** 编辑订单* @param order* @return*/@RequestMapping(value="/edit",method=RequestMethod.POST)@ResponseBodypublic Map<String, String> edit(Order order){Map<String, String> ret = new HashMap<String, String>();if(order == null){ret.put("type", "error");ret.put("msg", "请填写正确的订单信息!");return ret;}if(orderService.edit(order) <= 0){ret.put("type", "error");ret.put("msg", "订单编辑失败,请联系管理员!");return ret;}ret.put("type", "success");ret.put("msg", "订单编辑成功!");return ret;}/*** 添加订单状态信息* @param orderStatus* @return*/@RequestMapping(value="/add_status",method=RequestMethod.POST)@ResponseBodypublic Map<String, String> addStatus(OrderStatus orderStatus){Map<String, String> ret = new HashMap<String, String>();if(orderStatus == null){ret.put("type", "error");ret.put("msg", "请填写正确的订单状态信息!");return ret;}orderStatus.setCreateTime(new Date());if(orderStatusService.add(orderStatus) <= 0){ret.put("type", "error");ret.put("msg", "订单状态添加失败,请联系管理员!");return ret;}ret.put("type", "success");ret.put("msg", "订单状态添加成功!");return ret;}}

 

相关文章:

  • 【C语言】字符串与指针
  • Mac/Linux类虚拟机_CrossOver虚拟机CrossOver 23.6正式发布2024全新功能解析
  • 实现基于 Azure DevOps 的数据库 CI/CD 最佳实践
  • Log4j-tag丢失
  • 力扣刷题 day61:10-31
  • 【10种排序算法总结】C++实现
  • AI:45-基于深度学习的声纹识别
  • Oracle数据库创建Sequence序列的基本使用
  • JAVA同城货运搬家小程序系统的开发优势
  • 什么是 CNN? 卷积神经网络? 怎么用 CNN 进行分类?(2)
  • 从零开始的目标检测和关键点检测(三):训练一个Glue的RTMPose模型
  • Serverless化云产品超40款 阿里云发布全球首款容器计算服务
  • rust 创建多线程web server
  • JavaScript重难点整理
  • Latex报错 “Paragraph ended before \Gin@iii was complete“
  • android图片蒙层
  • javascript数组去重/查找/插入/删除
  • js递归,无限分级树形折叠菜单
  • Netty 框架总结「ChannelHandler 及 EventLoop」
  • oschina
  • PHP面试之三:MySQL数据库
  • python3 使用 asyncio 代替线程
  • Redash本地开发环境搭建
  • Swoft 源码剖析 - 代码自动更新机制
  • vue--为什么data属性必须是一个函数
  • 分享一份非常强势的Android面试题
  • 入口文件开始,分析Vue源码实现
  • 使用common-codec进行md5加密
  • 一道面试题引发的“血案”
  • 测评:对于写作的人来说,Markdown是你最好的朋友 ...
  • 积累各种好的链接
  • ​马来语翻译中文去哪比较好?
  • ​虚拟化系列介绍(十)
  • ###STL(标准模板库)
  • #Lua:Lua调用C++生成的DLL库
  • #宝哥教你#查看jquery绑定的事件函数
  • #我与Java虚拟机的故事#连载05:Java虚拟机的修炼之道
  • $$$$GB2312-80区位编码表$$$$
  • $emit传递多个参数_PPC和MIPS指令集下二进制代码中函数参数个数的识别方法
  • (Git) gitignore基础使用
  • (WSI分类)WSI分类文献小综述 2024
  • (附源码)spring boot公选课在线选课系统 毕业设计 142011
  • (附源码)springboot宠物医疗服务网站 毕业设计688413
  • (规划)24届春招和25届暑假实习路线准备规划
  • (学习日记)2024.02.29:UCOSIII第二节
  • (一)pytest自动化测试框架之生成测试报告(mac系统)
  • (源码版)2024美国大学生数学建模E题财产保险的可持续模型详解思路+具体代码季节性时序预测SARIMA天气预测建模
  • (中等) HDU 4370 0 or 1,建模+Dijkstra。
  • (转)Android中使用ormlite实现持久化(一)--HelloOrmLite
  • .NET 6 在已知拓扑路径的情况下使用 Dijkstra,A*算法搜索最短路径
  • .NET CLR Hosting 简介
  • .net FrameWork简介,数组,枚举
  • .NET MVC第三章、三种传值方式
  • .net获取当前url各种属性(文件名、参数、域名 等)的方法
  • .net网站发布-允许更新此预编译站点