Commit e367cb7d304b0362c448787de6420151df007b88

Authored by 云中非
1 parent cbeabb15

fix(DEFECT-638): 修复消息模板全部禁用后任然可以推送的问题

1、消息模板添加租户ID过滤
2、平台、租户只能用自己的模板,平台不能用租户的模板,租户也不能用平台的模板
... ... @@ -54,12 +54,12 @@ public class YtTenantController extends AbstractUserAccount {
54 54 SendResetPasswordEmailMsg msg = new SendResetPasswordEmailMsg();
55 55 msg.setUserId(userId);
56 56 msg.setMessageTypeEnum(MessageTypeEnum.PHONE_MESSAGE);
57   - userService.sendRestPasswordMsg(msg);
  57 + userService.sendRestPasswordMsg(getCurrentUser().getCurrentTenantId(),msg);
58 58 }
59 59
60 60
61 61 @PostMapping("/sendRestPasswordMsg")
62   - public void resetPassword(@RequestBody SendResetPasswordEmailMsg msg) {
63   - userService.sendRestPasswordMsg(msg);
  62 + public void resetPassword(@RequestBody SendResetPasswordEmailMsg msg) throws ThingsboardException {
  63 + userService.sendRestPasswordMsg(getCurrentUser().getCurrentTenantId(),msg);
64 64 }
65 65 }
... ...
... ... @@ -36,7 +36,7 @@ public enum ErrorMessage {
36 36 USERNAME_IS_IMMUTABLE(400017,"用户账号不可变"),
37 37 CONFIG_IS_DISABLE(400018,"配置未启用"),
38 38 IT_CANT_EQUAL_ITSELF(400019,"父级组织不可以为本身"),
39   - TARGET_TEMPLATE_NOT_EXISTS(400020,"目标模板不存在"),
  39 + TARGET_TEMPLATE_NOT_EXISTS(400020,"不存在可用的消息模板"),
40 40 DEVICE_NOT_EXISTENCE_IN_TENANT(400021,"当前租户下不存在该设备"),
41 41 DEVICE_RELATION_IS_ABSENT(400022,"设备关联关系已不存在"),
42 42 DATA_IS_DELETED(400023,"数据已经删除"),
... ...
... ... @@ -510,7 +510,7 @@ public class YtUserServiceImpl extends AbstractBaseService<UserMapper, User>
510 510 }
511 511
512 512 @Override
513   - public void sendRestPasswordMsg(SendResetPasswordEmailMsg msg) {
  513 + public void sendRestPasswordMsg(String tenantId,SendResetPasswordEmailMsg msg) {
514 514 // 通过用户ID查询用户信息
515 515 User user = baseMapper.selectById(msg.getUserId());
516 516 if (null == user) {
... ... @@ -522,6 +522,7 @@ public class YtUserServiceImpl extends AbstractBaseService<UserMapper, User>
522 522 String messageType = msg.getMessageTypeEnum().name();
523 523 messageTemplateDTO.setMessageType(messageType);
524 524 messageTemplateDTO.setTemplatePurpose(MsgTemplatePurposeEnum.FOR_SET_PASSWORD.name());
  525 + messageTemplateDTO.setTenantId(tenantId);
525 526 messageTemplateDTO.setStatus(1);
526 527 List<MessageTemplateDTO> templateDTOList =
527 528 messageTemplateService.findMessageTemplate(messageTemplateDTO);
... ...
... ... @@ -54,7 +54,7 @@ public interface YtUserService {
54 54 *
55 55 * @param msg 请求信息
56 56 */
57   - void sendRestPasswordMsg(SendResetPasswordEmailMsg msg);
  57 + void sendRestPasswordMsg(String tenantId,SendResetPasswordEmailMsg msg);
58 58
59 59 /**
60 60 * 判断账号是否注册过
... ...