From 39a820d568a81cd0365edfea33a32813d156a7d1 Mon Sep 17 00:00:00 2001 From: fangjiakai <450850793@qq.com> Date: Tue, 18 Nov 2025 10:01:07 +0800 Subject: [PATCH] =?UTF-8?q?feat(web):=20=E6=96=B0=E5=A2=9E=E8=BD=A6?= =?UTF-8?q?=E8=BE=86=E5=92=8C=E5=88=B7=E5=8D=A1=E8=AE=B0=E5=BD=95=E7=BB=9F?= =?UTF-8?q?=E8=AE=A1=E5=8A=9F=E8=83=BD-=20=E5=9C=A8=20MkmjAreaController?= =?UTF-8?q?=20=E5=92=8C=20MkmjPassageController=20=E4=B8=AD=E6=B7=BB?= =?UTF-8?q?=E5=8A=A0=20statistics=20=E6=8E=A5=E5=8F=A3=20-=20=E6=96=B0?= =?UTF-8?q?=E5=A2=9E=20MkmjCarRecordController=20=E5=92=8C=20MkmjSwipeCard?= =?UTF-8?q?RecordController=20=E6=8E=A7=E5=88=B6=E5=99=A8-=20=E5=AE=9E?= =?UTF-8?q?=E7=8E=B0=E8=BD=A6=E8=BE=86=E5=92=8C=E4=BA=BA=E5=91=98=E8=BF=9B?= =?UTF-8?q?=E5=87=BA=E7=BB=9F=E8=AE=A1=E6=95=B0=E6=8D=AE=E7=9A=84=E6=9F=A5?= =?UTF-8?q?=E8=AF=A2=E9=80=BB=E8=BE=91-=20=E6=B7=BB=E5=8A=A0=E7=9B=B8?= =?UTF-8?q?=E5=85=B3=E7=9A=84=20DTO=E3=80=81CO=20=E8=BD=AC=E6=8D=A2?= =?UTF-8?q?=E5=99=A8=E5=8F=8A=E6=9C=8D=E5=8A=A1=E5=AE=9E=E7=8E=B0=E7=B1=BB?= =?UTF-8?q?=20-=20=E6=94=AF=E6=8C=81=E9=80=9A=E8=BF=87=E5=8C=BA=E5=9F=9F?= =?UTF-8?q?=E6=88=96=E9=80=9A=E9=81=93=20ID=20=E6=9F=A5=E8=AF=A2=E7=BB=9F?= =?UTF-8?q?=E8=AE=A1=E4=BF=A1=E6=81=AF=20-=20=E6=8F=90=E4=BE=9B=E8=BD=A6?= =?UTF-8?q?=E8=BE=86=E5=92=8C=E4=BA=BA=E5=91=98=E5=87=BA=E5=85=A5=E6=95=B0?= =?UTF-8?q?=E9=87=8F=E7=9A=84=E8=81=9A=E5=90=88=E5=B1=95=E7=A4=BA=E6=8E=A5?= =?UTF-8?q?=E5=8F=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../primeport/web/MkmjAreaController.java | 9 + .../web/MkmjCarRecordController.java | 82 +++++++ .../primeport/web/MkmjPassageController.java | 13 ++ .../web/MkmjSwipeCardRecordController.java | 82 +++++++ .../command/MkmjCarRecordAddExe.java | 40 ++++ .../command/MkmjCarRecordRemoveExe.java | 39 ++++ .../command/MkmjCarRecordUpdateExe.java | 34 +++ .../command/MkmjSwipeCardRecordAddExe.java | 40 ++++ .../command/MkmjSwipeCardRecordRemoveExe.java | 39 ++++ .../command/MkmjSwipeCardRecordUpdateExe.java | 34 +++ .../convertor/MkmjCarRecordCoConvertor.java | 26 +++ .../MkmjSwipeCardRecordCoConvertor.java | 26 +++ .../command/query/MkmjAreaQueryExe.java | 42 +++- .../command/query/MkmjCarRecordQueryExe.java | 52 +++++ .../command/query/MkmjPassageQueryExe.java | 49 ++++- .../query/MkmjSwipeCardRecordQueryExe.java | 52 +++++ .../service/MkmjAreaServiceImpl.java | 8 + .../service/MkmjCarRecordServiceImpl.java | 64 ++++++ .../service/MkmjPassageServiceImpl.java | 13 +- .../MkmjSwipeCardRecordServiceImpl.java | 64 ++++++ .../primeport/api/MkmjAreaServiceI.java | 5 + .../primeport/api/MkmjCarRecordServiceI.java | 29 +++ .../primeport/api/MkmjPassageServiceI.java | 8 + .../api/MkmjSwipeCardRecordServiceI.java | 29 +++ .../primeport/dto/MkmjCarRecordAddCmd.java | 124 +++++++++++ .../primeport/dto/MkmjCarRecordPageQry.java | 28 +++ .../primeport/dto/MkmjCarRecordUpdateCmd.java | 103 +++++++++ .../dto/MkmjSwipeCardRecordAddCmd.java | 205 ++++++++++++++++++ .../dto/MkmjSwipeCardRecordPageQry.java | 28 +++ .../dto/MkmjSwipeCardRecordUpdateCmd.java | 163 ++++++++++++++ .../primeport/dto/StatisticsByAreaCmd.java | 4 +- .../dto/clientobject/MkmjCarRecordCO.java | 126 +++++++++++ .../clientobject/MkmjSwipeCardRecordCO.java | 189 ++++++++++++++++ .../domain/gateway/MkmjCarRecordGateway.java | 30 +++ .../gateway/MkmjSwipeCardRecordGateway.java | 30 +++ .../domain/model/MkmjCarRecordE.java | 63 ++++++ .../domain/model/MkmjStatisticsE.java | 5 +- .../domain/model/MkmjSwipeCardRecordE.java | 105 +++++++++ .../gatewayimpl/MkmjCarRecordGatewayImpl.java | 52 +++++ .../gatewayimpl/MkmjGateVideoGatewayImpl.java | 4 +- .../MkmjSwipeCardRecordGatewayImpl.java | 52 +++++ .../dataobject/MkmjCarRecordDO.java | 94 ++++++++ .../dataobject/MkmjSwipeCardRecordDO.java | 159 ++++++++++++++ .../mapper/MkmjCarRecordMapper.java | 23 ++ .../mapper/MkmjSwipeCardRecordMapper.java | 23 ++ .../repository/MkmjCarRecordRepository.java | 25 +++ .../MkmjSwipeCardRecordRepository.java | 25 +++ .../impl/MkmjCarRecordRepositoryImpl.java | 51 +++++ .../MkmjSwipeCardRecordRepositoryImpl.java | 50 +++++ .../resources/mapper/MkmjCarRecordMapper.xml | 66 ++++++ .../mapper/MkmjSwipeCardRecordMapper.xml | 33 +++ 51 files changed, 2730 insertions(+), 9 deletions(-) create mode 100644 web-adapter/src/main/java/com/zcloud/primeport/web/MkmjCarRecordController.java create mode 100644 web-adapter/src/main/java/com/zcloud/primeport/web/MkmjSwipeCardRecordController.java create mode 100644 web-app/src/main/java/com/zcloud/primeport/command/MkmjCarRecordAddExe.java create mode 100644 web-app/src/main/java/com/zcloud/primeport/command/MkmjCarRecordRemoveExe.java create mode 100644 web-app/src/main/java/com/zcloud/primeport/command/MkmjCarRecordUpdateExe.java create mode 100644 web-app/src/main/java/com/zcloud/primeport/command/MkmjSwipeCardRecordAddExe.java create mode 100644 web-app/src/main/java/com/zcloud/primeport/command/MkmjSwipeCardRecordRemoveExe.java create mode 100644 web-app/src/main/java/com/zcloud/primeport/command/MkmjSwipeCardRecordUpdateExe.java create mode 100644 web-app/src/main/java/com/zcloud/primeport/command/convertor/MkmjCarRecordCoConvertor.java create mode 100644 web-app/src/main/java/com/zcloud/primeport/command/convertor/MkmjSwipeCardRecordCoConvertor.java create mode 100644 web-app/src/main/java/com/zcloud/primeport/command/query/MkmjCarRecordQueryExe.java create mode 100644 web-app/src/main/java/com/zcloud/primeport/command/query/MkmjSwipeCardRecordQueryExe.java create mode 100644 web-app/src/main/java/com/zcloud/primeport/service/MkmjCarRecordServiceImpl.java create mode 100644 web-app/src/main/java/com/zcloud/primeport/service/MkmjSwipeCardRecordServiceImpl.java create mode 100644 web-client/src/main/java/com/zcloud/primeport/api/MkmjCarRecordServiceI.java create mode 100644 web-client/src/main/java/com/zcloud/primeport/api/MkmjSwipeCardRecordServiceI.java create mode 100644 web-client/src/main/java/com/zcloud/primeport/dto/MkmjCarRecordAddCmd.java create mode 100644 web-client/src/main/java/com/zcloud/primeport/dto/MkmjCarRecordPageQry.java create mode 100644 web-client/src/main/java/com/zcloud/primeport/dto/MkmjCarRecordUpdateCmd.java create mode 100644 web-client/src/main/java/com/zcloud/primeport/dto/MkmjSwipeCardRecordAddCmd.java create mode 100644 web-client/src/main/java/com/zcloud/primeport/dto/MkmjSwipeCardRecordPageQry.java create mode 100644 web-client/src/main/java/com/zcloud/primeport/dto/MkmjSwipeCardRecordUpdateCmd.java create mode 100644 web-client/src/main/java/com/zcloud/primeport/dto/clientobject/MkmjCarRecordCO.java create mode 100644 web-client/src/main/java/com/zcloud/primeport/dto/clientobject/MkmjSwipeCardRecordCO.java create mode 100644 web-domain/src/main/java/com/zcloud/primeport/domain/gateway/MkmjCarRecordGateway.java create mode 100644 web-domain/src/main/java/com/zcloud/primeport/domain/gateway/MkmjSwipeCardRecordGateway.java create mode 100644 web-domain/src/main/java/com/zcloud/primeport/domain/model/MkmjCarRecordE.java create mode 100644 web-domain/src/main/java/com/zcloud/primeport/domain/model/MkmjSwipeCardRecordE.java create mode 100644 web-infrastructure/src/main/java/com/zcloud/primeport/gatewayimpl/MkmjCarRecordGatewayImpl.java create mode 100644 web-infrastructure/src/main/java/com/zcloud/primeport/gatewayimpl/MkmjSwipeCardRecordGatewayImpl.java create mode 100644 web-infrastructure/src/main/java/com/zcloud/primeport/persistence/dataobject/MkmjCarRecordDO.java create mode 100644 web-infrastructure/src/main/java/com/zcloud/primeport/persistence/dataobject/MkmjSwipeCardRecordDO.java create mode 100644 web-infrastructure/src/main/java/com/zcloud/primeport/persistence/mapper/MkmjCarRecordMapper.java create mode 100644 web-infrastructure/src/main/java/com/zcloud/primeport/persistence/mapper/MkmjSwipeCardRecordMapper.java create mode 100644 web-infrastructure/src/main/java/com/zcloud/primeport/persistence/repository/MkmjCarRecordRepository.java create mode 100644 web-infrastructure/src/main/java/com/zcloud/primeport/persistence/repository/MkmjSwipeCardRecordRepository.java create mode 100644 web-infrastructure/src/main/java/com/zcloud/primeport/persistence/repository/impl/MkmjCarRecordRepositoryImpl.java create mode 100644 web-infrastructure/src/main/java/com/zcloud/primeport/persistence/repository/impl/MkmjSwipeCardRecordRepositoryImpl.java create mode 100644 web-infrastructure/src/main/resources/mapper/MkmjCarRecordMapper.xml create mode 100644 web-infrastructure/src/main/resources/mapper/MkmjSwipeCardRecordMapper.xml diff --git a/web-adapter/src/main/java/com/zcloud/primeport/web/MkmjAreaController.java b/web-adapter/src/main/java/com/zcloud/primeport/web/MkmjAreaController.java index fefc96c..b2fca6c 100644 --- a/web-adapter/src/main/java/com/zcloud/primeport/web/MkmjAreaController.java +++ b/web-adapter/src/main/java/com/zcloud/primeport/web/MkmjAreaController.java @@ -2,9 +2,11 @@ package com.zcloud.primeport.web; import com.zcloud.primeport.api.MkmjAreaServiceI; +import com.zcloud.primeport.domain.model.MkmjStatisticsE; import com.zcloud.primeport.dto.MkmjAreaAddCmd; import com.zcloud.primeport.dto.MkmjAreaPageQry; import com.zcloud.primeport.dto.MkmjAreaUpdateCmd; +import com.zcloud.primeport.dto.StatisticsByAreaCmd; import com.zcloud.primeport.dto.clientobject.MkmjAreaCO; import com.alibaba.cola.dto.MultiResponse; import com.alibaba.cola.dto.PageResponse; @@ -12,6 +14,7 @@ import com.alibaba.cola.dto.Response; import com.alibaba.cola.dto.SingleResponse; import com.jjb.saas.framework.auth.model.SSOUser; import com.jjb.saas.framework.auth.utils.AuthContext; +import com.zcloud.primeport.dto.clientobject.MkmjStatisticsCO; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import lombok.AllArgsConstructor; @@ -78,5 +81,11 @@ public class MkmjAreaController { mkmjAreaService.edit(mkmjAreaUpdateCmd); return SingleResponse.buildSuccess(); } + + @ApiOperation("统计") + @PostMapping("/statistics") + public MultiResponse statistics(@RequestBody StatisticsByAreaCmd qry) { + return MultiResponse.of(mkmjAreaService.statistics(qry.getIds())); + } } diff --git a/web-adapter/src/main/java/com/zcloud/primeport/web/MkmjCarRecordController.java b/web-adapter/src/main/java/com/zcloud/primeport/web/MkmjCarRecordController.java new file mode 100644 index 0000000..f62b306 --- /dev/null +++ b/web-adapter/src/main/java/com/zcloud/primeport/web/MkmjCarRecordController.java @@ -0,0 +1,82 @@ +package com.zcloud.primeport.web; + + +import com.alibaba.cola.dto.MultiResponse; +import com.alibaba.cola.dto.PageResponse; +import com.alibaba.cola.dto.Response; +import com.alibaba.cola.dto.SingleResponse; +import com.jjb.saas.framework.auth.model.SSOUser; +import com.jjb.saas.framework.auth.utils.AuthContext; +import com.zcloud.primeport.api.MkmjCarRecordServiceI; +import com.zcloud.primeport.dto.MkmjCarRecordAddCmd; +import com.zcloud.primeport.dto.MkmjCarRecordPageQry; +import com.zcloud.primeport.dto.MkmjCarRecordUpdateCmd; +import com.zcloud.primeport.dto.clientobject.MkmjCarRecordCO; +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.*; + +import java.util.ArrayList; + +/** + * web-adapter + * + * @Author fangjiakai + * @Date 2025-11-17 13:42:09 + */ +@Api(tags = "车辆进出港记录") +@RequestMapping("/${application.gateway}/mkmjCarRecord") +@RestController +@AllArgsConstructor +public class MkmjCarRecordController { + private final MkmjCarRecordServiceI mkmjCarRecordService; + + @ApiOperation("新增") + @PostMapping("/save") + public SingleResponse add(@Validated @RequestBody MkmjCarRecordAddCmd cmd) { + SSOUser ssoUser = AuthContext.getCurrentUser(); + return mkmjCarRecordService.add(cmd); + } + + @ApiOperation("分页") + @PostMapping("/list") + public PageResponse page(@RequestBody MkmjCarRecordPageQry qry) { + return mkmjCarRecordService.listPage(qry); + } + + @ApiOperation("所有数据") + @GetMapping("/listAll") + public MultiResponse listAll() { + return MultiResponse.of(new ArrayList()); + } + + @ApiOperation("详情") + @GetMapping("/{id}") + public SingleResponse getInfoById(@PathVariable("id") Long id) { + return SingleResponse.of(mkmjCarRecordService.queryById(id)); + } + + @ApiOperation("删除") + @DeleteMapping("/{id}") + public Response remove(@PathVariable("id") Long id) { + mkmjCarRecordService.remove(id); + return SingleResponse.buildSuccess(); + } + + @ApiOperation("删除多个") + @DeleteMapping("/ids") + public Response removeBatch(@RequestParam Long[] ids) { + mkmjCarRecordService.removeBatch(ids); + return SingleResponse.buildSuccess(); + } + + @ApiOperation("修改") + @PutMapping("/edit") + public SingleResponse edit(@Validated @RequestBody MkmjCarRecordUpdateCmd mkmjCarRecordUpdateCmd) { + mkmjCarRecordService.edit(mkmjCarRecordUpdateCmd); + return SingleResponse.buildSuccess(); + } +} + diff --git a/web-adapter/src/main/java/com/zcloud/primeport/web/MkmjPassageController.java b/web-adapter/src/main/java/com/zcloud/primeport/web/MkmjPassageController.java index 8cb10c0..a164eaf 100644 --- a/web-adapter/src/main/java/com/zcloud/primeport/web/MkmjPassageController.java +++ b/web-adapter/src/main/java/com/zcloud/primeport/web/MkmjPassageController.java @@ -5,6 +5,7 @@ import com.zcloud.primeport.api.MkmjPassageServiceI; import com.zcloud.primeport.dto.MkmjPassageAddCmd; import com.zcloud.primeport.dto.MkmjPassagePageQry; import com.zcloud.primeport.dto.MkmjPassageUpdateCmd; +import com.zcloud.primeport.dto.StatisticsByAreaCmd; import com.zcloud.primeport.dto.clientobject.MkmjPassageCO; import com.alibaba.cola.dto.MultiResponse; import com.alibaba.cola.dto.PageResponse; @@ -12,6 +13,7 @@ import com.alibaba.cola.dto.Response; import com.alibaba.cola.dto.SingleResponse; import com.jjb.saas.framework.auth.model.SSOUser; import com.jjb.saas.framework.auth.utils.AuthContext; +import com.zcloud.primeport.dto.clientobject.MkmjStatisticsCO; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import lombok.AllArgsConstructor; @@ -57,6 +59,11 @@ public class MkmjPassageController { public SingleResponse getInfoById(@PathVariable("id") Long id) { return SingleResponse.of(mkmjPassageService.queryById(id)); } + @ApiOperation("是否重名") + @GetMapping("/hasName/{name}") + public SingleResponse hasName(@PathVariable("name") String name) { + return SingleResponse.of(mkmjPassageService.queryByName(name)); + } @ApiOperation("删除") @DeleteMapping("/{id}") @@ -78,5 +85,11 @@ public class MkmjPassageController { mkmjPassageService.edit(mkmjPassageUpdateCmd); return SingleResponse.buildSuccess(); } + + @ApiOperation("统计") + @PostMapping("/statistics") + public MultiResponse statistics(@RequestBody StatisticsByAreaCmd qry) { + return MultiResponse.of(mkmjPassageService.statistics(qry.getIds())); + } } diff --git a/web-adapter/src/main/java/com/zcloud/primeport/web/MkmjSwipeCardRecordController.java b/web-adapter/src/main/java/com/zcloud/primeport/web/MkmjSwipeCardRecordController.java new file mode 100644 index 0000000..ba7baa8 --- /dev/null +++ b/web-adapter/src/main/java/com/zcloud/primeport/web/MkmjSwipeCardRecordController.java @@ -0,0 +1,82 @@ +package com.zcloud.primeport.web; + + +import com.alibaba.cola.dto.MultiResponse; +import com.alibaba.cola.dto.PageResponse; +import com.alibaba.cola.dto.Response; +import com.alibaba.cola.dto.SingleResponse; +import com.jjb.saas.framework.auth.model.SSOUser; +import com.jjb.saas.framework.auth.utils.AuthContext; +import com.zcloud.primeport.api.MkmjSwipeCardRecordServiceI; +import com.zcloud.primeport.dto.MkmjSwipeCardRecordAddCmd; +import com.zcloud.primeport.dto.MkmjSwipeCardRecordPageQry; +import com.zcloud.primeport.dto.MkmjSwipeCardRecordUpdateCmd; +import com.zcloud.primeport.dto.clientobject.MkmjSwipeCardRecordCO; +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.*; + +import java.util.ArrayList; + +/** + * web-adapter + * + * @Author fangjiakai + * @Date 2025-11-17 13:42:10 + */ +@Api(tags = "") +@RequestMapping("/${application.gateway}/mkmjSwipeCardRecord") +@RestController +@AllArgsConstructor +public class MkmjSwipeCardRecordController { + private final MkmjSwipeCardRecordServiceI mkmjSwipeCardRecordService; + + @ApiOperation("新增") + @PostMapping("/save") + public SingleResponse add(@Validated @RequestBody MkmjSwipeCardRecordAddCmd cmd) { + SSOUser ssoUser = AuthContext.getCurrentUser(); + return mkmjSwipeCardRecordService.add(cmd); + } + + @ApiOperation("分页") + @PostMapping("/list") + public PageResponse page(@RequestBody MkmjSwipeCardRecordPageQry qry) { + return mkmjSwipeCardRecordService.listPage(qry); + } + + @ApiOperation("所有数据") + @GetMapping("/listAll") + public MultiResponse listAll() { + return MultiResponse.of(new ArrayList()); + } + + @ApiOperation("详情") + @GetMapping("/{id}") + public SingleResponse getInfoById(@PathVariable("id") Long id) { + return SingleResponse.of(mkmjSwipeCardRecordService.queryById(id)); + } + + @ApiOperation("删除") + @DeleteMapping("/{id}") + public Response remove(@PathVariable("id") Long id) { + mkmjSwipeCardRecordService.remove(id); + return SingleResponse.buildSuccess(); + } + + @ApiOperation("删除多个") + @DeleteMapping("/ids") + public Response removeBatch(@RequestParam Long[] ids) { + mkmjSwipeCardRecordService.removeBatch(ids); + return SingleResponse.buildSuccess(); + } + + @ApiOperation("修改") + @PutMapping("/edit") + public SingleResponse edit(@Validated @RequestBody MkmjSwipeCardRecordUpdateCmd mkmjSwipeCardRecordUpdateCmd) { + mkmjSwipeCardRecordService.edit(mkmjSwipeCardRecordUpdateCmd); + return SingleResponse.buildSuccess(); + } +} + diff --git a/web-app/src/main/java/com/zcloud/primeport/command/MkmjCarRecordAddExe.java b/web-app/src/main/java/com/zcloud/primeport/command/MkmjCarRecordAddExe.java new file mode 100644 index 0000000..a60d3ce --- /dev/null +++ b/web-app/src/main/java/com/zcloud/primeport/command/MkmjCarRecordAddExe.java @@ -0,0 +1,40 @@ +package com.zcloud.primeport.command; + +import com.alibaba.cola.exception.BizException; +import com.zcloud.primeport.domain.gateway.MkmjCarRecordGateway; +import com.zcloud.primeport.domain.model.MkmjCarRecordE; +import com.zcloud.primeport.dto.MkmjCarRecordAddCmd; +import lombok.AllArgsConstructor; +import org.springframework.beans.BeanUtils; +import org.springframework.stereotype.Component; +import org.springframework.transaction.annotation.Transactional; + + +/** + * web-app + * + * @Author fangjiakai + * @Date 2025-11-17 13:42:09 + */ +@Component +@AllArgsConstructor +public class MkmjCarRecordAddExe { + private final MkmjCarRecordGateway mkmjCarRecordGateway; + + @Transactional(rollbackFor = Exception.class) + public boolean execute(MkmjCarRecordAddCmd cmd) { + MkmjCarRecordE mkmjCarRecordE = new MkmjCarRecordE(); + BeanUtils.copyProperties(cmd, mkmjCarRecordE); + boolean res = false; + try { + res = mkmjCarRecordGateway.add(mkmjCarRecordE); + } catch (Exception e) { + throw new RuntimeException(e); + } + if (!res) { + throw new BizException("保存失败"); + } + return true; + } +} + diff --git a/web-app/src/main/java/com/zcloud/primeport/command/MkmjCarRecordRemoveExe.java b/web-app/src/main/java/com/zcloud/primeport/command/MkmjCarRecordRemoveExe.java new file mode 100644 index 0000000..aaf3310 --- /dev/null +++ b/web-app/src/main/java/com/zcloud/primeport/command/MkmjCarRecordRemoveExe.java @@ -0,0 +1,39 @@ +package com.zcloud.primeport.command; + +import com.alibaba.cola.exception.BizException; +import com.zcloud.primeport.domain.gateway.MkmjCarRecordGateway; +import lombok.AllArgsConstructor; +import org.springframework.stereotype.Component; +import org.springframework.transaction.annotation.Transactional; + + +/** + * web-app + * + * @Author fangjiakai + * @Date 2025-11-17 13:42:09 + */ +@Component +@AllArgsConstructor +public class MkmjCarRecordRemoveExe { + private final MkmjCarRecordGateway mkmjCarRecordGateway; + + @Transactional(rollbackFor = Exception.class) + public boolean execute(Long id) { + boolean res = mkmjCarRecordGateway.deletedMkmjCarRecordById(id); + if (!res) { + throw new BizException("删除失败"); + } + return true; + } + + @Transactional(rollbackFor = Exception.class) + public boolean execute(Long[] ids) { + boolean res = mkmjCarRecordGateway.deletedMkmjCarRecordByIds(ids); + if (!res) { + throw new BizException("删除失败"); + } + return true; + } +} + diff --git a/web-app/src/main/java/com/zcloud/primeport/command/MkmjCarRecordUpdateExe.java b/web-app/src/main/java/com/zcloud/primeport/command/MkmjCarRecordUpdateExe.java new file mode 100644 index 0000000..9074bab --- /dev/null +++ b/web-app/src/main/java/com/zcloud/primeport/command/MkmjCarRecordUpdateExe.java @@ -0,0 +1,34 @@ +package com.zcloud.primeport.command; + +import com.alibaba.cola.exception.BizException; +import com.zcloud.primeport.domain.gateway.MkmjCarRecordGateway; +import com.zcloud.primeport.domain.model.MkmjCarRecordE; +import com.zcloud.primeport.dto.MkmjCarRecordUpdateCmd; +import lombok.AllArgsConstructor; +import org.springframework.beans.BeanUtils; +import org.springframework.stereotype.Component; +import org.springframework.transaction.annotation.Transactional; + + +/** + * web-app + * + * @Author fangjiakai + * @Date 2025-11-17 13:42:09 + */ +@Component +@AllArgsConstructor +public class MkmjCarRecordUpdateExe { + private final MkmjCarRecordGateway mkmjCarRecordGateway; + + @Transactional(rollbackFor = Exception.class) + public void execute(MkmjCarRecordUpdateCmd mkmjCarRecordUpdateCmd) { + MkmjCarRecordE mkmjCarRecordE = new MkmjCarRecordE(); + BeanUtils.copyProperties(mkmjCarRecordUpdateCmd, mkmjCarRecordE); + boolean res = mkmjCarRecordGateway.update(mkmjCarRecordE); + if (!res) { + throw new BizException("修改失败"); + } + } +} + diff --git a/web-app/src/main/java/com/zcloud/primeport/command/MkmjSwipeCardRecordAddExe.java b/web-app/src/main/java/com/zcloud/primeport/command/MkmjSwipeCardRecordAddExe.java new file mode 100644 index 0000000..070eaa3 --- /dev/null +++ b/web-app/src/main/java/com/zcloud/primeport/command/MkmjSwipeCardRecordAddExe.java @@ -0,0 +1,40 @@ +package com.zcloud.primeport.command; + +import com.alibaba.cola.exception.BizException; +import com.zcloud.primeport.domain.gateway.MkmjSwipeCardRecordGateway; +import com.zcloud.primeport.domain.model.MkmjSwipeCardRecordE; +import com.zcloud.primeport.dto.MkmjSwipeCardRecordAddCmd; +import lombok.AllArgsConstructor; +import org.springframework.beans.BeanUtils; +import org.springframework.stereotype.Component; +import org.springframework.transaction.annotation.Transactional; + + +/** + * web-app + * + * @Author fangjiakai + * @Date 2025-11-17 13:42:10 + */ +@Component +@AllArgsConstructor +public class MkmjSwipeCardRecordAddExe { + private final MkmjSwipeCardRecordGateway mkmjSwipeCardRecordGateway; + + @Transactional(rollbackFor = Exception.class) + public boolean execute(MkmjSwipeCardRecordAddCmd cmd) { + MkmjSwipeCardRecordE mkmjSwipeCardRecordE = new MkmjSwipeCardRecordE(); + BeanUtils.copyProperties(cmd, mkmjSwipeCardRecordE); + boolean res = false; + try { + res = mkmjSwipeCardRecordGateway.add(mkmjSwipeCardRecordE); + } catch (Exception e) { + throw new RuntimeException(e); + } + if (!res) { + throw new BizException("保存失败"); + } + return true; + } +} + diff --git a/web-app/src/main/java/com/zcloud/primeport/command/MkmjSwipeCardRecordRemoveExe.java b/web-app/src/main/java/com/zcloud/primeport/command/MkmjSwipeCardRecordRemoveExe.java new file mode 100644 index 0000000..f313e08 --- /dev/null +++ b/web-app/src/main/java/com/zcloud/primeport/command/MkmjSwipeCardRecordRemoveExe.java @@ -0,0 +1,39 @@ +package com.zcloud.primeport.command; + +import com.alibaba.cola.exception.BizException; +import com.zcloud.primeport.domain.gateway.MkmjSwipeCardRecordGateway; +import lombok.AllArgsConstructor; +import org.springframework.stereotype.Component; +import org.springframework.transaction.annotation.Transactional; + + +/** + * web-app + * + * @Author fangjiakai + * @Date 2025-11-17 13:42:10 + */ +@Component +@AllArgsConstructor +public class MkmjSwipeCardRecordRemoveExe { + private final MkmjSwipeCardRecordGateway mkmjSwipeCardRecordGateway; + + @Transactional(rollbackFor = Exception.class) + public boolean execute(Long id) { + boolean res = mkmjSwipeCardRecordGateway.deletedMkmjSwipeCardRecordById(id); + if (!res) { + throw new BizException("删除失败"); + } + return true; + } + + @Transactional(rollbackFor = Exception.class) + public boolean execute(Long[] ids) { + boolean res = mkmjSwipeCardRecordGateway.deletedMkmjSwipeCardRecordByIds(ids); + if (!res) { + throw new BizException("删除失败"); + } + return true; + } +} + diff --git a/web-app/src/main/java/com/zcloud/primeport/command/MkmjSwipeCardRecordUpdateExe.java b/web-app/src/main/java/com/zcloud/primeport/command/MkmjSwipeCardRecordUpdateExe.java new file mode 100644 index 0000000..217dc1c --- /dev/null +++ b/web-app/src/main/java/com/zcloud/primeport/command/MkmjSwipeCardRecordUpdateExe.java @@ -0,0 +1,34 @@ +package com.zcloud.primeport.command; + +import com.alibaba.cola.exception.BizException; +import com.zcloud.primeport.domain.gateway.MkmjSwipeCardRecordGateway; +import com.zcloud.primeport.domain.model.MkmjSwipeCardRecordE; +import com.zcloud.primeport.dto.MkmjSwipeCardRecordUpdateCmd; +import lombok.AllArgsConstructor; +import org.springframework.beans.BeanUtils; +import org.springframework.stereotype.Component; +import org.springframework.transaction.annotation.Transactional; + + +/** + * web-app + * + * @Author fangjiakai + * @Date 2025-11-17 13:42:10 + */ +@Component +@AllArgsConstructor +public class MkmjSwipeCardRecordUpdateExe { + private final MkmjSwipeCardRecordGateway mkmjSwipeCardRecordGateway; + + @Transactional(rollbackFor = Exception.class) + public void execute(MkmjSwipeCardRecordUpdateCmd mkmjSwipeCardRecordUpdateCmd) { + MkmjSwipeCardRecordE mkmjSwipeCardRecordE = new MkmjSwipeCardRecordE(); + BeanUtils.copyProperties(mkmjSwipeCardRecordUpdateCmd, mkmjSwipeCardRecordE); + boolean res = mkmjSwipeCardRecordGateway.update(mkmjSwipeCardRecordE); + if (!res) { + throw new BizException("修改失败"); + } + } +} + diff --git a/web-app/src/main/java/com/zcloud/primeport/command/convertor/MkmjCarRecordCoConvertor.java b/web-app/src/main/java/com/zcloud/primeport/command/convertor/MkmjCarRecordCoConvertor.java new file mode 100644 index 0000000..1d73e22 --- /dev/null +++ b/web-app/src/main/java/com/zcloud/primeport/command/convertor/MkmjCarRecordCoConvertor.java @@ -0,0 +1,26 @@ +package com.zcloud.primeport.command.convertor; + +import com.zcloud.primeport.dto.clientobject.MkmjCarRecordCO; +import com.zcloud.primeport.persistence.dataobject.MkmjCarRecordDO; +import org.mapstruct.Mapper; + +import java.util.List; + + +/** + * web-app + * + * @Author fangjiakai + * @Date 2025-11-17 13:42:09 + */ +@Mapper(componentModel = "spring") +public interface MkmjCarRecordCoConvertor { + /** + * @param mkmjCarRecordDOs + * @return + */ + List converDOsToCOs(List mkmjCarRecordDOs); + + MkmjCarRecordCO converDOToCO(MkmjCarRecordDO mkmjCarRecordDO); +} + diff --git a/web-app/src/main/java/com/zcloud/primeport/command/convertor/MkmjSwipeCardRecordCoConvertor.java b/web-app/src/main/java/com/zcloud/primeport/command/convertor/MkmjSwipeCardRecordCoConvertor.java new file mode 100644 index 0000000..15ce13d --- /dev/null +++ b/web-app/src/main/java/com/zcloud/primeport/command/convertor/MkmjSwipeCardRecordCoConvertor.java @@ -0,0 +1,26 @@ +package com.zcloud.primeport.command.convertor; + +import com.zcloud.primeport.dto.clientobject.MkmjSwipeCardRecordCO; +import com.zcloud.primeport.persistence.dataobject.MkmjSwipeCardRecordDO; +import org.mapstruct.Mapper; + +import java.util.List; + + +/** + * web-app + * + * @Author fangjiakai + * @Date 2025-11-17 13:42:10 + */ +@Mapper(componentModel = "spring") +public interface MkmjSwipeCardRecordCoConvertor { + /** + * @param mkmjSwipeCardRecordDOs + * @return + */ + List converDOsToCOs(List mkmjSwipeCardRecordDOs); + + MkmjSwipeCardRecordCO converDOToCO(MkmjSwipeCardRecordDO mkmjSwipeCardRecordDO); +} + diff --git a/web-app/src/main/java/com/zcloud/primeport/command/query/MkmjAreaQueryExe.java b/web-app/src/main/java/com/zcloud/primeport/command/query/MkmjAreaQueryExe.java index 847c97a..5ed7290 100644 --- a/web-app/src/main/java/com/zcloud/primeport/command/query/MkmjAreaQueryExe.java +++ b/web-app/src/main/java/com/zcloud/primeport/command/query/MkmjAreaQueryExe.java @@ -1,17 +1,23 @@ package com.zcloud.primeport.command.query; +import com.alibaba.cola.dto.PageResponse; +import com.zcloud.gbscommon.utils.PageQueryHelper; import com.zcloud.primeport.command.convertor.MkmjAreaCoConvertor; +import com.zcloud.primeport.domain.model.MkmjStatisticsE; import com.zcloud.primeport.domain.model.VideoCountE; import com.zcloud.primeport.dto.MkmjAreaPageQry; import com.zcloud.primeport.dto.clientobject.MkmjAreaCO; +import com.zcloud.primeport.dto.clientobject.MkmjStatisticsCO; import com.zcloud.primeport.persistence.dataobject.MkmjAreaDO; import com.zcloud.primeport.persistence.repository.MkmjAreaRepository; -import com.zcloud.gbscommon.utils.PageQueryHelper; -import com.alibaba.cola.dto.PageResponse; +import com.zcloud.primeport.persistence.repository.MkmjCarRecordRepository; import com.zcloud.primeport.persistence.repository.MkmjGateVideoRepository; +import com.zcloud.primeport.persistence.repository.MkmjSwipeCardRecordRepository; import lombok.AllArgsConstructor; import org.springframework.stereotype.Component; +import java.util.ArrayList; +import java.util.HashMap; import java.util.List; import java.util.Map; import java.util.stream.Collectors; @@ -29,6 +35,8 @@ public class MkmjAreaQueryExe { private final MkmjAreaRepository mkmjAreaRepository; private final MkmjAreaCoConvertor mkmjAreaCoConvertor; private final MkmjGateVideoRepository mkmjGateVideoRepository; + private final MkmjCarRecordRepository mkmjCarRecordRepository; + private final MkmjSwipeCardRecordRepository mkmjSwipeCardRecordRepository; /** * 根据id查询 @@ -61,5 +69,35 @@ public class MkmjAreaQueryExe { }); return PageResponse.of(examCenterCOS, pageResponse.getTotalCount(), pageResponse.getPageSize(), pageResponse.getPageIndex()); } + + public List statistics(List ids) { + // 获取车辆和人员统计数据 + List carCounts = mkmjCarRecordRepository.statisticsByArea(ids); + List personCounts = mkmjSwipeCardRecordRepository.statisticsByArea(ids); + + // 创建一个 map 来存储 areaId 对应的统计数据 + Map statisticsMap = new HashMap<>(); + + // 处理车辆统计数据 + for (MkmjStatisticsE carCount : carCounts) { + MkmjStatisticsCO co = new MkmjStatisticsCO(); + co.setId(carCount.getId()); + co.setCarInCount(carCount.getCarInCount()); + co.setCarOutCount(carCount.getCarOutCount()); + statisticsMap.put(carCount.getId(), co); + } + + // 处理人员统计数据 + for (MkmjStatisticsE personCount : personCounts) { + MkmjStatisticsCO co = statisticsMap.getOrDefault(personCount.getId(), new MkmjStatisticsCO()); + co.setId(personCount.getId()); + co.setPersonInCount(personCount.getPersonInCount()); + co.setPersonOutCount(personCount.getPersonOutCount()); + statisticsMap.put(personCount.getId(), co); + } + + // 返回合并后的列表 + return new ArrayList<>(statisticsMap.values()); + } } diff --git a/web-app/src/main/java/com/zcloud/primeport/command/query/MkmjCarRecordQueryExe.java b/web-app/src/main/java/com/zcloud/primeport/command/query/MkmjCarRecordQueryExe.java new file mode 100644 index 0000000..0248b0c --- /dev/null +++ b/web-app/src/main/java/com/zcloud/primeport/command/query/MkmjCarRecordQueryExe.java @@ -0,0 +1,52 @@ +package com.zcloud.primeport.command.query; + +import com.alibaba.cola.dto.PageResponse; +import com.zcloud.gbscommon.utils.PageQueryHelper; +import com.zcloud.primeport.command.convertor.MkmjCarRecordCoConvertor; +import com.zcloud.primeport.dto.MkmjCarRecordPageQry; +import com.zcloud.primeport.dto.clientobject.MkmjCarRecordCO; +import com.zcloud.primeport.persistence.dataobject.MkmjCarRecordDO; +import com.zcloud.primeport.persistence.repository.MkmjCarRecordRepository; +import lombok.AllArgsConstructor; +import org.springframework.stereotype.Component; + +import java.util.List; +import java.util.Map; + + +/** + * web-app + * + * @Author fangjiakai + * @Date 2025-11-17 13:42:09 + */ +@Component +@AllArgsConstructor +public class MkmjCarRecordQueryExe { + private final MkmjCarRecordRepository mkmjCarRecordRepository; + private final MkmjCarRecordCoConvertor mkmjCarRecordCoConvertor; + + /** + * 根据id查询 + * + * @param id + * @return + */ + public MkmjCarRecordCO queryById(Long id) { + return mkmjCarRecordCoConvertor.converDOToCO(mkmjCarRecordRepository.getById(id)); + } + + /** + * 分页 + * + * @param mkmjCarRecordPageQry + * @return + */ + public PageResponse execute(MkmjCarRecordPageQry mkmjCarRecordPageQry) { + Map params = PageQueryHelper.toHashMap(mkmjCarRecordPageQry); + PageResponse pageResponse = mkmjCarRecordRepository.listPage(params); + List examCenterCOS = mkmjCarRecordCoConvertor.converDOsToCOs(pageResponse.getData()); + return PageResponse.of(examCenterCOS, pageResponse.getTotalCount(), pageResponse.getPageSize(), pageResponse.getPageIndex()); + } +} + diff --git a/web-app/src/main/java/com/zcloud/primeport/command/query/MkmjPassageQueryExe.java b/web-app/src/main/java/com/zcloud/primeport/command/query/MkmjPassageQueryExe.java index 8cf1d6c..ce8cc47 100644 --- a/web-app/src/main/java/com/zcloud/primeport/command/query/MkmjPassageQueryExe.java +++ b/web-app/src/main/java/com/zcloud/primeport/command/query/MkmjPassageQueryExe.java @@ -1,17 +1,24 @@ package com.zcloud.primeport.command.query; +import com.alibaba.cola.dto.PageResponse; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.zcloud.gbscommon.utils.PageQueryHelper; import com.zcloud.primeport.command.convertor.MkmjPassageCoConvertor; import com.zcloud.primeport.domain.model.GateCountE; +import com.zcloud.primeport.domain.model.MkmjStatisticsE; import com.zcloud.primeport.dto.MkmjPassagePageQry; import com.zcloud.primeport.dto.clientobject.MkmjPassageCO; +import com.zcloud.primeport.dto.clientobject.MkmjStatisticsCO; import com.zcloud.primeport.persistence.dataobject.MkmjPassageDO; import com.zcloud.primeport.persistence.repository.MkmjAreaGateRepository; +import com.zcloud.primeport.persistence.repository.MkmjCarRecordRepository; import com.zcloud.primeport.persistence.repository.MkmjPassageRepository; -import com.zcloud.gbscommon.utils.PageQueryHelper; -import com.alibaba.cola.dto.PageResponse; +import com.zcloud.primeport.persistence.repository.MkmjSwipeCardRecordRepository; import lombok.AllArgsConstructor; import org.springframework.stereotype.Component; +import java.util.ArrayList; +import java.util.HashMap; import java.util.List; import java.util.Map; import java.util.stream.Collectors; @@ -29,6 +36,8 @@ public class MkmjPassageQueryExe { private final MkmjPassageRepository mkmjPassageRepository; private final MkmjPassageCoConvertor mkmjPassageCoConvertor; private final MkmjAreaGateRepository mkmjAreaGateRepository; + private final MkmjCarRecordRepository mkmjCarRecordRepository; + private final MkmjSwipeCardRecordRepository mkmjSwipeCardRecordRepository; /** * 根据id查询 @@ -40,6 +49,11 @@ public class MkmjPassageQueryExe { return mkmjPassageCoConvertor.converDOToCO(mkmjPassageRepository.getById(id)); } + public MkmjPassageCO queryByName(String name) { + return mkmjPassageCoConvertor.converDOToCO(mkmjPassageRepository.getOne( + new LambdaQueryWrapper().eq(MkmjPassageDO::getPassageName, name))); + } + /** * 分页 * @@ -61,5 +75,36 @@ public class MkmjPassageQueryExe { }); return PageResponse.of(passageCOS, pageResponse.getTotalCount(), pageResponse.getPageSize(), pageResponse.getPageIndex()); } + + public List statistics(List ids) { + List carCounts = mkmjCarRecordRepository.statisticsByPassage(ids); + List personCounts = mkmjSwipeCardRecordRepository.statisticsByPassage(ids); + + // 创建一个 map 来存储 areaId 对应的统计数据 + Map statisticsMap = new HashMap<>(); + + // 处理车辆统计数据 + for (MkmjStatisticsE carCount : carCounts) { + MkmjStatisticsCO co = new MkmjStatisticsCO(); + co.setId(carCount.getId()); + co.setCarInCount(carCount.getCarInCount()); + co.setCarOutCount(carCount.getCarOutCount()); + statisticsMap.put(carCount.getId(), co); + } + + // 处理人员统计数据 + for (MkmjStatisticsE personCount : personCounts) { + MkmjStatisticsCO co = statisticsMap.getOrDefault(personCount.getId(), new MkmjStatisticsCO()); + co.setId(personCount.getId()); + co.setPersonInCount(personCount.getPersonInCount()); + co.setPersonOutCount(personCount.getPersonOutCount()); + statisticsMap.put(personCount.getId(), co); + } + + // 返回合并后的列表 + return new ArrayList<>(statisticsMap.values()); + } + + } diff --git a/web-app/src/main/java/com/zcloud/primeport/command/query/MkmjSwipeCardRecordQueryExe.java b/web-app/src/main/java/com/zcloud/primeport/command/query/MkmjSwipeCardRecordQueryExe.java new file mode 100644 index 0000000..dc11e66 --- /dev/null +++ b/web-app/src/main/java/com/zcloud/primeport/command/query/MkmjSwipeCardRecordQueryExe.java @@ -0,0 +1,52 @@ +package com.zcloud.primeport.command.query; + +import com.alibaba.cola.dto.PageResponse; +import com.zcloud.gbscommon.utils.PageQueryHelper; +import com.zcloud.primeport.command.convertor.MkmjSwipeCardRecordCoConvertor; +import com.zcloud.primeport.dto.MkmjSwipeCardRecordPageQry; +import com.zcloud.primeport.dto.clientobject.MkmjSwipeCardRecordCO; +import com.zcloud.primeport.persistence.dataobject.MkmjSwipeCardRecordDO; +import com.zcloud.primeport.persistence.repository.MkmjSwipeCardRecordRepository; +import lombok.AllArgsConstructor; +import org.springframework.stereotype.Component; + +import java.util.List; +import java.util.Map; + + +/** + * web-app + * + * @Author fangjiakai + * @Date 2025-11-17 13:42:10 + */ +@Component +@AllArgsConstructor +public class MkmjSwipeCardRecordQueryExe { + private final MkmjSwipeCardRecordRepository mkmjSwipeCardRecordRepository; + private final MkmjSwipeCardRecordCoConvertor mkmjSwipeCardRecordCoConvertor; + + /** + * 根据id查询 + * + * @param id + * @return + */ + public MkmjSwipeCardRecordCO queryById(Long id) { + return mkmjSwipeCardRecordCoConvertor.converDOToCO(mkmjSwipeCardRecordRepository.getById(id)); + } + + /** + * 分页 + * + * @param mkmjSwipeCardRecordPageQry + * @return + */ + public PageResponse execute(MkmjSwipeCardRecordPageQry mkmjSwipeCardRecordPageQry) { + Map params = PageQueryHelper.toHashMap(mkmjSwipeCardRecordPageQry); + PageResponse pageResponse = mkmjSwipeCardRecordRepository.listPage(params); + List examCenterCOS = mkmjSwipeCardRecordCoConvertor.converDOsToCOs(pageResponse.getData()); + return PageResponse.of(examCenterCOS, pageResponse.getTotalCount(), pageResponse.getPageSize(), pageResponse.getPageIndex()); + } +} + diff --git a/web-app/src/main/java/com/zcloud/primeport/service/MkmjAreaServiceImpl.java b/web-app/src/main/java/com/zcloud/primeport/service/MkmjAreaServiceImpl.java index 2f285f7..b53f169 100644 --- a/web-app/src/main/java/com/zcloud/primeport/service/MkmjAreaServiceImpl.java +++ b/web-app/src/main/java/com/zcloud/primeport/service/MkmjAreaServiceImpl.java @@ -12,9 +12,12 @@ import com.zcloud.primeport.dto.clientobject.MkmjAreaCO; import com.alibaba.cola.dto.PageResponse; import com.alibaba.cola.dto.SingleResponse; +import com.zcloud.primeport.dto.clientobject.MkmjStatisticsCO; import lombok.AllArgsConstructor; import org.springframework.stereotype.Service; +import java.util.List; + /** * web-app * @@ -61,5 +64,10 @@ public class MkmjAreaServiceImpl implements MkmjAreaServiceI { public void removeBatch(Long[] ids) { mkmjAreaRemoveExe.execute(ids); } + + @Override + public List statistics(List ids) { + return mkmjAreaQueryExe.statistics(ids); + } } diff --git a/web-app/src/main/java/com/zcloud/primeport/service/MkmjCarRecordServiceImpl.java b/web-app/src/main/java/com/zcloud/primeport/service/MkmjCarRecordServiceImpl.java new file mode 100644 index 0000000..3007711 --- /dev/null +++ b/web-app/src/main/java/com/zcloud/primeport/service/MkmjCarRecordServiceImpl.java @@ -0,0 +1,64 @@ +package com.zcloud.primeport.service; + +import com.alibaba.cola.dto.PageResponse; +import com.alibaba.cola.dto.SingleResponse; +import com.zcloud.primeport.api.MkmjCarRecordServiceI; +import com.zcloud.primeport.command.MkmjCarRecordAddExe; +import com.zcloud.primeport.command.MkmjCarRecordRemoveExe; +import com.zcloud.primeport.command.MkmjCarRecordUpdateExe; +import com.zcloud.primeport.command.query.MkmjCarRecordQueryExe; +import com.zcloud.primeport.dto.MkmjCarRecordAddCmd; +import com.zcloud.primeport.dto.MkmjCarRecordPageQry; +import com.zcloud.primeport.dto.MkmjCarRecordUpdateCmd; +import com.zcloud.primeport.dto.clientobject.MkmjCarRecordCO; +import lombok.AllArgsConstructor; +import org.springframework.stereotype.Service; + +/** + * web-app + * + * @Author fangjiakai + * @Date 2025-11-17 13:42:09 + */ +@Service +@AllArgsConstructor +public class MkmjCarRecordServiceImpl implements MkmjCarRecordServiceI { + private final MkmjCarRecordAddExe mkmjCarRecordAddExe; + private final MkmjCarRecordUpdateExe mkmjCarRecordUpdateExe; + private final MkmjCarRecordRemoveExe mkmjCarRecordRemoveExe; + private final MkmjCarRecordQueryExe mkmjCarRecordQueryExe; + + @Override + public MkmjCarRecordCO queryById(Long id) { + return mkmjCarRecordQueryExe.queryById(id); + } + + @Override + public PageResponse listPage(MkmjCarRecordPageQry qry) { + + return mkmjCarRecordQueryExe.execute(qry); + } + + @Override + public SingleResponse add(MkmjCarRecordAddCmd cmd) { + + mkmjCarRecordAddExe.execute(cmd); + return SingleResponse.buildSuccess(); + } + + @Override + public void edit(MkmjCarRecordUpdateCmd mkmjCarRecordUpdateCmd) { + mkmjCarRecordUpdateExe.execute(mkmjCarRecordUpdateCmd); + } + + @Override + public void remove(Long id) { + mkmjCarRecordRemoveExe.execute(id); + } + + @Override + public void removeBatch(Long[] ids) { + mkmjCarRecordRemoveExe.execute(ids); + } +} + diff --git a/web-app/src/main/java/com/zcloud/primeport/service/MkmjPassageServiceImpl.java b/web-app/src/main/java/com/zcloud/primeport/service/MkmjPassageServiceImpl.java index 2fc0049..d17dc4d 100644 --- a/web-app/src/main/java/com/zcloud/primeport/service/MkmjPassageServiceImpl.java +++ b/web-app/src/main/java/com/zcloud/primeport/service/MkmjPassageServiceImpl.java @@ -12,9 +12,12 @@ import com.zcloud.primeport.dto.clientobject.MkmjPassageCO; import com.alibaba.cola.dto.PageResponse; import com.alibaba.cola.dto.SingleResponse; +import com.zcloud.primeport.dto.clientobject.MkmjStatisticsCO; import lombok.AllArgsConstructor; import org.springframework.stereotype.Service; +import java.util.List; + /** * web-app * @@ -33,7 +36,10 @@ public class MkmjPassageServiceImpl implements MkmjPassageServiceI { public MkmjPassageCO queryById(Long id) { return mkmjPassageQueryExe.queryById(id); } - + @Override + public MkmjPassageCO queryByName(String name){ + return mkmjPassageQueryExe.queryByName(name); + } @Override public PageResponse listPage(MkmjPassagePageQry qry) { @@ -61,5 +67,10 @@ public class MkmjPassageServiceImpl implements MkmjPassageServiceI { public void removeBatch(Long[] ids) { mkmjPassageRemoveExe.execute(ids); } + + @Override + public List statistics(List ids){ + return mkmjPassageQueryExe.statistics(ids); + } } diff --git a/web-app/src/main/java/com/zcloud/primeport/service/MkmjSwipeCardRecordServiceImpl.java b/web-app/src/main/java/com/zcloud/primeport/service/MkmjSwipeCardRecordServiceImpl.java new file mode 100644 index 0000000..0626596 --- /dev/null +++ b/web-app/src/main/java/com/zcloud/primeport/service/MkmjSwipeCardRecordServiceImpl.java @@ -0,0 +1,64 @@ +package com.zcloud.primeport.service; + +import com.alibaba.cola.dto.PageResponse; +import com.alibaba.cola.dto.SingleResponse; +import com.zcloud.primeport.api.MkmjSwipeCardRecordServiceI; +import com.zcloud.primeport.command.MkmjSwipeCardRecordAddExe; +import com.zcloud.primeport.command.MkmjSwipeCardRecordRemoveExe; +import com.zcloud.primeport.command.MkmjSwipeCardRecordUpdateExe; +import com.zcloud.primeport.command.query.MkmjSwipeCardRecordQueryExe; +import com.zcloud.primeport.dto.MkmjSwipeCardRecordAddCmd; +import com.zcloud.primeport.dto.MkmjSwipeCardRecordPageQry; +import com.zcloud.primeport.dto.MkmjSwipeCardRecordUpdateCmd; +import com.zcloud.primeport.dto.clientobject.MkmjSwipeCardRecordCO; +import lombok.AllArgsConstructor; +import org.springframework.stereotype.Service; + +/** + * web-app + * + * @Author fangjiakai + * @Date 2025-11-17 13:42:10 + */ +@Service +@AllArgsConstructor +public class MkmjSwipeCardRecordServiceImpl implements MkmjSwipeCardRecordServiceI { + private final MkmjSwipeCardRecordAddExe mkmjSwipeCardRecordAddExe; + private final MkmjSwipeCardRecordUpdateExe mkmjSwipeCardRecordUpdateExe; + private final MkmjSwipeCardRecordRemoveExe mkmjSwipeCardRecordRemoveExe; + private final MkmjSwipeCardRecordQueryExe mkmjSwipeCardRecordQueryExe; + + @Override + public MkmjSwipeCardRecordCO queryById(Long id) { + return mkmjSwipeCardRecordQueryExe.queryById(id); + } + + @Override + public PageResponse listPage(MkmjSwipeCardRecordPageQry qry) { + + return mkmjSwipeCardRecordQueryExe.execute(qry); + } + + @Override + public SingleResponse add(MkmjSwipeCardRecordAddCmd cmd) { + + mkmjSwipeCardRecordAddExe.execute(cmd); + return SingleResponse.buildSuccess(); + } + + @Override + public void edit(MkmjSwipeCardRecordUpdateCmd mkmjSwipeCardRecordUpdateCmd) { + mkmjSwipeCardRecordUpdateExe.execute(mkmjSwipeCardRecordUpdateCmd); + } + + @Override + public void remove(Long id) { + mkmjSwipeCardRecordRemoveExe.execute(id); + } + + @Override + public void removeBatch(Long[] ids) { + mkmjSwipeCardRecordRemoveExe.execute(ids); + } +} + diff --git a/web-client/src/main/java/com/zcloud/primeport/api/MkmjAreaServiceI.java b/web-client/src/main/java/com/zcloud/primeport/api/MkmjAreaServiceI.java index 127bb41..23d8574 100644 --- a/web-client/src/main/java/com/zcloud/primeport/api/MkmjAreaServiceI.java +++ b/web-client/src/main/java/com/zcloud/primeport/api/MkmjAreaServiceI.java @@ -7,6 +7,9 @@ import com.zcloud.primeport.dto.clientobject.MkmjAreaCO; import com.alibaba.cola.dto.PageResponse; import com.alibaba.cola.dto.SingleResponse; +import com.zcloud.primeport.dto.clientobject.MkmjStatisticsCO; + +import java.util.List; /** * web-client @@ -26,5 +29,7 @@ public interface MkmjAreaServiceI { void remove(Long id); void removeBatch(Long[] ids); + + List statistics(List ids); } diff --git a/web-client/src/main/java/com/zcloud/primeport/api/MkmjCarRecordServiceI.java b/web-client/src/main/java/com/zcloud/primeport/api/MkmjCarRecordServiceI.java new file mode 100644 index 0000000..4605475 --- /dev/null +++ b/web-client/src/main/java/com/zcloud/primeport/api/MkmjCarRecordServiceI.java @@ -0,0 +1,29 @@ +package com.zcloud.primeport.api; + +import com.alibaba.cola.dto.PageResponse; +import com.alibaba.cola.dto.SingleResponse; +import com.zcloud.primeport.dto.MkmjCarRecordAddCmd; +import com.zcloud.primeport.dto.MkmjCarRecordPageQry; +import com.zcloud.primeport.dto.MkmjCarRecordUpdateCmd; +import com.zcloud.primeport.dto.clientobject.MkmjCarRecordCO; + +/** + * web-client + * + * @Author fangjiakai + * @Date 2025-11-17 13:42:09 + */ +public interface MkmjCarRecordServiceI { + MkmjCarRecordCO queryById(Long id); + + PageResponse listPage(MkmjCarRecordPageQry qry); + + SingleResponse add(MkmjCarRecordAddCmd cmd); + + void edit(MkmjCarRecordUpdateCmd cmd); + + void remove(Long id); + + void removeBatch(Long[] ids); +} + diff --git a/web-client/src/main/java/com/zcloud/primeport/api/MkmjPassageServiceI.java b/web-client/src/main/java/com/zcloud/primeport/api/MkmjPassageServiceI.java index 0ceef90..e12d697 100644 --- a/web-client/src/main/java/com/zcloud/primeport/api/MkmjPassageServiceI.java +++ b/web-client/src/main/java/com/zcloud/primeport/api/MkmjPassageServiceI.java @@ -7,6 +7,9 @@ import com.zcloud.primeport.dto.clientobject.MkmjPassageCO; import com.alibaba.cola.dto.PageResponse; import com.alibaba.cola.dto.SingleResponse; +import com.zcloud.primeport.dto.clientobject.MkmjStatisticsCO; + +import java.util.List; /** * web-client @@ -16,6 +19,7 @@ import com.alibaba.cola.dto.SingleResponse; */ public interface MkmjPassageServiceI { MkmjPassageCO queryById(Long id); + MkmjPassageCO queryByName(String name); PageResponse listPage(MkmjPassagePageQry qry); @@ -26,5 +30,9 @@ public interface MkmjPassageServiceI { void remove(Long id); void removeBatch(Long[] ids); + + List statistics(List ids); + + } diff --git a/web-client/src/main/java/com/zcloud/primeport/api/MkmjSwipeCardRecordServiceI.java b/web-client/src/main/java/com/zcloud/primeport/api/MkmjSwipeCardRecordServiceI.java new file mode 100644 index 0000000..0aa2395 --- /dev/null +++ b/web-client/src/main/java/com/zcloud/primeport/api/MkmjSwipeCardRecordServiceI.java @@ -0,0 +1,29 @@ +package com.zcloud.primeport.api; + +import com.alibaba.cola.dto.PageResponse; +import com.alibaba.cola.dto.SingleResponse; +import com.zcloud.primeport.dto.MkmjSwipeCardRecordAddCmd; +import com.zcloud.primeport.dto.MkmjSwipeCardRecordPageQry; +import com.zcloud.primeport.dto.MkmjSwipeCardRecordUpdateCmd; +import com.zcloud.primeport.dto.clientobject.MkmjSwipeCardRecordCO; + +/** + * web-client + * + * @Author fangjiakai + * @Date 2025-11-17 13:42:10 + */ +public interface MkmjSwipeCardRecordServiceI { + MkmjSwipeCardRecordCO queryById(Long id); + + PageResponse listPage(MkmjSwipeCardRecordPageQry qry); + + SingleResponse add(MkmjSwipeCardRecordAddCmd cmd); + + void edit(MkmjSwipeCardRecordUpdateCmd cmd); + + void remove(Long id); + + void removeBatch(Long[] ids); +} + diff --git a/web-client/src/main/java/com/zcloud/primeport/dto/MkmjCarRecordAddCmd.java b/web-client/src/main/java/com/zcloud/primeport/dto/MkmjCarRecordAddCmd.java new file mode 100644 index 0000000..5ddddaa --- /dev/null +++ b/web-client/src/main/java/com/zcloud/primeport/dto/MkmjCarRecordAddCmd.java @@ -0,0 +1,124 @@ +package com.zcloud.primeport.dto; + +import com.alibaba.cola.dto.Command; +import com.fasterxml.jackson.annotation.JsonFormat; +import io.swagger.annotations.ApiModelProperty; +import lombok.AllArgsConstructor; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.NoArgsConstructor; + +import javax.validation.constraints.NotEmpty; +import javax.validation.constraints.NotNull; +import java.sql.Date; + +/** + * web-client + * + * @Author fangjiakai + * @Date 2025-11-17 13:42:08 + */ +@EqualsAndHashCode(callSuper = true) +@Data +@NoArgsConstructor +@AllArgsConstructor +public class MkmjCarRecordAddCmd extends Command { + @ApiModelProperty(value = "车辆id", name = "vehicleRecordId", required = true) + @NotEmpty(message = "车辆id不能为空") + private String vehicleRecordId; + + @ApiModelProperty(value = "车辆牌照号码", name = "vehiclePlateNumber", required = true) + @NotEmpty(message = "车辆牌照号码不能为空") + private String vehiclePlateNumber; + + @ApiModelProperty(value = "车辆行驶证号码", name = "vehicleRegistrationNumber", required = true) + @NotEmpty(message = "车辆行驶证号码不能为空") + private String vehicleRegistrationNumber; + + @ApiModelProperty(value = "车辆类型名称", name = "vehicleCategoryName", required = true) + @NotEmpty(message = "车辆类型名称不能为空") + private String vehicleCategoryName; + + @ApiModelProperty(value = "车辆联系人姓名", name = "vehicleContactName", required = true) + @NotEmpty(message = "车辆联系人姓名不能为空") + private String vehicleContactName; + + @ApiModelProperty(value = "车辆联系人电话", name = "vehicleContactPhoneNumber", required = true) + @NotEmpty(message = "车辆联系人电话不能为空") + private String vehicleContactPhoneNumber; + + @ApiModelProperty(value = "车辆备案信息录入单位", name = "vehicleFilingInfoRecordingOrg", required = true) + @NotEmpty(message = "车辆备案信息录入单位不能为空") + private String vehicleFilingInfoRecordingOrg; + + @ApiModelProperty(value = "车辆牌照颜色名称", name = "vehiclePlateColor", required = true) + @NotEmpty(message = "车辆牌照颜色名称不能为空") + private String vehiclePlateColor; + + @ApiModelProperty(value = "车辆入港闸口", name = "vehicleArrivalBarrier", required = true) + @NotEmpty(message = "车辆入港闸口不能为空") + private String vehicleArrivalBarrier; + + @ApiModelProperty(value = "${column.comment}", name = "regexArrivalBarrier", required = true) + @NotEmpty(message = "${column.comment}不能为空") + private String regexArrivalBarrier; + + @ApiModelProperty(value = "车辆入港时间", name = "vehicleArrivalTime", required = true) + @NotEmpty(message = "车辆入港时间不能为空") + private String vehicleArrivalTime; + + @ApiModelProperty(value = "车辆离港闸口", name = "vehicleDepartureBarrier", required = true) + @NotEmpty(message = "车辆离港闸口不能为空") + private String vehicleDepartureBarrier; + + @ApiModelProperty(value = "${column.comment}", name = "regexDepartureBarrier", required = true) + @NotEmpty(message = "${column.comment}不能为空") + private String regexDepartureBarrier; + + @ApiModelProperty(value = "车辆离港时间", name = "vehicleDepartureTime", required = true) + @NotEmpty(message = "车辆离港时间不能为空") + private String vehicleDepartureTime; + + @ApiModelProperty(value = "车辆备案方式", name = "vehicleFilingMethod", required = true) + @NotEmpty(message = "车辆备案方式不能为空") + private String vehicleFilingMethod; + + @ApiModelProperty(value = "车辆在港状态", name = "vehicleArrivalStatus", required = true) + @NotEmpty(message = "车辆在港状态不能为空") + private String vehicleArrivalStatus; + + @ApiModelProperty(value = "数据来源", name = "edwDataSource", required = true) + @NotEmpty(message = "数据来源不能为空") + private String edwDataSource; + + @ApiModelProperty(value = "数据创建日期", name = "edwCreateDate", required = true) + @NotEmpty(message = "数据创建日期不能为空") + private String edwCreateDate; + + @ApiModelProperty(value = "数据更新日期", name = "edwLastUpdate", required = true) + @NotEmpty(message = "数据更新日期不能为空") + private String edwLastUpdate; + + @ApiModelProperty(value = "数据有效标识", name = "edwValidFlag", required = true) + @NotEmpty(message = "数据有效标识不能为空") + private String edwValidFlag; + + @ApiModelProperty(value = "分区列", name = "dataVersion", required = true) + @NotNull(message = "分区列不能为空") + private Long dataVersion; + + @ApiModelProperty(value = "同步时间", name = "accLastUpdateDate", required = true) + @NotNull(message = "同步时间不能为空") + @JsonFormat(pattern = "yyyy-MM-dd") + private Date accLastUpdateDate; + + @ApiModelProperty(value = "自增长id主键", name = "idSequence", required = true) + @NotNull(message = "自增长id主键不能为空") + private Long idSequence; + + @ApiModelProperty(value = "同步时间", name = "synctime", required = true) + @NotEmpty(message = "同步时间不能为空") + private String synctime; + +} + diff --git a/web-client/src/main/java/com/zcloud/primeport/dto/MkmjCarRecordPageQry.java b/web-client/src/main/java/com/zcloud/primeport/dto/MkmjCarRecordPageQry.java new file mode 100644 index 0000000..5385fd1 --- /dev/null +++ b/web-client/src/main/java/com/zcloud/primeport/dto/MkmjCarRecordPageQry.java @@ -0,0 +1,28 @@ +package com.zcloud.primeport.dto; + +import com.alibaba.cola.dto.PageQuery; +import lombok.Data; + + +/** + * web-client + * + * @Author fangjiakai + * @Date 2025-11-17 13:42:09 + */ +@Data +public class MkmjCarRecordPageQry extends PageQuery { + + /** + * 查询条件操作前缀,支持以下几种数据库查询操作: + * - `like`: 模糊匹配查询,对应SQL的LIKE操作符 + * - `eq`: 等值查询,对应SQL的=操作符 + * - `gt`: 大于比较查询 + * - `lt`: 小于比较查询 + * - `ge`: 大于等于比较查询 + * - `le`: 小于等于比较查询 + * - `ne`: 不等比较查询,对应SQL的!=操作符 + */ + private String likeVehicleRecordId; +} + diff --git a/web-client/src/main/java/com/zcloud/primeport/dto/MkmjCarRecordUpdateCmd.java b/web-client/src/main/java/com/zcloud/primeport/dto/MkmjCarRecordUpdateCmd.java new file mode 100644 index 0000000..bb6bd3f --- /dev/null +++ b/web-client/src/main/java/com/zcloud/primeport/dto/MkmjCarRecordUpdateCmd.java @@ -0,0 +1,103 @@ +package com.zcloud.primeport.dto; + +import com.alibaba.cola.dto.Command; +import com.fasterxml.jackson.annotation.JsonFormat; +import io.swagger.annotations.ApiModelProperty; +import lombok.AllArgsConstructor; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.NoArgsConstructor; + +import javax.validation.constraints.NotEmpty; +import javax.validation.constraints.NotNull; +import java.sql.Date; + +/** + * web-client + * + * @Author fangjiakai + * @Date 2025-11-17 13:42:09 + */ +@EqualsAndHashCode(callSuper = true) +@Data +@NoArgsConstructor +@AllArgsConstructor +public class MkmjCarRecordUpdateCmd extends Command { + @ApiModelProperty(value = "主键id", name = "id", required = true) + @NotNull(message = "主键id不能为空") + private Long id; + @ApiModelProperty(value = "车辆id", name = "vehicleRecordId", required = true) + @NotEmpty(message = "车辆id不能为空") + private String vehicleRecordId; + @ApiModelProperty(value = "车辆牌照号码", name = "vehiclePlateNumber", required = true) + @NotEmpty(message = "车辆牌照号码不能为空") + private String vehiclePlateNumber; + @ApiModelProperty(value = "车辆行驶证号码", name = "vehicleRegistrationNumber", required = true) + @NotEmpty(message = "车辆行驶证号码不能为空") + private String vehicleRegistrationNumber; + @ApiModelProperty(value = "车辆类型名称", name = "vehicleCategoryName", required = true) + @NotEmpty(message = "车辆类型名称不能为空") + private String vehicleCategoryName; + @ApiModelProperty(value = "车辆联系人姓名", name = "vehicleContactName", required = true) + @NotEmpty(message = "车辆联系人姓名不能为空") + private String vehicleContactName; + @ApiModelProperty(value = "车辆联系人电话", name = "vehicleContactPhoneNumber", required = true) + @NotEmpty(message = "车辆联系人电话不能为空") + private String vehicleContactPhoneNumber; + @ApiModelProperty(value = "车辆备案信息录入单位", name = "vehicleFilingInfoRecordingOrg", required = true) + @NotEmpty(message = "车辆备案信息录入单位不能为空") + private String vehicleFilingInfoRecordingOrg; + @ApiModelProperty(value = "车辆牌照颜色名称", name = "vehiclePlateColor", required = true) + @NotEmpty(message = "车辆牌照颜色名称不能为空") + private String vehiclePlateColor; + @ApiModelProperty(value = "车辆入港闸口", name = "vehicleArrivalBarrier", required = true) + @NotEmpty(message = "车辆入港闸口不能为空") + private String vehicleArrivalBarrier; + @ApiModelProperty(value = "${column.comment}", name = "regexArrivalBarrier", required = true) + @NotEmpty(message = "${column.comment}不能为空") + private String regexArrivalBarrier; + @ApiModelProperty(value = "车辆入港时间", name = "vehicleArrivalTime", required = true) + @NotEmpty(message = "车辆入港时间不能为空") + private String vehicleArrivalTime; + @ApiModelProperty(value = "车辆离港闸口", name = "vehicleDepartureBarrier", required = true) + @NotEmpty(message = "车辆离港闸口不能为空") + private String vehicleDepartureBarrier; + @ApiModelProperty(value = "${column.comment}", name = "regexDepartureBarrier", required = true) + @NotEmpty(message = "${column.comment}不能为空") + private String regexDepartureBarrier; + @ApiModelProperty(value = "车辆离港时间", name = "vehicleDepartureTime", required = true) + @NotEmpty(message = "车辆离港时间不能为空") + private String vehicleDepartureTime; + @ApiModelProperty(value = "车辆备案方式", name = "vehicleFilingMethod", required = true) + @NotEmpty(message = "车辆备案方式不能为空") + private String vehicleFilingMethod; + @ApiModelProperty(value = "车辆在港状态", name = "vehicleArrivalStatus", required = true) + @NotEmpty(message = "车辆在港状态不能为空") + private String vehicleArrivalStatus; + @ApiModelProperty(value = "数据来源", name = "edwDataSource", required = true) + @NotEmpty(message = "数据来源不能为空") + private String edwDataSource; + @ApiModelProperty(value = "数据创建日期", name = "edwCreateDate", required = true) + @NotEmpty(message = "数据创建日期不能为空") + private String edwCreateDate; + @ApiModelProperty(value = "数据更新日期", name = "edwLastUpdate", required = true) + @NotEmpty(message = "数据更新日期不能为空") + private String edwLastUpdate; + @ApiModelProperty(value = "数据有效标识", name = "edwValidFlag", required = true) + @NotEmpty(message = "数据有效标识不能为空") + private String edwValidFlag; + @ApiModelProperty(value = "分区列", name = "dataVersion", required = true) + @NotNull(message = "分区列不能为空") + private Long dataVersion; + @ApiModelProperty(value = "同步时间", name = "accLastUpdateDate", required = true) + @NotNull(message = "同步时间不能为空") + @JsonFormat(pattern = "yyyy-MM-dd") + private Date accLastUpdateDate; + @ApiModelProperty(value = "自增长id主键", name = "idSequence", required = true) + @NotNull(message = "自增长id主键不能为空") + private Long idSequence; + @ApiModelProperty(value = "同步时间", name = "synctime", required = true) + @NotEmpty(message = "同步时间不能为空") + private String synctime; +} + diff --git a/web-client/src/main/java/com/zcloud/primeport/dto/MkmjSwipeCardRecordAddCmd.java b/web-client/src/main/java/com/zcloud/primeport/dto/MkmjSwipeCardRecordAddCmd.java new file mode 100644 index 0000000..a15b79c --- /dev/null +++ b/web-client/src/main/java/com/zcloud/primeport/dto/MkmjSwipeCardRecordAddCmd.java @@ -0,0 +1,205 @@ +package com.zcloud.primeport.dto; + +import com.alibaba.cola.dto.Command; +import io.swagger.annotations.ApiModelProperty; +import lombok.AllArgsConstructor; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.NoArgsConstructor; + +import javax.validation.constraints.NotEmpty; +import javax.validation.constraints.NotNull; + +/** + * web-client + * + * @Author fangjiakai + * @Date 2025-11-17 13:42:09 + */ +@EqualsAndHashCode(callSuper = true) +@Data +@NoArgsConstructor +@AllArgsConstructor +public class MkmjSwipeCardRecordAddCmd extends Command { + @ApiModelProperty(value = "节点编码", name = "nodecode", required = true) + @NotEmpty(message = "节点编码不能为空") + private String nodecode; + + @ApiModelProperty(value = "报警编号", name = "alarmcode", required = true) + @NotEmpty(message = "报警编号不能为空") + private String alarmcode; + + @ApiModelProperty(value = "报警图片路径", name = "alarmpicture", required = true) + @NotEmpty(message = "报警图片路径不能为空") + private String alarmpicture; + + @ApiModelProperty(value = "节点类型", name = "nodetype", required = true) + @NotEmpty(message = "节点类型不能为空") + private String nodetype; + + @ApiModelProperty(value = "报警时间,10位时间戳", name = "alarmdate", required = true) + @NotNull(message = "报警时间,10位时间戳不能为空") + private Integer alarmdate; + + @ApiModelProperty(value = "报警等级 1:严重,2:一般,3:轻微", name = "alarmgrade", required = true) + @NotNull(message = "报警等级 1:严重,2:一般,3:轻微不能为空") + private Integer alarmgrade; + + @ApiModelProperty(value = "单元类型", name = "unittype", required = true) + @NotNull(message = "单元类型不能为空") + private Integer unittype; + + @ApiModelProperty(value = "报警类型", name = "alarmtype", required = true) + @NotNull(message = "报警类型不能为空") + private Integer alarmtype; + + @ApiModelProperty(value = "通道序号", name = "channelseq", required = true) + @NotNull(message = "通道序号不能为空") + private Integer channelseq; + + @ApiModelProperty(value = "通道名称", name = "channelname", required = true) + @NotEmpty(message = "通道名称不能为空") + private String channelname; + + @ApiModelProperty(value = "报警状态 1:报警产生,2:报警消失", name = "alarmstat", required = true) + @NotNull(message = "报警状态 1:报警产生,2:报警消失不能为空") + private Integer alarmstat; + + @ApiModelProperty(value = "部门名称", name = "deptname", required = true) + @NotEmpty(message = "部门名称不能为空") + private String deptname; + + @ApiModelProperty(value = "通道编号", name = "acschannelcode", required = true) + @NotEmpty(message = "通道编号不能为空") + private String acschannelcode; + + @ApiModelProperty(value = "口罩状态 3-戴口罩,2-未戴口罩,1-未识别,0-未知", name = "maskstate", required = true) + @NotNull(message = "口罩状态 3-戴口罩,2-未戴口罩,1-未识别,0-未知不能为空") + private Integer maskstate; + + @ApiModelProperty(value = "进出门类型: 详见 读卡器业务类型字典", name = "enterorexit", required = true) + @NotEmpty(message = "进出门类型: 详见 读卡器业务类型字典不能为空") + private String enterorexit; + + @ApiModelProperty(value = "开门类型字符串", name = "opentypestr", required = true) + @NotEmpty(message = "开门类型字符串不能为空") + private String opentypestr; + + @ApiModelProperty(value = "刷卡时间,格式:yyyy-MM:dd HH:mm:ss", name = "swingtime", required = true) + @NotEmpty(message = "刷卡时间,格式:yyyy-MM:dd HH:mm:ss不能为空") + private String swingtime; + + @ApiModelProperty(value = "设备名称", name = "devicename", required = true) + @NotEmpty(message = "设备名称不能为空") + private String devicename; + + @ApiModelProperty(value = "人员编号", name = "personcode", required = true) + @NotEmpty(message = "人员编号不能为空") + private String personcode; + + @ApiModelProperty(value = "开门类型, 详见开门类型 字典", name = "opentype", required = true) + @NotEmpty(message = "开门类型, 详见开门类型 字典不能为空") + private String opentype; + + @ApiModelProperty(value = "组织编码", name = "orgcode", required = true) + @NotEmpty(message = "组织编码不能为空") + private String orgcode; + + @ApiModelProperty(value = "证件类型", name = "papertype", required = true) + @NotEmpty(message = "证件类型不能为空") + private String papertype; + + @ApiModelProperty(value = "证件号", name = "papernumber", required = true) + @NotEmpty(message = "证件号不能为空") + private String papernumber; + + @ApiModelProperty(value = "错误详情", name = "errordetail", required = true) + @NotEmpty(message = "错误详情不能为空") + private String errordetail; + + @ApiModelProperty(value = "开门错误码,0代表成功,96代表需远程验证(需结合平台上远程验证功能使用),其他参考门禁开门错误码", name = "openfailedcod", required = true) + @NotEmpty(message = "开门错误码,0代表成功,96代表需远程验证(需结合平台上远程验证功能使用),其他参考门禁开门错误码不能为空") + private String openfailedcod; + + @ApiModelProperty(value = "固定值:evo-accesscontrol", name = "from", required = true) + @NotEmpty(message = "固定值:evo-accesscontrol不能为空") + private String from; + + @ApiModelProperty(value = "extendId标识", name = "extendid", required = true) + @NotNull(message = "extendId标识不能为空") + private Long extendid; + + @ApiModelProperty(value = "开始时间, 13位时间戳", name = "begintime", required = true) + @NotNull(message = "开始时间, 13位时间戳不能为空") + private Long begintime; + + @ApiModelProperty(value = "通道名称", name = "acschannelname", required = true) + @NotEmpty(message = "通道名称不能为空") + private String acschannelname; + + @ApiModelProperty(value = "预留字段,暂未使用,默认值为0", name = "cardstatus", required = true) + @NotNull(message = "预留字段,暂未使用,默认值为0不能为空") + private Integer cardstatus; + + @ApiModelProperty(value = "组织名称", name = "orgname", required = true) + @NotEmpty(message = "组织名称不能为空") + private String orgname; + + @ApiModelProperty(value = "性别 1 男,2 女, 0 未知", name = "sex", required = true) + @NotNull(message = "性别 1 男,2 女, 0 未知不能为空") + private Integer sex; + + @ApiModelProperty(value = "人员部门id", name = "deptid", required = true) + @NotNull(message = "人员部门id不能为空") + private Integer deptid; + + @ApiModelProperty(value = "卡类型", name = "cardtype", required = true) + @NotNull(message = "卡类型不能为空") + private Integer cardtype; + + @ApiModelProperty(value = "设备编号", name = "devicecode", required = true) + @NotEmpty(message = "设备编号不能为空") + private String devicecode; + + @ApiModelProperty(value = "人员姓名", name = "personname", required = true) + @NotEmpty(message = "人员姓名不能为空") + private String personname; + + @ApiModelProperty(value = "刷卡人在平台上的图片,相对路径", name = "personimg", required = true) + @NotEmpty(message = "刷卡人在平台上的图片,相对路径不能为空") + private String personimg; + + @ApiModelProperty(value = "开门结果 0 失败 1 成功", name = "openresult", required = true) + @NotNull(message = "开门结果 0 失败 1 成功不能为空") + private Integer openresult; + + @ApiModelProperty(value = "人员id", name = "personid", required = true) + @NotNull(message = "人员id不能为空") + private Integer personid; + + @ApiModelProperty(value = "抓拍图,相对路径", name = "recordimage1", required = true) + @NotEmpty(message = "抓拍图,相对路径不能为空") + private String recordimage1; + + @ApiModelProperty(value = "卡介质 0 IC 1 有源RFID 2 CPU", name = "category", required = true) + @NotEmpty(message = "卡介质 0 IC 1 有源RFID 2 CPU不能为空") + private String category; + + @ApiModelProperty(value = "卡号", name = "cardnumber", required = true) + @NotEmpty(message = "卡号不能为空") + private String cardnumber; + + @ApiModelProperty(value = "rfid子类型,0:普通门禁,1:电动车,2:特殊人群关怀, 3:宠物", name = "rfidtype", required = true) + @NotNull(message = "rfid子类型,0:普通门禁,1:电动车,2:特殊人群关怀, 3:宠物不能为空") + private Integer rfidtype; + + @ApiModelProperty(value = "年龄", name = "age", required = true) + @NotNull(message = "年龄不能为空") + private Integer age; + + @ApiModelProperty(value = "0-非访客,1-访客", name = "vrecordflag", required = true) + @NotNull(message = "0-非访客,1-访客不能为空") + private Integer vrecordflag; + +} + diff --git a/web-client/src/main/java/com/zcloud/primeport/dto/MkmjSwipeCardRecordPageQry.java b/web-client/src/main/java/com/zcloud/primeport/dto/MkmjSwipeCardRecordPageQry.java new file mode 100644 index 0000000..a37b83f --- /dev/null +++ b/web-client/src/main/java/com/zcloud/primeport/dto/MkmjSwipeCardRecordPageQry.java @@ -0,0 +1,28 @@ +package com.zcloud.primeport.dto; + +import com.alibaba.cola.dto.PageQuery; +import lombok.Data; + + +/** + * web-client + * + * @Author fangjiakai + * @Date 2025-11-17 13:42:10 + */ +@Data +public class MkmjSwipeCardRecordPageQry extends PageQuery { + + /** + * 查询条件操作前缀,支持以下几种数据库查询操作: + * - `like`: 模糊匹配查询,对应SQL的LIKE操作符 + * - `eq`: 等值查询,对应SQL的=操作符 + * - `gt`: 大于比较查询 + * - `lt`: 小于比较查询 + * - `ge`: 大于等于比较查询 + * - `le`: 小于等于比较查询 + * - `ne`: 不等比较查询,对应SQL的!=操作符 + */ + private String likeNodecode; +} + diff --git a/web-client/src/main/java/com/zcloud/primeport/dto/MkmjSwipeCardRecordUpdateCmd.java b/web-client/src/main/java/com/zcloud/primeport/dto/MkmjSwipeCardRecordUpdateCmd.java new file mode 100644 index 0000000..269df1e --- /dev/null +++ b/web-client/src/main/java/com/zcloud/primeport/dto/MkmjSwipeCardRecordUpdateCmd.java @@ -0,0 +1,163 @@ +package com.zcloud.primeport.dto; + +import com.alibaba.cola.dto.Command; +import io.swagger.annotations.ApiModelProperty; +import lombok.AllArgsConstructor; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.NoArgsConstructor; + +import javax.validation.constraints.NotEmpty; +import javax.validation.constraints.NotNull; + +/** + * web-client + * + * @Author fangjiakai + * @Date 2025-11-17 13:42:10 + */ +@EqualsAndHashCode(callSuper = true) +@Data +@NoArgsConstructor +@AllArgsConstructor +public class MkmjSwipeCardRecordUpdateCmd extends Command { + @ApiModelProperty(value = "主键", name = "id", required = true) + @NotNull(message = "主键不能为空") + private Long id; + @ApiModelProperty(value = "节点编码", name = "nodecode", required = true) + @NotEmpty(message = "节点编码不能为空") + private String nodecode; + @ApiModelProperty(value = "报警编号", name = "alarmcode", required = true) + @NotEmpty(message = "报警编号不能为空") + private String alarmcode; + @ApiModelProperty(value = "报警图片路径", name = "alarmpicture", required = true) + @NotEmpty(message = "报警图片路径不能为空") + private String alarmpicture; + @ApiModelProperty(value = "节点类型", name = "nodetype", required = true) + @NotEmpty(message = "节点类型不能为空") + private String nodetype; + @ApiModelProperty(value = "报警时间,10位时间戳", name = "alarmdate", required = true) + @NotNull(message = "报警时间,10位时间戳不能为空") + private Integer alarmdate; + @ApiModelProperty(value = "报警等级 1:严重,2:一般,3:轻微", name = "alarmgrade", required = true) + @NotNull(message = "报警等级 1:严重,2:一般,3:轻微不能为空") + private Integer alarmgrade; + @ApiModelProperty(value = "单元类型", name = "unittype", required = true) + @NotNull(message = "单元类型不能为空") + private Integer unittype; + @ApiModelProperty(value = "报警类型", name = "alarmtype", required = true) + @NotNull(message = "报警类型不能为空") + private Integer alarmtype; + @ApiModelProperty(value = "通道序号", name = "channelseq", required = true) + @NotNull(message = "通道序号不能为空") + private Integer channelseq; + @ApiModelProperty(value = "通道名称", name = "channelname", required = true) + @NotEmpty(message = "通道名称不能为空") + private String channelname; + @ApiModelProperty(value = "报警状态 1:报警产生,2:报警消失", name = "alarmstat", required = true) + @NotNull(message = "报警状态 1:报警产生,2:报警消失不能为空") + private Integer alarmstat; + @ApiModelProperty(value = "部门名称", name = "deptname", required = true) + @NotEmpty(message = "部门名称不能为空") + private String deptname; + @ApiModelProperty(value = "通道编号", name = "acschannelcode", required = true) + @NotEmpty(message = "通道编号不能为空") + private String acschannelcode; + @ApiModelProperty(value = "口罩状态 3-戴口罩,2-未戴口罩,1-未识别,0-未知", name = "maskstate", required = true) + @NotNull(message = "口罩状态 3-戴口罩,2-未戴口罩,1-未识别,0-未知不能为空") + private Integer maskstate; + @ApiModelProperty(value = "进出门类型: 详见 读卡器业务类型字典", name = "enterorexit", required = true) + @NotEmpty(message = "进出门类型: 详见 读卡器业务类型字典不能为空") + private String enterorexit; + @ApiModelProperty(value = "开门类型字符串", name = "opentypestr", required = true) + @NotEmpty(message = "开门类型字符串不能为空") + private String opentypestr; + @ApiModelProperty(value = "刷卡时间,格式:yyyy-MM:dd HH:mm:ss", name = "swingtime", required = true) + @NotEmpty(message = "刷卡时间,格式:yyyy-MM:dd HH:mm:ss不能为空") + private String swingtime; + @ApiModelProperty(value = "设备名称", name = "devicename", required = true) + @NotEmpty(message = "设备名称不能为空") + private String devicename; + @ApiModelProperty(value = "人员编号", name = "personcode", required = true) + @NotEmpty(message = "人员编号不能为空") + private String personcode; + @ApiModelProperty(value = "开门类型, 详见开门类型 字典", name = "opentype", required = true) + @NotEmpty(message = "开门类型, 详见开门类型 字典不能为空") + private String opentype; + @ApiModelProperty(value = "组织编码", name = "orgcode", required = true) + @NotEmpty(message = "组织编码不能为空") + private String orgcode; + @ApiModelProperty(value = "证件类型", name = "papertype", required = true) + @NotEmpty(message = "证件类型不能为空") + private String papertype; + @ApiModelProperty(value = "证件号", name = "papernumber", required = true) + @NotEmpty(message = "证件号不能为空") + private String papernumber; + @ApiModelProperty(value = "错误详情", name = "errordetail", required = true) + @NotEmpty(message = "错误详情不能为空") + private String errordetail; + @ApiModelProperty(value = "开门错误码,0代表成功,96代表需远程验证(需结合平台上远程验证功能使用),其他参考门禁开门错误码", name = "openfailedcod", required = true) + @NotEmpty(message = "开门错误码,0代表成功,96代表需远程验证(需结合平台上远程验证功能使用),其他参考门禁开门错误码不能为空") + private String openfailedcod; + @ApiModelProperty(value = "固定值:evo-accesscontrol", name = "from", required = true) + @NotEmpty(message = "固定值:evo-accesscontrol不能为空") + private String from; + @ApiModelProperty(value = "extendId标识", name = "extendid", required = true) + @NotNull(message = "extendId标识不能为空") + private Long extendid; + @ApiModelProperty(value = "开始时间, 13位时间戳", name = "begintime", required = true) + @NotNull(message = "开始时间, 13位时间戳不能为空") + private Long begintime; + @ApiModelProperty(value = "通道名称", name = "acschannelname", required = true) + @NotEmpty(message = "通道名称不能为空") + private String acschannelname; + @ApiModelProperty(value = "预留字段,暂未使用,默认值为0", name = "cardstatus", required = true) + @NotNull(message = "预留字段,暂未使用,默认值为0不能为空") + private Integer cardstatus; + @ApiModelProperty(value = "组织名称", name = "orgname", required = true) + @NotEmpty(message = "组织名称不能为空") + private String orgname; + @ApiModelProperty(value = "性别 1 男,2 女, 0 未知", name = "sex", required = true) + @NotNull(message = "性别 1 男,2 女, 0 未知不能为空") + private Integer sex; + @ApiModelProperty(value = "人员部门id", name = "deptid", required = true) + @NotNull(message = "人员部门id不能为空") + private Integer deptid; + @ApiModelProperty(value = "卡类型", name = "cardtype", required = true) + @NotNull(message = "卡类型不能为空") + private Integer cardtype; + @ApiModelProperty(value = "设备编号", name = "devicecode", required = true) + @NotEmpty(message = "设备编号不能为空") + private String devicecode; + @ApiModelProperty(value = "人员姓名", name = "personname", required = true) + @NotEmpty(message = "人员姓名不能为空") + private String personname; + @ApiModelProperty(value = "刷卡人在平台上的图片,相对路径", name = "personimg", required = true) + @NotEmpty(message = "刷卡人在平台上的图片,相对路径不能为空") + private String personimg; + @ApiModelProperty(value = "开门结果 0 失败 1 成功", name = "openresult", required = true) + @NotNull(message = "开门结果 0 失败 1 成功不能为空") + private Integer openresult; + @ApiModelProperty(value = "人员id", name = "personid", required = true) + @NotNull(message = "人员id不能为空") + private Integer personid; + @ApiModelProperty(value = "抓拍图,相对路径", name = "recordimage1", required = true) + @NotEmpty(message = "抓拍图,相对路径不能为空") + private String recordimage1; + @ApiModelProperty(value = "卡介质 0 IC 1 有源RFID 2 CPU", name = "category", required = true) + @NotEmpty(message = "卡介质 0 IC 1 有源RFID 2 CPU不能为空") + private String category; + @ApiModelProperty(value = "卡号", name = "cardnumber", required = true) + @NotEmpty(message = "卡号不能为空") + private String cardnumber; + @ApiModelProperty(value = "rfid子类型,0:普通门禁,1:电动车,2:特殊人群关怀, 3:宠物", name = "rfidtype", required = true) + @NotNull(message = "rfid子类型,0:普通门禁,1:电动车,2:特殊人群关怀, 3:宠物不能为空") + private Integer rfidtype; + @ApiModelProperty(value = "年龄", name = "age", required = true) + @NotNull(message = "年龄不能为空") + private Integer age; + @ApiModelProperty(value = "0-非访客,1-访客", name = "vrecordflag", required = true) + @NotNull(message = "0-非访客,1-访客不能为空") + private Integer vrecordflag; +} + diff --git a/web-client/src/main/java/com/zcloud/primeport/dto/StatisticsByAreaCmd.java b/web-client/src/main/java/com/zcloud/primeport/dto/StatisticsByAreaCmd.java index f06f393..31ac197 100644 --- a/web-client/src/main/java/com/zcloud/primeport/dto/StatisticsByAreaCmd.java +++ b/web-client/src/main/java/com/zcloud/primeport/dto/StatisticsByAreaCmd.java @@ -7,6 +7,8 @@ import lombok.Data; import lombok.EqualsAndHashCode; import lombok.NoArgsConstructor; +import java.util.List; + /** * @author fangjiakai * @date 2025/11/17 9:41 @@ -16,5 +18,5 @@ import lombok.NoArgsConstructor; @NoArgsConstructor @AllArgsConstructor public class StatisticsByAreaCmd extends Command { - String[] ids; + List ids; } diff --git a/web-client/src/main/java/com/zcloud/primeport/dto/clientobject/MkmjCarRecordCO.java b/web-client/src/main/java/com/zcloud/primeport/dto/clientobject/MkmjCarRecordCO.java new file mode 100644 index 0000000..ae6e226 --- /dev/null +++ b/web-client/src/main/java/com/zcloud/primeport/dto/clientobject/MkmjCarRecordCO.java @@ -0,0 +1,126 @@ +package com.zcloud.primeport.dto.clientobject; + +import com.alibaba.cola.dto.ClientObject; +import com.fasterxml.jackson.annotation.JsonFormat; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.sql.Date; + + +/** + * web-client + * + * @Author fangjiakai + * @Date 2025-11-17 13:42:09 + */ +@Data +public class MkmjCarRecordCO extends ClientObject { + //主键id + @ApiModelProperty(value = "主键id") + private Long id; + //车辆id + @ApiModelProperty(value = "车辆id") + private String vehicleRecordId; + //车辆牌照号码 + @ApiModelProperty(value = "车辆牌照号码") + private String vehiclePlateNumber; + //车辆行驶证号码 + @ApiModelProperty(value = "车辆行驶证号码") + private String vehicleRegistrationNumber; + //车辆类型名称 + @ApiModelProperty(value = "车辆类型名称") + private String vehicleCategoryName; + //车辆联系人姓名 + @ApiModelProperty(value = "车辆联系人姓名") + private String vehicleContactName; + //车辆联系人电话 + @ApiModelProperty(value = "车辆联系人电话") + private String vehicleContactPhoneNumber; + //车辆备案信息录入单位 + @ApiModelProperty(value = "车辆备案信息录入单位") + private String vehicleFilingInfoRecordingOrg; + //车辆牌照颜色名称 + @ApiModelProperty(value = "车辆牌照颜色名称") + private String vehiclePlateColor; + //车辆入港闸口 + @ApiModelProperty(value = "车辆入港闸口") + private String vehicleArrivalBarrier; + private String regexArrivalBarrier; + //车辆入港时间 + @ApiModelProperty(value = "车辆入港时间") + private String vehicleArrivalTime; + //车辆离港闸口 + @ApiModelProperty(value = "车辆离港闸口") + private String vehicleDepartureBarrier; + private String regexDepartureBarrier; + //车辆离港时间 + @ApiModelProperty(value = "车辆离港时间") + private String vehicleDepartureTime; + //车辆备案方式 + @ApiModelProperty(value = "车辆备案方式") + private String vehicleFilingMethod; + //车辆在港状态 + @ApiModelProperty(value = "车辆在港状态") + private String vehicleArrivalStatus; + //数据来源 + @ApiModelProperty(value = "数据来源") + private String edwDataSource; + //数据创建日期 + @ApiModelProperty(value = "数据创建日期") + private String edwCreateDate; + //数据更新日期 + @ApiModelProperty(value = "数据更新日期") + private String edwLastUpdate; + //数据有效标识 + @ApiModelProperty(value = "数据有效标识") + private String edwValidFlag; + //分区列 + @ApiModelProperty(value = "分区列") + private Long dataVersion; + //同步时间 + @ApiModelProperty(value = "同步时间") + @JsonFormat(pattern = "yyyy-MM-dd") + private Date accLastUpdateDate; + //自增长id主键 + @ApiModelProperty(value = "自增长id主键") + private Long idSequence; + //同步时间 + @ApiModelProperty(value = "同步时间") + private String synctime; + //删除标识true false + @ApiModelProperty(value = "删除标识true false") + private String deleteEnum; + //备注 + @ApiModelProperty(value = "备注") + private String remarks; + //创建人姓名 + @ApiModelProperty(value = "创建人姓名") + private String createName; + //更新人姓名 + @ApiModelProperty(value = "更新人姓名") + private String updateName; + //租户id + @ApiModelProperty(value = "租户id") + private Long tenantId; + //单位id + @ApiModelProperty(value = "单位id") + private Long orgId; + //版本 + @ApiModelProperty(value = "版本") + private String version; + //创建时间 + @ApiModelProperty(value = "创建时间") + private String createTime; + //修改时间 + @ApiModelProperty(value = "修改时间") + private String updateTime; + //创建人id + @ApiModelProperty(value = "创建人id") + private Long createId; + //修改人id + @ApiModelProperty(value = "修改人id") + private Long updateId; + private String env; +} + diff --git a/web-client/src/main/java/com/zcloud/primeport/dto/clientobject/MkmjSwipeCardRecordCO.java b/web-client/src/main/java/com/zcloud/primeport/dto/clientobject/MkmjSwipeCardRecordCO.java new file mode 100644 index 0000000..c77144c --- /dev/null +++ b/web-client/src/main/java/com/zcloud/primeport/dto/clientobject/MkmjSwipeCardRecordCO.java @@ -0,0 +1,189 @@ +package com.zcloud.primeport.dto.clientobject; + +import com.alibaba.cola.dto.ClientObject; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + + +/** + * web-client + * + * @Author fangjiakai + * @Date 2025-11-17 13:42:10 + */ +@Data +public class MkmjSwipeCardRecordCO extends ClientObject { + //主键 + @ApiModelProperty(value = "主键") + private Long id; + //节点编码 + @ApiModelProperty(value = "节点编码") + private String nodecode; + //报警编号 + @ApiModelProperty(value = "报警编号") + private String alarmcode; + //报警图片路径 + @ApiModelProperty(value = "报警图片路径") + private String alarmpicture; + //节点类型 + @ApiModelProperty(value = "节点类型") + private String nodetype; + //报警时间,10位时间戳 + @ApiModelProperty(value = "报警时间,10位时间戳") + private Integer alarmdate; + //报警等级 1:严重,2:一般,3:轻微 + @ApiModelProperty(value = "报警等级 1:严重,2:一般,3:轻微") + private Integer alarmgrade; + //单元类型 + @ApiModelProperty(value = "单元类型") + private Integer unittype; + //报警类型 + @ApiModelProperty(value = "报警类型") + private Integer alarmtype; + //通道序号 + @ApiModelProperty(value = "通道序号") + private Integer channelseq; + //通道名称 + @ApiModelProperty(value = "通道名称") + private String channelname; + //报警状态 1:报警产生,2:报警消失 + @ApiModelProperty(value = "报警状态 1:报警产生,2:报警消失") + private Integer alarmstat; + //部门名称 + @ApiModelProperty(value = "部门名称") + private String deptname; + //通道编号 + @ApiModelProperty(value = "通道编号") + private String acschannelcode; + //口罩状态 3-戴口罩,2-未戴口罩,1-未识别,0-未知 + @ApiModelProperty(value = "口罩状态 3-戴口罩,2-未戴口罩,1-未识别,0-未知") + private Integer maskstate; + //进出门类型: 详见 读卡器业务类型字典 + @ApiModelProperty(value = "进出门类型: 详见 读卡器业务类型字典") + private String enterorexit; + //开门类型字符串 + @ApiModelProperty(value = "开门类型字符串") + private String opentypestr; + //刷卡时间,格式:yyyy-MM:dd HH:mm:ss + @ApiModelProperty(value = "刷卡时间,格式:yyyy-MM:dd HH:mm:ss") + private String swingtime; + //设备名称 + @ApiModelProperty(value = "设备名称") + private String devicename; + //人员编号 + @ApiModelProperty(value = "人员编号") + private String personcode; + //开门类型, 详见开门类型 字典 + @ApiModelProperty(value = "开门类型, 详见开门类型 字典") + private String opentype; + //组织编码 + @ApiModelProperty(value = "组织编码") + private String orgcode; + //证件类型 + @ApiModelProperty(value = "证件类型") + private String papertype; + //证件号 + @ApiModelProperty(value = "证件号") + private String papernumber; + //错误详情 + @ApiModelProperty(value = "错误详情") + private String errordetail; + //开门错误码,0代表成功,96代表需远程验证(需结合平台上远程验证功能使用),其他参考门禁开门错误码 + @ApiModelProperty(value = "开门错误码,0代表成功,96代表需远程验证(需结合平台上远程验证功能使用),其他参考门禁开门错误码") + private String openfailedcod; + //固定值:evo-accesscontrol + @ApiModelProperty(value = "固定值:evo-accesscontrol") + private String from; + //extendId标识 + @ApiModelProperty(value = "extendId标识") + private Long extendid; + //开始时间, 13位时间戳 + @ApiModelProperty(value = "开始时间, 13位时间戳") + private Long begintime; + //通道名称 + @ApiModelProperty(value = "通道名称") + private String acschannelname; + //预留字段,暂未使用,默认值为0 + @ApiModelProperty(value = "预留字段,暂未使用,默认值为0") + private Integer cardstatus; + //组织名称 + @ApiModelProperty(value = "组织名称") + private String orgname; + //性别 1 男,2 女, 0 未知 + @ApiModelProperty(value = "性别 1 男,2 女, 0 未知") + private Integer sex; + //人员部门id + @ApiModelProperty(value = "人员部门id") + private Integer deptid; + //卡类型 + @ApiModelProperty(value = "卡类型") + private Integer cardtype; + //设备编号 + @ApiModelProperty(value = "设备编号") + private String devicecode; + //人员姓名 + @ApiModelProperty(value = "人员姓名") + private String personname; + //刷卡人在平台上的图片,相对路径 + @ApiModelProperty(value = "刷卡人在平台上的图片,相对路径") + private String personimg; + //开门结果 0 失败 1 成功 + @ApiModelProperty(value = "开门结果 0 失败 1 成功") + private Integer openresult; + //人员id + @ApiModelProperty(value = "人员id") + private Integer personid; + //抓拍图,相对路径 + @ApiModelProperty(value = "抓拍图,相对路径") + private String recordimage1; + //卡介质 0 IC 1 有源RFID 2 CPU + @ApiModelProperty(value = "卡介质 0 IC 1 有源RFID 2 CPU") + private String category; + //卡号 + @ApiModelProperty(value = "卡号") + private String cardnumber; + //rfid子类型,0:普通门禁,1:电动车,2:特殊人群关怀, 3:宠物 + @ApiModelProperty(value = "rfid子类型,0:普通门禁,1:电动车,2:特殊人群关怀, 3:宠物") + private Integer rfidtype; + //年龄 + @ApiModelProperty(value = "年龄") + private Integer age; + //0-非访客,1-访客 + @ApiModelProperty(value = "0-非访客,1-访客") + private Integer vrecordflag; + //删除标识true false + @ApiModelProperty(value = "删除标识true false") + private String deleteEnum; + //备注 + @ApiModelProperty(value = "备注") + private String remarks; + //创建人姓名 + @ApiModelProperty(value = "创建人姓名") + private String createName; + //更新人姓名 + @ApiModelProperty(value = "更新人姓名") + private String updateName; + //租户id + @ApiModelProperty(value = "租户id") + private Long tenantId; + //单位id + @ApiModelProperty(value = "单位id") + private Long orgId; + //版本 + @ApiModelProperty(value = "版本") + private String version; + //创建时间 + @ApiModelProperty(value = "创建时间") + private String createTime; + //修改时间 + @ApiModelProperty(value = "修改时间") + private String updateTime; + //创建人id + @ApiModelProperty(value = "创建人id") + private Long createId; + //修改人id + @ApiModelProperty(value = "修改人id") + private Long updateId; + private String env; +} + diff --git a/web-domain/src/main/java/com/zcloud/primeport/domain/gateway/MkmjCarRecordGateway.java b/web-domain/src/main/java/com/zcloud/primeport/domain/gateway/MkmjCarRecordGateway.java new file mode 100644 index 0000000..62117bb --- /dev/null +++ b/web-domain/src/main/java/com/zcloud/primeport/domain/gateway/MkmjCarRecordGateway.java @@ -0,0 +1,30 @@ +package com.zcloud.primeport.domain.gateway; + +import com.zcloud.primeport.domain.model.MkmjCarRecordE; + +/** + * web-domain + * + * @Author fangjiakai + * @Date 2025-11-17 13:42:09 + */ +public interface MkmjCarRecordGateway { + + /** + * 新增 + */ + Boolean add(MkmjCarRecordE mkmjCarRecordE); + + /** + * 修改 + */ + Boolean update(MkmjCarRecordE mkmjCarRecordE); + + /** + * 删除 + */ + Boolean deletedMkmjCarRecordById(Long id); + + Boolean deletedMkmjCarRecordByIds(Long[] id); +} + diff --git a/web-domain/src/main/java/com/zcloud/primeport/domain/gateway/MkmjSwipeCardRecordGateway.java b/web-domain/src/main/java/com/zcloud/primeport/domain/gateway/MkmjSwipeCardRecordGateway.java new file mode 100644 index 0000000..abb25a8 --- /dev/null +++ b/web-domain/src/main/java/com/zcloud/primeport/domain/gateway/MkmjSwipeCardRecordGateway.java @@ -0,0 +1,30 @@ +package com.zcloud.primeport.domain.gateway; + +import com.zcloud.primeport.domain.model.MkmjSwipeCardRecordE; + +/** + * web-domain + * + * @Author fangjiakai + * @Date 2025-11-17 13:42:10 + */ +public interface MkmjSwipeCardRecordGateway { + + /** + * 新增 + */ + Boolean add(MkmjSwipeCardRecordE mkmjSwipeCardRecordE); + + /** + * 修改 + */ + Boolean update(MkmjSwipeCardRecordE mkmjSwipeCardRecordE); + + /** + * 删除 + */ + Boolean deletedMkmjSwipeCardRecordById(Long id); + + Boolean deletedMkmjSwipeCardRecordByIds(Long[] id); +} + diff --git a/web-domain/src/main/java/com/zcloud/primeport/domain/model/MkmjCarRecordE.java b/web-domain/src/main/java/com/zcloud/primeport/domain/model/MkmjCarRecordE.java new file mode 100644 index 0000000..d746f83 --- /dev/null +++ b/web-domain/src/main/java/com/zcloud/primeport/domain/model/MkmjCarRecordE.java @@ -0,0 +1,63 @@ +package com.zcloud.primeport.domain.model; + +import com.jjb.saas.framework.domain.model.BaseE; +import lombok.Data; + +import java.sql.Date; + +/** + * web-domain + * + * @Author fangjiakai + * @Date 2025-11-17 13:42:09 + */ +@Data +public class MkmjCarRecordE extends BaseE { + //车辆id + private String vehicleRecordId; + //车辆牌照号码 + private String vehiclePlateNumber; + //车辆行驶证号码 + private String vehicleRegistrationNumber; + //车辆类型名称 + private String vehicleCategoryName; + //车辆联系人姓名 + private String vehicleContactName; + //车辆联系人电话 + private String vehicleContactPhoneNumber; + //车辆备案信息录入单位 + private String vehicleFilingInfoRecordingOrg; + //车辆牌照颜色名称 + private String vehiclePlateColor; + //车辆入港闸口 + private String vehicleArrivalBarrier; + private String regexArrivalBarrier; + //车辆入港时间 + private String vehicleArrivalTime; + //车辆离港闸口 + private String vehicleDepartureBarrier; + private String regexDepartureBarrier; + //车辆离港时间 + private String vehicleDepartureTime; + //车辆备案方式 + private String vehicleFilingMethod; + //车辆在港状态 + private String vehicleArrivalStatus; + //数据来源 + private String edwDataSource; + //数据创建日期 + private String edwCreateDate; + //数据更新日期 + private String edwLastUpdate; + //数据有效标识 + private String edwValidFlag; + //分区列 + private Long dataVersion; + //同步时间 + private Date accLastUpdateDate; + //自增长id主键 + private Long idSequence; + //同步时间 + private String synctime; +} + diff --git a/web-domain/src/main/java/com/zcloud/primeport/domain/model/MkmjStatisticsE.java b/web-domain/src/main/java/com/zcloud/primeport/domain/model/MkmjStatisticsE.java index a8be5a0..c2e0c61 100644 --- a/web-domain/src/main/java/com/zcloud/primeport/domain/model/MkmjStatisticsE.java +++ b/web-domain/src/main/java/com/zcloud/primeport/domain/model/MkmjStatisticsE.java @@ -4,12 +4,15 @@ import com.alibaba.cola.dto.ClientObject; import com.jjb.saas.framework.domain.model.BaseE; import lombok.Data; +import java.io.Serializable; + /** * @author fangjiakai * @date 2025/11/17 9:44 */ @Data -public class MkmjStatisticsE extends BaseE { +public class MkmjStatisticsE implements Serializable { + private static final long serialVersionUID = 1L; private String id; private Long carInCount; private Long carOutCount; diff --git a/web-domain/src/main/java/com/zcloud/primeport/domain/model/MkmjSwipeCardRecordE.java b/web-domain/src/main/java/com/zcloud/primeport/domain/model/MkmjSwipeCardRecordE.java new file mode 100644 index 0000000..c725b4f --- /dev/null +++ b/web-domain/src/main/java/com/zcloud/primeport/domain/model/MkmjSwipeCardRecordE.java @@ -0,0 +1,105 @@ +package com.zcloud.primeport.domain.model; + +import com.jjb.saas.framework.domain.model.BaseE; +import lombok.Data; + +/** + * web-domain + * + * @Author fangjiakai + * @Date 2025-11-17 13:42:10 + */ +@Data +public class MkmjSwipeCardRecordE extends BaseE { + //节点编码 + private String nodecode; + //报警编号 + private String alarmcode; + //报警图片路径 + private String alarmpicture; + //节点类型 + private String nodetype; + //报警时间,10位时间戳 + private Integer alarmdate; + //报警等级 1:严重,2:一般,3:轻微 + private Integer alarmgrade; + //单元类型 + private Integer unittype; + //报警类型 + private Integer alarmtype; + //通道序号 + private Integer channelseq; + //通道名称 + private String channelname; + //报警状态 1:报警产生,2:报警消失 + private Integer alarmstat; + //部门名称 + private String deptname; + //通道编号 + private String acschannelcode; + //口罩状态 3-戴口罩,2-未戴口罩,1-未识别,0-未知 + private Integer maskstate; + //进出门类型: 详见 读卡器业务类型字典 + private String enterorexit; + //开门类型字符串 + private String opentypestr; + //刷卡时间,格式:yyyy-MM:dd HH:mm:ss + private String swingtime; + //设备名称 + private String devicename; + //人员编号 + private String personcode; + //开门类型, 详见开门类型 字典 + private String opentype; + //组织编码 + private String orgcode; + //证件类型 + private String papertype; + //证件号 + private String papernumber; + //错误详情 + private String errordetail; + //开门错误码,0代表成功,96代表需远程验证(需结合平台上远程验证功能使用),其他参考门禁开门错误码 + private String openfailedcod; + //固定值:evo-accesscontrol + private String from; + //extendId标识 + private Long extendid; + //开始时间, 13位时间戳 + private Long begintime; + //通道名称 + private String acschannelname; + //预留字段,暂未使用,默认值为0 + private Integer cardstatus; + //组织名称 + private String orgname; + //性别 1 男,2 女, 0 未知 + private Integer sex; + //人员部门id + private Integer deptid; + //卡类型 + private Integer cardtype; + //设备编号 + private String devicecode; + //人员姓名 + private String personname; + //刷卡人在平台上的图片,相对路径 + private String personimg; + //开门结果 0 失败 1 成功 + private Integer openresult; + //人员id + private Integer personid; + //抓拍图,相对路径 + private String recordimage1; + //卡介质 0 IC 1 有源RFID 2 CPU + private String category; + //卡号 + private String cardnumber; + //rfid子类型,0:普通门禁,1:电动车,2:特殊人群关怀, 3:宠物 + private Integer rfidtype; + //年龄 + private Integer age; + //0-非访客,1-访客 + private Integer vrecordflag; +} + diff --git a/web-infrastructure/src/main/java/com/zcloud/primeport/gatewayimpl/MkmjCarRecordGatewayImpl.java b/web-infrastructure/src/main/java/com/zcloud/primeport/gatewayimpl/MkmjCarRecordGatewayImpl.java new file mode 100644 index 0000000..eaec76b --- /dev/null +++ b/web-infrastructure/src/main/java/com/zcloud/primeport/gatewayimpl/MkmjCarRecordGatewayImpl.java @@ -0,0 +1,52 @@ +package com.zcloud.primeport.gatewayimpl; + +import com.zcloud.primeport.domain.gateway.MkmjCarRecordGateway; +import com.zcloud.primeport.domain.model.MkmjCarRecordE; +import com.zcloud.primeport.persistence.dataobject.MkmjCarRecordDO; +import com.zcloud.primeport.persistence.repository.MkmjCarRecordRepository; +import lombok.AllArgsConstructor; +import com.zcloud.gbscommon.utils.Tools; +import org.springframework.beans.BeanUtils; +import org.springframework.stereotype.Service; + +import java.util.Arrays; +import java.util.Collections; + +/** + * web-infrastructure + * + * @Author fangjiakai + * @Date 2025-11-17 13:42:09 + */ +@Service +@AllArgsConstructor +public class MkmjCarRecordGatewayImpl implements MkmjCarRecordGateway { + private final MkmjCarRecordRepository mkmjCarRecordRepository; + + @Override + public Boolean add(MkmjCarRecordE mkmjCarRecordE) { + MkmjCarRecordDO d = new MkmjCarRecordDO(); + BeanUtils.copyProperties(mkmjCarRecordE, d); + mkmjCarRecordRepository.save(d); + return true; + } + + @Override + public Boolean update(MkmjCarRecordE mkmjCarRecordE) { + MkmjCarRecordDO d = new MkmjCarRecordDO(); + BeanUtils.copyProperties(mkmjCarRecordE, d); + mkmjCarRecordRepository.updateById(d); + return true; + } + + @Override + public Boolean deletedMkmjCarRecordById(Long id) { + return mkmjCarRecordRepository.removeById(id); + } + + @Override + public Boolean deletedMkmjCarRecordByIds(Long[] ids) { + return mkmjCarRecordRepository.removeByIds(Collections.singletonList(ids)); + } +} + diff --git a/web-infrastructure/src/main/java/com/zcloud/primeport/gatewayimpl/MkmjGateVideoGatewayImpl.java b/web-infrastructure/src/main/java/com/zcloud/primeport/gatewayimpl/MkmjGateVideoGatewayImpl.java index 19e020b..072ec60 100644 --- a/web-infrastructure/src/main/java/com/zcloud/primeport/gatewayimpl/MkmjGateVideoGatewayImpl.java +++ b/web-infrastructure/src/main/java/com/zcloud/primeport/gatewayimpl/MkmjGateVideoGatewayImpl.java @@ -24,8 +24,8 @@ public class MkmjGateVideoGatewayImpl implements MkmjGateVideoGateway { @Override public Boolean add(MkmjGateVideoE mkmjGateVideoE) { - MkmjGateVideoDO d = new MkmjGateVideoDO(Tools.get32UUID()); - BeanUtils.copyProperties(mkmjGateVideoE, d, "${uuid}"); + MkmjGateVideoDO d = new MkmjGateVideoDO(); + BeanUtils.copyProperties(mkmjGateVideoE, d); mkmjGateVideoRepository.save(d); return true; } diff --git a/web-infrastructure/src/main/java/com/zcloud/primeport/gatewayimpl/MkmjSwipeCardRecordGatewayImpl.java b/web-infrastructure/src/main/java/com/zcloud/primeport/gatewayimpl/MkmjSwipeCardRecordGatewayImpl.java new file mode 100644 index 0000000..e2f933a --- /dev/null +++ b/web-infrastructure/src/main/java/com/zcloud/primeport/gatewayimpl/MkmjSwipeCardRecordGatewayImpl.java @@ -0,0 +1,52 @@ +package com.zcloud.primeport.gatewayimpl; + +import com.zcloud.primeport.domain.gateway.MkmjSwipeCardRecordGateway; +import com.zcloud.primeport.domain.model.MkmjSwipeCardRecordE; +import com.zcloud.primeport.persistence.dataobject.MkmjSwipeCardRecordDO; +import com.zcloud.primeport.persistence.repository.MkmjSwipeCardRecordRepository; +import lombok.AllArgsConstructor; +import com.zcloud.gbscommon.utils.Tools; +import org.springframework.beans.BeanUtils; +import org.springframework.stereotype.Service; + +import java.util.Arrays; +import java.util.Collections; + +/** + * web-infrastructure + * + * @Author fangjiakai + * @Date 2025-11-17 13:42:10 + */ +@Service +@AllArgsConstructor +public class MkmjSwipeCardRecordGatewayImpl implements MkmjSwipeCardRecordGateway { + private final MkmjSwipeCardRecordRepository mkmjSwipeCardRecordRepository; + + @Override + public Boolean add(MkmjSwipeCardRecordE mkmjSwipeCardRecordE) { + MkmjSwipeCardRecordDO d = new MkmjSwipeCardRecordDO(); + BeanUtils.copyProperties(mkmjSwipeCardRecordE, d); + mkmjSwipeCardRecordRepository.save(d); + return true; + } + + @Override + public Boolean update(MkmjSwipeCardRecordE mkmjSwipeCardRecordE) { + MkmjSwipeCardRecordDO d = new MkmjSwipeCardRecordDO(); + BeanUtils.copyProperties(mkmjSwipeCardRecordE, d); + mkmjSwipeCardRecordRepository.updateById(d); + return true; + } + + @Override + public Boolean deletedMkmjSwipeCardRecordById(Long id) { + return mkmjSwipeCardRecordRepository.removeById(id); + } + + @Override + public Boolean deletedMkmjSwipeCardRecordByIds(Long[] ids) { + return mkmjSwipeCardRecordRepository.removeByIds(Collections.singletonList(ids)); + } +} + diff --git a/web-infrastructure/src/main/java/com/zcloud/primeport/persistence/dataobject/MkmjCarRecordDO.java b/web-infrastructure/src/main/java/com/zcloud/primeport/persistence/dataobject/MkmjCarRecordDO.java new file mode 100644 index 0000000..45e9971 --- /dev/null +++ b/web-infrastructure/src/main/java/com/zcloud/primeport/persistence/dataobject/MkmjCarRecordDO.java @@ -0,0 +1,94 @@ +package com.zcloud.primeport.persistence.dataobject; + +import com.baomidou.mybatisplus.annotation.TableName; +import com.jjb.saas.framework.repository.basedo.BaseDO; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.NoArgsConstructor; + +import java.sql.Date; + +/** + * web-infrastructure + * + * @Author fangjiakai + * @Date 2025-11-17 13:42:09 + */ +@Data +@TableName("mkmj_car_record") +@NoArgsConstructor +@EqualsAndHashCode(callSuper = true) +public class MkmjCarRecordDO extends BaseDO { + //车辆id + @ApiModelProperty(value = "车辆id") + private String vehicleRecordId; + //车辆牌照号码 + @ApiModelProperty(value = "车辆牌照号码") + private String vehiclePlateNumber; + //车辆行驶证号码 + @ApiModelProperty(value = "车辆行驶证号码") + private String vehicleRegistrationNumber; + //车辆类型名称 + @ApiModelProperty(value = "车辆类型名称") + private String vehicleCategoryName; + //车辆联系人姓名 + @ApiModelProperty(value = "车辆联系人姓名") + private String vehicleContactName; + //车辆联系人电话 + @ApiModelProperty(value = "车辆联系人电话") + private String vehicleContactPhoneNumber; + //车辆备案信息录入单位 + @ApiModelProperty(value = "车辆备案信息录入单位") + private String vehicleFilingInfoRecordingOrg; + //车辆牌照颜色名称 + @ApiModelProperty(value = "车辆牌照颜色名称") + private String vehiclePlateColor; + //车辆入港闸口 + @ApiModelProperty(value = "车辆入港闸口") + private String vehicleArrivalBarrier; + private String regexArrivalBarrier; + //车辆入港时间 + @ApiModelProperty(value = "车辆入港时间") + private String vehicleArrivalTime; + //车辆离港闸口 + @ApiModelProperty(value = "车辆离港闸口") + private String vehicleDepartureBarrier; + private String regexDepartureBarrier; + //车辆离港时间 + @ApiModelProperty(value = "车辆离港时间") + private String vehicleDepartureTime; + //车辆备案方式 + @ApiModelProperty(value = "车辆备案方式") + private String vehicleFilingMethod; + //车辆在港状态 + @ApiModelProperty(value = "车辆在港状态") + private String vehicleArrivalStatus; + //数据来源 + @ApiModelProperty(value = "数据来源") + private String edwDataSource; + //数据创建日期 + @ApiModelProperty(value = "数据创建日期") + private String edwCreateDate; + //数据更新日期 + @ApiModelProperty(value = "数据更新日期") + private String edwLastUpdate; + //数据有效标识 + @ApiModelProperty(value = "数据有效标识") + private String edwValidFlag; + //分区列 + @ApiModelProperty(value = "分区列") + private Long dataVersion; + //同步时间 + @ApiModelProperty(value = "同步时间") + private Date accLastUpdateDate; + //自增长id主键 + @ApiModelProperty(value = "自增长id主键") + private Long idSequence; + //同步时间 + @ApiModelProperty(value = "同步时间") + private String synctime; + + +} + diff --git a/web-infrastructure/src/main/java/com/zcloud/primeport/persistence/dataobject/MkmjSwipeCardRecordDO.java b/web-infrastructure/src/main/java/com/zcloud/primeport/persistence/dataobject/MkmjSwipeCardRecordDO.java new file mode 100644 index 0000000..410e658 --- /dev/null +++ b/web-infrastructure/src/main/java/com/zcloud/primeport/persistence/dataobject/MkmjSwipeCardRecordDO.java @@ -0,0 +1,159 @@ +package com.zcloud.primeport.persistence.dataobject; + +import com.baomidou.mybatisplus.annotation.TableName; +import com.jjb.saas.framework.repository.basedo.BaseDO; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.NoArgsConstructor; + +/** + * web-infrastructure + * + * @Author fangjiakai + * @Date 2025-11-17 13:42:10 + */ +@Data +@TableName("mkmj_swipe_card_record") +@NoArgsConstructor +@EqualsAndHashCode(callSuper = true) +public class MkmjSwipeCardRecordDO extends BaseDO { + //节点编码 + @ApiModelProperty(value = "节点编码") + private String nodecode; + //报警编号 + @ApiModelProperty(value = "报警编号") + private String alarmcode; + //报警图片路径 + @ApiModelProperty(value = "报警图片路径") + private String alarmpicture; + //节点类型 + @ApiModelProperty(value = "节点类型") + private String nodetype; + //报警时间,10位时间戳 + @ApiModelProperty(value = "报警时间,10位时间戳") + private Integer alarmdate; + //报警等级 1:严重,2:一般,3:轻微 + @ApiModelProperty(value = "报警等级 1:严重,2:一般,3:轻微") + private Integer alarmgrade; + //单元类型 + @ApiModelProperty(value = "单元类型") + private Integer unittype; + //报警类型 + @ApiModelProperty(value = "报警类型") + private Integer alarmtype; + //通道序号 + @ApiModelProperty(value = "通道序号") + private Integer channelseq; + //通道名称 + @ApiModelProperty(value = "通道名称") + private String channelname; + //报警状态 1:报警产生,2:报警消失 + @ApiModelProperty(value = "报警状态 1:报警产生,2:报警消失") + private Integer alarmstat; + //部门名称 + @ApiModelProperty(value = "部门名称") + private String deptname; + //通道编号 + @ApiModelProperty(value = "通道编号") + private String acschannelcode; + //口罩状态 3-戴口罩,2-未戴口罩,1-未识别,0-未知 + @ApiModelProperty(value = "口罩状态 3-戴口罩,2-未戴口罩,1-未识别,0-未知") + private Integer maskstate; + //进出门类型: 详见 读卡器业务类型字典 + @ApiModelProperty(value = "进出门类型: 详见 读卡器业务类型字典") + private String enterorexit; + //开门类型字符串 + @ApiModelProperty(value = "开门类型字符串") + private String opentypestr; + //刷卡时间,格式:yyyy-MM:dd HH:mm:ss + @ApiModelProperty(value = "刷卡时间,格式:yyyy-MM:dd HH:mm:ss") + private String swingtime; + //设备名称 + @ApiModelProperty(value = "设备名称") + private String devicename; + //人员编号 + @ApiModelProperty(value = "人员编号") + private String personcode; + //开门类型, 详见开门类型 字典 + @ApiModelProperty(value = "开门类型, 详见开门类型 字典") + private String opentype; + //组织编码 + @ApiModelProperty(value = "组织编码") + private String orgcode; + //证件类型 + @ApiModelProperty(value = "证件类型") + private String papertype; + //证件号 + @ApiModelProperty(value = "证件号") + private String papernumber; + //错误详情 + @ApiModelProperty(value = "错误详情") + private String errordetail; + //开门错误码,0代表成功,96代表需远程验证(需结合平台上远程验证功能使用),其他参考门禁开门错误码 + @ApiModelProperty(value = "开门错误码,0代表成功,96代表需远程验证(需结合平台上远程验证功能使用),其他参考门禁开门错误码") + private String openfailedcod; + //固定值:evo-accesscontrol + @ApiModelProperty(value = "固定值:evo-accesscontrol") + private String from; + //extendId标识 + @ApiModelProperty(value = "extendId标识") + private Long extendid; + //开始时间, 13位时间戳 + @ApiModelProperty(value = "开始时间, 13位时间戳") + private Long begintime; + //通道名称 + @ApiModelProperty(value = "通道名称") + private String acschannelname; + //预留字段,暂未使用,默认值为0 + @ApiModelProperty(value = "预留字段,暂未使用,默认值为0") + private Integer cardstatus; + //组织名称 + @ApiModelProperty(value = "组织名称") + private String orgname; + //性别 1 男,2 女, 0 未知 + @ApiModelProperty(value = "性别 1 男,2 女, 0 未知") + private Integer sex; + //人员部门id + @ApiModelProperty(value = "人员部门id") + private Integer deptid; + //卡类型 + @ApiModelProperty(value = "卡类型") + private Integer cardtype; + //设备编号 + @ApiModelProperty(value = "设备编号") + private String devicecode; + //人员姓名 + @ApiModelProperty(value = "人员姓名") + private String personname; + //刷卡人在平台上的图片,相对路径 + @ApiModelProperty(value = "刷卡人在平台上的图片,相对路径") + private String personimg; + //开门结果 0 失败 1 成功 + @ApiModelProperty(value = "开门结果 0 失败 1 成功") + private Integer openresult; + //人员id + @ApiModelProperty(value = "人员id") + private Integer personid; + //抓拍图,相对路径 + @ApiModelProperty(value = "抓拍图,相对路径") + private String recordimage1; + //卡介质 0 IC 1 有源RFID 2 CPU + @ApiModelProperty(value = "卡介质 0 IC 1 有源RFID 2 CPU") + private String category; + //卡号 + @ApiModelProperty(value = "卡号") + private String cardnumber; + //rfid子类型,0:普通门禁,1:电动车,2:特殊人群关怀, 3:宠物 + @ApiModelProperty(value = "rfid子类型,0:普通门禁,1:电动车,2:特殊人群关怀, 3:宠物") + private Integer rfidtype; + //年龄 + @ApiModelProperty(value = "年龄") + private Integer age; + //0-非访客,1-访客 + @ApiModelProperty(value = "0-非访客,1-访客") + private Integer vrecordflag; + + +} + diff --git a/web-infrastructure/src/main/java/com/zcloud/primeport/persistence/mapper/MkmjCarRecordMapper.java b/web-infrastructure/src/main/java/com/zcloud/primeport/persistence/mapper/MkmjCarRecordMapper.java new file mode 100644 index 0000000..98e8ea2 --- /dev/null +++ b/web-infrastructure/src/main/java/com/zcloud/primeport/persistence/mapper/MkmjCarRecordMapper.java @@ -0,0 +1,23 @@ +package com.zcloud.primeport.persistence.mapper; + +import com.zcloud.primeport.domain.model.MkmjStatisticsE; +import com.zcloud.primeport.persistence.dataobject.MkmjCarRecordDO; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; + +import java.util.List; + +/** + * web-infrastructure + * + * @Author fangjiakai + * @Date 2025-11-17 13:42:09 + */ +@Mapper +public interface MkmjCarRecordMapper extends BaseMapper { + List statisticsByArea(@Param("ids") List ids); + + List statisticsByPassage(@Param("ids") List ids); +} + diff --git a/web-infrastructure/src/main/java/com/zcloud/primeport/persistence/mapper/MkmjSwipeCardRecordMapper.java b/web-infrastructure/src/main/java/com/zcloud/primeport/persistence/mapper/MkmjSwipeCardRecordMapper.java new file mode 100644 index 0000000..86f7c8d --- /dev/null +++ b/web-infrastructure/src/main/java/com/zcloud/primeport/persistence/mapper/MkmjSwipeCardRecordMapper.java @@ -0,0 +1,23 @@ +package com.zcloud.primeport.persistence.mapper; + +import com.zcloud.primeport.domain.model.MkmjStatisticsE; +import com.zcloud.primeport.persistence.dataobject.MkmjSwipeCardRecordDO; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; + +import java.util.List; + +/** + * web-infrastructure + * + * @Author fangjiakai + * @Date 2025-11-17 13:42:10 + */ +@Mapper +public interface MkmjSwipeCardRecordMapper extends BaseMapper { + + List statisticsByArea(@Param("ids") List ids); + List statisticsByPassage(@Param("ids") List ids); +} + diff --git a/web-infrastructure/src/main/java/com/zcloud/primeport/persistence/repository/MkmjCarRecordRepository.java b/web-infrastructure/src/main/java/com/zcloud/primeport/persistence/repository/MkmjCarRecordRepository.java new file mode 100644 index 0000000..b948568 --- /dev/null +++ b/web-infrastructure/src/main/java/com/zcloud/primeport/persistence/repository/MkmjCarRecordRepository.java @@ -0,0 +1,25 @@ +package com.zcloud.primeport.persistence.repository; + +import com.zcloud.primeport.domain.model.MkmjStatisticsE; +import com.zcloud.primeport.persistence.dataobject.MkmjCarRecordDO; +import com.alibaba.cola.dto.PageResponse; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.jjb.saas.framework.repository.repo.BaseRepository; + +import java.util.List; +import java.util.Map; + +/** + * web-infrastructure + * + * @Author fangjiakai + * @Date 2025-11-17 13:42:09 + */ +public interface MkmjCarRecordRepository extends BaseRepository { + PageResponse listPage(Map params); + + List statisticsByArea(List ids); + + List statisticsByPassage(List ids); +} + diff --git a/web-infrastructure/src/main/java/com/zcloud/primeport/persistence/repository/MkmjSwipeCardRecordRepository.java b/web-infrastructure/src/main/java/com/zcloud/primeport/persistence/repository/MkmjSwipeCardRecordRepository.java new file mode 100644 index 0000000..d1b08a3 --- /dev/null +++ b/web-infrastructure/src/main/java/com/zcloud/primeport/persistence/repository/MkmjSwipeCardRecordRepository.java @@ -0,0 +1,25 @@ +package com.zcloud.primeport.persistence.repository; + +import com.zcloud.primeport.domain.model.MkmjStatisticsE; +import com.zcloud.primeport.persistence.dataobject.MkmjSwipeCardRecordDO; +import com.alibaba.cola.dto.PageResponse; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.jjb.saas.framework.repository.repo.BaseRepository; + +import java.util.List; +import java.util.Map; + +/** + * web-infrastructure + * + * @Author fangjiakai + * @Date 2025-11-17 13:42:10 + */ +public interface MkmjSwipeCardRecordRepository extends BaseRepository { + PageResponse listPage(Map params); + + List statisticsByArea(List ids); + + List statisticsByPassage(List ids); +} + diff --git a/web-infrastructure/src/main/java/com/zcloud/primeport/persistence/repository/impl/MkmjCarRecordRepositoryImpl.java b/web-infrastructure/src/main/java/com/zcloud/primeport/persistence/repository/impl/MkmjCarRecordRepositoryImpl.java new file mode 100644 index 0000000..be630f2 --- /dev/null +++ b/web-infrastructure/src/main/java/com/zcloud/primeport/persistence/repository/impl/MkmjCarRecordRepositoryImpl.java @@ -0,0 +1,51 @@ +package com.zcloud.primeport.persistence.repository.impl; + +import com.zcloud.primeport.domain.model.MkmjStatisticsE; +import com.zcloud.primeport.persistence.dataobject.MkmjCarRecordDO; +import com.zcloud.primeport.persistence.mapper.MkmjCarRecordMapper; +import com.zcloud.primeport.persistence.repository.MkmjCarRecordRepository; +import com.alibaba.cola.dto.PageResponse; +import com.jjb.saas.framework.repository.common.PageHelper; +import com.zcloud.gbscommon.utils.PageQueryHelper; +import com.zcloud.gbscommon.utils.Query; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.jjb.saas.framework.repository.repo.impl.BaseRepositoryImpl; +import lombok.RequiredArgsConstructor; +import org.springframework.stereotype.Service; + +import java.util.List; +import java.util.Map; + +/** + * web-infrastructure + * + * @Author fangjiakai + * @Date 2025-11-17 13:42:09 + */ +@Service +@RequiredArgsConstructor +public class MkmjCarRecordRepositoryImpl extends BaseRepositoryImpl implements MkmjCarRecordRepository { + private final MkmjCarRecordMapper mkmjCarRecordMapper; + + @Override + public PageResponse listPage(Map params) { + IPage iPage = new Query().getPage(params); + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper = PageQueryHelper.createPageQueryWrapper(queryWrapper, params); + queryWrapper.orderByDesc("create_time"); + IPage result = mkmjCarRecordMapper.selectPage(iPage, queryWrapper); + return PageHelper.pageToResponse(result, result.getRecords()); + } + + @Override + public List statisticsByArea(List ids){ + return mkmjCarRecordMapper.statisticsByArea(ids); + } + + @Override + public List statisticsByPassage(List ids){ + return mkmjCarRecordMapper.statisticsByPassage(ids); + } +} + diff --git a/web-infrastructure/src/main/java/com/zcloud/primeport/persistence/repository/impl/MkmjSwipeCardRecordRepositoryImpl.java b/web-infrastructure/src/main/java/com/zcloud/primeport/persistence/repository/impl/MkmjSwipeCardRecordRepositoryImpl.java new file mode 100644 index 0000000..7f8ae12 --- /dev/null +++ b/web-infrastructure/src/main/java/com/zcloud/primeport/persistence/repository/impl/MkmjSwipeCardRecordRepositoryImpl.java @@ -0,0 +1,50 @@ +package com.zcloud.primeport.persistence.repository.impl; + +import com.zcloud.primeport.domain.model.MkmjStatisticsE; +import com.zcloud.primeport.persistence.dataobject.MkmjSwipeCardRecordDO; +import com.zcloud.primeport.persistence.mapper.MkmjSwipeCardRecordMapper; +import com.zcloud.primeport.persistence.repository.MkmjSwipeCardRecordRepository; +import com.alibaba.cola.dto.PageResponse; +import com.jjb.saas.framework.repository.common.PageHelper; +import com.zcloud.gbscommon.utils.PageQueryHelper; +import com.zcloud.gbscommon.utils.Query; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.jjb.saas.framework.repository.repo.impl.BaseRepositoryImpl; +import lombok.RequiredArgsConstructor; +import org.springframework.stereotype.Service; + +import java.util.List; +import java.util.Map; + +/** + * web-infrastructure + * + * @Author fangjiakai + * @Date 2025-11-17 13:42:10 + */ +@Service +@RequiredArgsConstructor +public class MkmjSwipeCardRecordRepositoryImpl extends BaseRepositoryImpl implements MkmjSwipeCardRecordRepository { + private final MkmjSwipeCardRecordMapper mkmjSwipeCardRecordMapper; + + @Override + public PageResponse listPage(Map params) { + IPage iPage = new Query().getPage(params); + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper = PageQueryHelper.createPageQueryWrapper(queryWrapper, params); + queryWrapper.orderByDesc("create_time"); + IPage result = mkmjSwipeCardRecordMapper.selectPage(iPage, queryWrapper); + return PageHelper.pageToResponse(result, result.getRecords()); + } + + @Override + public List statisticsByArea(List ids){ + return mkmjSwipeCardRecordMapper.statisticsByArea(ids); + } + @Override + public List statisticsByPassage(List ids){ + return mkmjSwipeCardRecordMapper.statisticsByPassage(ids); + } +} + diff --git a/web-infrastructure/src/main/resources/mapper/MkmjCarRecordMapper.xml b/web-infrastructure/src/main/resources/mapper/MkmjCarRecordMapper.xml new file mode 100644 index 0000000..2d700d6 --- /dev/null +++ b/web-infrastructure/src/main/resources/mapper/MkmjCarRecordMapper.xml @@ -0,0 +1,66 @@ + + + + + + + + + diff --git a/web-infrastructure/src/main/resources/mapper/MkmjSwipeCardRecordMapper.xml b/web-infrastructure/src/main/resources/mapper/MkmjSwipeCardRecordMapper.xml new file mode 100644 index 0000000..3249235 --- /dev/null +++ b/web-infrastructure/src/main/resources/mapper/MkmjSwipeCardRecordMapper.xml @@ -0,0 +1,33 @@ + + + + + + + + + +