购物车创建时减少一次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:
# 输出级别
level:
cn.lili: info
root: error
# org.hibernate: debug
# org.springframework: 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.stereotype.Service;
import java.util.Date;
import java.util.List;
/**
@ -85,19 +86,17 @@ public class TradeBuilder {
* 1.构造交易
* 2.创建交易
*
* @param checkedWay 购物车类
* @param tradeDTO 交易模
* @return 交易信息
*/
public Trade createTrade(CartTypeEnum checkedWay) {
//读取对应购物车的商品信息
TradeDTO tradeDTO = cartService.readDTO(checkedWay);
public Trade createTrade(TradeDTO tradeDTO) {
//需要对购物车渲染
if (isSingle(checkedWay)) {
if (isSingle(tradeDTO.getCartTypeEnum())) {
renderCartBySteps(tradeDTO, RenderStepStatement.singleTradeRender);
} else if (checkedWay.equals(CartTypeEnum.PINTUAN)) {
} else if (tradeDTO.getCartTypeEnum().equals(CartTypeEnum.PINTUAN)) {
renderCartBySteps(tradeDTO, RenderStepStatement.pintuanTradeRender);
} else {
} else {
renderCartBySteps(tradeDTO, RenderStepStatement.tradeRender);
}
@ -128,7 +127,9 @@ public class TradeBuilder {
for (CartRenderStep render : cartRenderSteps) {
try {
if (render.step().equals(step)) {
Date date = new Date();
render.render(tradeDTO);
log.error(render.getClass().getName() + "-" + (System.currentTimeMillis() - date.getTime()));
}
} catch (ServiceException e) {
throw e;

View File

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

File diff suppressed because one or more lines are too long