package cn.iocoder.yudao.module.erp.api.sale; import cn.iocoder.yudao.framework.common.pojo.CommonResult; import cn.iocoder.yudao.framework.common.util.object.BeanUtils; import cn.iocoder.yudao.module.erp.api.sale.dto.ErpSaleOrderCreateReqDTO; import cn.iocoder.yudao.module.erp.api.sale.dto.ErpSaleOrderRespDTO; import cn.iocoder.yudao.module.erp.controller.admin.sale.vo.order.ErpSaleOrderSaveReqVO; import cn.iocoder.yudao.module.erp.dal.dataobject.sale.ErpSaleOrderDO; import cn.iocoder.yudao.module.erp.dal.mysql.sale.ErpSaleOrderMapper; import cn.iocoder.yudao.module.erp.service.sale.ErpSaleOrderService; import jakarta.annotation.Resource; import org.springframework.validation.annotation.Validated; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; import static cn.iocoder.yudao.framework.common.pojo.CommonResult.success; /** * ERP 销售订单 API 实现类 * * @author 芋道源码 */ @RestController @RequestMapping(ErpSaleOrderApi.PREFIX) @Validated public class ErpSaleOrderApiImpl implements ErpSaleOrderApi { @Resource private ErpSaleOrderService saleOrderService; @Resource private ErpSaleOrderMapper saleOrderMapper; @Override public CommonResult createSaleOrder(ErpSaleOrderCreateReqDTO createReqDTO) { // 转换为 SaveReqVO ErpSaleOrderSaveReqVO saveReqVO = BeanUtils.toBean(createReqDTO, ErpSaleOrderSaveReqVO.class); // 转换订单项 if (createReqDTO.getItems() != null) { saveReqVO.setItems(createReqDTO.getItems().stream() .map(item -> BeanUtils.toBean(item, ErpSaleOrderSaveReqVO.Item.class)) .toList()); } return success(saleOrderService.createSaleOrder(saveReqVO)); } @Override public CommonResult getSaleOrder(Long id) { ErpSaleOrderDO order = saleOrderService.getSaleOrder(id); return success(BeanUtils.toBean(order, ErpSaleOrderRespDTO.class)); } @Override public CommonResult getSaleOrderByContractId(Long contractId) { ErpSaleOrderDO order = saleOrderMapper.selectByContractId(contractId); return success(BeanUtils.toBean(order, ErpSaleOrderRespDTO.class)); } }