From cf9a5039e6db9d1d5963e3fe1a37d00169ec2ef7 Mon Sep 17 00:00:00 2001 From: whyclxw <810412026@qq.com> Date: 星期三, 25 六月 2025 11:18:22 +0800 Subject: [PATCH] 验收报告修改 --- src/main/java/com/whyc/service/DocUserService.java | 145 ++++++++++++++++++++++++++++++++++++++++++++--- 1 files changed, 134 insertions(+), 11 deletions(-) diff --git a/src/main/java/com/whyc/service/DocUserService.java b/src/main/java/com/whyc/service/DocUserService.java index 912b00b..4a6243c 100644 --- a/src/main/java/com/whyc/service/DocUserService.java +++ b/src/main/java/com/whyc/service/DocUserService.java @@ -1,22 +1,32 @@ 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.toolkit.Wrappers; import com.github.pagehelper.PageHelper; import com.github.pagehelper.PageInfo; -import com.whyc.constant.YamlProperties; import com.whyc.dto.FileDirPath; -import com.whyc.dto.Page; import com.whyc.dto.Response; import com.whyc.mapper.DocUserMapper; +import com.whyc.pojo.DocDepart; +import com.whyc.pojo.DocRole; import com.whyc.pojo.DocUser; +import com.whyc.pojo.Permit; +import com.whyc.util.ActionUtil; +import com.whyc.util.RSAUtil; +import org.apache.shiro.SecurityUtils; +import org.apache.shiro.authc.UnknownAccountException; +import org.apache.shiro.authc.UsernamePasswordToken; +import org.apache.shiro.subject.Subject; import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.boot.system.ApplicationHome; import org.springframework.stereotype.Service; import org.springframework.web.multipart.MultipartFile; +import javax.servlet.ServletContext; +import javax.servlet.http.HttpServletRequest; import java.io.File; import java.io.IOException; -import java.util.List; +import java.util.*; import static com.whyc.util.ActionUtil.createFilefolderIFNotExist; @@ -28,15 +38,24 @@ @Autowired private DocFaceService faceService; + @Autowired + private DocRoleService roleService; + + @Autowired + private DocDepartService departService; + + @Autowired + private PermitService permitService; + //鏌ヨ鎵�鏈夌敤鎴蜂俊鎭� - 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,"鏁版嵁杩斿洖"); + return new Response().setII(1,list!=null,pageInfo,"鏁版嵁杩斿洖"); } //缂栬緫鎵�鏈夌敤鎴蜂俊鎭� - public Response updateAllUser(MultipartFile file,DocUser docUser) { + public Response updateUser(MultipartFile file,DocUser docUser) { int faceId=(docUser.getFaceId()==null||docUser.getFaceId().isEmpty())?0:Integer.valueOf(docUser.getFaceId()); //妫�娴嬫槸鍚﹀瓨鍦ㄩ噸鏂颁笂浼犵殑浜鸿劯 faceId=checkFaceData(file,faceId); @@ -46,25 +65,35 @@ wrapper.set("depart_id",docUser.getDepartId()); wrapper.set("face_id",faceId); wrapper.set("role_id",docUser.getRoleId()); + wrapper.set("mail",docUser.getMail()); wrapper.eq("id",docUser.getId()); int bl=mapper.update(null,wrapper); - return new Response().set(1,bl>0?true:false); + return new Response().set(1,bl>0); } //鏂版坊鍔犵敤鎴蜂俊鎭� 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); + return new Response().set(1,bl>0); } //妫�娴嬫槸鍚﹀瓨鍦ㄩ噸鏂颁笂浼犵殑浜鸿劯 public int checkFaceData(MultipartFile file,int faceId){ String fileDirName = FileDirPath.getFileDirName(); String root=fileDirName+File.separator+"face"+File.separator; - if(file.isEmpty()){ + if(file==null){ return faceId; }else{ String fileFileName = file.getOriginalFilename(); @@ -87,4 +116,98 @@ } return faceId; } + //鍒犻櫎鐢ㄦ埛淇℃伅 + public Response delUser(int id) { + UpdateWrapper wrapper=new UpdateWrapper(); + wrapper.eq("id",id); + int bl=mapper.delete(wrapper); + return new Response().setII(1,bl>0,bl,"鍒犻櫎杩斿洖"); + } + + public Response login(String name, String snId, HttpServletRequest request) { + Response response = new Response(); + String[] dataArr = RSAUtil.decryptFrontP(snId, RSAUtil.fontSeparator); + //楠岀md5 + if (!dataArr[1].equals(ActionUtil.EncryptionMD5(org.apache.commons.lang3.StringUtils.trim(dataArr[0])).toString())) { + return response.set(1, false, "瀵嗙爜楠岀澶辫触"); + } + UsernamePasswordToken userToken = new UsernamePasswordToken(name, dataArr[0]); + 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(name, request.getSession().getId()); + //Session瀛樺偍褰撳墠鐢ㄦ埛鍙婃潈闄愮粍鍒楄〃 + DocUser userDB = (DocUser) subject.getPrincipal(); + userDB.setSnId(null); + request.getSession().setAttribute("user", userDB); + //鏌ヨ瑙掕壊鍜岄儴闂ㄥ垪琛ㄤ俊鎭� + Map<String,Object> map = new HashMap<>(); + List<DocDepart> departList = (List<DocDepart>) ((PageInfo)departService.getAllDepart().getData2()).getList(); + List<DocRole> roleList = (List<DocRole>) ((PageInfo)roleService.getAllRole().getData2()).getList(); + List<Permit> permitList = permitService.getPermitsByUname(); + map.put("departs",departList); + map.put("roles",roleList); + map.put("permits",permitList); + return response.setIII(1,true, userDB,map,"鐧诲綍鎴愬姛"); + } + //淇敼瀵嗙爜 + 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); + //瑙e瘑 + 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,"淇敼鎴愬姛"); + }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,list,"杩斿洖鏁版嵁"); + } + //鏌ヨ鎵�鏈夌敤鎴�(鏉冮檺绠$悊鐢�) + public Response getAllDocUser() { + List<DocUser> list=mapper.getAllDocUser(); + return new Response().setII(1,list!=null,list,"鏁版嵁杩斿洖"); + } + + public Response readUserByRoleIds(Integer[] roleIds) { + QueryWrapper wrapper=new QueryWrapper(); + List<Integer> integers = Arrays.asList(roleIds); + wrapper.in("role_id",integers); + wrapper.select("id","name","role_id"); + List<DocUser> list=mapper.selectList(wrapper); + return new Response().setII(1,list.size()>0,list,"杩斿洖鏁版嵁"); + } + + public boolean checkExists(String userName) { + QueryWrapper<DocUser> query = Wrappers.query(); + query.eq("name",userName).last(" limit 1"); + DocUser docUser = mapper.selectOne(query); + return docUser != null; + } } -- Gitblit v1.9.1