数组的存储数据的一种实践

    //1.获取到主要数据
rows = contentMapper.selectPageOrder(params);
// 2.获取平台
for (int i = 0; i < rows.size(); i++) {
//3.查询出所有的key
List<Integer> typeKey = contentMapper.selectUidByKey(rows.get(i).getUuidBanner());
//4.定义一个有固定长度的数组
Integer[] typeKeyS = new Integer[typeKey.size()];
//5.循环查询出的所有Key
for (int j = 0; j < typeKey.size(); j++) {
//6.将所有的查询出来的一个个key,分别放入数组的对应位置
typeKeyS[j] = typeKey.get(j);
}
//7.利用StringUtils.join(数组,””);这个方法获取到数组里面的内容,转换为字符串
String joins = StringUtils.join(typeKeyS, ",");
以上内容,其实可以不用定义数组,字符串可以直接拼接,获取到我们最终需要的字符串。
简化成下面内容:
String joins="";
for(int j=0;j<typeKey.size();j++){
joins+=typeKey.get(j)+j==typeKey.size()-1?"":",";
}


//8.将获取到的字符串再放入,之前查询出来的主要数据里面。
rows.get(i).setPlatformKey(joins);
}
// 获取详情
for (int i = 0; i < rows.size(); i++) {
List<BannerContent> listBanner = contentMapper.selectBannerContent(rows.get(i).getUuidBanner());
rows.get(i).setBanneritem(listBanner);
}
for (int i = 0; i < rows.size(); i++) {
// 如果当前时间小于开始时间-未开始
if (new Date().getTime() < rows.get(i).getStartAt().getTime()) {
rows.get(i).setTimeState(1);
}
// 如果当前时间大于结束时间-已结束
else if (new Date().getTime() > rows.get(i).getEndAt().getTime()) {
rows.get(i).setTimeState(2);
}
// 在进行中
else if (new Date().getTime() > rows.get(i).getStartAt().getTime() && new Date().getTime() < rows.get(i).getEndAt().getTime()) {
rows.get(i).setTimeState(3);
}
}
result = new HashMap<String, Object>();
if (adminInfo.getCurrent_empId().equals("215")) {
total = 0;
rows = new ArrayList<Banner>();
}
result.put("total", total);
result.put("rows", rows);
return result;
}
posted @ 2021-05-10 13:32  夏之  阅读(184)  评论(0编辑  收藏  举报