| | |
| | | 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; |
| | |
| | | |
| | | @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 = "创建售后工单") |
| | |
| | | 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); |
| | | } |
| | | |
| | |
| | | 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')") |