From b27a82d2c62c7103393989b011b042eeebe7abda Mon Sep 17 00:00:00 2001
From: xiaoyong931011 <15274802129@163.com>
Date: Mon, 21 Nov 2022 10:35:30 +0800
Subject: [PATCH] 20221117

---
 src/main/resources/i18n/message_zh_CN.properties                          |    1 +
 src/main/java/cc/mrbird/febs/dapp/service/impl/DappWalletServiceImpl.java |    9 +++++++++
 src/main/resources/i18n/message_en_US.properties                          |    1 +
 3 files changed, 11 insertions(+), 0 deletions(-)

diff --git a/src/main/java/cc/mrbird/febs/dapp/service/impl/DappWalletServiceImpl.java b/src/main/java/cc/mrbird/febs/dapp/service/impl/DappWalletServiceImpl.java
index d0dcea4..6cb1639 100644
--- a/src/main/java/cc/mrbird/febs/dapp/service/impl/DappWalletServiceImpl.java
+++ b/src/main/java/cc/mrbird/febs/dapp/service/impl/DappWalletServiceImpl.java
@@ -711,6 +711,15 @@
         DappMemberEntity dappMemberEntity = LoginUserUtil.getAppUser();
         Long memberId = dappMemberEntity.getId();
         DappMemberEntity memberEntity = dappMemberDao.selectById(memberId);
+        //验证旧密码是否正确
+        String transferCode = memberEntity.getTransferCode();
+        String oldTransferPassword = apiTransferPasswordDto.getOldTransferPassword();
+        oldTransferPassword = rsa.decryptStr(oldTransferPassword, KeyType.PrivateKey);
+        oldTransferPassword = SecureUtil.md5(oldTransferPassword);
+        if(!oldTransferPassword.equals(transferCode)){
+            return new FebsResponse().fail().message(MessageSourceUtils.getString("member_err_0018"));
+        }
+
         memberEntity.setTransferCode(SecureUtil.md5(newTransferPassword));
         dappMemberDao.updateById(memberEntity);
 
diff --git a/src/main/resources/i18n/message_en_US.properties b/src/main/resources/i18n/message_en_US.properties
index a492465..70bd7db 100644
--- a/src/main/resources/i18n/message_en_US.properties
+++ b/src/main/resources/i18n/message_en_US.properties
@@ -55,6 +55,7 @@
 member_err_0015=Not in the hang up period
 member_err_0016=The number of transfers exceeds the specified number
 member_err_0017=Account exception
+member_err_0018=The old password is incorrect and cannot be reset
 
 Operation_001=Operation succeeded
 Operation_002=Operation failed
diff --git a/src/main/resources/i18n/message_zh_CN.properties b/src/main/resources/i18n/message_zh_CN.properties
index 0ad4c92..a3ed32d 100644
--- a/src/main/resources/i18n/message_zh_CN.properties
+++ b/src/main/resources/i18n/message_zh_CN.properties
@@ -53,6 +53,7 @@
 member_err_0015=\u4E0D\u5728\u6302\u673A\u65F6\u95F4\u6BB5\u5185
 member_err_0016=\u8F6C\u8D26\u6B21\u6570\u8D85\u8FC7\u89C4\u5B9A\u6B21\u6570
 member_err_0017=\u8D26\u6237\u5F02\u5E38
+member_err_0018=\u65E7\u5BC6\u7801\u4E0D\u6B63\u786E\uFF0C\u65E0\u6CD5\u91CD\u7F6E
 
 Operation_001=\u64CD\u4F5C\u6210\u529F
 Operation_002=\u64CD\u4F5C\u5931\u8D25

--
Gitblit v1.9.1