| | |
| | | import cn.iocoder.yudao.module.aftersales.service.ticket.AfterSaleTicketService; |
| | | 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.dept.DeptApi; |
| | | import cn.iocoder.yudao.module.system.api.dept.dto.DeptRespDTO; |
| | | import cn.iocoder.yudao.module.system.api.user.AdminUserApi; |
| | | import cn.iocoder.yudao.module.system.api.user.dto.AdminUserRespDTO; |
| | | import io.swagger.v3.oas.annotations.Operation; |
| | |
| | | private CrmCustomerApi customerApi; |
| | | @Resource |
| | | private AdminUserApi adminUserApi; |
| | | @Resource |
| | | private DeptApi deptApi; |
| | | @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)); |
| | | List<AfterSaleTicketRespVO.Item> itemVOs = BeanUtils.toBean(items, AfterSaleTicketRespVO.Item.class); |
| | | // 回显明细部门名称 |
| | | Set<Long> deptIds = convertSet(itemVOs, AfterSaleTicketRespVO.Item::getDeptId); |
| | | Map<Long, DeptRespDTO> deptMap = deptApi.getDeptMap(deptIds); |
| | | itemVOs.forEach(itemVO -> { |
| | | DeptRespDTO dept = deptMap.get(itemVO.getDeptId()); |
| | | if (dept != null) { |
| | | itemVO.setDeptName(dept.getName()); |
| | | } |
| | | }); |
| | | respVO.setItems(itemVOs); |
| | | respVO.setAttachmentList(storageAttachmentApi.listAttachments("aftersales_after_sale_ticket", id)); |
| | | return success(respVO); |
| | | } |
| | | |