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<Long> 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<ErpSaleOrderRespDTO> getSaleOrder(Long id) {
|
ErpSaleOrderDO order = saleOrderService.getSaleOrder(id);
|
return success(BeanUtils.toBean(order, ErpSaleOrderRespDTO.class));
|
}
|
|
@Override
|
public CommonResult<ErpSaleOrderRespDTO> getSaleOrderByContractId(Long contractId) {
|
ErpSaleOrderDO order = saleOrderMapper.selectByContractId(contractId);
|
return success(BeanUtils.toBean(order, ErpSaleOrderRespDTO.class));
|
}
|
|
}
|