List中移除数据某条不需要的数据

在做项目的时候,突然需求设计上说,购物车里面的商品数目为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;
    }
}
posted @ 2018-07-05 15:11  随正风  阅读(6898)  评论(0编辑  收藏  举报