添加/查看/清空购物车 -----苍穹外卖day7

news2024/11/18 19:28:30

1.添加购物车

产品原型

接口设计

新增类使用post

需求分析

数据库查询过程中设计了冗余字段,意义在于提高查询速度,不用和菜品表中去连接查询,直接查询购物车表。但是冗余字段必须相对稳定不能经常变化

代码开发

在使用DTO与实体类交接的时候,我们在service层进行交接

@Service
@Slf4j
public class ShoppingCartServiceImpl implements ShoppingCartService {

    @Autowired
    ShoppingCartMapper shoppingCartMapper;

    @Override
    public void addShoppingCart(ShoppingCartDTO shoppingCartDTO) {
   //判断当前加入购物车的商品是否已经存在了,如果存在只需数量加一,如果不存在则插入一条数据
        //创建实体类用于查询mapper
        ShoppingCart shoppingCart = new ShoppingCart();
        /*拷贝DTO*/
        BeanUtils.copyProperties(shoppingCartDTO,shoppingCart);
        Long userId = BaseContext.getCurrentId();
        /*查询mapper*/
        List<ShoppingCart> list = shoppingCartMapper.list(shoppingCart);
        /*判断list*/
        if(list != null && list.size()>0){
             ShoppingCart cart = list.get(0);
            shoppingCart.setNumber(shoppingCart.getNumber() + 1);
            shoppingCartMapper.updateNumberById(cart);
        }
        shoppingCartMapper.insert(shoppingCart);
    }
}

2.查看购物车

产品原型

 

接口设计

代码开发

3.清空购物车

代码开发

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

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

相关文章

国科大体系结构习题 | 第三章 二进制与逻辑电路

第三章 Q1: A1:(1) 原码&#xff1a; [ − ( 2 63 − 1 &#xff0c; 2 63 − 1 ] [-(2^{63}-1&#xff0c;2^{63}-1] [−(263−1&#xff0c;263−1] 补码&#xff1a; [ − ( 2 63 &#xff0c; 2 63 − 1 ] [-(2^{63}&#xff0c;2^{63}-1] [−(263&#xff0c;263−1] …

flex 布局:元素对齐

前言 略 使用flex的align-items属性控制元素对齐 上下对齐并铺满 <view class"more">展开更多<text class"iconfont20231007 icon-zhankai"></text></view>.more {display: flex;flex-direction: row;color: #636363;justify-co…

12P4375X042-233C KJ2005X1-BA1 CE3007 EMERSON servo controller

12P4375X042-233C KJ2005X1-BA1 CE3007 EMERSON servo controller 我们提供三种不同类别的EDGEBoost I/O模块供选择&#xff0c;以实现最大程度的I/O定制: 数字和模拟输入/输出网络和连接边缘人工智能和存储 利用EDGEBoost I/O实现变革性技术 EBIO-2M2BK EBIO-2M2BK载板支持…

IGH码云克隆包

1.gitlab仓库比较慢 该开源包是由德国的团队维护在gitlab上的&#xff0c;但是在国内下载的比较慢&#xff0c;时常打不开。故而把这个包通过码云克隆了一遍。 地址如下&#xff1a; ​​​​​​​ethercat-igh: 这个是gitlab上比较新的仓库&#xff0c;因为从原地址一直无法…

SAP从入门到放弃系列之QM物料规范(Material Specification-物料说明)

目录 一、概述1.1 物料规范的结构1.2 物料规范的使用 二、操作2.1、物料主数据设置2.2、物料说明创建2.3 效果 一、概述 Material Specification-可以翻译为物料说明或者物料规格或物料规范&#xff0c;物料的检验相对简单的时候也可以在系统中使用物料规范&#xff0c;相对于…

Leetcode901-股票价格跨度

一、前言 本题基于leetcode901股票价格趋势这道题&#xff0c;说一下通过java解决的一些方法。并且解释一下笔者写这道题之前的想法和一些自己遇到的错误。需要注意的是&#xff0c;该题最多调用 next 方法 10^4 次,一般出现该提示说明需要注意时间复杂度。 二、解决思路 ①…

苹果手机的祛魅时刻,国产厂商的颠覆征程

“iPhone翻车了&#xff1f;”有网友如此质疑。 发布未满一个月&#xff0c;iPhone 15系列多次因负面问题登上热搜。 首先曝出钛金属边框容易沾染指纹的情况&#xff0c;尚未涉及功能性方面&#xff0c;但后续接连曝出发热严重、电池循环次数低、外放破音、Wi-Fi链接缓慢的问…

Android系统启动之init进程启动+Zygote进程启动分析

一、基础概念理解 init进程 Android系统所有进程的祖先&#xff0c;是Android系统内核初始化完毕后&#xff0c;进入用户空间启动的第一个进程。 Android虚拟机 Dalvik虚拟机是谷歌自己设计的用于Android平台的虚拟机。Android4.4同时提供了Dalvik和ART虚拟机。Android5.0以后…

重庆建筑模板厂家:选择桉木模板,智慧之选

随着城市化进程的不断加速&#xff0c;建筑业也呈现出蓬勃发展的势头。而作为建筑过程中不可或缺的材料之一&#xff0c;建筑模板的选择将直接影响到工程质量和工期。在重庆这样一个气候多变、地形复杂的地区&#xff0c;如何选择适合当地情况的建筑模板显得尤为重要。 一、常规…

《第一行代码Andorid》阅读笔记-第六章

第六章 内容提供器 在上一章中我们学了Android数据持久化的技术&#xff0c;包括文件存储、SharedPreferences存储以及数据库存储。使用这些持久化技术所保存的数据都只能在当前应用程序中访问。 虽然文件和SharedPreferences存储中提供了MODE_WORLD_READABLE和MODE_WORLD_WRI…

电脑系统一键重装Win10操作方法教程

如果我们的电脑系统遇到了运行变慢、感染病毒等问题&#xff0c;这时候我们就可以进行系统的重装&#xff0c;这样来解决遇到的系统问题。特别多的用户都想知道一键重装Win10系统的详细步骤&#xff0c;下面小编就给大家带来最详细的操作方法介绍哦&#xff0c;帮助大家轻松完成…

【Vue基础-数字大屏】地图

一、阿里云数据可视化平台 地图数据https://datav.aliyun.com/portal/school/atlas/area_selector 二、操作步骤 1、打开阿里云数据可视化平台&#xff0c;复制中国地图数据链接 2、在浏览器中打开中国地图数据链接&#xff0c;复制json数据 3、在assets静态目录下创建mapDa…

大数据获客是什么?有什么用?

随着企业部分业务线上化、目标用户下沉&#xff0c;风控体系也在迭代&#xff0c;依靠大数据、人工智能进行风控成为行业共识。另一方面&#xff0c;随着线上线下获客成本日益增长&#xff0c;各机构逐渐转向用户精细化经营&#xff0c;精准营销受到各企业机构重视。大数据精准…

基于SSM的大学生创新创业平台竞赛管理子系统设计与实现

末尾获取源码 开发语言&#xff1a;Java Java开发工具&#xff1a;JDK1.8 后端框架&#xff1a;SSM 前端&#xff1a;采用JSP技术开发 数据库&#xff1a;MySQL5.7和Navicat管理工具结合 服务器&#xff1a;Tomcat8.5 开发软件&#xff1a;IDEA / Eclipse 是否Maven项目&#x…

维修派工单,为什么要使用维修派工单

维修派工单是一种至关重要的管理工具&#xff0c;主要用于分配维修人员对设备进行维护和维修。根据派工单&#xff0c;可以快速清晰地分配维修任务&#xff0c;掌握设备维护的进度和效果&#xff0c;提升设备维护的效率和效果。  良好的维修工单应具有清晰的格式&#xff0c;…

具有隔离功能,1Mbps,高速 CAN 总线收发器:SIT1050ISO

SIT1050ISO 是一款电容隔离的 CAN 转发器&#xff0c; ISO11898 标准的技术规范&#xff0c;含有多个由二氧化 硅&#xff08; SiO2 &#xff09;绝缘隔栅分开的逻辑输入和输出缓冲器&#xff0c;具有在总线与 CAN 协议控制器之间进行差分 信号传输的能力。 产品特点&a…

智慧电力运维系统助力实现配电室无人值守

随着科技的快速发展&#xff0c;电力行业也在变革&#xff0c;不断追求高效、安全和可靠的供电服务。传统的电力运维模式存在成本高、人工操作和监控存在一定的局限性和安全隐患&#xff0c;已无法满足现代电力企业的需求&#xff0c;电力企业需要更加智能化、高效化、安全化&a…

SSL证书是什么?1分钟get

在当今互联网世界中&#xff0c;保护数据的完整性和隐私性至关重要&#xff0c;由此&#xff0c;在网络数据安全保护领域&#xff0c;作为保护网络传输数据安全的SSL证书越来越频繁出现。那么你知道SSL证书是什么&#xff1f;SSL证书有哪些类型&#xff1f;SSL证书有什么用吗&a…

SAP从入门到放弃系列之QM目录类别、代码组、选择集维护

目录 一、概念相关内容1.1 目录类别1.2 代码组和代码1.3 选择集和选择集代码 二、系统操作相关内容 一、概念相关内容 1.1 目录类别 目录类别是对定性数据的一种归纳&#xff0c;描述了业务的主题。根据PA的教材中表述&#xff0c;目录类型 0 - 9 和 A - O 由 SAP 定义&#…

在全志XR806开发板使用编码器进行调光

XR806识别编码器和PWM输出 基于FreeRTOS开发&#xff0c;旋转编码器移植了Arduino Rotary库&#xff0c;注意这个库是GPL协议的&#xff0c;使用效果不错&#xff0c;首先奉上源码链接。 之前做过一个LED调光的项目&#xff08;https://oshwhub.com/czx951002/ChargeablePWMDim…