| | |
| | | // 2. 获取报价明细 |
| | | List<CrmSaleQuotationProductDO> quotationProducts = saleQuotationProductMapper.selectListByQuotationId(id); |
| | | |
| | | // 合同明细使用整数数量,禁止截断小数或溢出后生成错误订单。 |
| | | for (CrmSaleQuotationProductDO product : quotationProducts) { |
| | | try { |
| | | if (product.getCount() == null || product.getCount().intValueExact() <= 0) { |
| | | throw exception(SALE_QUOTATION_CONVERT_INVALID_COUNT); |
| | | } |
| | | } catch (ArithmeticException ex) { |
| | | throw exception(SALE_QUOTATION_CONVERT_INVALID_COUNT); |
| | | } |
| | | } |
| | | // 3. 构建合同创建 VO |
| | | CrmContractSaveReqVO contractVO = new CrmContractSaveReqVO(); |
| | | contractVO.setName(saleQuotation.getName() + "-合同"); |