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 | 58 | public static final String SYS_PLATFORM_DESIGN_TABLE_NAME = "sys_platform_design"; |
59 | 59 | /** APP定制 */ |
60 | 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 | 62 | public static final String IOTFS_SCENE_LINKAGE_TABLE_NAME = "iotfs_scene_linkage"; |
65 | 63 | /** 场景触发器 */ |
... | ... | @@ -68,6 +66,8 @@ public final class ModelConstants { |
68 | 66 | public static final String IOTFS_DO_CONDITION_TABLE_NAME = "iotfs_do_condition"; |
69 | 67 | /** 条件动作表 */ |
70 | 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 | 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 | 5 | import lombok.Data; |
6 | 6 | import lombok.RequiredArgsConstructor; |
7 | 7 | |
8 | +import java.util.List; | |
9 | + | |
8 | 10 | @Data |
9 | 11 | @ApiModel(value = "区域信息") |
10 | 12 | @RequiredArgsConstructor |
11 | -public class SysTownDTO { | |
13 | +public class AreaInfoDTO { | |
12 | 14 | @ApiModelProperty(value = "省") |
13 | 15 | private String nameProv; |
14 | 16 | @ApiModelProperty(value = "省code") |
15 | - private String codeProv; | |
17 | + private Long codeProv; | |
16 | 18 | @ApiModelProperty(value = "市") |
17 | 19 | private String nameCity; |
18 | 20 | @ApiModelProperty(value = "市code") |
19 | - private String codeCity; | |
21 | + private Long codeCity; | |
20 | 22 | @ApiModelProperty(value = "区") |
21 | 23 | private String nameCoun; |
22 | 24 | @ApiModelProperty(value = "区code") |
23 | - private String codeCoun; | |
25 | + private Long codeCoun; | |
24 | 26 | @ApiModelProperty(value = "县") |
25 | 27 | private String nameTown; |
26 | 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 | 33 | @ApiModelProperty(value = "联系电话") |
34 | 34 | private String tel; |
35 | 35 | @ApiModelProperty(value = "区域信息") |
36 | - private SysTownDTO sysTown; | |
37 | - private String codeTown; | |
36 | + private AreaInfoDTO sysTown; | |
37 | + private Long codeTown; | |
38 | 38 | @ApiModelProperty(value = "二维码") |
39 | 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 | 4 | import lombok.RequiredArgsConstructor; |
5 | 5 | import lombok.extern.slf4j.Slf4j; |
6 | 6 | import org.springframework.stereotype.Service; |
7 | +import org.thingsboard.server.common.data.yunteng.dto.SysAreaDTO; | |
7 | 8 | import org.thingsboard.server.common.data.yunteng.dto.SysEnterpriseDTO; |
9 | +import org.thingsboard.server.common.data.yunteng.dto.AreaInfoDTO; | |
8 | 10 | import org.thingsboard.server.dao.yunteng.entities.SysEnterprise; |
9 | 11 | import org.thingsboard.server.dao.yunteng.mapper.SysEnterpriseMapper; |
10 | 12 | import org.thingsboard.server.dao.yunteng.service.AbstractBaseService; |
13 | +import org.thingsboard.server.dao.yunteng.service.SysAreaService; | |
11 | 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 | 24 | public class SysEnterpriseServiceImpl |
22 | 25 | extends AbstractBaseService<SysEnterpriseMapper, SysEnterprise> |
23 | 26 | implements SysEnterpriseService { |
27 | + | |
28 | + private final SysAreaService sysAreaService; | |
29 | + | |
24 | 30 | @Override |
25 | - public boolean save(SysEnterpriseDTO sysAppDesignDTO,String tenantId) { | |
31 | + public boolean save(SysEnterpriseDTO sysAppDesignDTO, String tenantId) { | |
26 | 32 | SysEnterprise entity = sysAppDesignDTO.getEntity(SysEnterprise.class); |
27 | 33 | entity.setTenantId(tenantId); |
28 | 34 | return baseMapper.insert(entity) > 0; |
... | ... | @@ -30,19 +36,56 @@ public class SysEnterpriseServiceImpl |
30 | 36 | |
31 | 37 | @Override |
32 | 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 | 80 | @Override |
37 | - public boolean update(SysEnterpriseDTO sysAppDesignDTO,String tenantId) { | |
81 | + public boolean update(SysEnterpriseDTO sysAppDesignDTO, String tenantId) { | |
38 | 82 | if (get(tenantId) != null) { |
39 | 83 | return baseMapper.update( |
40 | 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 | 209 | |
210 | 210 | device.setAlarmStatus(0); |
211 | 211 | /** 默认待激活状态 */ |
212 | - device.setDeviceState(DeviceState.INACTIVE.name()); | |
212 | + device.setDeviceState(DeviceState.INACTIVE); | |
213 | 213 | baseMapper.insert(device); |
214 | 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 | 2 | |
3 | 3 | import com.baomidou.mybatisplus.core.mapper.BaseMapper; |
4 | 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 | 8 | * @author: 徐浩然 |
12 | 9 | * @desc: |
13 | - * @date: 2021/12/3-15:34 | |
10 | + * @date: 2021/12/16-10:45 | |
14 | 11 | */ |
15 | 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 | 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 | 3 | import java.util.List; |
7 | -import java.util.Map; | |
8 | 4 | |
9 | 5 | /** |
10 | 6 | * @author: 徐浩然 |
11 | 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 | 14 | <result property="tel" column="tel"/> |
15 | 15 | <result property="codeTown" column="code_town"/> |
16 | 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 | 18 | <result property="nameProv" column="name_prov"/> |
19 | 19 | <result property="codeProv" column="code_prov"/> |
20 | 20 | <result property="nameCity" column="name_city"/> | ... | ... |