package com.ruoyi.system.service.impl; import com.ruoyi.system.domain.PoCollection; import com.ruoyi.system.mapper.PoCollectionMapper; import com.ruoyi.system.service.IPoCollectionService; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import java.util.ArrayList; import java.util.List; import java.util.stream.Collectors; import java.util.stream.Stream; @Service public class PoCollectionServiceImpl implements IPoCollectionService { @Autowired PoCollectionMapper poCollectionMapper; /** * 查询藏品 * * @param collectionList * @return */ @Override public List selectPoCollectionsByCollections(List collectionList) { List result = new ArrayList<>(); for (PoCollection collection1 : collectionList) { List list = poCollectionMapper.selectPoCollectionList(collection1); if (list == null || list.isEmpty()) continue; result = Stream.of(result, list).flatMap(List::stream).distinct().collect(Collectors.toList()); } return result; } /** * 查询藏品列表 * * @param poCollection * @return */ @Override public List selectPoCollectionList(PoCollection poCollection) { return poCollectionMapper.selectPoCollectionList(poCollection); } /** * 获取藏品详细内容 * * @param collectionId 藏品ID * @return 藏品信息 */ @Override public PoCollection selectCollectionById(Long collectionId) { return poCollectionMapper.selectCollectionById(collectionId); } /** * 增加 * * @param collection 藏品信息 * @return 操作状态 */ @Override public int insertCollection(PoCollection collection) { List poCollection = poCollectionMapper.selectPoCollectionList(collection); if (poCollection != null && !poCollection.isEmpty()) return -1; return poCollectionMapper.insertPoCollection(collection); } /** * 批量增加 * * @param collection 藏品信息 * @return 操作状态 */ @Override public int batchInsertCollection(List collection) { for (PoCollection collection1 : collection) { List list = poCollectionMapper.selectPoCollectionList(collection1); if (list != null && !list.isEmpty()) return -1; } return poCollectionMapper.batchInsertPoCollection(collection); } /** * 修改 * * @param collection 更新的藏品信息 * @return 操作状态 */ @Override public int updateCollection(PoCollection collection) { return poCollectionMapper.updatePoCollection(collection); } /** * 批量删除藏品 * * @param collectionIds 需要删除的藏品主键 * @return */ @Override public int deletePoCollectionByCollectionIds(Long[] collectionIds) { return poCollectionMapper.deletePoCollectionByCollectionIds(collectionIds); } /** * 删除藏品 * * @param collectionId * @return */ @Override public int deletePoCollectionByCollectionId(Long collectionId) { return poCollectionMapper.deletePoCollectionByCollectionId(collectionId); } }