在做項目的時候,突然需求設計上說,購物車里面的商品數目為0的時候,則該數據就不需要存在緩存
商品Dto
@data
public class MealGoodDto implements Serializable {
/**
* Uid
*/
private String uid;
/**
* 菜品Uid
*/
private String mealGoodsUid;
/**
* 欄目uid
*/
private String columnUid;
/**
* 商品名稱
*/
private String goodsName;
/**
* 優惠價格
*/
private BigDecimal discount;
/**
* 價格
*/
private BigDecimal price;
/**
* 數量
*/
private int quantity;
/**
* 當前庫存
*/
private Integer currentInventory;
/**
* 商品圖片url
*/
private String proImgUrl;
/**
* 商品口味集合
*/
private List<GoodsTaste> goodsTasteList;
/**
* 商品信息判斷 0代表庫存不足 -1代表商品失效 1已售完
*/
private String goodsMsgFlag;
/**
* 商品口味
*/
private String goodsTaste;
/**
* 增減區分
*/
private int regulationType;
/**
* 商品類型 商品or商品包
*/
private int type;
/**
* 會員商品UID
*/
private String goodsUid;
/**
* 規格uid
*/
private String specificationsUid;
/**
* 規格名字
*/
private String specificationName;}
移除的方式:
for (int i = 0; i < mealGoodDtoList.size(); i++) {
MealGoodDto mealGoodDto1 = mealGoodDtoList.get(i);
//同一商品名(規格)及口味則在購物車歸為一條商品顯示
String goodsTaste = mealGoodDto.getGoodsTaste();
String goodsTaste1 = mealGoodDto1.getGoodsTaste();
if (mealGoodDto.getMealGoodsUid().equals(mealGoodDto1.getMealGoodsUid())
&& StringUtils.equals(goodsTaste, goodsTaste1)) {
//商品數量
setQuantity(mealGoodDto1, mealGoodDto.getRegulationType());
if (mealGoodDto1.getQuantity() == 0) {
mealGoodDtoList.remove(i);
}
return mealGoodDtoList;
}
}