|
|
@ -12,6 +12,7 @@ import cc.yunxi.domain.dto.UserDTO;
|
|
|
|
import cc.yunxi.domain.po.*;
|
|
|
|
import cc.yunxi.domain.po.*;
|
|
|
|
import cc.yunxi.domain.vo.clientaddress.ClientAddressSimpleVO;
|
|
|
|
import cc.yunxi.domain.vo.clientaddress.ClientAddressSimpleVO;
|
|
|
|
import cc.yunxi.domain.vo.housingestate.HousingEstateSimpleVO;
|
|
|
|
import cc.yunxi.domain.vo.housingestate.HousingEstateSimpleVO;
|
|
|
|
|
|
|
|
import cc.yunxi.domain.vo.priceproduct.ProductRespVO;
|
|
|
|
import cc.yunxi.domain.vo.priceproduct.ProductSimpleVO;
|
|
|
|
import cc.yunxi.domain.vo.priceproduct.ProductSimpleVO;
|
|
|
|
import cc.yunxi.domain.query.RecycleOrderQuery;
|
|
|
|
import cc.yunxi.domain.query.RecycleOrderQuery;
|
|
|
|
import cc.yunxi.domain.vo.recycleorder.RecycleOrderRespVO;
|
|
|
|
import cc.yunxi.domain.vo.recycleorder.RecycleOrderRespVO;
|
|
|
@ -21,9 +22,8 @@ import cc.yunxi.domain.vo.recycleorder.shorder.*;
|
|
|
|
import cc.yunxi.domain.vo.recycleorder.tmorder.TMRecycleOrderCreateVO;
|
|
|
|
import cc.yunxi.domain.vo.recycleorder.tmorder.TMRecycleOrderCreateVO;
|
|
|
|
import cc.yunxi.domain.vo.recycleorder.tmorder.TMRecycleOrderFinishVO;
|
|
|
|
import cc.yunxi.domain.vo.recycleorder.tmorder.TMRecycleOrderFinishVO;
|
|
|
|
import cc.yunxi.domain.vo.recycleorder.tmorder.TMRecycleOrderRespVO;
|
|
|
|
import cc.yunxi.domain.vo.recycleorder.tmorder.TMRecycleOrderRespVO;
|
|
|
|
import cc.yunxi.domain.vo.recycleorderdetail.RecycleOrderDetailResponseVO;
|
|
|
|
import cc.yunxi.domain.vo.recycleorderdetail.RecycleOrderDetailRespVO;
|
|
|
|
import cc.yunxi.domain.vo.recycler.RecyclerSimpleVO;
|
|
|
|
import cc.yunxi.domain.vo.recycler.RecyclerSimpleVO;
|
|
|
|
import cc.yunxi.domain.vo.recyclestation.RecycleStationRespVO;
|
|
|
|
|
|
|
|
import cc.yunxi.domain.vo.recyclestation.RecycleStationSimpleVO;
|
|
|
|
import cc.yunxi.domain.vo.recyclestation.RecycleStationSimpleVO;
|
|
|
|
import cc.yunxi.enums.OrderTypeEnum;
|
|
|
|
import cc.yunxi.enums.OrderTypeEnum;
|
|
|
|
import cc.yunxi.enums.UserTypeEnum;
|
|
|
|
import cc.yunxi.enums.UserTypeEnum;
|
|
|
@ -138,22 +138,19 @@ public class RecycleOrderController {
|
|
|
|
return CommonResult.success(CollUtils.getFirst(recycleOrderRespVO));
|
|
|
|
return CommonResult.success(CollUtils.getFirst(recycleOrderRespVO));
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
@ApiOperation("回收订单明细详情")
|
|
|
|
@ApiOperation("预约回收订单结算页")
|
|
|
|
@GetMapping("/product-info")
|
|
|
|
@GetMapping("/product-info")
|
|
|
|
public CommonResult<List<RecycleOrderDetailResponseVO>> OrderProductList(@RequestParam("orderId") String orderId) {
|
|
|
|
public CommonResult<List<ProductRespVO>> OrderProductList(@RequestParam("orderId") String orderId) {
|
|
|
|
|
|
|
|
RecycleOrder recycleOrder = recycleOrderService.getOrderById(orderId, false);
|
|
|
|
|
|
|
|
// 查询回收站下的所有类目信息
|
|
|
|
|
|
|
|
String recycleStationId = recycleOrder.getRecycleStationId();
|
|
|
|
|
|
|
|
List<ProductRespVO> productList = recycleStationService.getStationProduct(recycleStationId);
|
|
|
|
|
|
|
|
List<ProductRespVO> productTreeList = CommonUtil.getChildrenList(null, productList);
|
|
|
|
|
|
|
|
// 查询订单关联的一级类目信息
|
|
|
|
List<RecycleOrderProduct> orderProducts = recycleOrderProductService.getOrderProductsByOrderId(orderId);
|
|
|
|
List<RecycleOrderProduct> orderProducts = recycleOrderProductService.getOrderProductsByOrderId(orderId);
|
|
|
|
List<RecycleOrderDetailResponseVO> detailResponseVOList = BeanUtils.copyList(orderProducts, RecycleOrderDetailResponseVO.class);
|
|
|
|
List<String> categoryIdList = orderProducts.stream().map(RecycleOrderProduct::getProductId).collect(Collectors.toList());
|
|
|
|
Set<String> productIds = detailResponseVOList.stream().map(RecycleOrderDetailResponseVO::getProductId).collect(Collectors.toSet());
|
|
|
|
productTreeList = productTreeList.stream().filter(v -> categoryIdList.contains(v.getProductId())).collect(Collectors.toList());
|
|
|
|
List<Product> productList = priceProductService.getProductListByIds(productIds);
|
|
|
|
return CommonResult.success(productTreeList);
|
|
|
|
if (CollUtils.isNotEmpty(productList)) {
|
|
|
|
|
|
|
|
Map<String, Product> productMap = productList.stream().collect(Collectors.toMap(Product::getId, p -> p, (k1, k2) -> k1));
|
|
|
|
|
|
|
|
for (RecycleOrderDetailResponseVO detailVO : detailResponseVOList) {
|
|
|
|
|
|
|
|
Product product = productMap.get(detailVO.getProductId());
|
|
|
|
|
|
|
|
detailVO.setProduct(BeanUtils.copyBean(product, ProductSimpleVO.class));
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
// 是否展示最新价格? todo
|
|
|
|
|
|
|
|
return CommonResult.success(detailResponseVOList);
|
|
|
|
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
@ -306,18 +303,18 @@ public class RecycleOrderController {
|
|
|
|
private <T extends RecycleOrderRespVO> void assembleProductInfo(List<T> orderRespVOList) {
|
|
|
|
private <T extends RecycleOrderRespVO> void assembleProductInfo(List<T> orderRespVOList) {
|
|
|
|
List<String> orderIds = orderRespVOList.stream().map(RecycleOrderRespVO::getId).collect(Collectors.toList());
|
|
|
|
List<String> orderIds = orderRespVOList.stream().map(RecycleOrderRespVO::getId).collect(Collectors.toList());
|
|
|
|
List<RecycleOrderProduct> orderProducts = recycleOrderProductService.getOrderProductsByOrderIds(orderIds);
|
|
|
|
List<RecycleOrderProduct> orderProducts = recycleOrderProductService.getOrderProductsByOrderIds(orderIds);
|
|
|
|
List<RecycleOrderDetailResponseVO> detailResponseVOList = BeanUtils.copyList(orderProducts, RecycleOrderDetailResponseVO.class);
|
|
|
|
List<RecycleOrderDetailRespVO> detailResponseVOList = BeanUtils.copyList(orderProducts, RecycleOrderDetailRespVO.class);
|
|
|
|
// 查询废品信息
|
|
|
|
// 查询废品信息
|
|
|
|
Set<String> productIds = detailResponseVOList.stream().map(RecycleOrderDetailResponseVO::getProductId).collect(Collectors.toSet());
|
|
|
|
Set<String> productIds = detailResponseVOList.stream().map(RecycleOrderDetailRespVO::getProductId).collect(Collectors.toSet());
|
|
|
|
List<Product> productList = priceProductService.getProductListByIds(productIds);
|
|
|
|
List<Product> productList = priceProductService.getProductListByIds(productIds);
|
|
|
|
if (CollUtils.isNotEmpty(productList)) {
|
|
|
|
if (CollUtils.isNotEmpty(productList)) {
|
|
|
|
Map<String, Product> productMap = productList.stream().collect(Collectors.toMap(Product::getId, p -> p, (k1, k2) -> k1));
|
|
|
|
Map<String, Product> productMap = productList.stream().collect(Collectors.toMap(Product::getId, p -> p, (k1, k2) -> k1));
|
|
|
|
for (RecycleOrderDetailResponseVO detailVO : detailResponseVOList) {
|
|
|
|
for (RecycleOrderDetailRespVO detailVO : detailResponseVOList) {
|
|
|
|
Product product = productMap.get(detailVO.getProductId());
|
|
|
|
Product product = productMap.get(detailVO.getProductId());
|
|
|
|
detailVO.setProduct(BeanUtils.copyBean(product, ProductSimpleVO.class));
|
|
|
|
detailVO.setProduct(BeanUtils.copyBean(product, ProductSimpleVO.class));
|
|
|
|
}
|
|
|
|
}
|
|
|
|
Map<String, List<RecycleOrderDetailResponseVO>> orderProductsMap =
|
|
|
|
Map<String, List<RecycleOrderDetailRespVO>> orderProductsMap =
|
|
|
|
detailResponseVOList.stream().collect(Collectors.groupingBy(RecycleOrderDetailResponseVO::getRecycleOrderId));
|
|
|
|
detailResponseVOList.stream().collect(Collectors.groupingBy(RecycleOrderDetailRespVO::getRecycleOrderId));
|
|
|
|
orderRespVOList.forEach(v -> {
|
|
|
|
orderRespVOList.forEach(v -> {
|
|
|
|
CommonUtil.assignField(v, "orderDetails", orderProductsMap.get(v.getId()));
|
|
|
|
CommonUtil.assignField(v, "orderDetails", orderProductsMap.get(v.getId()));
|
|
|
|
});
|
|
|
|
});
|
|
|
|