From 1cea6510ebd4f5bf35cf4d71e8b0c9473a1f16d6 Mon Sep 17 00:00:00 2001 From: xjs <1294405880@qq.com> Date: Wed, 23 Mar 2022 00:44:33 +0800 Subject: [PATCH] =?UTF-8?q?1=E3=80=81=E6=96=B0=E5=A2=9E=E9=AB=98=E5=BE=B7a?= =?UTF-8?q?pi=20=E8=8E=B7=E5=8F=96=E5=8C=BA=E5=9F=9F=E7=BC=96=E7=A0=81=202?= =?UTF-8?q?=E3=80=81=E5=8C=BA=E5=9F=9F=E7=BC=96=E7=A0=81=E7=9A=84=E5=8A=9F?= =?UTF-8?q?=E8=83=BD=E5=AE=9E=E7=8E=B0crud?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/api/business/openapi/common-data.js | 25 ++++ ruoyi-ui/src/utils/request.js | 2 +- .../business/openapi/commondata/Area.vue | 109 ++++++++++++++++++ .../src/views/components/mall/category.vue | 1 + .../main/java/com/xjs/consts/ApiConst.java | 7 ++ .../xjs/area/controller/AreaController.java | 57 +++++++++ .../main/java/com/xjs/area/domain/Area.java | 73 ++++++++++++ .../com/xjs/area/factory/AreaFactory.java | 17 +++ .../area/factory/GaodeAreaFactoryImpl.java | 49 ++++++++ .../java/com/xjs/area/mapper/AreaMapper.java | 20 ++++ .../com/xjs/area/service/AreaService.java | 38 ++++++ .../area/service/impl/AreaServiceImpl.java | 84 ++++++++++++++ .../api/gaode/GaodeAreaFeignClient.java | 28 +++++ .../client/factory/GaodeAreaFeignFactory.java | 30 +++++ .../xjs/common/task/CheckApiStatusTask.java | 27 ++++- .../com/xjs/weather/domain/RequestBody.java | 26 ++++- .../resources/mapper/openapi/AreaMapper.xml | 12 ++ .../factory/GaodeAreaFactoryImplTest.java | 28 +++++ 18 files changed, 626 insertions(+), 7 deletions(-) create mode 100644 ruoyi-ui/src/api/business/openapi/common-data.js create mode 100644 ruoyi-ui/src/views/business/openapi/commondata/Area.vue create mode 100644 xjs-business/xjs-business-openapi/src/main/java/com/xjs/area/controller/AreaController.java create mode 100644 xjs-business/xjs-business-openapi/src/main/java/com/xjs/area/domain/Area.java create mode 100644 xjs-business/xjs-business-openapi/src/main/java/com/xjs/area/factory/AreaFactory.java create mode 100644 xjs-business/xjs-business-openapi/src/main/java/com/xjs/area/factory/GaodeAreaFactoryImpl.java create mode 100644 xjs-business/xjs-business-openapi/src/main/java/com/xjs/area/mapper/AreaMapper.java create mode 100644 xjs-business/xjs-business-openapi/src/main/java/com/xjs/area/service/AreaService.java create mode 100644 xjs-business/xjs-business-openapi/src/main/java/com/xjs/area/service/impl/AreaServiceImpl.java create mode 100644 xjs-business/xjs-business-openapi/src/main/java/com/xjs/common/client/api/gaode/GaodeAreaFeignClient.java create mode 100644 xjs-business/xjs-business-openapi/src/main/java/com/xjs/common/client/factory/GaodeAreaFeignFactory.java create mode 100644 xjs-business/xjs-business-openapi/src/main/resources/mapper/openapi/AreaMapper.xml create mode 100644 xjs-business/xjs-business-openapi/src/test/java/com/xjs/area/factory/GaodeAreaFactoryImplTest.java diff --git a/ruoyi-ui/src/api/business/openapi/common-data.js b/ruoyi-ui/src/api/business/openapi/common-data.js new file mode 100644 index 00000000..02d53c93 --- /dev/null +++ b/ruoyi-ui/src/api/business/openapi/common-data.js @@ -0,0 +1,25 @@ +import request from '@/utils/request' + +// 更新所有区域编码 +export function rest() { + return request({ + url: '/openapi/area/rest', + method: 'get', + }) +} + +//获取所有省级区域 +export function getProvinceArea() { + return request({ + url: '/openapi/area/getProvinceArea', + method: 'get', + }) +} + +//根据父ID获取区域 +export function getAreaByParentId(id) { + return request({ + url: '/openapi/area/getAreaByParentId/'+id, + method: 'get', + }) +} diff --git a/ruoyi-ui/src/utils/request.js b/ruoyi-ui/src/utils/request.js index bbb762ae..2391b1ec 100644 --- a/ruoyi-ui/src/utils/request.js +++ b/ruoyi-ui/src/utils/request.js @@ -17,7 +17,7 @@ const service = axios.create({ // axios中请求配置有baseURL选项,表示请求URL公共部分 baseURL: process.env.VUE_APP_BASE_API, // 超时 - timeout: 20000 + timeout: 40000 }) // request拦截器 diff --git a/ruoyi-ui/src/views/business/openapi/commondata/Area.vue b/ruoyi-ui/src/views/business/openapi/commondata/Area.vue new file mode 100644 index 00000000..b6a3a81f --- /dev/null +++ b/ruoyi-ui/src/views/business/openapi/commondata/Area.vue @@ -0,0 +1,109 @@ + + + + + diff --git a/ruoyi-ui/src/views/components/mall/category.vue b/ruoyi-ui/src/views/components/mall/category.vue index 429332c1..4adbb4df 100644 --- a/ruoyi-ui/src/views/components/mall/category.vue +++ b/ruoyi-ui/src/views/components/mall/category.vue @@ -4,6 +4,7 @@ :props="defaultProps" @node-click="nodeClick" node-key="catId" + highlight-current ref="menuTree"> diff --git a/xjs-business/xjs-business-common/src/main/java/com/xjs/consts/ApiConst.java b/xjs-business/xjs-business-common/src/main/java/com/xjs/consts/ApiConst.java index 8c2b65a6..2d0c0612 100644 --- a/xjs-business/xjs-business-common/src/main/java/com/xjs/consts/ApiConst.java +++ b/xjs-business/xjs-business-common/src/main/java/com/xjs/consts/ApiConst.java @@ -48,6 +48,8 @@ public class ApiConst { public static final String GAODE_WEATHER = "高德-天气预报"; + public static final String GAODE_AREA = "高德-区域编码"; + public static final String ROLL_HOLIDAYS = "ROLL-节假日"; public static final String ROLL_MOBILE_BELONG = "ROLL-手机归属地"; @@ -130,6 +132,11 @@ public class ApiConst { */ public static final String GAODE_WEATHER_URL = "https://restapi.amap.com/v3/weather/weatherInfo"; + /** + * 接口文档:https://lbs.amap.com/api/webservice/guide/api/district + */ + public static final String GAODE_AREA_URL = "https://restapi.amap.com/v3/config/district"; + /** * 接口文档:https://www.mxnzp.com/doc/detail?id=1 */ diff --git a/xjs-business/xjs-business-openapi/src/main/java/com/xjs/area/controller/AreaController.java b/xjs-business/xjs-business-openapi/src/main/java/com/xjs/area/controller/AreaController.java new file mode 100644 index 00000000..5df8c6e3 --- /dev/null +++ b/xjs-business/xjs-business-openapi/src/main/java/com/xjs/area/controller/AreaController.java @@ -0,0 +1,57 @@ +package com.xjs.area.controller; + +import com.ruoyi.common.core.web.domain.AjaxResult; +import com.xjs.area.domain.Area; +import com.xjs.area.service.AreaService; +import com.xjs.web.MyBaseController; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import lombok.extern.log4j.Log4j2; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.PathVariable; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +import java.util.List; + +/** + * 区域编码controller + * + * @author xiejs + * @since 2022-03-22 + */ +@RestController +@RequestMapping("area") +@Api(tags = "业务模块-区域编码") +@Log4j2 +public class AreaController extends MyBaseController { + + @Autowired + private AreaService areaService; + + @GetMapping("rest") + @ApiOperation("更新获取区域编码信息") + public AjaxResult restArea() { + areaService.truncateArea(); + areaService.saveArea(); + + return AjaxResult.success(); + } + + @GetMapping("getProvinceArea") + @ApiOperation("获取所有省级区域") + public AjaxResult getProvinceArea() { + List areaList = areaService.getProvinceArea(); + return AjaxResult.success(areaList); + } + + @GetMapping("getAreaByParentId/{pid}") + @ApiOperation("根据父ID获取区域") + public AjaxResult getAreaByParentId(@PathVariable Long pid) { + List areaList = areaService.getAreaByParentId(pid); + return AjaxResult.success(areaList); + } + + +} diff --git a/xjs-business/xjs-business-openapi/src/main/java/com/xjs/area/domain/Area.java b/xjs-business/xjs-business-openapi/src/main/java/com/xjs/area/domain/Area.java new file mode 100644 index 00000000..88af4f9c --- /dev/null +++ b/xjs-business/xjs-business-openapi/src/main/java/com/xjs/area/domain/Area.java @@ -0,0 +1,73 @@ +package com.xjs.area.domain; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableName; +import lombok.Data; + +import java.io.Serializable; +import java.util.List; + +/** + * 区域编码实体类 + * + * @author xiejs + * @since 2022-03-22 + */ +@Data +@TableName("api_area") +public class Area implements Serializable { + + private static final long serialVersionUID = 1L; + + /** + * 主键id + */ + private Long id; + + /** + * 父id + */ + private Long parentId; + + /** + * 城市编码 + */ + private String citycode; + + /** + * 区域编码 + */ + private String adcode; + + /** + * 行政区名称 + */ + private String name; + + /** + * 区域中心点 + */ + private String center; + + /** + * 行政区划级别 + *
+ * country:国家 + *
+ * province:省份(直辖市会在province和city显示) + *
+ * city:市(直辖市会在province和city显示) + *
+ * district:区县 + *
+ * street:街道 + */ + private String level; + + /** + * 嵌套自身 + */ + @TableField(exist = false) + private List districts; + +} diff --git a/xjs-business/xjs-business-openapi/src/main/java/com/xjs/area/factory/AreaFactory.java b/xjs-business/xjs-business-openapi/src/main/java/com/xjs/area/factory/AreaFactory.java new file mode 100644 index 00000000..4d9c42de --- /dev/null +++ b/xjs-business/xjs-business-openapi/src/main/java/com/xjs/area/factory/AreaFactory.java @@ -0,0 +1,17 @@ +package com.xjs.area.factory; + + +/** + * 区域编码工厂接口 + * @author xiejs + * @since 2022-03-22 + */ +public interface AreaFactory { + + /** + * 获取区域编码 + * @param t 入参 + * @return 出参 + */ + R getArea(T t); +} diff --git a/xjs-business/xjs-business-openapi/src/main/java/com/xjs/area/factory/GaodeAreaFactoryImpl.java b/xjs-business/xjs-business-openapi/src/main/java/com/xjs/area/factory/GaodeAreaFactoryImpl.java new file mode 100644 index 00000000..4879f7e6 --- /dev/null +++ b/xjs-business/xjs-business-openapi/src/main/java/com/xjs/area/factory/GaodeAreaFactoryImpl.java @@ -0,0 +1,49 @@ +package com.xjs.area.factory; + +import com.alibaba.fastjson.JSONArray; +import com.alibaba.fastjson.JSONObject; +import com.xjs.area.domain.Area; +import com.xjs.common.client.api.gaode.GaodeAreaFeignClient; +import com.xjs.properties.GaodeProperties; +import com.xjs.weather.domain.RequestBody; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Component; + +import java.util.ArrayList; +import java.util.List; + +import static com.xjs.consts.ApiConst.*; + +/** + * 区域编码工厂接口 高德实现 + * + * @author xiejs + * @since 2022-03-22 + */ +@Component +public class GaodeAreaFactoryImpl implements AreaFactory, RequestBody> { + + @Autowired + private GaodeProperties gaodeProperties; + @Autowired + private GaodeAreaFeignClient gaodeAreaFeignClient; + + @Override + public List getArea(RequestBody requestBody) { + requestBody.setSubdistrict(4); //设置显示下级行政区级数 + requestBody.setKey(gaodeProperties.getKey()); + + JSONObject jsonObject = gaodeAreaFeignClient.AreaApi(requestBody); + if (!jsonObject.containsKey(DEMOTE_ERROR)) { + if (INFOCODE_VALUE.equals(jsonObject.getString(INFOCODE))) { + JSONObject districts_1 = jsonObject.getJSONArray("districts").getJSONObject(0); + JSONArray districts_2 = districts_1.getJSONArray("districts"); + + + return districts_2.toJavaList(Area.class); + } + } + + return new ArrayList<>(); + } +} diff --git a/xjs-business/xjs-business-openapi/src/main/java/com/xjs/area/mapper/AreaMapper.java b/xjs-business/xjs-business-openapi/src/main/java/com/xjs/area/mapper/AreaMapper.java new file mode 100644 index 00000000..7c8d1660 --- /dev/null +++ b/xjs-business/xjs-business-openapi/src/main/java/com/xjs/area/mapper/AreaMapper.java @@ -0,0 +1,20 @@ +package com.xjs.area.mapper; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.xjs.area.domain.Area; + +/** + * 区域编码mapper + * + * @author xiejs + * @since 2022-03-22 + */ +public interface AreaMapper extends BaseMapper { + + /** + * 清空表数据 + * + */ + void truncateArea(); + +} diff --git a/xjs-business/xjs-business-openapi/src/main/java/com/xjs/area/service/AreaService.java b/xjs-business/xjs-business-openapi/src/main/java/com/xjs/area/service/AreaService.java new file mode 100644 index 00000000..6baa0f5f --- /dev/null +++ b/xjs-business/xjs-business-openapi/src/main/java/com/xjs/area/service/AreaService.java @@ -0,0 +1,38 @@ +package com.xjs.area.service; + +import com.baomidou.mybatisplus.extension.service.IService; +import com.xjs.area.domain.Area; + +import java.util.List; + +/** + * 区域编码service接口 + * + * @author xiejs + * @since 2022-03-22 + */ +public interface AreaService extends IService { + + /** + * 保存区域编码 + */ + void saveArea(); + + /** + * 清空表数据 + */ + void truncateArea(); + + /** + * 获取所有省级区域 + */ + List getProvinceArea(); + + /** + * 根据父ID获取区域 + * @param pid 父id + * @return areaList + */ + List getAreaByParentId(Long pid); + +} diff --git a/xjs-business/xjs-business-openapi/src/main/java/com/xjs/area/service/impl/AreaServiceImpl.java b/xjs-business/xjs-business-openapi/src/main/java/com/xjs/area/service/impl/AreaServiceImpl.java new file mode 100644 index 00000000..f9b8b3bb --- /dev/null +++ b/xjs-business/xjs-business-openapi/src/main/java/com/xjs/area/service/impl/AreaServiceImpl.java @@ -0,0 +1,84 @@ +package com.xjs.area.service.impl; + +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.xjs.area.domain.Area; +import com.xjs.area.factory.AreaFactory; +import com.xjs.area.mapper.AreaMapper; +import com.xjs.area.service.AreaService; +import com.xjs.weather.domain.RequestBody; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; + +import javax.annotation.Resource; +import java.util.List; + +/** + * 区域编码service接口实现 + * + * @author xiejs + * @since 2022-03-22 + */ +@Service +public class AreaServiceImpl extends ServiceImpl implements AreaService { + + @Autowired + private AreaFactory, RequestBody> areaFactory; + @Resource + private AreaMapper areaMapper; + + @Override + @Transactional + public void saveArea() { + //校验数据库是否存在值,存在退出 + long count = super.count(); + if (count > 0) { + return; + } + + List areas = areaFactory.getArea(new RequestBody()); + + //第一层遍历 省 + for (Area area_1 : areas) { + + area_1.setParentId(0L); + super.save(area_1); + + //第二层遍历 市 + for (Area area_2 : area_1.getDistricts()) { + area_2.setParentId(area_1.getId()); + super.save(area_2); + + //第三层遍历 区/县 + for (Area area_3 : area_2.getDistricts()) { + area_3.setParentId(area_2.getId()); + super.save(area_3); + + //第四层遍历 乡/镇/街道 + for (Area area_4 : area_3.getDistricts()) { + area_4.setParentId(area_3.getId()); + super.save(area_4); + } + } + } + } + } + + @Override + @Transactional + public void truncateArea() { + this.areaMapper.truncateArea(); + } + + @Override + public List getProvinceArea() { + return super.list(new LambdaQueryWrapper().eq(Area::getParentId, 0L)); + } + + @Override + public List getAreaByParentId(Long pid) { + return super.list(new LambdaQueryWrapper().eq(Area::getParentId, pid)); + } + +} diff --git a/xjs-business/xjs-business-openapi/src/main/java/com/xjs/common/client/api/gaode/GaodeAreaFeignClient.java b/xjs-business/xjs-business-openapi/src/main/java/com/xjs/common/client/api/gaode/GaodeAreaFeignClient.java new file mode 100644 index 00000000..bd2b95f5 --- /dev/null +++ b/xjs-business/xjs-business-openapi/src/main/java/com/xjs/common/client/api/gaode/GaodeAreaFeignClient.java @@ -0,0 +1,28 @@ +package com.xjs.common.client.api.gaode; + +import com.alibaba.fastjson.JSONObject; +import com.xjs.annotation.ApiLog; +import com.xjs.common.client.factory.GaodeAreaFeignFactory; +import com.xjs.weather.domain.RequestBody; +import org.springframework.cloud.openfeign.FeignClient; +import org.springframework.cloud.openfeign.SpringQueryMap; +import org.springframework.web.bind.annotation.GetMapping; + +import static com.xjs.consts.ApiConst.GAODE_AREA; +import static com.xjs.consts.ApiConst.GAODE_AREA_URL; + +/** + * 高德区域编码api feign + * + * @author xiejs + * @since 2022-03-22 + */ +@FeignClient(contextId = "gaodeAreaFeignClient", name = "gaodeArea", url = GAODE_AREA_URL, fallbackFactory = GaodeAreaFeignFactory.class) +public interface GaodeAreaFeignClient { + + @GetMapping() + @ApiLog(name = GAODE_AREA, + url = GAODE_AREA_URL, + method = "Get") + JSONObject AreaApi(@SpringQueryMap RequestBody requestBody); +} diff --git a/xjs-business/xjs-business-openapi/src/main/java/com/xjs/common/client/factory/GaodeAreaFeignFactory.java b/xjs-business/xjs-business-openapi/src/main/java/com/xjs/common/client/factory/GaodeAreaFeignFactory.java new file mode 100644 index 00000000..c2b43977 --- /dev/null +++ b/xjs-business/xjs-business-openapi/src/main/java/com/xjs/common/client/factory/GaodeAreaFeignFactory.java @@ -0,0 +1,30 @@ +package com.xjs.common.client.factory; + +import com.alibaba.fastjson.JSONObject; +import com.ruoyi.common.core.domain.R; +import com.xjs.common.client.api.gaode.GaodeAreaFeignClient; +import lombok.extern.log4j.Log4j2; +import org.springframework.cloud.openfeign.FallbackFactory; +import org.springframework.stereotype.Component; + +import static com.xjs.consts.ApiConst.DEMOTE_ERROR; + +/** + * 高德区域编码api feign 降级处理 + * @author xiejs + * @since 2022-03-22 + */ +@Component +@Log4j2 +public class GaodeAreaFeignFactory implements FallbackFactory { + + @Override + public GaodeAreaFeignClient create(Throwable cause) { + log.error("api模块高德区域编码服务调用失败:{},执行降级处理", cause.getMessage()); + return res ->{ + JSONObject jsonObject = new JSONObject(); + jsonObject.put(DEMOTE_ERROR, R.FAIL); + return jsonObject; + }; + } +} diff --git a/xjs-business/xjs-business-openapi/src/main/java/com/xjs/common/task/CheckApiStatusTask.java b/xjs-business/xjs-business-openapi/src/main/java/com/xjs/common/task/CheckApiStatusTask.java index 1ad0e068..bc7cee61 100644 --- a/xjs-business/xjs-business-openapi/src/main/java/com/xjs/common/task/CheckApiStatusTask.java +++ b/xjs-business/xjs-business-openapi/src/main/java/com/xjs/common/task/CheckApiStatusTask.java @@ -11,6 +11,7 @@ import com.xjs.business.warning.domain.ApiRecord; import com.xjs.common.client.api.alapi.AlapiJokeAllFeignClient; import com.xjs.common.client.api.baidu.BaiduAssociationFeignClient; import com.xjs.common.client.api.baidu.BaiduTranslationFeignClient; +import com.xjs.common.client.api.gaode.GaodeAreaFeignClient; import com.xjs.common.client.api.gaode.GaodeWeatherFeignClient; import com.xjs.common.client.api.lq.LqAWordFeignClient; import com.xjs.common.client.api.lq.LqDogDiaryFeignClient; @@ -156,6 +157,8 @@ public class CheckApiStatusTask { private BaiduAssociationFeignClient baiduAssociationFeignClient; @Autowired private TimeFeignClient timeFeignClient; + @Autowired + private GaodeAreaFeignClient gaodeAreaFeignClient; /** @@ -369,6 +372,12 @@ public class CheckApiStatusTask { }; new Thread(runCheckNetworkTime).start(); + Runnable runCheckGaodeArea = () -> { + log.info("线程启动:" + Thread.currentThread().getName()); + this.checkGaodeArea(); + }; + new Thread(runCheckGaodeArea).start(); + //this.checkAlapiJoke(); //this.checkBaiduTranslation(); //this.checkGaodeWeather(); @@ -403,16 +412,28 @@ public class CheckApiStatusTask { //this.checkYouDaoTranslation(); //this.checkBaiduAssociation(); //this.checkNetworkTime(); + //this.checkGaodeArea(); } catch (Exception e) { e.printStackTrace(); } - - - } + /** + * 检查高德区域编码 API + */ + private void checkGaodeArea() { + JSONObject jsonObject = gaodeAreaFeignClient.AreaApi(new RequestBody()); + if (!jsonObject.containsKey(DEMOTE_ERROR)) { + return; + } + String[] info = this.getAnnotationInfo(GaodeAreaFeignClient.class).get(0); + this.selectAndUpdate(info); + log.error("检查高德区域编码API异常"); + } + + /** * 检查网络时间 API */ diff --git a/xjs-business/xjs-business-openapi/src/main/java/com/xjs/weather/domain/RequestBody.java b/xjs-business/xjs-business-openapi/src/main/java/com/xjs/weather/domain/RequestBody.java index d342fb67..c2dd510c 100644 --- a/xjs-business/xjs-business-openapi/src/main/java/com/xjs/weather/domain/RequestBody.java +++ b/xjs-business/xjs-business-openapi/src/main/java/com/xjs/weather/domain/RequestBody.java @@ -5,6 +5,7 @@ import lombok.experimental.Accessors; /** * 高德天气预报接口请求参数 + * * @author xiejs * @since 2022-01-16 */ @@ -28,16 +29,35 @@ public class RequestBody { /** * 气象类型: * 可选值:base/all - * base:返回实况天气 - * all:返回预报天气 + * base:返回实况天气 + * all:返回预报天气 + *
+ * 返回结果控制: + * 可选值:base/all + * base:不返回行政区边界坐标点;all:只返回当前查询district的边界值,不返回子节点的边界值; */ private String extensions; /** - *返回格式: + * 返回格式: * 可选值:JSON,XML */ private String output = "JSON"; + /** + * 子级行政区: + *
+ * 可选值:0、1、2、3 + *
+ * 0:不返回下级行政区; + *
+ * 1:返回下一级行政区; + *
+ * 2:返回下两级行政区; + *
+ * 3:返回下三级行政区; + */ + private Integer subdistrict; + } diff --git a/xjs-business/xjs-business-openapi/src/main/resources/mapper/openapi/AreaMapper.xml b/xjs-business/xjs-business-openapi/src/main/resources/mapper/openapi/AreaMapper.xml new file mode 100644 index 00000000..9c9ceb04 --- /dev/null +++ b/xjs-business/xjs-business-openapi/src/main/resources/mapper/openapi/AreaMapper.xml @@ -0,0 +1,12 @@ + + + + + + TRUNCATE TABLE api_area + + + + diff --git a/xjs-business/xjs-business-openapi/src/test/java/com/xjs/area/factory/GaodeAreaFactoryImplTest.java b/xjs-business/xjs-business-openapi/src/test/java/com/xjs/area/factory/GaodeAreaFactoryImplTest.java new file mode 100644 index 00000000..7278c3dc --- /dev/null +++ b/xjs-business/xjs-business-openapi/src/test/java/com/xjs/area/factory/GaodeAreaFactoryImplTest.java @@ -0,0 +1,28 @@ +package com.xjs.area.factory; + +import com.xjs.XjsOpenApiApp; +import com.xjs.area.domain.Area; +import com.xjs.weather.domain.RequestBody; +import org.junit.jupiter.api.Test; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.boot.test.context.SpringBootTest; + +import java.util.List; + +/** + * @author xiejs + * @since 2022-03-22 + */ +@SpringBootTest(classes = XjsOpenApiApp.class) +class GaodeAreaFactoryImplTest { + + + @Autowired + private AreaFactory, RequestBody> areaFactory; + + @Test + void getArea() { + List area = areaFactory.getArea(new RequestBody()); + System.out.println(area); + } +}