whycxzp
2022-07-26 afa42673b2163230c0f7a19e3746f00b5707b0b5
src/main/java/com/whyc/service/DocUserService.java
@@ -1,5 +1,6 @@
package com.whyc.service;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
import com.github.pagehelper.PageHelper;
import com.github.pagehelper.PageInfo;
@@ -23,7 +24,10 @@
import javax.servlet.http.HttpServletRequest;
import java.io.File;
import java.io.IOException;
import java.util.Date;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import static com.whyc.util.ActionUtil.createFilefolderIFNotExist;
@@ -36,9 +40,9 @@
    private DocFaceService faceService;
    //查询所有用户信息
    public Response getAllUser(int pageCurr,int pageSize) {
    public Response getAllUser(DocUser docUser, int pageCurr, int pageSize) {
        PageHelper.startPage(pageCurr,pageSize);
        List<DocUser> list=mapper.getAllUser();
        List<DocUser> list=mapper.getAllUser(docUser);
        PageInfo pageInfo=new PageInfo(list);
        return new Response().setII(1,list!=null?true:false,pageInfo,"数据返回");
    }
@@ -59,10 +63,19 @@
    }
    //新添加用户信息
    public Response addUser(MultipartFile file,DocUser docUser) {
        QueryWrapper wrapper=new QueryWrapper();
        String pwd= RSAUtil.encrypt("123456", RSAUtil.getPublicKey());
        docUser.setSnId(pwd);
        wrapper.eq("name",docUser.getName());
        List list=mapper.selectList(wrapper);
        if(list!=null&&list.size()>0){
            return new Response().setII(1,false,list,"用户名已存在");
        }
        int faceId=(docUser.getFaceId()==null||docUser.getFaceId().isEmpty())?0:Integer.valueOf(docUser.getFaceId());
        //检测是否存在重新上传的人脸
        faceId=checkFaceData(file,faceId);
        docUser.setFaceId(String.valueOf(faceId));
        docUser.setCreTime(new Date());
        int bl=mapper.insert(docUser);
        return new Response().set(1,bl>0?true:false);
    }
@@ -126,4 +139,35 @@
        request.getSession().setAttribute("user", userDB);
        return response.setII(1,true, userDB,"登录成功");
    }
    //修改密码
    public Response changeSnId(String name,String oldSnId, String newSnId) {
        if(name==null||name.equals("")){
            return new Response().set(1,false,"找不到用户");
        }
        //验证老密码是否正确
        String snIdRsa=mapper.selectSnId(name);
        //解密
        String snId=RSAUtil.decrypt(snIdRsa,RSAUtil.getPrivateKey());
        String[] decOld=RSAUtil.decryptFrontP(oldSnId,RSAUtil.fontSeparator);
        String oldId=decOld[0];
        String[] newOld=RSAUtil.decryptFrontP(newSnId,RSAUtil.fontSeparator);
        String newId=newOld[0];
        if(oldId.equals(snId)){
            UpdateWrapper wrapper=new UpdateWrapper();
            wrapper.set("sn_id",RSAUtil.encrypt(newId,RSAUtil.getPublicKey()));
            wrapper.eq("name",name);
            int bl=mapper.update(null,wrapper);
            return  new Response().set(1,bl>0?true:false,"修改成功");
        }else {
            return new Response().set(1,false,"修改失败");
        }
    }
    //根据角色id查询对应的用户
    public Response getUserByRoleId(int roleId) {
        QueryWrapper wrapper=new QueryWrapper();
        wrapper.eq("role_id",roleId);
        wrapper.select("id","name");
        List<DocUser> list=mapper.selectList(wrapper);
        return new Response().setII(1,list.size()>0?true:false,list,"返回数据");
    }
}