diff --git a/src/main/java/com/aida/seller/module/listing/service/impl/ListingMallServiceImpl.java b/src/main/java/com/aida/seller/module/listing/service/impl/ListingMallServiceImpl.java index 9e9a97d..6bc5810 100644 --- a/src/main/java/com/aida/seller/module/listing/service/impl/ListingMallServiceImpl.java +++ b/src/main/java/com/aida/seller/module/listing/service/impl/ListingMallServiceImpl.java @@ -14,6 +14,7 @@ import com.aida.seller.module.listing.vo.ListingDetailVO; import com.aida.seller.module.listing.vo.ListingMallVO; import com.aida.seller.util.MinioUtil; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; @@ -143,6 +144,11 @@ public class ListingMallServiceImpl extends ServiceImpl() + .eq(ListingEntity::getId, id) + .setSql("view_count", "view_count + 1")); + List images = listingImageMapper.selectList( new LambdaQueryWrapper() .eq(ListingImageEntity::getListingId, id) diff --git a/src/main/java/com/aida/seller/module/order/mapper/OrderItemMapper.java b/src/main/java/com/aida/seller/module/order/mapper/OrderItemMapper.java index 6f521da..15b8982 100644 --- a/src/main/java/com/aida/seller/module/order/mapper/OrderItemMapper.java +++ b/src/main/java/com/aida/seller/module/order/mapper/OrderItemMapper.java @@ -15,4 +15,6 @@ public interface OrderItemMapper extends BaseMapper { List selectAssetsPage(@Param("offset") long offset, @Param("size") long size, @Param("dto") AssetsDTO dto); Long selectAssetsCount(@Param("dto") AssetsDTO dto); + + void incrementSalesVolumeByOrderIds(@Param("orderIds") List orderIds); } diff --git a/src/main/java/com/aida/seller/module/order/service/OrderServiceImpl.java b/src/main/java/com/aida/seller/module/order/service/OrderServiceImpl.java index 381f37e..e1e5c2c 100644 --- a/src/main/java/com/aida/seller/module/order/service/OrderServiceImpl.java +++ b/src/main/java/com/aida/seller/module/order/service/OrderServiceImpl.java @@ -325,6 +325,26 @@ public class OrderServiceImpl extends ServiceImpl targetOrderIds; + if (dto.getOrderIds() != null && !dto.getOrderIds().isEmpty()) { + targetOrderIds = dto.getOrderIds(); + } else if (dto.getPaymentId() != null) { + LambdaQueryWrapper qw = new LambdaQueryWrapper<>(); + qw.eq(OrderInfoEntity::getPaymentId, dto.getPaymentId()); + targetOrderIds = this.list(qw).stream() + .map(OrderInfoEntity::getId) + .collect(Collectors.toList()); + } else { + targetOrderIds = Collections.emptyList(); + } + + if (!targetOrderIds.isEmpty()) { + orderItemMapper.incrementSalesVolumeByOrderIds(targetOrderIds); + log.info("[Order] SalesVolume incremented for orderIds: {}", targetOrderIds); + } + } } } diff --git a/src/main/resources/mapper/OrderItemMapper.xml b/src/main/resources/mapper/OrderItemMapper.xml index 2c35829..c5ba755 100644 --- a/src/main/resources/mapper/OrderItemMapper.xml +++ b/src/main/resources/mapper/OrderItemMapper.xml @@ -47,4 +47,16 @@ + + UPDATE seller_listing + SET sales_volume = sales_volume + 1 + WHERE id IN ( + SELECT DISTINCT listing_id FROM seller_order_item + WHERE order_id IN + + #{id} + + ) + +