package com.yuanchu.limslaboratory.service.impl; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper; import com.yuanchu.limslaboratory.pojo.Material; import com.yuanchu.limslaboratory.mapper.MaterialMapper; import com.yuanchu.limslaboratory.service.MaterialService; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import org.springframework.stereotype.Service; import org.springframework.util.ObjectUtils; import javax.annotation.Resource; import java.util.ArrayList; import java.util.List; import java.util.Map; /** *

* 服务实现类 *

* * @author 江苏鵷雏网络科技有限公司 * @since 2023-07-17 */ @Service public class MaterialServiceImpl extends ServiceImpl implements MaterialService { @Resource MaterialMapper materialMapper; @Override public List selectMaterialLimit(int pageSize, int countSize) { return materialMapper.selectMaterialLimit((pageSize - 1) * countSize,pageSize * countSize); } @Override public Map selectMaterialById(String materialId) { return materialMapper.selectMaterialById(materialId); } @Override public Integer addMaterialInformation(Material material) { return materialMapper.insert(material); } @Override public List> getListMaterialInformation(String specificationsId) { LambdaQueryWrapper wrapper = new LambdaQueryWrapper<>(); wrapper.eq(Material::getSpecificationsId, specificationsId); wrapper.select(Material::getId, Material::getName); return materialMapper.selectMaps(wrapper); } @Override public Integer deleteMaterialInformation(Integer materialId) { LambdaQueryWrapper wrapper = new LambdaQueryWrapper<>(); wrapper.eq(Material::getId, materialId); return materialMapper.delete(wrapper); } @Override public Integer updateMaterialInformation(Material material) { LambdaUpdateWrapper updateWrapper = new LambdaUpdateWrapper<>(); updateWrapper.eq(Material::getId, material.getId()); materialMapper.updateById(material); return materialMapper.update(material, updateWrapper); } @Override public List deleteMaterialEqSpecification(String specificationsId) { LambdaQueryWrapper wrapper = new LambdaQueryWrapper<>(); wrapper.eq(Material::getSpecificationsId, specificationsId); wrapper.select(Material::getId); List materials = materialMapper.selectList(wrapper); if (!ObjectUtils.isEmpty(materials)){ List list = new ArrayList<>(); for (Material material:materials){ list.add(material.getId()); } int isDeleteList = materialMapper.deleteBatchIds(list); if (isDeleteList != 0) { return list; } } return null; } }