Quellcode durchsuchen

feat(style): 实现风格封面变更时同步更新模块配置功能

- 添加 TAiModuleConfigService 依赖注入
- 实现 updateById 方法覆盖父类逻辑
- 添加事务注解确保数据一致性
- 查询最新风格信息并同步更新相关模块配置
- 同步更新模块的封面图片和卡片封面图片字段
ChenYu vor 7 Monaten
Ursprung
Commit
0aa441a780
1 geänderte Dateien mit 29 neuen und 0 gelöschten Zeilen
  1. 29 0
      src/main/java/com/aitori/service/impl/TAiStyleServiceImpl.java

+ 29 - 0
src/main/java/com/aitori/service/impl/TAiStyleServiceImpl.java

@@ -1,11 +1,40 @@
 package com.aitori.service.impl;
 package com.aitori.service.impl;
 
 
+import com.aitori.entity.TAiModuleConfig;
 import com.aitori.entity.TAiStyle;
 import com.aitori.entity.TAiStyle;
 import com.aitori.mapper.TAiStyleMapper;
 import com.aitori.mapper.TAiStyleMapper;
+import com.aitori.service.TAiModuleConfigService;
 import com.aitori.service.TAiStyleService;
 import com.aitori.service.TAiStyleService;
+import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import lombok.RequiredArgsConstructor;
 import org.springframework.stereotype.Service;
 import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.Transactional;
 
 
 @Service
 @Service
+@RequiredArgsConstructor
 public class TAiStyleServiceImpl extends ServiceImpl<TAiStyleMapper, TAiStyle> implements TAiStyleService {
 public class TAiStyleServiceImpl extends ServiceImpl<TAiStyleMapper, TAiStyle> implements TAiStyleService {
+
+    private final TAiModuleConfigService moduleConfigService;
+
+    /**
+     * 风格封面变更后,同步更新所有引用该风格的模块配置封面,保证模块列表/详情与风格一致。
+     */
+    @Override
+    @Transactional(rollbackFor = Exception.class)
+    public boolean updateById(TAiStyle entity) {
+        boolean ok = super.updateById(entity);
+        if (!ok || entity.getId() == null) {
+            return ok;
+        }
+        TAiStyle latest = getById(entity.getId());
+        if (latest == null) {
+            return ok;
+        }
+        moduleConfigService.update(new LambdaUpdateWrapper<TAiModuleConfig>()
+                .eq(TAiModuleConfig::getStyleId, latest.getId())
+                .set(TAiModuleConfig::getCoverImg, latest.getCoverImg())
+                .set(TAiModuleConfig::getCardCoverImg, latest.getCardCoverImg()));
+        return ok;
+    }
 }
 }