@Override
public Map queryFootprintOfProduct(Map map) throws Exception {
//查出日期降序排序的记录
List<FootprintOfProBrowse> list = holderProductDao.queryFootprintOfProduct(map);
if(list==null){
return null;
}
//按日期拆分,每日一个list
Map<String,List<FootprintOfProBrowse>> mapTemp = new LinkedHashMap<>();
Date temp= DateTime.getDefault();
for (int i=0;list.size()>i;i++) {
if(list.get(i).getDiffDay().getTime()!=temp.getTime()){//如果时间不一样,则新建一个list,后面的继续添加进新的list
temp=list.get(i).getDiffDay();
mapTemp.put(DateTime.dateToStr(temp,"yyyy-MM-dd"),new ArrayList<FootprintOfProBrowse>());
}
mapTemp.get(DateTime.dateToStr(temp,"yyyy-MM-dd")).add(list.get(i));
}
return mapTemp;
}
改进版本
/**
* @description:通过useId查出当前的用户的访问商品足迹
* @param
* @return
*/
@Override
public Map queryFootprintOfProduct(Map map) throws Exception {
//查出日期降序排序的记录
List<FootprintOfProBrowse> list = holderProductDao.queryFootprintOfProduct(map);
if(list==null){
return null;
}
//按日期拆分,每日一个list
Map<String,List<FootprintOfProBrowse>> mapTemp = new LinkedHashMap<>();
List<FootprintOfProBrowse> newList;
String dateStr = "";
for (FootprintOfProBrowse footprintOfProBrowse : list) {
dateStr = footprintOfProBrowse.getDiffDay();
if(mapTemp.containsKey(dateStr)){
mapTemp.get(dateStr).add(footprintOfProBrowse);
}else{
newList = new ArrayList<FootprintOfProBrowse>();
newList.add(footprintOfProBrowse);
mapTemp.put(dateStr, newList);
}
}
return mapTemp;
}
list里面嵌套Bean,Bean里面嵌套list
public List queryFootprintOfProduct(Map map){
//查出日期降序排序的记录
List<FootprintOfProBrowse> list = holderProductDao.queryFootprintOfProduct(map);
Collections.reverse(list);
if(list==null){
return null;
}
//按日期拆分,每日一个list
ArrayList<FootprintEveryDay> fpList = new ArrayList<>();//fpList:[{date:yyyy-MM-dd,list:[{足迹对象1},{足迹对象2}...]},...]
ArrayList<FootprintOfProBrowse> fpProBrowses = null;
for (FootprintOfProBrowse fpb:list) {
String modifyDate = fpb.getModifyDate();
if(fpList.size()!=0&&modifyDate.equals(fpList.get(fpList.size()-1).getDate())){//不为空,与最后一个插入对象的日期对比
fpProBrowses.add(fpb);
}else{
fpProBrowses = new ArrayList<>();
FootprintEveryDay fpDay = new FootprintEveryDay();//新建一个当天对象
fpDay.setDate(fpb.getModifyDate());
fpProBrowses.add(fpb);
fpDay.setList(fpProBrowses);
fpList.add(fpDay); //每日足迹对象放进总足迹list
}
}
return fpList;
}
FootprintEveryDay 对象
@Data
public class FootprintEveryDay implements Serializable {
private static final long serialVersionUID = -4215763769986853559L;
private String date;
List<FootprintOfProBrowse> list;
}
FootprintOfProBrowse 对象
@Data
public class FootprintOfProBrowse implements Serializable {
private static final long serialVersionUID = 7835375992636204034L;
private String advertUrl;
private String name;
private String summary;
private Double suggestPrice;
private String angleImages;
private String videoUrl;
private Long hpId;
private Long productId;
private Long storeId;
private String modifyTime;
private String modifyDate;
}
打印结果
[
{
"date": "2019-06-14 00:00:00",
"list": [
{
"advertUrl": "http://web.fsyizhuang.com/upload/image/20181205/2i1b1544000398972.png",
"name": "65窗纱一体11",
"summary": "金刚纱网一体窗适合装配在比较新颖高端的门窗上,既能起到防虫、防蚊的效果还能起到防盗的作用,而且不影响美观。",
"suggestPrice": 888,
"angleImages": "Nsl8uzbk",
"videoUrl": "http://web.fsyizhuang.com/upload/image/20190412/pqzr1555061194705.mp4",
"hpId": 551,
"productId": 1,
"storeId": 600000004,
"modifyTime": "2019-06-14 15:26:27",
"modifyDate": "2019-06-14 00:00:00"
},
{
"advertUrl": "http://web.fsyizhuang.com/upload/image/20181206/wkr01544041508804.png",
"name": "118窗纱一体",
"summary": "金刚纱网一体窗适合装配在比较新颖高端的门窗上,既能起到防虫、防蚊的效果还能起到防盗的作用,而且不影响美观。",
"suggestPrice": 1188,
"angleImages": "Nsl8uzbk",
"videoUrl": "http://web.fsyizhuang.com/upload/image/20190412/pqzr1555061194705.mp4",
"hpId": 536,
"productId": 8,
"storeId": 600000004,
"modifyTime": "2019-06-14 16:13:13",
"modifyDate": "2019-06-14 00:00:00"
}
]
},
{
"date": "2019-06-15 00:00:00",
"list": [
{
"advertUrl": "http://web.fsyizhuang.com/upload/image/20181206/4jyv1544037094102.png",
"name": "50型材",
"summary": "产品名称:普通铝合金平开窗 产品型号:50型材 开启方式:外平开、内平开、固窗 材料类型:铝合金 表面工艺:喷涂、热转印、瓷泳(部分存在色差) 可选颜色::白色 灰色 咖啡色 型材厚度:1.4mm 玻",
"suggestPrice": 298,
"angleImages": "Nsl8uzbk",
"videoUrl": "http://web.fsyizhuang.com/upload/image/20190412/pqzr1555061194705.mp4",
"hpId": 701,
"productId": 3,
"storeId": 600000004,
"modifyTime": "2019-06-15 11:11:03",
"modifyDate": "2019-06-15 00:00:00"
}
]
}
]