From 75ee58b11a0a4805b6222db89d95c5a1f178340a Mon Sep 17 00:00:00 2001 From: attiya <2413103649@qq.com> Date: Wed, 7 May 2025 11:14:06 +0800 Subject: [PATCH] =?UTF-8?q?=E7=AB=99=E7=82=B9=E5=88=86=E9=A1=B5=E3=80=81?= =?UTF-8?q?=E8=AF=A6=E6=83=85?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../controller/EbikeRegionController.java | 14 +-- .../response/ResEbikeSiteRegionInfoDto.java | 2 + .../response/ResEbikeSiteRegionPageDto.java | 102 ++++++++++++++++++ .../service/EbikeSiteRegionService.java | 13 +++ .../impl/EbikeSiteRegionServiceImpl.java | 46 ++++++-- 5 files changed, 155 insertions(+), 22 deletions(-) create mode 100644 ebike-operate/src/main/java/com/cdzy/ebikeoperate/model/dto/response/ResEbikeSiteRegionPageDto.java diff --git a/ebike-operate/src/main/java/com/cdzy/ebikeoperate/controller/EbikeRegionController.java b/ebike-operate/src/main/java/com/cdzy/ebikeoperate/controller/EbikeRegionController.java index e7999cc6..64721c16 100644 --- a/ebike-operate/src/main/java/com/cdzy/ebikeoperate/controller/EbikeRegionController.java +++ b/ebike-operate/src/main/java/com/cdzy/ebikeoperate/controller/EbikeRegionController.java @@ -25,7 +25,6 @@ import com.mybatisflex.core.paginate.Page; import com.mybatisflex.core.query.QueryMethods; import com.mybatisflex.core.query.QueryWrapper; import com.mybatisflex.core.update.UpdateChain; -import com.mybatisflex.core.util.StringUtil; import jakarta.annotation.Resource; import jakarta.validation.constraints.NotNull; import org.springframework.validation.annotation.Validated; @@ -37,7 +36,6 @@ import java.util.Objects; import static com.cdzy.ebikeoperate.model.pojo.table.EbikeAdministrationZoneTableDef.EBIKE_ADMINISTRATION_ZONE; import static com.cdzy.ebikeoperate.model.pojo.table.EbikeOperationRegionTableDef.EBIKE_OPERATION_REGION; import static com.cdzy.ebikeoperate.model.pojo.table.EbikeRegionLevelTableDef.EBIKE_REGION_LEVEL; -import static com.cdzy.ebikeoperate.model.pojo.table.EbikeSiteRegionTableDef.EBIKE_SITE_REGION; /** * 区域控制层。 @@ -197,16 +195,8 @@ public class EbikeRegionController { * @return {@code 200} 添加成功,{@code 500} 添加失败 */ @GetMapping("pageSite") - public JsonResult pageSite(@Validated PageParam pageParam,Long operationRegionDId, String zoneId, String siteName) { - QueryWrapper queryWrapper = QueryWrapper.create() - .leftJoin(EBIKE_OPERATION_REGION).on(EBIKE_OPERATION_REGION.OPERATION_REGION_ID.eq(EBIKE_SITE_REGION.OPERATION_REGION_ID)) - .leftJoin(EBIKE_ADMINISTRATION_ZONE).on(EBIKE_ADMINISTRATION_ZONE.ID.eq(EBIKE_OPERATION_REGION.ZONE_ID)) -// .leftJoin(EBIKE_REGION_LEVEL).on(EBIKE_REGION_LEVEL.LEVEL_VALUE.eq(EBIKE_SITE_REGION.SITE_LEVEL)) -// .where(EBIKE_REGION_LEVEL.LEVEL_TYPE.eq(RegionLevelType.SITE)) - .where(EBIKE_ADMINISTRATION_ZONE.ID.eq(zoneId,StringUtil.hasText(zoneId))) - .where(EBIKE_SITE_REGION.SITE_NAME.like(siteName, StringUtil.hasText(siteName))) - .where(EBIKE_OPERATION_REGION.OPERATION_REGION_ID.eq(operationRegionDId, Objects.nonNull(operationRegionDId))); - Page page = siteRegionService.page(pageParam.getPage(), queryWrapper); + public JsonResult pageSite(@Validated PageParam pageParam,Long operationRegionId, String zoneId, String siteName) { + Page page = siteRegionService.pageSite(pageParam,operationRegionId, zoneId, siteName); return JsonResult.success(page); } diff --git a/ebike-operate/src/main/java/com/cdzy/ebikeoperate/model/dto/response/ResEbikeSiteRegionInfoDto.java b/ebike-operate/src/main/java/com/cdzy/ebikeoperate/model/dto/response/ResEbikeSiteRegionInfoDto.java index 4a049995..ed6f3a4b 100644 --- a/ebike-operate/src/main/java/com/cdzy/ebikeoperate/model/dto/response/ResEbikeSiteRegionInfoDto.java +++ b/ebike-operate/src/main/java/com/cdzy/ebikeoperate/model/dto/response/ResEbikeSiteRegionInfoDto.java @@ -44,6 +44,8 @@ public class ResEbikeSiteRegionInfoDto { */ private Integer siteLevel; + private String levelName; + /** * 经度 */ diff --git a/ebike-operate/src/main/java/com/cdzy/ebikeoperate/model/dto/response/ResEbikeSiteRegionPageDto.java b/ebike-operate/src/main/java/com/cdzy/ebikeoperate/model/dto/response/ResEbikeSiteRegionPageDto.java new file mode 100644 index 00000000..f3cbd3ed --- /dev/null +++ b/ebike-operate/src/main/java/com/cdzy/ebikeoperate/model/dto/response/ResEbikeSiteRegionPageDto.java @@ -0,0 +1,102 @@ +package com.cdzy.ebikeoperate.model.dto.response; + +import lombok.Data; + +import java.time.LocalDateTime; + +/** + * @author attiya + * @since 2025-05-07 + */ +@Data +public class ResEbikeSiteRegionPageDto { + + private Long siteRegionId; + + /** + * 运营区ID + */ + private Long operationRegionId; + + /** + * 站点名称 + */ + private String siteName; + + /** + * 站点地址 + */ + private String siteAdress; + + /** + * 站点类型 + */ + private Integer siteType; + + /** + * 站点级别 + */ + private Integer siteLevel; + + private String levelName; + + /** + * 经度 + */ + private Double siteLng; + + /** + * 纬度 + */ + private Double siteLat; + + /** + * 1、圆形 2、多边形 + */ + private Integer shapeType; + + /** + * 半径 + */ + private Float radius; + + /** + * 可停数量 + */ + private Integer allowedParkingNum; + + /** + * 最大可停 + */ + private Integer allowedParkingMax; + + /** + * 组织id(运营商id + */ + private Long orgId; + + /** + * 创建员工id + */ + private Long createdStaff; + + /** + * 创建时间 + */ + private LocalDateTime createdTime; + + /** + * 修改时间 + */ + private LocalDateTime updateTime; + + /** + * 修改人 + */ + private Long updateStaff; + + /** + * 逻辑删除 + */ + private Integer isDelete; +} diff --git a/ebike-operate/src/main/java/com/cdzy/ebikeoperate/service/EbikeSiteRegionService.java b/ebike-operate/src/main/java/com/cdzy/ebikeoperate/service/EbikeSiteRegionService.java index 605fb0ea..553bb073 100644 --- a/ebike-operate/src/main/java/com/cdzy/ebikeoperate/service/EbikeSiteRegionService.java +++ b/ebike-operate/src/main/java/com/cdzy/ebikeoperate/service/EbikeSiteRegionService.java @@ -1,9 +1,12 @@ package com.cdzy.ebikeoperate.service; +import com.cdzy.common.model.PageParam; import com.cdzy.ebikeoperate.model.dto.request.ReqBatchRegionDto; import com.cdzy.ebikeoperate.model.dto.request.ReqSiteRegionDto; import com.cdzy.ebikeoperate.model.dto.response.ResEbikeSiteRegionInfoDto; +import com.cdzy.ebikeoperate.model.dto.response.ResEbikeSiteRegionPageDto; import com.cdzy.ebikeoperate.model.pojo.EbikeSiteRegion; +import com.mybatisflex.core.paginate.Page; import com.mybatisflex.core.service.IService; import java.util.List; @@ -47,4 +50,14 @@ public interface EbikeSiteRegionService extends IService { * @return 详情 */ ResEbikeSiteRegionInfoDto siteInfo(Long siteRegionId); + + /** + * 分页查询站点 + * @param pageParam 分页参数 + * @param operationRegionId 运营区id + * @param zoneId 行政区id + * @param siteName 站点名称 + * @return 分页列表 + */ + Page pageSite(PageParam pageParam, Long operationRegionId, String zoneId, String siteName); } diff --git a/ebike-operate/src/main/java/com/cdzy/ebikeoperate/service/impl/EbikeSiteRegionServiceImpl.java b/ebike-operate/src/main/java/com/cdzy/ebikeoperate/service/impl/EbikeSiteRegionServiceImpl.java index 7c4aa119..b53f1df0 100644 --- a/ebike-operate/src/main/java/com/cdzy/ebikeoperate/service/impl/EbikeSiteRegionServiceImpl.java +++ b/ebike-operate/src/main/java/com/cdzy/ebikeoperate/service/impl/EbikeSiteRegionServiceImpl.java @@ -2,6 +2,8 @@ package com.cdzy.ebikeoperate.service.impl; import cn.dev33.satoken.stp.StpUtil; import com.cdzy.common.model.JsonResult; +import com.cdzy.common.model.PageParam; +import com.cdzy.ebikeoperate.enums.RegionLevelType; import com.cdzy.ebikeoperate.mapper.EbikeOperationRegionMapper; import com.cdzy.ebikeoperate.mapper.EbikePointMapper; import com.cdzy.ebikeoperate.mapper.EbikeSiteRegionMapper; @@ -9,6 +11,7 @@ import com.cdzy.ebikeoperate.model.dto.request.ReqBatchRegionDto; import com.cdzy.ebikeoperate.model.dto.request.ReqEbikePointDto; import com.cdzy.ebikeoperate.model.dto.request.ReqSiteRegionDto; import com.cdzy.ebikeoperate.model.dto.response.ResEbikeSiteRegionInfoDto; +import com.cdzy.ebikeoperate.model.dto.response.ResEbikeSiteRegionPageDto; import com.cdzy.ebikeoperate.model.pojo.EbikeOperationRegion; import com.cdzy.ebikeoperate.model.pojo.EbikePoint; import com.cdzy.ebikeoperate.model.pojo.EbikeSiteRegion; @@ -16,7 +19,9 @@ import com.cdzy.ebikeoperate.service.EbikeSiteRegionService; import com.cdzy.ebikeoperate.utils.RedisUtil; import com.ebike.feign.clients.StaffFeignClient; import com.ebike.feign.model.rsp.StaffFeign; +import com.mybatisflex.core.paginate.Page; import com.mybatisflex.core.query.QueryWrapper; +import com.mybatisflex.core.util.StringUtil; import com.mybatisflex.spring.service.impl.ServiceImpl; import jakarta.annotation.Resource; import org.locationtech.jts.geom.Coordinate; @@ -28,8 +33,10 @@ import java.util.ArrayList; import java.util.List; import java.util.Objects; +import static com.cdzy.ebikeoperate.model.pojo.table.EbikeAdministrationZoneTableDef.EBIKE_ADMINISTRATION_ZONE; import static com.cdzy.ebikeoperate.model.pojo.table.EbikeOperationRegionTableDef.EBIKE_OPERATION_REGION; import static com.cdzy.ebikeoperate.model.pojo.table.EbikePointTableDef.EBIKE_POINT; +import static com.cdzy.ebikeoperate.model.pojo.table.EbikeRegionLevelTableDef.EBIKE_REGION_LEVEL; import static com.cdzy.ebikeoperate.model.pojo.table.EbikeSiteRegionTableDef.EBIKE_SITE_REGION; import static com.cdzy.ebikeoperate.model.pojo.table.EbikeStaffRegionTableDef.EBIKE_STAFF_REGION; @@ -40,7 +47,7 @@ import static com.cdzy.ebikeoperate.model.pojo.table.EbikeStaffRegionTableDef.EB * @since 2025-04-29 */ @Service -public class EbikeSiteRegionServiceImpl extends ServiceImpl implements EbikeSiteRegionService{ +public class EbikeSiteRegionServiceImpl extends ServiceImpl implements EbikeSiteRegionService { @Resource private StaffFeignClient staffFeignClient; @@ -69,7 +76,7 @@ public class EbikeSiteRegionServiceImpl extends ServiceImpl points = regionDto.getPoints(); this.mapper.insert(siteRegion); - savePoints(points,operationRegionId,siteRegion.getSiteRegionId()); + savePoints(points, operationRegionId, siteRegion.getSiteRegionId()); } @Override @@ -94,9 +101,9 @@ public class EbikeSiteRegionServiceImpl extends ServiceImpl siteRegions = this.mapper.selectListByIds(delRegionDto.getIds()); - siteRegions.forEach(region->{ - delPoints(region.getOperationRegionId(),region.getSiteRegionId()); - }); + siteRegions.forEach(region -> + delPoints(region.getOperationRegionId(), region.getSiteRegionId()) + ); this.mapper.deleteBatchByIds(delRegionDto.getIds()); } @@ -107,13 +114,32 @@ public class EbikeSiteRegionServiceImpl extends ServiceImpl pageSite(PageParam pageParam, Long operationRegionId, String zoneId, String siteName) { + QueryWrapper queryWrapper = QueryWrapper.create() + .select(EBIKE_SITE_REGION.ALL_COLUMNS, EBIKE_REGION_LEVEL.LEVEL_NAME) + .leftJoin(EBIKE_OPERATION_REGION).on(EBIKE_OPERATION_REGION.OPERATION_REGION_ID.eq(EBIKE_SITE_REGION.OPERATION_REGION_ID)) + .leftJoin(EBIKE_ADMINISTRATION_ZONE).on(EBIKE_ADMINISTRATION_ZONE.ID.eq(EBIKE_OPERATION_REGION.ZONE_ID)) + .leftJoin(EBIKE_REGION_LEVEL).on(EBIKE_REGION_LEVEL.LEVEL_VALUE.eq(EBIKE_SITE_REGION.SITE_LEVEL)) + .where(EBIKE_REGION_LEVEL.LEVEL_TYPE.eq(RegionLevelType.SITE)) + .where(EBIKE_ADMINISTRATION_ZONE.ID.eq(zoneId, StringUtil.hasText(zoneId))) + .where(EBIKE_SITE_REGION.SITE_NAME.like(siteName, StringUtil.hasText(siteName))) + .where(EBIKE_OPERATION_REGION.OPERATION_REGION_ID.eq(operationRegionId, Objects.nonNull(operationRegionId))); + return this.mapper.paginateAs(pageParam.getPage(), queryWrapper, ResEbikeSiteRegionPageDto.class); } void savePoints(List points, Long areaId, Long siteRegionId) { @@ -166,13 +192,13 @@ public class EbikeSiteRegionServiceImpl extends ServiceImpl jsonResult = staffFeignClient.getInfoByToken(tokenValue); StaffFeign staffFeign = jsonResult.getData(); if (jsonResult.getCode() != 200 || staffFeign == null) { throw new RuntimeException("获取当前登陆用户信息失败"); } - return jsonResult.getData(); + return jsonResult.getData(); } }