diff --git a/consumer/src/main/java/cn/lili/timetask/handler/impl/order/OrderEveryDayTaskExecute.java b/consumer/src/main/java/cn/lili/timetask/handler/impl/order/OrderEveryDayTaskExecute.java index 12bc0491..5e7b481b 100644 --- a/consumer/src/main/java/cn/lili/timetask/handler/impl/order/OrderEveryDayTaskExecute.java +++ b/consumer/src/main/java/cn/lili/timetask/handler/impl/order/OrderEveryDayTaskExecute.java @@ -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 orderItems = orderItemService.waitOperationOrderItem(receiveTime, CommentStatusEnum.UNFINISHED.name()); + OrderItemOperationDTO orderItemOperationDTO = OrderItemOperationDTO.builder().receiveTime(receiveTime).commentStatus(CommentStatusEnum.UNFINISHED.name()).build(); + List 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 orderItems = orderItemService.waitOperationOrderItem(receiveTime, OrderItemAfterSaleStatusEnum.NOT_APPLIED.name()); + OrderItemOperationDTO build = OrderItemOperationDTO.builder().receiveTime(receiveTime).afterSaleStatus(OrderItemAfterSaleStatusEnum.NOT_APPLIED.name()).build(); + List 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 orderItems = orderItemService.waitOperationOrderItem(receiveTime, OrderComplaintStatusEnum.NO_APPLY.name()); + OrderItemOperationDTO build = OrderItemOperationDTO.builder().receiveTime(receiveTime).complainStatus(OrderComplaintStatusEnum.NO_APPLY.name()).build(); + List orderItems = orderItemService.waitOperationOrderItem(build); //判断是否有符合条件的订单,关闭允许售后申请处理 if (!orderItems.isEmpty()) { diff --git a/framework/src/main/java/cn/lili/modules/member/mapper/FootprintMapper.java b/framework/src/main/java/cn/lili/modules/member/mapper/FootprintMapper.java index 3933ebb6..f1897f4b 100644 --- a/framework/src/main/java/cn/lili/modules/member/mapper/FootprintMapper.java +++ b/framework/src/main/java/cn/lili/modules/member/mapper/FootprintMapper.java @@ -3,7 +3,6 @@ package cn.lili.modules.member.mapper; import cn.lili.modules.member.entity.dos.FootPrint; import com.baomidou.mybatisplus.core.mapper.BaseMapper; import org.apache.ibatis.annotations.Delete; -import org.springframework.transaction.annotation.Transactional; /** * 浏览历史数据处理层 @@ -17,7 +16,6 @@ public interface FootprintMapper extends BaseMapper { * * @param memberId 会员ID */ - @Transactional(rollbackFor = Exception.class) @Delete("DELETE li_foot_print " + "FROM li_foot_print " + "LEFT JOIN ( " + diff --git a/framework/src/main/java/cn/lili/modules/member/serviceimpl/FootprintServiceImpl.java b/framework/src/main/java/cn/lili/modules/member/serviceimpl/FootprintServiceImpl.java index b8110c7c..a0eb0bde 100644 --- a/framework/src/main/java/cn/lili/modules/member/serviceimpl/FootprintServiceImpl.java +++ b/framework/src/main/java/cn/lili/modules/member/serviceimpl/FootprintServiceImpl.java @@ -16,7 +16,6 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; -import org.springframework.transaction.annotation.Transactional; import java.util.Date; import java.util.List; @@ -39,7 +38,6 @@ public class FootprintServiceImpl extends ServiceImpl queryWrapper = Wrappers.lambdaQuery(); queryWrapper.eq(FootPrint::getMemberId, footPrint.getMemberId()); diff --git a/framework/src/main/java/cn/lili/modules/order/order/entity/dto/OrderItemOperationDTO.java b/framework/src/main/java/cn/lili/modules/order/order/entity/dto/OrderItemOperationDTO.java new file mode 100644 index 00000000..80d5ffc7 --- /dev/null +++ b/framework/src/main/java/cn/lili/modules/order/order/entity/dto/OrderItemOperationDTO.java @@ -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; + +} diff --git a/framework/src/main/java/cn/lili/modules/order/order/service/OrderItemService.java b/framework/src/main/java/cn/lili/modules/order/order/service/OrderItemService.java index 7b08ca50..c40a2d84 100644 --- a/framework/src/main/java/cn/lili/modules/order/order/service/OrderItemService.java +++ b/framework/src/main/java/cn/lili/modules/order/order/service/OrderItemService.java @@ -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 getByOrderSnAndSkuId(String orderSn, String skuId); - List waitOperationOrderItem(DateTime receiveTime, String commentStatus); + List waitOperationOrderItem(OrderItemOperationDTO orderItemOperationDTO); } \ No newline at end of file diff --git a/framework/src/main/java/cn/lili/modules/order/order/serviceimpl/OrderItemServiceImpl.java b/framework/src/main/java/cn/lili/modules/order/order/serviceimpl/OrderItemServiceImpl.java index b90a55fc..bc03843b 100644 --- a/framework/src/main/java/cn/lili/modules/order/order/serviceimpl/OrderItemServiceImpl.java +++ b/framework/src/main/java/cn/lili/modules/order/order/serviceimpl/OrderItemServiceImpl.java @@ -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 waitOperationOrderItem(DateTime receiveTime, String commentStatus) { + public List 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); } } \ No newline at end of file diff --git a/framework/src/main/java/cn/lili/modules/promotion/service/PromotionGoodsService.java b/framework/src/main/java/cn/lili/modules/promotion/service/PromotionGoodsService.java index a53d9d7e..33f6d57c 100644 --- a/framework/src/main/java/cn/lili/modules/promotion/service/PromotionGoodsService.java +++ b/framework/src/main/java/cn/lili/modules/promotion/service/PromotionGoodsService.java @@ -32,7 +32,8 @@ public interface PromotionGoodsService extends IService { * @return 缓存商品库存key */ static String getPromotionGoodsStockCacheKey(PromotionTypeEnum typeEnum, String promotionId, String skuId) { - return "{" + CachePrefix.PROMOTION_GOODS_STOCK.name() + "_" + typeEnum.name() + "}_" + promotionId + "_" + skuId; + //ps: 2023-06-09 促销商品库存与普通商品库存不在同一槽内,会导致库存扣减lua脚本无法执行 + return CachePrefix.SKU_STOCK.getPrefix() + "_" + typeEnum.name() + "_" + promotionId + "_" + skuId; } /** @@ -48,7 +49,7 @@ public interface PromotionGoodsService extends IService { /** * 获取sku所有有效活动 * - * @param skus 商品skuId + * @param skus 商品skuId * @return 促销商品集合 */ List findSkuValidPromotions(List skus); @@ -140,8 +141,8 @@ public interface PromotionGoodsService extends IService { /** * 更新促销活动商品库存 * - * @param skuId 商品skuId - * @param quantity 库存 + * @param skuId 商品skuId + * @param quantity 库存 */ void updatePromotionGoodsStock(String skuId, Integer quantity); @@ -184,7 +185,7 @@ public interface PromotionGoodsService extends IService { /** * 获取当前商品促销信息 * - * @param dataSku 商品sku信息 + * @param dataSku 商品sku信息 * @param cartType 购物车类型 * @return 当前商品促销信息 */