From cf7f2a00eb4e5fbfe90a403f6543d67daf447ff8 Mon Sep 17 00:00:00 2001 From: whycxzp <perryhsu@163.com> Date: 星期四, 21 七月 2022 09:51:36 +0800 Subject: [PATCH] 更新工作流 --- src/main/java/com/whyc/service/DocUserService.java | 69 +++++++++++++++++++++++++++++++++- 1 files changed, 66 insertions(+), 3 deletions(-) diff --git a/src/main/java/com/whyc/service/DocUserService.java b/src/main/java/com/whyc/service/DocUserService.java index 28cda18..48bb8fb 100644 --- a/src/main/java/com/whyc/service/DocUserService.java +++ b/src/main/java/com/whyc/service/DocUserService.java @@ -10,13 +10,21 @@ import com.whyc.dto.Response; import com.whyc.mapper.DocUserMapper; import com.whyc.pojo.DocUser; +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.http.HttpServletRequest; import java.io.File; import java.io.IOException; +import java.util.Date; import java.util.List; import static com.whyc.util.ActionUtil.createFilefolderIFNotExist; @@ -32,9 +40,7 @@ //鏌ヨ鎵�鏈夌敤鎴蜂俊鎭� public Response getAllUser(DocUser docUser, int pageCurr, int pageSize) { PageHelper.startPage(pageCurr,pageSize); - QueryWrapper wrapper=new QueryWrapper(); - - 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,"鏁版嵁杩斿洖"); } @@ -55,10 +61,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); } @@ -97,4 +112,52 @@ int bl=mapper.delete(wrapper); return new Response().setII(1,bl>0?true:false,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,"瀵嗙爜閿欒"); + } + //鐧诲綍鎴愬姛 + //Session瀛樺偍褰撳墠鐢ㄦ埛鍙婃潈闄愮粍鍒楄〃 + DocUser userDB = (DocUser) subject.getPrincipal(); + userDB.setSnId(null); + 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); + //瑙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?true:false,"淇敼鎴愬姛"); + }else { + return new Response().set(1,false,"淇敼澶辫触"); + } + } } -- Gitblit v1.9.1