Your Name
2023-09-20 dfab2d2d87342cdb27349de3842a6644cd51fa30
service-job/src/main/java/com/java110/job/adapt/hcIot/machine/EditAccessControlWhiteToIotAdapt.java
@@ -16,17 +16,17 @@
package com.java110.job.adapt.hcIot.machine;
import com.alibaba.fastjson.JSONObject;
import com.java110.dto.accessControlWhite.AccessControlWhiteDto;
import com.java110.dto.accessControl.AccessControlWhiteAuthDto;
import com.java110.dto.accessControl.AccessControlWhiteDto;
import com.java110.dto.file.FileRelDto;
import com.java110.dto.owner.OwnerAttrDto;
import com.java110.entity.order.Business;
import com.java110.intf.common.IAccessControlWhiteV1InnerServiceSMO;
import com.java110.intf.common.IFileInnerServiceSMO;
import com.java110.intf.common.IFileRelInnerServiceSMO;
import com.java110.intf.common.IMachineInnerServiceSMO;
import com.java110.dto.system.Business;
import com.java110.intf.common.*;
import com.java110.job.adapt.DatabusAdaptImpl;
import com.java110.job.adapt.hcIot.asyn.IIotSendAsyn;
import com.java110.po.accessControlWhite.AccessControlWhitePo;
import com.java110.po.accessControl.AccessControlWhitePo;
import com.java110.utils.cache.MappingCache;
import com.java110.utils.constant.MappingConstant;
import com.java110.utils.util.Assert;
import com.java110.utils.util.BeanConvertUtil;
import com.java110.utils.util.ImageUtils;
@@ -55,6 +55,9 @@
    @Autowired
    private IAccessControlWhiteV1InnerServiceSMO accessControlWhiteV1InnerServiceSMOImpl;
    @Autowired
    private IAccessControlWhiteAuthV1InnerServiceSMO accessControlWhiteAuthV1InnerServiceSMOImpl;
    @Autowired
    private IFileRelInnerServiceSMO fileRelInnerServiceSMOImpl;
@@ -95,39 +98,58 @@
        Assert.listOnlyOne(accessControlWhiteDtos, "门禁白名单不存在");
        AccessControlWhiteDto tmpAccessControlWhiteDto = accessControlWhiteDtos.get(0);
        FileRelDto fileRelDto = new FileRelDto();
        fileRelDto.setObjId(accessControlWhitePo.getAcwId());
        fileRelDto.setRelTypeCd("10000");
        //fileRelDto.setRelTypeCd("10000");
        List<FileRelDto> fileRelDtos = fileRelInnerServiceSMOImpl.queryFileRels(fileRelDto);
        if (fileRelDtos == null || fileRelDtos.size() != 1) {
            return;
        }
        String fileName = fileRelDtos.get(0).getFileSaveName();
        String faceBase64 = ImageUtils.getBase64ByImgUrl(fileRelDtos.get(0).getFileSaveName());
        if (StringUtil.isEmpty(fileName)) {
            return;
        }
        String imgUrl = MappingCache.getValue(MappingConstant.FILE_DOMAIN, "IMG_PATH");
        if (!fileName.startsWith("http")) {
            fileName = imgUrl + fileName;
        }
        String faceBase64 = ImageUtils.getBase64ByImgUrl(fileName);
        if (StringUtil.isEmpty(faceBase64)) {
            return;
        }
        JSONObject postParameters = new JSONObject();
        AccessControlWhiteAuthDto accessControlWhiteAuthDto = new AccessControlWhiteAuthDto();
        accessControlWhiteAuthDto.setAcwId(accessControlWhiteDtos.get(0).getAcwId());
        List<AccessControlWhiteAuthDto> accessControlWhiteAuthDtos
                = accessControlWhiteAuthV1InnerServiceSMOImpl.queryAccessControlWhiteAuths(accessControlWhiteAuthDto);
        if (accessControlWhiteAuthDtos == null || accessControlWhiteAuthDtos.size() < 1) {
            return;
        }
        postParameters.put("userId", tmpAccessControlWhiteDto.getPersonId());
        postParameters.put("faceBase64", faceBase64);
        postParameters.put("startTime", tmpAccessControlWhiteDto.getStartTime());
        postParameters.put("endTime", tmpAccessControlWhiteDto.getEndTime());
        postParameters.put("name", tmpAccessControlWhiteDto.getPersonName());
        postParameters.put("idNumber", tmpAccessControlWhiteDto.getIdCard());
        postParameters.put("link", tmpAccessControlWhiteDto.getTel());
        postParameters.put("machineCode", tmpAccessControlWhiteDto.getMachineCode());
        postParameters.put("extMachineId", tmpAccessControlWhiteDto.getMachineId());
        postParameters.put("extCommunityId", tmpAccessControlWhiteDto.getCommunityId());
        List<OwnerAttrDto> ownerAttrDtos = new ArrayList<>();
        OwnerAttrDto ownerAttrDto = new OwnerAttrDto();
        ownerAttrDto.setSpecCd(OwnerAttrDto.SPEC_CD_ACCESS_CONTROL_KEY);
        ownerAttrDto.setValue(tmpAccessControlWhiteDto.getAccessControlKey());
        ownerAttrDto.setCommunityId(tmpAccessControlWhiteDto.getCommunityId());
        ownerAttrDtos.add(ownerAttrDto);
        postParameters.put("attrs", ownerAttrDtos);
        hcMachineAsynImpl.sendUpdateOwner(postParameters);
        for (AccessControlWhiteAuthDto tmpAccessControlWhiteAuthDto : accessControlWhiteAuthDtos) {
            JSONObject postParameters = new JSONObject();
            postParameters.put("userId", tmpAccessControlWhiteDto.getPersonId());
            postParameters.put("faceBase64", faceBase64);
            postParameters.put("startTime", tmpAccessControlWhiteDto.getStartTime());
            postParameters.put("endTime", tmpAccessControlWhiteDto.getEndTime());
            postParameters.put("name", tmpAccessControlWhiteDto.getPersonName());
            postParameters.put("idNumber", tmpAccessControlWhiteDto.getIdCard());
            postParameters.put("link", tmpAccessControlWhiteDto.getTel());
            postParameters.put("machineCode", tmpAccessControlWhiteAuthDto.getMachineCode());
            postParameters.put("extMachineId", tmpAccessControlWhiteAuthDto.getMachineId());
            postParameters.put("extCommunityId", tmpAccessControlWhiteDto.getCommunityId());
            List<OwnerAttrDto> ownerAttrDtos = new ArrayList<>();
            OwnerAttrDto ownerAttrDto = new OwnerAttrDto();
            ownerAttrDto.setSpecCd(OwnerAttrDto.SPEC_CD_ACCESS_CONTROL_KEY);
            ownerAttrDto.setValue(tmpAccessControlWhiteDto.getAccessControlKey());
            ownerAttrDto.setCommunityId(tmpAccessControlWhiteDto.getCommunityId());
            ownerAttrDtos.add(ownerAttrDto);
            postParameters.put("attrs", ownerAttrDtos);
            hcMachineAsynImpl.sendUpdateOwner(postParameters);
        }
    }
}