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