jindi 1 жил өмнө
parent
commit
840c7adb97

+ 195 - 41
.idea/workspace.xml

@@ -43,15 +43,161 @@
       <change afterPath="$PROJECT_DIR$/log/ssp-server/2023_08/2023_08_23/2023_08_23_09(0).log" afterDir="false" />
       <change beforePath="$PROJECT_DIR$/.idea/workspace.xml" beforeDir="false" afterPath="$PROJECT_DIR$/.idea/workspace.xml" afterDir="false" />
       <change beforePath="$PROJECT_DIR$/src/main/java/com/pj/project/sso/SsoServerController.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/java/com/pj/project/sso/SsoServerController.java" afterDir="false" />
-      <change beforePath="$PROJECT_DIR$/src/main/java/com/pj/project/sys_client/SysClientController.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/java/com/pj/project/sys_client/SysClientController.java" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/src/main/java/com/pj/project/sys_user/SysUser.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/java/com/pj/project/sys_user/SysUser.java" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/src/main/java/com/pj/project/sys_user/SysUserMapper.xml" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/java/com/pj/project/sys_user/SysUserMapper.xml" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/src/main/java/com/pj/project/sys_user/SysUserService.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/java/com/pj/project/sys_user/SysUserService.java" afterDir="false" />
       <change beforePath="$PROJECT_DIR$/src/main/java/com/pj/project/sys_user_acc/SysUserAccController.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/java/com/pj/project/sys_user_acc/SysUserAccController.java" afterDir="false" />
-      <change beforePath="$PROJECT_DIR$/src/main/java/com/pj/project4sp/config/SpConfigController.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/java/com/pj/project4sp/config/SpConfigController.java" afterDir="false" />
-      <change beforePath="$PROJECT_DIR$/src/main/resources/application.yml" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/resources/application.yml" afterDir="false" />
-      <change beforePath="$PROJECT_DIR$/target/classes/application.yml" beforeDir="false" afterPath="$PROJECT_DIR$/target/classes/application.yml" afterDir="false" />
-      <change beforePath="$PROJECT_DIR$/target/classes/com/pj/project/sso/SsoServerController.class" beforeDir="false" afterPath="$PROJECT_DIR$/target/classes/com/pj/project/sso/SsoServerController.class" afterDir="false" />
-      <change beforePath="$PROJECT_DIR$/target/classes/com/pj/project/sys_client/SysClientController.class" beforeDir="false" afterPath="$PROJECT_DIR$/target/classes/com/pj/project/sys_client/SysClientController.class" afterDir="false" />
-      <change beforePath="$PROJECT_DIR$/target/classes/com/pj/project/sys_user_acc/SysUserAccController.class" beforeDir="false" afterPath="$PROJECT_DIR$/target/classes/com/pj/project/sys_user_acc/SysUserAccController.class" afterDir="false" />
-      <change beforePath="$PROJECT_DIR$/target/classes/com/pj/project4sp/config/SpConfigController.class" beforeDir="false" afterPath="$PROJECT_DIR$/target/classes/com/pj/project4sp/config/SpConfigController.class" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/src/main/java/com/pj/project/sys_user_sync/listen/SspServerListenController.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/java/com/pj/project/sys_user_sync/listen/SspServerListenController.java" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/src/main/java/com/pj/utils/sg/AjaxJson.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/java/com/pj/utils/sg/AjaxJson.java" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/target/classes/META-INF/spring-configuration-metadata.json" beforeDir="false" />
+      <change beforePath="$PROJECT_DIR$/target/classes/application-dev.yml" beforeDir="false" />
+      <change beforePath="$PROJECT_DIR$/target/classes/application-prod.yml" beforeDir="false" />
+      <change beforePath="$PROJECT_DIR$/target/classes/application.yml" beforeDir="false" />
+      <change beforePath="$PROJECT_DIR$/target/classes/com/pj/SspServerApplication.class" beforeDir="false" />
+      <change beforePath="$PROJECT_DIR$/target/classes/com/pj/current/SaPlusStartup.class" beforeDir="false" />
+      <change beforePath="$PROJECT_DIR$/target/classes/com/pj/current/config/MyConfig.class" beforeDir="false" />
+      <change beforePath="$PROJECT_DIR$/target/classes/com/pj/current/config/PerformConfigure.class" beforeDir="false" />
+      <change beforePath="$PROJECT_DIR$/target/classes/com/pj/current/config/ProjectConfigure.class" beforeDir="false" />
+      <change beforePath="$PROJECT_DIR$/target/classes/com/pj/current/config/RemoveDruidAdConfig$1.class" beforeDir="false" />
+      <change beforePath="$PROJECT_DIR$/target/classes/com/pj/current/config/RemoveDruidAdConfig.class" beforeDir="false" />
+      <change beforePath="$PROJECT_DIR$/target/classes/com/pj/current/config/SystemObject.class" beforeDir="false" />
+      <change beforePath="$PROJECT_DIR$/target/classes/com/pj/current/global/ApilogAspect.class" beforeDir="false" />
+      <change beforePath="$PROJECT_DIR$/target/classes/com/pj/current/global/ApilogStartInterceptor$1.class" beforeDir="false" />
+      <change beforePath="$PROJECT_DIR$/target/classes/com/pj/current/global/ApilogStartInterceptor.class" beforeDir="false" />
+      <change beforePath="$PROJECT_DIR$/target/classes/com/pj/current/global/GlobalExceptionHandler.class" beforeDir="false" />
+      <change beforePath="$PROJECT_DIR$/target/classes/com/pj/current/global/NotFoundHandle.class" beforeDir="false" />
+      <change beforePath="$PROJECT_DIR$/target/classes/com/pj/current/mybatis/MybatisMapperDynamicLoader$1.class" beforeDir="false" />
+      <change beforePath="$PROJECT_DIR$/target/classes/com/pj/current/mybatis/MybatisMapperDynamicLoader$Scanner.class" beforeDir="false" />
+      <change beforePath="$PROJECT_DIR$/target/classes/com/pj/current/mybatis/MybatisMapperDynamicLoader.class" beforeDir="false" />
+      <change beforePath="$PROJECT_DIR$/target/classes/com/pj/current/mybatis/MybatisStdOutImpl.class" beforeDir="false" />
+      <change beforePath="$PROJECT_DIR$/target/classes/com/pj/current/mybatis/RefConfig.class" beforeDir="false" />
+      <change beforePath="$PROJECT_DIR$/target/classes/com/pj/current/satoken/AuthConst.class" beforeDir="false" />
+      <change beforePath="$PROJECT_DIR$/target/classes/com/pj/current/satoken/SaTokenConfigure.class" beforeDir="false" />
+      <change beforePath="$PROJECT_DIR$/target/classes/com/pj/current/satoken/StpInterfaceImpl.class" beforeDir="false" />
+      <change beforePath="$PROJECT_DIR$/target/classes/com/pj/current/satoken/StpUserUtil.class" beforeDir="false" />
+      <change beforePath="$PROJECT_DIR$/target/classes/com/pj/project/sso/CustomSaSsoTemplate.class" beforeDir="false" />
+      <change beforePath="$PROJECT_DIR$/target/classes/com/pj/project/sso/SsoServerController.class" beforeDir="false" />
+      <change beforePath="$PROJECT_DIR$/target/classes/com/pj/project/sta_data/StaDataController.class" beforeDir="false" />
+      <change beforePath="$PROJECT_DIR$/target/classes/com/pj/project/sta_data/StaDataMapper.class" beforeDir="false" />
+      <change beforePath="$PROJECT_DIR$/target/classes/com/pj/project/sta_data/StaDataMapper.xml" beforeDir="false" />
+      <change beforePath="$PROJECT_DIR$/target/classes/com/pj/project/sys_client/SysClient.class" beforeDir="false" />
+      <change beforePath="$PROJECT_DIR$/target/classes/com/pj/project/sys_client/SysClientController.class" beforeDir="false" />
+      <change beforePath="$PROJECT_DIR$/target/classes/com/pj/project/sys_client/SysClientMapper.class" beforeDir="false" />
+      <change beforePath="$PROJECT_DIR$/target/classes/com/pj/project/sys_client/SysClientMapper.xml" beforeDir="false" />
+      <change beforePath="$PROJECT_DIR$/target/classes/com/pj/project/sys_client/SysClientUtil.class" beforeDir="false" />
+      <change beforePath="$PROJECT_DIR$/target/classes/com/pj/project/sys_client_visit/SysClientVisit.class" beforeDir="false" />
+      <change beforePath="$PROJECT_DIR$/target/classes/com/pj/project/sys_client_visit/SysClientVisitController.class" beforeDir="false" />
+      <change beforePath="$PROJECT_DIR$/target/classes/com/pj/project/sys_client_visit/SysClientVisitMapper.class" beforeDir="false" />
+      <change beforePath="$PROJECT_DIR$/target/classes/com/pj/project/sys_client_visit/SysClientVisitMapper.xml" beforeDir="false" />
+      <change beforePath="$PROJECT_DIR$/target/classes/com/pj/project/sys_client_visit/SysClientVisitUtil.class" beforeDir="false" />
+      <change beforePath="$PROJECT_DIR$/target/classes/com/pj/project/sys_login_log/SysLoginLog.class" beforeDir="false" />
+      <change beforePath="$PROJECT_DIR$/target/classes/com/pj/project/sys_login_log/SysLoginLogController.class" beforeDir="false" />
+      <change beforePath="$PROJECT_DIR$/target/classes/com/pj/project/sys_login_log/SysLoginLogMapper.class" beforeDir="false" />
+      <change beforePath="$PROJECT_DIR$/target/classes/com/pj/project/sys_login_log/SysLoginLogMapper.xml" beforeDir="false" />
+      <change beforePath="$PROJECT_DIR$/target/classes/com/pj/project/sys_login_log/SysLoginLogUtil.class" beforeDir="false" />
+      <change beforePath="$PROJECT_DIR$/target/classes/com/pj/project/sys_user/HttpContextUtils.class" beforeDir="false" />
+      <change beforePath="$PROJECT_DIR$/target/classes/com/pj/project/sys_user/ReadUserInfoExcel.class" beforeDir="false" />
+      <change beforePath="$PROJECT_DIR$/target/classes/com/pj/project/sys_user/SysUser.class" beforeDir="false" />
+      <change beforePath="$PROJECT_DIR$/target/classes/com/pj/project/sys_user/SysUserController.class" beforeDir="false" />
+      <change beforePath="$PROJECT_DIR$/target/classes/com/pj/project/sys_user/SysUserMapper.class" beforeDir="false" />
+      <change beforePath="$PROJECT_DIR$/target/classes/com/pj/project/sys_user/SysUserMapper.xml" beforeDir="false" />
+      <change beforePath="$PROJECT_DIR$/target/classes/com/pj/project/sys_user/SysUserService.class" beforeDir="false" />
+      <change beforePath="$PROJECT_DIR$/target/classes/com/pj/project/sys_user/SysUserUtil.class" beforeDir="false" />
+      <change beforePath="$PROJECT_DIR$/target/classes/com/pj/project/sys_user_acc/SysUserAcc.class" beforeDir="false" />
+      <change beforePath="$PROJECT_DIR$/target/classes/com/pj/project/sys_user_acc/SysUserAccController.class" beforeDir="false" />
+      <change beforePath="$PROJECT_DIR$/target/classes/com/pj/project/sys_user_acc/SysUserAccMapper.class" beforeDir="false" />
+      <change beforePath="$PROJECT_DIR$/target/classes/com/pj/project/sys_user_acc/SysUserAccMapper.xml" beforeDir="false" />
+      <change beforePath="$PROJECT_DIR$/target/classes/com/pj/project/sys_user_acc/SysUserAccService.class" beforeDir="false" />
+      <change beforePath="$PROJECT_DIR$/target/classes/com/pj/project/sys_user_acc/SysUserAccUtil.class" beforeDir="false" />
+      <change beforePath="$PROJECT_DIR$/target/classes/com/pj/project/sys_user_online/SysUserOnlineController.class" beforeDir="false" />
+      <change beforePath="$PROJECT_DIR$/target/classes/com/pj/project/sys_user_password/SysUserPasswordService.class" beforeDir="false" />
+      <change beforePath="$PROJECT_DIR$/target/classes/com/pj/project/sys_user_sync/Sm4Util.class" beforeDir="false" />
+      <change beforePath="$PROJECT_DIR$/target/classes/com/pj/project/sys_user_sync/brd/SspServerBrdUtil.class" beforeDir="false" />
+      <change beforePath="$PROJECT_DIR$/target/classes/com/pj/project/sys_user_sync/listen/SspServerListenController.class" beforeDir="false" />
+      <change beforePath="$PROJECT_DIR$/target/classes/com/pj/project/sys_user_sync/listen/SspServerListenUtil.class" beforeDir="false" />
+      <change beforePath="$PROJECT_DIR$/target/classes/com/pj/project4sp/SP.class" beforeDir="false" />
+      <change beforePath="$PROJECT_DIR$/target/classes/com/pj/project4sp/admin/SpAdmin.class" beforeDir="false" />
+      <change beforePath="$PROJECT_DIR$/target/classes/com/pj/project4sp/admin/SpAdminController.class" beforeDir="false" />
+      <change beforePath="$PROJECT_DIR$/target/classes/com/pj/project4sp/admin/SpAdminMapper.class" beforeDir="false" />
+      <change beforePath="$PROJECT_DIR$/target/classes/com/pj/project4sp/admin/SpAdminMapper.xml" beforeDir="false" />
+      <change beforePath="$PROJECT_DIR$/target/classes/com/pj/project4sp/admin/SpAdminService.class" beforeDir="false" />
+      <change beforePath="$PROJECT_DIR$/target/classes/com/pj/project4sp/admin/SpAdminUtil.class" beforeDir="false" />
+      <change beforePath="$PROJECT_DIR$/target/classes/com/pj/project4sp/admin4acc/SpAccAdminController.class" beforeDir="false" />
+      <change beforePath="$PROJECT_DIR$/target/classes/com/pj/project4sp/admin4acc/SpAccAdminService.class" beforeDir="false" />
+      <change beforePath="$PROJECT_DIR$/target/classes/com/pj/project4sp/admin4login/SpAdminLogin.class" beforeDir="false" />
+      <change beforePath="$PROJECT_DIR$/target/classes/com/pj/project4sp/admin4login/SpAdminLoginController.class" beforeDir="false" />
+      <change beforePath="$PROJECT_DIR$/target/classes/com/pj/project4sp/admin4login/SpAdminLoginMapper.class" beforeDir="false" />
+      <change beforePath="$PROJECT_DIR$/target/classes/com/pj/project4sp/admin4login/SpAdminLoginMapper.xml" beforeDir="false" />
+      <change beforePath="$PROJECT_DIR$/target/classes/com/pj/project4sp/admin4password/SpAdminPasswordController.class" beforeDir="false" />
+      <change beforePath="$PROJECT_DIR$/target/classes/com/pj/project4sp/admin4password/SpAdminPasswordService.class" beforeDir="false" />
+      <change beforePath="$PROJECT_DIR$/target/classes/com/pj/project4sp/apilog/SpApilog.class" beforeDir="false" />
+      <change beforePath="$PROJECT_DIR$/target/classes/com/pj/project4sp/apilog/SpApilogControlle.class" beforeDir="false" />
+      <change beforePath="$PROJECT_DIR$/target/classes/com/pj/project4sp/apilog/SpApilogInsertTemplate.class" beforeDir="false" />
+      <change beforePath="$PROJECT_DIR$/target/classes/com/pj/project4sp/apilog/SpApilogMapper.class" beforeDir="false" />
+      <change beforePath="$PROJECT_DIR$/target/classes/com/pj/project4sp/apilog/SpApilogMapper.xml" beforeDir="false" />
+      <change beforePath="$PROJECT_DIR$/target/classes/com/pj/project4sp/apilog/SpApilogUtil.class" beforeDir="false" />
+      <change beforePath="$PROJECT_DIR$/target/classes/com/pj/project4sp/config/SpConfig.class" beforeDir="false" />
+      <change beforePath="$PROJECT_DIR$/target/classes/com/pj/project4sp/config/SpConfigController.class" beforeDir="false" />
+      <change beforePath="$PROJECT_DIR$/target/classes/com/pj/project4sp/config/SpConfigMapper.class" beforeDir="false" />
+      <change beforePath="$PROJECT_DIR$/target/classes/com/pj/project4sp/config/SpConfigMapper.xml" beforeDir="false" />
+      <change beforePath="$PROJECT_DIR$/target/classes/com/pj/project4sp/config/SpConfigUtil.class" beforeDir="false" />
+      <change beforePath="$PROJECT_DIR$/target/classes/com/pj/project4sp/menu/SpMenu.class" beforeDir="false" />
+      <change beforePath="$PROJECT_DIR$/target/classes/com/pj/project4sp/menu/SpMenuController.class" beforeDir="false" />
+      <change beforePath="$PROJECT_DIR$/target/classes/com/pj/project4sp/menu/SpMenuMapper.class" beforeDir="false" />
+      <change beforePath="$PROJECT_DIR$/target/classes/com/pj/project4sp/menu/SpMenuMapper.xml" beforeDir="false" />
+      <change beforePath="$PROJECT_DIR$/target/classes/com/pj/project4sp/menu/SpMenuUtil.class" beforeDir="false" />
+      <change beforePath="$PROJECT_DIR$/target/classes/com/pj/project4sp/public4mapper/JdbcLambdaBegin.class" beforeDir="false" />
+      <change beforePath="$PROJECT_DIR$/target/classes/com/pj/project4sp/public4mapper/JdbcLambdaBeginRet.class" beforeDir="false" />
+      <change beforePath="$PROJECT_DIR$/target/classes/com/pj/project4sp/public4mapper/JdbcLambdaRollback.class" beforeDir="false" />
+      <change beforePath="$PROJECT_DIR$/target/classes/com/pj/project4sp/public4mapper/JdbcLambdaRollbackRet.class" beforeDir="false" />
+      <change beforePath="$PROJECT_DIR$/target/classes/com/pj/project4sp/public4mapper/PublicMapper.class" beforeDir="false" />
+      <change beforePath="$PROJECT_DIR$/target/classes/com/pj/project4sp/public4mapper/PublicMapper.xml" beforeDir="false" />
+      <change beforePath="$PROJECT_DIR$/target/classes/com/pj/project4sp/public4mapper/PublicService.class" beforeDir="false" />
+      <change beforePath="$PROJECT_DIR$/target/classes/com/pj/project4sp/redis4console/RedisConsoleController.class" beforeDir="false" />
+      <change beforePath="$PROJECT_DIR$/target/classes/com/pj/project4sp/redis4console/RedisConsoleUtil$1.class" beforeDir="false" />
+      <change beforePath="$PROJECT_DIR$/target/classes/com/pj/project4sp/redis4console/RedisConsoleUtil.class" beforeDir="false" />
+      <change beforePath="$PROJECT_DIR$/target/classes/com/pj/project4sp/role/SpRole.class" beforeDir="false" />
+      <change beforePath="$PROJECT_DIR$/target/classes/com/pj/project4sp/role/SpRoleController.class" beforeDir="false" />
+      <change beforePath="$PROJECT_DIR$/target/classes/com/pj/project4sp/role/SpRoleMapper.class" beforeDir="false" />
+      <change beforePath="$PROJECT_DIR$/target/classes/com/pj/project4sp/role/SpRoleMapper.xml" beforeDir="false" />
+      <change beforePath="$PROJECT_DIR$/target/classes/com/pj/project4sp/role/SpRoleUtil.class" beforeDir="false" />
+      <change beforePath="$PROJECT_DIR$/target/classes/com/pj/project4sp/role4permission/SpRolePermissionController.class" beforeDir="false" />
+      <change beforePath="$PROJECT_DIR$/target/classes/com/pj/project4sp/role4permission/SpRolePermissionMapper.class" beforeDir="false" />
+      <change beforePath="$PROJECT_DIR$/target/classes/com/pj/project4sp/role4permission/SpRolePermissionMapper.xml" beforeDir="false" />
+      <change beforePath="$PROJECT_DIR$/target/classes/com/pj/project4sp/role4permission/SpRolePermissionService.class" beforeDir="false" />
+      <change beforePath="$PROJECT_DIR$/target/classes/com/pj/project4sp/test/TestController.class" beforeDir="false" />
+      <change beforePath="$PROJECT_DIR$/target/classes/com/pj/project4sp/uploadfile/UploadConfig.class" beforeDir="false" />
+      <change beforePath="$PROJECT_DIR$/target/classes/com/pj/project4sp/uploadfile/UploadController.class" beforeDir="false" />
+      <change beforePath="$PROJECT_DIR$/target/classes/com/pj/project4sp/uploadfile/UploadUtil.class" beforeDir="false" />
+      <change beforePath="$PROJECT_DIR$/target/classes/com/pj/utils/LogUtil.class" beforeDir="false" />
+      <change beforePath="$PROJECT_DIR$/target/classes/com/pj/utils/Sugar.class" beforeDir="false" />
+      <change beforePath="$PROJECT_DIR$/target/classes/com/pj/utils/Ttime.class" beforeDir="false" />
+      <change beforePath="$PROJECT_DIR$/target/classes/com/pj/utils/VcUtil.class" beforeDir="false" />
+      <change beforePath="$PROJECT_DIR$/target/classes/com/pj/utils/cache/RedisUtil.class" beforeDir="false" />
+      <change beforePath="$PROJECT_DIR$/target/classes/com/pj/utils/sg/AjaxError.class" beforeDir="false" />
+      <change beforePath="$PROJECT_DIR$/target/classes/com/pj/utils/sg/AjaxJson.class" beforeDir="false" />
+      <change beforePath="$PROJECT_DIR$/target/classes/com/pj/utils/sg/IpCheckUtil.class" beforeDir="false" />
+      <change beforePath="$PROJECT_DIR$/target/classes/com/pj/utils/sg/IpUtil.class" beforeDir="false" />
+      <change beforePath="$PROJECT_DIR$/target/classes/com/pj/utils/sg/NbUtil.class" beforeDir="false" />
+      <change beforePath="$PROJECT_DIR$/target/classes/com/pj/utils/sg/WebNbUtil.class" beforeDir="false" />
+      <change beforePath="$PROJECT_DIR$/target/classes/com/pj/utils/so/SoMap.class" beforeDir="false" />
+      <change beforePath="$PROJECT_DIR$/target/classes/logback.xml" beforeDir="false" />
+      <change beforePath="$PROJECT_DIR$/target/classes/static/banner.png" beforeDir="false" />
+      <change beforePath="$PROJECT_DIR$/target/classes/static/logo.png" beforeDir="false" />
+      <change beforePath="$PROJECT_DIR$/target/classes/static/sa-res/jquery.min.js" beforeDir="false" />
+      <change beforePath="$PROJECT_DIR$/target/classes/static/sa-res/layer/layer.js" beforeDir="false" />
+      <change beforePath="$PROJECT_DIR$/target/classes/static/sa-res/layer/mobile/layer.js" beforeDir="false" />
+      <change beforePath="$PROJECT_DIR$/target/classes/static/sa-res/layer/mobile/need/layer.css" beforeDir="false" />
+      <change beforePath="$PROJECT_DIR$/target/classes/static/sa-res/layer/theme/default/icon-ext.png" beforeDir="false" />
+      <change beforePath="$PROJECT_DIR$/target/classes/static/sa-res/layer/theme/default/icon.png" beforeDir="false" />
+      <change beforePath="$PROJECT_DIR$/target/classes/static/sa-res/layer/theme/default/layer.css" beforeDir="false" />
+      <change beforePath="$PROJECT_DIR$/target/classes/static/sa-res/layer/theme/default/loading-0.gif" beforeDir="false" />
+      <change beforePath="$PROJECT_DIR$/target/classes/static/sa-res/layer/theme/default/loading-1.gif" beforeDir="false" />
+      <change beforePath="$PROJECT_DIR$/target/classes/static/sa-res/layer/theme/default/loading-2.gif" beforeDir="false" />
+      <change beforePath="$PROJECT_DIR$/target/classes/static/sa-res/login.css" beforeDir="false" />
+      <change beforePath="$PROJECT_DIR$/target/classes/static/sa-res/login.js" beforeDir="false" />
+      <change beforePath="$PROJECT_DIR$/target/classes/static/用户信息.xlsx" beforeDir="false" />
+      <change beforePath="$PROJECT_DIR$/target/classes/templates/login.html" beforeDir="false" />
     </list>
     <option name="SHOW_DIALOG" value="false" />
     <option name="HIGHLIGHT_CONFLICTS" value="true" />
@@ -179,7 +325,7 @@
       <workItem from="1693013189580" duration="18142000" />
       <workItem from="1693184212405" duration="1406000" />
       <workItem from="1693185743697" duration="31304000" />
-      <workItem from="1693357631965" duration="22917000" />
+      <workItem from="1693357631965" duration="37138000" />
     </task>
     <task id="LOCAL-00001" summary="项目提交">
       <created>1692754671570</created>
@@ -342,7 +488,14 @@
       <option name="project" value="LOCAL" />
       <updated>1693364742427</updated>
     </task>
-    <option name="localTasksCounter" value="24" />
+    <task id="LOCAL-00024" summary="登录页面接口调用server端">
+      <created>1693388116201</created>
+      <option name="number" value="00024" />
+      <option name="presentableId" value="LOCAL-00024" />
+      <option name="project" value="LOCAL" />
+      <updated>1693388116201</updated>
+    </task>
+    <option name="localTasksCounter" value="25" />
     <servers />
   </component>
   <component name="TypeScriptGeneratedFilesManager">
@@ -361,7 +514,8 @@
     <MESSAGE value="把登录页面分离出去" />
     <MESSAGE value="主应用限制唯一性" />
     <MESSAGE value="重新打包" />
-    <option name="LAST_COMMIT_MESSAGE" value="重新打包" />
+    <MESSAGE value="登录页面接口调用server端" />
+    <option name="LAST_COMMIT_MESSAGE" value="登录页面接口调用server端" />
   </component>
   <component name="WindowStateProjectService">
     <state x="2685" y="204" key="#com.intellij.ide.util.MemberChooser" timestamp="1692946298826">
@@ -376,10 +530,10 @@
       <screen x="1920" y="0" width="1920" height="1040" />
     </state>
     <state x="2635" y="222" key="#xdebugger.evaluate/1920.0.1920.1040/0.0.1920.1040@1920.0.1920.1040" timestamp="1693376744606" />
-    <state x="2380" y="112" key="CommitChangelistDialog2" timestamp="1693364735870">
+    <state x="2380" y="112" key="CommitChangelistDialog2" timestamp="1693388109997">
       <screen x="1920" y="0" width="1920" height="1040" />
     </state>
-    <state x="2380" y="112" key="CommitChangelistDialog2/1920.0.1920.1040/0.0.1920.1040@1920.0.1920.1040" timestamp="1693364735870" />
+    <state x="2380" y="112" key="CommitChangelistDialog2/1920.0.1920.1040/0.0.1920.1040@1920.0.1920.1040" timestamp="1693388109997" />
     <state width="883" height="466" key="DebuggerActiveHint" timestamp="1693384339114">
       <screen x="1920" y="0" width="1920" height="1040" />
     </state>
@@ -392,54 +546,54 @@
       <screen x="1920" y="0" width="1920" height="1040" />
     </state>
     <state x="2660" y="275" key="FileChooserDialogImpl/1920.0.1920.1040/0.0.1920.1040@1920.0.1920.1040" timestamp="1692754343375" />
-    <state width="1877" height="277" key="GridCell.Tab.0.bottom" timestamp="1693388018751">
+    <state width="1877" height="277" key="GridCell.Tab.0.bottom" timestamp="1693474467852">
       <screen x="1920" y="0" width="1920" height="1040" />
     </state>
-    <state width="1877" height="277" key="GridCell.Tab.0.bottom/1920.0.1920.1040/0.0.1920.1040@1920.0.1920.1040" timestamp="1693388018751" />
-    <state width="1877" height="277" key="GridCell.Tab.0.center" timestamp="1693388018751">
+    <state width="1877" height="277" key="GridCell.Tab.0.bottom/1920.0.1920.1040/0.0.1920.1040@1920.0.1920.1040" timestamp="1693474467852" />
+    <state width="1877" height="277" key="GridCell.Tab.0.center" timestamp="1693474467852">
       <screen x="1920" y="0" width="1920" height="1040" />
     </state>
-    <state width="1877" height="277" key="GridCell.Tab.0.center/1920.0.1920.1040/0.0.1920.1040@1920.0.1920.1040" timestamp="1693388018751" />
-    <state width="1877" height="277" key="GridCell.Tab.0.left" timestamp="1693388018751">
+    <state width="1877" height="277" key="GridCell.Tab.0.center/1920.0.1920.1040/0.0.1920.1040@1920.0.1920.1040" timestamp="1693474467852" />
+    <state width="1877" height="277" key="GridCell.Tab.0.left" timestamp="1693474467852">
       <screen x="1920" y="0" width="1920" height="1040" />
     </state>
-    <state width="1877" height="277" key="GridCell.Tab.0.left/1920.0.1920.1040/0.0.1920.1040@1920.0.1920.1040" timestamp="1693388018751" />
-    <state width="1877" height="277" key="GridCell.Tab.0.right" timestamp="1693388018751">
+    <state width="1877" height="277" key="GridCell.Tab.0.left/1920.0.1920.1040/0.0.1920.1040@1920.0.1920.1040" timestamp="1693474467852" />
+    <state width="1877" height="277" key="GridCell.Tab.0.right" timestamp="1693474467852">
       <screen x="1920" y="0" width="1920" height="1040" />
     </state>
-    <state width="1877" height="277" key="GridCell.Tab.0.right/1920.0.1920.1040/0.0.1920.1040@1920.0.1920.1040" timestamp="1693388018751" />
-    <state width="1877" height="263" key="GridCell.Tab.1.bottom" timestamp="1693387981238">
+    <state width="1877" height="277" key="GridCell.Tab.0.right/1920.0.1920.1040/0.0.1920.1040@1920.0.1920.1040" timestamp="1693474467852" />
+    <state width="1877" height="413" key="GridCell.Tab.1.bottom" timestamp="1693474450740">
       <screen x="1920" y="0" width="1920" height="1040" />
     </state>
-    <state width="1877" height="263" key="GridCell.Tab.1.bottom/1920.0.1920.1040/0.0.1920.1040@1920.0.1920.1040" timestamp="1693387981238" />
-    <state width="1877" height="263" key="GridCell.Tab.1.center" timestamp="1693387981238">
+    <state width="1877" height="413" key="GridCell.Tab.1.bottom/1920.0.1920.1040/0.0.1920.1040@1920.0.1920.1040" timestamp="1693474450740" />
+    <state width="1877" height="413" key="GridCell.Tab.1.center" timestamp="1693474450740">
       <screen x="1920" y="0" width="1920" height="1040" />
     </state>
-    <state width="1877" height="263" key="GridCell.Tab.1.center/1920.0.1920.1040/0.0.1920.1040@1920.0.1920.1040" timestamp="1693387981238" />
-    <state width="1877" height="263" key="GridCell.Tab.1.left" timestamp="1693387981238">
+    <state width="1877" height="413" key="GridCell.Tab.1.center/1920.0.1920.1040/0.0.1920.1040@1920.0.1920.1040" timestamp="1693474450740" />
+    <state width="1877" height="413" key="GridCell.Tab.1.left" timestamp="1693474450740">
       <screen x="1920" y="0" width="1920" height="1040" />
     </state>
-    <state width="1877" height="263" key="GridCell.Tab.1.left/1920.0.1920.1040/0.0.1920.1040@1920.0.1920.1040" timestamp="1693387981238" />
-    <state width="1877" height="263" key="GridCell.Tab.1.right" timestamp="1693387981238">
+    <state width="1877" height="413" key="GridCell.Tab.1.left/1920.0.1920.1040/0.0.1920.1040@1920.0.1920.1040" timestamp="1693474450740" />
+    <state width="1877" height="413" key="GridCell.Tab.1.right" timestamp="1693474450740">
       <screen x="1920" y="0" width="1920" height="1040" />
     </state>
-    <state width="1877" height="263" key="GridCell.Tab.1.right/1920.0.1920.1040/0.0.1920.1040@1920.0.1920.1040" timestamp="1693387981238" />
-    <state width="1877" height="263" key="GridCell.Tab.2.bottom" timestamp="1693387981239">
+    <state width="1877" height="413" key="GridCell.Tab.1.right/1920.0.1920.1040/0.0.1920.1040@1920.0.1920.1040" timestamp="1693474450740" />
+    <state width="1877" height="413" key="GridCell.Tab.2.bottom" timestamp="1693474450740">
       <screen x="1920" y="0" width="1920" height="1040" />
     </state>
-    <state width="1877" height="263" key="GridCell.Tab.2.bottom/1920.0.1920.1040/0.0.1920.1040@1920.0.1920.1040" timestamp="1693387981239" />
-    <state width="1877" height="263" key="GridCell.Tab.2.center" timestamp="1693387981239">
+    <state width="1877" height="413" key="GridCell.Tab.2.bottom/1920.0.1920.1040/0.0.1920.1040@1920.0.1920.1040" timestamp="1693474450740" />
+    <state width="1877" height="413" key="GridCell.Tab.2.center" timestamp="1693474450740">
       <screen x="1920" y="0" width="1920" height="1040" />
     </state>
-    <state width="1877" height="263" key="GridCell.Tab.2.center/1920.0.1920.1040/0.0.1920.1040@1920.0.1920.1040" timestamp="1693387981239" />
-    <state width="1877" height="263" key="GridCell.Tab.2.left" timestamp="1693387981239">
+    <state width="1877" height="413" key="GridCell.Tab.2.center/1920.0.1920.1040/0.0.1920.1040@1920.0.1920.1040" timestamp="1693474450740" />
+    <state width="1877" height="413" key="GridCell.Tab.2.left" timestamp="1693474450740">
       <screen x="1920" y="0" width="1920" height="1040" />
     </state>
-    <state width="1877" height="263" key="GridCell.Tab.2.left/1920.0.1920.1040/0.0.1920.1040@1920.0.1920.1040" timestamp="1693387981239" />
-    <state width="1877" height="263" key="GridCell.Tab.2.right" timestamp="1693387981239">
+    <state width="1877" height="413" key="GridCell.Tab.2.left/1920.0.1920.1040/0.0.1920.1040@1920.0.1920.1040" timestamp="1693474450740" />
+    <state width="1877" height="413" key="GridCell.Tab.2.right" timestamp="1693474450740">
       <screen x="1920" y="0" width="1920" height="1040" />
     </state>
-    <state width="1877" height="263" key="GridCell.Tab.2.right/1920.0.1920.1040/0.0.1920.1040@1920.0.1920.1040" timestamp="1693387981239" />
+    <state width="1877" height="413" key="GridCell.Tab.2.right/1920.0.1920.1040/0.0.1920.1040@1920.0.1920.1040" timestamp="1693474450740" />
     <state x="2636" y="231" key="RollbackChangesDialog" timestamp="1693013074093">
       <screen x="1920" y="0" width="1920" height="1040" />
     </state>
@@ -448,18 +602,18 @@
       <screen x="1920" y="0" width="1920" height="1040" />
     </state>
     <state x="2381" y="162" key="SettingsEditor/1920.0.1920.1040/0.0.1920.1040@1920.0.1920.1040" timestamp="1691549723160" />
-    <state x="2472" y="253" key="Vcs.Push.Dialog.v2" timestamp="1693364748808">
+    <state x="2472" y="253" key="Vcs.Push.Dialog.v2" timestamp="1693388123289">
       <screen x="1920" y="0" width="1920" height="1040" />
     </state>
-    <state x="2472" y="253" key="Vcs.Push.Dialog.v2/1920.0.1920.1040/0.0.1920.1040@1920.0.1920.1040" timestamp="1693364748808" />
+    <state x="2472" y="253" key="Vcs.Push.Dialog.v2/1920.0.1920.1040/0.0.1920.1040@1920.0.1920.1040" timestamp="1693388123289" />
     <state x="2560" y="344" key="com.intellij.ide.util.TipDialog" timestamp="1693357698933">
       <screen x="1920" y="0" width="1920" height="1040" />
     </state>
     <state x="2560" y="344" key="com.intellij.ide.util.TipDialog/1920.0.1920.1040/0.0.1920.1040@1920.0.1920.1040" timestamp="1693357698933" />
-    <state x="2135" y="81" width="1115" height="669" key="find.popup" timestamp="1693385575279">
+    <state x="2135" y="81" width="1115" height="669" key="find.popup" timestamp="1693447789165">
       <screen x="1920" y="0" width="1920" height="1040" />
     </state>
-    <state x="2135" y="81" width="1115" height="669" key="find.popup/1920.0.1920.1040/0.0.1920.1040@1920.0.1920.1040" timestamp="1693385575279" />
+    <state x="2135" y="81" width="1115" height="669" key="find.popup/1920.0.1920.1040/0.0.1920.1040@1920.0.1920.1040" timestamp="1693447789165" />
     <state x="2581" y="147" key="refactoring.ChangeSignatureDialog" timestamp="1692685608267">
       <screen x="1920" y="0" width="1920" height="1040" />
     </state>

+ 2 - 23
src/main/java/com/pj/project/sso/SsoServerController.java

@@ -92,27 +92,13 @@ public class SsoServerController {
             Long clientId = SysClientUtil.getClientIdByUrl(redirect);
             if (clientId == null) {
                 SpringMVCUtil.getRequest().setAttribute("errorMessage", "无效 redirect:" + redirect);
-//                 return new ModelAndView("login.html");
-                //查出主应用--返回地址
-                SysClient client = sysClientMapper.getIsMain();
-                if (client != null && !StringUtil.isNullOrEmpty(client.getAllowUrl())) {
-                    return client.getAllowUrl();
-                } else {
-                    return null;
-                }
+                 return new ModelAndView("login.html");
             }
 
             // 2. 判断这个用户是否被禁止登录此应用,如果已被禁止,则立即截断登录
             if (SysClientVisitUtil.isSureLogin(loginId, redirect) == false) {
                 SpringMVCUtil.getRequest().setAttribute("errorMessage", "当前账号暂无权限登入此应用,请更换账号");
-//                return new ModelAndView("login.html");
-                //查出主应用--返回地址
-                SysClient client = sysClientMapper.getIsMain();
-                if (client != null && !StringUtil.isNullOrEmpty(client.getAllowUrl())) {
-                    return client.getAllowUrl();
-                } else {
-                    return null;
-                }
+                return new ModelAndView("login.html");
             }
 
             // 3. 记录登录日志
@@ -141,13 +127,6 @@ public class SsoServerController {
         // 配置:未登录时返回的View 
         sso.setNotLoginView(() -> {
             return new ModelAndView("login.html");
-            //查出主应用--返回地址
-//            SysClient client = sysClientMapper.getIsMain();
-//            if (client!=null && !StringUtil.isNullOrEmpty(client.getAllowUrl())){
-//                return client.getAllowUrl();
-//            }else {
-//                return null;
-//            }
         });
 
         // 配置 Http 请求处理器 (在模式三的单点注销功能下用到,如不需要可以注释掉) 

+ 7 - 2
src/main/java/com/pj/project/sys_user/SysUser.java

@@ -106,12 +106,17 @@ public class SysUser implements Serializable {
 	/**
 	 * 登陆次数 
 	 */
-	private Integer loginCount;	
+	private Integer loginCount;
 
 	/**
 	 * 是否删除(1=否,2=是)
 	 */
-	private Integer isDel;	
+	private Integer isDel;
+
+	/**
+	 * 是否是管理员:0不是管理员  1是管理员
+	 */
+	private Integer isAdmin;
 
 
 	/** 防止密码被传递到前台  */

+ 5 - 2
src/main/java/com/pj/project/sys_user/SysUserMapper.xml

@@ -5,8 +5,8 @@
     <!-- 增 -->
     <insert id="add">
         insert into
-        sys_user (id, username,name, avatar, intro, age, sex, phone, email, create_time)
-        values (#{id}, #{username},#{name}, #{avatar}, #{intro}, #{age}, #{sex}, #{phone}, #{email}, now())
+        sys_user (id, username,name, avatar, intro, age, sex, phone, email, is_admin,create_time)
+        values (#{id}, #{username},#{name}, #{avatar}, #{intro}, #{age}, #{sex}, #{phone}, #{email},#{isAdmin}, now())
     </insert>
 
     <!-- 改 -->
@@ -20,6 +20,7 @@
 		sex = #{sex}, 
 		phone = #{phone}, 
 		email = #{email}, 
+		is_admin = #{isAdmin},
 		status = #{status}
 		where id = #{id}
 	</update>
@@ -38,6 +39,7 @@
         <result property="sex" column="sex"/>
         <result property="phone" column="phone"/>
         <result property="email" column="email"/>
+        <result property="isAdmin" column="is_admin"/>
         <result property="status" column="status"/>
         <result property="createTime" column="create_time"/>
         <result property="loginTime" column="login_time"/>
@@ -96,6 +98,7 @@
             <if test=' this.has("phone") '>and phone = #{phone}</if>
             <if test=' this.has("email") '>and email = #{email}</if>
             <if test=' this.has("status") '>and status = #{status}</if>
+            <if test=' this.has("isAdmin") '>and is_del = #{isAdmin}</if>
             <if test=' this.has("isDel") '>and is_del = #{isDel}</if>
         </where>
         order by

+ 6 - 2
src/main/java/com/pj/project/sys_user/SysUserService.java

@@ -200,6 +200,8 @@ public class SysUserService {
                         }
                     }
                 }
+                //管理员:默认为否
+                sysUser.setIsAdmin(0);
 
                 // 写入数据库
                 sysUser.setId(UUID.randomUUID().toString());
@@ -247,8 +249,8 @@ public class SysUserService {
 //        SysUserUtil.checkByAdd(user);
         SysUser sysUser = sysUserMapper.getByUsername(user.getUsername());
         SysClient client = sysClientMapper.getByName(user.getClientName());
-        if (sysUser != null ) {
-            if(client != null){
+        if (sysUser != null) {
+            if (client != null) {
                 SysClientVisit sysClientVisit = sysClientVisitMapper.getByClientAndUserId(client.getId(), sysUser.getId());
                 if (sysClientVisit != null) {
                     return AjaxJson.getSuccess();
@@ -278,6 +280,8 @@ public class SysUserService {
             if (StringUtil.isNullOrEmpty(user.getPassword())) {
                 user.setPassword(user.getUsername());
             }
+            //管理员:默认为否
+            sysUser.setIsAdmin(0);
             // 写入数据库
             user.setId(UUID.randomUUID().toString());
             sysUserMapper.add(user);

+ 17 - 3
src/main/java/com/pj/project/sys_user_acc/SysUserAccController.java

@@ -4,6 +4,7 @@ import cn.dev33.satoken.spring.SpringMVCUtil;
 import cn.dev33.satoken.util.SaFoxUtil;
 import com.alibaba.fastjson2.JSON;
 import com.alibaba.fastjson2.JSONObject;
+import com.pj.current.config.SystemObject;
 import com.pj.project.sys_client.SysClientUtil;
 import com.pj.project.sys_login_log.SysLoginLog;
 import com.pj.project.sys_login_log.SysLoginLogUtil;
@@ -124,13 +125,26 @@ public class SysUserAccController {
         String pwd = (String) jsonObject.get("pwd");
         // 校验参数
         if (NbUtil.hasNull(name, pwd)) {
-            return AjaxJson.getError("请输入账号/密码");
+            return AjaxJson.getSuccess(422, "");
         }
         //对加密密码进行解密
         pwd = BtoAAtoB.atob(pwd);
         // 获取相应用户
-        SysUserAcc userAcc = sysUserAccService.doLogin(name, pwd);
-
+        SysUserAcc userAcc = sysUserAccMapper.getByUsername(name);
+        // 2、开始校验
+        if(userAcc == null){
+            return AjaxJson.getSuccess(422, "无此账号");
+        }
+        if(NbUtil.isNull(userAcc.getPassword())) {
+            return AjaxJson.getSuccess(422, "此账号尚未设置密码,无法登陆");
+        }
+        String md5Password = SystemObject.getPasswordMd5Str(userAcc.getId(), pwd);
+        if(userAcc.getPassword().equals(md5Password) == false){
+            return AjaxJson.getSuccess(422, "密码错误");
+        }
+        if(userAcc.getStatus() == 2) {
+            return AjaxJson.getSuccess(422, "此账号已被禁用,如有疑问,请联系管理员");
+        }
         // 返回信息
         return successLoginInfo(userAcc.getId());
     }

+ 9 - 1
src/main/java/com/pj/project/sys_user_sync/listen/SspServerListenController.java

@@ -2,6 +2,8 @@ package com.pj.project.sys_user_sync.listen;
 
 import javax.servlet.http.HttpServletRequest;
 
+import com.pj.utils.sg.AjaxJson;
+import io.netty.util.internal.StringUtil;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.web.bind.annotation.RequestMapping;
 import org.springframework.web.bind.annotation.RestController;
@@ -101,14 +103,20 @@ public class SspServerListenController {
 
         // 解析数据
         SoMap dataMap = SspServerListenUtil.getData(request);
+        String loginId = dataMap.getString("loginId");
         String username = dataMap.getString("username");
         String password = dataMap.getString("password");
 //    	SysUser user = dataMap.getModel(SysUser.class);
 //    	sysUserService.update(user);
 
+        //判断此人是否是client端管理员
+        if (StringUtil.isNullOrEmpty(loginId)) return SaResult.error("请管理员先登录再操作");
+        SysUser sysUser = sysUserMapper.getById(loginId);
+        if (sysUser == null || sysUser.getIsAdmin() == 0) return SaResult.error("该人员暂无权限修改密码");
+
         SysUser user = sysUserMapper.getByUsername(username);
         if (user == null) return SaResult.error("注册中心不存在此用户");
-		sysUserPasswordService.updatePassword(user.getId(), password);
+        sysUserPasswordService.updatePassword(user.getId(), password);
 
         // 回复推送方
         return SaResult.ok();

+ 250 - 201
src/main/java/com/pj/utils/sg/AjaxJson.java

@@ -19,212 +19,261 @@ import com.pj.utils.so.SoMap;
  * dataCount=数据总数 <br>
  * pageCount=分页总数 <br>
  * <p> 返回范例:</p>
- *  <pre>
-	{
-		"code": 200,    // 成功时=200, 失败时=500  msg=失败原因
-		"msg": "ok",
-		"data": {}
-	} 
-	</pre>
+ * <pre>
+ * {
+ * "code": 200,    // 成功时=200, 失败时=500  msg=失败原因
+ * "msg": "ok",
+ * "data": {}
+ * }
+ * </pre>
  */
-public class AjaxJson extends LinkedHashMap<String, Object> implements Serializable{
-
-	private static final long serialVersionUID = 1L;	// 序列化版本号
-	
-	public static final int CODE_SUCCESS = 200;			// 成功状态码
-	public static final int CODE_ERROR = 500;			// 错误状态码
-	public static final int CODE_WARNING = 501;			// 警告状态码
-	public static final int CODE_NOT_JUR = 403;			// 无权限状态码
-	public static final int CODE_NOT_LOGIN = 401;		// 未登录状态码
-	public static final int CODE_INVALID_REQUEST = 400;	// 无效请求状态码
-
-	
-	
-	// ============================  写值取值  ================================== 
-	
-	/** 给code赋值,连缀风格 */
-	public AjaxJson setCode(int code) {
-		this.put("code", code);
-		return this;
-	}
-	/** 返回code */
-	public Integer getCode() {
-		return (Integer)this.get("code");
-	}
-
-	/** 给msg赋值,连缀风格 */
-	public AjaxJson setMsg(String msg) {
-		this.put("msg", msg);
-		return this;
-	}
-	/** 获取msg */
-	public String getMsg() {
-		return (String)this.get("msg");
-	}
-
-	/** 给data赋值,连缀风格 */
-	public AjaxJson setData(Object data) {
-		this.put("data", data);
-		return this;
-	}
-	/** 获取data */
-	public Object getData() {
-		return this.get("data");
-	}
-	/** 将data还原为指定类型并返回 */
-	@SuppressWarnings("unchecked")
-	public <T> T getData(Class<T> cs) {
-		return (T) this.getData();
-	}
-
-	/** 给dataCount(数据总数)赋值,连缀风格 */
-	public AjaxJson setDataCount(Long dataCount) {
-		this.put("dataCount", dataCount);
-		// 如果提供了数据总数,则尝试计算page信息
-		if(dataCount != null && dataCount >= 0) {		
-			// 如果:已有page信息
-			if(get("pageNo") != null) {
-				this.initPageInfo();
-			} 
-			// 或者:是JavaWeb环境
-			else if(SoMap.isJavaWeb()) {
-				SoMap so = SoMap.getRequestSoMap();
-				this.setPageNoAndSize(so.getKeyPageNo(), so.getKeyPageSize());
-				this.initPageInfo();
-			}
-		}
-		return this;
-	}
-	/** 获取dataCount(数据总数) */
-	public Long getDataCount() {
-		return (Long)this.get("dataCount");
-	}
-	
-	/** 设置pageNo 和 pageSize,并计算出startIndex于pageCount */
-	public AjaxJson setPageNoAndSize(long pageNo, long pageSize) {
-		this.put("pageNo", pageNo);
-		this.put("pageSize", pageSize);
-		return this;
-	}
-
-	/** 根据 pageSize dataCount,计算startIndex 与 pageCount */
-	public AjaxJson initPageInfo() {
-		long pageNo = (long)this.get("pageNo");
-		long pageSize = (long)this.get("pageSize");
-		long dataCount = (long)this.get("dataCount");
-		this.set("startIndex", (pageNo - 1) * pageSize);
-		long pc = dataCount / pageSize;
-		this.set("pageCount", (dataCount % pageSize == 0 ?  pc : pc + 1));
-		return this;
-	}
-	
-	
-	/** 写入一个值 自定义key, 连缀风格 */
-	public AjaxJson set(String key, Object data) {
-		this.put(key, data);
-		return this;
-	}
-
-	/** 写入一个Map, 连缀风格 */
-	public AjaxJson setMap(Map<String, ?> map) {
-		for (String key : map.keySet()) {
-			this.put(key, map.get(key));
-		}
-		return this;
-	}
-	
-	
-	// ============================  构建  ================================== 
-
-	public AjaxJson() {
-	}
-	
-	public AjaxJson(int code, String msg, Object data, Long dataCount) {
-		this.setCode(code);
-		this.setMsg(msg);
-		this.setData(data);
-		if(dataCount != null) {
-			this.setDataCount(dataCount);
-		}
-	}
-	
-	/** 返回成功 */
-	public static AjaxJson getSuccess() {
-		return new AjaxJson(CODE_SUCCESS, "ok", null, null);
-	}
-	public static AjaxJson getSuccess(String msg) {
-		return new AjaxJson(CODE_SUCCESS, msg, null, null);
-	}
-	public static AjaxJson getSuccess(String msg, Object data) {
-		return new AjaxJson(CODE_SUCCESS, msg, data, null);
-	}
-	public static AjaxJson getSuccessData(Object data) {
-		return new AjaxJson(CODE_SUCCESS, "ok", data, null);
-	}
-	
-	
-	/** 返回失败 */
-	public static AjaxJson getError() {
-		return new AjaxJson(CODE_ERROR, "error", null, null);
-	}
-	public static AjaxJson getError(String msg) {
-		return new AjaxJson(CODE_ERROR, msg, null, null);
-	}
-	
-	/** 返回警告  */
-	public static AjaxJson getWarning() {
-		return new AjaxJson(CODE_ERROR, "warning", null, null);
-	}
-	public static AjaxJson getWarning(String msg) {
-		return new AjaxJson(CODE_WARNING, msg, null, null);
-	}
-
-	/** 返回未登录  */
-	public static AjaxJson getNotLogin() {
-		return new AjaxJson(CODE_NOT_LOGIN, "未登录,请登录后再次访问", null, null);
-	}
-
-	/** 返回没有权限的  */
-	public static AjaxJson getNotJur(String msg) {
-		return new AjaxJson(CODE_NOT_JUR, msg, null, null);
-	}
-	
-	/** 返回一个自定义状态码的  */
-	public static AjaxJson get(int code, String msg){
-		return new AjaxJson(code, msg, null, null);
-	}
-	
-	/** 返回分页和数据的  */
-	public static AjaxJson getPageData(Long dataCount, Object data){
-		return new AjaxJson(CODE_SUCCESS, "ok", data, dataCount);
-	}
-	
-	/** 返回, 根据受影响行数的(大于0=ok,小于0=error)  */
-	public static AjaxJson getByLine(int line){
-		if(line > 0){
-			return getSuccess("ok", line);
-		}
-		return getError("error").setData(line); 
-	}
-
-	/** 返回,根据布尔值来确定最终结果的  (true=ok,false=error)  */
-	public static AjaxJson getByBoolean(boolean b){
-		return b ? getSuccess("ok") : getError("error"); 
-	}
-	
-	
-	
-	
-	
-	
-	
+public class AjaxJson extends LinkedHashMap<String, Object> implements Serializable {
+
+    private static final long serialVersionUID = 1L;    // 序列化版本号
+
+    public static final int CODE_SUCCESS = 200;            // 成功状态码
+    public static final int CODE_ERROR = 500;            // 错误状态码
+    public static final int CODE_WARNING = 501;            // 警告状态码
+    public static final int CODE_NOT_JUR = 403;            // 无权限状态码
+    public static final int CODE_NOT_LOGIN = 401;        // 未登录状态码
+    public static final int CODE_INVALID_REQUEST = 400;    // 无效请求状态码
+
+
+    // ============================  写值取值  ==================================
+
+    /**
+     * 给code赋值,连缀风格
+     */
+    public AjaxJson setCode(int code) {
+        this.put("code", code);
+        return this;
+    }
+
+    /**
+     * 返回code
+     */
+    public Integer getCode() {
+        return (Integer) this.get("code");
+    }
+
+    /**
+     * 给msg赋值,连缀风格
+     */
+    public AjaxJson setMsg(String msg) {
+        this.put("msg", msg);
+        return this;
+    }
+
+    /**
+     * 获取msg
+     */
+    public String getMsg() {
+        return (String) this.get("msg");
+    }
+
+    /**
+     * 给data赋值,连缀风格
+     */
+    public AjaxJson setData(Object data) {
+        this.put("data", data);
+        return this;
+    }
+
+    /**
+     * 获取data
+     */
+    public Object getData() {
+        return this.get("data");
+    }
+
+    /**
+     * 将data还原为指定类型并返回
+     */
+    @SuppressWarnings("unchecked")
+    public <T> T getData(Class<T> cs) {
+        return (T) this.getData();
+    }
+
+    /**
+     * 给dataCount(数据总数)赋值,连缀风格
+     */
+    public AjaxJson setDataCount(Long dataCount) {
+        this.put("dataCount", dataCount);
+        // 如果提供了数据总数,则尝试计算page信息
+        if (dataCount != null && dataCount >= 0) {
+            // 如果:已有page信息
+            if (get("pageNo") != null) {
+                this.initPageInfo();
+            }
+            // 或者:是JavaWeb环境
+            else if (SoMap.isJavaWeb()) {
+                SoMap so = SoMap.getRequestSoMap();
+                this.setPageNoAndSize(so.getKeyPageNo(), so.getKeyPageSize());
+                this.initPageInfo();
+            }
+        }
+        return this;
+    }
+
+    /**
+     * 获取dataCount(数据总数)
+     */
+    public Long getDataCount() {
+        return (Long) this.get("dataCount");
+    }
+
+    /**
+     * 设置pageNo 和 pageSize,并计算出startIndex于pageCount
+     */
+    public AjaxJson setPageNoAndSize(long pageNo, long pageSize) {
+        this.put("pageNo", pageNo);
+        this.put("pageSize", pageSize);
+        return this;
+    }
+
+    /**
+     * 根据 pageSize dataCount,计算startIndex 与 pageCount
+     */
+    public AjaxJson initPageInfo() {
+        long pageNo = (long) this.get("pageNo");
+        long pageSize = (long) this.get("pageSize");
+        long dataCount = (long) this.get("dataCount");
+        this.set("startIndex", (pageNo - 1) * pageSize);
+        long pc = dataCount / pageSize;
+        this.set("pageCount", (dataCount % pageSize == 0 ? pc : pc + 1));
+        return this;
+    }
+
+
+    /**
+     * 写入一个值 自定义key, 连缀风格
+     */
+    public AjaxJson set(String key, Object data) {
+        this.put(key, data);
+        return this;
+    }
+
+    /**
+     * 写入一个Map, 连缀风格
+     */
+    public AjaxJson setMap(Map<String, ?> map) {
+        for (String key : map.keySet()) {
+            this.put(key, map.get(key));
+        }
+        return this;
+    }
+
+
+    // ============================  构建  ==================================
+
+    public AjaxJson() {
+    }
+
+    public AjaxJson(int code, String msg, Object data, Long dataCount) {
+        this.setCode(code);
+        this.setMsg(msg);
+        this.setData(data);
+        if (dataCount != null) {
+            this.setDataCount(dataCount);
+        }
+    }
+
+    /**
+     * 返回成功
+     */
+    public static AjaxJson getSuccess() {
+        return new AjaxJson(CODE_SUCCESS, "ok", null, null);
+    }
+
+    public static AjaxJson getSuccess(String msg) {
+        return new AjaxJson(CODE_SUCCESS, msg, null, null);
+    }
+
+    public static AjaxJson getSuccess(String msg, Object data) {
+        return new AjaxJson(CODE_SUCCESS, msg, data, null);
+    }
+
+    public static AjaxJson getSuccessData(Object data) {
+        return new AjaxJson(CODE_SUCCESS, "ok", data, null);
+    }
+
+    public static AjaxJson getSuccess(Integer code, String msg) {
+        return new AjaxJson(code, msg, null, null);
+    }
+
+    /**
+     * 返回失败
+     */
+    public static AjaxJson getError() {
+        return new AjaxJson(CODE_ERROR, "error", null, null);
+    }
+
+    public static AjaxJson getError(String msg) {
+        return new AjaxJson(CODE_ERROR, msg, null, null);
+    }
+
+    /**
+     * 返回警告
+     */
+    public static AjaxJson getWarning() {
+        return new AjaxJson(CODE_ERROR, "warning", null, null);
+    }
+
+    public static AjaxJson getWarning(String msg) {
+        return new AjaxJson(CODE_WARNING, msg, null, null);
+    }
+
+    /**
+     * 返回未登录
+     */
+    public static AjaxJson getNotLogin() {
+        return new AjaxJson(CODE_NOT_LOGIN, "未登录,请登录后再次访问", null, null);
+    }
+
+    /**
+     * 返回没有权限的
+     */
+    public static AjaxJson getNotJur(String msg) {
+        return new AjaxJson(CODE_NOT_JUR, msg, null, null);
+    }
+
+    /**
+     * 返回一个自定义状态码的
+     */
+    public static AjaxJson get(int code, String msg) {
+        return new AjaxJson(code, msg, null, null);
+    }
+
+    /**
+     * 返回分页和数据的
+     */
+    public static AjaxJson getPageData(Long dataCount, Object data) {
+        return new AjaxJson(CODE_SUCCESS, "ok", data, dataCount);
+    }
+
+    /**
+     * 返回, 根据受影响行数的(大于0=ok,小于0=error)
+     */
+    public static AjaxJson getByLine(int line) {
+        if (line > 0) {
+            return getSuccess("ok", line);
+        }
+        return getError("error").setData(line);
+    }
+
+    /**
+     * 返回,根据布尔值来确定最终结果的  (true=ok,false=error)
+     */
+    public static AjaxJson getByBoolean(boolean b) {
+        return b ? getSuccess("ok") : getError("error");
+    }
+
+
 //  // 历史版本遗留代码 
 //	public int code; 	// 状态码
 //	public String msg; 	// 描述信息 
 //	public Object data; // 携带对象
 //	public Long dataCount;	// 数据总数,用于分页 
 
-	
-	
-	
+
 }

BIN
target/classes/com/pj/project/sso/SsoServerController.class


BIN
target/classes/com/pj/project/sys_user/SysUser.class


+ 5 - 2
target/classes/com/pj/project/sys_user/SysUserMapper.xml

@@ -5,8 +5,8 @@
     <!-- 增 -->
     <insert id="add">
         insert into
-        sys_user (id, username,name, avatar, intro, age, sex, phone, email, create_time)
-        values (#{id}, #{username},#{name}, #{avatar}, #{intro}, #{age}, #{sex}, #{phone}, #{email}, now())
+        sys_user (id, username,name, avatar, intro, age, sex, phone, email, is_admin,create_time)
+        values (#{id}, #{username},#{name}, #{avatar}, #{intro}, #{age}, #{sex}, #{phone}, #{email},#{isAdmin}, now())
     </insert>
 
     <!-- 改 -->
@@ -20,6 +20,7 @@
 		sex = #{sex}, 
 		phone = #{phone}, 
 		email = #{email}, 
+		is_admin = #{isAdmin},
 		status = #{status}
 		where id = #{id}
 	</update>
@@ -38,6 +39,7 @@
         <result property="sex" column="sex"/>
         <result property="phone" column="phone"/>
         <result property="email" column="email"/>
+        <result property="isAdmin" column="is_admin"/>
         <result property="status" column="status"/>
         <result property="createTime" column="create_time"/>
         <result property="loginTime" column="login_time"/>
@@ -96,6 +98,7 @@
             <if test=' this.has("phone") '>and phone = #{phone}</if>
             <if test=' this.has("email") '>and email = #{email}</if>
             <if test=' this.has("status") '>and status = #{status}</if>
+            <if test=' this.has("isAdmin") '>and is_del = #{isAdmin}</if>
             <if test=' this.has("isDel") '>and is_del = #{isDel}</if>
         </where>
         order by

BIN
target/classes/com/pj/project/sys_user/SysUserService.class


BIN
target/classes/com/pj/project/sys_user_acc/SysUserAccController.class


BIN
target/classes/com/pj/project/sys_user_sync/listen/SspServerListenController.class


BIN
target/classes/com/pj/utils/sg/AjaxJson.class


BIN
xmnk-sso-1.0.jar