Просмотр исходного кода

refactor(cf): 清理遗留项(未用注入/静默catch/Set去重/UUID导入/参数校验/Javadoc)

Sisyphus 2 недель назад
Родитель
Сommit
cd3bd39463

+ 0 - 3
cfc-backend/src/main/java/com/etotem/cfc/controller/CfCommissionController.java

@@ -6,7 +6,6 @@ import com.etotem.cfc.entity.CfRateTier;
 import com.etotem.cfc.entity.PlatformBalanceLog;
 import com.etotem.cfc.service.CfReferralService;
 import com.etotem.cfc.service.PlatformPointsService;
-import com.etotem.cfc.service.PromotionTierService;
 import org.springframework.web.bind.annotation.PostMapping;
 import org.springframework.web.bind.annotation.RequestAttribute;
 import org.springframework.web.bind.annotation.RequestBody;
@@ -25,8 +24,6 @@ public class CfCommissionController {
     private CfReferralService cfReferralService;
     @Resource
     private PlatformPointsService platformPointsService;
-    @Resource
-    private PromotionTierService promotionTierService;
 
     /** 我的团队规模 + 当前返佣比例 + 档位名 */
     @PostMapping("/rate")

+ 9 - 3
cfc-backend/src/main/java/com/etotem/cfc/controller/CfTransferController.java

@@ -18,6 +18,7 @@ import org.springframework.web.bind.annotation.RestController;
 import javax.annotation.Resource;
 import java.util.Date;
 import java.util.Map;
+import java.util.UUID;
 
 @RestController
 @RequestMapping("/api/cf/transfer")
@@ -35,8 +36,13 @@ public class CfTransferController {
     @Transactional
     public Result<String> send(@RequestAttribute("userId") Long fromUserId,
                                @RequestBody Map<String, Object> params) {
-        Long toUserId = ((Number) params.get("toUserId")).longValue();
-        int amount = ((Number) params.get("amount")).intValue();
+        Object toObj = params.get("toUserId");
+        Object amtObj = params.get("amount");
+        if (toObj == null || amtObj == null) {
+            return Result.error("参数不完整");
+        }
+        Long toUserId = ((Number) toObj).longValue();
+        int amount = ((Number) amtObj).intValue();
         if (amount <= 0) {
             return Result.error("CF值必须为正数");
         }
@@ -49,7 +55,7 @@ public class CfTransferController {
             return Result.error("仅限同一家庭成员间转让");
         }
         // 每次转让使用唯一 refId(避免 earn 幂等键 (ref_type, ref_id) 碰撞)
-        Long transferRefId = java.util.UUID.randomUUID().getMostSignificantBits();
+        Long transferRefId = UUID.randomUUID().getMostSignificantBits();
         if (transferRefId == null || transferRefId == 0) transferRefId = System.currentTimeMillis();
         // 转出扣减 + 转入增加(同一事务)
         platformPointsService.spend(fromUserId, amount, "cf_transfer_out", transferRefId,

+ 0 - 4
cfc-backend/src/main/java/com/etotem/cfc/service/AssessmentOrderService.java

@@ -11,7 +11,6 @@ import com.etotem.cfc.entity.User;
 import com.etotem.cfc.mapper.AssessmentOrderMapper;
 import com.etotem.cfc.mapper.AssessmentAppointmentMapper;
 import com.etotem.cfc.mapper.UserMapper;
-import com.etotem.cfc.service.CommissionService;
 import org.springframework.stereotype.Service;
 
 import javax.annotation.Resource;
@@ -32,9 +31,6 @@ public class AssessmentOrderService extends ServiceImpl<AssessmentOrderMapper, A
     @Resource
     private AssessmentAppointmentMapper assessmentAppointmentMapper;
 
-    @Resource
-    private CommissionService commissionService;
-
     @Resource
     private CfCommissionService cfCommissionService;
 

+ 10 - 3
cfc-backend/src/main/java/com/etotem/cfc/service/CfCommissionService.java

@@ -16,9 +16,10 @@ import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
 
 import javax.annotation.Resource;
-import java.util.ArrayList;
 import java.util.Date;
+import java.util.HashSet;
 import java.util.List;
+import java.util.Set;
 
 /**
  * 统一 CF 值分佣服务。
@@ -96,6 +97,7 @@ public class CfCommissionService {
                 int shareBps = getSysBps("product_platform_points_share", 1000);
                 return amountYuan * effectivePpoint / 100 * shareBps / 10000;
             } catch (Exception e) {
+                log.warn("计算当前人返CF失败: productId={}, err={}", productId, e.getMessage());
                 return 0;
             }
         }
@@ -118,7 +120,7 @@ public class CfCommissionService {
                         .orderByAsc(ReferralTree::getLevel));
         if (referrals == null || referrals.isEmpty()) return;
 
-        List<Long> processed = new ArrayList<>();
+        Set<Long> processed = new HashSet<>();
         for (ReferralTree ref : referrals) {
             Long referrerId = ref.getParentId();
             if (processed.contains(referrerId)) continue;
@@ -159,6 +161,7 @@ public class CfCommissionService {
                 if (p == null) return 0;
                 return ppointConfigService.getEffectivePpoint(productId, p.getCategoryId());
             } catch (Exception e) {
+                log.warn("计算推荐人分润基数失败: productId={}, err={}", productId, e.getMessage());
                 return 0;
             }
         }
@@ -188,6 +191,10 @@ public class CfCommissionService {
         r.setRefId(refId);
         r.setRemark(remark);
         r.setCreatedAt(new Date());
-        try { cfTransferRecordMapper.insert(r); } catch (Exception e) { log.warn("写流转记录失败: {}", e.getMessage()); }
+        try {
+            cfTransferRecordMapper.insert(r);
+        } catch (Exception e) {
+            log.warn("写流转记录失败: {}", e.getMessage());
+        }
     }
 }

+ 2 - 2
cfc-backend/src/main/java/com/etotem/cfc/service/CfReferralService.java

@@ -29,7 +29,7 @@ public class CfReferralService {
     private CfRateTierMapper cfRateTierMapper;
 
     /**
-     * 绑定推荐关系时物化整条祖先链(含本人 L1)到 referral_tree。
+     * 绑定推荐关系时物化整条祖先链(不含本人,直接推荐人为 level 1)到 referral_tree。
      * 调用方:CommissionService.bindReferral() 设置 user.referrerId 之后。
      */
     @Transactional
@@ -75,7 +75,7 @@ public class CfReferralService {
 
     /**
      * 按团队规模匹配阶梯比例:cf_rate_tier WHERE enabled=1 AND min_team_size <= size ORDER BY min_team_size DESC LIMIT 1
-     * 无匹配返回 0
+     * 无匹配返回 null
      */
     public CfRateTier matchRateTier(int teamSize) {
         List<CfRateTier> tiers = cfRateTierMapper.selectList(

+ 0 - 3
cfc-backend/src/main/java/com/etotem/cfc/service/MemberSubscriptionService.java

@@ -31,9 +31,6 @@ public class MemberSubscriptionService {
     @Resource
     private FamilyMapper familyMapper;
 
-    @Resource
-    private CommissionService commissionService;
-
     @Resource
     private CfCommissionService cfCommissionService;
 

+ 0 - 3
cfc-backend/src/main/java/com/etotem/cfc/service/MembershipService.java

@@ -42,9 +42,6 @@ public class MembershipService implements MembershipServiceInterface {
     @Resource
     private PaymentOrderMapper paymentOrderMapper;
 
-    @Resource
-    private CommissionService commissionService;
-
     @Resource
     private CfCommissionService cfCommissionService;
 

+ 0 - 4
cfc-backend/src/main/java/com/etotem/cfc/service/ProductOrderService.java

@@ -32,7 +32,6 @@ import com.etotem.cfc.entity.ProductBundleItem;
 import com.etotem.cfc.entity.ProductSku;
 import com.etotem.cfc.mapper.ProductBundleItemMapper;
 import com.etotem.cfc.service.ProductSkuService;
-import com.etotem.cfc.service.CommissionService;
 import com.etotem.cfc.service.AssessmentProductService;
 import com.etotem.cfc.service.AssessmentQuotaService;
 import org.springframework.stereotype.Service;
@@ -82,9 +81,6 @@ public class ProductOrderService {
     @Resource
     private ProductBundleItemMapper bundleItemMapper;
 
-    @Resource
-    private CommissionService commissionService;
-
     @Resource
     private CfCommissionService cfCommissionService;