diff --git a/log-manager-ui/admin/src/views/access/log/list.vue b/log-manager-ui/admin/src/views/access/log/list.vue
index cc3f34a9e1a84526bbfd082c34b66de563fab8f9..1eff3d0029383a2fd0b677feb9f00aa6b979f6d4 100644
--- a/log-manager-ui/admin/src/views/access/log/list.vue
+++ b/log-manager-ui/admin/src/views/access/log/list.vue
@@ -47,7 +47,7 @@
                             fuzzy: true
                         },
                         {
-                            name: "appName",
+                            name: "targetServer",
                             type: "text",
                             label: "搴旂敤鍚嶇О",
                             fuzzy: true
diff --git a/log-manager-ui/admin/src/views/biz/log/list.vue b/log-manager-ui/admin/src/views/biz/log/list.vue
index 36d5c97e524cdfdd6ad7e86c4d7e61c11334c226..000fdcb8ecbb0130b84ae01ba72923e843ca4333 100644
--- a/log-manager-ui/admin/src/views/biz/log/list.vue
+++ b/log-manager-ui/admin/src/views/biz/log/list.vue
@@ -60,7 +60,7 @@
                         {
                             name: "deviceCode",
                             type: "text",
-                            label: "璁惧鍞竴鏍囪瘑",
+                            label: "璁惧Id",
                             fuzzy: true
                         },
                         {
@@ -98,7 +98,7 @@
 
                         {label: "鐢ㄦ埛鏍囪瘑", prop: "userCode"},
 
-                        {label: "璁惧鏍囪瘑", prop: "deviceCode"},
+                        {label: "璁惧ID", prop: "deviceCode"},
 
                         {label: "浜嬩欢涓婚", prop: "eventTopic"},
 
diff --git a/log-manager-ui/admin/src/views/error/log/list.vue b/log-manager-ui/admin/src/views/error/log/list.vue
index f6751f45c3a5a47638bd2132117dbac94b4b576e..7dc830ace2a45f450a3d2f58b8c7ffadd78bfff1 100644
--- a/log-manager-ui/admin/src/views/error/log/list.vue
+++ b/log-manager-ui/admin/src/views/error/log/list.vue
@@ -38,18 +38,17 @@
             toView(row) {
                 this.$refs.drawerform.view(row);
             },
-
         },
         data() {
             return {
                 config: {
                     search: [
-                        {
-                            name: "traceID",
-                            type: "text",
-                            label: "TraceId",
-                            fuzzy: true
-                        },
+                      {
+                        name: "traceID",
+                        type: "text",
+                        label: "杩借釜Id",
+                        fuzzy: true
+                      },
                       {
                         name: "appName",
                         type: "select",
@@ -81,7 +80,7 @@
 
                         {type: "index",label: "搴忓彿",align:"center",width: 50},
 
-                        {label: "杩借釜Id", prop: "id"},
+                      {label: "TraceID", prop: "traceID"},
 
                         {label: "鏃ュ織鏉ユ簮", prop: "appName",formatter:this.formatter},
 
diff --git a/log-manager/pom.xml b/log-manager/pom.xml
index 38226c18558779f802d2ae07663213d0433626c4..ece5d40fde06c42b80620451062f1e00e3264541 100644
--- a/log-manager/pom.xml
+++ b/log-manager/pom.xml
@@ -188,25 +188,25 @@
 		</profile>
 
 		<profile>
-			<id>sngx</id>
+			<id>xuanhan</id>
 			<properties>
-				<profiles.active>sngx</profiles.active>
-				<profiles.server.ip>127.0.0.1</profiles.server.ip>
+				<profiles.active>yibin</profiles.active>
+				<profiles.server.ip>192.168.2.144</profiles.server.ip>
 				<profiles.server.port>18225</profiles.server.port>
 				<profiles.nginx.port>11092</profiles.nginx.port>
 				<profiles.server.gatewayport>11078</profiles.server.gatewayport>
-				<profiles.server.path>/logservice</profiles.server.path>
+				<profiles.server.path>/logService</profiles.server.path>
 				<profiles.publish.path>/home/publish</profiles.publish.path>
 				<profiles.datasource.uri>
 					<![CDATA[jdbc:mysql://127.0.0.1:3306/log-platform?useUnicode=true&characterEncoding=utf8&useSSL=false&serverTimezone=Hongkong]]></profiles.datasource.uri>
 				<profiles.datasource.username>root</profiles.datasource.username>
-				<profiles.datasource.password>root</profiles.datasource.password>
+				<profiles.datasource.password>xhx@2022</profiles.datasource.password>
 				<profiles.redis.uri>127.0.0.1</profiles.redis.uri>
 				<profiles.redis.port>6379</profiles.redis.port>
 				<profiles.redis.username></profiles.redis.username>
 				<profiles.redis.password>hotel@2020</profiles.redis.password>
 				<profiles.redis.database>9</profiles.redis.database>
-				<profiles.rabbitmq.host>192.168.0.250</profiles.rabbitmq.host>
+				<profiles.rabbitmq.host>127.0.0.1</profiles.rabbitmq.host>
 				<profiles.rabbitmq.port>5672</profiles.rabbitmq.port>
 				<profiles.rabbitmq.username>taxi_mq</profiles.rabbitmq.username>
 				<profiles.rabbitmq.password>admin@2020</profiles.rabbitmq.password>
@@ -215,15 +215,15 @@
 				<profiles.nacos.server-addr>127.0.0.1:8848</profiles.nacos.server-addr>
 				<profiles.nacos.group>DEFAULT_GROUP</profiles.nacos.group>
 				<profiles.nacos.namespace>smart-gov</profiles.nacos.namespace>
-				<profiles.log.path>/home/mortals/app/logs</profiles.log.path>
-				<profiles.filepath>/mortals/app/data</profiles.filepath>
-				<package.environment>build</package.environment>
-				<skipDeploy>false</skipDeploy>
+				<profiles.log.path>D:/home/mortals/app/logs</profiles.log.path>
+				<profiles.filepath>D:/mortals/app/data</profiles.filepath>
+				<package.environment>yibin</package.environment>
+				<skipDeploy>true</skipDeploy>
 			</properties>
 		</profile>
 
 	</profiles>
-	
+
 	<properties>
 	</properties>
 
diff --git a/log-manager/src/main/java/com/mortals/xhx/base/framework/interceptor/AuthTokenServiceImpl.java b/log-manager/src/main/java/com/mortals/xhx/base/framework/interceptor/AuthTokenServiceImpl.java
index 2c5fbd25cc8a3ef820b2153886c8ded14f16f4ba..05cdc00ced4677f3ea83c9864f07c5a253169c51 100644
--- a/log-manager/src/main/java/com/mortals/xhx/base/framework/interceptor/AuthTokenServiceImpl.java
+++ b/log-manager/src/main/java/com/mortals/xhx/base/framework/interceptor/AuthTokenServiceImpl.java
@@ -94,10 +94,12 @@ public class AuthTokenServiceImpl implements IAuthTokenService {
                 String uuid = (String) claims.get(SysConstains.LOGIN_USER_KEY);
                 String userKey = getTokenKey(uuid);
 /*                cacheService.select(portalDb);
-                String userStr = cacheService.get(userKey);*/
+                String userStr = cacheService.get(userKey);
+
+                cacheService.select(db);*/
+
                 RedisTemplate<String, String> redisTemplate = cacheService.selectDbRedisTemplate(portalDb);
                 String userStr =redisTemplate.opsForValue().get(userKey);
-               // cacheService.select(db);
                 if (StringUtils.isNotEmpty(userStr)) {
                     UserEntity userEntity = JSONObject.parseObject(userStr, UserEntity.class);
                     userEntity.setToken(token);
diff --git a/log-manager/src/main/java/com/mortals/xhx/base/framework/listener/AccessMessageConsumerListener.java b/log-manager/src/main/java/com/mortals/xhx/base/framework/listener/AccessMessageConsumerListener.java
index c1c08d77573f98cc0eda5c036584b56d82b792d1..9a1c833ef67db9f9838c9479acacdeba791a5a2e 100644
--- a/log-manager/src/main/java/com/mortals/xhx/base/framework/listener/AccessMessageConsumerListener.java
+++ b/log-manager/src/main/java/com/mortals/xhx/base/framework/listener/AccessMessageConsumerListener.java
@@ -81,10 +81,10 @@ public class AccessMessageConsumerListener {
                 entity.setCreateUserId(1L);
                 entity.setCreateTime(new Date());
                 //鍒ゆ柇 瓒呰繃涓€瀹氭椂闂寸殑璇锋眰 鎵嶈褰�
-//                if (!ObjectUtils.isEmpty(entity.getDuration()) && entity.getDuration() < Constant.ACCESS_EXPIRE_TIME) {
-//                   // log.info("Duration:{}",entity.getDuration());
-//                    return null;
-//                }
+                if (!ObjectUtils.isEmpty(entity.getDuration()) && entity.getDuration() < Constant.ACCESS_EXPIRE_TIME) {
+                   // log.info("Duration:{}",entity.getDuration());
+                    return null;
+                }
                 return entity;
             } catch (Exception e) {
                 log.info("鍙嶅簭鍒楀寲寮傚父", e);
diff --git a/log-manager/src/main/java/com/mortals/xhx/base/system/user/dao/ibatis/UserDaoImpl.java b/log-manager/src/main/java/com/mortals/xhx/base/system/user/dao/ibatis/UserDaoImpl.java
index 9980470d15f7461aa956ece75e5d98338786b51c..e1f809d42f680d7ccaf21a0209cfc1fcb9f2fa60 100644
--- a/log-manager/src/main/java/com/mortals/xhx/base/system/user/dao/ibatis/UserDaoImpl.java
+++ b/log-manager/src/main/java/com/mortals/xhx/base/system/user/dao/ibatis/UserDaoImpl.java
@@ -8,11 +8,10 @@
 
 package com.mortals.xhx.base.system.user.dao.ibatis;
 
-import com.mortals.xhx.base.system.user.dao.UserDao;
-import com.mortals.xhx.base.system.user.model.UserEntity;
 import com.mortals.framework.dao.ibatis.BaseCRUDDaoMybatis;
 import com.mortals.framework.model.ParamDto;
-
+import com.mortals.xhx.base.system.user.dao.UserDao;
+import com.mortals.xhx.base.system.user.model.UserEntity;
 import org.springframework.stereotype.Repository;
 
 import java.util.List;
diff --git a/log-manager/src/main/java/com/mortals/xhx/base/system/user/model/UserEntity.java b/log-manager/src/main/java/com/mortals/xhx/base/system/user/model/UserEntity.java
index ede56293817822e39325d7d956d6ce9dd70fbbd3..20f30ab91cacf06f7a8e70e1d98983fd7df4453e 100644
--- a/log-manager/src/main/java/com/mortals/xhx/base/system/user/model/UserEntity.java
+++ b/log-manager/src/main/java/com/mortals/xhx/base/system/user/model/UserEntity.java
@@ -131,8 +131,7 @@ public class UserEntity extends UserVo implements IUser {
 
     @Override
     public boolean isAdmin() {
-        return true;
-       // return super.getId() == null ? false : super.getId().longValue() == SysConstains.ADMIN_ID;
+        return super.getId() == null ? false : super.getId().longValue() == SysConstains.ADMIN_ID;
     }
 
     @Override
diff --git a/log-manager/src/main/java/com/mortals/xhx/base/system/user/model/UserEntityExt.java b/log-manager/src/main/java/com/mortals/xhx/base/system/user/model/UserEntityExt.java
deleted file mode 100644
index 204419c46c09c8a2bcf7fa7440d176673fde6b9b..0000000000000000000000000000000000000000
--- a/log-manager/src/main/java/com/mortals/xhx/base/system/user/model/UserEntityExt.java
+++ /dev/null
@@ -1,42 +0,0 @@
-package com.mortals.xhx.base.system.user.model;
-
-import com.mortals.framework.model.BaseEntityLong;
-import lombok.Data;
-
-import java.util.List;
-
-/**
- * Description:User
- * date: 2021-9-26 16:11:48
- */
-@Data
-public class UserEntityExt extends BaseEntityLong {
-    /**
-     * 绔欑偣鍚嶇О
-     */
-    private String siteName;
-
-    private String roleIds;
-    /**
-     * 鍞竴鏍囪瘑
-     */
-    private String token;
-    /**
-     * 鑿滃崟鏍�
-     */
-    private String menuUrl;
-
-    /**
-     * 鐧诲綍鏃堕棿
-     */
-    private Long loginTime;
-
-    /**
-     * 杩囨湡鏃堕棿
-     */
-    private Long expireTime;
-
-
-
-
-}
\ No newline at end of file
diff --git a/log-manager/src/main/java/com/mortals/xhx/base/system/user/model/UserQuery.java b/log-manager/src/main/java/com/mortals/xhx/base/system/user/model/UserQuery.java
index e8d58eec6228ef0f2916fe32ac87f9c94e2da1a9..0b76d804f0487404636a1117ca4f436ebcc46cb1 100644
--- a/log-manager/src/main/java/com/mortals/xhx/base/system/user/model/UserQuery.java
+++ b/log-manager/src/main/java/com/mortals/xhx/base/system/user/model/UserQuery.java
@@ -1,7 +1,6 @@
 package com.mortals.xhx.base.system.user.model;
 
 
-import java.util.Date;
 import java.util.List;
 /**
  * 鐢ㄦ埛淇℃伅涓氬姟鏌ヨ瀵硅薄
diff --git a/log-manager/src/main/java/com/mortals/xhx/base/system/user/model/vo/UserVo.java b/log-manager/src/main/java/com/mortals/xhx/base/system/user/model/vo/UserVo.java
index aae3f6758b2fca1af21230de5f16dd0c495fdf8b..ed02779044f07d409862f86e88013c02fdecebbd 100644
--- a/log-manager/src/main/java/com/mortals/xhx/base/system/user/model/vo/UserVo.java
+++ b/log-manager/src/main/java/com/mortals/xhx/base/system/user/model/vo/UserVo.java
@@ -4,9 +4,6 @@ package com.mortals.xhx.base.system.user.model.vo;
 import com.mortals.framework.model.BaseEntityLong;
 import lombok.Data;
 
-import java.util.ArrayList;
-import java.util.List;
-
 /**
  * 鐢ㄦ埛淇℃伅涓氬姟瑙嗗浘瀵硅薄
  *
@@ -15,6 +12,7 @@ import java.util.List;
  */
 @Data
 public class UserVo extends BaseEntityLong {
+
     /**
      * 绔欑偣鍚嶇О
      */
@@ -39,4 +37,8 @@ public class UserVo extends BaseEntityLong {
      * 杩囨湡鏃堕棿
      */
     private Long expireTime;
+
+    private String oldPassword;
+    private String newPassword;
+    private String siteIds;
 }
\ No newline at end of file
diff --git a/log-manager/src/main/java/com/mortals/xhx/base/system/user/service/UserService.java b/log-manager/src/main/java/com/mortals/xhx/base/system/user/service/UserService.java
index 741268692c12c00895ba1c6dce9a146e44ce24c8..f7e502d99cdc8007a023be5f7696dff4420565a1 100644
--- a/log-manager/src/main/java/com/mortals/xhx/base/system/user/service/UserService.java
+++ b/log-manager/src/main/java/com/mortals/xhx/base/system/user/service/UserService.java
@@ -8,9 +8,9 @@
 
 package com.mortals.xhx.base.system.user.service;
 
+import com.mortals.framework.common.Rest;
 import com.mortals.framework.exception.AppException;
-import com.mortals.framework.model.Result;
-import com.mortals.framework.service.ICRUDService;
+import com.mortals.framework.service.ICRUDCacheService;
 import com.mortals.framework.service.IUser;
 import com.mortals.xhx.base.system.menu.model.MenuEntity;
 import com.mortals.xhx.base.system.user.dao.UserDao;
@@ -28,17 +28,9 @@ import java.util.Set;
  * @version 1.0.0
  */
 
-public interface UserService extends ICRUDService<UserEntity,Long> {
-    /**
-     * 鐢ㄦ埛鐧诲綍
-     *
-     * @param loginName 鐧诲綍鐢ㄦ埛鍚�
-     * @param password  鐧诲綍瀵嗙爜
-     * @param loginIp   鐧诲綍IP
-     * @return
-     * @throws AppException
-     */
-     UserEntity doLogin(String loginName, String password, String loginIp) throws AppException;
+public interface UserService extends ICRUDCacheService<UserEntity,Long> {
+
+
 
     /**
      * 鏍¢獙鐢ㄦ埛鍚嶄笌瀵嗙爜鏄惁姝g‘
@@ -48,16 +40,7 @@ public interface UserService extends ICRUDService<UserEntity,Long> {
      * @return
      * @throws AppException
      */
-     UserEntity doCheckUser(String loginName, String password) throws AppException;
-
-    /**
-     * 妫€鏌ョ敤鎴锋槸鍚﹀瓨鍦�
-     *
-     * @param loginName 鐧诲綍鐢ㄦ埛鍚�
-     * @param userId    瀵嗙爜
-     * @return
-     */
-     boolean existUser(String loginName, Long userId) throws AppException;
+    UserEntity doCheckUser(String loginName, String password) throws AppException;
 
     /**
      * 閫氳繃鐧诲綍鐢ㄦ埛鑾峰彇鑿滃崟鍔熻兘鏉冮檺
@@ -73,49 +56,10 @@ public interface UserService extends ICRUDService<UserEntity,Long> {
      * @param userEntity
      * @return
      */
-     Set<Long> findAllAuthIds(UserEntity userEntity) throws AppException;
-
-    /**
-     * 鏌ヨ鐢ㄦ埛璁板綍
-     *
-     * @param platformId
-     * @param params
-     * @param currPage
-     * @param prePageResult
-     * @return
-     * @throws AppException
-     */
-     Result<UserEntity> find(Long platformId, UserEntity params, int currPage, int prePageResult) throws AppException;
-
-    /**
-     * 涓哄鎴峰垱寤虹敤鎴�
-     *
-     * @param currUser     褰撳墠鐢ㄦ埛
-     * @param customerId   瀹㈡埛ID
-     * @param customerName 瀹㈡埛鍚嶇О
-     * @param loginName
-     * @param password
-     * @param userName
-     * @param mobile
-     * @return
-     * @throws AppException
-     */
-     UserEntity createUser(IUser currUser, Long customerId, String customerName, String loginName, String password,
-                                 String userName, String mobile) throws AppException;
-
-    /**
-     * 鐢ㄦ埛淇敼瀵嗙爜
-     *
-     * @param loginName
-     * @param oldPwd
-     * @param newPwd
-     * @return
-     * @throws AppException
-     */
-     boolean updateUserPwd(String loginName, String oldPwd, String newPwd) throws AppException;
-
+    Set<Long> findAllAuthIds(UserEntity userEntity) throws AppException;
 
+    Rest<Void> refreshUser();
 
-      UserDao getUserDao();
+    UserDao getUserDao();
 
 }
\ No newline at end of file
diff --git a/log-manager/src/main/java/com/mortals/xhx/base/system/user/service/impl/UserServiceImpl.java b/log-manager/src/main/java/com/mortals/xhx/base/system/user/service/impl/UserServiceImpl.java
index cc0cf32509c85d23a759937c6b82cc7a7aa53129..7d7fc590bb54f9400cdedfe0c9ed5935fda260c3 100644
--- a/log-manager/src/main/java/com/mortals/xhx/base/system/user/service/impl/UserServiceImpl.java
+++ b/log-manager/src/main/java/com/mortals/xhx/base/system/user/service/impl/UserServiceImpl.java
@@ -9,13 +9,12 @@
 package com.mortals.xhx.base.system.user.service.impl;
 
 import com.mortals.framework.ap.SysConstains;
-import com.mortals.framework.common.code.UserType;
+import com.mortals.framework.common.Rest;
 import com.mortals.framework.exception.AppException;
 import com.mortals.framework.model.Context;
 import com.mortals.framework.model.PageInfo;
-import com.mortals.framework.model.Result;
 import com.mortals.framework.service.IUser;
-import com.mortals.framework.service.impl.AbstractCRUDServiceImpl;
+import com.mortals.framework.service.impl.AbstractCRUDCacheServiceImpl;
 import com.mortals.framework.util.SecurityUtil;
 import com.mortals.framework.util.StringUtils;
 import com.mortals.xhx.base.system.menu.model.MenuEntity;
@@ -24,15 +23,19 @@ import com.mortals.xhx.base.system.resource.model.ResourceEntity;
 import com.mortals.xhx.base.system.resource.service.ResourceService;
 import com.mortals.xhx.base.system.role.model.RoleUserEntity;
 import com.mortals.xhx.base.system.role.model.RoleUserQuery;
-import com.mortals.xhx.base.system.role.service.RoleService;
 import com.mortals.xhx.base.system.role.service.RoleUserService;
 import com.mortals.xhx.base.system.user.dao.UserDao;
 import com.mortals.xhx.base.system.user.model.UserEntity;
 import com.mortals.xhx.base.system.user.model.UserQuery;
 import com.mortals.xhx.base.system.user.service.UserService;
-
-
+import com.mortals.xhx.common.code.YesNoEnum;
+import com.mortals.xhx.common.pdu.RespData;
+import com.mortals.xhx.common.pdu.user.UserPdu;
+import com.mortals.xhx.feign.user.IUserFeign;
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.beans.BeanUtils;
 import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.context.annotation.Lazy;
 import org.springframework.stereotype.Service;
 import org.springframework.util.ObjectUtils;
 
@@ -49,69 +52,67 @@ import java.util.stream.Collectors;
  * @version 1.0.0
  */
 @Service("userService")
-public class UserServiceImpl extends AbstractCRUDServiceImpl<UserDao, UserEntity, Long> implements UserService {
+@Slf4j
+public class UserServiceImpl extends AbstractCRUDCacheServiceImpl<UserDao, UserEntity, Long> implements UserService {
 
 
     @Autowired
     private MenuService menuService;
     @Autowired
     private ResourceService resourceService;
-    @Autowired
-    private RoleService roleService;
+
     @Autowired
     private RoleUserService roleUserService;
 
-    private void doHandlerUser(UserEntity entity) throws AppException {
-        if (StringUtils.isNotEmpty(entity.getLoginPwd())) {
-            try {
-                entity.setLoginPwd(SecurityUtil.md5DoubleEncoding(entity.getLoginPwd()));
-            } catch (Exception e) {
-                throw new AppException("瀵嗙爜杞崲寮傚父");
-            }
-        } else {
-            entity.setLoginPwd(null);
-        }
-    }
+    @Lazy
+    @Autowired
+    private IUserFeign userFeign;
 
     @Override
-    protected void saveBefore(UserEntity entity, Context context) throws AppException {
-        if (!ObjectUtils.isEmpty(entity.getLoginName()) && existUser(entity.getLoginName(), entity.getId())) {
-            throw new AppException("鐧诲綍鍚嶅凡瀛樺湪锛�");
-        }
-        this.doHandlerUser(entity);
-
+    protected String getExtKey(UserEntity data) {
+        return data.getLoginName();
     }
 
+
     @Override
-    protected void updateBefore(UserEntity entity, Context context) throws AppException {
-//        if (entity.getId().longValue() == SysConstains.ADMIN_ID && !context.getUser().isAdmin()) {
-//            throw new AppException("浣犳病鏈夋潈闄愭墽琛岃鎿嶄綔");
-//        }
+    public UserEntity doCheckUser(String loginName, String password) throws AppException {
 
-        //鏇存柊涓嶆洿鏂板瘑鐮佸瓧娈�
-        entity.setLoginPwd(null);
-        this.doHandlerUser(entity);
-        //鏇存柊瑙掕壊
-        if(entity.getId().longValue() != SysConstains.ADMIN_ID &&!ObjectUtils.isEmpty(entity.getRoleIds())){
-            RoleUserQuery roleUserQuery = new RoleUserQuery();
-            roleUserQuery.setUserId(entity.getId());
-            List<Long> idList = Arrays.asList(entity.getRoleIds().split(",")).stream().map(Long::parseLong).collect(Collectors.toList());
-            roleUserQuery.setRoleIdList(idList);
-            roleUserService.doDistributionRole(roleUserQuery);
+        UserQuery params = new UserQuery();
+        params.setLoginName(loginName);
+        UserEntity sysUser = this.selectOne(params);
+        if (sysUser == null || !sysUser.getLoginName().equals(loginName)) {
+            return null;
         }
+        try {
+            if (!sysUser.getLoginPwd().equals(SecurityUtil.md5DoubleEncoding(password))) {
+                return null;
+            }
+        } catch (Exception e) {
+            log.error("鏌ヨ鐢ㄦ埛寮傚父锛宭oginName:" + loginName, e);
+            return null;
+        }
+        return sysUser;
     }
 
+
     @Override
     protected void saveAfter(UserEntity entity, Context context) throws AppException {
-        //鏇存柊瑙掕壊
-        if(!ObjectUtils.isEmpty(entity.getId())&&entity.getId().longValue() != SysConstains.ADMIN_ID &&!ObjectUtils.isEmpty(entity.getRoleIds())){
+        updateUserRole(entity);
+    }
+
+    @Override
+    protected void updateAfter(UserEntity entity, Context context) throws AppException {
+        updateUserRole(entity);
+    }
+
+    private void updateUserRole(UserEntity entity) {
+        if (!ObjectUtils.isEmpty(entity.getId()) && entity.getId().longValue() != SysConstains.ADMIN_ID && !ObjectUtils.isEmpty(entity.getRoleIds())) {
             RoleUserQuery roleUserQuery = new RoleUserQuery();
             roleUserQuery.setUserId(entity.getId());
             List<Long> idList = Arrays.asList(entity.getRoleIds().split(",")).stream().map(Long::parseLong).collect(Collectors.toList());
             roleUserQuery.setRoleIdList(idList);
             roleUserService.doDistributionRole(roleUserQuery);
         }
-        super.saveAfter(entity, context);
     }
 
     @Override
@@ -122,66 +123,8 @@ public class UserServiceImpl extends AbstractCRUDServiceImpl<UserDao, UserEntity
             String roleIds = roleUserService.find(roleUserQuery).stream().map(RoleUserEntity::getRoleId).map(String::valueOf).collect(Collectors.joining(","));
             item.setRoleIds(roleIds);
         }).count();
-        super.findAfter(params, pageInfo, context, list);
-    }
-
-    @Override
-    protected UserEntity findBefore(UserEntity params, Context context) throws AppException {
-//        if (StringUtils.isNotEmpty(params.getDeptIds())) {
-//            params.setDeptIds(StringUtils.fillWithMark(params.getDeptIds(), ","));
-//        }
-        return super.findBefore(params, context);
-    }
-
-    @Override
-    protected UserEntity findBefore(UserEntity params, PageInfo pageInfo, Context context) throws AppException {
-//        if (StringUtils.isNotEmpty(params.getDeptIds())) {
-//            params.setDeptIds(StringUtils.fillWithMark(params.getDeptIds(), ","));
-//        }
-        return super.findBefore(params, pageInfo, context);
     }
 
-    public UserEntity findByLoginName(String loginName) {
-        UserQuery params = new UserQuery();
-        params.setLoginName(loginName);
-        List<UserEntity> userList = super.dao.getList(params);
-        if (userList != null && userList.size() > 0) {
-            return userList.get(0);
-        }
-        return null;
-    }
-
-    @Override
-    public UserEntity doLogin(String loginName, String password, String loginIp) throws AppException {
-        UserEntity sysUser = this.findByLoginName(loginName);
-        if (sysUser == null || !sysUser.getLoginName().equals(loginName)) {
-            throw new AppException("鐢ㄦ埛鍚嶄笉瀛樺湪锛�");
-        }
-        try {
-            if (!sysUser.getLoginPwd().equals(SecurityUtil.md5DoubleEncoding(password))) {
-                throw new AppException("鐧诲綍瀵嗙爜閿欒锛�");
-            }
-        } catch (Exception e) {
-            throw new AppException("瀵嗙爜楠岃鍑洪敊锛�", e);
-        }
-        return sysUser;
-    }
-
-    @Override
-    public UserEntity doCheckUser(String loginName, String password) throws AppException {
-        UserEntity sysUser = this.findByLoginName(loginName);
-        if (sysUser == null || !sysUser.getLoginName().equals(loginName)) {
-            return null;
-        }
-        try {
-            if (!sysUser.getLoginPwd().equals(SecurityUtil.md5DoubleEncoding(password))) {
-                return null;
-            }
-        } catch (Exception e) {
-            return null;
-        }
-        return sysUser;
-    }
 
     @Override
     public Set<Long> findAllAuthIds(UserEntity userEntity) throws AppException {
@@ -207,7 +150,7 @@ public class UserServiceImpl extends AbstractCRUDServiceImpl<UserDao, UserEntity
                 urls.addAll(StringUtils.converStr2Set(url));
             }
         }
-        Set<Long> authIds = new HashSet<>();
+        Set<Long> authIds = new HashSet<Long>();
         Map<Long, MenuEntity> menuMap = new HashMap<Long, MenuEntity>();
         List<MenuEntity> userModuleList = this.menuService.findAllEnable();
         for (MenuEntity sysModule : userModuleList) {
@@ -215,7 +158,6 @@ public class UserServiceImpl extends AbstractCRUDServiceImpl<UserDao, UserEntity
                 continue;
             }
             menuMap.put(sysModule.getId(), sysModule);
-
             if (!user.isAdmin() && urls.contains(StringUtils.trim(sysModule.getUrl()))) {
                 authIds.add(sysModule.getId());
             }
@@ -250,86 +192,85 @@ public class UserServiceImpl extends AbstractCRUDServiceImpl<UserDao, UserEntity
     }
 
     @Override
-    public Result<UserEntity> find(Long platformId, UserEntity params, int currPage, int prePageResult) throws AppException {
-        PageInfo pageInfo = new PageInfo(prePageResult);
-        pageInfo.setCurrPage(currPage);
-        return super.find(params, pageInfo, null);
-    }
+    public Rest<Void> refreshUser() {
+        UserPdu userPdu = new UserPdu();
+        userPdu.setPage(1);
+        userPdu.setSize(-1);
+        Rest<RespData<List<UserPdu>>> resp = userFeign.list(userPdu);
+        if (resp.getCode() == YesNoEnum.YES.getValue()) {
+            List<UserPdu> userPduList = resp.getData().getData();
+            log.info("鐢ㄦ埛鎬绘暟閲忥細{}", userPduList.size());
+            if (!ObjectUtils.isEmpty(userPduList)) {
+                List<UserEntity> newUserList = userPduList.stream().map(newUser -> {
+                    UserEntity userEntity = new UserEntity();
+                    userEntity.initAttrValue();
+                    BeanUtils.copyProperties(newUser, userEntity, new String[]{"id", "lastLoginTime", "lastLoginAddress"});
+                    return userEntity;
+                }).collect(Collectors.toList());
 
-    @Override
-    public UserEntity createUser(IUser currUser, Long customerId, String customerName, String loginName, String password,
-                                 String userName, String mobile) throws AppException {
-        try {
-            UserEntity entity = new UserEntity();
-            entity.initAttrValue();
-            entity.setLoginName(loginName);
-            entity.setRealName(userName);
-            entity.setLoginPwd(password);
-            entity.setMobile(mobile);
-            entity.setUserType(UserType.CUSTOMER.getValue());
-            entity.setCreateTime(new Date());
-            if (currUser != null) {
-                entity.setCreateUser(currUser.getLoginName());
-                entity.setCreateUserName(currUser.getRealName());
-            }
-            this.doHandlerUser(entity);
-            dao.insert(entity);
-            return entity;
-        } catch (Exception e) {
-            log.error("缁欏鎴峰垱寤虹敤鎴峰紓甯�-->customerId:" + customerId + ",customerName:" + customerName + ",loginName:" + loginName +
-                    "-->鍘熷洜锛�" + e.getMessage());
-            return null;
-        }
-    }
+                List<UserEntity> saveUpdateUserList = newUserList.parallelStream().map(item -> {
+                    UserEntity extCache = this.getExtCache(item.getLoginName());
+                    if (ObjectUtils.isEmpty(extCache)) {
+                        item.setCreateUserId(1L);
+                        item.setCreateUserName("绯荤粺绠$悊鍛�");
+                        item.setCreateTime(new Date());
+                        return item;
+                    } else {
+                        //鏇存柊鐢ㄦ埛鍒楄〃
+                        item.setId(extCache.getId());
+                        item.setUpdateUserId(1L);
+                        item.setUpdateUserName("绯荤粺绠$悊鍛�");
+                        item.setUpdateTime(new Date());
+                        return item;
+                    }
+                }).collect(Collectors.toList());
+                Map<Boolean, List<UserEntity>> saveUpdateCollect = saveUpdateUserList.stream().collect(Collectors.partitioningBy(x -> x.getId() == null));
+                if (!ObjectUtils.isEmpty(saveUpdateCollect.get(true))) {
+                    //闇€瑕佹柊澧炵殑鐢ㄦ埛
+                    log.info("闇€瑕佹柊澧炵敤鎴锋暟閲忥細{}", saveUpdateCollect.get(true).size());
+                    saveUpdateCollect.get(true).stream().forEach(item -> {
+                        this.getUserDao().insert(item);
+                        this.putCache(item.getId() == null ? "" : item.getId().toString(), item);
+                        RoleUserQuery roleUserQuery = new RoleUserQuery();
+                        roleUserQuery.setUserId(item.getId());
+                        roleUserQuery.setRoleIdList(Arrays.asList(1L));
+                        roleUserService.doDistributionRole(roleUserQuery);
+                    });
+                }
 
-    @Override
-    public boolean existUser(String loginName, Long userId) throws AppException {
-        UserEntity sysUser = this.findByLoginName(loginName);
-        boolean bRet = false;
-        if (sysUser != null) {
-            if (userId == null || userId == 0 || userId.longValue() != sysUser.getId().longValue()) {
-                bRet = true;
+                if (!ObjectUtils.isEmpty(saveUpdateCollect.get(false))) {
+                    //闇€瑕佹柊澧炵殑鐢ㄦ埛
+                    log.info("闇€瑕佹洿鏂扮敤鎴锋暟閲忥細{}", saveUpdateCollect.get(false).size());
+                    saveUpdateCollect.get(false).stream().forEach(item -> {
+                        this.getUserDao().update(item);
+                        this.putCache(item.getId() == null ? "" : item.getId().toString(), item);
+                    });
+                }
+                //宸泦鍒犻櫎
+                Set<String> collectSet = newUserList.parallelStream().map(x -> x.getLoginName()).collect(Collectors.toSet());
+                Long[] removeUserIds = this.getCacheList().parallelStream().filter(f -> !collectSet.contains(f.getLoginName())).map(i -> i.getId()).distinct().toArray(Long[]::new);
+                if (!ObjectUtils.isEmpty(removeUserIds)) {
+                    log.info("闇€瑕佸垹闄ょ殑鏈湴鐢ㄦ埛鏁伴噺:{}", removeUserIds.length);
+                    this.remove(removeUserIds, null);
+                }
             }
+            //鏌ユ壘鏂板 涓庢洿鏂�
         }
-        return bRet;
+        return Rest.ok();
     }
 
     @Override
-    public boolean updateUserPwd(String loginName, String oldPwd, String newPwd) throws AppException {
-        UserEntity sysUser = this.findByLoginName(loginName);
-        if (sysUser == null || !sysUser.getLoginName().equals(loginName)) {
-            throw new AppException("甯愬彿閿欒锛�");
-        }
-        try {
-            if (!sysUser.getLoginPwd().equals(SecurityUtil.md5DoubleEncoding(oldPwd))) {
-                throw new AppException("鍘熷瀵嗙爜閿欒锛�");
-            }
-        } catch (Exception e) {
-            throw new AppException("瀵嗙爜楠岃鍑洪敊锛�", e);
-        }
-        try {
-            sysUser.setLoginPwd(SecurityUtil.md5DoubleEncoding(newPwd));
-        } catch (Exception e) {
-            throw new AppException("瀵嗙爜杞崲寮傚父锛�", e);
-        }
-        dao.update(sysUser);
-        return true;
+    protected void removeAfter(Long[] ids, Context context, int result) throws AppException {
+        super.removeAfter(ids, context, result);
+        RoleUserQuery roleUserQuery = new RoleUserQuery();
+        roleUserQuery.setUserIdList(Arrays.asList(ids));
+        Long[] userIds = roleUserService.find(roleUserQuery).stream().map(RoleUserEntity::getId).toArray(Long[]::new);
+        roleUserService.remove(userIds, context);
     }
 
-    @Override
-    public UserDao getUserDao() {
-        return getDao();
-    }
 
     @Override
-    protected void removeAfter(Long[] ids, Context context, int result) throws AppException {
-        Arrays.asList(ids).stream().peek(userId->{
-            RoleUserQuery roleUserQuery = new RoleUserQuery();
-            roleUserQuery.setUserId(userId);
-            Long[] userIds = roleUserService.find(roleUserQuery).stream().map(RoleUserEntity::getId).toArray(Long[]::new);
-            roleUserService.remove(userIds,context);
-        }).count();
-
-        super.removeAfter(ids, context, result);
+    public UserDao getUserDao() {
+        return this.getDao();
     }
 }
\ No newline at end of file
diff --git a/log-manager/src/main/java/com/mortals/xhx/base/system/user/web/UserController.java b/log-manager/src/main/java/com/mortals/xhx/base/system/user/web/UserController.java
index 944d3cc25e35eb974b77d50a837104f66306aee2..0e8f2c66af12e9ea4761b86e182fa56be017c1c2 100644
--- a/log-manager/src/main/java/com/mortals/xhx/base/system/user/web/UserController.java
+++ b/log-manager/src/main/java/com/mortals/xhx/base/system/user/web/UserController.java
@@ -1,44 +1,40 @@
+/**
+ * 鏂囦欢锛歎serController.java
+ * 鐗堟湰锛�1.0.0
+ * 鏃ユ湡锛�
+ * Copyright &reg;
+ * All right reserved.
+ */
 package com.mortals.xhx.base.system.user.web;
 
 
-import com.alibaba.fastjson.JSONObject;
+import com.mortals.framework.annotation.UnAuth;
 import com.mortals.framework.common.IBaseEnum;
+import com.mortals.framework.common.Rest;
 import com.mortals.framework.common.code.UserType;
-import com.mortals.framework.exception.AppException;
 import com.mortals.framework.model.Context;
 import com.mortals.framework.web.BaseCRUDJsonBodyMappingController;
-import com.mortals.framework.web.BaseCRUDJsonMappingController;
-import com.mortals.xhx.base.framework.annotation.Operlog;
-import com.mortals.xhx.base.system.role.model.RoleQuery;
-import com.mortals.xhx.base.system.role.model.RoleUserEntity;
-import com.mortals.xhx.base.system.role.model.RoleUserQuery;
+import com.mortals.xhx.base.system.role.model.RoleEntity;
 import com.mortals.xhx.base.system.role.service.RoleService;
-import com.mortals.xhx.base.system.role.service.RoleUserService;
 import com.mortals.xhx.base.system.user.model.UserEntity;
 import com.mortals.xhx.base.system.user.service.UserService;
 import com.mortals.xhx.common.code.UserStatus;
-import io.jsonwebtoken.Claims;
-import io.jsonwebtoken.Jwts;
 import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.util.ObjectUtils;
-import org.springframework.util.StringUtils;
+import org.springframework.web.bind.annotation.PostMapping;
 import org.springframework.web.bind.annotation.RequestMapping;
-import org.springframework.web.bind.annotation.RequestMethod;
-import org.springframework.web.bind.annotation.RequestParam;
 import org.springframework.web.bind.annotation.RestController;
 
-import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpServletResponse;
-import java.util.Base64;
-import java.util.HashMap;
+import java.util.List;
 import java.util.Map;
 import java.util.stream.Collectors;
 
 /**
- * 鐢ㄦ埛淇℃伅
- *
- * @author: zxfei
- * @date: 2022/5/7 15:42
+ * <p>Title: 鐢ㄦ埛淇℃伅</p>
+ * <p>Description: UserController  </p>
+ * <p>Copyright: Copyright &reg;  </p>
+ * <p>Company: </p>
+ * @author
+ * @version 1.0.0
  */
 @RestController
 @RequestMapping("user")
@@ -46,91 +42,28 @@ public class UserController extends BaseCRUDJsonBodyMappingController<UserServic
 
     @Autowired
     private RoleService roleService;
-    @Autowired
-    private RoleUserService roleUserService;
 
     public UserController() {
-        super.setFormClass(UserForm.class);
         super.setModuleDesc("鐢ㄦ埛淇℃伅");
     }
 
     @Override
     protected void init(Map<String, Object> model, Context context) {
+
         this.addDict(model,"userType", IBaseEnum.getEnumMap(UserType.class));
         this.addDict(model,"status", UserStatus.getEnumMap());
-        this.addDict(model, "roleIds", roleService.find(new RoleQuery()).stream().collect(Collectors.toMap(x -> x.getId().toString(), y -> y.getName())));
-
+        List<RoleEntity> roleList = roleService.find(new RoleEntity());
+        this.addDict(model,"roleId", roleList.stream().collect(Collectors.toMap(e->e.getId().toString(), e->e.getName())));
+        super.init(model, context);
     }
 
-    @Override
-    protected void doListBefore(UserEntity query, Map<String, Object> model, Context context) throws AppException {
-        if (!StringUtils.isEmpty(query.getRealName())) {
-            query.setRealName("%".concat(query.getRealName()).concat("%"));
-        }
-        if (!StringUtils.isEmpty(query.getLoginName())) {
-            query.setLoginName("%".concat(query.getLoginName()).concat("%"));
-        }
-    }
-
-
-    @Override
-    protected int editAfter(Long id, Map<String, Object> model, UserEntity entity, Context context) throws AppException {
-        RoleUserQuery roleUserQuery = new RoleUserQuery();
-        roleUserQuery.setUserId(entity.getId());
-        String roleIds = roleUserService.find(roleUserQuery).stream().map(RoleUserEntity::getRoleId).map(String::valueOf).collect(Collectors.joining(","));
-        entity.setRoleIds(roleIds);
-        return super.editAfter(id, model, entity, context);
-    }
-
-    @Override
-    protected int saveAfter(UserEntity entity, Map<String, Object> model, Context context) throws AppException {
-        if (entity.getId() == getCurUser().getId()) {
-            // TODO: 2022/8/15 鏇存柊redis session淇℃伅
-            //saveCurrUserForSession(request, response, userService.get(form.getEntity().getId(), false));
-        }
-        return super.saveAfter(entity, model, context);
-    }
-
-
-//    @Override
-//    protected void saveBefore(UserEntity entity, Map<String, Object> model, Context context) throws AppException {
-//        if (!ObjectUtils.isEmpty(entity.getLoginName()) && service.existUser(entity.getLoginName(), entity.getId())) {
-//            throw new AppException("鐧诲綍鍚嶅凡瀛樺湪锛�");
-//        }
-//        super.saveBefore(entity, model, context);
-//    }
-
-
-    @RequestMapping(value = "change/password", method = RequestMethod.POST)
-    @Operlog(msg = "瀵嗙爜淇敼鎴愬姛!")
-    public String changePassword(@RequestParam String oldPwd, @RequestParam String newPwd) {
-        JSONObject ret = new JSONObject();
-        try {
-            service.updateUserPwd(super.getCurUser().getLoginName(), oldPwd, newPwd);
-            ret.put(KEY_RESULT_CODE, VALUE_RESULT_SUCCESS);
-            ret.put(KEY_RESULT_MSG, "瀵嗙爜淇敼鎴愬姛锛�");
-        } catch (Exception e) {
-            ret.put(KEY_RESULT_CODE, VALUE_RESULT_FAILURE);
-            ret.put(KEY_RESULT_MSG, super.convertException(e));
-        }
-        return ret.toJSONString();
-    }
-
-
-    public static void main(String[] args) {
-
-        String token = "eyJhbGciOiJIUzI1NiJ9.eyJsb2dpbl91c2VyX2tleSI6IjIzNGE5NDA5ZDVhOTQ3MWNhMzdkYjZkYmMwY2JjZTc5In0.MWyQW40HYDxyUz7PJRf_nRsFPWx3Hr811Ime984nixs";
-        String secret = "026db82420614469897fcc2dc1b4ce38";
-        Claims claims = Jwts.parser()
-                .setSigningKey(Base64.getEncoder().encodeToString(secret.getBytes()))
-                .parseClaimsJws(token)
-                .getBody();
-
-        String uuid = (String) claims.get("login_user_key");
-
-        System.out.println(uuid);
-
 
+    @PostMapping({"refreshUser"})
+    @UnAuth
+    public Rest<Object> refreshUser() {
+        log.info("鍒锋柊鐢ㄦ埛");
+        this.service.refreshUser();
+        return Rest.ok("鐢ㄦ埛鍚屾鍒锋柊鎿嶄綔鎴愬姛");
     }
 
 }
\ No newline at end of file
diff --git a/log-manager/src/main/java/com/mortals/xhx/base/system/user/web/UserForm.java b/log-manager/src/main/java/com/mortals/xhx/base/system/user/web/UserForm.java
deleted file mode 100644
index 48a5354ad30a75b1872b0ee666686f5df3c5e168..0000000000000000000000000000000000000000
--- a/log-manager/src/main/java/com/mortals/xhx/base/system/user/web/UserForm.java
+++ /dev/null
@@ -1,46 +0,0 @@
-/**
-* 鏂囦欢锛歎serForm.java
-* 鐗堟湰锛�1.0.0
-* 鏃ユ湡锛�
-* Copyright &reg; 
-* All right reserved.
-*/
-package com.mortals.xhx.base.system.user.web;
-
-import com.mortals.framework.web.BaseCRUDFormLong;
-import com.mortals.xhx.base.system.user.model.UserEntity;
-import com.mortals.xhx.base.system.user.model.UserQuery;
-
-/**
- * <p>Title: 鐢ㄦ埛淇℃伅</p>
- * <p>Description: UserForm  </p>
- * <p>Copyright: Copyright &reg;  </p>
- * <p>Company: </p>
- * @author 
- * @version 1.0.0
- */
-public class UserForm extends BaseCRUDFormLong<UserEntity> {
-	private UserEntity entity = new UserEntity();
-	private UserQuery query = new UserQuery();
-	public UserForm(){
-		
-	}
-	
-    @Override
-	public UserEntity getEntity() {
-		return entity;
-	}
-
-	public void setEntity(UserEntity entity) {
-		this.entity = entity;
-	}
-
-	@Override
-	public UserQuery getQuery() {
-		return query;
-	}
-
-	public void setQuery(UserQuery query) {
-		this.query = query;
-	}
-}
\ No newline at end of file
diff --git a/log-manager/src/main/java/com/mortals/xhx/common/key/Constant.java b/log-manager/src/main/java/com/mortals/xhx/common/key/Constant.java
index ff6d7076e1b9f6996511f61f70d120608926b614..ba6fcf2243b6f5883e8442e7aa0c4f058d110c5e 100644
--- a/log-manager/src/main/java/com/mortals/xhx/common/key/Constant.java
+++ b/log-manager/src/main/java/com/mortals/xhx/common/key/Constant.java
@@ -115,8 +115,8 @@ public final class Constant {
 	public static final String DISTRIBUTE_PATH = "distribute_path";
 
 	/**
-	 * 璁块棶瓒呮椂鏃堕棿,榛樿2绉�
+	 * 璁块棶瓒呮椂鏃堕棿,榛樿1绉�
 	 */
-	public static final Long ACCESS_EXPIRE_TIME = 2000L;
+	public static final Long ACCESS_EXPIRE_TIME = 1000L;
 
 }
diff --git a/log-manager/src/main/java/com/mortals/xhx/daemon/applicationservice/DemoStartedService.java b/log-manager/src/main/java/com/mortals/xhx/daemon/applicationservice/DemoStartedService.java
new file mode 100644
index 0000000000000000000000000000000000000000..cca66fe4b9650cfcb2d223654ae43cd3c4a3d52a
--- /dev/null
+++ b/log-manager/src/main/java/com/mortals/xhx/daemon/applicationservice/DemoStartedService.java
@@ -0,0 +1,35 @@
+package com.mortals.xhx.daemon.applicationservice;
+
+import com.mortals.framework.springcloud.service.IApplicationStartedService;
+import com.mortals.framework.util.ThreadPool;
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.stereotype.Component;
+
+/**
+ * 搴旂敤绾ф湇鍔★紝鍦ㄥ簲鐢ㄥ惎鍔ㄥ悗銆佸仠姝㈣繃绋嬩腑璋冪敤
+ * 搴旂敤宸茬粡瀹屾垚鍚姩瀹屾垚锛屾墠璋冪敤璇ユ湇鍔�
+ * 搴旂敤鍦烘櫙锛�
+ * 1銆佸簲鐢ㄤ换鍔★紝搴旂敤鍚姩鍚庡畾鏃舵垨闂撮殧鎵ц鐨勪换鍔�
+ * 2銆丼ocket鏈嶅姟绔�
+ */
+@Component
+@Slf4j
+public class DemoStartedService implements IApplicationStartedService {
+
+
+    @Override
+    public void start() {
+        ThreadPool.getInstance().init(10);
+    }
+
+    @Override
+    public void stop() {
+        log.info("鍋滄鏈嶅姟..");
+    }
+
+    @Override
+    public int getOrder() {
+        return 10;
+    }
+
+}
diff --git a/log-manager/src/main/java/com/mortals/xhx/daemon/task/SyncUserTaskImpl.java b/log-manager/src/main/java/com/mortals/xhx/daemon/task/SyncUserTaskImpl.java
new file mode 100644
index 0000000000000000000000000000000000000000..ec4fa304dbe2a668d2e79fb5a61e47e638e8b3a8
--- /dev/null
+++ b/log-manager/src/main/java/com/mortals/xhx/daemon/task/SyncUserTaskImpl.java
@@ -0,0 +1,81 @@
+package com.mortals.xhx.daemon.task;
+
+import com.mortals.framework.exception.AppException;
+import com.mortals.framework.service.ITask;
+import com.mortals.framework.service.ITaskExcuteService;
+import com.mortals.xhx.base.system.user.service.UserService;
+import com.mortals.xhx.feign.user.IUserFeign;
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.boot.autoconfigure.condition.ConditionalOnExpression;
+import org.springframework.stereotype.Service;
+
+/**
+ * 鍚屾鐢ㄦ埛
+ */
+@Slf4j
+@Service("SyncUserTask")
+@ConditionalOnExpression("'${spring.profiles.active}'!='develop'")
+public class SyncUserTaskImpl implements ITaskExcuteService {
+
+    @Autowired
+    private UserService userService;
+
+    @Autowired
+    private IUserFeign userFeign;
+
+    @Override
+    public void excuteTask(ITask task) throws AppException {
+        userService.refreshUser();
+        log.info("鍚屾鐢ㄦ埛");
+/*        UserPdu userPdu = new UserPdu();
+        userPdu.setPage(1);
+        userPdu.setSize(-1);
+        Rest<RespData<List<UserPdu>>> list = userFeign.list(userPdu);
+        userService.updateUserList(list.getData().getData());*/
+
+        //resourceService.updateUserList();
+
+     /*   UserPdu userPdu = new UserPdu();
+        userPdu.setPage(1);
+        userPdu.setSize(-1);
+        Rest<RespData<List<UserPdu>>> list = userFeign.list(userPdu);
+
+*//*        List<UserPdu> firstList = list.getData().getData();
+
+        List<UserEntity> secondList = userService.find(new UserQuery());
+        //浜ゅ弶瀵规瘮鍚庯紝澶氱殑鏂板 灏戠殑鍒犻櫎
+        List<UserEntity> diffList = secondList.parallelStream()
+                .filter(item -> !firstList.parallelStream().map(e -> e.getId()).collect(Collectors.toList()).contains(item.getId()))
+                .collect(Collectors.toList());*//*
+
+        //log.info("diffList:{}",JSON.toJSONString(diffList));
+
+        //鏇存柊鏈湴鐢ㄦ埛淇℃伅锛屽苟涓旀洿鏂扮敤鎴风珯鐐规爲
+        list.getData().getData().forEach(user -> {
+            //鏌ヨ鐢ㄦ埛鏄惁瀛樺湪锛�
+            //UserEntity userEntity = userService.get(user.getId());
+            UserEntity userEntity =userService.selectOne(new UserQuery().loginName(user.getLoginName()));
+            if (ObjectUtils.isEmpty(userEntity)) {
+                //鏂板
+                UserEntity entity = new UserEntity();
+                entity.initAttrValue();
+                BeanUtils.copyProperties(user, entity, BeanUtil.getNullPropertyNames(user));
+                userService.save(entity);
+                Context context = new Context();
+
+                context.setUser(entity);
+                new Thread(new SyncTreeSiteThread(siteService, context)).start();
+            }
+        });*/
+
+    }
+
+
+    @Override
+    public void stopTask(ITask task) throws AppException {
+
+    }
+
+
+}
diff --git a/log-manager/src/main/resources/sqlmap/base/system/user.xml b/log-manager/src/main/resources/sqlmap/base/system/user.xml
index 0b1fd23c76900c578ad92a9a4cc2162bfab7879f..602a718dda9fd5aaf9d70dbab28eef69d1278957 100644
--- a/log-manager/src/main/resources/sqlmap/base/system/user.xml
+++ b/log-manager/src/main/resources/sqlmap/base/system/user.xml
@@ -87,20 +87,20 @@
         </trim>
     </sql>
     <!-- 鏂板 鍖哄垎涓婚敭鑷鍔犺繕鏄笟鍔℃彃鍏� -->
-    <insert id="insert" parameterType="UserEntity"  useGeneratedKeys="true" keyProperty="id">
+    <insert id="insert" parameterType="UserEntity" >
         insert into mortals_xhx_user
-        (loginName,loginPwd,loginLimitAddress,realName,mobile,phone,email,qq,userType,siteIds,areaCodes,status,createTime,createUserId,createUserName,lastLoginTime,lastLoginAddress)
+        (id,loginName,loginPwd,loginLimitAddress,realName,mobile,phone,email,qq,userType,siteIds,areaCodes,status,createTime,createUserId,createUserName,lastLoginTime,lastLoginAddress)
         VALUES
-        (#{loginName},#{loginPwd},#{loginLimitAddress},#{realName},#{mobile},#{phone},#{email},#{qq},#{userType},#{siteIds},#{areaCodes},#{status},#{createTime},#{createUserId},#{createUserName},#{lastLoginTime},#{lastLoginAddress})
+        (#{id},#{loginName},#{loginPwd},#{loginLimitAddress},#{realName},#{mobile},#{phone},#{email},#{qq},#{userType},#{siteIds},#{areaCodes},#{status},#{createTime},#{createUserId},#{createUserName},#{lastLoginTime},#{lastLoginAddress})
     </insert>
 
     <!-- 鎵归噺鏂板 -->
     <insert id="insertBatch" parameterType="paramDto">
         insert into mortals_xhx_user
-        (loginName,loginPwd,loginLimitAddress,realName,mobile,phone,email,qq,userType,siteIds,areaCodes,status,createTime,createUserId,createUserName,lastLoginTime,lastLoginAddress)
+        (id,loginName,loginPwd,loginLimitAddress,realName,mobile,phone,email,qq,userType,siteIds,areaCodes,status,createTime,createUserId,createUserName,lastLoginTime,lastLoginAddress)
         VALUES
         <foreach collection="data.dataList" item="item" index="index" separator="," >
-            (#{item.loginName},#{item.loginPwd},#{item.loginLimitAddress},#{item.realName},#{item.mobile},#{item.phone},#{item.email},#{item.qq},#{item.userType},#{item.siteIds},#{item.areaCodes},#{item.status},#{item.createTime},#{item.createUserId},#{item.createUserName},#{item.lastLoginTime},#{item.lastLoginAddress})
+            (#{item.id},#{item.loginName},#{item.loginPwd},#{item.loginLimitAddress},#{item.realName},#{item.mobile},#{item.phone},#{item.email},#{item.qq},#{item.userType},#{item.siteIds},#{item.areaCodes},#{item.status},#{item.createTime},#{item.createUserId},#{item.createUserName},#{item.lastLoginTime},#{item.lastLoginAddress})
         </foreach>
     </insert>
 
diff --git a/log-manager/src/main/resources/sqlmap/base/system/userExt.xml b/log-manager/src/main/resources/sqlmap/base/system/userExt.xml
new file mode 100644
index 0000000000000000000000000000000000000000..7c497c791b4bd98f54acf29602bb640b4be2ea7a
--- /dev/null
+++ b/log-manager/src/main/resources/sqlmap/base/system/userExt.xml
@@ -0,0 +1,14 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" 
+"mybatis-3-mapper.dtd">
+<mapper namespace="com.mortals.iot.base.system.user.dao.ibatis.UserDaoImpl">
+    
+	<!-- 鑾峰彇鍒楄〃 -->
+	<select id="getAuthListById" parameterType="paramDto" resultType="Long">
+		select resourceId
+		  from mortals_iot_role_auth as a
+		  left join mortals_iot_role_user as b
+		 on a.roleId=b.roleId
+		 where b.userId=#{condition.id}
+	</select>
+</mapper>
\ No newline at end of file