whyczh
2021-12-11 54d75150f5379d2b8e25644f9b7fb0438cc716b3
登录接口更新
4个文件已修改
110 ■■■■■ 已修改文件
src/main/java/com/whyc/controller/LoginController.java 3 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/whyc/controller/UserController.java 68 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/whyc/service/UserService.java 30 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/whyc/util/ActionUtil.java 9 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/whyc/controller/LoginController.java
@@ -56,7 +56,8 @@
        //前端将字符\替换成了huodongwei,这里再转回来
        signDTO.setInPath(signDTO.getInPath().replace("huodongwei","\\"));
        //通过uKeyId获取公钥XY
        UserInf userInf = userService.getPublicXYByUKeyId(signDTO.getUKeyId());
        //UserInf userInf = userService.getPublicXYByUKeyId(signDTO.getUKeyId());
        UserInf userInf = userService.getUserByUKeyId(signDTO.getUKeyId());
        //获取之前生成的随机数
        String uKeyRandom = (String) ActionUtil.getSession().getAttribute("uKeyRandom");
        boolean b = com.whyc.softkey.jsyunew3.YtVerfiy(userInf.getUName(), uKeyRandom, signDTO.getPublicX(), signDTO.getPublicY(), signDTO.getSign(), signDTO.getInPath());
src/main/java/com/whyc/controller/UserController.java
@@ -1,12 +1,15 @@
package com.whyc.controller;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.api.R;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.whyc.dto.Response;
import com.whyc.pojo.UserInf;
import com.whyc.service.UserService;
import com.whyc.util.ActionUtil;
import io.swagger.annotations.*;
import lombok.extern.slf4j.Slf4j;
import org.springframework.util.StringUtils;
import org.springframework.web.bind.annotation.*;
import javax.annotation.Resource;
@@ -59,5 +62,70 @@
        userService.delete(id);
        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 = "根据用户名查绑定的Ukey")
    public Response getUserByUserName(@RequestParam String uKeyId){
        UserInf userInf = userService.getUserByUKeyId(uKeyId);
        Response response = new Response();
        if (userInf!=null){
            if (StringUtils.isEmpty(userInf.getUkeyId())){
                response.set(0,"该用户没有绑定Ukey");
            }else {
                response.set(1,userInf);
            }
        }else{
            response.set(0,"该用户不存在");
        }
        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();
        String userPassword = userInf.getUpassword();
        if (password.equals(userPassword)){
            return new Response().set(1);
        }else {
            return new Response().set(0);
        }
    }
    @PostMapping("/updatePassword")
    @ApiOperation(value = "修改密码")
    public Response updatePassword(@RequestBody UserInf userInf){
        return userService.updatePassword(userInf);
    }
}
src/main/java/com/whyc/service/UserService.java
@@ -1,6 +1,7 @@
package com.whyc.service;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.whyc.dto.Response;
@@ -97,10 +98,37 @@
        application.setAttribute("users", map);
    }
    public UserInf getPublicXYByUKeyId(String uKeyId){
    public UserInf getUserByUKeyId(String uKeyId){
        QueryWrapper queryWrapper = new QueryWrapper();
        queryWrapper.eq("uKey_ID",uKeyId);
        UserInf userInf = userMapper.selectOne(queryWrapper);
        return userInf;
    }
    public UserInf getUserByUserName(String userName){
        QueryWrapper queryWrapper = new QueryWrapper();
        queryWrapper.eq("Uname",userName);
        UserInf userInf = userMapper.selectOne(queryWrapper);
        return userInf;
    }
    public boolean bindUkey(UserInf userInf){
        UpdateWrapper updateWrapper = new UpdateWrapper();
        updateWrapper.eq("uName",userInf.getUName());
        int affectRows = userMapper.update(userInf,updateWrapper);
        return affectRows>0;
    }
    public Response updatePassword(UserInf userInf){
        String password = (String) ActionUtil.EncryptionMD5(userInf.getUSnId());
        userInf.setUpassword(password);
        if (userMapper.updateById(userInf)>0){
            return new Response().set(1,"修改成功");
        }else {
            return new Response().set(0,"修改失败");
        }
    }
}
src/main/java/com/whyc/util/ActionUtil.java
@@ -4,6 +4,7 @@
import com.google.gson.GsonBuilder;
import com.google.gson.JsonSyntaxException;
import com.whyc.pojo.UserInf;
import org.apache.commons.codec.digest.DigestUtils;
import org.springframework.web.context.ContextLoader;
import org.springframework.web.context.request.RequestContextHolder;
import org.springframework.web.context.request.ServletRequestAttributes;
@@ -139,13 +140,13 @@
    }
    
    //使用MD5加密
    /*public static Object EncryptionMD5(Object obj){
    public static Object EncryptionMD5(Object obj){
        String md5=null;
        if(obj!=null && obj.toString().length()>0){
            md5=DigestUtils.md5Hex(obj.toString());
        if(obj!=null && obj.toString().length()>0){
            md5= DigestUtils.md5Hex(obj.toString());
        }
        return md5;
    }*/
    }
    
    //使用Base64加密
    public static Object EncryptionBase64(Object obj){