Pārlūkot izejas kodu

Merge branch 'master' of https://gitee.com/antai-wuliu/ANTAI-API

Redeem 1 gadu atpakaļ
vecāks
revīzija
48b2ceaa7b

+ 26 - 0
src/main/java/com/steerinfo/dil/controller/BackgroundProcessingController.java

@@ -106,5 +106,31 @@ public class BackgroundProcessingController extends BaseRESTfulController {
     }
 
 
+    @ApiOperation("重置密码")
+    @PostMapping("/resetPwd")
+    public RESTfulResult  resetPwd(@RequestBody Map<String,Object> map) {
+        try {
+            if(map.get("ssoId") == null || map.get("ssoId").equals("")){
+                throw new Exception("用户账号不存在,请先联系管理员注册!");
+            }
+            return success(ssoUtil.resetPwd(map.get("ssoId").toString(),map.get("ssoCode").toString()));
+        } catch (Exception e) {
+            e.printStackTrace();
+            return  failed(map,e.getMessage());
+        }
+    }
 
+    @ApiOperation("解锁用户")
+    @PostMapping("/unlockUser")
+    public RESTfulResult  unlockUser(@RequestBody Map<String,Object> map) {
+        try {
+            if(map.get("ssoId") == null || map.get("ssoId").equals("")){
+                throw new Exception("用户账号不存在,请先联系管理员注册!");
+            }
+            return success(ssoUtil.unlockUser(map.get("ssoId").toString(),map.get("ssoCode").toString()));
+        } catch (Exception e) {
+            e.printStackTrace();
+            return  failed(map,e.getMessage());
+        }
+    }
 }

+ 25 - 0
src/main/java/com/steerinfo/dil/feign/SSOFeign.java

@@ -49,6 +49,31 @@ public interface SSOFeign {
     JSONObject deleteUser(@RequestHeader("Authorization") String token,
                           @PathVariable String userId);
 
+
+    @PutMapping("/v1/sysusers/resetPassword/{userId}")
+    JSONObject resetPassword(@RequestHeader("Authorization") String token,
+                       @PathVariable String userId,
+                       @RequestParam String password,
+                       @RequestBody(required = true) Map<String,Object> map);
+
+    @PutMapping("/v1/sysuserlogins/resetLoginInfo/{userCode}")
+    JSONObject resetLoginInfo(@RequestHeader("Authorization") String token,
+                             @PathVariable String userCode);
+
+    /**
+     * 激活账号
+     * @param token
+     * @param userId
+     * @param status 1-启用
+     * @param loginStatus 1-激活
+     * @return
+     */
+    @PostMapping("/v1/sysusers/updateUser/{userId}")
+    JSONObject reActive(@RequestHeader("Authorization") String token,
+                              @PathVariable String userId,
+                              @RequestParam(defaultValue = "1") String status,
+                              @RequestParam(defaultValue = "1") String loginStatus);
+
     @GetMapping("/v1/sysroles/getRolesUser")
     JSONObject getRolesUser(@RequestHeader("Authorization") String token,
                        @RequestParam String companyId);

+ 39 - 1
src/main/java/com/steerinfo/dil/util/SSOUtil.java

@@ -41,7 +41,7 @@ public class SSOUtil {
     public  String login(){
         try{
             JSONObject result = ssoFeign.login(userName,password,"web");
-            String token = result.getJSONObject("data").getString("accessToken");
+            String token = "Bearer " + result.getJSONObject("data").getString("accessToken");
             log.debug(token);
             return  token;
         }catch (Exception e){
@@ -141,4 +141,42 @@ public class SSOUtil {
         }
         return new HashMap<>();
     }
+
+    /**
+     * 重置密码
+     * @param userId
+     * @return
+     */
+    public JSONObject resetPwd(String userId,String userCode) throws Exception {
+        String token = login();
+        if(token == null){
+            throw new Exception("登录SSO失败!");
+        }
+        Map<String,Object> params = new HashMap<>();
+        params.put("userId",userId);
+        params.put("password","At123456");
+        //重置密码
+        JSONObject result =  ssoFeign.resetPassword(token,userId,"At123456",params);
+        //解锁用户并激活账号
+        unlockUser(userId,userCode);
+        return result;
+    }
+
+
+    /**
+     * 解锁用户并激活账号
+     * @param userId
+     * @param userCode
+     * @return
+     * @throws Exception
+     */
+    public JSONObject unlockUser(String userId,String userCode) throws Exception {
+        String token = login();
+        if(token == null){
+            throw new Exception("登录SSO失败!");
+        }
+        JSONObject result =  ssoFeign.resetLoginInfo(token,userCode);//解锁用户
+        ssoFeign.reActive(token,userId,"1","1");//激活账户
+        return result;
+    }
 }