省市区feign封装

This commit is contained in:
efren
2025-07-21 14:21:55 +08:00
parent 7ed9debcc6
commit db54e19d06
4 changed files with 194 additions and 0 deletions

View File

@ -0,0 +1,39 @@
package com.chinaunicom.mall.ebtp.common.base.client;
import com.chinaunicom.mall.ebtp.common.base.entity.BaseResponse;
import com.chinaunicom.mall.ebtp.common.base.entity.DictRegion;
import com.chinaunicom.mall.ebtp.common.base.entity.DictRegionInternational;
import com.chinaunicom.mall.ebtp.common.base.entity.DictRegionTreeVO;
import com.chinaunicom.mall.ebtp.common.base.fallback.DictRegionClientFallback;
import com.chinaunicom.mall.ebtp.common.base.fallback.DictRegionInternationalClientFallback;
import com.chinaunicom.mall.ebtp.common.constant.ServiceNameConstants;
import io.swagger.annotations.ApiOperation;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestParam;
import java.util.List;
@FeignClient(
name = ServiceNameConstants.SYSTEM_SERVICE,
fallback = DictRegionClientFallback.class
)
public interface DictRegionClient {
// --------------------------省市区信息接口-----------------------
@ApiOperation("查询所有数据")
@GetMapping("/all")
BaseResponse<List<DictRegion>> listAll();
@ApiOperation("查询数据子节点")
@GetMapping("/getChild")
BaseResponse<List<DictRegion>> getChild(@RequestParam(name = "pId") String pId);
@ApiOperation("递归查询所有下级数据树形结构")
@GetMapping("/getAllChildrenTree/{id}")
BaseResponse<DictRegionTreeVO> getAllChildrenTree(@PathVariable String id);
}

View File

@ -0,0 +1,53 @@
package com.chinaunicom.mall.ebtp.common.base.entity;
import com.baomidou.mybatisplus.annotation.TableName;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.experimental.Accessors;
import java.io.Serializable;
/**
* 全国行政区域实体类 DictRegion
*
* @author daixc
* @date 2020/10/29
*/
@Data
@Accessors(chain = true)
@ApiModel("全国行政区域实体类")
public class DictRegion implements Serializable {
private static final long serialVersionUID = 1L;
/**
* id
*/
@ApiModelProperty(value = "id")
private String id;
/**
* 上级id
*/
@ApiModelProperty(value = "上级id")
private String pId;
/**
* 名称
*/
@ApiModelProperty(value = "名称")
private String name;
/**
* 类型0-省1-市2-县
*/
@ApiModelProperty(value = "类型0-省1-市2-县")
private String level;
/**
* 缩写
*/
@ApiModelProperty(value = "缩写")
private String ab;
}

View File

@ -0,0 +1,71 @@
package com.chinaunicom.mall.ebtp.common.base.entity;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.experimental.Accessors;
import java.io.Serializable;
import java.util.List;
/**
* 全国行政区域树形结构VO
*
* @author daixc
* @date 2020/10/29
*/
@Data
@Accessors(chain = true)
@ApiModel("全国行政区域树形结构VO")
public class DictRegionTreeVO implements Serializable {
private static final long serialVersionUID = 1L;
/**
* id
*/
@ApiModelProperty(value = "id")
private String id;
/**
* 上级id
*/
@ApiModelProperty(value = "上级id")
private String pId;
/**
* 名称
*/
@ApiModelProperty(value = "名称")
private String name;
/**
* 类型0-省1-市2-县
*/
@ApiModelProperty(value = "类型0-省1-市2-县")
private String level;
/**
* 缩写
*/
@ApiModelProperty(value = "缩写")
private String ab;
/**
* 子节点列表
*/
@ApiModelProperty(value = "子节点列表")
private List<DictRegionTreeVO> children;
/**
* 是否叶子节点
*/
@ApiModelProperty(value = "是否叶子节点")
private Boolean isLeaf;
/**
* 层级深度
*/
@ApiModelProperty(value = "层级深度")
private Integer depth;
}

View File

@ -0,0 +1,31 @@
package com.chinaunicom.mall.ebtp.common.base.fallback;
import com.chinaunicom.mall.ebtp.common.base.client.DictRegionClient;
import com.chinaunicom.mall.ebtp.common.base.client.DictRegionInternationalClient;
import com.chinaunicom.mall.ebtp.common.base.entity.BaseResponse;
import com.chinaunicom.mall.ebtp.common.base.entity.DictRegion;
import com.chinaunicom.mall.ebtp.common.base.entity.DictRegionInternational;
import com.chinaunicom.mall.ebtp.common.base.entity.DictRegionTreeVO;
import org.springframework.stereotype.Component;
import java.util.List;
@Component
public class DictRegionClientFallback implements DictRegionClient {
@Override
public BaseResponse<List<DictRegion>> listAll() {
return null;
}
@Override
public BaseResponse<List<DictRegion>> getChild(String pId) {
return null;
}
@Override
public BaseResponse<DictRegionTreeVO> getAllChildrenTree(String id) {
return null;
}
}