Compare commits
No commits in common. 'develop' and 'main' have entirely different histories.
@ -1,54 +0,0 @@
|
|||||||
target/
|
|
||||||
!**/src/main/**/target/
|
|
||||||
!**/src/test/**/target/
|
|
||||||
/db/
|
|
||||||
/logs/
|
|
||||||
/img/
|
|
||||||
/export/
|
|
||||||
/config/
|
|
||||||
/data/
|
|
||||||
|
|
||||||
### IntelliJ IDEA ###
|
|
||||||
.idea
|
|
||||||
*.iws
|
|
||||||
*.iml
|
|
||||||
*.ipr
|
|
||||||
|
|
||||||
# dependencies
|
|
||||||
**/node_modules
|
|
||||||
# roadhog-api-doc ignore
|
|
||||||
/src/utils/request-temp.js
|
|
||||||
_roadhog-api-doc
|
|
||||||
|
|
||||||
# production
|
|
||||||
/dist
|
|
||||||
|
|
||||||
# misc
|
|
||||||
.DS_Store
|
|
||||||
npm-debug.log*
|
|
||||||
yarn-error.log
|
|
||||||
|
|
||||||
/coverage
|
|
||||||
yarn.lock
|
|
||||||
package-lock.json
|
|
||||||
*bak
|
|
||||||
.vscode
|
|
||||||
|
|
||||||
|
|
||||||
# visual studio code
|
|
||||||
.history
|
|
||||||
*.log
|
|
||||||
functions/*
|
|
||||||
.temp/**
|
|
||||||
|
|
||||||
# umi
|
|
||||||
.umi
|
|
||||||
.umi-production
|
|
||||||
.umi-test
|
|
||||||
|
|
||||||
# screenshot
|
|
||||||
screenshot
|
|
||||||
.firebase
|
|
||||||
.eslintcache
|
|
||||||
build
|
|
||||||
|
|
||||||
@ -1,21 +0,0 @@
|
|||||||
MIT License
|
|
||||||
|
|
||||||
Copyright (c) 2024 xuchengsheng
|
|
||||||
|
|
||||||
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
||||||
of this software and associated documentation files (the "Software"), to deal
|
|
||||||
in the Software without restriction, including without limitation the rights
|
|
||||||
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
||||||
copies of the Software, and to permit persons to whom the Software is
|
|
||||||
furnished to do so, subject to the following conditions:
|
|
||||||
|
|
||||||
The above copyright notice and this permission notice shall be included in all
|
|
||||||
copies or substantial portions of the Software.
|
|
||||||
|
|
||||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
||||||
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
||||||
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
||||||
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
||||||
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
||||||
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
||||||
SOFTWARE.
|
|
||||||
@ -1,29 +0,0 @@
|
|||||||

|
|
||||||
|
|
||||||

|
|
||||||
|
|
||||||

|
|
||||||
|
|
||||||

|
|
||||||
|
|
||||||

|
|
||||||
|
|
||||||

|
|
||||||
|
|
||||||

|
|
||||||
|
|
||||||

|
|
||||||
|
|
||||||

|
|
||||||
|
|
||||||

|
|
||||||
|
|
||||||

|
|
||||||
|
|
||||||

|
|
||||||
|
|
||||||

|
|
||||||
|
|
||||||

|
|
||||||
|
|
||||||

|
|
||||||
|
Before Width: | Height: | Size: 28 KiB |
|
Before Width: | Height: | Size: 28 KiB |
@ -1,130 +0,0 @@
|
|||||||
<?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">
|
|
||||||
|
|
||||||
<modelVersion>4.0.0</modelVersion>
|
|
||||||
<groupId>com.xcs.wx</groupId>
|
|
||||||
<artifactId>wx-dump-4j</artifactId>
|
|
||||||
<packaging>pom</packaging>
|
|
||||||
<version>${revision}</version>
|
|
||||||
|
|
||||||
<modules>
|
|
||||||
<module>wx-dump-admin</module>
|
|
||||||
<module>wx-dump-dist</module>
|
|
||||||
</modules>
|
|
||||||
|
|
||||||
<properties>
|
|
||||||
<maven.compiler.source>11</maven.compiler.source>
|
|
||||||
<maven.compiler.target>11</maven.compiler.target>
|
|
||||||
<maven-assembly-plugin.version>3.5.0</maven-assembly-plugin.version>
|
|
||||||
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
|
|
||||||
<revision>1.1.0</revision>
|
|
||||||
</properties>
|
|
||||||
|
|
||||||
<dependencyManagement>
|
|
||||||
<dependencies>
|
|
||||||
<dependency>
|
|
||||||
<groupId>org.springframework.boot</groupId>
|
|
||||||
<artifactId>spring-boot-starter-web</artifactId>
|
|
||||||
<version>2.7.15</version>
|
|
||||||
</dependency>
|
|
||||||
<dependency>
|
|
||||||
<groupId>org.springframework.boot</groupId>
|
|
||||||
<artifactId>spring-boot-starter-thymeleaf</artifactId>
|
|
||||||
<version>2.7.15</version>
|
|
||||||
</dependency>
|
|
||||||
<dependency>
|
|
||||||
<groupId>org.xerial</groupId>
|
|
||||||
<artifactId>sqlite-jdbc</artifactId>
|
|
||||||
<version>3.34.0</version>
|
|
||||||
</dependency>
|
|
||||||
<dependency>
|
|
||||||
<groupId>org.projectlombok</groupId>
|
|
||||||
<artifactId>lombok</artifactId>
|
|
||||||
<version>1.18.20</version>
|
|
||||||
</dependency>
|
|
||||||
<dependency>
|
|
||||||
<groupId>com.baomidou</groupId>
|
|
||||||
<artifactId>mybatis-plus-boot-starter</artifactId>
|
|
||||||
<version>3.5.4.1</version>
|
|
||||||
</dependency>
|
|
||||||
<dependency>
|
|
||||||
<groupId>com.baomidou</groupId>
|
|
||||||
<artifactId>dynamic-datasource-spring-boot-starter</artifactId>
|
|
||||||
<version>4.2.0</version>
|
|
||||||
</dependency>
|
|
||||||
<dependency>
|
|
||||||
<groupId>com.alibaba</groupId>
|
|
||||||
<artifactId>druid-spring-boot-starter</artifactId>
|
|
||||||
<version>1.2.20</version>
|
|
||||||
</dependency>
|
|
||||||
<dependency>
|
|
||||||
<groupId>org.mapstruct</groupId>
|
|
||||||
<artifactId>mapstruct</artifactId>
|
|
||||||
<version>1.4.2.Final</version>
|
|
||||||
</dependency>
|
|
||||||
<dependency>
|
|
||||||
<groupId>org.mapstruct</groupId>
|
|
||||||
<artifactId>mapstruct-processor</artifactId>
|
|
||||||
<version>1.4.2.Final</version>
|
|
||||||
</dependency>
|
|
||||||
<dependency>
|
|
||||||
<groupId>cn.hutool</groupId>
|
|
||||||
<artifactId>hutool-all</artifactId>
|
|
||||||
<version>5.8.16</version>
|
|
||||||
</dependency>
|
|
||||||
<dependency>
|
|
||||||
<groupId>net.java.dev.jna</groupId>
|
|
||||||
<artifactId>jna</artifactId>
|
|
||||||
<version>5.8.0</version>
|
|
||||||
</dependency>
|
|
||||||
<dependency>
|
|
||||||
<groupId>net.java.dev.jna</groupId>
|
|
||||||
<artifactId>jna-platform</artifactId>
|
|
||||||
<version>5.8.0</version>
|
|
||||||
</dependency>
|
|
||||||
<dependency>
|
|
||||||
<groupId>com.google.protobuf</groupId>
|
|
||||||
<artifactId>protobuf-java</artifactId>
|
|
||||||
<version>3.25.1</version>
|
|
||||||
</dependency>
|
|
||||||
<dependency>
|
|
||||||
<groupId>com.google.protobuf</groupId>
|
|
||||||
<artifactId>protobuf-java-util</artifactId>
|
|
||||||
<version>3.25.1</version>
|
|
||||||
</dependency>
|
|
||||||
<dependency>
|
|
||||||
<groupId>io.grpc</groupId>
|
|
||||||
<artifactId>grpc-all</artifactId>
|
|
||||||
<version>1.11.0</version>
|
|
||||||
</dependency>
|
|
||||||
<dependency>
|
|
||||||
<groupId>com.alibaba</groupId>
|
|
||||||
<artifactId>easyexcel</artifactId>
|
|
||||||
<version>3.3.3</version>
|
|
||||||
</dependency>
|
|
||||||
<dependency>
|
|
||||||
<groupId>org.apache.commons</groupId>
|
|
||||||
<artifactId>commons-compress</artifactId>
|
|
||||||
<version>1.19</version>
|
|
||||||
</dependency>
|
|
||||||
<dependency>
|
|
||||||
<groupId>com.fasterxml.jackson.dataformat</groupId>
|
|
||||||
<artifactId>jackson-dataformat-xml</artifactId>
|
|
||||||
<version>2.13.5</version>
|
|
||||||
</dependency>
|
|
||||||
<dependency>
|
|
||||||
<groupId>org.apache.commons</groupId>
|
|
||||||
<artifactId>commons-lang3</artifactId>
|
|
||||||
<version>3.12.0</version>
|
|
||||||
</dependency>
|
|
||||||
<dependency>
|
|
||||||
<groupId>com.xcs.wx</groupId>
|
|
||||||
<artifactId>wx-dump-admin</artifactId>
|
|
||||||
<version>${revision}</version>
|
|
||||||
</dependency>
|
|
||||||
</dependencies>
|
|
||||||
</dependencyManagement>
|
|
||||||
|
|
||||||
</project>
|
|
||||||
@ -1,111 +0,0 @@
|
|||||||
<?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>wx-dump-4j</artifactId>
|
|
||||||
<groupId>com.xcs.wx</groupId>
|
|
||||||
<version>${revision}</version>
|
|
||||||
<relativePath>../pom.xml</relativePath>
|
|
||||||
</parent>
|
|
||||||
|
|
||||||
<modelVersion>4.0.0</modelVersion>
|
|
||||||
<artifactId>wx-dump-admin</artifactId>
|
|
||||||
<packaging>jar</packaging>
|
|
||||||
|
|
||||||
<dependencies>
|
|
||||||
<dependency>
|
|
||||||
<groupId>org.springframework.boot</groupId>
|
|
||||||
<artifactId>spring-boot-starter-web</artifactId>
|
|
||||||
</dependency>
|
|
||||||
<dependency>
|
|
||||||
<groupId>org.springframework.boot</groupId>
|
|
||||||
<artifactId>spring-boot-starter-thymeleaf</artifactId>
|
|
||||||
</dependency>
|
|
||||||
<dependency>
|
|
||||||
<groupId>org.xerial</groupId>
|
|
||||||
<artifactId>sqlite-jdbc</artifactId>
|
|
||||||
</dependency>
|
|
||||||
<dependency>
|
|
||||||
<groupId>org.projectlombok</groupId>
|
|
||||||
<artifactId>lombok</artifactId>
|
|
||||||
</dependency>
|
|
||||||
<dependency>
|
|
||||||
<groupId>com.baomidou</groupId>
|
|
||||||
<artifactId>mybatis-plus-boot-starter</artifactId>
|
|
||||||
</dependency>
|
|
||||||
<dependency>
|
|
||||||
<groupId>com.baomidou</groupId>
|
|
||||||
<artifactId>dynamic-datasource-spring-boot-starter</artifactId>
|
|
||||||
</dependency>
|
|
||||||
<dependency>
|
|
||||||
<groupId>com.alibaba</groupId>
|
|
||||||
<artifactId>druid-spring-boot-starter</artifactId>
|
|
||||||
</dependency>
|
|
||||||
<dependency>
|
|
||||||
<groupId>org.mapstruct</groupId>
|
|
||||||
<artifactId>mapstruct</artifactId>
|
|
||||||
</dependency>
|
|
||||||
<dependency>
|
|
||||||
<groupId>org.mapstruct</groupId>
|
|
||||||
<artifactId>mapstruct-processor</artifactId>
|
|
||||||
</dependency>
|
|
||||||
<dependency>
|
|
||||||
<groupId>cn.hutool</groupId>
|
|
||||||
<artifactId>hutool-all</artifactId>
|
|
||||||
</dependency>
|
|
||||||
<dependency>
|
|
||||||
<groupId>net.java.dev.jna</groupId>
|
|
||||||
<artifactId>jna</artifactId>
|
|
||||||
</dependency>
|
|
||||||
<dependency>
|
|
||||||
<groupId>net.java.dev.jna</groupId>
|
|
||||||
<artifactId>jna-platform</artifactId>
|
|
||||||
</dependency>
|
|
||||||
<dependency>
|
|
||||||
<groupId>com.google.protobuf</groupId>
|
|
||||||
<artifactId>protobuf-java</artifactId>
|
|
||||||
</dependency>
|
|
||||||
<dependency>
|
|
||||||
<groupId>com.google.protobuf</groupId>
|
|
||||||
<artifactId>protobuf-java-util</artifactId>
|
|
||||||
</dependency>
|
|
||||||
<dependency>
|
|
||||||
<groupId>io.grpc</groupId>
|
|
||||||
<artifactId>grpc-all</artifactId>
|
|
||||||
</dependency>
|
|
||||||
<dependency>
|
|
||||||
<groupId>com.alibaba</groupId>
|
|
||||||
<artifactId>easyexcel</artifactId>
|
|
||||||
</dependency>
|
|
||||||
<dependency>
|
|
||||||
<groupId>org.apache.commons</groupId>
|
|
||||||
<artifactId>commons-compress</artifactId>
|
|
||||||
</dependency>
|
|
||||||
<dependency>
|
|
||||||
<groupId>com.fasterxml.jackson.dataformat</groupId>
|
|
||||||
<artifactId>jackson-dataformat-xml</artifactId>
|
|
||||||
</dependency>
|
|
||||||
<dependency>
|
|
||||||
<groupId>org.apache.commons</groupId>
|
|
||||||
<artifactId>commons-lang3</artifactId>
|
|
||||||
</dependency>
|
|
||||||
</dependencies>
|
|
||||||
|
|
||||||
<build>
|
|
||||||
<finalName>wx-dump-admin</finalName>
|
|
||||||
<plugins>
|
|
||||||
<plugin>
|
|
||||||
<groupId>org.apache.maven.plugins</groupId>
|
|
||||||
<artifactId>maven-compiler-plugin</artifactId>
|
|
||||||
<version>3.8.1</version>
|
|
||||||
<configuration>
|
|
||||||
<source>11</source>
|
|
||||||
<target>11</target>
|
|
||||||
</configuration>
|
|
||||||
</plugin>
|
|
||||||
</plugins>
|
|
||||||
</build>
|
|
||||||
|
|
||||||
|
|
||||||
</project>
|
|
||||||
@ -1,46 +0,0 @@
|
|||||||
package com.xcs.wx.aop;
|
|
||||||
|
|
||||||
import cn.hutool.core.annotation.AnnotationUtil;
|
|
||||||
import com.baomidou.dynamic.datasource.annotation.DS;
|
|
||||||
import com.baomidou.dynamic.datasource.toolkit.DynamicDataSourceContextHolder;
|
|
||||||
import com.xcs.wx.util.DSNameUtil;
|
|
||||||
import lombok.extern.slf4j.Slf4j;
|
|
||||||
import org.aspectj.lang.ProceedingJoinPoint;
|
|
||||||
import org.aspectj.lang.annotation.Around;
|
|
||||||
import org.aspectj.lang.annotation.Aspect;
|
|
||||||
import org.springframework.stereotype.Component;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 多微信数据源动态切换拦截
|
|
||||||
*
|
|
||||||
* @author xcs
|
|
||||||
* @date 2024年6月27日14:29:32
|
|
||||||
*/
|
|
||||||
@Slf4j
|
|
||||||
@Aspect
|
|
||||||
@Component
|
|
||||||
public class RepositoryAspect {
|
|
||||||
|
|
||||||
@Around("execution(public * com.xcs.wx.repository..*.*(..))")
|
|
||||||
public Object around(ProceedingJoinPoint joinPoint) throws Throwable {
|
|
||||||
String previousDs = DynamicDataSourceContextHolder.peek();
|
|
||||||
try {
|
|
||||||
// 获取拦截方法所在的类
|
|
||||||
Class<?> targetClass = joinPoint.getTarget().getClass();
|
|
||||||
// 获取类上的@DS注解
|
|
||||||
DS dsAnnotation = AnnotationUtil.getAnnotation(targetClass, DS.class);
|
|
||||||
// 有指定的注解
|
|
||||||
if (dsAnnotation != null) {
|
|
||||||
DynamicDataSourceContextHolder.push(DSNameUtil.getDSName(dsAnnotation.value()));
|
|
||||||
}
|
|
||||||
return joinPoint.proceed();
|
|
||||||
} finally {
|
|
||||||
// 恢复之前的ds
|
|
||||||
if (previousDs != null) {
|
|
||||||
DynamicDataSourceContextHolder.push(previousDs);
|
|
||||||
} else {
|
|
||||||
DynamicDataSourceContextHolder.clear();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@ -1,60 +0,0 @@
|
|||||||
package com.xcs.wx.config;
|
|
||||||
|
|
||||||
import com.baomidou.dynamic.datasource.exception.CannotFindDataSourceException;
|
|
||||||
import com.xcs.wx.domain.vo.ResponseVO;
|
|
||||||
import com.xcs.wx.exception.BizException;
|
|
||||||
import lombok.extern.slf4j.Slf4j;
|
|
||||||
import org.mybatis.spring.MyBatisSystemException;
|
|
||||||
import org.springframework.http.HttpStatus;
|
|
||||||
import org.springframework.web.bind.annotation.ExceptionHandler;
|
|
||||||
import org.springframework.web.bind.annotation.ResponseStatus;
|
|
||||||
import org.springframework.web.bind.annotation.RestControllerAdvice;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* @author xcs
|
|
||||||
* @date 2023年12月25日 17时29分
|
|
||||||
**/
|
|
||||||
@Slf4j
|
|
||||||
@RestControllerAdvice
|
|
||||||
@ResponseStatus(HttpStatus.OK)
|
|
||||||
public class ExceptionAdviceConfig {
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 捕获BizException异常
|
|
||||||
**/
|
|
||||||
@ExceptionHandler(BizException.class)
|
|
||||||
public ResponseVO<String> handleException(BizException e) {
|
|
||||||
return ResponseVO.error(e.getCode(), e.getMsg());
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 捕获MyBatisSystemException异常
|
|
||||||
**/
|
|
||||||
@ExceptionHandler(MyBatisSystemException.class)
|
|
||||||
public ResponseVO<String> myBatisSystemException(MyBatisSystemException e) {
|
|
||||||
// 数据库未就绪状态
|
|
||||||
if (e.getCause().getCause() instanceof CannotFindDataSourceException) {
|
|
||||||
return ResponseVO.error(-1, "微信数据库未就绪状态,请先点击左侧解密工具进行数据解密!");
|
|
||||||
}
|
|
||||||
log.error("mybatis system exception", e);
|
|
||||||
return ResponseVO.error(-1, "系统异常");
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 捕获RuntimeException异常
|
|
||||||
**/
|
|
||||||
@ExceptionHandler(RuntimeException.class)
|
|
||||||
public ResponseVO<String> handleException(RuntimeException e) {
|
|
||||||
log.error("runtime exception", e);
|
|
||||||
return ResponseVO.error(-1, "系统异常");
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 捕获Exception异常
|
|
||||||
**/
|
|
||||||
@ExceptionHandler(Exception.class)
|
|
||||||
public ResponseVO<String> handleException(Exception e) {
|
|
||||||
log.error("exception", e);
|
|
||||||
return ResponseVO.error(-1, "系统异常");
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@ -1,27 +0,0 @@
|
|||||||
package com.xcs.wx.config;
|
|
||||||
|
|
||||||
import com.baomidou.mybatisplus.annotation.DbType;
|
|
||||||
import com.baomidou.mybatisplus.extension.plugins.MybatisPlusInterceptor;
|
|
||||||
import com.baomidou.mybatisplus.extension.plugins.inner.PaginationInnerInterceptor;
|
|
||||||
import org.mybatis.spring.annotation.MapperScan;
|
|
||||||
import org.springframework.context.annotation.Bean;
|
|
||||||
import org.springframework.context.annotation.Configuration;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* @author xcs
|
|
||||||
* @date 2023年12月29日 16时10分
|
|
||||||
**/
|
|
||||||
@Configuration
|
|
||||||
@MapperScan({"com.xcs.wx.mapper"})
|
|
||||||
public class MybatisPlusConfig {
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 添加分页插件
|
|
||||||
*/
|
|
||||||
@Bean
|
|
||||||
public MybatisPlusInterceptor mybatisPlusInterceptor() {
|
|
||||||
MybatisPlusInterceptor interceptor = new MybatisPlusInterceptor();
|
|
||||||
interceptor.addInnerInterceptor(new PaginationInnerInterceptor(DbType.SQLITE));
|
|
||||||
return interceptor;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@ -1,20 +0,0 @@
|
|||||||
package com.xcs.wx.config;
|
|
||||||
|
|
||||||
import org.springframework.context.annotation.Configuration;
|
|
||||||
import org.springframework.web.servlet.config.annotation.EnableWebMvc;
|
|
||||||
import org.springframework.web.servlet.config.annotation.ResourceHandlerRegistry;
|
|
||||||
import org.springframework.web.servlet.config.annotation.WebMvcConfigurer;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* @author xcs
|
|
||||||
* @date 2024年01月26日 11时46分
|
|
||||||
**/
|
|
||||||
@Configuration
|
|
||||||
@EnableWebMvc
|
|
||||||
public class UseStaticResourceConfig implements WebMvcConfigurer {
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public void addResourceHandlers(ResourceHandlerRegistry registry) {
|
|
||||||
registry.addResourceHandler("/**").addResourceLocations("file:../html/");
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@ -1,31 +0,0 @@
|
|||||||
package com.xcs.wx.config;
|
|
||||||
|
|
||||||
import lombok.Data;
|
|
||||||
import org.springframework.boot.context.properties.ConfigurationProperties;
|
|
||||||
import org.springframework.context.annotation.Configuration;
|
|
||||||
|
|
||||||
import java.util.Map;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 微信参数偏移量配置
|
|
||||||
*
|
|
||||||
* @author xcs
|
|
||||||
* @date 2023年12月25日 10时05分
|
|
||||||
**/
|
|
||||||
@Data
|
|
||||||
@Configuration(proxyBeanMethods = false)
|
|
||||||
@ConfigurationProperties(prefix = "wechat-offset")
|
|
||||||
public class WeChatOffsetProperties {
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 微信各个版本对应的偏移量配置
|
|
||||||
*/
|
|
||||||
private Map<String, VersionConfig> version;
|
|
||||||
|
|
||||||
@Data
|
|
||||||
public static class VersionConfig {
|
|
||||||
private Long nickname;
|
|
||||||
private Long account;
|
|
||||||
private Long mobile;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@ -1,16 +0,0 @@
|
|||||||
package com.xcs.wx.constant;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 群聊枚举
|
|
||||||
*
|
|
||||||
* @author xcs
|
|
||||||
* @date 2024年01月25日 16时34分
|
|
||||||
**/
|
|
||||||
public class ChatRoomConstant {
|
|
||||||
|
|
||||||
private ChatRoomConstant() {
|
|
||||||
}
|
|
||||||
|
|
||||||
public static final String CHATROOM_SUFFIX = "@chatroom";
|
|
||||||
|
|
||||||
}
|
|
||||||
@ -1,91 +0,0 @@
|
|||||||
package com.xcs.wx.constant;
|
|
||||||
|
|
||||||
import cn.hutool.extra.spring.SpringUtil;
|
|
||||||
import com.baomidou.dynamic.datasource.DynamicRoutingDataSource;
|
|
||||||
import com.xcs.wx.service.UserService;
|
|
||||||
|
|
||||||
import javax.sql.DataSource;
|
|
||||||
import java.util.Collections;
|
|
||||||
import java.util.Comparator;
|
|
||||||
import java.util.List;
|
|
||||||
import java.util.Map;
|
|
||||||
import java.util.stream.Collectors;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 数据源类型枚举
|
|
||||||
*
|
|
||||||
* @author xcs
|
|
||||||
* @date 2023年12月25日 16时41分
|
|
||||||
**/
|
|
||||||
public class DataSourceType {
|
|
||||||
|
|
||||||
public static final String APPLET_DB = "Applet.db";
|
|
||||||
public static final String BIZ_CHAT_DB = "BizChat.db";
|
|
||||||
public static final String BIZ_CHAT_MSG_DB = "BizChatMsg.db";
|
|
||||||
public static final String CHAT_MSG_DB = "ChatMsg.db";
|
|
||||||
public static final String CHAT_ROOM_USER_DB = "ChatRoomUser.db";
|
|
||||||
public static final String CLIENT_CONFIG_DB = "ClientConfig.db";
|
|
||||||
public static final String CLIENT_GENERAL_DB = "ClientGeneral.db";
|
|
||||||
public static final String CUSTOMER_SERVICE_DB = "CustomerService.db";
|
|
||||||
public static final String EMOTION_DB = "Emotion.db";
|
|
||||||
public static final String FAVORITE_DB = "Favorite.db";
|
|
||||||
public static final String FTS_CONTACT_DB = "FTSContact.db";
|
|
||||||
public static final String FTS_FAVORITE_DB = "FTSFavorite.db";
|
|
||||||
public static final String FTS_MSG_DB = "FTSMsg.db";
|
|
||||||
public static final String FUNCTION_MSG_DB = "FunctionMsg.db";
|
|
||||||
public static final String HARD_LINK_FILE_DB = "HardLinkFile.db";
|
|
||||||
public static final String HARD_LINK_IMAGE_DB = "HardLinkImage.db";
|
|
||||||
public static final String HARD_LINK_VIDEO_DB = "HardLinkVideo.db";
|
|
||||||
public static final String IMAGE_TRANSLATE_DB = "ImageTranslate.db";
|
|
||||||
public static final String LINK_HISTORY_DB = "LinkHistory.db";
|
|
||||||
public static final String MEDIA_DB = "Media.db";
|
|
||||||
public static final String MICRO_MSG_DB = "MicroMsg.db";
|
|
||||||
public static final String MISC_DB = "Misc.db";
|
|
||||||
public static final String MULTI_SEARCH_CHAT_MSG_DB = "MultiSearchChatMsg.db";
|
|
||||||
public static final String NEW_TIPS_DB = "NewTips.db";
|
|
||||||
public static final String OPEN_IM_CONTACT_DB = "OpenIMContact.db";
|
|
||||||
public static final String OPEN_IM_MEDIA_DB = "OpenIMMedia.db";
|
|
||||||
public static final String OPEN_IM_MSG_DB = "OpenIMMsg.db";
|
|
||||||
public static final String OPEN_IM_RESOURCE_DB = "OpenIMResource.db";
|
|
||||||
public static final String PRE_DOWNLOAD_DB = "PreDownload.db";
|
|
||||||
public static final String PUBLIC_MSG_DB = "PublicMsg.db";
|
|
||||||
public static final String PUBLIC_MSG_MEDIA_DB = "PublicMsgMedia.db";
|
|
||||||
public static final String SNS_DB = "Sns.db";
|
|
||||||
public static final String STORE_EMOTION_DB = "StoreEmotion.db";
|
|
||||||
public static final String VOIP_DB = "Voip.db";
|
|
||||||
public static final String MSG_DB = "MSG.db";
|
|
||||||
public static final String MSG0_DB = "MSG0.db";
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 读取MSG*.db
|
|
||||||
*
|
|
||||||
* @return 数据库名称
|
|
||||||
*/
|
|
||||||
public static List<String> getMsgDb() {
|
|
||||||
String wxId = SpringUtil.getBean(UserService.class).currentUser();
|
|
||||||
// 空校验
|
|
||||||
if (wxId == null) {
|
|
||||||
return Collections.emptyList();
|
|
||||||
}
|
|
||||||
return getDb(wxId + "#" + "MSG.*\\.db");
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 根据pattern匹配数据库
|
|
||||||
*
|
|
||||||
* @param pattern 需要匹配的字符串
|
|
||||||
* @return 数据库名称
|
|
||||||
*/
|
|
||||||
private static List<String> getDb(String pattern) {
|
|
||||||
// 获取动态数据源
|
|
||||||
DynamicRoutingDataSource dynamicRoutingDataSource = SpringUtil.getBean(DynamicRoutingDataSource.class);
|
|
||||||
// 获取所有数据源
|
|
||||||
Map<String, DataSource> dataSources = dynamicRoutingDataSource.getDataSources();
|
|
||||||
|
|
||||||
// 筛选出符合模式的数据源键,并进行降序排序
|
|
||||||
return dataSources.keySet().stream()
|
|
||||||
.filter(key -> key.matches(pattern))
|
|
||||||
.sorted(Comparator.naturalOrder())
|
|
||||||
.collect(Collectors.toList());
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@ -1,20 +0,0 @@
|
|||||||
package com.xcs.wx.constant;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* sqlite常量
|
|
||||||
*
|
|
||||||
* @author xcs
|
|
||||||
* @date 2024年1月20日21:12:51
|
|
||||||
*/
|
|
||||||
public class SqliteConstant {
|
|
||||||
|
|
||||||
/**
|
|
||||||
* url前缀
|
|
||||||
*/
|
|
||||||
public static final String URL_PREFIX = "jdbc:sqlite:";
|
|
||||||
|
|
||||||
/**
|
|
||||||
* sqlite驱动类
|
|
||||||
*/
|
|
||||||
public static final String DRIVER_CLASS_NAME = "org.sqlite.JDBC";
|
|
||||||
}
|
|
||||||
@ -1,64 +0,0 @@
|
|||||||
package com.xcs.wx.controller;
|
|
||||||
|
|
||||||
import com.xcs.wx.domain.dto.ChatRoomDTO;
|
|
||||||
import com.xcs.wx.domain.vo.ChatRoomDetailVO;
|
|
||||||
import com.xcs.wx.domain.vo.ChatRoomVO;
|
|
||||||
import com.xcs.wx.domain.vo.PageVO;
|
|
||||||
import com.xcs.wx.domain.vo.ResponseVO;
|
|
||||||
import com.xcs.wx.service.ChatRoomService;
|
|
||||||
import lombok.RequiredArgsConstructor;
|
|
||||||
import org.springframework.web.bind.annotation.GetMapping;
|
|
||||||
import org.springframework.web.bind.annotation.RequestMapping;
|
|
||||||
import org.springframework.web.bind.annotation.RequestParam;
|
|
||||||
import org.springframework.web.bind.annotation.RestController;
|
|
||||||
|
|
||||||
import java.util.List;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 群聊 Controller
|
|
||||||
*
|
|
||||||
* @author xcs
|
|
||||||
* @date 2024年01月08日 16时03分
|
|
||||||
**/
|
|
||||||
@RestController
|
|
||||||
@RequiredArgsConstructor
|
|
||||||
@RequestMapping("/api/chatroom")
|
|
||||||
public class ChatRoomController {
|
|
||||||
|
|
||||||
private final ChatRoomService chatRoomService;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 查询群聊列表
|
|
||||||
*
|
|
||||||
* @param chatRoomDTO 查询参数
|
|
||||||
* @return ChatRoomVO
|
|
||||||
*/
|
|
||||||
@GetMapping("/list")
|
|
||||||
public ResponseVO<List<ChatRoomVO>> list(ChatRoomDTO chatRoomDTO) {
|
|
||||||
// 查询群聊列表
|
|
||||||
PageVO<ChatRoomVO> pageVO = chatRoomService.queryChatRoom(chatRoomDTO);
|
|
||||||
// 返回数据
|
|
||||||
return ResponseVO.ok(pageVO.getRecords(), pageVO.getCurrent(), pageVO.getTotal());
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 查询群聊详情
|
|
||||||
*
|
|
||||||
* @param chatRoomName 群聊名称
|
|
||||||
* @return ChatRoomDetailVO
|
|
||||||
*/
|
|
||||||
@GetMapping("/detail")
|
|
||||||
public ResponseVO<ChatRoomDetailVO> detail(@RequestParam String chatRoomName) {
|
|
||||||
return ResponseVO.ok(chatRoomService.queryChatRoomDetail(chatRoomName));
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 导出群聊
|
|
||||||
*
|
|
||||||
* @return ResponseVO
|
|
||||||
*/
|
|
||||||
@GetMapping("/export")
|
|
||||||
public ResponseVO<String> export() {
|
|
||||||
return ResponseVO.ok(chatRoomService.exportChatRoom());
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@ -1,69 +0,0 @@
|
|||||||
package com.xcs.wx.controller;
|
|
||||||
|
|
||||||
import com.xcs.wx.domain.dto.ContactDTO;
|
|
||||||
import com.xcs.wx.domain.vo.*;
|
|
||||||
import com.xcs.wx.service.ContactService;
|
|
||||||
import lombok.RequiredArgsConstructor;
|
|
||||||
import org.springframework.web.bind.annotation.GetMapping;
|
|
||||||
import org.springframework.web.bind.annotation.RequestMapping;
|
|
||||||
import org.springframework.web.bind.annotation.RestController;
|
|
||||||
|
|
||||||
import java.util.List;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 联系人 Controller
|
|
||||||
*
|
|
||||||
* @author xcs
|
|
||||||
* @date 2023年12月22日 14时16分
|
|
||||||
**/
|
|
||||||
@RestController
|
|
||||||
@RequiredArgsConstructor
|
|
||||||
@RequestMapping("/api/contact")
|
|
||||||
public class ContactController {
|
|
||||||
|
|
||||||
private final ContactService contactService;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 查询联系人
|
|
||||||
*
|
|
||||||
* @param contactDTO 请求参数
|
|
||||||
* @return ResponseVO
|
|
||||||
*/
|
|
||||||
@GetMapping("/list")
|
|
||||||
public ResponseVO<List<ContactVO>> list(ContactDTO contactDTO) {
|
|
||||||
// 查询联系人
|
|
||||||
PageVO<ContactVO> pageVO = contactService.queryContact(contactDTO);
|
|
||||||
// 返回数据
|
|
||||||
return ResponseVO.ok(pageVO.getRecords(), pageVO.getCurrent(), pageVO.getTotal());
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 查询所有联系人
|
|
||||||
*
|
|
||||||
* @return ResponseVO
|
|
||||||
*/
|
|
||||||
@GetMapping("/all")
|
|
||||||
public ResponseVO<List<AllContactVO>> all() {
|
|
||||||
return ResponseVO.ok(contactService.queryAllContact());
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 联系人标签
|
|
||||||
*
|
|
||||||
* @return ContactLabelVO
|
|
||||||
*/
|
|
||||||
@GetMapping("/label")
|
|
||||||
public ResponseVO<List<ContactLabelVO>> label() {
|
|
||||||
return ResponseVO.ok(contactService.queryContactLabel());
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 导出联系人
|
|
||||||
*
|
|
||||||
* @return ResponseVO
|
|
||||||
*/
|
|
||||||
@GetMapping("/export")
|
|
||||||
public ResponseVO<String> export() {
|
|
||||||
return ResponseVO.ok(contactService.exportContact());
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@ -1,50 +0,0 @@
|
|||||||
package com.xcs.wx.controller;
|
|
||||||
|
|
||||||
import com.xcs.wx.service.ContactHeadImgService;
|
|
||||||
import lombok.RequiredArgsConstructor;
|
|
||||||
import lombok.extern.slf4j.Slf4j;
|
|
||||||
import org.springframework.web.bind.annotation.GetMapping;
|
|
||||||
import org.springframework.web.bind.annotation.RequestMapping;
|
|
||||||
import org.springframework.web.bind.annotation.RestController;
|
|
||||||
|
|
||||||
import javax.servlet.http.HttpServletResponse;
|
|
||||||
import java.io.IOException;
|
|
||||||
import java.io.OutputStream;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 联系人头像 Controller
|
|
||||||
*
|
|
||||||
* @author xcs
|
|
||||||
* @date 2024年6月18日15:45:17
|
|
||||||
**/
|
|
||||||
@Slf4j
|
|
||||||
@RestController
|
|
||||||
@RequiredArgsConstructor
|
|
||||||
@RequestMapping("/api/contact/headImg")
|
|
||||||
public class ContactHeadImgController {
|
|
||||||
|
|
||||||
private final ContactHeadImgService contactHeadImgService;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 用户头像
|
|
||||||
*
|
|
||||||
* @param userName 用户名
|
|
||||||
* @param response HttpServletResponse
|
|
||||||
*/
|
|
||||||
@GetMapping("/avatar")
|
|
||||||
public void avatar(String userName, HttpServletResponse response) {
|
|
||||||
byte[] avatarBytes = contactHeadImgService.avatar(userName);
|
|
||||||
if (avatarBytes != null) {
|
|
||||||
response.setContentType("image/gif");
|
|
||||||
response.setContentLength(avatarBytes.length);
|
|
||||||
try (OutputStream os = response.getOutputStream()) {
|
|
||||||
os.write(avatarBytes);
|
|
||||||
os.flush();
|
|
||||||
} catch (IOException e) {
|
|
||||||
log.error("avatar fail", e);
|
|
||||||
}
|
|
||||||
} else {
|
|
||||||
response.setStatus(HttpServletResponse.SC_NOT_FOUND);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@ -1,74 +0,0 @@
|
|||||||
package com.xcs.wx.controller;
|
|
||||||
|
|
||||||
import com.xcs.wx.domain.vo.*;
|
|
||||||
import com.xcs.wx.service.DashboardService;
|
|
||||||
import lombok.RequiredArgsConstructor;
|
|
||||||
import org.springframework.web.bind.annotation.GetMapping;
|
|
||||||
import org.springframework.web.bind.annotation.RequestMapping;
|
|
||||||
import org.springframework.web.bind.annotation.RestController;
|
|
||||||
|
|
||||||
import java.util.List;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 仪表盘 Controller
|
|
||||||
*
|
|
||||||
* @author xcs
|
|
||||||
* @date 2024年01月15日 11时26分
|
|
||||||
**/
|
|
||||||
@RestController
|
|
||||||
@RequiredArgsConstructor
|
|
||||||
@RequestMapping("/api/dashboard")
|
|
||||||
public class DashboardController {
|
|
||||||
|
|
||||||
private final DashboardService dashBoardService;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 统计面板
|
|
||||||
*
|
|
||||||
* @return ResponseVO
|
|
||||||
*/
|
|
||||||
@GetMapping("/statsPanel")
|
|
||||||
public ResponseVO<StatsPanelVO> statsPanel() {
|
|
||||||
return ResponseVO.ok(dashBoardService.statsPanel());
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 微信消息类型及其分布统计
|
|
||||||
*
|
|
||||||
* @return ResponseVO
|
|
||||||
*/
|
|
||||||
@GetMapping("/msgTypeDistribution")
|
|
||||||
public ResponseVO<List<MsgTypeDistributionVO>> msgTypeDistribution() {
|
|
||||||
return ResponseVO.ok(dashBoardService.msgTypeDistribution());
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 统计过去 15 天每天的发送和接收消息数量
|
|
||||||
*
|
|
||||||
* @return ResponseVO
|
|
||||||
*/
|
|
||||||
@GetMapping("/countRecentMsgs")
|
|
||||||
public ResponseVO<List<CountRecentMsgsVO>> countRecentMsgs() {
|
|
||||||
return ResponseVO.ok(dashBoardService.countRecentMsgs());
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 最近一个月内微信互动最频繁的前10位联系人
|
|
||||||
*
|
|
||||||
* @return ResponseVO
|
|
||||||
*/
|
|
||||||
@GetMapping("/topContacts")
|
|
||||||
public ResponseVO<List<TopContactsVO>> topContacts() {
|
|
||||||
return ResponseVO.ok(dashBoardService.topContacts());
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 查询最近使用的关键字
|
|
||||||
*
|
|
||||||
* @return ResponseVO
|
|
||||||
*/
|
|
||||||
@GetMapping("/queryRecentUsedKeyWord")
|
|
||||||
public ResponseVO<List<RecentUsedKeyWordVO>> queryRecentUsedKeyWord() {
|
|
||||||
return ResponseVO.ok(dashBoardService.queryRecentUsedKeyWord());
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@ -1,67 +0,0 @@
|
|||||||
package com.xcs.wx.controller;
|
|
||||||
|
|
||||||
import cn.hutool.system.SystemUtil;
|
|
||||||
import com.xcs.wx.domain.dto.DecryptDTO;
|
|
||||||
import com.xcs.wx.domain.vo.DatabaseVO;
|
|
||||||
import com.xcs.wx.domain.vo.ResponseVO;
|
|
||||||
import com.xcs.wx.service.DatabaseService;
|
|
||||||
import lombok.RequiredArgsConstructor;
|
|
||||||
import org.springframework.http.MediaType;
|
|
||||||
import org.springframework.web.bind.annotation.GetMapping;
|
|
||||||
import org.springframework.web.bind.annotation.RequestMapping;
|
|
||||||
import org.springframework.web.bind.annotation.RestController;
|
|
||||||
import org.springframework.web.servlet.mvc.method.annotation.SseEmitter;
|
|
||||||
|
|
||||||
import java.io.IOException;
|
|
||||||
import java.util.List;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 数据库 Controller
|
|
||||||
*
|
|
||||||
* @author xcs
|
|
||||||
* @date 2024年01月20日 14时35分
|
|
||||||
**/
|
|
||||||
@RestController
|
|
||||||
@RequiredArgsConstructor
|
|
||||||
@RequestMapping("/api/database")
|
|
||||||
public class DatabaseController {
|
|
||||||
|
|
||||||
private final DatabaseService databaseService;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 数据库解密
|
|
||||||
*
|
|
||||||
* @return ResponseVO
|
|
||||||
*/
|
|
||||||
@GetMapping("/decrypt")
|
|
||||||
public SseEmitter decrypt(DecryptDTO decryptDTO) {
|
|
||||||
SseEmitter emitter = new SseEmitter(0L);
|
|
||||||
// 启动一个子线程,异步回调给前端
|
|
||||||
new Thread(() -> {
|
|
||||||
// 读取JDK版本号
|
|
||||||
if (SystemUtil.getJavaInfo().getVersionInt() < 1100) {
|
|
||||||
try {
|
|
||||||
emitter.send(ResponseVO.error(-1, "微信解密必须要求JDK11以上版本,请更换JDK版本。"), MediaType.APPLICATION_JSON);
|
|
||||||
} catch (IOException e) {
|
|
||||||
throw new RuntimeException(e);
|
|
||||||
} finally {
|
|
||||||
emitter.complete();
|
|
||||||
}
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
databaseService.decrypt(emitter, decryptDTO);
|
|
||||||
}).start();
|
|
||||||
// 返回数据
|
|
||||||
return emitter;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 数据库解密
|
|
||||||
*
|
|
||||||
* @return ResponseVO
|
|
||||||
*/
|
|
||||||
@GetMapping("/getDatabase")
|
|
||||||
public ResponseVO<List<DatabaseVO>> decrypt(String wxId) {
|
|
||||||
return ResponseVO.ok(databaseService.getDatabase(wxId));
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@ -1,52 +0,0 @@
|
|||||||
package com.xcs.wx.controller;
|
|
||||||
|
|
||||||
import lombok.RequiredArgsConstructor;
|
|
||||||
import org.springframework.core.io.FileSystemResource;
|
|
||||||
import org.springframework.core.io.Resource;
|
|
||||||
import org.springframework.core.io.UrlResource;
|
|
||||||
import org.springframework.http.MediaType;
|
|
||||||
import org.springframework.http.ResponseEntity;
|
|
||||||
import org.springframework.stereotype.Controller;
|
|
||||||
import org.springframework.web.bind.annotation.GetMapping;
|
|
||||||
import org.springframework.web.bind.annotation.RequestMapping;
|
|
||||||
import org.springframework.web.bind.annotation.RequestParam;
|
|
||||||
|
|
||||||
import java.io.IOException;
|
|
||||||
import java.net.URLEncoder;
|
|
||||||
import java.nio.charset.StandardCharsets;
|
|
||||||
import java.nio.file.Path;
|
|
||||||
import java.nio.file.Paths;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 导出 Controller
|
|
||||||
*
|
|
||||||
* @author xcs
|
|
||||||
* @date 2024年01月05日 15时56分
|
|
||||||
**/
|
|
||||||
@Controller
|
|
||||||
@RequiredArgsConstructor
|
|
||||||
@RequestMapping("/api/export")
|
|
||||||
public class ExportController {
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 下载文件
|
|
||||||
*/
|
|
||||||
@GetMapping("download")
|
|
||||||
public ResponseEntity<Resource> download(@RequestParam String path) throws IOException {
|
|
||||||
Path filePath = Paths.get(path);
|
|
||||||
Resource resource = new FileSystemResource(filePath.toFile());
|
|
||||||
|
|
||||||
// 处理文件不存在的情况
|
|
||||||
if (!resource.exists()) {
|
|
||||||
return ResponseEntity.notFound().build();
|
|
||||||
}
|
|
||||||
|
|
||||||
String encodedFilename = URLEncoder.encode(resource.getFilename(), StandardCharsets.UTF_8.name()).replace("+", "%20");
|
|
||||||
String contentDisposition = "attachment; filename*=UTF-8''" + encodedFilename;
|
|
||||||
|
|
||||||
return ResponseEntity.ok()
|
|
||||||
.contentType(MediaType.parseMediaType("application/vnd.ms-excel"))
|
|
||||||
.header("Content-Disposition", contentDisposition)
|
|
||||||
.body(resource);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@ -1,41 +0,0 @@
|
|||||||
package com.xcs.wx.controller;
|
|
||||||
|
|
||||||
import com.xcs.wx.domain.dto.FeedsDTO;
|
|
||||||
import com.xcs.wx.domain.vo.FeedsVO;
|
|
||||||
import com.xcs.wx.domain.vo.PageVO;
|
|
||||||
import com.xcs.wx.domain.vo.ResponseVO;
|
|
||||||
import com.xcs.wx.service.FeedsService;
|
|
||||||
import lombok.RequiredArgsConstructor;
|
|
||||||
import org.springframework.web.bind.annotation.GetMapping;
|
|
||||||
import org.springframework.web.bind.annotation.RequestMapping;
|
|
||||||
import org.springframework.web.bind.annotation.RestController;
|
|
||||||
|
|
||||||
import java.util.List;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 朋友圈 Controller
|
|
||||||
*
|
|
||||||
* @author xcs
|
|
||||||
* @date 2024年01月04日 13时48分
|
|
||||||
**/
|
|
||||||
@RestController
|
|
||||||
@RequiredArgsConstructor
|
|
||||||
@RequestMapping("/api/feeds")
|
|
||||||
public class FeedsController {
|
|
||||||
|
|
||||||
private final FeedsService feedsService;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 查询朋友圈
|
|
||||||
*
|
|
||||||
* @param feedsDTO 请求参数
|
|
||||||
* @return FeedsVO
|
|
||||||
*/
|
|
||||||
@GetMapping("/list")
|
|
||||||
public ResponseVO<List<FeedsVO>> list(FeedsDTO feedsDTO) {
|
|
||||||
// 查询朋友圈
|
|
||||||
PageVO<FeedsVO> pageVO = feedsService.queryFeeds(feedsDTO);
|
|
||||||
// 返回数据
|
|
||||||
return ResponseVO.ok(pageVO.getRecords(), pageVO.getCurrent(), pageVO.getTotal());
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@ -1,57 +0,0 @@
|
|||||||
package com.xcs.wx.controller;
|
|
||||||
|
|
||||||
import com.xcs.wx.service.ImageService;
|
|
||||||
import lombok.RequiredArgsConstructor;
|
|
||||||
import org.springframework.core.io.Resource;
|
|
||||||
import org.springframework.http.ResponseEntity;
|
|
||||||
import org.springframework.stereotype.Controller;
|
|
||||||
import org.springframework.web.bind.annotation.GetMapping;
|
|
||||||
import org.springframework.web.bind.annotation.RequestMapping;
|
|
||||||
import org.springframework.web.bind.annotation.RequestParam;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 图片 Controller
|
|
||||||
*
|
|
||||||
* @author xcs
|
|
||||||
* @date 2024年1月24日16:41:52
|
|
||||||
*/
|
|
||||||
@Controller
|
|
||||||
@RequiredArgsConstructor
|
|
||||||
@RequestMapping("/api/image")
|
|
||||||
public class ImageController {
|
|
||||||
|
|
||||||
private final ImageService imageService;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 根据Md5下载图片
|
|
||||||
*
|
|
||||||
* @param md5 Md5值
|
|
||||||
* @return 图片
|
|
||||||
*/
|
|
||||||
@GetMapping("/downloadImgMd5")
|
|
||||||
public ResponseEntity<Resource> downloadImgMd5(@RequestParam String md5) {
|
|
||||||
return imageService.downloadImgMd5(md5);
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 根据路径下载图片
|
|
||||||
*
|
|
||||||
* @param path Md5值
|
|
||||||
* @return 图片
|
|
||||||
*/
|
|
||||||
@GetMapping("/downloadImg")
|
|
||||||
public ResponseEntity<Resource> downloadImg(@RequestParam String path) {
|
|
||||||
return imageService.downloadImg(path);
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 根据路径下载图片
|
|
||||||
*
|
|
||||||
* @param localPath 本地图片
|
|
||||||
* @return 图片
|
|
||||||
*/
|
|
||||||
@GetMapping("/downloadImgFormLocal")
|
|
||||||
public ResponseEntity<Resource> downloadImgFormLocal(@RequestParam String localPath) {
|
|
||||||
return imageService.downloadImgFormLocal(localPath);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@ -1,48 +0,0 @@
|
|||||||
package com.xcs.wx.controller;
|
|
||||||
|
|
||||||
import com.xcs.wx.domain.vo.MsgVO;
|
|
||||||
import com.xcs.wx.domain.vo.ResponseVO;
|
|
||||||
import com.xcs.wx.service.MsgService;
|
|
||||||
import lombok.RequiredArgsConstructor;
|
|
||||||
import org.springframework.web.bind.annotation.GetMapping;
|
|
||||||
import org.springframework.web.bind.annotation.RequestMapping;
|
|
||||||
import org.springframework.web.bind.annotation.RequestParam;
|
|
||||||
import org.springframework.web.bind.annotation.RestController;
|
|
||||||
|
|
||||||
import java.util.List;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 消息 Controller
|
|
||||||
*
|
|
||||||
* @author xcs
|
|
||||||
* @date 2023年12月25日 17时06分
|
|
||||||
**/
|
|
||||||
@RestController
|
|
||||||
@RequiredArgsConstructor
|
|
||||||
@RequestMapping("/api/msg")
|
|
||||||
public class MsgController {
|
|
||||||
|
|
||||||
private final MsgService msgService;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 查询消息
|
|
||||||
*
|
|
||||||
* @param talker 对话着
|
|
||||||
* @param nextSequence 下一个序列号
|
|
||||||
* @return ResponseVO
|
|
||||||
*/
|
|
||||||
@GetMapping("/list")
|
|
||||||
public ResponseVO<List<MsgVO>> list(@RequestParam String talker, @RequestParam Long nextSequence) {
|
|
||||||
return ResponseVO.ok(msgService.queryMsg(talker, nextSequence));
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 导出聊天记录
|
|
||||||
*
|
|
||||||
* @return ResponseVO
|
|
||||||
*/
|
|
||||||
@GetMapping("/export")
|
|
||||||
public ResponseVO<String> export(@RequestParam String talker) {
|
|
||||||
return ResponseVO.ok(msgService.exportMsg(talker));
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@ -1,48 +0,0 @@
|
|||||||
package com.xcs.wx.controller;
|
|
||||||
|
|
||||||
import com.xcs.wx.domain.dto.RecoverContactDTO;
|
|
||||||
import com.xcs.wx.domain.vo.RecoverContactVO;
|
|
||||||
import com.xcs.wx.domain.vo.ResponseVO;
|
|
||||||
import com.xcs.wx.service.RecoverContactService;
|
|
||||||
import lombok.RequiredArgsConstructor;
|
|
||||||
import org.springframework.web.bind.annotation.GetMapping;
|
|
||||||
import org.springframework.web.bind.annotation.RequestMapping;
|
|
||||||
import org.springframework.web.bind.annotation.RestController;
|
|
||||||
|
|
||||||
import java.util.List;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 找回联系人 Controller
|
|
||||||
*
|
|
||||||
* @author xcs
|
|
||||||
* @date 2024年01月04日 13时48分
|
|
||||||
**/
|
|
||||||
@RestController
|
|
||||||
@RequiredArgsConstructor
|
|
||||||
@RequestMapping("/api/recover/contact")
|
|
||||||
public class RecoverContactController {
|
|
||||||
|
|
||||||
private final RecoverContactService recoverContactService;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 查询朋友圈
|
|
||||||
*
|
|
||||||
* @param recoverContactDTO 请求参数
|
|
||||||
* @return FeedsVO
|
|
||||||
*/
|
|
||||||
@GetMapping("/list")
|
|
||||||
public ResponseVO<List<RecoverContactVO>> list(RecoverContactDTO recoverContactDTO) {
|
|
||||||
// 返回数据
|
|
||||||
return ResponseVO.ok(recoverContactService.queryRecoverContact(recoverContactDTO));
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 导出联系人
|
|
||||||
*
|
|
||||||
* @return ResponseVO
|
|
||||||
*/
|
|
||||||
@GetMapping("/export")
|
|
||||||
public ResponseVO<String> export() {
|
|
||||||
return ResponseVO.ok(recoverContactService.exportRecoverContact());
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@ -1,35 +0,0 @@
|
|||||||
package com.xcs.wx.controller;
|
|
||||||
|
|
||||||
import com.xcs.wx.domain.vo.ResponseVO;
|
|
||||||
import com.xcs.wx.domain.vo.SessionVO;
|
|
||||||
import com.xcs.wx.service.SessionService;
|
|
||||||
import lombok.RequiredArgsConstructor;
|
|
||||||
import org.springframework.web.bind.annotation.GetMapping;
|
|
||||||
import org.springframework.web.bind.annotation.RequestMapping;
|
|
||||||
import org.springframework.web.bind.annotation.RestController;
|
|
||||||
|
|
||||||
import java.util.List;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 会话 Controller
|
|
||||||
*
|
|
||||||
* @author xcs
|
|
||||||
* @date 2023年12月21日 17时38分
|
|
||||||
**/
|
|
||||||
@RestController
|
|
||||||
@RequiredArgsConstructor
|
|
||||||
@RequestMapping("/api/session")
|
|
||||||
public class SessionController {
|
|
||||||
|
|
||||||
private final SessionService sessionService;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 查询会话列表
|
|
||||||
*
|
|
||||||
* @return SessionVO
|
|
||||||
*/
|
|
||||||
@GetMapping("/list")
|
|
||||||
public ResponseVO<List<SessionVO>> list() {
|
|
||||||
return ResponseVO.ok(sessionService.querySession());
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@ -1,93 +0,0 @@
|
|||||||
package com.xcs.wx.controller;
|
|
||||||
|
|
||||||
import com.xcs.wx.domain.vo.UserInfoVO;
|
|
||||||
import com.xcs.wx.domain.vo.UserVO;
|
|
||||||
import com.xcs.wx.domain.vo.ResponseVO;
|
|
||||||
import com.xcs.wx.domain.vo.WeChatConfigVO;
|
|
||||||
import com.xcs.wx.service.UserService;
|
|
||||||
import com.xcs.wx.service.WeChatService;
|
|
||||||
import lombok.RequiredArgsConstructor;
|
|
||||||
import org.springframework.web.bind.annotation.GetMapping;
|
|
||||||
import org.springframework.web.bind.annotation.PutMapping;
|
|
||||||
import org.springframework.web.bind.annotation.RequestMapping;
|
|
||||||
import org.springframework.web.bind.annotation.RestController;
|
|
||||||
|
|
||||||
import java.util.List;
|
|
||||||
|
|
||||||
|
|
||||||
/**
|
|
||||||
* UserController
|
|
||||||
*
|
|
||||||
* @author xcs
|
|
||||||
* @date 2024年6月15日16:05:49
|
|
||||||
*/
|
|
||||||
@RestController
|
|
||||||
@RequiredArgsConstructor
|
|
||||||
@RequestMapping("/api/user")
|
|
||||||
public class UserController {
|
|
||||||
|
|
||||||
private final UserService userService;
|
|
||||||
private final WeChatService weChatService;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 查询微信信息
|
|
||||||
*
|
|
||||||
* @return ResponseVO
|
|
||||||
*/
|
|
||||||
@GetMapping("/readWeChatConfig")
|
|
||||||
public ResponseVO<List<WeChatConfigVO>> readWeChatConfig() {
|
|
||||||
return ResponseVO.ok(weChatService.readWeChatConfig());
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 用户头像
|
|
||||||
*
|
|
||||||
* @return ResponseVO
|
|
||||||
*/
|
|
||||||
@GetMapping("/userInfo")
|
|
||||||
public ResponseVO<UserInfoVO> userInfo() {
|
|
||||||
return ResponseVO.ok(userService.userInfo());
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 用户头像
|
|
||||||
*
|
|
||||||
* @return ResponseVO
|
|
||||||
*/
|
|
||||||
@GetMapping("/avatar")
|
|
||||||
public ResponseVO<String> avatar() {
|
|
||||||
return ResponseVO.ok(userService.avatar());
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 用户昵称
|
|
||||||
*
|
|
||||||
* @return ResponseVO
|
|
||||||
*/
|
|
||||||
@GetMapping("/nickname")
|
|
||||||
public ResponseVO<String> nickname() {
|
|
||||||
return ResponseVO.ok(userService.nickname());
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 所有用户
|
|
||||||
*
|
|
||||||
* @return ResponseVO
|
|
||||||
*/
|
|
||||||
@GetMapping("/users")
|
|
||||||
public ResponseVO<List<UserVO>> users() {
|
|
||||||
return ResponseVO.ok(userService.users());
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 切换用户
|
|
||||||
*
|
|
||||||
* @param wxId wxId
|
|
||||||
* @return ResponseVO
|
|
||||||
*/
|
|
||||||
@PutMapping("/switchUser")
|
|
||||||
public ResponseVO<String> switchUser(String wxId) {
|
|
||||||
userService.switchUser(wxId);
|
|
||||||
return ResponseVO.ok("切换成功");
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@ -1,66 +0,0 @@
|
|||||||
package com.xcs.wx.domain;
|
|
||||||
|
|
||||||
import com.baomidou.mybatisplus.annotation.TableField;
|
|
||||||
import com.baomidou.mybatisplus.annotation.TableId;
|
|
||||||
import com.baomidou.mybatisplus.annotation.TableName;
|
|
||||||
import lombok.Data;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 联系人标签
|
|
||||||
*
|
|
||||||
* @author xcs
|
|
||||||
* @date 2023年12月22日 16时53分
|
|
||||||
**/
|
|
||||||
@Data
|
|
||||||
@TableName("ContactLabel")
|
|
||||||
public class ContactLabel {
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 标签Id
|
|
||||||
*/
|
|
||||||
@TableId("LabelId")
|
|
||||||
private String labelId;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 标签名称
|
|
||||||
*/
|
|
||||||
@TableField("LabelName")
|
|
||||||
private String labelName;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 预留字段1。
|
|
||||||
*/
|
|
||||||
@TableField("Reserved1")
|
|
||||||
private Integer reserved1;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 预留字段2。
|
|
||||||
*/
|
|
||||||
@TableField("Reserved2")
|
|
||||||
private Integer reserved2;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 预留字段3。
|
|
||||||
*/
|
|
||||||
@TableField("Reserved3")
|
|
||||||
private String reserved3;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 预留字段4。
|
|
||||||
*/
|
|
||||||
@TableField("Reserved4")
|
|
||||||
private String reserved4;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 预留字段5。
|
|
||||||
*/
|
|
||||||
@TableField("Reserved5")
|
|
||||||
private String reserved5;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 响应数据
|
|
||||||
*/
|
|
||||||
@TableField("RespData")
|
|
||||||
private String respData;
|
|
||||||
|
|
||||||
}
|
|
||||||
@ -1,35 +0,0 @@
|
|||||||
package com.xcs.wx.domain;
|
|
||||||
|
|
||||||
import com.baomidou.mybatisplus.annotation.TableField;
|
|
||||||
import com.baomidou.mybatisplus.annotation.TableId;
|
|
||||||
import com.baomidou.mybatisplus.annotation.TableName;
|
|
||||||
import lombok.Data;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 最近使用关键字
|
|
||||||
*
|
|
||||||
* @author xcs
|
|
||||||
* @date 2024年01月23日 11时09分
|
|
||||||
**/
|
|
||||||
@Data
|
|
||||||
@TableName("FTSRecentUsed15")
|
|
||||||
public class FTSRecentUsed {
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 查询的内容
|
|
||||||
*/
|
|
||||||
@TableId("queryText")
|
|
||||||
private String queryText;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 用户名
|
|
||||||
*/
|
|
||||||
@TableField("username")
|
|
||||||
private Integer username;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 修改时间
|
|
||||||
*/
|
|
||||||
@TableField("updateTime")
|
|
||||||
private String updateTime;
|
|
||||||
}
|
|
||||||
@ -1,55 +0,0 @@
|
|||||||
package com.xcs.wx.domain;
|
|
||||||
|
|
||||||
import com.baomidou.mybatisplus.annotation.TableField;
|
|
||||||
import com.baomidou.mybatisplus.annotation.TableId;
|
|
||||||
import com.baomidou.mybatisplus.annotation.TableName;
|
|
||||||
import lombok.Data;
|
|
||||||
import org.apache.ibatis.type.ByteArrayTypeHandler;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 图片链接表
|
|
||||||
*
|
|
||||||
* @author xcs
|
|
||||||
* @date 2024年01月04日 17时55分
|
|
||||||
**/
|
|
||||||
@Data
|
|
||||||
@TableName(value = "HardLinkImageAttribute", autoResultMap = true)
|
|
||||||
public class HardLinkImageAttribute {
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 动态的唯一标识ID。
|
|
||||||
*/
|
|
||||||
@TableId("Md5Hash")
|
|
||||||
private Long md5Hash;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 发布用户的用户名。
|
|
||||||
*/
|
|
||||||
@TableField("DirID1")
|
|
||||||
private String dirId1;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 发布用户的用户名。
|
|
||||||
*/
|
|
||||||
@TableField("DirID2")
|
|
||||||
private String dirId2;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 发布用户的用户名。
|
|
||||||
*/
|
|
||||||
@TableField(value = "Md5", typeHandler = ByteArrayTypeHandler.class)
|
|
||||||
private byte[] md5;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 发布用户的用户名。
|
|
||||||
*/
|
|
||||||
@TableField("ModifyTime")
|
|
||||||
private String modifyTime;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 发布用户的用户名。
|
|
||||||
*/
|
|
||||||
@TableField("FileName")
|
|
||||||
private String fileName;
|
|
||||||
|
|
||||||
}
|
|
||||||
@ -1,55 +0,0 @@
|
|||||||
package com.xcs.wx.domain;
|
|
||||||
|
|
||||||
import com.baomidou.mybatisplus.annotation.TableField;
|
|
||||||
import com.baomidou.mybatisplus.annotation.TableId;
|
|
||||||
import com.baomidou.mybatisplus.annotation.TableName;
|
|
||||||
import lombok.Data;
|
|
||||||
import org.apache.ibatis.type.ByteArrayTypeHandler;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 视频链接表
|
|
||||||
*
|
|
||||||
* @author xcs
|
|
||||||
* @date 2024年02月07日 15时24分
|
|
||||||
**/
|
|
||||||
@Data
|
|
||||||
@TableName(value = "HardLinkVideoAttribute", autoResultMap = true)
|
|
||||||
public class HardLinkVideoAttribute {
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 动态的唯一标识ID。
|
|
||||||
*/
|
|
||||||
@TableId("Md5Hash")
|
|
||||||
private Long md5Hash;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 发布用户的用户名。
|
|
||||||
*/
|
|
||||||
@TableField("DirID1")
|
|
||||||
private String dirId1;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 发布用户的用户名。
|
|
||||||
*/
|
|
||||||
@TableField("DirID2")
|
|
||||||
private String dirId2;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 发布用户的用户名。
|
|
||||||
*/
|
|
||||||
@TableField(value = "Md5", typeHandler = ByteArrayTypeHandler.class)
|
|
||||||
private byte[] md5;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 发布用户的用户名。
|
|
||||||
*/
|
|
||||||
@TableField("ModifyTime")
|
|
||||||
private String modifyTime;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 发布用户的用户名。
|
|
||||||
*/
|
|
||||||
@TableField("FileName")
|
|
||||||
private String fileName;
|
|
||||||
|
|
||||||
}
|
|
||||||
@ -1,41 +0,0 @@
|
|||||||
package com.xcs.wx.domain;
|
|
||||||
|
|
||||||
import com.baomidou.mybatisplus.annotation.TableField;
|
|
||||||
import com.baomidou.mybatisplus.annotation.TableName;
|
|
||||||
import lombok.Data;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* SQLite 数据库中的一个系统表
|
|
||||||
*
|
|
||||||
* @author xcs
|
|
||||||
* @date 2024年6月13日09:18:29
|
|
||||||
*/
|
|
||||||
@Data
|
|
||||||
@TableName("sqlite_master")
|
|
||||||
public class SqliteMaster {
|
|
||||||
|
|
||||||
/**
|
|
||||||
* type
|
|
||||||
*/
|
|
||||||
@TableField("type")
|
|
||||||
private String type;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* tblName
|
|
||||||
*/
|
|
||||||
@TableField("tbl_name")
|
|
||||||
private String tblName;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* rootPage
|
|
||||||
*/
|
|
||||||
@TableField("rootpage")
|
|
||||||
private String rootPage;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* sql
|
|
||||||
*/
|
|
||||||
@TableField("sql")
|
|
||||||
private String sql;
|
|
||||||
|
|
||||||
}
|
|
||||||
@ -1,106 +0,0 @@
|
|||||||
package com.xcs.wx.domain.bo;
|
|
||||||
|
|
||||||
import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
|
|
||||||
import com.fasterxml.jackson.dataformat.xml.annotation.JacksonXmlProperty;
|
|
||||||
import com.fasterxml.jackson.dataformat.xml.annotation.JacksonXmlRootElement;
|
|
||||||
import lombok.Data;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* CompressContentBO
|
|
||||||
*
|
|
||||||
* @author xcs
|
|
||||||
* @date 2024年01月16日 14时59分
|
|
||||||
**/
|
|
||||||
@Data
|
|
||||||
@JsonIgnoreProperties(ignoreUnknown = true)
|
|
||||||
@JacksonXmlRootElement(localName = "msg")
|
|
||||||
public class CompressContentBO {
|
|
||||||
|
|
||||||
@JacksonXmlProperty(localName = "appmsg")
|
|
||||||
private AppMsg appMsg;
|
|
||||||
|
|
||||||
@JacksonXmlProperty(localName = "fromusername")
|
|
||||||
private String fromUsername;
|
|
||||||
|
|
||||||
@JacksonXmlProperty(localName = "scene")
|
|
||||||
private int scene;
|
|
||||||
|
|
||||||
@JacksonXmlProperty(localName = "appinfo")
|
|
||||||
private AppInfo appInfo;
|
|
||||||
|
|
||||||
@JacksonXmlProperty(localName = "titile")
|
|
||||||
private String titile;
|
|
||||||
|
|
||||||
@Data
|
|
||||||
@JsonIgnoreProperties(ignoreUnknown = true)
|
|
||||||
public static class AppMsg {
|
|
||||||
@JacksonXmlProperty(localName = "title")
|
|
||||||
private String title;
|
|
||||||
|
|
||||||
@JacksonXmlProperty(localName = "sourcedisplayname")
|
|
||||||
private String sourceDisplayName;
|
|
||||||
|
|
||||||
@JacksonXmlProperty(localName = "des")
|
|
||||||
private String des;
|
|
||||||
|
|
||||||
@JacksonXmlProperty(localName = "url")
|
|
||||||
private String url;
|
|
||||||
|
|
||||||
@JacksonXmlProperty(localName = "action")
|
|
||||||
private String action;
|
|
||||||
|
|
||||||
@JacksonXmlProperty(localName = "type")
|
|
||||||
private int type;
|
|
||||||
|
|
||||||
@JacksonXmlProperty(localName = "showtype")
|
|
||||||
private int showType;
|
|
||||||
|
|
||||||
@JacksonXmlProperty(localName = "refermsg")
|
|
||||||
private ReferMsg referMsg;
|
|
||||||
|
|
||||||
@JacksonXmlProperty(localName = "weappinfo")
|
|
||||||
private WeAppInfo weAppInfo;
|
|
||||||
|
|
||||||
@Data
|
|
||||||
@JsonIgnoreProperties(ignoreUnknown = true)
|
|
||||||
public static class ReferMsg {
|
|
||||||
@JacksonXmlProperty(localName = "type")
|
|
||||||
private int type;
|
|
||||||
|
|
||||||
@JacksonXmlProperty(localName = "svrid")
|
|
||||||
private long svrId;
|
|
||||||
|
|
||||||
@JacksonXmlProperty(localName = "fromusr")
|
|
||||||
private String fromUsr;
|
|
||||||
|
|
||||||
@JacksonXmlProperty(localName = "displayname")
|
|
||||||
private String displayName;
|
|
||||||
|
|
||||||
@JacksonXmlProperty(localName = "content")
|
|
||||||
private String content;
|
|
||||||
|
|
||||||
@JacksonXmlProperty(localName = "msgsource")
|
|
||||||
private String msgSource;
|
|
||||||
}
|
|
||||||
|
|
||||||
@Data
|
|
||||||
@JsonIgnoreProperties(ignoreUnknown = true)
|
|
||||||
public static class WeAppInfo {
|
|
||||||
@JacksonXmlProperty(localName = "weappiconurl")
|
|
||||||
private String weAppIconUrl;
|
|
||||||
|
|
||||||
@JacksonXmlProperty(localName = "weapppagethumbrawurl")
|
|
||||||
private String weAppPageThumbRawUrl;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
@Data
|
|
||||||
@JsonIgnoreProperties(ignoreUnknown = true)
|
|
||||||
public static class AppInfo {
|
|
||||||
@JacksonXmlProperty(localName = "version")
|
|
||||||
private int version;
|
|
||||||
|
|
||||||
@JacksonXmlProperty(localName = "appname")
|
|
||||||
private String appName;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@ -1,25 +0,0 @@
|
|||||||
package com.xcs.wx.domain.bo;
|
|
||||||
|
|
||||||
import lombok.AllArgsConstructor;
|
|
||||||
import lombok.Data;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* DecryptBO
|
|
||||||
*
|
|
||||||
* @author xcs
|
|
||||||
* @date 2023年12月10日20:21:02
|
|
||||||
*/
|
|
||||||
@Data
|
|
||||||
@AllArgsConstructor
|
|
||||||
public class DecryptBO {
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 输入要解密的文件
|
|
||||||
*/
|
|
||||||
private String input;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 解密后的文件
|
|
||||||
*/
|
|
||||||
private String output;
|
|
||||||
}
|
|
||||||
@ -1,169 +0,0 @@
|
|||||||
package com.xcs.wx.domain.bo;
|
|
||||||
|
|
||||||
import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
|
|
||||||
import com.fasterxml.jackson.dataformat.xml.annotation.JacksonXmlProperty;
|
|
||||||
import com.fasterxml.jackson.dataformat.xml.annotation.JacksonXmlRootElement;
|
|
||||||
import lombok.Data;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* @author xcs
|
|
||||||
* @date 2024年01月16日 14时59分
|
|
||||||
**/
|
|
||||||
@Data
|
|
||||||
@JsonIgnoreProperties(ignoreUnknown = true)
|
|
||||||
@JacksonXmlRootElement(localName = "msg")
|
|
||||||
public class MsgBO {
|
|
||||||
|
|
||||||
@JacksonXmlProperty(localName = "img")
|
|
||||||
public Img img;
|
|
||||||
|
|
||||||
@JacksonXmlProperty(localName = "emoji")
|
|
||||||
private Emoji emoji;
|
|
||||||
|
|
||||||
@Data
|
|
||||||
@JsonIgnoreProperties(ignoreUnknown = true)
|
|
||||||
public static class Img {
|
|
||||||
@JacksonXmlProperty(isAttribute = true, localName = "aeskey")
|
|
||||||
public String aesKey;
|
|
||||||
|
|
||||||
@JacksonXmlProperty(isAttribute = true, localName = "encryver")
|
|
||||||
public String encryVer;
|
|
||||||
|
|
||||||
@JacksonXmlProperty(isAttribute = true, localName = "cdnthumbaeskey")
|
|
||||||
public String cdnThumbAesKey;
|
|
||||||
|
|
||||||
@JacksonXmlProperty(isAttribute = true, localName = "cdnthumburl")
|
|
||||||
public String cdnThumbUrl;
|
|
||||||
|
|
||||||
@JacksonXmlProperty(isAttribute = true, localName = "cdnthumblength")
|
|
||||||
public int cdnThumbLength;
|
|
||||||
|
|
||||||
@JacksonXmlProperty(isAttribute = true, localName = "cdnthumbheight")
|
|
||||||
public int cdnThumbHeight;
|
|
||||||
|
|
||||||
@JacksonXmlProperty(isAttribute = true, localName = "cdnthumbwidth")
|
|
||||||
public int cdnThumbWidth;
|
|
||||||
|
|
||||||
@JacksonXmlProperty(isAttribute = true,localName = "cdnmidheight")
|
|
||||||
public int cdnMidHeight;
|
|
||||||
|
|
||||||
@JacksonXmlProperty(isAttribute = true, localName = "cdnmidwidth")
|
|
||||||
public int cdnMidWidth;
|
|
||||||
|
|
||||||
@JacksonXmlProperty(isAttribute = true, localName = "cdnhdheight")
|
|
||||||
public int cdnHdHeight;
|
|
||||||
|
|
||||||
@JacksonXmlProperty(isAttribute = true, localName = "cdnhdwidth")
|
|
||||||
public int cdnHdWidth;
|
|
||||||
|
|
||||||
@JacksonXmlProperty(isAttribute = true, localName = "cdnmidimgurl")
|
|
||||||
public String cdnMidImgUrl;
|
|
||||||
|
|
||||||
@JacksonXmlProperty(isAttribute = true, localName = "length")
|
|
||||||
public int length;
|
|
||||||
|
|
||||||
@JacksonXmlProperty(isAttribute = true, localName = "md5")
|
|
||||||
public String md5;
|
|
||||||
|
|
||||||
@JacksonXmlProperty(isAttribute = true, localName = "hevc_mid_size")
|
|
||||||
public int hevcMidSize;
|
|
||||||
|
|
||||||
@JacksonXmlProperty(isAttribute = true, localName = "originsourcemd5")
|
|
||||||
public String originSourceMd5;
|
|
||||||
}
|
|
||||||
|
|
||||||
@Data
|
|
||||||
@JsonIgnoreProperties(ignoreUnknown = true)
|
|
||||||
public static class Emoji {
|
|
||||||
|
|
||||||
@JacksonXmlProperty(isAttribute = true, localName = "fromusername")
|
|
||||||
private String fromUsername;
|
|
||||||
|
|
||||||
@JacksonXmlProperty(isAttribute = true, localName = "tousername")
|
|
||||||
private String toUsername;
|
|
||||||
|
|
||||||
@JacksonXmlProperty(isAttribute = true, localName = "type")
|
|
||||||
private String type;
|
|
||||||
|
|
||||||
@JacksonXmlProperty(isAttribute = true, localName = "idbuffer")
|
|
||||||
private String idBuffer;
|
|
||||||
|
|
||||||
@JacksonXmlProperty(isAttribute = true, localName = "md5")
|
|
||||||
private String md5;
|
|
||||||
|
|
||||||
@JacksonXmlProperty(isAttribute = true, localName = "len")
|
|
||||||
private String len;
|
|
||||||
|
|
||||||
@JacksonXmlProperty(isAttribute = true, localName = "productid")
|
|
||||||
private String productId;
|
|
||||||
|
|
||||||
@JacksonXmlProperty(isAttribute = true, localName = "androidmd5")
|
|
||||||
private String androidMd5;
|
|
||||||
|
|
||||||
@JacksonXmlProperty(isAttribute = true, localName = "androidlen")
|
|
||||||
private String androidLen;
|
|
||||||
|
|
||||||
@JacksonXmlProperty(isAttribute = true, localName = "s60v3md5")
|
|
||||||
private String s60v3Md5;
|
|
||||||
|
|
||||||
@JacksonXmlProperty(isAttribute = true, localName = "s60v3len")
|
|
||||||
private String s60v3Len;
|
|
||||||
|
|
||||||
@JacksonXmlProperty(isAttribute = true, localName = "s60v5md5")
|
|
||||||
private String s60v5Md5;
|
|
||||||
|
|
||||||
@JacksonXmlProperty(isAttribute = true, localName = "s60v5len")
|
|
||||||
private String s60v5Len;
|
|
||||||
|
|
||||||
@JacksonXmlProperty(isAttribute = true, localName = "cdnurl")
|
|
||||||
private String cdnUrl;
|
|
||||||
|
|
||||||
@JacksonXmlProperty(isAttribute = true, localName = "designerid")
|
|
||||||
private String designerId;
|
|
||||||
|
|
||||||
@JacksonXmlProperty(isAttribute = true, localName = "thumburl")
|
|
||||||
private String thumbUrl;
|
|
||||||
|
|
||||||
@JacksonXmlProperty(isAttribute = true, localName = "encrypturl")
|
|
||||||
private String encryptUrl;
|
|
||||||
|
|
||||||
@JacksonXmlProperty(isAttribute = true, localName = "aeskey")
|
|
||||||
private String aesKey;
|
|
||||||
|
|
||||||
@JacksonXmlProperty(isAttribute = true, localName = "externurl")
|
|
||||||
private String externUrl;
|
|
||||||
|
|
||||||
@JacksonXmlProperty(isAttribute = true, localName = "externmd5")
|
|
||||||
private String externMd5;
|
|
||||||
|
|
||||||
@JacksonXmlProperty(isAttribute = true, localName = "width")
|
|
||||||
private String width;
|
|
||||||
|
|
||||||
@JacksonXmlProperty(isAttribute = true, localName = "height")
|
|
||||||
private String height;
|
|
||||||
|
|
||||||
@JacksonXmlProperty(isAttribute = true, localName = "tpurl")
|
|
||||||
private String tpUrl;
|
|
||||||
|
|
||||||
@JacksonXmlProperty(isAttribute = true, localName = "tpauthkey")
|
|
||||||
private String tpAuthKey;
|
|
||||||
|
|
||||||
@JacksonXmlProperty(isAttribute = true, localName = "attachedtext")
|
|
||||||
private String attachedText;
|
|
||||||
|
|
||||||
@JacksonXmlProperty(isAttribute = true, localName = "attachedtextcolor")
|
|
||||||
private String attachedTextColor;
|
|
||||||
|
|
||||||
@JacksonXmlProperty(isAttribute = true, localName = "lensid")
|
|
||||||
private String lensId;
|
|
||||||
|
|
||||||
@JacksonXmlProperty(isAttribute = true, localName = "emojiattr")
|
|
||||||
private String emojiAttr;
|
|
||||||
|
|
||||||
@JacksonXmlProperty(isAttribute = true, localName = "linkid")
|
|
||||||
private String linkId;
|
|
||||||
|
|
||||||
@JacksonXmlProperty(isAttribute = true, localName = "desc")
|
|
||||||
private String desc;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@ -1,223 +0,0 @@
|
|||||||
package com.xcs.wx.domain.bo;
|
|
||||||
|
|
||||||
import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
|
|
||||||
import com.fasterxml.jackson.dataformat.xml.annotation.JacksonXmlProperty;
|
|
||||||
import com.fasterxml.jackson.dataformat.xml.annotation.JacksonXmlRootElement;
|
|
||||||
import com.fasterxml.jackson.dataformat.xml.annotation.JacksonXmlText;
|
|
||||||
import lombok.Data;
|
|
||||||
|
|
||||||
import java.util.List;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* TimelineObjectBO
|
|
||||||
*
|
|
||||||
* @author xcs
|
|
||||||
* @date 2024年01月03日 17时47分
|
|
||||||
**/
|
|
||||||
@Data
|
|
||||||
@JsonIgnoreProperties(ignoreUnknown = true)
|
|
||||||
@JacksonXmlRootElement(localName = "TimelineObject")
|
|
||||||
public class TimelineObjectBO {
|
|
||||||
|
|
||||||
@JacksonXmlProperty(localName = "id")
|
|
||||||
private String id;
|
|
||||||
|
|
||||||
@JacksonXmlProperty(localName = "username")
|
|
||||||
private String username;
|
|
||||||
|
|
||||||
@JacksonXmlProperty(localName = "createTime")
|
|
||||||
private Long createTime;
|
|
||||||
|
|
||||||
@JacksonXmlProperty(localName = "contentDesc")
|
|
||||||
private String contentDesc;
|
|
||||||
|
|
||||||
@JacksonXmlProperty(localName = "contentDescShowType")
|
|
||||||
private String contentDescShowType;
|
|
||||||
|
|
||||||
@JacksonXmlProperty(localName = "contentDescScene")
|
|
||||||
private String contentDescScene;
|
|
||||||
|
|
||||||
@JacksonXmlProperty(localName = "private")
|
|
||||||
private String asPrivate;
|
|
||||||
|
|
||||||
@JacksonXmlProperty(localName = "sightFolded")
|
|
||||||
private String sightFolded;
|
|
||||||
|
|
||||||
@JacksonXmlProperty(localName = "showFlag")
|
|
||||||
private String showFlag;
|
|
||||||
|
|
||||||
@JacksonXmlProperty(localName = "appInfo")
|
|
||||||
private AppInfo appInfo;
|
|
||||||
|
|
||||||
@JacksonXmlProperty(localName = "sourceUserName")
|
|
||||||
private String sourceUserName;
|
|
||||||
|
|
||||||
@JacksonXmlProperty(localName = "sourceNickName")
|
|
||||||
private String sourceNickName;
|
|
||||||
|
|
||||||
@JacksonXmlProperty(localName = "statisticsData")
|
|
||||||
private String statisticsData;
|
|
||||||
|
|
||||||
@JacksonXmlProperty(localName = "statExtStr")
|
|
||||||
private String statExtStr;
|
|
||||||
|
|
||||||
@JacksonXmlProperty(localName = "ContentObject")
|
|
||||||
private ContentObject contentObject;
|
|
||||||
|
|
||||||
@JacksonXmlProperty(localName = "publicUserName")
|
|
||||||
private String publicUserName;
|
|
||||||
|
|
||||||
@JacksonXmlProperty(localName = "location")
|
|
||||||
private Location location;
|
|
||||||
|
|
||||||
@JacksonXmlProperty(localName = "streamvideo")
|
|
||||||
private StreamVideo streamVideo;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* AppInfo
|
|
||||||
*/
|
|
||||||
@Data
|
|
||||||
@JsonIgnoreProperties(ignoreUnknown = true)
|
|
||||||
public static class AppInfo {
|
|
||||||
@JacksonXmlProperty(localName = "id")
|
|
||||||
private String id;
|
|
||||||
|
|
||||||
@JacksonXmlProperty(localName = "version")
|
|
||||||
private String version;
|
|
||||||
|
|
||||||
@JacksonXmlProperty(localName = "appName")
|
|
||||||
private String appName;
|
|
||||||
|
|
||||||
@JacksonXmlProperty(localName = "installUrl")
|
|
||||||
private String installUrl;
|
|
||||||
|
|
||||||
@JacksonXmlProperty(localName = "fromUrl")
|
|
||||||
private String fromUrl;
|
|
||||||
|
|
||||||
@JacksonXmlProperty(localName = "isForceUpdate")
|
|
||||||
private String isForceUpdate;
|
|
||||||
|
|
||||||
@JacksonXmlProperty(localName = "isHidden")
|
|
||||||
private String isHidden;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* ContentObject
|
|
||||||
*/
|
|
||||||
@Data
|
|
||||||
@JsonIgnoreProperties(ignoreUnknown = true)
|
|
||||||
public static class ContentObject {
|
|
||||||
@JacksonXmlProperty(localName = "contentStyle")
|
|
||||||
private Integer contentStyle;
|
|
||||||
|
|
||||||
@JacksonXmlProperty(localName = "description")
|
|
||||||
private String description;
|
|
||||||
|
|
||||||
@JacksonXmlProperty(localName = "title")
|
|
||||||
private String title;
|
|
||||||
|
|
||||||
@JacksonXmlProperty(localName = "contentUrl")
|
|
||||||
private String contentUrl;
|
|
||||||
|
|
||||||
@JacksonXmlProperty(localName = "mediaList")
|
|
||||||
private List<Media> mediaList;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Media
|
|
||||||
*/
|
|
||||||
@Data
|
|
||||||
@JsonIgnoreProperties(ignoreUnknown = true)
|
|
||||||
public static class Media {
|
|
||||||
@JacksonXmlProperty(localName = "id")
|
|
||||||
private String id;
|
|
||||||
|
|
||||||
@JacksonXmlProperty(localName = "type")
|
|
||||||
private String type;
|
|
||||||
|
|
||||||
@JacksonXmlProperty(localName = "title")
|
|
||||||
private String title;
|
|
||||||
|
|
||||||
@JacksonXmlProperty(localName = "description")
|
|
||||||
private String description;
|
|
||||||
|
|
||||||
@JacksonXmlProperty(localName = "private")
|
|
||||||
private String asPrivate;
|
|
||||||
|
|
||||||
@JacksonXmlProperty(localName = "userData")
|
|
||||||
private String userData;
|
|
||||||
|
|
||||||
@JacksonXmlProperty(localName = "subType")
|
|
||||||
private String subType;
|
|
||||||
|
|
||||||
@JacksonXmlProperty(localName = "videoSize")
|
|
||||||
private String videoSize;
|
|
||||||
|
|
||||||
@JacksonXmlProperty(localName = "url")
|
|
||||||
private Url url;
|
|
||||||
|
|
||||||
@JacksonXmlProperty(localName = "thumb")
|
|
||||||
private Thumb thumb;
|
|
||||||
|
|
||||||
@JacksonXmlProperty(localName = "size")
|
|
||||||
private String size;
|
|
||||||
}
|
|
||||||
|
|
||||||
@Data
|
|
||||||
@JsonIgnoreProperties(ignoreUnknown = true)
|
|
||||||
public static class Url {
|
|
||||||
@JacksonXmlProperty(isAttribute = true)
|
|
||||||
private int type;
|
|
||||||
|
|
||||||
@JacksonXmlProperty(isAttribute = true)
|
|
||||||
private String md5;
|
|
||||||
|
|
||||||
@JacksonXmlProperty(isAttribute = true)
|
|
||||||
private String videomd5;
|
|
||||||
|
|
||||||
@JacksonXmlText
|
|
||||||
private String value;
|
|
||||||
}
|
|
||||||
|
|
||||||
@Data
|
|
||||||
@JsonIgnoreProperties(ignoreUnknown = true)
|
|
||||||
public static class Thumb {
|
|
||||||
@JacksonXmlProperty(isAttribute = true)
|
|
||||||
private int type;
|
|
||||||
|
|
||||||
@JacksonXmlText
|
|
||||||
private String value;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
@Data
|
|
||||||
@JsonIgnoreProperties(ignoreUnknown = true)
|
|
||||||
public static class Location {
|
|
||||||
@JacksonXmlProperty(isAttribute = true, localName = "poiClassifyId")
|
|
||||||
private String poiClassifyId;
|
|
||||||
|
|
||||||
@JacksonXmlProperty(isAttribute = true, localName = "poiName")
|
|
||||||
private String poiName;
|
|
||||||
|
|
||||||
@JacksonXmlProperty(isAttribute = true, localName = "poiAddress")
|
|
||||||
private String poiAddress;
|
|
||||||
|
|
||||||
@JacksonXmlProperty(isAttribute = true, localName = "poiClassifyType")
|
|
||||||
private Integer poiClassifyType;
|
|
||||||
|
|
||||||
@JacksonXmlProperty(isAttribute = true, localName = "city")
|
|
||||||
private String city;
|
|
||||||
}
|
|
||||||
|
|
||||||
@Data
|
|
||||||
@JsonIgnoreProperties(ignoreUnknown = true)
|
|
||||||
public static class StreamVideo {
|
|
||||||
@JacksonXmlProperty(localName = "streamvideourl")
|
|
||||||
private String streamVideoUrl;
|
|
||||||
|
|
||||||
@JacksonXmlProperty(localName = "streamvideothumburl")
|
|
||||||
private String streamVideoThumbUrl;
|
|
||||||
|
|
||||||
@JacksonXmlProperty(localName = "streamvideoweburl")
|
|
||||||
private String streamVideoWebUrl;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@ -1,45 +0,0 @@
|
|||||||
package com.xcs.wx.domain.bo;
|
|
||||||
|
|
||||||
import lombok.Builder;
|
|
||||||
import lombok.Data;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* UserBO
|
|
||||||
*
|
|
||||||
* @author xcs
|
|
||||||
* @date 2023年12月31日15:25:21
|
|
||||||
*/
|
|
||||||
@Data
|
|
||||||
@Builder
|
|
||||||
public class UserBO {
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 文件目录
|
|
||||||
*/
|
|
||||||
private String basePath;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 微信Id
|
|
||||||
*/
|
|
||||||
private String wxId;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 昵称
|
|
||||||
*/
|
|
||||||
private String nickname;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 版本号
|
|
||||||
*/
|
|
||||||
private String version;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 账号
|
|
||||||
*/
|
|
||||||
private String account;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 手机号
|
|
||||||
*/
|
|
||||||
private String mobile;
|
|
||||||
}
|
|
||||||
@ -1,31 +0,0 @@
|
|||||||
package com.xcs.wx.domain.bo;
|
|
||||||
|
|
||||||
import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
|
|
||||||
import com.fasterxml.jackson.dataformat.xml.annotation.JacksonXmlCData;
|
|
||||||
import com.fasterxml.jackson.dataformat.xml.annotation.JacksonXmlProperty;
|
|
||||||
import com.fasterxml.jackson.dataformat.xml.annotation.JacksonXmlRootElement;
|
|
||||||
import lombok.Data;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* VoipMsgBO
|
|
||||||
*
|
|
||||||
* @author xcs
|
|
||||||
* @date 2024年01月17日 15时15分
|
|
||||||
**/
|
|
||||||
@Data
|
|
||||||
@JsonIgnoreProperties(ignoreUnknown = true)
|
|
||||||
@JacksonXmlRootElement(localName = "voipmsg")
|
|
||||||
public class VoipMsgBO {
|
|
||||||
|
|
||||||
@JacksonXmlProperty(localName = "VoIPBubbleMsg")
|
|
||||||
private VoIPBubbleMsg voIPBubbleMsg;
|
|
||||||
|
|
||||||
@Data
|
|
||||||
@JsonIgnoreProperties(ignoreUnknown = true)
|
|
||||||
public static class VoIPBubbleMsg {
|
|
||||||
|
|
||||||
@JacksonXmlCData
|
|
||||||
@JacksonXmlProperty(localName = "msg")
|
|
||||||
private String msg;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@ -1,30 +0,0 @@
|
|||||||
package com.xcs.wx.domain.dto;
|
|
||||||
|
|
||||||
import lombok.Data;
|
|
||||||
import lombok.EqualsAndHashCode;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* ChatRoomDTO
|
|
||||||
*
|
|
||||||
* @author xcs
|
|
||||||
* @date 2024年01月08日 16时24分
|
|
||||||
**/
|
|
||||||
@Data
|
|
||||||
@EqualsAndHashCode(callSuper = true)
|
|
||||||
public class ChatRoomDTO extends PageDTO {
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 群聊标题
|
|
||||||
*/
|
|
||||||
private String chatRoomTitle;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 群昵称
|
|
||||||
*/
|
|
||||||
private String selfDisplayName;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 创建人
|
|
||||||
*/
|
|
||||||
private String createBy;
|
|
||||||
}
|
|
||||||
@ -1,35 +0,0 @@
|
|||||||
package com.xcs.wx.domain.dto;
|
|
||||||
|
|
||||||
import lombok.Data;
|
|
||||||
import lombok.EqualsAndHashCode;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* ContactDTO
|
|
||||||
*
|
|
||||||
* @author xcs
|
|
||||||
* @date 2023年12月31日15:25:21
|
|
||||||
*/
|
|
||||||
@Data
|
|
||||||
@EqualsAndHashCode(callSuper = true)
|
|
||||||
public class ContactDTO extends PageDTO {
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 备注
|
|
||||||
*/
|
|
||||||
private String remark;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 昵称
|
|
||||||
*/
|
|
||||||
private String nickName;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 标签Id
|
|
||||||
*/
|
|
||||||
private String labels;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 描述
|
|
||||||
*/
|
|
||||||
private String describe;
|
|
||||||
}
|
|
||||||
@ -1,48 +0,0 @@
|
|||||||
package com.xcs.wx.domain.dto;
|
|
||||||
|
|
||||||
import lombok.Data;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* DecryptDTO
|
|
||||||
*
|
|
||||||
* @author xcs
|
|
||||||
* @date 2023年12月31日15:25:21
|
|
||||||
*/
|
|
||||||
@Data
|
|
||||||
public class DecryptDTO {
|
|
||||||
|
|
||||||
/**
|
|
||||||
* pid
|
|
||||||
*/
|
|
||||||
private int pid;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 文件目录
|
|
||||||
*/
|
|
||||||
private String basePath;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 微信Id
|
|
||||||
*/
|
|
||||||
private String wxId;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 昵称
|
|
||||||
*/
|
|
||||||
private String nickname;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 版本号
|
|
||||||
*/
|
|
||||||
private String version;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 账号
|
|
||||||
*/
|
|
||||||
private String account;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 手机号
|
|
||||||
*/
|
|
||||||
private String mobile;
|
|
||||||
}
|
|
||||||
@ -1,30 +0,0 @@
|
|||||||
package com.xcs.wx.domain.dto;
|
|
||||||
|
|
||||||
import lombok.Data;
|
|
||||||
import lombok.EqualsAndHashCode;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* FeedsDTO
|
|
||||||
*
|
|
||||||
* @author xcs
|
|
||||||
* @date 2024年01月03日 17时17分
|
|
||||||
**/
|
|
||||||
@Data
|
|
||||||
@EqualsAndHashCode(callSuper = true)
|
|
||||||
public class FeedsDTO extends PageDTO {
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 用户名
|
|
||||||
*/
|
|
||||||
private String userName;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 开始时间
|
|
||||||
*/
|
|
||||||
private Long startTime;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 结束时间
|
|
||||||
*/
|
|
||||||
private Long endTime;
|
|
||||||
}
|
|
||||||
@ -1,23 +0,0 @@
|
|||||||
package com.xcs.wx.domain.dto;
|
|
||||||
|
|
||||||
import lombok.Data;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* PageDTO
|
|
||||||
*
|
|
||||||
* @author xcs
|
|
||||||
* @date 2023年12月29日 15时58分
|
|
||||||
**/
|
|
||||||
@Data
|
|
||||||
public class PageDTO {
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 当前页数
|
|
||||||
*/
|
|
||||||
private Long current;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 页数大小
|
|
||||||
*/
|
|
||||||
private Long pageSize;
|
|
||||||
}
|
|
||||||
@ -1,25 +0,0 @@
|
|||||||
package com.xcs.wx.domain.dto;
|
|
||||||
|
|
||||||
import lombok.Data;
|
|
||||||
import lombok.EqualsAndHashCode;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* RecoverContactDTO
|
|
||||||
*
|
|
||||||
* @author xcs
|
|
||||||
* @date 2024年6月14日15:29:54
|
|
||||||
**/
|
|
||||||
@Data
|
|
||||||
@EqualsAndHashCode(callSuper = true)
|
|
||||||
public class RecoverContactDTO extends PageDTO{
|
|
||||||
|
|
||||||
/**
|
|
||||||
* nickname
|
|
||||||
*/
|
|
||||||
private String nickname;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* c2remark
|
|
||||||
*/
|
|
||||||
private String remark;
|
|
||||||
}
|
|
||||||
@ -1,23 +0,0 @@
|
|||||||
package com.xcs.wx.domain.vo;
|
|
||||||
|
|
||||||
import lombok.Data;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* AllContactVO
|
|
||||||
*
|
|
||||||
* @author xcs
|
|
||||||
* @date 2024年02月07日 11时15分
|
|
||||||
**/
|
|
||||||
@Data
|
|
||||||
public class AllContactVO {
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 用户名
|
|
||||||
*/
|
|
||||||
private String userName;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 昵称。
|
|
||||||
*/
|
|
||||||
private String nickName;
|
|
||||||
}
|
|
||||||
@ -1,33 +0,0 @@
|
|||||||
package com.xcs.wx.domain.vo;
|
|
||||||
|
|
||||||
import lombok.Data;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* CardLinkVO
|
|
||||||
*
|
|
||||||
* @author xcs
|
|
||||||
* @date 2024年01月17日 14时50分
|
|
||||||
**/
|
|
||||||
@Data
|
|
||||||
public class CardLinkVO {
|
|
||||||
|
|
||||||
/**
|
|
||||||
* title
|
|
||||||
*/
|
|
||||||
private String title;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* sourceDisplayName
|
|
||||||
*/
|
|
||||||
private String sourceDisplayName;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* des
|
|
||||||
*/
|
|
||||||
private String des;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* url
|
|
||||||
*/
|
|
||||||
private String url;
|
|
||||||
}
|
|
||||||
@ -1,63 +0,0 @@
|
|||||||
package com.xcs.wx.domain.vo;
|
|
||||||
|
|
||||||
import com.fasterxml.jackson.annotation.JsonIgnore;
|
|
||||||
import lombok.Data;
|
|
||||||
|
|
||||||
import java.util.List;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* ChatRoomDetailVO
|
|
||||||
*
|
|
||||||
* @author xcs
|
|
||||||
* @date 2024年01月08日 16时10分
|
|
||||||
**/
|
|
||||||
@Data
|
|
||||||
public class ChatRoomDetailVO {
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 群聊名称
|
|
||||||
*/
|
|
||||||
private String chatRoomName;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 群聊标题
|
|
||||||
*/
|
|
||||||
private String chatRoomTitle;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 自己在聊天室中的显示名称。
|
|
||||||
*/
|
|
||||||
private String selfDisplayName;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 创建人
|
|
||||||
*/
|
|
||||||
private String createBy;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 头像
|
|
||||||
*/
|
|
||||||
private String headImgUrl;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 预留字段2
|
|
||||||
*/
|
|
||||||
@JsonIgnore
|
|
||||||
private String reserved2;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* roomData
|
|
||||||
*/
|
|
||||||
@JsonIgnore
|
|
||||||
private byte[] roomData;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 群聊信息
|
|
||||||
*/
|
|
||||||
private ChatRoomInfoVO chatRoomInfo;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 群成员
|
|
||||||
*/
|
|
||||||
private List<ChatRoomMemberVO> members;
|
|
||||||
}
|
|
||||||
@ -1,33 +0,0 @@
|
|||||||
package com.xcs.wx.domain.vo;
|
|
||||||
|
|
||||||
import lombok.Data;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* ChatRoomMemberVO
|
|
||||||
*
|
|
||||||
* @author xcs
|
|
||||||
* @date 2024年01月08日 16时10分
|
|
||||||
**/
|
|
||||||
@Data
|
|
||||||
public class ChatRoomMemberVO {
|
|
||||||
|
|
||||||
/**
|
|
||||||
* wxId
|
|
||||||
*/
|
|
||||||
private String wxId;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 备注
|
|
||||||
*/
|
|
||||||
private String remark;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 备注
|
|
||||||
*/
|
|
||||||
private Integer state;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 头像
|
|
||||||
*/
|
|
||||||
private String headImgUrl;
|
|
||||||
}
|
|
||||||
@ -1,65 +0,0 @@
|
|||||||
package com.xcs.wx.domain.vo;
|
|
||||||
|
|
||||||
import com.fasterxml.jackson.annotation.JsonIgnore;
|
|
||||||
import lombok.Data;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* ChatRoomVO
|
|
||||||
*
|
|
||||||
* @author xcs
|
|
||||||
* @date 2024年01月08日 16时10分
|
|
||||||
**/
|
|
||||||
@Data
|
|
||||||
public class ChatRoomVO {
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 聊天室名称
|
|
||||||
*/
|
|
||||||
private String chatRoomName;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 群聊标题
|
|
||||||
*/
|
|
||||||
private String chatRoomTitle;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 是否显示名称的标志
|
|
||||||
*/
|
|
||||||
private Integer isShowName;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 自己在聊天室中的显示名称。
|
|
||||||
*/
|
|
||||||
private String selfDisplayName;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 创建人
|
|
||||||
*/
|
|
||||||
private String createBy;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 头像
|
|
||||||
*/
|
|
||||||
private String headImgUrl;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 群聊是否已经解散
|
|
||||||
*/
|
|
||||||
private Boolean dissolution;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 是否为企业微信群
|
|
||||||
*/
|
|
||||||
private Boolean enterprise;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 群聊数据
|
|
||||||
*/
|
|
||||||
@JsonIgnore
|
|
||||||
private byte[] roomData;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 群聊人数
|
|
||||||
*/
|
|
||||||
private Integer memberCount;
|
|
||||||
}
|
|
||||||
@ -1,23 +0,0 @@
|
|||||||
package com.xcs.wx.domain.vo;
|
|
||||||
|
|
||||||
import lombok.Data;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* ContactLabelVO
|
|
||||||
*
|
|
||||||
* @author xcs
|
|
||||||
* @date 2023年12月21日 18时13分
|
|
||||||
**/
|
|
||||||
@Data
|
|
||||||
public class ContactLabelVO {
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 标签Id
|
|
||||||
*/
|
|
||||||
private String labelId;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 标签名称
|
|
||||||
*/
|
|
||||||
private String labelName;
|
|
||||||
}
|
|
||||||
@ -1,55 +0,0 @@
|
|||||||
package com.xcs.wx.domain.vo;
|
|
||||||
|
|
||||||
import lombok.Data;
|
|
||||||
|
|
||||||
import java.util.List;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* ContactVO
|
|
||||||
*
|
|
||||||
* @author xcs
|
|
||||||
* @date 2023年12月22日 14时43分
|
|
||||||
**/
|
|
||||||
@Data
|
|
||||||
public class ContactVO {
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 用户名
|
|
||||||
*/
|
|
||||||
private String userName;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 别名。
|
|
||||||
*/
|
|
||||||
private String alias;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 备注信息。
|
|
||||||
*/
|
|
||||||
private String remark;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 昵称。
|
|
||||||
*/
|
|
||||||
private String nickName;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 描述
|
|
||||||
*/
|
|
||||||
private String describe;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 头像
|
|
||||||
*/
|
|
||||||
private String headImgUrl;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 标签Id
|
|
||||||
*/
|
|
||||||
private String labelIdList;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 标签
|
|
||||||
*/
|
|
||||||
private List<String> labels;
|
|
||||||
}
|
|
||||||
@ -1,28 +0,0 @@
|
|||||||
package com.xcs.wx.domain.vo;
|
|
||||||
|
|
||||||
import lombok.Data;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* CountRecentMsgsVO
|
|
||||||
*
|
|
||||||
* @author xcs
|
|
||||||
* @date 2024年01月06日 14时21分
|
|
||||||
**/
|
|
||||||
@Data
|
|
||||||
public class CountRecentMsgsVO {
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 类型
|
|
||||||
*/
|
|
||||||
private String type;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 值
|
|
||||||
*/
|
|
||||||
private Long value;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 分类
|
|
||||||
*/
|
|
||||||
private String category;
|
|
||||||
}
|
|
||||||
@ -1,23 +0,0 @@
|
|||||||
package com.xcs.wx.domain.vo;
|
|
||||||
|
|
||||||
import lombok.Data;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* DatabaseVO
|
|
||||||
*
|
|
||||||
* @author 林雷
|
|
||||||
* @date 2024年6月28日11:08:45
|
|
||||||
*/
|
|
||||||
@Data
|
|
||||||
public class DatabaseVO {
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 文件路径
|
|
||||||
*/
|
|
||||||
private String filePath;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 文件大小
|
|
||||||
*/
|
|
||||||
private String fileSize;
|
|
||||||
}
|
|
||||||
@ -1,35 +0,0 @@
|
|||||||
package com.xcs.wx.domain.vo;
|
|
||||||
|
|
||||||
import lombok.Builder;
|
|
||||||
import lombok.Data;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* DecryptVO
|
|
||||||
*
|
|
||||||
* @author xcs
|
|
||||||
* @date 2023年12月21日 18时13分
|
|
||||||
**/
|
|
||||||
@Data
|
|
||||||
@Builder
|
|
||||||
public class DecryptVO {
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 文件名称
|
|
||||||
*/
|
|
||||||
private String fileName;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 文件大小
|
|
||||||
*/
|
|
||||||
private String fileSize;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 当前进度
|
|
||||||
*/
|
|
||||||
private int currentProgress;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 总数量
|
|
||||||
*/
|
|
||||||
private int total;
|
|
||||||
}
|
|
||||||
@ -1,74 +0,0 @@
|
|||||||
package com.xcs.wx.domain.vo;
|
|
||||||
|
|
||||||
import com.alibaba.excel.annotation.ExcelIgnore;
|
|
||||||
import com.alibaba.excel.annotation.ExcelProperty;
|
|
||||||
import com.alibaba.excel.annotation.write.style.ColumnWidth;
|
|
||||||
import com.alibaba.excel.annotation.write.style.ContentStyle;
|
|
||||||
import com.alibaba.excel.enums.poi.HorizontalAlignmentEnum;
|
|
||||||
import lombok.Data;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* ExportChatRoomVO
|
|
||||||
*
|
|
||||||
* @author xcs
|
|
||||||
* @date 2024年01月08日 16时10分
|
|
||||||
**/
|
|
||||||
@Data
|
|
||||||
@ContentStyle(horizontalAlignment = HorizontalAlignmentEnum.CENTER)
|
|
||||||
public class ExportChatRoomVO {
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 群号
|
|
||||||
*/
|
|
||||||
@ColumnWidth(25)
|
|
||||||
@ExcelProperty("群号")
|
|
||||||
private String chatRoomName;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 群聊名称
|
|
||||||
*/
|
|
||||||
@ColumnWidth(25)
|
|
||||||
@ExcelProperty("群聊名称")
|
|
||||||
private String chatRoomTitle;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 备注
|
|
||||||
*/
|
|
||||||
@ColumnWidth(25)
|
|
||||||
@ExcelProperty("备注")
|
|
||||||
private String selfDisplayName;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 创建人
|
|
||||||
*/
|
|
||||||
@ColumnWidth(25)
|
|
||||||
@ExcelProperty("创建人")
|
|
||||||
private String createBy;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 群聊是否已经解散
|
|
||||||
*/
|
|
||||||
@ColumnWidth(25)
|
|
||||||
@ExcelProperty("群聊是否已经解散")
|
|
||||||
private Boolean dissolution;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 是否为企业微信群
|
|
||||||
*/
|
|
||||||
@ColumnWidth(25)
|
|
||||||
@ExcelProperty("是否为企业微信群")
|
|
||||||
private Boolean enterprise;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 群聊数据
|
|
||||||
*/
|
|
||||||
@ExcelIgnore
|
|
||||||
private byte[] roomData;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 群聊人数
|
|
||||||
*/
|
|
||||||
@ColumnWidth(25)
|
|
||||||
@ExcelProperty("群聊人数")
|
|
||||||
private Integer memberCount;
|
|
||||||
}
|
|
||||||
@ -1,60 +0,0 @@
|
|||||||
package com.xcs.wx.domain.vo;
|
|
||||||
|
|
||||||
import com.alibaba.excel.annotation.ExcelProperty;
|
|
||||||
import com.alibaba.excel.annotation.write.style.ColumnWidth;
|
|
||||||
import com.alibaba.excel.annotation.write.style.ContentStyle;
|
|
||||||
import com.alibaba.excel.enums.poi.HorizontalAlignmentEnum;
|
|
||||||
import lombok.Data;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* ExportContactVO
|
|
||||||
*
|
|
||||||
* @author xcs
|
|
||||||
* @date 2023年12月22日 14时43分
|
|
||||||
**/
|
|
||||||
@Data
|
|
||||||
@ContentStyle(horizontalAlignment = HorizontalAlignmentEnum.CENTER)
|
|
||||||
public class ExportContactVO {
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 用户名
|
|
||||||
*/
|
|
||||||
@ColumnWidth(25)
|
|
||||||
@ExcelProperty("微信Id")
|
|
||||||
private String userName;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 别名
|
|
||||||
*/
|
|
||||||
@ColumnWidth(25)
|
|
||||||
@ExcelProperty("微信号")
|
|
||||||
private String alias;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 备注
|
|
||||||
*/
|
|
||||||
@ColumnWidth(25)
|
|
||||||
@ExcelProperty("备注")
|
|
||||||
private String remark;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 昵称
|
|
||||||
*/
|
|
||||||
@ColumnWidth(30)
|
|
||||||
@ExcelProperty("昵称")
|
|
||||||
private String nickName;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 描述
|
|
||||||
*/
|
|
||||||
@ColumnWidth(25)
|
|
||||||
@ExcelProperty("描述")
|
|
||||||
private String describe;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 标签Id
|
|
||||||
*/
|
|
||||||
@ColumnWidth(20)
|
|
||||||
@ExcelProperty("标签Id")
|
|
||||||
private String labelIdList;
|
|
||||||
}
|
|
||||||
@ -1,67 +0,0 @@
|
|||||||
package com.xcs.wx.domain.vo;
|
|
||||||
|
|
||||||
import com.alibaba.excel.annotation.ExcelProperty;
|
|
||||||
import com.alibaba.excel.annotation.write.style.ColumnWidth;
|
|
||||||
import com.alibaba.excel.annotation.write.style.ContentStyle;
|
|
||||||
import com.alibaba.excel.enums.poi.HorizontalAlignmentEnum;
|
|
||||||
import lombok.Data;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* ExportMsgVO
|
|
||||||
*
|
|
||||||
* @author xcs
|
|
||||||
* @date 2024年01月25日 16时16分
|
|
||||||
**/
|
|
||||||
@Data
|
|
||||||
@ContentStyle(horizontalAlignment = HorizontalAlignmentEnum.CENTER)
|
|
||||||
public class ExportMsgVO {
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 消息服务器 ID
|
|
||||||
*/
|
|
||||||
@ColumnWidth(25)
|
|
||||||
@ExcelProperty("消息Id")
|
|
||||||
private String msgSvrId;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 聊天人Id
|
|
||||||
*/
|
|
||||||
@ColumnWidth(25)
|
|
||||||
@ExcelProperty("聊天人Id")
|
|
||||||
private String wxId;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 消息类型
|
|
||||||
*/
|
|
||||||
@ColumnWidth(10)
|
|
||||||
@ExcelProperty("类型")
|
|
||||||
private Integer type;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 消息子类型
|
|
||||||
*/
|
|
||||||
@ColumnWidth(10)
|
|
||||||
@ExcelProperty("子类型")
|
|
||||||
private Integer subType;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 是否为发送者
|
|
||||||
*/
|
|
||||||
@ColumnWidth(15)
|
|
||||||
@ExcelProperty("是否发送者")
|
|
||||||
private Integer isSender;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 消息创建时间
|
|
||||||
*/
|
|
||||||
@ColumnWidth(25)
|
|
||||||
@ExcelProperty("创建时间")
|
|
||||||
private String strCreateTime;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 消息内容字符串
|
|
||||||
*/
|
|
||||||
@ColumnWidth(80)
|
|
||||||
@ExcelProperty("消息内容")
|
|
||||||
private String strContent;
|
|
||||||
}
|
|
||||||
@ -1,38 +0,0 @@
|
|||||||
package com.xcs.wx.domain.vo;
|
|
||||||
|
|
||||||
import lombok.Data;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* FeedsLocationVO
|
|
||||||
*
|
|
||||||
* @author xcs
|
|
||||||
* @date 2024年01月04日 14时25分
|
|
||||||
**/
|
|
||||||
@Data
|
|
||||||
public class FeedsLocationVO {
|
|
||||||
|
|
||||||
/**
|
|
||||||
* poiClassifyId
|
|
||||||
*/
|
|
||||||
private String poiClassifyId;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* poiName
|
|
||||||
*/
|
|
||||||
private String poiName;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* poiAddress
|
|
||||||
*/
|
|
||||||
private String poiAddress;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* poiClassifyType
|
|
||||||
*/
|
|
||||||
private Integer poiClassifyType;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* city
|
|
||||||
*/
|
|
||||||
private String city;
|
|
||||||
}
|
|
||||||
@ -1,23 +0,0 @@
|
|||||||
package com.xcs.wx.domain.vo;
|
|
||||||
|
|
||||||
import lombok.Data;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* FeedsMediaVO
|
|
||||||
*
|
|
||||||
* @author xcs
|
|
||||||
* @date 2024年01月04日 14时25分
|
|
||||||
**/
|
|
||||||
@Data
|
|
||||||
public class FeedsMediaVO {
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 大图Url
|
|
||||||
*/
|
|
||||||
private String url;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 缩略图Url
|
|
||||||
*/
|
|
||||||
private String thumb;
|
|
||||||
}
|
|
||||||
@ -1,25 +0,0 @@
|
|||||||
package com.xcs.wx.domain.vo;
|
|
||||||
|
|
||||||
import lombok.AllArgsConstructor;
|
|
||||||
import lombok.Data;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* MsgTypeDistributionVO
|
|
||||||
*
|
|
||||||
* @author xcs
|
|
||||||
* @date 2024年01月05日 15时25分
|
|
||||||
**/
|
|
||||||
@Data
|
|
||||||
@AllArgsConstructor
|
|
||||||
public class MsgTypeDistributionVO {
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 类型
|
|
||||||
*/
|
|
||||||
private String type;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 数量
|
|
||||||
*/
|
|
||||||
private Integer value;
|
|
||||||
}
|
|
||||||
@ -1,37 +0,0 @@
|
|||||||
package com.xcs.wx.domain.vo;
|
|
||||||
|
|
||||||
import lombok.AllArgsConstructor;
|
|
||||||
import lombok.Data;
|
|
||||||
|
|
||||||
import java.util.List;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* PageVO
|
|
||||||
*
|
|
||||||
* @author xcs
|
|
||||||
* @date 2023年12月29日 16时19分
|
|
||||||
**/
|
|
||||||
@Data
|
|
||||||
@AllArgsConstructor
|
|
||||||
public class PageVO<T> {
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 当前页数
|
|
||||||
*/
|
|
||||||
private Long current;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 页数大小
|
|
||||||
*/
|
|
||||||
private Long pageSize;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 总页数
|
|
||||||
*/
|
|
||||||
private Long total;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 查询条件
|
|
||||||
*/
|
|
||||||
private List<T> records;
|
|
||||||
}
|
|
||||||
@ -1,20 +0,0 @@
|
|||||||
package com.xcs.wx.domain.vo;
|
|
||||||
|
|
||||||
import lombok.AllArgsConstructor;
|
|
||||||
import lombok.Data;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* RecentUsedKeyWordVO
|
|
||||||
*
|
|
||||||
* @author xcs
|
|
||||||
* @date 2024年01月23日 11时27分
|
|
||||||
**/
|
|
||||||
@Data
|
|
||||||
@AllArgsConstructor
|
|
||||||
public class RecentUsedKeyWordVO {
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 关键字
|
|
||||||
*/
|
|
||||||
private String text;
|
|
||||||
}
|
|
||||||
@ -1,95 +0,0 @@
|
|||||||
package com.xcs.wx.domain.vo;
|
|
||||||
|
|
||||||
import lombok.Data;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* ResponseVO
|
|
||||||
*
|
|
||||||
* @author xcs
|
|
||||||
* @date 2023年12月25日 17时31分
|
|
||||||
**/
|
|
||||||
@Data
|
|
||||||
public class ResponseVO<T> {
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 业务编码
|
|
||||||
*/
|
|
||||||
private Boolean success;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 错误编码
|
|
||||||
*/
|
|
||||||
private Integer errorCode;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 错误消息
|
|
||||||
*/
|
|
||||||
private String errorMessage;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 页数
|
|
||||||
*/
|
|
||||||
private Long page;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 总数量
|
|
||||||
*/
|
|
||||||
private Long total;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 展示类型
|
|
||||||
*/
|
|
||||||
private Integer showType;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 数据
|
|
||||||
*/
|
|
||||||
private T data;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 成功
|
|
||||||
*
|
|
||||||
* @param data 数据
|
|
||||||
* @param <T> 泛型对象
|
|
||||||
* @return ResponseDTO
|
|
||||||
*/
|
|
||||||
public static <T> ResponseVO<T> ok(T data) {
|
|
||||||
ResponseVO<T> wrapper = new ResponseVO<>();
|
|
||||||
wrapper.setSuccess(true);
|
|
||||||
wrapper.setData(data);
|
|
||||||
return wrapper;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 成功
|
|
||||||
*
|
|
||||||
* @param data 数据
|
|
||||||
* @param <T> 泛型对象
|
|
||||||
* @param page 页数
|
|
||||||
* @param total 总数量
|
|
||||||
* @return ResponseDTO
|
|
||||||
*/
|
|
||||||
public static <T> ResponseVO<T> ok(T data, Long page, Long total) {
|
|
||||||
ResponseVO<T> wrapper = new ResponseVO<>();
|
|
||||||
wrapper.setSuccess(true);
|
|
||||||
wrapper.setData(data);
|
|
||||||
wrapper.setPage(page);
|
|
||||||
wrapper.setTotal(total);
|
|
||||||
return wrapper;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 失败
|
|
||||||
*
|
|
||||||
* @param <T> 数据
|
|
||||||
* @return ResponseDTO
|
|
||||||
*/
|
|
||||||
public static <T> ResponseVO<T> error(Integer errorCode, String errorMessage) {
|
|
||||||
ResponseVO<T> wrapper = new ResponseVO<>();
|
|
||||||
wrapper.setSuccess(false);
|
|
||||||
wrapper.setErrorCode(errorCode);
|
|
||||||
wrapper.setShowType(2);
|
|
||||||
wrapper.setErrorMessage(errorMessage);
|
|
||||||
return wrapper;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@ -1,43 +0,0 @@
|
|||||||
package com.xcs.wx.domain.vo;
|
|
||||||
|
|
||||||
import lombok.Data;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* SessionVO
|
|
||||||
*
|
|
||||||
* @author xcs
|
|
||||||
* @date 2023年12月21日 18时13分
|
|
||||||
**/
|
|
||||||
@Data
|
|
||||||
public class SessionVO {
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 用户名
|
|
||||||
*/
|
|
||||||
private String userName;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 用户昵称
|
|
||||||
*/
|
|
||||||
private String nickName;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 会话内容
|
|
||||||
*/
|
|
||||||
private String content;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 消息时间戳
|
|
||||||
*/
|
|
||||||
private Integer time;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 短时间
|
|
||||||
*/
|
|
||||||
private String shortTime;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 头像Url
|
|
||||||
*/
|
|
||||||
private String headImgUrl;
|
|
||||||
}
|
|
||||||
@ -1,35 +0,0 @@
|
|||||||
package com.xcs.wx.domain.vo;
|
|
||||||
|
|
||||||
import lombok.AllArgsConstructor;
|
|
||||||
import lombok.Data;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* StatsPanelVO
|
|
||||||
*
|
|
||||||
* @author xcs
|
|
||||||
* @date 2024年01月23日 17时25分
|
|
||||||
**/
|
|
||||||
@Data
|
|
||||||
@AllArgsConstructor
|
|
||||||
public class StatsPanelVO {
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 联系人数量
|
|
||||||
*/
|
|
||||||
private Integer contact;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 群聊数量
|
|
||||||
*/
|
|
||||||
private Integer chatRoom;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 今日发送消息数量
|
|
||||||
*/
|
|
||||||
private Integer sent;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 今日接受消息数量
|
|
||||||
*/
|
|
||||||
private Integer received;
|
|
||||||
}
|
|
||||||
@ -1,33 +0,0 @@
|
|||||||
package com.xcs.wx.domain.vo;
|
|
||||||
|
|
||||||
import lombok.Data;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* TopContactsVO
|
|
||||||
*
|
|
||||||
* @author xcs
|
|
||||||
* @date 2024年01月06日 15时38分
|
|
||||||
**/
|
|
||||||
@Data
|
|
||||||
public class TopContactsVO {
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 用户名
|
|
||||||
*/
|
|
||||||
private String userName;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 昵称
|
|
||||||
*/
|
|
||||||
private String nickName;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 头像
|
|
||||||
*/
|
|
||||||
private String headImgUrl;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* total
|
|
||||||
*/
|
|
||||||
private Long total;
|
|
||||||
}
|
|
||||||
@ -1,43 +0,0 @@
|
|||||||
package com.xcs.wx.domain.vo;
|
|
||||||
|
|
||||||
import lombok.Data;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* UserInfoVO
|
|
||||||
*
|
|
||||||
* @author xcs
|
|
||||||
* @date 2024年6月28日16:13:53
|
|
||||||
*/
|
|
||||||
@Data
|
|
||||||
public class UserInfoVO {
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 文件目录
|
|
||||||
*/
|
|
||||||
private String basePath;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 微信Id
|
|
||||||
*/
|
|
||||||
private String wxId;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 昵称
|
|
||||||
*/
|
|
||||||
private String nickname;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 版本号
|
|
||||||
*/
|
|
||||||
private String version;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 账号
|
|
||||||
*/
|
|
||||||
private String account;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 手机号
|
|
||||||
*/
|
|
||||||
private String mobile;
|
|
||||||
}
|
|
||||||
@ -1,35 +0,0 @@
|
|||||||
package com.xcs.wx.domain.vo;
|
|
||||||
|
|
||||||
import lombok.AllArgsConstructor;
|
|
||||||
import lombok.Data;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* UserVO
|
|
||||||
*
|
|
||||||
* @author xcs
|
|
||||||
* @date 2023年12月10日20:21:02
|
|
||||||
*/
|
|
||||||
@Data
|
|
||||||
@AllArgsConstructor
|
|
||||||
public class UserVO {
|
|
||||||
|
|
||||||
/**
|
|
||||||
* wxId
|
|
||||||
*/
|
|
||||||
private String wxId;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 昵称
|
|
||||||
*/
|
|
||||||
private String nickname;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 头像
|
|
||||||
*/
|
|
||||||
private String avatar;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 当前选中状态
|
|
||||||
*/
|
|
||||||
private boolean current;
|
|
||||||
}
|
|
||||||
@ -1,33 +0,0 @@
|
|||||||
package com.xcs.wx.domain.vo;
|
|
||||||
|
|
||||||
import lombok.Data;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* WeAppInfoVO
|
|
||||||
*
|
|
||||||
* @author xcs
|
|
||||||
* @date 2024年01月17日 14时19分
|
|
||||||
**/
|
|
||||||
@Data
|
|
||||||
public class WeAppInfoVO {
|
|
||||||
|
|
||||||
/**
|
|
||||||
* title
|
|
||||||
*/
|
|
||||||
private String title;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* sourceDisplayName
|
|
||||||
*/
|
|
||||||
private String sourceDisplayName;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* weAppIconUrl
|
|
||||||
*/
|
|
||||||
private String weAppIconUrl;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* weAppPageThumbRawUrl
|
|
||||||
*/
|
|
||||||
private String weAppPageThumbRawUrl;
|
|
||||||
}
|
|
||||||
@ -1,57 +0,0 @@
|
|||||||
package com.xcs.wx.domain.vo;
|
|
||||||
|
|
||||||
import lombok.AllArgsConstructor;
|
|
||||||
import lombok.Data;
|
|
||||||
import lombok.RequiredArgsConstructor;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* WeChatConfigVO
|
|
||||||
*
|
|
||||||
* @author xcs
|
|
||||||
* @date 2023年12月25日 09时38分
|
|
||||||
**/
|
|
||||||
@Data
|
|
||||||
@RequiredArgsConstructor
|
|
||||||
@AllArgsConstructor
|
|
||||||
public class WeChatConfigVO {
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 进程Id
|
|
||||||
*/
|
|
||||||
private Integer pid;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 基址
|
|
||||||
*/
|
|
||||||
private Long baseAddress;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 版本号
|
|
||||||
*/
|
|
||||||
private String version;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 昵称
|
|
||||||
*/
|
|
||||||
private String nickname;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 账号
|
|
||||||
*/
|
|
||||||
private String account;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 手机号
|
|
||||||
*/
|
|
||||||
private String mobile;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 文件目录
|
|
||||||
*/
|
|
||||||
private String basePath;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 微信Id
|
|
||||||
*/
|
|
||||||
private String wxId;
|
|
||||||
}
|
|
||||||
@ -1,25 +0,0 @@
|
|||||||
package com.xcs.wx.exception;
|
|
||||||
|
|
||||||
import lombok.AllArgsConstructor;
|
|
||||||
import lombok.Data;
|
|
||||||
import lombok.EqualsAndHashCode;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* @author xcs
|
|
||||||
* @date 2023年12月25日 17时39分
|
|
||||||
**/
|
|
||||||
@Data
|
|
||||||
@AllArgsConstructor
|
|
||||||
@EqualsAndHashCode(callSuper = true)
|
|
||||||
public class BaseException extends RuntimeException {
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 错误编码
|
|
||||||
*/
|
|
||||||
private Integer code;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 错误消息
|
|
||||||
*/
|
|
||||||
private String msg;
|
|
||||||
}
|
|
||||||
@ -1,14 +0,0 @@
|
|||||||
package com.xcs.wx.exception;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 业务异常
|
|
||||||
*
|
|
||||||
* @author xcs
|
|
||||||
* @date 2023年12月25日 17时38分
|
|
||||||
**/
|
|
||||||
public class BizException extends BaseException {
|
|
||||||
|
|
||||||
public BizException(Integer code, String msg) {
|
|
||||||
super(code, msg);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@ -1,13 +0,0 @@
|
|||||||
package com.xcs.wx.mapper;
|
|
||||||
|
|
||||||
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
|
||||||
import com.xcs.wx.domain.ChatRoomInfo;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 群聊详情 Mapper
|
|
||||||
*
|
|
||||||
* @author xcs
|
|
||||||
* @date 2024年01月09日 15时20分
|
|
||||||
**/
|
|
||||||
public interface ChatRoomInfoMapper extends BaseMapper<ChatRoomInfo> {
|
|
||||||
}
|
|
||||||
@ -1,43 +0,0 @@
|
|||||||
package com.xcs.wx.mapper;
|
|
||||||
|
|
||||||
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
|
||||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
|
||||||
import com.xcs.wx.domain.ChatRoom;
|
|
||||||
import com.xcs.wx.domain.dto.ChatRoomDTO;
|
|
||||||
import com.xcs.wx.domain.vo.ChatRoomVO;
|
|
||||||
import com.xcs.wx.domain.vo.ExportChatRoomVO;
|
|
||||||
import org.apache.ibatis.annotations.Param;
|
|
||||||
|
|
||||||
import java.util.List;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 群聊 Mapper
|
|
||||||
*
|
|
||||||
* @author xcs
|
|
||||||
* @date 2024年01月08日 15时55分
|
|
||||||
**/
|
|
||||||
public interface ChatRoomMapper extends BaseMapper<ChatRoom> {
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 查询群聊
|
|
||||||
*
|
|
||||||
* @param page 分页信息
|
|
||||||
* @param chatRoomDTO 查询条件
|
|
||||||
* @return ChatRoomVO
|
|
||||||
*/
|
|
||||||
Page<ChatRoomVO> queryChatRoom(Page<ChatRoomVO> page, @Param("chatRoomDTO") ChatRoomDTO chatRoomDTO);
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 统计群聊数量
|
|
||||||
*
|
|
||||||
* @return 群聊总数
|
|
||||||
*/
|
|
||||||
int countChatRoom();
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 导出群聊
|
|
||||||
*
|
|
||||||
* @return ExportChatRoomVO
|
|
||||||
*/
|
|
||||||
List<ExportChatRoomVO> exportChatRoom();
|
|
||||||
}
|
|
||||||
@ -1,21 +0,0 @@
|
|||||||
package com.xcs.wx.mapper;
|
|
||||||
|
|
||||||
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
|
||||||
import com.xcs.wx.domain.ContactHeadImg;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 联系人头像 Mapper
|
|
||||||
*
|
|
||||||
* @author xcs
|
|
||||||
* @date 2024年6月18日15:33:26
|
|
||||||
**/
|
|
||||||
public interface ContactHeadImgMapper extends BaseMapper<ContactHeadImg> {
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 根据用户名查询联系人头像
|
|
||||||
*
|
|
||||||
* @param usrName 用户名
|
|
||||||
* @return ContactHeadImg
|
|
||||||
*/
|
|
||||||
ContactHeadImg getContactHeadImg(String usrName);
|
|
||||||
}
|
|
||||||
@ -1,13 +0,0 @@
|
|||||||
package com.xcs.wx.mapper;
|
|
||||||
|
|
||||||
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
|
||||||
import com.xcs.wx.domain.ContactHeadImgUrl;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 联系人头像 Mapper
|
|
||||||
*
|
|
||||||
* @author xcs
|
|
||||||
* @date 2023年12月21日 17时08分
|
|
||||||
**/
|
|
||||||
public interface ContactHeadImgUrlMapper extends BaseMapper<ContactHeadImgUrl> {
|
|
||||||
}
|
|
||||||
@ -1,13 +0,0 @@
|
|||||||
package com.xcs.wx.mapper;
|
|
||||||
|
|
||||||
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
|
||||||
import com.xcs.wx.domain.ContactLabel;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 联系人标签 Mapper
|
|
||||||
*
|
|
||||||
* @author xcs
|
|
||||||
* @date 2023年12月22日17:19:20
|
|
||||||
*/
|
|
||||||
public interface ContactLabelMapper extends BaseMapper<ContactLabel> {
|
|
||||||
}
|
|
||||||
@ -1,59 +0,0 @@
|
|||||||
package com.xcs.wx.mapper;
|
|
||||||
|
|
||||||
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
|
||||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
|
||||||
import com.xcs.wx.domain.Contact;
|
|
||||||
import com.xcs.wx.domain.dto.ContactDTO;
|
|
||||||
import com.xcs.wx.domain.vo.AllContactVO;
|
|
||||||
import com.xcs.wx.domain.vo.ContactVO;
|
|
||||||
import com.xcs.wx.domain.vo.ExportContactVO;
|
|
||||||
import org.apache.ibatis.annotations.Param;
|
|
||||||
|
|
||||||
import java.util.List;
|
|
||||||
import java.util.Set;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 联系人 Mapper
|
|
||||||
*
|
|
||||||
* @author xcs
|
|
||||||
* @date 2023年12月22日 13时51分
|
|
||||||
**/
|
|
||||||
public interface ContactMapper extends BaseMapper<Contact> {
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 查询联系人
|
|
||||||
*
|
|
||||||
* @param page 分页信息
|
|
||||||
* @param contactDTO 联系人
|
|
||||||
* @return Contact
|
|
||||||
*/
|
|
||||||
Page<ContactVO> queryContact(Page<ContactVO> page, @Param("contactDTO") ContactDTO contactDTO);
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 查询所有联系人
|
|
||||||
*
|
|
||||||
* @return AllContactVO
|
|
||||||
*/
|
|
||||||
List<AllContactVO> queryAllContact();
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 查询联系人与公众号的Id
|
|
||||||
*
|
|
||||||
* @return Contact
|
|
||||||
*/
|
|
||||||
Set<String> getContactWithMp();
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 统计联系人数量
|
|
||||||
*
|
|
||||||
* @return 联系人数量
|
|
||||||
*/
|
|
||||||
int countContact();
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 导出联系人
|
|
||||||
*
|
|
||||||
* @return ExportContactVO
|
|
||||||
*/
|
|
||||||
List<ExportContactVO> exportContact();
|
|
||||||
}
|
|
||||||
@ -1,14 +0,0 @@
|
|||||||
package com.xcs.wx.mapper;
|
|
||||||
|
|
||||||
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
|
||||||
import com.xcs.wx.domain.FTSContactContent;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* FTSContactContentMapper
|
|
||||||
*
|
|
||||||
* @author xcs
|
|
||||||
* @date 2024年6月14日14:24:43
|
|
||||||
**/
|
|
||||||
public interface FTSContactContentMapper extends BaseMapper<FTSContactContent> {
|
|
||||||
|
|
||||||
}
|
|
||||||
@ -1,13 +0,0 @@
|
|||||||
package com.xcs.wx.mapper;
|
|
||||||
|
|
||||||
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
|
||||||
import com.xcs.wx.domain.FTSRecentUsed;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 最近使用关键字 Mapper
|
|
||||||
*
|
|
||||||
* @author xcs
|
|
||||||
* @date 2023年12月22日 13时51分
|
|
||||||
**/
|
|
||||||
public interface FTSRecentUsedMapper extends BaseMapper<FTSRecentUsed> {
|
|
||||||
}
|
|
||||||
@ -1,14 +0,0 @@
|
|||||||
package com.xcs.wx.mapper;
|
|
||||||
|
|
||||||
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
|
||||||
import com.xcs.wx.domain.Feeds;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 朋友圈 Mapper
|
|
||||||
*
|
|
||||||
* @author xcs
|
|
||||||
* @date 2023年12月22日 13时51分
|
|
||||||
**/
|
|
||||||
public interface FeedsMapper extends BaseMapper<Feeds> {
|
|
||||||
|
|
||||||
}
|
|
||||||
@ -1,22 +0,0 @@
|
|||||||
package com.xcs.wx.mapper;
|
|
||||||
|
|
||||||
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
|
||||||
import com.xcs.wx.domain.HardLinkImageAttribute;
|
|
||||||
import org.apache.ibatis.annotations.Param;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 图片链接 Mapper
|
|
||||||
*
|
|
||||||
* @author xcs
|
|
||||||
* @date 2024年1月16日21:50:13
|
|
||||||
*/
|
|
||||||
public interface HardLinkImageAttributeMapper extends BaseMapper<HardLinkImageAttribute> {
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 查询图片
|
|
||||||
*
|
|
||||||
* @param md5 md5
|
|
||||||
* @return 图片
|
|
||||||
*/
|
|
||||||
String queryHardLinkImage(@Param("md5") byte[] md5);
|
|
||||||
}
|
|
||||||
@ -1,22 +0,0 @@
|
|||||||
package com.xcs.wx.mapper;
|
|
||||||
|
|
||||||
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
|
||||||
import com.xcs.wx.domain.HardLinkVideoAttribute;
|
|
||||||
import org.apache.ibatis.annotations.Param;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 视频链接 Mapper
|
|
||||||
*
|
|
||||||
* @author xcs
|
|
||||||
* @date 2024年1月16日21:50:13
|
|
||||||
*/
|
|
||||||
public interface HardLinkVideoAttributeMapper extends BaseMapper<HardLinkVideoAttribute> {
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 查询视频
|
|
||||||
*
|
|
||||||
* @param md5 md5
|
|
||||||
* @return 视频
|
|
||||||
*/
|
|
||||||
String queryHardLinkVideo(@Param("md5") byte[] md5);
|
|
||||||
}
|
|
||||||
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in new issue