java基于ssm蛋糕店蛋糕商城蛋糕系统网站源码

news2025/1/18 2:10:06

简介

java使用ssm开发的蛋糕商城系统,用户可以注册浏览商品,加入购物车或者直接下单购买,在个人中心管理收货地址和订单,管理员也就是商家登录后台可以发布商品,上下架商品,处理待发货订单等。

演示视频 https://www.bilibili.com/video/BV1S5411n7B7/?share_source=copy_web&vd_source=ed0f04fbb713154db5cc611225d92156

角色

注册用户+管理员

技术

Ssm(spring+springMVC+myibats)+ajax+bootscrap+css+jq+js+图片剪裁和压缩 +highcharts+simditor图文编辑器

功能

前台:

首页,搜索商品,详情页,可选择蛋糕尺寸颜色蛋糕层数等,根据不同规格显示不同的商品价格,加入购物车,立即购买,评价列表展示,商品详情展示,商品评分,分类商品,标签查询,更多分类查询 。

用户:

登录(密码MD5加密),注册,修改密码,收货地址管理,购物车,确认支付订单修改收货地址,添加备注,待支付订单,待发货订单,待收货订单,待评价低订单,已完成订单,申请退款订单,已退款订单,取消订单,删除订单,查看评价信息,我的购物车(可修改购买数量,可删除,可批量付款,也可单个付款)

管理员:

商品分类管理(排序),商品标签管理,商品管理(可灵活设置蛋糕尺寸等规格参数和不同的价格,图文混合编辑),订单管理(未付款,待发货,待确认,待评价,已完成,待退款,已退款,查看评价。订单没有合并,是一个商品一个订单那哦),用户管理 ,商品日销量统计

部分截图

在这里插入图片描述

确认订单代码`@RequestMapping(“/creatOrderFromCarts”)
public String save(HttpServletRequest request, HttpServletResponse response,HttpSession session,
Model model,SpOrders a) throws IOException {
try{
SpUsers u=(SpUsers) session.getAttribute(“loginU”);
String[] ids=request.getParameter(“ids”).split(“,”);
List li=new ArrayList();
Integer num=0;
Double total_price=0.0;
String msg=“”;
for(String id:ids){
if(id!=null&&id.trim().length()>0){
SpCarts c=spCartService.queryById(id);
SpGoods g=spGoodsService.queryById(c.getGid());
if(c.getNum()<=g.getStock()){
SpOrders o=new SpOrders();
o.setOrderNo(OrderUntil.getOrderNo());
o.setCts(DateUtils.getNowDateString());
o.setGid(c.getGid());
o.setUid(c.getUid());
o.setGinfo(c.getGinfo());
o.setGprice(c.getGprice());
o.setNum(c.getNum());
o.setTotal_price(c.getNum()*c.getGprice());
o.setGname(g.getGname());
o.setMain_img(g.getMain_img().split(“,”)[0]);
spOrdersService.add(o);
li.add(o);

					num++;
					total_price+=c.getNum()*c.getGprice();
					
					g.setSales(g.getSales()+num);
					g.setStock(g.getStock()-num);
					spGoodsService.update(g);
					
					spCartService.delete(Integer.parseInt(id));
				}else{
					msg+=g.getGname()+" 库存不足,生成订单失败;<br>";
				}
				
			}
		}
		
		model.addAttribute("msg",msg );
		model.addAttribute("li",li );
		model.addAttribute("total_price",total_price );
		model.addAttribute("num",num );
		 
		
		String  def_address=null;
		SpAddress address=new SpAddress();
		address.setUid(u.getId()+"");
		List<SpAddress> addressli=spAddressService.queryList(address);
		if(addressli!=null&&addressli.size()>0){
			for(SpAddress add:addressli){
				if(add.getIs_def().equals("1")){
					def_address=add.getA_add()+"("+add.getAname()+add.getPhone()+")";
					break;
				}
			}
			if(def_address==null)
				def_address=addressli.get(0).getA_add()+"("+addressli.get(0).getAname()+addressli.get(0).getPhone()+")";
		}
		
		 
		model.addAttribute("def_address",def_address );
		model.addAttribute("addressli",addressli );
	}catch(Exception e){
		//e.printStackTrace();
		model.addAttribute("msg","请勿重复提交!!!" );
		model.addAttribute("num",0 );
	}
	
	
	return Sys.Common.front + "/sure_order";
}`

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/155699.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

HTML贪吃蛇游戏源码(穿墙)

演示 完整HTML <!DOCTYPE html> <html> <head><meta charset"utf-8"><title><・)))><<</title><link rel"shortcut icon" href"${ctx}/image/snake_eating.png"><meta name"ref…

中科大2006年复试机试题

中科大2006年复试机试题 文章目录中科大2006年复试机试题第一题问题描述解题思路及代码第二题问题描述解题思路及代码第三题问题描述解题思路及代码第四题问题描述解题思路及代码第五题问题描述解题思路及代码第六题问题描述解题思路及代码第一题 问题描述 求矩阵的转置。 给…

three.js入门篇6之 环境贴图、经纬线映射贴图与高动态范围成像HDR

目录013-1 环境贴图013-2 经纬度映射贴图与HDR013-1 环境贴图 就是把周边的环境&#xff0c;贴在物体的表面之上 注意&#xff1a;px&#xff1a;x轴正向&#xff0c;nx&#xff1a;x轴负向 import * as THREE from "three" // console.log(main.js,THREE);// 导入…

06什么是Fabless?什么是IDM?

Fabless是SIC&#xff08;半导体集成电路&#xff09;行业中无生产线设计公司的简称&#xff0c;只搞设计的无晶圆厂半导体公司&#xff0c;生产交给像台积电这样的代工厂去做。 IDM是整合元件制造商&#xff0c;像英特尔这样既设计又制造的就叫IDM&#xff0c;因为规模大&…

对于字节,16进制,2进制, 0xFF,位移的一些杂记

1.普通字符串95 对应的16进制的展示&#xff0c;使用工具查看如下图 下图为普通字符串 下图为95对应的16进制 95对应的16进制字符串为39 35》39代表一个字节 35代表另一个字节 &#xff08;一个字节是由两位16进制字符串组成&#xff0c;比如39或35&#xff09; 1个字节对应…

select for update加了行锁还是表锁?

最近在开发需求的时候&#xff0c;用到了select......for update。在代码评审的时候&#xff0c;一位同事说 &#xff0c;唯一索引一个非索引字段&#xff0c;是否可能会锁全表呢&#xff1f;本文将通过9个实验操作的例子&#xff0c;给大家验证select......for update到底加了…

迁移环境时,忘记私钥证书密码怎么办?

知行之桥的版本在进行不断更新&#xff0c;相较之前的版本而言&#xff0c;知行之桥每一次更新的版本&#xff0c;无论在操作还是功能亦或是便利性上都有更好的优势&#xff0c;因此不少企业会在新版本更新之后果断选择新的版本&#xff0c;企业选择版本更新之后&#xff0c;需…

He3 新版上新

系统功能更新 支持拖动工具&#xff0c;调整位置 支持置顶 支持自定义分类 新增工具 Paseto 生成器 2. 文本分析 JSON 转 PHP&#xff0c;YAML 转 PHP UTF7 编码、UTF7 解码 6. UTM 生成器 CSS 边框圆角生成器 CSV 类转换工具&#xff0c;目前支持 CSV 与 Markdown、HTML、JS…

什么是无代码ITSM工具

拥有强大 ITSM 团队的企业已经能够生存下来&#xff0c;并且在某些情况下在整个大流行期间表现出色。成功的 IT 团队以其在日常运营中断时快速恢复的能力而闻名。 当您需要重新组织服务交付流程时&#xff0c;ITSM 平台可以减少工程工作量&#xff0c;这对于制定弹性 ITSM 战略…

Python学习笔记——元组

Python将不能修改的值称为不可变的&#xff0c;而不可变的列表被称为元组。定义元组元组创建只需要在括号中添加元素&#xff0c;并使用逗号隔开即可。元组使用小括号 ( )&#xff0c;列表使用方括号 [ ]。定义元组后&#xff0c;就可以使用索引来访问其元素&#xff0c;就像访…

ansible作业二

ansible匹配自定义路径清单文件 查看当前匹配的清单文件路径 [rootserver ~]# ansible --version ansible [core 2.13.5]config file /etc/ansible/ansible.cfg --- 默认配置文件configured module search path [/root/.ansible/plugins/modules, /usr/share/ansible/plugin…

力扣(LeetCode)1150. 检查一个数是否在数组中占绝大多数(C++/Python3)

遍历 直观思考&#xff0c;一次遍历数组&#xff0c;计数 target 。用 target 出现次数和数组长度的一半做比较&#xff0c;即可得到答案。 class Solution { public:bool isMajorityElement(vector<int>& nums, int target) {int cnt 0;for(auto &x:nums)if(…

7、Servlet——Servlet核心接口和类、创建Servlet的三种方式

目录 一、Servlet核心接口和类 1、Servlet接口 2、GenericServlet抽象类 3、HttpServlet类 二、创建Servlet的三种方式 1、实现Servlet接口 2、继承GenericServlet抽象类 3、继承HttpServlet类 三、web.xml中其他配置 1、启动优先级&#xff1a; 2、url-pattern定…

【SpringCloud02】订单-支付微服务模块(支付模块构建)

1.微服务cloud整体聚合父工程Project New Project 聚合总父工程名字 Maven选版本 工程名字 字符编码 注解生效激活 Java编译版本选8 File Type过滤 2.父工程POM 2.1Pom.xml文件 <project xmlns"http://maven.apache.org/POM/4.0.0" xmlns:xsi&quo…

docker中MySQL忘记登录密码找回方法

查看docker启动列表 docker ps 进入启动的mysql容器中 docker exec -it mysql /bin/bash 修改mysql配置文件 vim /etc/mysql/conf.d/docker.cnf 在最后添加 skip-grant-tables 如果出现命令没找到&#xff0c;则需要安装。 依次使用以下命令安装vim apt-get update apt…

java 系列文章之异常

文章目录一、概念二、异常分类1. Error2. Exception三、异常的处理方式四、Throw 和 throws 的区别1. 位置不同2. 功能不同总结一、概念 果某个方法不能按照正常的途径完成任务&#xff0c;就可以通过另一种路径退出方法。在这种情况下会抛出一个封装了错误信息的对象。此时&a…

关于单行处理函数——ifnull()

我们先来看一个实例&#xff1a; 需求&#xff1a;在员工表emp中查看员工的年薪 分析&#xff1a;计算年薪除了月薪外补助也应该计算在内&#xff0c;所以年薪 (月薪 补助) * 12 sql语句&#xff1a;select ename,(sal comm) *12 as 年薪 from emp; …

SpringBoot+Vue项目在线拍卖系统

文末获取源码 开发语言&#xff1a;Java 框架&#xff1a;springboot JDK版本&#xff1a;JDK1.8 服务器&#xff1a;tomcat7 数据库&#xff1a;mysql 5.7/8.0 数据库工具&#xff1a;Navicat11 开发软件&#xff1a;eclipse/myeclipse/idea Maven包&#xff1a;Maven3.3.9 浏…

编译原理分析器大作业之字幕分析器

写这篇文章的主要目的呢是分享一下编译原理大作业——电影字幕分析器&#xff0c;分享一下我的做法&#xff0c;可能采用的做法不是特别好的用法&#xff0c;希望各位多多指点&#xff0c;觉得文章不错给点小赞赞喔!!! 题目介绍 写一个srt字幕解释器&#xff0c;需要分析单词…

动手深度学习-线性神经网络:线性回归

目录线性模型&#xff08;1&#xff09;度量模型质量-损失函数&#xff08;2&#xff09;更新模型以提高模型预测质量-随机梯度下降线性回归的从零开始实现线性回归的简洁实现参考教程&#xff1a;https://courses.d2l.ai/zh-v2/线性模型 定义&#xff1a;回归&#xff08;reg…