From e16302f9d475c7cc4dd18c5abf1a23cb5502e362 Mon Sep 17 00:00:00 2001 From: whyclxw <810412026@qq.com> Date: 星期三, 28 五月 2025 14:57:56 +0800 Subject: [PATCH] 密码验证加- --- src/main/java/com/whyc/controller/FaceController.java | 43 +++++++++++++++++++++++++++++++++++++------ 1 files changed, 37 insertions(+), 6 deletions(-) diff --git a/src/main/java/com/whyc/controller/FaceController.java b/src/main/java/com/whyc/controller/FaceController.java index 492719c..0a99257 100644 --- a/src/main/java/com/whyc/controller/FaceController.java +++ b/src/main/java/com/whyc/controller/FaceController.java @@ -3,28 +3,31 @@ import com.arcsoft.face.FaceEngine; import com.arcsoft.face.toolkit.ImageFactory; import com.arcsoft.face.toolkit.ImageInfo; +import com.whyc.constant.UserOperation; import com.whyc.constant.YamlProperties; import com.whyc.dto.Response; import com.whyc.factory.FaceEngineFactory; import com.whyc.pojo.PermitGroup; import com.whyc.pojo.UserInf; -import com.whyc.service.FaceService; -import com.whyc.service.PermitGroupUserService; -import com.whyc.service.UserService; +import com.whyc.service.*; import com.whyc.util.ActionUtil; +import com.whyc.util.CommonUtil; import com.whyc.util.FaceIdentifyUtil; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; +import org.springframework.beans.factory.annotation.Autowired; import org.springframework.boot.system.ApplicationHome; import org.springframework.transaction.annotation.Transactional; import org.springframework.web.bind.annotation.*; import sun.misc.BASE64Decoder; import javax.annotation.Resource; +import javax.servlet.ServletContext; import javax.servlet.http.HttpServletRequest; import java.io.File; import java.io.FileOutputStream; import java.io.IOException; +import java.util.ArrayList; import java.util.List; import java.util.Map; @@ -46,6 +49,12 @@ @Resource private UserService userService; + + @Resource + private MapOutlineService mapOutlineService; + + @Autowired + private BaoJiGroupUserService baoJiGroupUserService; @GetMapping("activeOnline") @ApiOperation(value = "鍦ㄧ嚎婵�娲讳汉鑴歌瘑鍒紩鎿�",notes = "鍙渶瑕佸垰寮�濮嬫椂璋冪敤涓�娆�,浼氬鑷碼ppId涓庣‖浠惰澶囩粦瀹�,蹇呴』鏈夊閮ㄧ綉缁�,鍚﹀垯婵�娲讳細澶辫触!" + @@ -305,7 +314,7 @@ */ @PostMapping("faceCompare2N") @ApiOperation(value = "浜鸿劯璇嗗埆瀵规瘮") - public Response faceCompare2N(@RequestBody String fileData,@RequestParam String uKeyId){ + public Response faceCompare2N(@RequestBody String fileData,@RequestParam String uKeyId,HttpServletRequest request){ Response res = new Response(); //鍏堥獙璇乽KeyId瀵瑰簲鐨勭敤鎴� UserInf userByUKeyId = userService.getUserByUKeyId(uKeyId); @@ -332,19 +341,25 @@ if (res.getCode() == 1) { res = FaceIdentifyUtil.orientAndPxDetect(faceEngine, imageInfo); //浜哄儚瑙掑害,澶у皬鏍¢獙閫氳繃 - if(res.getCode()==1) { + if((boolean) res.getData()) { + //閲嶇疆鏍囪瘑 + res.setData(null); + res.setMsg(null); //鑾峰彇鏁版嵁搴撲腑鎵�鏈夌殑浜鸿劯鍥剧墖 List<UserInf> userInfList = service.findAllFaceUrl(); if(userInfList.size()==0){ res.setCode(0); res.setMsg("浜鸿劯搴撴殏鏃犱换浣曟暟鎹�"); }else{ + boolean urlExist = false; for (UserInf temp:userInfList){ String filePath = temp.getFace().getUrl(); File file = new File(filePath); //涓嶅瓨鍦ㄥ垯涓嶇户缁墽琛� if(!file.exists()){ continue; + }else{ + urlExist = true; } ImageInfo imageInfo2 = ImageFactory.getRGBData(file); res = FaceIdentifyUtil.faceCompare(faceEngine, imageInfo, imageInfo2); @@ -354,9 +369,12 @@ if(!temp.getUId().equals(userByUKeyId.getUId())){ return res.set(1,false,"UKey瀵瑰簲鐢ㄦ埛鍜屽綋鍓嶄汉鑴稿搴旂敤鎴蜂笉鍖归厤"); } - res.setData2(temp); + List<Object> dataList = new ArrayList<>(); + dataList.add(temp); // 灏嗙櫥闄嗘垚鍔熺殑鐢ㄦ埛瀛樺叆session + ServletContext servletContext = request.getServletContext(); + servletContext.setAttribute(temp.getUName(), request.getSession().getId()); ActionUtil.getSession().setAttribute("user", temp); //璁剧疆session涓嶆椿鍔ㄦ椂闂翠负30鍒� @@ -364,16 +382,29 @@ ActionUtil.getSession().setAttribute("ip", ActionUtil.getRequest().getRemoteAddr()); List<PermitGroup> permitList = permitGroupUserService.getPermitByUser(temp.getUId()); if (permitList!=null && permitList.size()!=0) { + dataList.add(permitList.get(0).getPermitGroupId()); ActionUtil.getSession().setAttribute("permits", permitList); } else { res.setCode(1); res.setData(false); res.setMsg("杩樻湭鍒嗛厤鏉冮檺"); } + + //鏌ヨ鐢ㄦ埛瀵瑰簲鐨勭彮缁勬爣璇� + dataList.add(baoJiGroupUserService.getGroupFlag(temp.getUId().intValue())); + //鏌ヨ婵�娲荤殑鍦板浘 + String mapName = mapOutlineService.selectMapName(); + dataList.add(mapName); + CommonUtil.record(temp.getUId(), UserOperation.TYPE_LOGIN.getType(), UserOperation.TYPE_LOGIN.getTypeName(), UserOperation.TYPE_LOGIN.getTypeNameEn()); + res.setData2(dataList); + //灏嗘柊鐧诲綍鐨勭敤鎴峰瓨鍏pplication userService.setApplication(temp); } } + if(!urlExist){ + res.set(1,false,"ukey瀵瑰簲鐨勪汉鑴稿簱璺緞涓嶅瓨鍦�"); + } } } } -- Gitblit v1.9.1