Commit c85186fa by ping.wu

批量加redis缓存

parent 88954d24
......@@ -175,6 +175,25 @@ public class ShoppingCartBaseServiceImpl implements ShoppingCartBaseService {
}
}
/**
* 测试用,后续删掉
*/
public BaseResponse<List<CartGoods>> setCartGoodsListTest(CartParamDto cartParamDto, String trackingNo, long expire, TimeUnit timeUnit) {
try {
String redisKey = getShoppingCartGoodsKey(cartParamDto);
BoundHashOperations<String, String, CartGoods> operations = redisTemplate.boundHashOps(redisKey);
Map<String, CartGoods> cartGoodsMap = cartParamDto.getCartGoodsList().parallelStream()
.filter(k -> StringUtils.isNotEmpty(k.getCartGoodsUid()))
.collect(Collectors.toMap(CartGoods::getCartGoodsUid, Function.identity(), (k1, k2) -> k1));
operations.putAll(cartGoodsMap);
operations.expire(expire, timeUnit);
return CartResponseUtil.success();
} catch (Exception e) {
ErrorLog.printErrorLog("assortment-shoppingcart-sdk", trackingNo, e.getMessage(), "setCartGoodsList", cartParamDto, e, Level.ERROR);
return null;
}
}
@Override
public BaseResponse<List<CartGoods>> setCartSendGoodsList(CartParamDto cartParamDto, String trackingNo, long expire, TimeUnit timeUnit) {
try {
......
......@@ -35,6 +35,8 @@ import com.freemud.api.assortment.datamanager.manager.customer.AssortmentCustome
import com.freemud.application.sdk.api.base.SDKCommonBaseContextWare;
import com.freemud.application.sdk.api.log.ApiAnnotation;
import com.freemud.application.sdk.api.log.LogParams;
import com.freemud.application.sdk.api.log.LogThreadLocal;
import com.freemud.sdk.api.assortment.shoppingcart.service.impl.ShoppingCartBaseServiceImpl;
import io.swagger.annotations.Api;
import lombok.extern.slf4j.Slf4j;
import ma.glasnost.orika.MapperFacade;
......@@ -50,6 +52,7 @@ import org.springframework.web.bind.annotation.RestController;
import javax.annotation.Resource;
import java.util.Map;
import java.util.concurrent.TimeUnit;
@RestController
@RequestMapping(value = "/shoppingCart", consumes = MediaType.APPLICATION_JSON_UTF8_VALUE)
......@@ -267,4 +270,29 @@ public class ShoppingCartController {
return SDKCommonBaseContextWare.getBean(ShoppingCartNewServiceImpl.class).replaceGoodsByShop(request);
}
@Autowired
private ShoppingCartBaseServiceImpl shoppingCartService;
@Autowired
private AssortmentCustomerInfoManager assortmentCustomerInfoManager;
/**
* 测试用,后续删除
*/
@PostMapping(value = "/test/putCache")
@LogIgnore(excludeStatusCodes = {ResponseCodeConstant.RESPONSE_SUCCESS_STR},logMessage = "/putCache")
public BaseResponse putCache(@LogParams @RequestBody @Validated PutCacheVo request) {
com.freemud.sdk.api.assortment.shoppingcart.domain.CartParamDto cartParamDto = new com.freemud.sdk.api.assortment.shoppingcart.domain.CartParamDto();
cartParamDto.setPartnerId(request.getPartnerId());
cartParamDto.setStoreId(request.getStoreId());
cartParamDto.setBuyType(0);
cartParamDto.setCartGoodsList(request.getCartGoodsList());
for (String sessionId : request.getSessionIds()){
AssortmentCustomerInfoVo assortmentCustomerInfoVo = assortmentCustomerInfoManager.getCustomerInfoByObject(sessionId);
cartParamDto.setUserId(assortmentCustomerInfoVo.getMemberId());
shoppingCartService.setCartGoodsListTest(cartParamDto, LogThreadLocal.getTrackingNo(),10, TimeUnit.MINUTES);
}
return new BaseResponse("1","100","");
}
}
package cn.freemud.entities.vo;
import com.freemud.sdk.api.assortment.shoppingcart.domain.CartGoods;
import lombok.Data;
import java.util.List;
@Data
public class PutCacheVo {
private String partnerId;
private List<String> sessionIds;
private String storeId;
// private com.freemud.sdk.api.assortment.shoppingcart.domain.CartParamDto cartParamDto ;
private List<CartGoods> cartGoodsList;
}
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment