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 b2fca6c..2e62607 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 @@ -1,6 +1,7 @@ package com.zcloud.primeport.web; +import cn.hutool.core.util.ObjectUtil; import com.zcloud.primeport.api.MkmjAreaServiceI; import com.zcloud.primeport.domain.model.MkmjStatisticsE; import com.zcloud.primeport.dto.MkmjAreaAddCmd; @@ -40,6 +41,10 @@ public class MkmjAreaController { @PostMapping("/save") public SingleResponse add(@Validated @RequestBody MkmjAreaAddCmd cmd) { SSOUser ssoUser = AuthContext.getCurrentUser(); + if(ObjectUtil.isEmpty(cmd.getCorpinfoId())){ + cmd.setCorpinfoId(ssoUser.getTenantId()); + cmd.setCorpinfoName(ssoUser.getTenantName()); + } return mkmjAreaService.add(cmd); } 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 5ed7290..a4a5391 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 @@ -4,15 +4,13 @@ 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.PassageCountE; 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.primeport.persistence.repository.MkmjCarRecordRepository; -import com.zcloud.primeport.persistence.repository.MkmjGateVideoRepository; -import com.zcloud.primeport.persistence.repository.MkmjSwipeCardRecordRepository; +import com.zcloud.primeport.persistence.repository.*; import lombok.AllArgsConstructor; import org.springframework.stereotype.Component; @@ -37,6 +35,7 @@ public class MkmjAreaQueryExe { private final MkmjGateVideoRepository mkmjGateVideoRepository; private final MkmjCarRecordRepository mkmjCarRecordRepository; private final MkmjSwipeCardRecordRepository mkmjSwipeCardRecordRepository; + private final MkmjPassageRepository mkmjPassageRepository; /** * 根据id查询 @@ -58,15 +57,23 @@ public class MkmjAreaQueryExe { Map params = PageQueryHelper.toHashMap(mkmjAreaPageQry); PageResponse pageResponse = mkmjAreaRepository.listPage(params); List examCenterCOS = mkmjAreaCoConvertor.converDOsToCOs(pageResponse.getData()); - List ids = examCenterCOS.stream().map(MkmjAreaCO::getAreaId).collect(Collectors.toList()); - List videoCounts = mkmjGateVideoRepository.listVideoCountByAreaId(ids); - examCenterCOS.forEach(examCenterCO -> { - videoCounts.forEach(videoCount -> { - if (examCenterCO.getAreaId().equals(videoCount.getAreaGateId())) { - examCenterCO.setVideoNum(videoCount.getCount()); - } + if(examCenterCOS.size() > 0) { + List ids = examCenterCOS.stream().map(MkmjAreaCO::getAreaId).collect(Collectors.toList()); + List videoCounts = mkmjGateVideoRepository.listVideoCountByAreaId(ids); + List passageCounts = mkmjPassageRepository.listPassageCountByAreaId(ids); + examCenterCOS.forEach(examCenterCO -> { + videoCounts.forEach(videoCount -> { + if (examCenterCO.getAreaId().equals(videoCount.getAreaGateId())) { + examCenterCO.setVideoNum(videoCount.getCount()); + } + }); + passageCounts.forEach(passageCount -> { + if (examCenterCO.getAreaId().equals(passageCount.getAreaId())) { + examCenterCO.setPassageNum(passageCount.getCount()); + } + }); }); - }); + } return PageResponse.of(examCenterCOS, pageResponse.getTotalCount(), pageResponse.getPageSize(), pageResponse.getPageIndex()); } diff --git a/web-client/src/main/java/com/zcloud/primeport/dto/MkmjAreaAddCmd.java b/web-client/src/main/java/com/zcloud/primeport/dto/MkmjAreaAddCmd.java index 97ac086..64672b6 100644 --- a/web-client/src/main/java/com/zcloud/primeport/dto/MkmjAreaAddCmd.java +++ b/web-client/src/main/java/com/zcloud/primeport/dto/MkmjAreaAddCmd.java @@ -57,5 +57,11 @@ public class MkmjAreaAddCmd extends Command { @NotEmpty(message = "纬度不能为空") private String latitude; + @ApiModelProperty(value = "企业id", name = "corpinfoId") + private Long corpinfoId; + @ApiModelProperty(value = "企业名称", name = "corpinfoName") + private String corpinfoName; + + } diff --git a/web-client/src/main/java/com/zcloud/primeport/dto/MkmjAreaUpdateCmd.java b/web-client/src/main/java/com/zcloud/primeport/dto/MkmjAreaUpdateCmd.java index f89fdcd..9d240c1 100644 --- a/web-client/src/main/java/com/zcloud/primeport/dto/MkmjAreaUpdateCmd.java +++ b/web-client/src/main/java/com/zcloud/primeport/dto/MkmjAreaUpdateCmd.java @@ -54,5 +54,10 @@ public class MkmjAreaUpdateCmd extends Command { @ApiModelProperty(value = "纬度", name = "latitude", required = true) @NotEmpty(message = "纬度不能为空") private String latitude; + + @ApiModelProperty(value = "企业id", name = "corpinfoId") + private Long corpinfoId; + @ApiModelProperty(value = "企业名称", name = "corpinfoName") + private String corpinfoName; } diff --git a/web-client/src/main/java/com/zcloud/primeport/dto/clientobject/MkmjAreaCO.java b/web-client/src/main/java/com/zcloud/primeport/dto/clientobject/MkmjAreaCO.java index b0a2e67..9d4ec87 100644 --- a/web-client/src/main/java/com/zcloud/primeport/dto/clientobject/MkmjAreaCO.java +++ b/web-client/src/main/java/com/zcloud/primeport/dto/clientobject/MkmjAreaCO.java @@ -42,7 +42,9 @@ public class MkmjAreaCO extends ClientObject { private Integer areaStatus; //企业id @ApiModelProperty(value = "企业id") - private String corpinfoId; + private Long corpinfoId; + @ApiModelProperty(value = "企业名称") + private String corpinfoName; //经度 @ApiModelProperty(value = "经度") private String longitude; @@ -52,5 +54,8 @@ public class MkmjAreaCO extends ClientObject { // 视频个数 @ApiModelProperty(value = "视频个数") private Long videoNum; + // 通道个数 + @ApiModelProperty(value = "通道个数") + private Long passageNum; } diff --git a/web-domain/src/main/java/com/zcloud/primeport/domain/model/MkmjAreaE.java b/web-domain/src/main/java/com/zcloud/primeport/domain/model/MkmjAreaE.java index 8f695a5..0e88757 100644 --- a/web-domain/src/main/java/com/zcloud/primeport/domain/model/MkmjAreaE.java +++ b/web-domain/src/main/java/com/zcloud/primeport/domain/model/MkmjAreaE.java @@ -1,6 +1,7 @@ package com.zcloud.primeport.domain.model; import com.jjb.saas.framework.domain.model.BaseE; +import io.swagger.annotations.ApiModelProperty; import lombok.Data; /** @@ -27,11 +28,12 @@ public class MkmjAreaE extends BaseE { private Integer areaType; //区域状态 0-停用 1-正常 2-暂时关闭 private Integer areaStatus; - //企业id - private String corpinfoId; //经度 private String longitude; //纬度 private String latitude; + + private Long corpinfoId; + private String corpinfoName; } diff --git a/web-domain/src/main/java/com/zcloud/primeport/domain/model/PassageCountE.java b/web-domain/src/main/java/com/zcloud/primeport/domain/model/PassageCountE.java new file mode 100644 index 0000000..b208c9b --- /dev/null +++ b/web-domain/src/main/java/com/zcloud/primeport/domain/model/PassageCountE.java @@ -0,0 +1,14 @@ +package com.zcloud.primeport.domain.model; + +import com.jjb.saas.framework.domain.model.BaseE; +import lombok.Data; + +/** + * @author fangjiakai + * @date 2025/11/14 10:24 + */ +@Data +public class PassageCountE extends BaseE { + private String areaId; + private Long count; +} diff --git a/web-infrastructure/src/main/java/com/zcloud/primeport/persistence/dataobject/MkmjAreaDO.java b/web-infrastructure/src/main/java/com/zcloud/primeport/persistence/dataobject/MkmjAreaDO.java index 31a57cd..d673bc6 100644 --- a/web-infrastructure/src/main/java/com/zcloud/primeport/persistence/dataobject/MkmjAreaDO.java +++ b/web-infrastructure/src/main/java/com/zcloud/primeport/persistence/dataobject/MkmjAreaDO.java @@ -44,7 +44,9 @@ public class MkmjAreaDO extends BaseDO { private Integer areaStatus; //企业id @ApiModelProperty(value = "企业id") - private String corpinfoId; + private Long corpinfoId; + @ApiModelProperty(value = "企业名称") + private String corpinfoName; //经度 @ApiModelProperty(value = "经度") private String longitude; diff --git a/web-infrastructure/src/main/java/com/zcloud/primeport/persistence/mapper/MkmjPassageMapper.java b/web-infrastructure/src/main/java/com/zcloud/primeport/persistence/mapper/MkmjPassageMapper.java index c0f13ab..f087683 100644 --- a/web-infrastructure/src/main/java/com/zcloud/primeport/persistence/mapper/MkmjPassageMapper.java +++ b/web-infrastructure/src/main/java/com/zcloud/primeport/persistence/mapper/MkmjPassageMapper.java @@ -1,9 +1,12 @@ package com.zcloud.primeport.persistence.mapper; +import com.zcloud.primeport.domain.model.PassageCountE; import com.zcloud.primeport.persistence.dataobject.MkmjPassageDO; import com.baomidou.mybatisplus.core.mapper.BaseMapper; import org.apache.ibatis.annotations.Mapper; +import java.util.List; + /** * web-infrastructure * @@ -13,5 +16,6 @@ import org.apache.ibatis.annotations.Mapper; @Mapper public interface MkmjPassageMapper extends BaseMapper { + List listPassageCountByAreaId(List ids); } diff --git a/web-infrastructure/src/main/java/com/zcloud/primeport/persistence/repository/MkmjPassageRepository.java b/web-infrastructure/src/main/java/com/zcloud/primeport/persistence/repository/MkmjPassageRepository.java index 419059c..4b7ff3b 100644 --- a/web-infrastructure/src/main/java/com/zcloud/primeport/persistence/repository/MkmjPassageRepository.java +++ b/web-infrastructure/src/main/java/com/zcloud/primeport/persistence/repository/MkmjPassageRepository.java @@ -1,9 +1,11 @@ package com.zcloud.primeport.persistence.repository; +import com.zcloud.primeport.domain.model.PassageCountE; import com.zcloud.primeport.persistence.dataobject.MkmjPassageDO; import com.alibaba.cola.dto.PageResponse; import com.jjb.saas.framework.repository.repo.BaseRepository; +import java.util.List; import java.util.Map; /** @@ -14,5 +16,7 @@ import java.util.Map; */ public interface MkmjPassageRepository extends BaseRepository { PageResponse listPage(Map params); + + List listPassageCountByAreaId(List ids); } diff --git a/web-infrastructure/src/main/java/com/zcloud/primeport/persistence/repository/impl/MkmjAreaRepositoryImpl.java b/web-infrastructure/src/main/java/com/zcloud/primeport/persistence/repository/impl/MkmjAreaRepositoryImpl.java index 5ae8de0..3c4a3e5 100644 --- a/web-infrastructure/src/main/java/com/zcloud/primeport/persistence/repository/impl/MkmjAreaRepositoryImpl.java +++ b/web-infrastructure/src/main/java/com/zcloud/primeport/persistence/repository/impl/MkmjAreaRepositoryImpl.java @@ -31,7 +31,8 @@ public class MkmjAreaRepositoryImpl extends BaseRepositoryImpl iPage = new Query().getPage(params); QueryWrapper queryWrapper = new QueryWrapper<>(); queryWrapper = PageQueryHelper.createPageQueryWrapper(queryWrapper, params); - queryWrapper.orderByDesc("create_time"); + queryWrapper.apply("FIELD(area_status, 1, 0, 2)") + .orderByDesc("create_time"); IPage result = mkmjAreaMapper.selectPage(iPage, queryWrapper); return PageHelper.pageToResponse(result, result.getRecords()); } diff --git a/web-infrastructure/src/main/java/com/zcloud/primeport/persistence/repository/impl/MkmjGateVideoRepositoryImpl.java b/web-infrastructure/src/main/java/com/zcloud/primeport/persistence/repository/impl/MkmjGateVideoRepositoryImpl.java index a836b58..60f17f7 100644 --- a/web-infrastructure/src/main/java/com/zcloud/primeport/persistence/repository/impl/MkmjGateVideoRepositoryImpl.java +++ b/web-infrastructure/src/main/java/com/zcloud/primeport/persistence/repository/impl/MkmjGateVideoRepositoryImpl.java @@ -42,7 +42,6 @@ public class MkmjGateVideoRepositoryImpl extends BaseRepositoryImpl listVideoCountByAreaId(List ids){ return mkmjGateVideoMapper.listVideoCountByAreaId(ids); - } } diff --git a/web-infrastructure/src/main/java/com/zcloud/primeport/persistence/repository/impl/MkmjPassageRepositoryImpl.java b/web-infrastructure/src/main/java/com/zcloud/primeport/persistence/repository/impl/MkmjPassageRepositoryImpl.java index a54d6d0..7d6a024 100644 --- a/web-infrastructure/src/main/java/com/zcloud/primeport/persistence/repository/impl/MkmjPassageRepositoryImpl.java +++ b/web-infrastructure/src/main/java/com/zcloud/primeport/persistence/repository/impl/MkmjPassageRepositoryImpl.java @@ -1,6 +1,8 @@ package com.zcloud.primeport.persistence.repository.impl; import com.jjb.saas.framework.repository.common.PageHelper; +import com.zcloud.primeport.domain.model.PassageCountE; +import com.zcloud.primeport.domain.model.VideoCountE; import com.zcloud.primeport.persistence.dataobject.MkmjPassageDO; import com.zcloud.primeport.persistence.mapper.MkmjPassageMapper; import com.zcloud.primeport.persistence.repository.MkmjPassageRepository; @@ -13,6 +15,7 @@ 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; /** @@ -35,5 +38,10 @@ public class MkmjPassageRepositoryImpl extends BaseRepositoryImpl result = mkmjPassageMapper.selectPage(iPage, queryWrapper); return PageHelper.pageToResponse(result, result.getRecords()); } + + @Override + public List listPassageCountByAreaId(List ids){ + return mkmjPassageMapper.listPassageCountByAreaId(ids); + } } diff --git a/web-infrastructure/src/main/resources/mapper/MkmjGateVideoMapper.xml b/web-infrastructure/src/main/resources/mapper/MkmjGateVideoMapper.xml index dc439ef..df6e38d 100644 --- a/web-infrastructure/src/main/resources/mapper/MkmjGateVideoMapper.xml +++ b/web-infrastructure/src/main/resources/mapper/MkmjGateVideoMapper.xml @@ -8,6 +8,7 @@ select area_gate_id,count(1) as count from mkmj_gate_video + and delete_enum = 'FALSE' and area_gate_id in diff --git a/web-infrastructure/src/main/resources/mapper/MkmjPassageMapper.xml b/web-infrastructure/src/main/resources/mapper/MkmjPassageMapper.xml index 791e758..90c0208 100644 --- a/web-infrastructure/src/main/resources/mapper/MkmjPassageMapper.xml +++ b/web-infrastructure/src/main/resources/mapper/MkmjPassageMapper.xml @@ -4,5 +4,20 @@ + +