fix: 修复移除@Resource后的订单每日任务,执行sql错误问题

This commit is contained in:
misworga831 2023-06-13 10:48:03 +08:00
parent 71061ad861
commit 0bdb39797d
4 changed files with 47 additions and 9 deletions

View File

@ -11,6 +11,7 @@ import cn.lili.modules.member.entity.enums.EvaluationGradeEnum;
import cn.lili.modules.member.service.MemberEvaluationService;
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.dto.OrderItemOperationDTO;
import cn.lili.modules.order.order.entity.enums.CommentStatusEnum;
import cn.lili.modules.order.order.entity.enums.OrderComplaintStatusEnum;
import cn.lili.modules.order.order.entity.enums.OrderItemAfterSaleStatusEnum;
@ -143,7 +144,8 @@ public class OrderEveryDayTaskExecute implements EveryDayExecute {
DateTime receiveTime = DateUtil.offsetDay(DateUtil.date(), -orderSetting.getAutoEvaluation());
//订单完成时间 <= 订单自动好评时间
List<OrderItem> orderItems = orderItemService.waitOperationOrderItem(receiveTime, CommentStatusEnum.UNFINISHED.name());
OrderItemOperationDTO orderItemOperationDTO = OrderItemOperationDTO.builder().receiveTime(receiveTime).commentStatus(CommentStatusEnum.UNFINISHED.name()).build();
List<OrderItem> orderItems = orderItemService.waitOperationOrderItem(orderItemOperationDTO);
//判断是否有符合条件的订单进行自动评价处理
if (!orderItems.isEmpty()) {
@ -183,7 +185,8 @@ public class OrderEveryDayTaskExecute implements EveryDayExecute {
DateTime receiveTime = DateUtil.offsetDay(DateUtil.date(), -orderSetting.getCloseAfterSale());
//关闭售后订单=未售后订单+小于订单关闭售后申请时间
List<OrderItem> orderItems = orderItemService.waitOperationOrderItem(receiveTime, OrderItemAfterSaleStatusEnum.NOT_APPLIED.name());
OrderItemOperationDTO build = OrderItemOperationDTO.builder().receiveTime(receiveTime).afterSaleStatus(OrderItemAfterSaleStatusEnum.NOT_APPLIED.name()).build();
List<OrderItem> orderItems = orderItemService.waitOperationOrderItem(build);
//判断是否有符合条件的订单关闭允许售后申请处理
if (!orderItems.isEmpty()) {
@ -224,7 +227,8 @@ public class OrderEveryDayTaskExecute implements EveryDayExecute {
DateTime receiveTime = DateUtil.offsetDay(DateUtil.date(), -orderSetting.getCloseComplaint());
//关闭售后订单=未售后订单+小于订单关闭售后申请时间
List<OrderItem> orderItems = orderItemService.waitOperationOrderItem(receiveTime, OrderComplaintStatusEnum.NO_APPLY.name());
OrderItemOperationDTO build = OrderItemOperationDTO.builder().receiveTime(receiveTime).complainStatus(OrderComplaintStatusEnum.NO_APPLY.name()).build();
List<OrderItem> orderItems = orderItemService.waitOperationOrderItem(build);
//判断是否有符合条件的订单关闭允许售后申请处理
if (!orderItems.isEmpty()) {

View File

@ -0,0 +1,31 @@
package cn.lili.modules.order.order.entity.dto;
import cn.hutool.core.date.DateTime;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
/**
* 订单Item操作DTO
*/
@Data
@NoArgsConstructor
@AllArgsConstructor
@Builder
public class OrderItemOperationDTO {
@ApiModelProperty(value = "订单完成时间")
DateTime receiveTime;
@ApiModelProperty(value = "订单售后状态")
String afterSaleStatus;
@ApiModelProperty(value = "订单评价状态")
String commentStatus;
@ApiModelProperty(value = "订单投诉状态")
String complainStatus;
}

View File

@ -1,7 +1,7 @@
package cn.lili.modules.order.order.service;
import cn.hutool.core.date.DateTime;
import cn.lili.modules.order.order.entity.dos.OrderItem;
import cn.lili.modules.order.order.entity.dto.OrderItemOperationDTO;
import cn.lili.modules.order.order.entity.enums.CommentStatusEnum;
import cn.lili.modules.order.order.entity.enums.OrderComplaintStatusEnum;
import cn.lili.modules.order.order.entity.enums.OrderItemAfterSaleStatusEnum;
@ -68,5 +68,5 @@ public interface OrderItemService extends IService<OrderItem> {
*/
OrderItem getByOrderSnAndSkuId(String orderSn, String skuId);
List<OrderItem> waitOperationOrderItem(DateTime receiveTime, String commentStatus);
List<OrderItem> waitOperationOrderItem(OrderItemOperationDTO orderItemOperationDTO);
}

View File

@ -1,9 +1,10 @@
package cn.lili.modules.order.order.serviceimpl;
import cn.hutool.core.date.DateTime;
import cn.hutool.core.text.CharSequenceUtil;
import cn.lili.common.enums.ResultCode;
import cn.lili.common.exception.ServiceException;
import cn.lili.modules.order.order.entity.dos.OrderItem;
import cn.lili.modules.order.order.entity.dto.OrderItemOperationDTO;
import cn.lili.modules.order.order.entity.enums.CommentStatusEnum;
import cn.lili.modules.order.order.entity.enums.OrderComplaintStatusEnum;
import cn.lili.modules.order.order.entity.enums.OrderItemAfterSaleStatusEnum;
@ -86,10 +87,12 @@ public class OrderItemServiceImpl extends ServiceImpl<OrderItemMapper, OrderItem
}
@Override
public List<OrderItem> waitOperationOrderItem(DateTime receiveTime, String commentStatus) {
public List<OrderItem> waitOperationOrderItem(OrderItemOperationDTO dto) {
QueryWrapper queryWrapper = new QueryWrapper();
queryWrapper.le("o.complete_time", receiveTime);
queryWrapper.eq("oi.comment_status", CommentStatusEnum.UNFINISHED.name());
queryWrapper.le("o.complete_time", dto.getReceiveTime());
queryWrapper.eq(CharSequenceUtil.isNotEmpty(dto.getCommentStatus()), "oi.comment_status", dto.getCommentStatus());
queryWrapper.eq(CharSequenceUtil.isNotEmpty(dto.getAfterSaleStatus()), "oi.after_sale_status", dto.getAfterSaleStatus());
queryWrapper.eq(CharSequenceUtil.isNotEmpty(dto.getComplainStatus()), "oi.complain_status", dto.getComplainStatus());
return this.baseMapper.waitOperationOrderItem(queryWrapper);
}
}