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