From 922f0882c659de97731f9d00519f03d8cb07c604 Mon Sep 17 00:00:00 2001
From: liurunyu <lry9898@163.com>
Date: 星期四, 07 十二月 2023 21:06:45 +0800
Subject: [PATCH] 实现重置用户密码功能

---
 pipIrr-platform/pipIrr-web/pipIrr-web-base/src/main/java/com/dy/pipIrrBase/user/UserCtrl.java |  109 +++++++++++++++++++++++++++++++++++++++++++++---------
 1 files changed, 91 insertions(+), 18 deletions(-)

diff --git a/pipIrr-platform/pipIrr-web/pipIrr-web-base/src/main/java/com/dy/pipIrrBase/user/UserCtrl.java b/pipIrr-platform/pipIrr-web/pipIrr-web-base/src/main/java/com/dy/pipIrrBase/user/UserCtrl.java
index 3bfc625..2c75af8 100644
--- a/pipIrr-platform/pipIrr-web/pipIrr-web-base/src/main/java/com/dy/pipIrrBase/user/UserCtrl.java
+++ b/pipIrr-platform/pipIrr-web/pipIrr-web-base/src/main/java/com/dy/pipIrrBase/user/UserCtrl.java
@@ -10,6 +10,7 @@
 import com.dy.common.webUtil.QueryResultVo;
 import com.dy.common.webUtil.ResultCodeMsg;
 import com.dy.pipIrrGlobal.pojoBa.BaUser;
+import com.dy.pipIrrGlobal.util.Constant;
 import com.mysql.cj.util.StringUtils;
 import io.swagger.v3.oas.annotations.Operation;
 import io.swagger.v3.oas.annotations.Parameter;
@@ -38,12 +39,39 @@
 
     private UserSv sv;
 
+    @Value("${user.defaultTrueRandomFalsePassword:true}")
+    private Boolean defaultTrueRandomFalsePassword;
+
     @Value("${user.defaultPassword:ABC123}")
     private String defaultPassword;
 
     @Autowired
     private void setSv(UserSv sv) {
         this.sv = sv;
+    }
+
+
+    /**
+     * 瀹㈡埛绔姹傚緱鍒伴粯璁ゅ瘑鐮�
+     * @return 榛樿瀵嗙爜
+     */
+    @Operation(summary = "鑾峰緱榛樿瀵嗙爜", description = "鑾峰緱榛樿瀵嗙爜")
+    @ApiResponses(value = {
+            @ApiResponse(
+                    responseCode = ResultCodeMsg.RsCode.SUCCESS_CODE,
+                    description = "杩斿洖榛樿瀵嗙爜锛圔aseResponse.content:password锛�",
+                    content = {@Content(mediaType = MediaType.APPLICATION_JSON_VALUE,
+                            schema = @Schema(implementation = String.class))}
+            )
+    })
+    @GetMapping(path = "defaultPassword", consumes = MediaType.TEXT_PLAIN_VALUE)
+    public BaseResponse<String> defaultPassword(){
+        if(defaultTrueRandomFalsePassword){
+            return BaseResponseUtils.buildSuccess(defaultPassword) ;
+        }else{
+            String password = this.sv.getStringRandom(6) ;
+            return BaseResponseUtils.buildSuccess(password) ;
+        }
     }
 
     /**
@@ -115,8 +143,8 @@
         }
         po.id = null;
         int count;
-        int count1;
         try {
+            po.supperAdmin = Constant.no.byteValue() ;
             po.disabled = Disabled.NO;//榛樿涓嶇鐢�
             po.deleted = Deleted.NO;//榛樿涓嶅垹闄�
             po.orgTag = DataSourceContext.get();//鏈烘瀯鏍囩
@@ -130,12 +158,12 @@
                 po.password = MD5.encrypt(defaultPassword);
             }
             count = this.sv.save(po);
-            count1 = this.sv.setRoles(String.valueOf(po.id), po.roleIds);
+            this.sv.setRoles(po.id, po.roleIds);
         } catch (Exception e) {
             log.error("淇濆瓨鐢ㄦ埛寮傚父", e);
             return BaseResponseUtils.buildException(e.getMessage());
         }
-        if (count <= 0 || count1 <= 0) {
+        if (count <= 0) {
             return BaseResponseUtils.buildFail("鏁版嵁搴撳瓨鍌ㄥけ璐�");
         } else {
             return BaseResponseUtils.buildSuccess(true);
@@ -168,9 +196,11 @@
         }
         int count;
         try {
+            po.supperAdmin = null;//璁剧疆涓簄ull锛屼笉鍋氭洿鏂�
             po.deleted = null;//璁剧疆涓簄ull锛屼笉鍋氭洿鏂�
             po.orgTag = null;//璁剧疆涓簄ull锛屼笉鍋氭洿鏂�
             count = this.sv.update(po);
+            this.sv.setRoles(po.id, po.roleIds);
         } catch (Exception e) {
             log.error("淇濆瓨鐢ㄦ埛寮傚父", e);
             return BaseResponseUtils.buildException(e.getMessage());
@@ -245,12 +275,11 @@
     }
 
     /**
-     * 閲嶇疆瀵嗙爜涓洪粯璁ゅ��
-     *
-     * @param id 鐢ㄦ埛ID
+     * 閲嶇疆瀵嗙爜
+     * @param vo form琛ㄥ崟瀵硅薄
      * @return 鏄惁鎴愬姛
      */
-    @Operation(summary = "閲嶇疆瀵嗙爜", description = "鎻愪氦鐢ㄦ埛ID")
+    @Operation(summary = "閲嶇疆瀵嗙爜", description = "鎻愪氦鏁版嵁锛坒orm琛ㄥ崟json鏁版嵁锛夛紝杩涜瀵嗙爜閲嶇疆")
     @ApiResponses(value = {
             @ApiResponse(
                     responseCode = ResultCodeMsg.RsCode.SUCCESS_CODE,
@@ -259,9 +288,51 @@
                             schema = @Schema(implementation = Boolean.class))}
             )
     })
-    @GetMapping(path = "resetPassword", consumes = MediaType.TEXT_PLAIN_VALUE)
+    @PostMapping(path = "resetPassword", consumes = MediaType.APPLICATION_JSON_VALUE)
     @SsoAop("-1")//@SsoAop(power = "-1")
-    public BaseResponse<Boolean> resetPassword(@Parameter(description = "瀹炰綋id", required = true) String id) throws Exception {
+    public BaseResponse<Boolean> resetPassword(@RequestBody @Parameter(description = "form琛ㄥ崟json鏁版嵁", required = true) ResetPasswordVo vo) throws Exception {
+        if (vo.id == null) {
+            return BaseResponseUtils.buildFail("id涓嶈兘涓虹┖");
+        }
+        String password = MD5.encrypt(vo.password);//杩涜鍔犲瘑鐮�
+        Long idLg = Long.parseLong(vo.id);
+        int count;
+        try {
+            BaUser po = this.sv.selectById(idLg);
+            if (Objects.isNull(po)) {
+                return BaseResponseUtils.buildFail("鏈緱鍒扮敤鎴凤紝璇锋眰澶辫触");
+            } else {
+                count = this.sv.changePassword(idLg, password);
+            }
+        } catch (Exception e) {
+            log.error("淇濆瓨鐢ㄦ埛寮傚父", e);
+            return BaseResponseUtils.buildException(e.getMessage());
+        }
+        if (count <= 0) {
+            return BaseResponseUtils.buildFail("鏁版嵁搴撳瓨鍌ㄥけ璐�");
+        } else {
+            return BaseResponseUtils.buildSuccess(true);
+        }
+    }
+
+    /*
+     * 閲嶇疆瀵嗙爜涓洪粯璁ゅ��
+     *
+     * @param id 鐢ㄦ埛ID
+     * @return 鏄惁鎴愬姛
+
+    @Operation(summary = "閲嶇疆瀵嗙爜涓洪粯璁ゅ瘑鐮�", description = "鎻愪氦鐢ㄦ埛ID")
+    @ApiResponses(value = {
+            @ApiResponse(
+                    responseCode = ResultCodeMsg.RsCode.SUCCESS_CODE,
+                    description = "鎿嶄綔缁撴灉锛歵rue锛氭垚鍔燂紝false锛氬け璐ワ紙BaseResponse.content锛�",
+                    content = {@Content(mediaType = MediaType.APPLICATION_JSON_VALUE,
+                            schema = @Schema(implementation = Boolean.class))}
+            )
+    })
+    @GetMapping(path = "resetPasswordByDefault", consumes = MediaType.TEXT_PLAIN_VALUE)
+    @SsoAop("-1")//@SsoAop(power = "-1")
+    public BaseResponse<Boolean> resetPasswordByDefault(@Parameter(description = "瀹炰綋id", required = true) String id) throws Exception {
         if (id == null) {
             return BaseResponseUtils.buildFail("id涓嶈兘涓虹┖");
         }
@@ -285,14 +356,15 @@
             return BaseResponseUtils.buildSuccess(true);
         }
     }
+    */
 
-    /**
+    /*
      * 閲嶇疆瀵嗙爜涓洪殢鏈烘暟瀛楀姞瀛楁瘝
      *
      * @param id 鐢ㄦ埛ID
      * @return 鏄惁鎴愬姛
-     */
-    @Operation(summary = "閲嶇疆瀵嗙爜", description = "鎻愪氦鐢ㄦ埛ID")
+
+    @Operation(summary = "閲嶇疆瀵嗙爜涓洪殢鏈烘暟瀛楀姞瀛楁瘝", description = "鎻愪氦鐢ㄦ埛ID")
     @ApiResponses(value = {
             @ApiResponse(
                     responseCode = ResultCodeMsg.RsCode.SUCCESS_CODE,
@@ -301,9 +373,9 @@
                             schema = @Schema(implementation = Boolean.class))}
             )
     })
-    @GetMapping(path = "resetPassword1", consumes = MediaType.TEXT_PLAIN_VALUE)
+    @GetMapping(path = "resetPasswordByRandom", consumes = MediaType.TEXT_PLAIN_VALUE)
     @SsoAop("-1")//@SsoAop(power = "-1")
-    public BaseResponse<String> resetPassword1(@Parameter(description = "瀹炰綋id", required = true) String id) throws Exception {
+    public BaseResponse<String> resetPasswordByRandom(@Parameter(description = "瀹炰綋id", required = true) String id) throws Exception {
         if (id == null) {
             return BaseResponseUtils.buildFail("id涓嶈兘涓虹┖");
         }
@@ -328,14 +400,15 @@
             return BaseResponseUtils.buildSuccess(randomPassword);
         }
     }
+    */
 
-
-    /**
+    /*
+     * 2023-12-05 鍦� save鍜寀pdate鏂规硶涓繘琛屼簡瑙掕壊璁剧疆鍏宠仈锛屾湰鏂规硶搴熷純
      * 璁剧疆鐢ㄦ埛瑙掕壊
      *
      * @param id 鐢ㄦ埛ID
      * @return 鏄惁鎴愬姛
-     */
+
     @Operation(summary = "璁剧疆鐢ㄦ埛瑙掕壊", description = "鎻愪氦鐢ㄦ埛ID锛屽強鎵�閫夋嫨鐨勮鑹睮D闆嗗悎锛堟暟缁勶級")
     @ApiResponses(value = {
             @ApiResponse(
@@ -365,7 +438,7 @@
         }
         return BaseResponseUtils.buildSuccess(true);
     }
-
+     */
 
     /**
      * 鍒犻櫎鐢ㄦ埛

--
Gitblit v1.8.0