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.DateTime;
|
||||||
import cn.hutool.core.date.DateUtil;
|
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.hutool.json.JSONUtil;
|
||||||
import cn.lili.common.enums.ResultCode;
|
import cn.lili.common.enums.ResultCode;
|
||||||
import cn.lili.common.exception.ServiceException;
|
import cn.lili.common.exception.ServiceException;
|
||||||
@ -88,14 +86,30 @@ public class OrderEveryDayTaskExecute implements EveryDayExecute {
|
|||||||
throw new ServiceException(ResultCode.ORDER_SETTING_ERROR);
|
throw new ServiceException(ResultCode.ORDER_SETTING_ERROR);
|
||||||
}
|
}
|
||||||
|
|
||||||
//自动确认收货
|
try {
|
||||||
completedOrder(orderSetting);
|
//自动确认收货
|
||||||
//自动好评
|
completedOrder(orderSetting);
|
||||||
memberEvaluation(orderSetting);
|
} catch (Exception e) {
|
||||||
//关闭允许售后申请
|
log.error(e.getMessage(), e);
|
||||||
closeAfterSale(orderSetting);
|
}
|
||||||
//关闭允许投诉
|
try {
|
||||||
closeComplaint(orderSetting);
|
//自动好评
|
||||||
|
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);
|
queryWrapper.le(Order::getLogisticsTime, receiveTime);
|
||||||
List<Order> list = orderService.list(queryWrapper);
|
List<Order> list = orderService.list(queryWrapper);
|
||||||
|
|
||||||
//判断是否有符合条件的订单,进行订单完成处理
|
try {
|
||||||
if (!list.isEmpty()) {
|
//判断是否有符合条件的订单,进行订单完成处理
|
||||||
List<String> receiveSnList = list.stream().map(Order::getSn).collect(Collectors.toList());
|
if (!list.isEmpty()) {
|
||||||
for (String orderSn : receiveSnList) {
|
List<String> receiveSnList = list.stream().map(Order::getSn).collect(Collectors.toList());
|
||||||
orderService.systemComplete(orderSn);
|
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.setDescriptionScore(5);
|
||||||
memberEvaluationDTO.setServiceScore(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 订单设置
|
* @param orderSetting 订单设置
|
||||||
*/
|
*/
|
||||||
private void closeAfterSale(OrderSetting orderSetting) {
|
private void closeAfterSale(OrderSetting orderSetting) {
|
||||||
|
|
||||||
//订单关闭售后申请时间 = 当前时间 - 自动关闭售后申请天数
|
//订单关闭售后申请时间 = 当前时间 - 自动关闭售后申请天数
|
||||||
DateTime receiveTime = DateUtil.offsetDay(DateUtil.date(), -orderSetting.getCloseAfterSale());
|
DateTime receiveTime = DateUtil.offsetDay(DateUtil.date(), -orderSetting.getCloseAfterSale());
|
||||||
|
|
||||||
@ -187,7 +209,7 @@ public class OrderEveryDayTaskExecute implements EveryDayExecute {
|
|||||||
orderItemService.update(lambdaUpdateWrapper);
|
orderItemService.update(lambdaUpdateWrapper);
|
||||||
//修改订售后状态
|
//修改订售后状态
|
||||||
List<OrderItem> orderItemsList = orderItems.stream()
|
List<OrderItem> orderItemsList = orderItems.stream()
|
||||||
.map((orderItem)->{
|
.map((orderItem) -> {
|
||||||
orderItem.setAfterSaleStatus(OrderItemAfterSaleStatusEnum.EXPIRED.name());
|
orderItem.setAfterSaleStatus(OrderItemAfterSaleStatusEnum.EXPIRED.name());
|
||||||
return orderItem;
|
return orderItem;
|
||||||
})
|
})
|
||||||
|
@ -19,6 +19,7 @@ import org.springframework.stereotype.Component;
|
|||||||
@ConfigurationProperties(prefix = "lili.data.rocketmq")
|
@ConfigurationProperties(prefix = "lili.data.rocketmq")
|
||||||
public class RocketmqCustomProperties {
|
public class RocketmqCustomProperties {
|
||||||
|
|
||||||
|
|
||||||
private String promotionTopic;
|
private String promotionTopic;
|
||||||
|
|
||||||
private String promotionGroup;
|
private String promotionGroup;
|
||||||
|
@ -122,6 +122,9 @@ public class MemberEvaluationServiceImpl extends ServiceImpl<MemberEvaluationMap
|
|||||||
} else {
|
} else {
|
||||||
//获取用户信息 非自己评价时,读取数据库
|
//获取用户信息 非自己评价时,读取数据库
|
||||||
member = memberService.getById(order.getMemberId());
|
member = memberService.getById(order.getMemberId());
|
||||||
|
if (member == null) {
|
||||||
|
throw new ServiceException(ResultCode.USER_NOT_EXIST);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
//获取商品信息
|
//获取商品信息
|
||||||
GoodsSku goodsSku = goodsSkuService.getGoodsSkuByIdFromCache(memberEvaluationDTO.getSkuId());
|
GoodsSku goodsSku = goodsSkuService.getGoodsSkuByIdFromCache(memberEvaluationDTO.getSkuId());
|
||||||
|
Loading…
x
Reference in New Issue
Block a user