xiaoyi
4 天以前 a57dceb3e6bc02e28a86f4de66f593706452c2b4
yudao-module-aftersales/src/main/java/cn/iocoder/yudao/module/aftersales/controller/admin/ticket/AfterSaleTicketController.java
@@ -11,6 +11,7 @@
import cn.iocoder.yudao.module.aftersales.dal.dataobject.ticket.AfterSaleTicketDO;
import cn.iocoder.yudao.module.aftersales.dal.dataobject.ticket.AfterSaleTicketItemDO;
import cn.iocoder.yudao.module.aftersales.service.ticket.AfterSaleTicketService;
import cn.iocoder.yudao.module.aftersales.service.ticket.AfterSaleLedgerService;
import cn.iocoder.yudao.module.crm.api.customer.CrmCustomerApi;
import cn.iocoder.yudao.module.crm.api.customer.dto.CrmCustomerRespDTO;
import cn.iocoder.yudao.module.system.api.user.AdminUserApi;
@@ -38,11 +39,15 @@
    @Resource
    private AfterSaleTicketService ticketService;
    @Resource
    private AfterSaleLedgerService ledgerService;
    @Resource
    private CrmCustomerApi customerApi;
    @Resource
    private AdminUserApi adminUserApi;
    @Resource
    private cn.iocoder.yudao.module.system.api.storage.StorageAttachmentApi storageAttachmentApi;
    @PostMapping("/create")
    @Operation(summary = "创建售后工单")
@@ -79,6 +84,7 @@
        List<AfterSaleTicketRespVO> enrichedList = buildTicketDetailList(List.of(ticket));
        AfterSaleTicketRespVO respVO = enrichedList.get(0);
        respVO.setItems(BeanUtils.toBean(items, AfterSaleTicketRespVO.Item.class));
        respVO.setAttachmentList(storageAttachmentApi.listAttachments("aftersales_after_sale_ticket", id));
        return success(respVO);
    }
@@ -91,6 +97,16 @@
        return success(new PageResult<>(list, pageResult.getTotal()));
    }
    @GetMapping("/overview")
    @Operation(summary = "统计当前用户可见的售后工单状态")
    @PreAuthorize("@ss.hasPermission('aftersales:ticket:query')")
    public CommonResult<Map<Integer, Long>> getOverview(@RequestParam("sceneType") Integer sceneType) {
        if (sceneType == null || sceneType < 1 || sceneType > 4) {
            throw cn.iocoder.yudao.framework.common.exception.util.ServiceExceptionUtil.invalidParamException("工单场景不正确");
        }
        return success(ledgerService.overview(getLoginUserId(), sceneType));
    }
    @PostMapping("/assign")
    @Operation(summary = "分配处理人")
    @PreAuthorize("@ss.hasPermission('aftersales:ticket:update')")