From 8e83a93a86e7b9aa27ead5ea83f88ff9a17b7d11 Mon Sep 17 00:00:00 2001 From: jianjun Date: Fri, 24 Jul 2020 18:56:40 +0800 Subject: [PATCH] =?UTF-8?q?=E6=B7=BB=E5=8A=A0=E8=8E=B7=E5=8F=96=E6=B6=88?= =?UTF-8?q?=E6=81=AF=E7=BD=91=E5=85=B3=E4=BA=8B=E4=BB=B6=E7=B1=BB=E5=9E=8B?= =?UTF-8?q?=E6=8E=A5=E5=8F=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../tools/dto/form/mq/EventClassDto.java | 41 +++++++++++++ .../tools/dto/form/mq/MqBaseMsgDTO.java | 7 ++- .../{MqConfigDTO.java => MqBaseParamDTO.java} | 2 +- .../commons/tools/enums/MqMethodPathEnum.java | 2 +- .../commons/tools/utils/SendMqMsgUtils.java | 59 ++++++++++++++++--- .../com/epmet/controller/EventController.java | 17 ++---- 6 files changed, 106 insertions(+), 22 deletions(-) create mode 100644 epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/dto/form/mq/EventClassDto.java rename epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/dto/form/mq/{MqConfigDTO.java => MqBaseParamDTO.java} (83%) diff --git a/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/dto/form/mq/EventClassDto.java b/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/dto/form/mq/EventClassDto.java new file mode 100644 index 0000000000..fb82587822 --- /dev/null +++ b/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/dto/form/mq/EventClassDto.java @@ -0,0 +1,41 @@ +package com.epmet.commons.tools.dto.form.mq; + +import lombok.Data; + +import java.io.Serializable; + +/** + * desc:消息网关事件类型dto + * + * @author lyn + * @date 2020/7/24 18:30 + */ +@Data +public class EventClassDto implements Serializable { + private static final long serialVersionUID = 6923860669547819790L; + /** + * appId + */ + private String appId; + /** + * 事件类型Id + */ + private Integer id; + /** + * 事件标识 + */ + private String eventClass; + /** + * 事件名称 + */ + private String eventClassName; + /** + * 0''未删''1''已删 + */ + private Integer delFlag; + /** + * 事件计数 + */ + private Integer eventCount; + +} diff --git a/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/dto/form/mq/MqBaseMsgDTO.java b/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/dto/form/mq/MqBaseMsgDTO.java index 812d2e5baa..6e9318549e 100644 --- a/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/dto/form/mq/MqBaseMsgDTO.java +++ b/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/dto/form/mq/MqBaseMsgDTO.java @@ -3,6 +3,8 @@ package com.epmet.commons.tools.dto.form.mq; import lombok.Data; import org.springframework.stereotype.Component; +import javax.validation.constraints.NotBlank; + /** * 消息网关基础信息 * @@ -11,20 +13,23 @@ import org.springframework.stereotype.Component; **/ @Data @Component -public class MqBaseMsgDTO extends MqConfigDTO { +public class MqBaseMsgDTO extends MqBaseParamDTO { private static final long serialVersionUID = 8176470786428432009L; /** * mq的事件类型 */ + @NotBlank(message = "事件类型不能为空") private String eventClass; /** * 事件code */ + @NotBlank(message = "事件标识不能为空") private String eventTag; /** * 消息体 */ + @NotBlank(message = "消息体不能为空") private String msg; } diff --git a/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/dto/form/mq/MqConfigDTO.java b/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/dto/form/mq/MqBaseParamDTO.java similarity index 83% rename from epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/dto/form/mq/MqConfigDTO.java rename to epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/dto/form/mq/MqBaseParamDTO.java index 24a388f8ae..9ad8df6cf4 100644 --- a/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/dto/form/mq/MqConfigDTO.java +++ b/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/dto/form/mq/MqBaseParamDTO.java @@ -11,7 +11,7 @@ import java.io.Serializable; * @date 2020-07-21 14:33 **/ @Data -public class MqConfigDTO implements Serializable { +public class MqBaseParamDTO implements Serializable { private String appId; private String token; private String requestUrl; diff --git a/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/enums/MqMethodPathEnum.java b/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/enums/MqMethodPathEnum.java index d74e47dab6..866229d1d9 100644 --- a/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/enums/MqMethodPathEnum.java +++ b/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/enums/MqMethodPathEnum.java @@ -9,7 +9,7 @@ package com.epmet.commons.tools.enums; **/ public enum MqMethodPathEnum { SEND_MSG("producerService/producer/sendMsg", "发送消息"), - GET_EVENT_LIST("/eventClass/getList", "获取时间类型列表"), + GET_EVENT_LIST("eventClass/getList", "获取事件类型列表"), ; diff --git a/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/utils/SendMqMsgUtils.java b/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/utils/SendMqMsgUtils.java index 65fb179ca3..dede8d5706 100644 --- a/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/utils/SendMqMsgUtils.java +++ b/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/utils/SendMqMsgUtils.java @@ -4,14 +4,21 @@ import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSONObject; import com.epmet.commons.tools.config.MqConfig; import com.epmet.commons.tools.constant.NumConstant; +import com.epmet.commons.tools.dto.form.mq.EventClassDto; import com.epmet.commons.tools.dto.form.mq.MqBaseMsgDTO; import com.epmet.commons.tools.dto.form.mq.MqReturnBaseResult; import com.epmet.commons.tools.enums.MqMethodPathEnum; import com.epmet.commons.tools.exception.EpmetErrorCode; import com.epmet.commons.tools.exception.ValidateException; +import com.epmet.commons.tools.validator.ValidatorUtils; +import com.epmet.commons.tools.validator.group.DefaultGroup; import lombok.extern.slf4j.Slf4j; import org.springframework.stereotype.Component; +import java.util.HashMap; +import java.util.List; +import java.util.Map; + /** * 发送亿联云消息工具类 * @@ -21,7 +28,7 @@ import org.springframework.stereotype.Component; @Slf4j @Component public class SendMqMsgUtils { - private static MqConfig mqStaticConfig; + private static MqConfig mqConfig; /** * desc:发送mq消息 @@ -29,19 +36,19 @@ public class SendMqMsgUtils { * @return */ public static Result sendMsg(MqBaseMsgDTO msg) { - if (mqStaticConfig == null) { - mqStaticConfig = SpringContextUtils.getBean(MqConfig.class); + if (mqConfig == null) { + mqConfig = SpringContextUtils.getBean(MqConfig.class); } log.debug("sendMsg param:{}", JSON.toJSONString(msg)); try { // TODO - //ValidatorUtils.validateEntity(msg, null); + ValidatorUtils.validateEntity(msg, DefaultGroup.class); } catch (ValidateException e) { return new Result().error(e.getMsg()); } - msg.setAppId(mqStaticConfig.getAppId()); - msg.setRequestUrl(mqStaticConfig.getHost().concat(MqMethodPathEnum.SEND_MSG.getCode())); - msg.setToken(mqStaticConfig.getToken()); + msg.setAppId(mqConfig.getAppId()); + msg.setRequestUrl(mqConfig.getHost().concat(MqMethodPathEnum.SEND_MSG.getCode())); + msg.setToken(mqConfig.getToken()); try { Result result = HttpClientManager.getInstance().sendPostByHttps(msg.getRequestUrl(), JSON.toJSONString(msg)); log.debug("sendMsg result:{}", JSON.toJSONString(result)); @@ -66,4 +73,42 @@ public class SendMqMsgUtils { } + /** + * desc:发送mq消息 + * + * @return + */ + public static Result> getEventClassList() { + if (mqConfig == null) { + mqConfig = SpringContextUtils.getBean(MqConfig.class); + } + Map param = new HashMap<>(); + param.put("appId", mqConfig.getAppId()); + param.put("token", mqConfig.getToken()); + String requestUrl = mqConfig.getHost().concat(MqMethodPathEnum.GET_EVENT_LIST.getCode()); + + try { + Result result = HttpClientManager.getInstance().sendPostByHttps(requestUrl, JSON.toJSONString(param)); + log.debug("getEventClassList result:{}", JSON.toJSONString(result)); + if (result.success()) { + MqReturnBaseResult resultResult = JSON.parseObject(result.getData(), MqReturnBaseResult.class); + if (resultResult.getErrCode().equals(NumConstant.ZERO)) { + List eventClassDto = JSON.parseArray(resultResult.getData(), EventClassDto.class); + return new Result>().ok(eventClassDto); + } else { + log.error("sendMsg fail,resultData:{}", JSON.toJSONString(resultResult)); + return new Result>().error(EpmetErrorCode.SERVER_ERROR.getCode(), resultResult.getErrMsg()); + } + } + Result> resultResult = new Result<>(); + resultResult.error(result.getCode(), result.getMsg()); + resultResult.setInternalMsg(result.getInternalMsg()); + return resultResult; + } catch (Exception e) { + log.debug("sendMsg exception", e); + return new Result>().error(EpmetErrorCode.SERVER_ERROR.getCode(), EpmetErrorCode.SERVER_ERROR.getMsg()); + } + } + + } diff --git a/epmet-module/epmet-common-service/common-service-server/src/main/java/com/epmet/controller/EventController.java b/epmet-module/epmet-common-service/common-service-server/src/main/java/com/epmet/controller/EventController.java index 5fb6ca00bd..4c3212b878 100644 --- a/epmet-module/epmet-common-service/common-service-server/src/main/java/com/epmet/controller/EventController.java +++ b/epmet-module/epmet-common-service/common-service-server/src/main/java/com/epmet/controller/EventController.java @@ -17,19 +17,17 @@ package com.epmet.controller; -import com.alibaba.fastjson.JSON; import com.epmet.commons.tools.config.MqConfig; -import com.epmet.commons.tools.enums.MqMethodPathEnum; -import com.epmet.commons.tools.exception.EpmetErrorCode; import com.epmet.commons.tools.page.PageData; -import com.epmet.commons.tools.utils.HttpClientManager; import com.epmet.commons.tools.utils.Result; +import com.epmet.commons.tools.utils.SendMqMsgUtils; import com.epmet.commons.tools.validator.ValidatorUtils; import com.epmet.commons.tools.validator.group.AddGroup; import com.epmet.commons.tools.validator.group.UpdateGroup; import com.epmet.dto.form.EventFormDTO; import com.epmet.dto.result.EventDTO; import com.epmet.service.EventService; +import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.*; @@ -42,6 +40,7 @@ import java.util.Map; * @author generator generator@elink-cn.com * @since v1.0.0 2020-07-16 */ +@Slf4j @RestController @RequestMapping("event") public class EventController { @@ -57,14 +56,8 @@ public class EventController { return new Result>().ok(page); } @GetMapping("geteventclass") - public Result getEventClass(@RequestParam Map params){ - params.put("token", mqConfig.getToken()); - params.put("appId", mqConfig.getAppId()); - Result result = HttpClientManager.getInstance().sendPostByHttps(mqConfig.getHost().concat(MqMethodPathEnum.GET_EVENT_LIST.getCode()), JSON.toJSONString(params)); - if (result.success()){ - return new Result<>().ok(JSON.parseArray(result.getData())); - } - return new Result<>().error(EpmetErrorCode.SERVER_ERROR.getMsg()); + public Result getEventClass(){ + return SendMqMsgUtils.getEventClassList(); } /**