rk
2025-09-29 218e84d2264e413f31a2f3957f05bb7b8ad42d5d
server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/VisitEventServiceImpl.java
@@ -4,8 +4,9 @@
import cn.hutool.core.lang.Validator;
import cn.hutool.core.util.ReUtil;
import com.doumee.core.haikang.model.HKConstants;
import com.doumee.core.model.PageData;
import com.doumee.core.model.PageWrap;
import com.doumee.dao.business.vo.VisitEventCountVO;
import com.doumee.service.business.third.model.PageData;
import com.doumee.service.business.third.model.PageWrap;
import com.doumee.core.utils.Constants;
import com.doumee.core.utils.Utils;
import com.doumee.dao.business.VisitEventMapper;
@@ -172,6 +173,9 @@
        if (pageWrap.getModel().getIdNo() != null) {
            queryWrapper.lambda().eq(VisitEvent::getIdNo, pageWrap.getModel().getIdNo());
        }
        if (pageWrap.getModel().getInOrOut() != null) {
            queryWrapper.lambda().eq(VisitEvent::getInOrOut, pageWrap.getModel().getInOrOut());
        }
        if (pageWrap.getModel().getBeVisitedPersonName() != null) {
            queryWrapper.lambda().eq(VisitEvent::getBeVisitedPersonName, pageWrap.getModel().getBeVisitedPersonName());
        }
@@ -239,7 +243,36 @@
        }
        return PageData.from(visitEventDTOIPage);
    }
    @Override
    public VisitEventCountVO countNum(VisitEvent model){
        VisitEventCountVO data = new VisitEventCountVO();
        data.setEventNum(0l);
        data.setVisitorNum(0l);
        Long count = visitEventJoinMapper.selectCount(new QueryWrapper<VisitEvent>().lambda()
                .ge(StringUtils.isNotBlank(model.getStartTime()), VisitEvent::getCreateDate, model.getStartTime())
                .le(StringUtils.isNotBlank(model.getEndTime()), VisitEvent::getCreateDate,model.getEndTime())
                .eq(VisitEvent::getInOrOut,Constants.ZERO)
                .isNotNull(VisitEvent::getVisitorId)
                .eq(VisitEvent::getEventType,HKConstants.EventTypes.VISIT_SIGN_ICCM_PASS.getKey())
                );
        if(count!=null){
            data.setEventNum(count);
        }
        VisitEvent count1 = visitEventJoinMapper.selectOne(new QueryWrapper<VisitEvent>()
                 .select("count(distinct(visitor_id)) as num")
                        .lambda()
                .ge(StringUtils.isNotBlank(model.getStartTime()),VisitEvent::getCreateDate, model.getStartTime())
                .le(StringUtils.isNotBlank(model.getEndTime()), VisitEvent::getCreateDate,model.getEndTime())
                .eq( VisitEvent::getIsdeleted,Constants.ZERO)
                .eq( VisitEvent::getInOrOut,Constants.ZERO)
                .isNotNull(VisitEvent::getVisitorId)
                .eq(VisitEvent::getEventType,HKConstants.EventTypes.VISIT_SIGN_ICCM_PASS.getKey())
                );
        if(count1!=null){
            data.setVisitorNum((long)Constants.formatIntegerNum(count1.getNum()));
        }
        return data;
    }
    @Override
    public List<VisitEvent> findPageExcel(PageWrap<VisitEvent> pageWrap) {
        IPage<VisitEvent> visitEventExcel = getDataInfo(pageWrap);
@@ -275,6 +308,9 @@
                .eq(Objects.nonNull(pageWrap.getModel().getEventType()),
                        VisitEvent::getEventType,
                        pageWrap.getModel().getEventType())
                .eq(Objects.nonNull(pageWrap.getModel().getInOrOut()),
                        VisitEvent::getInOrOut,
                        pageWrap.getModel().getInOrOut())
                .ge(StringUtils.isNotBlank(pageWrap.getModel().getStartTime()),
                        VisitEvent::getCreateDate,
                        pageWrap.getModel().getStartTime())
@@ -287,13 +323,11 @@
        return visitEventDTOIPage;
    }
    private List<VisitEvent> newVisitEvent(List<VisitEvent> VisitEventDTOList) {
        List<String> codes = Arrays.asList(Constants.FTP_RESOURCE_PATH,Constants.MEMBER_IMG);
        List<SystemDictData> list = systemDictDataMapper.list(codes);
        Map<String,SystemDictData> dataMap = list.stream().collect(Collectors.toMap(SystemDictData::getLabel, Function.identity()));
        VisitEventDTOList.stream().forEach(obj->{
            if(StringUtils.isNotBlank( obj.getCaptureUrl())
                    && !obj.getCaptureUrl().startsWith(HKConstants.IMG_INDEX)
                    && !obj.getCaptureUrl().startsWith(HKConstants.IMG_INDEX_ERROR)) {
@@ -303,7 +337,7 @@
                            +obj.getCaptureUrl());
                }
            }
            obj.setEventTypeName(HKConstants.EventTypes.getName(obj.getEventType())); ;
            obj.setEventTypeName(HKConstants.EventTypes.getName(obj.getEventType()));
        });
        return  VisitEventDTOList;
    }