gaoluyang
3 天以前 d39e4f7d839167c16425086dfa2f8747bccfdff9
yudao-module-aftersales/src/main/java/cn/iocoder/yudao/module/aftersales/service/visit/AfterSaleVisitServiceImpl.java
@@ -11,6 +11,8 @@
import cn.iocoder.yudao.module.aftersales.dal.mysql.visit.AfterSaleVisitMapper;
import cn.iocoder.yudao.module.aftersales.enums.AfterSaleTicketStatusEnum;
import cn.iocoder.yudao.module.aftersales.enums.AfterSaleVisitStatusEnum;
import cn.iocoder.yudao.module.aftersales.enums.AfterSaleVisitTypeEnum;
import cn.iocoder.yudao.module.aftersales.service.ticket.AfterSaleTicketFlowService;
import cn.iocoder.yudao.module.system.api.storage.StorageAttachmentApi;
import jakarta.annotation.Resource;
import lombok.extern.slf4j.Slf4j;
@@ -40,6 +42,8 @@
    private AfterSaleTicketMapper ticketMapper;
    @Resource
    private StorageAttachmentApi storageAttachmentApi;
    @Resource
    private AfterSaleTicketFlowService ticketFlowService;
    @Override
    @Transactional(rollbackFor = Exception.class)
@@ -80,6 +84,15 @@
                    .setVisitStatus(AfterSaleVisitStatusEnum.WAITING.getStatus());
        }
        ticketMapper.updateById(update);
        // 5. 记录流转:回访通过则保持已完结,不满意/复发则退回处理中
        Integer toStatus = satisfied && !recurred
                ? AfterSaleTicketStatusEnum.COMPLETED.getStatus()
                : AfterSaleTicketStatusEnum.PROCESSING.getStatus();
        ticketFlowService.record(ticket.getId(), AfterSaleTicketFlowService.ACTION_VISIT, "登记回访",
                ticket.getStatus(), toStatus,
                "登记回访:" + AfterSaleVisitTypeEnum.getNameByType(createReqVO.getVisitType())
                        + ",客户" + (satisfied ? "满意" : "不满意")
                        + ",问题" + (recurred ? "复发" : "未复发"));
        return visitDO.getId();
    }