Showing
15 changed files
with
221 additions
and
299 deletions
application/src/main/java/org/thingsboard/server/controller/yunteng/YtAreaController.java
0 → 100644
1 | +package org.thingsboard.server.controller.yunteng; | ||
2 | +import io.swagger.annotations.Api; | ||
3 | +import io.swagger.annotations.ApiOperation; | ||
4 | +import lombok.RequiredArgsConstructor; | ||
5 | +import org.springframework.http.ResponseEntity; | ||
6 | +import org.springframework.web.bind.annotation.PostMapping; | ||
7 | +import org.springframework.web.bind.annotation.RequestBody; | ||
8 | +import org.springframework.web.bind.annotation.RequestMapping; | ||
9 | +import org.springframework.web.bind.annotation.RestController; | ||
10 | +import org.thingsboard.server.common.data.yunteng.dto.SysAreaDTO; | ||
11 | +import org.thingsboard.server.dao.yunteng.service.SysAreaService; | ||
12 | + | ||
13 | +import java.util.List; | ||
14 | + | ||
15 | +/** | ||
16 | + * @author: 徐浩然 | ||
17 | + * @desc: 中国省市区街关联 | ||
18 | + * @date: 2021/12/3-15:56 | ||
19 | + */ | ||
20 | +@Api(tags = "中国省市区街关联") | ||
21 | +@RestController | ||
22 | +@RequestMapping("api/yt/area") | ||
23 | +@RequiredArgsConstructor | ||
24 | +public class YtAreaController { | ||
25 | + private final SysAreaService sysAreaService; | ||
26 | + | ||
27 | + @PostMapping("areaList") | ||
28 | + @ApiOperation("查询") | ||
29 | + public ResponseEntity<List<SysAreaDTO>> areaList(@RequestBody SysAreaDTO sysAreaDTO) { | ||
30 | + return ResponseEntity.ok(sysAreaService.list(sysAreaDTO)); | ||
31 | + } | ||
32 | +} |
application/src/main/java/org/thingsboard/server/controller/yunteng/YtTownController.java
deleted
100644 → 0
1 | -package org.thingsboard.server.controller.yunteng; | ||
2 | -import io.swagger.annotations.Api; | ||
3 | -import io.swagger.annotations.ApiOperation; | ||
4 | -import lombok.RequiredArgsConstructor; | ||
5 | -import org.springframework.http.ResponseEntity; | ||
6 | -import org.springframework.web.bind.annotation.GetMapping; | ||
7 | -import org.springframework.web.bind.annotation.PathVariable; | ||
8 | -import org.springframework.web.bind.annotation.RequestMapping; | ||
9 | -import org.springframework.web.bind.annotation.RestController; | ||
10 | -import org.thingsboard.server.dao.yunteng.entities.SysTown; | ||
11 | -import org.thingsboard.server.dao.yunteng.service.SysTownService; | ||
12 | - | ||
13 | -import java.util.LinkedList; | ||
14 | -import java.util.List; | ||
15 | -import java.util.Map; | ||
16 | - | ||
17 | -/** | ||
18 | - * @author: 徐浩然 | ||
19 | - * @desc: 中国城镇区街 | ||
20 | - * @date: 2021/12/3-15:56 | ||
21 | - */ | ||
22 | -@Api(tags = "中国城镇区街") | ||
23 | -@RestController | ||
24 | -@RequestMapping("api/yt/town") | ||
25 | -@RequiredArgsConstructor | ||
26 | -public class YtTownController { | ||
27 | - private final SysTownService sysTownService; | ||
28 | - | ||
29 | - @GetMapping("list") | ||
30 | - @ApiOperation("查询所有省份") | ||
31 | - public ResponseEntity<List<SysTown>> getCityList() { | ||
32 | - return ResponseEntity.ok(sysTownService.getCityList()); | ||
33 | - } | ||
34 | - | ||
35 | - @GetMapping("childs/{variable}/{value}") | ||
36 | - @ApiOperation("查询子集") | ||
37 | - public ResponseEntity<List<SysTown>> childs( | ||
38 | - @PathVariable("variable") String variable, @PathVariable("value") String value) { | ||
39 | - return ResponseEntity.ok(sysTownService.findChilds(variable, value)); | ||
40 | - } | ||
41 | - | ||
42 | - @GetMapping("tree") | ||
43 | - @ApiOperation("查询城市树形结构") | ||
44 | - public ResponseEntity<LinkedList<Map<String, Object>>> tree() { | ||
45 | - return ResponseEntity.ok(sysTownService.tree()); | ||
46 | - } | ||
47 | -} |
@@ -58,8 +58,6 @@ public final class ModelConstants { | @@ -58,8 +58,6 @@ public final class ModelConstants { | ||
58 | public static final String SYS_PLATFORM_DESIGN_TABLE_NAME = "sys_platform_design"; | 58 | public static final String SYS_PLATFORM_DESIGN_TABLE_NAME = "sys_platform_design"; |
59 | /** APP定制 */ | 59 | /** APP定制 */ |
60 | public static final String SYS_APP_DESIGN_TABLE_NAME = "sys_app_design"; | 60 | public static final String SYS_APP_DESIGN_TABLE_NAME = "sys_app_design"; |
61 | - /** 中国城镇区街 */ | ||
62 | - public static final String SYS_TOWN_TABLE_NAME = "sys_town"; | ||
63 | /** 场景联动表 */ | 61 | /** 场景联动表 */ |
64 | public static final String IOTFS_SCENE_LINKAGE_TABLE_NAME = "iotfs_scene_linkage"; | 62 | public static final String IOTFS_SCENE_LINKAGE_TABLE_NAME = "iotfs_scene_linkage"; |
65 | /** 场景触发器 */ | 63 | /** 场景触发器 */ |
@@ -68,6 +66,8 @@ public final class ModelConstants { | @@ -68,6 +66,8 @@ public final class ModelConstants { | ||
68 | public static final String IOTFS_DO_CONDITION_TABLE_NAME = "iotfs_do_condition"; | 66 | public static final String IOTFS_DO_CONDITION_TABLE_NAME = "iotfs_do_condition"; |
69 | /** 条件动作表 */ | 67 | /** 条件动作表 */ |
70 | public static final String IOTFS_DO_ACTION_TABLE_NAME = "iotfs_do_action"; | 68 | public static final String IOTFS_DO_ACTION_TABLE_NAME = "iotfs_do_action"; |
69 | + /** 中国城镇区街 */ | ||
70 | + public static final String SYS_AREA_TABLE_NAME = "sys_area"; | ||
71 | } | 71 | } |
72 | 72 | ||
73 | public static class TableFields { | 73 | public static class TableFields { |
common/data/src/main/java/org/thingsboard/server/common/data/yunteng/dto/AreaInfoDTO.java
renamed from
common/data/src/main/java/org/thingsboard/server/common/data/yunteng/dto/SysTownDTO.java
@@ -5,24 +5,40 @@ import io.swagger.annotations.ApiModelProperty; | @@ -5,24 +5,40 @@ import io.swagger.annotations.ApiModelProperty; | ||
5 | import lombok.Data; | 5 | import lombok.Data; |
6 | import lombok.RequiredArgsConstructor; | 6 | import lombok.RequiredArgsConstructor; |
7 | 7 | ||
8 | +import java.util.List; | ||
9 | + | ||
8 | @Data | 10 | @Data |
9 | @ApiModel(value = "区域信息") | 11 | @ApiModel(value = "区域信息") |
10 | @RequiredArgsConstructor | 12 | @RequiredArgsConstructor |
11 | -public class SysTownDTO { | 13 | +public class AreaInfoDTO { |
12 | @ApiModelProperty(value = "省") | 14 | @ApiModelProperty(value = "省") |
13 | private String nameProv; | 15 | private String nameProv; |
14 | @ApiModelProperty(value = "省code") | 16 | @ApiModelProperty(value = "省code") |
15 | - private String codeProv; | 17 | + private Long codeProv; |
16 | @ApiModelProperty(value = "市") | 18 | @ApiModelProperty(value = "市") |
17 | private String nameCity; | 19 | private String nameCity; |
18 | @ApiModelProperty(value = "市code") | 20 | @ApiModelProperty(value = "市code") |
19 | - private String codeCity; | 21 | + private Long codeCity; |
20 | @ApiModelProperty(value = "区") | 22 | @ApiModelProperty(value = "区") |
21 | private String nameCoun; | 23 | private String nameCoun; |
22 | @ApiModelProperty(value = "区code") | 24 | @ApiModelProperty(value = "区code") |
23 | - private String codeCoun; | 25 | + private Long codeCoun; |
24 | @ApiModelProperty(value = "县") | 26 | @ApiModelProperty(value = "县") |
25 | private String nameTown; | 27 | private String nameTown; |
26 | @ApiModelProperty(value = "县code") | 28 | @ApiModelProperty(value = "县code") |
27 | - private String codeTown; | 29 | + private Long codeTown; |
30 | + @ApiModelProperty(value = "国") | ||
31 | + private String nameCountry; | ||
32 | + @ApiModelProperty(value = "国code") | ||
33 | + private Long codeCountry; | ||
34 | + @ApiModelProperty(value = "省集合") | ||
35 | + private List<SysAreaDTO> provs; | ||
36 | + @ApiModelProperty(value = "市集合") | ||
37 | + private List<SysAreaDTO> cities; | ||
38 | + @ApiModelProperty(value = "区集合") | ||
39 | + private List<SysAreaDTO> couns; | ||
40 | + @ApiModelProperty(value = "县集合") | ||
41 | + private List<SysAreaDTO> towns; | ||
42 | + @ApiModelProperty(value = "国集合") | ||
43 | + private List<SysAreaDTO> countries; | ||
28 | } | 44 | } |
1 | +package org.thingsboard.server.common.data.yunteng.dto; | ||
2 | + | ||
3 | +import io.swagger.annotations.ApiModel; | ||
4 | +import io.swagger.annotations.ApiModelProperty; | ||
5 | +import lombok.Data; | ||
6 | +import org.thingsboard.server.common.data.yunteng.enums.AreaLevelEnum; | ||
7 | + | ||
8 | +/** | ||
9 | + * @author: 徐浩然 | ||
10 | + * @desc: 中国省市区街关联 | ||
11 | + * @date: 2021/12/16-15:03 | ||
12 | + */ | ||
13 | +@Data | ||
14 | +@ApiModel(value = "中国省市区街关联") | ||
15 | +public class SysAreaDTO { | ||
16 | + @ApiModelProperty(value = "上级Code") | ||
17 | + private Long parentId; | ||
18 | + | ||
19 | + @ApiModelProperty(value = "行政级别:AreaLevelEnum") | ||
20 | + private AreaLevelEnum level; | ||
21 | + | ||
22 | + @ApiModelProperty(value = "行政名称") | ||
23 | + private String name; | ||
24 | + | ||
25 | + @ApiModelProperty(value = "行政编码") | ||
26 | + private Long code; | ||
27 | +} |
@@ -33,8 +33,8 @@ public class SysEnterpriseDTO extends BaseDTO { | @@ -33,8 +33,8 @@ public class SysEnterpriseDTO extends BaseDTO { | ||
33 | @ApiModelProperty(value = "联系电话") | 33 | @ApiModelProperty(value = "联系电话") |
34 | private String tel; | 34 | private String tel; |
35 | @ApiModelProperty(value = "区域信息") | 35 | @ApiModelProperty(value = "区域信息") |
36 | - private SysTownDTO sysTown; | ||
37 | - private String codeTown; | 36 | + private AreaInfoDTO sysTown; |
37 | + private Long codeTown; | ||
38 | @ApiModelProperty(value = "二维码") | 38 | @ApiModelProperty(value = "二维码") |
39 | private String qrCode; | 39 | private String qrCode; |
40 | } | 40 | } |
1 | +package org.thingsboard.server.dao.yunteng.entities; | ||
2 | + | ||
3 | +import com.baomidou.mybatisplus.annotation.TableName; | ||
4 | +import lombok.Data; | ||
5 | +import org.thingsboard.server.common.data.yunteng.constant.ModelConstants; | ||
6 | +import org.thingsboard.server.common.data.yunteng.enums.AreaLevelEnum; | ||
7 | + | ||
8 | +/** | ||
9 | + * @author: 徐浩然 | ||
10 | + * @desc: 中国省市区街关联 | ||
11 | + * @date: 2021/12/15-17:31 | ||
12 | + */ | ||
13 | +@Data | ||
14 | +@TableName(ModelConstants.Table.SYS_AREA_TABLE_NAME) | ||
15 | +public class SysArea{ | ||
16 | + private Long parentId; | ||
17 | + private AreaLevelEnum level; | ||
18 | + private String name; | ||
19 | + private Long code; | ||
20 | +} |
dao/src/main/java/org/thingsboard/server/dao/yunteng/entities/SysTown.java
deleted
100644 → 0
1 | -package org.thingsboard.server.dao.yunteng.entities; | ||
2 | - | ||
3 | -import com.baomidou.mybatisplus.annotation.TableName; | ||
4 | -import io.swagger.annotations.ApiModel; | ||
5 | -import io.swagger.annotations.ApiModelProperty; | ||
6 | -import lombok.Data; | ||
7 | -import org.thingsboard.server.common.data.yunteng.constant.ModelConstants; | ||
8 | - | ||
9 | -/** | ||
10 | - * @author: 徐浩然 | ||
11 | - * @desc: 中国城镇区街 | ||
12 | - * @date: 2021/12/3-15:31 | ||
13 | - */ | ||
14 | -@Data | ||
15 | -@ApiModel(value = "中国城镇区街") | ||
16 | -@TableName(ModelConstants.Table.SYS_TOWN_TABLE_NAME) | ||
17 | -public class SysTown { | ||
18 | - @ApiModelProperty(value = "省") | ||
19 | - private String nameProv; | ||
20 | - @ApiModelProperty(value = "省code") | ||
21 | - private String codeProv; | ||
22 | - @ApiModelProperty(value = "市") | ||
23 | - private String nameCity; | ||
24 | - @ApiModelProperty(value = "市code") | ||
25 | - private String codeCity; | ||
26 | - @ApiModelProperty(value = "区") | ||
27 | - private String nameCoun; | ||
28 | - @ApiModelProperty(value = "区code") | ||
29 | - private String codeCoun; | ||
30 | - @ApiModelProperty(value = "县") | ||
31 | - private String nameTown; | ||
32 | - @ApiModelProperty(value = "县code") | ||
33 | - private String codeTown; | ||
34 | -} |
1 | +package org.thingsboard.server.dao.yunteng.impl; | ||
2 | + | ||
3 | +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; | ||
4 | +import lombok.RequiredArgsConstructor; | ||
5 | +import org.apache.commons.lang3.StringUtils; | ||
6 | +import org.springframework.beans.BeanUtils; | ||
7 | +import org.springframework.stereotype.Service; | ||
8 | +import org.thingsboard.server.common.data.yunteng.dto.SysAreaDTO; | ||
9 | +import org.thingsboard.server.common.data.yunteng.utils.ReflectUtils; | ||
10 | +import org.thingsboard.server.dao.yunteng.entities.SysArea; | ||
11 | +import org.thingsboard.server.dao.yunteng.mapper.SysAreaMapper; | ||
12 | +import org.thingsboard.server.dao.yunteng.service.SysAreaService; | ||
13 | + | ||
14 | +import java.util.List; | ||
15 | + | ||
16 | +/** | ||
17 | + * @author: 徐浩然 | ||
18 | + * @desc: 中国省市区县 | ||
19 | + * @date: 2021/12/16-11:13 | ||
20 | + */ | ||
21 | +@Service | ||
22 | +@RequiredArgsConstructor | ||
23 | +public class SysAreaServiceImpl implements SysAreaService { | ||
24 | + | ||
25 | + private final SysAreaMapper sysAreaMapper; | ||
26 | + | ||
27 | + @Override | ||
28 | + public List<SysAreaDTO> list(SysAreaDTO sysAreaDTO) { | ||
29 | + return ReflectUtils.sourceToTarget( | ||
30 | + sysAreaMapper.selectList( | ||
31 | + new LambdaQueryWrapper<SysArea>() | ||
32 | + .eq(sysAreaDTO.getLevel() != null, SysArea::getLevel, sysAreaDTO.getLevel()) | ||
33 | + .eq( | ||
34 | + sysAreaDTO.getParentId() != null, | ||
35 | + SysArea::getParentId, | ||
36 | + sysAreaDTO.getParentId()) | ||
37 | + .eq(sysAreaDTO.getCode() != null, SysArea::getCode, sysAreaDTO.getCode()) | ||
38 | + .like( | ||
39 | + StringUtils.isNotEmpty(sysAreaDTO.getName()), | ||
40 | + SysArea::getName, | ||
41 | + sysAreaDTO.getName())), | ||
42 | + SysAreaDTO.class); | ||
43 | + } | ||
44 | + | ||
45 | + @Override | ||
46 | + public SysAreaDTO getSysAreaInfoByCode(Long code) { | ||
47 | + if (null == code) return null; | ||
48 | + SysAreaDTO target = new SysAreaDTO(); | ||
49 | + SysArea source = | ||
50 | + sysAreaMapper.selectOne(new LambdaQueryWrapper<SysArea>().eq(SysArea::getCode, code)); | ||
51 | + if (null != source) { | ||
52 | + BeanUtils.copyProperties(source, target); | ||
53 | + } | ||
54 | + return target; | ||
55 | + } | ||
56 | +} |
@@ -4,10 +4,13 @@ import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; | @@ -4,10 +4,13 @@ import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; | ||
4 | import lombok.RequiredArgsConstructor; | 4 | import lombok.RequiredArgsConstructor; |
5 | import lombok.extern.slf4j.Slf4j; | 5 | import lombok.extern.slf4j.Slf4j; |
6 | import org.springframework.stereotype.Service; | 6 | import org.springframework.stereotype.Service; |
7 | +import org.thingsboard.server.common.data.yunteng.dto.SysAreaDTO; | ||
7 | import org.thingsboard.server.common.data.yunteng.dto.SysEnterpriseDTO; | 8 | import org.thingsboard.server.common.data.yunteng.dto.SysEnterpriseDTO; |
9 | +import org.thingsboard.server.common.data.yunteng.dto.AreaInfoDTO; | ||
8 | import org.thingsboard.server.dao.yunteng.entities.SysEnterprise; | 10 | import org.thingsboard.server.dao.yunteng.entities.SysEnterprise; |
9 | import org.thingsboard.server.dao.yunteng.mapper.SysEnterpriseMapper; | 11 | import org.thingsboard.server.dao.yunteng.mapper.SysEnterpriseMapper; |
10 | import org.thingsboard.server.dao.yunteng.service.AbstractBaseService; | 12 | import org.thingsboard.server.dao.yunteng.service.AbstractBaseService; |
13 | +import org.thingsboard.server.dao.yunteng.service.SysAreaService; | ||
11 | import org.thingsboard.server.dao.yunteng.service.SysEnterpriseService; | 14 | import org.thingsboard.server.dao.yunteng.service.SysEnterpriseService; |
12 | 15 | ||
13 | /** | 16 | /** |
@@ -21,8 +24,11 @@ import org.thingsboard.server.dao.yunteng.service.SysEnterpriseService; | @@ -21,8 +24,11 @@ import org.thingsboard.server.dao.yunteng.service.SysEnterpriseService; | ||
21 | public class SysEnterpriseServiceImpl | 24 | public class SysEnterpriseServiceImpl |
22 | extends AbstractBaseService<SysEnterpriseMapper, SysEnterprise> | 25 | extends AbstractBaseService<SysEnterpriseMapper, SysEnterprise> |
23 | implements SysEnterpriseService { | 26 | implements SysEnterpriseService { |
27 | + | ||
28 | + private final SysAreaService sysAreaService; | ||
29 | + | ||
24 | @Override | 30 | @Override |
25 | - public boolean save(SysEnterpriseDTO sysAppDesignDTO,String tenantId) { | 31 | + public boolean save(SysEnterpriseDTO sysAppDesignDTO, String tenantId) { |
26 | SysEnterprise entity = sysAppDesignDTO.getEntity(SysEnterprise.class); | 32 | SysEnterprise entity = sysAppDesignDTO.getEntity(SysEnterprise.class); |
27 | entity.setTenantId(tenantId); | 33 | entity.setTenantId(tenantId); |
28 | return baseMapper.insert(entity) > 0; | 34 | return baseMapper.insert(entity) > 0; |
@@ -30,19 +36,56 @@ public class SysEnterpriseServiceImpl | @@ -30,19 +36,56 @@ public class SysEnterpriseServiceImpl | ||
30 | 36 | ||
31 | @Override | 37 | @Override |
32 | public SysEnterpriseDTO get(String tenantId) { | 38 | public SysEnterpriseDTO get(String tenantId) { |
33 | - return baseMapper.get(tenantId); | 39 | + SysEnterpriseDTO sysEnterpriseDTO = baseMapper.get(tenantId); |
40 | + AreaInfoDTO sourceArea = sysEnterpriseDTO.getSysTown(); | ||
41 | + SysAreaDTO town = sysAreaService.getSysAreaInfoByCode(sysEnterpriseDTO.getCodeTown()); | ||
42 | + sourceArea.setNameTown(town.getName()); | ||
43 | + SysAreaDTO county = sysAreaService.getSysAreaInfoByCode(town.getParentId()); | ||
44 | + sourceArea.setNameCoun(county.getName()); | ||
45 | + sourceArea.setCodeCoun(county.getCode()); | ||
46 | + SysAreaDTO city = sysAreaService.getSysAreaInfoByCode(county.getParentId()); | ||
47 | + sourceArea.setNameCoun(city.getName()); | ||
48 | + sourceArea.setCodeCoun(city.getCode()); | ||
49 | + SysAreaDTO province = sysAreaService.getSysAreaInfoByCode(city.getParentId()); | ||
50 | + sourceArea.setNameCoun(province.getName()); | ||
51 | + sourceArea.setCodeCoun(province.getCode()); | ||
52 | + SysAreaDTO country = sysAreaService.getSysAreaInfoByCode(province.getParentId()); | ||
53 | + sourceArea.setNameCoun(country.getName()); | ||
54 | + sourceArea.setCodeCoun(country.getCode()); | ||
55 | + | ||
56 | + //查询同级别县 | ||
57 | + SysAreaDTO var1 = new SysAreaDTO(); | ||
58 | + var1.setParentId(town.getParentId()); | ||
59 | + sourceArea.setTowns(sysAreaService.list(var1)); | ||
60 | + //查询同级别区 | ||
61 | + SysAreaDTO var2 = new SysAreaDTO(); | ||
62 | + var2.setParentId(county.getParentId()); | ||
63 | + sourceArea.setCouns(sysAreaService.list(var2)); | ||
64 | + //查询同级别市 | ||
65 | + SysAreaDTO var3 = new SysAreaDTO(); | ||
66 | + var3.setParentId(city.getParentId()); | ||
67 | + sourceArea.setCities(sysAreaService.list(var3)); | ||
68 | + //查询同级别省 | ||
69 | + SysAreaDTO var4 = new SysAreaDTO(); | ||
70 | + var4.setParentId(province.getParentId()); | ||
71 | + sourceArea.setProvs(sysAreaService.list(var4)); | ||
72 | + //查询同级别省 | ||
73 | + SysAreaDTO var5 = new SysAreaDTO(); | ||
74 | + var5.setParentId(country.getParentId()); | ||
75 | + sourceArea.setCountries(sysAreaService.list(var5)); | ||
76 | + sysEnterpriseDTO.setSysTown(sourceArea); | ||
77 | + return sysEnterpriseDTO; | ||
34 | } | 78 | } |
35 | 79 | ||
36 | @Override | 80 | @Override |
37 | - public boolean update(SysEnterpriseDTO sysAppDesignDTO,String tenantId) { | 81 | + public boolean update(SysEnterpriseDTO sysAppDesignDTO, String tenantId) { |
38 | if (get(tenantId) != null) { | 82 | if (get(tenantId) != null) { |
39 | return baseMapper.update( | 83 | return baseMapper.update( |
40 | sysAppDesignDTO.getEntity(SysEnterprise.class), | 84 | sysAppDesignDTO.getEntity(SysEnterprise.class), |
41 | - new LambdaQueryWrapper<SysEnterprise>() | ||
42 | - .eq(SysEnterprise::getTenantId,tenantId)) | ||
43 | - > 0; | ||
44 | - }else { | ||
45 | - return save(sysAppDesignDTO,tenantId); | 85 | + new LambdaQueryWrapper<SysEnterprise>().eq(SysEnterprise::getTenantId, tenantId)) |
86 | + > 0; | ||
87 | + } else { | ||
88 | + return save(sysAppDesignDTO, tenantId); | ||
46 | } | 89 | } |
47 | } | 90 | } |
48 | } | 91 | } |
dao/src/main/java/org/thingsboard/server/dao/yunteng/impl/SysTownServiceImpl.java
deleted
100644 → 0
1 | -package org.thingsboard.server.dao.yunteng.impl; | ||
2 | - | ||
3 | -import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; | ||
4 | -import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; | ||
5 | -import lombok.RequiredArgsConstructor; | ||
6 | -import lombok.extern.slf4j.Slf4j; | ||
7 | -import org.springframework.stereotype.Service; | ||
8 | -import org.thingsboard.server.dao.yunteng.entities.SysTown; | ||
9 | -import org.thingsboard.server.dao.yunteng.mapper.SysTownMapper; | ||
10 | -import org.thingsboard.server.dao.yunteng.service.SysTownService; | ||
11 | - | ||
12 | -import java.lang.reflect.Field; | ||
13 | -import java.util.*; | ||
14 | - | ||
15 | -/** | ||
16 | - * @author: 徐浩然 | ||
17 | - * @desc: 中国城镇区街 | ||
18 | - * @date: 2021/12/3-15:37 | ||
19 | - */ | ||
20 | -@Slf4j | ||
21 | -@Service | ||
22 | -@RequiredArgsConstructor | ||
23 | -public class SysTownServiceImpl implements SysTownService { | ||
24 | - | ||
25 | - private final SysTownMapper sysTownMapper; | ||
26 | - | ||
27 | - private final String PID = "pid"; | ||
28 | - private final String ID = "id"; | ||
29 | - private final String NAME = "name"; | ||
30 | - private final String CHILD = "child"; | ||
31 | - | ||
32 | - @Override | ||
33 | - public List<SysTown> findChilds(String variable, String value) { | ||
34 | - Field[] fields = SysTown.class.getDeclaredFields(); | ||
35 | - Stack<String> list = new Stack<>(); | ||
36 | - for (int i = 0; i < fields.length; i++) { | ||
37 | - // 查询variable是第几个变量,可以决定groupby什么 | ||
38 | - list.add(fields[i].getName()); | ||
39 | - if (fields[i].getName().equals(variable)) { | ||
40 | - if (i % 2 == 0) { | ||
41 | - list.add(fields[++i].getName()); | ||
42 | - } | ||
43 | - list.add(fields[++i].getName()); | ||
44 | - list.add(fields[++i].getName()); | ||
45 | - break; | ||
46 | - } | ||
47 | - } | ||
48 | - String[] groupBy = | ||
49 | - list.stream() | ||
50 | - // 驼峰转下划线 | ||
51 | - .map(this::to_) | ||
52 | - // 组成需要groupby的字段 | ||
53 | - .toArray(String[]::new); | ||
54 | - return sysTownMapper.selectList( | ||
55 | - new QueryWrapper<SysTown>().select(groupBy).eq(to_(variable), value).groupBy(groupBy)); | ||
56 | - } | ||
57 | - | ||
58 | - private String to_(String s) { | ||
59 | - return s.replaceAll("[A-Z]", "_$0").toLowerCase(); | ||
60 | - } | ||
61 | - | ||
62 | - @Override | ||
63 | - public SysTown findParent(String variable, String value) { | ||
64 | - return sysTownMapper.selectList(new QueryWrapper<SysTown>().eq(variable, value)).stream() | ||
65 | - .findFirst() | ||
66 | - .orElse(null); | ||
67 | - } | ||
68 | - | ||
69 | - public List<SysTown> getCityList() { | ||
70 | - return sysTownMapper.getCityList(); | ||
71 | - } | ||
72 | - | ||
73 | - @Override | ||
74 | - public LinkedList<Map<String, Object>> tree() { | ||
75 | - // 查询有序数据 | ||
76 | - List<SysTown> cityList = | ||
77 | - sysTownMapper.selectList( | ||
78 | - new LambdaQueryWrapper<SysTown>() | ||
79 | - .orderByAsc( | ||
80 | - SysTown::getCodeProv, | ||
81 | - SysTown::getCodeCity, | ||
82 | - SysTown::getCodeCoun, | ||
83 | - SysTown::getCodeTown)); | ||
84 | - // 省 | ||
85 | - LinkedList<Map<String, Object>> prov = new LinkedList<>(); | ||
86 | - // 市 | ||
87 | - LinkedList<Map<String, Object>> city = new LinkedList<>(); | ||
88 | - // 区 | ||
89 | - LinkedList<Map<String, Object>> coun = new LinkedList<>(); | ||
90 | - // 县 | ||
91 | - LinkedList<Map<String, Object>> town = new LinkedList<>(); | ||
92 | - for (SysTown sysTown : cityList) { | ||
93 | - if (coun.size() != 0 && !coun.getLast().get(ID).equals(sysTown.getCodeCoun())) { | ||
94 | - // 切换区则县链改变 | ||
95 | - town = new LinkedList<>(); | ||
96 | - } | ||
97 | - // 添加县 | ||
98 | - addTown(town, sysTown); | ||
99 | - | ||
100 | - if (city.size() != 0 && !city.getLast().get(ID).equals(sysTown.getCodeCity())) { | ||
101 | - // 切换市则区链改变 | ||
102 | - coun = new LinkedList<>(); | ||
103 | - } | ||
104 | - // 添加区 | ||
105 | - addCoun(coun, town, sysTown); | ||
106 | - if (prov.size() != 0 && !prov.getLast().get(ID).equals(sysTown.getCodeProv())) { | ||
107 | - // 切换省则市链改变 | ||
108 | - city = new LinkedList<>(); | ||
109 | - } | ||
110 | - // 添加市 | ||
111 | - addCity(city, coun, sysTown); | ||
112 | - // 添加省 | ||
113 | - addProv(prov, city, sysTown); | ||
114 | - } | ||
115 | - return prov; | ||
116 | - } | ||
117 | - | ||
118 | - private void addTown(LinkedList<Map<String, Object>> town, SysTown sysTown) { | ||
119 | - if (town.size() == 0 || !town.getLast().get(ID).equals(sysTown.getCodeTown())) { | ||
120 | - town.addLast( | ||
121 | - new HashMap<>() { | ||
122 | - { | ||
123 | - put(PID, sysTown.getCodeCoun()); | ||
124 | - put(ID, sysTown.getCodeTown()); | ||
125 | - put(NAME, sysTown.getNameTown()); | ||
126 | - // put(CHILD, null); | ||
127 | - } | ||
128 | - }); | ||
129 | - } | ||
130 | - } | ||
131 | - | ||
132 | - private void addCoun( | ||
133 | - LinkedList<Map<String, Object>> coun, LinkedList<Map<String, Object>> town, SysTown sysTown) { | ||
134 | - if (coun.size() == 0 || !coun.getLast().get(ID).equals(sysTown.getCodeCoun())) { | ||
135 | - coun.addLast( | ||
136 | - new HashMap<>() { | ||
137 | - { | ||
138 | - put(PID, sysTown.getCodeCity()); | ||
139 | - put(ID, sysTown.getCodeCoun()); | ||
140 | - put(NAME, sysTown.getNameCoun()); | ||
141 | - put(CHILD, town); | ||
142 | - } | ||
143 | - }); | ||
144 | - } | ||
145 | - } | ||
146 | - | ||
147 | - private void addCity( | ||
148 | - LinkedList<Map<String, Object>> city, LinkedList<Map<String, Object>> coun, SysTown sysTown) { | ||
149 | - if (city.size() == 0 || !city.getLast().get(ID).equals(sysTown.getCodeCity())) { | ||
150 | - city.addLast( | ||
151 | - new HashMap<>() { | ||
152 | - { | ||
153 | - put(PID, sysTown.getCodeProv()); | ||
154 | - put(ID, sysTown.getCodeCity()); | ||
155 | - put(NAME, sysTown.getNameCity()); | ||
156 | - put(CHILD, coun); | ||
157 | - } | ||
158 | - }); | ||
159 | - } | ||
160 | - } | ||
161 | - | ||
162 | - private void addProv( | ||
163 | - LinkedList<Map<String, Object>> prov, LinkedList<Map<String, Object>> city, SysTown sysTown) { | ||
164 | - if (prov.size() == 0 || !prov.getLast().get(ID).equals(sysTown.getCodeProv())) { | ||
165 | - prov.addLast( | ||
166 | - new HashMap<>() { | ||
167 | - { | ||
168 | - // put(PID, null); | ||
169 | - put(ID, sysTown.getCodeProv()); | ||
170 | - put(NAME, sysTown.getNameProv()); | ||
171 | - put(CHILD, city); | ||
172 | - } | ||
173 | - }); | ||
174 | - } | ||
175 | - } | ||
176 | -} |
@@ -209,7 +209,7 @@ public class YtDeviceServiceImpl extends AbstractBaseService<DeviceMapper, YtDev | @@ -209,7 +209,7 @@ public class YtDeviceServiceImpl extends AbstractBaseService<DeviceMapper, YtDev | ||
209 | 209 | ||
210 | device.setAlarmStatus(0); | 210 | device.setAlarmStatus(0); |
211 | /** 默认待激活状态 */ | 211 | /** 默认待激活状态 */ |
212 | - device.setDeviceState(DeviceState.INACTIVE.name()); | 212 | + device.setDeviceState(DeviceState.INACTIVE); |
213 | baseMapper.insert(device); | 213 | baseMapper.insert(device); |
214 | return device.getDTO(DeviceDTO.class); | 214 | return device.getDTO(DeviceDTO.class); |
215 | } | 215 | } |
dao/src/main/java/org/thingsboard/server/dao/yunteng/mapper/SysAreaMapper.java
renamed from
dao/src/main/java/org/thingsboard/server/dao/yunteng/mapper/SysTownMapper.java
@@ -2,19 +2,13 @@ package org.thingsboard.server.dao.yunteng.mapper; | @@ -2,19 +2,13 @@ package org.thingsboard.server.dao.yunteng.mapper; | ||
2 | 2 | ||
3 | import com.baomidou.mybatisplus.core.mapper.BaseMapper; | 3 | import com.baomidou.mybatisplus.core.mapper.BaseMapper; |
4 | import org.apache.ibatis.annotations.Mapper; | 4 | import org.apache.ibatis.annotations.Mapper; |
5 | -import org.apache.ibatis.annotations.Select; | ||
6 | -import org.thingsboard.server.dao.yunteng.entities.SysTown; | ||
7 | - | ||
8 | -import java.util.List; | 5 | +import org.thingsboard.server.dao.yunteng.entities.SysArea; |
9 | 6 | ||
10 | /** | 7 | /** |
11 | * @author: 徐浩然 | 8 | * @author: 徐浩然 |
12 | * @desc: | 9 | * @desc: |
13 | - * @date: 2021/12/3-15:34 | 10 | + * @date: 2021/12/16-10:45 |
14 | */ | 11 | */ |
15 | @Mapper | 12 | @Mapper |
16 | -public interface SysTownMapper extends BaseMapper<SysTown> { | ||
17 | - /** @return 查询所有省份 */ | ||
18 | - @Select("select name_prov,code_prov from sys_town group by name_prov, code_prov") | ||
19 | - List<SysTown> getCityList(); | 13 | +public interface SysAreaMapper extends BaseMapper<SysArea> { |
20 | } | 14 | } |
dao/src/main/java/org/thingsboard/server/dao/yunteng/service/SysAreaService.java
renamed from
dao/src/main/java/org/thingsboard/server/dao/yunteng/service/SysTownService.java
1 | package org.thingsboard.server.dao.yunteng.service; | 1 | package org.thingsboard.server.dao.yunteng.service; |
2 | - | ||
3 | -import org.thingsboard.server.dao.yunteng.entities.SysTown; | ||
4 | - | ||
5 | -import java.util.LinkedList; | 2 | +import org.thingsboard.server.common.data.yunteng.dto.SysAreaDTO; |
6 | import java.util.List; | 3 | import java.util.List; |
7 | -import java.util.Map; | ||
8 | 4 | ||
9 | /** | 5 | /** |
10 | * @author: 徐浩然 | 6 | * @author: 徐浩然 |
11 | * @desc: | 7 | * @desc: |
12 | - * @date: 2021/12/3-15:36 | 8 | + * @date: 2021/12/16-11:13 |
13 | */ | 9 | */ |
14 | -public interface SysTownService { | ||
15 | - | ||
16 | - List<SysTown> findChilds(String variable, String value); | ||
17 | - | ||
18 | - SysTown findParent(String variable, String value); | ||
19 | - | ||
20 | - List<SysTown> getCityList(); | 10 | +public interface SysAreaService { |
11 | + List<SysAreaDTO> list(SysAreaDTO sysAreaDTO); | ||
21 | 12 | ||
22 | - LinkedList<Map<String, Object>> tree(); | 13 | + SysAreaDTO getSysAreaInfoByCode(Long code); |
23 | } | 14 | } |
@@ -14,7 +14,7 @@ | @@ -14,7 +14,7 @@ | ||
14 | <result property="tel" column="tel"/> | 14 | <result property="tel" column="tel"/> |
15 | <result property="codeTown" column="code_town"/> | 15 | <result property="codeTown" column="code_town"/> |
16 | <result property="qrCode" column="qr_code"/> | 16 | <result property="qrCode" column="qr_code"/> |
17 | - <association property="sysTown" javaType="org.thingsboard.server.common.data.yunteng.dto.SysTownDTO"> | 17 | + <association property="sysTown" javaType="org.thingsboard.server.common.data.yunteng.dto.AreaInfoDTO"> |
18 | <result property="nameProv" column="name_prov"/> | 18 | <result property="nameProv" column="name_prov"/> |
19 | <result property="codeProv" column="code_prov"/> | 19 | <result property="codeProv" column="code_prov"/> |
20 | <result property="nameCity" column="name_city"/> | 20 | <result property="nameCity" column="name_city"/> |