diff --git a/beacon-api/pom.xml b/beacon-api/pom.xml index b362b89..9b7ce1d 100644 --- a/beacon-api/pom.xml +++ b/beacon-api/pom.xml @@ -47,6 +47,13 @@ org.springframework.boot spring-boot-starter-test + + + javax.validation + validation-api + 2.0.1.Final + compile + \ No newline at end of file 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 new file mode 100644 index 0000000..57e1e74 --- /dev/null +++ b/beacon-api/src/main/java/com/mashibing/api/controller/SMSController.java @@ -0,0 +1,25 @@ +package com.mashibing.api.controller; + +import com.mashibing.api.pojo.SingleSendRequest; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RequestParam; +import org.springframework.web.bind.annotation.RestController; + +/** + * @author heqijun + * @ClassName: SMSController + * @Description: SMSController + * @date 2025/6/4 18:58 + */ + +@RestController +@RequestMapping("sms") +public class SMSController { + + @PostMapping("singleSend") + public String singleSend(@RequestParam SingleSendRequest request) { + + return null; + } +} diff --git a/beacon-api/src/main/java/com/mashibing/api/pojo/SingleSendRequest.java b/beacon-api/src/main/java/com/mashibing/api/pojo/SingleSendRequest.java new file mode 100644 index 0000000..b0c1cb5 --- /dev/null +++ b/beacon-api/src/main/java/com/mashibing/api/pojo/SingleSendRequest.java @@ -0,0 +1,52 @@ +package com.mashibing.api.pojo; + +import lombok.Data; + +import javax.validation.constraints.Max; +import javax.validation.constraints.Min; +import javax.validation.constraints.NotBlank; +import javax.validation.constraints.NotNull; + +/** + * @author heqijun + * @ClassName: SingleSendRequest + * @Description: SingleSend接口入参 + * @date 2025/6/4 19:01 + */ + +@Data +public class SingleSendRequest { + + /** + * apikey + */ + @NotBlank(message = "apikey不能为空") + private String apikey; + + /** + * 目标手机号码 + */ + @NotBlank(message = "手机号码mobile不能为空") + private String mobile; + + /** + * 短信内容 + */ + @NotBlank(message = "短信内容text不能为空") + private String text; + + /** + * 业务系统内的id,回调时会带此参数 + */ + private String uid; + + /** + * 短信类型 0-验证码短信 1-通知类短信 2-营销类短信 + */ + @NotNull(message = "短信类型state不能为空") + @Min(value = 0, message = "短信类型state必须在0-2之间") + @Max(value = 2, message = "短信类型state必须在0-2之间") + private String state; + + +} diff --git a/beacon-api/src/main/java/com/mashibing/api/pojo/SingleSendResponse.java b/beacon-api/src/main/java/com/mashibing/api/pojo/SingleSendResponse.java new file mode 100644 index 0000000..ce8a499 --- /dev/null +++ b/beacon-api/src/main/java/com/mashibing/api/pojo/SingleSendResponse.java @@ -0,0 +1,46 @@ +package com.mashibing.api.pojo; + +import lombok.Data; + +/** + * @author heqijun + * @ClassName: SingleSendResponse + * @Description: SingleSend接口出参 + * @date 2025/6/4 19:01 + */ + +@Data +public class SingleSendResponse { + + /** + * 0代表接收成功,其他code代表出错 + */ + private Integer code; + + /** + * 例如“接收成功”,代表短信正在发送,或者是响应具体的错误信息 + */ + private String msg; + + /** + * 短信的计费条数(70个字一条,超出70个字,按照67个字一条发送) + */ + private Integer count; + + /** + * 扣费的金额,单位:厘 ,RMB + */ + private Long fee; + + /** + * 客户请求携带的uid信息 + */ + private String uid; + + /** + * 短信id,64位整型 + */ + private Long sid; + + +}