package com.community.pocket.repository.android; import com.community.pocket.entity.po.android.Garbage; import com.community.pocket.entity.vo.android.GarbageCateGory; import com.community.pocket.entity.vo.android.GarbageVo; import com.community.pocket.entity.vo.android.QueryGarbageForm; import com.community.pocket.repository.BaseDao; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.data.mongodb.core.query.Criteria; import org.springframework.data.mongodb.core.query.Query; import org.springframework.stereotype.Repository; import java.util.ArrayList; import java.util.List; import java.util.regex.Pattern; //垃圾分类数据接口 @Repository public class GarbageDao extends BaseDao { private static final Logger LOG = LoggerFactory.getLogger(GarbageDao.class); //查询垃圾分类信息 public List query(QueryGarbageForm garbageForm) { List garbageVos = new ArrayList<>(); List garbageList = mongoTemplate.find(new Query(Criteria.where("name").regex(Pattern.compile(".*" + garbageForm.getName() + ".*"))), entityClass()); for (Garbage garbage : garbageList) { GarbageVo garbageVo = new GarbageVo(); garbageVo.setName(garbage.getName()); switch (garbage.getCategory()) { case 1: garbageVo.setSorting(GarbageCateGory.type1.getName()); break; case 2: garbageVo.setSorting(GarbageCateGory.type2.getName()); break; case 4: garbageVo.setSorting(GarbageCateGory.type4.getName()); break; case 8: garbageVo.setSorting(GarbageCateGory.type8.getName()); break; case 16: garbageVo.setSorting(GarbageCateGory.type16.getName()); break; } garbageVos.add(garbageVo); } return garbageVos; } @Override public Garbage save(Garbage garbage) { try { mongoTemplate.save(garbage); } catch (Exception e) { e.printStackTrace(); LOG.error(e.toString()); } return null; } @Override public Class entityClass() { return Garbage.class; } }