package cn.iocoder.yudao.module.mes.service.pd.basedata; import cn.iocoder.yudao.framework.common.pojo.PageResult; import cn.iocoder.yudao.framework.common.util.object.BeanUtils; import cn.iocoder.yudao.framework.dict.core.DictFrameworkUtils; import cn.iocoder.yudao.module.mes.controller.admin.pd.basedata.vo.MesPdPriceStandardPageReqVO; import cn.iocoder.yudao.module.mes.controller.admin.pd.basedata.vo.MesPdPriceStandardRespVO; import cn.iocoder.yudao.module.mes.controller.admin.pd.basedata.vo.MesPdPriceStandardSaveReqVO; import cn.iocoder.yudao.module.mes.dal.dataobject.pd.basedata.MesPdPriceStandardDO; import cn.iocoder.yudao.module.mes.dal.mysql.pd.basedata.MesPdPriceStandardMapper; import cn.iocoder.yudao.module.mes.enums.DictTypeConstants; import jakarta.annotation.Resource; import org.springframework.stereotype.Service; import org.springframework.validation.annotation.Validated; import static cn.iocoder.yudao.framework.common.exception.util.ServiceExceptionUtil.exception; import static cn.iocoder.yudao.module.mes.enums.ErrorCodeConstants.PD_PRICE_STANDARD_NOT_EXISTS; /** * MES 定价标准 Service 实现类 * * @author 超级管理员 */ @Service @Validated public class MesPdPriceStandardServiceImpl implements MesPdPriceStandardService { @Resource private MesPdPriceStandardMapper priceStandardMapper; @Override public Long createPriceStandard(MesPdPriceStandardSaveReqVO createReqVO) { MesPdPriceStandardDO entity = BeanUtils.toBean(createReqVO, MesPdPriceStandardDO.class); priceStandardMapper.insert(entity); return entity.getId(); } @Override public void updatePriceStandard(MesPdPriceStandardSaveReqVO updateReqVO) { validatePriceStandardExists(updateReqVO.getId()); MesPdPriceStandardDO entity = BeanUtils.toBean(updateReqVO, MesPdPriceStandardDO.class); priceStandardMapper.updateById(entity); } @Override public void deletePriceStandard(Long id) { validatePriceStandardExists(id); priceStandardMapper.deleteById(id); } @Override public MesPdPriceStandardRespVO getPriceStandard(Long id) { MesPdPriceStandardDO entity = priceStandardMapper.selectById(id); if (entity == null) { return null; } MesPdPriceStandardRespVO respVO = BeanUtils.toBean(entity, MesPdPriceStandardRespVO.class); fillDictName(respVO); return respVO; } @Override public PageResult getPriceStandardPage(MesPdPriceStandardPageReqVO pageReqVO) { PageResult page = priceStandardMapper.selectPage(pageReqVO); PageResult result = BeanUtils.toBean(page, MesPdPriceStandardRespVO.class); result.getList().forEach(this::fillDictName); return result; } @Override public MesPdPriceStandardDO validatePriceStandardExists(Long id) { MesPdPriceStandardDO entity = priceStandardMapper.selectById(id); if (entity == null) { throw exception(PD_PRICE_STANDARD_NOT_EXISTS); } return entity; } private void fillDictName(MesPdPriceStandardRespVO respVO) { respVO.setObjectTypeName(DictFrameworkUtils.parseDictDataLabel( DictTypeConstants.MES_PD_PRICE_OBJECT_TYPE, respVO.getObjectType())); } }