实现相册按照月份分类

mac2025-06-16  6

背景:

App实现类似微信朋友圈相册功能

实现功能逻辑:

首先查出所有的时间,然后通过时间查出所有照片,把照片放到list中返回数据

数据库:

mapper:

<select id="queryTime" resultType="java.lang.String"> select DATE_FORMAT(create_time,'%Y-%m') from app_img where user_id = #{userId} group by DATE_FORMAT(create_time,'%Y-%m') </select> <select id="queryImg" resultType="com.heyi.shshu.app.model.AppImg"> select img from app_img where DATE_FORMAT(create_time,'%Y-%m') = #{date} </select> List queryTime(String userId); List<AppImg> queryImg(String date);

service层:

public interface AppImgService { List queryTime(String userId); List<AppImg> queryImg(String date); }

serviceImpl

@Override public List queryTime(String userId) { return appImgMapper.queryTime(userId); } @Override public List<AppImg> queryImg(String date) { return appImgMapper.queryImg(date); }

controller:

@ResponseBody @RequestMapping("/imgList") public Tip imgList(String userId){ List time = appImgService.queryTime(userId); List<Object> li = new ArrayList<>(); for(int i=0;i<time.size();i++){ List<String> list1 = new ArrayList<>(); HashMap<String, Object> map = new LinkedHashMap<>(); List<AppImg> list = appImgService.queryImg(String.valueOf(time.get(i))); for (AppImg appImg : list) { list1.add(appImg.getImg()); } map.put("time",String.valueOf(time.get(i))); map.put("date",list1); li.add(map); } return new Tip(li); }

 

最新回复(0)