ycl-platform/src/main/java/com/ycl/common/util/DateUtil.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
ycl-platform/src/main/java/com/ycl/entity/caseHandler/DispatchInfo.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
ycl-platform/src/main/java/com/ycl/service/caseHandler/impl/ViolationsServiceImpl.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
ycl-platform/src/main/java/com/ycl/service/message/IMessageService.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
ycl-platform/src/main/java/com/ycl/service/message/impl/MessageServiceImpl.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
ycl-platform/src/main/java/com/ycl/timer/SendMsg.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 |
ycl-platform/src/main/java/com/ycl/common/util/DateUtil.java
@@ -15,10 +15,8 @@ /** * 获取两日期之间间隔的天数 * * @param smdate * 较小的时间 * @param bdate * 较大的时间 * @param smdate 较小的时间 * @param bdate 较大的时间 * @return 相差天数 */ public static int daysBetween(Date smdate, Date bdate) { @@ -202,19 +200,25 @@ result = result + hourStr; } if (min!=0){ if (day == 0) { result = result + minStr; } } if (second!=0){ if (day == 0 && hour == 0) { result = result + secondStr; } } return result; } public static Date fromLocalDateTime(LocalDateTime ldt){ ZoneId zoneId = ZoneId.systemDefault(); ZonedDateTime zdt = ldt.atZone(zoneId); Date date = Date.from(zdt.toInstant()); return date ; } public static void main(String[] args) throws ParseException { Calendar calendar = Calendar.getInstance(); ycl-platform/src/main/java/com/ycl/entity/caseHandler/DispatchInfo.java
@@ -4,6 +4,7 @@ import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableName; import com.fasterxml.jackson.annotation.JsonFormat; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import lombok.Data; @@ -106,6 +107,7 @@ * 创建时间 */ @TableField("create_time") @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") @ApiModelProperty(value = "创建时间") private Date createTime; ycl-platform/src/main/java/com/ycl/service/caseHandler/impl/ViolationsServiceImpl.java
@@ -1,6 +1,8 @@ package com.ycl.service.caseHandler.impl; import cn.hutool.core.bean.BeanUtil; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.toolkit.BeanUtils; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.ycl.common.util.UtilNumber; import com.ycl.dto.video.HKAlarmParam; @@ -124,6 +126,12 @@ imageResources.setBelongToId(baseCase.getId()); imageResources.setUrl(videoAlarmReport.getPicData()); imageResources.setCreateTime(LocalDateTime.now()); ImageResources imageResources1 = new ImageResources(); BeanUtil.copyProperties(imageResources,imageResources1); imageResources1.setType("01"); imageResourcesService.save(imageResources1); imageResourcesService.save(imageResources); } catch (Exception ex) { System.out.println("海康推送保存异常:" + ex.getMessage()); @@ -191,8 +199,13 @@ imageResources.setBelongToId(baseCase.getId()); imageResources.setUrl(imgs[i]); imageResources.setCreateTime(LocalDateTime.now()); imageResourcesService.save(imageResources); ImageResources imageResources1 = new ImageResources(); BeanUtil.copyProperties(imageResources,imageResources1); imageResources1.setType("01"); imageResourcesService.save(imageResources1); imageResourcesService.save(imageResources); } } catch (Exception ex) { ycl-platform/src/main/java/com/ycl/service/message/IMessageService.java
@@ -18,6 +18,7 @@ */ public interface IMessageService extends IService<Message> { void sendSMS(Message message); void sendMessage(Message message); Page<MessageVO> list(MessageParam messageParam); ycl-platform/src/main/java/com/ycl/service/message/impl/MessageServiceImpl.java
@@ -82,18 +82,37 @@ RestTemplate restTemplate; @Override @SneakyThrows @Transactional(rollbackFor = Exception.class) public void sendSMS(Message message) { Integer messageStatus = sendMessages(message); if (messageStatus == 2) { message.setStatus(2); message.setRespondResult("发送成功"); } if (messageStatus == 3) { message.setStatus(3); message.setRespondResult("发送失败"); } message.setUpdateTime(new Date()); message.setSendTime(new Date()); messageMapper.updateById(message); } @Override @Transactional(rollbackFor = Exception.class) public void sendMessage(Message message) { Message savedMessage = messageMapper.selectOne(new LambdaQueryWrapper<Message>() .eq(Message::getTargetTo, message.getTargetTo()) .eq(Message::getTargetFrom, message.getTargetFrom()) .eq(Message::getBody, message.getBody()) .eq(Message::getStatus, 1) .eq(Message::getHead, message.getHead())); if (savedMessage != null) { messageMapper.deleteById(savedMessage); } // Message savedMessage = messageMapper.selectOne(new LambdaQueryWrapper<Message>() // .eq(Message::getTargetTo, message.getTargetTo()) // .eq(Message::getTargetFrom, message.getTargetFrom()) // .eq(Message::getBody, message.getBody()) // .eq(Message::getStatus, 1) // .eq(Message::getHead, message.getHead())); // if (savedMessage != null) { // messageMapper.deleteById(savedMessage); // } ArrayList<Message> ids = new ArrayList<>(); message.setTargetFrom(umsAdminMapper.selectById(message.getCreateUser()).getUsername()); @@ -114,20 +133,20 @@ ids.add(sendMessage); } } switch (message.getChannelCode()) { //邮件发送 case ChannelCode.SMS: sendSMS(message, ids); break; //短信发送 case ChannelCode.MAIL: sendMail(message); break; case ChannelCode.INNER: break; default: throw new ApiException("未匹配到该类型"); } // switch (message.getChannelCode()) { // //短信发送 // case ChannelCode.SMS: // sendSMS(message, ids); // break; // //邮件发送 // case ChannelCode.MAIL: // sendMail(message); // break; // case ChannelCode.INNER: // break; // default: // throw new ApiException("未匹配到该类型"); // } } @SneakyThrows ycl-platform/src/main/java/com/ycl/timer/SendMsg.java
New file @@ -0,0 +1,36 @@ package com.ycl.timer; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.ycl.service.message.IMessageService; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Value; import org.springframework.scheduling.annotation.Scheduled; import org.springframework.stereotype.Component; import com.ycl.entity.message.Message; import java.util.List; @Slf4j @Component public class SendMsg { @Value("${spring.profiles.active}") private String env; @Autowired IMessageService messageService; @Scheduled(cron = "0 0/2 * * * ?") public void runAction() { if ("online".equals(env)) { List<Message> messages = messageService.list(new LambdaQueryWrapper<Message>() .eq(Message::getStatus, 0)); for (Message msg : messages) { messageService.sendSMS(msg); } } } }