Skip to content

Commit

Permalink
fix admin service soft delete
Browse files Browse the repository at this point in the history
  • Loading branch information
nobodyiam committed Jun 13, 2016
1 parent 4f69747 commit 49832e6
Show file tree
Hide file tree
Showing 6 changed files with 57 additions and 29 deletions.
Expand Up @@ -30,10 +30,17 @@ public boolean isAppIdUnique(String appId) {
}

@Transactional
public void delete(long id, String owner) {
appRepository.delete(id);
public void delete(long id, String operator) {
App app = appRepository.findOne(id);
if (app == null) {
return;
}

app.setDeleted(true);
app.setDataChangeLastModifiedBy(operator);
appRepository.save(app);

auditService.audit(App.class.getSimpleName(), id, Audit.OP.DELETE, owner);
auditService.audit(App.class.getSimpleName(), id, Audit.OP.DELETE, operator);
}

public List<App> findAll(Pageable pageable) {
Expand Down
Expand Up @@ -62,10 +62,17 @@ public Cluster save(Cluster entity) {
}

@Transactional
public void delete(long id, String owner) {
clusterRepository.delete(id);
public void delete(long id, String operator) {
Cluster cluster = clusterRepository.findOne(id);
if (cluster == null) {
return;
}

cluster.setDeleted(true);
cluster.setDataChangeLastModifiedBy(operator);
clusterRepository.save(cluster);

auditService.audit(Cluster.class.getSimpleName(), id, Audit.OP.DELETE, owner);
auditService.audit(Cluster.class.getSimpleName(), id, Audit.OP.DELETE, operator);
}

@Transactional
Expand Down
@@ -1,12 +1,5 @@
package com.ctrip.framework.apollo.biz.service;

import java.util.Collections;
import java.util.List;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;

import com.ctrip.framework.apollo.biz.entity.Audit;
import com.ctrip.framework.apollo.biz.entity.Item;
import com.ctrip.framework.apollo.biz.entity.Namespace;
Expand All @@ -15,6 +8,13 @@
import com.ctrip.framework.apollo.common.utils.BeanUtils;
import com.ctrip.framework.apollo.core.exception.NotFoundException;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;

import java.util.Collections;
import java.util.List;

@Service
public class ItemService {

Expand All @@ -28,10 +28,17 @@ public class ItemService {
private AuditService auditService;

@Transactional
public void delete(long id, String owner) {
itemRepository.delete(id);
public void delete(long id, String operator) {
Item item = itemRepository.findOne(id);
if (item == null) {
return;
}

item.setDeleted(true);
item.setDataChangeLastModifiedBy(operator);
itemRepository.save(item);

auditService.audit(Item.class.getSimpleName(), id, Audit.OP.DELETE, owner);
auditService.audit(Item.class.getSimpleName(), id, Audit.OP.DELETE, operator);
}

public Item findOne(String appId, String clusterName, String namespaceName, String key) {
Expand Down
Expand Up @@ -23,36 +23,36 @@ public class ItemSetService {

@Transactional
public void updateSet(ItemChangeSets changeSet) {
String owner = changeSet.getDataChangeLastModifiedBy();
String operator = changeSet.getDataChangeLastModifiedBy();
if (!CollectionUtils.isEmpty(changeSet.getCreateItems())) {
for (ItemDTO item : changeSet.getCreateItems()) {
Item entity = BeanUtils.transfrom(Item.class, item);
entity.setDataChangeCreatedBy(owner);
entity.setDataChangeLastModifiedBy(owner);
entity.setDataChangeCreatedBy(operator);
entity.setDataChangeLastModifiedBy(operator);
itemRepository.save(entity);
}
auditService.audit("ItemSet", null, Audit.OP.INSERT, owner);
auditService.audit("ItemSet", null, Audit.OP.INSERT, operator);
}

if (!CollectionUtils.isEmpty(changeSet.getUpdateItems())) {
for (ItemDTO item : changeSet.getUpdateItems()) {
Item entity = BeanUtils.transfrom(Item.class, item);
Item managedItem = itemRepository.findOne(entity.getId());
BeanUtils.copyEntityProperties(entity, managedItem);
managedItem.setDataChangeLastModifiedBy(owner);
managedItem.setDataChangeLastModifiedBy(operator);
itemRepository.save(managedItem);
}
auditService.audit("ItemSet", null, Audit.OP.UPDATE, owner);
auditService.audit("ItemSet", null, Audit.OP.UPDATE, operator);
}

if (!CollectionUtils.isEmpty(changeSet.getDeleteItems())) {
for (ItemDTO item : changeSet.getDeleteItems()) {
Item entity = BeanUtils.transfrom(Item.class, item);
entity.setDataChangeLastModifiedBy(owner);
entity.setDeleted(true);
entity.setDataChangeLastModifiedBy(operator);
itemRepository.save(entity);
itemRepository.delete(item.getId());
}
auditService.audit("ItemSet", null, Audit.OP.DELETE, owner);
auditService.audit("ItemSet", null, Audit.OP.DELETE, operator);
}
}
}
Expand Up @@ -33,10 +33,17 @@ public boolean isNamespaceUnique(String appId, String cluster, String namespace)
}

@Transactional
public void delete(long id, String owner) {
namespaceRepository.delete(id);
public void delete(long id, String operator) {
Namespace namespace = namespaceRepository.findOne(id);
if (namespace == null) {
return;
}

namespace.setDeleted(true);
namespace.setDataChangeLastModifiedBy(operator);
namespaceRepository.save(namespace);

auditService.audit(Namespace.class.getSimpleName(), id, Audit.OP.DELETE, owner);
auditService.audit(Namespace.class.getSimpleName(), id, Audit.OP.DELETE, operator);
}

public Namespace findOne(Long namespaceId) {
Expand Down
Expand Up @@ -62,7 +62,7 @@ private ResponseEntity<Map<String, Object>> handleError(HttpServletRequest reque
errorAttributes.put("timestamp",
LocalDateTime.now().format(DateTimeFormatter.ISO_LOCAL_DATE_TIME));
errorAttributes.put("exception", resolveError(ex).getClass().getName());
errorAttributes.put("stackTrace", ex.getStackTrace());
// errorAttributes.put("stackTrace", ex.getStackTrace());
if (ex instanceof AbstractBaseException) {
errorAttributes.put("errorCode", ((AbstractBaseException) ex).getErrorCode());
}
Expand Down

0 comments on commit 49832e6

Please sign in to comment.