2026-08-04 cfbddbd52f8c4d35b06c8b7e7e68b6cf22ce400a
yudao-module-aftersales/src/main/java/cn/iocoder/yudao/module/aftersales/service/ticket/AfterSaleTicketServiceImpl.java
@@ -15,6 +15,7 @@
import cn.iocoder.yudao.module.aftersales.enums.permission.AfterSalePermissionLevelEnum;
import cn.iocoder.yudao.module.aftersales.service.permission.AfterSalePermissionService;
import cn.iocoder.yudao.module.aftersales.service.permission.bo.AfterSalePermissionCreateReqBO;
import cn.iocoder.yudao.module.system.api.storage.StorageAttachmentApi;
import jakarta.annotation.Resource;
import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Service;
@@ -47,6 +48,9 @@
    @Resource
    private AfterSalePermissionService permissionService;
    @Resource
    private StorageAttachmentApi storageAttachmentApi;
    @Override
    @Transactional(rollbackFor = Exception.class)
    public Long createTicket(AfterSaleTicketSaveReqVO createReqVO, Long userId) {
@@ -72,7 +76,11 @@
            });
        }
        // 4. 创建数据权限(负责人)
        // 4. 绑定附件
        storageAttachmentApi.bindAttachments("file", "aftersales_after_sale_ticket",
                ticket.getId(), createReqVO.getBlobIds());
        // 5. 创建数据权限(负责人)
        AfterSalePermissionCreateReqBO permBO = new AfterSalePermissionCreateReqBO();
        permBO.setBizType(AfterSaleBizTypeEnum.AFTER_SALE_TICKET.getType());
        permBO.setBizId(ticket.getId());
@@ -103,6 +111,9 @@
                ticketItemMapper.insert(itemDO);
            });
        }
        // 4. 更新附件
        storageAttachmentApi.updateAttachments("file", "aftersales_after_sale_ticket", updateReqVO.getId(), updateReqVO.getBlobIds());
    }
    @Override
@@ -113,6 +124,7 @@
        // 软删除
        ticketMapper.deleteById(id);
        ticketItemMapper.deleteByTicketId(id);
        storageAttachmentApi.deleteAttachmentsByRecord("aftersales_after_sale_ticket", id);
        permissionService.deletePermission(AfterSaleBizTypeEnum.AFTER_SALE_TICKET.getType(), id);
    }