Showing
3 changed files
with
47 additions
and
26 deletions
@@ -8,6 +8,7 @@ import org.springframework.cache.CacheManager; | @@ -8,6 +8,7 @@ import org.springframework.cache.CacheManager; | ||
8 | import org.springframework.stereotype.Service; | 8 | import org.springframework.stereotype.Service; |
9 | import org.thingsboard.server.common.data.yunteng.constant.FastIotConstants; | 9 | import org.thingsboard.server.common.data.yunteng.constant.FastIotConstants; |
10 | import org.thingsboard.server.common.data.yunteng.dto.SysAreaDTO; | 10 | import org.thingsboard.server.common.data.yunteng.dto.SysAreaDTO; |
11 | +import org.thingsboard.server.common.data.yunteng.enums.AreaLevelEnum; | ||
11 | import org.thingsboard.server.common.data.yunteng.utils.ReflectUtils; | 12 | import org.thingsboard.server.common.data.yunteng.utils.ReflectUtils; |
12 | import org.thingsboard.server.dao.yunteng.entities.SysAreaEntity; | 13 | import org.thingsboard.server.dao.yunteng.entities.SysAreaEntity; |
13 | import org.thingsboard.server.dao.yunteng.mapper.SysAreaMapper; | 14 | import org.thingsboard.server.dao.yunteng.mapper.SysAreaMapper; |
@@ -30,37 +31,47 @@ public class SysAreaServiceImpl implements SysAreaService { | @@ -30,37 +31,47 @@ public class SysAreaServiceImpl implements SysAreaService { | ||
30 | @Override | 31 | @Override |
31 | public List<SysAreaDTO> list(SysAreaDTO sysAreaDTO) { | 32 | public List<SysAreaDTO> list(SysAreaDTO sysAreaDTO) { |
32 | String areaKey = sysAreaDTO.getParentId() + "-" + sysAreaDTO.getLevel(); | 33 | String areaKey = sysAreaDTO.getParentId() + "-" + sysAreaDTO.getLevel(); |
33 | - List<SysAreaDTO> result = cacheManager.getCache(FastIotConstants.CacheConfigKey.AREA).get(areaKey,List.class); | ||
34 | - if(result == null || result.isEmpty()){ | ||
35 | - result = ReflectUtils.sourceToTarget( | 34 | + List<SysAreaDTO> result = |
35 | + cacheManager.getCache(FastIotConstants.CacheConfigKey.AREA).get(areaKey, List.class); | ||
36 | + if (result == null || result.isEmpty()) { | ||
37 | + result = | ||
38 | + ReflectUtils.sourceToTarget( | ||
36 | sysAreaMapper.selectList( | 39 | sysAreaMapper.selectList( |
37 | - new LambdaQueryWrapper<SysAreaEntity>() | ||
38 | - .eq(sysAreaDTO.getLevel() != null, SysAreaEntity::getLevel, sysAreaDTO.getLevel()) | ||
39 | - .eq( | ||
40 | - sysAreaDTO.getParentId() != null, | ||
41 | - SysAreaEntity::getParentId, | ||
42 | - sysAreaDTO.getParentId()) | ||
43 | - .eq(sysAreaDTO.getCode() != null, SysAreaEntity::getCode, sysAreaDTO.getCode()) | ||
44 | - .like( | ||
45 | - StringUtils.isNotEmpty(sysAreaDTO.getName()), | ||
46 | - SysAreaEntity::getName, | ||
47 | - sysAreaDTO.getName())), | 40 | + new LambdaQueryWrapper<SysAreaEntity>() |
41 | + .eq( | ||
42 | + sysAreaDTO.getLevel() != null, | ||
43 | + SysAreaEntity::getLevel, | ||
44 | + sysAreaDTO.getLevel()) | ||
45 | + .eq( | ||
46 | + sysAreaDTO.getParentId() != null, | ||
47 | + SysAreaEntity::getParentId, | ||
48 | + sysAreaDTO.getParentId()) | ||
49 | + .eq( | ||
50 | + sysAreaDTO.getCode() != null, | ||
51 | + SysAreaEntity::getCode, | ||
52 | + sysAreaDTO.getCode()) | ||
53 | + .like( | ||
54 | + StringUtils.isNotEmpty(sysAreaDTO.getName()), | ||
55 | + SysAreaEntity::getName, | ||
56 | + sysAreaDTO.getName())), | ||
48 | SysAreaDTO.class); | 57 | SysAreaDTO.class); |
49 | - cacheManager.getCache(FastIotConstants.CacheConfigKey.AREA).put(areaKey,result); | 58 | + cacheManager.getCache(FastIotConstants.CacheConfigKey.AREA).put(areaKey, result); |
50 | } | 59 | } |
51 | 60 | ||
52 | - | ||
53 | return result; | 61 | return result; |
54 | } | 62 | } |
55 | 63 | ||
56 | @Override | 64 | @Override |
57 | - public SysAreaDTO getSysAreaInfoByCode(Long code) { | 65 | + public SysAreaDTO getSysAreaInfoByCode(Long code, AreaLevelEnum levelEnum) { |
58 | if (null == code) { | 66 | if (null == code) { |
59 | return null; | 67 | return null; |
60 | } | 68 | } |
61 | SysAreaDTO target = new SysAreaDTO(); | 69 | SysAreaDTO target = new SysAreaDTO(); |
62 | SysAreaEntity source = | 70 | SysAreaEntity source = |
63 | - sysAreaMapper.selectOne(new LambdaQueryWrapper<SysAreaEntity>().eq(SysAreaEntity::getCode, code)); | 71 | + sysAreaMapper.selectOne( |
72 | + new LambdaQueryWrapper<SysAreaEntity>() | ||
73 | + .eq(SysAreaEntity::getCode, code) | ||
74 | + .eq(SysAreaEntity::getLevel, levelEnum)); | ||
64 | if (null != source) { | 75 | if (null != source) { |
65 | BeanUtils.copyProperties(source, target); | 76 | BeanUtils.copyProperties(source, target); |
66 | } | 77 | } |
@@ -10,6 +10,7 @@ import org.thingsboard.server.common.data.yunteng.core.message.ErrorMessage; | @@ -10,6 +10,7 @@ import org.thingsboard.server.common.data.yunteng.core.message.ErrorMessage; | ||
10 | import org.thingsboard.server.common.data.yunteng.dto.SysAreaDTO; | 10 | import org.thingsboard.server.common.data.yunteng.dto.SysAreaDTO; |
11 | import org.thingsboard.server.common.data.yunteng.dto.SysEnterpriseDTO; | 11 | import org.thingsboard.server.common.data.yunteng.dto.SysEnterpriseDTO; |
12 | import org.thingsboard.server.common.data.yunteng.dto.AreaInfoDTO; | 12 | import org.thingsboard.server.common.data.yunteng.dto.AreaInfoDTO; |
13 | +import org.thingsboard.server.common.data.yunteng.enums.AreaLevelEnum; | ||
13 | import org.thingsboard.server.dao.yunteng.entities.SysEnterpriseEntity; | 14 | import org.thingsboard.server.dao.yunteng.entities.SysEnterpriseEntity; |
14 | import org.thingsboard.server.dao.yunteng.mapper.SysEnterpriseMapper; | 15 | import org.thingsboard.server.dao.yunteng.mapper.SysEnterpriseMapper; |
15 | import org.thingsboard.server.dao.yunteng.service.AbstractBaseService; | 16 | import org.thingsboard.server.dao.yunteng.service.AbstractBaseService; |
@@ -34,7 +35,8 @@ public class SysEnterpriseServiceImpl | @@ -34,7 +35,8 @@ public class SysEnterpriseServiceImpl | ||
34 | public boolean save(SysEnterpriseDTO sysAppDesignDTO, String tenantId) { | 35 | public boolean save(SysEnterpriseDTO sysAppDesignDTO, String tenantId) { |
35 | SysEnterpriseEntity checkSysEnterprise = | 36 | SysEnterpriseEntity checkSysEnterprise = |
36 | baseMapper.selectOne( | 37 | baseMapper.selectOne( |
37 | - new LambdaQueryWrapper<SysEnterpriseEntity>().eq(SysEnterpriseEntity::getTenantId, tenantId)); | 38 | + new LambdaQueryWrapper<SysEnterpriseEntity>() |
39 | + .eq(SysEnterpriseEntity::getTenantId, tenantId)); | ||
38 | if (null != checkSysEnterprise) { | 40 | if (null != checkSysEnterprise) { |
39 | throw new TkDataValidationException(ErrorMessage.DATA_ALREADY_EXISTS.getMessage()); | 41 | throw new TkDataValidationException(ErrorMessage.DATA_ALREADY_EXISTS.getMessage()); |
40 | } | 42 | } |
@@ -51,19 +53,24 @@ public class SysEnterpriseServiceImpl | @@ -51,19 +53,24 @@ public class SysEnterpriseServiceImpl | ||
51 | } | 53 | } |
52 | if (null != sysEnterpriseDTO.getCodeTown()) { | 54 | if (null != sysEnterpriseDTO.getCodeTown()) { |
53 | AreaInfoDTO sourceArea = new AreaInfoDTO(); | 55 | AreaInfoDTO sourceArea = new AreaInfoDTO(); |
54 | - SysAreaDTO town = sysAreaService.getSysAreaInfoByCode(sysEnterpriseDTO.getCodeTown()); | 56 | + SysAreaDTO town = |
57 | + sysAreaService.getSysAreaInfoByCode(sysEnterpriseDTO.getCodeTown(), AreaLevelEnum.TOWN); | ||
55 | sourceArea.setNameTown(town.getName()); | 58 | sourceArea.setNameTown(town.getName()); |
56 | sourceArea.setCodeTown(town.getCode()); | 59 | sourceArea.setCodeTown(town.getCode()); |
57 | - SysAreaDTO county = sysAreaService.getSysAreaInfoByCode(town.getParentId()); | 60 | + SysAreaDTO county = |
61 | + sysAreaService.getSysAreaInfoByCode(town.getParentId(), AreaLevelEnum.COUNTY); | ||
58 | sourceArea.setNameCoun(county.getName()); | 62 | sourceArea.setNameCoun(county.getName()); |
59 | sourceArea.setCodeCoun(county.getCode()); | 63 | sourceArea.setCodeCoun(county.getCode()); |
60 | - SysAreaDTO city = sysAreaService.getSysAreaInfoByCode(county.getParentId()); | 64 | + SysAreaDTO city = |
65 | + sysAreaService.getSysAreaInfoByCode(county.getParentId(), AreaLevelEnum.CITY); | ||
61 | sourceArea.setNameCity(city.getName()); | 66 | sourceArea.setNameCity(city.getName()); |
62 | sourceArea.setCodeCity(city.getCode()); | 67 | sourceArea.setCodeCity(city.getCode()); |
63 | - SysAreaDTO province = sysAreaService.getSysAreaInfoByCode(city.getParentId()); | 68 | + SysAreaDTO province = |
69 | + sysAreaService.getSysAreaInfoByCode(city.getParentId(), AreaLevelEnum.PROVINCE); | ||
64 | sourceArea.setNameProv(province.getName()); | 70 | sourceArea.setNameProv(province.getName()); |
65 | sourceArea.setCodeProv(province.getCode()); | 71 | sourceArea.setCodeProv(province.getCode()); |
66 | - SysAreaDTO country = sysAreaService.getSysAreaInfoByCode(province.getParentId()); | 72 | + SysAreaDTO country = |
73 | + sysAreaService.getSysAreaInfoByCode(province.getParentId(), AreaLevelEnum.COUNTRY); | ||
67 | sourceArea.setNameCountry(country.getName()); | 74 | sourceArea.setNameCountry(country.getName()); |
68 | sourceArea.setCodeCountry(country.getCode()); | 75 | sourceArea.setCodeCountry(country.getCode()); |
69 | 76 | ||
@@ -98,7 +105,8 @@ public class SysEnterpriseServiceImpl | @@ -98,7 +105,8 @@ public class SysEnterpriseServiceImpl | ||
98 | if (sysAppDesignDTO.getId() != null) { | 105 | if (sysAppDesignDTO.getId() != null) { |
99 | return baseMapper.update( | 106 | return baseMapper.update( |
100 | sysAppDesignDTO.getEntity(SysEnterpriseEntity.class), | 107 | sysAppDesignDTO.getEntity(SysEnterpriseEntity.class), |
101 | - new LambdaQueryWrapper<SysEnterpriseEntity>().eq(SysEnterpriseEntity::getTenantId, tenantId)) | 108 | + new LambdaQueryWrapper<SysEnterpriseEntity>() |
109 | + .eq(SysEnterpriseEntity::getTenantId, tenantId)) | ||
102 | > 0; | 110 | > 0; |
103 | } else { | 111 | } else { |
104 | return save(sysAppDesignDTO, tenantId); | 112 | return save(sysAppDesignDTO, tenantId); |
1 | package org.thingsboard.server.dao.yunteng.service; | 1 | package org.thingsboard.server.dao.yunteng.service; |
2 | import org.thingsboard.server.common.data.yunteng.dto.SysAreaDTO; | 2 | import org.thingsboard.server.common.data.yunteng.dto.SysAreaDTO; |
3 | +import org.thingsboard.server.common.data.yunteng.enums.AreaLevelEnum; | ||
4 | + | ||
3 | import java.util.List; | 5 | import java.util.List; |
4 | 6 | ||
5 | /** | 7 | /** |
@@ -10,5 +12,5 @@ import java.util.List; | @@ -10,5 +12,5 @@ import java.util.List; | ||
10 | public interface SysAreaService { | 12 | public interface SysAreaService { |
11 | List<SysAreaDTO> list(SysAreaDTO sysAreaDTO); | 13 | List<SysAreaDTO> list(SysAreaDTO sysAreaDTO); |
12 | 14 | ||
13 | - SysAreaDTO getSysAreaInfoByCode(Long code); | 15 | + SysAreaDTO getSysAreaInfoByCode(Long code, AreaLevelEnum levelEnum); |
14 | } | 16 | } |