Commit 4179081b by 涂亚平

start...

0 parents
Showing with 3637 additions and 0 deletions
HELP.md
target/
!.mvn/wrapper/maven-wrapper.jar
!**/src/main/**/target/
!**/src/test/**/target/
### STS ###
.apt_generated
.classpath
.factorypath
.project
.settings
.springBeans
.sts4-cache
### IntelliJ IDEA ###
.idea
*.iws
*.iml
*.ipr
### NetBeans ###
/nbproject/private/
/nbbuild/
/dist/
/nbdist/
/.nb-gradle/
build/
!**/src/main/**/build/
!**/src/test/**/build/
### VS Code ###
.vscode/
No preview for this file type
distributionUrl=https://repo.maven.apache.org/maven2/org/apache/maven/apache-maven/3.8.6/apache-maven-3.8.6-bin.zip
wrapperUrl=https://repo.maven.apache.org/maven2/org/apache/maven/wrapper/maven-wrapper/3.1.0/maven-wrapper-3.1.0.jar
2023-02-21 09:22:54,349 [main] INFO org.springframework.context.support.PostProcessorRegistrationDelegate$BeanPostProcessorChecker:330 - Bean 'org.springframework.transaction.annotation.ProxyTransactionManagementConfiguration' of type [org.springframework.transaction.annotation.ProxyTransactionManagementConfiguration$$EnhancerBySpringCGLIB$$93373f07] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying)
2023-02-21 09:22:54,523 [main] INFO org.springframework.boot.web.embedded.tomcat.TomcatWebServer:90 - Tomcat initialized with port(s): 34567 (http)
2023-02-21 09:22:54,531 [main] INFO org.apache.coyote.http11.Http11NioProtocol:173 - Initializing ProtocolHandler ["http-nio-34567"]
2023-02-21 09:22:54,537 [main] INFO org.apache.catalina.core.StandardService:173 - Starting service [Tomcat]
2023-02-21 09:22:54,537 [main] INFO org.apache.catalina.core.StandardEngine:173 - Starting Servlet engine: [Apache Tomcat/9.0.22]
2023-02-21 09:22:54,613 [main] INFO org.apache.catalina.core.ContainerBase.[Tomcat].[localhost].[/]:173 - Initializing Spring embedded WebApplicationContext
2023-02-21 09:22:54,614 [main] INFO org.springframework.web.context.ContextLoader:284 - Root WebApplicationContext: initialization completed in 1098 ms
2023-02-21 09:22:54,689 [main] INFO com.alibaba.druid.spring.boot.autoconfigure.DruidDataSourceAutoConfigure:56 - Init DruidDataSource
2023-02-21 09:22:55,721 [main] INFO com.alibaba.druid.pool.DruidDataSource:994 - {dataSource-1} inited
2023-02-21 09:22:56,633 [main] INFO springfox.documentation.spring.web.PropertySourcedRequestMappingHandlerMapping:69 - Mapped URL path [/v2/api-docs] onto method [public org.springframework.http.ResponseEntity<springfox.documentation.spring.web.json.Json> springfox.documentation.swagger2.web.Swagger2Controller.getDocumentation(java.lang.String,javax.servlet.http.HttpServletRequest)]
2023-02-21 09:22:56,719 [main] INFO org.springframework.scheduling.concurrent.ThreadPoolTaskExecutor:171 - Initializing ExecutorService 'applicationTaskExecutor'
2023-02-21 09:22:56,859 [main] INFO springfox.documentation.spring.web.plugins.DocumentationPluginsBootstrapper:160 - Context refreshed
2023-02-21 09:22:56,872 [main] INFO springfox.documentation.spring.web.plugins.DocumentationPluginsBootstrapper:163 - Found 1 custom documentation plugin(s)
2023-02-21 09:22:56,897 [main] INFO springfox.documentation.spring.web.scanners.ApiListingReferenceScanner:41 - Scanning for api listing references
2023-02-21 09:22:57,047 [main] INFO org.apache.coyote.http11.Http11NioProtocol:173 - Starting ProtocolHandler ["http-nio-34567"]
2023-02-21 09:22:57,064 [main] INFO org.springframework.boot.web.embedded.tomcat.TomcatWebServer:202 - Tomcat started on port(s): 34567 (http) with context path ''
2023-02-21 10:10:47,110 [http-nio-34567-exec-1] INFO org.apache.catalina.core.ContainerBase.[Tomcat].[localhost].[/]:173 - Initializing Spring DispatcherServlet 'dispatcherServlet'
2023-02-21 10:10:47,111 [http-nio-34567-exec-1] INFO org.springframework.web.servlet.DispatcherServlet:524 - Initializing Servlet 'dispatcherServlet'
2023-02-21 10:10:47,115 [http-nio-34567-exec-1] INFO org.springframework.web.servlet.DispatcherServlet:546 - Completed initialization in 4 ms
2023-02-21 10:51:35,688 [Thread-10] INFO org.springframework.scheduling.concurrent.ThreadPoolTaskExecutor:208 - Shutting down ExecutorService 'applicationTaskExecutor'
2023-02-21 10:51:35,690 [Thread-10] INFO com.alibaba.druid.pool.DruidDataSource:2029 - {dataSource-1} closing ...
2023-02-21 10:51:35,692 [Thread-10] INFO com.alibaba.druid.pool.DruidDataSource:2101 - {dataSource-1} closed
2023-02-21 10:51:40,188 [main] INFO org.springframework.context.support.PostProcessorRegistrationDelegate$BeanPostProcessorChecker:330 - Bean 'org.springframework.transaction.annotation.ProxyTransactionManagementConfiguration' of type [org.springframework.transaction.annotation.ProxyTransactionManagementConfiguration$$EnhancerBySpringCGLIB$$d1e6e1c] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying)
2023-02-21 10:51:40,359 [main] INFO org.springframework.boot.web.embedded.tomcat.TomcatWebServer:90 - Tomcat initialized with port(s): 34567 (http)
2023-02-21 10:51:40,368 [main] INFO org.apache.coyote.http11.Http11NioProtocol:173 - Initializing ProtocolHandler ["http-nio-34567"]
2023-02-21 10:51:40,374 [main] INFO org.apache.catalina.core.StandardService:173 - Starting service [Tomcat]
2023-02-21 10:51:40,374 [main] INFO org.apache.catalina.core.StandardEngine:173 - Starting Servlet engine: [Apache Tomcat/9.0.22]
2023-02-21 10:51:40,447 [main] INFO org.apache.catalina.core.ContainerBase.[Tomcat].[localhost].[/]:173 - Initializing Spring embedded WebApplicationContext
2023-02-21 10:51:40,447 [main] INFO org.springframework.web.context.ContextLoader:284 - Root WebApplicationContext: initialization completed in 1027 ms
2023-02-21 10:51:40,517 [main] INFO com.alibaba.druid.spring.boot.autoconfigure.DruidDataSourceAutoConfigure:56 - Init DruidDataSource
2023-02-21 10:51:41,559 [main] INFO com.alibaba.druid.pool.DruidDataSource:994 - {dataSource-1} inited
2023-02-21 10:51:42,461 [main] INFO springfox.documentation.spring.web.PropertySourcedRequestMappingHandlerMapping:69 - Mapped URL path [/v2/api-docs] onto method [public org.springframework.http.ResponseEntity<springfox.documentation.spring.web.json.Json> springfox.documentation.swagger2.web.Swagger2Controller.getDocumentation(java.lang.String,javax.servlet.http.HttpServletRequest)]
2023-02-21 10:51:42,538 [main] INFO org.springframework.scheduling.concurrent.ThreadPoolTaskExecutor:171 - Initializing ExecutorService 'applicationTaskExecutor'
2023-02-21 10:51:42,672 [main] INFO springfox.documentation.spring.web.plugins.DocumentationPluginsBootstrapper:160 - Context refreshed
2023-02-21 10:51:42,686 [main] INFO springfox.documentation.spring.web.plugins.DocumentationPluginsBootstrapper:163 - Found 1 custom documentation plugin(s)
2023-02-21 10:51:42,709 [main] INFO springfox.documentation.spring.web.scanners.ApiListingReferenceScanner:41 - Scanning for api listing references
2023-02-21 10:51:42,858 [main] INFO org.apache.coyote.http11.Http11NioProtocol:173 - Starting ProtocolHandler ["http-nio-34567"]
2023-02-21 10:51:42,876 [main] INFO org.springframework.boot.web.embedded.tomcat.TomcatWebServer:202 - Tomcat started on port(s): 34567 (http) with context path ''
2023-02-21 10:51:48,136 [http-nio-34567-exec-1] INFO org.apache.catalina.core.ContainerBase.[Tomcat].[localhost].[/]:173 - Initializing Spring DispatcherServlet 'dispatcherServlet'
2023-02-21 10:51:48,137 [http-nio-34567-exec-1] INFO org.springframework.web.servlet.DispatcherServlet:524 - Initializing Servlet 'dispatcherServlet'
2023-02-21 10:51:48,141 [http-nio-34567-exec-1] INFO org.springframework.web.servlet.DispatcherServlet:546 - Completed initialization in 4 ms
This diff is collapsed. Click to expand it.
@REM ----------------------------------------------------------------------------
@REM Licensed to the Apache Software Foundation (ASF) under one
@REM or more contributor license agreements. See the NOTICE file
@REM distributed with this work for additional information
@REM regarding copyright ownership. The ASF licenses this file
@REM to you under the Apache License, Version 2.0 (the
@REM "License"); you may not use this file except in compliance
@REM with the License. You may obtain a copy of the License at
@REM
@REM https://www.apache.org/licenses/LICENSE-2.0
@REM
@REM Unless required by applicable law or agreed to in writing,
@REM software distributed under the License is distributed on an
@REM "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
@REM KIND, either express or implied. See the License for the
@REM specific language governing permissions and limitations
@REM under the License.
@REM ----------------------------------------------------------------------------
@REM ----------------------------------------------------------------------------
@REM Maven Start Up Batch script
@REM
@REM Required ENV vars:
@REM JAVA_HOME - location of a JDK home dir
@REM
@REM Optional ENV vars
@REM M2_HOME - location of maven2's installed home dir
@REM MAVEN_BATCH_ECHO - set to 'on' to enable the echoing of the batch commands
@REM MAVEN_BATCH_PAUSE - set to 'on' to wait for a keystroke before ending
@REM MAVEN_OPTS - parameters passed to the Java VM when running Maven
@REM e.g. to debug Maven itself, use
@REM set MAVEN_OPTS=-Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=y,address=8000
@REM MAVEN_SKIP_RC - flag to disable loading of mavenrc files
@REM ----------------------------------------------------------------------------
@REM Begin all REM lines with '@' in case MAVEN_BATCH_ECHO is 'on'
@echo off
@REM set title of command window
title %0
@REM enable echoing by setting MAVEN_BATCH_ECHO to 'on'
@if "%MAVEN_BATCH_ECHO%" == "on" echo %MAVEN_BATCH_ECHO%
@REM set %HOME% to equivalent of $HOME
if "%HOME%" == "" (set "HOME=%HOMEDRIVE%%HOMEPATH%")
@REM Execute a user defined script before this one
if not "%MAVEN_SKIP_RC%" == "" goto skipRcPre
@REM check for pre script, once with legacy .bat ending and once with .cmd ending
if exist "%USERPROFILE%\mavenrc_pre.bat" call "%USERPROFILE%\mavenrc_pre.bat" %*
if exist "%USERPROFILE%\mavenrc_pre.cmd" call "%USERPROFILE%\mavenrc_pre.cmd" %*
:skipRcPre
@setlocal
set ERROR_CODE=0
@REM To isolate internal variables from possible post scripts, we use another setlocal
@setlocal
@REM ==== START VALIDATION ====
if not "%JAVA_HOME%" == "" goto OkJHome
echo.
echo Error: JAVA_HOME not found in your environment. >&2
echo Please set the JAVA_HOME variable in your environment to match the >&2
echo location of your Java installation. >&2
echo.
goto error
:OkJHome
if exist "%JAVA_HOME%\bin\java.exe" goto init
echo.
echo Error: JAVA_HOME is set to an invalid directory. >&2
echo JAVA_HOME = "%JAVA_HOME%" >&2
echo Please set the JAVA_HOME variable in your environment to match the >&2
echo location of your Java installation. >&2
echo.
goto error
@REM ==== END VALIDATION ====
:init
@REM Find the project base dir, i.e. the directory that contains the folder ".mvn".
@REM Fallback to current working directory if not found.
set MAVEN_PROJECTBASEDIR=%MAVEN_BASEDIR%
IF NOT "%MAVEN_PROJECTBASEDIR%"=="" goto endDetectBaseDir
set EXEC_DIR=%CD%
set WDIR=%EXEC_DIR%
:findBaseDir
IF EXIST "%WDIR%"\.mvn goto baseDirFound
cd ..
IF "%WDIR%"=="%CD%" goto baseDirNotFound
set WDIR=%CD%
goto findBaseDir
:baseDirFound
set MAVEN_PROJECTBASEDIR=%WDIR%
cd "%EXEC_DIR%"
goto endDetectBaseDir
:baseDirNotFound
set MAVEN_PROJECTBASEDIR=%EXEC_DIR%
cd "%EXEC_DIR%"
:endDetectBaseDir
IF NOT EXIST "%MAVEN_PROJECTBASEDIR%\.mvn\jvm.config" goto endReadAdditionalConfig
@setlocal EnableExtensions EnableDelayedExpansion
for /F "usebackq delims=" %%a in ("%MAVEN_PROJECTBASEDIR%\.mvn\jvm.config") do set JVM_CONFIG_MAVEN_PROPS=!JVM_CONFIG_MAVEN_PROPS! %%a
@endlocal & set JVM_CONFIG_MAVEN_PROPS=%JVM_CONFIG_MAVEN_PROPS%
:endReadAdditionalConfig
SET MAVEN_JAVA_EXE="%JAVA_HOME%\bin\java.exe"
set WRAPPER_JAR="%MAVEN_PROJECTBASEDIR%\.mvn\wrapper\maven-wrapper.jar"
set WRAPPER_LAUNCHER=org.apache.maven.wrapper.MavenWrapperMain
set DOWNLOAD_URL="https://repo.maven.apache.org/maven2/org/apache/maven/wrapper/maven-wrapper/3.1.0/maven-wrapper-3.1.0.jar"
FOR /F "usebackq tokens=1,2 delims==" %%A IN ("%MAVEN_PROJECTBASEDIR%\.mvn\wrapper\maven-wrapper.properties") DO (
IF "%%A"=="wrapperUrl" SET DOWNLOAD_URL=%%B
)
@REM Extension to allow automatically downloading the maven-wrapper.jar from Maven-central
@REM This allows using the maven wrapper in projects that prohibit checking in binary data.
if exist %WRAPPER_JAR% (
if "%MVNW_VERBOSE%" == "true" (
echo Found %WRAPPER_JAR%
)
) else (
if not "%MVNW_REPOURL%" == "" (
SET DOWNLOAD_URL="%MVNW_REPOURL%/org/apache/maven/wrapper/maven-wrapper/3.1.0/maven-wrapper-3.1.0.jar"
)
if "%MVNW_VERBOSE%" == "true" (
echo Couldn't find %WRAPPER_JAR%, downloading it ...
echo Downloading from: %DOWNLOAD_URL%
)
powershell -Command "&{"^
"$webclient = new-object System.Net.WebClient;"^
"if (-not ([string]::IsNullOrEmpty('%MVNW_USERNAME%') -and [string]::IsNullOrEmpty('%MVNW_PASSWORD%'))) {"^
"$webclient.Credentials = new-object System.Net.NetworkCredential('%MVNW_USERNAME%', '%MVNW_PASSWORD%');"^
"}"^
"[Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12; $webclient.DownloadFile('%DOWNLOAD_URL%', '%WRAPPER_JAR%')"^
"}"
if "%MVNW_VERBOSE%" == "true" (
echo Finished downloading %WRAPPER_JAR%
)
)
@REM End of extension
@REM Provide a "standardized" way to retrieve the CLI args that will
@REM work with both Windows and non-Windows executions.
set MAVEN_CMD_LINE_ARGS=%*
%MAVEN_JAVA_EXE% ^
%JVM_CONFIG_MAVEN_PROPS% ^
%MAVEN_OPTS% ^
%MAVEN_DEBUG_OPTS% ^
-classpath %WRAPPER_JAR% ^
"-Dmaven.multiModuleProjectDirectory=%MAVEN_PROJECTBASEDIR%" ^
%WRAPPER_LAUNCHER% %MAVEN_CONFIG% %*
if ERRORLEVEL 1 goto error
goto end
:error
set ERROR_CODE=1
:end
@endlocal & set ERROR_CODE=%ERROR_CODE%
if not "%MAVEN_SKIP_RC%"=="" goto skipRcPost
@REM check for post script, once with legacy .bat ending and once with .cmd ending
if exist "%USERPROFILE%\mavenrc_post.bat" call "%USERPROFILE%\mavenrc_post.bat"
if exist "%USERPROFILE%\mavenrc_post.cmd" call "%USERPROFILE%\mavenrc_post.cmd"
:skipRcPost
@REM pause the script if MAVEN_BATCH_PAUSE is set to 'on'
if "%MAVEN_BATCH_PAUSE%"=="on" pause
if "%MAVEN_TERMINATE_CMD%"=="on" exit %ERROR_CODE%
cmd /C exit /B %ERROR_CODE%
<?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 https://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.1.7.RELEASE</version>
<relativePath/> <!-- lookup parent from repository -->
</parent>
<groupId>com.laowu</groupId>
<artifactId>demo</artifactId>
<version>0.0.1-SNAPSHOT</version>
<name>laowu</name>
<description>laowu</description>
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<maven.compiler.encoding>UTF-8</maven.compiler.encoding>
<java.version>1.8</java.version>
<mybatis-plus.version>3.3.0</mybatis-plus.version>
<generator.version>3.3.2</generator.version>
<swagger2.version>2.9.2</swagger2.version>
<druid.version>1.1.22</druid.version>
<java-jwt.version>3.10.3</java-jwt.version>
<poi-ooxml.version>3.13</poi-ooxml.version>
<lang3.version>3.9</lang3.version>
</properties>
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter</artifactId>
</dependency>
<dependency>
<groupId>org.freemarker</groupId>
<artifactId>freemarker</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-aop</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-configuration-processor</artifactId>
<optional>true</optional>
</dependency>
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<scope>runtime</scope>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-jdbc</artifactId>
</dependency>
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<!-- <optional>true</optional>-->
</dependency>
<dependency>
<groupId>com.baomidou</groupId>
<artifactId>mybatis-plus-boot-starter</artifactId>
<version>${mybatis-plus.version}</version>
</dependency>
<dependency>
<groupId>com.baomidou</groupId>
<artifactId>mybatis-plus-generator</artifactId>
<version>${generator.version}</version>
</dependency>
<dependency>
<groupId>io.springfox</groupId>
<artifactId>springfox-swagger2</artifactId>
<version>${swagger2.version}</version>
</dependency>
<dependency>
<groupId>io.springfox</groupId>
<artifactId>springfox-swagger-ui</artifactId>
<version>${swagger2.version}</version>
</dependency>
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>druid-spring-boot-starter</artifactId>
<version>${druid.version}</version>
</dependency>
<!--webSocket-->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-websocket</artifactId>
</dependency>
<dependency>
<groupId>org.java-websocket</groupId>
<artifactId>Java-WebSocket</artifactId>
<version>1.5.1</version>
</dependency>
<dependency>
<groupId>com.auth0</groupId>
<artifactId>java-jwt</artifactId>
<version>${java-jwt.version}</version>
</dependency>
<dependency>
<groupId>org.apache.poi</groupId>
<artifactId>poi-ooxml</artifactId>
<version>${poi-ooxml.version}</version>
</dependency>
<dependency>
<groupId>org.apache.commons</groupId>
<artifactId>commons-lang3</artifactId>
<version>${lang3.version}</version>
</dependency>
</dependencies>
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
<configuration>
<excludes>
<exclude>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
</exclude>
</excludes>
</configuration>
</plugin>
</plugins>
</build>
</project>
package com.laowu;
import org.mybatis.spring.annotation.MapperScan;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.web.bind.annotation.RestController;
@SpringBootApplication
@MapperScan(basePackages = {"com.laowu.mapper"})
@RestController
public class LaowuApplication {
public static void main(String[] args) {
SpringApplication.run(LaowuApplication.class, args);
}
}
package com.laowu.common;
import org.apache.catalina.connector.Connector;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.boot.web.embedded.tomcat.TomcatConnectorCustomizer;
import org.springframework.boot.web.embedded.tomcat.TomcatServletWebServerFactory;
import org.springframework.boot.web.servlet.MultipartConfigFactory;
import org.springframework.boot.web.servlet.server.ServletWebServerFactory;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import javax.servlet.MultipartConfigElement;
@Configuration
public class MyTomcat {
@Value("${spring.server.port}")
private String port;
@Value("${spring.server.acceptorThreadCount}")
private String acceptorThreadCount;
@Value("${spring.server.minSpareThreads}")
private String minSpareThreads;
@Value("${spring.server.maxSpareThreads}")
private String maxSpareThreads;
@Value("${spring.server.maxThreads}")
private String maxThreads;
@Value("${spring.server.maxConnections}")
private String maxConnections;
@Value("${spring.server.protocol}")
private String protocol;
@Value("${spring.server.redirectPort}")
private String redirectPort;
@Value("${spring.server.compression}")
private String compression;
@Value("${spring.server.connectionTimeout}")
private String connectionTimeout;
@Value("${spring.server.MaxFileSize}")
private String MaxFileSize;
@Value("${spring.server.MaxRequestSize}")
private String MaxRequestSize;
@Bean
public ServletWebServerFactory servletContainer() {
TomcatServletWebServerFactory tomcat = new TomcatServletWebServerFactory();
tomcat.addConnectorCustomizers(new GwsTomcatConnectionCustomizer());
return tomcat;
}
@Bean
public MultipartConfigElement multipartConfigElement() {
MultipartConfigFactory factory = new MultipartConfigFactory();
// 单个数据大小
factory.setMaxFileSize(MaxFileSize); // KB,MB
/// 总上传数据大小
factory.setMaxRequestSize(MaxRequestSize);
return factory.createMultipartConfig();
}
/**
*
* 默认http连接
*
* @version
* @author liuyi 2016年7月20日 下午7:59:41
*
*/
public class GwsTomcatConnectionCustomizer implements TomcatConnectorCustomizer {
public GwsTomcatConnectionCustomizer() {
}
@Override
public void customize(Connector connector) {
connector.setPort(Integer.valueOf(port));
connector.setAttribute("connectionTimeout", connectionTimeout);
connector.setAttribute("acceptorThreadCount", acceptorThreadCount);
connector.setAttribute("minSpareThreads", minSpareThreads);
connector.setAttribute("maxSpareThreads", maxSpareThreads);
connector.setAttribute("maxThreads", maxThreads);
connector.setAttribute("maxConnections", maxConnections);
connector.setAttribute("protocol", protocol);
connector.setAttribute("redirectPort", "redirectPort");
connector.setAttribute("compression", "compression");
}
}
}
package com.laowu.common;
import com.baomidou.mybatisplus.annotation.DbType;
import com.baomidou.mybatisplus.core.config.GlobalConfig;
import com.baomidou.mybatisplus.extension.plugins.PaginationInterceptor;
import com.laowu.common.handler.MetaHandler;
import org.springframework.boot.autoconfigure.condition.ConditionalOnClass;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
/**
* @author: tuyp
* @create: 2020-08-12 12:01
*/
@Configuration
@ConditionalOnClass(value = {PaginationInterceptor.class})
public class MybatisPlusConfig {
/**
* 分页
* @return
*/
@Bean
public PaginationInterceptor paginationInterceptor(){
PaginationInterceptor paginationInterceptor = new PaginationInterceptor();
paginationInterceptor.setDialectType(DbType.MYSQL.getDb());
return paginationInterceptor;
}
//
// /**
// * 打印 sql
// */
// @Bean
// public PerformanceInterceptor performanceInterceptor() {
// PerformanceInterceptor performanceInterceptor = new PerformanceInterceptor();
// //格式化sql语句
// Properties properties = new Properties();
// properties.setProperty("format", "false");
// performanceInterceptor.setProperties(properties);
// return performanceInterceptor;
// }
/**
* 自动填充功能
* @return
*/
@Bean
public GlobalConfig globalConfig() {
GlobalConfig globalConfig = new GlobalConfig();
globalConfig.setMetaObjectHandler(new MetaHandler());
return globalConfig;
}
}
package com.laowu.common;
import org.springframework.boot.context.properties.ConfigurationProperties;
import org.springframework.context.annotation.PropertySource;
import org.springframework.stereotype.Component;
import java.util.HashMap;
import java.util.Map;
/**
* <p>
* 读取状态码
* </p>
*
* @author DengMin
* @date Created in 2020/08/24
*/
@Component
@ConfigurationProperties(prefix = "laowu")
@PropertySource(value = "classpath:code.properties", encoding = "UTF-8")
public class RemoteProperties {
private static Map<Integer, String> codeMessage = new HashMap<>();
public static String getMessage(Integer code) {
return codeMessage.get(code);
}
public Map<Integer, String> getCodeMessage() {
return codeMessage;
}
public void setCodeMessage(Map<Integer, String> codeMessage) {
RemoteProperties.codeMessage = codeMessage;
}
}
\ No newline at end of file
package com.laowu.common;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import springfox.documentation.builders.ApiInfoBuilder;
import springfox.documentation.builders.PathSelectors;
import springfox.documentation.builders.RequestHandlerSelectors;
import springfox.documentation.spi.DocumentationType;
import springfox.documentation.spring.web.plugins.Docket;
import springfox.documentation.swagger2.annotations.EnableSwagger2;
@Configuration
@EnableSwagger2
public class SwaggerConfig {
@Bean
public Docket createRestApi() {
return new Docket(DocumentationType.SWAGGER_2)
.pathMapping("/")
.select()
.apis(RequestHandlerSelectors.basePackage("com.laowu"))
.paths(PathSelectors.any())
.build().apiInfo(new ApiInfoBuilder()
.title("劳务可信库")
.description("接口文档规范")
.version("1.0")
// .contact(new Contact("啊啊啊啊","www.youkehulian.com","tcp@meishu.com"))
// .license("The Apache License")
// .licenseUrl("http://www.baidu.com")
.build());
}
}
package com.laowu.common;
import com.laowu.common.interceptor.AuthenticationInterceptor;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.web.cors.CorsConfiguration;
import org.springframework.web.cors.UrlBasedCorsConfigurationSource;
import org.springframework.web.filter.CorsFilter;
import org.springframework.web.servlet.config.annotation.CorsRegistry;
import org.springframework.web.servlet.config.annotation.InterceptorRegistry;
import org.springframework.web.servlet.config.annotation.ResourceHandlerRegistry;
import org.springframework.web.servlet.config.annotation.WebMvcConfigurer;
/**
* @author DengMin
* @date 2020/07/06
**/
@Configuration
public class WebConfig implements WebMvcConfigurer {
@Autowired
private AuthenticationInterceptor authenticationInterceptor;
/**
* 跨域支持
*
* @param registry
*/
@Override
public void addCorsMappings(CorsRegistry registry) {
registry.addMapping("/**")
// .allowCredentials(true)
.allowedOrigins("*")
.allowedMethods("GET", "HEAD", "POST", "PUT", "DELETE", "OPTIONS")
.allowedHeaders("*")
.maxAge(3600);
}
/**
* Swagger
*
* @param registry
*/
@Override
public void addResourceHandlers(ResourceHandlerRegistry registry) {
registry.addResourceHandler("/**").addResourceLocations("classpath:/static/");
registry.addResourceHandler("swagger-ui.html")
.addResourceLocations("classpath:/META-INF/resources/");
registry.addResourceHandler("/webjars/**")
.addResourceLocations("classpath:/META-INF/resources/webjars/");
}
/**
* 鉴权
*
* @param registry
*/
@Override
public void addInterceptors(InterceptorRegistry registry) {
registry.addInterceptor(authenticationInterceptor)
.excludePathPatterns("/static/*")
.addPathPatterns("/**");
}
@Bean
public CorsFilter corsFilter() {
CorsConfiguration config = new CorsConfiguration();
config.setMaxAge(3600L);
config.addAllowedOrigin("*");
config.addAllowedMethod("*");
config.addAllowedHeader("*");
UrlBasedCorsConfigurationSource configSource = new UrlBasedCorsConfigurationSource();
configSource.registerCorsConfiguration("/**", config);
return new CorsFilter(configSource);
}
}
\ No newline at end of file
package com.laowu.common.constant;
import lombok.Getter;
@Getter
public enum Code {
USERNAMENOTFOUND(1001, "用户不存在"),
BADCREDENTIALS(1002,"账户或者密码错误"),
ACCOUNTEXPIRED(1003,"账户过期"),
LOCKEDEXCEPTION(1004, "账户已锁定"),
DISABLEDEXCEPTION(1005,"账户已禁用"),
ACCESSDENIED(1006,"无权限访问"),
AUTHENTICATION(1007,"身份验证异常"),
NOHANDLERFOUND(1008,"找不到相应的视图处理器"),
PARAM_INVALID(1009, "参数不合法"),
TOKEN_EXCEPTION(1010, "无效的令牌"),
TOKEN_EXPIRED(1011, "当前账户已在其他设备登录"),
TOKEN_VERIFICATION_FAILED(1013, "令牌验证失败"),
OSS_ERROR(1012, "OSS文件上传异常"),
Network_ERROR(9000, "网络请求失败"),
SERVER_INTERNAL_ERROR(99999, "服务器内部错误"),
;
private Integer code;
private String message;
Code(Integer code, String message) {
this.code = code;
this.message = message;
}
}
package com.laowu.common.exception;
import com.baomidou.mybatisplus.core.toolkit.StringUtils;
import com.laowu.common.RemoteProperties;
import com.laowu.common.constant.Code;
import com.laowu.util.ResponseData;
import com.laowu.util.ResponseVO;
import lombok.extern.slf4j.Slf4j;
import org.springframework.http.converter.HttpMessageNotReadableException;
import org.springframework.validation.BindException;
import org.springframework.web.HttpRequestMethodNotSupportedException;
import org.springframework.web.bind.MethodArgumentNotValidException;
import org.springframework.web.bind.annotation.ExceptionHandler;
import org.springframework.web.bind.annotation.RestControllerAdvice;
import org.springframework.web.servlet.NoHandlerFoundException;
import javax.servlet.http.HttpServletRequest;
import java.util.ArrayList;
import java.util.List;
/**
* 异常处理
* @author DengMin
* @date 2020/07/14
**/
@Slf4j
@RestControllerAdvice
public class GlobalExceptionHandler {
/**
* 自定义异常
* @param e
* @return
*/
@ExceptionHandler(value = HttpException.class)
public ResponseVO handlerException(HttpServletRequest request, HttpException e) {
String message = RemoteProperties.getMessage(e.getCode());
if(StringUtils.isBlank(message)) {
message = e.getMessage();
}
String url = request.getRequestURI();
return ResponseData.generateCreatedResponse(e.getCode(), message, url);
}
/**
* 404
* @param request
* @return
*/
@ExceptionHandler(value = NoHandlerFoundException.class)
public ResponseVO NoHandlerFoundException(HttpServletRequest request) {
String url = request.getRequestURI();
return ResponseData.generateCreatedResponse(Code.NOHANDLERFOUND.getCode(), Code.NOHANDLERFOUND.getMessage(), url);
}
/**
* 请求方式错误
* @param request
* @return
*/
@ExceptionHandler(value = HttpRequestMethodNotSupportedException.class)
public ResponseVO HttpRequestMethodNotSupportedException(HttpServletRequest request) {
String url = request.getRequestURI();
return ResponseData.generateCreatedResponse(Code.NOHANDLERFOUND.getCode(), Code.NOHANDLERFOUND.getMessage(), url);
}
/**
* 参数不合法
* @param e
* @return
*/
@ExceptionHandler(MethodArgumentNotValidException.class)
public ResponseVO validateException(MethodArgumentNotValidException e){
final List<String> errList = new ArrayList<>();
e.getBindingResult().getAllErrors().stream().forEach(x -> {
errList.add(x.getDefaultMessage());
});
return ResponseData.generateCreatedResponse(Code.PARAM_INVALID.getCode(), Code.PARAM_INVALID.getMessage(), errList.toString());
}
/**
* JSON 序列化异常
* @param e
* @return
*/
@ExceptionHandler(HttpMessageNotReadableException.class)
public ResponseVO exceptionHandler(HttpMessageNotReadableException e) {
log.error(e.getMessage());
return ResponseData.generateCreatedResponse(Code.PARAM_INVALID.getCode(), Code.PARAM_INVALID.getMessage()+":{"+e.getMessage()+"}");
}
/**
* 校验异常
* @param e
* @return
*/
@ExceptionHandler(BindException.class)
public ResponseVO BindException(BindException e){
final List<String> errList = new ArrayList<>();
e.getBindingResult().getAllErrors().stream().forEach(x -> {
errList.add(x.getDefaultMessage());
});
return ResponseData.generateCreatedResponse(Code.PARAM_INVALID.getCode(), Code.PARAM_INVALID.getMessage(), errList.toString());
}
/**
* 服务器内部错误
* @return
*/
@ExceptionHandler(value = Exception.class)
public ResponseVO serverInternalError(Exception e, HttpServletRequest request) {
String url = request.getRequestURI();
// log.error("path:"+url);
// log.error("---- error message: ---"+e.toString());
e.printStackTrace();
return ResponseData.generateCreatedResponse(Code.SERVER_INTERNAL_ERROR.getCode(), Code.SERVER_INTERNAL_ERROR.getMessage(), url);
}
}
\ No newline at end of file
package com.laowu.common.exception;
import com.laowu.common.RemoteProperties;
/**
* 异常处理
* @author DengMin
* @date 2020/08/12
**/
public class HttpException extends RuntimeException{
private Integer code;
private String message;
public Integer getCode() {
return code;
}
public void setCode(Integer code) {
this.code = code;
}
@Override
public String getMessage() {
return message;
}
public void setMessage(String message) {
this.message = message;
}
public HttpException(Integer code) {
super(RemoteProperties.getMessage(code));
String message = RemoteProperties.getMessage(code);
this.message = message;
this.code = code;
}
public HttpException(Integer code, String message) {
this.message = message;
this.code = code;
}
}
package com.laowu.common.handler;
import com.baomidou.mybatisplus.core.handlers.MetaObjectHandler;
import org.apache.ibatis.reflection.MetaObject;
import org.springframework.stereotype.Component;
import java.time.LocalDateTime;
/**
* 填充配置
* @author DengMin
* @date 2020/07/21
**/
@Component
public class MetaHandler implements MetaObjectHandler {
@Override
public void insertFill(MetaObject metaObject) {
this.setFieldValByName("createDate", LocalDateTime.now(), metaObject);
}
@Override
public void updateFill(MetaObject metaObject) {
this.setFieldValByName("updateDate", LocalDateTime.now(), metaObject);
}
}
package com.laowu.common.interceptor;
import com.auth0.jwt.interfaces.Claim;
import com.baomidou.mybatisplus.core.toolkit.StringUtils;
import com.laowu.common.exception.HttpException;
import com.laowu.mapper.AdministerMapper;
import com.laowu.model.AdministerDO;
import com.laowu.util.ConstantUtils;
import com.laowu.util.JwtUtil;
import com.laowu.util.Localstorage;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;
import org.springframework.web.bind.annotation.CrossOrigin;
import org.springframework.web.method.HandlerMethod;
import org.springframework.web.servlet.HandlerInterceptor;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.lang.reflect.Method;
import java.util.Map;
/**
* <p>
* 鉴权拦截器
* </p>
*
* @author DengMin
* @since 2021/4/14
*/
@Component
public class AuthenticationInterceptor implements HandlerInterceptor {
@Autowired
private AdministerMapper administerMapper;
@Override
@CrossOrigin()
public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) {
// 不需要进行拦截
if (!(handler instanceof HandlerMethod)) {
return true;
}
HandlerMethod handlerMethod = (HandlerMethod) handler;
Method method = handlerMethod.getMethod();
TimeRequired timeRequired = method.getAnnotation(TimeRequired.class);
LoginRequired methodAnnotation = method.getAnnotation(LoginRequired.class);
if (methodAnnotation != null) {
String authorization = request.getHeader("Authorization");
if (!StringUtils.isBlank(authorization)) {
String token = authorization;
if (authorization.startsWith("Bearer")) {
token = authorization.replace("Bearer ", "");
}
/*Token不存在*/
if (token == null || !JwtUtil.verifyToken(token)) {
throw new HttpException(1010);
}
Map<String, Claim> claimMap = JwtUtil.getClaims(token);
if (claimMap != null) {
//String[] role = methodAnnotation.value();
String type = claimMap.get("type").asString();
if (ConstantUtils.ADMINISTER_TERMINATE.equals(type)) {
AdministerDO administerDO = administerMapper.selectById(claimMap.get("id").asLong());
if (administerDO != null) {
Localstorage.setUser(administerDO);
return true;
}
}
// else if(ConstantUtils.MOBILE_TERMINATE.equals(type)) {
// MemberDO memberDO = memberMapper.selectById(claimMap.get("id").asLong());
// if(memberDO != null) {
// Localstorage.setUser(memberDO);
// return true;
// }
//
// int count = memberTokensMapper.selectCount(new QueryWrapper<MemberTokensDO>()
// .lambda()
// .eq(MemberTokensDO::getMemberId,memberDO.getId()));
// if (count==0){
// throw new HttpException(1011);
// }
else {
throw new HttpException(1010);
}
}
}
throw new HttpException(1010);
}
return true;
}
}
package com.laowu.common.interceptor;
import java.lang.annotation.*;
/**
* <p>
* 自定义验证登陆注解
* </p>
*
* @author DengMin
* @since 2020/12/18
*/
@Target({ElementType.METHOD})
@Retention(RetentionPolicy.RUNTIME)
@Documented
@Inherited
public @interface LoginRequired {
//String[] value();
}
\ No newline at end of file
package com.laowu.common.interceptor;
import java.lang.annotation.*;
@Target({ElementType.METHOD})
@Retention(RetentionPolicy.RUNTIME)
@Documented
@Inherited
public @interface TimeRequired {
}
package com.laowu.common.interceptor;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.http.server.ServerHttpRequest;
import org.springframework.http.server.ServerHttpResponse;
import org.springframework.http.server.ServletServerHttpRequest;
import org.springframework.stereotype.Component;
import org.springframework.web.socket.WebSocketHandler;
import org.springframework.web.socket.server.HandshakeInterceptor;
import javax.servlet.http.HttpServletRequest;
import java.util.Map;
/**
* <p>
* WebSocket握手拦截器
* </p>
*
* @author DengMin
* @since 2022/7/14
*/
@Component
public class WebSocketInterceptor implements HandshakeInterceptor {
/**
* 自定义验证规则, 如果该用户不存在数据表中,拒绝此次连接
*/
@Override
public boolean beforeHandshake(ServerHttpRequest request, ServerHttpResponse serverHttpResponse, WebSocketHandler webSocketHandler, Map<String, Object> map) throws Exception {
if(request instanceof ServletServerHttpRequest) {
HttpServletRequest httpServletRequest = ((ServletServerHttpRequest) request).getServletRequest();
Long userId = Long.parseLong(httpServletRequest.getParameter("userId"));
// MemberDO memberDO = memberMapper.selectById(userId);
// return null != memberDO;
}
return false;
}
@Override
public void afterHandshake(ServerHttpRequest serverHttpRequest, ServerHttpResponse serverHttpResponse, WebSocketHandler webSocketHandler, Exception e) {
}
}
package com.laowu.controller;
import com.laowu.common.interceptor.LoginRequired;
import com.laowu.model.AdministerDO;
import com.laowu.service.AdministerService;
import com.laowu.util.ResponseData;
import com.laowu.util.ResponseVO;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
/**
* <p>
* 管理后台用户 前端控制器
* </p>
*
* @author Tuyp
* @since 2023-02-20
*/
@RestController
@Api(tags = "管理后台用户")
@RequestMapping("/administer")
public class AdministerController {
@Autowired
private AdministerService administerService;
@PostMapping("login")
@ApiOperation("登录 account password")
public ResponseVO login(@RequestBody AdministerDO administerDO){
return ResponseData.generateCreatedResponse(0,administerService.login(administerDO));
}
@PostMapping("/getPermissions")
@ApiOperation("权限查询")
@LoginRequired
public ResponseVO getPermissions() {
return ResponseData.generateCreatedResponse(0, administerService.getPermissions());
}
}
package com.laowu.controller;
import com.laowu.model.BusinessDictDO;
import com.laowu.service.BusinessDictService;
import com.laowu.util.ResponseData;
import com.laowu.util.ResponseVO;
import io.swagger.annotations.ApiOperation;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import io.swagger.annotations.Api;
/**
* <p>
* 经营范围 前端控制器
* </p>
*
* @author Tuyp
* @since 2023-02-20
*/
@RestController
@Api(tags = "经营范围")
@RequestMapping("/businessDict")
public class BusinessDictController {
@Autowired
private BusinessDictService businessDictService;
@PostMapping("addBusiness")
@ApiOperation("新增经营范围 business")
public ResponseVO addBusiness(@RequestBody BusinessDictDO businessDictDO){
return ResponseData.generateCreatedResponse(0,businessDictService.addBusiness(businessDictDO));
}
@PostMapping("updateBusiness")
@ApiOperation("修改经营范围 id business")
public ResponseVO updateBusiness(@RequestBody BusinessDictDO businessDictDO){
return ResponseData.generateCreatedResponse(0,businessDictService.updateBusiness(businessDictDO));
}
@PostMapping("deleteBusiness")
@ApiOperation("删除经营范围 id")
public ResponseVO deleteBusiness(@RequestBody BusinessDictDO businessDictDO){
return ResponseData.generateCreatedResponse(0,businessDictService.deleteBusiness(businessDictDO));
}
@PostMapping("queryBusiness")
@ApiOperation("查询经营范围")
public ResponseVO queryBusiness(){
return ResponseData.generateCreatedResponse(0,businessDictService.queryBusiness());
}
}
package com.laowu.controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import io.swagger.annotations.Api;
/**
* <p>
* 城市字典表 前端控制器
* </p>
*
* @author Tuyp
* @since 2023-02-15
*/
@RestController
@Api(tags = "城市字典表")
@RequestMapping("/city-dict-do")
public class CityDictController {
}
package com.laowu.controller;
import com.laowu.dto.company.AddCompanyDTO;
import com.laowu.dto.company.CompanyDTO;
import com.laowu.model.CompanyDictDO;
import com.laowu.service.CompanyDictService;
import com.laowu.util.ResponseData;
import com.laowu.util.ResponseVO;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
/**
* <p>
* 企业管理表 前端控制器
* </p>
*
* @author Tuyp
* @since 2023-02-16
*/
@RestController
@Api(tags = "企业管理表")
@RequestMapping("/companyDict")
public class CompanyDictController {
@Autowired
private CompanyDictService companyDictService;
@PostMapping("/company")
@ApiOperation("获取所有企业 pageSize pageNum companyName placeId businessId")
public ResponseVO company(@RequestBody CompanyDTO companyDTO){
return ResponseData.generateCreatedResponse(0,companyDictService.company(companyDTO));
}
@PostMapping("deleteCompany")
@ApiOperation("删除某个企业 id")
public ResponseVO deleteCompany(@RequestBody CompanyDictDO companyDictDO){
return ResponseData.generateCreatedResponse(0,companyDictService.deleteCompany(companyDictDO));
}
@PostMapping("addCompany")
@ApiOperation("添加企业 companyName companyLogo placeId businessId companyCode account companyDesc companyPhotoDOS[ photo]")
public ResponseVO addCompany(@RequestBody AddCompanyDTO addCompanyDTO){
return ResponseData.generateCreatedResponse(0,companyDictService.addCompany(addCompanyDTO));
}
@PostMapping("updateCompany")
@ApiOperation("更新企业 id companyName companyLogo placeId businessId companyCode account companyDesc companyPhotoDOS[ photo]")
public ResponseVO updateCompany(@RequestBody AddCompanyDTO addCompanyDTO){
return ResponseData.generateCreatedResponse(0,companyDictService.updateCompany(addCompanyDTO));
}
@PostMapping("oneCompany")
@ApiOperation("查询一个企业 id")
public ResponseVO oneCompany(@RequestBody CompanyDictDO companyDictDO){
return ResponseData.generateCreatedResponse(0,companyDictService.oneCompany(companyDictDO));
}
}
package com.laowu.controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import io.swagger.annotations.Api;
/**
* <p>
* 企业展示 前端控制器
* </p>
*
* @author Tuyp
* @since 2023-02-16
*/
@RestController
@Api(tags = "企业展示")
@RequestMapping("/companyPhoto")
public class CompanyPhotoController {
}
package com.laowu.controller;
import com.laowu.dto.job.JobDTO;
import com.laowu.dto.job.JobManagementDTO;
import com.laowu.model.JobDictDO;
import com.laowu.service.JobDictService;
import com.laowu.util.ResponseData;
import com.laowu.util.ResponseVO;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
import org.springframework.web.multipart.MultipartFile;
/**
* <p>
* 职位字典表 前端控制器
* </p>
*
* @author Tuyp
* @since 2023-02-15
*/
@RestController
@Api(tags = "职位字典表")
@RequestMapping("/jobDict")
public class JobDictController {
@Autowired
private JobDictService jobDictService;
@PostMapping("jobs")
@ApiOperation("所有工作 pageSize pageNum jobType 0:一村一技,1:工学一体,2:对外劳务 recruitId cityId positions[] ")
public ResponseVO jobs(@RequestBody JobDTO jobDTO){
return ResponseData.generateCreatedResponse(0,jobDictService.jobs(jobDTO));
}
@PostMapping("oneJob")
@ApiOperation("一个工作详情 id")
public ResponseVO oneJob(@RequestBody JobDictDO jobDictDO){
return ResponseData.generateCreatedResponse(0,jobDictService.oneJob(jobDictDO));
}
@PostMapping("relativeJobs")
@ApiOperation("相关职位 positionId ")
public ResponseVO relativeJobs(@RequestBody JobDictDO jobDictDO){
return ResponseData.generateCreatedResponse(0,jobDictService.relativeJobs(jobDictDO));
}
@PostMapping("jobManagement")
@ApiOperation("职位管理 pageSize pageNum jobType 0:一村一技,1:工学一体,2:对外劳务 recruitId cityId positions[] recruitStatus ")
public ResponseVO jobManagement(@RequestBody JobManagementDTO jobManagementDTO){
return ResponseData.generateCreatedResponse(0,jobDictService.jobManagement(jobManagementDTO));
}
@PostMapping("deleteJob")
@ApiOperation("删除职位 id")
public ResponseVO deleteJob(@RequestBody JobDictDO jobDictDO){
return ResponseData.generateCreatedResponse(0,jobDictService.deleteJob(jobDictDO));
}
@PostMapping("updateJob")
@ApiOperation("编辑工作 id recruitStatus jobName cityId positionId jobDesc startSalary endSalary")
public ResponseVO updateJob(@RequestBody JobDictDO jobDictDO){
return ResponseData.generateCreatedResponse(0,jobDictService.updateJob(jobDictDO));
}
@PostMapping("addJob")
@ApiOperation("添加工作 jobType recruitStatus jobName companyId cityId recruitId" +
" positionId startSalary endSalary jobDesc jobRequirement")
public ResponseVO addJob(@RequestBody JobDictDO jobDictDO){
return ResponseData.generateCreatedResponse(0,jobDictService.addJob(jobDictDO));
}
@PostMapping("batchAddJob")
@ApiOperation("批量添加工作")
public ResponseVO batchAddJob(Integer jobType, @RequestParam("file") MultipartFile multipartFile){
return ResponseData.generateCreatedResponse(0,jobDictService.batchAddJob(jobType,multipartFile));
}
}
package com.laowu.controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import io.swagger.annotations.Api;
/**
* <p>
* 公司介绍 前端控制器
* </p>
*
* @author Tuyp
* @since 2023-02-15
*/
@RestController
@Api(tags = "公司介绍")
@RequestMapping("/job-photo-do")
public class JobPhotoController {
}
package com.laowu.controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import io.swagger.annotations.Api;
/**
* <p>
* 权限表 前端控制器
* </p>
*
* @author Tuyp
* @since 2023-02-20
*/
@RestController
@Api(tags = "权限表")
@RequestMapping("/permissions-dict-do")
public class PermissionsDictController {
}
package com.laowu.controller;
import com.laowu.dto.place.AddPlaceDTO;
import com.laowu.model.PlaceDictDO;
import com.laowu.service.PlaceDictService;
import com.laowu.util.ResponseData;
import com.laowu.util.ResponseVO;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
/**
* <p>
* 地区字典表 前端控制器
* </p>
*
* @author Tuyp
* @since 2023-02-15
*/
@RestController
@Api(tags = "地区字典表")
@RequestMapping("/placeDict")
public class PlaceDictController {
@Autowired
private PlaceDictService placeDictService;
@PostMapping("allPlaces")
@ApiOperation("查看所有工作地点")
public ResponseVO allPlaces(){
return ResponseData.generateCreatedResponse(0,placeDictService.allPlaces());
}
@PostMapping("deletePlace")
@ApiOperation("删除工作地点 id")
public ResponseVO deletePlace(@RequestBody PlaceDictDO placeDictDO){
return ResponseData.generateCreatedResponse(0,placeDictService.deletePlace(placeDictDO));
}
@PostMapping("addPlace")
@ApiOperation("添加工作地点 place secondTitle desc cityId placeImgsDOS[img]")
public ResponseVO addPlace(@RequestBody AddPlaceDTO addPlaceDTO){
return ResponseData.generateCreatedResponse(0,placeDictService.addPlace(addPlaceDTO));
}
@PostMapping("updatePlace")
@ApiOperation("修改工作地点 id place secondTitle desc cityId placeImgsDOS[img]")
public ResponseVO updatePlace(@RequestBody AddPlaceDTO addPlaceDTO){
return ResponseData.generateCreatedResponse(0,placeDictService.updatePlace(addPlaceDTO));
}
@PostMapping("onePlace")
@ApiOperation("一个地点详情 id")
public ResponseVO onePlace(@RequestBody PlaceDictDO placeDictDO){
return ResponseData.generateCreatedResponse(0,placeDictService.onePlace(placeDictDO));
}
}
package com.laowu.controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import io.swagger.annotations.Api;
/**
* <p>
* 地点图片 前端控制器
* </p>
*
* @author Tuyp
* @since 2023-02-15
*/
@RestController
@Api(tags = "地点图片")
@RequestMapping("/place-imgs-do")
public class PlaceImgsController {
}
package com.laowu.controller;
import com.laowu.service.PositionDictService;
import com.laowu.util.ResponseData;
import com.laowu.util.ResponseVO;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import io.swagger.annotations.Api;
/**
* <p>
* 职位类别 前端控制器
* </p>
*
* @author Tuyp
* @since 2023-02-15
*/
@RestController
@Api(tags = "职位类别")
@RequestMapping("/positionDict")
public class PositionDictController {
@Autowired
private PositionDictService positionDictService;
@PostMapping("allPosition")
public ResponseVO allPosition(){
return ResponseData.generateCreatedResponse(0,positionDictService.allPosition());
}
}
package com.laowu.controller;
import com.laowu.service.ProvinceDictService;
import com.laowu.util.ResponseData;
import com.laowu.util.ResponseVO;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import io.swagger.annotations.Api;
/**
* <p>
* 城市字典表 前端控制器
* </p>
*
* @author Tuyp
* @since 2023-02-15
*/
@RestController
@Api(tags = "城市字典表")
@RequestMapping("/provinceDict")
public class ProvinceDictController {
@Autowired
private ProvinceDictService provinceDictService;
@PostMapping("allProvince")
public ResponseVO allProvince(){
return ResponseData.generateCreatedResponse(0,provinceDictService.allProvince());
}
}
package com.laowu.controller;
import com.laowu.model.QuestionContentDO;
import com.laowu.service.QuestionContentService;
import com.laowu.util.ResponseData;
import com.laowu.util.ResponseVO;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
/**
* <p>
* 答疑目录 前端控制器
* </p>
*
* @author Tuyp
* @since 2023-02-15
*/
@RestController
@Api(tags = "答疑目录")
@RequestMapping("/questionContent")
public class QuestionContentController {
@Autowired
private QuestionContentService questionContentService;
@PostMapping("contents")
@ApiOperation("查询所有目录")
public ResponseVO contents(){
return ResponseData.generateCreatedResponse(0,questionContentService.contents());
}
@PostMapping("addContent")
@ApiOperation("添加目录 content")
public ResponseVO addContent(@RequestBody QuestionContentDO questionContentDO){
return ResponseData.generateCreatedResponse(0,questionContentService.addContent(questionContentDO));
}
@PostMapping("deleteContent")
@ApiOperation("删除目录 id")
public ResponseVO deleteContent(@RequestBody QuestionContentDO questionContentDO){
return ResponseData.generateCreatedResponse(0,questionContentService.deleteContent(questionContentDO));
}
@PostMapping("updateContent")
@ApiOperation("更新目录 id content")
public ResponseVO updateContent(@RequestBody QuestionContentDO questionContentDO){
return ResponseData.generateCreatedResponse(0,questionContentService.updateContent(questionContentDO));
}
}
package com.laowu.controller;
import com.laowu.model.QuestionsDO;
import com.laowu.service.QuestionsService;
import com.laowu.util.ResponseData;
import com.laowu.util.ResponseVO;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
/**
* <p>
* Q && A 前端控制器
* </p>
*
* @author Tuyp
* @since 2023-02-15
*/
@RestController
@Api(tags = "Q && A")
@RequestMapping("/questions")
public class QuestionsController {
@Autowired
private QuestionsService questionsService;
@PostMapping("contentQuestions")
@ApiOperation("某个目录下的问题&答案 contentId")
public ResponseVO contentQuestions(@RequestBody QuestionsDO questionsDO){
return ResponseData.generateCreatedResponse(0,questionsService.contentQuestions(questionsDO));
}
@PostMapping("deleteQuestion")
@ApiOperation("删除答疑 id")
public ResponseVO deleteQuestion(@RequestBody QuestionsDO questionsDO){
return ResponseData.generateCreatedResponse(0,questionsService.deleteQuestion(questionsDO));
}
@PostMapping("addQuestion")
@ApiOperation("新增答疑 contentId question answer")
public ResponseVO addQuestion(@RequestBody QuestionsDO questionsDO){
return ResponseData.generateCreatedResponse(0,questionsService.addQuestion(questionsDO));
}
@PostMapping("updateQuestion")
@ApiOperation("修改答疑 id contentId question answer")
public ResponseVO updateQuestion(@RequestBody QuestionsDO questionsDO){
return ResponseData.generateCreatedResponse(0,questionsService.updateQuestion(questionsDO));
}
}
package com.laowu.controller;
import com.laowu.service.RecruitDictService;
import com.laowu.util.ResponseData;
import com.laowu.util.ResponseVO;
import io.swagger.annotations.ApiOperation;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import io.swagger.annotations.Api;
/**
* <p>
* 招聘类型 前端控制器
* </p>
*
* @author Tuyp
* @since 2023-02-15
*/
@RestController
@Api(tags = "招聘类型")
@RequestMapping("/recruitDict")
public class RecruitDictController {
@Autowired
private RecruitDictService recruitDictService;
@PostMapping("types")
@ApiOperation("所有招聘类型")
public ResponseVO types(){
return ResponseData.generateCreatedResponse(0,recruitDictService.types());
}
}
package com.laowu.controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import io.swagger.annotations.Api;
/**
* <p>
* 前端控制器
* </p>
*
* @author Tuyp
* @since 2023-02-20
*/
@RestController
@Api(tags = "")
@RequestMapping("/role-administer-mapping-do")
public class RoleAdministerMappingController {
}
package com.laowu.controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import io.swagger.annotations.Api;
/**
* <p>
* 角色表 前端控制器
* </p>
*
* @author Tuyp
* @since 2023-02-20
*/
@RestController
@Api(tags = "角色表")
@RequestMapping("/role-dict-do")
public class RoleDictController {
}
package com.laowu.controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import io.swagger.annotations.Api;
/**
* <p>
* 系统用户角色表 前端控制器
* </p>
*
* @author Tuyp
* @since 2023-02-20
*/
@RestController
@Api(tags = "系统用户角色表")
@RequestMapping("/role-permission-mapping-do")
public class RolePermissionMappingController {
}
package com.laowu.controller;
import com.laowu.dto.user.UsersDTO;
import com.laowu.model.UserDO;
import com.laowu.service.UserService;
import com.laowu.util.ResponseData;
import com.laowu.util.ResponseVO;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
import org.springframework.web.multipart.MultipartFile;
/**
* <p>
* 用户表 前端控制器
* </p>
*
* @author Tuyp
* @since 2023-02-16
*/
@RestController
@Api(tags = "用户表")
@RequestMapping("/user")
public class UserController {
@Autowired
private UserService userService;
@PostMapping("users")
@ApiOperation("查询院校/社会用户 pageSize pageNum education partyMember userName userType ")
public ResponseVO users(@RequestBody UsersDTO usersDTO) {
return ResponseData.generateCreatedResponse(0,userService.users(usersDTO));
}
@PostMapping("deleteUser")
@ApiOperation("删除用户 id")
public ResponseVO deleteUser(@RequestBody UserDO userDO){
return ResponseData.generateCreatedResponse(0,userService.deleteUser(userDO));
}
@PostMapping("addUser")
@ApiOperation("添加用户 userType:账户类型 userName telephone email idCard area address toCity school" +
"studyPeriod education rank educationType jobStatus job companyName jobType" +
"jobStartDate jobEndDate jobMonth salary resume partyMember")
public ResponseVO addUser(@RequestBody UserDO userDO){
return ResponseData.generateCreatedResponse(0,userService.addUser(userDO));
}
@PostMapping("updateUser")
@ApiOperation("修改用户 id userType:账户类型 userName telephone email idCard area address toCity school" +
"studyPeriod education rank educationType jobStatus job companyName jobType" +
"jobStartDate jobEndDate jobMonth salary resume partyMember")
public ResponseVO updateUser (@RequestBody UserDO userDO){
return ResponseData.generateCreatedResponse(0,userService.updateUser(userDO));
}
@PostMapping("importUsers")
@ApiOperation("导入用户 userType:账户类型 file")
public void importUsers(Long userType,@RequestParam("file") MultipartFile file){
userService.importUsers(userType,file);
}
@PostMapping("oneUser")
@ApiOperation("获取一个学员 id")
public ResponseVO oneUser(@RequestBody UserDO userDO){
return ResponseData.generateCreatedResponse(0,userService.oneUser(userDO));
}
}
package com.laowu.dto.company;
import com.laowu.model.CompanyDictDO;
import com.laowu.model.CompanyPhotoDO;
import lombok.Data;
import java.util.List;
@Data
public class AddCompanyDTO extends CompanyDictDO {
private List<CompanyPhotoDO> companyPhotoDOS;
}
package com.laowu.dto.company;
import lombok.Data;
@Data
public class CompanyDTO {
private Integer pageSize;
private Integer pageNum;
private String companyName;
private Long placeId;
private Long businessId;
private String companyLogo;
}
package com.laowu.dto.job;
import com.laowu.util.ExcelColumnUtil;
import lombok.Data;
@Data
public class BatchAddJobDTO {
@ExcelColumnUtil(col = 1,value = "企业名称")
private String enterpriseName;
@ExcelColumnUtil(col = 2,value = "招聘状态")
private String recruitStatus;
@ExcelColumnUtil(col = 3,value = "职位名称")
private String jobName;
@ExcelColumnUtil(col = 4,value = "招聘类型")
private Long recruitId;
@ExcelColumnUtil(col = 5,value = "职位描述")
private String jobDesc;
}
package com.laowu.dto.job;
import lombok.Data;
import java.util.List;
@Data
public class JobDTO {
private Integer pageSize;
private Integer pageNum;
private Long recruitId;
private Integer jobType;
private Long cityId;
private List<Long> positions;
}
package com.laowu.dto.job;
import lombok.Data;
import java.util.List;
@Data
public class JobManagementDTO {
private Integer pageSize;
private Integer pageNum;
private Long recruitId;
private Integer jobType;
private Long cityId;
private String jobName;
private String recruitStatus;
private List<Long> positions;
}
package com.laowu.dto.place;
import com.laowu.model.PlaceDictDO;
import com.laowu.model.PlaceImgsDO;
import lombok.Data;
import java.util.List;
@Data
public class AddPlaceDTO extends PlaceDictDO {
private List<PlaceImgsDO> placeImgsDOS;
}
package com.laowu.dto.user;
import com.laowu.util.ExcelColumnUtil;
import lombok.Data;
@Data
public class ImportUsersDTO {
@ExcelColumnUtil(col = 1,value = "姓名")
private String userName;
@ExcelColumnUtil(col = 2,value = "手机号码")
private String telephone;
@ExcelColumnUtil(col = 3,value = "邮箱")
private String email;
@ExcelColumnUtil(col = 4,value = "个人证件")
private String idType;
@ExcelColumnUtil(col = 5,value = "证件号码")
private String idCard;
@ExcelColumnUtil(col = 6,value = "所在地区")
private String area;
@ExcelColumnUtil(col = 7,value = "具体地址")
private String address;
@ExcelColumnUtil(col = 8,value = "意向城市")
private String toCity;
@ExcelColumnUtil(col = 9,value = "学校")
private String school;
@ExcelColumnUtil(col = 10,value = "起止时间")
private String studyPeriod;
@ExcelColumnUtil(col = 11,value = "学历")
private String education;
@ExcelColumnUtil(col = 12,value = "排名")
private String rank;
@ExcelColumnUtil(col = 13,value = "学历类型")
private String educationType;
@ExcelColumnUtil(col = 14,value = "就业状态")
private String jobStatus;
@ExcelColumnUtil(col = 15,value = "就业岗位")
private String job;
@ExcelColumnUtil(col = 16,value = "单位名称")
private String companyName;
@ExcelColumnUtil(col = 17,value = "就业类型")
private String jobType;
@ExcelColumnUtil(col = 18,value = "开始时间")
private String jobStartDate;
@ExcelColumnUtil(col = 19,value = "结束时间")
private String jobEndDate;
@ExcelColumnUtil(col = 20,value = "就业月数")
private String jobMonth;
@ExcelColumnUtil(col = 21,value = "月均收入")
private String salary;
@ExcelColumnUtil(col = 22,value = "简历")
private String resume;
@ExcelColumnUtil(col = 23,value = "党员")
private String partyMember;
@ExcelColumnUtil(col = 24,value = "脱贫劳动力")
private String poorless;
@ExcelColumnUtil(col = 25,value = "易迁户")
private String migration;
}
package com.laowu.dto.user;
import lombok.Data;
@Data
public class UsersDTO {
private Integer pageSize;
private Integer pageNum;
private String education;
private String partyMember;
private String userName;
private Long userType;
}
package com.laowu.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.laowu.model.AdministerDO;
import com.laowu.vo.admin.PermissionsVO;
import org.springframework.stereotype.Repository;
import java.util.List;
/**
* <p>
* 管理后台用户 Mapper 接口
* </p>
*
* @author Tuyp
* @since 2023-02-20
*/
@Repository
public interface AdministerMapper extends BaseMapper<AdministerDO> {
List<PermissionsVO> getPermissions(Long id);
}
package com.laowu.mapper;
import com.laowu.model.BusinessDictDO;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import org.springframework.stereotype.Repository;
/**
* <p>
* 经营范围 Mapper 接口
* </p>
*
* @author Tuyp
* @since 2023-02-20
*/
@Repository
public interface BusinessDictMapper extends BaseMapper<BusinessDictDO> {
}
package com.laowu.mapper;
import com.laowu.model.CityDictDO;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import org.springframework.stereotype.Repository;
/**
* <p>
* 城市字典表 Mapper 接口
* </p>
*
* @author Tuyp
* @since 2023-02-15
*/
@Repository
public interface CityDictMapper extends BaseMapper<CityDictDO> {
/**
* 通过cityId查询省-市
*/
String getCityName(Long cityId);
}
package com.laowu.mapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.laowu.model.CompanyDictDO;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.laowu.vo.company.CompanyVO;
import org.springframework.stereotype.Repository;
/**
* <p>
* 企业管理表 Mapper 接口
* </p>
*
* @author Tuyp
* @since 2023-02-16
*/
@Repository
public interface CompanyDictMapper extends BaseMapper<CompanyDictDO> {
/**
* 查询企业
*/
IPage<CompanyVO> company(IPage page, String companyName, Long placeId,Long businessId);
}
package com.laowu.mapper;
import com.laowu.model.CompanyPhotoDO;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import org.springframework.stereotype.Repository;
/**
* <p>
* 企业展示 Mapper 接口
* </p>
*
* @author Tuyp
* @since 2023-02-16
*/
@Repository
public interface CompanyPhotoMapper extends BaseMapper<CompanyPhotoDO> {
}
package com.laowu.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.laowu.model.JobDictDO;
import com.laowu.vo.job.JobManagementVO;
import com.laowu.vo.job.JobVO;
import com.laowu.vo.job.OneJobVO;
import org.springframework.stereotype.Repository;
import java.util.List;
/**
* <p>
* 职位字典表 Mapper 接口
* </p>
*
* @author Tuyp
* @since 2023-02-15
*/
@Repository
public interface JobDictMapper extends BaseMapper<JobDictDO> {
/**
* 查询工作 分页
*/
IPage<JobVO> jobs(IPage page, Long recruitId, Long cityId, List<Long> positions,Integer jobType);
/**
* 查询 一个工作
*/
OneJobVO oneJob(Long id);
/**
* 相关推荐
*/
List<JobVO> relativeJobs(Long positionId);
/**
* 职位管理
*/
IPage<JobManagementVO> jobManagement(IPage page,Long recruitId, Long cityId, List<Long> positions,Integer jobType,String recruitStatus);
}
package com.laowu.mapper;
import com.laowu.model.JobPhotoDO;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import org.springframework.stereotype.Repository;
/**
* <p>
* 公司介绍 Mapper 接口
* </p>
*
* @author Tuyp
* @since 2023-02-15
*/
@Repository
public interface JobPhotoMapper extends BaseMapper<JobPhotoDO> {
}
package com.laowu.mapper;
import com.laowu.model.PermissionsDictDO;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import org.springframework.stereotype.Repository;
/**
* <p>
* 权限表 Mapper 接口
* </p>
*
* @author Tuyp
* @since 2023-02-20
*/
@Repository
public interface PermissionsDictMapper extends BaseMapper<PermissionsDictDO> {
}
package com.laowu.mapper;
import com.laowu.model.PlaceDictDO;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import org.springframework.stereotype.Repository;
/**
* <p>
* 地区字典表 Mapper 接口
* </p>
*
* @author Tuyp
* @since 2023-02-15
*/
@Repository
public interface PlaceDictMapper extends BaseMapper<PlaceDictDO> {
}
package com.laowu.mapper;
import com.laowu.model.PlaceImgsDO;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import org.springframework.stereotype.Repository;
/**
* <p>
* 地点图片 Mapper 接口
* </p>
*
* @author Tuyp
* @since 2023-02-15
*/
@Repository
public interface PlaceImgsMapper extends BaseMapper<PlaceImgsDO> {
}
package com.laowu.mapper;
import com.laowu.model.PositionDictDO;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import org.springframework.stereotype.Repository;
/**
* <p>
* 职位类别 Mapper 接口
* </p>
*
* @author Tuyp
* @since 2023-02-15
*/
@Repository
public interface PositionDictMapper extends BaseMapper<PositionDictDO> {
/**
* 通过子职位生成父子职位编码
*/
String jobCode(Long positionId);
}
package com.laowu.mapper;
import com.laowu.model.ProvinceDictDO;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import org.springframework.stereotype.Repository;
/**
* <p>
* 城市字典表 Mapper 接口
* </p>
*
* @author Tuyp
* @since 2023-02-15
*/
@Repository
public interface ProvinceDictMapper extends BaseMapper<ProvinceDictDO> {
}
package com.laowu.mapper;
import com.laowu.model.QuestionContentDO;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import org.springframework.stereotype.Repository;
/**
* <p>
* 答疑目录 Mapper 接口
* </p>
*
* @author Tuyp
* @since 2023-02-15
*/
@Repository
public interface QuestionContentMapper extends BaseMapper<QuestionContentDO> {
}
package com.laowu.mapper;
import com.laowu.model.QuestionsDO;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import org.springframework.stereotype.Repository;
/**
* <p>
* Q && A Mapper 接口
* </p>
*
* @author Tuyp
* @since 2023-02-15
*/
@Repository
public interface QuestionsMapper extends BaseMapper<QuestionsDO> {
}
package com.laowu.mapper;
import com.laowu.model.RecruitDictDO;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import org.springframework.stereotype.Repository;
/**
* <p>
* 招聘类型 Mapper 接口
* </p>
*
* @author Tuyp
* @since 2023-02-15
*/
@Repository
public interface RecruitDictMapper extends BaseMapper<RecruitDictDO> {
}
package com.laowu.mapper;
import com.laowu.model.RoleAdministerMappingDO;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import org.springframework.stereotype.Repository;
/**
* <p>
* Mapper 接口
* </p>
*
* @author Tuyp
* @since 2023-02-20
*/
@Repository
public interface RoleAdministerMappingMapper extends BaseMapper<RoleAdministerMappingDO> {
}
package com.laowu.mapper;
import com.laowu.model.RoleDictDO;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import org.springframework.stereotype.Repository;
/**
* <p>
* 角色表 Mapper 接口
* </p>
*
* @author Tuyp
* @since 2023-02-20
*/
@Repository
public interface RoleDictMapper extends BaseMapper<RoleDictDO> {
}
package com.laowu.mapper;
import com.laowu.model.RolePermissionMappingDO;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import org.springframework.stereotype.Repository;
/**
* <p>
* 系统用户角色表 Mapper 接口
* </p>
*
* @author Tuyp
* @since 2023-02-20
*/
@Repository
public interface RolePermissionMappingMapper extends BaseMapper<RolePermissionMappingDO> {
}
package com.laowu.mapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.laowu.model.UserDO;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.laowu.vo.user.UsersVO;
import org.springframework.stereotype.Repository;
/**
* <p>
* 用户表 Mapper 接口
* </p>
*
* @author Tuyp
* @since 2023-02-16
*/
@Repository
public interface UserMapper extends BaseMapper<UserDO> {
IPage<UsersVO> users(IPage page, Long userType, String education, String partyMember, String userName);
UsersVO oneUser(Long id);
}
package com.laowu.model;
import com.baomidou.mybatisplus.annotation.TableName;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.laowu.util.BaseModel;
import lombok.Data;
import lombok.EqualsAndHashCode;
/**
* <p>
* 管理后台用户
* </p>
*
* @author Tuyp
* @since 2023-02-20
*/
@Data
@EqualsAndHashCode(callSuper = true)
@TableName("administer")
public class AdministerDO extends BaseModel {
private static final long serialVersionUID = 1L;
@TableId(value = "id", type = IdType.AUTO)
private Long id;
private String account;
private String password;
}
package com.laowu.model;
import com.baomidou.mybatisplus.annotation.TableName;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.laowu.util.BaseModel;
import lombok.Data;
import lombok.EqualsAndHashCode;
/**
* <p>
* 经营范围
* </p>
*
* @author Tuyp
* @since 2023-02-20
*/
@Data
@EqualsAndHashCode(callSuper = true)
@TableName("business_dict")
public class BusinessDictDO extends BaseModel {
private static final long serialVersionUID = 1L;
@TableId(value = "id", type = IdType.AUTO)
private Long id;
private String business;
}
package com.laowu.model;
import com.baomidou.mybatisplus.annotation.TableName;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.laowu.util.BaseModel;
import lombok.Data;
import lombok.EqualsAndHashCode;
/**
* <p>
* 城市字典表
* </p>
*
* @author Tuyp
* @since 2023-02-15
*/
@Data
@EqualsAndHashCode(callSuper = true)
@TableName("city_dict")
public class CityDictDO extends BaseModel {
private static final long serialVersionUID = 1L;
@TableId(value = "id", type = IdType.AUTO)
private Long id;
/**
* 省id
*/
private Long provinceId;
/**
* 城市名
*/
private String city;
}
package com.laowu.model;
import com.baomidou.mybatisplus.annotation.TableName;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.laowu.util.BaseModel;
import lombok.Data;
import lombok.EqualsAndHashCode;
/**
* <p>
* 企业管理表
* </p>
*
* @author Tuyp
* @since 2023-02-16
*/
@Data
@EqualsAndHashCode(callSuper = true)
@TableName("company_dict")
public class CompanyDictDO extends BaseModel {
private static final long serialVersionUID = 1L;
@TableId(value = "id", type = IdType.AUTO)
private Long id;
/**
* 企业名称
*/
private String companyName;
/**
* 企业logo
*/
private String companyLogo;
/**
* 地区id
*/
private Long placeId;
/**
* 经营范围id
*/
private Long businessId;
/**
* 企业代码
*/
private String companyCode;
/**
* 主账号
*/
private String account;
/**
* 企业简介
*/
private String companyDesc;
}
package com.laowu.model;
import com.baomidou.mybatisplus.annotation.TableName;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.laowu.util.BaseModel;
import lombok.Data;
import lombok.EqualsAndHashCode;
/**
* <p>
* 企业展示
* </p>
*
* @author Tuyp
* @since 2023-02-16
*/
@Data
@EqualsAndHashCode(callSuper = true)
@TableName("company_photo")
public class CompanyPhotoDO extends BaseModel {
private static final long serialVersionUID = 1L;
@TableId(value = "id", type = IdType.AUTO)
private Long id;
/**
* 公司id
*/
private Long companyId;
/**
* 企业展示
*/
private String photo;
}
package com.laowu.model;
import com.baomidou.mybatisplus.annotation.TableName;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.laowu.util.BaseModel;
import lombok.Data;
import lombok.EqualsAndHashCode;
/**
* <p>
* 职位字典表
* </p>
*
* @author Tuyp
* @since 2023-02-15
*/
@Data
@EqualsAndHashCode(callSuper = true)
@TableName("job_dict")
public class JobDictDO extends BaseModel {
private static final long serialVersionUID = 1L;
@TableId(value = "id", type = IdType.AUTO)
private Long id;
/**
* 工作类型:一村一技,工学一体,对外劳务
*/
private Integer jobType;
/**
* 职位id
*/
private String jobId;
/**
* 招聘状态
*/
private String recruitStatus;
/**
* 职位名称
*/
private String jobName;
/**
* 企业id
*/
private String companyId;
/**
* 市
*/
private Long cityId;
/**
* 招聘类型
*/
private Long recruitId;
/**
* 职位类别id
*/
private Long positionId;
/**
* 起薪
*/
private Integer startSalary;
/**
* 止薪
*/
private Integer endSalary;
/**
* 职位描述
*/
private String jobDesc;
/**
* 职位要求
*/
private String jobRequirement;
/**
* 公司描述
*/
private String companyDesc;
}
package com.laowu.model;
import com.baomidou.mybatisplus.annotation.TableName;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.laowu.util.BaseModel;
import lombok.Data;
import lombok.EqualsAndHashCode;
/**
* <p>
* 公司介绍
* </p>
*
* @author Tuyp
* @since 2023-02-15
*/
@Data
@EqualsAndHashCode(callSuper = true)
@TableName("job_photo")
public class JobPhotoDO extends BaseModel {
private static final long serialVersionUID = 1L;
@TableId(value = "id", type = IdType.AUTO)
private Long id;
/**
* 职位id
*/
private Long jobId;
/**
* 公司照片
*/
private String companyPhotos;
}
package com.laowu.model;
import com.baomidou.mybatisplus.annotation.TableName;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.laowu.util.BaseModel;
import lombok.Data;
import lombok.EqualsAndHashCode;
/**
* <p>
* 权限表
* </p>
*
* @author Tuyp
* @since 2023-02-20
*/
@Data
@EqualsAndHashCode(callSuper = true)
@TableName("permissions_dict")
public class PermissionsDictDO extends BaseModel {
private static final long serialVersionUID = 1L;
@TableId(value = "id", type = IdType.AUTO)
private Long id;
/**
* 父级ID
*/
private Long parentId;
/**
* 名称
*/
private String name;
private String children;
}
package com.laowu.model;
import com.baomidou.mybatisplus.annotation.TableName;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.laowu.util.BaseModel;
import lombok.Data;
import lombok.EqualsAndHashCode;
/**
* <p>
* 地区字典表
* </p>
*
* @author Tuyp
* @since 2023-02-15
*/
@Data
@EqualsAndHashCode(callSuper = true)
@TableName("place_dict")
public class PlaceDictDO extends BaseModel {
private static final long serialVersionUID = 1L;
@TableId(value = "id", type = IdType.AUTO)
private Long id;
/**
* 地点名称
*/
private String place;
/**
* 副标题
*/
private String secondTitle;
/**
* 描述
*/
private String placeDesc;
/**
* 关联城市
*/
private Long cityId;
}
package com.laowu.model;
import com.baomidou.mybatisplus.annotation.TableName;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.laowu.util.BaseModel;
import lombok.Data;
import lombok.EqualsAndHashCode;
/**
* <p>
* 地点图片
* </p>
*
* @author Tuyp
* @since 2023-02-15
*/
@Data
@EqualsAndHashCode(callSuper = true)
@TableName("place_imgs")
public class PlaceImgsDO extends BaseModel {
private static final long serialVersionUID = 1L;
@TableId(value = "id", type = IdType.AUTO)
private Long id;
private Long placeId;
private String img;
}
package com.laowu.model;
import com.baomidou.mybatisplus.annotation.TableName;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.laowu.util.BaseModel;
import lombok.Data;
import lombok.EqualsAndHashCode;
/**
* <p>
* 职位类别
* </p>
*
* @author Tuyp
* @since 2023-02-15
*/
@Data
@EqualsAndHashCode(callSuper = true)
@TableName("position_dict")
public class PositionDictDO extends BaseModel {
private static final long serialVersionUID = 1L;
@TableId(value = "id", type = IdType.AUTO)
private Long id;
private String positionType;
private Long parentId;
private String positionCode;
}
package com.laowu.model;
import com.baomidou.mybatisplus.annotation.TableName;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.laowu.util.BaseModel;
import lombok.Data;
import lombok.EqualsAndHashCode;
/**
* <p>
* 城市字典表
* </p>
*
* @author Tuyp
* @since 2023-02-15
*/
@Data
@EqualsAndHashCode(callSuper = true)
@TableName("province_dict")
public class ProvinceDictDO extends BaseModel {
private static final long serialVersionUID = 1L;
@TableId(value = "id", type = IdType.AUTO)
private Long id;
/**
* 城市
*/
private String province;
}
package com.laowu.model;
import com.baomidou.mybatisplus.annotation.TableName;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.laowu.util.BaseModel;
import lombok.Data;
import lombok.EqualsAndHashCode;
/**
* <p>
* 答疑目录
* </p>
*
* @author Tuyp
* @since 2023-02-15
*/
@Data
@EqualsAndHashCode(callSuper = true)
@TableName("question_content")
public class QuestionContentDO extends BaseModel {
private static final long serialVersionUID = 1L;
@TableId(value = "id", type = IdType.AUTO)
private Long id;
private String content;
}
package com.laowu.model;
import com.baomidou.mybatisplus.annotation.TableName;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.laowu.util.BaseModel;
import lombok.Data;
import lombok.EqualsAndHashCode;
/**
* <p>
* Q && A
* </p>
*
* @author Tuyp
* @since 2023-02-15
*/
@Data
@EqualsAndHashCode(callSuper = true)
@TableName("Questions")
public class QuestionsDO extends BaseModel {
private static final long serialVersionUID = 1L;
@TableId(value = "id", type = IdType.AUTO)
private Long id;
/**
* 目录id
*/
private Long contentId;
/**
* 问题
*/
private String question;
/**
* 答案
*/
private String answer;
}
package com.laowu.model;
import com.baomidou.mybatisplus.annotation.TableName;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.laowu.util.BaseModel;
import lombok.Data;
import lombok.EqualsAndHashCode;
/**
* <p>
* 招聘类型
* </p>
*
* @author Tuyp
* @since 2023-02-15
*/
@Data
@EqualsAndHashCode(callSuper = true)
@TableName("recruit_dict")
public class RecruitDictDO extends BaseModel {
private static final long serialVersionUID = 1L;
@TableId(value = "id", type = IdType.AUTO)
private Long id;
/**
* 招聘类型
*/
private String recruitType;
}
package com.laowu.model;
import com.baomidou.mybatisplus.annotation.TableName;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.laowu.util.BaseModel;
import lombok.Data;
import lombok.EqualsAndHashCode;
/**
* <p>
*
* </p>
*
* @author Tuyp
* @since 2023-02-20
*/
@Data
@EqualsAndHashCode(callSuper = true)
@TableName("role_administer_mapping")
public class RoleAdministerMappingDO extends BaseModel {
private static final long serialVersionUID = 1L;
@TableId(value = "id", type = IdType.AUTO)
private Long id;
private Long administerId;
private Long roleId;
}
package com.laowu.model;
import com.baomidou.mybatisplus.annotation.TableName;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.laowu.util.BaseModel;
import lombok.Data;
import lombok.EqualsAndHashCode;
/**
* <p>
* 角色表
* </p>
*
* @author Tuyp
* @since 2023-02-20
*/
@Data
@EqualsAndHashCode(callSuper = true)
@TableName("role_dict")
public class RoleDictDO extends BaseModel {
private static final long serialVersionUID = 1L;
@TableId(value = "id", type = IdType.AUTO)
private Long id;
/**
* 角色
*/
private String role;
}
package com.laowu.model;
import com.baomidou.mybatisplus.annotation.TableName;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.laowu.util.BaseModel;
import lombok.Data;
import lombok.EqualsAndHashCode;
/**
* <p>
* 系统用户角色表
* </p>
*
* @author Tuyp
* @since 2023-02-20
*/
@Data
@EqualsAndHashCode(callSuper = true)
@TableName("role_permission_mapping")
public class RolePermissionMappingDO extends BaseModel {
private static final long serialVersionUID = 1L;
@TableId(value = "id", type = IdType.AUTO)
private Long id;
/**
* 权限ID
*/
private Long roleId;
/**
* 角色ID
*/
private Long permissionId;
}
package com.laowu.model;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.laowu.util.BaseModel;
import lombok.Data;
import lombok.EqualsAndHashCode;
/**
* <p>
* 用户表
* </p>
*
* @author Tuyp
* @since 2023-02-16
*/
@Data
@EqualsAndHashCode(callSuper = true)
@TableName("user")
public class UserDO extends BaseModel {
private static final long serialVersionUID = 1L;
@TableId(value = "id", type = IdType.AUTO)
private Long id;
/**
* 0:院校用户 1:社会用户
*/
private Integer userType;
/**
* 姓名
*/
private String userName;
/**
* 手机号
*/
private String telephone;
/**
* 邮箱
*/
private String email;
/**
* 证件类型
*/
private String idType;
/**
* 个人证件
*/
private String idCard;
/**
* 所在地区
*/
private String area;
/**
* 具体地址
*/
private String address;
/**
* 意向城市
*/
private String toCity;
/**
* 学校
*/
private String school;
/**
* 起止时间
*/
private String studyPeriod;
/**
* 学历
*/
private String education;
/**
* 成绩排名
*/
private String rank;
/**
* 学历类型
*/
private String educationType;
/**
* 就业状态
*/
private String jobStatus;
/**
* 就业岗位
*/
private String job;
/**
* 单位名称
*/
private String companyName;
/**
* 就业类型
*/
private String jobType;
/**
* 就业开始时间
*/
private String jobStartDate;
/**
* 就业结束时间
*/
private String jobEndDate;
/**
* 就业月数
*/
private String jobMonth;
/**
* 月均收入
*/
private String salary;
/**
* 简历
*/
private String resume;
/**
* 党员
*/
private String partyMember;
/**
* 脱贫劳动力
*/
private String poorless;
/**
* 易迁户
*/
private String migration;
}
package com.laowu.service;
import com.baomidou.mybatisplus.extension.service.IService;
import com.laowu.model.AdministerDO;
import com.laowu.vo.admin.AdministerPermissionVO;
import com.laowu.vo.admin.LoginVO;
/**
* <p>
* 管理后台用户 服务类
* </p>
*
* @author Tuyp
* @since 2023-02-20
*/
public interface AdministerService extends IService<AdministerDO> {
LoginVO login(AdministerDO administerDO);
AdministerPermissionVO getPermissions();
}
package com.laowu.service;
import com.laowu.model.BusinessDictDO;
import com.baomidou.mybatisplus.extension.service.IService;
import java.util.List;
/**
* <p>
* 经营范围 服务类
* </p>
*
* @author Tuyp
* @since 2023-02-20
*/
public interface BusinessDictService extends IService<BusinessDictDO> {
String addBusiness(BusinessDictDO businessDictDO);
String updateBusiness(BusinessDictDO businessDictDO);
String deleteBusiness(BusinessDictDO businessDictDO);
List<BusinessDictDO> queryBusiness();
}
package com.laowu.service;
import com.laowu.model.CityDictDO;
import com.baomidou.mybatisplus.extension.service.IService;
/**
* <p>
* 城市字典表 服务类
* </p>
*
* @author Tuyp
* @since 2023-02-15
*/
public interface CityDictService extends IService<CityDictDO> {
}
package com.laowu.service;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.service.IService;
import com.laowu.dto.company.AddCompanyDTO;
import com.laowu.dto.company.CompanyDTO;
import com.laowu.model.CompanyDictDO;
import com.laowu.vo.company.CompanyVO;
/**
* <p>
* 企业管理表 服务类
* </p>
*
* @author Tuyp
* @since 2023-02-16
*/
public interface CompanyDictService extends IService<CompanyDictDO> {
IPage company(CompanyDTO companyDTO);
String deleteCompany(CompanyDictDO companyDictDO);
String addCompany(AddCompanyDTO addCompanyDTO);
String updateCompany(AddCompanyDTO addCompanyDTO);
CompanyVO oneCompany(CompanyDictDO companyDictDO);
}
package com.laowu.service;
import com.laowu.model.CompanyPhotoDO;
import com.baomidou.mybatisplus.extension.service.IService;
/**
* <p>
* 企业展示 服务类
* </p>
*
* @author Tuyp
* @since 2023-02-16
*/
public interface CompanyPhotoService extends IService<CompanyPhotoDO> {
}
package com.laowu.service;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.service.IService;
import com.laowu.dto.job.JobDTO;
import com.laowu.dto.job.JobManagementDTO;
import com.laowu.model.JobDictDO;
import com.laowu.vo.job.JobManagementVO;
import com.laowu.vo.job.JobVO;
import com.laowu.vo.job.OneJobVO;
import org.springframework.web.multipart.MultipartFile;
import java.util.List;
/**
* <p>
* 职位字典表 服务类
* </p>
*
* @author Tuyp
* @since 2023-02-15
*/
public interface JobDictService extends IService<JobDictDO> {
IPage<JobVO> jobs(JobDTO jobDTO);
OneJobVO oneJob(JobDictDO jobDictDO);
List<JobVO> relativeJobs(JobDictDO jobDictDO);
IPage<JobManagementVO> jobManagement(JobManagementDTO jobManagementDTO);
String deleteJob(JobDictDO jobDictDO);
String updateJob(JobDictDO jobDictDO);
String addJob(JobDictDO jobDictDO);
String batchAddJob(Integer jobType, MultipartFile multipartFile);
}
package com.laowu.service;
import com.laowu.model.JobPhotoDO;
import com.baomidou.mybatisplus.extension.service.IService;
/**
* <p>
* 公司介绍 服务类
* </p>
*
* @author Tuyp
* @since 2023-02-15
*/
public interface JobPhotoService extends IService<JobPhotoDO> {
}
package com.laowu.service;
import com.laowu.model.PermissionsDictDO;
import com.baomidou.mybatisplus.extension.service.IService;
/**
* <p>
* 权限表 服务类
* </p>
*
* @author Tuyp
* @since 2023-02-20
*/
public interface PermissionsDictService extends IService<PermissionsDictDO> {
}
package com.laowu.service;
import com.laowu.dto.place.AddPlaceDTO;
import com.laowu.model.PlaceDictDO;
import com.baomidou.mybatisplus.extension.service.IService;
import com.laowu.vo.place.AllPlacesVO;
import java.util.List;
/**
* <p>
* 地区字典表 服务类
* </p>
*
* @author Tuyp
* @since 2023-02-15
*/
public interface PlaceDictService extends IService<PlaceDictDO> {
List<AllPlacesVO> allPlaces();
String deletePlace(PlaceDictDO placeDictDO);
String addPlace(AddPlaceDTO addPlaceDTO);
String updatePlace(AddPlaceDTO addPlaceDTO);
AllPlacesVO onePlace(PlaceDictDO placeDictDO);
}
Markdown is supported
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!