diff --git a/beacon-api/pom.xml b/beacon-api/pom.xml
index b694304..115408d 100644
--- a/beacon-api/pom.xml
+++ b/beacon-api/pom.xml
@@ -53,6 +53,12 @@
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/api/controller/SmsController.java b/beacon-api/src/main/java/com/mashibing/api/controller/SmsController.java
index 6b33843..7110097 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
@@ -30,6 +30,9 @@ public class SmsController {
log.info("【接口模块-单条短信Controller】 参数不合法 msg = {}",msg);
return R.error(SmsCodeEnum.PARAMETER_ERROR.getCode(),msg);
}
+ //=========================构建StandardSubmit,各种封装校验=========================================
+
+ //=========================发送到MQ,交给策略模块处理=========================================
return R.ok();
}
}
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
index 4779baa..4da5f07 100644
--- a/beacon-api/src/main/java/com/mashibing/api/filter/CheckFilter.java
+++ b/beacon-api/src/main/java/com/mashibing/api/filter/CheckFilter.java
@@ -1,7 +1,5 @@
package com.mashibing.api.filter;
-import com.mashibing.api.form.SmsForm;
-
/**
*
* @author zjw
@@ -11,7 +9,7 @@ public interface CheckFilter {
/**
* 校验!!!!
- * @param smsForm
+ * @param object
*/
- void check(SmsForm smsForm);
+ void check(Object object);
}
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
index d4c76ce..f7c353e 100644
--- a/beacon-api/src/main/java/com/mashibing/api/filter/CheckFilterContext.java
+++ b/beacon-api/src/main/java/com/mashibing/api/filter/CheckFilterContext.java
@@ -1,7 +1,6 @@
package com.mashibing.api.filter;
import com.mashibing.api.form.SingleSendForm;
-import com.mashibing.api.form.SmsForm;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.cloud.context.config.annotation.RefreshScope;
@@ -11,7 +10,7 @@ import java.util.Map;
/**
* @author zjw
- * @description 策略模式的上下文对象
+ * @description 策略模式的上下文对象
*/
@Component
@RefreshScope
@@ -20,25 +19,23 @@ public class CheckFilterContext {
// Spring的IOC会将对象全部都放到Map集合中
// 基于4.x中Spring提供的反省注解,基于Map只拿到需要的类型对象即可
@Autowired
- private Map checkFiltersMap;
+ private Map checkFiltersMap;
// 基于Nacos获取到执行的顺序和需要执行的校验对象
- @Value("${singleSendFilters:apikey,ip,sign,template}")
- private String singleSendFilters;
+ @Value("${filters:apikey,ip,sign,template}")
+ private String filters;
/**
* 当前check方法用于管理校验链的顺序
*/
- public void check(SmsForm smsForm){
- if (smsForm instanceof SingleSendForm) {
- // 单挑短信发送的策略
- //1. 将获取到filters基于,做切分
- String[] filterArray = singleSendFilters.split(",");
- //2. 遍历数组即可
- for (String filter : filterArray) {
- CheckFilter checkFilter = checkFiltersMap.get(filter);
- checkFilter.check(smsForm);
- }
+ public void check(Object object) {
+ // 单挑短信发送的策略
+ //1. 将获取到filters基于,做切分
+ String[] filterArray = filters.split(",");
+ //2. 遍历数组即可
+ for (String filter : filterArray) {
+ CheckFilter checkFilter = checkFiltersMap.get(filter);
+ checkFilter.check(object);
}
}
}
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
index b03c4f1..fc71031 100644
--- 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
@@ -1,7 +1,6 @@
package com.mashibing.api.filter.impl;
import com.mashibing.api.filter.CheckFilter;
-import com.mashibing.api.form.SmsForm;
import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Service;
@@ -15,7 +14,7 @@ public class ApiKeyCheckFilter implements CheckFilter {
@Override
- public void check(SmsForm smsForm) {
+ public void check(Object object) {
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
index 8e4a0a0..29c7d84 100644
--- 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
@@ -1,7 +1,6 @@
package com.mashibing.api.filter.impl;
import com.mashibing.api.filter.CheckFilter;
-import com.mashibing.api.form.SmsForm;
import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Service;
@@ -15,7 +14,7 @@ public class FeeCheckFilter implements CheckFilter {
@Override
- public void check(SmsForm smsForm) {
+ public void check(Object object) {
log.info("【接口模块-校验客户余额】 校验ing…………");
}
}
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
index 130a973..eb3a503 100644
--- 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
@@ -1,7 +1,6 @@
package com.mashibing.api.filter.impl;
import com.mashibing.api.filter.CheckFilter;
-import com.mashibing.api.form.SmsForm;
import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Service;
@@ -15,7 +14,7 @@ public class IPCheckFilter implements CheckFilter {
@Override
- public void check(SmsForm smsForm) {
+ public void check(Object object) {
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
index 6956069..99e6f75 100644
--- 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
@@ -1,7 +1,6 @@
package com.mashibing.api.filter.impl;
import com.mashibing.api.filter.CheckFilter;
-import com.mashibing.api.form.SmsForm;
import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Service;
@@ -15,7 +14,7 @@ public class MobileCheckFilter implements CheckFilter {
@Override
- public void check(SmsForm smsForm) {
+ public void check(Object object) {
log.info("【接口模块-校验手机号】 校验ing…………");
}
}
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
index 2a1810a..5eaefb1 100644
--- 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
@@ -1,7 +1,6 @@
package com.mashibing.api.filter.impl;
import com.mashibing.api.filter.CheckFilter;
-import com.mashibing.api.form.SmsForm;
import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Service;
@@ -15,7 +14,7 @@ public class SignCheckFilter implements CheckFilter {
@Override
- public void check(SmsForm smsForm) {
+ public void check(Object object) {
log.info("【接口模块-校验签名】 校验ing…………");
}
}
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
index 518f9ef..f03fae0 100644
--- 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
@@ -1,7 +1,6 @@
package com.mashibing.api.filter.impl;
import com.mashibing.api.filter.CheckFilter;
-import com.mashibing.api.form.SmsForm;
import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Service;
@@ -15,7 +14,7 @@ public class TemplateCheckFilter implements CheckFilter {
@Override
- public void check(SmsForm smsForm) {
+ public void check(Object object) {
log.info("【接口模块-校验模板】 校验ing…………");
}
}
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
index 1ca5a9c..a6daff7 100644
--- a/beacon-api/src/main/java/com/mashibing/api/form/SingleSendForm.java
+++ b/beacon-api/src/main/java/com/mashibing/api/form/SingleSendForm.java
@@ -11,13 +11,24 @@ import javax.validation.constraints.NotNull;
* @description
*/
@Data
-public class SingleSendForm extends SmsForm {
+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 = "短信类型不允许非空!")
diff --git a/beacon-api/src/main/java/com/mashibing/api/form/SmsForm.java b/beacon-api/src/main/java/com/mashibing/api/form/SmsForm.java
deleted file mode 100644
index a2f6aa6..0000000
--- a/beacon-api/src/main/java/com/mashibing/api/form/SmsForm.java
+++ /dev/null
@@ -1,25 +0,0 @@
-package com.mashibing.api.form;
-
-import lombok.Data;
-
-import javax.validation.constraints.NotBlank;
-
-/**
- * 发送短信必备的参数
- * @author zjw
- * @description
- */
-@Data
-public class SmsForm {
-
- /** 客户的apikey */
- @NotBlank(message = "apikey不允许为空!")
- private String apikey;
-
- /** 手机号 */
- @NotBlank(message = "手机号不能为空!")
- private String mobile;
-
- /** 客户业务内的uid */
- private String uid;
-}
diff --git a/beacon-cache/pom.xml b/beacon-cache/pom.xml
new file mode 100644
index 0000000..87c4f92
--- /dev/null
+++ b/beacon-cache/pom.xml
@@ -0,0 +1,37 @@
+
+
+
+ beacon-cloud
+ com.mashibing
+ 1.0-SNAPSHOT
+
+ 4.0.0
+
+ beacon-cache
+
+
+
+
+ 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.boot
+ spring-boot-starter-data-redis
+
+
+
+
\ No newline at end of file
diff --git a/beacon-cache/src/main/java/com/mashibing/cache/CacheStarterApp.java b/beacon-cache/src/main/java/com/mashibing/cache/CacheStarterApp.java
new file mode 100644
index 0000000..13a7602
--- /dev/null
+++ b/beacon-cache/src/main/java/com/mashibing/cache/CacheStarterApp.java
@@ -0,0 +1,19 @@
+package com.mashibing.cache;
+
+import org.springframework.boot.SpringApplication;
+import org.springframework.boot.autoconfigure.SpringBootApplication;
+import org.springframework.cloud.client.discovery.EnableDiscoveryClient;
+
+/**
+ * @author zjw
+ * @description
+ */
+@SpringBootApplication
+@EnableDiscoveryClient
+public class CacheStarterApp {
+
+ public static void main(String[] args) {
+ SpringApplication.run(CacheStarterApp.class,args);
+ }
+
+}
diff --git a/beacon-cache/src/main/java/com/mashibing/cache/config/RedisConfig.java b/beacon-cache/src/main/java/com/mashibing/cache/config/RedisConfig.java
new file mode 100644
index 0000000..b025590
--- /dev/null
+++ b/beacon-cache/src/main/java/com/mashibing/cache/config/RedisConfig.java
@@ -0,0 +1,78 @@
+package com.mashibing.cache.config;
+
+import com.fasterxml.jackson.databind.Module;
+import com.fasterxml.jackson.databind.ObjectMapper;
+import com.fasterxml.jackson.datatype.jsr310.JavaTimeModule;
+import com.fasterxml.jackson.datatype.jsr310.deser.LocalDateDeserializer;
+import com.fasterxml.jackson.datatype.jsr310.deser.LocalDateTimeDeserializer;
+import com.fasterxml.jackson.datatype.jsr310.ser.LocalDateSerializer;
+import com.fasterxml.jackson.datatype.jsr310.ser.LocalDateTimeSerializer;
+import org.springframework.context.annotation.Bean;
+import org.springframework.context.annotation.Configuration;
+import org.springframework.data.redis.connection.RedisConnectionFactory;
+import org.springframework.data.redis.core.RedisTemplate;
+import org.springframework.data.redis.serializer.Jackson2JsonRedisSerializer;
+import org.springframework.data.redis.serializer.RedisSerializer;
+
+import java.time.LocalDate;
+import java.time.LocalDateTime;
+import java.time.format.DateTimeFormatter;
+
+/**
+ * 设置RedisTemplate的序列化方式
+ * @author zjw
+ * @description
+ */
+@Configuration
+public class RedisConfig {
+
+ @Bean
+ public RedisTemplate redisTemplate(RedisConnectionFactory factory,RedisSerializer