From e16302f9d475c7cc4dd18c5abf1a23cb5502e362 Mon Sep 17 00:00:00 2001
From: whyclxw <810412026@qq.com>
Date: 星期三, 28 五月 2025 14:57:56 +0800
Subject: [PATCH] 密码验证加-

---
 src/main/java/com/whyc/controller/UserController.java |  233 ++++++++++++++++++++++++++++++++++++++++++++++++++++++---
 1 files changed, 218 insertions(+), 15 deletions(-)

diff --git a/src/main/java/com/whyc/controller/UserController.java b/src/main/java/com/whyc/controller/UserController.java
index caa3614..ee0f80a 100644
--- a/src/main/java/com/whyc/controller/UserController.java
+++ b/src/main/java/com/whyc/controller/UserController.java
@@ -1,32 +1,48 @@
 package com.whyc.controller;
 
-import com.baomidou.mybatisplus.core.metadata.IPage;
-import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.whyc.dto.Response;
 import com.whyc.pojo.UserInf;
 import com.whyc.service.UserService;
-import io.swagger.annotations.*;
+import com.whyc.util.ActionUtil;
+import com.whyc.util.RSAUtil;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
 import lombok.extern.slf4j.Slf4j;
+import org.springframework.util.StringUtils;
 import org.springframework.web.bind.annotation.*;
 
 import javax.annotation.Resource;
+import java.io.UnsupportedEncodingException;
+import java.net.URLDecoder;
+import java.security.InvalidParameterException;
 import java.util.List;
 
 @RestController
 @RequestMapping("user")
 @Api(tags = "鐢ㄦ埛绠$悊-鐢ㄦ埛")
 @Slf4j
-public class UserController {
+public class UserController extends BaseController{
 
     @Resource
     private UserService userService;
 
+    //@PostMapping
+    //@ApiOperation(value = "娣诲姞")
+    //public Response add(@RequestBody UserInf user){
+    //    return userService.add(user);
+    //}
+
     @PostMapping
-    @ApiOperation(value = "娣诲姞")
-    public Response add(@RequestBody UserInf user){
-        return userService.add(user);
+    @ApiOperation(value = "娣诲姞-RSA鍔犲瘑")
+    public Response addByRSA(@RequestBody UserInf user){
+        return userService.addByRSA(user);
     }
 
+    @PostMapping("register")
+    @ApiOperation(value = "娉ㄥ唽鐢ㄦ埛")
+    public Response register(@RequestBody UserInf user){
+        return userService.registerUser(user);
+    }
     @GetMapping
     @ApiOperation(value = "鏌ヨbyId")
     public Response<UserInf> getById(@RequestParam int id){
@@ -41,23 +57,210 @@
 
     @GetMapping("page")
     @ApiOperation(value = "鏌ヨ鍒嗛〉")
-    public Response<IPage<UserInf>> getPage(@RequestParam int pageNum,int pageSize){
-        Page<Object> page = new Page<>(pageNum, pageSize);
-        return new Response<IPage<UserInf>>().set(1,userService.getAllWithPage(page));
+    public Response getPage(@RequestParam int pageNum,int pageSize){
+        return new Response().set(1,userService.getAllWithPage(pageNum,pageSize));
     }
 
-    @PutMapping
+    @PostMapping("update")
     @ApiOperation(value = "缂栬緫")
     public Response update(@RequestBody UserInf user){
-        userService.update(user);
-        return new Response().setII(1,"鏇存柊鎴愬姛");
+        return userService.update(user);
     }
 
-    @DeleteMapping
+    @PostMapping("delete")
     @ApiOperation(value = "鍒犻櫎")
     public Response delete(@RequestParam int id){
-        userService.delete(id);
+        boolean deleteFlag = userService.delete(id);
+        if (!deleteFlag){
+            return new Response().setII(0,"鍒犻櫎澶辫触,褰撳墠鐢ㄦ埛娌℃湁鐢ㄦ埛缂栬緫鏉冮檺");
+        }
         return new Response().setII(1,"鍒犻櫎鎴愬姛");
     }
+    @GetMapping("/searchUKeyToUName")
+    @ApiOperation(value = "鏍规嵁Ukey鏌ヨ鐢ㄦ埛")
+    public Response getUserByUkey(@RequestParam String uKeyId){
+        UserInf userInf = userService.getUserByUKeyId(uKeyId);
+        Response response = new Response();
+        if (userInf!=null){
+            response.set(1,userInf,"UKey鏈夌粦瀹氱敤鎴�");
+        }else{
+            response.set(0,"Ukey娌℃湁缁戝畾鐢ㄦ埛");
+        }
+        return response;
+    }
+
+    @GetMapping("/searchUNameToUKey")
+    @ApiOperation(value = "鏍规嵁鐢ㄦ埛鍚嶆煡缁戝畾鐨刄key")
+    public Response getUserByUserName(@RequestParam String userName){
+        UserInf userInf = userService.getUserByUserName(userName);
+        Response response = new Response();
+        if (userInf!=null){
+            if (StringUtils.isEmpty(userInf.getUkeyId())){
+                response.set(-1,false,"璇ョ敤鎴锋病鏈夌粦瀹歎key");
+            }else {
+                response.setII(1,true,userInf,"璇ョ敤鎴锋湁缁戝畾Ukey");
+            }
+        }else{
+            response.set(0,false,"璇ョ敤鎴蜂笉瀛樺湪");
+        }
+        return response;
+    }
+    @PostMapping("/bindUkey")
+    @ApiOperation(value = "缁戝畾uKey")
+    public Response bindUkey(@RequestBody UserInf userInf){
+        boolean b = userService.bindUkey(userInf);
+        if (b){
+            return new Response().set(1,"缁戝畾鎴愬姛");
+        }else {
+            return new Response().set(0,"缁戝畾澶辫触");
+        }
+
+    }
+
+    @PostMapping("/checkUserPassword")
+    @ApiOperation(value = "妫�鏌ョ敤鎴峰瘑鐮�")
+    public Response checkUserPassword(@RequestParam String password){
+        UserInf userInf = ActionUtil.getUser();
+        //鍓嶇浼犻�掔殑瀵嗙爜瑙e瘑
+        password = RSAUtil.decryptFrontP(password, RSAUtil.fontSeparator)[0];
+        //鍐呭瓨瀛樺偍鐨勫瘑鐮佽В瀵�
+        String userPassword = userInf.getUpassword();
+        userPassword = RSAUtil.decrypt(userPassword,RSAUtil.getPrivateKey());
+        if (password.equals(userPassword)){
+            return new Response().set(1);
+        }else {
+            return new Response().set(0);
+        }
+    }
+
+    @PostMapping("/checkUserPasswordOfRSA")
+    @ApiOperation(value = "妫�鏌ョ敤鎴稲SA瀵嗙爜")
+    public Response checkUserPasswordOfREA(@RequestParam String pwd){
+        UserInf userInf = ActionUtil.getUser();
+        String passwordEncrypt = null;
+        /*try {
+            passwordEncrypt = URLDecoder.decode(pwd, "utf-8");
+        }catch (UnsupportedEncodingException e){
+            e.printStackTrace();
+        }*/
+        passwordEncrypt = pwd;
+        String password = RSAUtil.decryptFront(passwordEncrypt, RSAUtil.fontSeparator)[0];
+        String passwordDB = RSAUtil.decrypt(userInf.getUpassword(),RSAUtil.getPrivateKey());
+        if(passwordDB.equals(password)){
+            return new Response().set(1);
+        }else {
+            return new Response().set(0);
+        }
+    }
+    @GetMapping("/checkAndUpdatePasswordByRSA")
+    @ApiOperation(value = "妫�鏌ュ苟淇敼鐢ㄦ埛RSA瀵嗙爜")
+    public Response checkAndUpdatePasswordByRSA(@RequestParam String oldPwd,@RequestParam String newPwd){
+        UserInf userInf = ActionUtil.getUser();
+        String passwordEncrypt = oldPwd;
+        String password = RSAUtil.decryptFront(passwordEncrypt, RSAUtil.fontSeparator)[0];
+        String passwordDB = RSAUtil.decrypt(userInf.getUpassword(),RSAUtil.getPrivateKey());
+        if(passwordDB.equals(password)){
+            return userService.updatePasswordByRSA(userInf,newPwd);
+        }else {
+            return new Response().set(0,false,"鍘熷瘑鐮佷笉姝g‘");
+        }
+    }
+
+    @PostMapping("/updatePassword")
+    @ApiOperation(value = "淇敼瀵嗙爜")
+    public Response updatePassword(@RequestParam String password){
+        UserInf userInf = ActionUtil.getUser();
+        return userService.updatePassword(userInf,password);
+    }
+
+    @PostMapping("/updatePasswordByRSA")
+    @ApiOperation(value = "淇敼瀵嗙爜-RSA")
+    public Response updatePasswordByRSA(@RequestParam String password){
+        UserInf userInf = ActionUtil.getUser();
+        return userService.updatePasswordByRSA(userInf,password);
+    }
+
+    @GetMapping("updatePasswordByValidity")
+    @ApiOperation(value = "淇敼瀵嗙爜-瀵嗙爜澶辨晥")
+    public Response updatePasswordByValidity(@RequestParam String uname,@RequestParam String oldPwd,@RequestParam String newPwd) throws UnsupportedEncodingException {
+        return userService.updatePasswordByValidity(uname,oldPwd,newPwd);
+    }
+
+    /**
+     * 1.棣栨鐧诲綍,璇峰厛淇敼鍒濆鍖栧彛浠�
+     * 2.瓒呰繃3涓湀娌℃湁淇敼鍙d护,璇蜂慨鏀瑰彛浠ゅ悗閲嶆柊鐧诲綍
+     */
+    @PostMapping("updatePassword2")
+    @ApiOperation(value = "淇敼瀵嗙爜-3涓湀鏈櫥褰�")
+    public Response updatePassword2(@RequestParam String passwordOld,String passwordNew){
+        //鏍¢獙鑰佸瘑鐮�
+        String[] dataArr = RSAUtil.decryptFrontP(passwordOld, RSAUtil.fontSeparator);
+        passwordOld = dataArr[0];
+        String passwordMD5 = dataArr[1];
+        if(!ActionUtil.EncryptionMD5(passwordOld).equals(passwordMD5)){
+            throw new InvalidParameterException("鍙傛暟鏍¢獙澶辫触");
+        }
+        //鏍¢獙鏂板瘑鐮�
+        String[] dataNewArr = RSAUtil.decryptFrontP(passwordNew, RSAUtil.fontSeparator);
+        passwordNew = dataNewArr[0];
+        String passwordNewMD5 = dataNewArr[1];
+        if(!ActionUtil.EncryptionMD5(passwordNew).equals(passwordNewMD5)){
+            throw new InvalidParameterException("鍙傛暟鏍¢獙澶辫触");
+        }
+
+        UserInf userInf = ActionUtil.getUser();
+
+        //鏍¢獙鐢ㄦ埛鍚嶅拰瀵嗙爜鏄惁鍖呭惈
+        if(passwordNew.contains(userInf.getUName())){
+            return new Response().set(1,false,"瀵嗙爜鍖呭惈鐢ㄦ埛鍚�");
+        }
+        return userService.updatePassword2(userInf,passwordOld,passwordNew);
+    }
+
+
+    @GetMapping("/getUserInf")
+    @ApiOperation(value = "鑾峰彇褰撳墠鐢ㄦ埛鐨勭敤鎴峰悕绛変俊鎭�",notes = "鍘烾ser_infAction!searchUname(鑾峰彇鐢ㄦ埛鍚�)鎺ュ彛")
+    public Response getUserInf(){
+        UserInf userInf = ActionUtil.getUser();
+        return new Response().set(1,userInf);
+    }
+
+    /**
+     * 璐﹀彿瑙i攣
+     */
+    @ApiOperation(value = "璐﹀彿瑙i攣",notes = "unLockType=1涓哄け璐ラ攣瀹氳В閿�,2涓轰笂涓湀鏈櫥褰曢攣瀹氳В閿�")
+    @PostMapping("unLock")
+    public Response unLock(@RequestParam int uId,@RequestParam int unLockType){
+        userService.unLock(uId,unLockType);
+        return new Response().setII(1,"瑙i攣鎴愬姛");
+    }
+
+    /**
+     * 鍖呮満缁勯噸鍋氾紙绌挎妗嗭級鏌ヨ鎵�鏈夌殑鐢ㄦ埛-鏇存柊涓烘煡璇㈡湭琚坊鍔犲埌鏉冮檺缁勭殑鎵�鏈夌敤鎴�
+     */
+    @ApiOperation(value = "鍖呮満缁勯噸鍋氾紙绌挎妗嗭級鏌ヨ鎵�鏈夌殑鐢ㄦ埛")
+    @GetMapping("searchCS_All2")
+    public Response searchCS_All2(){
+        List<UserInf> list = userService.searchCS_All2();
+        return new Response().set(1,list);
+    }
+
+    /**
+     * 鍛婅娲惧崟涓紝鏌ヨ绔欑偣浜哄憳淇℃伅
+     * @param stationId
+     * @return
+     */
+    @ApiOperation(tags = "鍛婅娲惧崟", value = "鏍规嵁绔欑偣鏌ヨ鐩稿叧浜哄憳", notes = "User_infAction!getUserInfoByStationId")
+    @GetMapping("getUserInfoByStationId")
+    public Response getUserInfoByStationId(@RequestParam String stationId){
+        List<UserInf> list = userService.getUserInfoByStationId(stationId);
+        return new Response().set(1,list);
+    }
+
+    @ApiOperation(value = "浼崟鐐圭櫥褰�",notes = "杩斿洖鐨刣ata涓哄竷灏斿��,鏄惁鐧诲綍鎴愬姛;data2:鐢ㄦ埛鎵�鍦ㄧ殑鏉冮檺缁刬d;data3涓虹敤鎴峰璞�,鍐呭惈灞炴�id,uname,urole")
+    @GetMapping("loginByUId")
+    public Response searchSnIdByUId(@RequestParam int uId){
+        return userService.loginByUId(uId);
+    }
 
 }

--
Gitblit v1.9.1