提交 05d9367d authored 作者: 刘海泉's avatar 刘海泉

Merge remote-tracking branch 'origin/v17.3_youhua_20240615' into test

......@@ -69,8 +69,7 @@ public class OrderGoodsFeignController {
@ApiOperation(value = "取消货单", notes = "<br>By:李瑞新")
@PostMapping({"/cancelOrderGoods"})
Result<BigDecimal> cancelOrderGoods(@RequestBody @Validated CancelOrderGoodsParam param) {
orderGoodsService.cancelOrderGoods(param);
return Result.ok();
return Result.ok(orderGoodsService.cancelOrderGoods(param));
}
......
......@@ -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 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论