提交 3b68a268 authored 作者: 艾庆国's avatar 艾庆国

Merge branch 'refs/heads/v17.3_youhua_20240615' into test

Former-commit-id: 6c34114a
......@@ -105,5 +105,7 @@ public interface OrderGoodsDao extends BaseDao<OrderGoodsMapper, OrderGoods, Int
void cancelOrderGoods(String orderNo);
void batchCancel(List<Integer> idList);
void batchCancelOrderGoods(List<CancelOrderGoodsWeightDTO> cancelOrderGoodsWeight);
}
......@@ -293,6 +293,13 @@ public class OrderGoodsDaoImpl extends BaseDaoImpl<OrderGoodsMapper, OrderGoods,
.set(OrderGoods::getOrderGoodsStatus, OrderGoodsStatusEnum.Status.CANCEL.getCode())
);
}
@Override
public void batchCancel(List<Integer> idList) {
update(lUdWrapper()
.in(OrderGoods::getId, idList)
.set(OrderGoods::getOrderGoodsStatus, OrderGoodsStatusEnum.Status.CANCEL.getCode())
);
}
@Override
public void batchCancelOrderGoods(List<CancelOrderGoodsWeightDTO> cancelOrderGoodsWeight) {
......
......@@ -1010,18 +1010,28 @@ public class OrderGoodsServiceImpl implements OrderGoodsService, InitializingBea
@Override
@Transactional(rollbackFor = Exception.class)
public BigDecimal cancelOrderGoods(CancelOrderGoodsParam param) {
log.info("取消货单:{}",param);
List<OrderGoods> orderGoodsList = orderGoodsDao.getOrderGoodsListByOrderNo(param.getOrderNo());
// 过滤可取消
List<OrderGoods> orderGoodsUpdateList =
orderGoodsList.stream().filter(item ->
Objects.equals(item.getOrderGoodsStatus(), OrderGoodsStatusEnum.Status.CREATED.getCode())
|| Objects.equals(item.getOrderGoodsStatus(), OrderGoodsStatusEnum.Status.PAYING.getCode())
|| Objects.equals(item.getOrderGoodsStatus(), OrderGoodsStatusEnum.Status.GO_TO_SEND.getCode())
).collect(Collectors.toList());
if (orderGoodsUpdateList.isEmpty()) {return BigDecimal.ZERO;}
//取消货单
orderGoodsDao.cancelOrderGoods(param.getOrderNo());
orderGoodsDao.batchCancel(orderGoodsUpdateList.stream().map(item->item.getId()).collect(Collectors.toList()));
//批量保存货单日志
List<OrderGoods> orderGoodsListByOrderNo = orderGoodsDao.getOrderGoodsListByOrderNo(param.getOrderNo());
log.info("orderGoodsListByOrderNo:{}",orderGoodsListByOrderNo);
log.info("orderGoodsListByOrderNo:{}",orderGoodsUpdateList);
List<OrderGoodsLog> orderGoodsLogs = new ArrayList<>();
OrderGoodsLog orderGoodsLog = null;
BigDecimal totalCancelWeight = BigDecimal.ZERO;
for(OrderGoods orderGoods:orderGoodsListByOrderNo){
for(OrderGoods orderGoods:orderGoodsUpdateList){
orderGoodsLog = new OrderGoodsLog();
orderGoodsLog.setOrderGoodsNo(orderGoods.getOrderGoodsNo());
orderGoodsLog.setCreateName(param.getCreateName());
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论