基础操作工具修改
diff --git a/leaveschool/common/src/main/java/com/supwisdom/leaveschool/common/repository/SimpleBaseDao.java b/leaveschool/common/src/main/java/com/supwisdom/leaveschool/common/repository/SimpleBaseDao.java
index ac36051..1a1d15d 100644
--- a/leaveschool/common/src/main/java/com/supwisdom/leaveschool/common/repository/SimpleBaseDao.java
+++ b/leaveschool/common/src/main/java/com/supwisdom/leaveschool/common/repository/SimpleBaseDao.java
@@ -1,5 +1,6 @@
 package com.supwisdom.leaveschool.common.repository;
 
+import java.util.Date;
 import java.util.List;
 import java.util.Map;
 
@@ -13,6 +14,7 @@
 import org.springframework.transaction.annotation.Transactional;
 
 import com.supwisdom.leaveschool.common.model.PageModel;
+import com.supwisdom.leaveschool.common.util.ReflectFieldUtil;
 
 
 @Transactional
@@ -86,16 +88,44 @@
 	
 	 @Transactional
 	  public void save(Object entity){
+		 entity = ReflectFieldUtil.setValue(entity, "addTime", new Date());// FIXME  缺少操作人
 		 entityManager.persist(entity);
 	  }
 	 
 	 @Transactional
 	 public void update(Object entity){
+		 entity = ReflectFieldUtil.setValue(entity, "editTime", new Date());  // FIXME  缺少操作人
 		 entityManager.merge(entity);
 	 }
-	 
+	 /**
+	  * 逻辑删除
+	  * @param entity
+	  */
 	 @Transactional
 	 public void delete(Object entity){
+		 entity = ReflectFieldUtil.setValue(entity, "deleted", true);
+		 entity = ReflectFieldUtil.setValue(entity, "deleteTime", new Date());// FIXME  缺少操作人
+		 //entityManager.remove(entity);
+		 entityManager.merge(entity);
+	 }
+	 /**
+	  * 根据id逻辑删除
+	  * @param entityType
+	  * @param id
+	  */
+	 @Transactional
+	 public <T> void deleteById(Class<T> entityType,String id){
+		 T entity = entityManager.find(entityType, id);
+		 entity = ReflectFieldUtil.setValue(entity, "deleted", true);
+		 entity = ReflectFieldUtil.setValue(entity, "deleteTime", new Date());// FIXME  缺少操作人
+		 entityManager.merge(entity);
+	 }
+	 /**
+	  * 物理删除
+	  * @param entity
+	  */
+	 @Transactional
+	 public void deletePhysics(Object entity){
 		 entityManager.remove(entity);
 	 }
 	
diff --git a/leaveschool/common/src/main/java/com/supwisdom/leaveschool/common/util/ReflectFieldUtil.java b/leaveschool/common/src/main/java/com/supwisdom/leaveschool/common/util/ReflectFieldUtil.java
index 56a676e..1b3be83 100644
--- a/leaveschool/common/src/main/java/com/supwisdom/leaveschool/common/util/ReflectFieldUtil.java
+++ b/leaveschool/common/src/main/java/com/supwisdom/leaveschool/common/util/ReflectFieldUtil.java
@@ -20,20 +20,26 @@
 	 * @throws Exception
 	 */
 	@SuppressWarnings({ "rawtypes", "unchecked" })
-	public static <T> Object setValue(T entity,String fieldName,Object fieldVlue) throws Exception{
-		if(fieldVlue!=null) {
-			Field field = entity.getClass().getDeclaredField(fieldName);
-			Class class1 = field.getType();//field.getDeclaringClass();
-			Class class2 = fieldVlue.getClass();
-			System.out.println(class1.isAssignableFrom(class2));
-			//判断两个类型是否相等
-			if(class1.isAssignableFrom(class2)) {
-				//setAccessible这行代码把对象上的id字段设置为public访问属性.
-				 field.setAccessible(true);
-				// 设置该T的属性
-				field.set(entity, fieldVlue);
+	public static <T> T setValue(T entity,String fieldName,Object fieldVlue){
+		try {
+			if(fieldVlue!=null) {
+				Field field = entity.getClass().getDeclaredField(fieldName);
+				Class class1 = field.getType();//field.getDeclaringClass();
+				Class class2 = fieldVlue.getClass();
+				//判断两个类型是否相等
+				if(class1.isAssignableFrom(class2)) {
+					//setAccessible这行代码把对象上的id字段设置为public访问属性.
+					 field.setAccessible(true);
+					// 设置该T的属性
+					field.set(entity, fieldVlue);
+				}
 			}
+			return entity;
+		} catch (Exception e) {
+			e.printStackTrace();
+			return null;
 		}
-		return entity;
+		
+		
 	}
 }
diff --git a/leaveschool/leaving/src/main/java/com/supwisdom/leaveschool/leaving/repository/Test.java b/leaveschool/leaving/src/main/java/com/supwisdom/leaveschool/leaving/repository/Test.java
index 5ece20c..1e506db 100644
--- a/leaveschool/leaving/src/main/java/com/supwisdom/leaveschool/leaving/repository/Test.java
+++ b/leaveschool/leaving/src/main/java/com/supwisdom/leaveschool/leaving/repository/Test.java
@@ -1,8 +1,12 @@
 package com.supwisdom.leaveschool.leaving.repository;
 
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.data.jpa.repository.support.SimpleJpaRepository;
 import org.springframework.stereotype.Service;
 @Service
 public class Test {
+	
+	
 	private String id="00";
 
 	public String getId() {
diff --git a/leaveschool/leaving/src/main/java/com/supwisdom/leaveschool/leaving/test/Test1.java b/leaveschool/leaving/src/main/java/com/supwisdom/leaveschool/leaving/test/Test1.java
index 87a3774..5b2fd1e 100644
--- a/leaveschool/leaving/src/main/java/com/supwisdom/leaveschool/leaving/test/Test1.java
+++ b/leaveschool/leaving/src/main/java/com/supwisdom/leaveschool/leaving/test/Test1.java
@@ -16,6 +16,8 @@
 	private Integer age;
 	
 	private Date thisTime;
+	
+	private Boolean deleted;
 
 	public String getId() {
 		return id;
@@ -56,5 +58,13 @@
 	public void setThisTime(Date thisTime) {
 		this.thisTime = thisTime;
 	}
+
+	public Boolean getDeleted() {
+		return deleted;
+	}
+
+	public void setDeleted(Boolean deleted) {
+		this.deleted = deleted;
+	}
 	
 }
diff --git a/leaveschool/leaving/src/main/java/com/supwisdom/leaveschool/leaving/test/TestMain.java b/leaveschool/leaving/src/main/java/com/supwisdom/leaveschool/leaving/test/TestMain.java
index 0a16467..9a4e037 100644
--- a/leaveschool/leaving/src/main/java/com/supwisdom/leaveschool/leaving/test/TestMain.java
+++ b/leaveschool/leaving/src/main/java/com/supwisdom/leaveschool/leaving/test/TestMain.java
@@ -1,7 +1,6 @@
 package com.supwisdom.leaveschool.leaving.test;
 
 import java.lang.reflect.Field;
-import java.util.Date;
 
 public class TestMain {
 	
@@ -26,7 +25,7 @@
 	
 	public static void main(String[] args) {
 		try {
-			System.out.println(save(new Test1(),"thisTime",new Date()));
+			System.out.println(save(new Test1(),"deleted",true));
 		} catch (Exception e) {
 			System.out.println(1111);
 			e.printStackTrace();