whycxzp
2025-03-14 2e8866ba2c1dbbe8aab3bb40f3788a53bf831d6a
src/main/java/com/whyc/service/UserInfService.java
@@ -7,7 +7,7 @@
import com.github.pagehelper.PageInfo;
import com.whyc.dto.Response;
import com.whyc.mapper.UserInfMapper;
import com.whyc.pojo.UserInf;
import com.whyc.pojo.db_user.UserInf;
import com.whyc.util.MD5Util;
import com.whyc.util.RSAUtil;
import org.apache.shiro.SecurityUtils;
@@ -56,8 +56,11 @@
            uinf.setUid(1001);
        }else{
            //查询出最大的uid
            String uid=mapper.getMaxUid();
            uinf.setUid(Integer.valueOf(uid)+1);
            String maxUid=mapper.getMaxUid();
            if(maxUid==null){
                maxUid="1001";
            }
            uinf.setUid(Integer.valueOf(maxUid)+1);
        }
        String pwd= RSAUtil.encrypt("123456", RSAUtil.getPublicKey());
        uinf.setUsnid(pwd);
@@ -139,6 +142,28 @@
        return response.setII(1,true, userDB,"登录成功");
    }
    public Response loginWithoutRsa(String uname, String usnId, HttpServletRequest request) {
        Response response = new Response();
        UsernamePasswordToken userToken = new UsernamePasswordToken(uname, usnId);
        Subject subject = SecurityUtils.getSubject();
        try {
            subject.login(userToken);
        } catch (Exception e) {
            if(e instanceof UnknownAccountException){
                return response.set(1,false,"账号不存在");
            }
            return response.set(1,false,"密码错误");
        }
        //登录成功
        ServletContext servletContext = request.getServletContext();
        servletContext.setAttribute(uname, request.getSession().getId());
        //Session存储当前用户及权限组列表
        UserInf userDB = (UserInf) subject.getPrincipal();
        userDB.setUsnid(null);
        request.getSession().setAttribute("user", userDB);
        return response.setII(1,true, userDB,"登录成功");
    }
    public void logout() {
        Subject subject = SecurityUtils.getSubject();
        subject.logout();
@@ -183,6 +208,9 @@
        qWrapper.eq("uid",Integer.valueOf(uid));
        qWrapper.last("limit 1");
        UserInf uinf=mapper.selectOne(qWrapper);
        if(uinf==null){
            return new Response().set(1,false,"需要变更的用户信息不正确");
        }
        //编辑
        UpdateWrapper wrapper =new UpdateWrapper();
        wrapper.set("uid",Integer.valueOf(maxUid)+1);
@@ -228,4 +256,13 @@
        }
        return model;
    }
    //根据uId获取设备信息
    public UserInf getUinfByUId(int uId){
        QueryWrapper wrapper=new QueryWrapper();
        wrapper.eq("uid",uId);
        wrapper.last("limit 1");
        UserInf uinf=mapper.selectOne(wrapper);
        return uinf;
    }
}