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.MesPdDiscountPolicyPageReqVO; import cn.iocoder.yudao.module.mes.controller.admin.pd.basedata.vo.MesPdDiscountPolicyRespVO; import cn.iocoder.yudao.module.mes.controller.admin.pd.basedata.vo.MesPdDiscountPolicySaveReqVO; import cn.iocoder.yudao.module.mes.dal.dataobject.pd.basedata.MesPdDiscountPolicyDO; import cn.iocoder.yudao.module.mes.dal.mysql.pd.basedata.MesPdDiscountPolicyMapper; 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_DISCOUNT_POLICY_NOT_EXISTS; /** * MES 优惠策略 Service 实现类 * * @author 超级管理员 */ @Service @Validated public class MesPdDiscountPolicyServiceImpl implements MesPdDiscountPolicyService { @Resource private MesPdDiscountPolicyMapper discountPolicyMapper; @Override public Long createDiscountPolicy(MesPdDiscountPolicySaveReqVO createReqVO) { MesPdDiscountPolicyDO entity = BeanUtils.toBean(createReqVO, MesPdDiscountPolicyDO.class); discountPolicyMapper.insert(entity); return entity.getId(); } @Override public void updateDiscountPolicy(MesPdDiscountPolicySaveReqVO updateReqVO) { validateDiscountPolicyExists(updateReqVO.getId()); MesPdDiscountPolicyDO entity = BeanUtils.toBean(updateReqVO, MesPdDiscountPolicyDO.class); discountPolicyMapper.updateById(entity); } @Override public void deleteDiscountPolicy(Long id) { validateDiscountPolicyExists(id); discountPolicyMapper.deleteById(id); } @Override public MesPdDiscountPolicyRespVO getDiscountPolicy(Long id) { MesPdDiscountPolicyDO entity = discountPolicyMapper.selectById(id); if (entity == null) { return null; } MesPdDiscountPolicyRespVO respVO = BeanUtils.toBean(entity, MesPdDiscountPolicyRespVO.class); fillDictName(respVO); return respVO; } @Override public PageResult getDiscountPolicyPage(MesPdDiscountPolicyPageReqVO pageReqVO) { PageResult page = discountPolicyMapper.selectPage(pageReqVO); PageResult result = BeanUtils.toBean(page, MesPdDiscountPolicyRespVO.class); result.getList().forEach(this::fillDictName); return result; } @Override public MesPdDiscountPolicyDO validateDiscountPolicyExists(Long id) { MesPdDiscountPolicyDO entity = discountPolicyMapper.selectById(id); if (entity == null) { throw exception(PD_DISCOUNT_POLICY_NOT_EXISTS); } return entity; } private void fillDictName(MesPdDiscountPolicyRespVO respVO) { respVO.setPolicyTypeName(DictFrameworkUtils.parseDictDataLabel( DictTypeConstants.MES_PD_DISCOUNT_POLICY_TYPE, respVO.getPolicyType())); } }