Skip to content
GitLab
Menu
Projects
Groups
Snippets
Loading...
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
Menu
Open sidebar
Administrator
mall4cloudNew
Commits
3ab6e756
Commit
3ab6e756
authored
Dec 21, 2023
by
shengnan hu
Browse files
init
parents
Pipeline
#294
passed with stage
in 2 minutes and 13 seconds
Changes
678
Pipelines
3
Show whitespace changes
Inline
Side-by-side
Showing
20 changed files
with
431 additions
and
0 deletions
+431
-0
mall4cloud-common/mall4cloud-common-order/target/classes/com/mall4j/cloud/common/order/bo/PayNotifyBO.class
...lasses/com/mall4j/cloud/common/order/bo/PayNotifyBO.class
+0
-0
mall4cloud-common/mall4cloud-common-order/target/classes/com/mall4j/cloud/common/order/constant/OrderCloseType.class
...m/mall4j/cloud/common/order/constant/OrderCloseType.class
+0
-0
mall4cloud-common/mall4cloud-common-order/target/classes/com/mall4j/cloud/common/order/vo/ShopCartItemVO.class
...ses/com/mall4j/cloud/common/order/vo/ShopCartItemVO.class
+0
-0
mall4cloud-common/mall4cloud-common-order/target/classes/com/mall4j/cloud/common/order/vo/ShopCartOrderMergerVO.class
.../mall4j/cloud/common/order/vo/ShopCartOrderMergerVO.class
+0
-0
mall4cloud-common/mall4cloud-common-order/target/classes/com/mall4j/cloud/common/order/vo/ShopCartOrderVO.class
...es/com/mall4j/cloud/common/order/vo/ShopCartOrderVO.class
+0
-0
mall4cloud-common/mall4cloud-common-order/target/classes/com/mall4j/cloud/common/order/vo/ShopCartVO.class
...classes/com/mall4j/cloud/common/order/vo/ShopCartVO.class
+0
-0
mall4cloud-common/mall4cloud-common-order/target/classes/com/mall4j/cloud/common/order/vo/ShopCartWithAmountVO.class
...m/mall4j/cloud/common/order/vo/ShopCartWithAmountVO.class
+0
-0
mall4cloud-common/mall4cloud-common-order/target/classes/com/mall4j/cloud/common/order/vo/UserAddrVO.class
...classes/com/mall4j/cloud/common/order/vo/UserAddrVO.class
+0
-0
mall4cloud-common/mall4cloud-common-rocketmq/pom.xml
mall4cloud-common/mall4cloud-common-rocketmq/pom.xml
+29
-0
mall4cloud-common/mall4cloud-common-rocketmq/src/main/java/com/mall4j/cloud/common/rocketmq/config/RocketMqAdapter.java
.../mall4j/cloud/common/rocketmq/config/RocketMqAdapter.java
+39
-0
mall4cloud-common/mall4cloud-common-rocketmq/src/main/java/com/mall4j/cloud/common/rocketmq/config/RocketMqConstant.java
...mall4j/cloud/common/rocketmq/config/RocketMqConstant.java
+50
-0
mall4cloud-common/mall4cloud-common-rocketmq/target/classes/com/mall4j/cloud/common/rocketmq/config/RocketMqAdapter.class
...mall4j/cloud/common/rocketmq/config/RocketMqAdapter.class
+0
-0
mall4cloud-common/mall4cloud-common-rocketmq/target/classes/com/mall4j/cloud/common/rocketmq/config/RocketMqConstant.class
...all4j/cloud/common/rocketmq/config/RocketMqConstant.class
+0
-0
mall4cloud-common/mall4cloud-common-security/pom.xml
mall4cloud-common/mall4cloud-common-security/pom.xml
+49
-0
mall4cloud-common/mall4cloud-common-security/src/main/java/com/mall4j/cloud/common/security/AuthUserContext.java
...ava/com/mall4j/cloud/common/security/AuthUserContext.java
+33
-0
mall4cloud-common/mall4cloud-common-security/src/main/java/com/mall4j/cloud/common/security/adapter/AuthConfigAdapter.java
...ll4j/cloud/common/security/adapter/AuthConfigAdapter.java
+26
-0
mall4cloud-common/mall4cloud-common-security/src/main/java/com/mall4j/cloud/common/security/adapter/DefaultAuthConfigAdapter.java
...oud/common/security/adapter/DefaultAuthConfigAdapter.java
+53
-0
mall4cloud-common/mall4cloud-common-security/src/main/java/com/mall4j/cloud/common/security/bo/AuthAccountInVerifyBO.java
...all4j/cloud/common/security/bo/AuthAccountInVerifyBO.java
+42
-0
mall4cloud-common/mall4cloud-common-security/src/main/java/com/mall4j/cloud/common/security/bo/TokenInfoBO.java
...java/com/mall4j/cloud/common/security/bo/TokenInfoBO.java
+65
-0
mall4cloud-common/mall4cloud-common-security/src/main/java/com/mall4j/cloud/common/security/config/AuthConfig.java
...a/com/mall4j/cloud/common/security/config/AuthConfig.java
+45
-0
No files found.
mall4cloud-common/mall4cloud-common-order/target/classes/com/mall4j/cloud/common/order/bo/PayNotifyBO.class
0 → 100644
View file @
3ab6e756
File added
mall4cloud-common/mall4cloud-common-order/target/classes/com/mall4j/cloud/common/order/constant/OrderCloseType.class
0 → 100644
View file @
3ab6e756
File added
mall4cloud-common/mall4cloud-common-order/target/classes/com/mall4j/cloud/common/order/vo/ShopCartItemVO.class
0 → 100644
View file @
3ab6e756
File added
mall4cloud-common/mall4cloud-common-order/target/classes/com/mall4j/cloud/common/order/vo/ShopCartOrderMergerVO.class
0 → 100644
View file @
3ab6e756
File added
mall4cloud-common/mall4cloud-common-order/target/classes/com/mall4j/cloud/common/order/vo/ShopCartOrderVO.class
0 → 100644
View file @
3ab6e756
File added
mall4cloud-common/mall4cloud-common-order/target/classes/com/mall4j/cloud/common/order/vo/ShopCartVO.class
0 → 100644
View file @
3ab6e756
File added
mall4cloud-common/mall4cloud-common-order/target/classes/com/mall4j/cloud/common/order/vo/ShopCartWithAmountVO.class
0 → 100644
View file @
3ab6e756
File added
mall4cloud-common/mall4cloud-common-order/target/classes/com/mall4j/cloud/common/order/vo/UserAddrVO.class
0 → 100644
View file @
3ab6e756
File added
mall4cloud-common/mall4cloud-common-rocketmq/pom.xml
0 → 100644
View file @
3ab6e756
<?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"
>
<parent>
<artifactId>
mall4cloud-common
</artifactId>
<groupId>
com.mall4j.cloud
</groupId>
<version>
1.0-SNAPSHOT
</version>
</parent>
<modelVersion>
4.0.0
</modelVersion>
<artifactId>
mall4cloud-common-rocketmq
</artifactId>
<packaging>
jar
</packaging>
<description>
mall4cloud rocketmq代码
</description>
<dependencies>
<dependency>
<groupId>
com.mall4j.cloud
</groupId>
<artifactId>
mall4cloud-common-core
</artifactId>
<version>
${project.version}
</version>
</dependency>
<dependency>
<groupId>
org.apache.rocketmq
</groupId>
<artifactId>
rocketmq-spring-boot-starter
</artifactId>
</dependency>
</dependencies>
</project>
mall4cloud-common/mall4cloud-common-rocketmq/src/main/java/com/mall4j/cloud/common/rocketmq/config/RocketMqAdapter.java
0 → 100644
View file @
3ab6e756
package
com.mall4j.cloud.common.rocketmq.config
;
import
org.apache.rocketmq.client.producer.DefaultMQProducer
;
import
org.apache.rocketmq.spring.autoconfigure.RocketMQAutoConfiguration
;
import
org.apache.rocketmq.spring.core.RocketMQTemplate
;
import
org.apache.rocketmq.spring.support.RocketMQMessageConverter
;
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.context.annotation.Configuration
;
import
org.springframework.context.annotation.Import
;
/**
* @author FrozenWatermelon
* @date 2021/3/30
*/
@RefreshScope
@Configuration
@Import
({
RocketMQAutoConfiguration
.
class
})
public
class
RocketMqAdapter
{
@Autowired
private
RocketMQMessageConverter
rocketMqMessageConverter
;
@Value
(
"${rocketmq.name-server:}"
)
private
String
nameServer
;
public
RocketMQTemplate
getTemplateByTopicName
(
String
topic
){
RocketMQTemplate
mqTemplate
=
new
RocketMQTemplate
();
DefaultMQProducer
producer
=
new
DefaultMQProducer
(
topic
);
producer
.
setNamesrvAddr
(
nameServer
);
producer
.
setRetryTimesWhenSendFailed
(
2
);
producer
.
setSendMsgTimeout
((
int
)
RocketMqConstant
.
TIMEOUT
);
mqTemplate
.
setProducer
(
producer
);
mqTemplate
.
setMessageConverter
(
rocketMqMessageConverter
.
getMessageConverter
());
return
mqTemplate
;
}
}
mall4cloud-common/mall4cloud-common-rocketmq/src/main/java/com/mall4j/cloud/common/rocketmq/config/RocketMqConstant.java
0 → 100644
View file @
3ab6e756
package
com.mall4j.cloud.common.rocketmq.config
;
/**
* nameserver用;分割
* 同步消息,如果两次
* @author FrozenWatermelon
* @date 2021/3/25
*/
public
class
RocketMqConstant
{
// 延迟消息 1s 5s 10s 30s 1m 2m 3m 4m 5m 6m 7m 8m 9m 10m 20m 30m 1h 2h (1-18)
/**
* 取消订单时间,实际上30分钟
*/
public
static
final
int
CANCEL_ORDER_DELAY_LEVEL
=
16
;
/**
* 默认发送消息超时时间
*/
public
static
final
long
TIMEOUT
=
3000
;
/**
* 库存解锁topic
*/
public
static
final
String
STOCK_UNLOCK_TOPIC
=
"stock-unlock-topic"
;
/**
* 订单取消
*/
public
static
final
String
ORDER_CANCEL_TOPIC
=
"order-cancel-topic"
;
/**
* 订单支付成功
*/
public
static
final
String
ORDER_NOTIFY_TOPIC
=
"order-notify-topic"
;
/**
* 订单支付成功 通知库存服务
*/
public
static
final
String
ORDER_NOTIFY_STOCK_TOPIC
=
"order-notify-stock-topic"
;
/**
* 商品搜索topic
*/
public
static
final
String
CANAL_TOPIC
=
"canal-topic"
;
}
mall4cloud-common/mall4cloud-common-rocketmq/target/classes/com/mall4j/cloud/common/rocketmq/config/RocketMqAdapter.class
0 → 100644
View file @
3ab6e756
File added
mall4cloud-common/mall4cloud-common-rocketmq/target/classes/com/mall4j/cloud/common/rocketmq/config/RocketMqConstant.class
0 → 100644
View file @
3ab6e756
File added
mall4cloud-common/mall4cloud-common-security/pom.xml
0 → 100644
View file @
3ab6e756
<?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"
>
<parent>
<artifactId>
mall4cloud-common
</artifactId>
<groupId>
com.mall4j.cloud
</groupId>
<version>
1.0-SNAPSHOT
</version>
</parent>
<modelVersion>
4.0.0
</modelVersion>
<artifactId>
mall4cloud-common-security
</artifactId>
<packaging>
jar
</packaging>
<description>
mall4cloud 安全相关代码
</description>
<dependencies>
<dependency>
<groupId>
org.springframework.boot
</groupId>
<artifactId>
spring-boot-starter-actuator
</artifactId>
</dependency>
<dependency>
<groupId>
com.mall4j.cloud
</groupId>
<artifactId>
mall4cloud-api-auth
</artifactId>
<version>
${project.version}
</version>
</dependency>
<dependency>
<groupId>
com.mall4j.cloud
</groupId>
<artifactId>
mall4cloud-api-rbac
</artifactId>
<version>
${project.version}
</version>
</dependency>
<dependency>
<groupId>
com.mall4j.cloud
</groupId>
<artifactId>
mall4cloud-common-core
</artifactId>
<version>
${project.version}
</version>
</dependency>
<dependency>
<groupId>
com.mall4j.cloud
</groupId>
<artifactId>
mall4cloud-common-cache
</artifactId>
<version>
${project.version}
</version>
</dependency>
<dependency>
<groupId>
org.springframework.security
</groupId>
<artifactId>
spring-security-crypto
</artifactId>
</dependency>
</dependencies>
</project>
mall4cloud-common/mall4cloud-common-security/src/main/java/com/mall4j/cloud/common/security/AuthUserContext.java
0 → 100644
View file @
3ab6e756
package
com.mall4j.cloud.common.security
;
import
com.mall4j.cloud.api.auth.bo.UserInfoInTokenBO
;
/**
* @author FrozenWatermelon
* @date 2020/7/16
*/
public
class
AuthUserContext
{
/** The request holder. */
private
static
final
ThreadLocal
<
UserInfoInTokenBO
>
USER_INFO_IN_TOKEN_HOLDER
=
new
ThreadLocal
<>();
public
static
UserInfoInTokenBO
get
()
{
return
USER_INFO_IN_TOKEN_HOLDER
.
get
();
}
public
static
UserInfoInTokenBO
forceGet
()
{
return
USER_INFO_IN_TOKEN_HOLDER
.
get
();
}
public
static
void
set
(
UserInfoInTokenBO
userInfoInTokenBo
)
{
USER_INFO_IN_TOKEN_HOLDER
.
set
(
userInfoInTokenBo
);
}
public
static
void
clean
()
{
if
(
USER_INFO_IN_TOKEN_HOLDER
.
get
()
!=
null
)
{
USER_INFO_IN_TOKEN_HOLDER
.
remove
();
}
}
}
mall4cloud-common/mall4cloud-common-security/src/main/java/com/mall4j/cloud/common/security/adapter/AuthConfigAdapter.java
0 → 100644
View file @
3ab6e756
package
com.mall4j.cloud.common.security.adapter
;
import
java.util.List
;
/**
* 实现该接口之后,修改需要授权登陆的路径,不需要授权登陆的路径
*
* @author FrozenWatermelon
* @date 2020/7/4
*/
public
interface
AuthConfigAdapter
{
/**
* 需要授权登陆的路径
* @return 需要授权登陆的路径列表
*/
List
<
String
>
pathPatterns
();
/**
* 不需要授权登陆的路径
* @param paths
* @return 不需要授权登陆的路径列表
*/
List
<
String
>
excludePathPatterns
(
String
...
paths
);
}
mall4cloud-common/mall4cloud-common-security/src/main/java/com/mall4j/cloud/common/security/adapter/DefaultAuthConfigAdapter.java
0 → 100644
View file @
3ab6e756
package
com.mall4j.cloud.common.security.adapter
;
import
com.mall4j.cloud.common.feign.FeignInsideAuthConfig
;
import
org.slf4j.Logger
;
import
org.slf4j.LoggerFactory
;
import
java.util.ArrayList
;
import
java.util.Arrays
;
import
java.util.Collections
;
import
java.util.List
;
/**
* @author FrozenWatermelon
* @date 2020/7/16
*/
public
class
DefaultAuthConfigAdapter
implements
AuthConfigAdapter
{
private
static
final
Logger
logger
=
LoggerFactory
.
getLogger
(
DefaultAuthConfigAdapter
.
class
);
public
DefaultAuthConfigAdapter
()
{
logger
.
info
(
"not implement other AuthConfigAdapter, use DefaultAuthConfigAdapter... all url need auth..."
);
}
/**
* 内部直接调用接口,无需登录权限
*/
private
static
final
String
FEIGN_INSIDER_URI
=
FeignInsideAuthConfig
.
FEIGN_INSIDE_URL_PREFIX
+
"/insider/**"
;
/**
* 外部直接调用接口,无需登录权限 unwanted auth
*/
private
static
final
String
EXTERNAL_URI
=
"/**/ua/**"
;
/**
* swagger
*/
private
static
final
String
DOC_URI
=
"/v3/api-docs/default"
;
@Override
public
List
<
String
>
pathPatterns
()
{
return
Collections
.
singletonList
(
"/*"
);
}
@Override
public
List
<
String
>
excludePathPatterns
(
String
...
paths
)
{
List
<
String
>
arrayList
=
new
ArrayList
<>();
arrayList
.
add
(
DOC_URI
);
arrayList
.
add
(
FEIGN_INSIDER_URI
);
arrayList
.
add
(
EXTERNAL_URI
);
arrayList
.
addAll
(
Arrays
.
asList
(
paths
));
return
arrayList
;
}
}
mall4cloud-common/mall4cloud-common-security/src/main/java/com/mall4j/cloud/common/security/bo/AuthAccountInVerifyBO.java
0 → 100644
View file @
3ab6e756
package
com.mall4j.cloud.common.security.bo
;
import
com.mall4j.cloud.api.auth.bo.UserInfoInTokenBO
;
/**
* 用于校验的用户信息
*
* @author FrozenWatermelon
* @date 2020/7/3
*/
public
class
AuthAccountInVerifyBO
extends
UserInfoInTokenBO
{
private
String
password
;
private
Integer
status
;
public
String
getPassword
()
{
return
password
;
}
public
void
setPassword
(
String
password
)
{
this
.
password
=
password
;
}
public
Integer
getStatus
()
{
return
status
;
}
public
void
setStatus
(
Integer
status
)
{
this
.
status
=
status
;
}
@Override
public
String
toString
()
{
return
"AuthAccountInVerifyBO{"
+
"password='"
+
password
+
'\''
+
", status="
+
status
+
"} "
+
super
.
toString
();
}
}
mall4cloud-common/mall4cloud-common-security/src/main/java/com/mall4j/cloud/common/security/bo/TokenInfoBO.java
0 → 100644
View file @
3ab6e756
package
com.mall4j.cloud.common.security.bo
;
import
com.mall4j.cloud.api.auth.bo.UserInfoInTokenBO
;
/**
* token信息,该信息存在redis中
*
* @author FrozenWatermelon
* @date 2020/7/2
*/
public
class
TokenInfoBO
{
/**
* 保存在token信息里面的用户信息
*/
private
UserInfoInTokenBO
userInfoInToken
;
private
String
accessToken
;
private
String
refreshToken
;
/**
* 在多少秒后过期
*/
private
Integer
expiresIn
;
public
UserInfoInTokenBO
getUserInfoInToken
()
{
return
userInfoInToken
;
}
public
void
setUserInfoInToken
(
UserInfoInTokenBO
userInfoInToken
)
{
this
.
userInfoInToken
=
userInfoInToken
;
}
public
String
getAccessToken
()
{
return
accessToken
;
}
public
void
setAccessToken
(
String
accessToken
)
{
this
.
accessToken
=
accessToken
;
}
public
String
getRefreshToken
()
{
return
refreshToken
;
}
public
void
setRefreshToken
(
String
refreshToken
)
{
this
.
refreshToken
=
refreshToken
;
}
public
Integer
getExpiresIn
()
{
return
expiresIn
;
}
public
void
setExpiresIn
(
Integer
expiresIn
)
{
this
.
expiresIn
=
expiresIn
;
}
@Override
public
String
toString
()
{
return
"TokenInfoBO{"
+
"userInfoInToken="
+
userInfoInToken
+
", accessToken='"
+
accessToken
+
'\''
+
", refreshToken='"
+
refreshToken
+
'\''
+
", expiresIn="
+
expiresIn
+
'}'
;
}
}
mall4cloud-common/mall4cloud-common-security/src/main/java/com/mall4j/cloud/common/security/config/AuthConfig.java
0 → 100644
View file @
3ab6e756
package
com.mall4j.cloud.common.security.config
;
import
cn.hutool.core.util.ArrayUtil
;
import
com.mall4j.cloud.common.security.adapter.AuthConfigAdapter
;
import
com.mall4j.cloud.common.security.adapter.DefaultAuthConfigAdapter
;
import
com.mall4j.cloud.common.security.filter.AuthFilter
;
import
org.springframework.boot.autoconfigure.condition.ConditionalOnMissingBean
;
import
org.springframework.boot.web.servlet.FilterRegistrationBean
;
import
org.springframework.context.annotation.Bean
;
import
org.springframework.context.annotation.Configuration
;
import
org.springframework.context.annotation.Lazy
;
import
jakarta.servlet.DispatcherType
;
/**
* 授权配置
*
* @author FrozenWatermelon
* @date 2020/7/11
*/
@Configuration
public
class
AuthConfig
{
@Bean
@ConditionalOnMissingBean
public
AuthConfigAdapter
authConfigAdapter
()
{
return
new
DefaultAuthConfigAdapter
();
}
@Bean
@Lazy
public
FilterRegistrationBean
<
AuthFilter
>
filterRegistration
(
AuthConfigAdapter
authConfigAdapter
,
AuthFilter
authFilter
)
{
FilterRegistrationBean
<
AuthFilter
>
registration
=
new
FilterRegistrationBean
<>();
// 添加过滤器
registration
.
setFilter
(
authFilter
);
// 设置过滤路径,/*所有路径
registration
.
addUrlPatterns
(
ArrayUtil
.
toArray
(
authConfigAdapter
.
pathPatterns
(),
String
.
class
));
registration
.
setName
(
"authFilter"
);
// 设置优先级
registration
.
setOrder
(
0
);
registration
.
setDispatcherTypes
(
DispatcherType
.
REQUEST
);
return
registration
;
}
}
Prev
1
…
16
17
18
19
20
21
22
23
24
…
34
Next
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment