——————————DescriptionStart——————————
运行环境
Java≥8、MySQL≥5.7、Tomcat≥8
开发工具
eclipse/idea/myeclipse/sts等均可配置运行
适用
课程设计,大作业,毕业设计,项目练习,学习演示等
功能说明







基于javaweb的SSM汽车4S店管理系统(java+jsp+bootstrap+ssm+mysql)
汽车4S店管理系统
本项目共分为管理员、用户、店员三种角色:
管理员角色包含以下功能:
管理员登录,在售车辆管理,品牌管理,品牌分类管理,推荐车辆,订单管理,销量统计等功能。
用户角色包含以下功能:
用户登录,用户角色首页,购物商城,查看购物车,订单管理,个人信息修改,关于我们等功能。
店员角色包含以下功能:
添加删除修改汽车,订单管理,销量统计,个人信息修改等功能。
- 后端:Spring+SpringMVC+Mybatis
- 前端:JSP+JavaScript+jQuery+BootStrap
管理员账号/密码:10001/123456
店员账号/密码: 10002/123456
用户账号/密码: 10003/123456
注意事项
关于图片上传与显示,
1.将images文件夹复制到D盘根目录下;
2.确认util/Constants.java中IMAGEPATH的路径是否为D盘路径,
3.将该路径在idea中配置tomcat下的虚拟路https://yms-1257401191.cos.ap-nanjing.myqcloud.com/CarSystem/
用户:注册登录
用户:主页菜单(轮播图、网站介绍)
用户:车辆查看(可查看管理员推荐车辆的列表和在售汽车的列表,可根据品牌、价格区间、上架构时间等搜索,可以点击加入购物车按钮和立即购买按钮)
用户:购物车管理(查看购买车里所有车辆,可以点击删除和购买按钮,点击购买按钮后会进入提交订单页面)
用户:提交订单(确认车辆名称,价格,联系人,联系方式后,再填写备注和交易地址,而后点击下单按钮进入付款页面)
用户:订单管理(可根据状态筛选订单:未发货订单、未收货订单、历史订单、未发货订单,可点击详情按钮查看详情,可点击付款按钮对未付款的车辆付款)
用户:个人中心(可修改姓名、性别、电话号码、家庭住址、邮箱等信息)
用户:修改密码
店员:汽车管理(可以对车辆增删改查和下架处理)
管理员:汽车管理(查看在售车辆列表,可以根据汽车编号或名称搜索,可以点击详情按钮、修改按钮、下架按钮,实现对应功能)
管理员:品牌管理(查看品牌列表,可以点击详情按钮、修改按钮、删除按钮,实现对应功能)
管理员:推荐管理(可以查看已设置推荐的列表,可以根据汽车编号搜索,可以点击改为推荐按钮和改为不推荐按钮)
管理员:订单管理(查看未发货订单:可以点击发货按钮、未收货订单、历史订单、回收站)
管理员:销量统计(根据品牌的统计和根据时间的统计,其中根据时间的统计可以按照年份yyyy搜索)
——————————CodeStart——————————
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29
|
@Controller @RequestMapping("/shop") public class ShopUserInfoAction {
@Autowired private PersonService personService; @Autowired private LoginService loginSevice; @RequestMapping("/updateInfoInit") public String updateInfoInit(HttpSession session, Map<String, Object> map){ Login login = (Login) session.getAttribute("shoploginSession"); if(login == null){ return "redirect:/loginInitAction"; }else if( !login.getLogin_permission().equals("shop")){ return "redirect:/loginInitAction"; } Person person = personService.queryPersonById(login.getLogin_id()); map.put("updatePersonInfo", person); return "shop/userInfo/updateInfo"; }
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54
|
@RequestMapping(value="/addCar", method=RequestMethod.POST) public String addCar(@RequestParam("imgSrc")MultipartFile mf, Car car) throws IOException{ if(mf.getSize() != 0){ InputStream is = mf.getInputStream(); File target = new File(Constants.IMAGEPATH + mf.getOriginalFilename()); OutputStream os = null; try{ os = new FileOutputStream(target, true); int templeng = 0; byte[] tempbyte = new byte[4096]; while((templeng = is.read(tempbyte)) != -1){ os.write(tempbyte, 0, templeng); os.flush(); } }catch(Exception e){ e.printStackTrace(); }finally{ try{ is.close(); os.close(); }catch (IOException e) { e.printStackTrace(); } } car.setCar_img(mf.getOriginalFilename()); }else{ car.setCar_img("demo.jpg"); } carService.addCar(car); return "redirect:/shop/queryAllOnlineCar"; }
@RequestMapping("/carDetail") public String carDetails(Map<String, Object> map, String car_id){ List<Car> list = carService.queryOnlineCarById(car_id); map.put("carDetail", list.get(0)); return "shop/carManage/car_details"; }
@RequestMapping("/carUpdateInit") public String carUpdateInit(Map<String, Object> map, String car_id){ map.put("carUpdate", carService.queryOnlineCarById(car_id).get(0)); map.put("brandList",brandService.queryAllBrand()); return "shop/carManage/car_update"; }
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42
|
@Controller @RequestMapping("/shopOrderManage") public class ShopOrderManageAction {
@Autowired private OrderService orderService; @Autowired private PageService pageService; @RequestMapping("/orderNotSendList") public String orderNotSendList(Map<String, Object> map, HttpSession session,String currentpage){ Login login = (Login) session.getAttribute("shoploginSession"); if(login == null || !login.getLogin_permission().equals("shop")){ return "redirect:/loginInitAction"; } List<Order> orderList = orderService.shopQueryAllPayOrder(login.getLogin_id()); Page page = pageService.pageToOrder(orderList.size(), currentpage); int subEnd = (page.getCurrentpage()-1)*page.getSize() + page.getSize() > orderList.size() ? orderList.size() : (page.getCurrentpage()-1)*page.getSize() + page.getSize(); orderList = orderList.subList( (page.getCurrentpage()-1)*page.getSize() , subEnd); map.put("page", page); map.put("queryKind", "all"); map.put("notSendOrder", orderList); return "shop/orderManage/order_notSend"; } @RequestMapping("/sendOrderById") public String sendOrderById(String order_id){ orderService.sendOrderById(order_id); return "redirect:/shopOrderManage/orderNotSendList"; }
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35
| if(login == null){ return "redirect:/loginInitAction"; }else if( !login.getLogin_permission().equals("shop")){ return "redirect:/loginInitAction"; } if( ! login.getLogin_password().equals(oldPwd)){ map.put("changePwdError", "您输入的原密码错误"); return "shop/userInfo/changePassword"; } login.setLogin_password(newPwd); loginSevice.saveLogin(login); map.put("changePwdSuccess", "恭喜您,修改密码成功"); return "shop/userInfo/changePassword"; } }
@Controller @RequestMapping("/user") public class UserInfoAction {
@Autowired private PersonService personService; @Autowired private LoginService loginSevice; @RequestMapping("/updateInfoInit")
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49
|
@RequestMapping("/payOrder") public String payOrder(String order_id){ orderService.payOrder(order_id); return "redirect:/orderManage/notSendOrder"; }
@RequestMapping("/notPayOrder") public String notPayOrder(Map<String, Object> map, HttpSession session){ Login login = (Login) session.getAttribute("loginSession"); if(login == null){ return "redirect:/loginInitAction"; }else if( !login.getLogin_permission().equals("user")){ return "redirect:/loginInitAction"; } List<Order> orderList = orderService.userQueryAllNotPayOrder( login.getLogin_id() ); map.put("notPayOrder", orderList); System.out.println("=================代付款长度:" + orderList.size()); return "user/order/order_notPay"; }
@RequestMapping("/notSendOrder") public String notSendOrder(Map<String, Object> map, HttpSession session){ Login login = (Login) session.getAttribute("loginSession"); if(login == null){ return "redirect:/loginInitAction"; }else if( !login.getLogin_permission().equals("user")){ return "redirect:/loginInitAction"; } List<Order> orderList = orderService.userQueryAllPayOrder(login.getLogin_id()); map.put("notSendOrder", orderList); return "user/order/order_notSend"; }
@RequestMapping("/notReceiveOrder") public String notReceiveOrder(Map<String, Object> map, HttpSession session){ Login login = (Login) session.getAttribute("loginSession"); if(login == null){ return "redirect:/loginInitAction"; }else if( !login.getLogin_permission().equals("user")){ return "redirect:/loginInitAction"; } List<Order> orderList = orderService.userQueryAllSendOrder(login.getLogin_id()); map.put("notReceiveOrder", orderList);
|
——————————PayStart——————————
项目链接:
https://javayms.github.io?id=542324292203201li
https://javayms.pages.dev?id=542324292203201li