Commit ab5011ac8d2c1daeb03d620d4bd4f461ff885953

Authored by 黄 x
1 parent c1a7ec20

fix: 修改企业OEM查询、修改BUG

@@ -31,10 +31,9 @@ public class YtEnterpriseController extends BaseController { @@ -31,10 +31,9 @@ public class YtEnterpriseController extends BaseController {
31 31
32 @PutMapping("update") 32 @PutMapping("update")
33 @ApiOperation("更新") 33 @ApiOperation("更新")
34 - public ResponseEntity update(@RequestBody SysEnterpriseDTO sysEnterpriseDTO) 34 + public ResponseEntity<Boolean> update(@RequestBody SysEnterpriseDTO sysEnterpriseDTO)
35 throws ThingsboardException { 35 throws ThingsboardException {
36 - return sysEnterpriseService.update(sysEnterpriseDTO, getCurrentUser().getCurrentTenantId())  
37 - ? ResponseEntity.ok().build()  
38 - : ResponseEntity.badRequest().build(); 36 + return ResponseEntity.ok(
  37 + sysEnterpriseService.update(sysEnterpriseDTO, getCurrentUser().getCurrentTenantId()));
39 } 38 }
40 } 39 }
@@ -30,6 +30,7 @@ public enum ErrorMessage { @@ -30,6 +30,7 @@ public enum ErrorMessage {
30 GET_CURRENT_USER_EXCEPTION(400011,"获取当前用户信息异常"), 30 GET_CURRENT_USER_EXCEPTION(400011,"获取当前用户信息异常"),
31 SEND_DESTINATION_NOT_FOUND(400012,"通知失败!找不到发送目标"), 31 SEND_DESTINATION_NOT_FOUND(400012,"通知失败!找不到发送目标"),
32 USER_NAME_ALREADY_EXISTS(400013,"用户名已存在"), 32 USER_NAME_ALREADY_EXISTS(400013,"用户名已存在"),
  33 + DATA_ALREADY_EXISTS(400014,"数据已存在,无需重复添加"),
33 CONNECT_TO_TB_ERROR(500001,"与TB联系错误"), 34 CONNECT_TO_TB_ERROR(500001,"与TB联系错误"),
34 HAVE_NO_PERMISSION(500002,"没有修改权限"); 35 HAVE_NO_PERMISSION(500002,"没有修改权限");
35 private final int code; 36 private final int code;
@@ -34,7 +34,7 @@ public class SysEnterprise extends TenantBaseEntity { @@ -34,7 +34,7 @@ public class SysEnterprise extends TenantBaseEntity {
34 /** 联系电话 */ 34 /** 联系电话 */
35 private String tel; 35 private String tel;
36 /** 县code */ 36 /** 县code */
37 - private String codeTown; 37 + private Long codeTown;
38 /** 二维码 */ 38 /** 二维码 */
39 private String qrCode; 39 private String qrCode;
40 } 40 }
@@ -3,7 +3,11 @@ package org.thingsboard.server.dao.yunteng.impl; @@ -3,7 +3,11 @@ package org.thingsboard.server.dao.yunteng.impl;
3 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; 3 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.apache.commons.lang3.StringUtils;
6 import org.springframework.stereotype.Service; 7 import org.springframework.stereotype.Service;
  8 +import org.springframework.transaction.annotation.Transactional;
  9 +import org.thingsboard.server.common.data.yunteng.core.exception.YtDataValidationException;
  10 +import org.thingsboard.server.common.data.yunteng.core.message.ErrorMessage;
7 import org.thingsboard.server.common.data.yunteng.dto.SysAreaDTO; 11 import org.thingsboard.server.common.data.yunteng.dto.SysAreaDTO;
8 import org.thingsboard.server.common.data.yunteng.dto.SysEnterpriseDTO; 12 import org.thingsboard.server.common.data.yunteng.dto.SysEnterpriseDTO;
9 import org.thingsboard.server.common.data.yunteng.dto.AreaInfoDTO; 13 import org.thingsboard.server.common.data.yunteng.dto.AreaInfoDTO;
@@ -29,6 +33,12 @@ public class SysEnterpriseServiceImpl @@ -29,6 +33,12 @@ public class SysEnterpriseServiceImpl
29 33
30 @Override 34 @Override
31 public boolean save(SysEnterpriseDTO sysAppDesignDTO, String tenantId) { 35 public boolean save(SysEnterpriseDTO sysAppDesignDTO, String tenantId) {
  36 + SysEnterprise checkSysEnterprise =
  37 + baseMapper.selectOne(
  38 + new LambdaQueryWrapper<SysEnterprise>().eq(SysEnterprise::getTenantId, tenantId));
  39 + if (null != checkSysEnterprise) {
  40 + throw new YtDataValidationException(ErrorMessage.DATA_ALREADY_EXISTS.getMessage());
  41 + }
32 SysEnterprise entity = sysAppDesignDTO.getEntity(SysEnterprise.class); 42 SysEnterprise entity = sysAppDesignDTO.getEntity(SysEnterprise.class);
33 entity.setTenantId(tenantId); 43 entity.setTenantId(tenantId);
34 return baseMapper.insert(entity) > 0; 44 return baseMapper.insert(entity) > 0;
@@ -37,49 +47,56 @@ public class SysEnterpriseServiceImpl @@ -37,49 +47,56 @@ public class SysEnterpriseServiceImpl
37 @Override 47 @Override
38 public SysEnterpriseDTO get(String tenantId) { 48 public SysEnterpriseDTO get(String tenantId) {
39 SysEnterpriseDTO sysEnterpriseDTO = baseMapper.get(tenantId); 49 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()); 50 + if (null == sysEnterpriseDTO) {
  51 + return null;
  52 + }
  53 + if (null != sysEnterpriseDTO.getCodeTown()) {
  54 + AreaInfoDTO sourceArea = new AreaInfoDTO();
  55 + SysAreaDTO town = sysAreaService.getSysAreaInfoByCode(sysEnterpriseDTO.getCodeTown());
  56 + sourceArea.setNameTown(town.getName());
  57 + sourceArea.setCodeTown(town.getCode());
  58 + SysAreaDTO county = sysAreaService.getSysAreaInfoByCode(town.getParentId());
  59 + sourceArea.setNameCoun(county.getName());
  60 + sourceArea.setCodeCoun(county.getCode());
  61 + SysAreaDTO city = sysAreaService.getSysAreaInfoByCode(county.getParentId());
  62 + sourceArea.setNameCity(city.getName());
  63 + sourceArea.setCodeCity(city.getCode());
  64 + SysAreaDTO province = sysAreaService.getSysAreaInfoByCode(city.getParentId());
  65 + sourceArea.setNameProv(province.getName());
  66 + sourceArea.setCodeProv(province.getCode());
  67 + SysAreaDTO country = sysAreaService.getSysAreaInfoByCode(province.getParentId());
  68 + sourceArea.setNameCountry(country.getName());
  69 + sourceArea.setCodeCountry(country.getCode());
55 70
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); 71 + // 查询同级别县
  72 + SysAreaDTO var1 = new SysAreaDTO();
  73 + var1.setParentId(town.getParentId());
  74 + sourceArea.setTowns(sysAreaService.list(var1));
  75 + // 查询同级别区
  76 + SysAreaDTO var2 = new SysAreaDTO();
  77 + var2.setParentId(county.getParentId());
  78 + sourceArea.setCouns(sysAreaService.list(var2));
  79 + // 查询同级别市
  80 + SysAreaDTO var3 = new SysAreaDTO();
  81 + var3.setParentId(city.getParentId());
  82 + sourceArea.setCities(sysAreaService.list(var3));
  83 + // 查询同级别省
  84 + SysAreaDTO var4 = new SysAreaDTO();
  85 + var4.setParentId(province.getParentId());
  86 + sourceArea.setProvs(sysAreaService.list(var4));
  87 + // 查询同级别省
  88 + SysAreaDTO var5 = new SysAreaDTO();
  89 + var5.setParentId(country.getParentId());
  90 + sourceArea.setCountries(sysAreaService.list(var5));
  91 + sysEnterpriseDTO.setSysTown(sourceArea);
  92 + }
77 return sysEnterpriseDTO; 93 return sysEnterpriseDTO;
78 } 94 }
79 95
80 @Override 96 @Override
  97 + @Transactional
81 public boolean update(SysEnterpriseDTO sysAppDesignDTO, String tenantId) { 98 public boolean update(SysEnterpriseDTO sysAppDesignDTO, String tenantId) {
82 - if (get(tenantId) != null) { 99 + if (sysAppDesignDTO.getId() != null) {
83 return baseMapper.update( 100 return baseMapper.update(
84 sysAppDesignDTO.getEntity(SysEnterprise.class), 101 sysAppDesignDTO.getEntity(SysEnterprise.class),
85 new LambdaQueryWrapper<SysEnterprise>().eq(SysEnterprise::getTenantId, tenantId)) 102 new LambdaQueryWrapper<SysEnterprise>().eq(SysEnterprise::getTenantId, tenantId))
@@ -3,6 +3,7 @@ @@ -3,6 +3,7 @@
3 3
4 <mapper namespace="org.thingsboard.server.dao.yunteng.mapper.SysEnterpriseMapper"> 4 <mapper namespace="org.thingsboard.server.dao.yunteng.mapper.SysEnterpriseMapper">
5 <resultMap id="entity" type="org.thingsboard.server.common.data.yunteng.dto.SysEnterpriseDTO"> 5 <resultMap id="entity" type="org.thingsboard.server.common.data.yunteng.dto.SysEnterpriseDTO">
  6 + <result property="id" column="id"/>
6 <result property="name" column="name"/> 7 <result property="name" column="name"/>
7 <result property="abbreviation" column="abbreviation"/> 8 <result property="abbreviation" column="abbreviation"/>
8 <result property="officialWebsite" column="official_website"/> 9 <result property="officialWebsite" column="official_website"/>
@@ -14,20 +15,12 @@ @@ -14,20 +15,12 @@
14 <result property="tel" column="tel"/> 15 <result property="tel" column="tel"/>
15 <result property="codeTown" column="code_town"/> 16 <result property="codeTown" column="code_town"/>
16 <result property="qrCode" column="qr_code"/> 17 <result property="qrCode" column="qr_code"/>
17 - <association property="sysTown" javaType="org.thingsboard.server.common.data.yunteng.dto.AreaInfoDTO">  
18 - <result property="nameProv" column="name_prov"/>  
19 - <result property="codeProv" column="code_prov"/>  
20 - <result property="nameCity" column="name_city"/>  
21 - <result property="codeCity" column="code_city"/>  
22 - <result property="nameCoun" column="name_coun"/>  
23 - <result property="codeCoun" column="code_coun"/>  
24 - <result property="nameTown" column="name_town"/>  
25 - <result property="codeTown" column="code_town"/>  
26 - </association>  
27 </resultMap> 18 </resultMap>
28 19
29 <select id="get" resultMap="entity"> 20 <select id="get" resultMap="entity">
30 - select se.name as name, 21 + SELECT
  22 + se.id id,
  23 + se.name AS name,
31 se.abbreviation abbreviation, 24 se.abbreviation abbreviation,
32 se.official_website official_website, 25 se.official_website official_website,
33 se.email email, 26 se.email email,
@@ -37,17 +30,9 @@ @@ -37,17 +30,9 @@
37 se.area area, 30 se.area area,
38 se.tel tel, 31 se.tel tel,
39 se.code_town code_town, 32 se.code_town code_town,
40 - se.qr_code qr_code,  
41 - st.name_prov name_prov,  
42 - st.code_prov code_prov,  
43 - st.name_city name_city,  
44 - st.code_city code_city,  
45 - st.name_coun name_coun,  
46 - st.code_coun code_coun,  
47 - st.name_town name_town  
48 - from sys_enterprise se  
49 - left join sys_town st on st.code_town = se.code_town  
50 - where se.tenant_id = #{tenantId} 33 + se.qr_code qr_code
  34 + FROM sys_enterprise se
  35 + WHERE se.tenant_id = #{tenantId}
51 </select> 36 </select>
52 37
53 </mapper> 38 </mapper>