mirror of
https://github.com/zongzibinbin/MallChat.git
synced 2026-04-08 00:57:33 +00:00
格式化代码
This commit is contained in:
@@ -1,14 +1,11 @@
|
|||||||
package com.abin.mallchat.common.chat.dao;
|
package com.abin.mallchat.common.chat.dao;
|
||||||
|
|
||||||
import cn.hutool.core.util.StrUtil;
|
|
||||||
import com.abin.mallchat.common.chat.domain.entity.Message;
|
import com.abin.mallchat.common.chat.domain.entity.Message;
|
||||||
import com.abin.mallchat.common.chat.domain.enums.MessageStatusEnum;
|
import com.abin.mallchat.common.chat.domain.enums.MessageStatusEnum;
|
||||||
import com.abin.mallchat.common.chat.mapper.MessageMapper;
|
import com.abin.mallchat.common.chat.mapper.MessageMapper;
|
||||||
import com.abin.mallchat.common.common.domain.vo.request.CursorPageBaseReq;
|
import com.abin.mallchat.common.common.domain.vo.request.CursorPageBaseReq;
|
||||||
import com.abin.mallchat.common.common.domain.vo.response.CursorPageBaseResp;
|
import com.abin.mallchat.common.common.domain.vo.response.CursorPageBaseResp;
|
||||||
import com.abin.mallchat.common.common.utils.CursorUtils;
|
import com.abin.mallchat.common.common.utils.CursorUtils;
|
||||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
|
||||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
|
||||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||||
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
import org.springframework.stereotype.Service;
|
import org.springframework.stereotype.Service;
|
||||||
|
|||||||
@@ -2,7 +2,6 @@ package com.abin.mallchat.common.chat.dao;
|
|||||||
|
|
||||||
import com.abin.mallchat.common.chat.domain.entity.MessageMark;
|
import com.abin.mallchat.common.chat.domain.entity.MessageMark;
|
||||||
import com.abin.mallchat.common.chat.mapper.MessageMarkMapper;
|
import com.abin.mallchat.common.chat.mapper.MessageMarkMapper;
|
||||||
import com.abin.mallchat.common.chat.service.IMessageMarkService;
|
|
||||||
import com.abin.mallchat.common.common.domain.enums.YesOrNoEnum;
|
import com.abin.mallchat.common.common.domain.enums.YesOrNoEnum;
|
||||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||||
import org.springframework.stereotype.Service;
|
import org.springframework.stereotype.Service;
|
||||||
|
|||||||
@@ -1,8 +1,6 @@
|
|||||||
package com.abin.mallchat.common.chat.dao;
|
package com.abin.mallchat.common.chat.dao;
|
||||||
|
|
||||||
import com.abin.mallchat.common.chat.domain.entity.Message;
|
|
||||||
import com.abin.mallchat.common.chat.domain.entity.Room;
|
import com.abin.mallchat.common.chat.domain.entity.Room;
|
||||||
import com.abin.mallchat.common.chat.domain.enums.MessageStatusEnum;
|
|
||||||
import com.abin.mallchat.common.chat.domain.enums.RoomTypeEnum;
|
import com.abin.mallchat.common.chat.domain.enums.RoomTypeEnum;
|
||||||
import com.abin.mallchat.common.chat.mapper.RoomMapper;
|
import com.abin.mallchat.common.chat.mapper.RoomMapper;
|
||||||
import com.abin.mallchat.common.common.domain.vo.request.CursorPageBaseReq;
|
import com.abin.mallchat.common.common.domain.vo.request.CursorPageBaseReq;
|
||||||
|
|||||||
@@ -2,7 +2,6 @@ package com.abin.mallchat.common.chat.dao;
|
|||||||
|
|
||||||
import com.abin.mallchat.common.chat.domain.entity.WxMsg;
|
import com.abin.mallchat.common.chat.domain.entity.WxMsg;
|
||||||
import com.abin.mallchat.common.chat.mapper.WxMsgMapper;
|
import com.abin.mallchat.common.chat.mapper.WxMsgMapper;
|
||||||
import com.abin.mallchat.common.chat.service.IWxMsgService;
|
|
||||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||||
import org.springframework.stereotype.Service;
|
import org.springframework.stereotype.Service;
|
||||||
|
|
||||||
|
|||||||
@@ -6,8 +6,6 @@ import lombok.Builder;
|
|||||||
import lombok.Data;
|
import lombok.Data;
|
||||||
import lombok.NoArgsConstructor;
|
import lombok.NoArgsConstructor;
|
||||||
|
|
||||||
import javax.validation.constraints.NotNull;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Description: 消息标记请求
|
* Description: 消息标记请求
|
||||||
* Author: <a href="https://github.com/zongzibinbin">abin</a>
|
* Author: <a href="https://github.com/zongzibinbin">abin</a>
|
||||||
|
|||||||
@@ -1,17 +1,14 @@
|
|||||||
package com.abin.mallchat.common.chat.domain.entity;
|
package com.abin.mallchat.common.chat.domain.entity;
|
||||||
|
|
||||||
import com.abin.mallchat.common.user.domain.entity.IpInfo;
|
|
||||||
import com.baomidou.mybatisplus.annotation.TableName;
|
|
||||||
import com.baomidou.mybatisplus.annotation.IdType;
|
import com.baomidou.mybatisplus.annotation.IdType;
|
||||||
import com.baomidou.mybatisplus.annotation.TableId;
|
|
||||||
import java.time.LocalDateTime;
|
|
||||||
import com.baomidou.mybatisplus.annotation.TableField;
|
import com.baomidou.mybatisplus.annotation.TableField;
|
||||||
import java.io.Serializable;
|
import com.baomidou.mybatisplus.annotation.TableId;
|
||||||
import java.util.Date;
|
import com.baomidou.mybatisplus.annotation.TableName;
|
||||||
|
|
||||||
import com.baomidou.mybatisplus.extension.handlers.JacksonTypeHandler;
|
import com.baomidou.mybatisplus.extension.handlers.JacksonTypeHandler;
|
||||||
import lombok.*;
|
import lombok.*;
|
||||||
import lombok.experimental.Accessors;
|
|
||||||
|
import java.io.Serializable;
|
||||||
|
import java.util.Date;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* <p>
|
* <p>
|
||||||
@@ -63,6 +60,7 @@ public class Message implements Serializable {
|
|||||||
|
|
||||||
/**
|
/**
|
||||||
* 消息状态 0正常 1删除
|
* 消息状态 0正常 1删除
|
||||||
|
*
|
||||||
* @see com.abin.mallchat.common.chat.domain.enums.MessageStatusEnum
|
* @see com.abin.mallchat.common.chat.domain.enums.MessageStatusEnum
|
||||||
*/
|
*/
|
||||||
@TableField("status")
|
@TableField("status")
|
||||||
@@ -76,6 +74,7 @@ public class Message implements Serializable {
|
|||||||
|
|
||||||
/**
|
/**
|
||||||
* 消息类型 1正常文本 2.爆赞 (点赞超过10)3.危险发言(举报超5)
|
* 消息类型 1正常文本 2.爆赞 (点赞超过10)3.危险发言(举报超5)
|
||||||
|
*
|
||||||
* @see com.abin.mallchat.common.chat.domain.enums.MessageTypeEnum
|
* @see com.abin.mallchat.common.chat.domain.enums.MessageTypeEnum
|
||||||
*/
|
*/
|
||||||
@TableField("type")
|
@TableField("type")
|
||||||
|
|||||||
@@ -1,6 +1,5 @@
|
|||||||
package com.abin.mallchat.common.chat.domain.entity;
|
package com.abin.mallchat.common.chat.domain.entity;
|
||||||
|
|
||||||
import com.abin.mallchat.common.user.domain.entity.IpDetail;
|
|
||||||
import lombok.AllArgsConstructor;
|
import lombok.AllArgsConstructor;
|
||||||
import lombok.Builder;
|
import lombok.Builder;
|
||||||
import lombok.Data;
|
import lombok.Data;
|
||||||
|
|||||||
@@ -1,14 +1,13 @@
|
|||||||
package com.abin.mallchat.common.chat.domain.entity;
|
package com.abin.mallchat.common.chat.domain.entity;
|
||||||
|
|
||||||
import com.baomidou.mybatisplus.annotation.TableName;
|
|
||||||
import com.baomidou.mybatisplus.annotation.IdType;
|
import com.baomidou.mybatisplus.annotation.IdType;
|
||||||
import com.baomidou.mybatisplus.annotation.TableId;
|
|
||||||
import java.time.LocalDateTime;
|
|
||||||
import com.baomidou.mybatisplus.annotation.TableField;
|
import com.baomidou.mybatisplus.annotation.TableField;
|
||||||
import java.io.Serializable;
|
import com.baomidou.mybatisplus.annotation.TableId;
|
||||||
|
import com.baomidou.mybatisplus.annotation.TableName;
|
||||||
import lombok.*;
|
import lombok.*;
|
||||||
import lombok.experimental.Accessors;
|
|
||||||
|
import java.io.Serializable;
|
||||||
|
import java.time.LocalDateTime;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* <p>
|
* <p>
|
||||||
@@ -48,6 +47,7 @@ public class MessageMark implements Serializable {
|
|||||||
|
|
||||||
/**
|
/**
|
||||||
* 标记类型 1点赞 2举报
|
* 标记类型 1点赞 2举报
|
||||||
|
*
|
||||||
* @see com.abin.mallchat.common.chat.domain.enums.MessageMarkTypeEnum
|
* @see com.abin.mallchat.common.chat.domain.enums.MessageMarkTypeEnum
|
||||||
*/
|
*/
|
||||||
@TableField("type")
|
@TableField("type")
|
||||||
|
|||||||
@@ -1,16 +1,15 @@
|
|||||||
package com.abin.mallchat.common.chat.domain.entity;
|
package com.abin.mallchat.common.chat.domain.entity;
|
||||||
|
|
||||||
import com.baomidou.mybatisplus.annotation.TableName;
|
|
||||||
import com.baomidou.mybatisplus.annotation.IdType;
|
import com.baomidou.mybatisplus.annotation.IdType;
|
||||||
import com.baomidou.mybatisplus.annotation.TableId;
|
|
||||||
import java.time.LocalDateTime;
|
|
||||||
import com.baomidou.mybatisplus.annotation.TableField;
|
import com.baomidou.mybatisplus.annotation.TableField;
|
||||||
import java.io.Serializable;
|
import com.baomidou.mybatisplus.annotation.TableId;
|
||||||
import java.util.Date;
|
import com.baomidou.mybatisplus.annotation.TableName;
|
||||||
|
|
||||||
import lombok.Data;
|
import lombok.Data;
|
||||||
import lombok.EqualsAndHashCode;
|
import lombok.EqualsAndHashCode;
|
||||||
|
|
||||||
|
import java.io.Serializable;
|
||||||
|
import java.util.Date;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* <p>
|
* <p>
|
||||||
* 会话表
|
* 会话表
|
||||||
@@ -40,6 +39,7 @@ public class Room implements Serializable {
|
|||||||
|
|
||||||
/**
|
/**
|
||||||
* 会话类型 1大群聊 2沸点
|
* 会话类型 1大群聊 2沸点
|
||||||
|
*
|
||||||
* @see com.abin.mallchat.common.chat.domain.enums.RoomTypeEnum
|
* @see com.abin.mallchat.common.chat.domain.enums.RoomTypeEnum
|
||||||
*/
|
*/
|
||||||
@TableField("type")
|
@TableField("type")
|
||||||
|
|||||||
@@ -1,16 +1,15 @@
|
|||||||
package com.abin.mallchat.common.chat.domain.entity;
|
package com.abin.mallchat.common.chat.domain.entity;
|
||||||
|
|
||||||
import com.baomidou.mybatisplus.annotation.TableName;
|
|
||||||
import com.baomidou.mybatisplus.annotation.IdType;
|
import com.baomidou.mybatisplus.annotation.IdType;
|
||||||
import com.baomidou.mybatisplus.annotation.TableId;
|
|
||||||
import java.time.LocalDateTime;
|
|
||||||
import com.baomidou.mybatisplus.annotation.TableField;
|
import com.baomidou.mybatisplus.annotation.TableField;
|
||||||
import java.io.Serializable;
|
import com.baomidou.mybatisplus.annotation.TableId;
|
||||||
import java.util.Date;
|
import com.baomidou.mybatisplus.annotation.TableName;
|
||||||
|
|
||||||
import lombok.Data;
|
import lombok.Data;
|
||||||
import lombok.EqualsAndHashCode;
|
import lombok.EqualsAndHashCode;
|
||||||
|
|
||||||
|
import java.io.Serializable;
|
||||||
|
import java.util.Date;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* <p>
|
* <p>
|
||||||
* 微信消息表
|
* 微信消息表
|
||||||
|
|||||||
@@ -1,6 +1,9 @@
|
|||||||
package com.abin.mallchat.common.common.annotation;
|
package com.abin.mallchat.common.common.annotation;
|
||||||
|
|
||||||
import java.lang.annotation.*;
|
import java.lang.annotation.ElementType;
|
||||||
|
import java.lang.annotation.Retention;
|
||||||
|
import java.lang.annotation.RetentionPolicy;
|
||||||
|
import java.lang.annotation.Target;
|
||||||
|
|
||||||
|
|
||||||
@Retention(RetentionPolicy.RUNTIME)//运行时生效
|
@Retention(RetentionPolicy.RUNTIME)//运行时生效
|
||||||
|
|||||||
@@ -1,8 +1,9 @@
|
|||||||
package com.abin.mallchat.common.common.annotation;
|
package com.abin.mallchat.common.common.annotation;
|
||||||
|
|
||||||
import org.springframework.core.annotation.AliasFor;
|
import java.lang.annotation.ElementType;
|
||||||
|
import java.lang.annotation.Retention;
|
||||||
import java.lang.annotation.*;
|
import java.lang.annotation.RetentionPolicy;
|
||||||
|
import java.lang.annotation.Target;
|
||||||
import java.util.concurrent.TimeUnit;
|
import java.util.concurrent.TimeUnit;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|||||||
@@ -12,14 +12,8 @@ import org.aspectj.lang.ProceedingJoinPoint;
|
|||||||
import org.aspectj.lang.annotation.Around;
|
import org.aspectj.lang.annotation.Around;
|
||||||
import org.aspectj.lang.annotation.Aspect;
|
import org.aspectj.lang.annotation.Aspect;
|
||||||
import org.aspectj.lang.reflect.MethodSignature;
|
import org.aspectj.lang.reflect.MethodSignature;
|
||||||
import org.springframework.beans.factory.annotation.Autowired;
|
|
||||||
import org.springframework.core.DefaultParameterNameDiscoverer;
|
|
||||||
import org.springframework.expression.EvaluationContext;
|
|
||||||
import org.springframework.expression.Expression;
|
|
||||||
import org.springframework.expression.ExpressionParser;
|
|
||||||
import org.springframework.expression.spel.standard.SpelExpressionParser;
|
|
||||||
import org.springframework.expression.spel.support.StandardEvaluationContext;
|
|
||||||
import org.springframework.stereotype.Component;
|
import org.springframework.stereotype.Component;
|
||||||
|
|
||||||
import java.lang.reflect.Method;
|
import java.lang.reflect.Method;
|
||||||
import java.util.*;
|
import java.util.*;
|
||||||
|
|
||||||
|
|||||||
@@ -1,34 +1,19 @@
|
|||||||
package com.abin.mallchat.common.common.aspect;
|
package com.abin.mallchat.common.common.aspect;
|
||||||
|
|
||||||
import cn.hutool.core.util.StrUtil;
|
import cn.hutool.core.util.StrUtil;
|
||||||
import com.abin.mallchat.common.common.annotation.FrequencyControl;
|
|
||||||
import com.abin.mallchat.common.common.annotation.RedissonLock;
|
import com.abin.mallchat.common.common.annotation.RedissonLock;
|
||||||
import com.abin.mallchat.common.common.exception.BusinessException;
|
|
||||||
import com.abin.mallchat.common.common.exception.CommonErrorEnum;
|
|
||||||
import com.abin.mallchat.common.common.service.LockService;
|
import com.abin.mallchat.common.common.service.LockService;
|
||||||
import com.abin.mallchat.common.common.utils.RedisUtils;
|
|
||||||
import com.abin.mallchat.common.common.utils.RequestHolder;
|
|
||||||
import com.abin.mallchat.common.common.utils.SpElUtils;
|
import com.abin.mallchat.common.common.utils.SpElUtils;
|
||||||
import lombok.extern.slf4j.Slf4j;
|
import lombok.extern.slf4j.Slf4j;
|
||||||
import org.aspectj.lang.ProceedingJoinPoint;
|
import org.aspectj.lang.ProceedingJoinPoint;
|
||||||
import org.aspectj.lang.annotation.Around;
|
import org.aspectj.lang.annotation.Around;
|
||||||
import org.aspectj.lang.annotation.Aspect;
|
import org.aspectj.lang.annotation.Aspect;
|
||||||
import org.aspectj.lang.reflect.MethodSignature;
|
import org.aspectj.lang.reflect.MethodSignature;
|
||||||
import org.aspectj.weaver.ast.Test;
|
|
||||||
import org.redisson.api.RedissonClient;
|
|
||||||
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
import org.springframework.core.DefaultParameterNameDiscoverer;
|
|
||||||
import org.springframework.core.annotation.Order;
|
import org.springframework.core.annotation.Order;
|
||||||
import org.springframework.expression.EvaluationContext;
|
|
||||||
import org.springframework.expression.Expression;
|
|
||||||
import org.springframework.expression.ExpressionParser;
|
|
||||||
import org.springframework.expression.spel.standard.SpelExpressionParser;
|
|
||||||
import org.springframework.expression.spel.support.StandardEvaluationContext;
|
|
||||||
import org.springframework.stereotype.Component;
|
import org.springframework.stereotype.Component;
|
||||||
|
|
||||||
import java.lang.reflect.Method;
|
import java.lang.reflect.Method;
|
||||||
import java.util.*;
|
|
||||||
import java.util.concurrent.TimeUnit;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Description: 分布式锁切面
|
* Description: 分布式锁切面
|
||||||
|
|||||||
@@ -1,9 +1,7 @@
|
|||||||
package com.abin.mallchat.common.common.config;
|
package com.abin.mallchat.common.common.config;
|
||||||
|
|
||||||
import cn.hutool.json.JSONUtil;
|
|
||||||
import com.fasterxml.jackson.databind.ObjectMapper;
|
import com.fasterxml.jackson.databind.ObjectMapper;
|
||||||
import lombok.SneakyThrows;
|
import lombok.SneakyThrows;
|
||||||
import net.sf.json.util.JSONUtils;
|
|
||||||
import org.springframework.context.annotation.Bean;
|
import org.springframework.context.annotation.Bean;
|
||||||
import org.springframework.context.annotation.Configuration;
|
import org.springframework.context.annotation.Configuration;
|
||||||
import org.springframework.data.redis.connection.RedisConnectionFactory;
|
import org.springframework.data.redis.connection.RedisConnectionFactory;
|
||||||
@@ -11,10 +9,8 @@ import org.springframework.data.redis.core.RedisTemplate;
|
|||||||
import org.springframework.data.redis.serializer.GenericJackson2JsonRedisSerializer;
|
import org.springframework.data.redis.serializer.GenericJackson2JsonRedisSerializer;
|
||||||
import org.springframework.data.redis.serializer.RedisSerializer;
|
import org.springframework.data.redis.serializer.RedisSerializer;
|
||||||
import org.springframework.data.redis.serializer.SerializationException;
|
import org.springframework.data.redis.serializer.SerializationException;
|
||||||
import org.springframework.data.redis.serializer.SerializationUtils;
|
|
||||||
import org.springframework.util.Assert;
|
import org.springframework.util.Assert;
|
||||||
|
|
||||||
import java.net.UnknownHostException;
|
|
||||||
import java.util.Objects;
|
import java.util.Objects;
|
||||||
|
|
||||||
@Configuration
|
@Configuration
|
||||||
@@ -36,6 +32,7 @@ public class RedisConfig {
|
|||||||
redisTemplate.setHashValueSerializer(jsonRedisSerializer);
|
redisTemplate.setHashValueSerializer(jsonRedisSerializer);
|
||||||
return redisTemplate;
|
return redisTemplate;
|
||||||
}
|
}
|
||||||
|
|
||||||
public class MyRedisSerializerCustomized extends GenericJackson2JsonRedisSerializer {
|
public class MyRedisSerializerCustomized extends GenericJackson2JsonRedisSerializer {
|
||||||
@Override
|
@Override
|
||||||
public byte[] serialize(Object source) throws SerializationException {
|
public byte[] serialize(Object source) throws SerializationException {
|
||||||
@@ -46,6 +43,7 @@ public class RedisConfig {
|
|||||||
}
|
}
|
||||||
return super.serialize(source);
|
return super.serialize(source);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public <T> T deserialize(byte[] source, Class<T> type) throws SerializationException {
|
public <T> T deserialize(byte[] source, Class<T> type) throws SerializationException {
|
||||||
Assert.notNull(type,
|
Assert.notNull(type,
|
||||||
|
|||||||
@@ -1,7 +1,6 @@
|
|||||||
package com.abin.mallchat.common.common.domain.vo.request;
|
package com.abin.mallchat.common.common.domain.vo.request;
|
||||||
|
|
||||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||||
import com.baomidou.mybatisplus.generator.config.querys.XuguQuery;
|
|
||||||
import com.fasterxml.jackson.annotation.JsonIgnore;
|
import com.fasterxml.jackson.annotation.JsonIgnore;
|
||||||
import io.swagger.annotations.ApiModel;
|
import io.swagger.annotations.ApiModel;
|
||||||
import io.swagger.annotations.ApiModelProperty;
|
import io.swagger.annotations.ApiModelProperty;
|
||||||
|
|||||||
@@ -1,8 +1,6 @@
|
|||||||
package com.abin.mallchat.common.common.domain.vo.response;
|
package com.abin.mallchat.common.common.domain.vo.response;
|
||||||
|
|
||||||
import cn.hutool.core.collection.CollectionUtil;
|
import cn.hutool.core.collection.CollectionUtil;
|
||||||
import com.abin.mallchat.common.chat.domain.entity.Message;
|
|
||||||
import com.abin.mallchat.common.common.domain.vo.request.CursorPageBaseReq;
|
|
||||||
import com.fasterxml.jackson.annotation.JsonIgnore;
|
import com.fasterxml.jackson.annotation.JsonIgnore;
|
||||||
import io.swagger.annotations.ApiModel;
|
import io.swagger.annotations.ApiModel;
|
||||||
import io.swagger.annotations.ApiModelProperty;
|
import io.swagger.annotations.ApiModelProperty;
|
||||||
|
|||||||
@@ -1,6 +1,5 @@
|
|||||||
package com.abin.mallchat.common.common.event;
|
package com.abin.mallchat.common.common.event;
|
||||||
|
|
||||||
import com.abin.mallchat.common.user.domain.entity.User;
|
|
||||||
import com.abin.mallchat.common.user.domain.entity.UserBackpack;
|
import com.abin.mallchat.common.user.domain.entity.UserBackpack;
|
||||||
import lombok.Getter;
|
import lombok.Getter;
|
||||||
import org.springframework.context.ApplicationEvent;
|
import org.springframework.context.ApplicationEvent;
|
||||||
|
|||||||
@@ -1,6 +1,5 @@
|
|||||||
package com.abin.mallchat.common.common.event;
|
package com.abin.mallchat.common.common.event;
|
||||||
|
|
||||||
import com.abin.mallchat.common.chat.domain.entity.Message;
|
|
||||||
import lombok.Getter;
|
import lombok.Getter;
|
||||||
import org.springframework.context.ApplicationEvent;
|
import org.springframework.context.ApplicationEvent;
|
||||||
|
|
||||||
|
|||||||
@@ -4,8 +4,6 @@ import com.abin.mallchat.common.user.domain.entity.User;
|
|||||||
import lombok.Getter;
|
import lombok.Getter;
|
||||||
import org.springframework.context.ApplicationEvent;
|
import org.springframework.context.ApplicationEvent;
|
||||||
|
|
||||||
import java.util.Date;
|
|
||||||
|
|
||||||
@Getter
|
@Getter
|
||||||
public class UserOnlineEvent extends ApplicationEvent {
|
public class UserOnlineEvent extends ApplicationEvent {
|
||||||
private User user;
|
private User user;
|
||||||
|
|||||||
@@ -22,6 +22,7 @@ public class GlobalExceptionHandler {
|
|||||||
log.info("validation parameters error!The reason is:{}", message);
|
log.info("validation parameters error!The reason is:{}", message);
|
||||||
return ApiResult.fail(-1, message.substring(0, message.length() - 1));
|
return ApiResult.fail(-1, message.substring(0, message.length() - 1));
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 处理空指针的异常
|
* 处理空指针的异常
|
||||||
*/
|
*/
|
||||||
@@ -30,6 +31,7 @@ public class GlobalExceptionHandler {
|
|||||||
log.error("null point exception!The reason is:{}", e.getMessage(), e);
|
log.error("null point exception!The reason is:{}", e.getMessage(), e);
|
||||||
return ApiResult.fail(CommonErrorEnum.SYSTEM_ERROR);
|
return ApiResult.fail(CommonErrorEnum.SYSTEM_ERROR);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 未知异常
|
* 未知异常
|
||||||
*/
|
*/
|
||||||
|
|||||||
@@ -1,23 +1,14 @@
|
|||||||
package com.abin.mallchat.common.common.exception;
|
package com.abin.mallchat.common.common.exception;
|
||||||
|
|
||||||
import cn.hutool.http.ContentType;
|
import cn.hutool.http.ContentType;
|
||||||
import cn.hutool.http.HttpUtil;
|
|
||||||
import cn.hutool.json.JSONUtil;
|
import cn.hutool.json.JSONUtil;
|
||||||
import com.abin.mallchat.common.common.domain.vo.response.ApiResult;
|
import com.abin.mallchat.common.common.domain.vo.response.ApiResult;
|
||||||
import com.google.common.base.Charsets;
|
import com.google.common.base.Charsets;
|
||||||
import io.netty.handler.codec.http.HttpContent;
|
|
||||||
import lombok.AllArgsConstructor;
|
import lombok.AllArgsConstructor;
|
||||||
import lombok.Getter;
|
import lombok.Getter;
|
||||||
import org.apache.commons.lang3.CharSet;
|
|
||||||
import org.apache.commons.lang3.CharSetUtils;
|
|
||||||
import org.springframework.http.HttpStatus;
|
|
||||||
import sun.awt.CharsetString;
|
|
||||||
|
|
||||||
import javax.servlet.ServletException;
|
|
||||||
import javax.servlet.http.HttpServletRequest;
|
|
||||||
import javax.servlet.http.HttpServletResponse;
|
import javax.servlet.http.HttpServletResponse;
|
||||||
import java.io.IOException;
|
import java.io.IOException;
|
||||||
import java.nio.charset.Charset;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Description: 业务校验异常码
|
* Description: 业务校验异常码
|
||||||
|
|||||||
@@ -9,7 +9,6 @@ import org.redisson.api.RedissonClient;
|
|||||||
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
import org.springframework.stereotype.Service;
|
import org.springframework.stereotype.Service;
|
||||||
|
|
||||||
import java.util.concurrent.Callable;
|
|
||||||
import java.util.concurrent.TimeUnit;
|
import java.util.concurrent.TimeUnit;
|
||||||
import java.util.function.Supplier;
|
import java.util.function.Supplier;
|
||||||
|
|
||||||
|
|||||||
@@ -4,8 +4,6 @@ import cn.hutool.core.util.ObjectUtil;
|
|||||||
import com.abin.mallchat.common.common.exception.BusinessErrorEnum;
|
import com.abin.mallchat.common.common.exception.BusinessErrorEnum;
|
||||||
import com.abin.mallchat.common.common.exception.BusinessException;
|
import com.abin.mallchat.common.common.exception.BusinessException;
|
||||||
import com.abin.mallchat.common.common.exception.ErrorEnum;
|
import com.abin.mallchat.common.common.exception.ErrorEnum;
|
||||||
import com.abin.mallchat.common.user.domain.entity.UserBackpack;
|
|
||||||
import org.apache.commons.lang3.StringUtils;
|
|
||||||
|
|
||||||
import java.text.MessageFormat;
|
import java.text.MessageFormat;
|
||||||
import java.util.Objects;
|
import java.util.Objects;
|
||||||
@@ -48,12 +46,14 @@ public class AssertUtil {
|
|||||||
throwException(msg);
|
throwException(msg);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
//如果不是非空对象,则抛异常
|
//如果不是非空对象,则抛异常
|
||||||
public static void isEmpty(Object obj, String msg) {
|
public static void isEmpty(Object obj, String msg) {
|
||||||
if (!isEmpty(obj)) {
|
if (!isEmpty(obj)) {
|
||||||
throwException(msg);
|
throwException(msg);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public static void equal(Object o1, Object o2, String msg) {
|
public static void equal(Object o1, Object o2, String msg) {
|
||||||
if (!ObjectUtil.equal(o1, o2)) {
|
if (!ObjectUtil.equal(o1, o2)) {
|
||||||
throwException(msg);
|
throwException(msg);
|
||||||
|
|||||||
@@ -2,30 +2,21 @@ package com.abin.mallchat.common.common.utils;
|
|||||||
|
|
||||||
import cn.hutool.core.collection.CollectionUtil;
|
import cn.hutool.core.collection.CollectionUtil;
|
||||||
import cn.hutool.core.lang.Pair;
|
import cn.hutool.core.lang.Pair;
|
||||||
import cn.hutool.core.lang.Tuple;
|
|
||||||
import cn.hutool.core.util.StrUtil;
|
import cn.hutool.core.util.StrUtil;
|
||||||
import com.abin.mallchat.common.chat.dao.MessageDao;
|
|
||||||
import com.abin.mallchat.common.chat.domain.entity.Message;
|
|
||||||
import com.abin.mallchat.common.common.domain.vo.request.CursorPageBaseReq;
|
import com.abin.mallchat.common.common.domain.vo.request.CursorPageBaseReq;
|
||||||
import com.abin.mallchat.common.common.domain.vo.request.PageBaseReq;
|
|
||||||
import com.abin.mallchat.common.common.domain.vo.response.CursorPageBaseResp;
|
import com.abin.mallchat.common.common.domain.vo.response.CursorPageBaseResp;
|
||||||
import com.abin.mallchat.common.common.domain.vo.response.PageBaseResp;
|
|
||||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||||
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
|
||||||
import com.baomidou.mybatisplus.core.toolkit.support.SFunction;
|
import com.baomidou.mybatisplus.core.toolkit.support.SFunction;
|
||||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||||
import com.baomidou.mybatisplus.extension.service.IService;
|
import com.baomidou.mybatisplus.extension.service.IService;
|
||||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
|
||||||
import com.google.errorprone.annotations.Var;
|
|
||||||
import org.springframework.beans.factory.annotation.Autowired;
|
|
||||||
import org.springframework.data.redis.core.ZSetOperations;
|
import org.springframework.data.redis.core.ZSetOperations;
|
||||||
import org.springframework.stereotype.Component;
|
import org.springframework.stereotype.Component;
|
||||||
import reactor.util.function.Tuple2;
|
|
||||||
|
|
||||||
import java.util.*;
|
import java.util.List;
|
||||||
|
import java.util.Optional;
|
||||||
|
import java.util.Set;
|
||||||
import java.util.function.Consumer;
|
import java.util.function.Consumer;
|
||||||
import java.util.function.Function;
|
import java.util.function.Function;
|
||||||
import java.util.function.Supplier;
|
|
||||||
import java.util.stream.Collectors;
|
import java.util.stream.Collectors;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|||||||
@@ -24,6 +24,7 @@ public class FutureUtils {
|
|||||||
completableFuture.completeExceptionally(ex);
|
completableFuture.completeExceptionally(ex);
|
||||||
return completableFuture;
|
return completableFuture;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 设置CF状态为成功
|
* 设置CF状态为成功
|
||||||
*/
|
*/
|
||||||
@@ -32,6 +33,7 @@ public class FutureUtils {
|
|||||||
completableFuture.complete(result);
|
completableFuture.complete(result);
|
||||||
return completableFuture;
|
return completableFuture;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 将List<CompletableFuture<T>> 转为 CompletableFuture<List<T>>
|
* 将List<CompletableFuture<T>> 转为 CompletableFuture<List<T>>
|
||||||
*/
|
*/
|
||||||
@@ -42,6 +44,7 @@ public class FutureUtils {
|
|||||||
.collect(Collectors.toList())
|
.collect(Collectors.toList())
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 将List<CompletableFuture<List<T>>> 转为 CompletableFuture<List<T>>
|
* 将List<CompletableFuture<List<T>>> 转为 CompletableFuture<List<T>>
|
||||||
* 多用于分页查询的场景
|
* 多用于分页查询的场景
|
||||||
@@ -53,6 +56,7 @@ public class FutureUtils {
|
|||||||
.collect(Collectors.toList())
|
.collect(Collectors.toList())
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* 将List<CompletableFuture<Map<K, V>>> 转为 CompletableFuture<Map<K, V>>
|
* 将List<CompletableFuture<Map<K, V>>> 转为 CompletableFuture<Map<K, V>>
|
||||||
* @Param mergeFunction 自定义key冲突时的merge策略
|
* @Param mergeFunction 自定义key冲突时的merge策略
|
||||||
@@ -65,6 +69,7 @@ public class FutureUtils {
|
|||||||
.flatMap(map -> map.entrySet().stream())
|
.flatMap(map -> map.entrySet().stream())
|
||||||
.collect(Collectors.toMap(Map.Entry::getKey, Map.Entry::getValue, mergeFunction)));
|
.collect(Collectors.toMap(Map.Entry::getKey, Map.Entry::getValue, mergeFunction)));
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 将List<CompletableFuture<T>> 转为 CompletableFuture<List<T>>,并过滤调null值
|
* 将List<CompletableFuture<T>> 转为 CompletableFuture<List<T>>,并过滤调null值
|
||||||
*/
|
*/
|
||||||
@@ -76,6 +81,7 @@ public class FutureUtils {
|
|||||||
.collect(Collectors.toList())
|
.collect(Collectors.toList())
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 将List<CompletableFuture<List<T>>> 转为 CompletableFuture<List<T>>,并过滤调null值
|
* 将List<CompletableFuture<List<T>>> 转为 CompletableFuture<List<T>>,并过滤调null值
|
||||||
* 多用于分页查询的场景
|
* 多用于分页查询的场景
|
||||||
@@ -87,8 +93,10 @@ public class FutureUtils {
|
|||||||
.collect(Collectors.toList())
|
.collect(Collectors.toList())
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 将List<CompletableFuture<Map<K, V>>> 转为 CompletableFuture<Map<K, V>>
|
* 将List<CompletableFuture<Map<K, V>>> 转为 CompletableFuture<Map<K, V>>
|
||||||
|
*
|
||||||
* @Param filterFunction 自定义过滤策略
|
* @Param filterFunction 自定义过滤策略
|
||||||
*/
|
*/
|
||||||
public static <T> CompletableFuture<List<T>> sequence(Collection<CompletableFuture<T>> completableFutures,
|
public static <T> CompletableFuture<List<T>> sequence(Collection<CompletableFuture<T>> completableFutures,
|
||||||
@@ -100,8 +108,10 @@ public class FutureUtils {
|
|||||||
.collect(Collectors.toList())
|
.collect(Collectors.toList())
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 将List<CompletableFuture<List<T>>> 转为 CompletableFuture<List<T>>
|
* 将List<CompletableFuture<List<T>>> 转为 CompletableFuture<List<T>>
|
||||||
|
*
|
||||||
* @Param filterFunction 自定义过滤策略
|
* @Param filterFunction 自定义过滤策略
|
||||||
*/
|
*/
|
||||||
public static <T> CompletableFuture<List<T>> sequenceList(Collection<CompletableFuture<List<T>>> completableFutures,
|
public static <T> CompletableFuture<List<T>> sequenceList(Collection<CompletableFuture<List<T>>> completableFutures,
|
||||||
@@ -112,6 +122,7 @@ public class FutureUtils {
|
|||||||
.collect(Collectors.toList())
|
.collect(Collectors.toList())
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 将CompletableFuture<Map<K,V>>的list转为 CompletableFuture<Map<K,V>>。 多个map合并为一个map。 如果key冲突,采用新的value覆盖。
|
* 将CompletableFuture<Map<K,V>>的list转为 CompletableFuture<Map<K,V>>。 多个map合并为一个map。 如果key冲突,采用新的value覆盖。
|
||||||
*/
|
*/
|
||||||
@@ -122,4 +133,5 @@ public class FutureUtils {
|
|||||||
.thenApply(v -> completableFutures.stream().map(CompletableFuture::join)
|
.thenApply(v -> completableFutures.stream().map(CompletableFuture::join)
|
||||||
.flatMap(map -> map.entrySet().stream())
|
.flatMap(map -> map.entrySet().stream())
|
||||||
.collect(Collectors.toMap(Map.Entry::getKey, Map.Entry::getValue, (a, b) -> b)));
|
.collect(Collectors.toMap(Map.Entry::getKey, Map.Entry::getValue, (a, b) -> b)));
|
||||||
}}
|
}
|
||||||
|
}
|
||||||
@@ -1,6 +1,5 @@
|
|||||||
package com.abin.mallchat.common.common.utils;
|
package com.abin.mallchat.common.common.utils;
|
||||||
|
|
||||||
import cn.hutool.json.JSONUtil;
|
|
||||||
import com.fasterxml.jackson.core.JsonProcessingException;
|
import com.fasterxml.jackson.core.JsonProcessingException;
|
||||||
import com.fasterxml.jackson.databind.ObjectMapper;
|
import com.fasterxml.jackson.databind.ObjectMapper;
|
||||||
|
|
||||||
|
|||||||
@@ -1,18 +1,18 @@
|
|||||||
package com.abin.mallchat.common.common.utils;
|
package com.abin.mallchat.common.common.utils;
|
||||||
|
|
||||||
import cn.hutool.json.JSONUtil;
|
|
||||||
import com.auth0.jwt.JWT;
|
import com.auth0.jwt.JWT;
|
||||||
import com.auth0.jwt.algorithms.Algorithm;
|
import com.auth0.jwt.algorithms.Algorithm;
|
||||||
import com.auth0.jwt.interfaces.Claim;
|
import com.auth0.jwt.interfaces.Claim;
|
||||||
import com.auth0.jwt.interfaces.DecodedJWT;
|
import com.auth0.jwt.interfaces.DecodedJWT;
|
||||||
import com.auth0.jwt.interfaces.JWTVerifier;
|
import com.auth0.jwt.interfaces.JWTVerifier;
|
||||||
import lombok.Data;
|
|
||||||
import lombok.extern.slf4j.Slf4j;
|
import lombok.extern.slf4j.Slf4j;
|
||||||
import org.apache.commons.lang3.StringUtils;
|
|
||||||
import org.springframework.beans.factory.annotation.Value;
|
import org.springframework.beans.factory.annotation.Value;
|
||||||
import org.springframework.stereotype.Component;
|
import org.springframework.stereotype.Component;
|
||||||
|
|
||||||
import java.util.*;
|
import java.util.Date;
|
||||||
|
import java.util.Map;
|
||||||
|
import java.util.Objects;
|
||||||
|
import java.util.Optional;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Description: jwt的token生成与解析
|
* Description: jwt的token生成与解析
|
||||||
|
|||||||
@@ -1,20 +1,16 @@
|
|||||||
package com.abin.mallchat.common.common.utils;
|
package com.abin.mallchat.common.common.utils;
|
||||||
|
|
||||||
import cn.hutool.extra.spring.SpringUtil;
|
import cn.hutool.extra.spring.SpringUtil;
|
||||||
import cn.hutool.json.JSONUtil;
|
|
||||||
import com.fasterxml.jackson.databind.ObjectMapper;
|
|
||||||
import net.sf.json.util.JSONUtils;
|
|
||||||
import org.springframework.data.redis.core.ZSetOperations.TypedTuple;
|
|
||||||
import lombok.extern.slf4j.Slf4j;
|
import lombok.extern.slf4j.Slf4j;
|
||||||
import org.springframework.data.redis.connection.RedisConnection;
|
import org.springframework.data.redis.connection.RedisConnection;
|
||||||
import org.springframework.data.redis.connection.RedisConnectionFactory;
|
import org.springframework.data.redis.connection.RedisConnectionFactory;
|
||||||
import org.springframework.data.redis.core.*;
|
import org.springframework.data.redis.core.*;
|
||||||
|
import org.springframework.data.redis.core.ZSetOperations.TypedTuple;
|
||||||
import org.springframework.data.redis.core.script.DefaultRedisScript;
|
import org.springframework.data.redis.core.script.DefaultRedisScript;
|
||||||
import org.springframework.data.redis.core.script.RedisScript;
|
import org.springframework.data.redis.core.script.RedisScript;
|
||||||
import org.springframework.stereotype.Component;
|
import org.springframework.stereotype.Component;
|
||||||
|
|
||||||
import javax.annotation.PostConstruct;
|
import javax.annotation.PostConstruct;
|
||||||
import java.security.Key;
|
|
||||||
import java.util.*;
|
import java.util.*;
|
||||||
import java.util.concurrent.TimeUnit;
|
import java.util.concurrent.TimeUnit;
|
||||||
import java.util.stream.Collectors;
|
import java.util.stream.Collectors;
|
||||||
@@ -218,6 +214,7 @@ public class RedisUtils {
|
|||||||
private static String get(String key) {
|
private static String get(String key) {
|
||||||
return key == null ? null : stringRedisTemplate.opsForValue().get(key);
|
return key == null ? null : stringRedisTemplate.opsForValue().get(key);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 普通缓存放入
|
* 普通缓存放入
|
||||||
*
|
*
|
||||||
@@ -234,6 +231,7 @@ public class RedisUtils {
|
|||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public static String getStr(String key) {
|
public static String getStr(String key) {
|
||||||
return get(key, String.class);
|
return get(key, String.class);
|
||||||
}
|
}
|
||||||
@@ -265,7 +263,6 @@ public class RedisUtils {
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 普通缓存放入并设置时间
|
* 普通缓存放入并设置时间
|
||||||
*
|
*
|
||||||
@@ -754,6 +751,7 @@ public class RedisUtils {
|
|||||||
public static Boolean zAdd(String key, Object value, double score) {
|
public static Boolean zAdd(String key, Object value, double score) {
|
||||||
return zAdd(key, value.toString(), score);
|
return zAdd(key, value.toString(), score);
|
||||||
}
|
}
|
||||||
|
|
||||||
public static Boolean zIsMember(String key, Object value) {
|
public static Boolean zIsMember(String key, Object value) {
|
||||||
return Objects.nonNull(stringRedisTemplate.opsForZSet().score(key, value.toString()));
|
return Objects.nonNull(stringRedisTemplate.opsForZSet().score(key, value.toString()));
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -6,7 +6,6 @@ import org.springframework.expression.Expression;
|
|||||||
import org.springframework.expression.ExpressionParser;
|
import org.springframework.expression.ExpressionParser;
|
||||||
import org.springframework.expression.spel.standard.SpelExpressionParser;
|
import org.springframework.expression.spel.standard.SpelExpressionParser;
|
||||||
import org.springframework.expression.spel.support.StandardEvaluationContext;
|
import org.springframework.expression.spel.support.StandardEvaluationContext;
|
||||||
import org.springframework.stereotype.Component;
|
|
||||||
|
|
||||||
import java.lang.reflect.Method;
|
import java.lang.reflect.Method;
|
||||||
|
|
||||||
|
|||||||
@@ -3,7 +3,6 @@ package com.abin.mallchat.common.common.utils.discover;
|
|||||||
import cn.hutool.core.util.ReUtil;
|
import cn.hutool.core.util.ReUtil;
|
||||||
import cn.hutool.core.util.StrUtil;
|
import cn.hutool.core.util.StrUtil;
|
||||||
import com.abin.mallchat.common.common.utils.FutureUtils;
|
import com.abin.mallchat.common.common.utils.FutureUtils;
|
||||||
import com.google.errorprone.annotations.Var;
|
|
||||||
import lombok.extern.slf4j.Slf4j;
|
import lombok.extern.slf4j.Slf4j;
|
||||||
import org.jsoup.Connection;
|
import org.jsoup.Connection;
|
||||||
import org.jsoup.Jsoup;
|
import org.jsoup.Jsoup;
|
||||||
@@ -11,13 +10,12 @@ import org.jsoup.nodes.Document;
|
|||||||
import org.springframework.data.util.Pair;
|
import org.springframework.data.util.Pair;
|
||||||
|
|
||||||
import javax.annotation.Nullable;
|
import javax.annotation.Nullable;
|
||||||
import java.util.*;
|
import java.util.HashMap;
|
||||||
|
import java.util.List;
|
||||||
|
import java.util.Map;
|
||||||
|
import java.util.Objects;
|
||||||
import java.util.concurrent.CompletableFuture;
|
import java.util.concurrent.CompletableFuture;
|
||||||
import java.util.concurrent.ExecutionException;
|
|
||||||
import java.util.concurrent.TimeUnit;
|
|
||||||
import java.util.concurrent.TimeoutException;
|
|
||||||
import java.util.regex.Pattern;
|
import java.util.regex.Pattern;
|
||||||
import java.util.stream.Collector;
|
|
||||||
import java.util.stream.Collectors;
|
import java.util.stream.Collectors;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|||||||
@@ -1,6 +1,5 @@
|
|||||||
package com.abin.mallchat.common.common.utils.discover;
|
package com.abin.mallchat.common.common.utils.discover;
|
||||||
|
|
||||||
import cn.hutool.core.util.StrUtil;
|
|
||||||
import org.jsoup.nodes.Document;
|
import org.jsoup.nodes.Document;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|||||||
@@ -2,7 +2,6 @@ package com.abin.mallchat.common.common.utils.discover;
|
|||||||
|
|
||||||
import cn.hutool.core.util.StrUtil;
|
import cn.hutool.core.util.StrUtil;
|
||||||
import org.jsoup.nodes.Document;
|
import org.jsoup.nodes.Document;
|
||||||
import org.springframework.core.ParameterNameDiscoverer;
|
|
||||||
|
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|||||||
@@ -1,12 +1,9 @@
|
|||||||
package com.abin.mallchat.common.common.utils.discover;
|
package com.abin.mallchat.common.common.utils.discover;
|
||||||
|
|
||||||
import cn.hutool.core.date.StopWatch;
|
import cn.hutool.core.date.StopWatch;
|
||||||
import com.google.common.base.Stopwatch;
|
|
||||||
import org.jsoup.Jsoup;
|
|
||||||
import org.jsoup.nodes.Document;
|
import org.jsoup.nodes.Document;
|
||||||
|
|
||||||
import javax.annotation.Nullable;
|
import javax.annotation.Nullable;
|
||||||
import javax.annotation.Signed;
|
|
||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
|
|
||||||
public interface UrlTitleDiscover {
|
public interface UrlTitleDiscover {
|
||||||
|
|||||||
@@ -2,7 +2,6 @@ package com.abin.mallchat.common.user.dao;
|
|||||||
|
|
||||||
import com.abin.mallchat.common.user.domain.entity.Black;
|
import com.abin.mallchat.common.user.domain.entity.Black;
|
||||||
import com.abin.mallchat.common.user.mapper.BlackMapper;
|
import com.abin.mallchat.common.user.mapper.BlackMapper;
|
||||||
import com.abin.mallchat.common.user.service.IBlackService;
|
|
||||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||||
import org.springframework.stereotype.Service;
|
import org.springframework.stereotype.Service;
|
||||||
|
|
||||||
|
|||||||
@@ -2,8 +2,6 @@ package com.abin.mallchat.common.user.dao;
|
|||||||
|
|
||||||
import com.abin.mallchat.common.user.domain.entity.ItemConfig;
|
import com.abin.mallchat.common.user.domain.entity.ItemConfig;
|
||||||
import com.abin.mallchat.common.user.mapper.ItemConfigMapper;
|
import com.abin.mallchat.common.user.mapper.ItemConfigMapper;
|
||||||
import com.abin.mallchat.common.user.service.IItemConfigService;
|
|
||||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
|
||||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||||
import org.springframework.stereotype.Service;
|
import org.springframework.stereotype.Service;
|
||||||
|
|
||||||
|
|||||||
@@ -1,10 +1,8 @@
|
|||||||
package com.abin.mallchat.common.user.dao;
|
package com.abin.mallchat.common.user.dao;
|
||||||
|
|
||||||
import com.abin.mallchat.common.common.domain.enums.YesOrNoEnum;
|
import com.abin.mallchat.common.common.domain.enums.YesOrNoEnum;
|
||||||
import com.abin.mallchat.common.user.domain.entity.User;
|
|
||||||
import com.abin.mallchat.common.user.domain.entity.UserBackpack;
|
import com.abin.mallchat.common.user.domain.entity.UserBackpack;
|
||||||
import com.abin.mallchat.common.user.mapper.UserBackpackMapper;
|
import com.abin.mallchat.common.user.mapper.UserBackpackMapper;
|
||||||
import com.abin.mallchat.common.user.service.IUserBackpackService;
|
|
||||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||||
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
||||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||||
|
|||||||
@@ -4,7 +4,6 @@ import com.abin.mallchat.common.user.domain.entity.User;
|
|||||||
import com.abin.mallchat.common.user.mapper.UserMapper;
|
import com.abin.mallchat.common.user.mapper.UserMapper;
|
||||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||||
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
||||||
import com.baomidou.mybatisplus.extension.conditions.query.LambdaQueryChainWrapper;
|
|
||||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||||
import org.springframework.stereotype.Service;
|
import org.springframework.stereotype.Service;
|
||||||
|
|
||||||
|
|||||||
@@ -1,14 +1,15 @@
|
|||||||
package com.abin.mallchat.common.user.domain.entity;
|
package com.abin.mallchat.common.user.domain.entity;
|
||||||
|
|
||||||
import com.baomidou.mybatisplus.annotation.TableName;
|
|
||||||
import com.baomidou.mybatisplus.annotation.IdType;
|
import com.baomidou.mybatisplus.annotation.IdType;
|
||||||
import com.baomidou.mybatisplus.annotation.TableId;
|
|
||||||
import java.time.LocalDateTime;
|
|
||||||
import com.baomidou.mybatisplus.annotation.TableField;
|
import com.baomidou.mybatisplus.annotation.TableField;
|
||||||
import java.io.Serializable;
|
import com.baomidou.mybatisplus.annotation.TableId;
|
||||||
|
import com.baomidou.mybatisplus.annotation.TableName;
|
||||||
import lombok.Data;
|
import lombok.Data;
|
||||||
import lombok.EqualsAndHashCode;
|
import lombok.EqualsAndHashCode;
|
||||||
|
|
||||||
|
import java.io.Serializable;
|
||||||
|
import java.time.LocalDateTime;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* <p>
|
* <p>
|
||||||
* 黑名单
|
* 黑名单
|
||||||
@@ -32,6 +33,7 @@ public class Black implements Serializable {
|
|||||||
|
|
||||||
/**
|
/**
|
||||||
* 拉黑目标类型 1.ip 2uid
|
* 拉黑目标类型 1.ip 2uid
|
||||||
|
*
|
||||||
* @see com.abin.mallchat.common.user.domain.enums.BlackTypeEnum
|
* @see com.abin.mallchat.common.user.domain.enums.BlackTypeEnum
|
||||||
*/
|
*/
|
||||||
@TableField("type")
|
@TableField("type")
|
||||||
|
|||||||
@@ -1,6 +1,9 @@
|
|||||||
package com.abin.mallchat.common.user.domain.entity;
|
package com.abin.mallchat.common.user.domain.entity;
|
||||||
|
|
||||||
import lombok.*;
|
import lombok.AllArgsConstructor;
|
||||||
|
import lombok.Builder;
|
||||||
|
import lombok.Data;
|
||||||
|
import lombok.NoArgsConstructor;
|
||||||
|
|
||||||
import java.io.Serializable;
|
import java.io.Serializable;
|
||||||
|
|
||||||
|
|||||||
@@ -1,7 +1,6 @@
|
|||||||
package com.abin.mallchat.common.user.domain.entity;
|
package com.abin.mallchat.common.user.domain.entity;
|
||||||
|
|
||||||
import com.baomidou.mybatisplus.annotation.TableName;
|
import lombok.Data;
|
||||||
import lombok.*;
|
|
||||||
|
|
||||||
import java.io.Serializable;
|
import java.io.Serializable;
|
||||||
import java.util.Objects;
|
import java.util.Objects;
|
||||||
|
|||||||
@@ -1,13 +1,14 @@
|
|||||||
package com.abin.mallchat.common.user.domain.entity;
|
package com.abin.mallchat.common.user.domain.entity;
|
||||||
|
|
||||||
import com.baomidou.mybatisplus.annotation.TableName;
|
|
||||||
import com.baomidou.mybatisplus.annotation.TableId;
|
|
||||||
import java.time.LocalDateTime;
|
|
||||||
import com.baomidou.mybatisplus.annotation.TableField;
|
import com.baomidou.mybatisplus.annotation.TableField;
|
||||||
import java.io.Serializable;
|
import com.baomidou.mybatisplus.annotation.TableId;
|
||||||
|
import com.baomidou.mybatisplus.annotation.TableName;
|
||||||
import lombok.Data;
|
import lombok.Data;
|
||||||
import lombok.EqualsAndHashCode;
|
import lombok.EqualsAndHashCode;
|
||||||
|
|
||||||
|
import java.io.Serializable;
|
||||||
|
import java.time.LocalDateTime;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* <p>
|
* <p>
|
||||||
* 功能物品配置表
|
* 功能物品配置表
|
||||||
|
|||||||
@@ -1,20 +1,14 @@
|
|||||||
package com.abin.mallchat.common.user.domain.entity;
|
package com.abin.mallchat.common.user.domain.entity;
|
||||||
|
|
||||||
import com.baomidou.mybatisplus.annotation.TableName;
|
|
||||||
import com.baomidou.mybatisplus.annotation.IdType;
|
import com.baomidou.mybatisplus.annotation.IdType;
|
||||||
import com.baomidou.mybatisplus.annotation.TableId;
|
|
||||||
|
|
||||||
import java.time.LocalDateTime;
|
|
||||||
|
|
||||||
import com.baomidou.mybatisplus.annotation.TableField;
|
import com.baomidou.mybatisplus.annotation.TableField;
|
||||||
|
import com.baomidou.mybatisplus.annotation.TableId;
|
||||||
|
import com.baomidou.mybatisplus.annotation.TableName;
|
||||||
|
import com.baomidou.mybatisplus.extension.handlers.JacksonTypeHandler;
|
||||||
|
import lombok.*;
|
||||||
|
|
||||||
import java.io.Serializable;
|
import java.io.Serializable;
|
||||||
import java.util.Date;
|
import java.util.Date;
|
||||||
import java.util.Objects;
|
|
||||||
|
|
||||||
import com.baomidou.mybatisplus.extension.handlers.JacksonTypeHandler;
|
|
||||||
import lombok.*;
|
|
||||||
import lombok.experimental.Accessors;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* <p>
|
* <p>
|
||||||
|
|||||||
@@ -1,14 +1,13 @@
|
|||||||
package com.abin.mallchat.common.user.domain.entity;
|
package com.abin.mallchat.common.user.domain.entity;
|
||||||
|
|
||||||
import com.baomidou.mybatisplus.annotation.TableName;
|
|
||||||
import com.baomidou.mybatisplus.annotation.IdType;
|
import com.baomidou.mybatisplus.annotation.IdType;
|
||||||
import com.baomidou.mybatisplus.annotation.TableId;
|
|
||||||
import java.time.LocalDateTime;
|
|
||||||
import com.baomidou.mybatisplus.annotation.TableField;
|
import com.baomidou.mybatisplus.annotation.TableField;
|
||||||
import java.io.Serializable;
|
import com.baomidou.mybatisplus.annotation.TableId;
|
||||||
|
import com.baomidou.mybatisplus.annotation.TableName;
|
||||||
import lombok.*;
|
import lombok.*;
|
||||||
import lombok.experimental.Accessors;
|
|
||||||
|
import java.io.Serializable;
|
||||||
|
import java.time.LocalDateTime;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* <p>
|
* <p>
|
||||||
|
|||||||
@@ -3,11 +3,6 @@ package com.abin.mallchat.common.user.domain.enums;
|
|||||||
import lombok.AllArgsConstructor;
|
import lombok.AllArgsConstructor;
|
||||||
import lombok.Getter;
|
import lombok.Getter;
|
||||||
|
|
||||||
import java.util.Arrays;
|
|
||||||
import java.util.Map;
|
|
||||||
import java.util.function.Function;
|
|
||||||
import java.util.stream.Collectors;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Description: 物品枚举
|
* Description: 物品枚举
|
||||||
* Author: <a href="https://github.com/zongzibinbin">abin</a>
|
* Author: <a href="https://github.com/zongzibinbin">abin</a>
|
||||||
|
|||||||
@@ -1,9 +1,6 @@
|
|||||||
package com.abin.mallchat.common.user.service;
|
package com.abin.mallchat.common.user.service;
|
||||||
|
|
||||||
import com.abin.mallchat.common.common.domain.enums.IdempotentEnum;
|
import com.abin.mallchat.common.common.domain.enums.IdempotentEnum;
|
||||||
import com.abin.mallchat.common.user.domain.entity.UserBackpack;
|
|
||||||
import com.abin.mallchat.common.user.domain.enums.ItemEnum;
|
|
||||||
import com.baomidou.mybatisplus.extension.service.IService;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* <p>
|
* <p>
|
||||||
@@ -18,6 +15,7 @@ public interface IUserBackpackService {
|
|||||||
|
|
||||||
/**
|
/**
|
||||||
* 用户获取一个物品
|
* 用户获取一个物品
|
||||||
|
*
|
||||||
* @param uid 用户id
|
* @param uid 用户id
|
||||||
* @param itemId 物品id
|
* @param itemId 物品id
|
||||||
* @param idempotentEnum 幂等类型
|
* @param idempotentEnum 幂等类型
|
||||||
|
|||||||
@@ -1,23 +1,12 @@
|
|||||||
package com.abin.mallchat.common.user.service.cache;
|
package com.abin.mallchat.common.user.service.cache;
|
||||||
|
|
||||||
import cn.hutool.core.collection.CollUtil;
|
|
||||||
import cn.hutool.core.lang.Pair;
|
|
||||||
import com.abin.mallchat.common.common.constant.RedisKey;
|
|
||||||
import com.abin.mallchat.common.common.domain.vo.request.CursorPageBaseReq;
|
|
||||||
import com.abin.mallchat.common.common.domain.vo.response.CursorPageBaseResp;
|
|
||||||
import com.abin.mallchat.common.common.utils.CursorUtils;
|
|
||||||
import com.abin.mallchat.common.common.utils.RedisUtils;
|
|
||||||
import com.abin.mallchat.common.user.dao.ItemConfigDao;
|
import com.abin.mallchat.common.user.dao.ItemConfigDao;
|
||||||
import com.abin.mallchat.common.user.dao.UserDao;
|
|
||||||
import com.abin.mallchat.common.user.domain.entity.ItemConfig;
|
import com.abin.mallchat.common.user.domain.entity.ItemConfig;
|
||||||
import com.abin.mallchat.common.user.domain.entity.User;
|
|
||||||
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
import org.springframework.cache.annotation.Cacheable;
|
import org.springframework.cache.annotation.Cacheable;
|
||||||
import org.springframework.stereotype.Component;
|
import org.springframework.stereotype.Component;
|
||||||
|
|
||||||
import java.util.*;
|
import java.util.List;
|
||||||
import java.util.function.Function;
|
|
||||||
import java.util.stream.Collectors;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Description: 用户相关缓存
|
* Description: 用户相关缓存
|
||||||
|
|||||||
@@ -1,7 +1,6 @@
|
|||||||
package com.abin.mallchat.common.user.service.cache;
|
package com.abin.mallchat.common.user.service.cache;
|
||||||
|
|
||||||
import cn.hutool.core.collection.CollUtil;
|
import cn.hutool.core.collection.CollUtil;
|
||||||
import cn.hutool.core.collection.CollectionUtil;
|
|
||||||
import cn.hutool.core.lang.Pair;
|
import cn.hutool.core.lang.Pair;
|
||||||
import com.abin.mallchat.common.common.constant.RedisKey;
|
import com.abin.mallchat.common.common.constant.RedisKey;
|
||||||
import com.abin.mallchat.common.common.domain.vo.request.CursorPageBaseReq;
|
import com.abin.mallchat.common.common.domain.vo.request.CursorPageBaseReq;
|
||||||
@@ -16,14 +15,10 @@ import org.springframework.beans.factory.annotation.Autowired;
|
|||||||
import org.springframework.cache.annotation.CacheEvict;
|
import org.springframework.cache.annotation.CacheEvict;
|
||||||
import org.springframework.cache.annotation.Cacheable;
|
import org.springframework.cache.annotation.Cacheable;
|
||||||
import org.springframework.stereotype.Component;
|
import org.springframework.stereotype.Component;
|
||||||
import org.springframework.util.CollectionUtils;
|
|
||||||
|
|
||||||
import java.security.PublicKey;
|
|
||||||
import java.util.*;
|
import java.util.*;
|
||||||
import java.util.function.Function;
|
import java.util.function.Function;
|
||||||
import java.util.stream.Collector;
|
|
||||||
import java.util.stream.Collectors;
|
import java.util.stream.Collectors;
|
||||||
import java.util.stream.Stream;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Description: 用户相关缓存
|
* Description: 用户相关缓存
|
||||||
@@ -128,6 +123,7 @@ public class UserCache {
|
|||||||
}
|
}
|
||||||
return result;
|
return result;
|
||||||
}
|
}
|
||||||
|
|
||||||
@CacheEvict(cacheNames = "user", key = "'blackList'")
|
@CacheEvict(cacheNames = "user", key = "'blackList'")
|
||||||
public Map<Integer, Set<String>> evictBlackMap() {
|
public Map<Integer, Set<String>> evictBlackMap() {
|
||||||
return null;
|
return null;
|
||||||
|
|||||||
@@ -3,10 +3,8 @@ package com.abin.mallchat.common.user.service.impl;
|
|||||||
import cn.hutool.core.lang.TypeReference;
|
import cn.hutool.core.lang.TypeReference;
|
||||||
import cn.hutool.core.thread.NamedThreadFactory;
|
import cn.hutool.core.thread.NamedThreadFactory;
|
||||||
import cn.hutool.core.util.StrUtil;
|
import cn.hutool.core.util.StrUtil;
|
||||||
import cn.hutool.http.HttpRequest;
|
|
||||||
import cn.hutool.http.HttpUtil;
|
import cn.hutool.http.HttpUtil;
|
||||||
import cn.hutool.json.JSONUtil;
|
import cn.hutool.json.JSONUtil;
|
||||||
import com.abin.mallchat.common.common.domain.vo.response.ApiResult;
|
|
||||||
import com.abin.mallchat.common.user.dao.UserDao;
|
import com.abin.mallchat.common.user.dao.UserDao;
|
||||||
import com.abin.mallchat.common.user.domain.dto.IpResult;
|
import com.abin.mallchat.common.user.domain.dto.IpResult;
|
||||||
import com.abin.mallchat.common.user.domain.entity.IpDetail;
|
import com.abin.mallchat.common.user.domain.entity.IpDetail;
|
||||||
@@ -16,14 +14,14 @@ import com.abin.mallchat.common.user.service.IpService;
|
|||||||
import lombok.extern.slf4j.Slf4j;
|
import lombok.extern.slf4j.Slf4j;
|
||||||
import org.springframework.beans.factory.DisposableBean;
|
import org.springframework.beans.factory.DisposableBean;
|
||||||
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
import org.springframework.scheduling.concurrent.ThreadPoolTaskExecutor;
|
|
||||||
import org.springframework.stereotype.Service;
|
import org.springframework.stereotype.Service;
|
||||||
|
|
||||||
import java.util.Date;
|
import java.util.Date;
|
||||||
import java.util.List;
|
|
||||||
import java.util.Objects;
|
import java.util.Objects;
|
||||||
import java.util.concurrent.*;
|
import java.util.concurrent.ExecutorService;
|
||||||
import java.util.jar.Manifest;
|
import java.util.concurrent.LinkedBlockingQueue;
|
||||||
|
import java.util.concurrent.ThreadPoolExecutor;
|
||||||
|
import java.util.concurrent.TimeUnit;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Description: ip
|
* Description: ip
|
||||||
|
|||||||
@@ -12,10 +12,8 @@ import com.abin.mallchat.common.user.domain.enums.ItemTypeEnum;
|
|||||||
import com.abin.mallchat.common.user.service.IUserBackpackService;
|
import com.abin.mallchat.common.user.service.IUserBackpackService;
|
||||||
import com.abin.mallchat.common.user.service.cache.ItemCache;
|
import com.abin.mallchat.common.user.service.cache.ItemCache;
|
||||||
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
import org.springframework.boot.context.event.SpringApplicationEvent;
|
|
||||||
import org.springframework.context.ApplicationEventPublisher;
|
import org.springframework.context.ApplicationEventPublisher;
|
||||||
import org.springframework.stereotype.Service;
|
import org.springframework.stereotype.Service;
|
||||||
import org.springframework.transaction.annotation.Transactional;
|
|
||||||
|
|
||||||
import java.util.Objects;
|
import java.util.Objects;
|
||||||
|
|
||||||
|
|||||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user