Commit e55841ef by lzy

接冲突

parents db8c08c9 7909a6df
package com.makeit.utils.msg; package com.makeit.utils.msg;
import com.makeit.utils.msg.dto.MsgSendDTO;
import org.springframework.stereotype.Component; import org.springframework.stereotype.Component;
import java.util.Collection; import java.util.Collection;
...@@ -8,7 +9,7 @@ import java.util.Collection; ...@@ -8,7 +9,7 @@ import java.util.Collection;
public class MsgSendUtil { public class MsgSendUtil {
/** /**
* 发送消息并保存记录 * 发送消息
*/ */
public void send(SendTypeEnum sendTypeEnum, Collection<String> receiverList, String content){ public void send(SendTypeEnum sendTypeEnum, Collection<String> receiverList, String content){
switch (sendTypeEnum){ switch (sendTypeEnum){
...@@ -22,6 +23,28 @@ public class MsgSendUtil { ...@@ -22,6 +23,28 @@ public class MsgSendUtil {
break; break;
case YUNLING: case YUNLING:
break; break;
case CHILD_WECHAT:
break;
}
}
/**
* 发送消息
*/
public void send(MsgSendDTO msgSendDTO){
switch (msgSendDTO.getSendTypeEnum()){
case SMS:
break;
case MAIL:
break;
case VOICE_SMS:
break;
case JINGQI:
break;
case YUNLING:
break;
case CHILD_WECHAT:
break;
} }
} }
} }
package com.makeit.utils.msg.dto; package com.makeit.utils.msg.dto;
import com.makeit.utils.msg.SendTypeEnum;
import lombok.AllArgsConstructor; import lombok.AllArgsConstructor;
import lombok.Builder; import lombok.Builder;
import lombok.Data; import lombok.Data;
import lombok.NoArgsConstructor; import lombok.NoArgsConstructor;
import org.apache.commons.lang3.StringUtils; import org.apache.commons.lang3.StringUtils;
import java.util.List; import java.util.Collection;
import java.util.regex.Matcher; import java.util.regex.Matcher;
import java.util.regex.Pattern; import java.util.regex.Pattern;
...@@ -14,11 +15,13 @@ import java.util.regex.Pattern; ...@@ -14,11 +15,13 @@ import java.util.regex.Pattern;
@Builder @Builder
@AllArgsConstructor @AllArgsConstructor
@NoArgsConstructor @NoArgsConstructor
public class MsgDTO { public class MsgSendDTO {
private SendTypeEnum sendTypeEnum;
private String subject; private String subject;
private List<String> receiverList; private Collection<String> receiverList;
private String oriContent; private String oriContent;
......
package com.makeit.utils.msg.sender; package com.makeit.utils.msg.sender;
import com.makeit.utils.msg.dto.MsgDTO; import com.makeit.utils.msg.dto.MsgSendDTO;
public interface IMsgSender { public interface IMsgSender {
...@@ -8,5 +8,5 @@ public interface IMsgSender { ...@@ -8,5 +8,5 @@ public interface IMsgSender {
* 发送消息 * 发送消息
* @param msgData 消息数据 * @param msgData 消息数据
*/ */
void send(MsgDTO msgDTO); void send(MsgSendDTO msgDTO);
} }
package com.makeit.utils.msg.sender; package com.makeit.utils.msg.sender;
import com.makeit.exception.BusinessException; import com.makeit.exception.BusinessException;
import com.makeit.utils.msg.dto.MsgDTO; import com.makeit.utils.msg.dto.MsgSendDTO;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value; import org.springframework.beans.factory.annotation.Value;
...@@ -25,7 +25,7 @@ public class MailMsgSender implements IMsgSender { ...@@ -25,7 +25,7 @@ public class MailMsgSender implements IMsgSender {
@Override @Override
public void send(MsgDTO msgDTO) { public void send(MsgSendDTO msgDTO) {
try { try {
MimeMessage message = mailSender.createMimeMessage(); MimeMessage message = mailSender.createMimeMessage();
MimeMessageHelper helper = new MimeMessageHelper(message, true); MimeMessageHelper helper = new MimeMessageHelper(message, true);
......
...@@ -4,7 +4,7 @@ import com.alibaba.fastjson.JSON; ...@@ -4,7 +4,7 @@ import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONObject; import com.alibaba.fastjson.JSONObject;
import com.makeit.exception.BusinessException; import com.makeit.exception.BusinessException;
import com.makeit.utils.msg.config.SmsConfig; import com.makeit.utils.msg.config.SmsConfig;
import com.makeit.utils.msg.dto.MsgDTO; import com.makeit.utils.msg.dto.MsgSendDTO;
import com.makeit.utils.old.encode.CryptoUtil; import com.makeit.utils.old.encode.CryptoUtil;
import com.makeit.utils.third.HttpClient; import com.makeit.utils.third.HttpClient;
import org.apache.commons.lang3.StringUtils; import org.apache.commons.lang3.StringUtils;
...@@ -13,9 +13,9 @@ import org.springframework.http.HttpHeaders; ...@@ -13,9 +13,9 @@ import org.springframework.http.HttpHeaders;
import org.springframework.stereotype.Component; import org.springframework.stereotype.Component;
import java.net.URLEncoder; import java.net.URLEncoder;
import java.util.Collection;
import java.util.Date; import java.util.Date;
import java.util.HashMap; import java.util.HashMap;
import java.util.List;
import java.util.stream.Collectors; import java.util.stream.Collectors;
@Component @Component
...@@ -30,11 +30,11 @@ public class SmsMsgSender implements IMsgSender{ ...@@ -30,11 +30,11 @@ public class SmsMsgSender implements IMsgSender{
* @param msgDTO * @param msgDTO
*/ */
@Override @Override
public void send(MsgDTO msgDTO) { public void send(MsgSendDTO msgDTO) {
try { try {
Date now = new Date(); Date now = new Date();
String time = String.valueOf(now.getTime()); String time = String.valueOf(now.getTime());
List<String> receiverList = msgDTO.getReceiverList(); Collection<String> receiverList = msgDTO.getReceiverList();
String receiverJoin = receiverList.stream().collect(Collectors.joining(",")); String receiverJoin = receiverList.stream().collect(Collectors.joining(","));
HashMap<String, String> paramMap = new HashMap<>(); HashMap<String, String> paramMap = new HashMap<>();
paramMap.put("uid", smsConfig.getUid()); paramMap.put("uid", smsConfig.getUid());
......
...@@ -4,7 +4,7 @@ import com.alibaba.fastjson.JSON; ...@@ -4,7 +4,7 @@ import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONObject; import com.alibaba.fastjson.JSONObject;
import com.makeit.exception.BusinessException; import com.makeit.exception.BusinessException;
import com.makeit.utils.msg.config.SmsVoiceConfig; import com.makeit.utils.msg.config.SmsVoiceConfig;
import com.makeit.utils.msg.dto.MsgDTO; import com.makeit.utils.msg.dto.MsgSendDTO;
import com.makeit.utils.old.encode.CryptoUtil; import com.makeit.utils.old.encode.CryptoUtil;
import com.makeit.utils.third.HttpClient; import com.makeit.utils.third.HttpClient;
import org.apache.commons.lang3.StringUtils; import org.apache.commons.lang3.StringUtils;
...@@ -13,6 +13,7 @@ import org.springframework.http.HttpHeaders; ...@@ -13,6 +13,7 @@ import org.springframework.http.HttpHeaders;
import org.springframework.stereotype.Component; import org.springframework.stereotype.Component;
import java.util.Arrays; import java.util.Arrays;
import java.util.Collection;
import java.util.Date; import java.util.Date;
import java.util.HashMap; import java.util.HashMap;
import java.util.List; import java.util.List;
...@@ -31,11 +32,11 @@ public class SmsVoiceSender implements IMsgSender{ ...@@ -31,11 +32,11 @@ public class SmsVoiceSender implements IMsgSender{
* @param msgDTO * @param msgDTO
*/ */
@Override @Override
public void send(MsgDTO msgDTO) { public void send(MsgSendDTO msgDTO) {
try { try {
Date now = new Date(); Date now = new Date();
String time = String.valueOf(now.getTime()); String time = String.valueOf(now.getTime());
List<String> receiverList = msgDTO.getReceiverList(); Collection<String> receiverList = msgDTO.getReceiverList();
String receiverJoin = receiverList.stream().collect(Collectors.joining(",")); String receiverJoin = receiverList.stream().collect(Collectors.joining(","));
HashMap<String, String> paramMap = new HashMap<>(); HashMap<String, String> paramMap = new HashMap<>();
paramMap.put("uid", smsVoiceConfig.getUid()); paramMap.put("uid", smsVoiceConfig.getUid());
......
...@@ -7,12 +7,7 @@ import com.makeit.common.page.PageVO; ...@@ -7,12 +7,7 @@ import com.makeit.common.page.PageVO;
import com.makeit.common.response.ApiResponseEntity; import com.makeit.common.response.ApiResponseEntity;
import com.makeit.common.response.ApiResponseUtils; import com.makeit.common.response.ApiResponseUtils;
import com.makeit.dto.platform.alarm.PlatAlarmRecordQueryDTO; import com.makeit.dto.platform.alarm.PlatAlarmRecordQueryDTO;
import com.makeit.global.annotation.AuthIgnore;
import com.makeit.service.platform.alarm.PlatAlarmRecordService; import com.makeit.service.platform.alarm.PlatAlarmRecordService;
import com.makeit.utils.msg.dto.MsgDTO;
import com.makeit.utils.msg.sender.MailMsgSender;
import com.makeit.utils.msg.sender.SmsMsgSender;
import com.makeit.utils.msg.sender.SmsVoiceSender;
import com.makeit.vo.platform.alarm.PlatAlarmRecordVO; import com.makeit.vo.platform.alarm.PlatAlarmRecordVO;
import io.swagger.annotations.Api; import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation; import io.swagger.annotations.ApiOperation;
...@@ -22,8 +17,6 @@ import org.springframework.web.bind.annotation.RequestBody; ...@@ -22,8 +17,6 @@ import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController; import org.springframework.web.bind.annotation.RestController;
import java.util.Collections;
@Api(tags = "告警记录") @Api(tags = "告警记录")
@RestController @RestController
@RequestMapping("/plat/alarm-record") @RequestMapping("/plat/alarm-record")
...@@ -55,43 +48,43 @@ public class PlatAlarmRecordController { ...@@ -55,43 +48,43 @@ public class PlatAlarmRecordController {
return ApiResponseUtils.success(); return ApiResponseUtils.success();
} }
@Autowired // @Autowired
private MailMsgSender mailMsgSender; // private MailMsgSender mailMsgSender;
@Autowired // @Autowired
private SmsMsgSender smsMsgSender; // private SmsMsgSender smsMsgSender;
@Autowired // @Autowired
private SmsVoiceSender smsVoiceSender; // private SmsVoiceSender smsVoiceSender;
//
@ApiOperation("测试邮箱") // @ApiOperation("测试邮箱")
@PostMapping("testMail") // @PostMapping("testMail")
public ApiResponseEntity<Void> testMail(@RequestBody BaseIdDTO dto) { // public ApiResponseEntity<Void> testMail(@RequestBody BaseIdDTO dto) {
MsgDTO msgDTO = new MsgDTO(); // MsgSendDTO msgDTO = new MsgSendDTO();
msgDTO.setSubject("测试消息"); // msgDTO.setSubject("测试消息");
msgDTO.setReceiverList(Collections.singletonList("994997968@qq.com")); // msgDTO.setReceiverList(Collections.singletonList("994997968@qq.com"));
msgDTO.setOriContent("测试发送邮箱"); // msgDTO.setOriContent("测试发送邮箱");
mailMsgSender.send(msgDTO); // mailMsgSender.send(msgDTO);
return ApiResponseUtils.success(); // return ApiResponseUtils.success();
} // }
//
@ApiOperation("测试短信") // @ApiOperation("测试短信")
@PostMapping("testMsg") // @PostMapping("testMsg")
public ApiResponseEntity<Void> testMsg(@RequestBody BaseIdDTO dto) throws Exception { // public ApiResponseEntity<Void> testMsg(@RequestBody BaseIdDTO dto) throws Exception {
MsgDTO msgDTO = new MsgDTO(); // MsgSendDTO msgDTO = new MsgSendDTO();
msgDTO.setReceiverList(Collections.singletonList("18850503603")); // msgDTO.setReceiverList(Collections.singletonList("18850503603"));
msgDTO.setOriContent("测试短信test"); // msgDTO.setOriContent("测试短信test");
smsMsgSender.send(msgDTO); // smsMsgSender.send(msgDTO);
return ApiResponseUtils.success(); // return ApiResponseUtils.success();
} // }
//
@ApiOperation("测试语音短信") // @ApiOperation("测试语音短信")
@PostMapping("testVoice") // @PostMapping("testVoice")
@AuthIgnore // @AuthIgnore
public ApiResponseEntity<Void> testVoice(@RequestBody BaseIdDTO dto) throws Exception { // public ApiResponseEntity<Void> testVoice(@RequestBody BaseIdDTO dto) throws Exception {
MsgDTO msgDTO = new MsgDTO(); // MsgSendDTO msgDTO = new MsgSendDTO();
msgDTO.setReceiverList(Collections.singletonList("18850503603")); // msgDTO.setReceiverList(Collections.singletonList("18850503603"));
msgDTO.setOriContent("测试短信test"); // msgDTO.setOriContent("测试短信test");
smsVoiceSender.send(msgDTO); // smsVoiceSender.send(msgDTO);
return ApiResponseUtils.success(); // return ApiResponseUtils.success();
} // }
} }
...@@ -28,8 +28,8 @@ public class ChildrenAlarmRecordController { ...@@ -28,8 +28,8 @@ public class ChildrenAlarmRecordController {
@ApiOperation("列表") @ApiOperation("列表")
@PostMapping("page") @PostMapping("page")
public ApiResponseEntity<PageVO<PlatAlarmRecordVO>> page(@RequestBody PageReqDTO<PlatAlarmRecordQueryDTO> dto) { public ApiResponseEntity<PageVO<PlatAlarmRecordVO>> page(@RequestBody PageReqDTO<PlatAlarmRecordQueryDTO> dto) {
//todo 只能看到发给关联的长者告警 //只能看到发给关联的长者告警
return ApiResponseUtils.success(platAlarmRecordService.page(dto)); return ApiResponseUtils.success(platAlarmRecordService.childrenPage(dto));
} }
@ApiOperation("查看") @ApiOperation("查看")
@PostMapping("view") @PostMapping("view")
......
...@@ -8,8 +8,6 @@ import com.makeit.common.response.ApiResponseEntity; ...@@ -8,8 +8,6 @@ import com.makeit.common.response.ApiResponseEntity;
import com.makeit.common.response.ApiResponseUtils; import com.makeit.common.response.ApiResponseUtils;
import com.makeit.dto.platform.alarm.PlatAlarmRecordQueryDTO; import com.makeit.dto.platform.alarm.PlatAlarmRecordQueryDTO;
import com.makeit.service.platform.alarm.PlatAlarmRecordService; import com.makeit.service.platform.alarm.PlatAlarmRecordService;
import com.makeit.utils.msg.dto.MsgDTO;
import com.makeit.utils.msg.sender.MailMsgSender;
import com.makeit.utils.user.wechat.WechatUserUtil; import com.makeit.utils.user.wechat.WechatUserUtil;
import com.makeit.vo.platform.alarm.PlatAlarmRecordVO; import com.makeit.vo.platform.alarm.PlatAlarmRecordVO;
import io.swagger.annotations.Api; import io.swagger.annotations.Api;
...@@ -20,8 +18,6 @@ import org.springframework.web.bind.annotation.RequestBody; ...@@ -20,8 +18,6 @@ import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController; import org.springframework.web.bind.annotation.RestController;
import java.util.Collections;
@Api(tags = "小程序-告警记录") @Api(tags = "小程序-告警记录")
@RestController @RestController
@RequestMapping("/wechat/plat/alarm-record") @RequestMapping("/wechat/plat/alarm-record")
...@@ -56,19 +52,5 @@ public class WechatPlatAlarmRecordController { ...@@ -56,19 +52,5 @@ public class WechatPlatAlarmRecordController {
platAlarmRecordService.noticeRelation(dto.getId()); platAlarmRecordService.noticeRelation(dto.getId());
return ApiResponseUtils.success(); return ApiResponseUtils.success();
} }
@Autowired
private MailMsgSender mailMsgSender;
@ApiOperation("测试消息")
@PostMapping("testMsg")
public ApiResponseEntity<Void> testMsg(@RequestBody BaseIdDTO dto) {
MsgDTO msgDTO = new MsgDTO();
msgDTO.setSubject("测试消息");
msgDTO.setReceiverList(Collections.singletonList("994997968@qq.com"));
msgDTO.setOriContent("测试发送邮箱");
mailMsgSender.send(msgDTO);
return ApiResponseUtils.success();
}
} }
...@@ -9,6 +9,7 @@ import lombok.EqualsAndHashCode; ...@@ -9,6 +9,7 @@ import lombok.EqualsAndHashCode;
import java.time.LocalDateTime; import java.time.LocalDateTime;
import java.util.Date; import java.util.Date;
import java.util.List;
/** /**
* <p> * <p>
...@@ -54,6 +55,9 @@ public class PlatAlarmRecordQueryDTO extends BaseTenantDTO { ...@@ -54,6 +55,9 @@ public class PlatAlarmRecordQueryDTO extends BaseTenantDTO {
//告警接收人id //告警接收人id
private String notifyUser; private String notifyUser;
//子女关联的老人id
private List<String> elderIdList;
} }
...@@ -16,6 +16,13 @@ public interface PlatAlarmRecordService extends IService<PlatAlarmRecord> { ...@@ -16,6 +16,13 @@ public interface PlatAlarmRecordService extends IService<PlatAlarmRecord> {
PageVO<PlatAlarmRecordVO> page(PageReqDTO<PlatAlarmRecordQueryDTO> dto); PageVO<PlatAlarmRecordVO> page(PageReqDTO<PlatAlarmRecordQueryDTO> dto);
/**
* 子女端告警列表
* @param dto
* @return
*/
PageVO<PlatAlarmRecordVO> childrenPage(PageReqDTO<PlatAlarmRecordQueryDTO> dto);
PlatAlarmRecordVO view(String recordId); PlatAlarmRecordVO view(String recordId);
void deal(String recordId); void deal(String recordId);
......
...@@ -9,25 +9,23 @@ import com.makeit.common.page.PageVO; ...@@ -9,25 +9,23 @@ import com.makeit.common.page.PageVO;
import com.makeit.dto.platform.alarm.PlatAlarmRecordQueryDTO; import com.makeit.dto.platform.alarm.PlatAlarmRecordQueryDTO;
import com.makeit.entity.platform.alarm.PlatAlarmConfig; import com.makeit.entity.platform.alarm.PlatAlarmConfig;
import com.makeit.entity.platform.alarm.PlatAlarmRecord; import com.makeit.entity.platform.alarm.PlatAlarmRecord;
import com.makeit.entity.platform.elder.PlatElder; import com.makeit.entity.platform.elder.PlatElderChildrenInfo;
import com.makeit.entity.platform.elder.PlatElderSocialRelation;
import com.makeit.entity.platform.space.PlatRoomBedDevice;
import com.makeit.enums.CodeMessageEnum;
import com.makeit.enums.CommonEnum; import com.makeit.enums.CommonEnum;
import com.makeit.exception.BusinessException; import com.makeit.exception.BusinessException;
import com.makeit.mapper.platform.alarm.PlatAlarmRecordMapper; import com.makeit.mapper.platform.alarm.PlatAlarmRecordMapper;
import com.makeit.service.platform.alarm.PlatAlarmConfigService; import com.makeit.service.platform.alarm.PlatAlarmConfigService;
import com.makeit.service.platform.alarm.PlatAlarmRecordService; import com.makeit.service.platform.alarm.PlatAlarmRecordService;
import com.makeit.service.platform.elder.PlatElderService; import com.makeit.service.platform.elder.PlatElderChildrenInfoService;
import com.makeit.service.platform.elder.PlatElderSocialRelationService;
import com.makeit.service.platform.space.PlatRoomBedDeviceService;
import com.makeit.utils.data.convert.BeanDtoVoUtils; import com.makeit.utils.data.convert.BeanDtoVoUtils;
import com.makeit.utils.data.convert.PageUtil; import com.makeit.utils.data.convert.PageUtil;
import com.makeit.utils.msg.MsgSendUtil; import com.makeit.utils.msg.MsgSendUtil;
import com.makeit.utils.msg.SendTypeEnum; import com.makeit.utils.msg.SendTypeEnum;
import com.makeit.utils.msg.dto.MsgSendDTO;
import com.makeit.utils.sql.join.JoinUtil; import com.makeit.utils.sql.join.JoinUtil;
import com.makeit.utils.user.common.CommonUserUtil; import com.makeit.utils.user.common.CommonUserUtil;
import com.makeit.utils.user.common.CommonUserVO; import com.makeit.utils.user.common.CommonUserVO;
import com.makeit.utils.user.wechat.WechatUserInfo;
import com.makeit.utils.user.wechat.WechatUserUtil;
import com.makeit.vo.platform.alarm.PlatAlarmRecordVO; import com.makeit.vo.platform.alarm.PlatAlarmRecordVO;
import org.apache.commons.collections4.CollectionUtils; import org.apache.commons.collections4.CollectionUtils;
import org.apache.commons.lang3.StringUtils; import org.apache.commons.lang3.StringUtils;
...@@ -36,12 +34,12 @@ import org.springframework.stereotype.Service; ...@@ -36,12 +34,12 @@ import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional; import org.springframework.transaction.annotation.Transactional;
import java.time.LocalDateTime; import java.time.LocalDateTime;
import java.util.ArrayList;
import java.util.Arrays; import java.util.Arrays;
import java.util.List; import java.util.List;
import java.util.Objects; import java.util.Objects;
import java.util.Set; import java.util.Set;
import java.util.stream.Collectors; import java.util.stream.Collectors;
import java.util.stream.Stream;
/** /**
* @author lixl * @author lixl
...@@ -53,12 +51,9 @@ public class PlatAlarmRecordServiceImpl extends ServiceImpl<PlatAlarmRecordMappe ...@@ -53,12 +51,9 @@ public class PlatAlarmRecordServiceImpl extends ServiceImpl<PlatAlarmRecordMappe
implements PlatAlarmRecordService { implements PlatAlarmRecordService {
@Autowired @Autowired
private PlatAlarmConfigService platAlarmConfigService; private PlatAlarmConfigService platAlarmConfigService;
@Autowired @Autowired
private PlatRoomBedDeviceService platRoomBedDeviceService; private PlatElderChildrenInfoService platElderChildrenInfoService;
@Autowired
private PlatElderService platElderService;
@Autowired
private PlatElderSocialRelationService platElderSocialRelationService;
@Autowired @Autowired
private MsgSendUtil msgUtil; private MsgSendUtil msgUtil;
...@@ -79,6 +74,25 @@ public class PlatAlarmRecordServiceImpl extends ServiceImpl<PlatAlarmRecordMappe ...@@ -79,6 +74,25 @@ public class PlatAlarmRecordServiceImpl extends ServiceImpl<PlatAlarmRecordMappe
return PageUtil.toPageVO(dtos, page); return PageUtil.toPageVO(dtos, page);
} }
/**
* 子女端告警列表
*
* @param dto
* @return
*/
@Override
public PageVO<PlatAlarmRecordVO> childrenPage(PageReqDTO<PlatAlarmRecordQueryDTO> dto) {
WechatUserInfo userVO = WechatUserUtil.getUserVO();
String elderId = userVO.getElderId();
if (StringUtils.isBlank(elderId)) {
return new PageVO<>();
}
String[] split = elderId.split(",");
PlatAlarmRecordQueryDTO data = dto.getData();
data.setElderIdList(Arrays.asList(split));
return page(dto);
}
private LambdaQueryWrapper<PlatAlarmRecord> getLambdaQueryWrapper(PlatAlarmRecordQueryDTO param) { private LambdaQueryWrapper<PlatAlarmRecord> getLambdaQueryWrapper(PlatAlarmRecordQueryDTO param) {
return new LambdaQueryWrapper<PlatAlarmRecord>().ge(Objects.nonNull(param.getCreateDateFrom()), BaseEntity::getCreateDate, param.getCreateDateFrom()) return new LambdaQueryWrapper<PlatAlarmRecord>().ge(Objects.nonNull(param.getCreateDateFrom()), BaseEntity::getCreateDate, param.getCreateDateFrom())
.le(Objects.nonNull(param.getCreateDateTo()), BaseEntity::getCreateDate, param.getCreateDateTo()) .le(Objects.nonNull(param.getCreateDateTo()), BaseEntity::getCreateDate, param.getCreateDateTo())
...@@ -89,6 +103,12 @@ public class PlatAlarmRecordServiceImpl extends ServiceImpl<PlatAlarmRecordMappe ...@@ -89,6 +103,12 @@ public class PlatAlarmRecordServiceImpl extends ServiceImpl<PlatAlarmRecordMappe
.le(Objects.nonNull(param.getDealDateTo()), PlatAlarmRecord::getDealDate, param.getDealDateTo()) .le(Objects.nonNull(param.getDealDateTo()), PlatAlarmRecord::getDealDate, param.getDealDateTo())
.eq(StringUtils.isNotBlank(param.getOrgId()), PlatAlarmRecord::getOrgId, param.getOrgId()) .eq(StringUtils.isNotBlank(param.getOrgId()), PlatAlarmRecord::getOrgId, param.getOrgId())
.apply(StringUtils.isNotBlank(param.getNotifyUser()), "find_in_set('" + param.getNotifyUser() + "',notify_user)") .apply(StringUtils.isNotBlank(param.getNotifyUser()), "find_in_set('" + param.getNotifyUser() + "',notify_user)")
.and(CollectionUtils.isNotEmpty(param.getElderIdList()), qw -> {
List<String> elderIdList = param.getElderIdList();
for (String elderId : elderIdList) {
qw.or().apply("find_in_set('" + elderId + "',elder_ids)");
}
})
.orderByDesc(BaseEntity::getCreateDate) .orderByDesc(BaseEntity::getCreateDate)
; ;
} }
...@@ -117,44 +137,52 @@ public class PlatAlarmRecordServiceImpl extends ServiceImpl<PlatAlarmRecordMappe ...@@ -117,44 +137,52 @@ public class PlatAlarmRecordServiceImpl extends ServiceImpl<PlatAlarmRecordMappe
@Override @Override
@Transactional @Transactional
public void noticeRelation(String recordId) { public void noticeRelation(String recordId) {
//todo
PlatAlarmRecord platAlarmRecord = this.getById(recordId); PlatAlarmRecord platAlarmRecord = this.getById(recordId);
PlatAlarmConfig platAlarmConfig = platAlarmConfigService.getById(platAlarmRecord.getAlarmId()); PlatAlarmConfig platAlarmConfig = platAlarmConfigService.getById(platAlarmRecord.getAlarmId());
String deviceId = platAlarmRecord.getDeviceId(); String elderIds = platAlarmRecord.getElderIds();
if (StringUtils.isBlank(elderIds)) {
LambdaQueryWrapper<PlatRoomBedDevice> roomBedDeviceLambdaQueryWrapper = new LambdaQueryWrapper<PlatRoomBedDevice>() throw new BusinessException("设备没绑定长者");
.eq(PlatRoomBedDevice::getDeviceId, deviceId).orderByDesc(BaseEntity::getUpdateDate);
PlatRoomBedDevice platRoomBedDevice = platRoomBedDeviceService.getOne(roomBedDeviceLambdaQueryWrapper, false);
//绑定房间的设备要通知 全部长者的家属
//绑定床位的设备要通知对应的长者的家属
if (platRoomBedDevice == null) {
throw new BusinessException(CodeMessageEnum.PLATFORM_ERROR_ALARM_NOT_FOUND_SPACE);
} }
String bedId = platRoomBedDevice.getBedId();
String roomId = platRoomBedDevice.getRoomId(); List<PlatElderChildrenInfo> allChildInfoList = new ArrayList<>();
LambdaQueryWrapper<PlatElder> elderLambdaQueryWrapper = new LambdaQueryWrapper<PlatElder>().eq(StringUtils.isNotBlank(bedId), PlatElder::getBedId, bedId) String[] elderIdSplit = elderIds.split(",");
.eq(PlatElder::getRoomId, roomId); //通知每个长者的子女
List<PlatElder> elderList = platElderService.list(elderLambdaQueryWrapper); for (String elderId : elderIdSplit) {
if (CollectionUtils.isEmpty(elderList)) { LambdaQueryWrapper<PlatElderChildrenInfo> childrenInfoLambdaQueryWrapper = new LambdaQueryWrapper<>();
throw new BusinessException(CodeMessageEnum.PLATFORM_ERROR_ALARM_NOT_FOUND_ELDER); childrenInfoLambdaQueryWrapper.and(qw -> {
qw.apply("find_in_set('" + elderId + "',elder_id)");
});
List<PlatElderChildrenInfo> childrenInfoList = platElderChildrenInfoService.list(childrenInfoLambdaQueryWrapper);
if (CollectionUtils.isEmpty(childrenInfoList)) {
log.debug("子女端账号未绑定长者");
continue;
} }
Set<String> elderIdSet = elderList.stream().map(BaseEntity::getId).collect(Collectors.toSet()); allChildInfoList.addAll(childrenInfoList);
List<PlatElderSocialRelation> relations = platElderSocialRelationService.list(new LambdaQueryWrapper<PlatElderSocialRelation>().in(PlatElderSocialRelation::getElderId, elderIdSet)); Set<String> phoneSet = childrenInfoList.stream().map(PlatElderChildrenInfo::getPhone).collect(Collectors.toSet());
Set<String> phoneList = relations.stream().map(PlatElderSocialRelation::getPhone).collect(Collectors.toSet());
String notifyChannel = platAlarmConfig.getNotifyChannel(); String notifyChannel = platAlarmConfig.getNotifyChannel();
String[] split = notifyChannel.split(","); String[] split = notifyChannel.split(",");
List<String> notifyChannelList = Arrays.asList(SendTypeEnum.SMS.getValue(), SendTypeEnum.VOICE_SMS.getValue(), SendTypeEnum.CHILD_WECHAT.getValue());
Set<String> sendTypeList = Stream.of(split).filter(vo -> notifyChannelList.contains(vo)).collect(Collectors.toSet());
for (String sendType : sendTypeList) { //告警配置和租户告警 字典一致
List<SendTypeEnum> notifyChannelList = Arrays.asList(SendTypeEnum.SMS, SendTypeEnum.VOICE_SMS, SendTypeEnum.CHILD_WECHAT);
for (String sendType : split) {
SendTypeEnum sendTypeEnum = SendTypeEnum.getByValue(sendType); SendTypeEnum sendTypeEnum = SendTypeEnum.getByValue(sendType);
msgUtil.send(sendTypeEnum, phoneList, platAlarmRecord.getContent()); boolean contains = notifyChannelList.contains(sendTypeEnum);
if (contains) {
MsgSendDTO msgSendDTO = new MsgSendDTO();
msgSendDTO.setSendTypeEnum(sendTypeEnum);
msgSendDTO.setReceiverList(phoneSet);
msgSendDTO.setOriContent(platAlarmRecord.getContent());
//todo 小程序消息
msgUtil.send(msgSendDTO);
} }
}
}
String childIdJoin = allChildInfoList.stream().map(BaseEntity::getId).collect(Collectors.joining(","));
//通知的子女
platAlarmConfig.setNotifyRelation(childIdJoin);
platAlarmRecord.setNoticeStatus(CommonEnum.YES.getValue()); platAlarmRecord.setNoticeStatus(CommonEnum.YES.getValue());
updateById(platAlarmRecord); updateById(platAlarmRecord);
} }
} }
package com.makeit.service.platform.auth;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.makeit.entity.platform.auth.PlatOrg;
import com.makeit.utils.data.convert.StreamUtil;
import com.makeit.utils.sql.join.JoinUtil;
import org.apache.commons.collections4.CollectionUtils;
import org.apache.commons.collections4.MapUtils;
import org.apache.commons.lang3.ObjectUtils;
import org.springframework.stereotype.Component;
import java.util.List;
import java.util.Map;
import java.util.function.BiConsumer;
import java.util.function.Function;
@Component
public class DeptUtil {
private static PlatUserService platUserService;
private static PlatOrgService platOrgService;
public static PlatOrg getById(String deptId) {
return platOrgService.getById(deptId);
}
public static List<PlatOrg> getHotelList() {
List<PlatOrg> deptList = platOrgService.list(new QueryWrapper<PlatOrg>().lambda()
//.eq(PlatOrg::getTag, DeptEnum.DeptTagEnum.HOTEL.getValue())
//.eq(TntDept::getStatus, CommonEnum.YES.getValue())
);
return deptList;
}
//涉及角色
// public static List<PlatOrg> getDeptList(String deptId) {//集团 品牌 酒店 部门 上级和下级
// PlatOrgQueryDTO tntDeptQueryDTO = new PlatOrgQueryDTO();
//
// tntDeptQueryDTO.setDeptId(deptId);
//
// return tntDeptService.list(tntDeptQueryDTO);
// }
//涉及角色
// public static List<PlatOrg> getDeptList(String deptId, String fromHotel) {//集团 品牌 酒店 部门 上级和下级
// PlatOrgQueryDTO tntDeptQueryDTO = new PlatOrgQueryDTO();
//
// tntDeptQueryDTO.setDeptId(deptId);
// tntDeptQueryDTO.setFromHotel(fromHotel);
//
// return tntDeptService.list(tntDeptQueryDTO);
// }
//涉及角色
// public static List<String> getDeptIdList(String deptId) {//集团 品牌 酒店 部门 上级和下级
// List<String> idList = StreamUtil.map(getDeptList(deptId), PlatOrg::getId);
// idList.add(-1 + "");
// return idList;
// }
//涉及角色
// public static List<String> getDeptCantTapIdList(String deptId, String fromHotel) { //集团 品牌 酒店 部门 上级和下级 可点击的
// List<String> idList = getDeptList(deptId, fromHotel).stream()//.filter(e -> CommonEnum.YES.getValue().equals(e.getCanTap()))
// .map(PlatOrg::getId).collect(Collectors.toList());
// idList.add(-1 + "");
// return idList;
// }
//涉及角色
// public static List<PlatOrg> getDeptSelfAndChildren(String deptId) {//集团 品牌 酒店 上级和下级
// return tntUserService.getDeptSelfAndChildren(deptId);
// }
//涉及角色
// public static List<String> getDeptSelfAndChildrenIdList(String deptId) {//集团 品牌 酒店 上级和下级
// List<String> idList = StreamUtil.map(tntUserService.getDeptSelfAndChildren(deptId), PlatOrg::getId);
// idList.add(-1 + "");
// return idList;
// }
//not ywc
// public static List<TntDept> getDeptSelfAndChildren(String deptName, List<TntDept> selfAndChildren) {
// return getDeptSelfAndChildrenByDeptNameList(Arrays.asList(deptName), selfAndChildren);
// }
// public static List<PlatOrg> getDeptSelfAndChildrenByDeptNameList(List<String> deptNames, Map<String, PlatOrg> selfAndChildren) {
// return tntUserService.getDeptSelfAndChildrenByDeptName(deptNames, selfAndChildren);
// }
//涉及角色
// public static List<PlatOrg> getDeptSelfAndChildrenCanTap(String deptId) {//集团 品牌 酒店 上级和下级 可点击的
// return tntUserService.getDeptSelfAndChildrenCanTap(deptId);
// }
//涉及角色
// public static List<String> getDeptSelfAndChildrenCanTapIdList(String deptId) {//集团 品牌 酒店 上级和下级 可点击的
// List<String> idList = StreamUtil.map(tntUserService.getDeptSelfAndChildrenCanTap(deptId), PlatOrg::getId);
// idList.add(-1 + "");
// return idList;
// }
// //涉及角色
// public static List<String> getDeptSelfAndChildrenCanTapIdListFilterName(String deptId, String name) {//集团 品牌 酒店 上级和下级 可点击的
// List<PlatOrg> deptList = tntUserService.getDeptSelfAndChildrenCanTap(deptId);
// PlatOrgQueryDTO queryDTO = new PlatOrgQueryDTO();
// queryDTO.setName(name);
// deptList = filter(deptList, queryDTO);
// List<String> idList = StreamUtil.map(deptList, PlatOrg::getId);
// idList.add(-1 + "");
// return idList;
// }
// //涉及角色
// public static List<PlatOrg> getHotelList(String deptId) {//酒店那一级
// // 也能点击?
//
// return tntUserService.getHotelList(deptId);
// }
// //涉及角色
// public static List<String> getHotelIdList(String deptId) {//酒店那一级
// // 也能点击?
//
// List<String> deptIdList = StreamUtil.map(tntUserService.getHotelList(deptId), PlatOrg::getId);
// deptIdList.add(-1 + "");
// return deptIdList;
// }
//不涉及角色
// public static List<PlatOrg> filter(List<PlatOrg> deptList, PlatOrgQueryDTO dto) {
// return tntDeptService.filter(deptList, dto);
// }
//
// //不涉及角色
// public static List<PlatOrg> findSelfAndAllParent(String deptId) {
// return tntDeptService.findSelfAndAllParent(deptId);
// }
//
// //不涉及角色
// public static Map<String, List<PlatOrg>> findSelfAndAllParent(List<String> deptIdList) {
// return tntDeptService.findSelfAndAllParent(deptIdList);
// }
//不涉及角色
public static List<String> findSelfAndAllChildrenIdList(String deptId) {
List<String> idList = StreamUtil.map(platOrgService.findSelfAndAllChildren(deptId), PlatOrg::getId);
idList.add(-1 + "");
return idList;
}
// public static PlatOrg getHotel(String deptId) {
// List<PlatOrg> deptList = DeptUtil.findSelfAndAllParent(deptId);
// PlatOrg hotel = null;
// for (PlatOrg d : deptList) {
//// if (DeptEnum.DeptTagEnum.HOTEL.getValue().equals(d.getTag())) {
//// hotel = d;
//// break;
//// }
// }
//
// return hotel;
// }
//不涉及角色
// public static <T> void fillDept(List<T> list, Function<T, String> getDeptId, BiConsumer<T, String> fillDeptName) {
// List<String> deptIdList = StreamUtil.map(list, getDeptId);
// deptIdList.add(-1 + "");
// Map<String, List<PlatOrg>> deptMap = DeptUtil.findSelfAndAllParent(deptIdList);
// list.forEach(e -> {
// MapUtil.setIfPresent(deptMap, getDeptId.apply(e), l -> {
// fillDeptName.accept(e, l.stream().map(PlatOrg::getName).collect(Collectors.joining("-")));
// });
// });
// }
public static <T> void join(List<T> list, Function<T, String> getNid, BiConsumer<T, PlatOrg> consumer) {
JoinUtil.join(list, platOrgService, null, getNid, PlatOrg::getId, consumer);
}
public static String getDeptName(List<String> applyDeptIds, Map<String, String> deptMap) {
if (CollectionUtils.isEmpty(applyDeptIds) || MapUtils.isEmpty(deptMap)) {
return "";
}
StringBuilder sb = new StringBuilder();
for (String applyDeptId : applyDeptIds) {
String dept = deptMap.get(applyDeptId);
if (ObjectUtils.isNotEmpty(dept)) {
sb.append(dept + ",");
}
}
if (sb.length() > 0) {
return sb.deleteCharAt(sb.length() - 1).toString();
}
return "";
}
// @Autowired
// public void setTntUserService(TntUserService tntUserService) {
// DeptUtil.tntUserService = tntUserService;
// }
//
// @Autowired
// public void setTntDeptService(TntDeptService tntDeptService) {
// DeptUtil.tntDeptService = tntDeptService;
// }
}
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or sign in to comment