소스 검색

优惠券功能BUG

lutong 2 일 전
부모
커밋
4b46b74b30

+ 1 - 1
alien-entity/src/main/java/shop/alien/entity/store/vo/LifeDiscountCouponVo.java

@@ -54,7 +54,7 @@ public class LifeDiscountCouponVo {
     @ApiModelProperty(value = "已领取数量")
     private Integer quantityClaimed;
 
-    @ApiModelProperty(value = "好友赠券场景下,本店铺当前可支配数量(life_discount_coupon_store_friend.single_qty 按本店账号汇总)")
+    @ApiModelProperty(value = "好友赠券场景下,本店作为送出方已向好友发放的合计张数(life_discount_coupon_store_friend.single_qty;friend_store_user_id 归属本店、release_type=1)")
     private Integer ownedQuantity;
 
     @ApiModelProperty(value = "券名称")

+ 1 - 1
alien-store/src/main/java/shop/alien/store/controller/LifeDiscountCouponController.java

@@ -114,7 +114,7 @@ public class LifeDiscountCouponController {
         return R.success("切换成功");
     }
 
-    @ApiOperation("获取优惠券详情(含好友赠券本店铺拥有数量)")
+    @ApiOperation("获取优惠券详情(含好友赠券本店铺已送出数量)")
     @ApiOperationSupport(order = 55)
     @GetMapping("/getCouponDetailWithOwnedQty")
     @ApiImplicitParams({

+ 2 - 1
alien-store/src/main/java/shop/alien/store/service/LifeDiscountCouponService.java

@@ -52,7 +52,8 @@ public interface LifeDiscountCouponService extends IService<LifeDiscountCoupon>
     LifeDiscountCouponVo getCounponDetailById(String counponId, UserLoginInfo userLoginInfo);
 
     /**
-     * 优惠券详情 + 好友赠券场景下本店铺拥有数量(store_info.id 下所有 store_user 在赠券表中 single_qty 之和,仅统计已发布 release_type=1)
+     * 优惠券详情 + 好友赠券场景下本店铺作为送出方已向好友发放的合计数量(release_type=1):
+     * 对 life_discount_coupon_store_friend 中 friend_store_user_id 为本店任一 store_user.id 的记录,汇总 single_qty。
      *
      * @param couponId 优惠券主键 life_discount_coupon.id
      * @param storeId  店铺 id(store_info.id)

+ 5 - 3
alien-store/src/main/java/shop/alien/store/service/impl/LifeDiscountCouponServiceImpl.java

@@ -451,21 +451,23 @@ public class LifeDiscountCouponServiceImpl extends ServiceImpl<LifeDiscountCoupo
 
         LifeDiscountCouponVo vo = getCounponDetailById(String.valueOf(couponIdInt), null);
 
+        // ownedQuantity:本店(storeId=store_info.id)作为发放方已向好友送出的合计张数。
+        // 关系表语义:store_user_id=接收方店员 store_user.id,friend_store_user_id=送出方店员 store_user.id。
         int owned = 0;
         List<StoreUser> storeUsers = storeUserMapper.selectList(new LambdaQueryWrapper<StoreUser>()
                 .eq(StoreUser::getStoreId, storeIdInt)
                 .eq(StoreUser::getDeleteFlag, 0));
         if (CollectionUtils.isNotEmpty(storeUsers)) {
-            List<Integer> userIds = storeUsers.stream()
+            List<Integer> senderStoreUserIds = storeUsers.stream()
                     .map(StoreUser::getId)
                     .filter(Objects::nonNull)
                     .distinct()
                     .collect(Collectors.toList());
-            if (CollectionUtils.isNotEmpty(userIds)) {
+            if (CollectionUtils.isNotEmpty(senderStoreUserIds)) {
                 List<LifeDiscountCouponStoreFriend> rows = lifeDiscountCouponStoreFriendMapper.selectList(
                         new LambdaQueryWrapper<LifeDiscountCouponStoreFriend>()
                                 .eq(LifeDiscountCouponStoreFriend::getCouponId, couponIdInt)
-                                .in(LifeDiscountCouponStoreFriend::getStoreUserId, userIds)
+                                .in(LifeDiscountCouponStoreFriend::getFriendStoreUserId, senderStoreUserIds)
                                 .eq(LifeDiscountCouponStoreFriend::getReleaseType, 1));
                 for (LifeDiscountCouponStoreFriend row : rows) {
                     if (row.getSingleQty() != null) {