Commit 77b06ce97f392cf8fe3f0308ce8f7fad6e52f8ec

Authored by xp.Huang
1 parent f9f2dc0c

fix: 平台定制特殊地图回显BUG修复

@@ -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 }