作者主页:夜未央5788

简介:Java领域优质创作者、Java项目、学习资料、技术互助

文末获取源码

功能介绍:

自助售货管理系统,该系统分为前后台,两个项目,前台项目为autosale-1,后台项目为automanager1;启动时需要先启动automanager1,再启动autosale-1,否则会造成启动不成功的问题;

前台主要功能包括:

轮播图展示、商品列表、支付宝沙箱环境支付,注:需要配置自己的沙箱环境;

后台主要包括三种角色:管理员、维修员、补货员;

管理员主要功能包括:
员工管理、商品管理、商品类型管理、设备管理、销售报表、财务统计;
注:autosale默认启动的贩卖机编号为21,若想要添加商品,首先在商品管理中添加商品;然后在设备管理中,找到贩卖机编号为21的,查看设备状态是否为正常,若为正常,则点击管理设备按钮,然后点击上架,选择需要上架的商品即可;
维修员主要功能包括:
待维修请求处理、全部维修信息、所属设备列表;
补货员主要功能包括:
待补货请求处理、全部补货请求信息、所属设备列表;

环境需要

1.运行环境:最好是java jdk 1.8,我们在这个平台上运行的。其他版本理论上也可以。
2.IDE环境:IDEA,Eclipse,Myeclipse都可以。推荐IDEA;
3.tomcat环境:Tomcat 7.x,8.x,9.x版本均可
4.硬件环境:windows 7/8/10 1G内存以上;或者 Mac OS;
5.是否Maven项目: 是;查看源码目录中是否包含pom.xml;若包含,则为maven项目,否则为非maven项目 
6.数据库:MySql 5.7版本;
7.Zookeeper;

技术栈:

1. 后端:SpringBoot + DUBBO
2. 前端:JSP+bootstrap+jQuery

使用说明

1. 使用Navicat或者其它工具,在mysql中创建对应名称的数据库,并导入项目的sql文件;

2. 将项目中applicationContext.xml配置文件中的数据库配置改为自己的配置;

3. 使用IDEA/Eclipse/MyEclipse导入项目,Eclipse/MyEclipse导入时,若为maven项目请选择maven;若为maven项目,导入成功后请执行maven clean;maven install命令,配置tomcat,然后运行;

4. 运行项目,售卖端输入http://localhost:8084/autosale/ 登录

管理端输入:http://localhost:8088/autom/

运行截图

代码相关

选择控制器

/*** @author YX* @category 选择设备类型id、补货员id、维修员id的控制器*/
@RestController
@RequestMapping("/chooseid")
public class ChooseIdController {@Autowiredprivate VendermachinetypeService vendermachinetypeService;@Autowiredprivate IServiceempService iServiceempService;@Autowiredprivate ReplenishempService replenishempService;//选择设备类型id@RequestMapping("/chooseid")public List<Vendermachinetype> chooseId(@RequestParam(value = "typeId", required = false) String typeId ,@RequestParam(value = "tid", required = false)Integer tid) {List<Vendermachinetype> list = null;if(typeId.equals("1")) {list = vendermachinetypeService.findAll();}return list;}//选择补货员id@RequestMapping("/chooserid")public List<ReplenishempVO> chooseRid(@RequestParam(value = "areaid", required = false) String areaid ){System.out.println(areaid);return replenishempService.findByAreaid(areaid);}//选择维修员id@RequestMapping("/choosesid")public List<ServiceempVO> chooseSid(@RequestParam(value = "areaid", required = false) String areaid){return iServiceempService.findByAreaid(areaid);}
}

商品管理控制器

/*** @author zxh* @category 商品类控制器*/
@Controller
@RequestMapping("/goods")
public class GoodsController {@Autowiredprivate IGoodsService igoodsService;@Autowiredprivate Page page;/*** @category 商品列表展示控制器* @param model* @param currentPage1* @param pageSize1* @return*/@RequestMapping("/showgoodslist")public String findGoodsList(Model model, @RequestParam(value = "pageNum", required = false) String currentPage1,@RequestParam(value = "pagesize", required = false) String pageSize1) {int currentPage = currentPage1 == null ? 1 : Integer.valueOf(currentPage1);int pageSize = pageSize1 == null ? 10 : Integer.valueOf(pageSize1);int listCount = igoodsService.getGoodsPageCount();List<GoodsVO> list = igoodsService.findGoodsList(currentPage, pageSize);page.setValue(currentPage, pageSize, listCount);model.addAttribute("page", page);model.addAttribute("list", list);System.out.println(list.size());for (GoodsVO goodsVO : list) {System.out.println(goodsVO.getGname());}return "goods/goods";}/*** @category 查询所有商品控制器* @return*/@RequestMapping("/findallgoods")public @ResponseBody List<GoodsVO> findAllGoods() {List<GoodsVO> list = igoodsService.findAllGoods();return list;}/*** @category 通过商品编号查询商品控制器* @param gid* @return*/@RequestMapping("/findbygid")public @ResponseBody GoodsVO findById(Integer gid) {GoodsVO goodsVO = igoodsService.findById(gid);return goodsVO;}/*** @category 通过商品名查询商品控制器* @param gname* @return*/@RequestMapping("/findbygname")public @ResponseBody GoodsVO findByName(String gname) {GoodsVO goodsVO = igoodsService.findByName(gname);return goodsVO;}/*** @category 删除商品控制器* @param gid* @return*/@RequestMapping("/deletebygid")public String deleteById(Integer gid) {igoodsService.deleteById(gid);return "redirect:/goods/showgoodslist";}/*** @category 跳转修改商品界面控制器* @param model* @param gid* @return*/@RequestMapping("/toupdategoods")public String update(Model model, @PathParam("gid") Integer gid) {GoodsVO goodsVO = igoodsService.findById(gid);model.addAttribute("gvo", goodsVO);return "goods/updategoods";}/*** @category 修改商品信息控制器* @param goods* @return*/@RequestMapping("/updategoods")public String updateSave(Goods goods) {igoodsService.update(goods);return "forward:showgoodslist.action";}/*** @category 添加商品控制器* @param goods* @return* @throws IOException * @throws IllegalStateException */@RequestMapping("/addgoods")public String insertGoods(Goods goods, Model model) throws IllegalStateException, IOException {// 保存数据库的路径String sqlPath = null;// 定义autosale-1/src/main/webapp/static/images/的本地路径 windows系统参考此修改;//String localPath = "D:\\autosale-1\\src\\main\\webapp\\static\\images\\";// 定义autosale-1/src/main/webapp/static/images/的本地路径 Mac系统参考此修改;String localPath = "/Users/hanmeng/Desktop/java源码/Springboot/019springboot自助售货管理系统(含报告)/源码/autosale-1/src/main/webapp/static/images/";// 定义文件名String filename = null;if (!goods.getFile().isEmpty()) {// 生成uuid作为文件名String uuid = UUID.randomUUID().toString().replaceAll("-", "");// 获得文件类型(可以判断如果不是图片,禁止上传)String contentType = goods.getFile().getContentType();// 获得文件后缀名String suffixName = contentType.substring(contentType.indexOf("/") + 1);// 得到文件名filename = uuid + "." + suffixName;// 文件保存路径goods.getFile().transferTo(new File(localPath + filename));}// 把图片的相对路径保存至数据库sqlPath = "/images/" + filename;System.out.println(sqlPath);goods.setImg(sqlPath);igoodsService.insertGoods(goods);model.addAttribute("goods", goods);return "forward:showgoodslist.action";}}

商品类型管理控制器

/*** @author zxh* @category 商品类型控制器*/
@Controller
@RequestMapping("/gtype")
public class GoodsTypeController {@Autowiredprivate IGoodsTypeService igoodsTypeService;@Autowiredprivate IGoodsService igoodsService;@Autowiredprivate Goods goods;@Autowiredprivate Page page;/*** @category 商品类型列表展示控制器* @param model* @param currentPage1* @param pageSize1* @return*/@RequestMapping("/gtypelist")public String findGoodsTypeList(Model model,@RequestParam(value="pageNum",required=false)String currentPage1,@RequestParam(value = "pagesize", required = false)String pageSize1) {int currentPage = currentPage1 == null ? 1 : Integer.valueOf(currentPage1);int pageSize = pageSize1 == null ? 10 : Integer.valueOf(pageSize1);int listCount = igoodsTypeService.getGoodsTypePageCount();List<Goodstype> list = igoodsTypeService.findGoodsTypeList(currentPage, pageSize);page.setValue(currentPage, pageSize, listCount);model.addAttribute("page", page);model.addAttribute("list", list);System.out.println(list.size());for (Goodstype goodstype : list) {System.out.println(goodstype.getGtypename());}return "goods/goodstype";}/*** @category 查询所有商品类型控制器* @return*/@RequestMapping("/showgtype")public @ResponseBody List<Goodstype> findAllGoodsType(@RequestParam(value = "typeId", required = false) String typeId ,@RequestParam(value = "gtype", required = false)Integer gtype){List<Goodstype> list = null;if(typeId.equals("1")) {list = igoodsTypeService.findAllGoodsType();}return list;}/*** @category 通过类型编号查询商品类型控制器* @param gtype* @return*/@RequestMapping("/findgtype")public @ResponseBody Goodstype findByGtype(Integer gtype) {Goodstype goodstype = igoodsTypeService.findByGtype(gtype);return goodstype;}/*** @category 通过类型名查询商品类型控制器* @param gtypename* @return*/@RequestMapping("/findbytypename")public @ResponseBody Goodstype findByGtypeName(String gtypename) {Goodstype goodstype = igoodsTypeService.findByGtypeName(gtypename);return goodstype;}/*** @category 根据商品类型查询商品列表控制器* @param model* @param session* @param currentPage1* @param pageSize1* @return*/@RequestMapping("/findgoodsbygtype")public String findByGType(Model model, Integer gtype,HttpSession session,@RequestParam(value="pageNum",required=false)String currentPage1,@RequestParam(value = "pagesize", required = false)String pageSize1) {int currentPage = currentPage1 == null ? 1 : Integer.valueOf(currentPage1);int pageSize = pageSize1 == null ? 10 : Integer.valueOf(pageSize1);int listCount = igoodsTypeService.getGoodsCountByGType(gtype);List<GoodsVO> list = igoodsTypeService.findGoodsByGType(gtype, currentPage, pageSize);page.setValue(currentPage, pageSize, listCount);model.addAttribute("page", page);model.addAttribute("list", list);Goodstype goodstype = igoodsTypeService.findByGtype(gtype);model.addAttribute("goodstype", goodstype);System.out.println(list.size());for (GoodsVO goodsVO : list) {System.out.println(goodsVO.getGname());}return "goods/typegoods";}/*** @category 跳转添加某一类商品控制器* @param model* @param gtype* @return*/@RequestMapping("/toaddtypegoods")public String toAddTypeGoods(Model model,@PathParam("gtype")Integer gtype) {Goodstype goodstype = igoodsTypeService.findByGtype(gtype);model.addAttribute("goodstype", goodstype);goods.setValues(null,null, null, goodstype.getGtype(), null, null);return "goods/addtypegoods";}/*** @category 添加某一类型商品* @param model* @param goodstype* @param goods* @return*/@RequestMapping("/addtypegoods")public String addTypeGoods(Model model,@PathParam("goods")Goods goods,@PathParam("gtype")Integer gtype) {model.addAttribute("gtype", gtype);System.out.println(gtype+"=======================================================");goods.setGtype(gtype);igoodsService.insertGoods(goods);return "redirect:/gtype/findgoodsbygtype?gtype="+goods.getGtype();}/*** @category 删除该类型下的商品* @param gid* @return*/@RequestMapping("/deltypegoodsbygid")public String deleteById(Model model,@PathParam("gid")Integer gid) {GoodsVO goodsVO = igoodsService.findById(gid);boolean flag = igoodsService.deleteById(gid);if(flag == false) {model.addAttribute("msg", "删除失败,请重试!");}return "redirect:/gtype/findgoodsbygtype?gtype="+goodsVO.getGtype();}/*** @category 删除商品类型控制器* @param gtype* @return*/@RequestMapping("/deletegtype")public String deleteByGtype(Model model,@PathParam("gtype")Integer gtype) {boolean flag = igoodsTypeService.deleteByGtype(gtype);if(flag == false) {model.addAttribute("msg", "删除失败,请重试!");}return "redirect:/gtype/gtypelist";}/*** @category 跳转修改商品类型界面控制器* @param model* @param gid* @return*/@RequestMapping("/toupdategtype")public String update(Model model,Integer gtype) {Goodstype goodstype = igoodsTypeService.findByGtype(gtype);model.addAttribute("goodstype", goodstype);return "goods/updategtype";}/*** @category 修改商品类型控制器* @param goods* @return*/@RequestMapping("/updategtype")public String updateGoodsType(Goodstype goodstype) {igoodsTypeService.updateGoodsType(goodstype);return "forward:gtypelist.action";}/*** @category 添加商品类型控制器* @param goods* @return*/@RequestMapping("/addgtype")public String insertGoods(Goodstype goodstype) {igoodsTypeService.addGoodstype(goodstype);return "forward:gtypelist.action";}/*** @category 跳转到商品类型统计图界面* @return*/@RequestMapping("/togtypemap")public String toShowMap() {return "goods/goodstypemap";}/*** @category 商品类型统计控制器* @return*/@RequestMapping("/gtypemap")public @ResponseBody Map<Object, Object> getGoodsTypeCount(){Map<Object, Object> bigMap = new HashMap<>();Map<String, Integer> map = igoodsTypeService.getGoodsTypeCount();//遍历MapList<EchartsEntity> list = new ArrayList<EchartsEntity>();for (Map.Entry<String, Integer> entry : map.entrySet()) {//将名字和数字存放在VO对象内 EchartsEntity ec = new EchartsEntity(entry.getKey(),entry.getValue());//将对象存放到list集合内list.add(ec);}bigMap.put("keys", map.keySet());bigMap.put("values", map.values());bigMap.put("list", list);return bigMap;}}

如果也想学习本系统,下面领取。回复:019springboot

Java项目:springboot自助售货管理系统相关推荐

  1. 计算机毕业设计-SpringBoot自助旅游管理系统-java旅游路线系统

    计算机毕业设计-SpringBoot自助旅游管理系统-java旅游路线系统 1.开发环境及工具下载 开发语言:Java 架构:B/S 框架:SpringBoot+Vue 数据库:MySQL 编译工具: ...

  2. 程序逸的Java项目之旅-图书管理系统之验证码和用户数据的后台获取(1)

    通过上篇博客>>>>>程序逸的Java项目之旅-图书管理系统之后端接口的快速实现,我们就可以快速搭建出基础的项目代码了,今天我们就先来实现一个验证码和后台获取管理员的账号 ...

  3. 基于java(springboot)网吧管理系统(java毕业设计)

    基于java(springboot)网吧管理系统 网吧管理系统是基于java编程语言,mysql数据库,springboot框架和idea开发工具开发 ,本系统分为会员,网管,管理员三个角色,会员功能 ...

  4. 基于java(springboot)幼儿园管理系统(java毕业设计)

    基于java(springboot)幼儿园管理系统 幼儿园管理系统采用java编程语言,mysql数据库,springboot框架和idea开发工具进行开发,本设计主要分为学生家长,管理员和教师三个角 ...

  5. 程序逸的Java项目之旅-图书管理系统之数据库设计(1)

    程序逸的Java项目之旅-图书管理系统之环境的搭建 1.前言 上篇博客我们介绍了一下环境的搭建,我相信很多小伙伴这点应该问题不大,可能就是idea破解和mysql数据库和redis数据库的安装吧,我其 ...

  6. 程序逸的Java项目之旅-图书管理系统之数据库设计(2-完)

    紧接上篇博客>>>>>>程序逸的Java项目之旅-图书管理系统之数据库设计(1) 4.数据库表的创建 对于数据库表,我们可以通过cmd窗口进行创建,但那种方法有点麻 ...

  7. Java项目:CRM客户关系管理系统(java+Springboot+maven+mysql)

    源码获取:博客首页 "资源" 里下载! Springboot项目CRM客户关系管理系统: 系统实现了CRM客户关系系统的基本功能,主要有看板(当月参与的业务机会.当月转化情况.将要 ...

  8. java项目springboot医院固定资产检修管理系统

    功能介绍 主要对主页.个人中心.员工管理.供应商管理.设备类型管理.仪器设备管理.设备采购管理.设备入库管理.设备申请管理.检修信息管理的实现. springboot是spring家族中的一个全新框架 ...

  9. Java项目:SSM汽车维修管理系统源码

    作者主页:夜未央5788 简介:Java领域优质创作者.Java项目.学习资料.技术互助 文末获取源码 项目介绍 源码描述: 一.源码介绍 汽车维修管理系统源码使用ssm框架,maven,bootsr ...

最新文章

  1. 全面解析 Kmeans 聚类算法(Python)
  2. [Winform]默认以管理员身份运行程序
  3. 计算机视觉开源库OpenCV之图像翻转
  4. discrete mathematics important questions
  5. linux启动redis_Redis简介
  6. 创建PG全球生态!PostgresConf.CN2019大会盛大召开
  7. Java交替打印两个字符串
  8. ECSHOP商城网站建设之自定义调用广告方法(二)
  9. 【深度优先搜索笔记】抽象DFS
  10. php红盟,php教程_CI框架源码完全分析之核心文件URI.php
  11. 测试一下各浏览器对CSS3的支持
  12. 精挑细选几个JavaScript库和工具
  13. SCVMM2012 SP1 之添加非受信任Hyper-V
  14. NSData的同步下载与NSConnection的同步下载
  15. 简历javaweb项目描述怎么写_JavaWeb开发项目经验简历范文
  16. 计算机基础知识五笔,教你简单快速学习五笔打字
  17. 转一篇关于如何改变性格,建立自信的帖子,写的很好,我一定做到,看后才明白自己到底该如何改变
  18. 基于FOC电路低次谐波抑制Simulink仿真
  19. app_process 自定义类似am pm命令
  20. 草图大师免费模型分享2022.03.10之草图溜溜

热门文章

  1. mysql相除_mysql 常用函数
  2. 基于Python构建上市公司高送转预测模型
  3. 欧能智能电销机器人争做行业No.1
  4. 基于S7–1500的单部六层电梯教程(一)
  5. Findora基金会,推出跨链测试活动以及大使计划
  6. Maven的安装与配置及碰到的问题(自我总结)
  7. JetBrains 又涨价!!用不起了。。
  8. IT架构师介绍-软件架构设计学习第一天(非原创)
  9. 腾讯T2大牛亲自教你!看了谷歌大神写的Spring源码笔记,不愧是大佬
  10. 华为的鸿蒙系统是海思_华为鸿蒙,比海思还难【奇文共赏】