From 35b68d05c92ae1eab2e409529a070a217ba492ae Mon Sep 17 00:00:00 2001
From: zhanzhiqin <895896009@qq.com>
Date: 星期一, 25 四月 2022 09:53:23 +0800
Subject: [PATCH] fix 客户列表bug修复

---
 ximon-admin/src/main/java/com/sandu/ximon/admin/controller/AdminController.java |   50 ++++++++++++++++++++++++++++++++++++++++++--------
 1 files changed, 42 insertions(+), 8 deletions(-)

diff --git a/ximon-admin/src/main/java/com/sandu/ximon/admin/controller/AdminController.java b/ximon-admin/src/main/java/com/sandu/ximon/admin/controller/AdminController.java
index 665bc71..5a33537 100644
--- a/ximon-admin/src/main/java/com/sandu/ximon/admin/controller/AdminController.java
+++ b/ximon-admin/src/main/java/com/sandu/ximon/admin/controller/AdminController.java
@@ -7,6 +7,7 @@
 import com.sandu.common.domain.ResponseVO;
 import com.sandu.common.enums.AdminStatusStatus;
 import com.sandu.common.enums.ResponseStatusEnums;
+import com.sandu.common.enums.RoleLevelStatus;
 import com.sandu.common.execption.BusinessException;
 import com.sandu.common.log.Log;
 import com.sandu.common.object.BaseConditionVO;
@@ -18,13 +19,11 @@
 import com.sandu.common.security.token.TokenProvider;
 import com.sandu.common.util.IpUtil;
 import com.sandu.common.util.ResponseUtil;
-import com.sandu.ximon.admin.param.AdminLoginParam;
-import com.sandu.ximon.admin.param.AdminParam;
-import com.sandu.ximon.admin.param.PwdParam;
-import com.sandu.ximon.admin.param.ReceiveParam;
+import com.sandu.ximon.admin.param.*;
 import com.sandu.ximon.admin.security.PermissionConfig;
 import com.sandu.ximon.admin.security.SecurityUtils;
 import com.sandu.ximon.admin.service.*;
+import com.sandu.ximon.admin.utils.RedisUtils;
 import com.sandu.ximon.dao.bo.MenuNode;
 import com.sandu.ximon.dao.domain.*;
 import com.sandu.ximon.dao.enums.AdministratorEnums;
@@ -86,7 +85,16 @@
         loginUserInfo.setAccount(admin.getUsername());
         loginUserInfo.setStatus(admin.getStatus());
         loginUserInfo.setIp(IpUtil.getRealIp());
-        loginUserInfo.setAdministratorType(AdministratorEnums.ADMIN.getCode());
+
+        //纭畾鐢ㄦ埛瑙掕壊鏉冮檺
+        AdminRoleRelation adminRoleRelation = adminRoleRelationService.getOne(Wrappers.lambdaQuery(AdminRoleRelation.class).eq(AdminRoleRelation::getAdminId, loginUserInfo.getUserId()));
+        Role role = roleService.getOne(Wrappers.lambdaQuery(Role.class).eq(Role::getId, adminRoleRelation.getRoleId()));
+        if (role != null && role.getLevel().equals(RoleLevelStatus.SUPER.getCode())) {
+            loginUserInfo.setAdministratorType(AdministratorEnums.ADMIN.getCode());
+        } else {
+            loginUserInfo.setAdministratorType(AdministratorEnums.CUSTOMER.getCode());
+        }
+
         loginUserInfo.setPermission(grantedAuthorities.stream().map(GrantedAuthority::getAuthority).collect(Collectors.joining(",")));
 
         // 鐢熸垚浠ょ墝
@@ -109,6 +117,7 @@
     //    @Log("鍚庡彴鐢ㄦ埛淇℃伅")
     @GetMapping(value = "/info")
     public ResponseVO<Object> getUserInfo() {
+        System.out.println(SecurityUtils.getUserDetails().getAdministratorType() + "         ---------");
         Long userId = SecurityUtils.getUserId();
         List<Role> roles;
         MapBuilder<Object, Object> builder;
@@ -232,10 +241,35 @@
     /**
      * 淇敼鎴戠殑瀵嗙爜
      */
-    @Log("鍚庡彴鐢ㄦ埛淇敼瀵嗙爜")
-    @PutMapping("/updateMyPassword")
+    @Log("淇敼褰撳墠鐢ㄦ埛瀵嗙爜")
+    @PostMapping("/updateMyPassword")
     public ResponseVO<Object> updateMyPassword(@Validated @RequestBody PwdParam param) {
-        boolean result = adminService.updateMyPassword(param);
+        boolean result;
+        if (SecurityUtils.getClientId() == null) {
+            result = adminService.updateMyPassword(param);
+        } else {
+            result = clientService.resetPassword(param);
+        }
+
+        if (result) {
+            return ResponseUtil.success("淇敼鎴愬姛");
+        } else {
+            return ResponseUtil.fail("淇敼澶辫触");
+        }
+    }
+
+    /**
+     * 淇敼绠$悊鍛樼殑瀵嗙爜
+     */
+    @Log("淇敼绠$悊鍛樼殑瀵嗙爜")
+    @PostMapping("/updateAdminPassword")
+    public ResponseVO<Object> updateAdminPassword(@Validated @RequestBody UserPwsParm param) {
+        if (!SecurityUtils.getUserDetails().getAdministratorType().equals(AdministratorEnums.ADMIN.getCode())) {
+            throw new BusinessException("闈炶秴绾х鐞嗗憳鏃犳硶淇敼瀵嗙爜锛�");
+        }
+
+        boolean result = adminService.updateAdminPassword(param);
+
         if (result) {
             return ResponseUtil.success("淇敼鎴愬姛");
         } else {

--
Gitblit v1.9.3