From fce7a8df22ab7b5b0be0fb5151c40abbfbab6be8 Mon Sep 17 00:00:00 2001
From: 云 <2163098428@qq.com>
Date: 星期四, 02 七月 2026 10:49:14 +0800
Subject: [PATCH] 1.修复编译问题

---
 yudao-module-crm/src/main/java/cn/iocoder/yudao/module/crm/service/quotation/CrmSaleQuotationServiceImpl.java |   18 +++++++++++++-----
 1 files changed, 13 insertions(+), 5 deletions(-)

diff --git a/yudao-module-crm/src/main/java/cn/iocoder/yudao/module/crm/service/quotation/CrmSaleQuotationServiceImpl.java b/yudao-module-crm/src/main/java/cn/iocoder/yudao/module/crm/service/quotation/CrmSaleQuotationServiceImpl.java
index da476ff..6a3f4d8 100644
--- a/yudao-module-crm/src/main/java/cn/iocoder/yudao/module/crm/service/quotation/CrmSaleQuotationServiceImpl.java
+++ b/yudao-module-crm/src/main/java/cn/iocoder/yudao/module/crm/service/quotation/CrmSaleQuotationServiceImpl.java
@@ -20,12 +20,15 @@
 import cn.iocoder.yudao.module.crm.dal.mysql.quotation.CrmSaleQuotationMapper;
 import cn.iocoder.yudao.module.crm.dal.mysql.quotation.CrmSaleQuotationProductMapper;
 import cn.iocoder.yudao.module.crm.dal.redis.no.CrmNoRedisDAO;
+import cn.iocoder.yudao.module.crm.enums.common.CrmBizTypeEnum;
+import cn.iocoder.yudao.module.crm.enums.permission.CrmPermissionLevelEnum;
 import cn.iocoder.yudao.module.crm.enums.quotation.CrmSaleQuotationStatusEnum;
 import cn.iocoder.yudao.module.crm.service.business.CrmBusinessService;
 import cn.iocoder.yudao.module.crm.service.contact.CrmContactService;
 import cn.iocoder.yudao.module.crm.service.contract.CrmContractService;
 import cn.iocoder.yudao.module.crm.service.customer.CrmCustomerService;
 import cn.iocoder.yudao.module.crm.service.permission.CrmPermissionService;
+import cn.iocoder.yudao.module.crm.service.permission.bo.CrmPermissionCreateReqBO;
 import cn.iocoder.yudao.module.mdm.api.item.MdmItemApi;
 import cn.iocoder.yudao.module.mdm.api.item.dto.MdmItemRespDTO;
 import jakarta.annotation.Resource;
@@ -109,7 +112,11 @@
         quotationProducts.forEach(p -> p.setQuotationId(saleQuotation.getId()));
         saleQuotationProductMapper.insertBatch(quotationProducts);
         // 2.3 鍒涘缓鏁版嵁鏉冮檺
-        permissionService.createPermission(saleQuotation.getId(), userId);
+        permissionService.createPermission(new CrmPermissionCreateReqBO()
+                .setUserId(userId)
+                .setBizType(CrmBizTypeEnum.CRM_SALE_QUOTATION.getType())
+                .setBizId(saleQuotation.getId())
+                .setLevel(CrmPermissionLevelEnum.OWNER.getLevel()));
         return saleQuotation.getId();
     }
 
@@ -156,7 +163,7 @@
             // 2.2 鍒犻櫎鎶ヤ环鏄庣粏
             saleQuotationProductMapper.deleteByQuotationId(saleQuotation.getId());
             // 2.3 鍒犻櫎鏁版嵁鏉冮檺
-            permissionService.deletePermission(saleQuotation.getId());
+            permissionService.deletePermission(CrmBizTypeEnum.CRM_SALE_QUOTATION.getType(), saleQuotation.getId());
         });
     }
 
@@ -170,7 +177,7 @@
 
     private List<CrmSaleQuotationProductDO> validateQuotationItems(List<CrmSaleQuotationSaveReqVO.Item> list) {
         // 1. 鏍¢獙鐗╂枡瀛樺湪涓斿惎鐢�
-        List<Long> itemIds = convertSet(list, CrmSaleQuotationSaveReqVO.Item::getItemId);
+        Set<Long> itemIds = convertSet(list, CrmSaleQuotationSaveReqVO.Item::getItemId);
         Map<Long, MdmItemRespDTO> itemMap = mdmItemApi.getItemMap(itemIds);
         // 2. 杞崲涓� CrmSaleQuotationProductDO 鍒楄〃
         return convertList(list, o -> BeanUtils.toBean(o, CrmSaleQuotationProductDO.class, item -> {
@@ -223,12 +230,13 @@
 
     private void calculateTotalPrice(CrmSaleQuotationDO saleQuotation, List<CrmSaleQuotationProductDO> items) {
         saleQuotation.setTotalProductPrice(getSumValue(items, CrmSaleQuotationProductDO::getTotalPrice, BigDecimal::add, BigDecimal.ZERO));
-        saleQuotation.setTotalTaxPrice(getSumValue(items, CrmSaleQuotationProductDO::getTaxPrice, BigDecimal::add, BigDecimal.ZERO));
+        BigDecimal totalTaxPrice = getSumValue(items, CrmSaleQuotationProductDO::getTaxPrice, BigDecimal::add, BigDecimal.ZERO);
+        saleQuotation.setTaxPrice(totalTaxPrice);
         // 璁$畻浼樻儬浠锋牸
         if (saleQuotation.getDiscountPercent() == null) {
             saleQuotation.setDiscountPercent(BigDecimal.ZERO);
         }
-        BigDecimal basePrice = saleQuotation.getTotalProductPrice().add(saleQuotation.getTotalTaxPrice());
+        BigDecimal basePrice = saleQuotation.getTotalProductPrice().add(totalTaxPrice);
         saleQuotation.setDiscountPrice(MoneyUtils.priceMultiplyPercent(basePrice, saleQuotation.getDiscountPercent()));
         saleQuotation.setTotalPrice(basePrice.subtract(saleQuotation.getDiscountPrice()));
     }

--
Gitblit v1.9.3