server/dmvisit_admin/src/main/java/com/doumee/api/business/ERPSyncController.java
@@ -34,9 +34,9 @@ private HkSyncPrivilegeServiceImpl hkSyncPrivilegeService; @PreventRepeat @ApiOperation("【ERP】全量同步组织信息接口") @PostMapping("/syncCompanies") @RequiresPermissions("business:erpsync:company") @ApiOperation("【ERP】全量同步门禁设备接口") @PostMapping("/syncDevices") //@RequiresPermissions("business:erpsync:device") public ApiResponse getDevices(@RequestBody AcsDeviceListRequest param) { String result = hkSyncDeviceService.syncHkDevices(param); return ApiResponse.success(result); server/dmvisit_admin/src/main/java/com/doumee/api/business/VisitEventController.java
@@ -77,7 +77,7 @@ @ApiOperation("导出Excel") @PostMapping("/exportExcel") @RequiresPermissions("business:visitevent:exportExcel") //@RequiresPermissions("business:visitevent:exportExcel") public void exportExcel (@RequestBody PageWrap<VisitEvent> pageWrap, HttpServletResponse response) { ExcelExporter.build(VisitEvent.class).export(visitEventService.findPage(pageWrap).getRecords(), "访客事件推送记录表", response); } server/dmvisit_service/src/main/java/com/doumee/dao/admin/response/VisitEventDTO.java
@@ -46,7 +46,10 @@ 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/service/business/impl/CarEventServiceImpl.java
@@ -10,6 +10,8 @@ import com.doumee.core.utils.Utils; import com.doumee.dao.admin.request.VisitEventQuery; import com.doumee.dao.admin.response.CarEventDTO; import com.doumee.dao.admin.response.DeviceEventDTO; import com.doumee.dao.admin.response.VisitEventDTO; import com.doumee.dao.business.CarEventMapper; import com.doumee.dao.business.join.CarEventJoinMapper; import com.doumee.dao.business.model.*; @@ -26,10 +28,7 @@ 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.*; import java.util.function.Function; import java.util.stream.Collectors; @@ -320,10 +319,17 @@ CarEvent::getCreateDate, pageWrap.getModel().getEndTime()); IPage<CarEventDTO> carEventDTOIPage = carEventJoinMapper.selectJoinPage(page, CarEventDTO.class, queryWrapper); if(null != carEventDTOIPage && carEventDTOIPage.getRecords().size() > 0) { carEventDTOIPage.setRecords(newCarEventDTO(carEventDTOIPage.getRecords())); } return PageData.from(carEventDTOIPage); } private List<CarEventDTO> newCarEventDTO(List<CarEventDTO> newCarEventDTOList) { 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->{ List<CarEventDTO> newDataList = new ArrayList<>(); newCarEventDTOList.stream().forEach(obj->{ obj.setVehiclePicUrl(dataMap.get(Constants.FTP_RESOURCE_PATH).getCode() +dataMap.get(Constants.CAR_EVENT_IMG).getCode() +obj.getVehiclePicUrl()); @@ -336,8 +342,8 @@ }else{ obj.setEventTypeName(HKConstants.EventTypes.PARK_PASS_OUT.getName()); } newDataList.add(obj); }); } return PageData.from(carEventDTOIPage); return newDataList; } } server/dmvisit_service/src/main/java/com/doumee/service/business/impl/VisitEventServiceImpl.java
@@ -3,14 +3,19 @@ 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.DeviceEventDTO; import com.doumee.dao.admin.response.VisitEventDTO; import com.doumee.dao.business.VisitEventMapper; import com.doumee.dao.business.join.VisitEventJoinMapper; import com.doumee.dao.business.model.*; import com.doumee.dao.system.SystemDictDataMapper; import com.doumee.dao.system.model.SystemDictData; import com.doumee.service.business.VisitEventService; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper; @@ -22,8 +27,9 @@ import org.springframework.stereotype.Service; import org.springframework.util.CollectionUtils; import java.util.List; import java.util.Objects; import java.util.*; import java.util.function.Function; import java.util.stream.Collectors; /** * 访客事件推送记录表Service实现 @@ -38,6 +44,9 @@ @Autowired private VisitEventJoinMapper visitEventJoinMapper; @Autowired private SystemDictDataMapper systemDictDataMapper; @Override public Integer create(VisitEvent visitEvent) { @@ -236,9 +245,9 @@ IPage<VisitEvent> page = new Page<>(pageWrap.getPage(), pageWrap.getCapacity()); MPJLambdaWrapper<VisitEvent> queryWrapper = new MPJLambdaWrapper<>(); queryWrapper .leftJoin(Company.class,Company::getId,Member::getCompanyId); queryWrapper .leftJoin(Visits.class,Visits::getHkId,VisitEvent::getVisitorId); queryWrapper.selectAll(VisitEvent.class) .selectAs(Company::getName,VisitEventDTO::getPersonCompanyName); .selectAs(Visits::getCompanyName,VisitEventDTO::getPersonCompanyName); queryWrapper.like(number, VisitEvent::getPhone, pageWrap.getModel().getKeyWords()) @@ -262,8 +271,28 @@ pageWrap.getModel().getEndTime()); queryWrapper.orderByDesc(VisitEvent::getHappenTime); IPage<VisitEventDTO> visitEventDTOIPage = visitEventJoinMapper.selectJoinPage(page, VisitEventDTO.class, queryWrapper); if(null != visitEventDTOIPage && visitEventDTOIPage.getRecords().size() > 0) { visitEventDTOIPage.setRecords(newVisitEvent(visitEventDTOIPage.getRecords())); } return PageData.from(visitEventDTOIPage); } private List<VisitEventDTO> newVisitEvent(List<VisitEventDTO> 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())); List<VisitEventDTO> newDataList = new ArrayList<>(); VisitEventDTOList.stream().forEach(obj->{ obj.setCaptureUrl(dataMap.get(Constants.FTP_RESOURCE_PATH).getCode() +dataMap.get(Constants.MEMBER_IMG).getCode() +obj.getCaptureUrl()); if(Constants.formatIntegerNum(obj.getEventType()) == HKConstants.EventTypes.VISIT_SIGN_IN.getKey()){ obj.setEventTypeName(HKConstants.EventTypes.VISIT_SIGN_IN.getName()); }else if(Constants.formatIntegerNum(obj.getEventType()) == HKConstants.EventTypes.VISIT_SIGN_OUT.getKey()){ obj.setEventTypeName(HKConstants.EventTypes.VISIT_SIGN_OUT.getName()); } newDataList.add(obj); }); return newDataList; } }