diff --git a/jpress-service-provider/src/main/java/io/jpress/service/provider/UserServiceProvider.java b/jpress-service-provider/src/main/java/io/jpress/service/provider/UserServiceProvider.java
index 2ec83bac6221f26127df6fc286bdd000016c6d5a..58bd5e31265ec7c5908e8741c9d3b5e8aac87b62 100644
--- a/jpress-service-provider/src/main/java/io/jpress/service/provider/UserServiceProvider.java
+++ b/jpress-service-provider/src/main/java/io/jpress/service/provider/UserServiceProvider.java
@@ -22,11 +22,10 @@ import com.jfinal.plugin.activerecord.Model;
 import com.jfinal.plugin.activerecord.Page;
 import io.jboot.Jboot;
 import io.jboot.aop.annotation.Bean;
-import io.jboot.components.cache.annotation.CacheEvict;
+import io.jboot.components.cache.annotation.Cacheable;
 import io.jboot.db.model.Columns;
 import io.jboot.service.JbootServiceBase;
 import io.jboot.utils.StrUtil;
-import io.jpress.commons.utils.SqlUtils;
 import io.jpress.model.User;
 import io.jpress.service.UserService;
 
@@ -37,9 +36,11 @@ public class UserServiceProvider extends JbootServiceBase<User> implements UserS
 
     @Override
     public boolean deleteByIds(Object... ids) {
-        boolean success = Db.update("delete from user where id in  " + SqlUtils.buildInSqlPara(ids)) > 0;
-        if (success) shouldUpdateCache(0, null);
-        return success;
+        for (Object id : ids){
+            User user = findById(id);
+            if (user != null) delete(user); //蹇呴』閫氳繃  delete(user) 鎵嶈兘娓呴櫎缂撳瓨
+        }
+        return true;
     }
 
 
@@ -118,7 +119,7 @@ public class UserServiceProvider extends JbootServiceBase<User> implements UserS
     }
 
     @Override
-    @CacheEvict(name = "userOpenIds", key = "#(openId)")
+    @Cacheable(name = "userOpenIds", key = "#(openId)")
     public User findFistByWxOpenid(String openId) {
         return DAO.findFirstByColumn("wx_openid", openId);
     }
@@ -136,10 +137,6 @@ public class UserServiceProvider extends JbootServiceBase<User> implements UserS
                 Jboot.getCache().remove("userOpenIds", user.getWxOpenid());
             }
         }
-
-        if (action == 0) {
-            Jboot.getCache().removeAll("userOpenIds");
-        }
     }
 
     private static final String[] defaultJoinAttrs = new String[]{"id", "username", "nickname", "avatar", "created", "signature"};