废品二级类目功能v2 订单结算页、订单详情页面数据调整

master
LI-CCONG\李聪聪 6 months ago committed by siontion
parent 5295e9cf5e
commit e98d732bb9

@ -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()));
}); });

@ -1,20 +1,13 @@
package cc.yunxi.domain.vo.recycleorder; package cc.yunxi.domain.vo.recycleorder;
import cc.yunxi.domain.dto.LocationDTO;
import cc.yunxi.domain.vo.clientaddress.ClientAddressSimpleVO;
import cc.yunxi.domain.vo.housingestate.HousingEstateSimpleVO;
import cc.yunxi.domain.vo.recycleorderdetail.RecycleOrderDetailResponseVO;
import cc.yunxi.domain.vo.recycler.RecyclerSimpleVO;
import cc.yunxi.enums.OrderStatusEnum; import cc.yunxi.enums.OrderStatusEnum;
import cc.yunxi.enums.OrderTypeEnum; import cc.yunxi.enums.OrderTypeEnum;
import cc.yunxi.enums.ProductWeightEnum;
import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty; import io.swagger.annotations.ApiModelProperty;
import lombok.Data; import lombok.Data;
import java.math.BigDecimal; import java.math.BigDecimal;
import java.time.LocalDateTime; import java.time.LocalDateTime;
import java.util.List;
/** /**
* <p> * <p>

@ -2,7 +2,7 @@ package cc.yunxi.domain.vo.recycleorder.dzorder;
import cc.yunxi.domain.vo.recycleorder.RecycleOrderRespVO; import cc.yunxi.domain.vo.recycleorder.RecycleOrderRespVO;
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.RecycleStationSimpleVO; import cc.yunxi.domain.vo.recyclestation.RecycleStationSimpleVO;
import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModel;
@ -22,6 +22,6 @@ public class DZRecycleOrderRespVO extends RecycleOrderRespVO {
private RecycleStationSimpleVO recycleStationInfo; private RecycleStationSimpleVO recycleStationInfo;
@ApiModelProperty("订单明细详情") @ApiModelProperty("订单明细详情")
private List<RecycleOrderDetailResponseVO> orderDetails; private List<RecycleOrderDetailRespVO> orderDetails;
} }

@ -1,6 +1,7 @@
package cc.yunxi.domain.vo.recycleorder.shorder; package cc.yunxi.domain.vo.recycleorder.shorder;
import cc.yunxi.domain.vo.recycleorderdetail.RecycleOrderDetailSaveVO;
import cc.yunxi.domain.vo.recycleorderdetail.RecycleOrderDetailUpdateVO; import cc.yunxi.domain.vo.recycleorderdetail.RecycleOrderDetailUpdateVO;
import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty; import io.swagger.annotations.ApiModelProperty;
@ -25,5 +26,5 @@ public class RecycleOrderFinishVO {
@ApiModelProperty(value = "订单明细", required = true) @ApiModelProperty(value = "订单明细", required = true)
@NotNull(message = "订单明细未提交") @NotNull(message = "订单明细未提交")
@Valid @Valid
private List<RecycleOrderDetailUpdateVO> orderDetails; private List<RecycleOrderDetailSaveVO> orderDetails;
} }

@ -2,19 +2,15 @@ package cc.yunxi.domain.vo.recycleorder.shorder;
import cc.yunxi.domain.dto.LocationDTO; import cc.yunxi.domain.dto.LocationDTO;
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.recycleorder.RecycleOrderRespVO; import cc.yunxi.domain.vo.recycleorder.RecycleOrderRespVO;
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.RecycleStationSimpleVO; import cc.yunxi.domain.vo.recyclestation.RecycleStationSimpleVO;
import cc.yunxi.enums.OrderStatusEnum;
import cc.yunxi.enums.OrderTypeEnum;
import cc.yunxi.enums.ProductWeightEnum; import cc.yunxi.enums.ProductWeightEnum;
import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty; import io.swagger.annotations.ApiModelProperty;
import lombok.Data; import lombok.Data;
import java.math.BigDecimal;
import java.time.LocalDateTime; import java.time.LocalDateTime;
import java.util.List; import java.util.List;
@ -70,7 +66,7 @@ public class SHRecycleOrderRespVO extends RecycleOrderRespVO {
private RecycleStationSimpleVO recycleStationInfo; private RecycleStationSimpleVO recycleStationInfo;
@ApiModelProperty("订单明细详情") @ApiModelProperty("订单明细详情")
private List<RecycleOrderDetailResponseVO> orderDetails; private List<RecycleOrderDetailRespVO> orderDetails;
// @ApiModelProperty("综合评分") // @ApiModelProperty("综合评分")

@ -3,7 +3,7 @@ package cc.yunxi.domain.vo.recycleorder.tmorder;
import cc.yunxi.domain.vo.housingestate.HousingEstateSimpleVO; import cc.yunxi.domain.vo.housingestate.HousingEstateSimpleVO;
import cc.yunxi.domain.vo.recycleorder.RecycleOrderRespVO; import cc.yunxi.domain.vo.recycleorder.RecycleOrderRespVO;
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.RecycleStationSimpleVO; import cc.yunxi.domain.vo.recyclestation.RecycleStationSimpleVO;
@ -30,6 +30,6 @@ public class TMRecycleOrderRespVO extends RecycleOrderRespVO {
private RecycleStationSimpleVO recycleStationInfo; private RecycleStationSimpleVO recycleStationInfo;
@ApiModelProperty("订单明细详情") @ApiModelProperty("订单明细详情")
private List<RecycleOrderDetailResponseVO> orderDetails; private List<RecycleOrderDetailRespVO> orderDetails;
} }

@ -1,18 +1,10 @@
package cc.yunxi.domain.vo.recycleorderdetail; package cc.yunxi.domain.vo.recycleorderdetail;
import cc.yunxi.domain.vo.priceproduct.ProductSimpleVO; import cc.yunxi.domain.vo.priceproduct.ProductSimpleVO;
import cc.yunxi.enums.OrderStatusEnum;
import cc.yunxi.enums.OrderTypeEnum;
import cc.yunxi.enums.ProductWeightEnum;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty; import io.swagger.annotations.ApiModelProperty;
import lombok.Data; import lombok.Data;
import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotEmpty;
import java.math.BigDecimal; import java.math.BigDecimal;
import java.time.LocalDateTime; import java.time.LocalDateTime;
@ -26,7 +18,7 @@ import java.time.LocalDateTime;
*/ */
@ApiModel(description = "回收订单明细 Response VO") @ApiModel(description = "回收订单明细 Response VO")
@Data @Data
public class RecycleOrderDetailResponseVO { public class RecycleOrderDetailRespVO {
@ApiModelProperty("主键id") @ApiModelProperty("主键id")
private String id; private String id;

@ -64,4 +64,19 @@ public interface IRecycleOrderProductService extends IService<RecycleOrderProduc
*/ */
void saveOrderProducts(Collection<RecycleOrderProduct> recycleOrderProducts); void saveOrderProducts(Collection<RecycleOrderProduct> recycleOrderProducts);
/**
*
* @param
* @return List<RecycleOrderProduct>
*/
void createOrderCategories(Collection<RecycleOrderProduct> recycleOrderCategories);
/**
*
* @param
* @return orderId
*/
void deleteOrderCategories(String orderId);
} }

@ -67,4 +67,18 @@ public class RecycleOrderProductServiceImpl extends ServiceImpl<RecycleOrderProd
public void saveOrderProducts(Collection<RecycleOrderProduct> recycleOrderProducts) { public void saveOrderProducts(Collection<RecycleOrderProduct> recycleOrderProducts) {
this.saveOrUpdateBatch(recycleOrderProducts); this.saveOrUpdateBatch(recycleOrderProducts);
} }
@Override
public void createOrderCategories(Collection<RecycleOrderProduct> recycleOrderProducts) {
this.saveBatch(recycleOrderProducts);
}
@Override
public void deleteOrderCategories(String orderId) {
LambdaQueryWrapperX<RecycleOrderProduct> wrapper = new LambdaQueryWrapperX<>();
wrapper.eq(RecycleOrderProduct::getRecycleOrderId, orderId);
this.remove(wrapper);
}
} }

@ -200,7 +200,7 @@ public class RecycleOrderServiceImpl extends ServiceImpl<RecycleOrderMapper, Rec
log.info("create recycleOrder info : {}", recycleOrder); log.info("create recycleOrder info : {}", recycleOrder);
this.saveRecycleOrder(recycleOrder, recycleStation.getEnterpriseId()); this.saveRecycleOrder(recycleOrder, recycleStation.getEnterpriseId());
// 创建订单明细 // 创建订单一级类目明细
String orderId = recycleOrder.getId(); String orderId = recycleOrder.getId();
List<RecycleOrderDetailCreateVO> recycleOrderProductVOList = orderCreateVO.getOrderDetails(); List<RecycleOrderDetailCreateVO> recycleOrderProductVOList = orderCreateVO.getOrderDetails();
recycleOrderProductVOList.forEach(rp -> { recycleOrderProductVOList.forEach(rp -> {
@ -208,7 +208,7 @@ public class RecycleOrderServiceImpl extends ServiceImpl<RecycleOrderMapper, Rec
rp.setCreatorTime(now); rp.setCreatorTime(now);
}); });
List<RecycleOrderProduct> recycleOrderProducts = BeanUtils.copyList(recycleOrderProductVOList, RecycleOrderProduct.class); List<RecycleOrderProduct> recycleOrderProducts = BeanUtils.copyList(recycleOrderProductVOList, RecycleOrderProduct.class);
this.recycleOrderProductService.createOrderProducts(recycleOrderProducts); this.recycleOrderProductService.createOrderCategories(recycleOrderProducts);
return orderId; return orderId;
} }
@ -375,7 +375,7 @@ public class RecycleOrderServiceImpl extends ServiceImpl<RecycleOrderMapper, Rec
LocationDTO location = orderReachVO.getLocation(); LocationDTO location = orderReachVO.getLocation();
BigDecimal distance = CommonUtil.getDistance(recycleOrder.getLongitude(), recycleOrder.getLatitude(), BigDecimal distance = CommonUtil.getDistance(recycleOrder.getLongitude(), recycleOrder.getLatitude(),
location.getLongitude(), location.getLatitude()); location.getLongitude(), location.getLatitude());
if (distance.compareTo(new BigDecimal("0.1")) > 0) { // 大于0.1km if (distance.compareTo(new BigDecimal("0.2")) > 0) { // 大于0.2km
throw new BusinessLogicException("未到达!"); throw new BusinessLogicException("未到达!");
} }
recycleOrder = BeanUtils.copyBean(orderReachVO, RecycleOrder.class); recycleOrder = BeanUtils.copyBean(orderReachVO, RecycleOrder.class);
@ -390,7 +390,8 @@ public class RecycleOrderServiceImpl extends ServiceImpl<RecycleOrderMapper, Rec
@Override @Override
@Transactional(rollbackFor = Exception.class) @Transactional(rollbackFor = Exception.class)
public void finishOrder(RecycleOrderFinishVO orderFinishVO) { public void finishOrder(RecycleOrderFinishVO orderFinishVO) {
RecycleOrder recycleOrder = this.getOrderById(orderFinishVO.getId(), true); String orderId = orderFinishVO.getId();
RecycleOrder recycleOrder = this.getOrderById(orderId, true);
String recyclerId = recycleOrder.getStaffsId(); String recyclerId = recycleOrder.getStaffsId();
if (StrUtil.isEmpty(recyclerId) || !recyclerId.equals(orderFinishVO.getStaffsId())) { if (StrUtil.isEmpty(recyclerId) || !recyclerId.equals(orderFinishVO.getStaffsId())) {
throw new BusinessLogicException("非法操作!"); throw new BusinessLogicException("非法操作!");
@ -401,11 +402,16 @@ public class RecycleOrderServiceImpl extends ServiceImpl<RecycleOrderMapper, Rec
if (recycleOrder.getOrderStatus().equals(OrderStatusEnum.FINISHED)) { if (recycleOrder.getOrderStatus().equals(OrderStatusEnum.FINISHED)) {
throw new BusinessLogicException("订单已完成结算!"); throw new BusinessLogicException("订单已完成结算!");
} }
// 更新订单明细信息 // 删除一级类目信息 (订单详情不需要展示一级类目)
List<RecycleOrderDetailUpdateVO> recycleOrderProductVOList = orderFinishVO.getOrderDetails(); this.recycleOrderProductService.deleteOrderCategories(orderId);
// 保存订单明细信息
List<RecycleOrderDetailSaveVO> recycleOrderProductVOList = orderFinishVO.getOrderDetails();
List<RecycleOrderProduct> recycleOrderProducts = BeanUtils.copyList(recycleOrderProductVOList, RecycleOrderProduct.class);
LocalDateTime now = LocalDateTime.now(); LocalDateTime now = LocalDateTime.now();
String enterpriseId = recycleOrder.getCompanyId(); String enterpriseId = recycleOrder.getCompanyId();
recycleOrderProductVOList.forEach(rp -> { recycleOrderProducts.forEach(rp -> {
rp.setRecycleOrderId(orderId);
rp.setCreatorTime(now);
rp.setUpdateTime(now); rp.setUpdateTime(now);
PriceProduct latestPriceProduct = this.recycleOrderProductService.getLatestPriceProduct(rp.getProductId(), enterpriseId); PriceProduct latestPriceProduct = this.recycleOrderProductService.getLatestPriceProduct(rp.getProductId(), enterpriseId);
log.info("latest price product: {}", latestPriceProduct); log.info("latest price product: {}", latestPriceProduct);
@ -415,8 +421,7 @@ public class RecycleOrderServiceImpl extends ServiceImpl<RecycleOrderMapper, Rec
BigDecimal recoveryPrice = Optional.ofNullable(latestPriceProduct.getRecoveryPrice()).orElse(new BigDecimal("0.00")); BigDecimal recoveryPrice = Optional.ofNullable(latestPriceProduct.getRecoveryPrice()).orElse(new BigDecimal("0.00"));
rp.setActualRecoveryPrice(recoveryPrice); rp.setActualRecoveryPrice(recoveryPrice);
}); });
List<RecycleOrderProduct> recycleOrderProducts = BeanUtils.copyList(recycleOrderProductVOList, RecycleOrderProduct.class); this.recycleOrderProductService.saveOrderProducts(recycleOrderProducts);
this.recycleOrderProductService.updateOrderProducts(recycleOrderProducts);
// 记录关键信息 // 记录关键信息
String clientId = recycleOrder.getClientId(); String clientId = recycleOrder.getClientId();
@ -460,7 +465,7 @@ public class RecycleOrderServiceImpl extends ServiceImpl<RecycleOrderMapper, Rec
if (recycleOrder.getOrderStatus().equals(OrderStatusEnum.FINISHED)) { if (recycleOrder.getOrderStatus().equals(OrderStatusEnum.FINISHED)) {
throw new BusinessLogicException("订单已完成结算!"); throw new BusinessLogicException("订单已完成结算!");
} }
// 更新订单明细信息 // 保存订单明细信息
List<RecycleOrderDetailSaveVO> recycleOrderProductVOList = tmOrderFinishVO.getOrderDetails(); List<RecycleOrderDetailSaveVO> recycleOrderProductVOList = tmOrderFinishVO.getOrderDetails();
List<RecycleOrderProduct> recycleOrderProducts = BeanUtils.copyList(recycleOrderProductVOList, RecycleOrderProduct.class); List<RecycleOrderProduct> recycleOrderProducts = BeanUtils.copyList(recycleOrderProductVOList, RecycleOrderProduct.class);
LocalDateTime now = LocalDateTime.now(); LocalDateTime now = LocalDateTime.now();

Loading…
Cancel
Save