|
@@ -731,22 +731,47 @@ public class GoodsServiceImpl extends ServiceImpl<GoodsMapper, Goods> implements
|
|
|
}
|
|
|
|
|
|
@Override
|
|
|
+ @Transactional(rollbackFor = Exception.class)
|
|
|
public boolean GoodsBatchUpdateStatusBo(GoodsBatchUpdateStatusBo bo) {
|
|
|
if (CollectionUtils.isEmpty(bo.getGoodsIds())){
|
|
|
throw new CustomException("商品ID不能为空");
|
|
|
}
|
|
|
+ if (bo.getGoodsStatus() !=-1) {
|
|
|
+ List<Goods> goodsList = listByIds(bo.getGoodsIds());
|
|
|
+ if (goodsList.stream().anyMatch(x -> x.getStatus() == 0) && bo.getGoodsStatus() == 1) {
|
|
|
+ throw new CustomException("存在无效商品不允许上架,请检查!");
|
|
|
+ }
|
|
|
+ if (goodsList.stream().anyMatch(x -> Validator.isNotEmpty(x.getValidityEndTime())&&x.getValidityEndTime() < DateUtils.getNowTime()) && bo.getGoodsStatus() == 1) {
|
|
|
+ throw new CustomException("存在过期商品不允许上架,请检查!");
|
|
|
+ }
|
|
|
+ }
|
|
|
return update(new LambdaUpdateWrapper<Goods>()
|
|
|
.set(Goods::getGoodsStatus,bo.getGoodsStatus())
|
|
|
+ .set(Goods::getUpdateTime,DateUtils.getNowTime())
|
|
|
.in(Goods::getGoodsId,bo.getGoodsIds()));
|
|
|
}
|
|
|
|
|
|
@Override
|
|
|
+ @Transactional(rollbackFor = Exception.class)
|
|
|
public boolean batchDelGoods(GoodsBatchDelBo bo) {
|
|
|
if (CollectionUtils.isEmpty(bo.getIds())){
|
|
|
throw new CustomException("商品ID不能为空");
|
|
|
}
|
|
|
+ if (bo.getStatus() ==-1||bo.getStatus() ==0) {
|
|
|
+ List<Long> payStatus = new ArrayList<>();
|
|
|
+ payStatus.add(2L);
|
|
|
+ payStatus.add(3L);
|
|
|
+ payStatus.add(4L);
|
|
|
+ //查看是否有出售过
|
|
|
+ List<OrderGoods> orderGoodsList = iOrderGoodsService.list(new LambdaQueryWrapper< OrderGoods >().in(OrderGoods::getGoodsId,bo.getIds())
|
|
|
+ .in(OrderGoods::getPayStatus,payStatus).ne(OrderGoods::getRefundStatus,2));
|
|
|
+ if(CollectionUtils.isNotEmpty(orderGoodsList)){
|
|
|
+ throw new CustomException("存在已购买商品,无法改变状态,请检查!");
|
|
|
+ }
|
|
|
+ }
|
|
|
return update(new LambdaUpdateWrapper<Goods>()
|
|
|
.set(Goods::getStatus,bo.getStatus())
|
|
|
+ .set(Goods::getUpdateTime,DateUtils.getNowTime())
|
|
|
.in(Goods::getGoodsId,bo.getIds()));
|
|
|
}
|
|
|
|