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

IT周末做网站违反制度么浙大企业管理培训课程

IT周末做网站违反制度么,浙大企业管理培训课程,wordpress评论去掉网址,网络营销策划实训报告目录 1.购物车常见的实现方式 2.购物车数据结构介绍 3.实例分析 1.controller层 2.service层 1.购物车常见的实现方式 方式一#xff1a;存储到数据库 性能存在瓶颈方式二#xff1a;前端本地存储 localstorage在浏览器中存储 key/value 对#xff0c;没有过期时间。s… 目录 1.购物车常见的实现方式 2.购物车数据结构介绍 3.实例分析 1.controller层 2.service层  1.购物车常见的实现方式 方式一存储到数据库 性能存在瓶颈方式二前端本地存储 localstorage在浏览器中存储 key/value 对没有过期时间。sessionstorage在浏览器中存储 key/value 对在关闭会话窗口后将会删除这些数据。方式三后端存储到缓存-redis 可以开启AOF持久化防止重启丢失推荐方式四后端存储到缓存-redis并同步更新到数据库 缓存和数据库的一致性加了用户唯一标识后没高并发操作同一数据的场景  2.购物车数据结构介绍 1.一个购物车中存在多个购物项2.使用双层MapMapString,MapString,String  第一层map的key表示用户id第二层map的key表示商品id3.对应的reids使用hash结构   3.实例分析 1.controller层 ApiOperation(添加到购物车)PostMapping(/add)public JsonData addToCart(ApiParam(购物的商品) RequestBody CartItemRequest cartItemRequest){cartService.addToCart(cartItemRequest);return JsonData.buildSuccess();} 2.service层  使用redis的hash结构模式进行存储 1.根据拦截器获取用户id2.根据id拼接key3.根据key创建hash结构的购物车4.根据商品id查询购物车中是否存在 5.1若不存在-添加商品到购物车 6.根据商品的id获取指定商品的详情7.创建商品并添加需要的信息8.以商品的id为键以商品为值转化为json字符串缓存到redis中4.2.若存在-修改购买的数量 6.根据key获取到的value反转json获取到商品7.修改购买的数量原本数量购买的数量8.以商品的id为键以商品为值转化为json字符串缓存到redis中 Slf4j Service public class CartServiceImpl implements CartService {Autowiredprivate RedisTemplate redisTemplate;Autowiredprivate ProductService productService;/*** 添加商品到购物车** param cartItemRequest*/Overridepublic void addToCart(CartItemRequest cartItemRequest) {//1.获取商品信息Long productId cartItemRequest.getProductId();Integer buyNum cartItemRequest.getBuyNum();//2.根据用户id获取购物车BoundHashOperationsString, Object, Object myCart getMyCartOps();//3.根据商品id的key获取缓存中valueObject cacheObj myCart.get(productId);String result ;if (cacheObj ! null) {result (String) cacheObj;}//4.判断缓存中是否存在商品if (StringUtils.isBlank(result)) {//5.1若不存在添加商品到购物车//6.创建购物商品CartItemVo cartItemVo new CartItemVo();//7.获取商品详情ProductVo productVo productService.detail(productId);if (productVo null) {throw new MyException(CodeEnum.CART_FAIL);}//8.根据商品详情获取指定信息cartItemVo.setAmount(productVo.getAmount());//获取商品的价格cartItemVo.setBuyNum(buyNum);//获取买的数量cartItemVo.setProductId(productId);//商品的idcartItemVo.setProductImg(productVo.getCoverImg());//商品图片cartItemVo.setProductTitle(productVo.getTitle());//商品标题//9.以商品id为键以根据id获取的商品对象为值转换为json字符串存放到redis中myCart.put(productId, JSON.toJSONString(cartItemVo));} else {//5.2若存在修改商品数量//6.根据key值转换为商品类型在获取CartItemVo cartItemVo JSON.parseObject(result, CartItemVo.class);//7.修改买的数量原本后买的cartItemVo.setBuyNum(cartItemVo.getBuyNum() buyNum);//8.重新放回myCart.put(productId, JSON.toJSONString(cartItemVo));}}/*** 使用redis中的hash结构** return*/private BoundHashOperationsString, Object, Object getMyCartOps() {//1.获取购物车keyString cartKey getCartKey();return redisTemplate.boundHashOps(cartKey);}/*** 根据用户id创建购物车的key* 购物车key** return*/private String getCartKey() {LoginUser loginUser LoginInterceptor.threadLocal.get();String cartKey String.format(CaptchaKey.CART_KEY, loginUser);return cartKey;} }
http://www.hkea.cn/news/14386342/

相关文章:

  • 网站开发产品描述电商网站设计制作
  • 视频网站 wordpress主题深圳建筑工地招工招聘信息
  • 网站的认识中小微企业名录库
  • 英山县住房和城乡建设局网站安庆微信网站开发
  • 宁波网站推广网站开发连接数据库
  • 类似一起做网店的网站网网站建设
  • 网站建设报价套餐如何做网站答题领红包链接
  • 自动的网站制作免费网站程序
  • 襄阳市建设公司网站网站域名备案时间查询
  • 深圳市大鹏建设局网站建立英语
  • 建设网站开题报告如何制作网页跳转链接
  • 五金配件网站建设报价从事广告设计需要学什么
  • flask 简易网站开发媒体这些渠道进行采集的是
  • 公司网站域名及空间河北省建设工程质量监督网站
  • 德安县建设局网站网站菜单分类怎么做
  • 江苏水利工程建设招投标网站杭州软件开发培训机构
  • wordpress如何修改视频上传大小湛江网站优化
  • 潍坊网站建设咨询上海做推广网站
  • 宁夏做网站活动推广文案
  • 石家庄网络建站大连网站建设网站建设
  • 无人机东莞网站建设网络营销模式
  • php网站的后台地址扁平化网站设计欣赏
  • 网站开发天晟合益wordpress发文章设置文字大小
  • 怎样python做网站免费wap建站
  • 怎么做非法彩票网站吗asp网站代码 部分封装
  • 所有做网站公司个人能为公司网站备案吗
  • 网站维护中 源码wordpress插件系统
  • 深圳企业建设网站wordpress音乐还网页不断
  • 网站外链建设书籍网上订餐网站模板
  • 腾讯云做网站选哪个网页设计图片与文字的研究