From ef270bd1855b5ce3f398c5df024840a498e33a8f Mon Sep 17 00:00:00 2001
From: MercuryZ <zdmisif@126.com>
Date: 星期四, 31 三月 2022 14:09:17 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/master'

---
 ximon-admin/src/main/java/com/sandu/ximon/admin/service/ClientService.java |   58 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++-
 1 files changed, 57 insertions(+), 1 deletions(-)

diff --git a/ximon-admin/src/main/java/com/sandu/ximon/admin/service/ClientService.java b/ximon-admin/src/main/java/com/sandu/ximon/admin/service/ClientService.java
index 0fef97e..ae54250 100644
--- a/ximon-admin/src/main/java/com/sandu/ximon/admin/service/ClientService.java
+++ b/ximon-admin/src/main/java/com/sandu/ximon/admin/service/ClientService.java
@@ -7,6 +7,7 @@
 import com.sandu.common.object.BaseConditionVO;
 import com.sandu.common.service.impl.BaseServiceImpl;
 import com.sandu.ximon.admin.param.AddClientPrarm;
+import com.sandu.ximon.admin.param.ResetClientPasswordPrarm;
 import com.sandu.ximon.admin.param.UpdateClientPrarm;
 import com.sandu.ximon.admin.security.SecurityUtils;
 import com.sandu.ximon.dao.domain.Client;
@@ -14,6 +15,7 @@
 import com.sandu.ximon.dao.domain.Role;
 import com.sandu.ximon.dao.mapper.ClientMapper;
 import lombok.AllArgsConstructor;
+import org.springframework.security.crypto.bcrypt.BCryptPasswordEncoder;
 import org.springframework.security.crypto.password.PasswordEncoder;
 import org.springframework.stereotype.Service;
 
@@ -39,7 +41,11 @@
         if (addClientPrarm.getClientSuperior() != null && !"".equals(addClientPrarm.getClientSuperior())) {
             Client one = getOne(Wrappers.lambdaQuery(Client.class).eq(Client::getClientName, addClientPrarm.getClientSuperior()));
             if (one != null) {
-                client.setSuperiorId(one.getId());
+                if (one.getSuperiorId() == null) {
+                    client.setSuperiorId(one.getId());
+                } else {
+                    throw new BusinessException("涓婄骇瀹㈡埛涓嶈兘涓轰簩绾х敤鎴�");
+                }
             } else {
                 throw new BusinessException("涓婄骇瀹㈡埛涓嶅瓨鍦�");
             }
@@ -108,6 +114,25 @@
         return updateById(client);
     }
 
+    public boolean resetPassword(ResetClientPasswordPrarm resetClientPasswordPrarm) {
+        Client client = getOne(Wrappers.lambdaQuery(Client.class).eq(Client::getId, resetClientPasswordPrarm.getId()));
+
+        if (client == null) {
+            throw new BusinessException("璇ョ敤鎴蜂笉瀛樺湪锛�");
+        }
+
+        PasswordEncoder pw = new BCryptPasswordEncoder();
+        //鍒ゆ柇鏃у瘑鐮佷笌鏁版嵁搴撴槸鍚︿竴鑷�
+        if (pw.matches(resetClientPasswordPrarm.getOldPassword(), client.getPassword())) {
+            //鍔犲瘑鏂板瘑鐮�
+            String encode = pw.encode(resetClientPasswordPrarm.getNewPassword());
+            client.setPassword(encode);
+            return updateById(client);
+        } else {
+            throw new BusinessException("鏃у瘑鐮佷笉姝g‘锛岃閲嶆柊纭瀵嗙爜锛�");
+        }
+    }
+
     public boolean deleteClient(Long id) {
         //鍒ゆ柇鍒犻櫎鐢ㄦ埛鏄惁瀛樺湪
         Client one = getById(id);
@@ -152,6 +177,23 @@
     }
 
     /**
+     * \
+     * 鍏朵粬绫荤敤鏉ユ煡鎵惧鎴穒d浣跨敤  濡傛灉娌℃湁涓婄骇瀹㈡埛 杩欒繑鍥炵敤鎴稩D
+     *
+     * @param
+     * @return
+     */
+    public Long getClientId(Long userId) {
+        Client one = getOne(Wrappers.lambdaQuery(Client.class).eq(Client::getId, userId));
+        if (one != null && one.getSuperiorId() != null) {
+            return one.getSuperiorId();
+        } else {
+            return userId;
+        }
+
+    }
+
+    /**
      * 涓�绾у鎴疯繑鍥瀎alse  浜岀骇瀹㈡埛杩斿洖true
      *
      * @return
@@ -166,4 +208,18 @@
         }
 
     }
+
+    /**
+     * 涓�绾у鎴疯繑鍥瀎alse  浜岀骇瀹㈡埛杩斿洖true
+     *
+     * @return
+     */
+    public boolean findClientId(Long userId) {
+        Client one = getOne(Wrappers.lambdaQuery(Client.class).eq(Client::getId, userId));
+        if (one != null && one.getSuperiorId() != null) {
+            return true;
+        } else {
+            return false;
+        }
+    }
 }

--
Gitblit v1.9.3