commit 60ee08880c30fb27ca9d18f8a5448400e9f78be1 Author: DanielDeng Date: Tue Mar 19 01:24:31 2024 +0800 烽火云长椿街3.19 1:24 diff --git a/.idea/.gitignore b/.idea/.gitignore new file mode 100644 index 0000000..13566b8 --- /dev/null +++ b/.idea/.gitignore @@ -0,0 +1,8 @@ +# Default ignored files +/shelf/ +/workspace.xml +# Editor-based HTTP Client requests +/httpRequests/ +# Datasource local storage ignored files +/dataSources/ +/dataSources.local.xml diff --git a/.idea/compiler.xml b/.idea/compiler.xml new file mode 100644 index 0000000..b2ec7c1 --- /dev/null +++ b/.idea/compiler.xml @@ -0,0 +1,24 @@ + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/encodings.xml b/.idea/encodings.xml new file mode 100644 index 0000000..dd7525e --- /dev/null +++ b/.idea/encodings.xml @@ -0,0 +1,11 @@ + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/inspectionProfiles/profiles_settings.xml b/.idea/inspectionProfiles/profiles_settings.xml new file mode 100644 index 0000000..0eefe32 --- /dev/null +++ b/.idea/inspectionProfiles/profiles_settings.xml @@ -0,0 +1,5 @@ + + + + \ No newline at end of file diff --git a/.idea/jarRepositories.xml b/.idea/jarRepositories.xml new file mode 100644 index 0000000..5a2f139 --- /dev/null +++ b/.idea/jarRepositories.xml @@ -0,0 +1,20 @@ + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/misc.xml b/.idea/misc.xml new file mode 100644 index 0000000..132404b --- /dev/null +++ b/.idea/misc.xml @@ -0,0 +1,14 @@ + + + + + + + + + + \ No newline at end of file diff --git a/.idea/vcs.xml b/.idea/vcs.xml new file mode 100644 index 0000000..94a25f7 --- /dev/null +++ b/.idea/vcs.xml @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/beacon-api/pom.xml b/beacon-api/pom.xml new file mode 100644 index 0000000..f28c790 --- /dev/null +++ b/beacon-api/pom.xml @@ -0,0 +1,65 @@ + + + 4.0.0 + + com.mashibing + beacon-cloud + 1.0-SNAPSHOT + + + beacon-api + + + + + org.springframework.boot + spring-boot-starter-web + + + + com.alibaba.cloud + spring-cloud-starter-alibaba-nacos-discovery + + + + com.alibaba.cloud + spring-cloud-starter-alibaba-nacos-config + + + + org.springframework.cloud + spring-cloud-starter-openfeign + + + + org.springframework.boot + spring-boot-starter-amqp + + + org.projectlombok + lombok + + + + org.springframework.boot + spring-boot-starter-test + + + + + org.springframework.boot + spring-boot-starter-validation + + + + + com.mashibing + beacon-common + 1.0-SNAPSHOT + + + + + \ No newline at end of file diff --git a/beacon-api/src/main/java/com/mashibing/ApiStarterApp.java b/beacon-api/src/main/java/com/mashibing/ApiStarterApp.java new file mode 100644 index 0000000..6f4263a --- /dev/null +++ b/beacon-api/src/main/java/com/mashibing/ApiStarterApp.java @@ -0,0 +1,18 @@ +package com.mashibing; + +import org.springframework.boot.SpringApplication; +import org.springframework.boot.autoconfigure.SpringBootApplication; +import org.springframework.cloud.client.discovery.EnableDiscoveryClient; + +/** + * @author dch + * @create 2024-03-18 22:27 + */ +@SpringBootApplication +@EnableDiscoveryClient +public class ApiStarterApp { + + public static void main(String[] args) { + SpringApplication.run(ApiStarterApp.class,args); + } +} \ No newline at end of file diff --git a/beacon-api/src/main/java/com/mashibing/api/controller/ApiTestController.java b/beacon-api/src/main/java/com/mashibing/api/controller/ApiTestController.java new file mode 100644 index 0000000..0e90f3a --- /dev/null +++ b/beacon-api/src/main/java/com/mashibing/api/controller/ApiTestController.java @@ -0,0 +1,22 @@ +package com.mashibing.api.controller; + +import com.mashibing.api.filter.CheckFilterContext; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Controller; +import org.springframework.web.bind.annotation.GetMapping; + +/** + * @author dch + * @create 2024-03-18 23:38 + */ +@Controller +public class ApiTestController { + @Autowired + private CheckFilterContext checkFilterContext; + + @GetMapping("/api/test") + public void test(){ + System.out.println("===================================="); + checkFilterContext.check(new Object()); + } +} 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..3574e5f --- /dev/null +++ b/beacon-api/src/main/java/com/mashibing/api/controller/SmsController.java @@ -0,0 +1,35 @@ +package com.mashibing.api.controller; + +import com.mashibing.api.enums.SmsCodeEnum; +import com.mashibing.api.form.SingleSendForm; +import com.mashibing.api.util.R; +import com.mashibing.api.vo.ResultVO; +import lombok.extern.slf4j.Slf4j; +import org.springframework.validation.BindingResult; +import org.springframework.validation.annotation.Validated; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.RequestBody; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +/** + * @author dch + * @create 2024-03-18 23:40 + */ +@RestController +@RequestMapping("/sms") +@Slf4j +public class SmsController { + + + @PostMapping(value = "/single_send",produces = "application/json;charset=utf-8") + public ResultVO singleSend(@RequestBody @Validated SingleSendForm singleSendForm, BindingResult bindingResult){ + //1. 校验参数 + if (bindingResult.hasErrors()){ + String msg = bindingResult.getFieldError().getDefaultMessage(); + log.info("【接口模块-单条短信Controller】 参数不合法 msg = {}",msg); + return R.error(SmsCodeEnum.PARAMETER_ERROR.getCode(),msg); + } + //封装校验,构建submitcommon;发给mq,交给策略模块处理 + return R.ok(); } +} \ No newline at end of file diff --git a/beacon-api/src/main/java/com/mashibing/api/enums/SmsCodeEnum.java b/beacon-api/src/main/java/com/mashibing/api/enums/SmsCodeEnum.java new file mode 100644 index 0000000..1d427df --- /dev/null +++ b/beacon-api/src/main/java/com/mashibing/api/enums/SmsCodeEnum.java @@ -0,0 +1,21 @@ +package com.mashibing.api.enums; + +import lombok.Getter; + +/** + * @author dch + * @create 2024-03-19 0:24 + * * 一些响应信息中code和msg的对应 + */ +@Getter +public enum SmsCodeEnum { + PARAMETER_ERROR(-10, "参数不合法!"); + + private Integer code; + private String msg; + + SmsCodeEnum(Integer code, String msg) { + this.code = code; + this.msg = msg; + } +} diff --git a/beacon-api/src/main/java/com/mashibing/api/filter/CheckFilter.java b/beacon-api/src/main/java/com/mashibing/api/filter/CheckFilter.java new file mode 100644 index 0000000..08ea1ca --- /dev/null +++ b/beacon-api/src/main/java/com/mashibing/api/filter/CheckFilter.java @@ -0,0 +1,10 @@ +package com.mashibing.api.filter; + +/** + * @author dch + * @create 2024-03-18 23:18 + */ +public interface CheckFilter { + + void check(Object obj); +} diff --git a/beacon-api/src/main/java/com/mashibing/api/filter/CheckFilterContext.java b/beacon-api/src/main/java/com/mashibing/api/filter/CheckFilterContext.java new file mode 100644 index 0000000..daf2bdf --- /dev/null +++ b/beacon-api/src/main/java/com/mashibing/api/filter/CheckFilterContext.java @@ -0,0 +1,39 @@ +package com.mashibing.api.filter; + +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.beans.factory.annotation.Value; +import org.springframework.cloud.context.config.annotation.RefreshScope; +import org.springframework.stereotype.Component; + +import java.util.Map; + +/** + * @author dch + * @create 2024-03-18 23:25 + */ +@Component +@RefreshScope +public class CheckFilterContext { + // Spring的IOC会将对象全部都放到Map集合中 + // 基于4.x中Spring提供的反省注解,基于Map只拿到需要的类型对象即可 + @Autowired + private Map checkFiltersMap; + + // 基于Nacos获取到执行的顺序和需要执行的校验对象 + //不为空拿nacos的filters,为空去取后边的 + @Value("${filters:apikey,ip,sign,template}") + private String filters; + + /** + * 当前check方法用于管理校验链的顺序 + */ + public void check(Object obj){ + //1. 将获取到filters基于,做切分 + String[] filterArray = filters.split(","); + //2. 遍历数组即可 + for (String filter : filterArray) { + CheckFilter checkFilter = checkFiltersMap.get(filter); + checkFilter.check(obj); + } + } +} diff --git a/beacon-api/src/main/java/com/mashibing/api/filter/impl/ApiKeyCheckFilter.java b/beacon-api/src/main/java/com/mashibing/api/filter/impl/ApiKeyCheckFilter.java new file mode 100644 index 0000000..e74bb20 --- /dev/null +++ b/beacon-api/src/main/java/com/mashibing/api/filter/impl/ApiKeyCheckFilter.java @@ -0,0 +1,22 @@ +package com.mashibing.api.filter.impl; + +import com.mashibing.api.filter.CheckFilter; +import lombok.extern.slf4j.Slf4j; +import org.springframework.stereotype.Service; + +/** + * @author dch + * @create 2024-03-18 23:19/** + * * @author zjw + * * @description 校验客户的apikey是否合法 + * */ + +@Service(value = "apikey") +@Slf4j +public class ApiKeyCheckFilter implements CheckFilter { + + @Override + public void check(Object obj) { + log.info("【接口模块-校验apikey】 校验ing…………"); + } +} diff --git a/beacon-api/src/main/java/com/mashibing/api/filter/impl/FeeCheckFilter.java b/beacon-api/src/main/java/com/mashibing/api/filter/impl/FeeCheckFilter.java new file mode 100644 index 0000000..7daa8d6 --- /dev/null +++ b/beacon-api/src/main/java/com/mashibing/api/filter/impl/FeeCheckFilter.java @@ -0,0 +1,21 @@ +package com.mashibing.api.filter.impl; + +import com.mashibing.api.filter.CheckFilter; +import lombok.extern.slf4j.Slf4j; +import org.springframework.stereotype.Service; + +/** + * @author dch + * @create 2024-03-18 23:24 + * 校验客户剩余的金额是否充足 + */ +@Service(value = "fee") +@Slf4j +public class FeeCheckFilter implements CheckFilter { + + + @Override + public void check(Object obj) { + log.info("【接口模块-校验客户余额】 校验ing…………"); + } +} \ No newline at end of file diff --git a/beacon-api/src/main/java/com/mashibing/api/filter/impl/IPCheckFilter.java b/beacon-api/src/main/java/com/mashibing/api/filter/impl/IPCheckFilter.java new file mode 100644 index 0000000..9c5b821 --- /dev/null +++ b/beacon-api/src/main/java/com/mashibing/api/filter/impl/IPCheckFilter.java @@ -0,0 +1,19 @@ +package com.mashibing.api.filter.impl; + +import com.mashibing.api.filter.CheckFilter; +import lombok.extern.slf4j.Slf4j; +import org.springframework.stereotype.Service; + +/** + * @author dch + * @create 2024-03-18 23:21 + * 校验请求的ip地址是否是白名单 + */ +@Service(value = "ip") +@Slf4j +public class IPCheckFilter implements CheckFilter { + @Override + public void check(Object obj) { + log.info("【接口模块-校验ip】 校验ing…………"); + } +} diff --git a/beacon-api/src/main/java/com/mashibing/api/filter/impl/MobileCheckFilter.java b/beacon-api/src/main/java/com/mashibing/api/filter/impl/MobileCheckFilter.java new file mode 100644 index 0000000..9a1a96f --- /dev/null +++ b/beacon-api/src/main/java/com/mashibing/api/filter/impl/MobileCheckFilter.java @@ -0,0 +1,21 @@ +package com.mashibing.api.filter.impl; + +import com.mashibing.api.filter.CheckFilter; +import lombok.extern.slf4j.Slf4j; +import org.springframework.stereotype.Service; + +/** + * @author dch + * @create 2024-03-18 23:23 + * 校验手机号的格式合法性 + */ +@Service(value = "mobile") +@Slf4j +public class MobileCheckFilter implements CheckFilter { + + + @Override + public void check(Object obj) { + log.info("【接口模块-校验手机号】 校验ing…………"); + } +} \ No newline at end of file diff --git a/beacon-api/src/main/java/com/mashibing/api/filter/impl/SignCheckFilter.java b/beacon-api/src/main/java/com/mashibing/api/filter/impl/SignCheckFilter.java new file mode 100644 index 0000000..2a8636f --- /dev/null +++ b/beacon-api/src/main/java/com/mashibing/api/filter/impl/SignCheckFilter.java @@ -0,0 +1,21 @@ +package com.mashibing.api.filter.impl; + +import com.mashibing.api.filter.CheckFilter; +import lombok.extern.slf4j.Slf4j; +import org.springframework.stereotype.Service; + +/** + * @author dch + * @create 2024-03-18 23:22 + * 校验短信的签名 + */ +@Service(value = "sign") +@Slf4j +public class SignCheckFilter implements CheckFilter { + + + @Override + public void check(Object obj) { + log.info("【接口模块-校验签名】 校验ing…………"); + } +} \ No newline at end of file diff --git a/beacon-api/src/main/java/com/mashibing/api/filter/impl/TemplateCheckFilter.java b/beacon-api/src/main/java/com/mashibing/api/filter/impl/TemplateCheckFilter.java new file mode 100644 index 0000000..23cbab7 --- /dev/null +++ b/beacon-api/src/main/java/com/mashibing/api/filter/impl/TemplateCheckFilter.java @@ -0,0 +1,21 @@ +package com.mashibing.api.filter.impl; + +import com.mashibing.api.filter.CheckFilter; +import lombok.extern.slf4j.Slf4j; +import org.springframework.stereotype.Service; + +/** + * @author dch + * @create 2024-03-18 23:22 + * 校验短信的模板 + */ +@Service(value = "template") +@Slf4j +public class TemplateCheckFilter implements CheckFilter { + + + @Override + public void check(Object obj) { + log.info("【接口模块-校验模板】 校验ing…………"); + } +} \ No newline at end of file diff --git a/beacon-api/src/main/java/com/mashibing/api/form/SingleSendForm.java b/beacon-api/src/main/java/com/mashibing/api/form/SingleSendForm.java new file mode 100644 index 0000000..e50f8b9 --- /dev/null +++ b/beacon-api/src/main/java/com/mashibing/api/form/SingleSendForm.java @@ -0,0 +1,52 @@ +package com.mashibing.api.form; + +/** + * @author dch + * @create 2024-03-19 0:07 + */ + +import lombok.Data; +import org.hibernate.validator.constraints.Range; + +import javax.validation.constraints.NotBlank; +import javax.validation.constraints.NotNull; + + +/** + * @author zjw + * @description + */ +@Data +public class SingleSendForm { + + /** + * 客户的apikey + */ + @NotBlank(message = "apikey不允许为空") + private String apikey; + + /** + * 手机号 + */ + @NotBlank(message = "手机号不允许为空") + private String mobile; + + /** + * 短信内容 + */ + @NotBlank(message = "短信内容不允许为空") + private String text; + + /** + * 客户业务内的uid + */ + private String uid; + + /** + * 0-验证码短信 1-通知类短信 2-营销类短信 + */ + @Range(min = 0, max = 2, message = "只能是0-2的整数") + @NotNull(message = "短信类型不允许为空") + private Integer state; + +} \ No newline at end of file diff --git a/beacon-api/src/main/java/com/mashibing/api/util/R.java b/beacon-api/src/main/java/com/mashibing/api/util/R.java new file mode 100644 index 0000000..189df3e --- /dev/null +++ b/beacon-api/src/main/java/com/mashibing/api/util/R.java @@ -0,0 +1,25 @@ +package com.mashibing.api.util; + +import com.mashibing.api.vo.ResultVO; + +/** + * @author dch + * @create 2024-03-19 0:10 + */ +public class R { + + public static ResultVO ok(){ + ResultVO r = new ResultVO(); + r.setCode(0); + r.setMsg("接收成功"); + return r; + } + + public static ResultVO error(Integer code, String msg){ + ResultVO r = new ResultVO(); + r.setCode(code); + r.setMsg(msg); + return r; + } + +} diff --git a/beacon-api/src/main/java/com/mashibing/api/vo/ResultVO.java b/beacon-api/src/main/java/com/mashibing/api/vo/ResultVO.java new file mode 100644 index 0000000..f245e7f --- /dev/null +++ b/beacon-api/src/main/java/com/mashibing/api/vo/ResultVO.java @@ -0,0 +1,28 @@ +package com.mashibing.api.vo; + +/** + * @author dch + * @create 2024-03-19 0:09 + */ + +import lombok.Data; + +/** + * @author zjw + * @description + */ +@Data +public class ResultVO { + + private Integer code; + + private String msg; + + private Integer count; + + private Long fee; + + private String uid; + + private String sid; +} \ No newline at end of file diff --git a/beacon-api/src/main/resources/bootstrap.yml b/beacon-api/src/main/resources/bootstrap.yml new file mode 100644 index 0000000..6ace046 --- /dev/null +++ b/beacon-api/src/main/resources/bootstrap.yml @@ -0,0 +1,29 @@ +## 端口号 +#server: +# port: 8080 + +# 服务名称 +spring: + application: + name: beacon-api + # 多环境 + profiles: + active: dev + # nacos注册中心地址 + cloud: + nacos: + discovery: + server-addr: 192.168.43.132:8848 + # nacos配置中心地址: + config: + server-addr: 192.168.43.132:8848 + file-extension: yml + # beacon-api-dev.yml + +# # rabbitMQ连接信息 +# rabbitmq: +# host: 192.168.43.132 +# port: 5672 +# username: root +# password: 19970213Dch. +# virtual-host: / \ No newline at end of file diff --git a/beacon-api/src/test/java/com/mashibing/api/filter/CheckFilterContextTest.java b/beacon-api/src/test/java/com/mashibing/api/filter/CheckFilterContextTest.java new file mode 100644 index 0000000..cbbef5c --- /dev/null +++ b/beacon-api/src/test/java/com/mashibing/api/filter/CheckFilterContextTest.java @@ -0,0 +1,27 @@ +package com.mashibing.api.filter; + +import org.junit.Test; +import org.junit.runner.RunWith; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.boot.test.context.SpringBootTest; +import org.springframework.test.context.junit4.SpringRunner; + +import static org.junit.Assert.*; + +/** + * @author dch + * @create 2024-03-18 23:33 + */ +@SpringBootTest +@RunWith(SpringRunner.class) +public class CheckFilterContextTest { + + @Autowired + private CheckFilterContext checkFilterContext; + + @org.junit.Test + public void check() { + Object obj = new Object(); + checkFilterContext.check(obj); + } +} \ No newline at end of file diff --git a/beacon-api/target/classes/bootstrap.yml b/beacon-api/target/classes/bootstrap.yml new file mode 100644 index 0000000..6ace046 --- /dev/null +++ b/beacon-api/target/classes/bootstrap.yml @@ -0,0 +1,29 @@ +## 端口号 +#server: +# port: 8080 + +# 服务名称 +spring: + application: + name: beacon-api + # 多环境 + profiles: + active: dev + # nacos注册中心地址 + cloud: + nacos: + discovery: + server-addr: 192.168.43.132:8848 + # nacos配置中心地址: + config: + server-addr: 192.168.43.132:8848 + file-extension: yml + # beacon-api-dev.yml + +# # rabbitMQ连接信息 +# rabbitmq: +# host: 192.168.43.132 +# port: 5672 +# username: root +# password: 19970213Dch. +# virtual-host: / \ No newline at end of file diff --git a/beacon-api/target/classes/com/mashibing/ApiStarterApp.class b/beacon-api/target/classes/com/mashibing/ApiStarterApp.class new file mode 100644 index 0000000..f2f367e Binary files /dev/null and b/beacon-api/target/classes/com/mashibing/ApiStarterApp.class differ diff --git a/beacon-api/target/classes/com/mashibing/api/controller/ApiTestController.class b/beacon-api/target/classes/com/mashibing/api/controller/ApiTestController.class new file mode 100644 index 0000000..c550456 Binary files /dev/null and b/beacon-api/target/classes/com/mashibing/api/controller/ApiTestController.class differ diff --git a/beacon-api/target/classes/com/mashibing/api/controller/SmsController.class b/beacon-api/target/classes/com/mashibing/api/controller/SmsController.class new file mode 100644 index 0000000..510420a Binary files /dev/null and b/beacon-api/target/classes/com/mashibing/api/controller/SmsController.class differ diff --git a/beacon-api/target/classes/com/mashibing/api/enums/SmsCodeEnum.class b/beacon-api/target/classes/com/mashibing/api/enums/SmsCodeEnum.class new file mode 100644 index 0000000..9488cc7 Binary files /dev/null and b/beacon-api/target/classes/com/mashibing/api/enums/SmsCodeEnum.class differ diff --git a/beacon-api/target/classes/com/mashibing/api/filter/CheckFilter.class b/beacon-api/target/classes/com/mashibing/api/filter/CheckFilter.class new file mode 100644 index 0000000..339d714 Binary files /dev/null and b/beacon-api/target/classes/com/mashibing/api/filter/CheckFilter.class differ diff --git a/beacon-api/target/classes/com/mashibing/api/filter/CheckFilterContext.class b/beacon-api/target/classes/com/mashibing/api/filter/CheckFilterContext.class new file mode 100644 index 0000000..d6d6e0d Binary files /dev/null and b/beacon-api/target/classes/com/mashibing/api/filter/CheckFilterContext.class differ diff --git a/beacon-api/target/classes/com/mashibing/api/filter/impl/ApiKeyCheckFilter.class b/beacon-api/target/classes/com/mashibing/api/filter/impl/ApiKeyCheckFilter.class new file mode 100644 index 0000000..cfcdf74 Binary files /dev/null and b/beacon-api/target/classes/com/mashibing/api/filter/impl/ApiKeyCheckFilter.class differ diff --git a/beacon-api/target/classes/com/mashibing/api/filter/impl/FeeCheckFilter.class b/beacon-api/target/classes/com/mashibing/api/filter/impl/FeeCheckFilter.class new file mode 100644 index 0000000..8646feb Binary files /dev/null and b/beacon-api/target/classes/com/mashibing/api/filter/impl/FeeCheckFilter.class differ diff --git a/beacon-api/target/classes/com/mashibing/api/filter/impl/IPCheckFilter.class b/beacon-api/target/classes/com/mashibing/api/filter/impl/IPCheckFilter.class new file mode 100644 index 0000000..0b5b7ab Binary files /dev/null and b/beacon-api/target/classes/com/mashibing/api/filter/impl/IPCheckFilter.class differ diff --git a/beacon-api/target/classes/com/mashibing/api/filter/impl/MobileCheckFilter.class b/beacon-api/target/classes/com/mashibing/api/filter/impl/MobileCheckFilter.class new file mode 100644 index 0000000..894991d Binary files /dev/null and b/beacon-api/target/classes/com/mashibing/api/filter/impl/MobileCheckFilter.class differ diff --git a/beacon-api/target/classes/com/mashibing/api/filter/impl/SignCheckFilter.class b/beacon-api/target/classes/com/mashibing/api/filter/impl/SignCheckFilter.class new file mode 100644 index 0000000..6726798 Binary files /dev/null and b/beacon-api/target/classes/com/mashibing/api/filter/impl/SignCheckFilter.class differ diff --git a/beacon-api/target/classes/com/mashibing/api/filter/impl/TemplateCheckFilter.class b/beacon-api/target/classes/com/mashibing/api/filter/impl/TemplateCheckFilter.class new file mode 100644 index 0000000..9a79574 Binary files /dev/null and b/beacon-api/target/classes/com/mashibing/api/filter/impl/TemplateCheckFilter.class differ diff --git a/beacon-api/target/classes/com/mashibing/api/form/SingleSendForm.class b/beacon-api/target/classes/com/mashibing/api/form/SingleSendForm.class new file mode 100644 index 0000000..06f375e Binary files /dev/null and b/beacon-api/target/classes/com/mashibing/api/form/SingleSendForm.class differ diff --git a/beacon-api/target/classes/com/mashibing/api/util/R.class b/beacon-api/target/classes/com/mashibing/api/util/R.class new file mode 100644 index 0000000..300bbe2 Binary files /dev/null and b/beacon-api/target/classes/com/mashibing/api/util/R.class differ diff --git a/beacon-api/target/classes/com/mashibing/api/vo/ResultVO.class b/beacon-api/target/classes/com/mashibing/api/vo/ResultVO.class new file mode 100644 index 0000000..575fc00 Binary files /dev/null and b/beacon-api/target/classes/com/mashibing/api/vo/ResultVO.class differ diff --git a/beacon-api/target/test-classes/com/mashibing/api/filter/CheckFilterContextTest.class b/beacon-api/target/test-classes/com/mashibing/api/filter/CheckFilterContextTest.class new file mode 100644 index 0000000..eb444b1 Binary files /dev/null and b/beacon-api/target/test-classes/com/mashibing/api/filter/CheckFilterContextTest.class differ diff --git a/beacon-common/pom.xml b/beacon-common/pom.xml new file mode 100644 index 0000000..866ad0a --- /dev/null +++ b/beacon-common/pom.xml @@ -0,0 +1,26 @@ + + + 4.0.0 + + com.mashibing + beacon-cloud + 1.0-SNAPSHOT + + + beacon-common + + + 8 + 8 + UTF-8 + + + + org.projectlombok + lombok + + + + \ No newline at end of file diff --git a/beacon-common/src/main/java/com/mashibing/common/model/StandardSubmit.java b/beacon-common/src/main/java/com/mashibing/common/model/StandardSubmit.java new file mode 100644 index 0000000..c359111 --- /dev/null +++ b/beacon-common/src/main/java/com/mashibing/common/model/StandardSubmit.java @@ -0,0 +1,98 @@ +package com.mashibing.common.model; + +import lombok.AllArgsConstructor; +import lombok.Data; +import lombok.NoArgsConstructor; + +import java.time.LocalDateTime; + +/** + * 在接口模块-策略模块-短信网关模块需要做校验和封装的POJO类对象 + * + * @author zjw + * @description + */ +@Data +@NoArgsConstructor +@AllArgsConstructor +public class StandardSubmit { + + /** + * 针对当前短信的唯一标识,雪花算法 + */ + private Long sequenceId; + + /** + * 客户端ID,基于apikey查询缓存模块得到客户的id + */ + private Long clientId; + + /** + * 客户端的ip白名单,查询缓存 + */ + private String ip; + + /** + * 客户业务内的uid,客户请求参数传递 + */ + private String uid; + + /** + * 目标手机号,客户请求参数传递 + */ + private String mobile; + + /** + * 短信内容的签名,短信内容的签名,客户请求参数传递,只需要在短信内容基于中括号获取 + */ + private String sign; + + /** + * 短信内容,客户请求参数传递 + */ + private String text; + + /** + * 短信的发送时间,当前系统时间 + */ + private LocalDateTime sendTime; + + /** + * 当前短信的费用,计算短信内容的文字,70个字一条,超出部分67个字一条 + */ + private Long fee; + + /** + * 目标手机号的运营商(策略模块) + */ + private Integer operatorId; + + + /** + * 目标手机号的归属地区号(策略模块) 0451 0455 + */ + private Integer areaCode; + + /** + * 目标手机号的归属地(策略模块) 哈尔滨, 绥化~ + */ + private String area; + + /** + * 通道下发的源号码(策略模块) 106934985673485645 + */ + private String srcNumber; + + /** + * 通道的id信息(策略模块) + */ + private Long channelId; + + /** + * 短信的发送状态, 0-等待ing,1-成功,2-失败 默认情况是0,等运营商返回 + */ + private int reportState; + + // 后续再做封装~~~~ + +} \ No newline at end of file diff --git a/pom.xml b/pom.xml new file mode 100644 index 0000000..b02576f --- /dev/null +++ b/pom.xml @@ -0,0 +1,45 @@ + + + 4.0.0 + + + org.springframework.boot + spring-boot-starter-parent + 2.3.12.RELEASE + + + com.mashibing + beacon-cloud + 1.0-SNAPSHOT + pom + + + beacon-api + beacon-common + + + + Hoxton.SR12 + 2.2.6.RELEASE + + + + + org.springframework.cloud + spring-cloud-dependencies + ${spring.cloud-version} + pom + import + + + com.alibaba.cloud + spring-cloud-alibaba-dependencies + ${spring.cloud.alibaba-version} + pom + import + + + + +