nodes = new ArrayList<>(nodesObject.size());
- for (String node : nodesObject) {
- if (!node.startsWith(REDIS_PROTOCOL_PREFIX) && !node.startsWith(REDISS_PROTOCOL_PREFIX)) {
- nodes.add(REDIS_PROTOCOL_PREFIX + node);
- } else {
- nodes.add(node);
- }
- }
- return nodes.toArray(new String[0]);
- }
-}
diff --git a/tianji-master/tj-common/src/main/java/com/tianji/common/autoconfigure/redisson/annotations/Lock.java b/tianji-master/tj-common/src/main/java/com/tianji/common/autoconfigure/redisson/annotations/Lock.java
deleted file mode 100644
index 1295c0f..0000000
--- a/tianji-master/tj-common/src/main/java/com/tianji/common/autoconfigure/redisson/annotations/Lock.java
+++ /dev/null
@@ -1,50 +0,0 @@
-package com.tianji.common.autoconfigure.redisson.annotations;
-
-import java.lang.annotation.ElementType;
-import java.lang.annotation.Retention;
-import java.lang.annotation.RetentionPolicy;
-import java.lang.annotation.Target;
-import java.util.concurrent.TimeUnit;
-
-/**
- * 分布式锁
- * Lock
- * @author wusongsong
- *
- * 加锁操作,
- * 抢夺执行权。
- * unlock默认为true 方法执行结束会主动释放锁。
- * 未检测到主动释放锁,则会在1分钟(默认)后自动释放锁.
- * key: 锁的KEY。必须填写。不可于其他锁的KEY重复。
- * time: 锁时间。默认为1
- * unit: 锁时间单位。默认为分钟.
- * unlock: 是否主动解锁。默认为是
- **/
-@Retention(RetentionPolicy.RUNTIME)
-@Target(ElementType.METHOD)
-public @interface Lock {
-
-
- //加锁key的表达式,支持表达式
- String formatter();
-
- //加锁时长
- long time() default 5;
-
- //阻塞超时时间,默认2分钟,当block为true的时候生效
- long waitTime() default 120;
-
- //阻塞超时时间单位,默认s
- TimeUnit wtUnit() default TimeUnit.SECONDS;
-
- //加锁时间单位
- TimeUnit unit() default TimeUnit.SECONDS;
-
- //方法访问完后要不要解锁,默认不解锁
- boolean unlock() default false;
-
- //如果设定了true,将等待处理后进行处理
- boolean block() default false;
-
-
-}
diff --git a/tianji-master/tj-common/src/main/java/com/tianji/common/autoconfigure/redisson/aspect/LockAspect.java b/tianji-master/tj-common/src/main/java/com/tianji/common/autoconfigure/redisson/aspect/LockAspect.java
deleted file mode 100644
index 5ba2c50..0000000
--- a/tianji-master/tj-common/src/main/java/com/tianji/common/autoconfigure/redisson/aspect/LockAspect.java
+++ /dev/null
@@ -1,51 +0,0 @@
-package com.tianji.common.autoconfigure.redisson.aspect;
-
-import com.tianji.common.autoconfigure.redisson.annotations.Lock;
-import com.tianji.common.constants.ErrorInfo;
-import com.tianji.common.exceptions.BadRequestException;
-import com.tianji.common.exceptions.RequestTimeoutException;
-import com.tianji.common.utils.AspectUtils;
-import org.aspectj.lang.ProceedingJoinPoint;
-import org.aspectj.lang.annotation.Around;
-import org.aspectj.lang.annotation.Aspect;
-import org.redisson.api.RLock;
-import org.redisson.api.RedissonClient;
-
-@Aspect
-public class LockAspect {
-
- private final RedissonClient redissonClient;
-
- public LockAspect(RedissonClient redissonClient) {
- this.redissonClient = redissonClient;
- }
-
- //通过环绕加锁,方法执行前加锁,方法执行后根据注解使用解锁
- @Around("@annotation(lock)")
- public Object handleLock(ProceedingJoinPoint pjp, Lock lock) throws Throwable {
- String redisKey = AspectUtils.parse(lock.formatter(), AspectUtils.getMethod(pjp), pjp.getArgs());
- //得到锁
- RLock rLock = redissonClient.getLock(redisKey);
- long waitTime = 0;
- if (lock.block()) { //阻塞等待资源,最多等2分钟
- //根据时间单位转换成ms
- waitTime = lock.wtUnit().toMillis(lock.waitTime());
- }
- boolean success = rLock.tryLock(waitTime, lock.time(), lock.unit());
- if (!success && !lock.block()) { //未阻塞要求的情况下未得到锁
- throw new BadRequestException(ErrorInfo.Msg.REQUEST_OPERATE_FREQUENTLY);
- }
- if (!success) { //阻塞情况下未得到锁,请求超时
- throw new RequestTimeoutException(ErrorInfo.Msg.REQUEST_TIME_OUT);
- }
-
- try {
- return pjp.proceed();
- } finally {
- if(lock.unlock() || lock.block()){ //如果是阻塞锁的话,不管任务执行成功还是失败,都要进行解锁
- rLock.unlock();
- }
- }
-
- }
-}
diff --git a/tianji-master/tj-common/src/main/java/com/tianji/common/autoconfigure/swagger/BaseSwaggerResponseBuilderPlugin.java b/tianji-master/tj-common/src/main/java/com/tianji/common/autoconfigure/swagger/BaseSwaggerResponseBuilderPlugin.java
deleted file mode 100644
index 5862ad7..0000000
--- a/tianji-master/tj-common/src/main/java/com/tianji/common/autoconfigure/swagger/BaseSwaggerResponseBuilderPlugin.java
+++ /dev/null
@@ -1,82 +0,0 @@
-package com.tianji.common.autoconfigure.swagger;
-
-import com.fasterxml.classmate.ResolvedType;
-import com.fasterxml.classmate.TypeResolver;
-import com.tianji.common.domain.R;
-import com.tianji.common.utils.CollUtils;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.core.Ordered;
-import org.springframework.http.HttpStatus;
-import org.springframework.http.MediaType;
-import org.springframework.web.bind.annotation.ResponseStatus;
-import springfox.documentation.schema.property.ModelSpecificationFactory;
-import springfox.documentation.spi.DocumentationType;
-import springfox.documentation.spi.schema.contexts.ModelContext;
-import springfox.documentation.spi.service.OperationBuilderPlugin;
-import springfox.documentation.spi.service.contexts.OperationContext;
-import springfox.documentation.spi.service.contexts.ResponseContext;
-import springfox.documentation.spring.web.plugins.DocumentationPluginsManager;
-
-import java.util.Optional;
-
-import static com.github.xiaoymin.knife4j.spring.util.TypeUtils.isVoid;
-
-public class BaseSwaggerResponseBuilderPlugin implements OperationBuilderPlugin, Ordered {
-
- @Autowired
- private TypeResolver typeResolver;
- @Autowired
- private DocumentationPluginsManager documentationPlugins;
- @Autowired
- private ModelSpecificationFactory modelSpecifications;
-
- @Override
- public boolean supports(DocumentationType documentationType) {
- return true;
- }
-
- @Override
- public int getOrder() {
- return Ordered.HIGHEST_PRECEDENCE+13;
- }
-
- @Override
- public void apply(OperationContext context) {
- // 1.处理返回值类型
- ResolvedType resolvedType = isVoid(context.getReturnType()) ?
- typeResolver.resolve(R.class) : typeResolver.resolve(R.class, context.getReturnType());
- ResolvedType returnType = context.alternateFor(resolvedType);
- // 2.处理状态码为ok
- int httpStatusCode = HttpStatus.OK.value();
- // 3.处理message
- String message = message(context);
- // 4.处理响应类型
- ModelContext modelContext = context.operationModelsBuilder().addReturn(returnType);
- // 5.响应结果
- ResponseContext responseContext = new ResponseContext(context.getDocumentationContext(), context);
- responseContext.responseBuilder()
- .representation(MediaType.APPLICATION_JSON)
- .apply(r -> r.model(m -> {
- m.copyOf(modelSpecifications.create(modelContext, returnType));
- m.name("R");
- m.build();
- }))
- .description(message)
- .code(String.valueOf(httpStatusCode));
- context.operationBuilder()
- .responses(CollUtils.singletonList(documentationPlugins.response(responseContext)));
- }
-
- public static String message(OperationContext context) {
- Optional responseStatus = context.findAnnotation(ResponseStatus.class);
- String reasonPhrase = HttpStatus.OK.getReasonPhrase();
- if (responseStatus.isPresent()) {
- reasonPhrase = responseStatus.get().reason();
- if (reasonPhrase.isEmpty()) {
- reasonPhrase = responseStatus.get().value().getReasonPhrase();
- }
- }
- return reasonPhrase;
- }
-}
-
diff --git a/tianji-master/tj-common/src/main/java/com/tianji/common/autoconfigure/swagger/BaseSwaggerResponseModelPlugin.java b/tianji-master/tj-common/src/main/java/com/tianji/common/autoconfigure/swagger/BaseSwaggerResponseModelPlugin.java
deleted file mode 100644
index 6765096..0000000
--- a/tianji-master/tj-common/src/main/java/com/tianji/common/autoconfigure/swagger/BaseSwaggerResponseModelPlugin.java
+++ /dev/null
@@ -1,38 +0,0 @@
-package com.tianji.common.autoconfigure.swagger;
-
-import com.fasterxml.classmate.ResolvedType;
-import com.fasterxml.classmate.TypeResolver;
-import com.tianji.common.domain.R;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.core.Ordered;
-import springfox.documentation.spi.DocumentationType;
-import springfox.documentation.spi.service.OperationModelsProviderPlugin;
-import springfox.documentation.spi.service.contexts.RequestMappingContext;
-
-import static com.github.xiaoymin.knife4j.spring.util.TypeUtils.isVoid;
-
-public class BaseSwaggerResponseModelPlugin implements OperationModelsProviderPlugin, Ordered {
-
- @Autowired
- private TypeResolver typeResolver;
-
- @Override
- public boolean supports(DocumentationType documentationType) {
- return true;
- }
-
- @Override
- public int getOrder() {
- return Ordered.HIGHEST_PRECEDENCE+12;
- }
-
-
- @Override
- public void apply(RequestMappingContext context) {
- ResolvedType resolvedType = isVoid(context.getReturnType()) ?
- typeResolver.resolve(R.class) : typeResolver.resolve(R.class, context.getReturnType());
- ResolvedType returnType = context.alternateFor(resolvedType);
- context.operationModelsBuilder().addReturn(returnType);
- }
-}
-
diff --git a/tianji-master/tj-common/src/main/java/com/tianji/common/autoconfigure/swagger/Knife4jConfiguration.java b/tianji-master/tj-common/src/main/java/com/tianji/common/autoconfigure/swagger/Knife4jConfiguration.java
deleted file mode 100644
index 4372b94..0000000
--- a/tianji-master/tj-common/src/main/java/com/tianji/common/autoconfigure/swagger/Knife4jConfiguration.java
+++ /dev/null
@@ -1,64 +0,0 @@
-package com.tianji.common.autoconfigure.swagger;
-
-import com.fasterxml.classmate.TypeResolver;
-import com.tianji.common.domain.R;
-import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty;
-import org.springframework.boot.context.properties.EnableConfigurationProperties;
-import org.springframework.context.annotation.Bean;
-import org.springframework.context.annotation.Configuration;
-import org.springframework.context.annotation.Primary;
-import springfox.documentation.builders.ApiInfoBuilder;
-import springfox.documentation.builders.PathSelectors;
-import springfox.documentation.builders.RequestHandlerSelectors;
-import springfox.documentation.service.Contact;
-import springfox.documentation.spi.DocumentationType;
-import springfox.documentation.spring.web.plugins.Docket;
-
-import javax.annotation.Resource;
-
-@Configuration
-@ConditionalOnProperty(prefix = "tj.swagger", name = "enable",havingValue = "true")
-@EnableConfigurationProperties(SwaggerConfigProperties.class)
-public class Knife4jConfiguration {
-
- @Resource
- private SwaggerConfigProperties swaggerConfigProperties;
-
- @Bean(value = "defaultApi2")
- public Docket defaultApi2(TypeResolver typeResolver) {
- // 1.初始化Docket
- Docket docket = new Docket(DocumentationType.SWAGGER_2);
- // 2.是否需要包装R
- if(swaggerConfigProperties.getEnableResponseWrap()){
- docket.additionalModels(typeResolver.resolve(R.class));
- }
- return docket.apiInfo(new ApiInfoBuilder()
- .title(this.swaggerConfigProperties.getTitle())
- .description(this.swaggerConfigProperties.getDescription())
- .contact(new Contact(
- this.swaggerConfigProperties.getContactName(),
- this.swaggerConfigProperties.getContactUrl(),
- this.swaggerConfigProperties.getContactEmail()))
- .version(this.swaggerConfigProperties.getVersion())
- .build())
- .select()
- //这里指定Controller扫描包路径
- .apis(RequestHandlerSelectors.basePackage(swaggerConfigProperties.getPackagePath()))
- .paths(PathSelectors.any())
- .build();
-
- }
- @Bean
- @Primary
- @ConditionalOnProperty(prefix = "tj.swagger", name = "enableResponseWrap",havingValue = "true")
- public BaseSwaggerResponseModelPlugin baseSwaggerResponseModelPlugin(){
- return new BaseSwaggerResponseModelPlugin();
- }
- @Bean
- @Primary
- @ConditionalOnProperty(prefix = "tj.swagger", name = "enableResponseWrap",havingValue = "true")
- public BaseSwaggerResponseBuilderPlugin baseSwaggerResponseBuilderPlugin(){
- return new BaseSwaggerResponseBuilderPlugin();
- }
-
-}
\ No newline at end of file
diff --git a/tianji-master/tj-common/src/main/java/com/tianji/common/autoconfigure/swagger/SwaggerConfigProperties.java b/tianji-master/tj-common/src/main/java/com/tianji/common/autoconfigure/swagger/SwaggerConfigProperties.java
deleted file mode 100644
index 817bba7..0000000
--- a/tianji-master/tj-common/src/main/java/com/tianji/common/autoconfigure/swagger/SwaggerConfigProperties.java
+++ /dev/null
@@ -1,34 +0,0 @@
-package com.tianji.common.autoconfigure.swagger;
-
-import lombok.Data;
-import org.springframework.boot.context.properties.ConfigurationProperties;
-
-import java.io.Serializable;
-
-/**
- * @ClassName SwaggerConfigProperties
- * @author wusongsong
- * @since 2022/6/27 13:47
- * @version 1.0.0
- **/
-@Data
-@ConfigurationProperties(prefix = "tj.swagger")
-public class SwaggerConfigProperties implements Serializable {
-
- private Boolean enable = false;
- private Boolean enableResponseWrap = false;
-
- public String packagePath;
-
- public String title;
-
- public String description;
-
- public String contactName;
-
- public String contactUrl;
-
- public String contactEmail;
-
- public String version;
-}
diff --git a/tianji-master/tj-common/src/main/java/com/tianji/common/autoconfigure/xxljob/XxlJobConfig.java b/tianji-master/tj-common/src/main/java/com/tianji/common/autoconfigure/xxljob/XxlJobConfig.java
deleted file mode 100644
index f899171..0000000
--- a/tianji-master/tj-common/src/main/java/com/tianji/common/autoconfigure/xxljob/XxlJobConfig.java
+++ /dev/null
@@ -1,43 +0,0 @@
-package com.tianji.common.autoconfigure.xxljob;
-
-import com.tianji.common.utils.StringUtils;
-import com.xxl.job.core.executor.impl.XxlJobSpringExecutor;
-import lombok.extern.slf4j.Slf4j;
-import org.springframework.boot.autoconfigure.condition.ConditionalOnClass;
-import org.springframework.boot.context.properties.EnableConfigurationProperties;
-import org.springframework.context.annotation.Bean;
-import org.springframework.context.annotation.Configuration;
-
-@Slf4j
-@Configuration
-@ConditionalOnClass(XxlJobSpringExecutor.class)
-@EnableConfigurationProperties(XxlJobProperties.class)
-public class XxlJobConfig {
-
- @Bean
- public XxlJobSpringExecutor xxlJobExecutor(XxlJobProperties prop) {
- log.info(">>>>>>>>>>> xxl-job config init.");
- XxlJobSpringExecutor xxlJobSpringExecutor = new XxlJobSpringExecutor();
- XxlJobProperties.Admin admin = prop.getAdmin();
- if (admin != null && StringUtils.isNotEmpty(admin.getAddress())) {
- xxlJobSpringExecutor.setAdminAddresses(admin.getAddress());
- }
- XxlJobProperties.Executor executor = prop.getExecutor();
- if (executor != null) {
- if (executor.getAppName() != null)
- xxlJobSpringExecutor.setAppname(executor.getAppName());
- if (executor.getIp() != null)
- xxlJobSpringExecutor.setIp(executor.getIp());
- if (executor.getPort() != null)
- xxlJobSpringExecutor.setPort(executor.getPort());
- if (executor.getLogPath() != null)
- xxlJobSpringExecutor.setLogPath(executor.getLogPath());
- if (executor.getLogRetentionDays() != null)
- xxlJobSpringExecutor.setLogRetentionDays(executor.getLogRetentionDays());
- }
- if (prop.getAccessToken() != null)
- xxlJobSpringExecutor.setAccessToken(prop.getAccessToken());
- log.info(">>>>>>>>>>> xxl-job config end.");
- return xxlJobSpringExecutor;
- }
-}
diff --git a/tianji-master/tj-common/src/main/java/com/tianji/common/autoconfigure/xxljob/XxlJobProperties.java b/tianji-master/tj-common/src/main/java/com/tianji/common/autoconfigure/xxljob/XxlJobProperties.java
deleted file mode 100644
index d997e04..0000000
--- a/tianji-master/tj-common/src/main/java/com/tianji/common/autoconfigure/xxljob/XxlJobProperties.java
+++ /dev/null
@@ -1,29 +0,0 @@
-package com.tianji.common.autoconfigure.xxljob;
-
-import lombok.Data;
-import org.springframework.boot.context.properties.ConfigurationProperties;
-
-@Data
-@ConfigurationProperties(prefix = "tj.xxl-job")
-public class XxlJobProperties {
-
- private String accessToken;
- private Admin admin;
- private Executor executor;
-
- @Data
- public static class Admin {
- private String address;
- }
-
- @Data
- public static class Executor {
- private String appName;
- private String address;
- private String ip;
- private Integer port;
- private String logPath;
- private Integer logRetentionDays;
-
- }
-}
\ No newline at end of file
diff --git a/tianji-master/tj-common/src/main/java/com/tianji/common/constants/Constant.java b/tianji-master/tj-common/src/main/java/com/tianji/common/constants/Constant.java
deleted file mode 100644
index 7f39e48..0000000
--- a/tianji-master/tj-common/src/main/java/com/tianji/common/constants/Constant.java
+++ /dev/null
@@ -1,42 +0,0 @@
-package com.tianji.common.constants;
-
-public interface Constant {
- String REQUEST_ID_HEADER = "requestId";
- String REQUEST_FROM_HEADER = "x-request-from";
-
- String GATEWAY_ORIGIN_NAME = "gateway";
- String FEIGN_ORIGIN_NAME = "feign";
-
- // 数据字段 - id
- String DATA_FIELD_NAME_ID = "id";
-
- // 数据字段 - create_time
- String DATA_FIELD_NAME_CREATE_TIME = "create_time";
- String DATA_FIELD_NAME_CREATE_TIME_CAMEL = "createTime";
-
- // 数据字段 - update_time
- String DATA_FIELD_NAME_UPDATE_TIME = "update_time";
- String DATA_FIELD_NAME_UPDATE_TIME_CAMEL = "updateTime";
-
- // 数据字段 - liked_times
- String DATA_FIELD_NAME_LIKED_TIME = "liked_times";
- String DATA_FIELD_NAME_LIKED_TIME_CAMEL = "likedTimes";
-
- // 数据字段 - creater
- String DATA_FIELD_NAME_CREATER = "creater";
-
- // 数据字段 - updater
- String DATA_FIELD_NAME_UPDATER = "updater";
-
- // 数据已经删除标识值
- boolean DATA_DELETE = true;
- // 数据未删除标识值
- boolean DATA_NOT_DELETE = false;
- // 响应结果是否被R标记过
- String BODY_PROCESSED_MARK_HEADER = "IS_BODY_PROCESSED";
-
-
-
-
-
-}
diff --git a/tianji-master/tj-common/src/main/java/com/tianji/common/constants/ErrorInfo.java b/tianji-master/tj-common/src/main/java/com/tianji/common/constants/ErrorInfo.java
deleted file mode 100644
index e2bf170..0000000
--- a/tianji-master/tj-common/src/main/java/com/tianji/common/constants/ErrorInfo.java
+++ /dev/null
@@ -1,31 +0,0 @@
-package com.tianji.common.constants;
-
-public interface ErrorInfo {
-
- interface Msg {
- String OK = "OK";
- String INVALID_VERIFY_CODE = "验证码错误";
-
-
- String SERVER_INTER_ERROR = "服务器内部错误";
-
- String DB_SAVE_EXCEPTION = "数据新增失败";
- String DB_DELETE_EXCEPTION = "数据删除失败";
- String DB_BATCH_DELETE_EXCEPTION = "数据批量删除失败";
- String DB_UPDATE_EXCEPTION = "数据更新失败";
- String DB_SORT_FIELD_NOT_FOUND = "排序字段不存在";
- String OPERATE_FAILED = "操作失败";
-
- String REQUEST_PARAM_ILLEGAL = "请求参数不合法";
- String REQUEST_OPERATE_FREQUENTLY = "操作频繁,请稍后重试";
- String REQUEST_TIME_OUT = "请求超时";
-
- String USER_NOT_EXISTS = "用户信息不存在";
- String INVALID_USER_TYPE = "无效的用户类型";
- }
-
- interface Code {
- int SUCCESS = 200;
- int FAILED = 0;
- }
-}
diff --git a/tianji-master/tj-common/src/main/java/com/tianji/common/constants/MqConstants.java b/tianji-master/tj-common/src/main/java/com/tianji/common/constants/MqConstants.java
deleted file mode 100644
index b449a36..0000000
--- a/tianji-master/tj-common/src/main/java/com/tianji/common/constants/MqConstants.java
+++ /dev/null
@@ -1,78 +0,0 @@
-package com.tianji.common.constants;
-
-public interface MqConstants {
- interface Exchange{
- /*课程有关的交换机*/
- String COURSE_EXCHANGE = "course.topic";
-
- /*订单有关的交换机*/
- String ORDER_EXCHANGE = "order.topic";
-
- /*学习有关的交换机*/
- String LEARNING_EXCHANGE = "learning.topic";
-
- /*信息中心短信相关的交换机*/
- String SMS_EXCHANGE = "sms.direct";
-
- /*异常信息的交换机*/
- String ERROR_EXCHANGE = "error.topic";
-
- /*支付有关的交换机*/
- String PAY_EXCHANGE = "pay.topic";
- /*交易服务延迟任务交换机*/
- String TRADE_DELAY_EXCHANGE = "trade.delay.topic";
- // 优惠券有关交换机
- String PROMOTION_EXCHANGE = "promotion.topic";
-
- /*点赞记录有关的交换机*/
- String LIKE_RECORD_EXCHANGE = "like.record.topic";
- }
- interface Queue {
- String ERROR_QUEUE_TEMPLATE = "error.{}.queue";
- }
- interface Key{
- /*课程有关的 RoutingKey*/
- String COURSE_NEW_KEY = "course.new";
- String COURSE_UP_KEY = "course.up";
- String COURSE_DOWN_KEY = "course.down";
- String COURSE_EXPIRE_KEY = "course.expire";
- String COURSE_DELETE_KEY = "course.delete";
-
- /*订单有关的RoutingKey*/
- String ORDER_PAY_KEY = "order.pay";
- String ORDER_REFUND_KEY = "order.refund";
-
- /*积分相关RoutingKey*/
- /* 写回答 */
- String WRITE_REPLY = "reply.new";
- /* 签到 */
- String SIGN_IN = "sign.in";
- /* 学习视频 */
- String LEARN_SECTION = "section.learned";
- /* 写笔记 */
- String WRITE_NOTE = "note.new";
- /* 笔记被采集 */
- String NOTE_GATHERED = "note.gathered";
-
- /*点赞的RoutingKey*/
- String LIKED_TIMES_KEY_TEMPLATE = "{}.times.changed";
- /*问答*/
- String QA_LIKED_TIMES_KEY = "QA.times.changed";
- /*笔记*/
- String NOTE_LIKED_TIMES_KEY = "NOTE.times.changed";
-
- /*短信系统发送短信*/
- String SMS_MESSAGE = "sms.message";
-
- /*异常RoutingKey的前缀*/
- String ERROR_KEY_PREFIX = "error.";
- String DEFAULT_ERROR_KEY = "error.#";
-
- /*支付有关的key*/
- String PAY_SUCCESS = "pay.success";
- String REFUND_CHANGE = "refund.status.change";
-
- String ORDER_DELAY_KEY = "delay.order.query";
- String COUPON_RECEIVE = "coupon:receive";
- }
-}
diff --git a/tianji-master/tj-common/src/main/java/com/tianji/common/constants/RegexConstants.java b/tianji-master/tj-common/src/main/java/com/tianji/common/constants/RegexConstants.java
deleted file mode 100644
index 3b3a86d..0000000
--- a/tianji-master/tj-common/src/main/java/com/tianji/common/constants/RegexConstants.java
+++ /dev/null
@@ -1,31 +0,0 @@
-package com.tianji.common.constants;
-
-import cn.hutool.core.lang.RegexPool;
-
-public interface RegexConstants extends RegexPool {
- /**
- * 手机号正则
- */
- String PHONE_PATTERN = "^1([38][0-9]|4[579]|5[0-3,5-9]|6[6]|7[0135678]|9[89])\\d{8}$";
- /**
- * 邮箱正则
- */
- String EMAIL_PATTERN = "^[a-zA-Z0-9_-]+@[a-zA-Z0-9_-]+(\\.[a-zA-Z0-9_-]+)+$";
- /**
- * 密码正则。6~32位的字母、数字、下划线
- */
- String PASSWORD_PATTERN = "^\\w{4,24}$";
- /**
- * 用户名正则。6~32位的字母、数字、下划线
- */
- String USERNAME_PATTERN = "^\\w{4,32}$";
- /**
- * 验证码正则, 6位数字或字母
- */
- String VERIFY_CODE_PATTERN = "^[a-zA-Z\\d]{6}$";
-
- /**
- * 优惠券兑换码模板
- */
- String COUPON_CODE_PATTERN = "^[23456789ABCDEFGHJKLMNPQRSTUVWXYZ]{8}$";
-}
diff --git a/tianji-master/tj-common/src/main/java/com/tianji/common/domain/R.java b/tianji-master/tj-common/src/main/java/com/tianji/common/domain/R.java
deleted file mode 100644
index 52769dc..0000000
--- a/tianji-master/tj-common/src/main/java/com/tianji/common/domain/R.java
+++ /dev/null
@@ -1,59 +0,0 @@
-package com.tianji.common.domain;
-
-import com.tianji.common.constants.Constant;
-import io.swagger.annotations.ApiModel;
-import io.swagger.annotations.ApiModelProperty;
-import lombok.Data;
-import org.slf4j.MDC;
-
-import static com.tianji.common.constants.ErrorInfo.Code.FAILED;
-import static com.tianji.common.constants.ErrorInfo.Code.SUCCESS;
-import static com.tianji.common.constants.ErrorInfo.Msg.OK;
-
-@Data
-@ApiModel(description = "通用响应结果")
-public class R {
- @ApiModelProperty(value = "业务状态码,200-成功,其它-失败")
- private int code;
- @ApiModelProperty(value = "响应消息", example = "OK")
- private String msg;
- @ApiModelProperty(value = "响应数据")
- private T data;
- @ApiModelProperty(value = "请求id", example = "1af123c11412e")
- private String requestId;
-
- public static R ok() {
- return new R(SUCCESS, OK, null);
- }
-
- public static R ok(T data) {
- return new R<>(SUCCESS, OK, data);
- }
-
- public static R error(String msg) {
- return new R<>(FAILED, msg, null);
- }
-
- public static R error(int code, String msg) {
- return new R<>(code, msg, null);
- }
-
- public R() {
- }
-
- public R(int code, String msg, T data) {
- this.code = code;
- this.msg = msg;
- this.data = data;
- this.requestId = MDC.get(Constant.REQUEST_ID_HEADER);
- }
-
- public boolean success(){
- return code == SUCCESS;
- }
-
- public R requestId(String requestId) {
- this.requestId = requestId;
- return this;
- }
-}
diff --git a/tianji-master/tj-common/src/main/java/com/tianji/common/domain/dto/BaseDTO.java b/tianji-master/tj-common/src/main/java/com/tianji/common/domain/dto/BaseDTO.java
deleted file mode 100644
index 26d31db..0000000
--- a/tianji-master/tj-common/src/main/java/com/tianji/common/domain/dto/BaseDTO.java
+++ /dev/null
@@ -1,18 +0,0 @@
-package com.tianji.common.domain.dto;
-
-import io.swagger.annotations.ApiModel;
-import io.swagger.annotations.ApiModelProperty;
-
-import java.time.LocalDateTime;
-
-@ApiModel(description = "DTO基础属性")
-public class BaseDTO {
- @ApiModelProperty("创建人id")
- private Long creater;
- @ApiModelProperty("更新人id")
- private Long updater;
- @ApiModelProperty("创建时间")
- private LocalDateTime createTime;
- @ApiModelProperty("更新时间")
- private LocalDateTime updateTime;
-}
diff --git a/tianji-master/tj-common/src/main/java/com/tianji/common/domain/dto/IdNameDTO.java b/tianji-master/tj-common/src/main/java/com/tianji/common/domain/dto/IdNameDTO.java
deleted file mode 100644
index f2ab03b..0000000
--- a/tianji-master/tj-common/src/main/java/com/tianji/common/domain/dto/IdNameDTO.java
+++ /dev/null
@@ -1,18 +0,0 @@
-package com.tianji.common.domain.dto;
-
-import io.swagger.annotations.ApiModel;
-import io.swagger.annotations.ApiModelProperty;
-import lombok.AllArgsConstructor;
-import lombok.Data;
-import lombok.NoArgsConstructor;
-
-@Data
-@ApiModel(description = "id和name键值对")
-@NoArgsConstructor
-@AllArgsConstructor
-public class IdNameDTO {
- @ApiModelProperty("id")
- private Long id;
- @ApiModelProperty("name")
- private String name;
-}
diff --git a/tianji-master/tj-common/src/main/java/com/tianji/common/domain/dto/LoginUserDTO.java b/tianji-master/tj-common/src/main/java/com/tianji/common/domain/dto/LoginUserDTO.java
deleted file mode 100644
index 77c2bd3..0000000
--- a/tianji-master/tj-common/src/main/java/com/tianji/common/domain/dto/LoginUserDTO.java
+++ /dev/null
@@ -1,10 +0,0 @@
-package com.tianji.common.domain.dto;
-
-import lombok.Data;
-
-@Data
-public class LoginUserDTO {
- private Long userId;
- private Long roleId;
- private Boolean rememberMe;
-}
diff --git a/tianji-master/tj-common/src/main/java/com/tianji/common/domain/dto/PageDTO.java b/tianji-master/tj-common/src/main/java/com/tianji/common/domain/dto/PageDTO.java
deleted file mode 100644
index 9d65ffc..0000000
--- a/tianji-master/tj-common/src/main/java/com/tianji/common/domain/dto/PageDTO.java
+++ /dev/null
@@ -1,74 +0,0 @@
-package com.tianji.common.domain.dto;
-
-
-import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
-import com.fasterxml.jackson.annotation.JsonIgnore;
-import com.tianji.common.utils.BeanUtils;
-import com.tianji.common.utils.CollUtils;
-import com.tianji.common.utils.Convert;
-import io.swagger.annotations.ApiModel;
-import io.swagger.annotations.ApiModelProperty;
-import lombok.AllArgsConstructor;
-import lombok.Data;
-import lombok.NoArgsConstructor;
-
-import java.util.List;
-import java.util.function.Function;
-import java.util.stream.Collectors;
-
-@Data
-@NoArgsConstructor
-@AllArgsConstructor
-@ApiModel(description = "分页结果")
-public class PageDTO {
- @ApiModelProperty("总条数")
- protected Long total;
- @ApiModelProperty("总页码数")
- protected Long pages;
- @ApiModelProperty("当前页数据")
- protected List list;
-
- public static PageDTO empty(Long total, Long pages) {
- return new PageDTO<>(total, pages, CollUtils.emptyList());
- }
- public static PageDTO empty(Page> page) {
- return new PageDTO<>(page.getTotal(), page.getPages(), CollUtils.emptyList());
- }
-
- public static PageDTO of(Page page) {
- if(page == null){
- return new PageDTO<>();
- }
- if (CollUtils.isEmpty(page.getRecords())) {
- return empty(page);
- }
- return new PageDTO<>(page.getTotal(), page.getPages(), page.getRecords());
- }
- public static PageDTO of(Page page, Function mapper) {
- if(page == null){
- return new PageDTO<>();
- }
- if (CollUtils.isEmpty(page.getRecords())) {
- return empty(page);
- }
- return new PageDTO<>(page.getTotal(), page.getPages(),
- page.getRecords().stream().map(mapper).collect(Collectors.toList()));
- }
- public static PageDTO of(Page> page, List list) {
- return new PageDTO<>(page.getTotal(), page.getPages(), list);
- }
-
- public static PageDTO of(Page page, Class clazz) {
- return new PageDTO<>(page.getTotal(), page.getPages(), BeanUtils.copyList(page.getRecords(), clazz));
- }
-
- public static PageDTO of(Page page, Class clazz, Convert convert) {
- return new PageDTO<>(page.getTotal(), page.getPages(), BeanUtils.copyList(page.getRecords(), clazz, convert));
- }
-
- @ApiModelProperty(hidden = true)
- @JsonIgnore
- public boolean isEmpty(){
- return list == null || list.size() == 0;
- }
-}
diff --git a/tianji-master/tj-common/src/main/java/com/tianji/common/domain/query/PageQuery.java b/tianji-master/tj-common/src/main/java/com/tianji/common/domain/query/PageQuery.java
deleted file mode 100644
index 14f0bef..0000000
--- a/tianji-master/tj-common/src/main/java/com/tianji/common/domain/query/PageQuery.java
+++ /dev/null
@@ -1,73 +0,0 @@
-package com.tianji.common.domain.query;
-
-import com.baomidou.mybatisplus.core.metadata.OrderItem;
-import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
-import com.tianji.common.constants.Constant;
-import com.tianji.common.utils.StringUtils;
-import io.swagger.annotations.ApiModel;
-import io.swagger.annotations.ApiModelProperty;
-import lombok.Data;
-import lombok.experimental.Accessors;
-
-import javax.validation.constraints.Min;
-
-@Data
-@ApiModel(description = "分页请求参数")
-@Accessors(chain = true)
-public class PageQuery {
- public static final Integer DEFAULT_PAGE_SIZE = 20;
- public static final Integer DEFAULT_PAGE_NUM = 1;
-
- @ApiModelProperty(value = "页码", example = "1")
- @Min(value = 1, message = "页码不能小于1")
- private Integer pageNo = DEFAULT_PAGE_NUM;
-
- @ApiModelProperty(value = "每页大小", example = "5")
- @Min(value = 1, message = "每页查询数量不能小于1")
- private Integer pageSize = DEFAULT_PAGE_SIZE;
-
- @ApiModelProperty(value = "是否升序", example = "true")
- private Boolean isAsc = true;
-
- @ApiModelProperty(value = "排序字段", example = "id")
- private String sortBy;
-
- public int from(){
- return (pageNo - 1) * pageSize;
- }
-
- public Page toMpPage(OrderItem ... orderItems) {
- Page page = new Page<>(pageNo, pageSize);
- // 是否手动指定排序方式
- if (orderItems != null && orderItems.length > 0) {
- for (OrderItem orderItem : orderItems) {
- page.addOrder(orderItem);
- }
- return page;
- }
- // 前端是否有排序字段
- if (StringUtils.isNotEmpty(sortBy)){
- OrderItem orderItem = new OrderItem();
- orderItem.setAsc(isAsc);
- orderItem.setColumn(sortBy);
- page.addOrder(orderItem);
- }
- return page;
- }
-
- public Page toMpPage(String defaultSortBy, boolean isAsc) {
- if (StringUtils.isBlank(sortBy)){
- sortBy = defaultSortBy;
- this.isAsc = isAsc;
- }
- Page page = new Page<>(pageNo, pageSize);
- OrderItem orderItem = new OrderItem();
- orderItem.setAsc(this.isAsc);
- orderItem.setColumn(sortBy);
- page.addOrder(orderItem);
- return page;
- }
- public