CrmSupplierInfoServiceImpl.java 2.9 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485
  1. package org.dromara.crm.service.impl;
  2. import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
  3. import com.baomidou.mybatisplus.core.toolkit.Wrappers;
  4. import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
  5. import lombok.RequiredArgsConstructor;
  6. import org.dromara.common.core.utils.MapstructUtils;
  7. import org.dromara.common.core.utils.StringUtils;
  8. import org.dromara.common.mybatis.core.page.*;
  9. import org.dromara.crm.domain.CrmSupplierInfo;
  10. import org.dromara.crm.domain.bo.CrmSupplierInfoBo;
  11. import org.dromara.crm.domain.vo.CrmSupplierInfoVo;
  12. import org.dromara.crm.mapper.CrmSupplierInfoMapper;
  13. import org.dromara.crm.service.ICrmSupplierInfoService;
  14. import org.springframework.stereotype.Service;
  15. import java.util.Collection;
  16. import java.util.List;
  17. /**
  18. * 供方信息管理Service实现
  19. *
  20. * @author AI Assistant
  21. * @date 2025-01-XX
  22. */
  23. @RequiredArgsConstructor
  24. @Service
  25. public class CrmSupplierInfoServiceImpl implements ICrmSupplierInfoService {
  26. private final CrmSupplierInfoMapper baseMapper;
  27. /**
  28. * 构建查询条件
  29. */
  30. private LambdaQueryWrapper<CrmSupplierInfo> buildQueryWrapper(CrmSupplierInfoBo bo) {
  31. LambdaQueryWrapper<CrmSupplierInfo> lqw = Wrappers.lambdaQuery();
  32. lqw.like(StringUtils.isNotBlank(bo.getSupplierName()), CrmSupplierInfo::getSupplierName, bo.getSupplierName());
  33. lqw.eq(bo.getStatus() != null, CrmSupplierInfo::getStatus, bo.getStatus());
  34. lqw.orderByDesc(CrmSupplierInfo::getCreateTime);
  35. return lqw;
  36. }
  37. @Override
  38. public TableDataInfo<CrmSupplierInfoVo> queryPageList(CrmSupplierInfoBo bo, PageQuery pageQuery) {
  39. LambdaQueryWrapper<CrmSupplierInfo> lqw = buildQueryWrapper(bo);
  40. Page<CrmSupplierInfoVo> result = baseMapper.selectVoPage(pageQuery.build(), lqw);
  41. return TableDataInfo.build(result);
  42. }
  43. @Override
  44. public List<CrmSupplierInfoVo> queryList(CrmSupplierInfoBo bo) {
  45. LambdaQueryWrapper<CrmSupplierInfo> lqw = buildQueryWrapper(bo);
  46. return baseMapper.selectVoList(lqw);
  47. }
  48. @Override
  49. public CrmSupplierInfoVo queryById(Long id) {
  50. return baseMapper.selectVoById(id);
  51. }
  52. @Override
  53. public Boolean insertByBo(CrmSupplierInfoBo bo) {
  54. CrmSupplierInfo entity = MapstructUtils.convert(bo, CrmSupplierInfo.class);
  55. boolean flag = baseMapper.insert(entity) > 0;
  56. if (flag) {
  57. bo.setId(entity.getId());
  58. }
  59. return flag;
  60. }
  61. @Override
  62. public Boolean updateByBo(CrmSupplierInfoBo bo) {
  63. CrmSupplierInfo entity = MapstructUtils.convert(bo, CrmSupplierInfo.class);
  64. return baseMapper.updateById(entity) > 0;
  65. }
  66. @Override
  67. public Boolean deleteWithValidByIds(Collection<Long> ids, Boolean isValid) {
  68. if (isValid) {
  69. // 做删除前的业务校验
  70. }
  71. return baseMapper.deleteByIds(ids) > 0;
  72. }
  73. }