Commit b16932ae by 杨浩

bug修复

parent 87b3f462
...@@ -24,4 +24,6 @@ public interface ErpCustomerApi { ...@@ -24,4 +24,6 @@ public interface ErpCustomerApi {
Long queryCustomerIdByUserId(Long userId); Long queryCustomerIdByUserId(Long userId);
Map<Long, String> queryNameMapByIds(Collection<Long> collection); Map<Long, String> queryNameMapByIds(Collection<Long> collection);
String queryNameStrById(Long customerId);
} }
...@@ -229,4 +229,9 @@ public class ErpCustomerServiceImpl implements ErpCustomerService, ErpCustomerAp ...@@ -229,4 +229,9 @@ public class ErpCustomerServiceImpl implements ErpCustomerService, ErpCustomerAp
List<ErpCustomerDO> customers = customerMapper.selectByIds(collection); List<ErpCustomerDO> customers = customerMapper.selectByIds(collection);
return CommonUtil.listConvertMap(customers, ErpCustomerDO::getId, ErpCustomerDO::getName); return CommonUtil.listConvertMap(customers, ErpCustomerDO::getId, ErpCustomerDO::getName);
} }
@Override
public String queryNameStrById(Long customerId) {
return Optional.ofNullable(customerMapper.selectById(customerId)).map(ErpCustomerDO::getName).orElse("");
}
} }
package cn.iocoder.foodnexus.module.order.controller.admin.customerorder; package cn.iocoder.foodnexus.module.order.controller.admin.customerorder;
import cn.iocoder.foodnexus.framework.common.util.CommonUtil;
import cn.iocoder.foodnexus.framework.common.util.collection.MapUtils;
import cn.iocoder.foodnexus.module.erp.api.service.ErpCustomerApi;
import cn.iocoder.foodnexus.module.order.api.CustomerOrderApi; import cn.iocoder.foodnexus.module.order.api.CustomerOrderApi;
import cn.iocoder.foodnexus.module.order.controller.admin.customerorderitem.vo.CustomerOrderItemRespVO; import cn.iocoder.foodnexus.module.order.controller.admin.customerorderitem.vo.CustomerOrderItemRespVO;
import cn.iocoder.foodnexus.module.order.service.customerorderitem.CustomerOrderItemService; import cn.iocoder.foodnexus.module.order.service.customerorderitem.CustomerOrderItemService;
import cn.iocoder.foodnexus.module.order.service.customerorderrecord.CustomerOrderRecordService; import cn.iocoder.foodnexus.module.order.service.customerorderrecord.CustomerOrderRecordService;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.context.annotation.Lazy;
import org.springframework.web.bind.annotation.*; import org.springframework.web.bind.annotation.*;
import jakarta.annotation.Resource; import jakarta.annotation.Resource;
import org.springframework.validation.annotation.Validated; import org.springframework.validation.annotation.Validated;
...@@ -49,6 +53,10 @@ public class CustomerOrderController { ...@@ -49,6 +53,10 @@ public class CustomerOrderController {
@Autowired @Autowired
private CustomerOrderRecordService customerOrderRecordService; private CustomerOrderRecordService customerOrderRecordService;
@Autowired
@Lazy
private ErpCustomerApi customerApi;
/* @DeleteMapping("/delete") /* @DeleteMapping("/delete")
@Operation(summary = "删除客户总订单") @Operation(summary = "删除客户总订单")
...@@ -75,8 +83,11 @@ public class CustomerOrderController { ...@@ -75,8 +83,11 @@ public class CustomerOrderController {
@PreAuthorize("@ss.hasPermission('order:customer-order:query')") @PreAuthorize("@ss.hasPermission('order:customer-order:query')")
public CommonResult<CustomerOrderDetailsVO> getCustomerOrder(@RequestParam("id") Long id) { public CommonResult<CustomerOrderDetailsVO> getCustomerOrder(@RequestParam("id") Long id) {
CustomerOrderDO customerOrder = customerOrderService.getCustomerOrder(id); CustomerOrderDO customerOrder = customerOrderService.getCustomerOrder(id);
return success(BeanUtils.toBean(customerOrder, CustomerOrderDetailsVO.class, item -> item.setOrderItems( return success(BeanUtils.toBean(customerOrder, CustomerOrderDetailsVO.class, item -> {
BeanUtils.toBean(customerOrderApi.queryItemsByOrderId(item.getId()), CustomerOrderItemRespVO.class)))); item.setOrderItems(
BeanUtils.toBean(customerOrderApi.queryItemsByOrderId(item.getId()), CustomerOrderItemRespVO.class));
item.setCustomerName(customerApi.queryNameStrById(item.getCustomerId()));
}));
} }
@GetMapping("/page") @GetMapping("/page")
...@@ -84,7 +95,9 @@ public class CustomerOrderController { ...@@ -84,7 +95,9 @@ public class CustomerOrderController {
@PreAuthorize("@ss.hasPermission('order:customer-order:query')") @PreAuthorize("@ss.hasPermission('order:customer-order:query')")
public CommonResult<PageResult<CustomerOrderRespVO>> getCustomerOrderPage(@Valid CustomerOrderPageReqVO pageReqVO) { public CommonResult<PageResult<CustomerOrderRespVO>> getCustomerOrderPage(@Valid CustomerOrderPageReqVO pageReqVO) {
PageResult<CustomerOrderDO> pageResult = customerOrderService.getCustomerOrderPage(pageReqVO); PageResult<CustomerOrderDO> pageResult = customerOrderService.getCustomerOrderPage(pageReqVO);
return success(BeanUtils.toBean(pageResult, CustomerOrderRespVO.class)); Map<Long, String> nameMap = customerApi.queryNameMapByIds(CommonUtil.listConvertSet(pageResult.getList(), CustomerOrderDO::getCustomerId));
return success(BeanUtils.toBean(pageResult, CustomerOrderRespVO.class, item ->
MapUtils.findAndThen(nameMap, item.getCustomerId(), item::setCustomerName)));
} }
@GetMapping("/record") @GetMapping("/record")
......
...@@ -6,6 +6,7 @@ import cn.iocoder.foodnexus.framework.excel.core.annotations.DictFormat; ...@@ -6,6 +6,7 @@ import cn.iocoder.foodnexus.framework.excel.core.annotations.DictFormat;
import cn.iocoder.foodnexus.framework.excel.core.convert.DictConvert; import cn.iocoder.foodnexus.framework.excel.core.convert.DictConvert;
import cn.iocoder.foodnexus.module.erp.api.vo.warehouse.WarehouseInfo; import cn.iocoder.foodnexus.module.erp.api.vo.warehouse.WarehouseInfo;
import cn.iocoder.foodnexus.module.order.controller.admin.customerorderitem.vo.CustomerOrderItemRespVO; import cn.iocoder.foodnexus.module.order.controller.admin.customerorderitem.vo.CustomerOrderItemRespVO;
import cn.iocoder.foodnexus.module.order.dto.CustomerAddressInfo;
import cn.iocoder.foodnexus.module.order.enums.CustomerOrderStatus; import cn.iocoder.foodnexus.module.order.enums.CustomerOrderStatus;
import cn.iocoder.foodnexus.module.order.enums.DeliveryMode; import cn.iocoder.foodnexus.module.order.enums.DeliveryMode;
import io.swagger.v3.oas.annotations.media.Schema; import io.swagger.v3.oas.annotations.media.Schema;
...@@ -17,73 +18,7 @@ import java.util.List; ...@@ -17,73 +18,7 @@ import java.util.List;
@Schema(description = "管理后台 - 客户总订单 Response VO") @Schema(description = "管理后台 - 客户总订单 Response VO")
@Data @Data
@ExcelIgnoreUnannotated @ExcelIgnoreUnannotated
public class CustomerOrderDetailsVO { public class CustomerOrderDetailsVO extends CustomerOrderRespVO {
@Schema(description = "id", requiredMode = Schema.RequiredMode.REQUIRED, example = "19291")
@ExcelProperty("id")
private Long id;
@Schema(description = "订单编号", requiredMode = Schema.RequiredMode.REQUIRED)
@ExcelProperty("订单编号")
private String code;
@Schema(description = "订单状态", requiredMode = Schema.RequiredMode.REQUIRED, example = "2")
@ExcelProperty(value = "订单状态", converter = DictConvert.class)
@DictFormat("order_customer_order_status") // TODO 代码优化:建议设置到对应的 DictTypeConstants 枚举类中
private CustomerOrderStatus orderStatus;
@Schema(description = "客户id", requiredMode = Schema.RequiredMode.REQUIRED, example = "20189")
@ExcelProperty("客户id")
private Long customerId;
@Schema(description = "收获仓库id", requiredMode = Schema.RequiredMode.REQUIRED, example = "27065")
@ExcelProperty("收获仓库id")
private Long warehouseId;
@Schema(description = "收获库区id", requiredMode = Schema.RequiredMode.REQUIRED, example = "26507")
@ExcelProperty("收获库区id")
private Long warehouseAreaId;
@Schema(description = "仓库信息")
@ExcelProperty("仓库信息")
private WarehouseInfo warehouseInfo;
@Schema(description = "配送模式", requiredMode = Schema.RequiredMode.REQUIRED)
@ExcelProperty(value = "配送模式", converter = DictConvert.class)
@DictFormat("order_delivery_mode") // TODO 代码优化:建议设置到对应的 DictTypeConstants 枚举类中
private DeliveryMode deliveryMode;
@Schema(description = "采购订单数", requiredMode = Schema.RequiredMode.REQUIRED, example = "12099")
@ExcelProperty("采购订单数")
private Integer productCount;
@Schema(description = "供应商数", example = "8062")
@ExcelProperty("供应商数")
private Integer supplierCount;
@Schema(description = "预计配送开始时间")
@ExcelProperty("预计配送开始时间")
private LocalDateTime planDeliveryStartTime;
@Schema(description = "预计配送结束时间")
@ExcelProperty("预计配送结束时间")
private LocalDateTime planDeliveryEndTime;
@Schema(description = "订单总金额(分)", requiredMode = Schema.RequiredMode.REQUIRED)
@ExcelProperty("订单总金额(分)")
private Integer orderAmount;
@Schema(description = "实际支付总金额(分)")
@ExcelProperty("实际支付总金额(分)")
private Integer actualAmount;
@Schema(description = "配送公司")
@ExcelProperty("配送公司")
private String operCompany;
@Schema(description = "创建时间", requiredMode = Schema.RequiredMode.REQUIRED)
@ExcelProperty("创建时间")
private LocalDateTime createTime;
@Schema(description = "子订单") @Schema(description = "子订单")
private List<CustomerOrderItemRespVO> orderItems; private List<CustomerOrderItemRespVO> orderItems;
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment