소스 검색

fix(backend): VirtualGoodsConfig.save() 重命名 saveConfig() 避免 saveOrUpdate 递归 StackOverflow

Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent)

Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
Xiaogang Liao 1 개월 전
부모
커밋
af015eafdb

+ 1 - 1
cfc-backend/src/main/java/com/etotem/cfc/controller/admin/VirtualGoodsConfigAdminController.java

@@ -36,7 +36,7 @@ public class VirtualGoodsConfigAdminController {
         if (!"admin".equals(role)) {
             return Result.error("无权限");
         }
-        return Result.success(virtualGoodsConfigService.save(config));
+        return Result.success(virtualGoodsConfigService.saveConfig(config));
     }
 
     @PostMapping("/delete")

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

@@ -34,9 +34,13 @@ public class VirtualGoodsConfigService extends ServiceImpl<VirtualGoodsConfigMap
     }
 
     /**
-     * 保存:id 为空则新增,非空则更新(saveOrUpdate 语义)
+     * 保存:id 为空则新增,非空则更新(saveOrUpdate 语义)。
+     *
+     * 注意:不要重写父类 save() 调用 saveOrUpdate() — ServiceImpl.saveOrUpdate 在
+     * 更新分支会通过反射回溯到子类的 save() 方法,导致无限递归 StackOverflowError。
+     * (参见 ServiceImpl#165 的内部调用路径)
      */
-    public boolean save(VirtualGoodsConfig config) {
+    public boolean saveConfig(VirtualGoodsConfig config) {
         return this.saveOrUpdate(config);
     }