Your Name
2023-01-24 c0328edb2de39f27e47b7ad1eedf8f80b883335e
service-community/src/main/java/com/java110/community/cmd/visit/ListVisitsCmd.java
@@ -8,10 +8,17 @@
import com.java110.core.event.cmd.CmdEvent;
import com.java110.core.factory.CommunitySettingFactory;
import com.java110.doc.annotation.*;
import com.java110.dto.accessControlWhite.AccessControlWhiteDto;
import com.java110.dto.file.FileRelDto;
import com.java110.dto.owner.OwnerDto;
import com.java110.dto.visit.VisitDto;
import com.java110.dto.visitSetting.VisitSettingDto;
import com.java110.intf.common.IFileRelInnerServiceSMO;
import com.java110.intf.community.IVisitInnerServiceSMO;
import com.java110.intf.community.IVisitSettingV1InnerServiceSMO;
import com.java110.intf.community.IVisitV1InnerServiceSMO;
import com.java110.intf.user.IOwnerV1InnerServiceSMO;
import com.java110.utils.cache.MappingCache;
import com.java110.utils.exception.CmdException;
import com.java110.utils.util.Assert;
import com.java110.utils.util.BeanConvertUtil;
@@ -64,10 +71,16 @@
public class ListVisitsCmd extends Cmd {
    @Autowired
    private IVisitInnerServiceSMO visitInnerServiceSMOImpl;
    private IVisitV1InnerServiceSMO visitV1InnerServiceSMO;
    @Autowired
    private IVisitSettingV1InnerServiceSMO visitSettingV1InnerServiceSMOImpl;
    @Autowired
    private IFileRelInnerServiceSMO fileRelInnerServiceSMOImpl;
    @Autowired
    private IOwnerV1InnerServiceSMO ownerV1InnerServiceSMOImpl;
    //键
    public static final String CAR_FREE_TIME = "CAR_FREE_TIME";
@@ -108,10 +121,10 @@
                    && "PC".equals(reqJson.getString("channel"))) {
                visitDto.setUserId("");
            }
            int count = visitInnerServiceSMOImpl.queryVisitsCount(visitDto);
            int count = visitV1InnerServiceSMO.queryVisitsCount(visitDto);
            List<ApiVisitDataVo> visits = new ArrayList<>();
            if (count > 0) {
                List<VisitDto> visitDtos = visitInnerServiceSMOImpl.queryVisits(visitDto);
                List<VisitDto> visitDtos = visitV1InnerServiceSMO.queryVisits(visitDto);
                for (VisitDto visit : visitDtos) {
                    ApiVisitDataVo apiVisitDataVo = BeanConvertUtil.covertBean(visit, ApiVisitDataVo.class);
                    if (!StringUtil.isEmpty(visit.getFileSaveName())) {
@@ -124,7 +137,13 @@
            }
            //刷入流程ID
            refreshOwners(visits, reqJson);
            //刷入流程ID
            refreshSetting(visits, reqJson);
            // 刷入人脸
            refreshPhoto(visits, reqJson);
            ApiVisitVo apiVisitVo = new ApiVisitVo();
            apiVisitVo.setTotal(count);
@@ -137,6 +156,63 @@
    }
    private void refreshOwners(List<ApiVisitDataVo> visits, JSONObject reqJson) {
        if(visits == null || visits.size() < 1){
            return ;
        }
        List<String> ownerIds = new ArrayList<>();
        for(ApiVisitDataVo apiVisitDataVo: visits){
            ownerIds.add(apiVisitDataVo.getOwnerId());
        }
        OwnerDto ownerDto = new OwnerDto();
        ownerDto.setOwnerIds(ownerIds.toArray(new String[ownerIds.size()]));
        ownerDto.setOwnerTypeCd(OwnerDto.OWNER_TYPE_CD_OWNER);
        ownerDto.setCommunityId(reqJson.getString("communityId"));
       List<OwnerDto> ownerDtos =  ownerV1InnerServiceSMOImpl.queryOwners(ownerDto);
        for(ApiVisitDataVo apiVisitDataVo: visits){
            for(OwnerDto tmpOwnerDto : ownerDtos){
                if(!apiVisitDataVo.getOwnerId().equals(tmpOwnerDto.getOwnerId())){
                    continue;
                }
                apiVisitDataVo.setOwnerName(tmpOwnerDto.getName());
            }
        }
    }
    private void refreshPhoto(List<ApiVisitDataVo> visits, JSONObject reqJson) {
        List<String> vIds = new ArrayList<>();
        for(ApiVisitDataVo apiVisitDataVo: visits){
            vIds.add(apiVisitDataVo.getvId());
        }
        FileRelDto fileRelDto = new FileRelDto();
        fileRelDto.setObjIds(vIds.toArray(new String[vIds.size()]));
        List<FileRelDto> fileRelDtos = fileRelInnerServiceSMOImpl.queryFileRels(fileRelDto);
        if(fileRelDtos == null || fileRelDtos.size() < 1){
            return ;
        }
        String imgUrl = MappingCache.getValue("IMG_PATH");
        for(ApiVisitDataVo apiVisitDataVo: visits){
            for(FileRelDto tmpFileRelDto : fileRelDtos){
                if(!apiVisitDataVo.getvId().equals(tmpFileRelDto.getObjId())){
                    continue;
                }
                if(tmpFileRelDto.getFileSaveName().startsWith("http")){
                    apiVisitDataVo.setUrl(tmpFileRelDto.getFileSaveName() );
                }else{
                    apiVisitDataVo.setUrl(imgUrl +tmpFileRelDto.getFileSaveName() );
                }
            }
        }
    }
    private void refreshSetting(List<ApiVisitDataVo> visits, JSONObject reqJson) {
        VisitSettingDto visitSettingDto = new VisitSettingDto();
        visitSettingDto.setCommunityId(reqJson.getString("communityId"));