From f6547b02a488558cef69671ef472da30ddf4d9c4 Mon Sep 17 00:00:00 2001 From: chendaofei <857448963@qq.com> Date: Tue, 1 Jul 2025 13:39:42 +0800 Subject: [PATCH] =?UTF-8?q?=E9=85=8D=E7=BD=AE=E6=96=87=E4=BB=B6=E8=B0=83?= =?UTF-8?q?=E6=95=B4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../controller/EventGateController.java | 26 ++++++--- .../controller/MsgEventConfigController.java | 10 ++-- .../pojo/param/MsgEventConfigParam.java | 51 +++++++++++++++++ .../pojo/param/SimulationMsgParam.java | 21 +++++++ .../transientes/pojo/po/MsgEventConfig.java | 10 ++++ .../service/MsgEventConfigService.java | 9 +++ .../impl/MsgEventConfigServiceImpl.java | 57 +++++++++++++++++++ 7 files changed, 173 insertions(+), 11 deletions(-) create mode 100644 event_smart/src/main/java/com/njcn/gather/event/transientes/pojo/param/MsgEventConfigParam.java create mode 100644 event_smart/src/main/java/com/njcn/gather/event/transientes/pojo/param/SimulationMsgParam.java diff --git a/event_smart/src/main/java/com/njcn/gather/event/transientes/controller/EventGateController.java b/event_smart/src/main/java/com/njcn/gather/event/transientes/controller/EventGateController.java index a58041a7..4f70b6e3 100644 --- a/event_smart/src/main/java/com/njcn/gather/event/transientes/controller/EventGateController.java +++ b/event_smart/src/main/java/com/njcn/gather/event/transientes/controller/EventGateController.java @@ -13,13 +13,11 @@ import com.njcn.gather.event.devcie.pojo.po.PqLine; import com.njcn.gather.event.devcie.pojo.po.PqsDeptsline; import com.njcn.gather.event.devcie.service.PqsDeptslineService; import com.njcn.gather.event.transientes.pojo.param.MonitorTerminalParam; +import com.njcn.gather.event.transientes.pojo.param.SimulationMsgParam; import com.njcn.gather.event.transientes.pojo.po.PqsDepts; import com.njcn.gather.event.transientes.pojo.po.PqsUser; import com.njcn.gather.event.transientes.pojo.po.PqsUserSet; -import com.njcn.gather.event.transientes.service.EventGateService; -import com.njcn.gather.event.transientes.service.PqsDeptsService; -import com.njcn.gather.event.transientes.service.PqsUserService; -import com.njcn.gather.event.transientes.service.PqsUsersetService; +import com.njcn.gather.event.transientes.service.*; import com.njcn.gather.event.transientes.websocket.WebSocketServer; import com.njcn.web.controller.BaseController; import com.njcn.web.utils.HttpResultUtil; @@ -30,6 +28,7 @@ import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; import org.apache.poi.ss.formula.functions.T; import org.springframework.beans.factory.annotation.Value; +import org.springframework.validation.annotation.Validated; import org.springframework.web.bind.annotation.*; import java.math.BigDecimal; @@ -65,8 +64,11 @@ public class EventGateController extends BaseController { private final PqsUsersetService pqsUsersetService; private final PqLineMapper pqLineMapper; + private final EventGateService eventGateService; + private final MsgEventConfigService msgEventConfigService; + @OperateInfo @@ -79,10 +81,11 @@ public class EventGateController extends BaseController { JSONObject jsonObject; try { jsonObject = new JSONObject(msg); - webSocketServer.sendMessageToAll(msg); - + if(msgEventConfigService.getEventType().contains(jsonObject.get("wavetype").toString()) ){ + webSocketServer.sendMessageToAll(msg); + } //开始发送短信 - sendMessage(jsonObject); + // sendMessage(jsonObject); }catch (Exception e){ log.error("暂降json格式异常!{}",e.getMessage()); } @@ -100,6 +103,15 @@ public class EventGateController extends BaseController { } + @OperateInfo(info = LogEnum.BUSINESS_COMMON) + @PostMapping("/simulationSend") + @ApiOperation("模拟发送短信") + public HttpResult simulationSend(@RequestBody @Validated SimulationMsgParam param){ + String methodDescribe = getMethodDescribe("simulationSend"); + return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, null, methodDescribe); + } + + private void sendMessage(JSONObject jsonObject){ diff --git a/event_smart/src/main/java/com/njcn/gather/event/transientes/controller/MsgEventConfigController.java b/event_smart/src/main/java/com/njcn/gather/event/transientes/controller/MsgEventConfigController.java index c02fe1bf..9fdbc7d9 100644 --- a/event_smart/src/main/java/com/njcn/gather/event/transientes/controller/MsgEventConfigController.java +++ b/event_smart/src/main/java/com/njcn/gather/event/transientes/controller/MsgEventConfigController.java @@ -1,6 +1,7 @@ package com.njcn.gather.event.transientes.controller; import cn.hutool.core.util.IdUtil; +import cn.hutool.core.util.StrUtil; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.njcn.common.pojo.annotation.OperateInfo; import com.njcn.common.pojo.constant.OperateType; @@ -20,7 +21,10 @@ import org.springframework.transaction.annotation.Transactional; import org.springframework.validation.annotation.Validated; import org.springframework.web.bind.annotation.*; +import java.util.ArrayList; +import java.util.Arrays; import java.util.List; +import java.util.stream.Collectors; /** * @Author: cdf @@ -43,9 +47,7 @@ public class MsgEventConfigController extends BaseController { @Transactional(rollbackFor = Exception.class) public HttpResult eventConfig(@RequestBody @Validated MsgEventConfig msgEventConfig) { String methodDescribe = getMethodDescribe("eventConfig"); - msgEventConfigService.remove(new LambdaQueryWrapper<>()); - msgEventConfig.setId(IdUtil.simpleUUID()); - msgEventConfigService.save(msgEventConfig); + msgEventConfigService.eventConfig(msgEventConfig); return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, true, methodDescribe); } @@ -54,7 +56,7 @@ public class MsgEventConfigController extends BaseController { @ApiOperation("接收远程推送的暂态事件") public HttpResult queryConfig() { String methodDescribe = getMethodDescribe("queryConfig"); - MsgEventConfig msgEventConfig = msgEventConfigService.getOne(new LambdaQueryWrapper<>()); + MsgEventConfig msgEventConfig = msgEventConfigService.queryConfig(); return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, msgEventConfig, methodDescribe); } } diff --git a/event_smart/src/main/java/com/njcn/gather/event/transientes/pojo/param/MsgEventConfigParam.java b/event_smart/src/main/java/com/njcn/gather/event/transientes/pojo/param/MsgEventConfigParam.java new file mode 100644 index 00000000..bf8919af --- /dev/null +++ b/event_smart/src/main/java/com/njcn/gather/event/transientes/pojo/param/MsgEventConfigParam.java @@ -0,0 +1,51 @@ +package com.njcn.gather.event.transientes.pojo.param; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import lombok.Data; + +import javax.validation.constraints.NotBlank; +import javax.validation.constraints.NotNull; +import java.util.List; + +/** + * @Author: cdf + * @CreateTime: 2025-07-01 + * @Description: + */ +@Data +public class MsgEventConfigParam { + + + /** + * 主键ID + */ + private String id; + + /** + * 严重通知标识 + */ + @NotNull(message = "严重通知标识不可为空") + private Integer seriousNotice; + + /** + * 普通通知标识 + */ + @NotNull(message = "普通通知标识不可为空") + private Integer normalNotic; + + /** + * 语音类型 + */ + @NotNull(message = "语音类型不可为空") + private Integer voiceType; + + /** + * 屏幕通知标识 + */ + @NotNull(message = "屏幕通知标识不可为空") + private Integer screenNotic; + + @NotBlank(message = "事件类型不可为空") + private List eventTypeList; +} diff --git a/event_smart/src/main/java/com/njcn/gather/event/transientes/pojo/param/SimulationMsgParam.java b/event_smart/src/main/java/com/njcn/gather/event/transientes/pojo/param/SimulationMsgParam.java new file mode 100644 index 00000000..b9184d94 --- /dev/null +++ b/event_smart/src/main/java/com/njcn/gather/event/transientes/pojo/param/SimulationMsgParam.java @@ -0,0 +1,21 @@ +package com.njcn.gather.event.transientes.pojo.param; + +import lombok.Data; + +import javax.validation.constraints.NotBlank; + +/** + * @Author: cdf + * @CreateTime: 2025-07-01 + * @Description: + */ +@Data +public class SimulationMsgParam { + + @NotBlank(message = "号码不可为空") + private String phone; + + @NotBlank(message = "短信内容不可为空") + private String msg; + +} diff --git a/event_smart/src/main/java/com/njcn/gather/event/transientes/pojo/po/MsgEventConfig.java b/event_smart/src/main/java/com/njcn/gather/event/transientes/pojo/po/MsgEventConfig.java index faf4fc8a..2159e399 100644 --- a/event_smart/src/main/java/com/njcn/gather/event/transientes/pojo/po/MsgEventConfig.java +++ b/event_smart/src/main/java/com/njcn/gather/event/transientes/pojo/po/MsgEventConfig.java @@ -9,8 +9,12 @@ import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableName; import java.io.Serializable; +import java.util.List; + import lombok.Data; +import javax.validation.constraints.NotBlank; +import javax.validation.constraints.NotEmpty; import javax.validation.constraints.NotNull; /** @@ -54,4 +58,10 @@ public class MsgEventConfig implements Serializable { @TableField("SCREEN_NOTIC") @NotNull(message = "屏幕通知标识不可为空") private Integer screenNotic; + + private String eventType; + + @NotEmpty(message = "事件类型不可为空") + @TableField(exist = false) + private List eventTypeList; } diff --git a/event_smart/src/main/java/com/njcn/gather/event/transientes/service/MsgEventConfigService.java b/event_smart/src/main/java/com/njcn/gather/event/transientes/service/MsgEventConfigService.java index 9b5ef04c..58c56b7f 100644 --- a/event_smart/src/main/java/com/njcn/gather/event/transientes/service/MsgEventConfigService.java +++ b/event_smart/src/main/java/com/njcn/gather/event/transientes/service/MsgEventConfigService.java @@ -3,5 +3,14 @@ package com.njcn.gather.event.transientes.service; import com.baomidou.mybatisplus.extension.service.IService; import com.njcn.gather.event.transientes.pojo.po.MsgEventConfig; +import java.util.List; + public interface MsgEventConfigService extends IService { + + boolean eventConfig(MsgEventConfig msgEventConfig); + + + MsgEventConfig queryConfig(); + + List getEventType(); } diff --git a/event_smart/src/main/java/com/njcn/gather/event/transientes/service/impl/MsgEventConfigServiceImpl.java b/event_smart/src/main/java/com/njcn/gather/event/transientes/service/impl/MsgEventConfigServiceImpl.java index 363bd4db..55707855 100644 --- a/event_smart/src/main/java/com/njcn/gather/event/transientes/service/impl/MsgEventConfigServiceImpl.java +++ b/event_smart/src/main/java/com/njcn/gather/event/transientes/service/impl/MsgEventConfigServiceImpl.java @@ -1,10 +1,22 @@ package com.njcn.gather.event.transientes.service.impl; +import cn.hutool.core.util.IdUtil; +import cn.hutool.core.util.StrUtil; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.njcn.gather.event.transientes.mapper.MsgEventConfigMapper; import com.njcn.gather.event.transientes.pojo.po.MsgEventConfig; import com.njcn.gather.event.transientes.service.MsgEventConfigService; +import org.springframework.context.annotation.Lazy; import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; +import javax.annotation.PostConstruct; +import java.util.Arrays; +import java.util.Collections; +import java.util.List; +import java.util.stream.Collectors; +import java.util.stream.Stream; + /** * @Author: cdf @@ -12,6 +24,51 @@ import org.springframework.stereotype.Service; * @Description: */ @Service +@Lazy(false) // 确保服务在启动时立即初始化 public class MsgEventConfigServiceImpl extends ServiceImpl implements MsgEventConfigService { + public List eventType = Stream.of("1","3").collect(Collectors.toList()); + + + + @Transactional(rollbackFor = Exception.class) + @Override + public boolean eventConfig(MsgEventConfig msgEventConfig) { + this.remove(new LambdaQueryWrapper<>()); + msgEventConfig.setId(IdUtil.simpleUUID()); + String tem = String.join(", ", msgEventConfig.getEventTypeList()); + msgEventConfig.setEventType(tem); + this.save(msgEventConfig); + eventType = msgEventConfig.getEventTypeList(); + return true; + } + + @Override + public MsgEventConfig queryConfig() { + MsgEventConfig msgEventConfig = this.getOne(new LambdaQueryWrapper<>()); + msgEventConfig.setEventTypeList(Arrays.asList(msgEventConfig.getEventType().split(StrUtil.COMMA))); + return msgEventConfig; + } + + + @PostConstruct + public void init() { + System.out.println("------------------------------------------------------------------------------"); + MsgEventConfig config = this.getOne(new LambdaQueryWrapper<>()); + if (config != null && StrUtil.isNotBlank(config.getEventType())) { + eventType = Arrays.asList(config.getEventType().split(StrUtil.COMMA)); + } else { + eventType = Collections.emptyList(); + } + System.out.println(eventType); + } + + // 静态方法:全局访问点 + @Override + public List getEventType() { + return eventType; + } + + + }