From b32269b651ed250b071793a6069cc3498cae3b0a Mon Sep 17 00:00:00 2001 From: zhaokai Date: Mon, 10 Aug 2026 16:47:56 +0800 Subject: [PATCH] =?UTF-8?q?refactor(dashboard):=20=E9=87=8D=E6=9E=84?= =?UTF-8?q?=E5=A4=A7=E5=B1=8F=E8=AE=BF=E9=97=AE=E8=AE=B0=E5=BD=95=E5=8A=9F?= =?UTF-8?q?=E8=83=BD=E6=94=AF=E6=8C=81=E4=BA=BA=E5=91=98=E8=BD=A6=E8=BE=86?= =?UTF-8?q?=E6=95=B0=E6=8D=AE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- start/src/main/resources/dahua.yml | 14 ++--- start/src/main/resources/prod-sdk.yml | 3 + start/src/main/resources/sdk.yml | 3 + .../primeport/web/DashboardController.java | 6 +- .../primeport/command/DaHuaPersonSyncExe.java | 4 +- .../command/query/DashboardQueryExe.java | 11 +++- .../dto/DashboardAccessRecordPageQry.java | 13 ++++ .../clientobject/DashboardAccessRecordCO.java | 24 ++++++- .../dataobject/DashboardAccessRecordDO.java | 6 ++ .../mapper/DaHuaAccessRecordMapper.java | 4 +- .../DaHuaVehicleAccessRecordMapper.java | 7 +++ .../DaHuaAccessRecordRepository.java | 2 +- .../DaHuaVehicleAccessRecordRepository.java | 5 ++ .../impl/DaHuaAccessRecordRepositoryImpl.java | 7 ++- ...aHuaVehicleAccessRecordRepositoryImpl.java | 17 +++++ .../mapper/DaHuaAccessRecordMapper.xml | 31 ++++++---- .../mapper/DaHuaVehicleAccessRecordMapper.xml | 62 +++++++++++++++++++ 17 files changed, 187 insertions(+), 32 deletions(-) diff --git a/start/src/main/resources/dahua.yml b/start/src/main/resources/dahua.yml index dc2fff0..5d410c8 100644 --- a/start/src/main/resources/dahua.yml +++ b/start/src/main/resources/dahua.yml @@ -20,13 +20,13 @@ dahua: oauth: #测试环境 - #host: 123.183.159.35 - #client-id: 123.183.159.35 - # client-secret: 4edfdcd2-67e6-41db-a1ae-b98d47a70266 - # username: system - # password: zcloud88888 - # http: false - # port: 4443 +# host: 123.183.159.35 +# client-id: 123.183.159.35 +# client-secret: 4edfdcd2-67e6-41db-a1ae-b98d47a70266 +# username: system +# password: zcloud88888 +# http: false +# port: 4443 #生产环境 host: 192.168.42.194 diff --git a/start/src/main/resources/prod-sdk.yml b/start/src/main/resources/prod-sdk.yml index 62b5d4c..e3ff5cd 100644 --- a/start/src/main/resources/prod-sdk.yml +++ b/start/src/main/resources/prod-sdk.yml @@ -82,3 +82,6 @@ message: closedAreaApplyReceiveCarAuditReject: MS000159 closedAreaPersonReceiveAudit: MS000160 closedAreaPersonReceiveAuditReject: MS000161 +file: + upload: + url: http://192.168.192.201:8992/file/uploadFiles2/ diff --git a/start/src/main/resources/sdk.yml b/start/src/main/resources/sdk.yml index 1a00c01..e9e04d6 100644 --- a/start/src/main/resources/sdk.yml +++ b/start/src/main/resources/sdk.yml @@ -83,3 +83,6 @@ message: closedAreaApplyReceiveCarAuditReject: MS000159 closedAreaPersonReceiveAudit: MS000160 closedAreaPersonReceiveAuditReject: MS000161 +file: + upload: + url: https://jpfz.qhdsafety.com/gbsFileTest/file/uploadFiles2/ \ No newline at end of file diff --git a/web-adapter/src/main/java/com/zcloud/primeport/web/DashboardController.java b/web-adapter/src/main/java/com/zcloud/primeport/web/DashboardController.java index 53a7f93..bc409a3 100644 --- a/web-adapter/src/main/java/com/zcloud/primeport/web/DashboardController.java +++ b/web-adapter/src/main/java/com/zcloud/primeport/web/DashboardController.java @@ -13,6 +13,7 @@ import com.zcloud.primeport.dto.clientobject.DashboardRecordStatCO; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import lombok.AllArgsConstructor; +import org.springframework.validation.annotation.Validated; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RequestMapping; @@ -36,9 +37,10 @@ public class DashboardController { return dashboardService.mkmjRecord(cmd); } - @ApiOperation("可视化大屏-口门进出记录") + @ApiOperation("可视化大屏-一级口门进出记录") @PostMapping("/accessRecord") - public PageResponse accessRecord(@RequestBody DashboardAccessRecordPageQry qry) { + public PageResponse accessRecord( + @Validated @RequestBody DashboardAccessRecordPageQry qry) { return dashboardService.accessRecord(qry); } diff --git a/web-app/src/main/java/com/zcloud/primeport/command/DaHuaPersonSyncExe.java b/web-app/src/main/java/com/zcloud/primeport/command/DaHuaPersonSyncExe.java index 5e6b72c..e1a3ea6 100644 --- a/web-app/src/main/java/com/zcloud/primeport/command/DaHuaPersonSyncExe.java +++ b/web-app/src/main/java/com/zcloud/primeport/command/DaHuaPersonSyncExe.java @@ -33,7 +33,7 @@ public class DaHuaPersonSyncExe { private final DaHuaGateway daHuaGateway; private final PersonApplyGateway personApplyGateway; - @Value("${file.url:}") + @Value("${file.upload.url:}") private String fileUrl; /** @@ -185,4 +185,4 @@ public class DaHuaPersonSyncExe { throw new BizException(message + (errorMessage == null ? "" : ": " + errorMessage)); } } -} \ No newline at end of file +} diff --git a/web-app/src/main/java/com/zcloud/primeport/command/query/DashboardQueryExe.java b/web-app/src/main/java/com/zcloud/primeport/command/query/DashboardQueryExe.java index 854d64a..f6f566e 100644 --- a/web-app/src/main/java/com/zcloud/primeport/command/query/DashboardQueryExe.java +++ b/web-app/src/main/java/com/zcloud/primeport/command/query/DashboardQueryExe.java @@ -16,6 +16,7 @@ import com.zcloud.primeport.persistence.dataobject.DashboardMkmjRecordDO; import com.zcloud.primeport.persistence.repository.ClosedAreaCarApplyRepository; import com.zcloud.primeport.persistence.repository.ClosedAreaPersonApplyRepository; import com.zcloud.primeport.persistence.repository.DaHuaAccessRecordRepository; +import com.zcloud.primeport.persistence.repository.DaHuaVehicleAccessRecordRepository; import com.zcloud.primeport.persistence.repository.MkmjRepository; import com.zcloud.primeport.persistence.repository.PersonApplyRepository; import com.zcloud.primeport.persistence.repository.VehicleApplyRepository; @@ -37,6 +38,7 @@ public class DashboardQueryExe { private final ClosedAreaCarApplyRepository closedAreaCarApplyRepository; private final MkmjRepository mkmjRepository; private final DaHuaAccessRecordRepository daHuaAccessRecordRepository; + private final DaHuaVehicleAccessRecordRepository daHuaVehicleAccessRecordRepository; public SingleResponse recordStat(DashboardRecordStatCmd cmd) { Map params = new HashMap<>(); @@ -75,7 +77,14 @@ public class DashboardQueryExe { public PageResponse accessRecord(DashboardAccessRecordPageQry qry) { Map params = PageQueryHelper.toHashMap(qry); - PageResponse page = daHuaAccessRecordRepository.pageDashboardRecord(params); + PageResponse page; + if (Integer.valueOf(1).equals(qry.getRecordType())) { + page = daHuaAccessRecordRepository.pageDashboardRecords(params); + } else if (Integer.valueOf(2).equals(qry.getRecordType())) { + page = daHuaVehicleAccessRecordRepository.pageDashboardRecords(params); + } else { + throw new IllegalArgumentException("记录类型只能为1或2"); + } List result = new ArrayList<>(); for (DashboardAccessRecordDO data : page.getData()) { DashboardAccessRecordCO co = new DashboardAccessRecordCO(); diff --git a/web-client/src/main/java/com/zcloud/primeport/dto/DashboardAccessRecordPageQry.java b/web-client/src/main/java/com/zcloud/primeport/dto/DashboardAccessRecordPageQry.java index 31bd063..4c9bf8b 100644 --- a/web-client/src/main/java/com/zcloud/primeport/dto/DashboardAccessRecordPageQry.java +++ b/web-client/src/main/java/com/zcloud/primeport/dto/DashboardAccessRecordPageQry.java @@ -5,9 +5,22 @@ import io.swagger.annotations.ApiModelProperty; import lombok.Data; import lombok.EqualsAndHashCode; +import javax.validation.constraints.Max; +import javax.validation.constraints.Min; +import javax.validation.constraints.NotNull; + @Data @EqualsAndHashCode(callSuper = false) public class DashboardAccessRecordPageQry extends PageQuery { @ApiModelProperty(value = "企业id", name = "corpinfoId") private Long corpinfoId; + + @ApiModelProperty(value = "港区,1:秦皇岛港区,2:秦皇岛东,3:秦皇岛西", name = "portArea") + private Integer portArea; + + @NotNull(message = "记录类型不能为空") + @Min(value = 1, message = "记录类型只能为1或2") + @Max(value = 2, message = "记录类型只能为1或2") + @ApiModelProperty(value = "记录类型,1:人员,2:车辆", name = "recordType", required = true) + private Integer recordType; } diff --git a/web-client/src/main/java/com/zcloud/primeport/dto/clientobject/DashboardAccessRecordCO.java b/web-client/src/main/java/com/zcloud/primeport/dto/clientobject/DashboardAccessRecordCO.java index 03000e4..26e4c55 100644 --- a/web-client/src/main/java/com/zcloud/primeport/dto/clientobject/DashboardAccessRecordCO.java +++ b/web-client/src/main/java/com/zcloud/primeport/dto/clientobject/DashboardAccessRecordCO.java @@ -14,16 +14,19 @@ public class DashboardAccessRecordCO extends ClientObject { @ApiModelProperty(value = "主键id") private Long id; + @ApiModelProperty(value = "记录类型,1-人员,2-车辆") + private Integer recordType; + @ApiModelProperty(value = "大华通行记录id") private String dahuaRecordId; - @ApiModelProperty(value = "通行人员所属企业id") + @ApiModelProperty(value = "通行主体所属企业id") private Long corpId; - @ApiModelProperty(value = "通行人员所属企业名称") + @ApiModelProperty(value = "通行主体所属企业名称") private String corpName; - @ApiModelProperty(value = "通行人员所属企业港区") + @ApiModelProperty(value = "通行主体所属企业港区") private Integer portArea; @ApiModelProperty(value = "门禁设备所属企业id") @@ -86,6 +89,21 @@ public class DashboardAccessRecordCO extends ClientObject { @ApiModelProperty(value = "人员姓名") private String personName; + @ApiModelProperty(value = "停车场编码") + private String parkingLotCode; + + @ApiModelProperty(value = "停车场名称") + private String parkingLotName; + + @ApiModelProperty(value = "车辆类型编码") + private Integer carType; + + @ApiModelProperty(value = "车辆类型名称") + private String carTypeName; + + @ApiModelProperty(value = "车牌号") + private String carNum; + @ApiModelProperty(value = "证件号码") private String paperNumber; diff --git a/web-infrastructure/src/main/java/com/zcloud/primeport/persistence/dataobject/DashboardAccessRecordDO.java b/web-infrastructure/src/main/java/com/zcloud/primeport/persistence/dataobject/DashboardAccessRecordDO.java index cc807f3..5b4faaf 100644 --- a/web-infrastructure/src/main/java/com/zcloud/primeport/persistence/dataobject/DashboardAccessRecordDO.java +++ b/web-infrastructure/src/main/java/com/zcloud/primeport/persistence/dataobject/DashboardAccessRecordDO.java @@ -6,9 +6,15 @@ import lombok.EqualsAndHashCode; @Data @EqualsAndHashCode(callSuper = true) public class DashboardAccessRecordDO extends DaHuaAccessRecordDO { + private Integer recordType; private String mkmjName; private String passageName; private String passageType; private String passageTypeName; private String gateName; + private String parkingLotCode; + private String parkingLotName; + private Integer carType; + private String carTypeName; + private String carNum; } diff --git a/web-infrastructure/src/main/java/com/zcloud/primeport/persistence/mapper/DaHuaAccessRecordMapper.java b/web-infrastructure/src/main/java/com/zcloud/primeport/persistence/mapper/DaHuaAccessRecordMapper.java index 210bf63..be96af8 100644 --- a/web-infrastructure/src/main/java/com/zcloud/primeport/persistence/mapper/DaHuaAccessRecordMapper.java +++ b/web-infrastructure/src/main/java/com/zcloud/primeport/persistence/mapper/DaHuaAccessRecordMapper.java @@ -19,6 +19,6 @@ public interface DaHuaAccessRecordMapper extends BaseMapper DashboardAccessStatDO countDashboardRecord(@Param("params") Map params); - IPage pageDashboardRecord(Page> page, - @Param("params") Map params); + IPage pageDashboardRecords( + Page> page, @Param("params") Map params); } diff --git a/web-infrastructure/src/main/java/com/zcloud/primeport/persistence/mapper/DaHuaVehicleAccessRecordMapper.java b/web-infrastructure/src/main/java/com/zcloud/primeport/persistence/mapper/DaHuaVehicleAccessRecordMapper.java index 83574ec..8591d2c 100644 --- a/web-infrastructure/src/main/java/com/zcloud/primeport/persistence/mapper/DaHuaVehicleAccessRecordMapper.java +++ b/web-infrastructure/src/main/java/com/zcloud/primeport/persistence/mapper/DaHuaVehicleAccessRecordMapper.java @@ -1,11 +1,15 @@ package com.zcloud.primeport.persistence.mapper; import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.zcloud.primeport.persistence.dataobject.DaHuaVehicleAccessRecordDO; +import com.zcloud.primeport.persistence.dataobject.DashboardAccessRecordDO; import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Param; import java.time.LocalDateTime; +import java.util.Map; @Mapper public interface DaHuaVehicleAccessRecordMapper extends BaseMapper { @@ -15,4 +19,7 @@ public interface DaHuaVehicleAccessRecordMapper extends BaseMapper pageDashboardRecords( + Page> page, @Param("params") Map params); } diff --git a/web-infrastructure/src/main/java/com/zcloud/primeport/persistence/repository/DaHuaAccessRecordRepository.java b/web-infrastructure/src/main/java/com/zcloud/primeport/persistence/repository/DaHuaAccessRecordRepository.java index c74ccd5..352c76d 100644 --- a/web-infrastructure/src/main/java/com/zcloud/primeport/persistence/repository/DaHuaAccessRecordRepository.java +++ b/web-infrastructure/src/main/java/com/zcloud/primeport/persistence/repository/DaHuaAccessRecordRepository.java @@ -15,5 +15,5 @@ public interface DaHuaAccessRecordRepository extends BaseRepository params); - PageResponse pageDashboardRecord(Map params); + PageResponse pageDashboardRecords(Map params); } diff --git a/web-infrastructure/src/main/java/com/zcloud/primeport/persistence/repository/DaHuaVehicleAccessRecordRepository.java b/web-infrastructure/src/main/java/com/zcloud/primeport/persistence/repository/DaHuaVehicleAccessRecordRepository.java index cc460ab..c96b824 100644 --- a/web-infrastructure/src/main/java/com/zcloud/primeport/persistence/repository/DaHuaVehicleAccessRecordRepository.java +++ b/web-infrastructure/src/main/java/com/zcloud/primeport/persistence/repository/DaHuaVehicleAccessRecordRepository.java @@ -1,9 +1,12 @@ package com.zcloud.primeport.persistence.repository; +import com.alibaba.cola.dto.PageResponse; import com.jjb.saas.framework.repository.repo.BaseRepository; import com.zcloud.primeport.persistence.dataobject.DaHuaVehicleAccessRecordDO; +import com.zcloud.primeport.persistence.dataobject.DashboardAccessRecordDO; import java.time.LocalDateTime; +import java.util.Map; public interface DaHuaVehicleAccessRecordRepository extends BaseRepository { @@ -12,4 +15,6 @@ public interface DaHuaVehicleAccessRecordRepository extends BaseRepository pageDashboardRecords(Map params); } diff --git a/web-infrastructure/src/main/java/com/zcloud/primeport/persistence/repository/impl/DaHuaAccessRecordRepositoryImpl.java b/web-infrastructure/src/main/java/com/zcloud/primeport/persistence/repository/impl/DaHuaAccessRecordRepositoryImpl.java index 2e8ca05..25154a4 100644 --- a/web-infrastructure/src/main/java/com/zcloud/primeport/persistence/repository/impl/DaHuaAccessRecordRepositoryImpl.java +++ b/web-infrastructure/src/main/java/com/zcloud/primeport/persistence/repository/impl/DaHuaAccessRecordRepositoryImpl.java @@ -32,11 +32,12 @@ public class DaHuaAccessRecordRepositoryImpl @Override @SuppressWarnings("unchecked") - public PageResponse pageDashboardRecord(Map params) { - Page> page = new Page<>(Integer.parseInt(params.get("pageIndex").toString()), + public PageResponse pageDashboardRecords(Map params) { + Page> page = new Page<>( + Integer.parseInt(params.get("pageIndex").toString()), Integer.parseInt(params.get("pageSize").toString())); page.setOptimizeJoinOfCountSql(false); - IPage result = baseMapper.pageDashboardRecord(page, params); + IPage result = baseMapper.pageDashboardRecords(page, params); return PageHelper.pageToResponse(result, result.getRecords()); } } diff --git a/web-infrastructure/src/main/java/com/zcloud/primeport/persistence/repository/impl/DaHuaVehicleAccessRecordRepositoryImpl.java b/web-infrastructure/src/main/java/com/zcloud/primeport/persistence/repository/impl/DaHuaVehicleAccessRecordRepositoryImpl.java index 042809c..16db71a 100644 --- a/web-infrastructure/src/main/java/com/zcloud/primeport/persistence/repository/impl/DaHuaVehicleAccessRecordRepositoryImpl.java +++ b/web-infrastructure/src/main/java/com/zcloud/primeport/persistence/repository/impl/DaHuaVehicleAccessRecordRepositoryImpl.java @@ -1,12 +1,18 @@ package com.zcloud.primeport.persistence.repository.impl; +import com.alibaba.cola.dto.PageResponse; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.jjb.saas.framework.repository.common.PageHelper; import com.jjb.saas.framework.repository.repo.impl.BaseRepositoryImpl; import com.zcloud.primeport.persistence.dataobject.DaHuaVehicleAccessRecordDO; +import com.zcloud.primeport.persistence.dataobject.DashboardAccessRecordDO; import com.zcloud.primeport.persistence.mapper.DaHuaVehicleAccessRecordMapper; import com.zcloud.primeport.persistence.repository.DaHuaVehicleAccessRecordRepository; import org.springframework.stereotype.Repository; import java.time.LocalDateTime; +import java.util.Map; @Repository public class DaHuaVehicleAccessRecordRepositoryImpl @@ -27,4 +33,15 @@ public class DaHuaVehicleAccessRecordRepositoryImpl public void upsert(DaHuaVehicleAccessRecordDO record) { baseMapper.upsert(record); } + + @Override + @SuppressWarnings("unchecked") + public PageResponse pageDashboardRecords(Map params) { + Page> page = new Page<>( + Integer.parseInt(params.get("pageIndex").toString()), + Integer.parseInt(params.get("pageSize").toString())); + page.setOptimizeJoinOfCountSql(false); + IPage result = baseMapper.pageDashboardRecords(page, params); + return PageHelper.pageToResponse(result, result.getRecords()); + } } diff --git a/web-infrastructure/src/main/resources/mapper/DaHuaAccessRecordMapper.xml b/web-infrastructure/src/main/resources/mapper/DaHuaAccessRecordMapper.xml index fc94cbc..5725e2b 100644 --- a/web-infrastructure/src/main/resources/mapper/DaHuaAccessRecordMapper.xml +++ b/web-infrastructure/src/main/resources/mapper/DaHuaAccessRecordMapper.xml @@ -46,13 +46,30 @@ - SELECT r.id, + 1 AS record_type, r.dahua_record_id, r.corp_id, r.corp_name, - r.port_area, + COALESCE(r.port_area, ci.port_area) AS port_area, r.device_corp_id, r.device_corp_name, r.device_port_area, @@ -89,15 +106,7 @@ r.current_temperature, r.source_type, r.remark - FROM dahua_access_record r - INNER JOIN mkmj m ON r.mkmj_id = m.id AND m.delete_enum = 'FALSE' - INNER JOIN mkmj_passage p ON r.passage_id = p.id AND p.delete_enum = 'FALSE' - LEFT JOIN mkmj_gate g ON r.gate_id = g.id AND g.delete_enum = 'FALSE' - WHERE r.delete_enum = 'FALSE' - AND p.passage_type IN ('HGKM_MKMJ_PASSAGE_TYPE_CAR_R', 'HGKM_MKMJ_PASSAGE_TYPE_CAR') - - AND m.mkmj_area_jurisdictional_corp_id = #{params.corpinfoId} - + ORDER BY r.swing_time DESC, r.id DESC diff --git a/web-infrastructure/src/main/resources/mapper/DaHuaVehicleAccessRecordMapper.xml b/web-infrastructure/src/main/resources/mapper/DaHuaVehicleAccessRecordMapper.xml index a46a1e3..c15616f 100644 --- a/web-infrastructure/src/main/resources/mapper/DaHuaVehicleAccessRecordMapper.xml +++ b/web-infrastructure/src/main/resources/mapper/DaHuaVehicleAccessRecordMapper.xml @@ -72,4 +72,66 @@ update_time = VALUES(update_time) + + FROM dahua_vehicle_access_record r + LEFT JOIN corp_info ci ON r.corp_id = ci.id AND ci.delete_enum = 'FALSE' + WHERE r.delete_enum = 'FALSE' + + AND r.corp_id = #{params.corpinfoId} + + + AND ci.port_area = #{params.portArea} + + + + +