package com.dounine.corgi.mongo.service; import com.dounine.corgi.exception.SerException; import com.dounine.corgi.mongo.constant.FinalCommons; import com.dounine.corgi.mongo.dao.IRep; import com.dounine.corgi.mongo.dto.BaseDto; import com.dounine.corgi.mongo.entity.BaseEntity; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.data.mongodb.core.query.Criteria; import java.util.List; /** * Created by lgq on 16/9/3. */ public class ServiceImpl<Entity extends BaseEntity, Dto extends BaseDto> extends FinalCommons implements IService<Entity, Dto> { @Autowired protected IRep<Entity, Dto> dao; @Override public List<Entity> findAll() throws SerException { return dao.findAll(); } @Override public List<Entity> findByPage(Dto dto) throws SerException { return dao.findByPage(dto); } @Override public Long count(Dto dto) throws SerException { return dao.count(dto); } @Override public Entity findOne(Dto dto) throws SerException { return dao.findOne(dto); } @Override public List<Entity> findByCriteria(Criteria criteria) throws SerException { return dao.findByCriteria(criteria); } @Override public List<Entity> findByCis(Dto dto,boolean pageAndSort) throws SerException { return dao.findByCis(dto,pageAndSort); } @Override public List<Entity> findByCis(Dto dto) throws SerException { return dao.findByCis(dto,false); } @Override public Entity findById(String id) throws SerException { return dao.findById(id); } @Override public void save(Entity entity) throws SerException { dao.save(entity); } @Override public void save(List<Entity> entities) throws SerException { dao.save(entities); } @Override public void remove(String id) throws SerException { dao.remove(id); } @Override public void remove(Entity entity) throws SerException { dao.remove(entity); } @Override public void remove(List<Entity> entities) throws SerException { dao.remove(entities); } @Override public void update(Entity entity) throws SerException { if (null != findById(entity.getId())) { dao.update(entity); } else { throw new SerException(entity.getClass().getSimpleName() + " is not persisted Object !"); } } @Override public void update(List<Entity> entities) throws SerException { for (Entity entity : entities) { if (null == findById(entity.getId())) { throw new SerException("entities's "+entity.getClass().getSimpleName() + " has Object is not persisted !"); } } dao.update(entities); } }