基于javaweb+mysql的甜品冰淇淋奶茶店网上订餐系统(前台、后台)
基于javaweb+mysql的甜品冰淇淋奶茶店网上订餐系统(前台、后台)
运行环境
Java≥8、MySQL≥5.7、Tomcat≥8
开发工具
eclipse/idea/myeclipse/sts等均可配置运行
适用
课程设计,大作业,毕业设计,项目练习,学习演示等
功能说明
分为前台和后台管理
前台用户可以注册、登录、查看商品列表与商品详情、加入购物车、下单购买等
后台管理员可以管理用户、商品、分类、订单等
前台
后台
技术框架
JavaBean MVC JSP SSM(Spring SpringMVC MyBatis) MySQL jQuery Bootstrap JavaScript CSS
适用
课程设计,大作业,毕业设计,项目练习,学习演示等
/*** 通过分类搜索* @param typeid* @param page* @param size* @return*/public List<Goods> getListByType(int typeid, int page, int size) {return typeid > 0 ? goodDao.getListByType(typeid, size * (page-1), size) : goodDao.getList(size * (page-1), size);}/*** 获取数量* @param typeid* @return*/public long getTotalByType(int typeid){return typeid > 0 ? goodDao.getTotalByType(typeid) : goodDao.getTotal();}/*** 通过id获取* @param productid* @return*/
}/*** 添加* @param admin*/public Integer add(Admins admin) {admin.setPassword(SafeUtil.encode(admin.getPassword()));return adminDao.insert(admin);}/*** 更新* @param user*/public boolean update(Admins admin) {
* @param row* @return*/public List<Orders> getList(byte status, int page, int row) {List<Orders> orderList = orderDao.getListByStatus(status, row * (page-1), row);for(Orders order : orderList) {order.setItemList(this.getItemList(order.getId()));}return orderList;}/*** 获取总数* @return*/public int getTotal(byte status) {return (int)orderDao.getTotalByStatus(status);}/**
return goods;}/*** 添加* @param product*/public Integer add(Goods good) {return goodDao.insert(good);}/*** 修改* @param product* @return */public boolean update(Goods good) {return goodDao.updateById(good) > 0;}/*** 删除商品* 先删除此商品的推荐信息* @param product
session.removeAttribute("user");session.removeAttribute("order");return "/index/login.jsp";}/*** 查看购物车* @return*/@RequestMapping("/cart")public String cart(Model model) {model.addAttribute("typeList", typeService.getList());return "/index/cart.jsp";}/**
request.setAttribute("goodList", goodService.getListByType(typeid, page, rows));request.setAttribute("pageTool", PageUtil.getPageTool(request, goodService.getTotalByType(typeid), page, rows));return "/index/goods.jsp";}/*** 商品详情* @return*/@RequestMapping("/detail")public String detail(int goodid, HttpServletRequest request){request.setAttribute("good", goodService.get(goodid));request.setAttribute("typeList", typeService.getList());return "/index/detail.jsp";}/*** 搜索* @return*/@RequestMapping("/search")public String search(String name, @RequestParam(required=false, defaultValue="1")int page, HttpServletRequest request) {if (Objects.nonNull(name) && !name.trim().isEmpty()) {
*/public Orders deleteIndentItem(Orders order, Goods good) {List<Items> itemList = order.getItemList();itemList = itemList==null ? new ArrayList<Items>() : itemList;// 如果购物车已有此项目, 数量清零boolean noneThis = true;int itemAmount = 0;List<Items> resultList = new ArrayList<Items>();for (Items item : itemList) {if (item.getGoodId() == good.getId()) {itemAmount = item.getAmount();noneThis = false;continue;}resultList.add(item);}
return null;}order.setItemList(resultList);// 如果当前购物车没有项目, 直接返回if (noneThis) {return order;}order.setTotal(order.getTotal() - good.getPrice() * itemAmount);order.setAmount(order.getAmount() - itemAmount);return order;}/*** 保存订单* @param order*/public int save(Orders order) {order.setStatus(Orders.STATUS_UNPAY);order.setSystime(new Date());orderDao.insert(order);int orderid = order.getId();for(Items item : order.getItemList()){
return image1;}public void setImage1(String image1) {this.image1 = image1 == null ? null : image1.trim();}public String getImage2() {return image2;}public void setImage2(String image2) {this.image2 = image2 == null ? null : image2.trim();}public Integer getPrice() {return price;}public void setPrice(Integer price) {this.price = price;}public String getIntro() {return intro;
}/*** 管理员修改自己密码* * @return*/@RequestMapping("/adminReset")public String adminReset(Admins admin, HttpServletRequest request) {request.setAttribute("flag", 5);if (adminService.get(admin.getId()).getPassword().equals(SafeUtil.encode(admin.getPassword()))) {admin.setPassword(SafeUtil.encode(admin.getPasswordNew()));adminService.update(admin);request.setAttribute("admin", admin);request.setAttribute("msg", "修改成功!");}else {request.setAttribute("msg", "原密码错误!");}return "/admin/admin_reset.jsp";}
@Service // 注解为service层spring管理bean
@Transactional // 注解此类所有方法加入spring事务, 具体设置默认
public class OrderService {@Autowiredprivate OrdersDao orderDao;@Autowiredprivate ItemsDao itemDao;@Autowiredprivate GoodService goodService;/*** 创建订单* @param good* @return*/
/*** 获取总数* @return*/public int getTotal(byte status) {return (int)orderDao.getTotalByStatus(status);}/*** 订单发货* @param id* @return */public boolean dispose(int id) {Orders order = orderDao.selectById(id);order.setStatus(Orders.STATUS_SEND);return orderDao.updateByIdSelective(order) > 0;}/*** 订单完成* @param id* @return */public boolean finish(int id) {Orders order = orderDao.selectById(id);
// 以上为mybatis generator自动生成接口, 具体实现在mapper.xml中// ------------------------------------------------------------// 以下方法使用mybatis注解实现/*** 获取列表* @param page* @param size* @return*/@Select("select * from goods order by id desc limit #{begin}, #{size}")public List<Goods> getList(@Param("begin")int begin, @Param("size")int size);/*** 获取总数* @return
#{typeId,jdbcType=INTEGER},</if></trim></insert><update id="updateByIdSelective" parameterType="com.entity.Goods" >update goods<set ><if test="name != null" >name = #{name,jdbcType=VARCHAR},</if><if test="cover != null" >cover = #{cover,jdbcType=VARCHAR},</if><if test="image1 != null" >image1 = #{image1,jdbcType=VARCHAR},</if>
@RequestParam(required=false, defaultValue="1") int page) {request.setAttribute("flag", 3);request.setAttribute("page", page);request.setAttribute("status", status);request.setAttribute("goodList", goodService.getList(status, page, rows));request.setAttribute("pageTool", PageUtil.getPageTool(request, goodService.getTotal(status), page, rows));return "/admin/good_list.jsp";}/*** 产品添加* * @return*/@RequestMapping("/goodAdd")public String goodAdd(HttpServletRequest request) {
基于javaweb+mysql的甜品冰淇淋奶茶店网上订餐系统(前台、后台)相关推荐
- 基于javaweb+SSM甜品冰淇淋奶茶店网上订餐系统(前台、后台)
基于javaweb+SSM甜品冰淇淋奶茶店网上订餐系统(前台.后台) 开发工具:eclipse/idea/myeclipse/sts等均可配置运行 适用 课程设计,大作业,毕业设计,项目练习,学习演示 ...
- 基于javaweb+mysql的甜品蛋糕店(前台、后台)
基于javaweb+mysql的甜品蛋糕店(前台.后台) 运行环境 Java≥8.MySQL≥5.7.Tomcat≥8 开发工具 eclipse/idea/myeclipse/sts等均可配置运行 适 ...
- 基于javaweb+mysql的在线商城购物商城水果蔬菜批发商城(前台、后台)
基于javaweb+mysql的在线商城购物商城水果蔬菜批发商城(前台.后台) 运行环境 Java≥8.MySQL≥5.7.Tomcat≥8 开发工具 eclipse/idea/myeclipse/s ...
- Java项目:基于jsp+mysql+Spring+SpringMVC+mybatis的农产品网上销售系统
本网站主要是针对广大网络消费者而开发的,专为网络消费者打造,建设一个农产品网上销售系统.网站在设计方面充分考虑网络消费者的需求,从网络消费者浏览购物的习惯出发,来实现网上农产品网上销售,这样不仅仅体现 ...
- 基于python的网上订餐系统论文模板
编号: 本科毕业设计 网上订餐系统 摘 要 本论文主要论述了如何使用python语言开发一个网上订餐系统 ,本系统将严格按照软件开发流程进行各个阶段的工作,采用B/S架构,面向对象编程思想进行项目开发 ...
- [内附完整源码和文档] 基于JSP的网上订餐系统
摘 要 随着社会不断的更替发展,科技日新月异,人们的饮食生活方式以及作息等等方面都发生了翻天覆地的变化.发展到现今社会,人们的饮食方式不再局限于传统的在饭店中就餐,越来越多的人开始使用网上订餐,网上订 ...
- 基于SSM网上订餐系统
开发工具(eclipse/idea): eclipse4.5/4.8或者idea2018,jdk1.8 数据库:mysql 功能模块: 网上订餐系统的前台主要是分为以下几个模块: (1)菜单展示模块: ...
- 基于javaweb+jsp的甜品店奶茶店管理系统(JavaWeb JSP MySQL Servlet SSM SpringBoot Bootstrap Ajax)
基于javaweb+jsp的甜品店奶茶店管理系统(JavaWeb JSP MySQL Servlet SSM SpringBoot Bootstrap Ajax) JavaWeb JavaBean J ...
- 基于javaweb+jsp的甜品店奶茶店管理系统(JavaWeb JSP MySQL Servlet SSM SpringBoot Layui Ajax)
基于javaweb+jsp的甜品店奶茶店管理系统(JavaWeb JSP MySQL Servlet SSM SpringBoot Layui Ajax) JavaWeb JavaBean JSP M ...
最新文章
- linux登出系统,讲解Linux操作系统进入与退出系统方法
- 关于CI的服务器与最佳实践,这里有一些思考 1
- Spring IoC容器:BeanFactory和ApplicationContext谁才是Spring IoC容器
- 可能是全网首个前端源码共读活动,诚邀加入学习
- Linux服务器的初步配置流程
- 别求面经了!小夕手把手教你如何斩下和选择NLP算法岗offer!(19.11.21更新)
- 给 axios 和 redux-axios-middleware 添加finally方法 的使用心得
- clistctrl获取选中行数据_Power Query基础6:筛选、排序、删重复行
- linux常见术语示意
- Javascript的块级作用域
- linux系统 nvme驱动模块,Linux 5.5最终通过HWMON公开NVMe驱动器温度
- 普洱学院java教务系统_2020年普洱学院教务处登录入口
- 南大周志华、俞扬、钱超最新力作:演化学习:理论与算法进展一书导读
- 生活小常识,哪些药物不能混合用?
- Oracle 历史数据表迁移方案
- Maven基础-Maven的生命周期、命令和插件(6)- mvn test命令详解
- Autoform R7零基础初学分析视频教程
- Face Detection paper 1st season
- MPU6500驱动总结
- 快速从入门到精通,建议细读
热门文章
- sqlserver存储过程进行产量查询
- linux下怎么配置显卡,Linux系统如何配置双显卡?
- 自己的CSDN博文阅读量简单分析(至2016年1月)
- JavaScript:引用类型
- 求知讲堂python+人工智能day7
- [crash分析]“Kernel panic - not syncing: Aiee, killing interrupt handler”“BUG: scheduling while atomic“
- JAVA获取UTC时间
- SQL 自定SPLIT函数的实际运用
- 英灵神殿修改服务器名字吗,《Valheim英灵神殿》服务器彩色名称设置教程及常见服务器问题讲解...
- 小马哥-----高仿山寨5S 仿苹果5S拆机主板图与开机界面图 国产苹果 警惕上当