TRX 1 anno fa
parent
commit
f3bfb8a48e

+ 3 - 0
FullCardServer/src/main/java/com/zhongshu/card/server/core/domain/projectAbout/OrgUserFace.java

@@ -38,4 +38,7 @@ public class OrgUserFace extends SuperMain {
 
     @Schema(description = "是否可使用")
     private Boolean isCanUsed = Boolean.TRUE;
+
+    @Schema(description = "权限中心的人脸id")
+    private String updateFaceFileId;
 }

+ 6 - 0
FullCardServer/src/main/java/com/zhongshu/card/server/core/service/base/CommonService.java

@@ -110,6 +110,12 @@ public class CommonService {
         return base64;
     }
 
+    /**
+     * 文件转为 base64
+     *
+     * @param fileUrl 网络地址
+     * @return
+     */
     public String getUrlFileBase64(String fileUrl) {
         if (StringUtils.isEmpty(fileUrl)) {
             return "";

+ 30 - 2
FullCardServer/src/main/java/com/zhongshu/card/server/core/service/projectAbout/OrgUserFaceService.java

@@ -1,5 +1,7 @@
 package com.zhongshu.card.server.core.service.projectAbout;
 
+import com.github.microservice.auth.client.model.UserFaceUploadModel;
+import com.github.microservice.auth.client.service.UserFaceService;
 import com.github.microservice.net.ResultContent;
 import com.google.common.collect.Lists;
 import com.zhongshu.card.client.model.projectAbout.OrgUserFaceModel;
@@ -8,6 +10,7 @@ import com.zhongshu.card.server.core.dao.org.UserCountDao;
 import com.zhongshu.card.server.core.dao.projectAbout.OrgUserFaceDao;
 import com.zhongshu.card.server.core.domain.org.UserAccount;
 import com.zhongshu.card.server.core.domain.projectAbout.OrgUserFace;
+import com.zhongshu.card.server.core.service.base.CommonService;
 import com.zhongshu.card.server.core.service.base.SuperService;
 import com.zhongshu.card.server.core.service.devices.DevicePermissEventService;
 import com.zhongshu.card.server.core.util.BeanUtils;
@@ -46,6 +49,15 @@ public class OrgUserFaceService extends SuperService {
     @Autowired
     private UserCountDao userCountDao;
 
+    /**
+     * 人脸管理类
+     */
+    @Autowired
+    private UserFaceService userFaceService;
+
+    @Autowired
+    private CommonService commonService;
+
     /**
      * 保存用户人脸信息
      *
@@ -64,30 +76,46 @@ public class OrgUserFaceService extends SuperService {
         if (StringUtils.isEmpty(userId)) {
             userId = getCurrentUserId();
         }
+        String updateFaceFileId = "";
         OrgUserFace orgUserFace = orgUserFaceDao.findTopByUserIdAndProjectOid(userId, projectOid);
         if (ObjectUtils.isEmpty(orgUserFace)) {
             orgUserFace = new OrgUserFace();
             initEntityNoCheckOid(orgUserFace);
         } else {
             initUpdateEntity(orgUserFace);
+            updateFaceFileId = orgUserFace.getUpdateFaceFileId();
         }
         BeanUtils.copyProperties(param, orgUserFace, "id");
         orgUserFace.setProjectOid(projectOid);
+
+        // 所属用户userId
         UserAccount userAccount = userCountDao.findTopByUserId(userId);
         orgUserFace.setUserId(userId);
         if (ObjectUtils.isNotEmpty(userAccount)) {
             orgUserFace.setUserAccount(userAccount);
         }
+        String faceBase64 = commonService.getUrlFileBase64(param.getImg());
+        // 维护管理权限中心用户的头像信息
+        UserFaceUploadModel userFaceUploadModel = new UserFaceUploadModel();
+        userFaceUploadModel.setUserId(userId);
+        userFaceUploadModel.setCompareFace(faceBase64);
+        userFaceUploadModel.setUserFace(faceBase64);
+        userFaceUploadModel.setUpdateFaceFileId(updateFaceFileId);
+        com.github.microservice.auth.client.content.ResultContent<String> content = userFaceService.upload(userFaceUploadModel);
+        if (content.isFailed()) {
+            return ResultContent.buildFail(content.getMsg());
+        }
+        updateFaceFileId = content.getContent();
+
+        orgUserFace.setUpdateFaceFileId(updateFaceFileId);
         orgUserFaceDao.save(orgUserFace);
 
         String groupId = CommonUtil.UUID();
         Map<String, Object> map = new HashMap<>();
         map.put("groupId", groupId);
-
         // 通知人脸信息发送变化
         devicePermissEventService.sendUserInfoChangeEvent(
                 orgUserFace.getUserId(), orgUserFace.getProjectOid(), map);
-
         return ResultContent.buildSuccess();
     }