diff --git a/backend/src/main/java/com/qqchen/deploy/backend/deploy/entity/Application.java b/backend/src/main/java/com/qqchen/deploy/backend/deploy/entity/Application.java index bf25f3e1..7916907c 100644 --- a/backend/src/main/java/com/qqchen/deploy/backend/deploy/entity/Application.java +++ b/backend/src/main/java/com/qqchen/deploy/backend/deploy/entity/Application.java @@ -1,21 +1,12 @@ package com.qqchen.deploy.backend.deploy.entity; -import com.fasterxml.jackson.annotation.JsonBackReference; import com.qqchen.deploy.backend.deploy.enums.DevelopmentLanguageTypeEnum; -import com.qqchen.deploy.backend.framework.annotation.LogicDelete; import com.qqchen.deploy.backend.framework.domain.Entity; import jakarta.persistence.Column; -import jakarta.persistence.FetchType; -import jakarta.persistence.JoinColumn; -import jakarta.persistence.ManyToOne; -import jakarta.persistence.OneToMany; import jakarta.persistence.Table; -import jakarta.validation.constraints.NotNull; import lombok.Data; import lombok.EqualsAndHashCode; -import java.util.ArrayList; -import java.util.List; /** * 应用实体 diff --git a/backend/src/main/java/com/qqchen/deploy/backend/deploy/service/impl/ApplicationServiceImpl.java b/backend/src/main/java/com/qqchen/deploy/backend/deploy/service/impl/ApplicationServiceImpl.java index 5fb64bb3..e6eb009b 100644 --- a/backend/src/main/java/com/qqchen/deploy/backend/deploy/service/impl/ApplicationServiceImpl.java +++ b/backend/src/main/java/com/qqchen/deploy/backend/deploy/service/impl/ApplicationServiceImpl.java @@ -85,11 +85,6 @@ public class ApplicationServiceImpl extends BaseServiceImpl getAllDevelopmentLanguageTypes() { List result = new ArrayList<>(); diff --git a/backend/src/main/java/com/qqchen/deploy/backend/framework/service/impl/BaseServiceImpl.java b/backend/src/main/java/com/qqchen/deploy/backend/framework/service/impl/BaseServiceImpl.java index a7396c46..1c75d4d5 100644 --- a/backend/src/main/java/com/qqchen/deploy/backend/framework/service/impl/BaseServiceImpl.java +++ b/backend/src/main/java/com/qqchen/deploy/backend/framework/service/impl/BaseServiceImpl.java @@ -43,10 +43,16 @@ import jakarta.persistence.PersistenceContext; import java.io.Serializable; import java.lang.reflect.Field; - import com.qqchen.deploy.backend.framework.annotation.ServiceType; - +/** + * 基础服务实现类 + * + * @param 实体类型 + * @param DTO类型 + * @param 查询类型 + * @param ID类型 + */ @Transactional(readOnly = true) @Slf4j public abstract class BaseServiceImpl, D extends BaseDTO, Q extends BaseQuery, ID extends Serializable> implements IBaseService { @@ -84,7 +90,15 @@ public abstract class BaseServiceImpl, D extends BaseDTO, Q @Transactional public void delete(ID id) { validateDatabaseOperation("delete"); - repository.logicDeleteById(id); + Class entityClass = getEntityClass(); + LogicDelete logicDelete = entityClass.getAnnotation(LogicDelete.class); + if (logicDelete != null && logicDelete.value()) { + // 有LogicDelete注解且value为true,执行逻辑删除 + repository.logicDeleteById(id); + } else { + // 无LogicDelete注解或value为false,执行物理删除 + repository.deleteById(id); + } } @Override