文章目录
  1. 1. 一、商品详情页面controller集合
  2. 2. 二、常用类简介
    1. 2.1. ControllerContext类(包含多个ThreadLocal)
    2. 2.2. BaseResponseVo类(返回实体)
  3. 3. 三、点按收藏的流程实例
    1. 3.1. Controller-Service-Client-Controller-Service-DAO-Cache

一、商品详情页面controller集合

  1. getCartNum(购物车中物品数量)使用了Guava Cache
  2. hotword(热门搜索词)使用了b2c.mall.service中的ES搜索
  3. batchPrice(缓存的一批价格)
  4. existsSkuList(是否存在SkuList)
  5. promotion(赠品)调用了开普勒接口
  6. isFavor(是否是收藏)
  7. itemDescribe(获取规格参数)
  8. getByLocationId ==location的接口位置没找到==
  9. getProductType(商品类型)
  10. price(商品价格)
  11. stock(商品可售状态)
  12. add(点按收藏)与del(取消收藏)
  13. coupons(优惠券)

二、常用类简介

ControllerContext类(包含多个ThreadLocal)

  • httpServletRequest
  • httpServletResponse
  • currentDomain
  • userId
  • userName
  • jdUserId
  • avatar 头像
  • tenantId 租户id
  • cookieEncryptKy
  • shopId
  • bridgetoken
  • fingerprint 指纹
  • staticDomain

BaseResponseVo类(返回实体)

  • isSuccess
  • message
  • clientMessage
  • errorCode
  • data (泛型T)
  • errStrSet (Set类型)
  • pageInfo (PageInfo类型,用于分页:currentPage,pageSize,totalRecord,totalPage)
  • token

三、点按收藏的流程实例

Controller-Service-Client-Controller-Service-DAO-Cache

  1. mall-web-Controller调用mall-web-Service中的方法
  2. mall-web-Service调用item-service-Client中的方法
  3. 组装item-service中的FavoriteItemParam实体
  4. 通过favorClient调用addFavoriteItem,传入FavoriteItemParam
  5. 由Feign的Client进入item-service-Controller,调用item-service-Sercive中的addFavoriteItem方法
  6. 通过item-service-Service中注入的favoriteItemMapper进行DAO操作
  7. cacheClient处理缓存,删除RedisKey
文章目录
  1. 1. 一、商品详情页面controller集合
  2. 2. 二、常用类简介
    1. 2.1. ControllerContext类(包含多个ThreadLocal)
    2. 2.2. BaseResponseVo类(返回实体)
  3. 3. 三、点按收藏的流程实例
    1. 3.1. Controller-Service-Client-Controller-Service-DAO-Cache