Showing
7 changed files
with
36 additions
and
22 deletions
application/src/main/java/org/thingsboard/server/controller/yunteng/YtMessageTemplateController.java
@@ -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); |
@@ -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> |