diff --git a/leaveschool/common/pom.xml b/leaveschool/common/pom.xml
index 2be58d3..51766c4 100644
--- a/leaveschool/common/pom.xml
+++ b/leaveschool/common/pom.xml
@@ -28,6 +28,11 @@
       <groupId>com.supwisdom.infras</groupId>
       <artifactId>infras-data-jpa</artifactId>
     </dependency>
+    
+    <dependency>
+      <groupId>com.supwisdom.infras</groupId>
+      <artifactId>infras-beans</artifactId>
+    </dependency>
 
     <dependency>
       <groupId>commons-collections</groupId>
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 1a1d15d..c00d4ce 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
@@ -13,6 +13,7 @@
 import org.springframework.stereotype.Repository;
 import org.springframework.transaction.annotation.Transactional;
 
+import com.supwisdom.leaveschool.common.domain.ABaseDomain;
 import com.supwisdom.leaveschool.common.model.PageModel;
 import com.supwisdom.leaveschool.common.util.ReflectFieldUtil;
 
@@ -88,13 +89,29 @@
 	
 	 @Transactional
 	  public void save(Object entity){
-		 entity = ReflectFieldUtil.setValue(entity, "addTime", new Date());// FIXME  缺少操作人
 		 entityManager.persist(entity);
 	  }
 	 
 	 @Transactional
+	 public <T extends ABaseDomain> void save(T entity , String username){
+		 if(username!=null&&username.trim().length()>0){
+			 entity.setAddAccount(username);
+			}
+		 entity.setAddTime(new Date());
+		 entityManager.persist(entity);
+	 }
+	 
+	 @Transactional
 	 public void update(Object entity){
-		 entity = ReflectFieldUtil.setValue(entity, "editTime", new Date());  // FIXME  缺少操作人
+		 entityManager.merge(entity);
+	 }
+	 
+	 @Transactional
+	 public  <T extends ABaseDomain> void update(T entity , String username){
+		 if(username!=null&&username.trim().length()>0){
+			 entity.setEditAccount(username);
+		 }
+		 entity.setEditTime(new Date());
 		 entityManager.merge(entity);
 	 }
 	 /**
@@ -103,12 +120,23 @@
 	  */
 	 @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);
 	 }
 	 /**
+	  * 逻辑删除
+	  * @param entity
+	  */
+	 @Transactional
+	 public  <T extends ABaseDomain>  void delete(T entity , String username){
+		 if(username!=null&&username.trim().length()>0){
+			 entity.setDeleteAccount(username);
+			}
+		 entity.setDeleteTime(new Date());
+		 entity.setDeleted(true);
+		 entityManager.merge(entity);
+	 }
+	 /**
 	  * 根据id逻辑删除
 	  * @param entityType
 	  * @param id
