大声道撒旦

This commit is contained in:
dengqichen 2025-01-10 17:08:00 +08:00
parent 3005d8b3c7
commit 08ddb6c625
3 changed files with 17 additions and 17 deletions

View File

@ -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;
/**
* 应用实体

View File

@ -85,11 +85,6 @@ public class ApplicationServiceImpl extends BaseServiceImpl<Application, Applica
}
@Override
public void delete(Long id) {
applicationRepository.logicDeleteById(id);
}
@Override
public List<DevelopmentLanguageTypeDTO> getAllDevelopmentLanguageTypes() {
List<DevelopmentLanguageTypeDTO> result = new ArrayList<>();

View File

@ -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 <T> 实体类型
* @param <D> DTO类型
* @param <Q> 查询类型
* @param <ID> ID类型
*/
@Transactional(readOnly = true)
@Slf4j
public abstract class BaseServiceImpl<T extends Entity<ID>, D extends BaseDTO, Q extends BaseQuery, ID extends Serializable> implements IBaseService<T, D, Q, ID> {
@ -84,7 +90,15 @@ public abstract class BaseServiceImpl<T extends Entity<ID>, D extends BaseDTO, Q
@Transactional
public void delete(ID id) {
validateDatabaseOperation("delete");
repository.logicDeleteById(id);
Class<T> 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