Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
Kwan的解忧杂货铺@新空间代码工作室
design
提交
257e9695
D
design
项目概览
Kwan的解忧杂货铺@新空间代码工作室
/
design
通知
1
Star
0
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
DevOps
流水线
流水线任务
计划
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
D
design
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
DevOps
DevOps
流水线
流水线任务
计划
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
流水线任务
提交
Issue看板
提交
257e9695
编写于
7月 29, 2023
作者:
Kwan的解忧杂货铺@新空间代码工作室
🐭
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
fix:投放业务
上级
3f2f6a70
变更
5
显示空白变更内容
内联
并排
Showing
5 changed file
with
45 addition
and
6 deletion
+45
-6
src/main/java/com/study/design/handler/NewCheckHandler.java
src/main/java/com/study/design/handler/NewCheckHandler.java
+10
-1
src/main/java/com/study/design/handler/RecentCheckHandler.java
...ain/java/com/study/design/handler/RecentCheckHandler.java
+9
-1
src/main/java/com/study/design/handler/SuggestRequirementHandlerProcess.java
...tudy/design/handler/SuggestRequirementHandlerProcess.java
+16
-1
src/main/java/com/study/design/service/UserService.java
src/main/java/com/study/design/service/UserService.java
+7
-0
src/main/resources/application.properties
src/main/resources/application.properties
+3
-3
未找到文件。
src/main/java/com/study/design/handler/NewCheckHandler.java
浏览文件 @
257e9695
...
@@ -5,13 +5,22 @@ import com.study.design.pojo.UserInfo;
...
@@ -5,13 +5,22 @@ import com.study.design.pojo.UserInfo;
import
java.util.ArrayList
;
import
java.util.ArrayList
;
import
java.util.List
;
import
java.util.List
;
/**
* 新用户校验
*
* @author : qinyingjie
* @version : 2.2.0
* @date : 2023/7/29 17:47
*/
public
class
NewCheckHandler
extends
AbstractSuggestRequirementHandler
{
public
class
NewCheckHandler
extends
AbstractSuggestRequirementHandler
{
@Override
@Override
public
void
processHandler
(
UserInfo
userInfo
,
List
<
String
>
suggestLists
)
{
public
void
processHandler
(
UserInfo
userInfo
,
List
<
String
>
suggestLists
)
{
//通过获取 userinfo 的 buyProducts 属性
//通过获取 userinfo 的 buyProducts 属性
boolean
newUser
=
userInfo
.
isNewUser
();
boolean
newUser
=
userInfo
.
isNewUser
();
if
(
newUser
)
{
if
(
newUser
)
{
suggestLists
=
new
ArrayList
<>();
// 特定的新用户奖励
//特定的新用户奖励
suggestLists
=
new
ArrayList
<>();
}
}
}
}
}
}
src/main/java/com/study/design/handler/RecentCheckHandler.java
浏览文件 @
257e9695
...
@@ -4,7 +4,15 @@ import com.study.design.pojo.UserInfo;
...
@@ -4,7 +4,15 @@ import com.study.design.pojo.UserInfo;
import
java.util.List
;
import
java.util.List
;
public
class
RecentCheckHandler
extends
AbstractSuggestRequirementHandler
{
/**
* 最近购买校验
*
* @author : qinyingjie
* @version : 2.2.0
* @date : 2023/7/29 17:46
*/
public
class
RecentCheckHandler
extends
AbstractSuggestRequirementHandler
{
@Override
@Override
public
void
processHandler
(
UserInfo
userInfo
,
List
<
String
>
suggestLists
)
{
public
void
processHandler
(
UserInfo
userInfo
,
List
<
String
>
suggestLists
)
{
//通过获取 userinfo 的 buyProducts 属性
//通过获取 userinfo 的 buyProducts 属性
...
...
src/main/java/com/study/design/handler/SuggestRequirementHandlerProcess.java
浏览文件 @
257e9695
...
@@ -6,17 +6,32 @@ import org.springframework.stereotype.Component;
...
@@ -6,17 +6,32 @@ import org.springframework.stereotype.Component;
import
java.util.List
;
import
java.util.List
;
/**
* 封装Handler的执行类,间接调用
*
* @author : qinyingjie
* @version : 2.2.0
* @date : 2023/7/29 17:50
*/
@Component
@Component
public
class
SuggestRequirementHandlerProcess
{
public
class
SuggestRequirementHandlerProcess
{
@Value
(
"#{'${suggest.requirement.handler}'.split(',')}"
)
@Value
(
"#{'${suggest.requirement.handler}'.split(',')}"
)
private
List
<
String
>
handlers
;
private
List
<
String
>
handlers
;
/**
* 投放业务处理,需要用到配置中心,进行配置
*
* @param userInfo
* @param suggestLists
*/
public
void
process
(
UserInfo
userInfo
,
List
<
String
>
suggestLists
)
{
public
void
process
(
UserInfo
userInfo
,
List
<
String
>
suggestLists
)
{
// 如果想要实时的进行顺序的调整或者是增减。那必须要使用配置中心进行配置。
// 如果想要实时的进行顺序的调整或者是增减。那必须要使用配置中心进行配置。
// 比如springcloud里边自带的 git 的这种配置中心; applo 配置中心。
// 比如springcloud里边自带的 git 的这种配置中心; applo 配置中心。
try
{
try
{
for
(
String
handler
:
handlers
)
{
for
(
String
handler
:
handlers
)
{
AbstractSuggestRequirementHandler
handle
=
AbstractSuggestRequirementHandler
handle
=
(
AbstractSuggestRequirementHandler
)
Class
.
forName
(
handler
).
newInstance
();
(
AbstractSuggestRequirementHandler
)
Class
.
forName
(
handler
).
newInstance
();
handle
.
processHandler
(
userInfo
,
suggestLists
);
handle
.
processHandler
(
userInfo
,
suggestLists
);
...
...
src/main/java/com/study/design/service/UserService.java
浏览文件 @
257e9695
...
@@ -25,6 +25,13 @@ public class UserService {
...
@@ -25,6 +25,13 @@ public class UserService {
@Autowired
@Autowired
private
SuggestRequirementHandlerProcess
suggestRequirementHandlerProcess
;
private
SuggestRequirementHandlerProcess
suggestRequirementHandlerProcess
;
/**
* 投放业务
*
* @param username
* @return
*/
public
List
<
String
>
suggestRequirement
(
String
username
)
{
public
List
<
String
>
suggestRequirement
(
String
username
)
{
//获取用户信息。因为用户已经登录了,那么user的信息是保存在我们的缓存里的。
//获取用户信息。因为用户已经登录了,那么user的信息是保存在我们的缓存里的。
UserInfo
userInfo
=
getUserInfo
(
username
);
UserInfo
userInfo
=
getUserInfo
(
username
);
...
...
src/main/resources/application.properties
浏览文件 @
257e9695
server.port
=
8080
server.port
=
8080
### \u6BD4\u55BB\u6210\u914D\u7F6E\u4E2D\u5FC3
### \u6BD4\u55BB\u6210\u914D\u7F6E\u4E2D\u5FC3,\u914D\u7F6E\u6295\u653E\u4E1A\u52A1\u7C7B
suggest.requirement.handler
=
com.study.design.handler.PersonnalCheckHandler,com.study.design.handler.CityCheckHandler,com.study.design.handler.RecentCheckHandler,com.study.design.handler.NewCheckHandler
suggest.requirement.handler
=
com.study.design.handler.PersonnalCheckHandler,com.study.design.handler.CityCheckHandler,com.study.design.handler.RecentCheckHandler,com.study.design.handler.NewCheckHandler
\ No newline at end of file
\ No newline at end of file
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录