Bläddra i källkod

优化查询访客功能

Your Name 3 år sedan
förälder
incheckning
0756bc4d75

+ 1 - 3
java110-db/src/main/resources/mapper/community/VisitServiceDaoImplMapper.xml

@@ -164,14 +164,12 @@
         t.car_num,t.car_num carNum,t.entourage,t.reason_type,t.reason_type
         reasonType,t.state,t.state_remark,t.state_remark stateRemark,td.name stateName,t.create_time,
         t.create_time createTime,t.ps_id,t.ps_id psId,t.free_time,t.free_time freeTime,
-        t.record_state,t.record_state recordState,ps.num parkingSpaceNum,pa.num parkingAreaName,bo.name ownerName,
-        fr.file_real_name fileRealName,fr.file_save_name fileSaveName
+        t.record_state,t.record_state recordState,ps.num parkingSpaceNum,pa.num parkingAreaName,bo.name ownerName
         from s_visit_info t
         left join t_dict td on t.state = td.status_cd and td.table_name = 's_visit_info' and td.table_columns = 'state'
         left join parking_space ps on t.ps_id = ps.ps_id and ps.status_cd = '0'
         left join parking_area pa on ps.pa_id = pa.pa_id and  pa.status_cd = '0'
         left join building_owner bo on t.owner_id = bo.owner_id and bo.owner_type_cd = '1001' and bo.status_cd = '0'
-        left join file_rel fr on fr.obj_id = t.v_id and fr.status_cd = '0'
         where 1 = 1
         <if test="departureTime !=null ">
             and t.departure_time= #{departureTime}

+ 39 - 0
service-community/src/main/java/com/java110/community/cmd/visit/ListVisitsCmd.java

@@ -8,10 +8,14 @@ import com.java110.core.event.cmd.Cmd;
 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.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.utils.cache.MappingCache;
 import com.java110.utils.exception.CmdException;
 import com.java110.utils.util.Assert;
 import com.java110.utils.util.BeanConvertUtil;
@@ -69,6 +73,9 @@ public class ListVisitsCmd extends Cmd {
     @Autowired
     private IVisitSettingV1InnerServiceSMO visitSettingV1InnerServiceSMOImpl;
 
+    @Autowired
+    private IFileRelInnerServiceSMO fileRelInnerServiceSMOImpl;
+
     //键
     public static final String CAR_FREE_TIME = "CAR_FREE_TIME";
 
@@ -126,6 +133,9 @@ public class ListVisitsCmd extends Cmd {
             //刷入流程ID
             refreshSetting(visits, reqJson);
 
+            // 刷入人脸
+            refreshPhoto(visits, reqJson);
+
             ApiVisitVo apiVisitVo = new ApiVisitVo();
             apiVisitVo.setTotal(count);
             apiVisitVo.setRecords((int) Math.ceil((double) count / (double) reqJson.getInteger("row")));
@@ -137,6 +147,35 @@ public class ListVisitsCmd extends Cmd {
 
     }
 
+    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"));