售后关闭功能同步
This commit is contained in:
parent
f0a80338da
commit
a53eb3cfde
@ -183,7 +183,6 @@ public class OrderEveryDayTaskExecute implements EveryDayExecute {
|
|||||||
}
|
}
|
||||||
//订单关闭售后申请时间 = 当前时间 - 自动关闭售后申请天数
|
//订单关闭售后申请时间 = 当前时间 - 自动关闭售后申请天数
|
||||||
DateTime receiveTime = DateUtil.offsetDay(DateUtil.date(), -orderSetting.getCloseAfterSale());
|
DateTime receiveTime = DateUtil.offsetDay(DateUtil.date(), -orderSetting.getCloseAfterSale());
|
||||||
|
|
||||||
//关闭售后订单=未售后订单+小于订单关闭售后申请时间
|
//关闭售后订单=未售后订单+小于订单关闭售后申请时间
|
||||||
OrderItemOperationDTO build = OrderItemOperationDTO.builder().receiveTime(receiveTime).afterSaleStatus(OrderItemAfterSaleStatusEnum.NOT_APPLIED.name()).build();
|
OrderItemOperationDTO build = OrderItemOperationDTO.builder().receiveTime(receiveTime).afterSaleStatus(OrderItemAfterSaleStatusEnum.NOT_APPLIED.name()).build();
|
||||||
List<OrderItem> orderItems = orderItemService.waitOperationOrderItem(build);
|
List<OrderItem> orderItems = orderItemService.waitOperationOrderItem(build);
|
||||||
@ -199,6 +198,7 @@ public class OrderEveryDayTaskExecute implements EveryDayExecute {
|
|||||||
.set(OrderItem::getAfterSaleStatus, OrderItemAfterSaleStatusEnum.EXPIRED.name())
|
.set(OrderItem::getAfterSaleStatus, OrderItemAfterSaleStatusEnum.EXPIRED.name())
|
||||||
.in(OrderItem::getId, orderItemIdList);
|
.in(OrderItem::getId, orderItemIdList);
|
||||||
orderItemService.update(lambdaUpdateWrapper);
|
orderItemService.update(lambdaUpdateWrapper);
|
||||||
|
orderItemService.expiredAfterSaleStatusExecuteByAfterSale(receiveTime);
|
||||||
//修改订售后状态
|
//修改订售后状态
|
||||||
List<OrderItem> orderItemsList = orderItems.stream()
|
List<OrderItem> orderItemsList = orderItems.stream()
|
||||||
.map((orderItem) -> {
|
.map((orderItem) -> {
|
||||||
|
@ -1,5 +1,6 @@
|
|||||||
package cn.lili.modules.order.order.mapper;
|
package cn.lili.modules.order.order.mapper;
|
||||||
|
|
||||||
|
import cn.hutool.core.date.DateTime;
|
||||||
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.vo.OrderSimpleVO;
|
import cn.lili.modules.order.order.entity.vo.OrderSimpleVO;
|
||||||
import com.baomidou.mybatisplus.core.conditions.Wrapper;
|
import com.baomidou.mybatisplus.core.conditions.Wrapper;
|
||||||
@ -7,6 +8,7 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
|||||||
import com.baomidou.mybatisplus.core.toolkit.Constants;
|
import com.baomidou.mybatisplus.core.toolkit.Constants;
|
||||||
import org.apache.ibatis.annotations.Param;
|
import org.apache.ibatis.annotations.Param;
|
||||||
import org.apache.ibatis.annotations.Select;
|
import org.apache.ibatis.annotations.Select;
|
||||||
|
import org.apache.ibatis.annotations.Update;
|
||||||
|
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
@ -26,4 +28,19 @@ public interface OrderItemMapper extends BaseMapper<OrderItem> {
|
|||||||
*/
|
*/
|
||||||
@Select("SELECT * FROM li_order_item AS oi INNER JOIN li_order AS o ON oi.order_sn=o.sn ${ew.customSqlSegment}")
|
@Select("SELECT * FROM li_order_item AS oi INNER JOIN li_order AS o ON oi.order_sn=o.sn ${ew.customSqlSegment}")
|
||||||
List<OrderItem> waitOperationOrderItem(@Param(Constants.WRAPPER) Wrapper<OrderSimpleVO> queryWrapper);
|
List<OrderItem> waitOperationOrderItem(@Param(Constants.WRAPPER) Wrapper<OrderSimpleVO> queryWrapper);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 检查售后表,根据售后表中的业务判定是否需要更新售后状态
|
||||||
|
*
|
||||||
|
* @param expiredTime 过期时间
|
||||||
|
*/
|
||||||
|
@Update(" UPDATE li_order_item AS oi " +
|
||||||
|
"INNER JOIN li_order AS o ON oi.order_sn = o.sn " +
|
||||||
|
"INNER JOIN li_after_sale AS af ON af.order_item_sn = oi.sn " +
|
||||||
|
"SET oi.after_sale_status = 'EXPIRED' " +
|
||||||
|
"WHERE " +
|
||||||
|
"oi.after_sale_status in ('ALREADY_APPLIED','PART_AFTER_SALE') " +
|
||||||
|
"AND af.service_status in ('COMPLETE','REFUSE','SELLER_TERMINATION','BUYER_CANCEL') " +
|
||||||
|
"AND o.complete_time < #{expiredTime} ")
|
||||||
|
void expiredAfterSaleStatusExecuteByAfterSale(DateTime expiredTime);
|
||||||
}
|
}
|
@ -1,5 +1,6 @@
|
|||||||
package cn.lili.modules.order.order.service;
|
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.dos.OrderItem;
|
||||||
import cn.lili.modules.order.order.entity.dto.OrderItemOperationDTO;
|
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.CommentStatusEnum;
|
||||||
@ -75,4 +76,6 @@ public interface OrderItemService extends IService<OrderItem> {
|
|||||||
OrderItem getByOrderSnAndSkuId(String orderSn, String skuId);
|
OrderItem getByOrderSnAndSkuId(String orderSn, String skuId);
|
||||||
|
|
||||||
List<OrderItem> waitOperationOrderItem(OrderItemOperationDTO orderItemOperationDTO);
|
List<OrderItem> waitOperationOrderItem(OrderItemOperationDTO orderItemOperationDTO);
|
||||||
|
|
||||||
|
void expiredAfterSaleStatusExecuteByAfterSale(DateTime receiveTime);
|
||||||
}
|
}
|
@ -1,5 +1,6 @@
|
|||||||
package cn.lili.modules.order.order.serviceimpl;
|
package cn.lili.modules.order.order.serviceimpl;
|
||||||
|
|
||||||
|
import cn.hutool.core.date.DateTime;
|
||||||
import cn.hutool.core.text.CharSequenceUtil;
|
import cn.hutool.core.text.CharSequenceUtil;
|
||||||
import cn.lili.common.enums.ResultCode;
|
import cn.lili.common.enums.ResultCode;
|
||||||
import cn.lili.common.exception.ServiceException;
|
import cn.lili.common.exception.ServiceException;
|
||||||
@ -104,4 +105,9 @@ public class OrderItemServiceImpl extends ServiceImpl<OrderItemMapper, OrderItem
|
|||||||
queryWrapper.eq(CharSequenceUtil.isNotEmpty(dto.getComplainStatus()), "oi.complain_status", dto.getComplainStatus());
|
queryWrapper.eq(CharSequenceUtil.isNotEmpty(dto.getComplainStatus()), "oi.complain_status", dto.getComplainStatus());
|
||||||
return this.baseMapper.waitOperationOrderItem(queryWrapper);
|
return this.baseMapper.waitOperationOrderItem(queryWrapper);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void expiredAfterSaleStatusExecuteByAfterSale(DateTime receiveTime) {
|
||||||
|
this.baseMapper.expiredAfterSaleStatusExecuteByAfterSale(receiveTime);
|
||||||
|
}
|
||||||
}
|
}
|
Loading…
x
Reference in New Issue
Block a user