当前位置: 首页 > wzjs >正文

阳江网站建设 公司价格东莞网站推广优化网站

阳江网站建设 公司价格,东莞网站推广优化网站,wordpress彩虹条代码,2024年小学生简短小新闻文章目录 一,236-商城业务-购物车-环境搭建二,237-商城业务-购物车-数据模型分析三,238-商城业务-购物车-VO编写 一,236-商城业务-购物车-环境搭建 这一节的主要内容: ①创建购物车模块②上传静态资源到nginx③复制静…

文章目录

  • 一,236-商城业务-购物车-环境搭建
  • 二,237-商城业务-购物车-数据模型分析
  • 三,238-商城业务-购物车-VO编写

一,236-商城业务-购物车-环境搭建

这一节的主要内容:

  • ①创建购物车模块
  • ②上传静态资源到nginx
  • ③复制静态页面模板到购物车模板的资源目录下
  • ④配置网关,将cart.gulimall.com的请求转发到购物车服务
  • ⑤配置域名IP映射

二,237-商城业务-购物车-数据模型分析

这一节的内容主要分析购物的业务逻辑和设计存储购物车的选型及数据结构。

购物车的类型,购物车分为两类:

  • 在线购物车,用户登录后,有登录信息的购物车
  • 离线购物车,用户未登录,也有购物车信息

购物车的逻辑:

  • 登录之后,将离线购物车在线化,清空离线购物车
  • 购物车支持增删改查,改商品数量

购物车的存储选型:

  • 离线购物车选择存储在redis,因为购物车是读写都很频繁的操作,存储到mysql,性能会有很大的限制
  • 在线购物车也存储到redis
  • 离线购物车的数据也要存储到后台,便于进行数据分析、个性化推荐

购物车的数据结构:

  • 因为购物车的信息可能会被修改,所以最好能快速定位到被修改的商品项,redis中按照用户维度进行存储,最外层的key是用户ID,选用hash结构,二级key是商品ID,这样,修改时,就能快速定位到用户,再快速定位到具体的商品项。
  • 这样设计的话,对于用户基数很大的商城,就会存在很多key,比如10亿用户,就有10亿key。

三,238-商城业务-购物车-VO编写

在这里插入图片描述

根据之前的设计:

  • ①把整个购物车封装为一个对象CartVo

    public class CartVo {/*** 购物车子项信息*/List<CartItemVo> items;/*** 商品数量*/private Integer countNum;/*** 商品类型数量*/private Integer countType;/*** 商品总价*/private BigDecimal totalAmount;/*** 减免价格*/private BigDecimal reduce = new BigDecimal("0.00");;public List<CartItemVo> getItems() {return items;}public void setItems(List<CartItemVo> items) {this.items = items;}public Integer getCountNum() {int count = 0;if (items != null && items.size() > 0) {for (CartItemVo item : items) {count += item.getCount();}}return count;}public Integer getCountType() {int count = 0;if (items != null && items.size() > 0) {for (CartItemVo item : items) {count += 1;}}return count;}public BigDecimal getTotalAmount() {BigDecimal amount = new BigDecimal("0");// 计算购物项总价if (!CollectionUtils.isEmpty(items)) {for (CartItemVo cartItem : items) {if (cartItem.getCheck()) {amount = amount.add(cartItem.getTotalPrice());}}}// 计算优惠后的价格return amount.subtract(getReduce());}public BigDecimal getReduce() {return reduce;}public void setReduce(BigDecimal reduce) {this.reduce = reduce;}
    }
  • ② 购物项

public class CartItemVo {private Long skuId;private Boolean check = true;private String title;private String image;/*** 商品销售属性*/private List<String> skuAttrValues;private BigDecimal price;private Integer count;private BigDecimal totalPrice;public Long getSkuId() {return skuId;}public void setSkuId(Long skuId) {this.skuId = skuId;}public Boolean getCheck() {return check;}public void setCheck(Boolean check) {this.check = check;}public String getTitle() {return title;}public void setTitle(String title) {this.title = title;}public String getImage() {return image;}public void setImage(String image) {this.image = image;}public List<String> getSkuAttrValues() {return skuAttrValues;}public void setSkuAttrValues(List<String> skuAttrValues) {this.skuAttrValues = skuAttrValues;}public BigDecimal getPrice() {return price;}public void setPrice(BigDecimal price) {this.price = price;}public Integer getCount() {return count;}public void setCount(Integer count) {this.count = count;}/*** 计算当前购物项总价* @return*/public BigDecimal getTotalPrice() {return this.price.multiply(new BigDecimal("" + this.count));}public void setTotalPrice(BigDecimal totalPrice) {this.totalPrice = totalPrice;}}
http://www.dtcms.com/wzjs/480241.html

相关文章:

  • 网站上资源截图怎么做百度收录链接
  • 长沙水业网站是哪家公司做的网页设计个人主页
  • 网站建设需要做的事情分析影响网站排名的因素
  • 做网站怎么看效果整合营销传播案例
  • 淘宝客网站开发辅导班培训机构
  • 比较好的 网站统计系统 php源码百度广告怎么做
  • 网站导航栏兼容性如何让百度收录
  • 创建网站的流程如何制作网站最简单的方法
  • 网站开发模式网站结构优化的内容和方法
  • 郑州做网站优化公有道搜索引擎入口
  • 赣州建站购买网站域名
  • 汉庭酒店网站建设方案校园推广方案
  • 重庆营销型网站建设爱站网 关键词挖掘
  • 江苏省建设安全协会网站惊艳的网站设计
  • 本科自考和成考的区别网站seo优化方法
  • 哈尔滨 网站建设仟路百度软件商店
  • 优惠券网站怎么做百度信息流广告位置
  • 手机建设网站自适应的好处赣州seo
  • 网站建设的目标有哪些seo排名是什么意思
  • 宝格丽网站建设策划案万网域名管理入口
  • 二维码生成器使用方法seo外包公司怎么样
  • 织梦网站模板视频教程看广告收益最高的软件
  • 网站建设教程下载怎么建立网站平台
  • 星月网络公司做的网站网页制作代码模板
  • b2b网站用织梦可以做吗百度seo公司整站优化
  • 那个软件可以做三个视频网站网页制作平台有哪些
  • 免费网站访客qq统计系统网络推广网站大全
  • 房产网站流量排名重庆自动seo
  • 网站优化 保定长沙网站推广和优化
  • 做微信图文推送的网站2023新冠结束了吗