package cn.iocoder.yudao.module.erp.service.sale; import cn.iocoder.yudao.framework.common.enums.CommonStatusEnum; import cn.iocoder.yudao.framework.common.pojo.PageResult; import cn.iocoder.yudao.framework.common.util.object.BeanUtils; import cn.iocoder.yudao.module.erp.controller.admin.sale.vo.customer.ErpCustomerPageReqVO; import cn.iocoder.yudao.module.erp.controller.admin.sale.vo.customer.ErpCustomerSaveReqVO; import cn.iocoder.yudao.module.erp.dal.dataobject.sale.ErpCustomerDO; import cn.iocoder.yudao.module.erp.dal.mysql.sale.ErpCustomerMapper; import jakarta.annotation.Resource; import org.springframework.stereotype.Service; import org.springframework.validation.annotation.Validated; import java.util.Collection; import java.util.List; import static cn.iocoder.yudao.framework.common.exception.util.ServiceExceptionUtil.exception; import static cn.iocoder.yudao.module.erp.enums.ErrorCodeConstants.CUSTOMER_NOT_ENABLE; import static cn.iocoder.yudao.module.erp.enums.ErrorCodeConstants.CUSTOMER_NOT_EXISTS; /** * ERP 客户 Service 实现类 * * @author 芋道源码 */ @Service @Validated public class ErpCustomerServiceImpl implements ErpCustomerService { @Resource private ErpCustomerMapper customerMapper; @Override public Long createCustomer(ErpCustomerSaveReqVO createReqVO) { // 插入 ErpCustomerDO customer = BeanUtils.toBean(createReqVO, ErpCustomerDO.class); customerMapper.insert(customer); // 返回 return customer.getId(); } @Override public void updateCustomer(ErpCustomerSaveReqVO updateReqVO) { // 校验存在 validateCustomerExists(updateReqVO.getId()); // 更新 ErpCustomerDO updateObj = BeanUtils.toBean(updateReqVO, ErpCustomerDO.class); customerMapper.updateById(updateObj); } @Override public void deleteCustomer(Long id) { // 校验存在 validateCustomerExists(id); // 删除 customerMapper.deleteById(id); } private void validateCustomerExists(Long id) { if (customerMapper.selectById(id) == null) { throw exception(CUSTOMER_NOT_EXISTS); } } @Override public ErpCustomerDO getCustomer(Long id) { return customerMapper.selectById(id); } @Override public ErpCustomerDO validateCustomer(Long id) { ErpCustomerDO customer = customerMapper.selectById(id); if (customer == null) { throw exception(CUSTOMER_NOT_EXISTS); } if (CommonStatusEnum.isDisable(customer.getStatus())) { throw exception(CUSTOMER_NOT_ENABLE, customer.getName()); } return customer; } @Override public List getCustomerList(Collection ids) { return customerMapper.selectBatchIds(ids); } @Override public PageResult getCustomerPage(ErpCustomerPageReqVO pageReqVO) { return customerMapper.selectPage(pageReqVO); } @Override public List getCustomerListByStatus(Integer status) { return customerMapper.selectListByStatus(status); } }