From 3009e4edcf4243ef38728cc6b417fbbf1b442b71 Mon Sep 17 00:00:00 2001 From: dearLin <1261008090@qq.com> Date: Wed, 29 Apr 2026 15:48:01 +0800 Subject: [PATCH] =?UTF-8?q?feat=EF=BC=9A=E6=8E=A5=E5=85=A5=E6=B5=B7?= =?UTF-8?q?=E5=BA=B7=E4=BA=8C=E7=BA=A7=E5=8F=A3=E9=97=A8=E8=BF=9B=E5=87=BA?= =?UTF-8?q?=E8=AE=B0=E5=BD=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../web/EVehicleBasicInfoController.java | 87 ++++++++++ .../zcloud/primeport/web/VideoController.java | 2 +- .../command/ClosedAreaCarApplyAddExe.java | 2 +- .../command/ClosedAreaPersonApplyAddExe.java | 2 +- .../ClosedAreaPersonApplyUpdateExe.java | 6 + .../command/EVehicleBasicInfoAddExe.java | 40 +++++ .../command/EVehicleBasicInfoRemoveExe.java | 41 +++++ .../command/EVehicleBasicInfoUpdateExe.java | 34 ++++ .../primeport/command/VehicleApplyAddExe.java | 2 +- .../EVehicleBasicInfoCoConvertor.java | 26 +++ .../command/convertor/VideoCoConvertor.java | 1 + .../query/ClosedAreaPersonApplyQueryExe.java | 1 + .../query/EVehicleBasicInfoQueryExe.java | 52 ++++++ .../primeport/command/query/MkmjQueryExe.java | 2 +- .../command/query/VideoQueryExe.java | 5 + .../service/EVehicleBasicInfoServiceImpl.java | 67 ++++++++ .../primeport/service/VideoServiceImpl.java | 5 + .../api/EVehicleBasicInfoServiceI.java | 32 ++++ .../zcloud/primeport/api/VideoServiceI.java | 2 + .../dto/ClosedAreaPersonApplyPageQry.java | 2 + .../dto/EVehicleBasicInfoAddCmd.java | 96 +++++++++++ .../dto/EVehicleBasicInfoPageQry.java | 29 ++++ .../dto/EVehicleBasicInfoUpdateCmd.java | 81 +++++++++ .../zcloud/primeport/dto/VideoUpdateCmd.java | 16 +- .../dto/clientobject/EVehicleBasicInfoCO.java | 80 +++++++++ .../primeport/dto/clientobject/MkmjCO.java | 1 + .../gateway/EVehicleBasicInfoGateway.java | 32 ++++ .../domain/model/EVehicleBasicInfoE.java | 52 ++++++ .../EVehicleBasicInfoGatewayImpl.java | 51 ++++++ .../dataobject/EVehicleBasicInfoDO.java | 75 +++++++++ .../persistence/dataobject/MkmjDO.java | 2 + .../mapper/ClosedAreaPersonApplyMapper.java | 5 + .../mapper/EVehicleBasicInfoMapper.java | 17 ++ .../ClosedAreaPersonApplyRepository.java | 5 + .../EVehicleBasicInfoRepository.java | 18 ++ .../ClosedAreaPersonApplyRepositoryImpl.java | 9 + .../impl/EVehicleBasicInfoRepositoryImpl.java | 39 +++++ .../plan/mjDevice/TwoPersonUtil.java | 154 ++++++++++++++++++ .../plan/mjDevice/dto/TwoLevelUser.java | 20 +++ .../mapper/ClosedAreaPersonApplyMapper.xml | 53 ++++++ .../mapper/EVehicleBasicInfoMapper.xml | 8 + .../src/main/resources/mapper/MkmjDO.xml | 1 + .../src/main/resources/mapper/MkmjGateDO.xml | 2 + 43 files changed, 1244 insertions(+), 13 deletions(-) create mode 100644 web-adapter/src/main/java/com/zcloud/primeport/web/EVehicleBasicInfoController.java create mode 100644 web-app/src/main/java/com/zcloud/primeport/command/EVehicleBasicInfoAddExe.java create mode 100644 web-app/src/main/java/com/zcloud/primeport/command/EVehicleBasicInfoRemoveExe.java create mode 100644 web-app/src/main/java/com/zcloud/primeport/command/EVehicleBasicInfoUpdateExe.java create mode 100644 web-app/src/main/java/com/zcloud/primeport/command/convertor/EVehicleBasicInfoCoConvertor.java create mode 100644 web-app/src/main/java/com/zcloud/primeport/command/query/EVehicleBasicInfoQueryExe.java create mode 100644 web-app/src/main/java/com/zcloud/primeport/service/EVehicleBasicInfoServiceImpl.java create mode 100644 web-client/src/main/java/com/zcloud/primeport/api/EVehicleBasicInfoServiceI.java create mode 100644 web-client/src/main/java/com/zcloud/primeport/dto/EVehicleBasicInfoAddCmd.java create mode 100644 web-client/src/main/java/com/zcloud/primeport/dto/EVehicleBasicInfoPageQry.java create mode 100644 web-client/src/main/java/com/zcloud/primeport/dto/EVehicleBasicInfoUpdateCmd.java create mode 100644 web-client/src/main/java/com/zcloud/primeport/dto/clientobject/EVehicleBasicInfoCO.java create mode 100644 web-domain/src/main/java/com/zcloud/primeport/domain/gateway/EVehicleBasicInfoGateway.java create mode 100644 web-domain/src/main/java/com/zcloud/primeport/domain/model/EVehicleBasicInfoE.java create mode 100644 web-infrastructure/src/main/java/com/zcloud/primeport/gatewayimpl/EVehicleBasicInfoGatewayImpl.java create mode 100644 web-infrastructure/src/main/java/com/zcloud/primeport/persistence/dataobject/EVehicleBasicInfoDO.java create mode 100644 web-infrastructure/src/main/java/com/zcloud/primeport/persistence/mapper/EVehicleBasicInfoMapper.java create mode 100644 web-infrastructure/src/main/java/com/zcloud/primeport/persistence/repository/EVehicleBasicInfoRepository.java create mode 100644 web-infrastructure/src/main/java/com/zcloud/primeport/persistence/repository/impl/EVehicleBasicInfoRepositoryImpl.java create mode 100644 web-infrastructure/src/main/java/com/zcloud/primeport/plan/mjDevice/TwoPersonUtil.java create mode 100644 web-infrastructure/src/main/java/com/zcloud/primeport/plan/mjDevice/dto/TwoLevelUser.java create mode 100644 web-infrastructure/src/main/resources/mapper/EVehicleBasicInfoMapper.xml diff --git a/web-adapter/src/main/java/com/zcloud/primeport/web/EVehicleBasicInfoController.java b/web-adapter/src/main/java/com/zcloud/primeport/web/EVehicleBasicInfoController.java new file mode 100644 index 0000000..03cc2ba --- /dev/null +++ b/web-adapter/src/main/java/com/zcloud/primeport/web/EVehicleBasicInfoController.java @@ -0,0 +1,87 @@ +package com.zcloud.primeport.web; + + +import com.zcloud.primeport.api.EVehicleBasicInfoServiceI; +import com.zcloud.primeport.dto.EVehicleBasicInfoAddCmd; +import com.zcloud.primeport.dto.EVehicleBasicInfoPageQry; +import com.zcloud.primeport.dto.EVehicleBasicInfoUpdateCmd; +import com.zcloud.primeport.dto.clientobject.EVehicleBasicInfoCO; +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 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; +import java.util.Arrays; +import java.util.List; +import java.util.stream.Collectors; + +/** + * web-adapter + * + * @Author dearLin + * @Date 2026-04-23 10:04:31 + */ +@Api(tags = "一级口门车辆出入信息") +@RequestMapping("/${application.gateway}/eVehicleBasicInfo") +@RestController +@AllArgsConstructor +public class EVehicleBasicInfoController { + private final EVehicleBasicInfoServiceI eVehicleBasicInfoService; + + @ApiOperation("新增") + @PostMapping("/save") + public SingleResponse add(@Validated @RequestBody EVehicleBasicInfoAddCmd cmd) { + return eVehicleBasicInfoService.add(cmd); + } + + @ApiOperation("分页") + @PostMapping("/list") + public PageResponse page(@RequestBody EVehicleBasicInfoPageQry qry) { + return eVehicleBasicInfoService.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(eVehicleBasicInfoService.queryById(id)); + } + + @ApiOperation("删除") + @DeleteMapping("/{id}") + public Response remove(@PathVariable("id") Long id) { + eVehicleBasicInfoService.remove(id); + return SingleResponse.buildSuccess(); + } + + @ApiOperation("删除多个") + @DeleteMapping("/ids") + public Response removeBatch(@RequestParam("ids") String ids) { + List idsList = Arrays.stream(ids.split(",")) + .map(Long::valueOf) + .collect(Collectors.toList()); + eVehicleBasicInfoService.removeBatch(idsList); + return SingleResponse.buildSuccess(); + } + + @ApiOperation("修改") + @PutMapping("/edit") + public SingleResponse edit(@Validated @RequestBody EVehicleBasicInfoUpdateCmd eVehicleBasicInfoUpdateCmd) { + eVehicleBasicInfoService.edit(eVehicleBasicInfoUpdateCmd); + return SingleResponse.buildSuccess(); + } +} + diff --git a/web-adapter/src/main/java/com/zcloud/primeport/web/VideoController.java b/web-adapter/src/main/java/com/zcloud/primeport/web/VideoController.java index 7b7428f..821b1b6 100644 --- a/web-adapter/src/main/java/com/zcloud/primeport/web/VideoController.java +++ b/web-adapter/src/main/java/com/zcloud/primeport/web/VideoController.java @@ -48,7 +48,7 @@ public class VideoController { @ApiOperation("详情") @GetMapping("/{id}") public SingleResponse getInfoById(@PathVariable("id") Long id) { - return SingleResponse.of(new VideoCO()); + return SingleResponse.of(videoService.getInfoById(id)); } @ApiOperation("删除") diff --git a/web-app/src/main/java/com/zcloud/primeport/command/ClosedAreaCarApplyAddExe.java b/web-app/src/main/java/com/zcloud/primeport/command/ClosedAreaCarApplyAddExe.java index 96f2f09..4ac8cb9 100644 --- a/web-app/src/main/java/com/zcloud/primeport/command/ClosedAreaCarApplyAddExe.java +++ b/web-app/src/main/java/com/zcloud/primeport/command/ClosedAreaCarApplyAddExe.java @@ -59,7 +59,7 @@ public class ClosedAreaCarApplyAddExe { closedAreaCarApplyE.setUserCard(userData.getUserIdCard()); closedAreaCarApplyE.setUserFaceUrl(userData.getUserAvatarUrl()); } else { - closedAreaCarApplyE.setUserCard(Base64.encodeToString(cmd.getUserCard())); +// closedAreaCarApplyE.setUserCard(Base64.encodeToString(cmd.getUserCard())); } boolean res = false; try { diff --git a/web-app/src/main/java/com/zcloud/primeport/command/ClosedAreaPersonApplyAddExe.java b/web-app/src/main/java/com/zcloud/primeport/command/ClosedAreaPersonApplyAddExe.java index 4d6faa1..d1e9705 100644 --- a/web-app/src/main/java/com/zcloud/primeport/command/ClosedAreaPersonApplyAddExe.java +++ b/web-app/src/main/java/com/zcloud/primeport/command/ClosedAreaPersonApplyAddExe.java @@ -53,7 +53,7 @@ public class ClosedAreaPersonApplyAddExe { closedAreaPersonApplyE.setUserCard(userData.getUserIdCard()); closedAreaPersonApplyE.setUserFaceUrl(userData.getUserAvatarUrl()); }else { - closedAreaPersonApplyE.setUserCard(Base64.encodeToString(cmd.getUserCard())); +// closedAreaPersonApplyE.setUserCard(Base64.encodeToString(cmd.getUserCard())); } boolean res = false; try { diff --git a/web-app/src/main/java/com/zcloud/primeport/command/ClosedAreaPersonApplyUpdateExe.java b/web-app/src/main/java/com/zcloud/primeport/command/ClosedAreaPersonApplyUpdateExe.java index 9376b04..6c6e558 100644 --- a/web-app/src/main/java/com/zcloud/primeport/command/ClosedAreaPersonApplyUpdateExe.java +++ b/web-app/src/main/java/com/zcloud/primeport/command/ClosedAreaPersonApplyUpdateExe.java @@ -58,6 +58,12 @@ public class ClosedAreaPersonApplyUpdateExe { TodoListCompleteEvent todoListCompleteEvent = new TodoListCompleteEvent(); todoListCompleteEvent.setForeignSubsidiaryKey(auditCmd.getId()); todoListEventPusherUtil.sendMessageCompleteEvent(todoListCompleteEvent); + // 审批通过赋予权限 + if (auditCmd.getAuditFlag().equals(2)) { + + } + + } @Transactional(rollbackFor = Exception.class) diff --git a/web-app/src/main/java/com/zcloud/primeport/command/EVehicleBasicInfoAddExe.java b/web-app/src/main/java/com/zcloud/primeport/command/EVehicleBasicInfoAddExe.java new file mode 100644 index 0000000..5d67f78 --- /dev/null +++ b/web-app/src/main/java/com/zcloud/primeport/command/EVehicleBasicInfoAddExe.java @@ -0,0 +1,40 @@ +package com.zcloud.primeport.command; + +import com.zcloud.primeport.domain.gateway.EVehicleBasicInfoGateway; +import com.zcloud.primeport.domain.model.EVehicleBasicInfoE; +import com.zcloud.primeport.dto.EVehicleBasicInfoAddCmd; +import com.alibaba.cola.exception.BizException; +import lombok.AllArgsConstructor; +import org.springframework.beans.BeanUtils; +import org.springframework.stereotype.Component; +import org.springframework.transaction.annotation.Transactional; + + +/** + * web-app + * + * @Author dearLin + * @Date 2026-04-23 10:04:31 + */ +@Component +@AllArgsConstructor +public class EVehicleBasicInfoAddExe { + private final EVehicleBasicInfoGateway eVehicleBasicInfoGateway; + + @Transactional(rollbackFor = Exception.class) + public boolean execute(EVehicleBasicInfoAddCmd cmd) { + EVehicleBasicInfoE eVehicleBasicInfoE = new EVehicleBasicInfoE(); + BeanUtils.copyProperties(cmd, eVehicleBasicInfoE); + boolean res = false; + try { + res = eVehicleBasicInfoGateway.add(eVehicleBasicInfoE); + } 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/EVehicleBasicInfoRemoveExe.java b/web-app/src/main/java/com/zcloud/primeport/command/EVehicleBasicInfoRemoveExe.java new file mode 100644 index 0000000..764fa2f --- /dev/null +++ b/web-app/src/main/java/com/zcloud/primeport/command/EVehicleBasicInfoRemoveExe.java @@ -0,0 +1,41 @@ +package com.zcloud.primeport.command; + +import com.zcloud.primeport.domain.gateway.EVehicleBasicInfoGateway; +import com.alibaba.cola.exception.BizException; +import lombok.AllArgsConstructor; +import org.springframework.stereotype.Component; +import org.springframework.transaction.annotation.Transactional; + +import java.util.List; + + +/** + * web-app + * + * @Author dearLin + * @Date 2026-04-23 10:04:33 + */ +@Component +@AllArgsConstructor +public class EVehicleBasicInfoRemoveExe { + private final EVehicleBasicInfoGateway eVehicleBasicInfoGateway; + + @Transactional(rollbackFor = Exception.class) + public boolean execute(Long id) { + boolean res = eVehicleBasicInfoGateway.deletedEVehicleBasicInfoById(id); + if (!res) { + throw new BizException("删除失败"); + } + return true; + } + + @Transactional(rollbackFor = Exception.class) + public boolean execute(List ids) { + boolean res = eVehicleBasicInfoGateway.deletedEVehicleBasicInfoByIds(ids); + if (!res) { + throw new BizException("删除失败"); + } + return true; + } +} + diff --git a/web-app/src/main/java/com/zcloud/primeport/command/EVehicleBasicInfoUpdateExe.java b/web-app/src/main/java/com/zcloud/primeport/command/EVehicleBasicInfoUpdateExe.java new file mode 100644 index 0000000..2953007 --- /dev/null +++ b/web-app/src/main/java/com/zcloud/primeport/command/EVehicleBasicInfoUpdateExe.java @@ -0,0 +1,34 @@ +package com.zcloud.primeport.command; + +import com.alibaba.cola.exception.BizException; +import com.zcloud.primeport.domain.gateway.EVehicleBasicInfoGateway; +import com.zcloud.primeport.domain.model.EVehicleBasicInfoE; +import com.zcloud.primeport.dto.EVehicleBasicInfoUpdateCmd; +import lombok.AllArgsConstructor; +import org.springframework.beans.BeanUtils; +import org.springframework.stereotype.Component; +import org.springframework.transaction.annotation.Transactional; + + +/** + * web-app + * + * @Author dearLin + * @Date 2026-04-23 10:04:33 + */ +@Component +@AllArgsConstructor +public class EVehicleBasicInfoUpdateExe { + private final EVehicleBasicInfoGateway eVehicleBasicInfoGateway; + + @Transactional(rollbackFor = Exception.class) + public void execute(EVehicleBasicInfoUpdateCmd eVehicleBasicInfoUpdateCmd) { + EVehicleBasicInfoE eVehicleBasicInfoE = new EVehicleBasicInfoE(); + BeanUtils.copyProperties(eVehicleBasicInfoUpdateCmd, eVehicleBasicInfoE); + boolean res = eVehicleBasicInfoGateway.update(eVehicleBasicInfoE); + if (!res) { + throw new BizException("修改失败"); + } + } +} + diff --git a/web-app/src/main/java/com/zcloud/primeport/command/VehicleApplyAddExe.java b/web-app/src/main/java/com/zcloud/primeport/command/VehicleApplyAddExe.java index e9e0cfb..d3fec4b 100644 --- a/web-app/src/main/java/com/zcloud/primeport/command/VehicleApplyAddExe.java +++ b/web-app/src/main/java/com/zcloud/primeport/command/VehicleApplyAddExe.java @@ -72,7 +72,7 @@ public class VehicleApplyAddExe { // 临时 if (cmd.getVehicleBelongType().equals(VehicleBelongTypeEnum.TEMP_VEHICLES.getCode())){ examTypeE.setEmployeeVehicleUserName(cmd.getDrivingUserName()); - examTypeE.setLsUserIdcard(Base64.encodeToString(cmd.getLsUserIdcard())); +// examTypeE.setLsUserIdcard(Base64.encodeToString(cmd.getLsUserIdcard())); } VehicleApplyE add = vehicleApplyGateway.add(examTypeE); VehicleAuditE build = VehicleAuditE.builder().vehicleApplyId(examTypeE.getId()).batchState(1).batchType(1) diff --git a/web-app/src/main/java/com/zcloud/primeport/command/convertor/EVehicleBasicInfoCoConvertor.java b/web-app/src/main/java/com/zcloud/primeport/command/convertor/EVehicleBasicInfoCoConvertor.java new file mode 100644 index 0000000..8cac5a4 --- /dev/null +++ b/web-app/src/main/java/com/zcloud/primeport/command/convertor/EVehicleBasicInfoCoConvertor.java @@ -0,0 +1,26 @@ +package com.zcloud.primeport.command.convertor; + +import com.zcloud.primeport.dto.clientobject.EVehicleBasicInfoCO; +import com.zcloud.primeport.persistence.dataobject.EVehicleBasicInfoDO; +import org.mapstruct.Mapper; + +import java.util.List; + + +/** + * web-app + * + * @Author dearLin + * @Date 2026-04-23 10:04:31 + */ +@Mapper(componentModel = "spring") +public interface EVehicleBasicInfoCoConvertor { + /** + * @param eVehicleBasicInfoDOs + * @return + */ + List converDOsToCOs(List eVehicleBasicInfoDOs); + + EVehicleBasicInfoCO converDOToCO(EVehicleBasicInfoDO eVehicleBasicInfoDO); +} + diff --git a/web-app/src/main/java/com/zcloud/primeport/command/convertor/VideoCoConvertor.java b/web-app/src/main/java/com/zcloud/primeport/command/convertor/VideoCoConvertor.java index 2044a1b..d44c6a7 100644 --- a/web-app/src/main/java/com/zcloud/primeport/command/convertor/VideoCoConvertor.java +++ b/web-app/src/main/java/com/zcloud/primeport/command/convertor/VideoCoConvertor.java @@ -20,5 +20,6 @@ public interface VideoCoConvertor { * @return */ List converDOsToCOs(List videoDOs); + VideoCO converDOToCO(VideoDO videoDOs); } diff --git a/web-app/src/main/java/com/zcloud/primeport/command/query/ClosedAreaPersonApplyQueryExe.java b/web-app/src/main/java/com/zcloud/primeport/command/query/ClosedAreaPersonApplyQueryExe.java index 8958d88..982b1c2 100644 --- a/web-app/src/main/java/com/zcloud/primeport/command/query/ClosedAreaPersonApplyQueryExe.java +++ b/web-app/src/main/java/com/zcloud/primeport/command/query/ClosedAreaPersonApplyQueryExe.java @@ -81,6 +81,7 @@ public class ClosedAreaPersonApplyQueryExe { public PageResponse getCorpUserList(ClosedAreaPersonApplyPageQry qry) { Map params = PageQueryHelper.toHashMap(qry); params.put("corpinfoId", AuthContext.getTenantId()); + params.put("selfUserId", AuthContext.getUserId()); PageResponse pageResponse = closedAreaPersonApplyRepository.getCorpUserList(params); List examCenterCOS = closedAreaPersonApplyCoConvertor.converUserDtosToUserCos(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/EVehicleBasicInfoQueryExe.java b/web-app/src/main/java/com/zcloud/primeport/command/query/EVehicleBasicInfoQueryExe.java new file mode 100644 index 0000000..ac0e2cb --- /dev/null +++ b/web-app/src/main/java/com/zcloud/primeport/command/query/EVehicleBasicInfoQueryExe.java @@ -0,0 +1,52 @@ +package com.zcloud.primeport.command.query; + +import com.zcloud.primeport.command.convertor.EVehicleBasicInfoCoConvertor; +import com.zcloud.primeport.dto.EVehicleBasicInfoPageQry; +import com.zcloud.primeport.dto.clientobject.EVehicleBasicInfoCO; +import com.zcloud.primeport.persistence.dataobject.EVehicleBasicInfoDO; +import com.zcloud.primeport.persistence.repository.EVehicleBasicInfoRepository; +import com.zcloud.gbscommon.utils.PageQueryHelper; +import com.alibaba.cola.dto.PageResponse; +import lombok.AllArgsConstructor; +import org.springframework.stereotype.Component; + +import java.util.List; +import java.util.Map; + + +/** + * web-app + * + * @Author dearLin + * @Date 2026-04-23 10:04:33 + */ +@Component +@AllArgsConstructor +public class EVehicleBasicInfoQueryExe { + private final EVehicleBasicInfoRepository eVehicleBasicInfoRepository; + private final EVehicleBasicInfoCoConvertor eVehicleBasicInfoCoConvertor; + + /** + * 根据id查询 + * + * @param id + * @return + */ + public EVehicleBasicInfoCO queryById(Long id) { + return eVehicleBasicInfoCoConvertor.converDOToCO(eVehicleBasicInfoRepository.getById(id)); + } + + /** + * 分页 + * + * @param eVehicleBasicInfoPageQry + * @return + */ + public PageResponse execute(EVehicleBasicInfoPageQry eVehicleBasicInfoPageQry) { + Map params = PageQueryHelper.toHashMap(eVehicleBasicInfoPageQry); + PageResponse pageResponse = eVehicleBasicInfoRepository.listPage(params); + List examCenterCOS = eVehicleBasicInfoCoConvertor.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/MkmjQueryExe.java b/web-app/src/main/java/com/zcloud/primeport/command/query/MkmjQueryExe.java index 409577b..70f237a 100644 --- a/web-app/src/main/java/com/zcloud/primeport/command/query/MkmjQueryExe.java +++ b/web-app/src/main/java/com/zcloud/primeport/command/query/MkmjQueryExe.java @@ -47,7 +47,7 @@ public class MkmjQueryExe { public List listAll(MkmjPageQry qry) { QueryWrapper mkmjDOQueryWrapper = new QueryWrapper<>(); - mkmjDOQueryWrapper.eq("mkmj_status","2"); + mkmjDOQueryWrapper.eq("mkmj_status", "2"); if (Tools.notEmpty(qry.getHgAuthArea())) { mkmjDOQueryWrapper.eq("hg_auth_area", qry.getHgAuthArea()); } diff --git a/web-app/src/main/java/com/zcloud/primeport/command/query/VideoQueryExe.java b/web-app/src/main/java/com/zcloud/primeport/command/query/VideoQueryExe.java index f984291..5772e42 100644 --- a/web-app/src/main/java/com/zcloud/primeport/command/query/VideoQueryExe.java +++ b/web-app/src/main/java/com/zcloud/primeport/command/query/VideoQueryExe.java @@ -38,5 +38,10 @@ public class VideoQueryExe { List examCenterCOS = videoCoConvertor.converDOsToCOs(pageResponse.getData()); return PageResponse.of(examCenterCOS, pageResponse.getTotalCount(), pageResponse.getPageSize(), pageResponse.getPageIndex()); } + + public VideoCO getInfoById(Long id) { + VideoDO byId = videoRepository.getById(id); + return videoCoConvertor.converDOToCO(byId); + } } diff --git a/web-app/src/main/java/com/zcloud/primeport/service/EVehicleBasicInfoServiceImpl.java b/web-app/src/main/java/com/zcloud/primeport/service/EVehicleBasicInfoServiceImpl.java new file mode 100644 index 0000000..14d8bb2 --- /dev/null +++ b/web-app/src/main/java/com/zcloud/primeport/service/EVehicleBasicInfoServiceImpl.java @@ -0,0 +1,67 @@ +package com.zcloud.primeport.service; + +import com.zcloud.primeport.api.EVehicleBasicInfoServiceI; +import com.zcloud.primeport.command.EVehicleBasicInfoAddExe; +import com.zcloud.primeport.command.EVehicleBasicInfoRemoveExe; +import com.zcloud.primeport.command.EVehicleBasicInfoUpdateExe; +import com.zcloud.primeport.command.query.EVehicleBasicInfoQueryExe; +import com.zcloud.primeport.dto.EVehicleBasicInfoAddCmd; +import com.zcloud.primeport.dto.EVehicleBasicInfoPageQry; +import com.zcloud.primeport.dto.EVehicleBasicInfoUpdateCmd; +import com.zcloud.primeport.dto.clientobject.EVehicleBasicInfoCO; + +import com.alibaba.cola.dto.PageResponse; +import com.alibaba.cola.dto.SingleResponse; +import lombok.AllArgsConstructor; +import org.springframework.stereotype.Service; + +import java.util.List; + +/** + * web-app + * + * @Author dearLin + * @Date 2026-04-23 10:04:33 + */ +@Service +@AllArgsConstructor +public class EVehicleBasicInfoServiceImpl implements EVehicleBasicInfoServiceI { + private final EVehicleBasicInfoAddExe eVehicleBasicInfoAddExe; + private final EVehicleBasicInfoUpdateExe eVehicleBasicInfoUpdateExe; + private final EVehicleBasicInfoRemoveExe eVehicleBasicInfoRemoveExe; + private final EVehicleBasicInfoQueryExe eVehicleBasicInfoQueryExe; + + @Override + public EVehicleBasicInfoCO queryById(Long id) { + return eVehicleBasicInfoQueryExe.queryById(id); + } + + @Override + public PageResponse listPage(EVehicleBasicInfoPageQry qry) { + + return eVehicleBasicInfoQueryExe.execute(qry); + } + + @Override + public SingleResponse add(EVehicleBasicInfoAddCmd cmd) { + + eVehicleBasicInfoAddExe.execute(cmd); + return SingleResponse.buildSuccess(); + } + + @Override + public void edit(EVehicleBasicInfoUpdateCmd eVehicleBasicInfoUpdateCmd) { + eVehicleBasicInfoUpdateExe.execute(eVehicleBasicInfoUpdateCmd); + } + + @Override + public void remove(Long id) { + eVehicleBasicInfoRemoveExe.execute(id); + } + + @Override + public void removeBatch(List ids) { + eVehicleBasicInfoRemoveExe.execute(ids); + } +} + diff --git a/web-app/src/main/java/com/zcloud/primeport/service/VideoServiceImpl.java b/web-app/src/main/java/com/zcloud/primeport/service/VideoServiceImpl.java index 2a7a78e..d5f2189 100644 --- a/web-app/src/main/java/com/zcloud/primeport/service/VideoServiceImpl.java +++ b/web-app/src/main/java/com/zcloud/primeport/service/VideoServiceImpl.java @@ -55,5 +55,10 @@ public class VideoServiceImpl implements VideoServiceI { public void removeBatch(Long[] ids) { videoRemoveExe.execute(ids); } + + @Override + public VideoCO getInfoById(Long id) { + return videoQueryExe.getInfoById(id); + } } diff --git a/web-client/src/main/java/com/zcloud/primeport/api/EVehicleBasicInfoServiceI.java b/web-client/src/main/java/com/zcloud/primeport/api/EVehicleBasicInfoServiceI.java new file mode 100644 index 0000000..f4daadd --- /dev/null +++ b/web-client/src/main/java/com/zcloud/primeport/api/EVehicleBasicInfoServiceI.java @@ -0,0 +1,32 @@ +package com.zcloud.primeport.api; + +import com.zcloud.primeport.dto.EVehicleBasicInfoAddCmd; +import com.zcloud.primeport.dto.EVehicleBasicInfoPageQry; +import com.zcloud.primeport.dto.EVehicleBasicInfoUpdateCmd; +import com.zcloud.primeport.dto.clientobject.EVehicleBasicInfoCO; + +import com.alibaba.cola.dto.PageResponse; +import com.alibaba.cola.dto.SingleResponse; + +import java.util.List; + +/** + * web-client + * + * @Author dearLin + * @Date 2026-04-23 10:04:33 + */ +public interface EVehicleBasicInfoServiceI { + EVehicleBasicInfoCO queryById(Long id); + + PageResponse listPage(EVehicleBasicInfoPageQry qry); + + SingleResponse add(EVehicleBasicInfoAddCmd cmd); + + void edit(EVehicleBasicInfoUpdateCmd cmd); + + void remove(Long id); + + void removeBatch(List ids); +} + diff --git a/web-client/src/main/java/com/zcloud/primeport/api/VideoServiceI.java b/web-client/src/main/java/com/zcloud/primeport/api/VideoServiceI.java index 940ed45..3c80a10 100644 --- a/web-client/src/main/java/com/zcloud/primeport/api/VideoServiceI.java +++ b/web-client/src/main/java/com/zcloud/primeport/api/VideoServiceI.java @@ -23,5 +23,7 @@ public interface VideoServiceI { void remove(Long id); void removeBatch(Long[] ids); + + VideoCO getInfoById(Long id); } diff --git a/web-client/src/main/java/com/zcloud/primeport/dto/ClosedAreaPersonApplyPageQry.java b/web-client/src/main/java/com/zcloud/primeport/dto/ClosedAreaPersonApplyPageQry.java index a9eeed7..106ab5e 100644 --- a/web-client/src/main/java/com/zcloud/primeport/dto/ClosedAreaPersonApplyPageQry.java +++ b/web-client/src/main/java/com/zcloud/primeport/dto/ClosedAreaPersonApplyPageQry.java @@ -28,6 +28,8 @@ public class ClosedAreaPersonApplyPageQry extends PageQuery { private String name; @ApiModelProperty(value = "随行人员按部门搜索", name = "deptId", required = true) private Long deptId; + @ApiModelProperty(value = "1带自己,2不带自己", name = "noSelf", required = true) + private Integer noSelf; @ApiModelProperty(value = "申请人名称", name = "applyPersonUserName", required = true) private String applyPersonUserName; diff --git a/web-client/src/main/java/com/zcloud/primeport/dto/EVehicleBasicInfoAddCmd.java b/web-client/src/main/java/com/zcloud/primeport/dto/EVehicleBasicInfoAddCmd.java new file mode 100644 index 0000000..a4a097a --- /dev/null +++ b/web-client/src/main/java/com/zcloud/primeport/dto/EVehicleBasicInfoAddCmd.java @@ -0,0 +1,96 @@ +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.*; + +/** + * web-client + * + * @Author dearLin + * @Date 2026-04-23 10:04:31 + */ +@EqualsAndHashCode(callSuper = true) +@Data +@NoArgsConstructor +@AllArgsConstructor +public class EVehicleBasicInfoAddCmd extends Command { + @ApiModelProperty(value = "车辆ID", name = "vehicleRecordId", required = true) + // @NotEmpty(message = "车辆ID不能为空") + private String vehicleRecordId; + + @ApiModelProperty(value = "车辆备案信息录入单位", name = "vehicleFilingInfoRecordingOrg", required = true) + // @NotEmpty(message = "车辆备案信息录入单位不能为空") + private String vehicleFilingInfoRecordingOrg; + + @ApiModelProperty(value = "车辆归属单位", name = "vehicleOwningEntity", required = true) + // @NotEmpty(message = "车辆归属单位不能为空") + private String vehicleOwningEntity; + + @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 = "vehiclePlateColorName", required = true) + // @NotEmpty(message = "车辆牌照颜色名称不能为空") + private String vehiclePlateColorName; + + @ApiModelProperty(value = "车辆备案时间", name = "vehicleFilingTime", required = true) + // @NotEmpty(message = "车辆备案时间不能为空") + private String vehicleFilingTime; + + @ApiModelProperty(value = "车辆联系人姓名", name = "vehicleContactName", required = true) + // @NotEmpty(message = "车辆联系人姓名不能为空") + private String vehicleContactName; + + @ApiModelProperty(value = "车辆联系人电话", name = "vehicleContactPhoneNumber", required = true) + // @NotEmpty(message = "车辆联系人电话不能为空") + private String vehicleContactPhoneNumber; + + @ApiModelProperty(value = "车辆备案分类(1, 长期车辆,2, 一次性备案,3, 内部车辆, 4, 临时车辆)", name = "vehicleFilingMethod", required = true) + // @NotEmpty(message = "车辆备案分类(1, 长期车辆,2, 一次性备案,3, 内部车辆, 4, 临时车辆)不能为空") + private String vehicleFilingMethod; + + @ApiModelProperty(value = "有效标识", name = "edwValidFlag", required = true) + // @NotEmpty(message = "有效标识不能为空") + private String edwValidFlag; + + @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 = "dataVersion", required = true) + // @NotNull(message = "分区列不能为空") + private Long dataVersion; + + @ApiModelProperty(value = "同步时间", name = "accLastUpdateDate", required = true) + // @NotNull(message = "同步时间不能为空") + private String accLastUpdateDate; + + @ApiModelProperty(value = "${column.comment}", name = "idSequence", required = true) + // @NotNull(message = "${column.comment}不能为空") + private Long idSequence; + +} + diff --git a/web-client/src/main/java/com/zcloud/primeport/dto/EVehicleBasicInfoPageQry.java b/web-client/src/main/java/com/zcloud/primeport/dto/EVehicleBasicInfoPageQry.java new file mode 100644 index 0000000..af2ffdc --- /dev/null +++ b/web-client/src/main/java/com/zcloud/primeport/dto/EVehicleBasicInfoPageQry.java @@ -0,0 +1,29 @@ +package com.zcloud.primeport.dto; + +import com.alibaba.cola.dto.PageQuery; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + + +/** + * web-client + * + * @Author dearLin + * @Date 2026-04-23 10:04:32 + */ +@Data +public class EVehicleBasicInfoPageQry 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/EVehicleBasicInfoUpdateCmd.java b/web-client/src/main/java/com/zcloud/primeport/dto/EVehicleBasicInfoUpdateCmd.java new file mode 100644 index 0000000..a32afce --- /dev/null +++ b/web-client/src/main/java/com/zcloud/primeport/dto/EVehicleBasicInfoUpdateCmd.java @@ -0,0 +1,81 @@ +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.*; + +/** + * web-client + * + * @Author dearLin + * @Date 2026-04-23 10:04:33 + */ +@EqualsAndHashCode(callSuper = true) +@Data +@NoArgsConstructor +@AllArgsConstructor +public class EVehicleBasicInfoUpdateCmd 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 = "vehicleFilingInfoRecordingOrg", required = true) + // @NotEmpty(message = "车辆备案信息录入单位不能为空") + private String vehicleFilingInfoRecordingOrg; + @ApiModelProperty(value = "车辆归属单位", name = "vehicleOwningEntity", required = true) + // @NotEmpty(message = "车辆归属单位不能为空") + private String vehicleOwningEntity; + @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 = "vehiclePlateColorName", required = true) + // @NotEmpty(message = "车辆牌照颜色名称不能为空") + private String vehiclePlateColorName; + @ApiModelProperty(value = "车辆备案时间", name = "vehicleFilingTime", required = true) + // @NotEmpty(message = "车辆备案时间不能为空") + private String vehicleFilingTime; + @ApiModelProperty(value = "车辆联系人姓名", name = "vehicleContactName", required = true) + // @NotEmpty(message = "车辆联系人姓名不能为空") + private String vehicleContactName; + @ApiModelProperty(value = "车辆联系人电话", name = "vehicleContactPhoneNumber", required = true) + // @NotEmpty(message = "车辆联系人电话不能为空") + private String vehicleContactPhoneNumber; + @ApiModelProperty(value = "车辆备案分类(1, 长期车辆,2, 一次性备案,3, 内部车辆, 4, 临时车辆)", name = "vehicleFilingMethod", required = true) + // @NotEmpty(message = "车辆备案分类(1, 长期车辆,2, 一次性备案,3, 内部车辆, 4, 临时车辆)不能为空") + private String vehicleFilingMethod; + @ApiModelProperty(value = "有效标识", name = "edwValidFlag", required = true) + // @NotEmpty(message = "有效标识不能为空") + private String edwValidFlag; + @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 = "dataVersion", required = true) + // @NotNull(message = "分区列不能为空") + private Long dataVersion; + @ApiModelProperty(value = "同步时间", name = "accLastUpdateDate", required = true) + // @NotNull(message = "同步时间不能为空") + private String accLastUpdateDate; + @ApiModelProperty(value = "${column.comment}", name = "idSequence", required = true) + // @NotNull(message = "${column.comment}不能为空") + private Long idSequence; +} + diff --git a/web-client/src/main/java/com/zcloud/primeport/dto/VideoUpdateCmd.java b/web-client/src/main/java/com/zcloud/primeport/dto/VideoUpdateCmd.java index 392ab54..1f752bd 100644 --- a/web-client/src/main/java/com/zcloud/primeport/dto/VideoUpdateCmd.java +++ b/web-client/src/main/java/com/zcloud/primeport/dto/VideoUpdateCmd.java @@ -22,29 +22,29 @@ import javax.validation.constraints.NotNull; @AllArgsConstructor public class VideoUpdateCmd extends Command { @ApiModelProperty(value = "主键", name = "id", required = true) - @NotNull(message = "主键不能为空") + // @NotNull(message = "主键不能为空") private Long id; @ApiModelProperty(value = "口门/闸机id 外键id ", name = "foreignId", required = true) - @NotNull(message = "口门/闸机id 外键id 不能为空") + // @NotNull(message = "口门/闸机id 外键id 不能为空") private Long foreignId; @ApiModelProperty(value = "设备类型(1-口门 2-闸机)", name = "deviceType", required = true) - @NotNull(message = "设备类型(1-口门 2-闸机)不能为空") + // @NotNull(message = "设备类型(1-口门 2-闸机)不能为空") private Integer deviceType; @ApiModelProperty(value = "摄像头id", name = "videoResourceId", required = true) - @NotEmpty(message = "摄像头id不能为空") + // @NotEmpty(message = "摄像头id不能为空") private String videoResourceId; @ApiModelProperty(value = "摄像头名称", name = "videoResourceName", required = true) - @NotEmpty(message = "摄像头名称不能为空") + // @NotEmpty(message = "摄像头名称不能为空") private String videoResourceName; private String videoResourceCode; @ApiModelProperty(value = "摄像头类型(1-移动 2-平台)", name = "videoType", required = true) - @NotNull(message = "摄像头类型(1-移动 2-平台)不能为空") + // @NotNull(message = "摄像头类型(1-移动 2-平台)不能为空") private Integer videoType; @ApiModelProperty(value = "经度", name = "longitude", required = true) - @NotEmpty(message = "经度不能为空") + // @NotEmpty(message = "经度不能为空") private String longitude; @ApiModelProperty(value = "纬度", name = "latitude", required = true) - @NotEmpty(message = "纬度不能为空") + // @NotEmpty(message = "纬度不能为空") private String latitude; } diff --git a/web-client/src/main/java/com/zcloud/primeport/dto/clientobject/EVehicleBasicInfoCO.java b/web-client/src/main/java/com/zcloud/primeport/dto/clientobject/EVehicleBasicInfoCO.java new file mode 100644 index 0000000..56cb6aa --- /dev/null +++ b/web-client/src/main/java/com/zcloud/primeport/dto/clientobject/EVehicleBasicInfoCO.java @@ -0,0 +1,80 @@ +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 dearLin + * @Date 2026-04-23 10:04:31 + */ +@Data +public class EVehicleBasicInfoCO extends ClientObject { + //id + @ApiModelProperty(value = "id") + private Long id; + //车辆ID + @ApiModelProperty(value = "车辆ID") + private String vehicleRecordId; + //车辆备案信息录入单位 + @ApiModelProperty(value = "车辆备案信息录入单位") + private String vehicleFilingInfoRecordingOrg; + //车辆归属单位 + @ApiModelProperty(value = "车辆归属单位") + private String vehicleOwningEntity; + //车辆牌照号码 + @ApiModelProperty(value = "车辆牌照号码") + private String vehiclePlateNumber; + //车辆行驶证号码 + @ApiModelProperty(value = "车辆行驶证号码") + private String vehicleRegistrationNumber; + //车辆类型名称 + @ApiModelProperty(value = "车辆类型名称") + private String vehicleCategoryName; + //车辆牌照颜色名称 + @ApiModelProperty(value = "车辆牌照颜色名称") + private String vehiclePlateColorName; + //车辆备案时间 + @ApiModelProperty(value = "车辆备案时间") + private String vehicleFilingTime; + //车辆联系人姓名 + @ApiModelProperty(value = "车辆联系人姓名") + private String vehicleContactName; + //车辆联系人电话 + @ApiModelProperty(value = "车辆联系人电话") + private String vehicleContactPhoneNumber; + //车辆备案分类(1, 长期车辆,2, 一次性备案,3, 内部车辆, 4, 临时车辆) + @ApiModelProperty(value = "车辆备案分类(1, 长期车辆,2, 一次性备案,3, 内部车辆, 4, 临时车辆)") + private String vehicleFilingMethod; + //有效标识 + @ApiModelProperty(value = "有效标识") + private String edwValidFlag; + //数据源头 + @ApiModelProperty(value = "数据源头") + private String edwDataSource; + //创建时间 + @ApiModelProperty(value = "创建时间") + private String edwCreateDate; + //更新时间 + @ApiModelProperty(value = "更新时间") + private String edwLastUpdate; + //分区列 + @ApiModelProperty(value = "分区列") + private Long dataVersion; + //同步时间 + @ApiModelProperty(value = "同步时间") + private String accLastUpdateDate; + private Long idSequence; + + //备注 + @ApiModelProperty(value = "备注") + private String remarks; + +} + diff --git a/web-client/src/main/java/com/zcloud/primeport/dto/clientobject/MkmjCO.java b/web-client/src/main/java/com/zcloud/primeport/dto/clientobject/MkmjCO.java index 2a39bca..2dd1985 100644 --- a/web-client/src/main/java/com/zcloud/primeport/dto/clientobject/MkmjCO.java +++ b/web-client/src/main/java/com/zcloud/primeport/dto/clientobject/MkmjCO.java @@ -1,6 +1,7 @@ package com.zcloud.primeport.dto.clientobject; import com.alibaba.cola.dto.ClientObject; +import com.baomidou.mybatisplus.annotation.TableField; import io.swagger.annotations.ApiModelProperty; import lombok.Data; diff --git a/web-domain/src/main/java/com/zcloud/primeport/domain/gateway/EVehicleBasicInfoGateway.java b/web-domain/src/main/java/com/zcloud/primeport/domain/gateway/EVehicleBasicInfoGateway.java new file mode 100644 index 0000000..fe6b619 --- /dev/null +++ b/web-domain/src/main/java/com/zcloud/primeport/domain/gateway/EVehicleBasicInfoGateway.java @@ -0,0 +1,32 @@ +package com.zcloud.primeport.domain.gateway; + +import com.zcloud.primeport.domain.model.EVehicleBasicInfoE; + +import java.util.List; + +/** + * web-domain + * + * @Author dearLin + * @Date 2026-04-23 10:04:32 + */ +public interface EVehicleBasicInfoGateway { + + /** + * 新增 + */ + Boolean add(EVehicleBasicInfoE eVehicleBasicInfoE); + + /** + * 修改 + */ + Boolean update(EVehicleBasicInfoE eVehicleBasicInfoE); + + /** + * 删除 + */ + Boolean deletedEVehicleBasicInfoById(Long id); + + Boolean deletedEVehicleBasicInfoByIds(List id); +} + diff --git a/web-domain/src/main/java/com/zcloud/primeport/domain/model/EVehicleBasicInfoE.java b/web-domain/src/main/java/com/zcloud/primeport/domain/model/EVehicleBasicInfoE.java new file mode 100644 index 0000000..e031468 --- /dev/null +++ b/web-domain/src/main/java/com/zcloud/primeport/domain/model/EVehicleBasicInfoE.java @@ -0,0 +1,52 @@ +package com.zcloud.primeport.domain.model; + +import com.alibaba.cola.domain.Entity; +import com.jjb.saas.framework.domain.model.BaseE; +import lombok.Data; +import lombok.EqualsAndHashCode; + +/** + * web-domain + * + * @Author dearLin + * @Date 2026-04-23 10:04:32 + */ +@Data +public class EVehicleBasicInfoE extends BaseE { + //车辆ID + private String vehicleRecordId; + //车辆备案信息录入单位 + private String vehicleFilingInfoRecordingOrg; + //车辆归属单位 + private String vehicleOwningEntity; + //车辆牌照号码 + private String vehiclePlateNumber; + //车辆行驶证号码 + private String vehicleRegistrationNumber; + //车辆类型名称 + private String vehicleCategoryName; + //车辆牌照颜色名称 + private String vehiclePlateColorName; + //车辆备案时间 + private String vehicleFilingTime; + //车辆联系人姓名 + private String vehicleContactName; + //车辆联系人电话 + private String vehicleContactPhoneNumber; + //车辆备案分类(1, 长期车辆,2, 一次性备案,3, 内部车辆, 4, 临时车辆) + private String vehicleFilingMethod; + //有效标识 + private String edwValidFlag; + //数据源头 + private String edwDataSource; + //创建时间 + private String edwCreateDate; + //更新时间 + private String edwLastUpdate; + //分区列 + private Long dataVersion; + //同步时间 + private String accLastUpdateDate; + private Long idSequence; +} + diff --git a/web-infrastructure/src/main/java/com/zcloud/primeport/gatewayimpl/EVehicleBasicInfoGatewayImpl.java b/web-infrastructure/src/main/java/com/zcloud/primeport/gatewayimpl/EVehicleBasicInfoGatewayImpl.java new file mode 100644 index 0000000..64d88c2 --- /dev/null +++ b/web-infrastructure/src/main/java/com/zcloud/primeport/gatewayimpl/EVehicleBasicInfoGatewayImpl.java @@ -0,0 +1,51 @@ +package com.zcloud.primeport.gatewayimpl; + +import com.zcloud.primeport.domain.gateway.EVehicleBasicInfoGateway; +import com.zcloud.primeport.domain.model.EVehicleBasicInfoE; +import com.zcloud.primeport.persistence.dataobject.EVehicleBasicInfoDO; +import com.zcloud.primeport.persistence.repository.EVehicleBasicInfoRepository; +import lombok.AllArgsConstructor; +import com.zcloud.gbscommon.utils.Tools; +import org.springframework.beans.BeanUtils; +import org.springframework.stereotype.Service; + +import java.util.List; + +/** + * web-infrastructure + * + * @Author dearLin + * @Date 2026-04-23 10:04:32 + */ +@Service +@AllArgsConstructor +public class EVehicleBasicInfoGatewayImpl implements EVehicleBasicInfoGateway { + private final EVehicleBasicInfoRepository eVehicleBasicInfoRepository; + + @Override + public Boolean add(EVehicleBasicInfoE eVehicleBasicInfoE) { + EVehicleBasicInfoDO d = new EVehicleBasicInfoDO(); + BeanUtils.copyProperties(eVehicleBasicInfoE, d); + eVehicleBasicInfoRepository.save(d); + return true; + } + + @Override + public Boolean update(EVehicleBasicInfoE eVehicleBasicInfoE) { + EVehicleBasicInfoDO d = new EVehicleBasicInfoDO(); + BeanUtils.copyProperties(eVehicleBasicInfoE, d); + eVehicleBasicInfoRepository.updateById(d); + return true; + } + + @Override + public Boolean deletedEVehicleBasicInfoById(Long id) { + return eVehicleBasicInfoRepository.removeById(id); + } + + @Override + public Boolean deletedEVehicleBasicInfoByIds(List ids) { + return eVehicleBasicInfoRepository.removeByIds(ids); + } +} + diff --git a/web-infrastructure/src/main/java/com/zcloud/primeport/persistence/dataobject/EVehicleBasicInfoDO.java b/web-infrastructure/src/main/java/com/zcloud/primeport/persistence/dataobject/EVehicleBasicInfoDO.java new file mode 100644 index 0000000..26093e9 --- /dev/null +++ b/web-infrastructure/src/main/java/com/zcloud/primeport/persistence/dataobject/EVehicleBasicInfoDO.java @@ -0,0 +1,75 @@ +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 dearLin + * @Date 2026-04-23 10:04:32 + */ +@Data +@TableName("e_vehicle_basic_info") +@NoArgsConstructor +@EqualsAndHashCode(callSuper = true) +public class EVehicleBasicInfoDO extends BaseDO { + //车辆ID + @ApiModelProperty(value = "车辆ID") + private String vehicleRecordId; + //车辆备案信息录入单位 + @ApiModelProperty(value = "车辆备案信息录入单位") + private String vehicleFilingInfoRecordingOrg; + //车辆归属单位 + @ApiModelProperty(value = "车辆归属单位") + private String vehicleOwningEntity; + //车辆牌照号码 + @ApiModelProperty(value = "车辆牌照号码") + private String vehiclePlateNumber; + //车辆行驶证号码 + @ApiModelProperty(value = "车辆行驶证号码") + private String vehicleRegistrationNumber; + //车辆类型名称 + @ApiModelProperty(value = "车辆类型名称") + private String vehicleCategoryName; + //车辆牌照颜色名称 + @ApiModelProperty(value = "车辆牌照颜色名称") + private String vehiclePlateColorName; + //车辆备案时间 + @ApiModelProperty(value = "车辆备案时间") + private String vehicleFilingTime; + //车辆联系人姓名 + @ApiModelProperty(value = "车辆联系人姓名") + private String vehicleContactName; + //车辆联系人电话 + @ApiModelProperty(value = "车辆联系人电话") + private String vehicleContactPhoneNumber; + //车辆备案分类(1, 长期车辆,2, 一次性备案,3, 内部车辆, 4, 临时车辆) + @ApiModelProperty(value = "车辆备案分类(1, 长期车辆,2, 一次性备案,3, 内部车辆, 4, 临时车辆)") + private String vehicleFilingMethod; + //有效标识 + @ApiModelProperty(value = "有效标识") + private String edwValidFlag; + //数据源头 + @ApiModelProperty(value = "数据源头") + private String edwDataSource; + //创建时间 + @ApiModelProperty(value = "创建时间") + private String edwCreateDate; + //更新时间 + @ApiModelProperty(value = "更新时间") + private String edwLastUpdate; + //分区列 + @ApiModelProperty(value = "分区列") + private Long dataVersion; + //同步时间 + @ApiModelProperty(value = "同步时间") + private String accLastUpdateDate; + private Long idSequence; + +} + diff --git a/web-infrastructure/src/main/java/com/zcloud/primeport/persistence/dataobject/MkmjDO.java b/web-infrastructure/src/main/java/com/zcloud/primeport/persistence/dataobject/MkmjDO.java index 8996fe8..7cd5a00 100644 --- a/web-infrastructure/src/main/java/com/zcloud/primeport/persistence/dataobject/MkmjDO.java +++ b/web-infrastructure/src/main/java/com/zcloud/primeport/persistence/dataobject/MkmjDO.java @@ -74,5 +74,7 @@ public class MkmjDO extends BaseDO { private Long jurisdictionalCorpId; @TableField(exist = false) private String jurisdictionalCorpName; + @TableField(exist = false) + private String closedAreaName; } diff --git a/web-infrastructure/src/main/java/com/zcloud/primeport/persistence/mapper/ClosedAreaPersonApplyMapper.java b/web-infrastructure/src/main/java/com/zcloud/primeport/persistence/mapper/ClosedAreaPersonApplyMapper.java index c28567d..e4e4344 100644 --- a/web-infrastructure/src/main/java/com/zcloud/primeport/persistence/mapper/ClosedAreaPersonApplyMapper.java +++ b/web-infrastructure/src/main/java/com/zcloud/primeport/persistence/mapper/ClosedAreaPersonApplyMapper.java @@ -7,9 +7,12 @@ import com.jjb.saas.framework.datascope.annotation.DataScopes; import com.zcloud.primeport.persistence.dataobject.ClosedAreaPersonApplyDO; import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.zcloud.primeport.persistence.dataobject.UserDto; +import com.zcloud.primeport.plan.mjDevice.TwoPersonUtil; +import com.zcloud.primeport.plan.mjDevice.dto.TwoLevelUser; import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Param; +import java.util.List; import java.util.Map; /** @@ -26,5 +29,7 @@ public interface ClosedAreaPersonApplyMapper extends BaseMapper getCorpUserList(IPage iPage, @Param("params") Map params); IPage listPage(Page> page, @Param("params") Map params, String menuPerms); + + List getDockAuthInfoById(Long applyId); } diff --git a/web-infrastructure/src/main/java/com/zcloud/primeport/persistence/mapper/EVehicleBasicInfoMapper.java b/web-infrastructure/src/main/java/com/zcloud/primeport/persistence/mapper/EVehicleBasicInfoMapper.java new file mode 100644 index 0000000..bd965a7 --- /dev/null +++ b/web-infrastructure/src/main/java/com/zcloud/primeport/persistence/mapper/EVehicleBasicInfoMapper.java @@ -0,0 +1,17 @@ +package com.zcloud.primeport.persistence.mapper; + +import com.zcloud.primeport.persistence.dataobject.EVehicleBasicInfoDO; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import org.apache.ibatis.annotations.Mapper; + +/** + * web-infrastructure + * + * @Author dearLin + * @Date 2026-04-23 10:04:32 + */ +@Mapper +public interface EVehicleBasicInfoMapper extends BaseMapper { + +} + diff --git a/web-infrastructure/src/main/java/com/zcloud/primeport/persistence/repository/ClosedAreaPersonApplyRepository.java b/web-infrastructure/src/main/java/com/zcloud/primeport/persistence/repository/ClosedAreaPersonApplyRepository.java index 8e50ae9..4778122 100644 --- a/web-infrastructure/src/main/java/com/zcloud/primeport/persistence/repository/ClosedAreaPersonApplyRepository.java +++ b/web-infrastructure/src/main/java/com/zcloud/primeport/persistence/repository/ClosedAreaPersonApplyRepository.java @@ -4,8 +4,11 @@ import com.zcloud.primeport.persistence.dataobject.ClosedAreaPersonApplyDO; import com.alibaba.cola.dto.PageResponse; import com.jjb.saas.framework.repository.repo.BaseRepository; import com.zcloud.primeport.persistence.dataobject.UserDto; +import com.zcloud.primeport.plan.mjDevice.TwoPersonUtil; +import com.zcloud.primeport.plan.mjDevice.dto.TwoLevelUser; import org.apache.ibatis.annotations.Param; +import java.util.List; import java.util.Map; /** @@ -17,5 +20,7 @@ public interface ClosedAreaPersonApplyRepository extends BaseRepository listPage(Map params); PageResponse getCorpUserList(Map params); + + List getDockAuthInfoById(Long applyId); } diff --git a/web-infrastructure/src/main/java/com/zcloud/primeport/persistence/repository/EVehicleBasicInfoRepository.java b/web-infrastructure/src/main/java/com/zcloud/primeport/persistence/repository/EVehicleBasicInfoRepository.java new file mode 100644 index 0000000..8e6e47e --- /dev/null +++ b/web-infrastructure/src/main/java/com/zcloud/primeport/persistence/repository/EVehicleBasicInfoRepository.java @@ -0,0 +1,18 @@ +package com.zcloud.primeport.persistence.repository; + +import com.zcloud.primeport.persistence.dataobject.EVehicleBasicInfoDO; +import com.alibaba.cola.dto.PageResponse; +import com.jjb.saas.framework.repository.repo.BaseRepository; + +import java.util.Map; + +/** + * web-infrastructure + * + * @Author dearLin + * @Date 2026-04-23 10:04:33 + */ +public interface EVehicleBasicInfoRepository extends BaseRepository { + PageResponse listPage(Map params); +} + diff --git a/web-infrastructure/src/main/java/com/zcloud/primeport/persistence/repository/impl/ClosedAreaPersonApplyRepositoryImpl.java b/web-infrastructure/src/main/java/com/zcloud/primeport/persistence/repository/impl/ClosedAreaPersonApplyRepositoryImpl.java index 6dc8394..291d570 100644 --- a/web-infrastructure/src/main/java/com/zcloud/primeport/persistence/repository/impl/ClosedAreaPersonApplyRepositoryImpl.java +++ b/web-infrastructure/src/main/java/com/zcloud/primeport/persistence/repository/impl/ClosedAreaPersonApplyRepositoryImpl.java @@ -14,9 +14,13 @@ 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 com.zcloud.primeport.plan.mjDevice.TwoPersonUtil; +import com.zcloud.primeport.plan.mjDevice.dto.TwoLevelUser; import lombok.RequiredArgsConstructor; import org.springframework.stereotype.Service; +import java.util.Collections; +import java.util.List; import java.util.Map; /** @@ -50,5 +54,10 @@ public class ClosedAreaPersonApplyRepositoryImpl extends BaseRepositoryImpl result = closedAreaPersonApplyMapper.getCorpUserList(iPage, params); return PageHelper.pageToResponse(result, result.getRecords()); } + + @Override + public List getDockAuthInfoById(Long applyId) { + return closedAreaPersonApplyMapper.getDockAuthInfoById(applyId); + } } diff --git a/web-infrastructure/src/main/java/com/zcloud/primeport/persistence/repository/impl/EVehicleBasicInfoRepositoryImpl.java b/web-infrastructure/src/main/java/com/zcloud/primeport/persistence/repository/impl/EVehicleBasicInfoRepositoryImpl.java new file mode 100644 index 0000000..1af0ae7 --- /dev/null +++ b/web-infrastructure/src/main/java/com/zcloud/primeport/persistence/repository/impl/EVehicleBasicInfoRepositoryImpl.java @@ -0,0 +1,39 @@ +package com.zcloud.primeport.persistence.repository.impl; + +import com.zcloud.primeport.persistence.dataobject.EVehicleBasicInfoDO; +import com.zcloud.primeport.persistence.mapper.EVehicleBasicInfoMapper; +import com.zcloud.primeport.persistence.repository.EVehicleBasicInfoRepository; +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.Map; + +/** + * web-infrastructure + * + * @Author dearLin + * @Date 2026-04-23 10:04:33 + */ +@Service +@RequiredArgsConstructor +public class EVehicleBasicInfoRepositoryImpl extends BaseRepositoryImpl implements EVehicleBasicInfoRepository { + private final EVehicleBasicInfoMapper eVehicleBasicInfoMapper; + + @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 = eVehicleBasicInfoMapper.selectPage(iPage, queryWrapper); + return PageHelper.pageToResponse(result, result.getRecords()); + } +} + diff --git a/web-infrastructure/src/main/java/com/zcloud/primeport/plan/mjDevice/TwoPersonUtil.java b/web-infrastructure/src/main/java/com/zcloud/primeport/plan/mjDevice/TwoPersonUtil.java new file mode 100644 index 0000000..a217670 --- /dev/null +++ b/web-infrastructure/src/main/java/com/zcloud/primeport/plan/mjDevice/TwoPersonUtil.java @@ -0,0 +1,154 @@ +package com.zcloud.primeport.plan.mjDevice; + +import cn.hutool.json.JSONArray; +import cn.hutool.json.JSONObject; +import com.zcloud.gbscommon.dahuaDevice.DaHuaDeviceCommon; +import com.zcloud.gbscommon.dahuaDevice.DhuaConfig; +import com.zcloud.gbscommon.hkDevice.HKDeviceUtil; +import com.zcloud.gbscommon.utils.DateUtil; +import com.zcloud.gbscommon.utils.Tools; +import com.zcloud.primeport.persistence.dataobject.XgfApplyPersonDO; +import com.zcloud.primeport.persistence.repository.ClosedAreaPersonApplyRepository; +import com.zcloud.primeport.persistence.repository.XgfApplyPersonRepository; +import com.zcloud.primeport.plan.mjDevice.dto.TwoLevelUser; +import jodd.util.Base64; +import lombok.Data; +import org.springframework.stereotype.Component; + +import javax.annotation.Resource; +import java.io.File; +import java.io.FileInputStream; +import java.io.IOException; +import java.util.*; +import java.util.stream.Collectors; + +/** + * 一级人员门禁对接 前缀 + * + */ +@Component +public class TwoPersonUtil { + @Resource + private ClosedAreaPersonApplyRepository closedAreaPersonApplyRepository; + @Resource + // @Value("${kmmj.dockflag}") +// private Integer dockFlag; +// @Value("${oneLevelPerson.prefix}") +// private String prefix; + private static Integer dockFlag = 1; + private static String prefix = "https://skqhdg.porthebei.com:9008/yjkmRy/"; + private static String username = "shuangkong"; + private static String password = "qinan@202604"; + private static String clientId = "mkmj_management"; + private static String clientSecret = "5ef82f7c-9926-46a3-8d07-136fd054849c"; + + + public void levelTwoPeopleCompanyByApplyId(Long applyId) { + List u = new ArrayList<>(); + List userList = closedAreaPersonApplyRepository.getDockAuthInfoById(applyId); + userList.forEach(item -> { + item.setUserCard(Base64.decodeToString(item.getUserCard())); + u.add(item); + if (Tools.notEmpty(item.getEntourage())) { + List entourageList = getEntourageList(new JSONArray(item.getEntourage())); + if (!entourageList.isEmpty()) { + u.addAll(entourageList); + } + } + }); + } + + protected List getEntourageList(JSONArray entries) { + if (entries.isEmpty()) return new ArrayList<>(); + ArrayList objects = new ArrayList<>(); + for (int i = 0; i < entries.size(); i++) { + TwoLevelUser u = new TwoLevelUser(); + JSONObject jsonObject = entries.getJSONObject(i); +// [{"phone": "15128544888", "corpId": "2008796992261763072", +// "deptId": "2018204266870550528", "userId": "2027620760511225858", +// "corpName": "相关方普通企业_王雯仲", "deptName": "总经办", +// "userCard": "MTMwMzI0MTk5NTA2MDQxMjUx", "userName": "培训测试人员3", +// "userFaceUrl": null, "trainingState": "0", "endTrainingTime": null, +// "startTrainingTime": null}, {"phone": "13230332854", +// "corpId": "2008796992261763072", "deptId": "2018204266870550528", +// "userId": "2021400333349629953", "corpName": "相关方普通企业_王雯仲", +// "deptName": "总经办", "userCard": "MTMwMzI0MTk5NTA2MDQwNjkx", +// "userName": "线下培训人员2", +// "userFaceUrl": "2008796992261763072/202604/user_avatar/aa7880cf7abb4ee7aaa2eb6b911c6022.jpg", +// "trainingState": "0", +// "endTrainingTime": "2026-04-11 00:00:00", +// "startTrainingTime": "2026-04-06 00:00:00"}, + u.setUserPhone(jsonObject.getStr("phone")); + u.setUserCard(Base64.decodeToString(jsonObject.getStr("userCard"))); + u.setUserFaceImages(jsonObject.getStr("userFaceUrl")); + u.setUserName(jsonObject.getStr("userName")); + objects.add(u); + } + return objects; + } + + + /** + * 对接二级口门人 + */ + public void dockLongTermUserAuthLevelTwo(TwoLevelUser towUser) { + // 跟据身份证号查询 这个人有没有一级门禁 没有新增一级门禁 + if (!dockFlag.equals(1)) return; + JSONObject userListByUserCard = HKDeviceUtil.getUserListByPhone(Arrays.asList(towUser.getUserPhone())); + if (userListByUserCard.getJSONArray("data").isEmpty()) return; + // 门禁系统里没有这个人,哪么需要把这个人的信息同步过去 + HKDeviceUtil.saveUser(towUser.getUserName(), towUser.getUserCard(), towUser.getUserFaceImagesBase64(), towUser.getUserPhone()); + } + + private static List> partition(List list, int size) { + List> partitions = new ArrayList<>(); + for (int i = 0; i < list.size(); i += size) { + partitions.add(list.subList(i, Math.min(i + size, list.size()))); + } + return partitions; + } + + /* + * 给人授权门禁范围 + * */ + public void dockLongAuthTwo(List userIdList, List resourceInfos, String time) { + if (!dockFlag.equals(1)) return; + JSONArray jsonArray = new JSONArray(); + List phoneList = userIdList.stream().map(TwoLevelUser::getUserPhone).collect(Collectors.toList()); + List> partition = partition(phoneList, 20); + partition.forEach(item -> { + // 接口有限制 最多一次查询20个人 + jsonArray.addAll(HKDeviceUtil.getUserListByPhone(item).getJSONObject("data").getJSONArray("list")); + }); + ArrayList objects = new ArrayList<>(); + resourceInfos.forEach(item -> { + JSONObject entries = new JSONObject(); + entries.set("resourceIndexCode", item); + entries.set("resourceType", "door"); + objects.add(entries); + }); + // 接口有限制 最多一次存1000个人 + ArrayList userIds = new ArrayList<>(); + for (int i = 0; i < jsonArray.size(); i++) { + JSONObject jsonObject = jsonArray.getJSONObject(i); + userIds.add(jsonObject.getStr("personId")); + } + List> partitionUserIds = partition(userIds, 1000); + partitionUserIds.forEach(itemUserPhones -> { + HKDeviceUtil.authPersonArea(itemUserPhones, objects, time + "T00:00:00+08:00", time + "T23:59:59+08:00"); + }); + } + + protected DaHuaDeviceCommon getDaHuaDeviceCommon() { + return new DaHuaDeviceCommon(new DhuaConfig(dockFlag, prefix, username, password, clientId, clientSecret)); + } + + public static void main(String[] args) throws Exception { + JSONArray objects = new JSONArray(); + JSONArray objects1 = new JSONArray(""); + JSONArray objects3 = new JSONArray(null); + + System.out.println(objects1); + } + +} diff --git a/web-infrastructure/src/main/java/com/zcloud/primeport/plan/mjDevice/dto/TwoLevelUser.java b/web-infrastructure/src/main/java/com/zcloud/primeport/plan/mjDevice/dto/TwoLevelUser.java new file mode 100644 index 0000000..ae3ef6f --- /dev/null +++ b/web-infrastructure/src/main/java/com/zcloud/primeport/plan/mjDevice/dto/TwoLevelUser.java @@ -0,0 +1,20 @@ +package com.zcloud.primeport.plan.mjDevice.dto; + +import lombok.Data; + +import java.util.List; + +@Data +public class TwoLevelUser { + private String userCard; + private String userPhone; + private String userUid; + private String userName; + private String userFaceImages; + private String userFaceImagesBase64; + private String visitStartTime; + private String visitEndTime; + private List resourceIndexCode; + private String hkIndexCode; + private String entourage; +} diff --git a/web-infrastructure/src/main/resources/mapper/ClosedAreaPersonApplyMapper.xml b/web-infrastructure/src/main/resources/mapper/ClosedAreaPersonApplyMapper.xml index 441a249..1495528 100644 --- a/web-infrastructure/src/main/resources/mapper/ClosedAreaPersonApplyMapper.xml +++ b/web-infrastructure/src/main/resources/mapper/ClosedAreaPersonApplyMapper.xml @@ -48,6 +48,9 @@ AND u.name like CONCAT('%', #{params.name}, '%') + + AND u.id != #{params.selfUserId} + ORDER BY u.department_id @@ -84,5 +87,55 @@ order by c.id desc + diff --git a/web-infrastructure/src/main/resources/mapper/EVehicleBasicInfoMapper.xml b/web-infrastructure/src/main/resources/mapper/EVehicleBasicInfoMapper.xml new file mode 100644 index 0000000..d4d3204 --- /dev/null +++ b/web-infrastructure/src/main/resources/mapper/EVehicleBasicInfoMapper.xml @@ -0,0 +1,8 @@ + + + + + + + diff --git a/web-infrastructure/src/main/resources/mapper/MkmjDO.xml b/web-infrastructure/src/main/resources/mapper/MkmjDO.xml index df75363..03eccbd 100644 --- a/web-infrastructure/src/main/resources/mapper/MkmjDO.xml +++ b/web-infrastructure/src/main/resources/mapper/MkmjDO.xml @@ -21,6 +21,7 @@ m.longitude, m.latitude, m.closed_area_id, + ca.closed_area_name, m.out_direction_type, ca.jurisdictional_corp_id, ca.jurisdictional_corp_name, diff --git a/web-infrastructure/src/main/resources/mapper/MkmjGateDO.xml b/web-infrastructure/src/main/resources/mapper/MkmjGateDO.xml index 439da58..3fa8498 100644 --- a/web-infrastructure/src/main/resources/mapper/MkmjGateDO.xml +++ b/web-infrastructure/src/main/resources/mapper/MkmjGateDO.xml @@ -53,6 +53,8 @@ AND g.gate_status = #{params.gateStatus} + GROUP BY + g.id ORDER BY g.id DESC