From 32c3396a8065cb1f89db1ef2d939abb8756aa920 Mon Sep 17 00:00:00 2001 From: limqhz Date: Fri, 31 Jan 2020 22:14:47 +0800 Subject: [PATCH] =?UTF-8?q?=E8=B0=83=E6=95=B4=E4=B8=8A=E4=BC=A0=E7=85=A7?= =?UTF-8?q?=E7=89=87=E6=B5=81=E5=85=B3=E9=97=AD=E7=9A=84=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../config/application-development.yml | 14 +++++----- .../config/application-development.yml | 2 +- .../com/sv/service/api/MemberService.java | 26 ++++++++++++++----- .../com/sv/service/common/FaceService.java | 10 +++++-- 4 files changed, 36 insertions(+), 16 deletions(-) diff --git a/api/src/main/resources/config/application-development.yml b/api/src/main/resources/config/application-development.yml index 3e48a2a..a3554b7 100644 --- a/api/src/main/resources/config/application-development.yml +++ b/api/src/main/resources/config/application-development.yml @@ -1,15 +1,15 @@ spring: datasource: -# url: jdbc:mysql://yingdiandian.mysql.rds.aliyuncs.com:3306/smart_venue?useUnicode=true&characterEncoding=utf-8&autoReconnect=true&zeroDateTimeBehavior=convertToNull&serverTimezone=GMT%2b8&useAffectedRows=true -# username: yingdd -# password: Yingdd2015 - url: jdbc:mysql://127.0.01:3306/smart_venue?useUnicode=true&characterEncoding=utf-8&autoReconnect=true&zeroDateTimeBehavior=convertToNull&serverTimezone=GMT%2b8&useAffectedRows=true - username: root - password: 123456 + url: jdbc:mysql://yingdiandian.mysql.rds.aliyuncs.com:3306/smart_venue?useUnicode=true&characterEncoding=utf-8&autoReconnect=true&zeroDateTimeBehavior=convertToNull&serverTimezone=GMT%2b8&useAffectedRows=true + username: yingdd + password: Yingdd2015 +# url: jdbc:mysql://127.0.01:3306/smart_venue?useUnicode=true&characterEncoding=utf-8&autoReconnect=true&zeroDateTimeBehavior=convertToNull&serverTimezone=GMT%2b8&useAffectedRows=true +# username: root +# password: 123456 redis: host: 127.0.0.1 - password: 123456 + password: timeout: 6000 port: 6379 diff --git a/oms/src/main/resources/config/application-development.yml b/oms/src/main/resources/config/application-development.yml index 92decc8..be93172 100644 --- a/oms/src/main/resources/config/application-development.yml +++ b/oms/src/main/resources/config/application-development.yml @@ -5,7 +5,7 @@ spring: password: Yingdd2015 redis: host: 127.0.0.1 - password: 123456 + password: timeout: 6000 port: 6379 diff --git a/service/src/main/java/com/sv/service/api/MemberService.java b/service/src/main/java/com/sv/service/api/MemberService.java index 1cfe1ef..8abe63b 100644 --- a/service/src/main/java/com/sv/service/api/MemberService.java +++ b/service/src/main/java/com/sv/service/api/MemberService.java @@ -32,6 +32,8 @@ import org.springframework.web.multipart.MultipartFile; import javax.annotation.Resource; import java.io.ByteArrayInputStream; +import java.io.IOException; +import java.io.InputStream; import java.math.BigDecimal; import java.util.Date; import java.util.regex.Matcher; @@ -494,16 +496,22 @@ public class MemberService extends BaseServiceImpl { } } synchronized (("face" + memberId).intern()) { + InputStream inputStream = null; try { - byte[] byt = new byte[file.getInputStream().available()]; - file.getInputStream().read(byt); + inputStream = file.getInputStream(); + byte[] byt = new byte[inputStream.available()]; + inputStream.read(byt); Member member = memberMapper.findById(memberId); if (member != null) { String imgUrl = ossClientUtil.uploadImg(new ByteArrayInputStream(byt), file.getOriginalFilename()); - faceService.login(); - Integer faceId = faceService.uploadFace(new ByteArrayInputStream(byt)); - Integer subjectId = faceService.addSubject(faceId, member); - logger.info(faceId + "&&" + subjectId); + logger.info(memberId + "上传oss文件成功." + imgUrl); + Integer subjectId = null; + if (faceService.login()){ + Integer faceId = faceService.uploadFace(new ByteArrayInputStream(byt)); + byt = null; + subjectId = faceService.addSubject(faceId, member); + logger.info(faceId + "&&" + subjectId); + } if (memberFaceInfo != null) { //删除原有的subject faceService.deleteSubject(memberFaceInfo.getFaceId()); @@ -516,6 +524,12 @@ public class MemberService extends BaseServiceImpl { } catch (Exception e) { logger.info("unknown error",e); throw new ServiceException("设置人脸失败,请稍后再试"); + }finally { + try { + inputStream.close(); + } catch (IOException e) { + // do nothing + } } } } diff --git a/service/src/main/java/com/sv/service/common/FaceService.java b/service/src/main/java/com/sv/service/common/FaceService.java index 53bca6b..2ac95cb 100644 --- a/service/src/main/java/com/sv/service/common/FaceService.java +++ b/service/src/main/java/com/sv/service/common/FaceService.java @@ -55,7 +55,7 @@ public class FaceService { /** * face++登录 */ - public void login() throws IOException { + public boolean login() throws IOException { JsonObject param = new JsonObject(); param.addProperty("username", account); param.addProperty("password", pwd); @@ -63,7 +63,7 @@ public class FaceService { if (response.getStatusLine().getStatusCode() == 200) { LoginResponse loginResponse = JsonMapper.nonNullMapper().fromJson(response.getEntity().getContent(), LoginResponse.class); logger.info("登录成功" + ToStringBuilder.reflectionToString(loginResponse)); - + return true; } else { logger.error("face++登陆失败!"); throw new FaceServiceException("登录失败"); @@ -150,6 +150,7 @@ public class FaceService { HttpEntity httpEntity = multipartEntityBuilder.build(); httpPost.setEntity(httpEntity); CloseableHttpResponse response = httpClient.execute(httpPost); + face.close(); if (response.getStatusLine().getStatusCode() == 200) { AddFaceResponse addFaceResponse = JsonMapper.nonNullMapper().fromJson(response.getEntity().getContent(), AddFaceResponse.class); if (addFaceResponse.getCode() == 0) { @@ -168,6 +169,11 @@ public class FaceService { public void deleteSubject(Integer subjectId) throws IOException { HttpDelete httpDelete = new HttpDelete("http://" + faceUrl + "/subject/" + subjectId); CloseableHttpResponse response = httpClient.execute(httpDelete); + if (response.getStatusLine().getStatusCode() == 200) { + logger.info("删除头像成功 subjectId" + subjectId); + } else { + logger.info("删除头像失败 subjectId" + subjectId); + } }