购物车创建时减少一次redis的读写

This commit is contained in:
Chopper 2022-01-11 16:34:18 +08:00
parent eec3611218
commit 0460e219f9
4 changed files with 11 additions and 12 deletions

View File

@ -183,7 +183,7 @@ mybatis-plus:
logging: logging:
# 输出级别 # 输出级别
level: level:
cn.lili: info root: error
# org.hibernate: debug # org.hibernate: debug
# org.springframework: debug # org.springframework: debug
# org.springframework.data.mongodb.core: debug # org.springframework.data.mongodb.core: debug

View File

@ -11,6 +11,7 @@ import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import java.util.Date;
import java.util.List; import java.util.List;
/** /**
@ -85,19 +86,17 @@ public class TradeBuilder {
* 1.构造交易 * 1.构造交易
* 2.创建交易 * 2.创建交易
* *
* @param checkedWay 购物车类 * @param tradeDTO 交易模
* @return 交易信息 * @return 交易信息
*/ */
public Trade createTrade(CartTypeEnum checkedWay) { public Trade createTrade(TradeDTO tradeDTO) {
//读取对应购物车的商品信息
TradeDTO tradeDTO = cartService.readDTO(checkedWay);
//需要对购物车渲染 //需要对购物车渲染
if (isSingle(checkedWay)) { if (isSingle(tradeDTO.getCartTypeEnum())) {
renderCartBySteps(tradeDTO, RenderStepStatement.singleTradeRender); renderCartBySteps(tradeDTO, RenderStepStatement.singleTradeRender);
} else if (checkedWay.equals(CartTypeEnum.PINTUAN)) { } else if (tradeDTO.getCartTypeEnum().equals(CartTypeEnum.PINTUAN)) {
renderCartBySteps(tradeDTO, RenderStepStatement.pintuanTradeRender); renderCartBySteps(tradeDTO, RenderStepStatement.pintuanTradeRender);
} else { } else {
renderCartBySteps(tradeDTO, RenderStepStatement.tradeRender); renderCartBySteps(tradeDTO, RenderStepStatement.tradeRender);
} }
@ -128,7 +127,9 @@ public class TradeBuilder {
for (CartRenderStep render : cartRenderSteps) { for (CartRenderStep render : cartRenderSteps) {
try { try {
if (render.step().equals(step)) { if (render.step().equals(step)) {
Date date = new Date();
render.render(tradeDTO); render.render(tradeDTO);
log.error(render.getClass().getName() + "-" + (System.currentTimeMillis() - date.getTime()));
} }
} catch (ServiceException e) { } catch (ServiceException e) {
throw e; throw e;

View File

@ -552,10 +552,8 @@ public class CartServiceImpl implements CartService {
if (tradeDTO.getMemberAddress() == null) { if (tradeDTO.getMemberAddress() == null) {
throw new ServiceException(ResultCode.MEMBER_ADDRESS_NOT_EXIST); throw new ServiceException(ResultCode.MEMBER_ADDRESS_NOT_EXIST);
} }
//将购物车信息写入缓存后续逻辑调用校验
this.resetTradeDTO(tradeDTO);
//构建交易 //构建交易
Trade trade = tradeBuilder.createTrade(cartTypeEnum); Trade trade = tradeBuilder.createTrade(tradeDTO);
this.cleanChecked(tradeDTO); this.cleanChecked(tradeDTO);
return trade; return trade;
} }

File diff suppressed because one or more lines are too long