diff --git a/gringotts-frontend/components/constants.js b/gringotts-frontend/components/constants.js index 4945354..dc594ce 100644 --- a/gringotts-frontend/components/constants.js +++ b/gringotts-frontend/components/constants.js @@ -1,5 +1,5 @@ export const information = { - debug: false, + debug: true, // baseUrl: '', baseUrl: 'http://127.0.0.1:20080', title: '可信供给中心', diff --git a/gringotts-web/src/main/java/com/eshore/gringotts/web/domain/base/controller/LogicDeleteController.java b/gringotts-web/src/main/java/com/eshore/gringotts/web/domain/base/controller/LogicDeleteController.java new file mode 100644 index 0000000..868e2d9 --- /dev/null +++ b/gringotts-web/src/main/java/com/eshore/gringotts/web/domain/base/controller/LogicDeleteController.java @@ -0,0 +1,50 @@ +package com.eshore.gringotts.web.domain.base.controller; + +import cn.hutool.core.util.ObjectUtil; +import com.eshore.gringotts.web.configuration.amis.AmisResponse; +import com.eshore.gringotts.web.domain.base.controller.query.Query; +import com.eshore.gringotts.web.domain.base.entity.LogicDeleteEntity; +import com.eshore.gringotts.web.domain.base.service.LogicDeleteService; +import org.eclipse.collections.api.factory.Lists; +import org.eclipse.collections.api.list.ImmutableList; +import org.springframework.web.bind.annotation.PathVariable; + +/** + * @author wn + * @version 20241218 + */ +public abstract class LogicDeleteController extends SimpleControllerSupport { + public LogicDeleteController(LogicDeleteService service) { + super(service); + } + + @Override + public AmisResponse> list() throws Exception { + return AmisResponse.responseSuccess(((LogicDeleteService) service).listLogicDelete().collect(entity -> { + try { + return toListItem(entity); + } catch (Exception e) { + throw new RuntimeException(e); + } + })); + } + + @Override + public AmisResponse> list(Query query) throws Exception { + if (ObjectUtil.isNull(query)) { + return AmisResponse.responseSuccess(Lists.immutable.empty()); + } + return AmisResponse.responseSuccess(((LogicDeleteService) service).listLogicDelete(query).collect(entity -> { + try { + return toListItem(entity); + } catch (Exception e) { + throw new RuntimeException(e); + } + })); + } + + @Override + public AmisResponse detail(@PathVariable Long id) throws Exception { + return AmisResponse.responseSuccess(toDetailItem(((LogicDeleteService) service).detailLogicDeleteOrThrow(id))); + } +} diff --git a/gringotts-web/src/main/java/com/eshore/gringotts/web/domain/base/controller/SimpleControllerSupport.java b/gringotts-web/src/main/java/com/eshore/gringotts/web/domain/base/controller/SimpleControllerSupport.java index e088b84..fb79b0c 100644 --- a/gringotts-web/src/main/java/com/eshore/gringotts/web/domain/base/controller/SimpleControllerSupport.java +++ b/gringotts-web/src/main/java/com/eshore/gringotts/web/domain/base/controller/SimpleControllerSupport.java @@ -24,7 +24,7 @@ public abstract class SimpleControllerSupport service; + protected final SimpleServiceSupport service; public SimpleControllerSupport(SimpleServiceSupport service) { this.service = service; diff --git a/gringotts-web/src/main/java/com/eshore/gringotts/web/domain/base/service/LogicDeleteService.java b/gringotts-web/src/main/java/com/eshore/gringotts/web/domain/base/service/LogicDeleteService.java index 7e5d22e..8cc07a8 100644 --- a/gringotts-web/src/main/java/com/eshore/gringotts/web/domain/base/service/LogicDeleteService.java +++ b/gringotts-web/src/main/java/com/eshore/gringotts/web/domain/base/service/LogicDeleteService.java @@ -1,10 +1,14 @@ package com.eshore.gringotts.web.domain.base.service; import cn.hutool.core.util.ClassUtil; +import cn.hutool.core.util.ObjectUtil; import cn.hutool.core.util.StrUtil; +import com.eshore.gringotts.web.domain.base.entity.IdOnlyEntity_; import com.eshore.gringotts.web.domain.base.entity.LogicDeleteEntity; +import com.eshore.gringotts.web.domain.base.entity.SimpleEntity_; import com.eshore.gringotts.web.domain.base.repository.SimpleRepository; import com.eshore.gringotts.web.domain.service.UserService; +import java.util.Optional; import javax.persistence.EntityManager; import javax.persistence.Query; import javax.persistence.criteria.CriteriaBuilder; @@ -13,7 +17,11 @@ import javax.persistence.criteria.Predicate; import javax.persistence.criteria.Root; import javax.transaction.Transactional; import lombok.extern.slf4j.Slf4j; +import org.eclipse.collections.api.factory.Lists; import org.eclipse.collections.api.list.ImmutableList; +import org.eclipse.collections.api.list.MutableList; +import org.eclipse.collections.api.set.ImmutableSet; +import org.springframework.data.domain.Sort; /** * @author lanyuanxiaoyao @@ -28,16 +36,72 @@ public abstract class LogicDeleteService exten this.manager = manager; } - @Override - protected ImmutableList listPredicate(Root root, CriteriaQuery query, CriteriaBuilder builder) { + protected ImmutableList logicDeletePredicate(Root root, CriteriaQuery query, CriteriaBuilder builder) { return super.listPredicate(root, query, builder).newWith(builder.equal(root.get("deleted"), false)); } + public ImmutableList listLogicDelete() throws Exception { + return Lists.immutable.ofAll(repository.findAll( + (root, query, builder) -> + builder.and( + logicDeletePredicate(root, query, builder) + .reject(ObjectUtil::isNull) + .toArray(new Predicate[]{}) + ) + )); + } + + public ImmutableList listLogicDelete(ImmutableSet ids) throws Exception { + return Lists.immutable.ofAll(repository.findAll( + (root, query, builder) -> { + MutableList predicates = Lists.mutable.ofAll(logicDeletePredicate(root, query, builder)); + predicates.add(builder.in(root.get("id")).value(ids)); + return builder.and(predicates.reject(ObjectUtil::isNull).toArray(new Predicate[predicates.size()])); + } + )); + } + + public ImmutableList listLogicDelete(com.eshore.gringotts.web.domain.base.controller.query.Query listQuery) throws Exception { + return Lists.immutable.ofAll(repository.findAll( + (root, query, builder) -> { + MutableList predicates = Lists.mutable.ofAll(logicDeletePredicate(root, query, builder)); + predicates.addAllIterable(queryPredicates(listQuery.getQuery(), root, query, builder)); + return builder.and(predicates.reject(ObjectUtil::isNull).toArray(new Predicate[predicates.size()])); + }, + Sort.by(SimpleEntity_.CREATED_TIME).descending() + )); + } + + public Optional detailLogicDeleteOptional(Long id) { + if (ObjectUtil.isNull(id)) { + return Optional.empty(); + } + return repository.findOne( + (root, query, builder) -> { + MutableList predicates = Lists.mutable.ofAll(logicDeletePredicate(root, query, builder)); + predicates.add(builder.equal(root.get(IdOnlyEntity_.id), id)); + return builder.and(predicates.reject(ObjectUtil::isNull).toArray(new Predicate[predicates.size()])); + } + ); + } + + public ENTITY detailLogicDelete(Long id) { + return detailLogicDeleteOrNull(id); + } + + public ENTITY detailLogicDeleteOrThrow(Long id) { + return detailLogicDeleteOptional(id).orElseThrow(() -> new IdNotFoundException(id)); + } + + public ENTITY detailLogicDeleteOrNull(Long id) { + return detailLogicDeleteOptional(id).orElse(null); + } + @Transactional(rollbackOn = Throwable.class) @Override public void remove(Long id) { String entityName = ClassUtil.getTypeArgument(this.getClass()).getSimpleName(); - Query query = manager.createQuery(StrUtil.format("update {} entity set deleted=true where id=?1", entityName)); + Query query = manager.createQuery(StrUtil.format("update {} entity set entity.deleted = true where id = ?1", entityName)); query.setParameter(1, id); query.executeUpdate(); } diff --git a/gringotts-web/src/main/java/com/eshore/gringotts/web/domain/base/service/SimpleService.java b/gringotts-web/src/main/java/com/eshore/gringotts/web/domain/base/service/SimpleService.java index 03e1851..942770f 100644 --- a/gringotts-web/src/main/java/com/eshore/gringotts/web/domain/base/service/SimpleService.java +++ b/gringotts-web/src/main/java/com/eshore/gringotts/web/domain/base/service/SimpleService.java @@ -13,6 +13,8 @@ import org.eclipse.collections.api.set.ImmutableSet; public interface SimpleService { Long save(ENTITY entity) throws Exception; + Long count() throws Exception; + ImmutableList list() throws Exception; ImmutableList list(ImmutableSet ids) throws Exception; diff --git a/gringotts-web/src/main/java/com/eshore/gringotts/web/domain/base/service/SimpleServiceSupport.java b/gringotts-web/src/main/java/com/eshore/gringotts/web/domain/base/service/SimpleServiceSupport.java index a67b49a..6fa169d 100644 --- a/gringotts-web/src/main/java/com/eshore/gringotts/web/domain/base/service/SimpleServiceSupport.java +++ b/gringotts-web/src/main/java/com/eshore/gringotts/web/domain/base/service/SimpleServiceSupport.java @@ -64,6 +64,18 @@ public abstract class SimpleServiceSupport implemen return entity.getId(); } + @Override + public Long count() throws Exception { + return repository.count( + (root, query, builder) -> + builder.and( + listPredicate(root, query, builder) + .reject(ObjectUtil::isNull) + .toArray(new Predicate[]{}) + ) + ); + } + @Override public ImmutableList list() throws Exception { return Lists.immutable.ofAll(repository.findAll( @@ -106,7 +118,7 @@ public abstract class SimpleServiceSupport implemen } @SuppressWarnings("unchecked") - private ImmutableList queryPredicates(Query.Queryable queryable, Root root, CriteriaQuery query, CriteriaBuilder builder) { + protected ImmutableList queryPredicates(Query.Queryable queryable, Root root, CriteriaQuery query, CriteriaBuilder builder) { MutableList predicates = Lists.mutable.empty(); if (ObjectUtil.isEmpty(queryable)) { return predicates.toImmutable(); diff --git a/gringotts-web/src/main/java/com/eshore/gringotts/web/domain/controller/AuthenticationController.java b/gringotts-web/src/main/java/com/eshore/gringotts/web/domain/controller/AuthenticationController.java index a934829..2ed9c61 100644 --- a/gringotts-web/src/main/java/com/eshore/gringotts/web/domain/controller/AuthenticationController.java +++ b/gringotts-web/src/main/java/com/eshore/gringotts/web/domain/controller/AuthenticationController.java @@ -1,7 +1,7 @@ package com.eshore.gringotts.web.domain.controller; import com.eshore.gringotts.web.configuration.amis.AmisResponse; -import com.eshore.gringotts.web.domain.base.controller.SimpleControllerSupport; +import com.eshore.gringotts.web.domain.base.controller.LogicDeleteController; import com.eshore.gringotts.web.domain.base.entity.FileInfo; import com.eshore.gringotts.web.domain.base.entity.SimpleListItem; import com.eshore.gringotts.web.domain.base.entity.SimpleSaveItem; @@ -29,7 +29,7 @@ import org.springframework.web.bind.annotation.RestController; @Slf4j @RestController @RequestMapping("authentication") -public class AuthenticationController extends SimpleControllerSupport { +public class AuthenticationController extends LogicDeleteController { private final AuthenticationService authenticationService; private final DataResourceService dataResourceService; private final DataFileService dataFileService; diff --git a/gringotts-web/src/main/java/com/eshore/gringotts/web/domain/controller/ConfirmationController.java b/gringotts-web/src/main/java/com/eshore/gringotts/web/domain/controller/ConfirmationController.java index eae6ea0..e6004d1 100644 --- a/gringotts-web/src/main/java/com/eshore/gringotts/web/domain/controller/ConfirmationController.java +++ b/gringotts-web/src/main/java/com/eshore/gringotts/web/domain/controller/ConfirmationController.java @@ -1,7 +1,7 @@ package com.eshore.gringotts.web.domain.controller; import com.eshore.gringotts.web.configuration.amis.AmisResponse; -import com.eshore.gringotts.web.domain.base.controller.SimpleControllerSupport; +import com.eshore.gringotts.web.domain.base.controller.LogicDeleteController; import com.eshore.gringotts.web.domain.base.entity.FileInfo; import com.eshore.gringotts.web.domain.base.entity.SimpleListItem; import com.eshore.gringotts.web.domain.base.entity.SimpleSaveItem; @@ -28,7 +28,7 @@ import org.springframework.web.bind.annotation.RestController; @Slf4j @RestController @RequestMapping("confirmation") -public class ConfirmationController extends SimpleControllerSupport { +public class ConfirmationController extends LogicDeleteController { private final ConfirmationService confirmationService; private final DataResourceService dataResourceService; private final DataFileService dataFileService; diff --git a/gringotts-web/src/main/java/com/eshore/gringotts/web/domain/controller/DataResourceController.java b/gringotts-web/src/main/java/com/eshore/gringotts/web/domain/controller/DataResourceController.java index 08cf84d..fced00b 100644 --- a/gringotts-web/src/main/java/com/eshore/gringotts/web/domain/controller/DataResourceController.java +++ b/gringotts-web/src/main/java/com/eshore/gringotts/web/domain/controller/DataResourceController.java @@ -3,7 +3,7 @@ package com.eshore.gringotts.web.domain.controller; import cn.hutool.core.util.EnumUtil; import cn.hutool.core.util.ObjectUtil; import com.eshore.gringotts.web.configuration.amis.AmisResponse; -import com.eshore.gringotts.web.domain.base.controller.SimpleControllerSupport; +import com.eshore.gringotts.web.domain.base.controller.LogicDeleteController; import com.eshore.gringotts.web.domain.base.entity.FileInfo; import com.eshore.gringotts.web.domain.base.entity.SimpleListItem; import com.eshore.gringotts.web.domain.base.entity.SimpleSaveItem; @@ -46,7 +46,7 @@ import org.springframework.web.bind.annotation.RestController; @Slf4j @RestController @RequestMapping("/data_resource") -public class DataResourceController extends SimpleControllerSupport { +public class DataResourceController extends LogicDeleteController { private final ObjectMapper mapper; private final DataResourceService dataResourceService; private final DataFileService dataFileService; diff --git a/gringotts-web/src/main/java/com/eshore/gringotts/web/domain/controller/WareController.java b/gringotts-web/src/main/java/com/eshore/gringotts/web/domain/controller/WareController.java index 13732c4..9a58d4c 100644 --- a/gringotts-web/src/main/java/com/eshore/gringotts/web/domain/controller/WareController.java +++ b/gringotts-web/src/main/java/com/eshore/gringotts/web/domain/controller/WareController.java @@ -3,7 +3,7 @@ package com.eshore.gringotts.web.domain.controller; import cn.hutool.core.util.StrUtil; import com.eshore.gringotts.web.configuration.HostConfiguration; import com.eshore.gringotts.web.configuration.amis.AmisResponse; -import com.eshore.gringotts.web.domain.base.controller.SimpleControllerSupport; +import com.eshore.gringotts.web.domain.base.controller.LogicDeleteController; import com.eshore.gringotts.web.domain.base.entity.SimpleListItem; import com.eshore.gringotts.web.domain.base.entity.SimpleSaveItem; import com.eshore.gringotts.web.domain.entity.Ware; @@ -28,7 +28,7 @@ import org.springframework.web.bind.annotation.RestController; @Slf4j @RestController @RequestMapping("ware") -public class WareController extends SimpleControllerSupport { +public class WareController extends LogicDeleteController { private final HostConfiguration hostConfiguration; private final WareService wareService; private final DataResourceService dataResourceService; diff --git a/gringotts-web/src/main/java/com/eshore/gringotts/web/domain/entity/Authentication.java b/gringotts-web/src/main/java/com/eshore/gringotts/web/domain/entity/Authentication.java index bad1a44..f50a01c 100644 --- a/gringotts-web/src/main/java/com/eshore/gringotts/web/domain/entity/Authentication.java +++ b/gringotts-web/src/main/java/com/eshore/gringotts/web/domain/entity/Authentication.java @@ -2,10 +2,8 @@ package com.eshore.gringotts.web.domain.entity; import com.eshore.gringotts.core.Constants; import com.eshore.gringotts.web.domain.base.entity.CheckingNeededEntity; -import com.eshore.gringotts.web.domain.base.entity.LogicDeleteEntity; import java.time.LocalDateTime; import java.util.Set; -import javax.persistence.CascadeType; import javax.persistence.Column; import javax.persistence.ConstraintMode; import javax.persistence.Entity; @@ -23,8 +21,6 @@ import lombok.Getter; import lombok.Setter; import lombok.ToString; import org.hibernate.annotations.DynamicUpdate; -import org.hibernate.annotations.SQLDelete; -import org.hibernate.annotations.Where; import org.springframework.data.jpa.domain.support.AuditingEntityListener; /** @@ -50,13 +46,11 @@ import org.springframework.data.jpa.domain.support.AuditingEntityListener; @NamedAttributeNode(value = "createdUser"), @NamedAttributeNode(value = "modifiedUser"), }) -@SQLDelete(sql = "update " + Constants.TABLE_PREFIX + "authentication" + " set deleted = true where id = ?") -@Where(clause = LogicDeleteEntity.LOGIC_DELETE_CLAUSE) public class Authentication extends CheckingNeededEntity { @ManyToOne(fetch = FetchType.EAGER) @JoinColumn(nullable = false, foreignKey = @ForeignKey(ConstraintMode.NO_CONSTRAINT)) private DataResource target; - @OneToMany(cascade = CascadeType.ALL, fetch = FetchType.LAZY) + @OneToMany(fetch = FetchType.LAZY) @JoinTable(foreignKey = @ForeignKey(ConstraintMode.NO_CONSTRAINT), inverseForeignKey = @ForeignKey(ConstraintMode.NO_CONSTRAINT)) @ToString.Exclude private Set evidences; diff --git a/gringotts-web/src/main/java/com/eshore/gringotts/web/domain/entity/Confirmation.java b/gringotts-web/src/main/java/com/eshore/gringotts/web/domain/entity/Confirmation.java index 1922487..8c35123 100644 --- a/gringotts-web/src/main/java/com/eshore/gringotts/web/domain/entity/Confirmation.java +++ b/gringotts-web/src/main/java/com/eshore/gringotts/web/domain/entity/Confirmation.java @@ -2,9 +2,7 @@ package com.eshore.gringotts.web.domain.entity; import com.eshore.gringotts.core.Constants; import com.eshore.gringotts.web.domain.base.entity.CheckingNeededEntity; -import com.eshore.gringotts.web.domain.base.entity.LogicDeleteEntity; import java.util.Set; -import javax.persistence.CascadeType; import javax.persistence.ConstraintMode; import javax.persistence.Entity; import javax.persistence.EntityListeners; @@ -21,8 +19,6 @@ import lombok.Getter; import lombok.Setter; import lombok.ToString; import org.hibernate.annotations.DynamicUpdate; -import org.hibernate.annotations.SQLDelete; -import org.hibernate.annotations.Where; import org.springframework.data.jpa.domain.support.AuditingEntityListener; /** @@ -48,13 +44,11 @@ import org.springframework.data.jpa.domain.support.AuditingEntityListener; @NamedAttributeNode(value = "createdUser"), @NamedAttributeNode(value = "modifiedUser"), }) -@SQLDelete(sql = "update " + Constants.TABLE_PREFIX + "confirmation" + " set deleted = true where id = ?") -@Where(clause = LogicDeleteEntity.LOGIC_DELETE_CLAUSE) public class Confirmation extends CheckingNeededEntity { @OneToOne(fetch = FetchType.EAGER) @JoinColumn(nullable = false, foreignKey = @ForeignKey(ConstraintMode.NO_CONSTRAINT)) private DataResource target; - @OneToMany(cascade = CascadeType.ALL, fetch = FetchType.LAZY) + @OneToMany(fetch = FetchType.LAZY) @JoinTable(foreignKey = @ForeignKey(ConstraintMode.NO_CONSTRAINT), inverseForeignKey = @ForeignKey(ConstraintMode.NO_CONSTRAINT)) @ToString.Exclude private Set evidences; diff --git a/gringotts-web/src/main/java/com/eshore/gringotts/web/domain/entity/DataFile.java b/gringotts-web/src/main/java/com/eshore/gringotts/web/domain/entity/DataFile.java index 80e1c53..57b5896 100644 --- a/gringotts-web/src/main/java/com/eshore/gringotts/web/domain/entity/DataFile.java +++ b/gringotts-web/src/main/java/com/eshore/gringotts/web/domain/entity/DataFile.java @@ -1,15 +1,13 @@ package com.eshore.gringotts.web.domain.entity; import com.eshore.gringotts.core.Constants; -import com.eshore.gringotts.web.domain.base.entity.LogicDeleteEntity; +import com.eshore.gringotts.web.domain.base.entity.SimpleEntity; import javax.persistence.Entity; import javax.persistence.Table; import lombok.Getter; import lombok.Setter; import lombok.ToString; import org.hibernate.annotations.DynamicUpdate; -import org.hibernate.annotations.SQLDelete; -import org.hibernate.annotations.Where; /** * 上传文件 @@ -23,9 +21,7 @@ import org.hibernate.annotations.Where; @Entity @DynamicUpdate @Table(name = Constants.TABLE_PREFIX + "data_file") -@SQLDelete(sql = "update " + Constants.TABLE_PREFIX + "data_file" + " set deleted = true where id = ?") -@Where(clause = LogicDeleteEntity.LOGIC_DELETE_CLAUSE) -public class DataFile extends LogicDeleteEntity { +public class DataFile extends SimpleEntity { private String filename; private Long size; private String md5; diff --git a/gringotts-web/src/main/java/com/eshore/gringotts/web/domain/entity/DataResource.java b/gringotts-web/src/main/java/com/eshore/gringotts/web/domain/entity/DataResource.java index 57e4d4b..032413d 100644 --- a/gringotts-web/src/main/java/com/eshore/gringotts/web/domain/entity/DataResource.java +++ b/gringotts-web/src/main/java/com/eshore/gringotts/web/domain/entity/DataResource.java @@ -5,7 +5,6 @@ import com.eshore.gringotts.web.domain.base.entity.LogicDeleteEntity; import com.eshore.gringotts.web.domain.entity.format.ResourceFormat; import com.eshore.gringotts.web.domain.entity.type.ResourceType; import java.util.Set; -import javax.persistence.CascadeType; import javax.persistence.Column; import javax.persistence.ConstraintMode; import javax.persistence.Entity; @@ -22,8 +21,6 @@ import lombok.Getter; import lombok.Setter; import lombok.ToString; import org.hibernate.annotations.DynamicUpdate; -import org.hibernate.annotations.SQLDelete; -import org.hibernate.annotations.Where; import org.springframework.data.jpa.domain.support.AuditingEntityListener; @Getter @@ -47,17 +44,15 @@ import org.springframework.data.jpa.domain.support.AuditingEntityListener; @NamedAttributeNode(value = "createdUser"), @NamedAttributeNode(value = "modifiedUser"), }) -@SQLDelete(sql = "update " + Constants.TABLE_PREFIX + "data_resource" + " set deleted = true where id = ?") -@Where(clause = LogicDeleteEntity.LOGIC_DELETE_CLAUSE) public class DataResource extends LogicDeleteEntity { @Column(nullable = false) private String name; private String description; - @OneToOne(cascade = CascadeType.REMOVE, fetch = FetchType.LAZY) + @OneToOne(fetch = FetchType.LAZY) @JoinColumn(nullable = false, foreignKey = @ForeignKey(ConstraintMode.NO_CONSTRAINT)) @ToString.Exclude private ResourceType type; - @OneToOne(cascade = CascadeType.REMOVE, fetch = FetchType.LAZY) + @OneToOne(fetch = FetchType.LAZY) @JoinColumn(nullable = false, foreignKey = @ForeignKey(ConstraintMode.NO_CONSTRAINT)) @ToString.Exclude private ResourceFormat format; @@ -65,13 +60,13 @@ public class DataResource extends LogicDeleteEntity { @JoinColumn(foreignKey = @ForeignKey(ConstraintMode.NO_CONSTRAINT)) @ToString.Exclude private DataFile example; - @OneToOne(cascade = CascadeType.REMOVE, fetch = FetchType.EAGER, mappedBy = "target") + @OneToOne(fetch = FetchType.EAGER, mappedBy = "target") @ToString.Exclude private Confirmation confirmation; - @OneToMany(cascade = CascadeType.REMOVE, fetch = FetchType.EAGER, mappedBy = "target") + @OneToMany(fetch = FetchType.EAGER, mappedBy = "target") @ToString.Exclude private Set authentications; - @OneToOne(cascade = CascadeType.REMOVE, fetch = FetchType.EAGER, mappedBy = "resource") + @OneToOne(fetch = FetchType.EAGER, mappedBy = "resource") @ToString.Exclude private Ware ware; } diff --git a/gringotts-web/src/main/java/com/eshore/gringotts/web/domain/entity/Ware.java b/gringotts-web/src/main/java/com/eshore/gringotts/web/domain/entity/Ware.java index 4c1943c..cb3093e 100644 --- a/gringotts-web/src/main/java/com/eshore/gringotts/web/domain/entity/Ware.java +++ b/gringotts-web/src/main/java/com/eshore/gringotts/web/domain/entity/Ware.java @@ -2,7 +2,6 @@ package com.eshore.gringotts.web.domain.entity; import com.eshore.gringotts.core.Constants; import com.eshore.gringotts.web.domain.base.entity.CheckingNeededEntity; -import com.eshore.gringotts.web.domain.base.entity.LogicDeleteEntity; import javax.persistence.Basic; import javax.persistence.CascadeType; import javax.persistence.Column; @@ -21,8 +20,6 @@ import lombok.Getter; import lombok.Setter; import lombok.ToString; import org.hibernate.annotations.DynamicUpdate; -import org.hibernate.annotations.SQLDelete; -import org.hibernate.annotations.Where; import org.springframework.data.jpa.domain.support.AuditingEntityListener; /** @@ -48,8 +45,6 @@ import org.springframework.data.jpa.domain.support.AuditingEntityListener; @NamedAttributeNode(value = "createdUser"), @NamedAttributeNode(value = "modifiedUser"), }) -@SQLDelete(sql = "update " + Constants.TABLE_PREFIX + "ware" + " set deleted = true where id = ?") -@Where(clause = LogicDeleteEntity.LOGIC_DELETE_CLAUSE) public class Ware extends CheckingNeededEntity { @OneToOne(cascade = CascadeType.DETACH, fetch = FetchType.EAGER) @JoinColumn(nullable = false, foreignKey = @ForeignKey(ConstraintMode.NO_CONSTRAINT)) diff --git a/gringotts-web/src/main/java/com/eshore/gringotts/web/domain/entity/format/CsvResourceFormat.java b/gringotts-web/src/main/java/com/eshore/gringotts/web/domain/entity/format/CsvResourceFormat.java index c87837a..ca80f20 100644 --- a/gringotts-web/src/main/java/com/eshore/gringotts/web/domain/entity/format/CsvResourceFormat.java +++ b/gringotts-web/src/main/java/com/eshore/gringotts/web/domain/entity/format/CsvResourceFormat.java @@ -1,7 +1,5 @@ package com.eshore.gringotts.web.domain.entity.format; -import com.eshore.gringotts.core.Constants; -import com.eshore.gringotts.web.domain.base.entity.LogicDeleteIdOnlyEntity; import javax.persistence.DiscriminatorValue; import javax.persistence.Entity; import lombok.AllArgsConstructor; @@ -9,8 +7,6 @@ import lombok.Getter; import lombok.NoArgsConstructor; import lombok.Setter; import lombok.ToString; -import org.hibernate.annotations.SQLDelete; -import org.hibernate.annotations.Where; /** * CSV格式 @@ -25,8 +21,6 @@ import org.hibernate.annotations.Where; @NoArgsConstructor @Entity @DiscriminatorValue("CSV") -@SQLDelete(sql = "update " + Constants.TABLE_PREFIX + "resource_format" + " set deleted = true where id = ?") -@Where(clause = LogicDeleteIdOnlyEntity.LOGIC_DELETE_CLAUSE) public class CsvResourceFormat extends ResourceFormat { private String csvSchema; diff --git a/gringotts-web/src/main/java/com/eshore/gringotts/web/domain/entity/format/JsonLineResourceFormat.java b/gringotts-web/src/main/java/com/eshore/gringotts/web/domain/entity/format/JsonLineResourceFormat.java index ecb9dbc..9c9b912 100644 --- a/gringotts-web/src/main/java/com/eshore/gringotts/web/domain/entity/format/JsonLineResourceFormat.java +++ b/gringotts-web/src/main/java/com/eshore/gringotts/web/domain/entity/format/JsonLineResourceFormat.java @@ -1,7 +1,5 @@ package com.eshore.gringotts.web.domain.entity.format; -import com.eshore.gringotts.core.Constants; -import com.eshore.gringotts.web.domain.base.entity.LogicDeleteIdOnlyEntity; import javax.persistence.DiscriminatorValue; import javax.persistence.Entity; import lombok.AllArgsConstructor; @@ -9,8 +7,6 @@ import lombok.Getter; import lombok.NoArgsConstructor; import lombok.Setter; import lombok.ToString; -import org.hibernate.annotations.SQLDelete; -import org.hibernate.annotations.Where; /** * JSON line格式 @@ -25,8 +21,6 @@ import org.hibernate.annotations.Where; @NoArgsConstructor @Entity @DiscriminatorValue("JSON_LINE") -@SQLDelete(sql = "update " + Constants.TABLE_PREFIX + "resource_format" + " set deleted = true where id = ?") -@Where(clause = LogicDeleteIdOnlyEntity.LOGIC_DELETE_CLAUSE) public class JsonLineResourceFormat extends ResourceFormat { private String jsonSchema; diff --git a/gringotts-web/src/main/java/com/eshore/gringotts/web/domain/entity/format/JsonResourceFormat.java b/gringotts-web/src/main/java/com/eshore/gringotts/web/domain/entity/format/JsonResourceFormat.java index 99dc420..d856af9 100644 --- a/gringotts-web/src/main/java/com/eshore/gringotts/web/domain/entity/format/JsonResourceFormat.java +++ b/gringotts-web/src/main/java/com/eshore/gringotts/web/domain/entity/format/JsonResourceFormat.java @@ -1,7 +1,5 @@ package com.eshore.gringotts.web.domain.entity.format; -import com.eshore.gringotts.core.Constants; -import com.eshore.gringotts.web.domain.base.entity.LogicDeleteIdOnlyEntity; import javax.persistence.DiscriminatorValue; import javax.persistence.Entity; import lombok.AllArgsConstructor; @@ -9,8 +7,6 @@ import lombok.Getter; import lombok.NoArgsConstructor; import lombok.Setter; import lombok.ToString; -import org.hibernate.annotations.SQLDelete; -import org.hibernate.annotations.Where; /** * 一个文件就是一个JSON @@ -25,8 +21,6 @@ import org.hibernate.annotations.Where; @NoArgsConstructor @Entity @DiscriminatorValue("JSON") -@SQLDelete(sql = "update " + Constants.TABLE_PREFIX + "resource_format" + " set deleted = true where id = ?") -@Where(clause = LogicDeleteIdOnlyEntity.LOGIC_DELETE_CLAUSE) public class JsonResourceFormat extends ResourceFormat { private String jsonSchema; diff --git a/gringotts-web/src/main/java/com/eshore/gringotts/web/domain/entity/format/LineResourceFormat.java b/gringotts-web/src/main/java/com/eshore/gringotts/web/domain/entity/format/LineResourceFormat.java index 066c668..8219516 100644 --- a/gringotts-web/src/main/java/com/eshore/gringotts/web/domain/entity/format/LineResourceFormat.java +++ b/gringotts-web/src/main/java/com/eshore/gringotts/web/domain/entity/format/LineResourceFormat.java @@ -1,14 +1,10 @@ package com.eshore.gringotts.web.domain.entity.format; -import com.eshore.gringotts.core.Constants; -import com.eshore.gringotts.web.domain.base.entity.LogicDeleteIdOnlyEntity; import javax.persistence.DiscriminatorValue; import javax.persistence.Entity; import lombok.Getter; import lombok.Setter; import lombok.ToString; -import org.hibernate.annotations.SQLDelete; -import org.hibernate.annotations.Where; /** * 无格式,文件每行就是一份数据 @@ -21,8 +17,6 @@ import org.hibernate.annotations.Where; @ToString @Entity @DiscriminatorValue("LINE") -@SQLDelete(sql = "update " + Constants.TABLE_PREFIX + "resource_format" + " set deleted = true where id = ?") -@Where(clause = LogicDeleteIdOnlyEntity.LOGIC_DELETE_CLAUSE) public class LineResourceFormat extends ResourceFormat { @Override public Type getFormatType() { diff --git a/gringotts-web/src/main/java/com/eshore/gringotts/web/domain/entity/format/NoneResourceFormat.java b/gringotts-web/src/main/java/com/eshore/gringotts/web/domain/entity/format/NoneResourceFormat.java index 52a5cd9..749b293 100644 --- a/gringotts-web/src/main/java/com/eshore/gringotts/web/domain/entity/format/NoneResourceFormat.java +++ b/gringotts-web/src/main/java/com/eshore/gringotts/web/domain/entity/format/NoneResourceFormat.java @@ -1,14 +1,10 @@ package com.eshore.gringotts.web.domain.entity.format; -import com.eshore.gringotts.core.Constants; -import com.eshore.gringotts.web.domain.base.entity.LogicDeleteIdOnlyEntity; import javax.persistence.DiscriminatorValue; import javax.persistence.Entity; import lombok.Getter; import lombok.Setter; import lombok.ToString; -import org.hibernate.annotations.SQLDelete; -import org.hibernate.annotations.Where; /** * 无格式,整个文件就是一份数据 @@ -21,8 +17,6 @@ import org.hibernate.annotations.Where; @ToString @Entity @DiscriminatorValue("NONE") -@SQLDelete(sql = "update " + Constants.TABLE_PREFIX + "resource_format" + " set deleted = true where id = ?") -@Where(clause = LogicDeleteIdOnlyEntity.LOGIC_DELETE_CLAUSE) public class NoneResourceFormat extends ResourceFormat { @Override public Type getFormatType() { diff --git a/gringotts-web/src/main/java/com/eshore/gringotts/web/domain/entity/format/ResourceFormat.java b/gringotts-web/src/main/java/com/eshore/gringotts/web/domain/entity/format/ResourceFormat.java index a8b5456..b86b950 100644 --- a/gringotts-web/src/main/java/com/eshore/gringotts/web/domain/entity/format/ResourceFormat.java +++ b/gringotts-web/src/main/java/com/eshore/gringotts/web/domain/entity/format/ResourceFormat.java @@ -9,8 +9,6 @@ import javax.persistence.Table; import lombok.Getter; import lombok.Setter; import lombok.ToString; -import org.hibernate.annotations.SQLDelete; -import org.hibernate.annotations.Where; /** * 资源格式 @@ -24,8 +22,6 @@ import org.hibernate.annotations.Where; @Entity @Table(name = Constants.TABLE_PREFIX + "resource_format") @Inheritance(strategy = InheritanceType.SINGLE_TABLE) -@SQLDelete(sql = "update " + Constants.TABLE_PREFIX + "resource_format" + " set deleted = true where id = ?") -@Where(clause = LogicDeleteIdOnlyEntity.LOGIC_DELETE_CLAUSE) public abstract class ResourceFormat extends LogicDeleteIdOnlyEntity { public abstract Type getFormatType(); diff --git a/gringotts-web/src/main/java/com/eshore/gringotts/web/domain/entity/type/ApiResourceType.java b/gringotts-web/src/main/java/com/eshore/gringotts/web/domain/entity/type/ApiResourceType.java index e26ba1f..5f87179 100644 --- a/gringotts-web/src/main/java/com/eshore/gringotts/web/domain/entity/type/ApiResourceType.java +++ b/gringotts-web/src/main/java/com/eshore/gringotts/web/domain/entity/type/ApiResourceType.java @@ -1,7 +1,6 @@ package com.eshore.gringotts.web.domain.entity.type; import com.eshore.gringotts.core.Constants; -import com.eshore.gringotts.web.domain.base.entity.LogicDeleteIdOnlyEntity; import javax.persistence.Column; import javax.persistence.Entity; import javax.persistence.Table; @@ -10,8 +9,6 @@ import lombok.Getter; import lombok.NoArgsConstructor; import lombok.Setter; import lombok.ToString; -import org.hibernate.annotations.SQLDelete; -import org.hibernate.annotations.Where; @Getter @Setter @@ -20,8 +17,6 @@ import org.hibernate.annotations.Where; @NoArgsConstructor @Entity @Table(name = Constants.TABLE_PREFIX + "resource_type_api") -@SQLDelete(sql = "update " + Constants.TABLE_PREFIX + "resource_type_api" + " set deleted = true where id = ?") -@Where(clause = LogicDeleteIdOnlyEntity.LOGIC_DELETE_CLAUSE) public class ApiResourceType extends ResourceType { @Column(nullable = false) private String url; diff --git a/gringotts-web/src/main/java/com/eshore/gringotts/web/domain/entity/type/DatabaseResourceType.java b/gringotts-web/src/main/java/com/eshore/gringotts/web/domain/entity/type/DatabaseResourceType.java index 25d4954..0799158 100644 --- a/gringotts-web/src/main/java/com/eshore/gringotts/web/domain/entity/type/DatabaseResourceType.java +++ b/gringotts-web/src/main/java/com/eshore/gringotts/web/domain/entity/type/DatabaseResourceType.java @@ -1,7 +1,6 @@ package com.eshore.gringotts.web.domain.entity.type; import com.eshore.gringotts.core.Constants; -import com.eshore.gringotts.web.domain.base.entity.LogicDeleteIdOnlyEntity; import javax.persistence.Column; import javax.persistence.Entity; import javax.persistence.EnumType; @@ -12,8 +11,6 @@ import lombok.Getter; import lombok.NoArgsConstructor; import lombok.Setter; import lombok.ToString; -import org.hibernate.annotations.SQLDelete; -import org.hibernate.annotations.Where; @Getter @Setter @@ -22,8 +19,6 @@ import org.hibernate.annotations.Where; @NoArgsConstructor @Entity @Table(name = Constants.TABLE_PREFIX + "resource_type_database") -@SQLDelete(sql = "update " + Constants.TABLE_PREFIX + "resource_type_database" + " set deleted = true where id = ?") -@Where(clause = LogicDeleteIdOnlyEntity.LOGIC_DELETE_CLAUSE) public class DatabaseResourceType extends ResourceType { @Column(nullable = false) private String jdbc; diff --git a/gringotts-web/src/main/java/com/eshore/gringotts/web/domain/entity/type/FileResourceType.java b/gringotts-web/src/main/java/com/eshore/gringotts/web/domain/entity/type/FileResourceType.java index 2159606..cc2896f 100644 --- a/gringotts-web/src/main/java/com/eshore/gringotts/web/domain/entity/type/FileResourceType.java +++ b/gringotts-web/src/main/java/com/eshore/gringotts/web/domain/entity/type/FileResourceType.java @@ -1,7 +1,6 @@ package com.eshore.gringotts.web.domain.entity.type; import com.eshore.gringotts.core.Constants; -import com.eshore.gringotts.web.domain.base.entity.LogicDeleteIdOnlyEntity; import com.eshore.gringotts.web.domain.entity.DataFile; import javax.persistence.ConstraintMode; import javax.persistence.Entity; @@ -14,8 +13,6 @@ import lombok.Getter; import lombok.NoArgsConstructor; import lombok.Setter; import lombok.ToString; -import org.hibernate.annotations.SQLDelete; -import org.hibernate.annotations.Where; @Getter @Setter @@ -24,8 +21,6 @@ import org.hibernate.annotations.Where; @NoArgsConstructor @Entity @Table(name = Constants.TABLE_PREFIX + "resource_type_file") -@SQLDelete(sql = "update " + Constants.TABLE_PREFIX + "resource_type_file" + " set deleted = true where id = ?") -@Where(clause = LogicDeleteIdOnlyEntity.LOGIC_DELETE_CLAUSE) public class FileResourceType extends ResourceType { @OneToOne @JoinColumn(nullable = false, foreignKey = @ForeignKey(ConstraintMode.NO_CONSTRAINT)) diff --git a/gringotts-web/src/main/java/com/eshore/gringotts/web/domain/entity/type/FtpResourceType.java b/gringotts-web/src/main/java/com/eshore/gringotts/web/domain/entity/type/FtpResourceType.java index 424691b..3b77f04 100644 --- a/gringotts-web/src/main/java/com/eshore/gringotts/web/domain/entity/type/FtpResourceType.java +++ b/gringotts-web/src/main/java/com/eshore/gringotts/web/domain/entity/type/FtpResourceType.java @@ -1,7 +1,6 @@ package com.eshore.gringotts.web.domain.entity.type; import com.eshore.gringotts.core.Constants; -import com.eshore.gringotts.web.domain.base.entity.LogicDeleteIdOnlyEntity; import javax.persistence.Column; import javax.persistence.Entity; import javax.persistence.Table; @@ -10,8 +9,6 @@ import lombok.Getter; import lombok.NoArgsConstructor; import lombok.Setter; import lombok.ToString; -import org.hibernate.annotations.SQLDelete; -import org.hibernate.annotations.Where; @Getter @Setter @@ -20,8 +17,6 @@ import org.hibernate.annotations.Where; @NoArgsConstructor @Entity @Table(name = Constants.TABLE_PREFIX + "resource_type_ftp") -@SQLDelete(sql = "update " + Constants.TABLE_PREFIX + "resource_type_ftp" + " set deleted = true where id = ?") -@Where(clause = LogicDeleteIdOnlyEntity.LOGIC_DELETE_CLAUSE) public class FtpResourceType extends ResourceType { @Column(nullable = false) private String url; diff --git a/gringotts-web/src/main/java/com/eshore/gringotts/web/domain/entity/type/HDFSResourceType.java b/gringotts-web/src/main/java/com/eshore/gringotts/web/domain/entity/type/HDFSResourceType.java index 0632d46..fe1274c 100644 --- a/gringotts-web/src/main/java/com/eshore/gringotts/web/domain/entity/type/HDFSResourceType.java +++ b/gringotts-web/src/main/java/com/eshore/gringotts/web/domain/entity/type/HDFSResourceType.java @@ -1,7 +1,6 @@ package com.eshore.gringotts.web.domain.entity.type; import com.eshore.gringotts.core.Constants; -import com.eshore.gringotts.web.domain.base.entity.LogicDeleteIdOnlyEntity; import com.eshore.gringotts.web.domain.entity.DataFile; import javax.persistence.ConstraintMode; import javax.persistence.Entity; @@ -14,8 +13,6 @@ import lombok.Getter; import lombok.NoArgsConstructor; import lombok.Setter; import lombok.ToString; -import org.hibernate.annotations.SQLDelete; -import org.hibernate.annotations.Where; @Getter @Setter @@ -24,8 +21,6 @@ import org.hibernate.annotations.Where; @NoArgsConstructor @Entity @Table(name = Constants.TABLE_PREFIX + "resource_type_hdfs") -@SQLDelete(sql = "update " + Constants.TABLE_PREFIX + "resource_type_hdfs" + " set deleted = true where id = ?") -@Where(clause = LogicDeleteIdOnlyEntity.LOGIC_DELETE_CLAUSE) public class HDFSResourceType extends ResourceType { @OneToOne @JoinColumn(nullable = false, foreignKey = @ForeignKey(ConstraintMode.NO_CONSTRAINT)) diff --git a/gringotts-web/src/main/java/com/eshore/gringotts/web/domain/entity/type/ResourceType.java b/gringotts-web/src/main/java/com/eshore/gringotts/web/domain/entity/type/ResourceType.java index c717fbc..e1a59ce 100644 --- a/gringotts-web/src/main/java/com/eshore/gringotts/web/domain/entity/type/ResourceType.java +++ b/gringotts-web/src/main/java/com/eshore/gringotts/web/domain/entity/type/ResourceType.java @@ -9,8 +9,6 @@ import javax.persistence.Table; import lombok.Getter; import lombok.Setter; import lombok.ToString; -import org.hibernate.annotations.SQLDelete; -import org.hibernate.annotations.Where; /** * 资源类型 @@ -24,8 +22,6 @@ import org.hibernate.annotations.Where; @Entity @Table(name = Constants.TABLE_PREFIX + "resource_type") @Inheritance(strategy = InheritanceType.TABLE_PER_CLASS) -@SQLDelete(sql = "update " + Constants.TABLE_PREFIX + "resource_type" + " set deleted = true where id = ?") -@Where(clause = LogicDeleteIdOnlyEntity.LOGIC_DELETE_CLAUSE) public abstract class ResourceType extends LogicDeleteIdOnlyEntity { public abstract Type getResourceType(); diff --git a/gringotts-web/src/main/java/com/eshore/gringotts/web/domain/service/ConfirmationService.java b/gringotts-web/src/main/java/com/eshore/gringotts/web/domain/service/ConfirmationService.java index 825d901..1a22834 100644 --- a/gringotts-web/src/main/java/com/eshore/gringotts/web/domain/service/ConfirmationService.java +++ b/gringotts-web/src/main/java/com/eshore/gringotts/web/domain/service/ConfirmationService.java @@ -4,7 +4,7 @@ import cn.hutool.core.util.ObjectUtil; import cn.hutool.core.util.StrUtil; import com.eshore.gringotts.web.domain.base.entity.CheckingNeededEntity; import com.eshore.gringotts.web.domain.base.service.CheckingService; -import com.eshore.gringotts.web.domain.base.service.SimpleServiceSupport; +import com.eshore.gringotts.web.domain.base.service.LogicDeleteService; import com.eshore.gringotts.web.domain.entity.CheckOrder; import com.eshore.gringotts.web.domain.entity.CheckOrder_; import com.eshore.gringotts.web.domain.entity.Confirmation; @@ -13,6 +13,7 @@ import com.eshore.gringotts.web.domain.entity.User; import com.eshore.gringotts.web.domain.repository.ConfirmationRepository; import com.fasterxml.jackson.core.JsonProcessingException; import com.fasterxml.jackson.databind.ObjectMapper; +import javax.persistence.EntityManager; import javax.persistence.criteria.CriteriaBuilder; import javax.persistence.criteria.CriteriaQuery; import javax.persistence.criteria.Join; @@ -34,13 +35,13 @@ import org.springframework.stereotype.Service; */ @Slf4j @Service("com.eshore.gringotts.web.domain.service.ConfirmationService") -public class ConfirmationService extends SimpleServiceSupport implements CheckingService { +public class ConfirmationService extends LogicDeleteService implements CheckingService { private final ConfirmationRepository confirmationRepository; private final CheckOrderService checkOrderService; private final ObjectMapper mapper; - public ConfirmationService(ConfirmationRepository confirmationRepository, UserService userService, CheckOrderService checkOrderService, Jackson2ObjectMapperBuilder builder) { - super(confirmationRepository, userService); + public ConfirmationService(ConfirmationRepository confirmationRepository, UserService userService, EntityManager entityManager, CheckOrderService checkOrderService, Jackson2ObjectMapperBuilder builder) { + super(confirmationRepository, userService, entityManager); this.confirmationRepository = confirmationRepository; this.checkOrderService = checkOrderService; this.mapper = builder.build(); diff --git a/gringotts-web/src/main/java/com/eshore/gringotts/web/domain/service/DataResourceService.java b/gringotts-web/src/main/java/com/eshore/gringotts/web/domain/service/DataResourceService.java index 4538185..2b9a3d3 100644 --- a/gringotts-web/src/main/java/com/eshore/gringotts/web/domain/service/DataResourceService.java +++ b/gringotts-web/src/main/java/com/eshore/gringotts/web/domain/service/DataResourceService.java @@ -1,6 +1,6 @@ package com.eshore.gringotts.web.domain.service; -import com.eshore.gringotts.web.domain.base.service.SimpleServiceSupport; +import com.eshore.gringotts.web.domain.base.service.LogicDeleteService; import com.eshore.gringotts.web.domain.entity.Authentication; import com.eshore.gringotts.web.domain.entity.Authentication_; import com.eshore.gringotts.web.domain.entity.Confirmation; @@ -15,6 +15,7 @@ import com.eshore.gringotts.web.domain.repository.DataResourceRepository; import com.eshore.gringotts.web.domain.repository.ResourceFormatRepository; import com.eshore.gringotts.web.domain.repository.ResourceTypeRepository; import com.eshore.gringotts.web.helper.EntityHelper; +import javax.persistence.EntityManager; import javax.persistence.criteria.CriteriaBuilder; import javax.persistence.criteria.CriteriaQuery; import javax.persistence.criteria.Join; @@ -34,14 +35,14 @@ import org.springframework.stereotype.Service; */ @Slf4j @Service -public class DataResourceService extends SimpleServiceSupport { +public class DataResourceService extends LogicDeleteService { private final DataResourceRepository dataResourceRepository; private final ResourceTypeRepository resourceTypeRepository; private final ResourceFormatRepository resourceFormatRepository; private final UserService userService; - public DataResourceService(DataResourceRepository repository, ResourceTypeRepository resourceTypeRepository, ResourceFormatRepository resourceFormatRepository, UserService userService) { - super(repository, userService); + public DataResourceService(DataResourceRepository repository, ResourceTypeRepository resourceTypeRepository, ResourceFormatRepository resourceFormatRepository, UserService userService, EntityManager entityManager) { + super(repository, userService, entityManager); this.dataResourceRepository = repository; this.resourceTypeRepository = resourceTypeRepository; this.resourceFormatRepository = resourceFormatRepository; diff --git a/gringotts-web/src/main/java/com/eshore/gringotts/web/domain/service/WareService.java b/gringotts-web/src/main/java/com/eshore/gringotts/web/domain/service/WareService.java index f91b6b1..3efcfc9 100644 --- a/gringotts-web/src/main/java/com/eshore/gringotts/web/domain/service/WareService.java +++ b/gringotts-web/src/main/java/com/eshore/gringotts/web/domain/service/WareService.java @@ -2,13 +2,14 @@ package com.eshore.gringotts.web.domain.service; import cn.hutool.core.util.StrUtil; import com.eshore.gringotts.web.domain.base.service.CheckingService; -import com.eshore.gringotts.web.domain.base.service.SimpleServiceSupport; +import com.eshore.gringotts.web.domain.base.service.LogicDeleteService; import com.eshore.gringotts.web.domain.entity.CheckOrder; import com.eshore.gringotts.web.domain.entity.User; import com.eshore.gringotts.web.domain.entity.Ware; import com.eshore.gringotts.web.domain.repository.WareRepository; import com.fasterxml.jackson.core.JsonProcessingException; import com.fasterxml.jackson.databind.ObjectMapper; +import javax.persistence.EntityManager; import javax.transaction.Transactional; import lombok.extern.slf4j.Slf4j; import org.eclipse.collections.api.factory.Lists; @@ -24,13 +25,13 @@ import org.springframework.stereotype.Service; */ @Slf4j @Service("com.eshore.gringotts.web.domain.service.WareService") -public class WareService extends SimpleServiceSupport implements CheckingService { +public class WareService extends LogicDeleteService implements CheckingService { private final WareRepository wareRepository; private final CheckOrderService checkOrderService; private final ObjectMapper mapper; - public WareService(WareRepository repository, UserService userService, CheckOrderService checkOrderService, Jackson2ObjectMapperBuilder builder) { - super(repository, userService); + public WareService(WareRepository repository, UserService userService, EntityManager entityManager, CheckOrderService checkOrderService, Jackson2ObjectMapperBuilder builder) { + super(repository, userService, entityManager); this.wareRepository = repository; this.checkOrderService = checkOrderService; this.mapper = builder.build();