通用接口返回,接口参数校验,构建StandardSubmit短信标准提交对象

main
heqijun 4 months ago
parent c3ad285992
commit ca0e94cf4e

@ -48,11 +48,16 @@
<artifactId>spring-boot-starter-test</artifactId> <artifactId>spring-boot-starter-test</artifactId>
</dependency> </dependency>
<!-- 参数校验 -->
<dependency> <dependency>
<groupId>javax.validation</groupId> <groupId>org.springframework.boot</groupId>
<artifactId>validation-api</artifactId> <artifactId>spring-boot-starter-validation</artifactId>
<version>2.0.1.Final</version> </dependency>
<scope>compile</scope>
<dependency>
<groupId>com.mashibing</groupId>
<artifactId>beacon-common</artifactId>
<version>1.0-SNAPSHOT</version>
</dependency> </dependency>
</dependencies> </dependencies>

@ -2,10 +2,16 @@ package com.mashibing.api.controller;
import com.mashibing.api.pojo.SingleSendRequest; import com.mashibing.api.pojo.SingleSendRequest;
import com.mashibing.api.service.sendCheck.SendCheckContext; 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.beans.factory.annotation.Autowired;
import org.springframework.cloud.context.config.annotation.RefreshScope; 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 org.springframework.web.bind.annotation.*;
import javax.validation.Valid;
/** /**
* @author heqijun * @author heqijun
* @ClassName: SMSController * @ClassName: SMSController
@ -22,8 +28,8 @@ public class SMSController {
SendCheckContext sendCheckContext; SendCheckContext sendCheckContext;
@PostMapping("singleSend") @PostMapping("singleSend")
public String singleSend(@RequestBody SingleSendRequest request) { public JsonResult singleSend(@RequestBody @Validated SingleSendRequest request) {
sendCheckContext.check(request); sendCheckContext.check(request);
return "接口测试!!!"; return JsonResultUtil.ok();
} }
} }

@ -0,0 +1,24 @@
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<parent>
<groupId>com.mashibing</groupId>
<artifactId>beacon-cloud</artifactId>
<version>1.0-SNAPSHOT</version>
</parent>
<artifactId>beacon-common</artifactId>
<properties>
</properties>
<dependencies>
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
</dependency>
</dependencies>
</project>

@ -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();
}

@ -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 {
}

@ -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;
}

@ -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<String, Object> properties;
}

@ -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-等待ing1-成功2-失败")
private int reportState;
}

@ -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;
}
}

@ -10,6 +10,7 @@
<packaging>pom</packaging> <packaging>pom</packaging>
<modules> <modules>
<module>beacon-api</module> <module>beacon-api</module>
<module>beacon-common</module>
</modules> </modules>

Loading…
Cancel
Save