From ca0e94cf4e187fa97e3017d5a0c8dea44d7301fa Mon Sep 17 00:00:00 2001 From: heqijun Date: Thu, 5 Jun 2025 12:31:38 +0800 Subject: [PATCH] =?UTF-8?q?=E9=80=9A=E7=94=A8=E6=8E=A5=E5=8F=A3=E8=BF=94?= =?UTF-8?q?=E5=9B=9E=EF=BC=8C=E6=8E=A5=E5=8F=A3=E5=8F=82=E6=95=B0=E6=A0=A1?= =?UTF-8?q?=E9=AA=8C=EF=BC=8C=E6=9E=84=E5=BB=BAStandardSubmit=E7=9F=AD?= =?UTF-8?q?=E4=BF=A1=E6=A0=87=E5=87=86=E6=8F=90=E4=BA=A4=E5=AF=B9=E8=B1=A1?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- beacon-api/pom.xml | 13 ++-- .../api/controller/SMSController.java | 10 ++- beacon-common/pom.xml | 24 +++++++ .../common/annotation/Description.java | 20 ++++++ .../common/annotation/validParam/NotNull.java | 12 ++++ .../common/enums/JsonResultCode.java | 25 +++++++ .../com/mashibing/common/pojo/JsonResult.java | 29 ++++++++ .../mashibing/common/pojo/StandardSubmit.java | 67 +++++++++++++++++++ .../common/utils/JsonResultUtil.java | 47 +++++++++++++ pom.xml | 1 + 10 files changed, 242 insertions(+), 6 deletions(-) create mode 100644 beacon-common/pom.xml create mode 100644 beacon-common/src/main/java/com/mashibing/common/annotation/Description.java create mode 100644 beacon-common/src/main/java/com/mashibing/common/annotation/validParam/NotNull.java create mode 100644 beacon-common/src/main/java/com/mashibing/common/enums/JsonResultCode.java create mode 100644 beacon-common/src/main/java/com/mashibing/common/pojo/JsonResult.java create mode 100644 beacon-common/src/main/java/com/mashibing/common/pojo/StandardSubmit.java create mode 100644 beacon-common/src/main/java/com/mashibing/common/utils/JsonResultUtil.java diff --git a/beacon-api/pom.xml b/beacon-api/pom.xml index 9b7ce1d..e19203c 100644 --- a/beacon-api/pom.xml +++ b/beacon-api/pom.xml @@ -48,11 +48,16 @@ spring-boot-starter-test + - javax.validation - validation-api - 2.0.1.Final - compile + org.springframework.boot + spring-boot-starter-validation + + + + com.mashibing + beacon-common + 1.0-SNAPSHOT diff --git a/beacon-api/src/main/java/com/mashibing/api/controller/SMSController.java b/beacon-api/src/main/java/com/mashibing/api/controller/SMSController.java index 4924beb..46a8e9b 100644 --- a/beacon-api/src/main/java/com/mashibing/api/controller/SMSController.java +++ b/beacon-api/src/main/java/com/mashibing/api/controller/SMSController.java @@ -2,10 +2,16 @@ package com.mashibing.api.controller; import com.mashibing.api.pojo.SingleSendRequest; import com.mashibing.api.service.sendCheck.SendCheckContext; +import com.mashibing.common.pojo.JsonResult; +import com.mashibing.common.utils.JsonResultUtil; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.cloud.context.config.annotation.RefreshScope; +import org.springframework.validation.BindingResult; +import org.springframework.validation.annotation.Validated; import org.springframework.web.bind.annotation.*; +import javax.validation.Valid; + /** * @author heqijun * @ClassName: SMSController @@ -22,8 +28,8 @@ public class SMSController { SendCheckContext sendCheckContext; @PostMapping("singleSend") - public String singleSend(@RequestBody SingleSendRequest request) { + public JsonResult singleSend(@RequestBody @Validated SingleSendRequest request) { sendCheckContext.check(request); - return "接口测试!!!"; + return JsonResultUtil.ok(); } } diff --git a/beacon-common/pom.xml b/beacon-common/pom.xml new file mode 100644 index 0000000..8676e7a --- /dev/null +++ b/beacon-common/pom.xml @@ -0,0 +1,24 @@ + + + 4.0.0 + + com.mashibing + beacon-cloud + 1.0-SNAPSHOT + + + beacon-common + + + + + + + org.projectlombok + lombok + + + + \ No newline at end of file diff --git a/beacon-common/src/main/java/com/mashibing/common/annotation/Description.java b/beacon-common/src/main/java/com/mashibing/common/annotation/Description.java new file mode 100644 index 0000000..87c7975 --- /dev/null +++ b/beacon-common/src/main/java/com/mashibing/common/annotation/Description.java @@ -0,0 +1,20 @@ +package com.mashibing.common.annotation; + +import java.lang.annotation.ElementType; +import java.lang.annotation.Retention; +import java.lang.annotation.RetentionPolicy; +import java.lang.annotation.Target; + +/** + * @author heqijun + * @ClassName: Description + * @Description: TODO(这里用一句话描述这个类的作用) + * @date 2025/6/4 20:42 + */ + + +@Target(ElementType.FIELD) +@Retention(RetentionPolicy.RUNTIME) +public @interface Description { + String value(); +} \ No newline at end of file diff --git a/beacon-common/src/main/java/com/mashibing/common/annotation/validParam/NotNull.java b/beacon-common/src/main/java/com/mashibing/common/annotation/validParam/NotNull.java new file mode 100644 index 0000000..6c88acd --- /dev/null +++ b/beacon-common/src/main/java/com/mashibing/common/annotation/validParam/NotNull.java @@ -0,0 +1,12 @@ +package com.mashibing.common.annotation.validParam; + +/** + * @author heqijun + * @ClassName: NotNull + * @Description: TODO(这里用一句话描述这个类的作用) + * @date 2025/6/5 11:46 + */ + + +public @interface NotNull { +} diff --git a/beacon-common/src/main/java/com/mashibing/common/enums/JsonResultCode.java b/beacon-common/src/main/java/com/mashibing/common/enums/JsonResultCode.java new file mode 100644 index 0000000..7a8ea98 --- /dev/null +++ b/beacon-common/src/main/java/com/mashibing/common/enums/JsonResultCode.java @@ -0,0 +1,25 @@ +package com.mashibing.common.enums; + +import lombok.*; + +/** + * @author heqijun + * @ClassName: JsonResultCodeEnum + * @Description: TODO(这里用一句话描述这个类的作用) + * @date 2025/6/5 11:57 + */ + +@Getter +@NoArgsConstructor +@AllArgsConstructor +public enum JsonResultCode { + //正常 + OK(200), + //参数校验异常 + PARAM_VALID_EXCEPTION(601), + //逻辑异常 + LOGIC_EXCEPTION(602), + ; + + private int code; +} diff --git a/beacon-common/src/main/java/com/mashibing/common/pojo/JsonResult.java b/beacon-common/src/main/java/com/mashibing/common/pojo/JsonResult.java new file mode 100644 index 0000000..18edbef --- /dev/null +++ b/beacon-common/src/main/java/com/mashibing/common/pojo/JsonResult.java @@ -0,0 +1,29 @@ +package com.mashibing.common.pojo; + +import lombok.AllArgsConstructor; +import lombok.Data; +import lombok.NoArgsConstructor; + +import java.util.Map; + +/** + * @author heqijun + * @ClassName: JsonResult + * @Description: JsonResult通用接口返回值 + * @date 2025/6/5 11:55 + */ + +@Data +@NoArgsConstructor +@AllArgsConstructor +public class JsonResult { + + private int code = 200; + + private String msg; + + private Object body; + + private Map properties; + +} diff --git a/beacon-common/src/main/java/com/mashibing/common/pojo/StandardSubmit.java b/beacon-common/src/main/java/com/mashibing/common/pojo/StandardSubmit.java new file mode 100644 index 0000000..63b2548 --- /dev/null +++ b/beacon-common/src/main/java/com/mashibing/common/pojo/StandardSubmit.java @@ -0,0 +1,67 @@ +package com.mashibing.common.pojo; + +import com.mashibing.common.annotation.Description; +import lombok.AllArgsConstructor; +import lombok.Data; +import lombok.NoArgsConstructor; + +import java.time.LocalDateTime; + +/** + * @author heqijun + * @ClassName: StandardSubmit + * @Description: 在接口模块-策略模块-短信网关模块需要做校验和封装的POJO类对象 + * @date 2025/6/4 20:33 + */ + +@Data +@NoArgsConstructor +@AllArgsConstructor +public class StandardSubmit { + + @Description("当前短信的唯一标识") + private Long sequenceId; + + @Description("客户端ID") + private Long clientId; + + @Description("客户端的ip白名单") + private String ip; + + @Description("客户业务内的uid") + private String uid; + + @Description("目标手机号") + private String mobile; + + @Description("短信内容的签名") + private String sign; + + @Description("短信内容") + private String text; + + @Description("短信的发送时间") + private LocalDateTime sendTime; + + @Description("当前短信的费用") + private Long fee; + + @Description("目标手机号的运营商") + private Integer operatorId; + + @Description("目标手机号的归属地区号 0451 0455") + private Integer areaCode; + + @Description("目标手机号的归属地 哈尔滨, 绥化~") + private String area; + + @Description("通道下发的源号码 106934985673485645") + private String srcNumber; + + @Description("通道的id信息") + private Long channelId; + + @Description("短信的发送状态, 0-等待ing,1-成功,2-失败") + private int reportState; + +} diff --git a/beacon-common/src/main/java/com/mashibing/common/utils/JsonResultUtil.java b/beacon-common/src/main/java/com/mashibing/common/utils/JsonResultUtil.java new file mode 100644 index 0000000..833b638 --- /dev/null +++ b/beacon-common/src/main/java/com/mashibing/common/utils/JsonResultUtil.java @@ -0,0 +1,47 @@ +package com.mashibing.common.utils; + +import com.mashibing.common.enums.JsonResultCode; +import com.mashibing.common.pojo.JsonResult; + +/** + * @author heqijun + * @ClassName: JsonResultUtil + * @Description: JsonResult工具类 + * @date 2025/6/5 12:19 + */ + +public class JsonResultUtil { + + public static JsonResult ok() { + JsonResult result = new JsonResult(); + result.setCode(JsonResultCode.OK.getCode()); + result.setMsg("OK"); + return result; + } + + public static JsonResult ok(String msg) { + JsonResult result = new JsonResult(); + result.setCode(JsonResultCode.OK.getCode()); + result.setMsg(msg); + return result; + } + + public static JsonResult ok(Object body) { + JsonResult result = ok(); + result.setBody(body); + return result; + } + + public static JsonResult ok(String msg, Object body) { + JsonResult result = ok(msg); + result.setBody(body); + return result; + } + + public static JsonResult error(int code, String msg) { + JsonResult result = new JsonResult(); + result.setCode(code); + result.setMsg(msg); + return result; + } +} diff --git a/pom.xml b/pom.xml index 200fe5f..ba078f7 100644 --- a/pom.xml +++ b/pom.xml @@ -10,6 +10,7 @@ pom beacon-api + beacon-common