Commit 6bf5b5337513432d644e70fd008042a396d5865a

Authored by 陈星宇
1 parent c6b01883

fix: 消息模板接收tenantId和刪除组织修改

@@ -19,9 +19,7 @@ import org.thingsboard.server.common.data.yunteng.utils.tools.ResponseResult; @@ -19,9 +19,7 @@ import org.thingsboard.server.common.data.yunteng.utils.tools.ResponseResult;
19 import org.thingsboard.server.dao.yunteng.service.YtMailService; 19 import org.thingsboard.server.dao.yunteng.service.YtMailService;
20 import org.thingsboard.server.dao.yunteng.service.YtMessageTemplateService; 20 import org.thingsboard.server.dao.yunteng.service.YtMessageTemplateService;
21 import org.thingsboard.server.dao.yunteng.service.YtSmsService; 21 import org.thingsboard.server.dao.yunteng.service.YtSmsService;
22 -  
23 import java.util.HashMap; 22 import java.util.HashMap;
24 -  
25 import static org.thingsboard.server.common.data.yunteng.constant.QueryConstant.*; 23 import static org.thingsboard.server.common.data.yunteng.constant.QueryConstant.*;
26 24
27 @RestController 25 @RestController
@@ -44,7 +42,7 @@ public class YtMessageTemplateController { @@ -44,7 +42,7 @@ public class YtMessageTemplateController {
44 @RequestParam(value = ORDER_FILED, required = false) String orderBy, 42 @RequestParam(value = ORDER_FILED, required = false) String orderBy,
45 @RequestParam(value = ORDER_TYPE, required = false) OrderTypeEnum orderType) { 43 @RequestParam(value = ORDER_TYPE, required = false) OrderTypeEnum orderType) {
46 44
47 - HashMap<String, Object> queryMap = new HashMap<>(); 45 + HashMap<String, Object> queryMap = new HashMap<>();
48 queryMap.put(PAGE_SIZE, pageSize); 46 queryMap.put(PAGE_SIZE, pageSize);
49 queryMap.put(PAGE, page); 47 queryMap.put(PAGE, page);
50 queryMap.put(ORDER_FILED, orderBy); 48 queryMap.put(ORDER_FILED, orderBy);
@@ -24,4 +24,7 @@ public class MessageConfigDTO extends TenantDTO { @@ -24,4 +24,7 @@ public class MessageConfigDTO extends TenantDTO {
24 24
25 /** 状态:0禁用 1启用 */ 25 /** 状态:0禁用 1启用 */
26 private Integer status; 26 private Integer status;
  27 +
  28 + /** 备注 */
  29 + private String remark;
27 } 30 }
@@ -10,7 +10,7 @@ import org.thingsboard.server.common.data.yunteng.constant.ModelConstants; @@ -10,7 +10,7 @@ import org.thingsboard.server.common.data.yunteng.constant.ModelConstants;
10 10
11 @Data 11 @Data
12 @EqualsAndHashCode(callSuper = true) 12 @EqualsAndHashCode(callSuper = true)
13 -@TableName(value = ModelConstants.Table.MESSAGE_CONFIG_TABLE_NAME,autoResultMap = true) 13 +@TableName(value = ModelConstants.Table.MESSAGE_CONFIG_TABLE_NAME, autoResultMap = true)
14 public class MessageConfig extends TenantBaseEntity { 14 public class MessageConfig extends TenantBaseEntity {
15 15
16 private static final long serialVersionUID = -3624943194108704138L; 16 private static final long serialVersionUID = -3624943194108704138L;
@@ -30,4 +30,7 @@ public class MessageConfig extends TenantBaseEntity { @@ -30,4 +30,7 @@ public class MessageConfig extends TenantBaseEntity {
30 30
31 /** 状态:0禁用 1启用 */ 31 /** 状态:0禁用 1启用 */
32 private Integer status; 32 private Integer status;
  33 +
  34 + /** 备注 */
  35 + private String remark;
33 } 36 }
@@ -54,12 +54,11 @@ public class YtMessageTemplateServiceImpl @@ -54,12 +54,11 @@ public class YtMessageTemplateServiceImpl
54 @Transactional 54 @Transactional
55 public MessageTemplateDTO updateMessageTemplate(MessageTemplateDTO templateDTO) { 55 public MessageTemplateDTO updateMessageTemplate(MessageTemplateDTO templateDTO) {
56 56
57 -// String tenantCode = SecurityContext.getCurrentUser().getTenantId();  
58 //查询该租户下 是否已经启用相同消息类型、相同用途的模板 57 //查询该租户下 是否已经启用相同消息类型、相同用途的模板
59 MessageTemplateDTO queryTemplate = new MessageTemplateDTO(); 58 MessageTemplateDTO queryTemplate = new MessageTemplateDTO();
60 queryTemplate.setTemplatePurpose(templateDTO.getTemplatePurpose()); 59 queryTemplate.setTemplatePurpose(templateDTO.getTemplatePurpose());
61 queryTemplate.setMessageType(templateDTO.getMessageType()); 60 queryTemplate.setMessageType(templateDTO.getMessageType());
62 -// queryTemplate.setTemplateCode(tenantCode); 61 + //queryTemplate.setTemplateCode(tenantCode);
63 if(StringUtils.isEmpty(templateDTO.getTemplatePurpose()) || StringUtils.isEmpty(templateDTO.getMessageType())){ 62 if(StringUtils.isEmpty(templateDTO.getTemplatePurpose()) || StringUtils.isEmpty(templateDTO.getMessageType())){
64 throw new YtDataValidationException(ErrorMessage.INVALID_PARAMETER.getMessage()); 63 throw new YtDataValidationException(ErrorMessage.INVALID_PARAMETER.getMessage());
65 } 64 }
@@ -68,8 +67,9 @@ public class YtMessageTemplateServiceImpl @@ -68,8 +67,9 @@ public class YtMessageTemplateServiceImpl
68 throw new YtDataValidationException(ErrorMessage.NOT_SET_PASSWORD_TEMPLATE.getMessage()); 67 throw new YtDataValidationException(ErrorMessage.NOT_SET_PASSWORD_TEMPLATE.getMessage());
69 } 68 }
70 MessageTemplate messageTemplate = baseMapper.selectById(templateDTO.getId()); 69 MessageTemplate messageTemplate = baseMapper.selectById(templateDTO.getId());
  70 + templateDTO.setTenantId(templateDTO.getTenantId());
71 templateDTO.copyToEntity(messageTemplate); 71 templateDTO.copyToEntity(messageTemplate);
72 -// messageTemplate.setTenantId(tenantCode); 72 +
73 baseMapper.updateById(messageTemplate); 73 baseMapper.updateById(messageTemplate);
74 messageTemplate.copyToDTO(templateDTO); 74 messageTemplate.copyToDTO(templateDTO);
75 return templateDTO; 75 return templateDTO;
@@ -82,14 +82,16 @@ public class YtOrganizationServiceImpl extends AbstractBaseService<OrganizationM @@ -82,14 +82,16 @@ public class YtOrganizationServiceImpl extends AbstractBaseService<OrganizationM
82 throw new YtDataValidationException("待删除数据存在关联用户,不能删除!"); 82 throw new YtDataValidationException("待删除数据存在关联用户,不能删除!");
83 } 83 }
84 // 查询是否有设备使用该组织 84 // 查询是否有设备使用该组织
85 - List<YtDevice> deviceList =  
86 - deviceMapper.selectList(  
87 - new QueryWrapper<YtDevice>()  
88 - .lambda()  
89 - .eq(YtDevice::getTenantId, tenantId)  
90 - .eq(YtDevice::getOrganizationId, ids));  
91 - if (!deviceList.isEmpty()) {  
92 - throw new YtDataValidationException("待删除数据存在关联设备,不能删除!"); 85 + for (String id : ids) {
  86 + List<YtDevice> deviceList =
  87 + deviceMapper.selectList(
  88 + new QueryWrapper<YtDevice>()
  89 + .lambda()
  90 + .eq(YtDevice::getTenantId, tenantId)
  91 + .eq(YtDevice::getOrganizationId, id));
  92 + if (!deviceList.isEmpty()) {
  93 + throw new YtDataValidationException("待删除数据存在关联设备,不能删除!");
  94 + }
93 } 95 }
94 doDeleteUserOrganizationMapping(idToDelete); 96 doDeleteUserOrganizationMapping(idToDelete);
95 return baseMapper.deleteBatchIds(idToDelete) > 0; 97 return baseMapper.deleteBatchIds(idToDelete) > 0;
@@ -118,7 +120,8 @@ public class YtOrganizationServiceImpl extends AbstractBaseService<OrganizationM @@ -118,7 +120,8 @@ public class YtOrganizationServiceImpl extends AbstractBaseService<OrganizationM
118 } 120 }
119 if (organization.getName().equals(organizationDTO.getName()) 121 if (organization.getName().equals(organizationDTO.getName())
120 && organization.getSort() == organizationDTO.getSort() 122 && organization.getSort() == organizationDTO.getSort()
121 - && organization.getRemark().equals(organizationDTO.getRemark()) 123 + && (organization.getRemark() != null
  124 + && organization.getRemark().equals(organizationDTO.getRemark()))
122 && Objects.equals(organization.getParentId(), organizationDTO.getParentId())) { 125 && Objects.equals(organization.getParentId(), organizationDTO.getParentId())) {
123 return organizationDTO; 126 return organizationDTO;
124 } 127 }
@@ -15,11 +15,12 @@ @@ -15,11 +15,12 @@
15 <result property="updater" column="updater"/> 15 <result property="updater" column="updater"/>
16 <result property="updateTime" column="update_time"/> 16 <result property="updateTime" column="update_time"/>
17 <result property="configName" column="config_name"/> 17 <result property="configName" column="config_name"/>
  18 + <result property="remark" column="remark"/>
18 </resultMap> 19 </resultMap>
19 20
20 <sql id="columns"> 21 <sql id="columns">
21 id 22 id
22 - ,platform_type,config,config_name,tenant_id,message_type,status,creator,create_time,updater,update_time 23 + ,platform_type,config,config_name,tenant_id,message_type,status,creator,create_time,updater,update_time,remark
23 </sql> 24 </sql>
24 <select id="getEnableConfigByMessageAndPlatform" resultMap="messageConfigDTOMap"> 25 <select id="getEnableConfigByMessageAndPlatform" resultMap="messageConfigDTOMap">
25 SELECT 26 SELECT
@@ -15,13 +15,15 @@ @@ -15,13 +15,15 @@
15 <result property="updater" column="updater"/> 15 <result property="updater" column="updater"/>
16 <result property="updateTime" column="update_time"/> 16 <result property="updateTime" column="update_time"/>
17 <result property="status" column="status"/> 17 <result property="status" column="status"/>
18 - <association property="messageConfig" javaType="org.thingsboard.server.common.data.yunteng.dto.MessageConfigDTO"> 18 + <result property="tenantId" column="tenant_id"/>
  19 + <association property="messageConfig"
  20 + javaType="org.thingsboard.server.common.data.yunteng.dto.MessageConfigDTO">
19 <result property="configName" column="config_name"/> 21 <result property="configName" column="config_name"/>
20 </association> 22 </association>
21 </resultMap> 23 </resultMap>
22 <sql id="columns"> 24 <sql id="columns">
23 mt.id,mt.template_code,mt.template_name,mt.sign_name,mt.message_config_id,mt.template_purpose,mt.creator, 25 mt.id,mt.template_code,mt.template_name,mt.sign_name,mt.message_config_id,mt.template_purpose,mt.creator,
24 - mt.create_time,mt.updater,mt.update_time,mt.message_type,mc.config_name,mt.status 26 + mt.create_time,mt.updater,mt.update_time,mt.message_type,mc.config_name,mt.status,mt.tenant_id
25 </sql> 27 </sql>
26 <select id="getTemplatePage" resultMap="messageTemplateDTOMap"> 28 <select id="getTemplatePage" resultMap="messageTemplateDTOMap">
27 SELECT 29 SELECT
@@ -29,7 +31,9 @@ @@ -29,7 +31,9 @@
29 FROM message_template mt LEFT JOIN message_config mc ON 31 FROM message_template mt LEFT JOIN message_config mc ON
30 mt.message_config_id=mc.id 32 mt.message_config_id=mc.id
31 <where> 33 <where>
32 - <if test="queryMap.tenantId !=null and queryMap.tenantId != ''">mc.tenant_id = #{queryMap.tenantId}</if> 34 + <if test="queryMap.tenantId !=null and queryMap.tenantId != ''">
  35 + AND mt.tenant_id = #{queryMap.tenantId}
  36 + </if>
33 <if test="queryMap.templateCode !=null and queryMap.templateCode != ''"> 37 <if test="queryMap.templateCode !=null and queryMap.templateCode != ''">
34 AND mt.template_code LIKE concat('%',#{queryMap.templateCode}::TEXT,'%') 38 AND mt.template_code LIKE concat('%',#{queryMap.templateCode}::TEXT,'%')
35 </if> 39 </if>
@@ -48,9 +52,11 @@ @@ -48,9 +52,11 @@
48 <if test="id !=null and id != ''">mt.id = #{id}</if> 52 <if test="id !=null and id != ''">mt.id = #{id}</if>
49 <if test="tenantId !=null and tenantId != ''">AND mt.tenant_id = #{tenantId}</if> 53 <if test="tenantId !=null and tenantId != ''">AND mt.tenant_id = #{tenantId}</if>
50 <if test="templateCode !=null and templateCode != ''">AND mt.template_code = #{templateCode}</if> 54 <if test="templateCode !=null and templateCode != ''">AND mt.template_code = #{templateCode}</if>
51 - <if test="messageConfigId !=null and messageConfigId != ''">AND mt.message_configId = #{messageConfigId}</if> 55 + <if test="messageConfigId !=null and messageConfigId != ''">AND mt.message_configId = #{messageConfigId}
  56 + </if>
52 <if test="messageType !=null and messageType != ''">AND mt.message_type = #{messageType}</if> 57 <if test="messageType !=null and messageType != ''">AND mt.message_type = #{messageType}</if>
53 - <if test="templatePurpose !=null and templatePurpose != ''">AND mt.template_purpose = #{templatePurpose}</if> 58 + <if test="templatePurpose !=null and templatePurpose != ''">AND mt.template_purpose = #{templatePurpose}
  59 + </if>
54 <if test="status !=null">AND mt.status = #{status}</if> 60 <if test="status !=null">AND mt.status = #{status}</if>
55 </where> 61 </where>
56 </select> 62 </select>