From 60ee08880c30fb27ca9d18f8a5448400e9f78be1 Mon Sep 17 00:00:00 2001 From: DanielDeng Date: Tue, 19 Mar 2024 01:24:31 +0800 Subject: [PATCH] =?UTF-8?q?=E7=83=BD=E7=81=AB=E4=BA=91=E9=95=BF=E6=A4=BF?= =?UTF-8?q?=E8=A1=973.19=201:24?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .idea/.gitignore | 8 ++ .idea/compiler.xml | 24 +++++ .idea/encodings.xml | 11 ++ .../inspectionProfiles/profiles_settings.xml | 5 + .idea/jarRepositories.xml | 20 ++++ .idea/misc.xml | 14 +++ .idea/vcs.xml | 6 ++ beacon-api/pom.xml | 65 ++++++++++++ .../java/com/mashibing/ApiStarterApp.java | 18 ++++ .../api/controller/ApiTestController.java | 22 ++++ .../api/controller/SmsController.java | 35 +++++++ .../com/mashibing/api/enums/SmsCodeEnum.java | 21 ++++ .../com/mashibing/api/filter/CheckFilter.java | 10 ++ .../api/filter/CheckFilterContext.java | 39 +++++++ .../api/filter/impl/ApiKeyCheckFilter.java | 22 ++++ .../api/filter/impl/FeeCheckFilter.java | 21 ++++ .../api/filter/impl/IPCheckFilter.java | 19 ++++ .../api/filter/impl/MobileCheckFilter.java | 21 ++++ .../api/filter/impl/SignCheckFilter.java | 21 ++++ .../api/filter/impl/TemplateCheckFilter.java | 21 ++++ .../mashibing/api/form/SingleSendForm.java | 52 ++++++++++ .../main/java/com/mashibing/api/util/R.java | 25 +++++ .../java/com/mashibing/api/vo/ResultVO.java | 28 +++++ beacon-api/src/main/resources/bootstrap.yml | 29 ++++++ .../api/filter/CheckFilterContextTest.java | 27 +++++ beacon-api/target/classes/bootstrap.yml | 29 ++++++ .../classes/com/mashibing/ApiStarterApp.class | Bin 0 -> 794 bytes .../api/controller/ApiTestController.class | Bin 0 -> 1031 bytes .../api/controller/SmsController.class | Bin 0 -> 2233 bytes .../com/mashibing/api/enums/SmsCodeEnum.class | Bin 0 -> 1570 bytes .../mashibing/api/filter/CheckFilter.class | Bin 0 -> 204 bytes .../api/filter/CheckFilterContext.class | Bin 0 -> 1516 bytes .../api/filter/impl/ApiKeyCheckFilter.class | Bin 0 -> 973 bytes .../api/filter/impl/FeeCheckFilter.class | Bin 0 -> 967 bytes .../api/filter/impl/IPCheckFilter.class | Bin 0 -> 953 bytes .../api/filter/impl/MobileCheckFilter.class | Bin 0 -> 976 bytes .../api/filter/impl/SignCheckFilter.class | Bin 0 -> 965 bytes .../api/filter/impl/TemplateCheckFilter.class | Bin 0 -> 981 bytes .../mashibing/api/form/SingleSendForm.class | Bin 0 -> 3824 bytes .../classes/com/mashibing/api/util/R.class | Bin 0 -> 938 bytes .../com/mashibing/api/vo/ResultVO.class | Bin 0 -> 3686 bytes .../api/filter/CheckFilterContextTest.class | Bin 0 -> 939 bytes beacon-common/pom.xml | 26 +++++ .../common/model/StandardSubmit.java | 98 ++++++++++++++++++ pom.xml | 45 ++++++++ 45 files changed, 782 insertions(+) create mode 100644 .idea/.gitignore create mode 100644 .idea/compiler.xml create mode 100644 .idea/encodings.xml create mode 100644 .idea/inspectionProfiles/profiles_settings.xml create mode 100644 .idea/jarRepositories.xml create mode 100644 .idea/misc.xml create mode 100644 .idea/vcs.xml create mode 100644 beacon-api/pom.xml create mode 100644 beacon-api/src/main/java/com/mashibing/ApiStarterApp.java create mode 100644 beacon-api/src/main/java/com/mashibing/api/controller/ApiTestController.java create mode 100644 beacon-api/src/main/java/com/mashibing/api/controller/SmsController.java create mode 100644 beacon-api/src/main/java/com/mashibing/api/enums/SmsCodeEnum.java create mode 100644 beacon-api/src/main/java/com/mashibing/api/filter/CheckFilter.java create mode 100644 beacon-api/src/main/java/com/mashibing/api/filter/CheckFilterContext.java create mode 100644 beacon-api/src/main/java/com/mashibing/api/filter/impl/ApiKeyCheckFilter.java create mode 100644 beacon-api/src/main/java/com/mashibing/api/filter/impl/FeeCheckFilter.java create mode 100644 beacon-api/src/main/java/com/mashibing/api/filter/impl/IPCheckFilter.java create mode 100644 beacon-api/src/main/java/com/mashibing/api/filter/impl/MobileCheckFilter.java create mode 100644 beacon-api/src/main/java/com/mashibing/api/filter/impl/SignCheckFilter.java create mode 100644 beacon-api/src/main/java/com/mashibing/api/filter/impl/TemplateCheckFilter.java create mode 100644 beacon-api/src/main/java/com/mashibing/api/form/SingleSendForm.java create mode 100644 beacon-api/src/main/java/com/mashibing/api/util/R.java create mode 100644 beacon-api/src/main/java/com/mashibing/api/vo/ResultVO.java create mode 100644 beacon-api/src/main/resources/bootstrap.yml create mode 100644 beacon-api/src/test/java/com/mashibing/api/filter/CheckFilterContextTest.java create mode 100644 beacon-api/target/classes/bootstrap.yml create mode 100644 beacon-api/target/classes/com/mashibing/ApiStarterApp.class create mode 100644 beacon-api/target/classes/com/mashibing/api/controller/ApiTestController.class create mode 100644 beacon-api/target/classes/com/mashibing/api/controller/SmsController.class create mode 100644 beacon-api/target/classes/com/mashibing/api/enums/SmsCodeEnum.class create mode 100644 beacon-api/target/classes/com/mashibing/api/filter/CheckFilter.class create mode 100644 beacon-api/target/classes/com/mashibing/api/filter/CheckFilterContext.class create mode 100644 beacon-api/target/classes/com/mashibing/api/filter/impl/ApiKeyCheckFilter.class create mode 100644 beacon-api/target/classes/com/mashibing/api/filter/impl/FeeCheckFilter.class create mode 100644 beacon-api/target/classes/com/mashibing/api/filter/impl/IPCheckFilter.class create mode 100644 beacon-api/target/classes/com/mashibing/api/filter/impl/MobileCheckFilter.class create mode 100644 beacon-api/target/classes/com/mashibing/api/filter/impl/SignCheckFilter.class create mode 100644 beacon-api/target/classes/com/mashibing/api/filter/impl/TemplateCheckFilter.class create mode 100644 beacon-api/target/classes/com/mashibing/api/form/SingleSendForm.class create mode 100644 beacon-api/target/classes/com/mashibing/api/util/R.class create mode 100644 beacon-api/target/classes/com/mashibing/api/vo/ResultVO.class create mode 100644 beacon-api/target/test-classes/com/mashibing/api/filter/CheckFilterContextTest.class create mode 100644 beacon-common/pom.xml create mode 100644 beacon-common/src/main/java/com/mashibing/common/model/StandardSubmit.java create mode 100644 pom.xml 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 0000000000000000000000000000000000000000..f2f367e0e4dfacdcf65e6611207c6f24a4c41ad6 GIT binary patch literal 794 zcmaJYx15PeS5CS6k6rcfxQNWG;w;7irZqDpCi)AAvL!hw_5aTAwaJMwx9{47o& z4*URq6k_ZaHAsOy%xLD#yqS64pTEBU0C0>)37Xh#;a-CK*lXbd!`c&Vv_EB7=^c$3 znnOEL44auY>SbN#%DokNL78r5r6|V2=@4Hhn|`J%hJ#Gnl9!^I>0FyBAI$a03+I&^ z%;zbQmO>kb-QN4`LR<=72r3$RN404jD%_N4c9y^lTQ8KK*~x3+M5&093X_qoom9_t zTRFbXmi@EbQ~(ntUR literal 0 HcmV?d00001 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 0000000000000000000000000000000000000000..c550456c618417ff76029a80c99e8053e841743e GIT binary patch literal 1031 zcma)5YflqF6g^W)m(~>!1jILr%0n1G@WI4KLP#_wRg91(#!u7j6b5#8n%ODH&(au7 zH1P-cql{;_1kqMwlg`cDx#!$-AN&2smu~>pAZw`LN)=aeZ3NeAxPhBhj9@Ontr~7) zKENG;iD*|x`_D}5wcD_%*YCZ+NvNUBqST<>~&Xq;}5w({7d z#y=GpT3Bodls9Zk3yjrGs$X@Jrgqzk*;qr}Mk;P7XY%`rv+Q>b(?1wcO2j&yjbrWP zddF<*%;%N&JWN~m^a!jC6n?0il09ji)%;xhm#WiYfkY1 z{s(|zd=bYXyxNM_@VYk)$8ipC#Gv5K7L2swExa8=5~FbrV{x3vJKpea6ytGBU^0pe z0%5}{33NWtB?OP6{-S>Zb0Vr%hjfP9QRA6{Nu7DczJamGXkL=d}fc zJ9N%#MozPJZ@se_aTj$*U~npLmDRH5Eb0roSyHtXUCmpjYg>jPZ8ckVCaWukj5{6_SFxmws9$mk^ zeefB*2y<3HDHP##^s)4g@;o9(rY$D22{ZhyOdf32H^ z-aXd+)z?u>E11D-6mtqbLPkLr^HF@PAcs#Be2UKm1`hs`qqwBtGCmh*uf3t!g(aDH z*%JI#bHLXs5L?uolxjx$(^SbZS18xsu9cW-|h38g!w3j!Zqubb>bCxhsi_rYnP{e|$fJimMwcgEUF+ z8U)hy>HOzem(LC(PwulJYgwR&K=#Mn-H?y%r8ceQUCX}4>R>{_2a6=sGE z>zPCkzmJFb`4o88dq0%Il=;RuKEsvDS#WL|_zmJ$3LzZj*z9k1p_8%_7@!NsxDq&y z6NvcEH+fiudx^n^2nl?TUJ7A>2Z+qvLsLg{;vu48+(XL)#1fl`Z)~DmXMl RqVVE$P#WUw@fpN=dA}I zi~k3T2yu&N{|@Eq&7<+Xc8~#yX_Mdf_V0Ud`tA3JF961ID+mea6r9He867e%Drm+y zZxgJ!#M|WnS`=Kt)c~$3^qyqll#J^FEsM!aaz3?`$~;VEG7A}jp>)1nN|dz9s*y9y zLPC3NBy_V{swA?d%4~T>PtjviK+4lypf$awt!s&*My7M7trv8Ql-^RMAP{lsvbIIh zNF@(0C)0ORS%KmE4W{z1YsIQw5r{@(jrvGjD&b2Trhcbd%IVgUmMfA(t_53oByctQ zZ+)=_ONyk+d9AptSq4XSLQAGrq70#V-CixPENT`#ZQY{6{Zoc%*wX@&N93Gym9a;m zOXM&YTPDu!RfD1_gWQn8dbXzeqin4hrdAXPW{rZW*;R`wiMq4>KeSxX?K)-c(U>dy zo)=*ti+OHq+W~{WjSWoYiw;U}l&ih$3d2J))eyJSG$Ts3T($E0ZG#&Ya?RZs51Wd1 zp7ahC)3_lp(7?Q^=*EnSJ|tCy5mC{KHW@crJWF%>ZV` zhW86_+9A*poja;cGw12kZl-?*X{M8_r<;cn*G>Wrgu0kMdixQ?ah!laC%yXV)$#4++&D$cC(!$Z zO^IQ6Yr!7S=_6GnKGL%de|&Tca=cU8Lf{Qa>p>#~3B-*1XEJ)i$e7? Q!)@SO9nUDnNajJ}55pu`R5QhJaBu6wFZ=j%YjZSGs#V}(=e>qDo5@(X|a0(CLp^S~nXmg$sWHe+nncH@gdUL=Hi_J8$2cdEdPEy*KmwU%$Knu!h|lYVfBp zg}amZpoV++&?#$me1vrmAJ^ew!^0;YHU*}GfeKC@>d>krJ&-Xi`^WOB^hZ{QJ`HVw zsgCYP(vA`(@Y&hfty~Rd)b~3!(NVv>ADE#(l<7cssroY3elLUf_g-z)-X`ws<56Vw zP#x-2cSE%sMaD|2O_U03?3<+Tr?G?VC32{qndHRpDjB7IPX^W`r@s8x!QUNO^Gqk| zh_GJ19YJRP8=b(~|3f~M;Ybm+^3?qZ+?@Nmz~5wQC+f7N<5o(7T2>9?P+IkkKy^z; z+HMO>EG``il=sXLU8nbTq#liiU6p((nXn7c1Ts97iFSHnEZc!*@T(Uha?eCoePvyM zStSLUi(^@T-aS@lIvc2OvRABksN~Xk6 z#-7H?-!sG5L@ILhJUDl85Sr1EALJxD+0$&nZ=FgaNqS*#%9BM1DFy015 z6_(Dg%$f7fLiZK@=g0m3X``{i7ACyUtEI+!r^JUuaJ-ahuVI?93I>_!WR3sMR;Rqo z?@Ed$mkY-#$7`JODFtO^`Dch9GQU}l4h6)y&asg%z*~5mns7uC#5w;)IZ3&*{3A*; z6F;GR(0a7`V!b@EUTIdE7VcsW8~oqKd=|my*;PcPGU%I%%z-rJh)_yNYp z%9V-4XpB2`;bY+s@MlOM@lP1PX$g`N7bbV^nRDix?>ny_zrTG4u!w~WQn;8#0+$An zAHozar*I{MY0RW>HHB*eanDo*MoK2AI-yrttUD!Bt*T&2Ai1o49o?o+VRl1cplCLg zK(3^Hb+6SZtKgw5d$cgvmEML7wABxc15r(f0yj&pX*dlT)^u6>RYx|pQ_)_e0!KHR zp0m=_cT}fXQ|{Jk*G%4oYgK`((xn%@0aV!jh1X8aZ|2a)?<$X!*^9wGn)@& zARCG#%wTZY^$zODteaNgDiSg4@nh5r7EoYvt>s6$p*D1=SgxQ zhdv@U690;U82&n#WzrK6}u!c+oA)F5*hzsLL zMzMg4AzX@J5lbOl4&e%e-%?eEctJT;!?h}Fb)%rFRpDeA#@3}Rz3b$YN|zV{Ikh1e zrV7#)w_1&|aPIN4MHUJ+xmDth)cU{}@M_X!$P`S~FdE#g$+EPo25(BEA}voihHNw~ zBQHd*Cd|!z&qky{Q>zR!sY0E%xnXgNx?Qdd)642C{Hk2nl*b+!rf&+brZ(8jWH8Zp-#$LzJW|sgfJEtvv2YWfM}W-=U^MRa7*= zedTN#F3||(Z8e2a6i!>3LYL6yR*Ojd6(M4XA{Ij!5r%8~ohRK#uMQr+?7rDK*nYO! zeX(=+_Tj<1-R^_EpI@IJ?r!gQo+gvYzMY7EbY35QA*5nRW0_&)e_9&C)fiT=O6?hK z8N=c~k%opsk)z8&%OLHF8kthj)6MBkX>K$k&rMG`TMXf<@cJ9Zurxg5oW)%?n?AmX zw6#H6V;Ux%)4G+k+kU!JXX!sdnn9A03@-11y{C&0lk^|!87DDCckN0Jn8pc`v_VLa zmk!R6^pT8yfG_UX2P?~c`i7oV4fp9$d f31c7O)5vTnxe3BMMK&MisWy$raE8uV7w3KhppNzJ literal 0 HcmV?d00001 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 0000000000000000000000000000000000000000..0b5b7ab19055d7b96108a6041c290c3cbf613b9f GIT binary patch literal 953 zcmb7C$!-%t5PdyfCSI}`k`Pu060j4TIgpzpBxETPl7R>#-`kV+xSjE|H8VEKEgyhb zPMna45D0Mt4lD;gfX^U`C4K@?ZCk-O;(#7G2$tRbuGDJ&iM=(s6 zr6=xoS~cN6;5C;l6l`<1%6+Nzp)ndZWWZ1;+p1-?c+ikF={Xi}ORFy3Q23T?wO#A> zcBvuk-L1ZfIAgX}8Rl~3Chu~~5TuPUDsd?i}yQTC|jZ`14(t<@;nvtP%4jra)bV~eX60Z@gFLG z*9wS5sBo_>tcviv(iXacE_XY`VaRqGDWua#Ajxp!aQ|uV@#~`}uX=9}j$S-3^j;qP zeD_GU5BHyCv)Q5MIY0K_9DgQqY2>lWu=XEaG_jV(brh&0<6UA{{wL7L94K;p9ccX0 ztE;iWR6^a5{$LiyBeu95Du0h5;fQdsQw%GkV=cKn2#WcWt4Dhpqs689(K)O8N822s zJGGPklcZTB8Ohk{C$RT)F)&5{c;7gMX}W7ya=;8`Nz%}9ioA4iiKIa?^#MjE@&!=? ze;|_mr&;36^kL=)u0t3K!fDJA+`I;7q=3>~I8JP-&k7_mvCoKqgrSkyNOF^ecZO^R Q7O6Ik$8e6$`2ZJw11B5oJOBUy literal 0 HcmV?d00001 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 0000000000000000000000000000000000000000..894991d61772bc437a7029a2660292ea7c5a746c GIT binary patch literal 976 zcmb7COKTHR6#j0WO`1MTZEAg{+GF>Irp6JJFg$V555Cf!)g+7TudN}OJm56 zV*!`rxRS&omg2Y?$2EqqrRognl5*>YXVuo4MoHD{!Ywew)}-r>!x*7N3yKit|^F!vd)~KUe$mM^AFmNFKtngo}_y2IF9nUFO@@Jxj~;=F4a=g z9FLT{ZFs~al)uvwMp?KWX$oCMhg)spiP=GkDU2hPLIO#KTZi4}{b%obyKnm+_Ij^h zuJqsR{rdQ{|M*G&)j@A}|FHWao6Qc4MD(-!{`iX{mqH%P490&pHje8l+`tMoX|!<+ zi~j^08VyB`ZV7FLbZTm3R%KuJCz#dTXv79LedX>jBf c7lbr28%l11@XnAegn6n><1w70bKb*+Kb}VTy8r+H literal 0 HcmV?d00001 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 0000000000000000000000000000000000000000..6726798f7605dbec6554a1a1daf391f4342e6303 GIT binary patch literal 965 zcmb7C$!-%t5Pj`^%Yw5JRtFNW1I}C`ad3o$EahYtVdQ&z(jK=np0;MjM!ER|Si*@D z5)lF+Bo4rV<&Y2HGl*=&PavvoD_D*=AWctoS698)RrS9A{&omp6B`LcaUqT{F2;~a zVg;9?xSYT$)}pu)#Z`u&tt^IgNx7Ec*|p7vQBsyA+yX;nOFGiONio@6g&|Z_JAz@R zBpq?5-K+}t0k7KRp=6WW74AxX9yvpPU3v^g$y80F$-TO)O2;yIOByw4`@%J3vt=7) zX*tEZFn6~HPGSw4`pB@5Ej4(D8#br3yVZs;{epf*P*oe6^TZ{?>}}!K)y_Tc@}?jP z;*V{a_NaRYd(?8Nj+$n8 zsN7w{BOamry_PV_!tF>?=o&iQZWBw$qw-QnB9%fM35FX--TnTP*S)8&`fm?HOQTJIUlNox5<45<+@fSrlg&fuy^8eM(D6XY&9eL`_WWN|z{|PlV z5z3sD2Gu2X@xxXItUx>+{({IS1T-=m Yd)yS^ohDxZ%T$}jV>nCeoQLy&0L?4&hX4Qo literal 0 HcmV?d00001 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 0000000000000000000000000000000000000000..9a795740e9f280246c04bad2de1f084e811e9e12 GIT binary patch literal 981 zcmb7C$!-%t5Pj_>UbEnkjn#n!>_9R?MB?BG30ca?EQ%xF+mp84&Uo6IX&dF{4?rv@ zPLYTZ2yp`rEC;yr8AP$fPavvoD_9O3kY>8Ns;l0s?fb7UUjeLREsh8-#1O{CDAEZm z;!*^c<52kC*g9uY39544@Sb>Nn7S);P3=739&ZSu zp&X(cwlkZur( zhsxWveBu&H?=^*06kc1}!qm~`PK%hLdQfH(2_%z$?Njn^-rKX%M`6+J!E+sw3NMT%rk>;#d>w$==oH6uG<2RqnEijf>c!j_iQk=mL?ndvb$ zyNPWU7Zv!Bf=W?Pe8C0fgro?vaaaN$LKS}?KLAV4k069|Uw4mY>8i+O-FM%+=idA7 z_Im#PzuSKU@KO9Ai@i9PfrT|8B_U-Y6(Lm%>shYP38@LRE?gj_A>_P}uZ!S8AcMB!AvQk(GYJO#9 zT0?%mQ3?FAch;}_izV-9rBV&tz^_*78V)Lj3x)G;$zN87g(V7tn(J4BdSR{_9HX%{ zTCvJrz3#4f8U{mecW(V;^U9@nUb%JW*6q8$yRG5=c0Xq>uDAO#%hg4{L<4)aespc? zm$x@xxY=bx54;P3hP`)x{qmi^|7P>*mCaZF+yzQE{ACSBol(%*KugRgD}lG-)p*^B znQCpNu<9>*wF+TzfYn-CeDh3{M|8UER}7X={gbVGA>O7K@a7A@f9LtXZvEm9ADTLJ z_od5QFTTF@;;R}Cyl?X68l@7=N8#Lk?TyV}UF!qLlW&megmQ9LVU2;oj-I_1^=ui(x`IHFR(;~XREbxVS&4nx8PNl zPjJh-WLCW3Xw)wEj*hh?uh}pHnT={?kw2qqVv>7O5^s}P2y;K!W?(z}nfkVq!O?CX z5@+A67pzv7PrEg@>;+zpQHWa8G5N?bxzI70$nj9C(b%t8HNEE=Zi%+q+&-~*&RYtm z$DY=pRollT60x7E!Kzo&kd=&%M9q~`hs~W5#lz-=vUr zI7eoDb895NrZp1Z$ruT*ppPh*c2EsFfGJq0Hfl@W2{o+)?Je}Myf6+QyN@~8hx;8o zBxJvkgF;3zreXh%y3xUx@i_;d#!&~Sgqy};2SA{CBYeOnhb3Ne=HxIVCSy+yt2!(ARpxHY!3qwuH@E$T{Xr#n zeVtRJVXC$DqM7L)qv(PhxHf#;h+QKQ_|6ugeX?48+)J|dw?hwmF`kf*GT69uH#5!;uI$F@F^7JRv*Tp@OmFn zW*$U}*Xu^{u!-A61-23C$LXQKRpV-m--Py>a`_2TQymWAljNNcfJac|PLp;aZC8FB zsaHFc?@Lr>n|P9tsgrx}_A-j~YHhJwxNBkDKGkCeu4LDQ(*{`H(VsBH5(AQKr>4nKWs+}TXi|HVYY)@>_Qd#aVdys| z{sHSH80i}mZ^D|L9N&Pgwq!DMlO#ob>R-s^^|x@(bvRRbeFNDTkt-U6a*B4|5|AB%ti0U<>M3Rj>M3UP83AP@P$r*k0reJh1oal3d`>`4 z1R@uM^cxH|XE|HPc?*b)2@Pw*_wm*r)gCa2?Z{1l%jXYlXG zm?t$+!WtIH@n<$XoFQl9XE=c;$z||!esRu{%VL9%=@-c5@E5+hUnJ+?DchhV3dgT$uBXeg+MI{ZXt~7*WXEf7bFnCEr zGmF-~nO6iY0P7e+bNCnSTZgbBM*1@&?$AXUSQrSpPxxJs#*RmZq^l(6skx zVtb#GgFzTEAjatJM-j|yfo&r@Pb09^4&KHm2qG1`OJ!RtSw=;siN8z2isL*}C11*! zH_-RgP2AJpzkvZMFqi&&L!PrX&_5XRJ;D!#e6R4kLq4;CJ^gv|8@R9Y`_cNrory}O Ku_)58{{I1xFyB`I literal 0 HcmV?d00001 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 0000000000000000000000000000000000000000..300bbe2d1413583a0804dde06ed63f0000f24779 GIT binary patch literal 938 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 eLsv_ + + 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 + + + + +