Files
shanxia2.0/docs/crm-migration/reference/java/supplier-info/service/impl/CrmSupplierInfoServiceImpl.java
T
2026-06-01 08:21:21 +08:00

86 lines
2.9 KiB
Java

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<CrmSupplierInfo> buildQueryWrapper(CrmSupplierInfoBo bo) {
LambdaQueryWrapper<CrmSupplierInfo> 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<CrmSupplierInfoVo> queryPageList(CrmSupplierInfoBo bo, PageQuery pageQuery) {
LambdaQueryWrapper<CrmSupplierInfo> lqw = buildQueryWrapper(bo);
Page<CrmSupplierInfoVo> result = baseMapper.selectVoPage(pageQuery.build(), lqw);
return TableDataInfo.build(result);
}
@Override
public List<CrmSupplierInfoVo> queryList(CrmSupplierInfoBo bo) {
LambdaQueryWrapper<CrmSupplierInfo> 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<Long> ids, Boolean isValid) {
if (isValid) {
// 做删除前的业务校验
}
return baseMapper.deleteByIds(ids) > 0;
}
}