package org.dromara.crm.service.impl; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import lombok.RequiredArgsConstructor; import org.dromara.common.core.utils.MapstructUtils; import org.dromara.common.core.utils.StringUtils; import org.dromara.common.mybatis.core.page.*; import org.dromara.crm.domain.CrmSupplierInfo; import org.dromara.crm.domain.bo.CrmSupplierInfoBo; import org.dromara.crm.domain.vo.CrmSupplierInfoVo; import org.dromara.crm.mapper.CrmSupplierInfoMapper; import org.dromara.crm.service.ICrmSupplierInfoService; import org.springframework.stereotype.Service; import java.util.Collection; import java.util.List; /** * 供方信息管理Service实现 * * @author AI Assistant * @date 2025-01-XX */ @RequiredArgsConstructor @Service public class CrmSupplierInfoServiceImpl implements ICrmSupplierInfoService { private final CrmSupplierInfoMapper baseMapper; /** * 构建查询条件 */ private LambdaQueryWrapper buildQueryWrapper(CrmSupplierInfoBo bo) { LambdaQueryWrapper lqw = Wrappers.lambdaQuery(); lqw.like(StringUtils.isNotBlank(bo.getSupplierName()), CrmSupplierInfo::getSupplierName, bo.getSupplierName()); lqw.eq(bo.getStatus() != null, CrmSupplierInfo::getStatus, bo.getStatus()); lqw.orderByDesc(CrmSupplierInfo::getCreateTime); return lqw; } @Override public TableDataInfo queryPageList(CrmSupplierInfoBo bo, PageQuery pageQuery) { LambdaQueryWrapper lqw = buildQueryWrapper(bo); Page result = baseMapper.selectVoPage(pageQuery.build(), lqw); return TableDataInfo.build(result); } @Override public List queryList(CrmSupplierInfoBo bo) { LambdaQueryWrapper lqw = buildQueryWrapper(bo); return baseMapper.selectVoList(lqw); } @Override public CrmSupplierInfoVo queryById(Long id) { return baseMapper.selectVoById(id); } @Override public Boolean insertByBo(CrmSupplierInfoBo bo) { CrmSupplierInfo entity = MapstructUtils.convert(bo, CrmSupplierInfo.class); boolean flag = baseMapper.insert(entity) > 0; if (flag) { bo.setId(entity.getId()); } return flag; } @Override public Boolean updateByBo(CrmSupplierInfoBo bo) { CrmSupplierInfo entity = MapstructUtils.convert(bo, CrmSupplierInfo.class); return baseMapper.updateById(entity) > 0; } @Override public Boolean deleteWithValidByIds(Collection ids, Boolean isValid) { if (isValid) { // 做删除前的业务校验 } return baseMapper.deleteByIds(ids) > 0; } }