Merge pull request #88

pg
This commit is contained in:
misworga831 2023-06-13 10:51:59 +08:00 committed by GitHub
commit b17f3c08b7
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
7 changed files with 53 additions and 18 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

@ -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<FootPrint> {
*
* @param memberId 会员ID
*/
@Transactional(rollbackFor = Exception.class)
@Delete("DELETE li_foot_print " +
"FROM li_foot_print " +
"LEFT JOIN ( " +

View File

@ -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<FootprintMapper, FootPrint
private GoodsSkuService goodsSkuService;
@Override
@Transactional(rollbackFor = Exception.class)
public FootPrint saveFootprint(FootPrint footPrint) {
LambdaQueryWrapper<FootPrint> queryWrapper = Wrappers.lambdaQuery();
queryWrapper.eq(FootPrint::getMemberId, footPrint.getMemberId());

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);
}
}

View File

@ -32,7 +32,8 @@ public interface PromotionGoodsService extends IService<PromotionGoods> {
* @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<PromotionGoods> {
/**
* 获取sku所有有效活动
*
* @param skus 商品skuId
* @param skus 商品skuId
* @return 促销商品集合
*/
List<PromotionGoods> findSkuValidPromotions(List<GoodsSkuDTO> skus);
@ -140,8 +141,8 @@ public interface PromotionGoodsService extends IService<PromotionGoods> {
/**
* 更新促销活动商品库存
*
* @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<PromotionGoods> {
/**
* 获取当前商品促销信息
*
* @param dataSku 商品sku信息
* @param dataSku 商品sku信息
* @param cartType 购物车类型
* @return 当前商品促销信息
*/