瀏覽代碼

人脸查询时加入员工查询

java110 6 年之前
父節點
當前提交
252a317aff

+ 22 - 0
service-api/src/main/java/com/java110/api/bmo/machineTranslate/IStaffMachineTranslateBMO.java

@@ -0,0 +1,22 @@
+package com.java110.api.bmo.machineTranslate;
+
+import com.alibaba.fastjson.JSONObject;
+import com.java110.dto.machine.MachineUserResultDto;
+
+/**
+ * @ClassName IOwnerMachineTranslateBMO
+ * @Description TODO 员工人脸同步实现类
+ * @Author wuxw
+ * @Date 2020/6/5 8:21
+ * @Version 1.0
+ * add by wuxw 2020/6/5
+ **/
+public interface IStaffMachineTranslateBMO {
+
+    /**
+     * 查询人脸信息
+     *
+     * @return
+     */
+    MachineUserResultDto getPhotoInfo(JSONObject reqJson);
+}

+ 107 - 0
service-api/src/main/java/com/java110/api/bmo/machineTranslate/impl/StaffMachineTranslateBMOImpl.java

@@ -0,0 +1,107 @@
+package com.java110.api.bmo.machineTranslate.impl;
+
+import com.alibaba.fastjson.JSONObject;
+import com.java110.api.bmo.machineTranslate.IStaffMachineTranslateBMO;
+import com.java110.api.listener.machineTranslate.MachineQueryUserInfoListener;
+import com.java110.core.smo.common.IFileInnerServiceSMO;
+import com.java110.core.smo.common.IFileRelInnerServiceSMO;
+import com.java110.core.smo.common.IMachineTranslateInnerServiceSMO;
+import com.java110.core.smo.community.ICommunityInnerServiceSMO;
+import com.java110.core.smo.user.IUserInnerServiceSMO;
+import com.java110.dto.file.FileDto;
+import com.java110.dto.file.FileRelDto;
+import com.java110.dto.machine.MachineTranslateDto;
+import com.java110.dto.machine.MachineUserResultDto;
+import com.java110.dto.user.UserDto;
+import com.java110.utils.util.DateUtil;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+
+import java.text.ParseException;
+import java.util.List;
+
+/**
+ * @ClassName OwnerMachineTranslateBMOImpl
+ * @Description TODO 访客信息同步
+ * @Author wuxw
+ * @Date 2020/6/5 8:30
+ * @Version 1.0
+ * add by wuxw 2020/6/5
+ **/
+@Service("staffMachineTranslateBMOImpl")
+public class StaffMachineTranslateBMOImpl implements IStaffMachineTranslateBMO {
+
+    @Autowired
+    private IUserInnerServiceSMO userInnerServiceSMOImpl;
+
+    @Autowired
+    private IFileRelInnerServiceSMO fileRelInnerServiceSMOImpl;
+
+    @Autowired
+    private IFileInnerServiceSMO fileInnerServiceSMOImpl;
+
+    @Autowired
+    private IMachineTranslateInnerServiceSMO machineTranslateInnerServiceSMOImpl;
+
+    @Autowired
+    private ICommunityInnerServiceSMO communityInnerServiceSMOImpl;
+
+    @Override
+    public MachineUserResultDto getPhotoInfo(JSONObject reqJson) {
+
+        String communityId = reqJson.getString("communityId");
+        UserDto userDto = new UserDto();
+        //userDto.setCommunityId(communityId);
+        userDto.setStaffId(reqJson.getString("faceid"));
+        List<UserDto> userDtos = userInnerServiceSMOImpl.getStaffs(userDto);
+
+        if (userDtos == null || userDtos.size() != 1) {
+
+            return null;
+        }
+
+        FileRelDto fileRelDto = new FileRelDto();
+        fileRelDto.setObjId(reqJson.getString("faceid"));
+        fileRelDto.setRelTypeCd("12000");
+        List<FileRelDto> fileRelDtos = fileRelInnerServiceSMOImpl.queryFileRels(fileRelDto);
+        if (fileRelDtos == null || fileRelDtos.size() != 1) {
+            return null;
+        }
+        FileDto fileDto = new FileDto();
+        fileDto.setFileId(fileRelDtos.get(0).getFileSaveName());
+        fileDto.setCommunityId(communityId);
+        List<FileDto> fileDtos = fileInnerServiceSMOImpl.queryFiles(fileDto);
+        if (fileDtos == null || fileDtos.size() != 1) {
+            return null;
+        }
+        userDto = userDtos.get(0);
+
+        MachineUserResultDto machineUserResultDto = new MachineUserResultDto();
+        machineUserResultDto.setUserid(userDto.getUserId());
+        machineUserResultDto.setGroupid(communityId);
+        machineUserResultDto.setGroup(reqJson.getString("communityName"));
+        machineUserResultDto.setName(userDto.getName());
+        String tmpImg = fileDtos.get(0).getContext();
+        machineUserResultDto.setFaceBase64(tmpImg);
+        machineUserResultDto.setIdNumber(userDto.getTel());
+        try {
+            machineUserResultDto.setStartTime(DateUtil.getDateFromString("2020-01-01 00:00:00", DateUtil.DATE_FORMATE_STRING_A).getTime() + "");
+            machineUserResultDto.setEndTime(2145891661 + "");
+        } catch (ParseException e) {
+            machineUserResultDto.setEndTime(2145891661 + "");
+        }
+        machineUserResultDto.setRemarks("HC小区管理系统");
+        machineUserResultDto.setReserved(userDto.getUserId());
+        machineUserResultDto.setUserType(MachineQueryUserInfoListener.TYPE_STAFF);
+
+        //将 设备 待同步 改为同步中
+        MachineTranslateDto tmpMtDto = new MachineTranslateDto();
+        tmpMtDto.setMachineCode(reqJson.getString("machineCode"));
+        tmpMtDto.setCommunityId(communityId);
+        tmpMtDto.setObjId(userDto.getUserId());
+        tmpMtDto.setState("20000");
+        machineTranslateInnerServiceSMOImpl.updateMachineTranslateState(tmpMtDto);
+
+        return machineUserResultDto;
+    }
+}

+ 8 - 3
service-api/src/main/java/com/java110/api/listener/machineTranslate/MachineQueryUserInfoListener.java

@@ -4,16 +4,17 @@ import com.alibaba.fastjson.JSONArray;
 import com.alibaba.fastjson.JSONObject;
 import com.java110.api.bmo.machineTranslate.IApplicationKeyMachineTranslateBMO;
 import com.java110.api.bmo.machineTranslate.IOwnerMachineTranslateBMO;
+import com.java110.api.bmo.machineTranslate.IStaffMachineTranslateBMO;
 import com.java110.api.bmo.machineTranslate.IVisitMachineTranslateBMO;
 import com.java110.core.annotation.Java110Listener;
 import com.java110.core.context.DataFlowContext;
 import com.java110.core.event.service.api.ServiceDataFlowEvent;
-import com.java110.core.smo.community.ICommunityInnerServiceSMO;
+import com.java110.core.smo.common.IApplicationKeyInnerServiceSMO;
 import com.java110.core.smo.common.IFileInnerServiceSMO;
 import com.java110.core.smo.common.IFileRelInnerServiceSMO;
-import com.java110.core.smo.common.IApplicationKeyInnerServiceSMO;
 import com.java110.core.smo.common.IMachineInnerServiceSMO;
 import com.java110.core.smo.common.IMachineTranslateInnerServiceSMO;
+import com.java110.core.smo.community.ICommunityInnerServiceSMO;
 import com.java110.dto.community.CommunityDto;
 import com.java110.dto.machine.MachineTranslateDto;
 import com.java110.dto.machine.MachineUserResultDto;
@@ -81,6 +82,9 @@ public class MachineQueryUserInfoListener extends BaseMachineListener {
     @Autowired
     private IVisitMachineTranslateBMO visitMachineTranslateBMOImpl;
 
+    @Autowired
+    private IStaffMachineTranslateBMO staffMachineTranslateBMOImpl;
+
     /**
      * @param event   事件对象
      * @param reqJson 请求报文数据
@@ -148,6 +152,8 @@ public class MachineQueryUserInfoListener extends BaseMachineListener {
                 machineUserResultDto = applicationKeyMachineTranslateBMOImpl.getPhotoInfo(reqJson);
             case TYPE_VISIT:
                 machineUserResultDto = visitMachineTranslateBMOImpl.getPhotoInfo(reqJson);
+            case TYPE_STAFF:
+                machineUserResultDto = staffMachineTranslateBMOImpl.getPhotoInfo(reqJson);
             default:
                 break;
         }
@@ -162,7 +168,6 @@ public class MachineQueryUserInfoListener extends BaseMachineListener {
         }
 
 
-
         responseEntity = new ResponseEntity<>(JSONObject.toJSONString(machineUserResultDto), httpHeaders, HttpStatus.OK);
         context.setResponseEntity(responseEntity);
     }