SSM实现商城管理系统

news/2024/11/8 0:08:50/

学完Mybatis、Spring、SpringMVC后,我做了一个电子商品的商城管理系统。

用到的知识:

  • vue
  • Mybatis
  • Spring
  • SpringMVC
  • jsp
  • javaScript等

先来展示下大概的页面。

登录页面

商品展示页面

 购物车页面

 完成订单页面

 个人信息,充值页面

 管理员的添加新品

 下来是一些重要功能的代码

文件上传:

@Controller
public class FileController {@Autowiredprivate GoodsService goodsService;@PostMapping( "/addshop")public String test09(@RequestParam("file") MultipartFile multipartFile, String type, String brand, String price, HttpServletRequest request, HttpServletResponse resp) throws IOException {// 获取文件上传到具体文件夹的绝对路径String realpath = request.getSession().getServletContext().getRealPath("upload");// 获取上传的文件名String fileName = multipartFile.getOriginalFilename();// 根据路径构建文件对象// 在构建过程中一定要注意路径问题File uploadFile = new File(realpath, fileName);// 判断指定文件夹uploadfiles是否存在,不存在就创建if (!uploadFile.exists()) {uploadFile.mkdirs();}String s;String image = goodsService.selectGoodsByimage(fileName);if (image==null) {// 上传文件multipartFile.transferTo(uploadFile);System.out.println(type + " " + brand + " " + price);Goods goods = new Goods();goods.setBrand(brand);goods.setPrice(Integer.parseInt(price));goods.setImage(fileName);goods.setType(type);goodsService.addshop(goods);s = "添加成功";}else {s = "用户已存在";}resp.getWriter().write(s);return "adminList.jsp";}
}

购买操作:

    //购买操作@RequestMapping("/buyselect")public void buySelect(String goods[],String username,String price,HttpServletResponse resp) throws IOException {//获取操作时间Date date = new Date();SimpleDateFormat dateFormat= new SimpleDateFormat("yyyy-MM-dd hh:mm:ss");User user = userService.selectbalanceByusername(username);String a;if (Integer.parseInt(user.getBalance())>=Integer.parseInt(price)){String x = String.valueOf(Integer.parseInt(user.getBalance())-Integer.parseInt(price));User user1 = new User();user1.setBalance(x);user1.setUsername(username);userService.updatebalanceByusername(user1);Record record = new Record();record.setUsername(username);record.setBuytime(dateFormat.format(date));for (String good:goods) {String[] s = good.split(" ");record.setGoodsimage(s[0]);record.setBuynum(s[1]);System.out.println(s[0]);System.out.println(s[1]);recordService.updaterecord(record);}a="1";}else {a="0";}resp.setContentType("text/json;charset=utf-8");resp.getWriter().write(a);}

vue实现的数据动态变化:

new Vue({el:"#la",data:{num:[],sum:0,},methods:{//点击全部勾选,按钮变allcheck(){for (let i=0;i<check.length;i++){check[i].checked = true;}this.money()},//点击取消全部勾选nocheck(){for (let i =0 ;i<check.length;i++){check[i].checked = false;}this.money()},//算总价功能money(){let sum = 0for (let i=0;i<check.length;i++){if (check[i].checked===true){sum+=shuliang[i].innerHTML*goodsprice[i].innerHTML}}this.sum=sum},//展示购物车页面showshop(){btnNums.style.display="none"select.style.display="none"layuifooter.style.display="block"axios({method: 'get',url: "/showshoplist?username="+"${user.username}"}).then((resp) => {let things = resp.datafor (let i=0;i<things.length;i++) {this.num[i] = 1}listAll.innerHTML = `<tr><th>勾选</th><th>序号</th><th>图片</th><th>单价</th><th>数量</th><th>操作</th></tr>`for (let j = 0; j < things.length; j++) {listAll.innerHTML += `<tr><td><input type="checkbox" class="check"></td><td>` + (j+1)+ `</td><td><img class="imgg" src="../upload/` + things[j].goodsimage + `" alt=""></td><td class="goodsprice">` + things[j].goodsprice + `</td><td class="shuliang" id="`+(j+1)+`" >`+this.num[j]+`</td><td><button class="nadd"> + </button><button class="nsub"> - </button></td></tr>`}let nadds = document.getElementsByClassName('nadd')let nsubs = document.getElementsByClassName('nsub')for (let i=0;i<nadds.length;i++) {nadds[i].onclick = () => {this.num[i]++document.getElementById(i+1).innerHTML = this.num[i]this.money()}nsubs[i].onclick = () => {if(this.num[i]-1 === 0) returnthis.num[i]--document.getElementById(i+1).innerHTML = this.num[i]this.money()}check[i].onclick = ()=>{this.money()}}})},//购买操作buyselect(){let s = new Array()for (let i=0;i<check.length;i++) {if(check[i].checked){s.push(imgg[i].src.substring(29)+" "+shuliang[i].innerText)}}if (s.length!==0){axios({method:"get",url:"/buyselect?goods="+s+"&&username="+"${user.username}"+"&&price="+this.sum}).then((resp)=> {let x = resp.dataif (x===1){this.showshop()summoney.innerHTML = '0'alert("购买成功")}if (x===0) {alert("请检查余额是否充足")}})}else {alert("请选择要购买的商品")}},//展示已完成订单showbuylist(){axios({method: "get",url:"/showbuylist?username="+"${user.username}"}).then(function (resp){let things = resp.databtnNums.style.display="none"select.style.display="none"layuifooter.style.display="none"listAll.innerHTML = `<tr><th>序号</th><th>图片</th><th>单价</th><th>数量</th><th>购买时间</th></tr>`for (let j = 0; j < things.length; j++) {listAll.innerHTML += `<tr><td>` + (j+1)+ `</td><td><img class="imgg" src="../upload/` + things[j].goodsimage + `" alt=""></td><td class="goodsprice">` + things[j].goodsprice + `</td><td class="shuliang">` + things[j].buynum+ `</td><td>`+things[j].buytime+`</td></tr>`}})},}})

源码:GitHub - FrankZhang63/SSMContribute to FrankZhang63/SSM development by creating an account on GitHub.https://github.com/FrankZhang63/SSM.git


http://www.ppmy.cn/news/833615.html

相关文章

SAP MM模块 工厂级货源清单管理

1.开启工厂级货源清单管理 在SAP系统当中&#xff0c;当物料没有启用货源清单管理的时候&#xff0c;货源清单可维护可不维护&#xff0c;物料启用货源清单的位置有两个&#xff0c;其中一个就是工厂级货源清单管理&#xff0c;也就是说在这个工厂下所有的物料都要使用货源清单…

【MM模块】MM模块配置

根据业务流程&#xff0c;新建Plant ,这时候各个模块就需要配置&#xff0c;以确保在业务流程下新Plant 正常运行。 MM模块配置顺序&#xff1a; 序號新建廠配置動作描述1Create PO Number range2Create PO type3Assign partner to document type4Define Storage Location5Co…

畅购商城(五):Elasticsearch实现商品搜索

好好学习&#xff0c;天天向上 本文已收录至我的Github仓库DayDayUP&#xff1a;github.com/RobodLee/DayDayUP&#xff0c;欢迎Star&#xff0c;更多文章请前往&#xff1a;目录导航 畅购商城(一)&#xff1a;环境搭建畅购商城(二)&#xff1a;分布式文件系统FastDFS畅购商城…

基于SSM的在线商城系统(最新)

系统使用技术&#xff1a;SSM 前端技术&#xff1a;bootstrap、css、js等 开发工具&#xff1a;eclipse或idea 数据库&#xff1a;mysql5.7 项目介绍&#xff1a; 该系统适合选择框架为SSM&#xff0c;基础中等或以下&#xff0c;做类似商城系统&#xff0c;要求页面美观度…

MM移动类型

1. MM移动类型&#xff1a; What Is a Movement Type? 什么是移动类型&#xff1f; When you enter a goods movement in the system, you must enter amovement typeto differentiate between the various goods movements. A movement type is a three-digit identificatio…

谷粒商城-商城业务-商品详情

目录 商城业务-商品详情-环境搭建 商城业务-商品详情-模型抽取 商城业务-商品详情-规格参数 商城业务-商品详情-销售属性组合 商城业务-商品详情-详情页渲染 商城业务-商品详情-销售属性渲染 商城业务-商品详情-sku组合切换 商城业务-商品详情-异步编排优化 商城业务-商…

SAP MM模块简单介绍

SAP划成了几个比较大的模块,各模块虽有联系但也有某种程度的独立性.用户可能只购买其中的的某几个模块,然后再用做一些二次开发.主要是用ABAP. 一种专门用来针对SAP二次开发的语言.再配合自己的其他一些系统.就可以实现整个公司的信息化管理了. SAP的可配置性非常强,它可以应用…

【MM模块】 Goods Issue 发货

发货通常有三种方式&#xff1a; 从仓库发料&#xff1b;从寄售发料&#xff1b;从管道发料&#xff1b; 系统专门的发货事务代码&#xff1a;MB1A / MIGO 比较常用的移动类型&#xff1a; 1、发料到成本中心 从正常库位 201从寄售库存 201 K从管道材料 201 P 一般这里会…