fix: 订单定时任务可能存在极端情况,影响其他业务流程,做一下兼容处理,以免部分数据导致订单定时任务无法处理
This commit is contained in:
parent
54b40c35f4
commit
b4aef1461c
@ -2,8 +2,6 @@ package cn.lili.timetask.handler.impl.order;
|
||||
|
||||
import cn.hutool.core.date.DateTime;
|
||||
import cn.hutool.core.date.DateUtil;
|
||||
import cn.hutool.core.util.ObjectUtil;
|
||||
import cn.hutool.core.util.StrUtil;
|
||||
import cn.hutool.json.JSONUtil;
|
||||
import cn.lili.common.enums.ResultCode;
|
||||
import cn.lili.common.exception.ServiceException;
|
||||
@ -88,14 +86,30 @@ public class OrderEveryDayTaskExecute implements EveryDayExecute {
|
||||
throw new ServiceException(ResultCode.ORDER_SETTING_ERROR);
|
||||
}
|
||||
|
||||
//自动确认收货
|
||||
completedOrder(orderSetting);
|
||||
//自动好评
|
||||
memberEvaluation(orderSetting);
|
||||
//关闭允许售后申请
|
||||
closeAfterSale(orderSetting);
|
||||
//关闭允许投诉
|
||||
closeComplaint(orderSetting);
|
||||
try {
|
||||
//自动确认收货
|
||||
completedOrder(orderSetting);
|
||||
} catch (Exception e) {
|
||||
log.error(e.getMessage(), e);
|
||||
}
|
||||
try {
|
||||
//自动好评
|
||||
memberEvaluation(orderSetting);
|
||||
} catch (Exception e) {
|
||||
log.error(e.getMessage(), e);
|
||||
}
|
||||
try {
|
||||
//关闭允许售后申请
|
||||
closeAfterSale(orderSetting);
|
||||
} catch (Exception e) {
|
||||
log.error(e.getMessage(), e);
|
||||
}
|
||||
try {
|
||||
//关闭允许投诉
|
||||
closeComplaint(orderSetting);
|
||||
} catch (Exception e) {
|
||||
log.error(e.getMessage(), e);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
@ -115,12 +129,16 @@ public class OrderEveryDayTaskExecute implements EveryDayExecute {
|
||||
queryWrapper.le(Order::getLogisticsTime, receiveTime);
|
||||
List<Order> list = orderService.list(queryWrapper);
|
||||
|
||||
//判断是否有符合条件的订单,进行订单完成处理
|
||||
if (!list.isEmpty()) {
|
||||
List<String> receiveSnList = list.stream().map(Order::getSn).collect(Collectors.toList());
|
||||
for (String orderSn : receiveSnList) {
|
||||
orderService.systemComplete(orderSn);
|
||||
try {
|
||||
//判断是否有符合条件的订单,进行订单完成处理
|
||||
if (!list.isEmpty()) {
|
||||
List<String> receiveSnList = list.stream().map(Order::getSn).collect(Collectors.toList());
|
||||
for (String orderSn : receiveSnList) {
|
||||
orderService.systemComplete(orderSn);
|
||||
}
|
||||
}
|
||||
} catch (Exception e) {
|
||||
log.error(e.getMessage(), e);
|
||||
}
|
||||
}
|
||||
|
||||
@ -152,7 +170,12 @@ public class OrderEveryDayTaskExecute implements EveryDayExecute {
|
||||
memberEvaluationDTO.setDescriptionScore(5);
|
||||
memberEvaluationDTO.setServiceScore(5);
|
||||
|
||||
memberEvaluationService.addMemberEvaluation(memberEvaluationDTO, false);
|
||||
try {
|
||||
memberEvaluationService.addMemberEvaluation(memberEvaluationDTO, false);
|
||||
|
||||
} catch (Exception e) {
|
||||
log.error(e.getMessage(), e);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -164,7 +187,6 @@ public class OrderEveryDayTaskExecute implements EveryDayExecute {
|
||||
* @param orderSetting 订单设置
|
||||
*/
|
||||
private void closeAfterSale(OrderSetting orderSetting) {
|
||||
|
||||
//订单关闭售后申请时间 = 当前时间 - 自动关闭售后申请天数
|
||||
DateTime receiveTime = DateUtil.offsetDay(DateUtil.date(), -orderSetting.getCloseAfterSale());
|
||||
|
||||
@ -187,7 +209,7 @@ public class OrderEveryDayTaskExecute implements EveryDayExecute {
|
||||
orderItemService.update(lambdaUpdateWrapper);
|
||||
//修改订售后状态
|
||||
List<OrderItem> orderItemsList = orderItems.stream()
|
||||
.map((orderItem)->{
|
||||
.map((orderItem) -> {
|
||||
orderItem.setAfterSaleStatus(OrderItemAfterSaleStatusEnum.EXPIRED.name());
|
||||
return orderItem;
|
||||
})
|
||||
|
@ -19,6 +19,7 @@ import org.springframework.stereotype.Component;
|
||||
@ConfigurationProperties(prefix = "lili.data.rocketmq")
|
||||
public class RocketmqCustomProperties {
|
||||
|
||||
|
||||
private String promotionTopic;
|
||||
|
||||
private String promotionGroup;
|
||||
|
@ -122,6 +122,9 @@ public class MemberEvaluationServiceImpl extends ServiceImpl<MemberEvaluationMap
|
||||
} else {
|
||||
//获取用户信息 非自己评价时,读取数据库
|
||||
member = memberService.getById(order.getMemberId());
|
||||
if (member == null) {
|
||||
throw new ServiceException(ResultCode.USER_NOT_EXIST);
|
||||
}
|
||||
}
|
||||
//获取商品信息
|
||||
GoodsSku goodsSku = goodsSkuService.getGoodsSkuByIdFromCache(memberEvaluationDTO.getSkuId());
|
||||
|
Loading…
x
Reference in New Issue
Block a user