增加行政区划返回结果(确定是否最后一级)

This commit is contained in:
jkcdev 2025-04-14 10:18:32 +08:00
parent 5a9b88d1c0
commit 299f5195b6
4 changed files with 60 additions and 4 deletions

View File

@ -4,6 +4,7 @@ import cn.dev33.satoken.stp.StpUtil;
import com.cdzy.common.enums.Code;
import com.cdzy.common.model.JsonResult;
import com.cdzy.ebikeoperate.model.dto.request.ReqEbikeComponentTypeInfoDto;
import com.cdzy.ebikeoperate.model.dto.response.EbikeAdministrationZoneDto;
import com.cdzy.ebikeoperate.model.dto.response.EbikeComponentTypeInfoDto;
import com.cdzy.ebikeoperate.model.dto.response.EbikeOperateAttachmentFileDto;
import com.cdzy.ebikeoperate.model.pojo.EbikeAdministrationZone;
@ -143,7 +144,7 @@ public class EbikeOperateSystemInfoController {
*/
@GetMapping("ebikeAdministrationZone")
public JsonResult<?> ebikeAdministrationZone(@RequestParam(name = "parent_id", required = false) String parent_id) {
List<EbikeAdministrationZone> list = ebikeAdministrationZoneService.getAdministrationZoneList(parent_id);
List<EbikeAdministrationZoneDto> list = ebikeAdministrationZoneService.getAdministrationZoneList(parent_id);
return JsonResult.success(list);
}

View File

@ -0,0 +1,46 @@
package com.cdzy.ebikeoperate.model.dto.response;
import com.mybatisflex.annotation.Id;
import com.mybatisflex.annotation.Table;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
/**
* 行政区划码表 实体类
*
* @author dingchao
* @date 2025/3/27
* @modified by:
*/
@Data
@NoArgsConstructor
@AllArgsConstructor
public class EbikeAdministrationZoneDto {
/**
* 行政区代码
*/
private String id;
/**
* 行政区名称
*/
private String name;
/**
行政区全称
*/
private String fullname;
/**
* 位置经度
*/
private Double lng;
/**
* 位置纬度
*/
private Double lat;
/**
* 是否为叶子节点
*/
private Boolean isLeaf;
}

View File

@ -1,5 +1,6 @@
package com.cdzy.ebikeoperate.service;
import com.cdzy.ebikeoperate.model.dto.response.EbikeAdministrationZoneDto;
import com.cdzy.ebikeoperate.model.pojo.EbikeAdministrationZone;
import com.cdzy.ebikeoperate.model.pojo.EbikeComponentTypeInfo;
import com.mybatisflex.core.service.IService;
@ -19,5 +20,5 @@ public interface EbikeAdministrationZoneService extends IService<EbikeAdministra
* @param parentId 父级id, 空则返回第一级列表
* @return 列表
*/
List<EbikeAdministrationZone> getAdministrationZoneList(String parentId);
List<EbikeAdministrationZoneDto> getAdministrationZoneList(String parentId);
}

View File

@ -1,11 +1,13 @@
package com.cdzy.ebikeoperate.service.impl;
import com.cdzy.ebikeoperate.mapper.EbikeAdministrationZoneMapper;
import com.cdzy.ebikeoperate.model.dto.response.EbikeAdministrationZoneDto;
import com.cdzy.ebikeoperate.model.pojo.EbikeAdministrationZone;
import com.cdzy.ebikeoperate.service.EbikeAdministrationZoneService;
import com.mybatisflex.core.query.QueryMethods;
import com.mybatisflex.core.query.QueryWrapper;
import com.mybatisflex.spring.service.impl.ServiceImpl;
import org.springframework.beans.BeanUtils;
import org.springframework.stereotype.Service;
import java.util.List;
@ -22,7 +24,7 @@ import static com.cdzy.ebikeoperate.model.pojo.table.EbikeAdministrationZoneTabl
@Service
public class EbikeAdministrationZoneServiceImpl extends ServiceImpl<EbikeAdministrationZoneMapper, EbikeAdministrationZone> implements EbikeAdministrationZoneService {
@Override
public List<EbikeAdministrationZone> getAdministrationZoneList(String parentId) {
public List<EbikeAdministrationZoneDto> getAdministrationZoneList(String parentId) {
QueryWrapper query = QueryWrapper.create();
if(parentId == null || parentId.isEmpty()){
query.where(QueryMethods.length(EBIKE_ADMINISTRATION_ZONE.ID).eq(2));
@ -30,6 +32,12 @@ public class EbikeAdministrationZoneServiceImpl extends ServiceImpl<EbikeAdminis
query.where(QueryMethods.substring(EBIKE_ADMINISTRATION_ZONE.ID, 1, parentId.length()).eq(parentId))
.and(QueryMethods.length(EBIKE_ADMINISTRATION_ZONE.ID).eq(parentId.length() + 2));
}
return this.list(query);
List<EbikeAdministrationZone> list = this.list(query);
return list.stream().map(ebikeAdministrationZone -> {
EbikeAdministrationZoneDto dto = new EbikeAdministrationZoneDto();
BeanUtils.copyProperties(ebikeAdministrationZone, dto);
dto.setIsLeaf(dto.getId().length() == 6);
return dto;
}).toList();
}
}