修复主订单取消后赠品订单不会取消问题。优化热词
This commit is contained in:
parent
d46863b5b5
commit
9f965c4e56
@ -19,6 +19,7 @@ import cn.lili.modules.order.cart.entity.vo.CartVO;
|
|||||||
import cn.lili.modules.order.order.entity.dos.Order;
|
import cn.lili.modules.order.order.entity.dos.Order;
|
||||||
import cn.lili.modules.order.order.entity.dos.OrderItem;
|
import cn.lili.modules.order.order.entity.dos.OrderItem;
|
||||||
import cn.lili.modules.order.order.entity.dto.OrderMessage;
|
import cn.lili.modules.order.order.entity.dto.OrderMessage;
|
||||||
|
import cn.lili.modules.order.order.entity.dto.OrderSearchParams;
|
||||||
import cn.lili.modules.order.order.entity.dto.PriceDetailDTO;
|
import cn.lili.modules.order.order.entity.dto.PriceDetailDTO;
|
||||||
import cn.lili.modules.order.order.entity.enums.*;
|
import cn.lili.modules.order.order.entity.enums.*;
|
||||||
import cn.lili.modules.order.order.service.OrderItemService;
|
import cn.lili.modules.order.order.service.OrderItemService;
|
||||||
@ -96,6 +97,15 @@ public class FullDiscountExecute implements TradeEvent, OrderStatusChangeEvent {
|
|||||||
if (orderMessage.getNewStatus().equals(OrderStatusEnum.PAID)) {
|
if (orderMessage.getNewStatus().equals(OrderStatusEnum.PAID)) {
|
||||||
log.debug("满减活动,订单状态操作 {}", CachePrefix.ORDER.getPrefix() + orderMessage.getOrderSn());
|
log.debug("满减活动,订单状态操作 {}", CachePrefix.ORDER.getPrefix() + orderMessage.getOrderSn());
|
||||||
renderGift(JSONUtil.toBean(cache.getString(CachePrefix.ORDER.getPrefix() + orderMessage.getOrderSn()), CartVO.class), orderMessage);
|
renderGift(JSONUtil.toBean(cache.getString(CachePrefix.ORDER.getPrefix() + orderMessage.getOrderSn()), CartVO.class), orderMessage);
|
||||||
|
} else if (orderMessage.getNewStatus().equals(OrderStatusEnum.CANCELLED)) {
|
||||||
|
log.debug("满减活动,取消订单状态操作 {}", CachePrefix.ORDER.getPrefix() + orderMessage.getOrderSn());
|
||||||
|
OrderSearchParams searchParams = new OrderSearchParams();
|
||||||
|
searchParams.setParentOrderSn(orderMessage.getOrderSn());
|
||||||
|
searchParams.setOrderPromotionType(OrderPromotionTypeEnum.GIFT.name());
|
||||||
|
List<Order> orders = orderService.queryListByParams(searchParams);
|
||||||
|
if (orders != null && !orders.isEmpty()) {
|
||||||
|
orderService.systemCancel(orders.get(0).getSn(),"主订单取消,赠送订单字段自动取消");
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -190,6 +200,7 @@ public class FullDiscountExecute implements TradeEvent, OrderStatusChangeEvent {
|
|||||||
BeanUtil.copyProperties(priceDetailDTO, order, "id");
|
BeanUtil.copyProperties(priceDetailDTO, order, "id");
|
||||||
//生成订单参数
|
//生成订单参数
|
||||||
order.setSn(SnowFlake.createStr("G"));
|
order.setSn(SnowFlake.createStr("G"));
|
||||||
|
order.setParentOrderSn(originOrder.getSn());
|
||||||
order.setOrderPromotionType(OrderPromotionTypeEnum.GIFT.name());
|
order.setOrderPromotionType(OrderPromotionTypeEnum.GIFT.name());
|
||||||
order.setOrderStatus(OrderStatusEnum.UNPAID.name());
|
order.setOrderStatus(OrderStatusEnum.UNPAID.name());
|
||||||
order.setPayStatus(PayStatusEnum.PAID.name());
|
order.setPayStatus(PayStatusEnum.PAID.name());
|
||||||
|
@ -29,6 +29,7 @@ import org.springframework.transaction.annotation.Transactional;
|
|||||||
|
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
import java.util.Objects;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 库存扣减,他表示了订单状态是否出库成功
|
* 库存扣减,他表示了订单状态是否出库成功
|
||||||
@ -156,7 +157,7 @@ public class StockUpdateExecute implements OrderStatusChangeEvent {
|
|||||||
* @param stocks
|
* @param stocks
|
||||||
*/
|
*/
|
||||||
private void checkStocks(List<Integer> stocks, OrderDetailVO order) {
|
private void checkStocks(List<Integer> stocks, OrderDetailVO order) {
|
||||||
if (order.getOrderItems().size() == stocks.size()) {
|
if (!stocks.isEmpty() && order.getOrderItems().size() == stocks.size() && stocks.stream().anyMatch(Objects::nonNull)) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
initSkuCache(order.getOrderItems());
|
initSkuCache(order.getOrderItems());
|
||||||
|
@ -130,8 +130,12 @@ public class EsGoodsSearchServiceImpl implements EsGoodsSearchService {
|
|||||||
*/
|
*/
|
||||||
@Override
|
@Override
|
||||||
public void deleteHotWords(String keywords) {
|
public void deleteHotWords(String keywords) {
|
||||||
|
if (CharSequenceUtil.isEmpty(keywords)) {
|
||||||
|
cache.vagueDel(CachePrefix.HOT_WORD.getPrefix());
|
||||||
|
} else {
|
||||||
cache.zRemove(CachePrefix.HOT_WORD.getPrefix(), keywords);
|
cache.zRemove(CachePrefix.HOT_WORD.getPrefix(), keywords);
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public EsGoodsRelatedInfo getSelector(EsGoodsSearchDTO goodsSearch, PageVO pageVo) {
|
public EsGoodsRelatedInfo getSelector(EsGoodsSearchDTO goodsSearch, PageVO pageVo) {
|
||||||
|
@ -37,11 +37,18 @@ public class HotWordsManagerController {
|
|||||||
return ResultUtil.success();
|
return ResultUtil.success();
|
||||||
}
|
}
|
||||||
|
|
||||||
@ApiOperation(value = "设置热词")
|
@ApiOperation(value = "删除热词")
|
||||||
@DeleteMapping("/{words}")
|
@DeleteMapping("/{words}")
|
||||||
public ResultMessage<Object> deleteWords(@PathVariable String words) {
|
public ResultMessage<Object> deleteWords(@PathVariable String words) {
|
||||||
esGoodsSearchService.deleteHotWords(words);
|
esGoodsSearchService.deleteHotWords(words);
|
||||||
return ResultUtil.success();
|
return ResultUtil.success();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ApiOperation(value = "删除全部热词")
|
||||||
|
@DeleteMapping("")
|
||||||
|
public ResultMessage<Object> deleteWordsAll() {
|
||||||
|
esGoodsSearchService.deleteHotWords(null);
|
||||||
|
return ResultUtil.success();
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user