lishuai
2023-12-20 18923f94dd3117aa6232e351abf7be79b365513a
前后端联调,接口字段回显调整
已修改9个文件
93 ■■■■ 文件已修改
server/dmvisit_admin/src/main/java/com/doumee/api/business/CarEventController.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/dmvisit_admin/src/main/java/com/doumee/api/business/DeviceEventController.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/dmvisit_service/src/main/java/com/doumee/dao/admin/response/CarEventDTO.java 4 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/dmvisit_service/src/main/java/com/doumee/dao/admin/response/DeviceEventDTO.java 14 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/dmvisit_service/src/main/java/com/doumee/dao/business/model/DeviceEvent.java 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/dmvisit_service/src/main/java/com/doumee/dao/business/model/Retention.java 3 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/dmvisit_service/src/main/java/com/doumee/service/business/impl/CarEventServiceImpl.java 31 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/dmvisit_service/src/main/java/com/doumee/service/business/impl/DeviceEventServiceImpl.java 11 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/dmvisit_service/src/main/java/com/doumee/service/business/impl/RetentionServiceImpl.java 22 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/dmvisit_admin/src/main/java/com/doumee/api/business/CarEventController.java
@@ -77,7 +77,7 @@
    @ApiOperation("导出Excel")
    @PostMapping("/exportExcel")
    @RequiresPermissions("business:carevent:exportExcel")
    //@RequiresPermissions("business:carevent:exportExcel")
    public void exportExcel (@RequestBody PageWrap<CarEvent> pageWrap, HttpServletResponse response) {
        ExcelExporter.build(CarEvent.class).exportWithFirstAndEnd (carEventService.findPage(pageWrap).getRecords(),"停车场事件推送记录表", null, "停车场事件推送记录导出报表",null , response);
//        ExcelExporter.build(CarEvent.class).export(carEventService.findPage(pageWrap).getRecords(), "停车场事件推送记录表", response);
server/dmvisit_admin/src/main/java/com/doumee/api/business/DeviceEventController.java
@@ -77,7 +77,7 @@
    @ApiOperation("导出Excel")
    @PostMapping("/exportExcel")
    @RequiresPermissions("business:deviceevent:exportExcel")
    //@RequiresPermissions("business:deviceevent:exportExcel")
    public void exportExcel (@RequestBody PageWrap<DeviceEvent> pageWrap, HttpServletResponse response) {
        ExcelExporter.build(DeviceEvent.class).export(deviceEventService.findPage(pageWrap).getRecords(), "门禁事件推送记录表", response);
    }
server/dmvisit_service/src/main/java/com/doumee/dao/admin/response/CarEventDTO.java
@@ -49,7 +49,9 @@
    private String srcName;
    @ApiModelProperty(value = "事件类型")
    private String eventType;
    private Integer eventType;
    @ApiModelProperty(value = "事件类型名称")
    private String eventTypeName;
    @ApiModelProperty(value = "事件状态,0-瞬时 1-开始2-停止4-事件联动结果更新5-事件图片异步上传")
    private Integer status;
server/dmvisit_service/src/main/java/com/doumee/dao/admin/response/DeviceEventDTO.java
@@ -36,8 +36,10 @@
    @ApiModelProperty(value = "事件唯一标识,同一事件若上报多次,则上报事件的eventId相同")
    private String eventId;
    @ApiModelProperty(value = "事件类型")
    private String eventType;
    @ApiModelProperty(value = "事件类型 -- 197163,人脸认证失败 ; 196893,人脸认证通过")
    private Integer eventType;
    @ApiModelProperty(value = "事件类型名称")
    private String eventTypeName;
    @ApiModelProperty(value = "事件源类型,如“acsDevice”")
    private String srcType;
@@ -48,9 +50,11 @@
    @ApiModelProperty(value = "门禁点唯一接入编码")
    private String srcIndex;
    @ApiModelProperty(value = "门禁名称")
    @ExcelColumn(name="门禁名称")
    @ApiModelProperty(value = "门禁点名称")
    private String srcName;
    @ApiModelProperty(value = "门禁名称")
    private String devName;
    @ApiModelProperty(value = "事件状态,0-瞬时1-开始2-停止4-事件联动结果更新5-事件图片异步上传")
    private Integer status;
@@ -191,4 +195,6 @@
    @ApiModelProperty(value = "通道总通行人数")
    private Integer totalTimes;
    @ApiModelProperty(value = "控制器设备唯一接入编码")
    private String srcParentIndex;
}
server/dmvisit_service/src/main/java/com/doumee/dao/business/model/DeviceEvent.java
@@ -258,6 +258,10 @@
    @ExcelColumn(name="通道总通行人数")
    private Integer totalTimes;
    @ApiModelProperty(value = "控制器设备唯一接入编码")
    @ExcelColumn(name = "控制器设备唯一接入编码")
    private String srcParentIndex;
    // 条件查询参数
    @ApiModelProperty(value = "关键字,姓名/手机号")
server/dmvisit_service/src/main/java/com/doumee/dao/business/model/Retention.java
@@ -123,12 +123,15 @@
    // 条件查询参数
    @ApiModelProperty(value = "姓名/手机号")
    @TableField(exist = false)
    private String keyWords;
    @ApiModelProperty(value = "开始时间")
    @TableField(exist = false)
    private Date startTime;
    @ApiModelProperty(value = "结束时间")
    @TableField(exist = false)
    private Date endTime;
}
server/dmvisit_service/src/main/java/com/doumee/service/business/impl/CarEventServiceImpl.java
@@ -3,14 +3,18 @@
import cn.hutool.core.lang.PatternPool;
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.core.utils.Constants;
import com.doumee.core.utils.Utils;
import com.doumee.dao.admin.request.VisitEventQuery;
import com.doumee.dao.admin.response.CarEventDTO;
import com.doumee.dao.business.CarEventMapper;
import com.doumee.dao.business.join.CarEventJoinMapper;
import com.doumee.dao.business.model.*;
import com.doumee.dao.system.SystemDictDataMapper;
import com.doumee.dao.system.model.SystemDictData;
import com.doumee.service.business.CarEventService;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
@@ -22,8 +26,12 @@
import org.springframework.stereotype.Service;
import org.springframework.util.CollectionUtils;
import java.util.Arrays;
import java.util.List;
import java.util.Map;
import java.util.Objects;
import java.util.function.Function;
import java.util.stream.Collectors;
/**
 * 停车场事件推送记录表Service实现
@@ -38,6 +46,9 @@
    @Autowired
    private CarEventJoinMapper carEventJoinMapper;
    @Autowired
    private SystemDictDataMapper systemDictDataMapper;
    @Override
    public Integer create(CarEvent carEvent) {
@@ -308,7 +319,25 @@
                    .le(Objects.nonNull(pageWrap.getModel().getEndTime()),
                            CarEvent::getCreateDate, pageWrap.getModel().getEndTime());
        IPage<CarEventDTO> carEventDTOIPage = carEventJoinMapper.selectJoinPage(page, CarEventDTO.class, queryWrapper);
        if(null != carEventDTOIPage && carEventDTOIPage.getRecords().size() > 0) {
            List<String> codes = Arrays.asList(Constants.FTP_RESOURCE_PATH,Constants.CAR_EVENT_IMG);
            List<SystemDictData> list = systemDictDataMapper.list(codes);
            Map<String,SystemDictData> dataMap = list.stream().collect(Collectors.toMap(SystemDictData::getLabel, Function.identity()));
            carEventDTOIPage.getRecords().stream().forEach(obj->{
                obj.setVehiclePicUrl(dataMap.get(Constants.FTP_RESOURCE_PATH).getCode()
                        +dataMap.get(Constants.CAR_EVENT_IMG).getCode()
                        +obj.getVehiclePicUrl());
                if(Constants.formatIntegerNum(obj.getEventType()) == HKConstants.EventTypes.PARK_LINE_IN.getKey()){
                    obj.setEventTypeName(HKConstants.EventTypes.PARK_LINE_IN.getName());
                }else if(Constants.formatIntegerNum(obj.getEventType()) == HKConstants.EventTypes.PARK_PASS_IN.getKey()){
                    obj.setEventTypeName(HKConstants.EventTypes.PARK_PASS_IN.getName());
                }else if(Constants.formatIntegerNum(obj.getEventType()) == HKConstants.EventTypes.PARK_LINE_OUT.getKey()){
                    obj.setEventTypeName(HKConstants.EventTypes.PARK_LINE_OUT.getName());
                }else{
                    obj.setEventTypeName(HKConstants.EventTypes.PARK_PASS_OUT.getName());
                }
            });
        }
        return PageData.from(carEventDTOIPage);
    }
}
server/dmvisit_service/src/main/java/com/doumee/service/business/impl/DeviceEventServiceImpl.java
@@ -4,6 +4,7 @@
import cn.hutool.core.lang.Validator;
import cn.hutool.core.util.PhoneUtil;
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.core.utils.Constants;
@@ -13,6 +14,7 @@
import com.doumee.dao.business.DeviceEventMapper;
import com.doumee.dao.business.join.DeviceEventJoinMapper;
import com.doumee.dao.business.model.Company;
import com.doumee.dao.business.model.Device;
import com.doumee.dao.business.model.DeviceEvent;
import com.doumee.dao.business.model.Member;
import com.doumee.dao.system.SystemDictDataMapper;
@@ -309,18 +311,20 @@
        boolean hasWord = ReUtil.contains(PatternPool.WORD, pageWrap.getModel().getKeyWords());
        queryWrapper.leftJoin(Member.class,Member::getHkId,DeviceEvent::getExtEventPersonNo)
                    .leftJoin(Company.class,Company::getId,Member::getCompanyId)
                    .leftJoin(Device.class,Device::getHkId,DeviceEvent::getSrcParentIndex)
                    .selectAll(DeviceEvent.class)
                    .selectAs(Member::getName,DeviceEventDTO::getPersonName)
                    .selectAs(Member::getType,DeviceEventDTO::getPersonType)
                    .selectAs(Member::getPhone,DeviceEventDTO::getPersonPhone)
                    .selectAs(Member::getIdcardDecode,DeviceEventDTO::getPersonIdcardDecode)
                    .selectAs(Device::getName,DeviceEventDTO::getDevName)
                    .selectAs(Company::getName,DeviceEventDTO::getPersonCompanyName);
        queryWrapper.like(number, Member::getPhone, pageWrap.getModel().getKeyWords())
                    .like((b||hasWord),Member::getName, pageWrap.getModel().getKeyWords())
                    .eq(StringUtils.isNotBlank(pageWrap.getModel().getPersonType()),
                                                Member::getType,
                                                pageWrap.getModel().getPersonType())
                    .eq( pageWrap.getModel().getEventType()!=null,
                    .eq(Objects.nonNull(pageWrap.getModel().getEventType()),
                                                DeviceEvent::getEventType,
                                                pageWrap.getModel().getEventType())
                    .ge(Objects.nonNull(pageWrap.getModel().getStartTime()),
@@ -360,6 +364,11 @@
                   dto.setExtEventPictureURL(null);
               }
           }
            if(Constants.formatIntegerNum(dto.getEventType()) == HKConstants.EventTypes.DOOR_FACE_AUTH_SUCCESS.getKey()){
                dto.setEventTypeName(HKConstants.EventTypes.DOOR_FACE_AUTH_SUCCESS.getName());
            }else if(Constants.formatIntegerNum(dto.getEventType()) == HKConstants.EventTypes.DOOR_FACE_AUTH_FAIL.getKey()){
                dto.setEventTypeName(HKConstants.EventTypes.DOOR_FACE_AUTH_FAIL.getName());
            }
            newDeviceEventDTOS.add(dto);
        }
        return newDeviceEventDTOS;
server/dmvisit_service/src/main/java/com/doumee/service/business/impl/RetentionServiceImpl.java
@@ -5,11 +5,14 @@
import cn.hutool.core.util.ReUtil;
import com.doumee.core.model.PageData;
import com.doumee.core.model.PageWrap;
import com.doumee.core.utils.Constants;
import com.doumee.core.utils.Utils;
import com.doumee.dao.admin.request.RetentionQuery;
import com.doumee.dao.business.RetentionMapper;
import com.doumee.dao.business.join.RetentionJoinMapper;
import com.doumee.dao.business.model.*;
import com.doumee.dao.system.SystemDictDataMapper;
import com.doumee.dao.system.model.SystemDictData;
import com.doumee.service.business.RetentionService;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
@@ -21,9 +24,9 @@
import org.springframework.stereotype.Service;
import org.springframework.util.CollectionUtils;
import java.util.Date;
import java.util.List;
import java.util.Objects;
import java.util.*;
import java.util.function.Function;
import java.util.stream.Collectors;
/**
 * 在厂人员信息 表(滞留)Service实现
@@ -38,6 +41,9 @@
    @Autowired
    private RetentionJoinMapper retentionJoinMapper;
    @Autowired
    private SystemDictDataMapper systemDictDataMapper;
    @Override
@@ -215,6 +221,16 @@
                            Retention::getEventDate,pageWrap.getModel().getStartTime());
        queryWrapper.orderByDesc(Retention::getCreateDate);
        IPage<Retention> retentionIPage = retentionJoinMapper.selectJoinPage(page, Retention.class, queryWrapper);
        if(null != retentionIPage && retentionIPage.getRecords().size() > 0) {
            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()));
            retentionIPage.getRecords().stream().forEach(obj->{
                obj.setFaceImg(dataMap.get(Constants.FTP_RESOURCE_PATH).getCode()
                        +dataMap.get(Constants.MEMBER_IMG).getCode()
                        +obj.getFaceImg());
            });
        }
        return PageData.from(retentionIPage);
    }
}