package com.ks.app.service.impl.feedback; import com.ks.app.dao.feedback.AdviceDao; import com.ks.app.entity.feedback.Advice; import com.ks.app.service.inter.feedback.AdviceService; import com.ks.app.service.query.feedback.AdviceQuery; import org.springframework.data.mongodb.core.query.Criteria; import org.springframework.data.mongodb.core.query.Query; import org.springframework.stereotype.Service; import org.yeshi.utils.bean.BeanUtil; import javax.annotation.Resource; import java.util.Date; import java.util.List; import java.util.UUID; @Service public class AdviceServiceImpl implements AdviceService { @Resource private AdviceDao adviceDao; @Override public List list(AdviceQuery adviceQuery, int page, int pageSize) { AdviceDao.DaoQuery daoQuery = new AdviceDao.DaoQuery(); try { BeanUtil.copyProperties(adviceQuery, daoQuery); } catch (IllegalAccessException e) { e.printStackTrace(); } daoQuery.start = (page - 1) * pageSize; daoQuery.count = pageSize; return adviceDao.list(daoQuery); } @Override public long count(AdviceQuery adviceQuery) { AdviceDao.DaoQuery daoQuery = new AdviceDao.DaoQuery(); try { BeanUtil.copyProperties(adviceQuery, daoQuery); } catch (IllegalAccessException e) { e.printStackTrace(); } return adviceDao.count(daoQuery); } @Override public Advice get(String id) { Query query = new Query(); query.addCriteria(Criteria.where("_id").is(id)); return adviceDao.findOne(query); } @Override public void add(Advice advice) throws Exception { if (advice.getId() == null) { advice.setId(UUID.randomUUID().toString()); } //查询主键ID是否存在 if (adviceDao.get(advice.getId()) != null) { throw new Exception("已存在"); } if (advice.getCreateTime() == null) { advice.setCreateTime(new Date()); } //保存 adviceDao.save(advice); } @Override public void update(Advice advice) { if (advice.getUpdateTime() == null) { advice.setUpdateTime(new Date()); } //更新 adviceDao.updateSelective(advice); } @Override public void delete(List idList) { for (String id : idList) { adviceDao.delete(id); } } }