List<Map<String, Object>>循环的 时候 com.fc.model.ShopCoupon cannot be cast to java.util.Map
List<Map<String, Object>> shopCouponList = shopCouponMapper.geList(paramMap);
if(userId != null && userId.length() > 0){
// 查询该红包卡券是否已领取
for (Map<String, Object> scMap : shopCouponList) {
String scId = scMap.get("id").toString(); // 红包id
Integer count = couponMapper.selectCount(Integer.valueOf(userId), Integer.valueOf(scId));
if(count != null && count > 0){
scMap.put("drawState", 0); // 领取过了
}else{
scMap.put("drawState", 1); // 未领取
}
}
}
原因:此处是实体类型返回,接收的时候却用的是Map<String, Object>,上面代码取出就会报错,
改正:改用实体接收
// mapper
List<ShopCoupon> getList(Map<String, Object> paramMap);
// service
List<ShopCoupon> shopCouponList = shopCouponMapper.getList(paramMap);