Initial commit
This commit is contained in:
31
.gitignore
vendored
Normal file
31
.gitignore
vendored
Normal file
@@ -0,0 +1,31 @@
|
||||
HELP.md
|
||||
target/
|
||||
!.mvn/wrapper/maven-wrapper.jar
|
||||
!**/src/main/**
|
||||
!**/src/test/**
|
||||
|
||||
### 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/
|
||||
|
||||
### VS Code ###
|
||||
.vscode/
|
||||
118
.mvn/wrapper/MavenWrapperDownloader.java
vendored
Normal file
118
.mvn/wrapper/MavenWrapperDownloader.java
vendored
Normal file
@@ -0,0 +1,118 @@
|
||||
/*
|
||||
* Copyright 2007-present the original author or authors.
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* https://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
import java.net.*;
|
||||
import java.io.*;
|
||||
import java.nio.channels.*;
|
||||
import java.util.Properties;
|
||||
|
||||
public class MavenWrapperDownloader {
|
||||
|
||||
private static final String WRAPPER_VERSION = "0.5.6";
|
||||
/**
|
||||
* Default URL to download the maven-wrapper.jar from, if no 'downloadUrl' is provided.
|
||||
*/
|
||||
private static final String DEFAULT_DOWNLOAD_URL = "https://repo.maven.apache.org/maven2/io/takari/maven-wrapper/"
|
||||
+ WRAPPER_VERSION + "/maven-wrapper-" + WRAPPER_VERSION + ".jar";
|
||||
|
||||
/**
|
||||
* Path to the maven-wrapper.properties file, which might contain a downloadUrl property to
|
||||
* use instead of the default one.
|
||||
*/
|
||||
private static final String MAVEN_WRAPPER_PROPERTIES_PATH =
|
||||
".mvn/wrapper/maven-wrapper.properties";
|
||||
|
||||
/**
|
||||
* Path where the maven-wrapper.jar will be saved to.
|
||||
*/
|
||||
private static final String MAVEN_WRAPPER_JAR_PATH =
|
||||
".mvn/wrapper/maven-wrapper.jar";
|
||||
|
||||
/**
|
||||
* Name of the property which should be used to override the default download url for the wrapper.
|
||||
*/
|
||||
private static final String PROPERTY_NAME_WRAPPER_URL = "wrapperUrl";
|
||||
|
||||
public static void main(String args[]) {
|
||||
System.out.println("- Downloader started");
|
||||
File baseDirectory = new File(args[0]);
|
||||
System.out.println("- Using base directory: " + baseDirectory.getAbsolutePath());
|
||||
|
||||
// If the maven-wrapper.properties exists, read it and check if it contains a custom
|
||||
// wrapperUrl parameter.
|
||||
File mavenWrapperPropertyFile = new File(baseDirectory, MAVEN_WRAPPER_PROPERTIES_PATH);
|
||||
String url = DEFAULT_DOWNLOAD_URL;
|
||||
if (mavenWrapperPropertyFile.exists()) {
|
||||
FileInputStream mavenWrapperPropertyFileInputStream = null;
|
||||
try {
|
||||
mavenWrapperPropertyFileInputStream = new FileInputStream(mavenWrapperPropertyFile);
|
||||
Properties mavenWrapperProperties = new Properties();
|
||||
mavenWrapperProperties.load(mavenWrapperPropertyFileInputStream);
|
||||
url = mavenWrapperProperties.getProperty(PROPERTY_NAME_WRAPPER_URL, url);
|
||||
} catch (IOException e) {
|
||||
System.out.println("- ERROR loading '" + MAVEN_WRAPPER_PROPERTIES_PATH + "'");
|
||||
} finally {
|
||||
try {
|
||||
if (mavenWrapperPropertyFileInputStream != null) {
|
||||
mavenWrapperPropertyFileInputStream.close();
|
||||
}
|
||||
} catch (IOException e) {
|
||||
// Ignore ...
|
||||
}
|
||||
}
|
||||
}
|
||||
System.out.println("- Downloading from: " + url);
|
||||
|
||||
File outputFile = new File(baseDirectory.getAbsolutePath(), MAVEN_WRAPPER_JAR_PATH);
|
||||
if (!outputFile.getParentFile().exists()) {
|
||||
if (!outputFile.getParentFile().mkdirs()) {
|
||||
System.out.println(
|
||||
"- ERROR creating output directory '" + outputFile.getParentFile().getAbsolutePath() + "'");
|
||||
}
|
||||
}
|
||||
System.out.println("- Downloading to: " + outputFile.getAbsolutePath());
|
||||
try {
|
||||
downloadFileFromURL(url, outputFile);
|
||||
System.out.println("Done");
|
||||
System.exit(0);
|
||||
} catch (Throwable e) {
|
||||
System.out.println("- Error downloading");
|
||||
e.printStackTrace();
|
||||
System.exit(1);
|
||||
}
|
||||
}
|
||||
|
||||
private static void downloadFileFromURL(String urlString, File destination) throws Exception {
|
||||
if (System.getenv("MVNW_USERNAME") != null && System.getenv("MVNW_PASSWORD") != null) {
|
||||
String username = System.getenv("MVNW_USERNAME");
|
||||
char[] password = System.getenv("MVNW_PASSWORD").toCharArray();
|
||||
Authenticator.setDefault(new Authenticator() {
|
||||
@Override
|
||||
protected PasswordAuthentication getPasswordAuthentication() {
|
||||
return new PasswordAuthentication(username, password);
|
||||
}
|
||||
});
|
||||
}
|
||||
URL website = new URL(urlString);
|
||||
ReadableByteChannel rbc;
|
||||
rbc = Channels.newChannel(website.openStream());
|
||||
FileOutputStream fos = new FileOutputStream(destination);
|
||||
fos.getChannel().transferFrom(rbc, 0, Long.MAX_VALUE);
|
||||
fos.close();
|
||||
rbc.close();
|
||||
}
|
||||
|
||||
}
|
||||
BIN
.mvn/wrapper/maven-wrapper.jar
vendored
Normal file
BIN
.mvn/wrapper/maven-wrapper.jar
vendored
Normal file
Binary file not shown.
2
.mvn/wrapper/maven-wrapper.properties
vendored
Normal file
2
.mvn/wrapper/maven-wrapper.properties
vendored
Normal file
@@ -0,0 +1,2 @@
|
||||
distributionUrl=https://repo.maven.apache.org/maven2/org/apache/maven/apache-maven/3.6.3/apache-maven-3.6.3-bin.zip
|
||||
wrapperUrl=https://repo.maven.apache.org/maven2/io/takari/maven-wrapper/0.5.6/maven-wrapper-0.5.6.jar
|
||||
745
hs_err_pid31091.log
Normal file
745
hs_err_pid31091.log
Normal file
@@ -0,0 +1,745 @@
|
||||
#
|
||||
# A fatal error has been detected by the Java Runtime Environment:
|
||||
#
|
||||
# Internal Error (signature.cpp:120), pid=31091, tid=0x0000000000007303
|
||||
# Error: ShouldNotReachHere()
|
||||
#
|
||||
# JRE version: OpenJDK Runtime Environment (8.0_322-b06) (build 1.8.0_322-b06)
|
||||
# Java VM: OpenJDK 64-Bit Server VM (25.322-b06 mixed mode bsd-aarch64 compressed oops)
|
||||
# Failed to write core dump. Core dumps have been disabled. To enable core dumping, try "ulimit -c unlimited" before starting Java again
|
||||
#
|
||||
# If you would like to submit a bug report, please visit:
|
||||
# https://bell-sw.com/support
|
||||
#
|
||||
|
||||
--------------- T H R E A D ---------------
|
||||
|
||||
Current thread (0x000000012d2c4000): JavaThread "http-nio-9090-exec-4" daemon [_thread_in_vm, id=29443, stack(0x0000000175758000,0x000000017595b000)]
|
||||
|
||||
Stack: [0x0000000175758000,0x000000017595b000], sp=0x00000001759578a0, free space=2046k
|
||||
Native frames: (J=compiled Java code, j=interpreted, Vv=VM code, C=native code)
|
||||
V [libjvm.dylib+0x54f438]
|
||||
V [libjvm.dylib+0x18856c]
|
||||
V [libjvm.dylib+0x4bf228]
|
||||
V [libjvm.dylib+0x4bf4f0]
|
||||
V [libjvm.dylib+0x1db018]
|
||||
V [libjvm.dylib+0x27acec]
|
||||
j org.springframework.web.method.annotation.ModelFactory.updateModel(Lorg/springframework/web/context/request/NativeWebRequest;Lorg/springframework/web/method/support/ModelAndViewContainer;)V+34
|
||||
j org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.getModelAndView(Lorg/springframework/web/method/support/ModelAndViewContainer;Lorg/springframework/web/method/annotation/ModelFactory;Lorg/springframework/web/context/request/NativeWebRequest;)Lorg/springframework/web/servlet/ModelAndView;+3
|
||||
j org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(Ljavax/servlet/http/HttpServletRequest;Ljavax/servlet/http/HttpServletResponse;Lorg/springframework/web/method/HandlerMethod;)Lorg/springframework/web/servlet/ModelAndView;+273
|
||||
j org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(Ljavax/servlet/http/HttpServletRequest;Ljavax/servlet/http/HttpServletResponse;Lorg/springframework/web/method/HandlerMethod;)Lorg/springframework/web/servlet/ModelAndView;+81
|
||||
j org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(Ljavax/servlet/http/HttpServletRequest;Ljavax/servlet/http/HttpServletResponse;Ljava/lang/Object;)Lorg/springframework/web/servlet/ModelAndView;+7
|
||||
j org.springframework.web.servlet.DispatcherServlet.doDispatch(Ljavax/servlet/http/HttpServletRequest;Ljavax/servlet/http/HttpServletResponse;)V+259
|
||||
j org.springframework.web.servlet.DispatcherServlet.doService(Ljavax/servlet/http/HttpServletRequest;Ljavax/servlet/http/HttpServletResponse;)V+241
|
||||
j org.springframework.web.servlet.FrameworkServlet.processRequest(Ljavax/servlet/http/HttpServletRequest;Ljavax/servlet/http/HttpServletResponse;)V+71
|
||||
j org.springframework.web.servlet.FrameworkServlet.doGet(Ljavax/servlet/http/HttpServletRequest;Ljavax/servlet/http/HttpServletResponse;)V+3
|
||||
j javax.servlet.http.HttpServlet.service(Ljavax/servlet/http/HttpServletRequest;Ljavax/servlet/http/HttpServletResponse;)V+35
|
||||
j org.springframework.web.servlet.FrameworkServlet.service(Ljavax/servlet/http/HttpServletRequest;Ljavax/servlet/http/HttpServletResponse;)V+33
|
||||
j javax.servlet.http.HttpServlet.service(Ljavax/servlet/ServletRequest;Ljavax/servlet/ServletResponse;)V+36
|
||||
j org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Ljavax/servlet/ServletRequest;Ljavax/servlet/ServletResponse;)V+304
|
||||
j org.apache.catalina.core.ApplicationFilterChain.doFilter(Ljavax/servlet/ServletRequest;Ljavax/servlet/ServletResponse;)V+99
|
||||
j org.apache.tomcat.websocket.server.WsFilter.doFilter(Ljavax/servlet/ServletRequest;Ljavax/servlet/ServletResponse;Ljavax/servlet/FilterChain;)V+21
|
||||
j org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Ljavax/servlet/ServletRequest;Ljavax/servlet/ServletResponse;)V+135
|
||||
j org.apache.catalina.core.ApplicationFilterChain.doFilter(Ljavax/servlet/ServletRequest;Ljavax/servlet/ServletResponse;)V+99
|
||||
j org.springframework.web.filter.OncePerRequestFilter.doFilter(Ljavax/servlet/ServletRequest;Ljavax/servlet/ServletResponse;Ljavax/servlet/FilterChain;)V+122
|
||||
j org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Ljavax/servlet/ServletRequest;Ljavax/servlet/ServletResponse;)V+135
|
||||
j org.apache.catalina.core.ApplicationFilterChain.doFilter(Ljavax/servlet/ServletRequest;Ljavax/servlet/ServletResponse;)V+99
|
||||
j org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(Ljavax/servlet/ServletRequest;Ljavax/servlet/ServletResponse;)V+52
|
||||
j org.springframework.security.web.access.intercept.FilterSecurityInterceptor.invoke(Lorg/springframework/security/web/FilterInvocation;)V+79
|
||||
j org.springframework.security.web.access.intercept.FilterSecurityInterceptor.doFilter(Ljavax/servlet/ServletRequest;Ljavax/servlet/ServletResponse;Ljavax/servlet/FilterChain;)V+11
|
||||
j org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(Ljavax/servlet/ServletRequest;Ljavax/servlet/ServletResponse;)V+136
|
||||
j org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(Ljavax/servlet/http/HttpServletRequest;Ljavax/servlet/http/HttpServletResponse;Ljavax/servlet/FilterChain;)V+3
|
||||
j org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(Ljavax/servlet/ServletRequest;Ljavax/servlet/ServletResponse;Ljavax/servlet/FilterChain;)V+10
|
||||
j org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(Ljavax/servlet/ServletRequest;Ljavax/servlet/ServletResponse;)V+136
|
||||
j org.springframework.security.web.session.SessionManagementFilter.doFilter(Ljavax/servlet/http/HttpServletRequest;Ljavax/servlet/http/HttpServletResponse;Ljavax/servlet/FilterChain;)V+210
|
||||
j org.springframework.security.web.session.SessionManagementFilter.doFilter(Ljavax/servlet/ServletRequest;Ljavax/servlet/ServletResponse;Ljavax/servlet/FilterChain;)V+10
|
||||
j org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(Ljavax/servlet/ServletRequest;Ljavax/servlet/ServletResponse;)V+136
|
||||
j org.springframework.security.web.authentication.AnonymousAuthenticationFilter.doFilter(Ljavax/servlet/ServletRequest;Ljavax/servlet/ServletResponse;Ljavax/servlet/FilterChain;)V+105
|
||||
j org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(Ljavax/servlet/ServletRequest;Ljavax/servlet/ServletResponse;)V+136
|
||||
j org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter.doFilter(Ljavax/servlet/ServletRequest;Ljavax/servlet/ServletResponse;Ljavax/servlet/FilterChain;)V+19
|
||||
j org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(Ljavax/servlet/ServletRequest;Ljavax/servlet/ServletResponse;)V+136
|
||||
j org.springframework.security.web.savedrequest.RequestCacheAwareFilter.doFilter(Ljavax/servlet/ServletRequest;Ljavax/servlet/ServletResponse;Ljavax/servlet/FilterChain;)V+32
|
||||
j org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(Ljavax/servlet/ServletRequest;Ljavax/servlet/ServletResponse;)V+136
|
||||
j com.gxwebsoft.common.core.security.JwtAuthenticationFilter.doFilterInternal(Ljavax/servlet/http/HttpServletRequest;Ljavax/servlet/http/HttpServletResponse;Ljavax/servlet/FilterChain;)V+275
|
||||
j org.springframework.web.filter.OncePerRequestFilter.doFilter(Ljavax/servlet/ServletRequest;Ljavax/servlet/ServletResponse;Ljavax/servlet/FilterChain;)V+147
|
||||
j org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(Ljavax/servlet/ServletRequest;Ljavax/servlet/ServletResponse;)V+136
|
||||
j org.springframework.web.filter.CorsFilter.doFilterInternal(Ljavax/servlet/http/HttpServletRequest;Ljavax/servlet/http/HttpServletResponse;Ljavax/servlet/FilterChain;)V+43
|
||||
j org.springframework.web.filter.OncePerRequestFilter.doFilter(Ljavax/servlet/ServletRequest;Ljavax/servlet/ServletResponse;Ljavax/servlet/FilterChain;)V+147
|
||||
j org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(Ljavax/servlet/ServletRequest;Ljavax/servlet/ServletResponse;)V+136
|
||||
j org.springframework.security.web.header.HeaderWriterFilter.doHeadersAfter(Ljavax/servlet/http/HttpServletRequest;Ljavax/servlet/http/HttpServletResponse;Ljavax/servlet/FilterChain;)V+29
|
||||
j org.springframework.security.web.header.HeaderWriterFilter.doFilterInternal(Ljavax/servlet/http/HttpServletRequest;Ljavax/servlet/http/HttpServletResponse;Ljavax/servlet/FilterChain;)V+21
|
||||
j org.springframework.web.filter.OncePerRequestFilter.doFilter(Ljavax/servlet/ServletRequest;Ljavax/servlet/ServletResponse;Ljavax/servlet/FilterChain;)V+147
|
||||
j org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(Ljavax/servlet/ServletRequest;Ljavax/servlet/ServletResponse;)V+136
|
||||
j org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(Ljavax/servlet/http/HttpServletRequest;Ljavax/servlet/http/HttpServletResponse;Ljavax/servlet/FilterChain;)V+181
|
||||
j org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(Ljavax/servlet/ServletRequest;Ljavax/servlet/ServletResponse;Ljavax/servlet/FilterChain;)V+10
|
||||
j org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(Ljavax/servlet/ServletRequest;Ljavax/servlet/ServletResponse;)V+136
|
||||
j org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(Ljavax/servlet/http/HttpServletRequest;Ljavax/servlet/http/HttpServletResponse;Ljavax/servlet/FilterChain;)V+42
|
||||
j org.springframework.web.filter.OncePerRequestFilter.doFilter(Ljavax/servlet/ServletRequest;Ljavax/servlet/ServletResponse;Ljavax/servlet/FilterChain;)V+147
|
||||
j org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(Ljavax/servlet/ServletRequest;Ljavax/servlet/ServletResponse;)V+136
|
||||
j org.springframework.security.web.FilterChainProxy.doFilterInternal(Ljavax/servlet/ServletRequest;Ljavax/servlet/ServletResponse;Ljavax/servlet/FilterChain;)V+148
|
||||
j org.springframework.security.web.FilterChainProxy.doFilter(Ljavax/servlet/ServletRequest;Ljavax/servlet/ServletResponse;Ljavax/servlet/FilterChain;)V+48
|
||||
j org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(Ljavax/servlet/Filter;Ljavax/servlet/ServletRequest;Ljavax/servlet/ServletResponse;Ljavax/servlet/FilterChain;)V+5
|
||||
j org.springframework.web.filter.DelegatingFilterProxy.doFilter(Ljavax/servlet/ServletRequest;Ljavax/servlet/ServletResponse;Ljavax/servlet/FilterChain;)V+85
|
||||
j org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Ljavax/servlet/ServletRequest;Ljavax/servlet/ServletResponse;)V+135
|
||||
j org.apache.catalina.core.ApplicationFilterChain.doFilter(Ljavax/servlet/ServletRequest;Ljavax/servlet/ServletResponse;)V+99
|
||||
j org.springframework.web.filter.RequestContextFilter.doFilterInternal(Ljavax/servlet/http/HttpServletRequest;Ljavax/servlet/http/HttpServletResponse;Ljavax/servlet/FilterChain;)V+21
|
||||
j org.springframework.web.filter.OncePerRequestFilter.doFilter(Ljavax/servlet/ServletRequest;Ljavax/servlet/ServletResponse;Ljavax/servlet/FilterChain;)V+147
|
||||
j org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Ljavax/servlet/ServletRequest;Ljavax/servlet/ServletResponse;)V+135
|
||||
j org.apache.catalina.core.ApplicationFilterChain.doFilter(Ljavax/servlet/ServletRequest;Ljavax/servlet/ServletResponse;)V+99
|
||||
j org.springframework.web.filter.FormContentFilter.doFilterInternal(Ljavax/servlet/http/HttpServletRequest;Ljavax/servlet/http/HttpServletResponse;Ljavax/servlet/FilterChain;)V+38
|
||||
j org.springframework.web.filter.OncePerRequestFilter.doFilter(Ljavax/servlet/ServletRequest;Ljavax/servlet/ServletResponse;Ljavax/servlet/FilterChain;)V+147
|
||||
j org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Ljavax/servlet/ServletRequest;Ljavax/servlet/ServletResponse;)V+135
|
||||
j org.apache.catalina.core.ApplicationFilterChain.doFilter(Ljavax/servlet/ServletRequest;Ljavax/servlet/ServletResponse;)V+99
|
||||
j org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(Ljavax/servlet/http/HttpServletRequest;Ljavax/servlet/http/HttpServletResponse;Ljavax/servlet/FilterChain;)V+53
|
||||
j org.springframework.web.filter.OncePerRequestFilter.doFilter(Ljavax/servlet/ServletRequest;Ljavax/servlet/ServletResponse;Ljavax/servlet/FilterChain;)V+147
|
||||
j org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Ljavax/servlet/ServletRequest;Ljavax/servlet/ServletResponse;)V+135
|
||||
j org.apache.catalina.core.ApplicationFilterChain.doFilter(Ljavax/servlet/ServletRequest;Ljavax/servlet/ServletResponse;)V+99
|
||||
j org.apache.catalina.core.StandardWrapperValve.invoke(Lorg/apache/catalina/connector/Request;Lorg/apache/catalina/connector/Response;)V+694
|
||||
j org.apache.catalina.core.StandardContextValve.invoke(Lorg/apache/catalina/connector/Request;Lorg/apache/catalina/connector/Response;)V+169
|
||||
j org.apache.catalina.authenticator.AuthenticatorBase.invoke(Lorg/apache/catalina/connector/Request;Lorg/apache/catalina/connector/Response;)V+260
|
||||
j org.apache.catalina.core.StandardHostValve.invoke(Lorg/apache/catalina/connector/Request;Lorg/apache/catalina/connector/Response;)V+128
|
||||
j org.apache.catalina.valves.ErrorReportValve.invoke(Lorg/apache/catalina/connector/Request;Lorg/apache/catalina/connector/Response;)V+6
|
||||
j org.apache.catalina.core.StandardEngineValve.invoke(Lorg/apache/catalina/connector/Request;Lorg/apache/catalina/connector/Response;)V+59
|
||||
j org.apache.catalina.connector.CoyoteAdapter.service(Lorg/apache/coyote/Request;Lorg/apache/coyote/Response;)V+199
|
||||
j org.apache.coyote.http11.Http11Processor.service(Lorg/apache/tomcat/util/net/SocketWrapperBase;)Lorg/apache/tomcat/util/net/AbstractEndpoint$Handler$SocketState;+737
|
||||
j org.apache.coyote.AbstractProcessorLight.process(Lorg/apache/tomcat/util/net/SocketWrapperBase;Lorg/apache/tomcat/util/net/SocketEvent;)Lorg/apache/tomcat/util/net/AbstractEndpoint$Handler$SocketState;+170
|
||||
j org.apache.coyote.AbstractProtocol$ConnectionHandler.process(Lorg/apache/tomcat/util/net/SocketWrapperBase;Lorg/apache/tomcat/util/net/SocketEvent;)Lorg/apache/tomcat/util/net/AbstractEndpoint$Handler$SocketState;+505
|
||||
j org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun()V+216
|
||||
j org.apache.tomcat.util.net.SocketProcessorBase.run()V+21
|
||||
j org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(Lorg/apache/tomcat/util/threads/ThreadPoolExecutor$Worker;)V+92
|
||||
j org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run()V+5
|
||||
j org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run()V+4
|
||||
j java.lang.Thread.run()V+11
|
||||
v ~StubRoutines::call_stub
|
||||
V [libjvm.dylib+0x282778]
|
||||
V [libjvm.dylib+0x2812a4]
|
||||
V [libjvm.dylib+0x2814f8]
|
||||
V [libjvm.dylib+0x3086e4]
|
||||
V [libjvm.dylib+0x514724]
|
||||
V [libjvm.dylib+0x5145d0]
|
||||
V [libjvm.dylib+0x44aeb8]
|
||||
...<more frames>...
|
||||
|
||||
Java frames: (J=compiled Java code, j=interpreted, Vv=VM code)
|
||||
j org.springframework.web.method.annotation.ModelFactory.updateModel(Lorg/springframework/web/context/request/NativeWebRequest;Lorg/springframework/web/method/support/ModelAndViewContainer;)V+34
|
||||
j org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.getModelAndView(Lorg/springframework/web/method/support/ModelAndViewContainer;Lorg/springframework/web/method/annotation/ModelFactory;Lorg/springframework/web/context/request/NativeWebRequest;)Lorg/springframework/web/servlet/ModelAndView;+3
|
||||
j org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(Ljavax/servlet/http/HttpServletRequest;Ljavax/servlet/http/HttpServletResponse;Lorg/springframework/web/method/HandlerMethod;)Lorg/springframework/web/servlet/ModelAndView;+273
|
||||
j org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(Ljavax/servlet/http/HttpServletRequest;Ljavax/servlet/http/HttpServletResponse;Lorg/springframework/web/method/HandlerMethod;)Lorg/springframework/web/servlet/ModelAndView;+81
|
||||
j org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(Ljavax/servlet/http/HttpServletRequest;Ljavax/servlet/http/HttpServletResponse;Ljava/lang/Object;)Lorg/springframework/web/servlet/ModelAndView;+7
|
||||
j org.springframework.web.servlet.DispatcherServlet.doDispatch(Ljavax/servlet/http/HttpServletRequest;Ljavax/servlet/http/HttpServletResponse;)V+259
|
||||
j org.springframework.web.servlet.DispatcherServlet.doService(Ljavax/servlet/http/HttpServletRequest;Ljavax/servlet/http/HttpServletResponse;)V+241
|
||||
j org.springframework.web.servlet.FrameworkServlet.processRequest(Ljavax/servlet/http/HttpServletRequest;Ljavax/servlet/http/HttpServletResponse;)V+71
|
||||
j org.springframework.web.servlet.FrameworkServlet.doGet(Ljavax/servlet/http/HttpServletRequest;Ljavax/servlet/http/HttpServletResponse;)V+3
|
||||
j javax.servlet.http.HttpServlet.service(Ljavax/servlet/http/HttpServletRequest;Ljavax/servlet/http/HttpServletResponse;)V+35
|
||||
j org.springframework.web.servlet.FrameworkServlet.service(Ljavax/servlet/http/HttpServletRequest;Ljavax/servlet/http/HttpServletResponse;)V+33
|
||||
j javax.servlet.http.HttpServlet.service(Ljavax/servlet/ServletRequest;Ljavax/servlet/ServletResponse;)V+36
|
||||
j org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Ljavax/servlet/ServletRequest;Ljavax/servlet/ServletResponse;)V+304
|
||||
j org.apache.catalina.core.ApplicationFilterChain.doFilter(Ljavax/servlet/ServletRequest;Ljavax/servlet/ServletResponse;)V+99
|
||||
j org.apache.tomcat.websocket.server.WsFilter.doFilter(Ljavax/servlet/ServletRequest;Ljavax/servlet/ServletResponse;Ljavax/servlet/FilterChain;)V+21
|
||||
j org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Ljavax/servlet/ServletRequest;Ljavax/servlet/ServletResponse;)V+135
|
||||
j org.apache.catalina.core.ApplicationFilterChain.doFilter(Ljavax/servlet/ServletRequest;Ljavax/servlet/ServletResponse;)V+99
|
||||
j org.springframework.web.filter.OncePerRequestFilter.doFilter(Ljavax/servlet/ServletRequest;Ljavax/servlet/ServletResponse;Ljavax/servlet/FilterChain;)V+122
|
||||
j org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Ljavax/servlet/ServletRequest;Ljavax/servlet/ServletResponse;)V+135
|
||||
j org.apache.catalina.core.ApplicationFilterChain.doFilter(Ljavax/servlet/ServletRequest;Ljavax/servlet/ServletResponse;)V+99
|
||||
j org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(Ljavax/servlet/ServletRequest;Ljavax/servlet/ServletResponse;)V+52
|
||||
j org.springframework.security.web.access.intercept.FilterSecurityInterceptor.invoke(Lorg/springframework/security/web/FilterInvocation;)V+79
|
||||
j org.springframework.security.web.access.intercept.FilterSecurityInterceptor.doFilter(Ljavax/servlet/ServletRequest;Ljavax/servlet/ServletResponse;Ljavax/servlet/FilterChain;)V+11
|
||||
j org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(Ljavax/servlet/ServletRequest;Ljavax/servlet/ServletResponse;)V+136
|
||||
j org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(Ljavax/servlet/http/HttpServletRequest;Ljavax/servlet/http/HttpServletResponse;Ljavax/servlet/FilterChain;)V+3
|
||||
j org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(Ljavax/servlet/ServletRequest;Ljavax/servlet/ServletResponse;Ljavax/servlet/FilterChain;)V+10
|
||||
j org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(Ljavax/servlet/ServletRequest;Ljavax/servlet/ServletResponse;)V+136
|
||||
j org.springframework.security.web.session.SessionManagementFilter.doFilter(Ljavax/servlet/http/HttpServletRequest;Ljavax/servlet/http/HttpServletResponse;Ljavax/servlet/FilterChain;)V+210
|
||||
j org.springframework.security.web.session.SessionManagementFilter.doFilter(Ljavax/servlet/ServletRequest;Ljavax/servlet/ServletResponse;Ljavax/servlet/FilterChain;)V+10
|
||||
j org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(Ljavax/servlet/ServletRequest;Ljavax/servlet/ServletResponse;)V+136
|
||||
j org.springframework.security.web.authentication.AnonymousAuthenticationFilter.doFilter(Ljavax/servlet/ServletRequest;Ljavax/servlet/ServletResponse;Ljavax/servlet/FilterChain;)V+105
|
||||
j org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(Ljavax/servlet/ServletRequest;Ljavax/servlet/ServletResponse;)V+136
|
||||
j org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter.doFilter(Ljavax/servlet/ServletRequest;Ljavax/servlet/ServletResponse;Ljavax/servlet/FilterChain;)V+19
|
||||
j org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(Ljavax/servlet/ServletRequest;Ljavax/servlet/ServletResponse;)V+136
|
||||
j org.springframework.security.web.savedrequest.RequestCacheAwareFilter.doFilter(Ljavax/servlet/ServletRequest;Ljavax/servlet/ServletResponse;Ljavax/servlet/FilterChain;)V+32
|
||||
j org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(Ljavax/servlet/ServletRequest;Ljavax/servlet/ServletResponse;)V+136
|
||||
j com.gxwebsoft.common.core.security.JwtAuthenticationFilter.doFilterInternal(Ljavax/servlet/http/HttpServletRequest;Ljavax/servlet/http/HttpServletResponse;Ljavax/servlet/FilterChain;)V+275
|
||||
j org.springframework.web.filter.OncePerRequestFilter.doFilter(Ljavax/servlet/ServletRequest;Ljavax/servlet/ServletResponse;Ljavax/servlet/FilterChain;)V+147
|
||||
j org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(Ljavax/servlet/ServletRequest;Ljavax/servlet/ServletResponse;)V+136
|
||||
j org.springframework.web.filter.CorsFilter.doFilterInternal(Ljavax/servlet/http/HttpServletRequest;Ljavax/servlet/http/HttpServletResponse;Ljavax/servlet/FilterChain;)V+43
|
||||
j org.springframework.web.filter.OncePerRequestFilter.doFilter(Ljavax/servlet/ServletRequest;Ljavax/servlet/ServletResponse;Ljavax/servlet/FilterChain;)V+147
|
||||
j org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(Ljavax/servlet/ServletRequest;Ljavax/servlet/ServletResponse;)V+136
|
||||
j org.springframework.security.web.header.HeaderWriterFilter.doHeadersAfter(Ljavax/servlet/http/HttpServletRequest;Ljavax/servlet/http/HttpServletResponse;Ljavax/servlet/FilterChain;)V+29
|
||||
j org.springframework.security.web.header.HeaderWriterFilter.doFilterInternal(Ljavax/servlet/http/HttpServletRequest;Ljavax/servlet/http/HttpServletResponse;Ljavax/servlet/FilterChain;)V+21
|
||||
j org.springframework.web.filter.OncePerRequestFilter.doFilter(Ljavax/servlet/ServletRequest;Ljavax/servlet/ServletResponse;Ljavax/servlet/FilterChain;)V+147
|
||||
j org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(Ljavax/servlet/ServletRequest;Ljavax/servlet/ServletResponse;)V+136
|
||||
j org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(Ljavax/servlet/http/HttpServletRequest;Ljavax/servlet/http/HttpServletResponse;Ljavax/servlet/FilterChain;)V+181
|
||||
j org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(Ljavax/servlet/ServletRequest;Ljavax/servlet/ServletResponse;Ljavax/servlet/FilterChain;)V+10
|
||||
j org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(Ljavax/servlet/ServletRequest;Ljavax/servlet/ServletResponse;)V+136
|
||||
j org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(Ljavax/servlet/http/HttpServletRequest;Ljavax/servlet/http/HttpServletResponse;Ljavax/servlet/FilterChain;)V+42
|
||||
j org.springframework.web.filter.OncePerRequestFilter.doFilter(Ljavax/servlet/ServletRequest;Ljavax/servlet/ServletResponse;Ljavax/servlet/FilterChain;)V+147
|
||||
j org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(Ljavax/servlet/ServletRequest;Ljavax/servlet/ServletResponse;)V+136
|
||||
j org.springframework.security.web.FilterChainProxy.doFilterInternal(Ljavax/servlet/ServletRequest;Ljavax/servlet/ServletResponse;Ljavax/servlet/FilterChain;)V+148
|
||||
j org.springframework.security.web.FilterChainProxy.doFilter(Ljavax/servlet/ServletRequest;Ljavax/servlet/ServletResponse;Ljavax/servlet/FilterChain;)V+48
|
||||
j org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(Ljavax/servlet/Filter;Ljavax/servlet/ServletRequest;Ljavax/servlet/ServletResponse;Ljavax/servlet/FilterChain;)V+5
|
||||
j org.springframework.web.filter.DelegatingFilterProxy.doFilter(Ljavax/servlet/ServletRequest;Ljavax/servlet/ServletResponse;Ljavax/servlet/FilterChain;)V+85
|
||||
j org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Ljavax/servlet/ServletRequest;Ljavax/servlet/ServletResponse;)V+135
|
||||
j org.apache.catalina.core.ApplicationFilterChain.doFilter(Ljavax/servlet/ServletRequest;Ljavax/servlet/ServletResponse;)V+99
|
||||
j org.springframework.web.filter.RequestContextFilter.doFilterInternal(Ljavax/servlet/http/HttpServletRequest;Ljavax/servlet/http/HttpServletResponse;Ljavax/servlet/FilterChain;)V+21
|
||||
j org.springframework.web.filter.OncePerRequestFilter.doFilter(Ljavax/servlet/ServletRequest;Ljavax/servlet/ServletResponse;Ljavax/servlet/FilterChain;)V+147
|
||||
j org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Ljavax/servlet/ServletRequest;Ljavax/servlet/ServletResponse;)V+135
|
||||
j org.apache.catalina.core.ApplicationFilterChain.doFilter(Ljavax/servlet/ServletRequest;Ljavax/servlet/ServletResponse;)V+99
|
||||
j org.springframework.web.filter.FormContentFilter.doFilterInternal(Ljavax/servlet/http/HttpServletRequest;Ljavax/servlet/http/HttpServletResponse;Ljavax/servlet/FilterChain;)V+38
|
||||
j org.springframework.web.filter.OncePerRequestFilter.doFilter(Ljavax/servlet/ServletRequest;Ljavax/servlet/ServletResponse;Ljavax/servlet/FilterChain;)V+147
|
||||
j org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Ljavax/servlet/ServletRequest;Ljavax/servlet/ServletResponse;)V+135
|
||||
j org.apache.catalina.core.ApplicationFilterChain.doFilter(Ljavax/servlet/ServletRequest;Ljavax/servlet/ServletResponse;)V+99
|
||||
j org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(Ljavax/servlet/http/HttpServletRequest;Ljavax/servlet/http/HttpServletResponse;Ljavax/servlet/FilterChain;)V+53
|
||||
j org.springframework.web.filter.OncePerRequestFilter.doFilter(Ljavax/servlet/ServletRequest;Ljavax/servlet/ServletResponse;Ljavax/servlet/FilterChain;)V+147
|
||||
j org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Ljavax/servlet/ServletRequest;Ljavax/servlet/ServletResponse;)V+135
|
||||
j org.apache.catalina.core.ApplicationFilterChain.doFilter(Ljavax/servlet/ServletRequest;Ljavax/servlet/ServletResponse;)V+99
|
||||
j org.apache.catalina.core.StandardWrapperValve.invoke(Lorg/apache/catalina/connector/Request;Lorg/apache/catalina/connector/Response;)V+694
|
||||
j org.apache.catalina.core.StandardContextValve.invoke(Lorg/apache/catalina/connector/Request;Lorg/apache/catalina/connector/Response;)V+169
|
||||
j org.apache.catalina.authenticator.AuthenticatorBase.invoke(Lorg/apache/catalina/connector/Request;Lorg/apache/catalina/connector/Response;)V+260
|
||||
j org.apache.catalina.core.StandardHostValve.invoke(Lorg/apache/catalina/connector/Request;Lorg/apache/catalina/connector/Response;)V+128
|
||||
j org.apache.catalina.valves.ErrorReportValve.invoke(Lorg/apache/catalina/connector/Request;Lorg/apache/catalina/connector/Response;)V+6
|
||||
j org.apache.catalina.core.StandardEngineValve.invoke(Lorg/apache/catalina/connector/Request;Lorg/apache/catalina/connector/Response;)V+59
|
||||
j org.apache.catalina.connector.CoyoteAdapter.service(Lorg/apache/coyote/Request;Lorg/apache/coyote/Response;)V+199
|
||||
j org.apache.coyote.http11.Http11Processor.service(Lorg/apache/tomcat/util/net/SocketWrapperBase;)Lorg/apache/tomcat/util/net/AbstractEndpoint$Handler$SocketState;+737
|
||||
j org.apache.coyote.AbstractProcessorLight.process(Lorg/apache/tomcat/util/net/SocketWrapperBase;Lorg/apache/tomcat/util/net/SocketEvent;)Lorg/apache/tomcat/util/net/AbstractEndpoint$Handler$SocketState;+170
|
||||
j org.apache.coyote.AbstractProtocol$ConnectionHandler.process(Lorg/apache/tomcat/util/net/SocketWrapperBase;Lorg/apache/tomcat/util/net/SocketEvent;)Lorg/apache/tomcat/util/net/AbstractEndpoint$Handler$SocketState;+505
|
||||
j org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun()V+216
|
||||
j org.apache.tomcat.util.net.SocketProcessorBase.run()V+21
|
||||
j org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(Lorg/apache/tomcat/util/threads/ThreadPoolExecutor$Worker;)V+92
|
||||
j org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run()V+5
|
||||
j org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run()V+4
|
||||
j java.lang.Thread.run()V+11
|
||||
v ~StubRoutines::call_stub
|
||||
|
||||
--------------- P R O C E S S ---------------
|
||||
|
||||
Java Threads: ( => current thread )
|
||||
0x000000012ca6b800 JavaThread "lettuce-eventExecutorLoop-1-1" daemon [_thread_blocked, id=29955, stack(0x0000000175b70000,0x0000000175d73000)]
|
||||
0x000000012ca9d000 JavaThread "lettuce-nioEventLoop-6-1" daemon [_thread_in_native, id=29703, stack(0x0000000175964000,0x0000000175b67000)]
|
||||
=>0x000000012d2c4000 JavaThread "http-nio-9090-exec-4" daemon [_thread_in_vm, id=29443, stack(0x0000000175758000,0x000000017595b000)]
|
||||
0x000000011f0a3800 JavaThread "http-nio-9090-exec-3" daemon [_thread_in_Java, id=38403, stack(0x000000017554c000,0x000000017574f000)]
|
||||
0x000000011f0a0000 JavaThread "http-nio-9090-exec-2" daemon [_thread_blocked, id=38659, stack(0x0000000175340000,0x0000000175543000)]
|
||||
0x000000011f09f000 JavaThread "http-nio-9090-exec-1" daemon [_thread_blocked, id=28459, stack(0x0000000175134000,0x0000000175337000)]
|
||||
0x000000012cad2000 JavaThread "http-nio-9090-Acceptor" daemon [_thread_in_native, id=39171, stack(0x0000000174f28000,0x000000017512b000)]
|
||||
0x000000012cad1000 JavaThread "http-nio-9090-Poller" daemon [_thread_in_native, id=39431, stack(0x0000000174d1c000,0x0000000174f1f000)]
|
||||
0x000000014ecb0800 JavaThread "File Watcher" daemon [_thread_blocked, id=27907, stack(0x0000000174b10000,0x0000000174d13000)]
|
||||
0x000000012cabf000 JavaThread "Live Reload Server" daemon [_thread_in_native, id=27675, stack(0x0000000174904000,0x0000000174b07000)]
|
||||
0x000000012c8de000 JavaThread "nioEventLoopGroup-4-1" [_thread_in_native, id=27155, stack(0x00000001746f8000,0x00000001748fb000)]
|
||||
0x000000014d207000 JavaThread "container-0" [_thread_blocked, id=40195, stack(0x00000001744ec000,0x00000001746ef000)]
|
||||
0x000000014e3a1800 JavaThread "Catalina-utility-2" [_thread_blocked, id=26371, stack(0x00000001742e0000,0x00000001744e3000)]
|
||||
0x000000014d202000 JavaThread "Catalina-utility-1" [_thread_blocked, id=40455, stack(0x00000001740d4000,0x00000001742d7000)]
|
||||
0x000000014e755800 JavaThread "lettuce-timer-3-1" daemon [_thread_blocked, id=40719, stack(0x0000000173ec8000,0x00000001740cb000)]
|
||||
0x000000014d0ae800 JavaThread "RMI TCP Connection(5)-127.0.0.1" daemon [_thread_in_native, id=14599, stack(0x0000000173cbc000,0x0000000173ebf000)]
|
||||
0x000000014ed3b000 JavaThread "RMI TCP Connection(2)-127.0.0.1" daemon [_thread_in_native, id=41227, stack(0x0000000173ab0000,0x0000000173cb3000)]
|
||||
0x000000012a00a800 JavaThread "Druid-ConnectionPool-Destroy-1108833840" daemon [_thread_blocked, id=25347, stack(0x00000001738a4000,0x0000000173aa7000)]
|
||||
0x000000012980b000 JavaThread "Druid-ConnectionPool-Create-1108833840" daemon [_thread_blocked, id=25103, stack(0x0000000173698000,0x000000017389b000)]
|
||||
0x000000014d1dc800 JavaThread "mysql-cj-abandoned-connection-cleanup" daemon [_thread_blocked, id=24591, stack(0x000000017348c000,0x000000017368f000)]
|
||||
0x000000014e4ec800 JavaThread "RMI Scheduler(0)" daemon [_thread_blocked, id=24067, stack(0x0000000173280000,0x0000000173483000)]
|
||||
0x000000014d171000 JavaThread "RMI TCP Connection(4)-127.0.0.1" daemon [_thread_in_native, id=23555, stack(0x0000000173074000,0x0000000173277000)]
|
||||
0x000000014e453800 JavaThread "Attach Listener" daemon [_thread_blocked, id=23051, stack(0x0000000172e68000,0x000000017306b000)]
|
||||
0x000000011f8d0000 JavaThread "restartedMain" [_thread_blocked, id=42243, stack(0x0000000172c5c000,0x0000000172e5f000)]
|
||||
0x000000014e0f1000 JavaThread "Thread-1" [_thread_blocked, id=22787, stack(0x0000000172a50000,0x0000000172c53000)]
|
||||
0x000000014e0c2000 JavaThread "RMI TCP Accept-0" daemon [_thread_in_native, id=22275, stack(0x0000000172638000,0x000000017283b000)]
|
||||
0x000000014e09f000 JavaThread "Service Thread" daemon [_thread_blocked, id=22019, stack(0x000000017242c000,0x000000017262f000)]
|
||||
0x000000014ee0e800 JavaThread "C1 CompilerThread3" daemon [_thread_in_vm, id=16387, stack(0x0000000172220000,0x0000000172423000)]
|
||||
0x000000014ee0d800 JavaThread "C2 CompilerThread2" daemon [_thread_blocked, id=16899, stack(0x0000000172014000,0x0000000172217000)]
|
||||
0x000000014ee0c800 JavaThread "C2 CompilerThread1" daemon [_thread_blocked, id=15875, stack(0x0000000171e08000,0x000000017200b000)]
|
||||
0x000000014ee0b800 JavaThread "C2 CompilerThread0" daemon [_thread_blocked, id=17411, stack(0x0000000171bfc000,0x0000000171dff000)]
|
||||
0x000000014ee07800 JavaThread "Monitor Ctrl-Break" daemon [_thread_in_native, id=17667, stack(0x00000001719f0000,0x0000000171bf3000)]
|
||||
0x000000014e810800 JavaThread "Signal Dispatcher" daemon [_thread_blocked, id=17923, stack(0x00000001717e4000,0x00000001719e7000)]
|
||||
0x000000014e029800 JavaThread "Finalizer" daemon [_thread_blocked, id=13827, stack(0x00000001714c0000,0x00000001716c3000)]
|
||||
0x000000014e027000 JavaThread "Reference Handler" daemon [_thread_blocked, id=19971, stack(0x00000001712b4000,0x00000001714b7000)]
|
||||
0x000000014e009000 JavaThread "main" [_thread_blocked, id=5635, stack(0x000000016fc30000,0x000000016fe33000)]
|
||||
|
||||
Other Threads:
|
||||
0x000000013c815000 VMThread [stack: 0x00000001710a8000,0x00000001712ab000] [id=13059]
|
||||
0x000000011f865000 WatcherThread [stack: 0x0000000172844000,0x0000000172a47000] [id=42755]
|
||||
|
||||
VM state:not at safepoint (normal execution)
|
||||
|
||||
VM Mutex/Monitor currently owned by a thread: ([mutex/lock_event])
|
||||
[0x0000600002eb2900] CodeCache_lock - owner thread: 0x000000014ee0e800
|
||||
[0x0000600002eb3f80] Compile_lock - owner thread: 0x000000014ee0e800
|
||||
[0x0000600002eb8080] MethodCompileQueue_lock - owner thread: 0x000000014ee0e800
|
||||
|
||||
heap address: 0x00000005c0000000, size: 8192 MB, Compressed Oops mode: Zero based, Oop shift amount: 3
|
||||
Narrow klass base: 0x0000000800000000, Narrow klass shift: 0
|
||||
Compressed class space size: 1073741824 Address: 0x0000000800000000
|
||||
|
||||
Heap:
|
||||
PSYoungGen total 2729984K, used 76175K [0x0000000715580000, 0x00000007bfd00000, 0x00000007c0000000)
|
||||
eden space 2672128K, 2% used [0x0000000715580000,0x0000000719fe3fc8,0x00000007b8700000)
|
||||
from space 57856K, 0% used [0x00000007bc480000,0x00000007bc480000,0x00000007bfd00000)
|
||||
to space 60416K, 0% used [0x00000007b8700000,0x00000007b8700000,0x00000007bc200000)
|
||||
ParOldGen total 483328K, used 184293K [0x00000005c0000000, 0x00000005dd800000, 0x0000000715580000)
|
||||
object space 483328K, 38% used [0x00000005c0000000,0x00000005cb3f9600,0x00000005dd800000)
|
||||
Metaspace used 92443K, capacity 98046K, committed 99632K, reserved 1136640K
|
||||
class space used 10271K, capacity 11254K, committed 11568K, reserved 1048576K
|
||||
|
||||
Card table byte_map: [0x0000000109ecc000,0x000000010aed0000] byte_map_base: 0x00000001070cc000
|
||||
|
||||
Marking Bits: (ParMarkBitMap*) 0x000000010184da70
|
||||
Begin Bits: [0x000000010b97c000, 0x000000011397c000)
|
||||
End Bits: [0x000000011397c000, 0x000000011b97c000)
|
||||
|
||||
Polling page: 0x00000001003dc000
|
||||
|
||||
CodeCache: size=131072Kb used=20310Kb max_used=20310Kb free=110761Kb
|
||||
bounds [0x0000000101ecc000, 0x00000001032ac000, 0x0000000109ecc000]
|
||||
total_blobs=11280 nmethods=10658 adapters=535
|
||||
compilation: enabled
|
||||
|
||||
Compilation events (10 events):
|
||||
Event: 18.150 Thread 0x000000014ee0e800 nmethod 10897 0x000000010327fed0 code [0x0000000103280000, 0x0000000103280090]
|
||||
Event: 18.150 Thread 0x000000014ee0e800 10899 1 org.apache.ibatis.ognl.OgnlContext::getRoot (5 bytes)
|
||||
Event: 18.150 Thread 0x000000014ee0e800 nmethod 10899 0x0000000103280110 code [0x0000000103280240, 0x00000001032802d0]
|
||||
Event: 18.150 Thread 0x000000014ee0e800 10898 1 com.alibaba.druid.proxy.jdbc.ConnectionProxyImpl::getRawObject (5 bytes)
|
||||
Event: 18.150 Thread 0x000000014ee0e800 nmethod 10898 0x0000000103280350 code [0x0000000103280480, 0x0000000103280510]
|
||||
Event: 18.150 Thread 0x000000014ee0e800 10900 1 net.sf.jsqlparser.parser.CCJSqlParser$JJCalls::<init> (5 bytes)
|
||||
Event: 18.150 Thread 0x000000014ee0e800 nmethod 10900 0x0000000103280590 code [0x00000001032806c0, 0x0000000103280790]
|
||||
Event: 18.150 Thread 0x000000014ee0e800 10901 1 java.util.Collections::reverse (125 bytes)
|
||||
Event: 18.150 Thread 0x000000014ee0e800 nmethod 10901 0x0000000103280810 code [0x0000000103280a00, 0x0000000103280dc0]
|
||||
Event: 18.176 Thread 0x000000014ee0e800 10902 1 com.alibaba.druid.sql.parser.SQLExprParser::primary (6226 bytes)
|
||||
|
||||
GC Heap History (10 events):
|
||||
Event: 7.500 GC heap before
|
||||
{Heap before GC invocations=12 (full 3):
|
||||
PSYoungGen total 1641984K, used 42475K [0x0000000715580000, 0x00000007a1980000, 0x00000007c0000000)
|
||||
eden space 1599488K, 0% used [0x0000000715580000,0x0000000715580000,0x0000000776f80000)
|
||||
from space 42496K, 99% used [0x0000000776f80000,0x00000007798facd0,0x0000000779900000)
|
||||
to space 57856K, 0% used [0x000000079e100000,0x000000079e100000,0x00000007a1980000)
|
||||
ParOldGen total 189440K, used 64230K [0x00000005c0000000, 0x00000005cb900000, 0x0000000715580000)
|
||||
object space 189440K, 33% used [0x00000005c0000000,0x00000005c3eb9b00,0x00000005cb900000)
|
||||
Metaspace used 56074K, capacity 59103K, committed 59184K, reserved 1101824K
|
||||
class space used 6856K, capacity 7422K, committed 7472K, reserved 1048576K
|
||||
Event: 7.729 GC heap after
|
||||
Heap after GC invocations=12 (full 3):
|
||||
PSYoungGen total 1641984K, used 0K [0x0000000715580000, 0x00000007a1980000, 0x00000007c0000000)
|
||||
eden space 1599488K, 0% used [0x0000000715580000,0x0000000715580000,0x0000000776f80000)
|
||||
from space 42496K, 0% used [0x0000000776f80000,0x0000000776f80000,0x0000000779900000)
|
||||
to space 57856K, 0% used [0x000000079e100000,0x000000079e100000,0x00000007a1980000)
|
||||
ParOldGen total 327168K, used 104687K [0x00000005c0000000, 0x00000005d3f80000, 0x0000000715580000)
|
||||
object space 327168K, 31% used [0x00000005c0000000,0x00000005c663bed0,0x00000005d3f80000)
|
||||
Metaspace used 55901K, capacity 58827K, committed 59184K, reserved 1101824K
|
||||
class space used 6831K, capacity 7376K, committed 7472K, reserved 1048576K
|
||||
}
|
||||
Event: 12.785 GC heap before
|
||||
{Heap before GC invocations=13 (full 3):
|
||||
PSYoungGen total 1641984K, used 1599488K [0x0000000715580000, 0x00000007a1980000, 0x00000007c0000000)
|
||||
eden space 1599488K, 100% used [0x0000000715580000,0x0000000776f80000,0x0000000776f80000)
|
||||
from space 42496K, 0% used [0x0000000776f80000,0x0000000776f80000,0x0000000779900000)
|
||||
to space 57856K, 0% used [0x000000079e100000,0x000000079e100000,0x00000007a1980000)
|
||||
ParOldGen total 327168K, used 104687K [0x00000005c0000000, 0x00000005d3f80000, 0x0000000715580000)
|
||||
object space 327168K, 31% used [0x00000005c0000000,0x00000005c663bed0,0x00000005d3f80000)
|
||||
Metaspace used 79446K, capacity 84909K, committed 85040K, reserved 1124352K
|
||||
class space used 9049K, capacity 9984K, committed 10032K, reserved 1048576K
|
||||
Event: 12.804 GC heap after
|
||||
Heap after GC invocations=13 (full 3):
|
||||
PSYoungGen total 2195456K, used 49272K [0x0000000715580000, 0x00000007a1180000, 0x00000007c0000000)
|
||||
eden space 2145792K, 0% used [0x0000000715580000,0x0000000715580000,0x0000000798500000)
|
||||
from space 49664K, 99% used [0x000000079e100000,0x00000007a111e178,0x00000007a1180000)
|
||||
to space 62976K, 0% used [0x0000000799680000,0x0000000799680000,0x000000079d400000)
|
||||
ParOldGen total 327168K, used 104703K [0x00000005c0000000, 0x00000005d3f80000, 0x0000000715580000)
|
||||
object space 327168K, 32% used [0x00000005c0000000,0x00000005c663fed0,0x00000005d3f80000)
|
||||
Metaspace used 79446K, capacity 84909K, committed 85040K, reserved 1124352K
|
||||
class space used 9049K, capacity 9984K, committed 10032K, reserved 1048576K
|
||||
}
|
||||
Event: 17.034 GC heap before
|
||||
{Heap before GC invocations=14 (full 3):
|
||||
PSYoungGen total 2195456K, used 2195064K [0x0000000715580000, 0x00000007a1180000, 0x00000007c0000000)
|
||||
eden space 2145792K, 100% used [0x0000000715580000,0x0000000798500000,0x0000000798500000)
|
||||
from space 49664K, 99% used [0x000000079e100000,0x00000007a111e178,0x00000007a1180000)
|
||||
to space 62976K, 0% used [0x0000000799680000,0x0000000799680000,0x000000079d400000)
|
||||
ParOldGen total 327168K, used 104703K [0x00000005c0000000, 0x00000005d3f80000, 0x0000000715580000)
|
||||
object space 327168K, 32% used [0x00000005c0000000,0x00000005c663fed0,0x00000005d3f80000)
|
||||
Metaspace used 79973K, capacity 85653K, committed 85936K, reserved 1124352K
|
||||
class space used 9083K, capacity 10044K, committed 10160K, reserved 1048576K
|
||||
Event: 17.090 GC heap after
|
||||
Heap after GC invocations=14 (full 3):
|
||||
PSYoungGen total 2226688K, used 32624K [0x0000000715580000, 0x00000007c0000000, 0x00000007c0000000)
|
||||
eden space 2163712K, 0% used [0x0000000715580000,0x0000000715580000,0x0000000799680000)
|
||||
from space 62976K, 51% used [0x0000000799680000,0x000000079b65c2d0,0x000000079d400000)
|
||||
to space 60928K, 0% used [0x00000007bc480000,0x00000007bc480000,0x00000007c0000000)
|
||||
ParOldGen total 327168K, used 145593K [0x00000005c0000000, 0x00000005d3f80000, 0x0000000715580000)
|
||||
object space 327168K, 44% used [0x00000005c0000000,0x00000005c8e2e718,0x00000005d3f80000)
|
||||
Metaspace used 79973K, capacity 85653K, committed 85936K, reserved 1124352K
|
||||
class space used 9083K, capacity 10044K, committed 10160K, reserved 1048576K
|
||||
}
|
||||
Event: 17.875 GC heap before
|
||||
{Heap before GC invocations=15 (full 3):
|
||||
PSYoungGen total 2226688K, used 550337K [0x0000000715580000, 0x00000007c0000000, 0x00000007c0000000)
|
||||
eden space 2163712K, 23% used [0x0000000715580000,0x0000000734f14408,0x0000000799680000)
|
||||
from space 62976K, 51% used [0x0000000799680000,0x000000079b65c2d0,0x000000079d400000)
|
||||
to space 60928K, 0% used [0x00000007bc480000,0x00000007bc480000,0x00000007c0000000)
|
||||
ParOldGen total 327168K, used 145593K [0x00000005c0000000, 0x00000005d3f80000, 0x0000000715580000)
|
||||
object space 327168K, 44% used [0x00000005c0000000,0x00000005c8e2e718,0x00000005d3f80000)
|
||||
Metaspace used 92415K, capacity 98572K, committed 98640K, reserved 1136640K
|
||||
class space used 10319K, capacity 11401K, committed 11440K, reserved 1048576K
|
||||
Event: 17.902 GC heap after
|
||||
Heap after GC invocations=15 (full 3):
|
||||
PSYoungGen total 2729984K, used 14366K [0x0000000715580000, 0x00000007bfd00000, 0x00000007c0000000)
|
||||
eden space 2672128K, 0% used [0x0000000715580000,0x0000000715580000,0x00000007b8700000)
|
||||
from space 57856K, 24% used [0x00000007bc480000,0x00000007bd2878a0,0x00000007bfd00000)
|
||||
to space 60416K, 0% used [0x00000007b8700000,0x00000007b8700000,0x00000007bc200000)
|
||||
ParOldGen total 327168K, used 178070K [0x00000005c0000000, 0x00000005d3f80000, 0x0000000715580000)
|
||||
object space 327168K, 54% used [0x00000005c0000000,0x00000005cade5818,0x00000005d3f80000)
|
||||
Metaspace used 92415K, capacity 98572K, committed 98640K, reserved 1136640K
|
||||
class space used 10319K, capacity 11401K, committed 11440K, reserved 1048576K
|
||||
}
|
||||
Event: 17.902 GC heap before
|
||||
{Heap before GC invocations=16 (full 4):
|
||||
PSYoungGen total 2729984K, used 14366K [0x0000000715580000, 0x00000007bfd00000, 0x00000007c0000000)
|
||||
eden space 2672128K, 0% used [0x0000000715580000,0x0000000715580000,0x00000007b8700000)
|
||||
from space 57856K, 24% used [0x00000007bc480000,0x00000007bd2878a0,0x00000007bfd00000)
|
||||
to space 60416K, 0% used [0x00000007b8700000,0x00000007b8700000,0x00000007bc200000)
|
||||
ParOldGen total 327168K, used 178070K [0x00000005c0000000, 0x00000005d3f80000, 0x0000000715580000)
|
||||
object space 327168K, 54% used [0x00000005c0000000,0x00000005cade5818,0x00000005d3f80000)
|
||||
Metaspace used 92415K, capacity 98572K, committed 98640K, reserved 1136640K
|
||||
class space used 10319K, capacity 11401K, committed 11440K, reserved 1048576K
|
||||
Event: 18.135 GC heap after
|
||||
Heap after GC invocations=16 (full 4):
|
||||
PSYoungGen total 2729984K, used 0K [0x0000000715580000, 0x00000007bfd00000, 0x00000007c0000000)
|
||||
eden space 2672128K, 0% used [0x0000000715580000,0x0000000715580000,0x00000007b8700000)
|
||||
from space 57856K, 0% used [0x00000007bc480000,0x00000007bc480000,0x00000007bfd00000)
|
||||
to space 60416K, 0% used [0x00000007b8700000,0x00000007b8700000,0x00000007bc200000)
|
||||
ParOldGen total 483328K, used 184293K [0x00000005c0000000, 0x00000005dd800000, 0x0000000715580000)
|
||||
object space 483328K, 38% used [0x00000005c0000000,0x00000005cb3f9600,0x00000005dd800000)
|
||||
Metaspace used 91510K, capacity 97090K, committed 98640K, reserved 1136640K
|
||||
class space used 10179K, capacity 11150K, committed 11440K, reserved 1048576K
|
||||
}
|
||||
|
||||
Deoptimization events (0 events):
|
||||
No events
|
||||
|
||||
Classes redefined (0 events):
|
||||
No events
|
||||
|
||||
Internal exceptions (10 events):
|
||||
Event: 18.172 Thread 0x000000011f8d0000 Exception <a 'java/lang/ClassNotFoundException': > (0x00000007166f8760) thrown at [/System/Volumes/Data/ws/workspace/jdk-8u322/label/macosx-aarch64/type/b8/build/hotspot/src/share/vm/prims/jni.cpp, line 738]
|
||||
Event: 18.172 Thread 0x000000011f8d0000 Exception <a 'java/lang/ClassNotFoundException': > (0x00000007166ffc50) thrown at [/System/Volumes/Data/ws/workspace/jdk-8u322/label/macosx-aarch64/type/b8/build/hotspot/src/share/vm/prims/jni.cpp, line 738]
|
||||
Event: 18.178 Thread 0x000000011f8d0000 Exception <a 'java/lang/ClassNotFoundException': > (0x00000007168c3b80) thrown at [/System/Volumes/Data/ws/workspace/jdk-8u322/label/macosx-aarch64/type/b8/build/hotspot/src/share/vm/prims/jni.cpp, line 738]
|
||||
Event: 18.178 Thread 0x000000011f8d0000 Exception <a 'java/lang/ClassNotFoundException': > (0x00000007168cdcf0) thrown at [/System/Volumes/Data/ws/workspace/jdk-8u322/label/macosx-aarch64/type/b8/build/hotspot/src/share/vm/prims/jni.cpp, line 738]
|
||||
Event: 18.178 Thread 0x000000011f8d0000 Exception <a 'java/lang/ClassNotFoundException': > (0x00000007168d4200) thrown at [/System/Volumes/Data/ws/workspace/jdk-8u322/label/macosx-aarch64/type/b8/build/hotspot/src/share/vm/prims/jni.cpp, line 738]
|
||||
Event: 18.178 Thread 0x000000011f8d0000 Exception <a 'java/lang/ClassNotFoundException': > (0x00000007168da6e0) thrown at [/System/Volumes/Data/ws/workspace/jdk-8u322/label/macosx-aarch64/type/b8/build/hotspot/src/share/vm/prims/jni.cpp, line 738]
|
||||
Event: 18.182 Thread 0x000000011f8d0000 Exception <a 'java/lang/ClassNotFoundException': > (0x0000000716b67a70) thrown at [/System/Volumes/Data/ws/workspace/jdk-8u322/label/macosx-aarch64/type/b8/build/hotspot/src/share/vm/prims/jni.cpp, line 738]
|
||||
Event: 18.182 Thread 0x000000011f8d0000 Exception <a 'java/lang/ClassNotFoundException': > (0x0000000716b6f330) thrown at [/System/Volumes/Data/ws/workspace/jdk-8u322/label/macosx-aarch64/type/b8/build/hotspot/src/share/vm/prims/jni.cpp, line 738]
|
||||
Event: 18.182 Thread 0x000000011f8d0000 Exception <a 'java/lang/ClassNotFoundException': > (0x0000000716b796a8) thrown at [/System/Volumes/Data/ws/workspace/jdk-8u322/label/macosx-aarch64/type/b8/build/hotspot/src/share/vm/prims/jni.cpp, line 738]
|
||||
Event: 18.182 Thread 0x000000011f8d0000 Exception <a 'java/lang/ClassNotFoundException': > (0x0000000716b80b98) thrown at [/System/Volumes/Data/ws/workspace/jdk-8u322/label/macosx-aarch64/type/b8/build/hotspot/src/share/vm/prims/jni.cpp, line 738]
|
||||
|
||||
Events (10 events):
|
||||
Event: 18.180 loading class com/fasterxml/jackson/core/json/JsonWriteContext
|
||||
Event: 18.180 loading class com/fasterxml/jackson/core/json/JsonWriteContext done
|
||||
Event: 18.180 loading class org/springframework/util/TypeUtils
|
||||
Event: 18.180 loading class org/springframework/util/TypeUtils done
|
||||
Event: 18.181 Executing VM operation: ForceSafepoint
|
||||
Event: 18.181 Executing VM operation: ForceSafepoint done
|
||||
Event: 18.181 loading class com/fasterxml/jackson/core/io/NumberOutput
|
||||
Event: 18.181 loading class com/fasterxml/jackson/core/io/NumberOutput done
|
||||
Event: 18.182 loading class org/apache/tomcat/util/buf/HexUtils
|
||||
Event: 18.182 loading class org/apache/tomcat/util/buf/HexUtils done
|
||||
|
||||
|
||||
Dynamic libraries:
|
||||
0x00000001a144e000 /System/Library/Frameworks/Cocoa.framework/Versions/A/Cocoa
|
||||
0x000000018d9c7000 /System/Library/Frameworks/AppKit.framework/Versions/C/AppKit
|
||||
0x0000000190efd000 /System/Library/Frameworks/CoreData.framework/Versions/A/CoreData
|
||||
0x000000018bd24000 /System/Library/Frameworks/Foundation.framework/Versions/C/Foundation
|
||||
0x0000000195849000 /usr/lib/libSystem.B.dylib
|
||||
0x000000018e87e000 /System/Library/PrivateFrameworks/UIFoundation.framework/Versions/A/UIFoundation
|
||||
0x000000019b747000 /System/Library/PrivateFrameworks/RemoteViewServices.framework/Versions/A/RemoteViewServices
|
||||
0x0000000193d60000 /System/Library/PrivateFrameworks/XCTTargetBootstrap.framework/Versions/A/XCTTargetBootstrap
|
||||
0x000000019754a000 /System/Library/PrivateFrameworks/InternationalSupport.framework/Versions/A/InternationalSupport
|
||||
0x00000001975d3000 /System/Library/PrivateFrameworks/UserActivity.framework/Versions/A/UserActivity
|
||||
0x0000000196a78000 /usr/lib/libspindump.dylib
|
||||
0x000000018eaee000 /System/Library/Frameworks/UniformTypeIdentifiers.framework/Versions/A/UniformTypeIdentifiers
|
||||
0x00000001922ed000 /usr/lib/libapp_launch_measurement.dylib
|
||||
0x0000000191865000 /System/Library/PrivateFrameworks/CoreAnalytics.framework/Versions/A/CoreAnalytics
|
||||
0x00000001922f0000 /System/Library/PrivateFrameworks/CoreAutoLayout.framework/Versions/A/CoreAutoLayout
|
||||
0x0000000193663000 /System/Library/Frameworks/Metal.framework/Versions/A/Metal
|
||||
0x00000001943b2000 /usr/lib/liblangid.dylib
|
||||
0x0000000193d64000 /System/Library/PrivateFrameworks/CoreSVG.framework/Versions/A/CoreSVG
|
||||
0x000000018ffb5000 /System/Library/PrivateFrameworks/SkyLight.framework/Versions/A/SkyLight
|
||||
0x0000000190382000 /System/Library/Frameworks/CoreGraphics.framework/Versions/A/CoreGraphics
|
||||
0x000000019bdc5000 /System/Library/Frameworks/Accelerate.framework/Versions/A/Accelerate
|
||||
0x00000001964ec000 /System/Library/PrivateFrameworks/IconServices.framework/Versions/A/IconServices
|
||||
0x0000000193645000 /System/Library/Frameworks/IOSurface.framework/Versions/A/IOSurface
|
||||
0x0000000191895000 /usr/lib/libDiagnosticMessagesClient.dylib
|
||||
0x0000000195799000 /usr/lib/libz.1.dylib
|
||||
0x000000019f20e000 /System/Library/Frameworks/ApplicationServices.framework/Versions/A/ApplicationServices
|
||||
0x0000000193d48000 /System/Library/PrivateFrameworks/DFRFoundation.framework/Versions/A/DFRFoundation
|
||||
0x000000018d268000 /usr/lib/libicucore.A.dylib
|
||||
0x000000019834b000 /System/Library/Frameworks/AudioToolbox.framework/Versions/A/AudioToolbox
|
||||
0x0000000197556000 /System/Library/PrivateFrameworks/DataDetectorsCore.framework/Versions/A/DataDetectorsCore
|
||||
0x00000001ad6a4000 /System/Library/PrivateFrameworks/TextInput.framework/Versions/A/TextInput
|
||||
0x000000018ff2c000 /usr/lib/libMobileGestalt.dylib
|
||||
0x0000000193a18000 /System/Library/Frameworks/Carbon.framework/Versions/A/Frameworks/HIToolbox.framework/Versions/A/HIToolbox
|
||||
0x0000000191cf6000 /System/Library/Frameworks/QuartzCore.framework/Versions/A/QuartzCore
|
||||
0x000000018cee5000 /System/Library/Frameworks/Security.framework/Versions/A/Security
|
||||
0x000000019b787000 /System/Library/Frameworks/Carbon.framework/Versions/A/Frameworks/SpeechRecognition.framework/Versions/A/SpeechRecognition
|
||||
0x0000000192044000 /System/Library/PrivateFrameworks/CoreUI.framework/Versions/A/CoreUI
|
||||
0x000000018c7b6000 /System/Library/Frameworks/CoreAudio.framework/Versions/A/CoreAudio
|
||||
0x0000000191989000 /System/Library/Frameworks/DiskArbitration.framework/Versions/A/DiskArbitration
|
||||
0x0000000196e5d000 /System/Library/PrivateFrameworks/MultitouchSupport.framework/Versions/A/MultitouchSupport
|
||||
0x000000018ff2a000 /usr/lib/libenergytrace.dylib
|
||||
0x000000018d891000 /System/Library/Frameworks/IOKit.framework/Versions/A/IOKit
|
||||
0x000000019bb70000 /System/Library/Frameworks/CoreServices.framework/Versions/A/CoreServices
|
||||
0x000000019227d000 /System/Library/PrivateFrameworks/PerformanceAnalysis.framework/Versions/A/PerformanceAnalysis
|
||||
0x00000001ec251000 /System/Library/Frameworks/OpenGL.framework/Versions/A/OpenGL
|
||||
0x0000000194e03000 /System/Library/PrivateFrameworks/MobileKeyBag.framework/Versions/A/MobileKeyBag
|
||||
0x000000018ac6e000 /usr/lib/libobjc.A.dylib
|
||||
0x0000000190992000 /System/Library/Frameworks/ColorSync.framework/Versions/A/ColorSync
|
||||
0x000000018ae30000 /System/Library/Frameworks/CoreFoundation.framework/Versions/A/CoreFoundation
|
||||
0x0000000193fe5000 /System/Library/Frameworks/CoreImage.framework/Versions/A/CoreImage
|
||||
0x000000018c5d9000 /System/Library/Frameworks/CoreText.framework/Versions/A/CoreText
|
||||
0x0000000193d94000 /System/Library/Frameworks/ImageIO.framework/Versions/A/ImageIO
|
||||
0x000000019584f000 /System/Library/PrivateFrameworks/SoftLinking.framework/Versions/A/SoftLinking
|
||||
0x000000019233a000 /usr/lib/libxml2.2.dylib
|
||||
0x000000018ad2e000 /usr/lib/libc++.1.dylib
|
||||
0x0000000195ae8000 /usr/lib/libcompression.dylib
|
||||
0x00000001974a3000 /System/Library/PrivateFrameworks/TextureIO.framework/Versions/A/TextureIO
|
||||
0x0000000196206000 /usr/lib/libate.dylib
|
||||
0x0000000195843000 /usr/lib/system/libcache.dylib
|
||||
0x0000000195801000 /usr/lib/system/libcommonCrypto.dylib
|
||||
0x000000019582a000 /usr/lib/system/libcompiler_rt.dylib
|
||||
0x0000000195821000 /usr/lib/system/libcopyfile.dylib
|
||||
0x000000018ab82000 /usr/lib/system/libcorecrypto.dylib
|
||||
0x000000018ac27000 /usr/lib/system/libdispatch.dylib
|
||||
0x000000018adef000 /usr/lib/system/libdyld.dylib
|
||||
0x0000000195839000 /usr/lib/system/libkeymgr.dylib
|
||||
0x00000001957e3000 /usr/lib/system/libmacho.dylib
|
||||
0x0000000194ee3000 /usr/lib/system/libquarantine.dylib
|
||||
0x0000000195836000 /usr/lib/system/libremovefile.dylib
|
||||
0x000000018ff81000 /usr/lib/system/libsystem_asl.dylib
|
||||
0x000000018ab2c000 /usr/lib/system/libsystem_blocks.dylib
|
||||
0x000000018acad000 /usr/lib/system/libsystem_c.dylib
|
||||
0x000000019582e000 /usr/lib/system/libsystem_collections.dylib
|
||||
0x00000001943a2000 /usr/lib/system/libsystem_configuration.dylib
|
||||
0x0000000193626000 /usr/lib/system/libsystem_containermanager.dylib
|
||||
0x000000019554a000 /usr/lib/system/libsystem_coreservices.dylib
|
||||
0x000000018d513000 /usr/lib/system/libsystem_darwin.dylib
|
||||
0x000000019583a000 /usr/lib/system/libsystem_dnssd.dylib
|
||||
0x000000018acaa000 /usr/lib/system/libsystem_featureflags.dylib
|
||||
0x000000018ae04000 /usr/lib/system/libsystem_info.dylib
|
||||
0x00000001957ab000 /usr/lib/system/libsystem_m.dylib
|
||||
0x000000018abfc000 /usr/lib/system/libsystem_malloc.dylib
|
||||
0x000000018ff12000 /usr/lib/system/libsystem_networkextension.dylib
|
||||
0x000000018d967000 /usr/lib/system/libsystem_notify.dylib
|
||||
0x000000019ba4d000 /usr/lib/system/libsystem_product_info_filter.dylib
|
||||
0x00000001943a7000 /usr/lib/system/libsystem_sandbox.dylib
|
||||
0x0000000195833000 /usr/lib/system/libsystem_secinit.dylib
|
||||
0x000000018adac000 /usr/lib/system/libsystem_kernel.dylib
|
||||
0x000000018adfc000 /usr/lib/system/libsystem_platform.dylib
|
||||
0x000000018ade2000 /usr/lib/system/libsystem_pthread.dylib
|
||||
0x00000001916be000 /usr/lib/system/libsystem_symptoms.dylib
|
||||
0x000000018ab68000 /usr/lib/system/libsystem_trace.dylib
|
||||
0x000000019580e000 /usr/lib/system/libunwind.dylib
|
||||
0x000000018ab2e000 /usr/lib/system/libxpc.dylib
|
||||
0x000000018ad92000 /usr/lib/libc++abi.dylib
|
||||
0x0000000195819000 /usr/lib/liboah.dylib
|
||||
0x00000001960ce000 /usr/lib/liblzma.5.dylib
|
||||
0x000000018ba18000 /System/Library/Frameworks/SystemConfiguration.framework/Versions/A/SystemConfiguration
|
||||
0x000000019584b000 /usr/lib/libfakelink.dylib
|
||||
0x000000018fa59000 /System/Library/Frameworks/CFNetwork.framework/Versions/A/CFNetwork
|
||||
0x0000000195992000 /usr/lib/libarchive.2.dylib
|
||||
0x00000001943ae000 /System/Library/PrivateFrameworks/AppleSystemInfo.framework/Versions/A/AppleSystemInfo
|
||||
0x0000000194f0e000 /usr/lib/libbsm.0.dylib
|
||||
0x000000018ef91000 /usr/lib/libnetwork.dylib
|
||||
0x00000001957e9000 /usr/lib/system/libkxld.dylib
|
||||
0x0000000194b25000 /System/Library/PrivateFrameworks/IOMobileFramebuffer.framework/Versions/A/IOMobileFramebuffer
|
||||
0x0000000208082000 /usr/lib/libCoreEntitlements.dylib
|
||||
0x000000019552c000 /System/Library/PrivateFrameworks/AppleFSCompression.framework/Versions/A/AppleFSCompression
|
||||
0x0000000194ef6000 /usr/lib/libcoretls.dylib
|
||||
0x00000001960e7000 /usr/lib/libcoretls_cfhelpers.dylib
|
||||
0x0000000195ae3000 /usr/lib/libpam.2.dylib
|
||||
0x00000001912e6000 /usr/lib/libsqlite3.dylib
|
||||
0x000000019614f000 /usr/lib/libxar.1.dylib
|
||||
0x000000019553d000 /usr/lib/libbz2.1.0.dylib
|
||||
0x0000000195850000 /usr/lib/libpcap.A.dylib
|
||||
0x00000001916b5000 /usr/lib/libdns_services.dylib
|
||||
0x0000000195ab6000 /usr/lib/libapple_nghttp2.dylib
|
||||
0x000000019588d000 /usr/lib/libiconv.2.dylib
|
||||
0x00000001957e2000 /usr/lib/libcharset.1.dylib
|
||||
0x00000001922b9000 /System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/FSEvents.framework/Versions/A/FSEvents
|
||||
0x000000018d51e000 /System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/CarbonCore.framework/Versions/A/CarbonCore
|
||||
0x00000001918ec000 /System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/Metadata.framework/Versions/A/Metadata
|
||||
0x0000000195550000 /System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/OSServices.framework/Versions/A/OSServices
|
||||
0x0000000195a18000 /System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/SearchKit.framework/Versions/A/SearchKit
|
||||
0x0000000191643000 /System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/AE.framework/Versions/A/AE
|
||||
0x000000018b374000 /System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/LaunchServices.framework/Versions/A/LaunchServices
|
||||
0x0000000196077000 /System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/DictionaryServices.framework/Versions/A/DictionaryServices
|
||||
0x00000001922c6000 /System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/SharedFileList.framework/Versions/A/SharedFileList
|
||||
0x0000000194ee6000 /usr/lib/libCheckFix.dylib
|
||||
0x000000018ff99000 /System/Library/PrivateFrameworks/TCC.framework/Versions/A/TCC
|
||||
0x00000001943b4000 /System/Library/PrivateFrameworks/CoreNLP.framework/Versions/A/CoreNLP
|
||||
0x0000000191898000 /System/Library/PrivateFrameworks/MetadataUtilities.framework/Versions/A/MetadataUtilities
|
||||
0x000000018bad1000 /usr/lib/libmecabra.dylib
|
||||
0x0000000194f1f000 /usr/lib/libmecab.dylib
|
||||
0x000000018ba9d000 /usr/lib/libCRFSuite.dylib
|
||||
0x0000000194f7d000 /usr/lib/libgermantok.dylib
|
||||
0x0000000195a8f000 /usr/lib/libThaiTokenizer.dylib
|
||||
0x0000000191991000 /System/Library/Frameworks/Accelerate.framework/Versions/A/Frameworks/vImage.framework/Versions/A/vImage
|
||||
0x000000019bb47000 /System/Library/Frameworks/Accelerate.framework/Versions/A/Frameworks/vecLib.framework/Versions/A/vecLib
|
||||
0x0000000196193000 /System/Library/Frameworks/Accelerate.framework/Versions/A/Frameworks/vecLib.framework/Versions/A/libvMisc.dylib
|
||||
0x0000000194a2f000 /System/Library/Frameworks/Accelerate.framework/Versions/A/Frameworks/vecLib.framework/Versions/A/libvDSP.dylib
|
||||
0x000000018b6f7000 /System/Library/Frameworks/Accelerate.framework/Versions/A/Frameworks/vecLib.framework/Versions/A/libBLAS.dylib
|
||||
0x0000000195bb7000 /System/Library/Frameworks/Accelerate.framework/Versions/A/Frameworks/vecLib.framework/Versions/A/libLAPACK.dylib
|
||||
0x0000000194f80000 /System/Library/Frameworks/Accelerate.framework/Versions/A/Frameworks/vecLib.framework/Versions/A/libLinearAlgebra.dylib
|
||||
0x0000000195ace000 /System/Library/Frameworks/Accelerate.framework/Versions/A/Frameworks/vecLib.framework/Versions/A/libSparseBLAS.dylib
|
||||
0x0000000195bb2000 /System/Library/Frameworks/Accelerate.framework/Versions/A/Frameworks/vecLib.framework/Versions/A/libQuadrature.dylib
|
||||
0x00000001944ab000 /System/Library/Frameworks/Accelerate.framework/Versions/A/Frameworks/vecLib.framework/Versions/A/libBNNS.dylib
|
||||
0x000000018b9b5000 /System/Library/Frameworks/Accelerate.framework/Versions/A/Frameworks/vecLib.framework/Versions/A/libSparse.dylib
|
||||
0x00000001944a3000 /System/Library/PrivateFrameworks/LinguisticData.framework/Versions/A/LinguisticData
|
||||
0x000000018b96b000 /System/Library/PrivateFrameworks/Lexicon.framework/Versions/A/Lexicon
|
||||
0x000000019618b000 /usr/lib/libChineseTokenizer.dylib
|
||||
0x000000018c112000 /System/Library/PrivateFrameworks/LanguageModeling.framework/Versions/A/LanguageModeling
|
||||
0x0000000195a91000 /System/Library/PrivateFrameworks/AppleSauce.framework/Versions/A/AppleSauce
|
||||
0x0000000194b12000 /System/Library/PrivateFrameworks/CoreEmoji.framework/Versions/A/CoreEmoji
|
||||
0x0000000195980000 /usr/lib/libcmph.dylib
|
||||
0x0000000192299000 /System/Library/Frameworks/OpenDirectory.framework/Versions/A/Frameworks/CFOpenDirectory.framework/Versions/A/CFOpenDirectory
|
||||
0x0000000192289000 /System/Library/Frameworks/OpenDirectory.framework/Versions/A/OpenDirectory
|
||||
0x00000001960e9000 /System/Library/PrivateFrameworks/APFS.framework/Versions/A/APFS
|
||||
0x0000000194e3e000 /System/Library/Frameworks/SecurityFoundation.framework/Versions/A/SecurityFoundation
|
||||
0x000000019615d000 /usr/lib/libutil.dylib
|
||||
0x000000018d853000 /System/Library/PrivateFrameworks/CoreServicesStore.framework/Versions/A/CoreServicesStore
|
||||
0x0000000196161000 /usr/lib/libxslt.1.dylib
|
||||
0x0000000194ed2000 /System/Library/PrivateFrameworks/BackgroundTaskManagement.framework/Versions/A/BackgroundTaskManagement
|
||||
0x00000001973c4000 /System/Library/Frameworks/ImageIO.framework/Versions/A/Resources/libRadiance.dylib
|
||||
0x00000001973cd000 /System/Library/Frameworks/ImageIO.framework/Versions/A/Resources/libJPEG.dylib
|
||||
0x000000019731f000 /System/Library/Frameworks/ImageIO.framework/Versions/A/Resources/libPng.dylib
|
||||
0x0000000197341000 /System/Library/Frameworks/ImageIO.framework/Versions/A/Resources/libTIFF.dylib
|
||||
0x0000000197428000 /System/Library/Frameworks/ImageIO.framework/Versions/A/Resources/libGIF.dylib
|
||||
0x0000000196d6d000 /System/Library/Frameworks/ImageIO.framework/Versions/A/Resources/libJP2.dylib
|
||||
0x00000001964b2000 /usr/lib/libexpat.1.dylib
|
||||
0x0000000196d28000 /System/Library/PrivateFrameworks/AppleJPEG.framework/Versions/A/AppleJPEG
|
||||
0x00000001938d7000 /System/Library/PrivateFrameworks/FontServices.framework/libFontParser.dylib
|
||||
0x00000001915e8000 /System/Library/PrivateFrameworks/RunningBoardServices.framework/Versions/A/RunningBoardServices
|
||||
0x00000001a1ac4000 /System/Library/PrivateFrameworks/IOSurfaceAccelerator.framework/Versions/A/IOSurfaceAccelerator
|
||||
0x0000000196e59000 /System/Library/PrivateFrameworks/WatchdogClient.framework/Versions/A/WatchdogClient
|
||||
0x000000018c216000 /System/Library/Frameworks/CoreDisplay.framework/Versions/A/CoreDisplay
|
||||
0x00000001937c5000 /System/Library/Frameworks/CoreMedia.framework/Versions/A/CoreMedia
|
||||
0x0000000193659000 /System/Library/PrivateFrameworks/IOAccelerator.framework/Versions/A/IOAccelerator
|
||||
0x0000000192427000 /System/Library/Frameworks/CoreVideo.framework/Versions/A/CoreVideo
|
||||
0x0000000195ae1000 /System/Library/Frameworks/MetalPerformanceShaders.framework/Versions/A/MetalPerformanceShaders
|
||||
0x0000000196e96000 /System/Library/Frameworks/VideoToolbox.framework/Versions/A/VideoToolbox
|
||||
0x000000019152c000 /System/Library/PrivateFrameworks/BaseBoard.framework/Versions/A/BaseBoard
|
||||
0x00000001912cb000 /System/Library/PrivateFrameworks/ProtocolBuffer.framework/Versions/A/ProtocolBuffer
|
||||
0x00000001973bf000 /System/Library/PrivateFrameworks/GPUWrangler.framework/Versions/A/GPUWrangler
|
||||
0x000000019739e000 /System/Library/PrivateFrameworks/IOPresentment.framework/Versions/A/IOPresentment
|
||||
0x00000001973c7000 /System/Library/PrivateFrameworks/DSExternalDisplay.framework/Versions/A/DSExternalDisplay
|
||||
0x00000001ec244000 /System/Library/Frameworks/OpenGL.framework/Versions/A/Libraries/libCoreFSCache.dylib
|
||||
0x00000001f5a2f000 /System/Library/PrivateFrameworks/GPUCompiler.framework/Versions/31001/Libraries/libGPUCompilerUtils.dylib
|
||||
0x000000019742d000 /System/Library/PrivateFrameworks/CMCaptureCore.framework/Versions/A/CMCaptureCore
|
||||
0x0000000196a66000 /System/Library/PrivateFrameworks/AppServerSupport.framework/Versions/A/AppServerSupport
|
||||
0x0000000198c06000 /System/Library/PrivateFrameworks/perfdata.framework/Versions/A/perfdata
|
||||
0x000000018c336000 /System/Library/PrivateFrameworks/AudioToolboxCore.framework/Versions/A/AudioToolboxCore
|
||||
0x000000019379d000 /System/Library/PrivateFrameworks/caulk.framework/Versions/A/caulk
|
||||
0x00000001984fb000 /usr/lib/libAudioStatistics.dylib
|
||||
0x00000001a9e18000 /System/Library/PrivateFrameworks/SystemPolicy.framework/Versions/A/SystemPolicy
|
||||
0x000000019875b000 /usr/lib/libSMC.dylib
|
||||
0x00000001a1330000 /System/Library/Frameworks/CoreMIDI.framework/Versions/A/CoreMIDI
|
||||
0x00000001972ed000 /usr/lib/libAudioToolboxUtility.dylib
|
||||
0x00000001a6245000 /System/Library/PrivateFrameworks/OSAServicesClient.framework/Versions/A/OSAServicesClient
|
||||
0x0000000198c13000 /usr/lib/libperfcheck.dylib
|
||||
0x00000001aa91f000 /usr/lib/libmis.dylib
|
||||
0x00000001ec2a5000 /System/Library/Frameworks/OpenGL.framework/Versions/A/Libraries/libGLU.dylib
|
||||
0x00000001ec264000 /System/Library/Frameworks/OpenGL.framework/Versions/A/Libraries/libGFXShared.dylib
|
||||
0x00000001ec44e000 /System/Library/Frameworks/OpenGL.framework/Versions/A/Libraries/libGL.dylib
|
||||
0x00000001ec26d000 /System/Library/Frameworks/OpenGL.framework/Versions/A/Libraries/libGLImage.dylib
|
||||
0x00000001ec261000 /System/Library/Frameworks/OpenGL.framework/Versions/A/Libraries/libCVMSPluginSupport.dylib
|
||||
0x00000001ec24b000 /System/Library/Frameworks/OpenGL.framework/Versions/A/Libraries/libCoreVMClient.dylib
|
||||
0x000000019432f000 /System/Library/Frameworks/MetalPerformanceShaders.framework/Versions/A/Frameworks/MPSCore.framework/Versions/A/MPSCore
|
||||
0x000000019549f000 /System/Library/Frameworks/MetalPerformanceShaders.framework/Versions/A/Frameworks/MPSImage.framework/Versions/A/MPSImage
|
||||
0x0000000194f95000 /System/Library/Frameworks/MetalPerformanceShaders.framework/Versions/A/Frameworks/MPSNeuralNetwork.framework/Versions/A/MPSNeuralNetwork
|
||||
0x00000001953d2000 /System/Library/Frameworks/MetalPerformanceShaders.framework/Versions/A/Frameworks/MPSMatrix.framework/Versions/A/MPSMatrix
|
||||
0x00000001951ad000 /System/Library/Frameworks/MetalPerformanceShaders.framework/Versions/A/Frameworks/MPSRayIntersector.framework/Versions/A/MPSRayIntersector
|
||||
0x0000000195403000 /System/Library/Frameworks/MetalPerformanceShaders.framework/Versions/A/Frameworks/MPSNDArray.framework/Versions/A/MPSNDArray
|
||||
0x00000001edf7c000 /System/Library/Frameworks/MetalPerformanceShaders.framework/Versions/A/Frameworks/MPSFunctions.framework/Versions/A/MPSFunctions
|
||||
0x000000018b5d5000 /System/Library/PrivateFrameworks/MetalTools.framework/Versions/A/MetalTools
|
||||
0x00000001943ac000 /System/Library/PrivateFrameworks/AggregateDictionary.framework/Versions/A/AggregateDictionary
|
||||
0x0000000196298000 /usr/lib/libIOReport.dylib
|
||||
0x00000001a0317000 /System/Library/PrivateFrameworks/ASEProcessing.framework/Versions/A/ASEProcessing
|
||||
0x000000019660b000 /System/Library/PrivateFrameworks/FaceCore.framework/Versions/A/FaceCore
|
||||
0x00000001965fd000 /System/Library/PrivateFrameworks/GraphVisualizer.framework/Versions/A/GraphVisualizer
|
||||
0x00000001f5946000 /System/Library/PrivateFrameworks/FontServices.framework/Versions/A/FontServices
|
||||
0x0000000196a20000 /System/Library/PrivateFrameworks/OTSVG.framework/Versions/A/OTSVG
|
||||
0x0000000191ff5000 /System/Library/Frameworks/ApplicationServices.framework/Versions/A/Frameworks/ATS.framework/Versions/A/Resources/libFontRegistry.dylib
|
||||
0x0000000196a6f000 /System/Library/PrivateFrameworks/FontServices.framework/libhvf.dylib
|
||||
0x00000001f5947000 /System/Library/PrivateFrameworks/FontServices.framework/libXTFontStaticRegistryData.dylib
|
||||
0x00000001ec5f0000 /System/Library/Frameworks/OpenCL.framework/Versions/A/OpenCL
|
||||
0x0000000196466000 /System/Library/PrivateFrameworks/AppleVA.framework/Versions/A/AppleVA
|
||||
0x0000000198523000 /System/Library/Frameworks/ApplicationServices.framework/Versions/A/Frameworks/ATS.framework/Versions/A/ATS
|
||||
0x0000000190a8f000 /System/Library/Frameworks/ApplicationServices.framework/Versions/A/Frameworks/HIServices.framework/Versions/A/HIServices
|
||||
0x0000000197437000 /System/Library/Frameworks/ApplicationServices.framework/Versions/A/Frameworks/PrintCore.framework/Versions/A/PrintCore
|
||||
0x00000001988ae000 /System/Library/Frameworks/ApplicationServices.framework/Versions/A/Frameworks/QD.framework/Versions/A/QD
|
||||
0x00000001988a6000 /System/Library/Frameworks/ApplicationServices.framework/Versions/A/Frameworks/ColorSyncLegacy.framework/Versions/A/ColorSyncLegacy
|
||||
0x000000019850f000 /System/Library/Frameworks/ApplicationServices.framework/Versions/A/Frameworks/SpeechSynthesis.framework/Versions/A/SpeechSynthesis
|
||||
0x00000001973f8000 /System/Library/Frameworks/ApplicationServices.framework/Versions/A/Frameworks/ATSUI.framework/Versions/A/ATSUI
|
||||
0x000000019883b000 /usr/lib/libcups.2.dylib
|
||||
0x0000000198c21000 /System/Library/Frameworks/Kerberos.framework/Versions/A/Kerberos
|
||||
0x0000000198c32000 /System/Library/Frameworks/GSS.framework/Versions/A/GSS
|
||||
0x0000000198592000 /usr/lib/libresolv.9.dylib
|
||||
0x0000000196a7d000 /System/Library/PrivateFrameworks/Heimdal.framework/Versions/A/Heimdal
|
||||
0x000000019f586000 /System/Library/Frameworks/Kerberos.framework/Versions/A/Libraries/libHeimdalProxy.dylib
|
||||
0x00000001916c7000 /System/Library/Frameworks/Network.framework/Versions/A/Network
|
||||
0x00000001964cd000 /usr/lib/libheimdal-asn1.dylib
|
||||
0x0000000198c78000 /System/Library/PrivateFrameworks/CommonAuth.framework/Versions/A/CommonAuth
|
||||
0x0000000198489000 /System/Library/PrivateFrameworks/AudioSession.framework/Versions/A/AudioSession
|
||||
0x000000019655e000 /System/Library/PrivateFrameworks/MediaExperience.framework/Versions/A/MediaExperience
|
||||
0x0000000198311000 /System/Library/PrivateFrameworks/AudioSession.framework/libSessionUtility.dylib
|
||||
0x00000001988ba000 /System/Library/PrivateFrameworks/AudioResourceArbitration.framework/Versions/A/AudioResourceArbitration
|
||||
0x000000019c9c5000 /System/Library/PrivateFrameworks/PowerLog.framework/Versions/A/PowerLog
|
||||
0x00000001964d6000 /System/Library/PrivateFrameworks/IconFoundation.framework/Versions/A/IconFoundation
|
||||
0x000000019b773000 /System/Library/PrivateFrameworks/SpeechRecognitionCore.framework/Versions/A/SpeechRecognitionCore
|
||||
0x00000001cf25b000 /System/Library/CoreServices/Encodings/libSimplifiedChineseConverter.dylib
|
||||
0x00000001011b0000 /Users/gxwebsoft/Library/Java/JavaVirtualMachines/liberica-1.8.0_322/jre/lib/server/libjvm.dylib
|
||||
0x00000001003f4000 /Users/gxwebsoft/Library/Java/JavaVirtualMachines/liberica-1.8.0_322/jre/lib/libverify.dylib
|
||||
0x0000000100550000 /Users/gxwebsoft/Library/Java/JavaVirtualMachines/liberica-1.8.0_322/jre/lib/libjava.dylib
|
||||
0x0000000100500000 /Users/gxwebsoft/Library/Java/JavaVirtualMachines/liberica-1.8.0_322/jre/lib/libinstrument.dylib
|
||||
0x00000001005a0000 /Users/gxwebsoft/Library/Java/JavaVirtualMachines/liberica-1.8.0_322/jre/lib/libzip.dylib
|
||||
0x00000001284fc000 /Users/gxwebsoft/Library/Java/JavaVirtualMachines/liberica-1.8.0_322/jre/lib/libnio.dylib
|
||||
0x0000000128550000 /Users/gxwebsoft/Library/Java/JavaVirtualMachines/liberica-1.8.0_322/jre/lib/libnet.dylib
|
||||
0x0000000128524000 /Users/gxwebsoft/Library/Java/JavaVirtualMachines/liberica-1.8.0_322/jre/lib/libmanagement.dylib
|
||||
0x000000012c700000 /Users/gxwebsoft/Library/Java/JavaVirtualMachines/liberica-1.8.0_322/jre/lib/libsunec.dylib
|
||||
|
||||
VM Arguments:
|
||||
jvm_args: -XX:TieredStopAtLevel=1 -Xverify:none -Dspring.output.ansi.enabled=always -javaagent:/Applications/IntelliJ IDEA.app/Contents/lib/idea_rt.jar=50783:/Applications/IntelliJ IDEA.app/Contents/bin -Dcom.sun.management.jmxremote -Dspring.jmx.enabled=true -Dspring.liveBeansView.mbeanDomain -Dspring.application.admin.enabled=true -Dfile.encoding=UTF-8
|
||||
java_command: com.gxwebsoft.WebSoftApplication
|
||||
java_class_path (initial): /Users/gxwebsoft/Library/Java/JavaVirtualMachines/liberica-1.8.0_322/jre/lib/charsets.jar:/Users/gxwebsoft/Library/Java/JavaVirtualMachines/liberica-1.8.0_322/jre/lib/ext/cldrdata.jar:/Users/gxwebsoft/Library/Java/JavaVirtualMachines/liberica-1.8.0_322/jre/lib/ext/dnsns.jar:/Users/gxwebsoft/Library/Java/JavaVirtualMachines/liberica-1.8.0_322/jre/lib/ext/jaccess.jar:/Users/gxwebsoft/Library/Java/JavaVirtualMachines/liberica-1.8.0_322/jre/lib/ext/jfxrt.jar:/Users/gxwebsoft/Library/Java/JavaVirtualMachines/liberica-1.8.0_322/jre/lib/ext/localedata.jar:/Users/gxwebsoft/Library/Java/JavaVirtualMachines/liberica-1.8.0_322/jre/lib/ext/nashorn.jar:/Users/gxwebsoft/Library/Java/JavaVirtualMachines/liberica-1.8.0_322/jre/lib/ext/sunec.jar:/Users/gxwebsoft/Library/Java/JavaVirtualMachines/liberica-1.8.0_322/jre/lib/ext/sunjce_provider.jar:/Users/gxwebsoft/Library/Java/JavaVirtualMachines/liberica-1.8.0_322/jre/lib/ext/sunpkcs11.jar:/Users/gxwebsoft/Library/Java/JavaVirtualMachines/liberica-1.8.0_322/jre/lib/ext/zipfs.jar:/Users/gxwebsoft/Library/Java/JavaVirtualMachines/liberica-1.8.0_322/jre/lib/jce.jar:/Users/gxwebsoft/Library/Java/JavaVirtualMachines/liberica-1.8.0_322/jre/lib/jfr.jar:/Users/gxwebsoft/Library/Java/JavaVirtualMachines/liberica-1.8.0_322/jre/lib/jfxswt.jar:/Users/gxwebsoft/Library/Java/JavaVirtualMachines/liberica-1.8.0_322/jre/lib/jsse.jar:/Users/gxwebsoft/Library/Java/JavaVirtualMachines/liberica-1.8.0_322/jre/lib/management-agent.jar:/Users/gxwebsoft/Library/Java/JavaVirtualMachines/liberica-1.8.0_322/jre/lib/resources.jar:/Users/gxwebsoft/Library/Java/JavaVirtualMachines/liberica-1.8.0_322/jre/lib/rt.jar:/Users/gxwebsoft/Library/Java/JavaVirtualMachines/liberica-1.8.0_322/lib/ant-javafx.jar:/Users/gxwebsoft/Library/Java/JavaVirtualMachines/liberica-1.8.0_322/lib/dt.jar:/Users/gxwebsoft/Library/Java/JavaVirtualMachines/liberica-1.8.0_322/lib/javafx-mx.jar:/Users/gxwebsoft/Library/Java/JavaVirtualMachines/liberica-1.8.0_322/lib/
|
||||
Launcher Type: SUN_STANDARD
|
||||
|
||||
Environment Variables:
|
||||
PATH=/Users/gxwebsoft/.yarn/bin:/Users/gxwebsoft/.config/yarn/global/node_modules/.bin:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:/Library/Apple/usr/bin:/Users/gxwebsoft/Library/Application Support/JetBrains/Toolbox/scripts
|
||||
SHELL=/bin/zsh
|
||||
|
||||
Signal Handlers:
|
||||
SIGSEGV: [libjvm.dylib+0x54ffdc], sa_mask[0]=11111111011111110111111111111111, sa_flags=SA_ONSTACK|SA_RESTART|SA_SIGINFO
|
||||
SIGBUS: [libjvm.dylib+0x54ffdc], sa_mask[0]=11111111011111110111111111111111, sa_flags=SA_RESTART|SA_SIGINFO
|
||||
SIGFPE: [libjvm.dylib+0x44d678], sa_mask[0]=11111111011111110111111111111111, sa_flags=SA_RESTART|SA_SIGINFO
|
||||
SIGPIPE: [libjvm.dylib+0x44d678], sa_mask[0]=11111111011111110111111111111111, sa_flags=SA_RESTART|SA_SIGINFO
|
||||
SIGXFSZ: [libjvm.dylib+0x44d678], sa_mask[0]=11111111011111110111111111111111, sa_flags=SA_RESTART|SA_SIGINFO
|
||||
SIGILL: [libjvm.dylib+0x44d678], sa_mask[0]=11111111011111110111111111111111, sa_flags=SA_RESTART|SA_SIGINFO
|
||||
SIGUSR1: SIG_DFL, sa_mask[0]=00000000000000000000000000000000, sa_flags=none
|
||||
SIGUSR2: [libjvm.dylib+0x44df9c], sa_mask[0]=00100000000000000000000000000000, sa_flags=SA_RESTART|SA_SIGINFO
|
||||
SIGHUP: [libjvm.dylib+0x44bf28], sa_mask[0]=11111111011111110111111111111111, sa_flags=SA_RESTART|SA_SIGINFO
|
||||
SIGINT: [libjvm.dylib+0x44bf28], sa_mask[0]=11111111011111110111111111111111, sa_flags=SA_RESTART|SA_SIGINFO
|
||||
SIGTERM: [libjvm.dylib+0x44bf28], sa_mask[0]=11111111011111110111111111111111, sa_flags=SA_RESTART|SA_SIGINFO
|
||||
SIGQUIT: [libjvm.dylib+0x44bf28], sa_mask[0]=11111111011111110111111111111111, sa_flags=SA_RESTART|SA_SIGINFO
|
||||
|
||||
|
||||
--------------- S Y S T E M ---------------
|
||||
|
||||
OS:Bsduname:Darwin 21.3.0 Darwin Kernel Version 21.3.0: Wed Jan 5 21:37:58 PST 2022; root:xnu-8019.80.24~20/RELEASE_ARM64_T6000 arm64
|
||||
rlimit: STACK 8176k, CORE 0k, NPROC 5333, NOFILE 10240, AS infinity
|
||||
load average:4.43 4.29 4.45
|
||||
|
||||
CPU:total 10 (initial active 10) simd, crc, lse
|
||||
|
||||
Memory: 16k page, physical 33554432k(80224k free)
|
||||
|
||||
/proc/meminfo:
|
||||
|
||||
|
||||
vm_info: OpenJDK 64-Bit Server VM (25.322-b06) for bsd-aarch64 JRE (1.8.0_322-b06), built on Jan 19 2022 05:50:08 by "re" with gcc Apple LLVM 12.0.0 (clang-1200.0.32.28)
|
||||
|
||||
time: Mon Jul 17 17:45:36 2023
|
||||
timezone: CST
|
||||
elapsed time: 18.208368 seconds (0d 0h 0m 18s)
|
||||
|
||||
310
mvnw
vendored
Normal file
310
mvnw
vendored
Normal file
@@ -0,0 +1,310 @@
|
||||
#!/bin/sh
|
||||
# ----------------------------------------------------------------------------
|
||||
# Licensed to the Apache Software Foundation (ASF) under one
|
||||
# or more contributor license agreements. See the NOTICE file
|
||||
# distributed with this work for additional information
|
||||
# regarding copyright ownership. The ASF licenses this file
|
||||
# to you under the Apache License, Version 2.0 (the
|
||||
# "License"); you may not use this file except in compliance
|
||||
# with the License. You may obtain a copy of the License at
|
||||
#
|
||||
# https://www.apache.org/licenses/LICENSE-2.0
|
||||
#
|
||||
# Unless required by applicable law or agreed to in writing,
|
||||
# software distributed under the License is distributed on an
|
||||
# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
|
||||
# KIND, either express or implied. See the License for the
|
||||
# specific language governing permissions and limitations
|
||||
# under the License.
|
||||
# ----------------------------------------------------------------------------
|
||||
|
||||
# ----------------------------------------------------------------------------
|
||||
# Maven Start Up Batch script
|
||||
#
|
||||
# Required ENV vars:
|
||||
# ------------------
|
||||
# JAVA_HOME - location of a JDK home dir
|
||||
#
|
||||
# Optional ENV vars
|
||||
# -----------------
|
||||
# M2_HOME - location of maven2's installed home dir
|
||||
# MAVEN_OPTS - parameters passed to the Java VM when running Maven
|
||||
# e.g. to debug Maven itself, use
|
||||
# set MAVEN_OPTS=-Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=y,address=8000
|
||||
# MAVEN_SKIP_RC - flag to disable loading of mavenrc files
|
||||
# ----------------------------------------------------------------------------
|
||||
|
||||
if [ -z "$MAVEN_SKIP_RC" ] ; then
|
||||
|
||||
if [ -f /etc/mavenrc ] ; then
|
||||
. /etc/mavenrc
|
||||
fi
|
||||
|
||||
if [ -f "$HOME/.mavenrc" ] ; then
|
||||
. "$HOME/.mavenrc"
|
||||
fi
|
||||
|
||||
fi
|
||||
|
||||
# OS specific support. $var _must_ be set to either true or false.
|
||||
cygwin=false;
|
||||
darwin=false;
|
||||
mingw=false
|
||||
case "`uname`" in
|
||||
CYGWIN*) cygwin=true ;;
|
||||
MINGW*) mingw=true;;
|
||||
Darwin*) darwin=true
|
||||
# Use /usr/libexec/java_home if available, otherwise fall back to /Library/Java/Home
|
||||
# See https://developer.apple.com/library/mac/qa/qa1170/_index.html
|
||||
if [ -z "$JAVA_HOME" ]; then
|
||||
if [ -x "/usr/libexec/java_home" ]; then
|
||||
export JAVA_HOME="`/usr/libexec/java_home`"
|
||||
else
|
||||
export JAVA_HOME="/Library/Java/Home"
|
||||
fi
|
||||
fi
|
||||
;;
|
||||
esac
|
||||
|
||||
if [ -z "$JAVA_HOME" ] ; then
|
||||
if [ -r /etc/gentoo-release ] ; then
|
||||
JAVA_HOME=`java-config --jre-home`
|
||||
fi
|
||||
fi
|
||||
|
||||
if [ -z "$M2_HOME" ] ; then
|
||||
## resolve links - $0 may be a link to maven's home
|
||||
PRG="$0"
|
||||
|
||||
# need this for relative symlinks
|
||||
while [ -h "$PRG" ] ; do
|
||||
ls=`ls -ld "$PRG"`
|
||||
link=`expr "$ls" : '.*-> \(.*\)$'`
|
||||
if expr "$link" : '/.*' > /dev/null; then
|
||||
PRG="$link"
|
||||
else
|
||||
PRG="`dirname "$PRG"`/$link"
|
||||
fi
|
||||
done
|
||||
|
||||
saveddir=`pwd`
|
||||
|
||||
M2_HOME=`dirname "$PRG"`/..
|
||||
|
||||
# make it fully qualified
|
||||
M2_HOME=`cd "$M2_HOME" && pwd`
|
||||
|
||||
cd "$saveddir"
|
||||
# echo Using m2 at $M2_HOME
|
||||
fi
|
||||
|
||||
# For Cygwin, ensure paths are in UNIX format before anything is touched
|
||||
if $cygwin ; then
|
||||
[ -n "$M2_HOME" ] &&
|
||||
M2_HOME=`cygpath --unix "$M2_HOME"`
|
||||
[ -n "$JAVA_HOME" ] &&
|
||||
JAVA_HOME=`cygpath --unix "$JAVA_HOME"`
|
||||
[ -n "$CLASSPATH" ] &&
|
||||
CLASSPATH=`cygpath --path --unix "$CLASSPATH"`
|
||||
fi
|
||||
|
||||
# For Mingw, ensure paths are in UNIX format before anything is touched
|
||||
if $mingw ; then
|
||||
[ -n "$M2_HOME" ] &&
|
||||
M2_HOME="`(cd "$M2_HOME"; pwd)`"
|
||||
[ -n "$JAVA_HOME" ] &&
|
||||
JAVA_HOME="`(cd "$JAVA_HOME"; pwd)`"
|
||||
fi
|
||||
|
||||
if [ -z "$JAVA_HOME" ]; then
|
||||
javaExecutable="`which javac`"
|
||||
if [ -n "$javaExecutable" ] && ! [ "`expr \"$javaExecutable\" : '\([^ ]*\)'`" = "no" ]; then
|
||||
# readlink(1) is not available as standard on Solaris 10.
|
||||
readLink=`which readlink`
|
||||
if [ ! `expr "$readLink" : '\([^ ]*\)'` = "no" ]; then
|
||||
if $darwin ; then
|
||||
javaHome="`dirname \"$javaExecutable\"`"
|
||||
javaExecutable="`cd \"$javaHome\" && pwd -P`/javac"
|
||||
else
|
||||
javaExecutable="`readlink -f \"$javaExecutable\"`"
|
||||
fi
|
||||
javaHome="`dirname \"$javaExecutable\"`"
|
||||
javaHome=`expr "$javaHome" : '\(.*\)/bin'`
|
||||
JAVA_HOME="$javaHome"
|
||||
export JAVA_HOME
|
||||
fi
|
||||
fi
|
||||
fi
|
||||
|
||||
if [ -z "$JAVACMD" ] ; then
|
||||
if [ -n "$JAVA_HOME" ] ; then
|
||||
if [ -x "$JAVA_HOME/jre/sh/java" ] ; then
|
||||
# IBM's JDK on AIX uses strange locations for the executables
|
||||
JAVACMD="$JAVA_HOME/jre/sh/java"
|
||||
else
|
||||
JAVACMD="$JAVA_HOME/bin/java"
|
||||
fi
|
||||
else
|
||||
JAVACMD="`which java`"
|
||||
fi
|
||||
fi
|
||||
|
||||
if [ ! -x "$JAVACMD" ] ; then
|
||||
echo "Error: JAVA_HOME is not defined correctly." >&2
|
||||
echo " We cannot execute $JAVACMD" >&2
|
||||
exit 1
|
||||
fi
|
||||
|
||||
if [ -z "$JAVA_HOME" ] ; then
|
||||
echo "Warning: JAVA_HOME environment variable is not set."
|
||||
fi
|
||||
|
||||
CLASSWORLDS_LAUNCHER=org.codehaus.plexus.classworlds.launcher.Launcher
|
||||
|
||||
# traverses directory structure from process work directory to filesystem root
|
||||
# first directory with .mvn subdirectory is considered project base directory
|
||||
find_maven_basedir() {
|
||||
|
||||
if [ -z "$1" ]
|
||||
then
|
||||
echo "Path not specified to find_maven_basedir"
|
||||
return 1
|
||||
fi
|
||||
|
||||
basedir="$1"
|
||||
wdir="$1"
|
||||
while [ "$wdir" != '/' ] ; do
|
||||
if [ -d "$wdir"/.mvn ] ; then
|
||||
basedir=$wdir
|
||||
break
|
||||
fi
|
||||
# workaround for JBEAP-8937 (on Solaris 10/Sparc)
|
||||
if [ -d "${wdir}" ]; then
|
||||
wdir=`cd "$wdir/.."; pwd`
|
||||
fi
|
||||
# end of workaround
|
||||
done
|
||||
echo "${basedir}"
|
||||
}
|
||||
|
||||
# concatenates all lines of a file
|
||||
concat_lines() {
|
||||
if [ -f "$1" ]; then
|
||||
echo "$(tr -s '\n' ' ' < "$1")"
|
||||
fi
|
||||
}
|
||||
|
||||
BASE_DIR=`find_maven_basedir "$(pwd)"`
|
||||
if [ -z "$BASE_DIR" ]; then
|
||||
exit 1;
|
||||
fi
|
||||
|
||||
##########################################################################################
|
||||
# Extension to allow automatically downloading the maven-wrapper.jar from Maven-central
|
||||
# This allows using the maven wrapper in projects that prohibit checking in binary data.
|
||||
##########################################################################################
|
||||
if [ -r "$BASE_DIR/.mvn/wrapper/maven-wrapper.jar" ]; then
|
||||
if [ "$MVNW_VERBOSE" = true ]; then
|
||||
echo "Found .mvn/wrapper/maven-wrapper.jar"
|
||||
fi
|
||||
else
|
||||
if [ "$MVNW_VERBOSE" = true ]; then
|
||||
echo "Couldn't find .mvn/wrapper/maven-wrapper.jar, downloading it ..."
|
||||
fi
|
||||
if [ -n "$MVNW_REPOURL" ]; then
|
||||
jarUrl="$MVNW_REPOURL/io/takari/maven-wrapper/0.5.6/maven-wrapper-0.5.6.jar"
|
||||
else
|
||||
jarUrl="https://repo.maven.apache.org/maven2/io/takari/maven-wrapper/0.5.6/maven-wrapper-0.5.6.jar"
|
||||
fi
|
||||
while IFS="=" read key value; do
|
||||
case "$key" in (wrapperUrl) jarUrl="$value"; break ;;
|
||||
esac
|
||||
done < "$BASE_DIR/.mvn/wrapper/maven-wrapper.properties"
|
||||
if [ "$MVNW_VERBOSE" = true ]; then
|
||||
echo "Downloading from: $jarUrl"
|
||||
fi
|
||||
wrapperJarPath="$BASE_DIR/.mvn/wrapper/maven-wrapper.jar"
|
||||
if $cygwin; then
|
||||
wrapperJarPath=`cygpath --path --windows "$wrapperJarPath"`
|
||||
fi
|
||||
|
||||
if command -v wget > /dev/null; then
|
||||
if [ "$MVNW_VERBOSE" = true ]; then
|
||||
echo "Found wget ... using wget"
|
||||
fi
|
||||
if [ -z "$MVNW_USERNAME" ] || [ -z "$MVNW_PASSWORD" ]; then
|
||||
wget "$jarUrl" -O "$wrapperJarPath"
|
||||
else
|
||||
wget --http-user=$MVNW_USERNAME --http-password=$MVNW_PASSWORD "$jarUrl" -O "$wrapperJarPath"
|
||||
fi
|
||||
elif command -v curl > /dev/null; then
|
||||
if [ "$MVNW_VERBOSE" = true ]; then
|
||||
echo "Found curl ... using curl"
|
||||
fi
|
||||
if [ -z "$MVNW_USERNAME" ] || [ -z "$MVNW_PASSWORD" ]; then
|
||||
curl -o "$wrapperJarPath" "$jarUrl" -f
|
||||
else
|
||||
curl --user $MVNW_USERNAME:$MVNW_PASSWORD -o "$wrapperJarPath" "$jarUrl" -f
|
||||
fi
|
||||
|
||||
else
|
||||
if [ "$MVNW_VERBOSE" = true ]; then
|
||||
echo "Falling back to using Java to download"
|
||||
fi
|
||||
javaClass="$BASE_DIR/.mvn/wrapper/MavenWrapperDownloader.java"
|
||||
# For Cygwin, switch paths to Windows format before running javac
|
||||
if $cygwin; then
|
||||
javaClass=`cygpath --path --windows "$javaClass"`
|
||||
fi
|
||||
if [ -e "$javaClass" ]; then
|
||||
if [ ! -e "$BASE_DIR/.mvn/wrapper/MavenWrapperDownloader.class" ]; then
|
||||
if [ "$MVNW_VERBOSE" = true ]; then
|
||||
echo " - Compiling MavenWrapperDownloader.java ..."
|
||||
fi
|
||||
# Compiling the Java class
|
||||
("$JAVA_HOME/bin/javac" "$javaClass")
|
||||
fi
|
||||
if [ -e "$BASE_DIR/.mvn/wrapper/MavenWrapperDownloader.class" ]; then
|
||||
# Running the downloader
|
||||
if [ "$MVNW_VERBOSE" = true ]; then
|
||||
echo " - Running MavenWrapperDownloader.java ..."
|
||||
fi
|
||||
("$JAVA_HOME/bin/java" -cp .mvn/wrapper MavenWrapperDownloader "$MAVEN_PROJECTBASEDIR")
|
||||
fi
|
||||
fi
|
||||
fi
|
||||
fi
|
||||
##########################################################################################
|
||||
# End of extension
|
||||
##########################################################################################
|
||||
|
||||
export MAVEN_PROJECTBASEDIR=${MAVEN_BASEDIR:-"$BASE_DIR"}
|
||||
if [ "$MVNW_VERBOSE" = true ]; then
|
||||
echo $MAVEN_PROJECTBASEDIR
|
||||
fi
|
||||
MAVEN_OPTS="$(concat_lines "$MAVEN_PROJECTBASEDIR/.mvn/jvm.config") $MAVEN_OPTS"
|
||||
|
||||
# For Cygwin, switch paths to Windows format before running java
|
||||
if $cygwin; then
|
||||
[ -n "$M2_HOME" ] &&
|
||||
M2_HOME=`cygpath --path --windows "$M2_HOME"`
|
||||
[ -n "$JAVA_HOME" ] &&
|
||||
JAVA_HOME=`cygpath --path --windows "$JAVA_HOME"`
|
||||
[ -n "$CLASSPATH" ] &&
|
||||
CLASSPATH=`cygpath --path --windows "$CLASSPATH"`
|
||||
[ -n "$MAVEN_PROJECTBASEDIR" ] &&
|
||||
MAVEN_PROJECTBASEDIR=`cygpath --path --windows "$MAVEN_PROJECTBASEDIR"`
|
||||
fi
|
||||
|
||||
# Provide a "standardized" way to retrieve the CLI args that will
|
||||
# work with both Windows and non-Windows executions.
|
||||
MAVEN_CMD_LINE_ARGS="$MAVEN_CONFIG $@"
|
||||
export MAVEN_CMD_LINE_ARGS
|
||||
|
||||
WRAPPER_LAUNCHER=org.apache.maven.wrapper.MavenWrapperMain
|
||||
|
||||
exec "$JAVACMD" \
|
||||
$MAVEN_OPTS \
|
||||
-classpath "$MAVEN_PROJECTBASEDIR/.mvn/wrapper/maven-wrapper.jar" \
|
||||
"-Dmaven.home=${M2_HOME}" "-Dmaven.multiModuleProjectDirectory=${MAVEN_PROJECTBASEDIR}" \
|
||||
${WRAPPER_LAUNCHER} $MAVEN_CONFIG "$@"
|
||||
182
mvnw.cmd
vendored
Normal file
182
mvnw.cmd
vendored
Normal file
@@ -0,0 +1,182 @@
|
||||
@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 "%HOME%\mavenrc_pre.bat" call "%HOME%\mavenrc_pre.bat"
|
||||
if exist "%HOME%\mavenrc_pre.cmd" call "%HOME%\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/io/takari/maven-wrapper/0.5.6/maven-wrapper-0.5.6.jar"
|
||||
|
||||
FOR /F "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%/io/takari/maven-wrapper/0.5.6/maven-wrapper-0.5.6.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 "%HOME%\mavenrc_post.bat" call "%HOME%\mavenrc_post.bat"
|
||||
if exist "%HOME%\mavenrc_post.cmd" call "%HOME%\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%
|
||||
|
||||
exit /B %ERROR_CODE%
|
||||
316
pom.xml
Normal file
316
pom.xml
Normal file
@@ -0,0 +1,316 @@
|
||||
<?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>
|
||||
|
||||
<groupId>com.gxwebsoft</groupId>
|
||||
<artifactId>com-gxwebsoft-server</artifactId>
|
||||
<version>1.5.2</version>
|
||||
|
||||
<name>com-gxwebsoft-api</name>
|
||||
<description>WebSoftApi project for Spring Boot</description>
|
||||
|
||||
<parent>
|
||||
<groupId>org.springframework.boot</groupId>
|
||||
<artifactId>spring-boot-starter-parent</artifactId>
|
||||
<version>2.5.4</version>
|
||||
<relativePath/> <!-- lookup parent from repository -->
|
||||
</parent>
|
||||
|
||||
<properties>
|
||||
<java.version>1.8</java.version>
|
||||
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
|
||||
<project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
|
||||
</properties>
|
||||
|
||||
<dependencies>
|
||||
<!-- spring-boot-devtools -->
|
||||
<dependency>
|
||||
<groupId>org.springframework.boot</groupId>
|
||||
<artifactId>spring-boot-devtools</artifactId>
|
||||
<scope>runtime</scope>
|
||||
<optional>true</optional>
|
||||
</dependency>
|
||||
|
||||
<!-- spring-boot-test -->
|
||||
<dependency>
|
||||
<groupId>org.springframework.boot</groupId>
|
||||
<artifactId>spring-boot-starter-test</artifactId>
|
||||
<scope>test</scope>
|
||||
</dependency>
|
||||
|
||||
<!-- spring-boot-web -->
|
||||
<dependency>
|
||||
<groupId>org.springframework.boot</groupId>
|
||||
<artifactId>spring-boot-starter-web</artifactId>
|
||||
</dependency>
|
||||
|
||||
<!-- spring-boot-aop -->
|
||||
<dependency>
|
||||
<groupId>org.springframework.boot</groupId>
|
||||
<artifactId>spring-boot-starter-aop</artifactId>
|
||||
</dependency>
|
||||
|
||||
<!-- spring-boot-configuration-processor -->
|
||||
<dependency>
|
||||
<groupId>org.springframework.boot</groupId>
|
||||
<artifactId>spring-boot-configuration-processor</artifactId>
|
||||
<optional>true</optional>
|
||||
</dependency>
|
||||
|
||||
<!-- lombok -->
|
||||
<dependency>
|
||||
<groupId>org.projectlombok</groupId>
|
||||
<artifactId>lombok</artifactId>
|
||||
<optional>true</optional>
|
||||
</dependency>
|
||||
|
||||
<!-- mysql -->
|
||||
<dependency>
|
||||
<groupId>mysql</groupId>
|
||||
<artifactId>mysql-connector-java</artifactId>
|
||||
<scope>runtime</scope>
|
||||
</dependency>
|
||||
|
||||
<!-- druid -->
|
||||
<dependency>
|
||||
<groupId>com.alibaba</groupId>
|
||||
<artifactId>druid-spring-boot-starter</artifactId>
|
||||
<version>1.2.6</version>
|
||||
</dependency>
|
||||
|
||||
<!-- mybatis-plus -->
|
||||
<dependency>
|
||||
<groupId>com.baomidou</groupId>
|
||||
<artifactId>mybatis-plus-boot-starter</artifactId>
|
||||
<version>3.4.3.3</version>
|
||||
</dependency>
|
||||
|
||||
<!-- mybatis-plus 连表插件-->
|
||||
<dependency>
|
||||
<groupId>com.github.yulichang</groupId>
|
||||
<artifactId>mybatis-plus-join-boot-starter</artifactId>
|
||||
<version>1.4.5</version>
|
||||
</dependency>
|
||||
|
||||
<!-- mybatis-plus-generator -->
|
||||
<dependency>
|
||||
<groupId>com.baomidou</groupId>
|
||||
<artifactId>mybatis-plus-generator</artifactId>
|
||||
<version>3.4.1</version>
|
||||
</dependency>
|
||||
|
||||
<!-- hutool -->
|
||||
<dependency>
|
||||
<groupId>cn.hutool</groupId>
|
||||
<artifactId>hutool-core</artifactId>
|
||||
<version>5.8.11</version>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>cn.hutool</groupId>
|
||||
<artifactId>hutool-extra</artifactId>
|
||||
<version>5.8.11</version>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>cn.hutool</groupId>
|
||||
<artifactId>hutool-http</artifactId>
|
||||
<version>5.8.11</version>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>cn.hutool</groupId>
|
||||
<artifactId>hutool-crypto</artifactId>
|
||||
<version>5.8.11</version>
|
||||
</dependency>
|
||||
|
||||
<!-- easy poi -->
|
||||
<dependency>
|
||||
<groupId>cn.afterturn</groupId>
|
||||
<artifactId>easypoi-base</artifactId>
|
||||
<version>4.4.0</version>
|
||||
</dependency>
|
||||
|
||||
<!-- tika, 用于FileServer获取content-type -->
|
||||
<dependency>
|
||||
<groupId>org.apache.tika</groupId>
|
||||
<artifactId>tika-core</artifactId>
|
||||
<version>2.1.0</version>
|
||||
</dependency>
|
||||
|
||||
<!-- open office, 用于文档转pdf实现在线预览 -->
|
||||
<dependency>
|
||||
<groupId>com.github.livesense</groupId>
|
||||
<artifactId>jodconverter-core</artifactId>
|
||||
<version>1.0.5</version>
|
||||
</dependency>
|
||||
|
||||
<!-- spring-boot-mail -->
|
||||
<dependency>
|
||||
<groupId>org.springframework.boot</groupId>
|
||||
<artifactId>spring-boot-starter-mail</artifactId>
|
||||
</dependency>
|
||||
|
||||
<!-- 模板引擎, 用于邮件、代码生成等 -->
|
||||
<dependency>
|
||||
<groupId>com.ibeetl</groupId>
|
||||
<artifactId>beetl</artifactId>
|
||||
<version>3.6.1.RELEASE</version>
|
||||
</dependency>
|
||||
|
||||
<!-- swagger -->
|
||||
<dependency>
|
||||
<groupId>io.springfox</groupId>
|
||||
<artifactId>springfox-boot-starter</artifactId>
|
||||
<version>3.0.0</version>
|
||||
</dependency>
|
||||
|
||||
<!-- spring security -->
|
||||
<dependency>
|
||||
<groupId>org.springframework.boot</groupId>
|
||||
<artifactId>spring-boot-starter-security</artifactId>
|
||||
</dependency>
|
||||
|
||||
<!-- jjwt -->
|
||||
<dependency>
|
||||
<groupId>io.jsonwebtoken</groupId>
|
||||
<artifactId>jjwt-impl</artifactId>
|
||||
<version>0.11.2</version>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>io.jsonwebtoken</groupId>
|
||||
<artifactId>jjwt-jackson</artifactId>
|
||||
<version>0.11.2</version>
|
||||
</dependency>
|
||||
|
||||
<!-- 图形验证码 -->
|
||||
<dependency>
|
||||
<groupId>com.github.whvcse</groupId>
|
||||
<artifactId>easy-captcha</artifactId>
|
||||
<version>1.6.2</version>
|
||||
</dependency>
|
||||
|
||||
<!--Redis-->
|
||||
<dependency>
|
||||
<groupId>org.springframework.boot</groupId>
|
||||
<artifactId>spring-boot-starter-data-redis</artifactId>
|
||||
</dependency>
|
||||
|
||||
<!-- 阿里SDK -->
|
||||
<dependency>
|
||||
<groupId>com.aliyun</groupId>
|
||||
<artifactId>aliyun-java-sdk-core</artifactId>
|
||||
<version>4.4.3</version>
|
||||
</dependency>
|
||||
<!--阿里支付 老版本 SDK-->
|
||||
<dependency>
|
||||
<groupId>com.alipay.sdk</groupId>
|
||||
<artifactId>alipay-sdk-java</artifactId>
|
||||
<version>4.35.0.ALL</version>
|
||||
</dependency>
|
||||
<!-- https://mvnrepository.com/artifact/org.bouncycastle/bcprov-jdk15on -->
|
||||
<dependency>
|
||||
<groupId>org.bouncycastle</groupId>
|
||||
<artifactId>bcprov-jdk15on</artifactId>
|
||||
<version>1.70</version>
|
||||
</dependency>
|
||||
<!-- https://mvnrepository.com/artifact/commons-logging/commons-logging -->
|
||||
<dependency>
|
||||
<groupId>commons-logging</groupId>
|
||||
<artifactId>commons-logging</artifactId>
|
||||
<version>1.2</version>
|
||||
</dependency>
|
||||
<!-- https://mvnrepository.com/artifact/com.alibaba/fastjson -->
|
||||
<dependency>
|
||||
<groupId>com.alibaba</groupId>
|
||||
<artifactId>fastjson</artifactId>
|
||||
<version>2.0.20</version>
|
||||
</dependency>
|
||||
|
||||
<!--二维码-->
|
||||
<dependency>
|
||||
<groupId>com.google.zxing</groupId>
|
||||
<artifactId>core</artifactId>
|
||||
<version>3.3.3</version>
|
||||
</dependency>
|
||||
|
||||
<dependency>
|
||||
<groupId>com.google.code.gson</groupId>
|
||||
<artifactId>gson</artifactId>
|
||||
<version>2.8.0</version>
|
||||
</dependency>
|
||||
|
||||
<dependency>
|
||||
<groupId>com.vaadin.external.google</groupId>
|
||||
<artifactId>android-json</artifactId>
|
||||
<version>0.0.20131108.vaadin1</version>
|
||||
<scope>compile</scope>
|
||||
</dependency>
|
||||
|
||||
<!-- socketio -->
|
||||
<dependency>
|
||||
<groupId>com.corundumstudio.socketio</groupId>
|
||||
<artifactId>netty-socketio</artifactId>
|
||||
<version>2.0.2</version>
|
||||
</dependency>
|
||||
|
||||
<!-- 微信支付 APIv3 Java SDK-->
|
||||
<dependency>
|
||||
<groupId>com.github.wechatpay-apiv3</groupId>
|
||||
<artifactId>wechatpay-java</artifactId>
|
||||
<version>0.2.9</version>
|
||||
</dependency>
|
||||
|
||||
<dependency>
|
||||
<groupId>com.github.binarywang</groupId>
|
||||
<artifactId>weixin-java-miniapp</artifactId>
|
||||
<version>4.5.0</version>
|
||||
</dependency>
|
||||
|
||||
<!-- 阿里云 OSS -->
|
||||
<dependency>
|
||||
<groupId>com.aliyun.oss</groupId>
|
||||
<artifactId>aliyun-sdk-oss</artifactId>
|
||||
<version>3.17.0</version>
|
||||
</dependency>
|
||||
|
||||
</dependencies>
|
||||
|
||||
<build>
|
||||
<resources>
|
||||
<resource>
|
||||
<directory>src/main/java</directory>
|
||||
<includes>
|
||||
<include>**/*Mapper.xml</include>
|
||||
</includes>
|
||||
</resource>
|
||||
<resource>
|
||||
<directory>src/main/resources</directory>
|
||||
<includes>
|
||||
<include>**</include>
|
||||
</includes>
|
||||
</resource>
|
||||
</resources>
|
||||
<plugins>
|
||||
<plugin>
|
||||
<groupId>org.springframework.boot</groupId>
|
||||
<artifactId>spring-boot-maven-plugin</artifactId>
|
||||
<version>2.5.4</version>
|
||||
<configuration>
|
||||
<excludes>
|
||||
<exclude>
|
||||
<groupId>org.projectlombok</groupId>
|
||||
<artifactId>lombok</artifactId>
|
||||
</exclude>
|
||||
</excludes>
|
||||
</configuration>
|
||||
</plugin>
|
||||
</plugins>
|
||||
</build>
|
||||
|
||||
<repositories>
|
||||
<repository>
|
||||
<id>aliYunMaven</id>
|
||||
<url>https://maven.aliyun.com/repository/public</url>
|
||||
</repository>
|
||||
</repositories>
|
||||
|
||||
</project>
|
||||
BIN
src/.DS_Store
vendored
Normal file
BIN
src/.DS_Store
vendored
Normal file
Binary file not shown.
BIN
src/main/.DS_Store
vendored
Normal file
BIN
src/main/.DS_Store
vendored
Normal file
Binary file not shown.
BIN
src/main/java/.DS_Store
vendored
Normal file
BIN
src/main/java/.DS_Store
vendored
Normal file
Binary file not shown.
BIN
src/main/java/com/.DS_Store
vendored
Normal file
BIN
src/main/java/com/.DS_Store
vendored
Normal file
Binary file not shown.
BIN
src/main/java/com/gxwebsoft/.DS_Store
vendored
Normal file
BIN
src/main/java/com/gxwebsoft/.DS_Store
vendored
Normal file
Binary file not shown.
28
src/main/java/com/gxwebsoft/WebSoftApplication.java
Normal file
28
src/main/java/com/gxwebsoft/WebSoftApplication.java
Normal file
@@ -0,0 +1,28 @@
|
||||
package com.gxwebsoft;
|
||||
|
||||
import com.gxwebsoft.common.core.config.ConfigProperties;
|
||||
import org.mybatis.spring.annotation.MapperScan;
|
||||
import org.springframework.boot.SpringApplication;
|
||||
import org.springframework.boot.autoconfigure.SpringBootApplication;
|
||||
import org.springframework.boot.context.properties.EnableConfigurationProperties;
|
||||
import org.springframework.scheduling.annotation.EnableAsync;
|
||||
import org.springframework.scheduling.annotation.EnableScheduling;
|
||||
import org.springframework.transaction.annotation.EnableTransactionManagement;
|
||||
|
||||
/**
|
||||
* 启动类
|
||||
* Created by WebSoft on 2018-02-22 11:29:03
|
||||
*/
|
||||
@EnableAsync
|
||||
@EnableTransactionManagement
|
||||
@MapperScan("com.gxwebsoft.**.mapper")
|
||||
@EnableConfigurationProperties(ConfigProperties.class)
|
||||
@SpringBootApplication
|
||||
@EnableScheduling
|
||||
public class WebSoftApplication {
|
||||
|
||||
public static void main(String[] args) {
|
||||
SpringApplication.run(WebSoftApplication.class, args);
|
||||
}
|
||||
|
||||
}
|
||||
@@ -0,0 +1,10 @@
|
||||
package com.gxwebsoft.apps.constants;
|
||||
|
||||
public class EquipmentConstants {
|
||||
// 事件类型
|
||||
public static final String EVENT_TYPE_BIND = "电池绑定";
|
||||
public static final String EVENT_TYPE_CHANGE = "电池更换";
|
||||
public static final String EVENT_TYPE_UNBIND = "电池解绑";
|
||||
|
||||
|
||||
}
|
||||
@@ -0,0 +1,18 @@
|
||||
package com.gxwebsoft.apps.constants;
|
||||
|
||||
public class HualalaConstants {
|
||||
// 集团ID
|
||||
public static final String GROUP_ID = "1528";
|
||||
// 服务器接口
|
||||
public static final String API_URL = "https://www-openapi.hualala.com";
|
||||
// appKey
|
||||
public static final String APP_KEY = "2487";
|
||||
// appSecret
|
||||
public static final String APP_SECRET = "Hgr520dQpEiFe0FV";
|
||||
// version
|
||||
public static final Integer VERSION = 3;
|
||||
// 店铺ID
|
||||
public static final Long shopId = 0L;
|
||||
|
||||
|
||||
}
|
||||
@@ -0,0 +1,13 @@
|
||||
package com.gxwebsoft.apps.constants;
|
||||
|
||||
public class SfExpressConstants {
|
||||
// 开发者id
|
||||
public static final Long DEV_ID = 1651421896L;
|
||||
// 开发者密钥
|
||||
public static final String DEV_KEY = "2f10570c5057570fe0e488a425a6d813";
|
||||
// 正式环境
|
||||
public static final String SERVER_HOST = "https://openic.sf-express.com";
|
||||
// 店铺ID
|
||||
public static final String SHOP_ID = "3243279847393";
|
||||
|
||||
}
|
||||
@@ -0,0 +1,127 @@
|
||||
package com.gxwebsoft.apps.controller;
|
||||
|
||||
import com.gxwebsoft.common.core.web.BaseController;
|
||||
import com.gxwebsoft.apps.service.BcAgentService;
|
||||
import com.gxwebsoft.apps.entity.BcAgent;
|
||||
import com.gxwebsoft.apps.param.BcAgentParam;
|
||||
import com.gxwebsoft.common.core.web.ApiResult;
|
||||
import com.gxwebsoft.common.core.web.PageResult;
|
||||
import com.gxwebsoft.common.core.web.PageParam;
|
||||
import com.gxwebsoft.common.core.web.BatchParam;
|
||||
import com.gxwebsoft.common.core.annotation.OperationLog;
|
||||
import com.gxwebsoft.common.system.entity.User;
|
||||
import io.swagger.annotations.Api;
|
||||
import io.swagger.annotations.ApiOperation;
|
||||
import org.springframework.security.access.prepost.PreAuthorize;
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
|
||||
import javax.annotation.Resource;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* 代报餐管理控制器
|
||||
*
|
||||
* @author 科技小王子
|
||||
* @since 2023-04-24 19:25:59
|
||||
*/
|
||||
@Api(tags = "代报餐管理管理")
|
||||
@RestController
|
||||
@RequestMapping("/api/apps/bc-agent")
|
||||
public class BcAgentController extends BaseController {
|
||||
@Resource
|
||||
private BcAgentService bcAgentService;
|
||||
|
||||
@PreAuthorize("hasAuthority('apps:bcAgent:list')")
|
||||
@OperationLog
|
||||
@ApiOperation("分页查询代报餐管理")
|
||||
@GetMapping("/page")
|
||||
public ApiResult<PageResult<BcAgent>> page(BcAgentParam param) {
|
||||
// 使用关联查询
|
||||
return success(bcAgentService.pageRel(param));
|
||||
}
|
||||
|
||||
@PreAuthorize("hasAuthority('apps:bcAgent:list')")
|
||||
@OperationLog
|
||||
@ApiOperation("查询全部代报餐管理")
|
||||
@GetMapping()
|
||||
public ApiResult<List<BcAgent>> list(BcAgentParam param) {
|
||||
// 使用关联查询
|
||||
return success(bcAgentService.listRel(param));
|
||||
}
|
||||
|
||||
@PreAuthorize("hasAuthority('apps:bcAgent:list')")
|
||||
@OperationLog
|
||||
@ApiOperation("根据id查询代报餐管理")
|
||||
@GetMapping("/{id}")
|
||||
public ApiResult<BcAgent> get(@PathVariable("id") Integer id) {
|
||||
// 使用关联查询
|
||||
return success(bcAgentService.getByIdRel(id));
|
||||
}
|
||||
|
||||
@PreAuthorize("hasAuthority('apps:bcAgent:save')")
|
||||
@OperationLog
|
||||
@ApiOperation("添加代报餐管理")
|
||||
@PostMapping()
|
||||
public ApiResult<?> save(@RequestBody BcAgent bcAgent) {
|
||||
if (bcAgentService.save(bcAgent)) {
|
||||
return success("添加成功");
|
||||
}
|
||||
return fail("添加失败");
|
||||
}
|
||||
|
||||
@PreAuthorize("hasAuthority('apps:bcAgent:update')")
|
||||
@OperationLog
|
||||
@ApiOperation("修改代报餐管理")
|
||||
@PutMapping()
|
||||
public ApiResult<?> update(@RequestBody BcAgent bcAgent) {
|
||||
if (bcAgentService.updateById(bcAgent)) {
|
||||
return success("修改成功");
|
||||
}
|
||||
return fail("修改失败");
|
||||
}
|
||||
|
||||
@PreAuthorize("hasAuthority('apps:bcAgent:remove')")
|
||||
@OperationLog
|
||||
@ApiOperation("删除代报餐管理")
|
||||
@DeleteMapping("/{id}")
|
||||
public ApiResult<?> remove(@PathVariable("id") Integer id) {
|
||||
if (bcAgentService.removeById(id)) {
|
||||
return success("删除成功");
|
||||
}
|
||||
return fail("删除失败");
|
||||
}
|
||||
|
||||
@PreAuthorize("hasAuthority('apps:bcAgent:save')")
|
||||
@OperationLog
|
||||
@ApiOperation("批量添加代报餐管理")
|
||||
@PostMapping("/batch")
|
||||
public ApiResult<?> saveBatch(@RequestBody List<BcAgent> list) {
|
||||
if (bcAgentService.saveBatch(list)) {
|
||||
return success("添加成功");
|
||||
}
|
||||
return fail("添加失败");
|
||||
}
|
||||
|
||||
@PreAuthorize("hasAuthority('apps:bcAgent:update')")
|
||||
@OperationLog
|
||||
@ApiOperation("批量修改代报餐管理")
|
||||
@PutMapping("/batch")
|
||||
public ApiResult<?> removeBatch(@RequestBody BatchParam<BcAgent> batchParam) {
|
||||
if (batchParam.update(bcAgentService, "agent_id")) {
|
||||
return success("修改成功");
|
||||
}
|
||||
return fail("修改失败");
|
||||
}
|
||||
|
||||
@PreAuthorize("hasAuthority('apps:bcAgent:remove')")
|
||||
@OperationLog
|
||||
@ApiOperation("批量删除代报餐管理")
|
||||
@DeleteMapping("/batch")
|
||||
public ApiResult<?> removeBatch(@RequestBody List<Integer> ids) {
|
||||
if (bcAgentService.removeByIds(ids)) {
|
||||
return success("删除成功");
|
||||
}
|
||||
return fail("删除失败");
|
||||
}
|
||||
|
||||
}
|
||||
@@ -0,0 +1,254 @@
|
||||
package com.gxwebsoft.apps.controller;
|
||||
|
||||
import cn.hutool.core.date.DateUtil;
|
||||
import cn.hutool.core.util.IdUtil;
|
||||
import com.alibaba.fastjson.JSONObject;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||
import com.gxwebsoft.apps.entity.BcCart;
|
||||
import com.gxwebsoft.apps.entity.BcPlan;
|
||||
import com.gxwebsoft.apps.result.CartResult;
|
||||
import com.gxwebsoft.apps.service.BcPlanService;
|
||||
import com.gxwebsoft.common.core.exception.BusinessException;
|
||||
import com.gxwebsoft.common.core.utils.JSONUtil;
|
||||
import com.gxwebsoft.common.core.web.ApiResult;
|
||||
import com.gxwebsoft.common.core.web.BaseController;
|
||||
import com.gxwebsoft.shop.entity.Goods;
|
||||
import com.gxwebsoft.shop.entity.Order;
|
||||
import com.gxwebsoft.shop.entity.OrderGoods;
|
||||
import com.gxwebsoft.shop.param.CartParam;
|
||||
import com.gxwebsoft.shop.service.GoodsService;
|
||||
import com.gxwebsoft.shop.service.OrderGoodsService;
|
||||
import com.gxwebsoft.shop.service.OrderService;
|
||||
import io.swagger.annotations.Api;
|
||||
import io.swagger.annotations.ApiOperation;
|
||||
import org.springframework.data.redis.core.StringRedisTemplate;
|
||||
import org.springframework.transaction.annotation.Transactional;
|
||||
import org.springframework.util.CollectionUtils;
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
|
||||
import javax.annotation.Resource;
|
||||
import java.math.BigDecimal;
|
||||
import java.sql.Date;
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
import java.util.Set;
|
||||
import java.util.concurrent.TimeUnit;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
import static com.gxwebsoft.common.core.constants.OrderConstants.PAY_STATUS_SUCCESS;
|
||||
|
||||
/**
|
||||
* 批量报餐
|
||||
*
|
||||
* @author 科技小王子
|
||||
* @since 2022-11-25 19:04:43
|
||||
*/
|
||||
@Api(tags = "购物车记录表管理")
|
||||
@RestController
|
||||
@RequestMapping("/api/apps/bc-cart")
|
||||
public class BcCartController extends BaseController {
|
||||
@Resource
|
||||
private GoodsService goodsService;
|
||||
@Resource
|
||||
private StringRedisTemplate stringRedisTemplate;
|
||||
@Resource
|
||||
private OrderService orderService;
|
||||
@Resource
|
||||
private OrderGoodsService orderGoodsService;
|
||||
|
||||
@Resource
|
||||
private BcPlanService bcPlanService;
|
||||
|
||||
@ApiOperation("添加购物车")
|
||||
@PostMapping("/addCart")
|
||||
public ApiResult<?> addCart(@RequestBody BcCart vo) {
|
||||
final Goods goods = goodsService.getById(vo.getGoodsId());
|
||||
if (goods == null) {
|
||||
return fail("该商品已下架");
|
||||
}
|
||||
// 获取当天菜单
|
||||
final List<BcPlan> bcList = bcPlanService.list(new LambdaQueryWrapper<BcPlan>().eq(BcPlan::getDayTime, vo.getDeliveryTime() + " 00:00:00"));
|
||||
System.out.println("bcList = " + bcList);
|
||||
if (bcList != null && !CollectionUtils.isEmpty(bcList)) {
|
||||
final BcPlan bcPlan = bcList.get(0);
|
||||
final ArrayList<Integer> arrayList = JSONUtil.parseObject(bcPlan.getGoodsIds(), ArrayList.class);
|
||||
if(!arrayList.contains(vo.getGoodsId())) {
|
||||
return fail(vo.getDeliveryTime() + "没有上架" + goods.getGoodsName());
|
||||
}
|
||||
}
|
||||
|
||||
// 1. key = cache10048:cart651:2023-05-04
|
||||
String key = "cache" + getTenantId() + ":cart" + getLoginUserId() + ":" + vo.getDeliveryTime();
|
||||
// 2. 准备数据
|
||||
|
||||
vo.setImage(goods.getImage());
|
||||
vo.setGoodsName(goods.getGoodsName());
|
||||
vo.setComments(goods.getComments());
|
||||
vo.setCategoryId(goods.getCategoryId());
|
||||
vo.setGear(goods.getGear());
|
||||
vo.setUserId(getLoginUserId());
|
||||
// 2. 保存到购物车
|
||||
stringRedisTemplate.opsForHash().put(key, vo.getGoodsId().toString(), JSONObject.toJSONString(vo));
|
||||
//设置过期时间600秒
|
||||
System.out.println("设置过期时间600秒 = " + key);
|
||||
stringRedisTemplate.opsForHash().getOperations().expire(key,60*60*3, TimeUnit.SECONDS);
|
||||
// 3. 查询购物车并返回
|
||||
final List<BcCart> list = getCart(key);
|
||||
final ArrayList<CartResult> cartAll = getCartAll();
|
||||
return success("添加成功", cartAll);
|
||||
}
|
||||
|
||||
@ApiOperation("查看购物车")
|
||||
@PostMapping("/showCart")
|
||||
public ApiResult<?> showCart() {
|
||||
// System.out.println("vo = " + vo);
|
||||
|
||||
// 按预定日期查询
|
||||
// if (vo.getDeliveryTime() != null) {
|
||||
// // key = cache10048:cart651:2023-05-04
|
||||
// String key = "cache" + getTenantId() + ":cart" + getLoginUserId() + ":" + vo.getDeliveryTime();
|
||||
// final List<BcCart> list = getCart(key);
|
||||
// return success("获取成功", list);
|
||||
// }
|
||||
// 查询全部购物车数据
|
||||
return success("获取成功", getCartAll());
|
||||
}
|
||||
|
||||
@ApiOperation("从购物车创建订单")
|
||||
@PostMapping("/createOrder")
|
||||
@Transactional(rollbackFor = {Exception.class})
|
||||
public ApiResult<?> createOrder(@RequestBody CartParam param) {
|
||||
// 1.判断是否代报餐
|
||||
Integer userId = 0;
|
||||
if (param.getAgentUserId() != null) {
|
||||
userId = param.getAgentUserId();
|
||||
} else {
|
||||
userId = getLoginUserId();
|
||||
}
|
||||
// 2.从缓存读取用户的购物车数据
|
||||
final ArrayList<CartResult> cartAll = getCartAll();
|
||||
if (cartAll.size() == 0) {
|
||||
throw new BusinessException("订单不存在");
|
||||
}
|
||||
// 3.批量创建订单
|
||||
Integer finalUserId = userId;
|
||||
final ArrayList<Object> orderIds = new ArrayList<>();
|
||||
cartAll.forEach(d -> {
|
||||
// 过滤空单
|
||||
if (!d.getTotalNum().equals(0)) {
|
||||
System.out.println("批量创建订单d = " + d);
|
||||
Order order = new Order();
|
||||
// 查询今日订单是否存在
|
||||
final Order one = orderService.getOne(new LambdaQueryWrapper<Order>()
|
||||
.eq(Order::getUserId, finalUserId)
|
||||
.eq(Order::getPayStatus,PAY_STATUS_SUCCESS)
|
||||
.eq(Order::getDeliveryTime, Date.valueOf(d.getDeliveryTime())));
|
||||
if(one == null){
|
||||
order.setOrderNo(IdUtil.getSnowflakeNextId());
|
||||
order.setTotalPrice(d.getTotalPrice());
|
||||
order.setOrderPrice(d.getTotalPrice());
|
||||
order.setPayPrice(d.getTotalPrice());
|
||||
order.setDeliveryTime(Date.valueOf(d.getDeliveryTime()));
|
||||
order.setExpirationTime(DateUtil.nextMonth());
|
||||
order.setIsTemporary(param.getIsTemporary());
|
||||
order.setUserId(finalUserId);
|
||||
order.setWeek(DateUtil.dayOfWeek(order.getDeliveryTime()) - 1);
|
||||
orderService.save(order);
|
||||
}else {
|
||||
order.setOrderId(one.getOrderId());
|
||||
}
|
||||
orderIds.add(order.getOrderId());
|
||||
|
||||
// 添加订单商品
|
||||
final List<BcCart> items = d.getItems();
|
||||
final ArrayList<OrderGoods> orderGoods = new ArrayList<>();
|
||||
items.forEach(g -> {
|
||||
if(!g.getTotalNum().equals(0)){
|
||||
final OrderGoods og = new OrderGoods();
|
||||
og.setOrderId(order.getOrderId());
|
||||
og.setGoodsId(g.getGoodsId());
|
||||
og.setGoodsName(g.getGoodsName());
|
||||
og.setImageUrl(g.getImage());
|
||||
og.setTotalNum(g.getTotalNum());
|
||||
og.setCategoryId(g.getCategoryId());
|
||||
og.setGoodsPrice(g.getGoodsPrice());
|
||||
og.setComments(g.getComments());
|
||||
og.setGear(g.getGear());
|
||||
og.setGoodsId(g.getGoodsId());
|
||||
og.setTemporary(param.getIsTemporary());
|
||||
og.setUserId(finalUserId);
|
||||
// og.setDeliveryTime(order.getDeliveryTime());
|
||||
orderGoods.add(og);
|
||||
}
|
||||
});
|
||||
orderGoodsService.saveBatch(orderGoods);
|
||||
}
|
||||
});
|
||||
// 4.清空购物车
|
||||
removeCart();
|
||||
return success("创建成功",orderIds);
|
||||
}
|
||||
|
||||
@ApiOperation("清空购物车")
|
||||
@GetMapping("/clearCart")
|
||||
public ApiResult<?> clearCart() {
|
||||
removeCart();
|
||||
return success("清空成功");
|
||||
}
|
||||
|
||||
/**
|
||||
* 清空购物车
|
||||
*/
|
||||
private void removeCart() {
|
||||
String key = "cache" + getTenantId() + ":cart" + getLoginUserId() + ":";
|
||||
final Set<String> keys = stringRedisTemplate.keys(key + "*");
|
||||
System.out.println("清空购物车keys = " + keys);
|
||||
assert keys != null;
|
||||
stringRedisTemplate.delete(keys);
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取购物车数据(按预定日期)
|
||||
*/
|
||||
private List<BcCart> getCart(String key) {
|
||||
// 获取购物车数据
|
||||
List<Object> values = stringRedisTemplate.opsForHash().values(key);
|
||||
return values.stream().map(item -> JSONUtil.parseObject(JSONUtil.toJSONString(item), BcCart.class)).collect(Collectors.toList());
|
||||
}
|
||||
|
||||
/**
|
||||
* 查询全部购物车数据
|
||||
*/
|
||||
private ArrayList<CartResult> getCartAll() {
|
||||
String key = "cache" + getTenantId() + ":cart" + getLoginUserId();
|
||||
Set<String> keys = stringRedisTemplate.keys(key + "*");
|
||||
// System.out.println("keys = " + keys);
|
||||
assert keys != null;
|
||||
final ArrayList<CartResult> list = new ArrayList<>();
|
||||
keys.forEach(d -> {
|
||||
final List<Object> values = stringRedisTemplate.opsForHash().values(d);
|
||||
final CartResult cartResult = new CartResult();
|
||||
final ArrayList<BcCart> dataList = new ArrayList<>();
|
||||
|
||||
values.forEach(item -> {
|
||||
BcCart bcCart = JSONUtil.parseObject(item.toString(), BcCart.class);
|
||||
assert bcCart != null;
|
||||
// System.out.println("cartResult = " + cartResult.getTotalPrice());
|
||||
if (cartResult.getTotalNum() == null) {
|
||||
cartResult.setTotalNum(0);
|
||||
}
|
||||
if (cartResult.getTotalPrice() == null) {
|
||||
cartResult.setTotalPrice(new BigDecimal(0));
|
||||
}
|
||||
cartResult.setTotalNum(cartResult.getTotalNum() + bcCart.getTotalNum());
|
||||
cartResult.setDeliveryTime(bcCart.getDeliveryTime());
|
||||
cartResult.setTotalPrice(cartResult.getTotalPrice().add(bcCart.getGoodsPrice().multiply(BigDecimal.valueOf(bcCart.getTotalNum()))));
|
||||
dataList.add(bcCart);
|
||||
});
|
||||
cartResult.setItems(dataList);
|
||||
list.add(cartResult);
|
||||
});
|
||||
return list;
|
||||
}
|
||||
|
||||
}
|
||||
@@ -0,0 +1,139 @@
|
||||
package com.gxwebsoft.apps.controller;
|
||||
|
||||
import com.gxwebsoft.common.core.web.BaseController;
|
||||
import com.gxwebsoft.apps.service.BcCookbookService;
|
||||
import com.gxwebsoft.apps.entity.BcCookbook;
|
||||
import com.gxwebsoft.apps.param.BcCookbookParam;
|
||||
import com.gxwebsoft.common.core.web.ApiResult;
|
||||
import com.gxwebsoft.common.core.web.PageResult;
|
||||
import com.gxwebsoft.common.core.web.PageParam;
|
||||
import com.gxwebsoft.common.core.web.BatchParam;
|
||||
import com.gxwebsoft.common.core.annotation.OperationLog;
|
||||
import com.gxwebsoft.common.system.entity.User;
|
||||
import io.swagger.annotations.Api;
|
||||
import io.swagger.annotations.ApiOperation;
|
||||
import org.springframework.security.access.prepost.PreAuthorize;
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
|
||||
import javax.annotation.Resource;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* 常用菜谱控制器
|
||||
*
|
||||
* @author 科技小王子
|
||||
* @since 2023-05-05 14:56:54
|
||||
*/
|
||||
@Api(tags = "常用菜谱管理")
|
||||
@RestController
|
||||
@RequestMapping("/api/apps/bc-cookbook")
|
||||
public class BcCookbookController extends BaseController {
|
||||
@Resource
|
||||
private BcCookbookService bcCookbookService;
|
||||
|
||||
@PreAuthorize("hasAuthority('apps:bcCookbook:list')")
|
||||
@OperationLog
|
||||
@ApiOperation("分页查询常用菜谱")
|
||||
@GetMapping("/page")
|
||||
public ApiResult<PageResult<BcCookbook>> page(BcCookbookParam param) {
|
||||
PageParam<BcCookbook, BcCookbookParam> page = new PageParam<>(param);
|
||||
page.setDefaultOrder("create_time desc");
|
||||
return success(bcCookbookService.page(page, page.getWrapper()));
|
||||
// 使用关联查询
|
||||
//return success(bcCookbookService.pageRel(param));
|
||||
}
|
||||
|
||||
@PreAuthorize("hasAuthority('apps:bcCookbook:list')")
|
||||
@OperationLog
|
||||
@ApiOperation("查询全部常用菜谱")
|
||||
@GetMapping()
|
||||
public ApiResult<List<BcCookbook>> list(BcCookbookParam param) {
|
||||
PageParam<BcCookbook, BcCookbookParam> page = new PageParam<>(param);
|
||||
page.setDefaultOrder("create_time desc");
|
||||
return success(bcCookbookService.list(page.getOrderWrapper()));
|
||||
// 使用关联查询
|
||||
//return success(bcCookbookService.listRel(param));
|
||||
}
|
||||
|
||||
@PreAuthorize("hasAuthority('apps:bcCookbook:list')")
|
||||
@OperationLog
|
||||
@ApiOperation("根据id查询常用菜谱")
|
||||
@GetMapping("/{id}")
|
||||
public ApiResult<BcCookbook> get(@PathVariable("id") Integer id) {
|
||||
return success(bcCookbookService.getById(id));
|
||||
// 使用关联查询
|
||||
//return success(bcCookbookService.getByIdRel(id));
|
||||
}
|
||||
|
||||
@PreAuthorize("hasAuthority('apps:bcCookbook:save')")
|
||||
@OperationLog
|
||||
@ApiOperation("添加常用菜谱")
|
||||
@PostMapping()
|
||||
public ApiResult<?> save(@RequestBody BcCookbook bcCookbook) {
|
||||
// 记录当前登录用户id、租户id、商户编号
|
||||
User loginUser = getLoginUser();
|
||||
if (loginUser != null) {
|
||||
bcCookbook.setUserId(loginUser.getUserId());
|
||||
}
|
||||
if (bcCookbookService.save(bcCookbook)) {
|
||||
return success("添加成功");
|
||||
}
|
||||
return fail("添加失败");
|
||||
}
|
||||
|
||||
@PreAuthorize("hasAuthority('apps:bcCookbook:update')")
|
||||
@OperationLog
|
||||
@ApiOperation("修改常用菜谱")
|
||||
@PutMapping()
|
||||
public ApiResult<?> update(@RequestBody BcCookbook bcCookbook) {
|
||||
if (bcCookbookService.updateById(bcCookbook)) {
|
||||
return success("修改成功");
|
||||
}
|
||||
return fail("修改失败");
|
||||
}
|
||||
|
||||
@PreAuthorize("hasAuthority('apps:bcCookbook:remove')")
|
||||
@OperationLog
|
||||
@ApiOperation("删除常用菜谱")
|
||||
@DeleteMapping("/{id}")
|
||||
public ApiResult<?> remove(@PathVariable("id") Integer id) {
|
||||
if (bcCookbookService.removeById(id)) {
|
||||
return success("删除成功");
|
||||
}
|
||||
return fail("删除失败");
|
||||
}
|
||||
|
||||
@PreAuthorize("hasAuthority('apps:bcCookbook:save')")
|
||||
@OperationLog
|
||||
@ApiOperation("批量添加常用菜谱")
|
||||
@PostMapping("/batch")
|
||||
public ApiResult<?> saveBatch(@RequestBody List<BcCookbook> list) {
|
||||
if (bcCookbookService.saveBatch(list)) {
|
||||
return success("添加成功");
|
||||
}
|
||||
return fail("添加失败");
|
||||
}
|
||||
|
||||
@PreAuthorize("hasAuthority('apps:bcCookbook:update')")
|
||||
@OperationLog
|
||||
@ApiOperation("批量修改常用菜谱")
|
||||
@PutMapping("/batch")
|
||||
public ApiResult<?> removeBatch(@RequestBody BatchParam<BcCookbook> batchParam) {
|
||||
if (batchParam.update(bcCookbookService, "cookbook_id")) {
|
||||
return success("修改成功");
|
||||
}
|
||||
return fail("修改失败");
|
||||
}
|
||||
|
||||
@PreAuthorize("hasAuthority('apps:bcCookbook:remove')")
|
||||
@OperationLog
|
||||
@ApiOperation("批量删除常用菜谱")
|
||||
@DeleteMapping("/batch")
|
||||
public ApiResult<?> removeBatch(@RequestBody List<Integer> ids) {
|
||||
if (bcCookbookService.removeByIds(ids)) {
|
||||
return success("删除成功");
|
||||
}
|
||||
return fail("删除失败");
|
||||
}
|
||||
|
||||
}
|
||||
@@ -0,0 +1,151 @@
|
||||
package com.gxwebsoft.apps.controller;
|
||||
|
||||
import com.gxwebsoft.apps.utils.BcUtil;
|
||||
import com.gxwebsoft.common.core.web.BaseController;
|
||||
import com.gxwebsoft.apps.service.BcEquipmentService;
|
||||
import com.gxwebsoft.apps.entity.BcEquipment;
|
||||
import com.gxwebsoft.apps.param.BcEquipmentParam;
|
||||
import com.gxwebsoft.common.core.web.ApiResult;
|
||||
import com.gxwebsoft.common.core.web.PageResult;
|
||||
import com.gxwebsoft.common.core.web.PageParam;
|
||||
import com.gxwebsoft.common.core.web.BatchParam;
|
||||
import com.gxwebsoft.common.core.annotation.OperationLog;
|
||||
import com.gxwebsoft.common.system.entity.User;
|
||||
import io.swagger.annotations.Api;
|
||||
import io.swagger.annotations.ApiOperation;
|
||||
import org.springframework.security.access.prepost.PreAuthorize;
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
|
||||
import javax.annotation.Resource;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* 报餐设备管理控制器
|
||||
*
|
||||
* @author 科技小王子
|
||||
* @since 2023-05-02 10:34:40
|
||||
*/
|
||||
@Api(tags = "报餐设备管理管理")
|
||||
@RestController
|
||||
@RequestMapping("/api/apps/bc-equipment")
|
||||
public class BcEquipmentController extends BaseController {
|
||||
@Resource
|
||||
private BcEquipmentService bcEquipmentService;
|
||||
@Resource
|
||||
private BcUtil bcUtil;
|
||||
|
||||
@PreAuthorize("hasAuthority('apps:bcEquipment:list')")
|
||||
@OperationLog
|
||||
@ApiOperation("分页查询报餐设备管理")
|
||||
@GetMapping("/page")
|
||||
public ApiResult<PageResult<BcEquipment>> page(BcEquipmentParam param) {
|
||||
PageParam<BcEquipment, BcEquipmentParam> page = new PageParam<>(param);
|
||||
page.setDefaultOrder("create_time desc");
|
||||
return success(bcEquipmentService.page(page, page.getWrapper()));
|
||||
// 使用关联查询
|
||||
//return success(bcEquipmentService.pageRel(param));
|
||||
}
|
||||
|
||||
@PreAuthorize("hasAuthority('apps:bcEquipment:list')")
|
||||
@OperationLog
|
||||
@ApiOperation("查询全部报餐设备管理")
|
||||
@GetMapping()
|
||||
public ApiResult<List<BcEquipment>> list(BcEquipmentParam param) {
|
||||
PageParam<BcEquipment, BcEquipmentParam> page = new PageParam<>(param);
|
||||
page.setDefaultOrder("create_time desc");
|
||||
return success(bcEquipmentService.list(page.getOrderWrapper()));
|
||||
// 使用关联查询
|
||||
//return success(bcEquipmentService.listRel(param));
|
||||
}
|
||||
|
||||
@PreAuthorize("hasAuthority('apps:bcEquipment:list')")
|
||||
@OperationLog
|
||||
@ApiOperation("根据id查询报餐设备管理")
|
||||
@GetMapping("/{id}")
|
||||
public ApiResult<BcEquipment> get(@PathVariable("id") Integer id) {
|
||||
return success(bcEquipmentService.getById(id));
|
||||
// 使用关联查询
|
||||
//return success(bcEquipmentService.getByIdRel(id));
|
||||
}
|
||||
|
||||
@PreAuthorize("hasAuthority('apps:bcEquipment:list')")
|
||||
@OperationLog
|
||||
@ApiOperation("添加报餐设备管理")
|
||||
@PostMapping()
|
||||
public ApiResult<?> save(@RequestBody BcEquipment bcEquipment) {
|
||||
// 记录当前登录用户id、租户id、商户编号
|
||||
User loginUser = getLoginUser();
|
||||
if (loginUser != null) {
|
||||
bcEquipment.setUserId(loginUser.getUserId());
|
||||
bcEquipment.setMerchantCode(getMerchantCode());
|
||||
}
|
||||
if (bcEquipmentService.save(bcEquipment)) {
|
||||
return success("添加成功");
|
||||
}
|
||||
return fail("添加失败");
|
||||
}
|
||||
|
||||
@PreAuthorize("hasAuthority('apps:bcEquipment:list')")
|
||||
@OperationLog
|
||||
@ApiOperation("修改报餐设备管理")
|
||||
@PutMapping()
|
||||
public ApiResult<?> update(@RequestBody BcEquipment bcEquipment) {
|
||||
if (bcEquipmentService.updateById(bcEquipment)) {
|
||||
return success("修改成功");
|
||||
}
|
||||
return fail("修改失败");
|
||||
}
|
||||
|
||||
@PreAuthorize("hasAuthority('apps:bcEquipment:list')")
|
||||
@OperationLog
|
||||
@ApiOperation("删除报餐设备管理")
|
||||
@DeleteMapping("/{id}")
|
||||
public ApiResult<?> remove(@PathVariable("id") Integer id) {
|
||||
if (bcEquipmentService.removeById(id)) {
|
||||
return success("删除成功");
|
||||
}
|
||||
return fail("删除失败");
|
||||
}
|
||||
|
||||
@PreAuthorize("hasAuthority('apps:bcEquipment:save')")
|
||||
@OperationLog
|
||||
@ApiOperation("批量添加报餐设备管理")
|
||||
@PostMapping("/batch")
|
||||
public ApiResult<?> saveBatch(@RequestBody List<BcEquipment> list) {
|
||||
if (bcEquipmentService.saveBatch(list)) {
|
||||
return success("添加成功");
|
||||
}
|
||||
return fail("添加失败");
|
||||
}
|
||||
|
||||
@PreAuthorize("hasAuthority('apps:bcEquipment:update')")
|
||||
@OperationLog
|
||||
@ApiOperation("批量修改报餐设备管理")
|
||||
@PutMapping("/batch")
|
||||
public ApiResult<?> removeBatch(@RequestBody BatchParam<BcEquipment> batchParam) {
|
||||
if (batchParam.update(bcEquipmentService, "bc_equipment_id")) {
|
||||
return success("修改成功");
|
||||
}
|
||||
return fail("修改失败");
|
||||
}
|
||||
|
||||
@PreAuthorize("hasAuthority('apps:bcEquipment:remove')")
|
||||
@OperationLog
|
||||
@ApiOperation("批量删除报餐设备管理")
|
||||
@DeleteMapping("/batch")
|
||||
public ApiResult<?> removeBatch(@RequestBody List<Integer> ids) {
|
||||
if (bcEquipmentService.removeByIds(ids)) {
|
||||
return success("删除成功");
|
||||
}
|
||||
return fail("删除失败");
|
||||
}
|
||||
|
||||
@PreAuthorize("hasAuthority('apps:bcEquipment:list')")
|
||||
@ApiOperation("发送企业微信推送消息")
|
||||
@PostMapping("/addSend")
|
||||
public ApiResult<?> addSend(@RequestBody BcEquipment bcEquipment) {
|
||||
bcUtil.send(bcEquipment.getComments());
|
||||
return success("发送成功");
|
||||
}
|
||||
|
||||
}
|
||||
@@ -0,0 +1,323 @@
|
||||
package com.gxwebsoft.apps.controller;
|
||||
|
||||
import cn.hutool.core.date.DateTime;
|
||||
import cn.hutool.core.date.DateUtil;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||
import com.gxwebsoft.apps.entity.BcExport;
|
||||
import com.gxwebsoft.apps.param.BcExportParam;
|
||||
import com.gxwebsoft.apps.service.BcExportService;
|
||||
import com.gxwebsoft.common.core.annotation.OperationLog;
|
||||
import com.gxwebsoft.common.core.web.*;
|
||||
import com.gxwebsoft.common.system.entity.User;
|
||||
import com.gxwebsoft.common.system.param.UserParam;
|
||||
import com.gxwebsoft.common.system.service.UserService;
|
||||
import com.gxwebsoft.shop.entity.Order;
|
||||
import com.gxwebsoft.shop.entity.OrderGoods;
|
||||
import com.gxwebsoft.shop.service.OrderGoodsService;
|
||||
import com.gxwebsoft.shop.service.OrderService;
|
||||
import io.swagger.annotations.Api;
|
||||
import io.swagger.annotations.ApiOperation;
|
||||
import org.springframework.security.access.prepost.PreAuthorize;
|
||||
import org.springframework.util.CollectionUtils;
|
||||
import org.springframework.util.StringUtils;
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
|
||||
import javax.annotation.Resource;
|
||||
import java.math.BigDecimal;
|
||||
import java.util.LinkedList;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.util.Set;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
import static com.gxwebsoft.common.core.constants.OrderConstants.DELIVERY_STATUS_YES;
|
||||
import static com.gxwebsoft.common.core.constants.OrderConstants.PAY_STATUS_SUCCESS;
|
||||
|
||||
/**
|
||||
* 报餐统计导出控制器
|
||||
*
|
||||
* @author 科技小王子
|
||||
* @since 2023-06-01 21:47:02
|
||||
*/
|
||||
@Api(tags = "报餐统计导出管理")
|
||||
@RestController
|
||||
@RequestMapping("/api/apps/bc-export")
|
||||
public class BcExportController extends BaseController {
|
||||
@Resource
|
||||
private BcExportService bcExportService;
|
||||
|
||||
@Resource
|
||||
private OrderService orderService;
|
||||
|
||||
@Resource
|
||||
private OrderGoodsService orderGoodsService;
|
||||
|
||||
@Resource
|
||||
private UserService userService;
|
||||
|
||||
@PreAuthorize("hasAuthority('apps:bcExport:list')")
|
||||
@OperationLog
|
||||
@ApiOperation("分页查询报餐统计导出")
|
||||
@GetMapping("/page")
|
||||
public ApiResult<PageResult<BcExport>> page(BcExportParam param) {
|
||||
PageParam<BcExport, BcExportParam> page = new PageParam<>(param);
|
||||
page.setDefaultOrder("create_time desc");
|
||||
return success(bcExportService.page(page, page.getWrapper()));
|
||||
// 使用关联查询
|
||||
//return success(bcExportService.pageRel(param));
|
||||
}
|
||||
|
||||
@PreAuthorize("hasAuthority('apps:bcExport:list')")
|
||||
@ApiOperation("查询全部报餐统计导出")
|
||||
@GetMapping()
|
||||
public ApiResult<List<BcExport>> list(BcExportParam param) {
|
||||
LinkedList<BcExport> resutl = new LinkedList<>();
|
||||
PageParam<BcExport, BcExportParam> page = new PageParam<>(param);
|
||||
page.setDefaultOrder("create_time desc");
|
||||
// 查询所有员工信息
|
||||
final UserParam param1 = new UserParam();
|
||||
param1.setOrganizationId(param.getOrganizationId());
|
||||
final List<User> users = userService.listRel(param1);
|
||||
if(CollectionUtils.isEmpty(users)){
|
||||
return success(resutl);
|
||||
}
|
||||
final Set<Integer> userIds = users.stream().map(User::getUserId).collect(Collectors.toSet());
|
||||
|
||||
// 获取所有订单
|
||||
final LambdaQueryWrapper<Order> wrapper = new LambdaQueryWrapper<Order>()
|
||||
.eq(Order::getPayStatus,PAY_STATUS_SUCCESS)
|
||||
.in(Order::getUserId,userIds);
|
||||
|
||||
if(param.getDeliveryTimeStart() == null){
|
||||
System.out.println("默认查询当天 = ");
|
||||
// 今天开始时间 2023-05-01 00:00:00
|
||||
DateTime parse = DateUtil.parse(DateUtil.today());
|
||||
wrapper.eq(Order::getDeliveryTime, parse);
|
||||
}
|
||||
if(StringUtils.hasText(param.getDeliveryTime())){
|
||||
wrapper.eq(Order::getDeliveryTime, param.getDeliveryTime());
|
||||
}
|
||||
if(StringUtils.hasText(param.getDeliveryTimeStart())){
|
||||
wrapper.ge(Order::getDeliveryTime, param.getDeliveryTimeStart());
|
||||
}
|
||||
if(StringUtils.hasText(param.getDeliveryTimeEnd())){
|
||||
wrapper.le(Order::getDeliveryTime, param.getDeliveryTimeEnd());
|
||||
}
|
||||
|
||||
final List<Order> list = orderService.list(wrapper);
|
||||
if(CollectionUtils.isEmpty(list)){
|
||||
return success(resutl);
|
||||
}
|
||||
// 获取所有订单商品
|
||||
final Set<Integer> orderIds = list.stream().map(Order::getOrderId).collect(Collectors.toSet());
|
||||
final List<OrderGoods> orderGoods = orderGoodsService.list(new LambdaQueryWrapper<OrderGoods>().in(OrderGoods::getOrderId, orderIds));
|
||||
|
||||
// 按订单分组
|
||||
final Map<Integer, List<OrderGoods>> orderGoodsCollect = orderGoods.stream().collect(Collectors.groupingBy(OrderGoods::getOrderId));
|
||||
// 按员工分组
|
||||
final Map<Integer, List<Order>> userCollect = list.stream().collect(Collectors.groupingBy(Order::getUserId));
|
||||
// 计算订餐和签到次数
|
||||
int btotalCount = 0;
|
||||
int btotalSingCount = 0;
|
||||
int ltotalCount = 0;
|
||||
int ltotalSingCount = 0;
|
||||
int dtotalCount = 0;
|
||||
int dtotalSingCount = 0;
|
||||
BigDecimal maxTotalPrice = BigDecimal.ZERO;
|
||||
int maxGear10 = 0;
|
||||
int maxGear20 = 0;
|
||||
int maxSignGear10 = 0;
|
||||
int maxSignGear20 = 0;
|
||||
for (Integer userId : userCollect.keySet()) {
|
||||
final List<Order> userList = userCollect.get(userId); // 员工订单
|
||||
final User user = users.stream().filter(u -> u.getUserId().equals(userId)).findFirst().get();
|
||||
BcExport bcExport = new BcExport();
|
||||
int bCount = 0;
|
||||
int bSingCount = 0;
|
||||
int lCount = 0;
|
||||
int lSingCount = 0;
|
||||
int dCount = 0;
|
||||
int dSingCount = 0;
|
||||
int gear10 = 0;
|
||||
int gear20 = 0;
|
||||
int signGear10 = 0;
|
||||
int signGear20 = 0;
|
||||
BigDecimal totalPrice = BigDecimal.ZERO;
|
||||
for (Order order : userList) {
|
||||
// 获取商品
|
||||
totalPrice = totalPrice.add(order.getTotalPrice());
|
||||
final List<OrderGoods> goodsList = orderGoodsCollect.get(order.getOrderId());
|
||||
if(!CollectionUtils.isEmpty(goodsList)){
|
||||
for (OrderGoods goods : goodsList) {
|
||||
// 查询早餐
|
||||
// 查询午餐
|
||||
// 查询晚餐
|
||||
if(goods.getCategoryId().equals(25)){
|
||||
bCount++;
|
||||
if(goods.getDeliveryStatus().equals(DELIVERY_STATUS_YES)){
|
||||
bSingCount++;
|
||||
}
|
||||
}
|
||||
if(goods.getCategoryId().equals(26)){
|
||||
lCount++;
|
||||
// 统计档口
|
||||
if(goods.getGear().equals(10)){
|
||||
gear10++;
|
||||
}
|
||||
if (goods.getGear().equals(20)) {
|
||||
gear20++;
|
||||
}
|
||||
if(goods.getDeliveryStatus().equals(DELIVERY_STATUS_YES)){
|
||||
lSingCount++;
|
||||
// 统计档口
|
||||
if(goods.getGear().equals(10)){
|
||||
signGear10++;
|
||||
}
|
||||
if (goods.getGear().equals(20)) {
|
||||
signGear20++;
|
||||
}
|
||||
}
|
||||
}
|
||||
if(goods.getCategoryId().equals(27)){
|
||||
dCount++;
|
||||
if(goods.getDeliveryStatus().equals(DELIVERY_STATUS_YES)){
|
||||
dSingCount++;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
btotalCount += bCount;
|
||||
btotalSingCount += bSingCount;
|
||||
ltotalCount += lCount;
|
||||
ltotalSingCount += lSingCount;
|
||||
dtotalCount += dCount;
|
||||
dtotalSingCount += dSingCount;
|
||||
maxTotalPrice = maxTotalPrice.add(totalPrice);
|
||||
maxGear10 += gear10;
|
||||
maxGear20 += gear20;
|
||||
maxSignGear10 += signGear10;
|
||||
maxSignGear20 += signGear20;
|
||||
|
||||
bcExport.setBreakfastPost(bCount);
|
||||
bcExport.setBreakfastSign(bSingCount);
|
||||
bcExport.setLunchPost(lCount);
|
||||
bcExport.setLunchSign(lSingCount);
|
||||
bcExport.setDinnerPost(dCount);
|
||||
bcExport.setDinnerSign(dSingCount);
|
||||
bcExport.setExpendMoney(totalPrice);
|
||||
bcExport.setGear10(gear10);
|
||||
bcExport.setGear20(gear20);
|
||||
bcExport.setSignGear10(signGear10);
|
||||
bcExport.setSignGear20(signGear20);
|
||||
bcExport.setUserId(userId);
|
||||
bcExport.setOrganizationName(user.getOrganizationName());
|
||||
bcExport.setNickname(user.getNickname());
|
||||
bcExport.setLunchPostText(lCount+"");
|
||||
bcExport.setLunchSignText(lSingCount+"");
|
||||
|
||||
resutl.add(bcExport);
|
||||
|
||||
}
|
||||
BcExport totalBcExport = new BcExport();
|
||||
totalBcExport.setNickname("合计");
|
||||
totalBcExport.setBreakfastPost(btotalCount);
|
||||
totalBcExport.setBreakfastSign(btotalSingCount);
|
||||
totalBcExport.setLunchPost(ltotalCount);
|
||||
totalBcExport.setLunchSign(ltotalSingCount);
|
||||
totalBcExport.setDinnerPost(dtotalCount);
|
||||
totalBcExport.setDinnerSign(dtotalSingCount);
|
||||
totalBcExport.setExpendMoney(maxTotalPrice);
|
||||
totalBcExport.setGear10(maxGear10);
|
||||
totalBcExport.setGear20(maxGear20);
|
||||
totalBcExport.setSignGear10(maxSignGear10);
|
||||
totalBcExport.setSignGear20(maxSignGear20);
|
||||
totalBcExport.setLunchPostText(ltotalCount + "(" + maxGear10 + "/" + maxGear20 + ")");
|
||||
totalBcExport.setLunchSignText(ltotalSingCount + "(" + maxSignGear10 + "/" + maxSignGear20 + ")");
|
||||
totalBcExport.setOrganizationName("");
|
||||
resutl.addFirst(totalBcExport);
|
||||
return success(resutl);
|
||||
}
|
||||
|
||||
@PreAuthorize("hasAuthority('apps:bcExport:list')")
|
||||
@OperationLog
|
||||
@ApiOperation("根据id查询报餐统计导出")
|
||||
@GetMapping("/{id}")
|
||||
public ApiResult<BcExport> get(@PathVariable("id") Integer id) {
|
||||
return success(bcExportService.getById(id));
|
||||
// 使用关联查询
|
||||
//return success(bcExportService.getByIdRel(id));
|
||||
}
|
||||
|
||||
@PreAuthorize("hasAuthority('apps:bcExport:save')")
|
||||
@OperationLog
|
||||
@ApiOperation("添加报餐统计导出")
|
||||
@PostMapping()
|
||||
public ApiResult<?> save(@RequestBody BcExport bcExport) {
|
||||
// 记录当前登录用户id
|
||||
User loginUser = getLoginUser();
|
||||
if (loginUser != null) {
|
||||
bcExport.setUserId(loginUser.getUserId());
|
||||
}
|
||||
if (bcExportService.save(bcExport)) {
|
||||
return success("添加成功");
|
||||
}
|
||||
return fail("添加失败");
|
||||
}
|
||||
|
||||
@PreAuthorize("hasAuthority('apps:bcExport:update')")
|
||||
@OperationLog
|
||||
@ApiOperation("修改报餐统计导出")
|
||||
@PutMapping()
|
||||
public ApiResult<?> update(@RequestBody BcExport bcExport) {
|
||||
if (bcExportService.updateById(bcExport)) {
|
||||
return success("修改成功");
|
||||
}
|
||||
return fail("修改失败");
|
||||
}
|
||||
|
||||
@PreAuthorize("hasAuthority('apps:bcExport:remove')")
|
||||
@OperationLog
|
||||
@ApiOperation("删除报餐统计导出")
|
||||
@DeleteMapping("/{id}")
|
||||
public ApiResult<?> remove(@PathVariable("id") Integer id) {
|
||||
if (bcExportService.removeById(id)) {
|
||||
return success("删除成功");
|
||||
}
|
||||
return fail("删除失败");
|
||||
}
|
||||
|
||||
@PreAuthorize("hasAuthority('apps:bcExport:save')")
|
||||
@OperationLog
|
||||
@ApiOperation("批量添加报餐统计导出")
|
||||
@PostMapping("/batch")
|
||||
public ApiResult<?> saveBatch(@RequestBody List<BcExport> list) {
|
||||
if (bcExportService.saveBatch(list)) {
|
||||
return success("添加成功");
|
||||
}
|
||||
return fail("添加失败");
|
||||
}
|
||||
|
||||
@PreAuthorize("hasAuthority('apps:bcExport:update')")
|
||||
@OperationLog
|
||||
@ApiOperation("批量修改报餐统计导出")
|
||||
@PutMapping("/batch")
|
||||
public ApiResult<?> removeBatch(@RequestBody BatchParam<BcExport> batchParam) {
|
||||
if (batchParam.update(bcExportService, "export_id")) {
|
||||
return success("修改成功");
|
||||
}
|
||||
return fail("修改失败");
|
||||
}
|
||||
|
||||
@PreAuthorize("hasAuthority('apps:bcExport:remove')")
|
||||
@OperationLog
|
||||
@ApiOperation("批量删除报餐统计导出")
|
||||
@DeleteMapping("/batch")
|
||||
public ApiResult<?> removeBatch(@RequestBody List<Integer> ids) {
|
||||
if (bcExportService.removeByIds(ids)) {
|
||||
return success("删除成功");
|
||||
}
|
||||
return fail("删除失败");
|
||||
}
|
||||
|
||||
}
|
||||
@@ -0,0 +1,289 @@
|
||||
package com.gxwebsoft.apps.controller;
|
||||
|
||||
import cn.hutool.core.date.DateTime;
|
||||
import cn.hutool.core.date.DateUtil;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||
import com.gxwebsoft.apps.entity.BcFood;
|
||||
import com.gxwebsoft.apps.entity.BcPlan;
|
||||
import com.gxwebsoft.apps.param.BcFoodParam;
|
||||
import com.gxwebsoft.apps.param.BcPlanParam;
|
||||
import com.gxwebsoft.apps.service.BcFoodService;
|
||||
import com.gxwebsoft.apps.service.BcPlanService;
|
||||
import com.gxwebsoft.common.core.annotation.OperationLog;
|
||||
import com.gxwebsoft.common.core.utils.JSONUtil;
|
||||
import com.gxwebsoft.common.core.web.ApiResult;
|
||||
import com.gxwebsoft.common.core.web.BaseController;
|
||||
import com.gxwebsoft.common.core.web.BatchParam;
|
||||
import com.gxwebsoft.common.core.web.PageResult;
|
||||
import com.gxwebsoft.common.system.entity.User;
|
||||
import com.gxwebsoft.shop.entity.Goods;
|
||||
import com.gxwebsoft.shop.entity.Order;
|
||||
import com.gxwebsoft.shop.entity.OrderGoods;
|
||||
import com.gxwebsoft.shop.entity.UserReferee;
|
||||
import com.gxwebsoft.shop.param.OrderGoodsParam;
|
||||
import com.gxwebsoft.shop.param.OrderParam;
|
||||
import com.gxwebsoft.shop.param.UserRefereeParam;
|
||||
import com.gxwebsoft.shop.service.GoodsService;
|
||||
import com.gxwebsoft.shop.service.OrderGoodsService;
|
||||
import com.gxwebsoft.shop.service.OrderService;
|
||||
import com.gxwebsoft.shop.service.UserRefereeService;
|
||||
import io.swagger.annotations.Api;
|
||||
import io.swagger.annotations.ApiOperation;
|
||||
import org.springframework.security.access.prepost.PreAuthorize;
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
|
||||
import javax.annotation.Resource;
|
||||
import java.util.ArrayList;
|
||||
import java.util.HashMap;
|
||||
import java.util.List;
|
||||
|
||||
import static com.gxwebsoft.common.core.constants.OrderConstants.ORDER_STATUS_DOING;
|
||||
import static com.gxwebsoft.common.core.constants.OrderConstants.PAY_STATUS_SUCCESS;
|
||||
|
||||
/**
|
||||
* 发布菜品明细控制器
|
||||
*
|
||||
* @author 科技小王子
|
||||
* @since 2023-04-27 17:59:40
|
||||
*/
|
||||
@Api(tags = "发布菜品明细管理")
|
||||
@RestController
|
||||
@RequestMapping("/api/apps/bc-food")
|
||||
public class BcFoodController extends BaseController {
|
||||
@Resource
|
||||
private BcFoodService bcFoodService;
|
||||
@Resource
|
||||
private BcPlanService bcPlanService;
|
||||
@Resource
|
||||
private GoodsService goodsService;
|
||||
@Resource
|
||||
private OrderService orderService;
|
||||
@Resource
|
||||
private OrderGoodsService orderGoodsService;
|
||||
@Resource
|
||||
private UserRefereeService userRefereeService;
|
||||
|
||||
@ApiOperation("查询菜品列表")
|
||||
@GetMapping("/getFoodList")
|
||||
public ApiResult<?> getFoodList(BcPlanParam param) {
|
||||
// 验证签名
|
||||
isCheckSign();
|
||||
BcPlan plan = param.getOne(bcPlanService.listRel(param));
|
||||
if(plan == null){
|
||||
return fail("当日未发布菜品");
|
||||
}
|
||||
// System.out.println("查询菜品列表param = " + param);
|
||||
// System.out.println("plan = " + plan);
|
||||
// json转数组 如:[0,1]转为ArrayList
|
||||
List<Integer> goodsIds = new ArrayList<>();
|
||||
goodsIds = JSONUtil.parseObject(plan.getGoodsIds(), ArrayList.class);
|
||||
final List<Goods> list = goodsService.listByIds(goodsIds);
|
||||
final HashMap<String, Object> map = new HashMap<>();
|
||||
map.put("week",plan.getWeek());
|
||||
map.put("list",list);
|
||||
return success(map);
|
||||
}
|
||||
|
||||
@ApiOperation("查询一周菜谱")
|
||||
@GetMapping("/getWeekFood")
|
||||
public ApiResult<?> getWeekFood() {
|
||||
// 验证签名
|
||||
isCheckSign();
|
||||
final HashMap<String, Object> map = new HashMap<>();
|
||||
// 今天日期
|
||||
final DateTime today = DateUtil.parse(DateUtil.today());
|
||||
// 本周一周开始的日期
|
||||
final DateTime dateTime = DateUtil.beginOfWeek(today);
|
||||
// 查询本周菜谱
|
||||
final List<BcPlan> list = bcPlanService.list(new LambdaQueryWrapper<BcPlan>().ge(BcPlan::getDayTime, dateTime).last("limit 0,7"));
|
||||
try {
|
||||
list.forEach(d -> {
|
||||
// json转数组 如:[0,1]转为ArrayList
|
||||
d.setGoodsList(goodsService.listByIds(JSONUtil.parseObject(d.getGoodsIds(), ArrayList.class)));
|
||||
});
|
||||
} catch (Exception e) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
return success(list);
|
||||
}
|
||||
|
||||
@ApiOperation("查询代取餐人员的报餐信息")
|
||||
@GetMapping("/getOthersFood")
|
||||
public ApiResult<?> getOthersFood() {
|
||||
// 验证签名
|
||||
isCheckSign();
|
||||
|
||||
UserRefereeParam param = new UserRefereeParam();
|
||||
param.setDealerId(getLoginUserId());
|
||||
List<UserReferee> list = userRefereeService.listRel(param);
|
||||
// 附加自己
|
||||
final UserReferee userReferee = new UserReferee();
|
||||
userReferee.setUserId(getLoginUserId());
|
||||
userReferee.setNickname(getLoginUser().getNickname());
|
||||
list.add(userReferee);
|
||||
list.forEach(d -> {
|
||||
// 查询他的订单信息
|
||||
OrderParam orderParam = new OrderParam();
|
||||
orderParam.setUserId(d.getUserId());
|
||||
orderParam.setDeliveryTime(DateUtil.beginOfDay(DateUtil.date()).toString());
|
||||
orderParam.setOrderStatus(ORDER_STATUS_DOING);
|
||||
orderParam.setPayStatus(PAY_STATUS_SUCCESS);
|
||||
List<Order> orders = orderService.listRel(orderParam);
|
||||
orders.forEach(o -> {
|
||||
// 查询菜品信息
|
||||
List<OrderGoods> orderGoods = orderGoodsService.list(new LambdaQueryWrapper<OrderGoods>()
|
||||
.eq(OrderGoods::getOrderId,o.getOrderId())
|
||||
.gt(OrderGoods::getTotalNum,0));
|
||||
o.setGoodsList(orderGoods);
|
||||
});
|
||||
d.setOrder(orders);
|
||||
});
|
||||
return success(list);
|
||||
}
|
||||
|
||||
@ApiOperation("取消代餐")
|
||||
@GetMapping("/cancel")
|
||||
public ApiResult<?> cancel() {
|
||||
UserRefereeParam param = new UserRefereeParam();
|
||||
param.setDealerId(getLoginUserId());
|
||||
List<UserReferee> list = userRefereeService.listRel(param);
|
||||
list.forEach(d -> {
|
||||
// 查询他的订单信息
|
||||
OrderParam orderParam = new OrderParam();
|
||||
orderParam.setUserId(d.getUserId());
|
||||
orderParam.setDeliveryTime(DateUtil.beginOfDay(DateUtil.date()).toString());
|
||||
orderParam.setPayStatus(PAY_STATUS_SUCCESS);
|
||||
List<Order> orders = orderService.listRel(orderParam);
|
||||
orders.forEach(o -> {
|
||||
// 查询菜品信息
|
||||
OrderGoodsParam goodsParam = new OrderGoodsParam();
|
||||
goodsParam.setOrderId(o.getOrderId());
|
||||
List<OrderGoods> orderGoods = orderGoodsService.listRel(goodsParam);
|
||||
o.setGoodsList(orderGoods);
|
||||
});
|
||||
d.setOrder(orders);
|
||||
});
|
||||
return success(list);
|
||||
}
|
||||
|
||||
@ApiOperation("查询临时报餐信息")
|
||||
@GetMapping("/getTemporaryOrder")
|
||||
public ApiResult<?> getTemporaryOrder(OrderParam param) {
|
||||
// 验证签名
|
||||
isCheckSign();
|
||||
LambdaQueryWrapper<Order> lambdaQueryWrapper = new LambdaQueryWrapper<>();
|
||||
lambdaQueryWrapper
|
||||
.eq(Order::getUserId,getLoginUserId())
|
||||
.eq(Order::getPayStatus,PAY_STATUS_SUCCESS)
|
||||
.eq(Order::getOrderStatus,ORDER_STATUS_DOING)
|
||||
.eq(Order::getDeleted,0)
|
||||
.eq(Order::getIsTemporary,1)
|
||||
.eq(Order::getDeliveryTime,param.getDeliveryTime());
|
||||
Order order = orderService.getOne(lambdaQueryWrapper,false);
|
||||
if(order != null){
|
||||
final List<OrderGoods> goods = orderGoodsService.list(new LambdaQueryWrapper<OrderGoods>().eq(OrderGoods::getOrderId, order.getOrderId()));
|
||||
order.setGoodsList(goods);
|
||||
return success("查询成功",order);
|
||||
}
|
||||
return fail("没有临时报餐数据",null);
|
||||
}
|
||||
|
||||
@PreAuthorize("hasAuthority('apps:bcFood:list')")
|
||||
@OperationLog
|
||||
@ApiOperation("分页查询发布菜品明细")
|
||||
@GetMapping("/page")
|
||||
public ApiResult<PageResult<BcFood>> page(BcFoodParam param) {
|
||||
// 使用关联查询
|
||||
return success(bcFoodService.pageRel(param));
|
||||
}
|
||||
|
||||
@PreAuthorize("hasAuthority('apps:bcFood:list')")
|
||||
@OperationLog
|
||||
@ApiOperation("查询全部发布菜品明细")
|
||||
@GetMapping()
|
||||
public ApiResult<List<BcFood>> list(BcFoodParam param) {
|
||||
// 使用关联查询
|
||||
return success(bcFoodService.listRel(param));
|
||||
}
|
||||
|
||||
@PreAuthorize("hasAuthority('apps:bcFood:list')")
|
||||
@OperationLog
|
||||
@ApiOperation("根据id查询发布菜品明细")
|
||||
@GetMapping("/{id}")
|
||||
public ApiResult<BcFood> get(@PathVariable("id") Integer id) {
|
||||
// 使用关联查询
|
||||
return success(bcFoodService.getByIdRel(id));
|
||||
}
|
||||
|
||||
@PreAuthorize("hasAuthority('apps:bcFood:save')")
|
||||
@OperationLog
|
||||
@ApiOperation("添加发布菜品明细")
|
||||
@PostMapping()
|
||||
public ApiResult<?> save(@RequestBody BcFood bcFood) {
|
||||
// 记录当前登录用户id、租户id、商户编号
|
||||
User loginUser = getLoginUser();
|
||||
if (loginUser != null) {
|
||||
bcFood.setUserId(loginUser.getUserId());
|
||||
}
|
||||
if (bcFoodService.save(bcFood)) {
|
||||
return success("添加成功");
|
||||
}
|
||||
return fail("添加失败");
|
||||
}
|
||||
|
||||
@PreAuthorize("hasAuthority('apps:bcFood:update')")
|
||||
@OperationLog
|
||||
@ApiOperation("修改发布菜品明细")
|
||||
@PutMapping()
|
||||
public ApiResult<?> update(@RequestBody BcFood bcFood) {
|
||||
if (bcFoodService.updateById(bcFood)) {
|
||||
return success("修改成功");
|
||||
}
|
||||
return fail("修改失败");
|
||||
}
|
||||
|
||||
@PreAuthorize("hasAuthority('apps:bcFood:remove')")
|
||||
@OperationLog
|
||||
@ApiOperation("删除发布菜品明细")
|
||||
@DeleteMapping("/{id}")
|
||||
public ApiResult<?> remove(@PathVariable("id") Integer id) {
|
||||
if (bcFoodService.removeById(id)) {
|
||||
return success("删除成功");
|
||||
}
|
||||
return fail("删除失败");
|
||||
}
|
||||
|
||||
@PreAuthorize("hasAuthority('apps:bcFood:save')")
|
||||
@OperationLog
|
||||
@ApiOperation("批量添加发布菜品明细")
|
||||
@PostMapping("/batch")
|
||||
public ApiResult<?> saveBatch(@RequestBody List<BcFood> list) {
|
||||
if (bcFoodService.saveBatch(list)) {
|
||||
return success("添加成功");
|
||||
}
|
||||
return fail("添加失败");
|
||||
}
|
||||
|
||||
@PreAuthorize("hasAuthority('apps:bcFood:update')")
|
||||
@OperationLog
|
||||
@ApiOperation("批量修改发布菜品明细")
|
||||
@PutMapping("/batch")
|
||||
public ApiResult<?> removeBatch(@RequestBody BatchParam<BcFood> batchParam) {
|
||||
if (batchParam.update(bcFoodService, "bc_food_id")) {
|
||||
return success("修改成功");
|
||||
}
|
||||
return fail("修改失败");
|
||||
}
|
||||
|
||||
@PreAuthorize("hasAuthority('apps:bcFood:remove')")
|
||||
@OperationLog
|
||||
@ApiOperation("批量删除发布菜品明细")
|
||||
@DeleteMapping("/batch")
|
||||
public ApiResult<?> removeBatch(@RequestBody List<Integer> ids) {
|
||||
if (bcFoodService.removeByIds(ids)) {
|
||||
return success("删除成功");
|
||||
}
|
||||
return fail("删除失败");
|
||||
}
|
||||
|
||||
}
|
||||
@@ -0,0 +1,144 @@
|
||||
package com.gxwebsoft.apps.controller;
|
||||
|
||||
import cn.hutool.core.date.DateUtil;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||
import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
|
||||
import com.gxwebsoft.apps.entity.BcPlan;
|
||||
import com.gxwebsoft.apps.param.BcPlanParam;
|
||||
import com.gxwebsoft.apps.service.BcPlanService;
|
||||
import com.gxwebsoft.common.core.annotation.OperationLog;
|
||||
import com.gxwebsoft.common.core.web.ApiResult;
|
||||
import com.gxwebsoft.common.core.web.BaseController;
|
||||
import com.gxwebsoft.common.core.web.BatchParam;
|
||||
import com.gxwebsoft.common.core.web.PageResult;
|
||||
import com.gxwebsoft.common.system.entity.User;
|
||||
import io.swagger.annotations.Api;
|
||||
import io.swagger.annotations.ApiOperation;
|
||||
import org.springframework.security.access.prepost.PreAuthorize;
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
|
||||
import javax.annotation.Resource;
|
||||
import java.util.Date;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* 菜品发布管理控制器
|
||||
*
|
||||
* @author 科技小王子
|
||||
* @since 2023-04-27 17:59:40
|
||||
*/
|
||||
@Api(tags = "菜品发布管理管理")
|
||||
@RestController
|
||||
@RequestMapping("/api/apps/bc-plan")
|
||||
public class BcPlanController extends BaseController {
|
||||
@Resource
|
||||
private BcPlanService bcPlanService;
|
||||
|
||||
@PreAuthorize("hasAuthority('apps:bcPlan:list')")
|
||||
@OperationLog
|
||||
@ApiOperation("分页查询菜品发布管理")
|
||||
@GetMapping("/page")
|
||||
public ApiResult<PageResult<BcPlan>> page(BcPlanParam param) {
|
||||
// 使用关联查询
|
||||
return success(bcPlanService.pageRel(param));
|
||||
}
|
||||
|
||||
@PreAuthorize("hasAuthority('apps:bcPlan:list')")
|
||||
@OperationLog
|
||||
@ApiOperation("查询全部菜品发布管理")
|
||||
@GetMapping()
|
||||
public ApiResult<List<BcPlan>> list(BcPlanParam param) {
|
||||
// 使用关联查询
|
||||
return success(bcPlanService.listRel(param));
|
||||
}
|
||||
|
||||
@PreAuthorize("hasAuthority('apps:bcPlan:list')")
|
||||
@OperationLog
|
||||
@ApiOperation("根据id查询菜品发布管理")
|
||||
@GetMapping("/{id}")
|
||||
public ApiResult<BcPlan> get(@PathVariable("id") Integer id) {
|
||||
// 使用关联查询
|
||||
return success(bcPlanService.getByIdRel(id));
|
||||
}
|
||||
|
||||
@PreAuthorize("hasAuthority('apps:bcPlan:save')")
|
||||
@OperationLog
|
||||
@ApiOperation("添加菜品发布管理")
|
||||
@PostMapping()
|
||||
public ApiResult<?> save(@RequestBody BcPlan bcPlan) {
|
||||
// 记录当前登录用户id、租户id、商户编号
|
||||
User loginUser = getLoginUser();
|
||||
if (loginUser != null) {
|
||||
bcPlan.setUserId(loginUser.getUserId());
|
||||
}
|
||||
if(bcPlanService.count(new LambdaQueryWrapper<BcPlan>().eq(BcPlan::getDayTime, bcPlan.getDayTime())) > 0){
|
||||
return fail("当天已发布过菜品");
|
||||
}
|
||||
bcPlan.setWeek(DateUtil.dayOfWeek(bcPlan.getDayTime()) - 1);
|
||||
if (bcPlanService.save(bcPlan)) {
|
||||
return success("发布成功");
|
||||
}
|
||||
return fail("发布失败");
|
||||
}
|
||||
|
||||
@PreAuthorize("hasAuthority('apps:bcPlan:update')")
|
||||
@OperationLog
|
||||
@ApiOperation("修改菜品发布管理")
|
||||
@PutMapping()
|
||||
public ApiResult<?> update(@RequestBody BcPlan bcPlan) {
|
||||
System.out.println("bcPlan = " + bcPlan);
|
||||
final Date dayTime = bcPlan.getDayTime();
|
||||
System.out.println("dayTime = " + dayTime);
|
||||
final int week = DateUtil.dayOfWeek(dayTime);
|
||||
bcPlan.setWeek(week - 1);
|
||||
if (bcPlanService.updateById(bcPlan)) {
|
||||
return success("修改成功");
|
||||
}
|
||||
return fail("修改失败");
|
||||
}
|
||||
|
||||
@PreAuthorize("hasAuthority('apps:bcPlan:remove')")
|
||||
@OperationLog
|
||||
@ApiOperation("删除菜品发布管理")
|
||||
@DeleteMapping("/{id}")
|
||||
public ApiResult<?> remove(@PathVariable("id") Integer id) {
|
||||
if (bcPlanService.removeById(id)) {
|
||||
return success("删除成功");
|
||||
}
|
||||
return fail("删除失败");
|
||||
}
|
||||
|
||||
@PreAuthorize("hasAuthority('apps:bcPlan:save')")
|
||||
@OperationLog
|
||||
@ApiOperation("批量添加菜品发布管理")
|
||||
@PostMapping("/batch")
|
||||
public ApiResult<?> saveBatch(@RequestBody List<BcPlan> list) {
|
||||
if (bcPlanService.saveBatch(list)) {
|
||||
return success("添加成功");
|
||||
}
|
||||
return fail("添加失败");
|
||||
}
|
||||
|
||||
@PreAuthorize("hasAuthority('apps:bcPlan:update')")
|
||||
@OperationLog
|
||||
@ApiOperation("批量修改菜品发布管理")
|
||||
@PutMapping("/batch")
|
||||
public ApiResult<?> removeBatch(@RequestBody BatchParam<BcPlan> batchParam) {
|
||||
if (batchParam.update(bcPlanService, "bc_plan_id")) {
|
||||
return success("修改成功");
|
||||
}
|
||||
return fail("修改失败");
|
||||
}
|
||||
|
||||
@PreAuthorize("hasAuthority('apps:bcPlan:remove')")
|
||||
@OperationLog
|
||||
@ApiOperation("批量删除菜品发布管理")
|
||||
@DeleteMapping("/batch")
|
||||
public ApiResult<?> removeBatch(@RequestBody List<Integer> ids) {
|
||||
if (bcPlanService.removeByIds(ids)) {
|
||||
return success("删除成功");
|
||||
}
|
||||
return fail("删除失败");
|
||||
}
|
||||
|
||||
}
|
||||
@@ -0,0 +1,342 @@
|
||||
package com.gxwebsoft.apps.controller;
|
||||
|
||||
import cn.hutool.core.date.DateUnit;
|
||||
import cn.hutool.core.date.DateUtil;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||
import com.gxwebsoft.apps.entity.BcPlan;
|
||||
import com.gxwebsoft.apps.param.BcPlanParam;
|
||||
import com.gxwebsoft.apps.service.BcPlanService;
|
||||
import com.gxwebsoft.common.core.utils.JSONUtil;
|
||||
import com.gxwebsoft.common.core.web.ApiResult;
|
||||
import com.gxwebsoft.common.core.web.BaseController;
|
||||
import com.gxwebsoft.common.system.entity.User;
|
||||
import com.gxwebsoft.common.system.service.OrganizationService;
|
||||
import com.gxwebsoft.common.system.service.UserService;
|
||||
import com.gxwebsoft.shop.entity.Goods;
|
||||
import com.gxwebsoft.shop.entity.Order;
|
||||
import com.gxwebsoft.shop.entity.OrderGoods;
|
||||
import com.gxwebsoft.shop.param.OrderGoodsParam;
|
||||
import com.gxwebsoft.shop.service.GoodsService;
|
||||
import com.gxwebsoft.shop.service.OrderGoodsService;
|
||||
import com.gxwebsoft.shop.service.OrderService;
|
||||
import io.swagger.annotations.Api;
|
||||
import io.swagger.annotations.ApiOperation;
|
||||
import org.springframework.web.bind.annotation.GetMapping;
|
||||
import org.springframework.web.bind.annotation.RequestMapping;
|
||||
import org.springframework.web.bind.annotation.RestController;
|
||||
|
||||
import javax.annotation.Resource;
|
||||
import java.text.ParseException;
|
||||
import java.text.SimpleDateFormat;
|
||||
import java.util.ArrayList;
|
||||
import java.util.Date;
|
||||
import java.util.HashMap;
|
||||
import java.util.List;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
import static com.gxwebsoft.common.core.constants.OrderConstants.*;
|
||||
|
||||
/**
|
||||
* 报餐统计控制器
|
||||
*
|
||||
* @author 科技小王子
|
||||
* @since 2023-04-27 17:59:40
|
||||
*/
|
||||
@Api(tags = "报餐统计管理")
|
||||
@RestController
|
||||
@RequestMapping("/api/apps/bc-statistics")
|
||||
public class BcStatisticsController extends BaseController {
|
||||
@Resource
|
||||
private GoodsService goodsService;
|
||||
@Resource
|
||||
private OrderService orderService;
|
||||
@Resource
|
||||
private OrderGoodsService orderGoodsService;
|
||||
@Resource
|
||||
private BcPlanService bcPlanService;
|
||||
@Resource
|
||||
private UserService userService;
|
||||
@Resource
|
||||
private OrganizationService organizationService;
|
||||
|
||||
|
||||
@ApiOperation("预定菜品统计")
|
||||
@GetMapping("/baoCanFoodCount")
|
||||
public ApiResult<?> baoCanFoodCount(BcPlanParam param) {
|
||||
// 验证签名
|
||||
isCheckSign();
|
||||
|
||||
BcPlan plan = param.getOne(bcPlanService.listRel(param));
|
||||
System.out.println("1查询菜品列表param = " + plan);
|
||||
if (plan == null) {
|
||||
return fail("当日未发布菜品");
|
||||
}
|
||||
// json转数组 如:[0,1]转为ArrayList
|
||||
ArrayList goodsIds = JSONUtil.parseObject(plan.getGoodsIds(), ArrayList.class);
|
||||
final List<Goods> list = goodsService.listByIds(goodsIds);
|
||||
final ArrayList<Goods> goods = new ArrayList<>();
|
||||
|
||||
// 查询今日有效订单
|
||||
final List<Order> orders = orderService.list(new LambdaQueryWrapper<Order>()
|
||||
.eq(Order::getDeliveryTime, param.getDayTime())
|
||||
.eq(Order::getPayStatus, PAY_STATUS_SUCCESS)
|
||||
.ne(Order::getOrderStatus, ORDER_STATUS_CANCEL)
|
||||
);
|
||||
final List<Integer> orderIds = orders.stream().map(Order::getOrderId).collect(Collectors.toList());
|
||||
|
||||
// 整理餐段菜品数据
|
||||
list.forEach(d -> {
|
||||
if (d.getCategoryId().equals(param.getCategoryId())) {
|
||||
final int DeliveryTimes = orderGoodsService.count(new LambdaQueryWrapper<OrderGoods>()
|
||||
.in(OrderGoods::getOrderId, orderIds)
|
||||
.eq(OrderGoods::getCategoryId, param.getCategoryId())
|
||||
.eq(OrderGoods::getGoodsId, d.getGoodsId())
|
||||
.gt(OrderGoods::getTotalNum, 0)
|
||||
);
|
||||
final int NoDeliveryTimes = orderGoodsService.count(new LambdaQueryWrapper<OrderGoods>()
|
||||
.in(OrderGoods::getOrderId, orderIds)
|
||||
.eq(OrderGoods::getCategoryId, param.getCategoryId())
|
||||
.eq(OrderGoods::getGoodsId, d.getGoodsId())
|
||||
.gt(OrderGoods::getTotalNum, 0)
|
||||
.eq(OrderGoods::getDeliveryStatus, 10)
|
||||
);
|
||||
|
||||
d.setDeliveryTimes(DeliveryTimes);
|
||||
d.setNoDeliveryTimes(NoDeliveryTimes);
|
||||
goods.add(d);
|
||||
}
|
||||
});
|
||||
return success("查询成功", goods);
|
||||
}
|
||||
|
||||
@ApiOperation("预定人员统计")
|
||||
@GetMapping("/baoCanUserCount")
|
||||
public ApiResult<?> baoCanUserCount(BcPlanParam param) {
|
||||
// 验证签名
|
||||
isCheckSign();
|
||||
// 查询今日有效订单
|
||||
final List<Order> list = orderService.list(new LambdaQueryWrapper<Order>()
|
||||
.eq(Order::getDeliveryTime, param.getDayTime())
|
||||
.eq(Order::getPayStatus, PAY_STATUS_SUCCESS)
|
||||
.ne(Order::getOrderStatus, ORDER_STATUS_CANCEL)
|
||||
);
|
||||
final List<Integer> orderIds = list.stream().map(Order::getOrderId).collect(Collectors.toList());
|
||||
// System.out.println("list.size() = " + list.size());
|
||||
final List<OrderGoods> list25 = orderGoodsService.list(new LambdaQueryWrapper<OrderGoods>()
|
||||
.in(OrderGoods::getOrderId, orderIds)
|
||||
.eq(OrderGoods::getCategoryId, param.getCategoryId())
|
||||
.gt(OrderGoods::getTotalNum, 0)
|
||||
.eq(OrderGoods::getDeleted, 0)
|
||||
);
|
||||
final List<Integer> userIds25 = list25.stream().map(OrderGoods::getUserId).collect(Collectors.toList());
|
||||
final List<User> users25 = userService.listByIds(userIds25);
|
||||
return success("查询成功", users25);
|
||||
}
|
||||
|
||||
@ApiOperation("报餐统计")
|
||||
@GetMapping("/baoCanUsers")
|
||||
public ApiResult<?> baoCanUsers(OrderGoodsParam param) {
|
||||
// 验证签名
|
||||
isCheckSign();
|
||||
System.out.println("param = " + param);
|
||||
// 修复订单商品的支付状态
|
||||
// repairPayPriceStatus();
|
||||
|
||||
final HashMap<Object, Object> map = new HashMap<>();
|
||||
|
||||
LambdaQueryWrapper<Order> wrapper = new LambdaQueryWrapper<>();
|
||||
// 默认查询条件
|
||||
wrapper.ge(Order::getPayStatus,PAY_STATUS_SUCCESS)
|
||||
.ne(Order::getOrderStatus, ORDER_STATUS_CANCEL);
|
||||
|
||||
// 按部门查询
|
||||
if(param.getOrganizationId() != null){
|
||||
System.out.println("按部门查询 = ");
|
||||
final List<User> users = userService.list(new LambdaQueryWrapper<User>().eq(User::getOrganizationId,param.getOrganizationId()));
|
||||
final List<Integer> collect = users.stream().map(User::getUserId).collect(Collectors.toList());
|
||||
System.out.println("userIds = " + collect);
|
||||
wrapper.in(Order::getUserId,collect);
|
||||
}
|
||||
|
||||
// 是否选择日期
|
||||
if(param.getDeliveryTime() == null && param.getDeliveryTimeStart() == null && param.getCategoryId() != 0){
|
||||
return success("请选择预定日期",map);
|
||||
}
|
||||
// 按时间范围查询
|
||||
if(param.getDeliveryTimeStart() != null){
|
||||
// 最大只能选择一个月
|
||||
SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
|
||||
try {
|
||||
Date date1 = df.parse(param.getDeliveryTimeStart());
|
||||
Date date2 = df.parse(param.getDeliveryTimeEnd());
|
||||
final boolean after = date1.after(date2);
|
||||
final long between = DateUtil.between(date1, date2, DateUnit.DAY);
|
||||
if(between > 30L){
|
||||
return fail("超出日期查询范围");
|
||||
}
|
||||
System.out.println("between = " + between);
|
||||
System.out.println("after = " + after);
|
||||
} catch (ParseException e) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
wrapper.ge(Order::getDeliveryTime,param.getDeliveryTimeStart());
|
||||
wrapper.le(Order::getDeliveryTime,param.getDeliveryTimeEnd());
|
||||
}
|
||||
// 按预定日期查询
|
||||
if(param.getDeliveryTime() != null){
|
||||
wrapper.eq(Order::getDeliveryTime,param.getDeliveryTime());
|
||||
}
|
||||
|
||||
final List<Order> list = orderService.list(wrapper);
|
||||
|
||||
if(list.size() == 0){
|
||||
return success("查询成功",null);
|
||||
}
|
||||
|
||||
System.out.println("报餐统计 = " + list.size());
|
||||
final List<Integer> orderIds = list.stream().map(Order::getOrderId).collect(Collectors.toList());
|
||||
System.out.println("orderIds = " + orderIds.size());
|
||||
|
||||
LambdaQueryWrapper<OrderGoods> queryWrapper = new LambdaQueryWrapper<>();
|
||||
queryWrapper.eq(OrderGoods::getDeleted,0)
|
||||
.gt(OrderGoods::getTotalNum,0)
|
||||
.in(OrderGoods::getOrderId,orderIds);
|
||||
|
||||
if(param.getCategoryId() != null){
|
||||
queryWrapper.eq(OrderGoods::getCategoryId,param.getCategoryId());
|
||||
}
|
||||
if(param.getGear() != null){
|
||||
queryWrapper.eq(OrderGoods::getGear,param.getGear());
|
||||
}
|
||||
// 已报餐
|
||||
final int post = orderGoodsService.count(queryWrapper);
|
||||
|
||||
// 已签到
|
||||
queryWrapper.eq(OrderGoods::getDeliveryStatus,DELIVERY_STATUS_YES);
|
||||
final int sign = orderGoodsService.count(queryWrapper);
|
||||
|
||||
// 未签到
|
||||
int noSign = post - sign;
|
||||
|
||||
map.put("post",post);
|
||||
map.put("sign",sign);
|
||||
map.put("noSign", noSign);
|
||||
return success(map);
|
||||
|
||||
|
||||
//
|
||||
//// 查询今日签到记录
|
||||
// final int sign25 = orderGoodsService.count(new LambdaQueryWrapper<OrderGoods>()
|
||||
// .in(OrderGoods::getOrderId, orderIds)
|
||||
// .eq(OrderGoods::getCategoryId, 25)
|
||||
// .eq(OrderGoods::getDeliveryStatus, 20)
|
||||
// .gt(OrderGoods::getTotalNum, 0)
|
||||
// .eq(OrderGoods::getDeleted, 0)
|
||||
// );
|
||||
// final int sign26 = orderGoodsService.count(new LambdaQueryWrapper<OrderGoods>()
|
||||
// .in(OrderGoods::getOrderId, orderIds)
|
||||
// .eq(OrderGoods::getCategoryId, 26)
|
||||
// .eq(OrderGoods::getDeliveryStatus, 20)
|
||||
// .gt(OrderGoods::getTotalNum, 0)
|
||||
// .eq(OrderGoods::getDeleted, 0)
|
||||
// );
|
||||
// final int sign27 = orderGoodsService.count(new LambdaQueryWrapper<OrderGoods>()
|
||||
// .in(OrderGoods::getOrderId, orderIds)
|
||||
// .eq(OrderGoods::getCategoryId, 27)
|
||||
// .eq(OrderGoods::getDeliveryStatus, 20)
|
||||
// .gt(OrderGoods::getTotalNum, 0)
|
||||
// .eq(OrderGoods::getDeleted, 0)
|
||||
// );
|
||||
//// // 查询今日报餐人数
|
||||
// final int post25 = orderGoodsService.count(new LambdaQueryWrapper<OrderGoods>()
|
||||
// .in(OrderGoods::getOrderId, orderIds)
|
||||
// .eq(OrderGoods::getCategoryId, 25)
|
||||
// .gt(OrderGoods::getTotalNum, 0)
|
||||
// .eq(OrderGoods::getDeleted, 0)
|
||||
// );
|
||||
// final int post26 = orderGoodsService.count(new LambdaQueryWrapper<OrderGoods>()
|
||||
// .in(OrderGoods::getOrderId, orderIds)
|
||||
// .eq(OrderGoods::getCategoryId, 26)
|
||||
// .gt(OrderGoods::getTotalNum, 0)
|
||||
// .eq(OrderGoods::getDeleted, 0)
|
||||
// );
|
||||
// final int post27 = orderGoodsService.count(new LambdaQueryWrapper<OrderGoods>()
|
||||
// .in(OrderGoods::getOrderId, orderIds)
|
||||
// .eq(OrderGoods::getCategoryId, 27)
|
||||
// .gt(OrderGoods::getTotalNum, 0)
|
||||
// .eq(OrderGoods::getDeleted, 0)
|
||||
// );
|
||||
////
|
||||
// map.put("breakfastSignUsers", sign25);
|
||||
// map.put("lunchSignUsers", sign26);
|
||||
// map.put("dinnerSignUsers", sign27);
|
||||
//
|
||||
// map.put("breakfastPostUsers", post25);
|
||||
// map.put("lunchPostUsers", post26);
|
||||
// map.put("dinnerPostUsers", post27);
|
||||
|
||||
|
||||
}
|
||||
|
||||
@ApiOperation("导出报表")
|
||||
@GetMapping("/export")
|
||||
public ApiResult<?> export(OrderGoodsParam param) {
|
||||
return success("导出报表");
|
||||
}
|
||||
|
||||
private void repairPayPriceStatus() {
|
||||
final OrderGoodsParam param = new OrderGoodsParam();
|
||||
param.setUserId(0);
|
||||
final List<OrderGoods> list = orderGoodsService.listRel(param);
|
||||
System.out.println("修复支付状态 = " + list.size());
|
||||
list.forEach(d -> {
|
||||
final Order order = orderService.getById(d.getOrderId());
|
||||
if (order != null) {
|
||||
System.out.println("order = " + order);
|
||||
d.setPayStatus(PAY_STATUS_SUCCESS);
|
||||
d.setUserId(order.getUserId());
|
||||
orderGoodsService.updateById(d);
|
||||
} else {
|
||||
orderGoodsService.removeById(d);
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
private void updateTimeByOrderGoods() {
|
||||
System.out.println("修复数据 = ");
|
||||
// final Order order = orderService.getById(2467);
|
||||
final LambdaQueryWrapper<Order> wrapper = new LambdaQueryWrapper<>();
|
||||
// wrapper.eq(Order::getTenantId,10048);
|
||||
// wrapper.eq(Order::getDeleted,0);
|
||||
// wrapper.eq(Order::getOrderStatus,10);
|
||||
// wrapper.eq(Order::getDeliveryStatus,10);
|
||||
wrapper.in(Order::getOrderId, 3184);
|
||||
// wrapper.eq(Order::getPayStatus,20);
|
||||
// wrapper.gt(Order::getOrderId,1000);
|
||||
// wrapper.lt(Order::getOrderId,2000);
|
||||
final List<Order> list = orderService.list(wrapper);
|
||||
System.out.println("修复数据list = " + list.size());
|
||||
list.forEach(order -> {
|
||||
final OrderGoodsParam orderGoodsParam = new OrderGoodsParam();
|
||||
orderGoodsParam.setOrderId(order.getOrderId());
|
||||
final List<OrderGoods> goods = orderGoodsService.listRel(orderGoodsParam);
|
||||
goods.forEach(d -> {
|
||||
d.setDeliveryTime(order.getDeliveryTime());
|
||||
d.setPayStatus(order.getPayStatus());
|
||||
orderGoodsService.updateById(d);
|
||||
System.out.println("修复预定时间 = " + d.getOrderId());
|
||||
});
|
||||
});
|
||||
}
|
||||
|
||||
|
||||
@ApiOperation("今日上架物品")
|
||||
@GetMapping("/getNoGrounding")
|
||||
public ApiResult<?> getNoGrounding(BcPlanParam param) {
|
||||
final List<BcPlan> list = bcPlanService.list(new LambdaQueryWrapper<BcPlan>().eq(BcPlan::getDayTime, param.getDayTime()));
|
||||
final BcPlan bcPlan = list.get(0);
|
||||
final ArrayList arrayList = JSONUtil.parseObject(bcPlan.getGoodsIds(), ArrayList.class);
|
||||
// final List<Goods> goodsList = goodsService.list(new LambdaQueryWrapper<Goods>().in(Goods::getGoodsId, arrayList));
|
||||
return success("查询成功", arrayList);
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,158 @@
|
||||
package com.gxwebsoft.apps.controller;
|
||||
|
||||
import cn.hutool.core.date.DateTime;
|
||||
import cn.hutool.core.date.DateUtil;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||
import com.gxwebsoft.common.core.web.BaseController;
|
||||
import com.gxwebsoft.apps.service.BcTemporaryService;
|
||||
import com.gxwebsoft.apps.entity.BcTemporary;
|
||||
import com.gxwebsoft.apps.param.BcTemporaryParam;
|
||||
import com.gxwebsoft.common.core.web.ApiResult;
|
||||
import com.gxwebsoft.common.core.web.PageResult;
|
||||
import com.gxwebsoft.common.core.web.PageParam;
|
||||
import com.gxwebsoft.common.core.web.BatchParam;
|
||||
import com.gxwebsoft.common.core.annotation.OperationLog;
|
||||
import com.gxwebsoft.common.system.entity.User;
|
||||
import io.swagger.annotations.Api;
|
||||
import io.swagger.annotations.ApiOperation;
|
||||
import org.springframework.security.access.prepost.PreAuthorize;
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
|
||||
import javax.annotation.Resource;
|
||||
import java.util.Date;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* 临时报餐管理控制器
|
||||
*
|
||||
* @author 科技小王子
|
||||
* @since 2023-04-24 21:47:57
|
||||
*/
|
||||
@Api(tags = "临时报餐管理管理")
|
||||
@RestController
|
||||
@RequestMapping("/api/apps/bc-temporary")
|
||||
public class BcTemporaryController extends BaseController {
|
||||
@Resource
|
||||
private BcTemporaryService bcTemporaryService;
|
||||
|
||||
@PreAuthorize("hasAuthority('apps:bcTemporary:list')")
|
||||
@OperationLog
|
||||
@ApiOperation("分页查询临时报餐管理")
|
||||
@GetMapping("/page")
|
||||
public ApiResult<PageResult<BcTemporary>> page(BcTemporaryParam param) {
|
||||
// 使用关联查询
|
||||
return success(bcTemporaryService.pageRel(param));
|
||||
}
|
||||
|
||||
@PreAuthorize("hasAuthority('apps:bcTemporary:list')")
|
||||
@OperationLog
|
||||
@ApiOperation("查询全部临时报餐管理")
|
||||
@GetMapping()
|
||||
public ApiResult<List<BcTemporary>> list(BcTemporaryParam param) {
|
||||
// 使用关联查询
|
||||
return success(bcTemporaryService.listRel(param));
|
||||
}
|
||||
|
||||
@PreAuthorize("hasAuthority('apps:bcTemporary:list')")
|
||||
@OperationLog
|
||||
@ApiOperation("根据id查询临时报餐管理")
|
||||
@GetMapping("/{id}")
|
||||
public ApiResult<BcTemporary> get(@PathVariable("id") Integer id) {
|
||||
return success(bcTemporaryService.getById(id));
|
||||
// 使用关联查询
|
||||
//return success(bcTemporaryService.getByIdRel(id));
|
||||
}
|
||||
|
||||
@PreAuthorize("hasAuthority('apps:bcTemporary:save')")
|
||||
@OperationLog
|
||||
@ApiOperation("添加临时报餐管理")
|
||||
@PostMapping()
|
||||
public ApiResult<?> save(@RequestBody BcTemporary bcTemporary) {
|
||||
bcTemporary.setUserId(getLoginUserId());
|
||||
if (bcTemporaryService.save(bcTemporary)) {
|
||||
return success("添加成功");
|
||||
}
|
||||
return fail("添加失败");
|
||||
}
|
||||
|
||||
|
||||
@PreAuthorize("hasAuthority('apps:bcTemporary:save')")
|
||||
@OperationLog
|
||||
@ApiOperation("申请临时报餐")
|
||||
@PostMapping("/apply")
|
||||
public ApiResult<?> apply(@RequestBody BcTemporary bcTemporary) {
|
||||
bcTemporary.setUserId(getLoginUserId());
|
||||
final int count = bcTemporaryService.count(new LambdaQueryWrapper<BcTemporary>()
|
||||
.eq(BcTemporary::getUserId, getLoginUserId())
|
||||
.eq(BcTemporary::getStatus, 0)
|
||||
.eq(BcTemporary::getDayTime,DateUtil.today()));
|
||||
if(count > 0){
|
||||
return fail("请勿重复提交");
|
||||
}
|
||||
final DateTime dayTime = DateUtil.parse(DateUtil.today());
|
||||
bcTemporary.setDayTime(dayTime);
|
||||
bcTemporary.setExpirationTime(DateUtil.offsetMinute(DateUtil.parse(DateUtil.now()), 60));
|
||||
if (bcTemporaryService.save(bcTemporary)) {
|
||||
return success("提交成功");
|
||||
}
|
||||
return fail("提交成功");
|
||||
}
|
||||
|
||||
@PreAuthorize("hasAuthority('apps:bcTemporary:list')")
|
||||
@OperationLog
|
||||
@ApiOperation("修改临时报餐管理")
|
||||
@PutMapping()
|
||||
public ApiResult<?> update(@RequestBody BcTemporary bcTemporary) {
|
||||
// 失效时间为审核通过后半个小时
|
||||
bcTemporary.setExpirationTime(DateUtil.offsetMinute(DateUtil.parse(DateUtil.now()), 60));
|
||||
if (bcTemporaryService.updateById(bcTemporary)) {
|
||||
return success("修改成功");
|
||||
}
|
||||
return fail("修改失败");
|
||||
}
|
||||
|
||||
@PreAuthorize("hasAuthority('apps:bcTemporary:remove')")
|
||||
@OperationLog
|
||||
@ApiOperation("删除临时报餐管理")
|
||||
@DeleteMapping("/{id}")
|
||||
public ApiResult<?> remove(@PathVariable("id") Integer id) {
|
||||
if (bcTemporaryService.removeById(id)) {
|
||||
return success("删除成功");
|
||||
}
|
||||
return fail("删除失败");
|
||||
}
|
||||
|
||||
@PreAuthorize("hasAuthority('apps:bcTemporary:save')")
|
||||
@OperationLog
|
||||
@ApiOperation("批量添加临时报餐管理")
|
||||
@PostMapping("/batch")
|
||||
public ApiResult<?> saveBatch(@RequestBody List<BcTemporary> list) {
|
||||
if (bcTemporaryService.saveBatch(list)) {
|
||||
return success("添加成功");
|
||||
}
|
||||
return fail("添加失败");
|
||||
}
|
||||
|
||||
@PreAuthorize("hasAuthority('apps:bcTemporary:update')")
|
||||
@OperationLog
|
||||
@ApiOperation("批量修改临时报餐管理")
|
||||
@PutMapping("/batch")
|
||||
public ApiResult<?> removeBatch(@RequestBody BatchParam<BcTemporary> batchParam) {
|
||||
if (batchParam.update(bcTemporaryService, "temporary_id")) {
|
||||
return success("修改成功");
|
||||
}
|
||||
return fail("修改失败");
|
||||
}
|
||||
|
||||
@PreAuthorize("hasAuthority('apps:bcTemporary:remove')")
|
||||
@OperationLog
|
||||
@ApiOperation("批量删除临时报餐管理")
|
||||
@DeleteMapping("/batch")
|
||||
public ApiResult<?> removeBatch(@RequestBody List<Integer> ids) {
|
||||
if (bcTemporaryService.removeByIds(ids)) {
|
||||
return success("删除成功");
|
||||
}
|
||||
return fail("删除失败");
|
||||
}
|
||||
|
||||
}
|
||||
@@ -0,0 +1,137 @@
|
||||
package com.gxwebsoft.apps.controller;
|
||||
|
||||
import com.gxwebsoft.common.core.web.BaseController;
|
||||
import com.gxwebsoft.apps.service.CashierService;
|
||||
import com.gxwebsoft.apps.entity.Cashier;
|
||||
import com.gxwebsoft.apps.param.CashierParam;
|
||||
import com.gxwebsoft.common.core.web.ApiResult;
|
||||
import com.gxwebsoft.common.core.web.PageResult;
|
||||
import com.gxwebsoft.common.core.web.PageParam;
|
||||
import com.gxwebsoft.common.core.web.BatchParam;
|
||||
import com.gxwebsoft.common.core.annotation.OperationLog;
|
||||
import com.gxwebsoft.common.system.entity.User;
|
||||
import io.swagger.annotations.Api;
|
||||
import io.swagger.annotations.ApiOperation;
|
||||
import org.springframework.security.access.prepost.PreAuthorize;
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
|
||||
import javax.annotation.Resource;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* 海牛收银台记录表控制器
|
||||
*
|
||||
* @author WebSoft
|
||||
* @since 2022-11-18 11:47:09
|
||||
*/
|
||||
@Api(tags = "海牛收银台记录表管理")
|
||||
@RestController
|
||||
@RequestMapping("/api/apps/cashier")
|
||||
public class CashierController extends BaseController {
|
||||
@Resource
|
||||
private CashierService cashierService;
|
||||
|
||||
@PreAuthorize("hasAuthority('apps:cashier:list')")
|
||||
@OperationLog
|
||||
@ApiOperation("分页查询海牛收银台记录表")
|
||||
@GetMapping("/page")
|
||||
public ApiResult<PageResult<Cashier>> page(CashierParam param) {
|
||||
PageParam<Cashier, CashierParam> page = new PageParam<>(param);
|
||||
page.setDefaultOrder("create_time desc");
|
||||
return success(cashierService.page(page, page.getWrapper()));
|
||||
// 使用关联查询
|
||||
//return success(cashierService.pageRel(param));
|
||||
}
|
||||
|
||||
@PreAuthorize("hasAuthority('apps:cashier:list')")
|
||||
@OperationLog
|
||||
@ApiOperation("查询全部海牛收银台记录表")
|
||||
@GetMapping()
|
||||
public ApiResult<List<Cashier>> list(CashierParam param) {
|
||||
PageParam<Cashier, CashierParam> page = new PageParam<>(param);
|
||||
page.setDefaultOrder("create_time desc");
|
||||
return success(cashierService.list(page.getOrderWrapper()));
|
||||
// 使用关联查询
|
||||
//return success(cashierService.listRel(param));
|
||||
}
|
||||
|
||||
@PreAuthorize("hasAuthority('apps:cashier:list')")
|
||||
@OperationLog
|
||||
@ApiOperation("根据id查询海牛收银台记录表")
|
||||
@GetMapping("/{id}")
|
||||
public ApiResult<Cashier> get(@PathVariable("id") Integer id) {
|
||||
return success(cashierService.getById(id));
|
||||
// 使用关联查询
|
||||
//return success(cashierService.getByIdRel(id));
|
||||
}
|
||||
|
||||
@PreAuthorize("hasAuthority('apps:cashier:save')")
|
||||
@OperationLog
|
||||
@ApiOperation("添加海牛收银台记录表")
|
||||
@PostMapping()
|
||||
public ApiResult<?> save(@RequestBody Cashier cashier) {
|
||||
if(getMerchantCode() != null){
|
||||
cashier.setMerchantCode(getMerchantCode());
|
||||
}
|
||||
if (cashierService.save(cashier)) {
|
||||
return success("添加成功");
|
||||
}
|
||||
return fail("添加失败");
|
||||
}
|
||||
|
||||
@PreAuthorize("hasAuthority('apps:cashier:update')")
|
||||
@OperationLog
|
||||
@ApiOperation("修改海牛收银台记录表")
|
||||
@PutMapping()
|
||||
public ApiResult<?> update(@RequestBody Cashier cashier) {
|
||||
if (cashierService.updateById(cashier)) {
|
||||
return success("修改成功");
|
||||
}
|
||||
return fail("修改失败");
|
||||
}
|
||||
|
||||
@PreAuthorize("hasAuthority('apps:cashier:remove')")
|
||||
@OperationLog
|
||||
@ApiOperation("删除海牛收银台记录表")
|
||||
@DeleteMapping("/{id}")
|
||||
public ApiResult<?> remove(@PathVariable("id") Integer id) {
|
||||
if (cashierService.removeById(id)) {
|
||||
return success("删除成功");
|
||||
}
|
||||
return fail("删除失败");
|
||||
}
|
||||
|
||||
@PreAuthorize("hasAuthority('apps:cashier:save')")
|
||||
@OperationLog
|
||||
@ApiOperation("批量添加海牛收银台记录表")
|
||||
@PostMapping("/batch")
|
||||
public ApiResult<?> saveBatch(@RequestBody List<Cashier> list) {
|
||||
if (cashierService.saveBatch(list)) {
|
||||
return success("添加成功");
|
||||
}
|
||||
return fail("添加失败");
|
||||
}
|
||||
|
||||
@PreAuthorize("hasAuthority('apps:cashier:update')")
|
||||
@OperationLog
|
||||
@ApiOperation("批量修改海牛收银台记录表")
|
||||
@PutMapping("/batch")
|
||||
public ApiResult<?> removeBatch(@RequestBody BatchParam<Cashier> batchParam) {
|
||||
if (batchParam.update(cashierService, "cashier_id")) {
|
||||
return success("修改成功");
|
||||
}
|
||||
return fail("修改失败");
|
||||
}
|
||||
|
||||
@PreAuthorize("hasAuthority('apps:cashier:remove')")
|
||||
@OperationLog
|
||||
@ApiOperation("批量删除海牛收银台记录表")
|
||||
@DeleteMapping("/batch")
|
||||
public ApiResult<?> removeBatch(@RequestBody List<Integer> ids) {
|
||||
if (cashierService.removeByIds(ids)) {
|
||||
return success("删除成功");
|
||||
}
|
||||
return fail("删除失败");
|
||||
}
|
||||
|
||||
}
|
||||
@@ -0,0 +1,140 @@
|
||||
package com.gxwebsoft.apps.controller;
|
||||
|
||||
import com.gxwebsoft.common.core.web.BaseController;
|
||||
import com.gxwebsoft.apps.service.EquipmentAlarmService;
|
||||
import com.gxwebsoft.apps.entity.EquipmentAlarm;
|
||||
import com.gxwebsoft.apps.param.EquipmentAlarmParam;
|
||||
import com.gxwebsoft.common.core.web.ApiResult;
|
||||
import com.gxwebsoft.common.core.web.PageResult;
|
||||
import com.gxwebsoft.common.core.web.PageParam;
|
||||
import com.gxwebsoft.common.core.web.BatchParam;
|
||||
import com.gxwebsoft.common.core.annotation.OperationLog;
|
||||
import com.gxwebsoft.common.system.entity.User;
|
||||
import io.swagger.annotations.Api;
|
||||
import io.swagger.annotations.ApiOperation;
|
||||
import org.springframework.security.access.prepost.PreAuthorize;
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
|
||||
import javax.annotation.Resource;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* 故障报警记录控制器
|
||||
*
|
||||
* @author 科技小王子
|
||||
* @since 2022-12-01 23:49:44
|
||||
*/
|
||||
@Api(tags = "故障报警记录管理")
|
||||
@RestController
|
||||
@RequestMapping("/api/apps/equipment-alarm")
|
||||
public class EquipmentAlarmController extends BaseController {
|
||||
@Resource
|
||||
private EquipmentAlarmService equipmentAlarmService;
|
||||
|
||||
@PreAuthorize("hasAuthority('apps:equipmentAlarm:list')")
|
||||
@OperationLog
|
||||
@ApiOperation("分页查询故障报警记录")
|
||||
@GetMapping("/page")
|
||||
public ApiResult<PageResult<EquipmentAlarm>> page(EquipmentAlarmParam param) {
|
||||
PageParam<EquipmentAlarm, EquipmentAlarmParam> page = new PageParam<>(param);
|
||||
page.setDefaultOrder("create_time desc");
|
||||
// return success(equipmentAlarmService.page(page, page.getWrapper()));
|
||||
// 使用关联查询
|
||||
return success(equipmentAlarmService.pageRel(param));
|
||||
}
|
||||
|
||||
@PreAuthorize("hasAuthority('apps:equipmentAlarm:list')")
|
||||
@OperationLog
|
||||
@ApiOperation("查询全部故障报警记录")
|
||||
@GetMapping()
|
||||
public ApiResult<List<EquipmentAlarm>> list(EquipmentAlarmParam param) {
|
||||
PageParam<EquipmentAlarm, EquipmentAlarmParam> page = new PageParam<>(param);
|
||||
page.setDefaultOrder("create_time desc");
|
||||
return success(equipmentAlarmService.list(page.getOrderWrapper()));
|
||||
// 使用关联查询
|
||||
//return success(equipmentAlarmService.listRel(param));
|
||||
}
|
||||
|
||||
@PreAuthorize("hasAuthority('apps:equipmentAlarm:list')")
|
||||
@OperationLog
|
||||
@ApiOperation("根据id查询故障报警记录")
|
||||
@GetMapping("/{id}")
|
||||
public ApiResult<EquipmentAlarm> get(@PathVariable("id") Integer id) {
|
||||
return success(equipmentAlarmService.getById(id));
|
||||
// 使用关联查询
|
||||
//return success(equipmentAlarmService.getByIdRel(id));
|
||||
}
|
||||
|
||||
@PreAuthorize("hasAuthority('apps:equipmentAlarm:save')")
|
||||
@OperationLog
|
||||
@ApiOperation("添加故障报警记录")
|
||||
@PostMapping()
|
||||
public ApiResult<?> save(@RequestBody EquipmentAlarm equipmentAlarm) {
|
||||
// 记录当前登录用户id、租户id
|
||||
User loginUser = getLoginUser();
|
||||
if (loginUser != null) {
|
||||
equipmentAlarm.setUserId(loginUser.getUserId());
|
||||
equipmentAlarm.setMerchantCode(getMerchantCode());
|
||||
}
|
||||
if (equipmentAlarmService.save(equipmentAlarm)) {
|
||||
return success("添加成功");
|
||||
}
|
||||
return fail("添加失败");
|
||||
}
|
||||
|
||||
@PreAuthorize("hasAuthority('apps:equipmentAlarm:update')")
|
||||
@OperationLog
|
||||
@ApiOperation("修改故障报警记录")
|
||||
@PutMapping()
|
||||
public ApiResult<?> update(@RequestBody EquipmentAlarm equipmentAlarm) {
|
||||
if (equipmentAlarmService.updateById(equipmentAlarm)) {
|
||||
return success("修改成功");
|
||||
}
|
||||
return fail("修改失败");
|
||||
}
|
||||
|
||||
@PreAuthorize("hasAuthority('apps:equipmentAlarm:remove')")
|
||||
@OperationLog
|
||||
@ApiOperation("删除故障报警记录")
|
||||
@DeleteMapping("/{id}")
|
||||
public ApiResult<?> remove(@PathVariable("id") Integer id) {
|
||||
if (equipmentAlarmService.removeById(id)) {
|
||||
return success("删除成功");
|
||||
}
|
||||
return fail("删除失败");
|
||||
}
|
||||
|
||||
@PreAuthorize("hasAuthority('apps:equipmentAlarm:save')")
|
||||
@OperationLog
|
||||
@ApiOperation("批量添加故障报警记录")
|
||||
@PostMapping("/batch")
|
||||
public ApiResult<?> saveBatch(@RequestBody List<EquipmentAlarm> list) {
|
||||
if (equipmentAlarmService.saveBatch(list)) {
|
||||
return success("添加成功");
|
||||
}
|
||||
return fail("添加失败");
|
||||
}
|
||||
|
||||
@PreAuthorize("hasAuthority('apps:equipmentAlarm:update')")
|
||||
@OperationLog
|
||||
@ApiOperation("批量修改故障报警记录")
|
||||
@PutMapping("/batch")
|
||||
public ApiResult<?> removeBatch(@RequestBody BatchParam<EquipmentAlarm> batchParam) {
|
||||
if (batchParam.update(equipmentAlarmService, "id")) {
|
||||
return success("修改成功");
|
||||
}
|
||||
return fail("修改失败");
|
||||
}
|
||||
|
||||
@PreAuthorize("hasAuthority('apps:equipmentAlarm:remove')")
|
||||
@OperationLog
|
||||
@ApiOperation("批量删除故障报警记录")
|
||||
@DeleteMapping("/batch")
|
||||
public ApiResult<?> removeBatch(@RequestBody List<Integer> ids) {
|
||||
if (equipmentAlarmService.removeByIds(ids)) {
|
||||
return success("删除成功");
|
||||
}
|
||||
return fail("删除失败");
|
||||
}
|
||||
|
||||
}
|
||||
@@ -0,0 +1,253 @@
|
||||
package com.gxwebsoft.apps.controller;
|
||||
|
||||
import cn.hutool.core.date.DateUtil;
|
||||
import com.alibaba.fastjson.JSONObject;
|
||||
import com.alipay.api.AlipayApiException;
|
||||
import com.alipay.api.DefaultAlipayClient;
|
||||
import com.alipay.api.domain.AlipayOpenAppQrcodeCreateModel;
|
||||
import com.alipay.api.request.AlipayOpenAppQrcodeCreateRequest;
|
||||
import com.alipay.api.response.AlipayOpenAppQrcodeCreateResponse;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||
import com.gxwebsoft.apps.entity.Equipment;
|
||||
import com.gxwebsoft.apps.entity.EquipmentRecord;
|
||||
import com.gxwebsoft.apps.param.EquipmentParam;
|
||||
import com.gxwebsoft.apps.service.EquipmentRecordService;
|
||||
import com.gxwebsoft.apps.service.EquipmentService;
|
||||
import com.gxwebsoft.common.core.annotation.OperationLog;
|
||||
import com.gxwebsoft.common.core.exception.BusinessException;
|
||||
import com.gxwebsoft.common.core.utils.AlipayConfigUtil;
|
||||
import com.gxwebsoft.common.core.web.*;
|
||||
import com.gxwebsoft.common.system.entity.User;
|
||||
import com.gxwebsoft.shop.entity.Merchant;
|
||||
import com.gxwebsoft.shop.entity.Order;
|
||||
import com.gxwebsoft.shop.service.MerchantService;
|
||||
import com.gxwebsoft.shop.service.OrderService;
|
||||
import io.swagger.annotations.Api;
|
||||
import io.swagger.annotations.ApiOperation;
|
||||
import org.springframework.security.access.prepost.PreAuthorize;
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
|
||||
import javax.annotation.Resource;
|
||||
import java.util.List;
|
||||
|
||||
import static com.gxwebsoft.apps.constants.EquipmentConstants.EVENT_TYPE_BIND;
|
||||
import static com.gxwebsoft.common.core.constants.OrderConstants.*;
|
||||
|
||||
/**
|
||||
* 设备管理控制器
|
||||
*
|
||||
* @author 科技小王子
|
||||
* @since 2022-11-30 02:11:16
|
||||
*/
|
||||
@Api(tags = "设备管理管理")
|
||||
@RestController
|
||||
@RequestMapping("/api/apps/equipment")
|
||||
public class EquipmentController extends BaseController {
|
||||
@Resource
|
||||
private EquipmentService equipmentService;
|
||||
@Resource
|
||||
private OrderService orderService;
|
||||
@Resource
|
||||
private AlipayConfigUtil alipayConfig;
|
||||
@Resource
|
||||
private MerchantService merchantService;
|
||||
@Resource
|
||||
private EquipmentRecordService equipmentRecordService;
|
||||
|
||||
@PreAuthorize("hasAuthority('apps:equipment:list')")
|
||||
@OperationLog
|
||||
@ApiOperation("分页查询设备管理")
|
||||
@GetMapping("/page")
|
||||
public ApiResult<PageResult<Equipment>> page(EquipmentParam param) {
|
||||
// 使用关联查询
|
||||
if (getMerchantCode() != null) {
|
||||
param.setMerchantCode(getMerchantCode());
|
||||
}
|
||||
return success(equipmentService.pageRel(param));
|
||||
}
|
||||
|
||||
@PreAuthorize("hasAuthority('apps:equipment:list')")
|
||||
@OperationLog
|
||||
@ApiOperation("查询全部设备管理")
|
||||
@GetMapping()
|
||||
public ApiResult<List<Equipment>> list(EquipmentParam param) {
|
||||
PageParam<Equipment, EquipmentParam> page = new PageParam<>(param);
|
||||
// page.setDefaultOrder("create_time desc");
|
||||
// return success(equipmentService.list(page.getOrderWrapper()));
|
||||
// 使用关联查询
|
||||
return success(equipmentService.listRel(param));
|
||||
}
|
||||
|
||||
@PreAuthorize("hasAuthority('apps:equipment:list')")
|
||||
@OperationLog
|
||||
@ApiOperation("根据id查询设备管理")
|
||||
@GetMapping("/{id}")
|
||||
public ApiResult<Equipment> get(@PathVariable("id") Integer id) {
|
||||
// return success(equipmentService.getById(id));
|
||||
// 使用关联查询
|
||||
return success(equipmentService.getByIdRel(id));
|
||||
}
|
||||
|
||||
@PreAuthorize("hasAuthority('apps:equipment:save')")
|
||||
@OperationLog
|
||||
@ApiOperation("添加设备管理")
|
||||
@PostMapping()
|
||||
public ApiResult<?> save(@RequestBody Equipment equipment) throws AlipayApiException {
|
||||
// 记录当前登录用户id、租户id
|
||||
User loginUser = getLoginUser();
|
||||
if (getMerchantCode() != null) {
|
||||
equipment.setMerchantCode(getMerchantCode());
|
||||
}
|
||||
if (equipmentService.count(new LambdaQueryWrapper<Equipment>()
|
||||
.eq(Equipment::getEquipmentCode, equipment.getEquipmentCode())) > 0) {
|
||||
return fail("设备编号已存在");
|
||||
}
|
||||
if (equipmentService.save(equipment)) {
|
||||
// 生成二维码
|
||||
String qrcode = createQrcode(equipment);
|
||||
equipment.setQrcode(qrcode);
|
||||
equipmentService.saveOrUpdate(equipment);
|
||||
return success("添加成功");
|
||||
}
|
||||
return fail("添加失败");
|
||||
}
|
||||
|
||||
@PreAuthorize("hasAuthority('apps:equipment:update')")
|
||||
@OperationLog
|
||||
@ApiOperation("修改设备管理")
|
||||
@PutMapping()
|
||||
public ApiResult<?> update(@RequestBody Equipment equipment) throws AlipayApiException {
|
||||
if (equipmentService.updateById(equipment)) {
|
||||
// 生成二维码
|
||||
String qrcode = createQrcode(equipment);
|
||||
equipment.setQrcode(qrcode);
|
||||
equipmentService.saveOrUpdate(equipment);
|
||||
return success("修改成功");
|
||||
}
|
||||
return fail("修改失败");
|
||||
}
|
||||
|
||||
@PreAuthorize("hasAuthority('apps:equipment:update')")
|
||||
@OperationLog
|
||||
@ApiOperation("绑定设备")
|
||||
@PutMapping("/bind")
|
||||
public ApiResult<?> bindEquipment(@RequestBody Equipment equipment) {
|
||||
final Integer orderId = equipment.getOrderId();
|
||||
final Order order = orderService.getById(orderId);
|
||||
Equipment one = equipmentService.getOne(new LambdaQueryWrapper<Equipment>().eq(Equipment::getEquipmentCode, equipment.getEquipmentCode()));
|
||||
if(one == null){
|
||||
return fail("设备不存在");
|
||||
}
|
||||
if(!one.getUserId().equals(0)){
|
||||
return fail("该设备已被绑定");
|
||||
}
|
||||
Equipment saveData = new Equipment();
|
||||
saveData.setEquipmentId(one.getEquipmentId());
|
||||
saveData.setUserId(equipment.getUserId());
|
||||
saveData.setOrderId(orderId);
|
||||
if (equipmentService.updateById(saveData)) {
|
||||
// 记录明细
|
||||
EquipmentRecord record = new EquipmentRecord();
|
||||
record.setEquipmentCode(one.getEquipmentCode());
|
||||
record.setUserId(getLoginUserId());
|
||||
record.setEventType(EVENT_TYPE_BIND);
|
||||
record.setComments("订单号:".concat(Long.toString(order.getOrderNo())));
|
||||
record.setMerchantCode(one.getMerchantCode());
|
||||
equipmentRecordService.save(record);
|
||||
// 订单发货
|
||||
order.setDeliveryStatus(DELIVERY_STATUS_YES);
|
||||
order.setOrderStatus(ORDER_STATUS_COMPLETED);
|
||||
order.setReceiptStatus(RECEIPT_STATUS_YES);
|
||||
order.setExpirationTime(DateUtil.nextMonth());
|
||||
order.setEquipmentId(one.getEquipmentId());
|
||||
orderService.updateById(order);
|
||||
return success("绑定成功");
|
||||
}
|
||||
return fail("绑定失败");
|
||||
}
|
||||
|
||||
@PreAuthorize("hasAuthority('apps:equipment:remove')")
|
||||
@OperationLog
|
||||
@ApiOperation("删除设备管理")
|
||||
@DeleteMapping("/{id}")
|
||||
public ApiResult<?> remove(@PathVariable("id") Integer id) {
|
||||
if (equipmentService.removeById(id)) {
|
||||
return success("删除成功");
|
||||
}
|
||||
return fail("删除失败");
|
||||
}
|
||||
|
||||
@PreAuthorize("hasAuthority('apps:equipment:save')")
|
||||
@OperationLog
|
||||
@ApiOperation("批量添加设备管理")
|
||||
@PostMapping("/batch")
|
||||
public ApiResult<?> saveBatch(@RequestBody List<Equipment> list) {
|
||||
if (equipmentService.saveBatch(list)) {
|
||||
return success("添加成功");
|
||||
}
|
||||
return fail("添加失败");
|
||||
}
|
||||
|
||||
@PreAuthorize("hasAuthority('apps:equipment:update')")
|
||||
@OperationLog
|
||||
@ApiOperation("批量修改设备管理")
|
||||
@PutMapping("/batch")
|
||||
public ApiResult<?> removeBatch(@RequestBody BatchParam<Equipment> batchParam) {
|
||||
if (batchParam.update(equipmentService, "equipment_id")) {
|
||||
return success("修改成功");
|
||||
}
|
||||
return fail("修改失败");
|
||||
}
|
||||
|
||||
@PreAuthorize("hasAuthority('apps:equipment:remove')")
|
||||
@OperationLog
|
||||
@ApiOperation("批量删除设备管理")
|
||||
@DeleteMapping("/batch")
|
||||
public ApiResult<?> removeBatch(@RequestBody List<Integer> ids) {
|
||||
if (equipmentService.removeByIds(ids)) {
|
||||
return success("删除成功");
|
||||
}
|
||||
return fail("删除失败");
|
||||
}
|
||||
|
||||
// 生成支付宝小程序码
|
||||
private String createQrcode(Equipment equipment) throws AlipayApiException{
|
||||
// 实例化客户端
|
||||
DefaultAlipayClient alipayClient = alipayConfig.alipayClient(getTenantId());
|
||||
|
||||
AlipayOpenAppQrcodeCreateRequest request = new AlipayOpenAppQrcodeCreateRequest();
|
||||
AlipayOpenAppQrcodeCreateModel model = new AlipayOpenAppQrcodeCreateModel();
|
||||
model.setUrlParam("pages/equipment/equipment");
|
||||
System.out.println("equipment = " + equipment);
|
||||
// __id__=2&merchantCode=M311539&merchantId=52
|
||||
// pages/equipment/equipment
|
||||
|
||||
// Merchant merchant = merchantService.getMerchantByCode(equipment.getMerchantCode());
|
||||
// if(merchant == null){
|
||||
// throw new BusinessException("该商户不存在");
|
||||
// }
|
||||
model.setQueryParam("equipmentId=".concat(equipment.getEquipmentId().toString()));
|
||||
model.setDescribe("扫码租赁电池");
|
||||
request.setBizModel(model);
|
||||
AlipayOpenAppQrcodeCreateResponse response = alipayClient.certificateExecute(request);
|
||||
System.out.println(response.getBody());
|
||||
if (response.isSuccess()) {
|
||||
System.out.println("调用成功");
|
||||
final JSONObject jsonObject = JSONObject.parseObject(response.getBody());
|
||||
final String alipay_open_app_qrcode_create_response = jsonObject.getString("alipay_open_app_qrcode_create_response");
|
||||
final JSONObject jsonObject1 = JSONObject.parseObject(alipay_open_app_qrcode_create_response);
|
||||
return jsonObject1.getString("qr_code_url");
|
||||
} else {
|
||||
System.out.println("调用失败");
|
||||
return null;
|
||||
}
|
||||
}
|
||||
|
||||
@PreAuthorize("hasAuthority('apps:equipment:update')")
|
||||
@ApiOperation("确认收货")
|
||||
@PostMapping("/receipt")
|
||||
public ApiResult<?> receipt(@RequestBody Order order){
|
||||
orderService.updateById(order);
|
||||
return success("确认收货");
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,140 @@
|
||||
package com.gxwebsoft.apps.controller;
|
||||
|
||||
import com.gxwebsoft.common.core.web.BaseController;
|
||||
import com.gxwebsoft.apps.service.EquipmentFaultService;
|
||||
import com.gxwebsoft.apps.entity.EquipmentFault;
|
||||
import com.gxwebsoft.apps.param.EquipmentFaultParam;
|
||||
import com.gxwebsoft.common.core.web.ApiResult;
|
||||
import com.gxwebsoft.common.core.web.PageResult;
|
||||
import com.gxwebsoft.common.core.web.PageParam;
|
||||
import com.gxwebsoft.common.core.web.BatchParam;
|
||||
import com.gxwebsoft.common.core.annotation.OperationLog;
|
||||
import com.gxwebsoft.common.system.entity.User;
|
||||
import io.swagger.annotations.Api;
|
||||
import io.swagger.annotations.ApiOperation;
|
||||
import org.springframework.security.access.prepost.PreAuthorize;
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
|
||||
import javax.annotation.Resource;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* 故障电池控制器
|
||||
*
|
||||
* @author 科技小王子
|
||||
* @since 2022-12-01 18:40:25
|
||||
*/
|
||||
@Api(tags = "故障电池管理")
|
||||
@RestController
|
||||
@RequestMapping("/api/apps/equipment-fault")
|
||||
public class EquipmentFaultController extends BaseController {
|
||||
@Resource
|
||||
private EquipmentFaultService equipmentFaultService;
|
||||
|
||||
@PreAuthorize("hasAuthority('apps:equipmentFault:list')")
|
||||
@OperationLog
|
||||
@ApiOperation("分页查询故障电池")
|
||||
@GetMapping("/page")
|
||||
public ApiResult<PageResult<EquipmentFault>> page(EquipmentFaultParam param) {
|
||||
PageParam<EquipmentFault, EquipmentFaultParam> page = new PageParam<>(param);
|
||||
page.setDefaultOrder("create_time desc");
|
||||
// return success(equipmentFaultService.page(page, page.getWrapper()));
|
||||
// 使用关联查询
|
||||
return success(equipmentFaultService.pageRel(param));
|
||||
}
|
||||
|
||||
@PreAuthorize("hasAuthority('apps:equipmentFault:list')")
|
||||
@OperationLog
|
||||
@ApiOperation("查询全部故障电池")
|
||||
@GetMapping()
|
||||
public ApiResult<List<EquipmentFault>> list(EquipmentFaultParam param) {
|
||||
PageParam<EquipmentFault, EquipmentFaultParam> page = new PageParam<>(param);
|
||||
page.setDefaultOrder("create_time desc");
|
||||
return success(equipmentFaultService.list(page.getOrderWrapper()));
|
||||
// 使用关联查询
|
||||
// return success(equipmentFaultService.listRel(param));
|
||||
}
|
||||
|
||||
@PreAuthorize("hasAuthority('apps:equipmentFault:list')")
|
||||
@OperationLog
|
||||
@ApiOperation("根据id查询故障电池")
|
||||
@GetMapping("/{id}")
|
||||
public ApiResult<EquipmentFault> get(@PathVariable("id") Integer id) {
|
||||
return success(equipmentFaultService.getById(id));
|
||||
// 使用关联查询
|
||||
//return success(equipmentFaultService.getByIdRel(id));
|
||||
}
|
||||
|
||||
@PreAuthorize("hasAuthority('apps:equipmentFault:save')")
|
||||
@OperationLog
|
||||
@ApiOperation("添加故障电池")
|
||||
@PostMapping()
|
||||
public ApiResult<?> save(@RequestBody EquipmentFault equipmentFault) {
|
||||
// 记录当前登录用户id、租户id
|
||||
User loginUser = getLoginUser();
|
||||
if (loginUser != null) {
|
||||
equipmentFault.setUserId(loginUser.getUserId());
|
||||
equipmentFault.setMerchantCode(getMerchantCode());
|
||||
}
|
||||
if (equipmentFaultService.save(equipmentFault)) {
|
||||
return success("添加成功");
|
||||
}
|
||||
return fail("添加失败");
|
||||
}
|
||||
|
||||
@PreAuthorize("hasAuthority('apps:equipmentFault:update')")
|
||||
@OperationLog
|
||||
@ApiOperation("修改故障电池")
|
||||
@PutMapping()
|
||||
public ApiResult<?> update(@RequestBody EquipmentFault equipmentFault) {
|
||||
if (equipmentFaultService.updateById(equipmentFault)) {
|
||||
return success("修改成功");
|
||||
}
|
||||
return fail("修改失败");
|
||||
}
|
||||
|
||||
@PreAuthorize("hasAuthority('apps:equipmentFault:remove')")
|
||||
@OperationLog
|
||||
@ApiOperation("删除故障电池")
|
||||
@DeleteMapping("/{id}")
|
||||
public ApiResult<?> remove(@PathVariable("id") Integer id) {
|
||||
if (equipmentFaultService.removeById(id)) {
|
||||
return success("删除成功");
|
||||
}
|
||||
return fail("删除失败");
|
||||
}
|
||||
|
||||
@PreAuthorize("hasAuthority('apps:equipmentFault:save')")
|
||||
@OperationLog
|
||||
@ApiOperation("批量添加故障电池")
|
||||
@PostMapping("/batch")
|
||||
public ApiResult<?> saveBatch(@RequestBody List<EquipmentFault> list) {
|
||||
if (equipmentFaultService.saveBatch(list)) {
|
||||
return success("添加成功");
|
||||
}
|
||||
return fail("添加失败");
|
||||
}
|
||||
|
||||
@PreAuthorize("hasAuthority('apps:equipmentFault:update')")
|
||||
@OperationLog
|
||||
@ApiOperation("批量修改故障电池")
|
||||
@PutMapping("/batch")
|
||||
public ApiResult<?> removeBatch(@RequestBody BatchParam<EquipmentFault> batchParam) {
|
||||
if (batchParam.update(equipmentFaultService, "id")) {
|
||||
return success("修改成功");
|
||||
}
|
||||
return fail("修改失败");
|
||||
}
|
||||
|
||||
@PreAuthorize("hasAuthority('apps:equipmentFault:remove')")
|
||||
@OperationLog
|
||||
@ApiOperation("批量删除故障电池")
|
||||
@DeleteMapping("/batch")
|
||||
public ApiResult<?> removeBatch(@RequestBody List<Integer> ids) {
|
||||
if (equipmentFaultService.removeByIds(ids)) {
|
||||
return success("删除成功");
|
||||
}
|
||||
return fail("删除失败");
|
||||
}
|
||||
|
||||
}
|
||||
@@ -0,0 +1,130 @@
|
||||
package com.gxwebsoft.apps.controller;
|
||||
|
||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||
import com.gxwebsoft.apps.entity.Equipment;
|
||||
import com.gxwebsoft.common.core.web.BaseController;
|
||||
import com.gxwebsoft.apps.service.EquipmentGoodsService;
|
||||
import com.gxwebsoft.apps.entity.EquipmentGoods;
|
||||
import com.gxwebsoft.apps.param.EquipmentGoodsParam;
|
||||
import com.gxwebsoft.common.core.web.ApiResult;
|
||||
import com.gxwebsoft.common.core.web.PageResult;
|
||||
import com.gxwebsoft.common.core.web.PageParam;
|
||||
import com.gxwebsoft.common.core.web.BatchParam;
|
||||
import com.gxwebsoft.common.core.annotation.OperationLog;
|
||||
import com.gxwebsoft.common.system.entity.User;
|
||||
import io.swagger.annotations.Api;
|
||||
import io.swagger.annotations.ApiOperation;
|
||||
import org.springframework.security.access.prepost.PreAuthorize;
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
|
||||
import javax.annotation.Resource;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* 电池管理记录表控制器
|
||||
*
|
||||
* @author 科技小王子
|
||||
* @since 2023-02-28 22:40:50
|
||||
*/
|
||||
@Api(tags = "电池管理记录表管理")
|
||||
@RestController
|
||||
@RequestMapping("/api/apps/equipment-goods")
|
||||
public class EquipmentGoodsController extends BaseController {
|
||||
@Resource
|
||||
private EquipmentGoodsService equipmentGoodsService;
|
||||
|
||||
@PreAuthorize("hasAuthority('apps:equipmentGoods:list')")
|
||||
@OperationLog
|
||||
@ApiOperation("分页查询电池管理记录表")
|
||||
@GetMapping("/page")
|
||||
public ApiResult<PageResult<EquipmentGoods>> page(EquipmentGoodsParam param) {
|
||||
// 使用关联查询
|
||||
return success(equipmentGoodsService.pageRel(param));
|
||||
}
|
||||
|
||||
@PreAuthorize("hasAuthority('apps:equipmentGoods:list')")
|
||||
@OperationLog
|
||||
@ApiOperation("查询全部电池管理记录表")
|
||||
@GetMapping()
|
||||
public ApiResult<List<EquipmentGoods>> list(EquipmentGoodsParam param) {
|
||||
// 使用关联查询
|
||||
return success(equipmentGoodsService.listRel(param));
|
||||
}
|
||||
|
||||
@PreAuthorize("hasAuthority('apps:equipmentGoods:list')")
|
||||
@OperationLog
|
||||
@ApiOperation("根据id查询电池管理记录表")
|
||||
@GetMapping("/{id}")
|
||||
public ApiResult<EquipmentGoods> get(@PathVariable("id") Integer id) {
|
||||
// 使用关联查询
|
||||
return success(equipmentGoodsService.getByIdRel(id));
|
||||
}
|
||||
|
||||
@PreAuthorize("hasAuthority('apps:equipmentGoods:save')")
|
||||
@OperationLog
|
||||
@ApiOperation("添加电池管理记录表")
|
||||
@PostMapping()
|
||||
public ApiResult<?> save(@RequestBody EquipmentGoods equipmentGoods) {
|
||||
System.out.println("equipmentGoods = " + equipmentGoods);
|
||||
if (equipmentGoodsService.save(equipmentGoods)) {
|
||||
return success("添加成功");
|
||||
}
|
||||
return fail("添加失败");
|
||||
}
|
||||
|
||||
@PreAuthorize("hasAuthority('apps:equipmentGoods:update')")
|
||||
@OperationLog
|
||||
@ApiOperation("修改电池管理记录表")
|
||||
@PutMapping()
|
||||
public ApiResult<?> update(@RequestBody EquipmentGoods equipmentGoods) {
|
||||
if (equipmentGoodsService.updateById(equipmentGoods)) {
|
||||
return success("修改成功");
|
||||
}
|
||||
return fail("修改失败");
|
||||
}
|
||||
|
||||
@PreAuthorize("hasAuthority('apps:equipmentGoods:remove')")
|
||||
@OperationLog
|
||||
@ApiOperation("删除电池管理记录表")
|
||||
@DeleteMapping("/{id}")
|
||||
public ApiResult<?> remove(@PathVariable("id") Integer id) {
|
||||
if (equipmentGoodsService.removeById(id)) {
|
||||
return success("删除成功");
|
||||
}
|
||||
return fail("删除失败");
|
||||
}
|
||||
|
||||
@PreAuthorize("hasAuthority('apps:equipmentGoods:save')")
|
||||
@OperationLog
|
||||
@ApiOperation("批量添加电池管理记录表")
|
||||
@PostMapping("/batch")
|
||||
public ApiResult<?> saveBatch(@RequestBody List<EquipmentGoods> list) {
|
||||
if (equipmentGoodsService.saveBatch(list)) {
|
||||
return success("添加成功");
|
||||
}
|
||||
return fail("添加失败");
|
||||
}
|
||||
|
||||
@PreAuthorize("hasAuthority('apps:equipmentGoods:update')")
|
||||
@OperationLog
|
||||
@ApiOperation("批量修改电池管理记录表")
|
||||
@PutMapping("/batch")
|
||||
public ApiResult<?> removeBatch(@RequestBody BatchParam<EquipmentGoods> batchParam) {
|
||||
if (batchParam.update(equipmentGoodsService, "goods_id")) {
|
||||
return success("修改成功");
|
||||
}
|
||||
return fail("修改失败");
|
||||
}
|
||||
|
||||
@PreAuthorize("hasAuthority('apps:equipmentGoods:remove')")
|
||||
@OperationLog
|
||||
@ApiOperation("批量删除电池管理记录表")
|
||||
@DeleteMapping("/batch")
|
||||
public ApiResult<?> removeBatch(@RequestBody List<Integer> ids) {
|
||||
if (equipmentGoodsService.removeByIds(ids)) {
|
||||
return success("删除成功");
|
||||
}
|
||||
return fail("删除失败");
|
||||
}
|
||||
|
||||
}
|
||||
@@ -0,0 +1,140 @@
|
||||
package com.gxwebsoft.apps.controller;
|
||||
|
||||
import com.gxwebsoft.common.core.web.BaseController;
|
||||
import com.gxwebsoft.apps.service.EquipmentOrderService;
|
||||
import com.gxwebsoft.apps.entity.EquipmentOrder;
|
||||
import com.gxwebsoft.apps.param.EquipmentOrderParam;
|
||||
import com.gxwebsoft.common.core.web.ApiResult;
|
||||
import com.gxwebsoft.common.core.web.PageResult;
|
||||
import com.gxwebsoft.common.core.web.PageParam;
|
||||
import com.gxwebsoft.common.core.web.BatchParam;
|
||||
import com.gxwebsoft.common.core.annotation.OperationLog;
|
||||
import com.gxwebsoft.common.system.entity.User;
|
||||
import io.swagger.annotations.Api;
|
||||
import io.swagger.annotations.ApiOperation;
|
||||
import org.springframework.security.access.prepost.PreAuthorize;
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
|
||||
import javax.annotation.Resource;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* 订单记录表控制器
|
||||
*
|
||||
* @author 科技小王子
|
||||
* @since 2023-04-14 21:24:31
|
||||
*/
|
||||
@Api(tags = "订单记录表管理")
|
||||
@RestController
|
||||
@RequestMapping("/api/apps/equipment-order")
|
||||
public class EquipmentOrderController extends BaseController {
|
||||
@Resource
|
||||
private EquipmentOrderService equipmentOrderService;
|
||||
|
||||
@PreAuthorize("hasAuthority('apps:equipmentOrder:list')")
|
||||
@OperationLog
|
||||
@ApiOperation("分页查询订单记录表")
|
||||
@GetMapping("/page")
|
||||
public ApiResult<PageResult<EquipmentOrder>> page(EquipmentOrderParam param) {
|
||||
// PageParam<EquipmentOrder, EquipmentOrderParam> page = new PageParam<>(param);
|
||||
// page.setDefaultOrder("create_time desc");
|
||||
// return success(equipmentOrderService.page(page, page.getWrapper()));
|
||||
// 使用关联查询
|
||||
return success(equipmentOrderService.pageRel(param));
|
||||
}
|
||||
|
||||
@PreAuthorize("hasAuthority('apps:equipmentOrder:list')")
|
||||
@OperationLog
|
||||
@ApiOperation("查询全部订单记录表")
|
||||
@GetMapping()
|
||||
public ApiResult<List<EquipmentOrder>> list(EquipmentOrderParam param) {
|
||||
PageParam<EquipmentOrder, EquipmentOrderParam> page = new PageParam<>(param);
|
||||
page.setDefaultOrder("create_time desc");
|
||||
return success(equipmentOrderService.list(page.getOrderWrapper()));
|
||||
// 使用关联查询
|
||||
//return success(equipmentOrderService.listRel(param));
|
||||
}
|
||||
|
||||
@PreAuthorize("hasAuthority('apps:equipmentOrder:list')")
|
||||
@OperationLog
|
||||
@ApiOperation("根据id查询订单记录表")
|
||||
@GetMapping("/{id}")
|
||||
public ApiResult<EquipmentOrder> get(@PathVariable("id") Integer id) {
|
||||
return success(equipmentOrderService.getById(id));
|
||||
// 使用关联查询
|
||||
//return success(equipmentOrderService.getByIdRel(id));
|
||||
}
|
||||
|
||||
@PreAuthorize("hasAuthority('apps:equipmentOrder:save')")
|
||||
@OperationLog
|
||||
@ApiOperation("添加订单记录表")
|
||||
@PostMapping()
|
||||
public ApiResult<?> save(@RequestBody EquipmentOrder equipmentOrder) {
|
||||
// 记录当前登录用户id、租户id、商户编号
|
||||
User loginUser = getLoginUser();
|
||||
if (loginUser != null) {
|
||||
equipmentOrder.setUserId(loginUser.getUserId());
|
||||
equipmentOrder.setMerchantCode(getMerchantCode());
|
||||
}
|
||||
if (equipmentOrderService.save(equipmentOrder)) {
|
||||
return success("添加成功");
|
||||
}
|
||||
return fail("添加失败");
|
||||
}
|
||||
|
||||
@PreAuthorize("hasAuthority('apps:equipmentOrder:update')")
|
||||
@OperationLog
|
||||
@ApiOperation("修改订单记录表")
|
||||
@PutMapping()
|
||||
public ApiResult<?> update(@RequestBody EquipmentOrder equipmentOrder) {
|
||||
if (equipmentOrderService.updateById(equipmentOrder)) {
|
||||
return success("修改成功");
|
||||
}
|
||||
return fail("修改失败");
|
||||
}
|
||||
|
||||
@PreAuthorize("hasAuthority('apps:equipmentOrder:remove')")
|
||||
@OperationLog
|
||||
@ApiOperation("删除订单记录表")
|
||||
@DeleteMapping("/{id}")
|
||||
public ApiResult<?> remove(@PathVariable("id") Integer id) {
|
||||
if (equipmentOrderService.removeById(id)) {
|
||||
return success("删除成功");
|
||||
}
|
||||
return fail("删除失败");
|
||||
}
|
||||
|
||||
@PreAuthorize("hasAuthority('apps:equipmentOrder:save')")
|
||||
@OperationLog
|
||||
@ApiOperation("批量添加订单记录表")
|
||||
@PostMapping("/batch")
|
||||
public ApiResult<?> saveBatch(@RequestBody List<EquipmentOrder> list) {
|
||||
if (equipmentOrderService.saveBatch(list)) {
|
||||
return success("添加成功");
|
||||
}
|
||||
return fail("添加失败");
|
||||
}
|
||||
|
||||
@PreAuthorize("hasAuthority('apps:equipmentOrder:update')")
|
||||
@OperationLog
|
||||
@ApiOperation("批量修改订单记录表")
|
||||
@PutMapping("/batch")
|
||||
public ApiResult<?> removeBatch(@RequestBody BatchParam<EquipmentOrder> batchParam) {
|
||||
if (batchParam.update(equipmentOrderService, "order_id")) {
|
||||
return success("修改成功");
|
||||
}
|
||||
return fail("修改失败");
|
||||
}
|
||||
|
||||
@PreAuthorize("hasAuthority('apps:equipmentOrder:remove')")
|
||||
@OperationLog
|
||||
@ApiOperation("批量删除订单记录表")
|
||||
@DeleteMapping("/batch")
|
||||
public ApiResult<?> removeBatch(@RequestBody List<Integer> ids) {
|
||||
if (equipmentOrderService.removeByIds(ids)) {
|
||||
return success("删除成功");
|
||||
}
|
||||
return fail("删除失败");
|
||||
}
|
||||
|
||||
}
|
||||
@@ -0,0 +1,148 @@
|
||||
package com.gxwebsoft.apps.controller;
|
||||
|
||||
import com.gxwebsoft.common.core.web.BaseController;
|
||||
import com.gxwebsoft.apps.service.EquipmentOrderGoodsService;
|
||||
import com.gxwebsoft.apps.entity.EquipmentOrderGoods;
|
||||
import com.gxwebsoft.apps.param.EquipmentOrderGoodsParam;
|
||||
import com.gxwebsoft.common.core.web.ApiResult;
|
||||
import com.gxwebsoft.common.core.web.PageResult;
|
||||
import com.gxwebsoft.common.core.web.PageParam;
|
||||
import com.gxwebsoft.common.core.web.BatchParam;
|
||||
import com.gxwebsoft.common.core.annotation.OperationLog;
|
||||
import com.gxwebsoft.common.system.entity.User;
|
||||
import io.swagger.annotations.Api;
|
||||
import io.swagger.annotations.ApiOperation;
|
||||
import org.springframework.security.access.prepost.PreAuthorize;
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
|
||||
import javax.annotation.Resource;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* 电池管理记录表控制器
|
||||
*
|
||||
* @author 科技小王子
|
||||
* @since 2023-05-11 19:10:13
|
||||
*/
|
||||
@Api(tags = "电池管理记录表管理")
|
||||
@RestController
|
||||
@RequestMapping("/api/apps/equipment-order-goods")
|
||||
public class EquipmentOrderGoodsController extends BaseController {
|
||||
@Resource
|
||||
private EquipmentOrderGoodsService equipmentOrderGoodsService;
|
||||
|
||||
@PreAuthorize("hasAuthority('apps:equipmentOrderGoods:list')")
|
||||
@OperationLog
|
||||
@ApiOperation("分页查询电池管理记录表")
|
||||
@GetMapping("/page")
|
||||
public ApiResult<PageResult<EquipmentOrderGoods>> page(EquipmentOrderGoodsParam param) {
|
||||
PageParam<EquipmentOrderGoods, EquipmentOrderGoodsParam> page = new PageParam<>(param);
|
||||
page.setDefaultOrder("create_time desc");
|
||||
return success(equipmentOrderGoodsService.page(page, page.getWrapper()));
|
||||
// 使用关联查询
|
||||
//return success(equipmentOrderGoodsService.pageRel(param));
|
||||
}
|
||||
|
||||
@PreAuthorize("hasAuthority('apps:equipmentOrderGoods:list')")
|
||||
@OperationLog
|
||||
@ApiOperation("查询全部电池管理记录表")
|
||||
@GetMapping()
|
||||
public ApiResult<List<EquipmentOrderGoods>> list(EquipmentOrderGoodsParam param) {
|
||||
// PageParam<EquipmentOrderGoods, EquipmentOrderGoodsParam> page = new PageParam<>(param);
|
||||
// page.setDefaultOrder("create_time desc");
|
||||
// System.out.println("param = " + param);
|
||||
// final EquipmentOrderGoods eog = equipmentOrderGoodsService.getById(param.getGoodsId());
|
||||
// System.out.println("eog = " + eog);
|
||||
// eog.setOrderId(param.getOrderId());
|
||||
// equipmentOrderGoodsService.updateById(eog);
|
||||
//
|
||||
// final List<EquipmentOrderGoods> list = equipmentOrderGoodsService.list(page.getOrderWrapper());
|
||||
//
|
||||
// return success(equipmentOrderGoodsService.list(page.getOrderWrapper()));
|
||||
// 使用关联查询
|
||||
return success(equipmentOrderGoodsService.listRel(param));
|
||||
}
|
||||
|
||||
@PreAuthorize("hasAuthority('apps:equipmentOrderGoods:list')")
|
||||
@OperationLog
|
||||
@ApiOperation("根据id查询电池管理记录表")
|
||||
@GetMapping("/{id}")
|
||||
public ApiResult<EquipmentOrderGoods> get(@PathVariable("id") Integer id) {
|
||||
return success(equipmentOrderGoodsService.getById(id));
|
||||
// 使用关联查询
|
||||
//return success(equipmentOrderGoodsService.getByIdRel(id));
|
||||
}
|
||||
|
||||
@PreAuthorize("hasAuthority('apps:equipmentOrderGoods:save')")
|
||||
@OperationLog
|
||||
@ApiOperation("添加电池管理记录表")
|
||||
@PostMapping()
|
||||
public ApiResult<?> save(@RequestBody EquipmentOrderGoods equipmentOrderGoods) {
|
||||
// 记录当前登录用户id、租户id、商户编号
|
||||
User loginUser = getLoginUser();
|
||||
if (loginUser != null) {
|
||||
equipmentOrderGoods.setUserId(loginUser.getUserId());
|
||||
equipmentOrderGoods.setMerchantCode(getMerchantCode());
|
||||
}
|
||||
if (equipmentOrderGoodsService.save(equipmentOrderGoods)) {
|
||||
return success("添加成功");
|
||||
}
|
||||
return fail("添加失败");
|
||||
}
|
||||
|
||||
@PreAuthorize("hasAuthority('apps:equipmentOrderGoods:update')")
|
||||
@OperationLog
|
||||
@ApiOperation("修改电池管理记录表")
|
||||
@PutMapping()
|
||||
public ApiResult<?> update(@RequestBody EquipmentOrderGoods equipmentOrderGoods) {
|
||||
if (equipmentOrderGoodsService.updateById(equipmentOrderGoods)) {
|
||||
return success("修改成功");
|
||||
}
|
||||
return fail("修改失败");
|
||||
}
|
||||
|
||||
@PreAuthorize("hasAuthority('apps:equipmentOrderGoods:remove')")
|
||||
@OperationLog
|
||||
@ApiOperation("删除电池管理记录表")
|
||||
@DeleteMapping("/{id}")
|
||||
public ApiResult<?> remove(@PathVariable("id") Integer id) {
|
||||
if (equipmentOrderGoodsService.removeById(id)) {
|
||||
return success("删除成功");
|
||||
}
|
||||
return fail("删除失败");
|
||||
}
|
||||
|
||||
@PreAuthorize("hasAuthority('apps:equipmentOrderGoods:save')")
|
||||
@OperationLog
|
||||
@ApiOperation("批量添加电池管理记录表")
|
||||
@PostMapping("/batch")
|
||||
public ApiResult<?> saveBatch(@RequestBody List<EquipmentOrderGoods> list) {
|
||||
if (equipmentOrderGoodsService.saveBatch(list)) {
|
||||
return success("添加成功");
|
||||
}
|
||||
return fail("添加失败");
|
||||
}
|
||||
|
||||
@PreAuthorize("hasAuthority('apps:equipmentOrderGoods:update')")
|
||||
@OperationLog
|
||||
@ApiOperation("批量修改电池管理记录表")
|
||||
@PutMapping("/batch")
|
||||
public ApiResult<?> removeBatch(@RequestBody BatchParam<EquipmentOrderGoods> batchParam) {
|
||||
if (batchParam.update(equipmentOrderGoodsService, "order_goods_id")) {
|
||||
return success("修改成功");
|
||||
}
|
||||
return fail("修改失败");
|
||||
}
|
||||
|
||||
@PreAuthorize("hasAuthority('apps:equipmentOrderGoods:remove')")
|
||||
@OperationLog
|
||||
@ApiOperation("批量删除电池管理记录表")
|
||||
@DeleteMapping("/batch")
|
||||
public ApiResult<?> removeBatch(@RequestBody List<Integer> ids) {
|
||||
if (equipmentOrderGoodsService.removeByIds(ids)) {
|
||||
return success("删除成功");
|
||||
}
|
||||
return fail("删除失败");
|
||||
}
|
||||
|
||||
}
|
||||
@@ -0,0 +1,144 @@
|
||||
package com.gxwebsoft.apps.controller;
|
||||
|
||||
import com.gxwebsoft.common.core.web.BaseController;
|
||||
import com.gxwebsoft.apps.service.EquipmentRecordService;
|
||||
import com.gxwebsoft.apps.entity.EquipmentRecord;
|
||||
import com.gxwebsoft.apps.param.EquipmentRecordParam;
|
||||
import com.gxwebsoft.common.core.web.ApiResult;
|
||||
import com.gxwebsoft.common.core.web.PageResult;
|
||||
import com.gxwebsoft.common.core.web.PageParam;
|
||||
import com.gxwebsoft.common.core.web.BatchParam;
|
||||
import com.gxwebsoft.common.core.annotation.OperationLog;
|
||||
import com.gxwebsoft.common.system.entity.User;
|
||||
import io.swagger.annotations.Api;
|
||||
import io.swagger.annotations.ApiOperation;
|
||||
import org.springframework.security.access.prepost.PreAuthorize;
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
|
||||
import javax.annotation.Resource;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* 前世今生控制器
|
||||
*
|
||||
* @author 科技小王子
|
||||
* @since 2022-12-03 01:23:53
|
||||
*/
|
||||
@Api(tags = "前世今生管理")
|
||||
@RestController
|
||||
@RequestMapping("/api/apps/equipment-record")
|
||||
public class EquipmentRecordController extends BaseController {
|
||||
@Resource
|
||||
private EquipmentRecordService equipmentRecordService;
|
||||
|
||||
@PreAuthorize("hasAuthority('apps:equipmentRecord:list')")
|
||||
@OperationLog
|
||||
@ApiOperation("分页查询前世今生")
|
||||
@GetMapping("/page")
|
||||
public ApiResult<PageResult<EquipmentRecord>> page(EquipmentRecordParam param) {
|
||||
PageParam<EquipmentRecord, EquipmentRecordParam> page = new PageParam<>(param);
|
||||
// 搜索条件
|
||||
if (getMerchantCode() != null) {
|
||||
param.setMerchantCode(getMerchantCode());
|
||||
}
|
||||
// page.setDefaultOrder("create_time desc");
|
||||
// return success(equipmentRecordService.page(page, page.getWrapper()));
|
||||
// 使用关联查询
|
||||
return success(equipmentRecordService.pageRel(param));
|
||||
}
|
||||
|
||||
@PreAuthorize("hasAuthority('apps:equipmentRecord:list')")
|
||||
@OperationLog
|
||||
@ApiOperation("查询全部前世今生")
|
||||
@GetMapping()
|
||||
public ApiResult<List<EquipmentRecord>> list(EquipmentRecordParam param) {
|
||||
PageParam<EquipmentRecord, EquipmentRecordParam> page = new PageParam<>(param);
|
||||
page.setDefaultOrder("create_time desc");
|
||||
// return success(equipmentRecordService.list(page.getOrderWrapper()));
|
||||
// 使用关联查询
|
||||
return success(equipmentRecordService.listRel(param));
|
||||
}
|
||||
|
||||
@PreAuthorize("hasAuthority('apps:equipmentRecord:list')")
|
||||
@OperationLog
|
||||
@ApiOperation("根据id查询前世今生")
|
||||
@GetMapping("/{id}")
|
||||
public ApiResult<EquipmentRecord> get(@PathVariable("id") Integer id) {
|
||||
// return success(equipmentRecordService.getById(id));
|
||||
// 使用关联查询
|
||||
return success(equipmentRecordService.getByIdRel(id));
|
||||
}
|
||||
|
||||
@PreAuthorize("hasAuthority('apps:equipmentRecord:save')")
|
||||
@OperationLog
|
||||
@ApiOperation("添加前世今生")
|
||||
@PostMapping()
|
||||
public ApiResult<?> save(@RequestBody EquipmentRecord equipmentRecord) {
|
||||
// 记录当前登录用户id、租户id、商户编号
|
||||
User loginUser = getLoginUser();
|
||||
if (loginUser != null) {
|
||||
equipmentRecord.setUserId(loginUser.getUserId());
|
||||
equipmentRecord.setMerchantCode(getMerchantCode());
|
||||
}
|
||||
if (equipmentRecordService.save(equipmentRecord)) {
|
||||
return success("添加成功");
|
||||
}
|
||||
return fail("添加失败");
|
||||
}
|
||||
|
||||
@PreAuthorize("hasAuthority('apps:equipmentRecord:update')")
|
||||
@OperationLog
|
||||
@ApiOperation("修改前世今生")
|
||||
@PutMapping()
|
||||
public ApiResult<?> update(@RequestBody EquipmentRecord equipmentRecord) {
|
||||
if (equipmentRecordService.updateById(equipmentRecord)) {
|
||||
return success("修改成功");
|
||||
}
|
||||
return fail("修改失败");
|
||||
}
|
||||
|
||||
@PreAuthorize("hasAuthority('apps:equipmentRecord:remove')")
|
||||
@OperationLog
|
||||
@ApiOperation("删除前世今生")
|
||||
@DeleteMapping("/{id}")
|
||||
public ApiResult<?> remove(@PathVariable("id") Integer id) {
|
||||
if (equipmentRecordService.removeById(id)) {
|
||||
return success("删除成功");
|
||||
}
|
||||
return fail("删除失败");
|
||||
}
|
||||
|
||||
@PreAuthorize("hasAuthority('apps:equipmentRecord:save')")
|
||||
@OperationLog
|
||||
@ApiOperation("批量添加前世今生")
|
||||
@PostMapping("/batch")
|
||||
public ApiResult<?> saveBatch(@RequestBody List<EquipmentRecord> list) {
|
||||
if (equipmentRecordService.saveBatch(list)) {
|
||||
return success("添加成功");
|
||||
}
|
||||
return fail("添加失败");
|
||||
}
|
||||
|
||||
@PreAuthorize("hasAuthority('apps:equipmentRecord:update')")
|
||||
@OperationLog
|
||||
@ApiOperation("批量修改前世今生")
|
||||
@PutMapping("/batch")
|
||||
public ApiResult<?> removeBatch(@RequestBody BatchParam<EquipmentRecord> batchParam) {
|
||||
if (batchParam.update(equipmentRecordService, "id")) {
|
||||
return success("修改成功");
|
||||
}
|
||||
return fail("修改失败");
|
||||
}
|
||||
|
||||
@PreAuthorize("hasAuthority('apps:equipmentRecord:remove')")
|
||||
@OperationLog
|
||||
@ApiOperation("批量删除前世今生")
|
||||
@DeleteMapping("/batch")
|
||||
public ApiResult<?> removeBatch(@RequestBody List<Integer> ids) {
|
||||
if (equipmentRecordService.removeByIds(ids)) {
|
||||
return success("删除成功");
|
||||
}
|
||||
return fail("删除失败");
|
||||
}
|
||||
|
||||
}
|
||||
@@ -0,0 +1,134 @@
|
||||
package com.gxwebsoft.apps.controller;
|
||||
|
||||
import com.gxwebsoft.common.core.web.BaseController;
|
||||
import com.gxwebsoft.apps.service.HualalaCardBenefitsService;
|
||||
import com.gxwebsoft.apps.entity.HualalaCardBenefits;
|
||||
import com.gxwebsoft.apps.param.HualalaCardBenefitsParam;
|
||||
import com.gxwebsoft.common.core.web.ApiResult;
|
||||
import com.gxwebsoft.common.core.web.PageResult;
|
||||
import com.gxwebsoft.common.core.web.PageParam;
|
||||
import com.gxwebsoft.common.core.web.BatchParam;
|
||||
import com.gxwebsoft.common.core.annotation.OperationLog;
|
||||
import com.gxwebsoft.common.system.entity.User;
|
||||
import io.swagger.annotations.Api;
|
||||
import io.swagger.annotations.ApiOperation;
|
||||
import org.springframework.security.access.prepost.PreAuthorize;
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
|
||||
import javax.annotation.Resource;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* 会员权益控制器
|
||||
*
|
||||
* @author 科技小王子
|
||||
* @since 2023-01-08 12:22:50
|
||||
*/
|
||||
@Api(tags = "会员权益管理")
|
||||
@RestController
|
||||
@RequestMapping("/api/apps/hualala-card-benefits")
|
||||
public class HualalaCardBenefitsController extends BaseController {
|
||||
@Resource
|
||||
private HualalaCardBenefitsService hualalaCardBenefitsService;
|
||||
|
||||
@PreAuthorize("hasAuthority('apps:hualalaCardBenefits:list')")
|
||||
@OperationLog
|
||||
@ApiOperation("分页查询会员权益")
|
||||
@GetMapping("/page")
|
||||
public ApiResult<PageResult<HualalaCardBenefits>> page(HualalaCardBenefitsParam param) {
|
||||
PageParam<HualalaCardBenefits, HualalaCardBenefitsParam> page = new PageParam<>(param);
|
||||
page.setDefaultOrder("create_time desc");
|
||||
return success(hualalaCardBenefitsService.page(page, page.getWrapper()));
|
||||
// 使用关联查询
|
||||
//return success(hualalaCardBenefitsService.pageRel(param));
|
||||
}
|
||||
|
||||
@PreAuthorize("hasAuthority('apps:hualalaCardBenefits:list')")
|
||||
@OperationLog
|
||||
@ApiOperation("查询全部会员权益")
|
||||
@GetMapping()
|
||||
public ApiResult<List<HualalaCardBenefits>> list(HualalaCardBenefitsParam param) {
|
||||
PageParam<HualalaCardBenefits, HualalaCardBenefitsParam> page = new PageParam<>(param);
|
||||
page.setDefaultOrder("create_time desc");
|
||||
return success(hualalaCardBenefitsService.list(page.getOrderWrapper()));
|
||||
// 使用关联查询
|
||||
//return success(hualalaCardBenefitsService.listRel(param));
|
||||
}
|
||||
|
||||
@PreAuthorize("hasAuthority('apps:hualalaCardBenefits:list')")
|
||||
@OperationLog
|
||||
@ApiOperation("根据id查询会员权益")
|
||||
@GetMapping("/{id}")
|
||||
public ApiResult<HualalaCardBenefits> get(@PathVariable("id") Integer id) {
|
||||
return success(hualalaCardBenefitsService.getById(id));
|
||||
// 使用关联查询
|
||||
//return success(hualalaCardBenefitsService.getByIdRel(id));
|
||||
}
|
||||
|
||||
@PreAuthorize("hasAuthority('apps:hualalaCardBenefits:save')")
|
||||
@OperationLog
|
||||
@ApiOperation("添加会员权益")
|
||||
@PostMapping()
|
||||
public ApiResult<?> save(@RequestBody HualalaCardBenefits hualalaCardBenefits) {
|
||||
if (hualalaCardBenefitsService.save(hualalaCardBenefits)) {
|
||||
return success("添加成功");
|
||||
}
|
||||
return fail("添加失败");
|
||||
}
|
||||
|
||||
@PreAuthorize("hasAuthority('apps:hualalaCardBenefits:update')")
|
||||
@OperationLog
|
||||
@ApiOperation("修改会员权益")
|
||||
@PutMapping()
|
||||
public ApiResult<?> update(@RequestBody HualalaCardBenefits hualalaCardBenefits) {
|
||||
if (hualalaCardBenefitsService.updateById(hualalaCardBenefits)) {
|
||||
return success("修改成功");
|
||||
}
|
||||
return fail("修改失败");
|
||||
}
|
||||
|
||||
@PreAuthorize("hasAuthority('apps:hualalaCardBenefits:remove')")
|
||||
@OperationLog
|
||||
@ApiOperation("删除会员权益")
|
||||
@DeleteMapping("/{id}")
|
||||
public ApiResult<?> remove(@PathVariable("id") Integer id) {
|
||||
if (hualalaCardBenefitsService.removeById(id)) {
|
||||
return success("删除成功");
|
||||
}
|
||||
return fail("删除失败");
|
||||
}
|
||||
|
||||
@PreAuthorize("hasAuthority('apps:hualalaCardBenefits:save')")
|
||||
@OperationLog
|
||||
@ApiOperation("批量添加会员权益")
|
||||
@PostMapping("/batch")
|
||||
public ApiResult<?> saveBatch(@RequestBody List<HualalaCardBenefits> list) {
|
||||
if (hualalaCardBenefitsService.saveBatch(list)) {
|
||||
return success("添加成功");
|
||||
}
|
||||
return fail("添加失败");
|
||||
}
|
||||
|
||||
@PreAuthorize("hasAuthority('apps:hualalaCardBenefits:update')")
|
||||
@OperationLog
|
||||
@ApiOperation("批量修改会员权益")
|
||||
@PutMapping("/batch")
|
||||
public ApiResult<?> removeBatch(@RequestBody BatchParam<HualalaCardBenefits> batchParam) {
|
||||
if (batchParam.update(hualalaCardBenefitsService, "id")) {
|
||||
return success("修改成功");
|
||||
}
|
||||
return fail("修改失败");
|
||||
}
|
||||
|
||||
@PreAuthorize("hasAuthority('apps:hualalaCardBenefits:remove')")
|
||||
@OperationLog
|
||||
@ApiOperation("批量删除会员权益")
|
||||
@DeleteMapping("/batch")
|
||||
public ApiResult<?> removeBatch(@RequestBody List<Integer> ids) {
|
||||
if (hualalaCardBenefitsService.removeByIds(ids)) {
|
||||
return success("删除成功");
|
||||
}
|
||||
return fail("删除失败");
|
||||
}
|
||||
|
||||
}
|
||||
@@ -0,0 +1,140 @@
|
||||
package com.gxwebsoft.apps.controller;
|
||||
|
||||
import com.gxwebsoft.common.core.web.BaseController;
|
||||
import com.gxwebsoft.apps.service.HualalaCardService;
|
||||
import com.gxwebsoft.apps.entity.HualalaCard;
|
||||
import com.gxwebsoft.apps.param.HualalaCardParam;
|
||||
import com.gxwebsoft.common.core.web.ApiResult;
|
||||
import com.gxwebsoft.common.core.web.PageResult;
|
||||
import com.gxwebsoft.common.core.web.PageParam;
|
||||
import com.gxwebsoft.common.core.web.BatchParam;
|
||||
import com.gxwebsoft.common.core.annotation.OperationLog;
|
||||
import com.gxwebsoft.common.system.entity.User;
|
||||
import io.swagger.annotations.Api;
|
||||
import io.swagger.annotations.ApiOperation;
|
||||
import org.springframework.security.access.prepost.PreAuthorize;
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
|
||||
import javax.annotation.Resource;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* 控制器
|
||||
*
|
||||
* @author 科技小王子
|
||||
* @since 2023-01-08 12:22:50
|
||||
*/
|
||||
@Api(tags = "管理")
|
||||
@RestController
|
||||
@RequestMapping("/api/apps/hualala-card")
|
||||
public class HualalaCardController extends BaseController {
|
||||
@Resource
|
||||
private HualalaCardService hualalaCardService;
|
||||
|
||||
@PreAuthorize("hasAuthority('apps:hualalaCard:list')")
|
||||
@OperationLog
|
||||
@ApiOperation("分页查询")
|
||||
@GetMapping("/page")
|
||||
public ApiResult<PageResult<HualalaCard>> page(HualalaCardParam param) {
|
||||
PageParam<HualalaCard, HualalaCardParam> page = new PageParam<>(param);
|
||||
page.setDefaultOrder("create_time desc");
|
||||
return success(hualalaCardService.page(page, page.getWrapper()));
|
||||
// 使用关联查询
|
||||
//return success(hualalaCardService.pageRel(param));
|
||||
}
|
||||
|
||||
@PreAuthorize("hasAuthority('apps:hualalaCard:list')")
|
||||
@OperationLog
|
||||
@ApiOperation("查询全部")
|
||||
@GetMapping()
|
||||
public ApiResult<List<HualalaCard>> list(HualalaCardParam param) {
|
||||
PageParam<HualalaCard, HualalaCardParam> page = new PageParam<>(param);
|
||||
page.setDefaultOrder("create_time desc");
|
||||
return success(hualalaCardService.list(page.getOrderWrapper()));
|
||||
// 使用关联查询
|
||||
//return success(hualalaCardService.listRel(param));
|
||||
}
|
||||
|
||||
@PreAuthorize("hasAuthority('apps:hualalaCard:list')")
|
||||
@OperationLog
|
||||
@ApiOperation("根据id查询")
|
||||
@GetMapping("/{id}")
|
||||
public ApiResult<HualalaCard> get(@PathVariable("id") Integer id) {
|
||||
return success(hualalaCardService.getById(id));
|
||||
// 使用关联查询
|
||||
//return success(hualalaCardService.getByIdRel(id));
|
||||
}
|
||||
|
||||
@PreAuthorize("hasAuthority('apps:hualalaCard:save')")
|
||||
@OperationLog
|
||||
@ApiOperation("添加")
|
||||
@PostMapping()
|
||||
public ApiResult<?> save(@RequestBody HualalaCard hualalaCard) {
|
||||
// 记录当前登录用户id、租户id、商户编号
|
||||
User loginUser = getLoginUser();
|
||||
if (loginUser != null) {
|
||||
hualalaCard.setUserId(loginUser.getUserId());
|
||||
hualalaCard.setMerchantCode(getMerchantCode());
|
||||
}
|
||||
if (hualalaCardService.save(hualalaCard)) {
|
||||
return success("添加成功");
|
||||
}
|
||||
return fail("添加失败");
|
||||
}
|
||||
|
||||
@PreAuthorize("hasAuthority('apps:hualalaCard:update')")
|
||||
@OperationLog
|
||||
@ApiOperation("修改")
|
||||
@PutMapping()
|
||||
public ApiResult<?> update(@RequestBody HualalaCard hualalaCard) {
|
||||
if (hualalaCardService.updateById(hualalaCard)) {
|
||||
return success("修改成功");
|
||||
}
|
||||
return fail("修改失败");
|
||||
}
|
||||
|
||||
@PreAuthorize("hasAuthority('apps:hualalaCard:remove')")
|
||||
@OperationLog
|
||||
@ApiOperation("删除")
|
||||
@DeleteMapping("/{id}")
|
||||
public ApiResult<?> remove(@PathVariable("id") Integer id) {
|
||||
if (hualalaCardService.removeById(id)) {
|
||||
return success("删除成功");
|
||||
}
|
||||
return fail("删除失败");
|
||||
}
|
||||
|
||||
@PreAuthorize("hasAuthority('apps:hualalaCard:save')")
|
||||
@OperationLog
|
||||
@ApiOperation("批量添加")
|
||||
@PostMapping("/batch")
|
||||
public ApiResult<?> saveBatch(@RequestBody List<HualalaCard> list) {
|
||||
if (hualalaCardService.saveBatch(list)) {
|
||||
return success("添加成功");
|
||||
}
|
||||
return fail("添加失败");
|
||||
}
|
||||
|
||||
@PreAuthorize("hasAuthority('apps:hualalaCard:update')")
|
||||
@OperationLog
|
||||
@ApiOperation("批量修改")
|
||||
@PutMapping("/batch")
|
||||
public ApiResult<?> removeBatch(@RequestBody BatchParam<HualalaCard> batchParam) {
|
||||
if (batchParam.update(hualalaCardService, "id")) {
|
||||
return success("修改成功");
|
||||
}
|
||||
return fail("修改失败");
|
||||
}
|
||||
|
||||
@PreAuthorize("hasAuthority('apps:hualalaCard:remove')")
|
||||
@OperationLog
|
||||
@ApiOperation("批量删除")
|
||||
@DeleteMapping("/batch")
|
||||
public ApiResult<?> removeBatch(@RequestBody List<Integer> ids) {
|
||||
if (hualalaCardService.removeByIds(ids)) {
|
||||
return success("删除成功");
|
||||
}
|
||||
return fail("删除失败");
|
||||
}
|
||||
|
||||
}
|
||||
240
src/main/java/com/gxwebsoft/apps/controller/HualalaCart.java
Normal file
240
src/main/java/com/gxwebsoft/apps/controller/HualalaCart.java
Normal file
@@ -0,0 +1,240 @@
|
||||
package com.gxwebsoft.apps.controller;
|
||||
|
||||
import cn.hutool.core.util.StrUtil;
|
||||
import cn.hutool.crypto.digest.DigestUtil;
|
||||
import cn.hutool.http.HttpUtil;
|
||||
import com.alibaba.fastjson.JSON;
|
||||
import com.alibaba.fastjson.JSONObject;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
||||
import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
|
||||
import com.gxwebsoft.apps.entity.HualalaFood;
|
||||
import com.gxwebsoft.apps.entity.HualalaShop;
|
||||
import com.gxwebsoft.apps.entity.ItemVo;
|
||||
import com.gxwebsoft.apps.result.*;
|
||||
import com.gxwebsoft.apps.service.HualalaFoodService;
|
||||
import com.gxwebsoft.apps.service.HualalaService;
|
||||
import com.gxwebsoft.apps.service.HualalaShopService;
|
||||
import com.gxwebsoft.common.core.utils.CacheClient;
|
||||
import com.gxwebsoft.common.core.utils.JSONUtil;
|
||||
import com.gxwebsoft.common.core.web.ApiResult;
|
||||
import com.gxwebsoft.common.core.web.BaseController;
|
||||
import com.gxwebsoft.common.system.entity.User;
|
||||
import com.gxwebsoft.shop.entity.Order;
|
||||
import com.gxwebsoft.shop.entity.OrderGoods;
|
||||
import com.gxwebsoft.shop.param.OrderParam;
|
||||
import com.gxwebsoft.shop.service.OrderGoodsService;
|
||||
import com.gxwebsoft.shop.service.OrderService;
|
||||
import io.swagger.annotations.Api;
|
||||
import io.swagger.annotations.ApiOperation;
|
||||
import lombok.val;
|
||||
import org.springframework.data.redis.core.StringRedisTemplate;
|
||||
import org.springframework.http.*;
|
||||
import org.springframework.util.LinkedMultiValueMap;
|
||||
import org.springframework.util.MultiValueMap;
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
import org.springframework.web.client.RestTemplate;
|
||||
|
||||
import javax.annotation.Resource;
|
||||
import javax.servlet.http.HttpServletRequest;
|
||||
import javax.servlet.http.HttpServletResponse;
|
||||
import java.math.BigDecimal;
|
||||
import java.util.*;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
import static com.gxwebsoft.common.core.constants.OrderConstants.PAY_STATUS_SUCCESS;
|
||||
import static com.gxwebsoft.common.core.constants.RedisConstants.*;
|
||||
|
||||
/**
|
||||
* 哗啦啦-购物车
|
||||
* 教程参考 https://blog.csdn.net/qq_34383510/article/details/127824628
|
||||
* @author 科技小王子
|
||||
* @since 2022-11-25 12:55:33
|
||||
*/
|
||||
@Api(tags = "哗啦啦-购物车")
|
||||
@RestController
|
||||
@RequestMapping("/api/apps/hualala-cart")
|
||||
public class HualalaCart extends BaseController {
|
||||
|
||||
@Resource
|
||||
private StringRedisTemplate stringRedisTemplate;
|
||||
@Resource
|
||||
private CacheClient cacheClient;
|
||||
@Resource
|
||||
private HualalaService hualalaService;
|
||||
@Resource
|
||||
private HualalaFoodService hualalaFoodService;
|
||||
@Resource
|
||||
private OrderService orderService;
|
||||
@Resource
|
||||
private OrderGoodsService orderGoodsService;
|
||||
@Resource
|
||||
private HualalaShopService hualalaShopService;
|
||||
|
||||
@ApiOperation("我的购物车")
|
||||
@GetMapping()
|
||||
public ApiResult<?> cart(ItemVo param) {
|
||||
String key = getKey(param.getShopId());
|
||||
|
||||
return success("查询成功",showCart(key));
|
||||
}
|
||||
|
||||
@ApiOperation("添加购物车")
|
||||
@PostMapping("/addCart")
|
||||
public ApiResult<?> addCart(@RequestBody ItemVo param) {
|
||||
String key = getKey(param.getShopId());
|
||||
cacheClient.hPut(key,param.getFoodId().toString(),JSONUtil.toJSONString(param));
|
||||
|
||||
return success("添加成功",showCart(key));
|
||||
}
|
||||
|
||||
@ApiOperation("生成订单并清空购物车")
|
||||
@PostMapping("/createOrder")
|
||||
public ApiResult<?> createOrder(@RequestBody Order order){
|
||||
String key = getKey(order.getShopId().toString());
|
||||
// 记录当前登录用户id、租户id
|
||||
User loginUser = getLoginUser();
|
||||
if (loginUser != null) {
|
||||
order.setUserId(loginUser.getUserId());
|
||||
}
|
||||
order.setMerchantCode(order.getShopId().toString());
|
||||
order.setPayMethod("通联支付");
|
||||
if (orderService.save(order)) {
|
||||
// 添加订单商品
|
||||
List<Object> hValues = cacheClient.hValues(key);
|
||||
hValues.forEach(d -> {
|
||||
JSONObject json = JSONObject.parseObject(d.toString());
|
||||
OrderGoods orderGoods = new OrderGoods();
|
||||
orderGoods.setOrderId(order.getOrderId());
|
||||
orderGoods.setGoodsName(json.getString("foodName"));
|
||||
orderGoods.setImageUrl(json.getString("imge"));
|
||||
orderGoods.setTotalNum(Integer.valueOf(json.getString("num")));
|
||||
orderGoods.setGoodsId(Integer.valueOf(json.getString("foodId")));
|
||||
orderGoods.setGoodsSkuId(json.getString("foodUnitID"));
|
||||
orderGoods.setUserId(getLoginUserId());
|
||||
BigDecimal totalPrice = new BigDecimal(json.getString("price"));
|
||||
orderGoods.setTotalPrice(totalPrice);
|
||||
orderGoods.setTenantId(getTenantId());
|
||||
orderGoodsService.save(orderGoods);
|
||||
});
|
||||
|
||||
// 清空购物车
|
||||
cacheClient.delete(key);
|
||||
return success("订单创建成功",order);
|
||||
}
|
||||
return fail("订单创建失败");
|
||||
}
|
||||
|
||||
@ApiOperation("通联支付")
|
||||
@PostMapping("/allinPay")
|
||||
public ApiResult<?> allinPay(@RequestBody Order order){
|
||||
Order orderInfo = orderService.getById(order.getOrderId());
|
||||
System.out.println("orderInfo = " + orderInfo);
|
||||
final HualalaShop shop = hualalaShopService.getByIdRel(orderInfo.getShopId());
|
||||
final String payMerchantNo = shop.getPayMerchantNo();
|
||||
final String paySecret = shop.getPaySecret();
|
||||
System.out.println("payMerchantNo = " + payMerchantNo);
|
||||
System.out.println("paySecret = " + paySecret);
|
||||
|
||||
// 正式接口
|
||||
String url = "https://interface.allinpaygx.com/api/access/payInterface/unifiedPay";
|
||||
// 测试接口
|
||||
// String url = "https://interfacetest.allinpaygx.com/api/access/payInterface/unifiedPay";
|
||||
// System.out.println("接口地址 = " + url);
|
||||
// map传参数
|
||||
Map<String, Object> map = new HashMap<>();
|
||||
// 计算金额
|
||||
final BigDecimal orderPrice = orderInfo.getOrderPrice().multiply(new BigDecimal(100));
|
||||
final int amount = Integer.parseInt(orderPrice.stripTrailingZeros().toPlainString());
|
||||
map.put("merchantNo", payMerchantNo); // 正式商户
|
||||
// map.put("merchantNo", "113201120053"); // 测试商户:113201120053
|
||||
map.put("merchantOrderNo", orderInfo.getOrderNo());
|
||||
map.put("amount",String.valueOf(amount));
|
||||
map.put("notifyUrl","https://open.gxwebsoft.com/api/apps/hualala-cart/payNotify");
|
||||
map.put("payType","W06S");
|
||||
// 附加签名
|
||||
String sign = getSign(map,paySecret);
|
||||
System.out.println("sign = " + sign);
|
||||
map.put("sign",sign);
|
||||
System.out.println("请求参数 = " + map);
|
||||
String result = HttpUtil.post(url,map);
|
||||
System.out.println("result = " + result);
|
||||
JSONObject resultObj = JSON.parseObject(result);
|
||||
JSONObject payinfo = JSON.parseObject(resultObj.getString("payinfo"));
|
||||
System.out.println("payinfo = " + payinfo);
|
||||
return success("支付参数",payinfo);
|
||||
}
|
||||
|
||||
public static String getSign(Map<String, Object> treeMap, String paySecret) {
|
||||
// String secret = paySecret; // 正式秘钥
|
||||
// String secret = "aceb62c896d849c89d1c8b9a4416d1a7"; // 测试秘钥
|
||||
TreeMap<String, String> tMap = new TreeMap<>();
|
||||
for (Map.Entry<String, Object> entry : treeMap.entrySet()) {
|
||||
if (!StrUtil.isEmpty(entry.getValue().toString()) && !entry.getKey().equals("sign")) {
|
||||
tMap.put(entry.getKey(), entry.getValue().toString());
|
||||
}
|
||||
}
|
||||
StringBuffer buf = new StringBuffer();
|
||||
for (String key : tMap.keySet()) {
|
||||
buf.append(key).append(treeMap.get(key));
|
||||
}
|
||||
buf.append(paySecret);
|
||||
System.out.println("buf = " + buf);
|
||||
return DigestUtil.md5Hex(buf.toString()).toUpperCase();
|
||||
}
|
||||
|
||||
@ApiOperation("通联支付")
|
||||
@PostMapping("/payNotify")
|
||||
public String payNotify(@RequestParam Map<String, String> params){
|
||||
// 支付成功
|
||||
if (orderService.allinPay(params)) {
|
||||
return "success";
|
||||
}
|
||||
return "error";
|
||||
|
||||
}
|
||||
|
||||
@ApiOperation("交易查询")
|
||||
@PostMapping("/findOrderInfo")
|
||||
public ApiResult<?> findOrderInfo(@RequestBody Order order){
|
||||
final Order data = orderService.getByOutTradeNo(order.getOrderNo().toString());
|
||||
return success("查询结果",data);
|
||||
}
|
||||
|
||||
|
||||
// 获取Key
|
||||
private String getKey(String shopId) {
|
||||
return HLL_CART_FOOD_KEY.concat(shopId).concat(":").concat(getLoginUserId().toString());
|
||||
}
|
||||
|
||||
private OperateVo showCart(String key){
|
||||
// 获取购物车数据
|
||||
List<Object> values = cacheClient.hValues(key);
|
||||
// System.out.println("values = " + values);
|
||||
List<ItemVo> collect = values.stream().map(item -> JSONUtil.parseObject(JSONUtil.toJSONString(item), ItemVo.class)).collect(Collectors.toList());
|
||||
// System.out.println("collect = " + collect);
|
||||
|
||||
// 封装数据结果
|
||||
OperateVo operateVo = new OperateVo();
|
||||
operateVo.setTotalNum(0);
|
||||
operateVo.setTotalPrice(BigDecimal.valueOf(0));
|
||||
operateVo.setItems(collect);
|
||||
collect.forEach(d -> {
|
||||
// System.out.println("operateVo.getTotalNum() + d.getNum() = " + operateVo.getTotalNum() + d.getNum());
|
||||
operateVo.setTotalNum(operateVo.getTotalNum()+d.getNum());
|
||||
operateVo.setTotalPrice(operateVo.getTotalPrice().add(d.getPrice().multiply(BigDecimal.valueOf(d.getNum()))));
|
||||
});
|
||||
// System.out.println("operateVo = " + operateVo);
|
||||
return operateVo;
|
||||
}
|
||||
|
||||
|
||||
@ApiOperation("通联支付2")
|
||||
@PostMapping("/test")
|
||||
public ApiResult<?> test(){
|
||||
final Order order = orderService.getByOutTradeNo("2023030149684157");
|
||||
order.setPayStatus(PAY_STATUS_SUCCESS);
|
||||
order.setPayPrice(order.getTotalPrice());
|
||||
orderService.updateById(order);
|
||||
return success("成功",order);
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,134 @@
|
||||
package com.gxwebsoft.apps.controller;
|
||||
|
||||
import com.gxwebsoft.common.core.web.BaseController;
|
||||
import com.gxwebsoft.apps.service.HualalaCartFoodService;
|
||||
import com.gxwebsoft.apps.entity.HualalaCartFood;
|
||||
import com.gxwebsoft.apps.param.HualalaCartFoodParam;
|
||||
import com.gxwebsoft.common.core.web.ApiResult;
|
||||
import com.gxwebsoft.common.core.web.PageResult;
|
||||
import com.gxwebsoft.common.core.web.PageParam;
|
||||
import com.gxwebsoft.common.core.web.BatchParam;
|
||||
import com.gxwebsoft.common.core.annotation.OperationLog;
|
||||
import com.gxwebsoft.common.system.entity.User;
|
||||
import io.swagger.annotations.Api;
|
||||
import io.swagger.annotations.ApiOperation;
|
||||
import org.springframework.security.access.prepost.PreAuthorize;
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
|
||||
import javax.annotation.Resource;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* 购物车商品控制器
|
||||
*
|
||||
* @author 科技小王子
|
||||
* @since 2023-01-14 14:46:44
|
||||
*/
|
||||
@Api(tags = "购物车商品管理")
|
||||
@RestController
|
||||
@RequestMapping("/api/apps/hualala-cart-food")
|
||||
public class HualalaCartFoodController extends BaseController {
|
||||
@Resource
|
||||
private HualalaCartFoodService hualalaCartFoodService;
|
||||
|
||||
@PreAuthorize("hasAuthority('apps:hualalaCartFood:list')")
|
||||
@OperationLog
|
||||
@ApiOperation("分页查询购物车商品")
|
||||
@GetMapping("/page")
|
||||
public ApiResult<PageResult<HualalaCartFood>> page(HualalaCartFoodParam param) {
|
||||
PageParam<HualalaCartFood, HualalaCartFoodParam> page = new PageParam<>(param);
|
||||
page.setDefaultOrder("create_time desc");
|
||||
return success(hualalaCartFoodService.page(page, page.getWrapper()));
|
||||
// 使用关联查询
|
||||
//return success(hualalaCartFoodService.pageRel(param));
|
||||
}
|
||||
|
||||
@PreAuthorize("hasAuthority('apps:hualalaCartFood:list')")
|
||||
@OperationLog
|
||||
@ApiOperation("查询全部购物车商品")
|
||||
@GetMapping()
|
||||
public ApiResult<List<HualalaCartFood>> list(HualalaCartFoodParam param) {
|
||||
PageParam<HualalaCartFood, HualalaCartFoodParam> page = new PageParam<>(param);
|
||||
page.setDefaultOrder("create_time desc");
|
||||
return success(hualalaCartFoodService.list(page.getOrderWrapper()));
|
||||
// 使用关联查询
|
||||
//return success(hualalaCartFoodService.listRel(param));
|
||||
}
|
||||
|
||||
@PreAuthorize("hasAuthority('apps:hualalaCartFood:list')")
|
||||
@OperationLog
|
||||
@ApiOperation("根据id查询购物车商品")
|
||||
@GetMapping("/{id}")
|
||||
public ApiResult<HualalaCartFood> get(@PathVariable("id") Integer id) {
|
||||
return success(hualalaCartFoodService.getById(id));
|
||||
// 使用关联查询
|
||||
//return success(hualalaCartFoodService.getByIdRel(id));
|
||||
}
|
||||
|
||||
@PreAuthorize("hasAuthority('apps:hualalaCartFood:save')")
|
||||
@OperationLog
|
||||
@ApiOperation("添加购物车商品")
|
||||
@PostMapping()
|
||||
public ApiResult<?> save(@RequestBody HualalaCartFood hualalaCartFood) {
|
||||
if (hualalaCartFoodService.save(hualalaCartFood)) {
|
||||
return success("添加成功");
|
||||
}
|
||||
return fail("添加失败");
|
||||
}
|
||||
|
||||
@PreAuthorize("hasAuthority('apps:hualalaCartFood:update')")
|
||||
@OperationLog
|
||||
@ApiOperation("修改购物车商品")
|
||||
@PutMapping()
|
||||
public ApiResult<?> update(@RequestBody HualalaCartFood hualalaCartFood) {
|
||||
if (hualalaCartFoodService.updateById(hualalaCartFood)) {
|
||||
return success("修改成功");
|
||||
}
|
||||
return fail("修改失败");
|
||||
}
|
||||
|
||||
@PreAuthorize("hasAuthority('apps:hualalaCartFood:remove')")
|
||||
@OperationLog
|
||||
@ApiOperation("删除购物车商品")
|
||||
@DeleteMapping("/{id}")
|
||||
public ApiResult<?> remove(@PathVariable("id") Integer id) {
|
||||
if (hualalaCartFoodService.removeById(id)) {
|
||||
return success("删除成功");
|
||||
}
|
||||
return fail("删除失败");
|
||||
}
|
||||
|
||||
@PreAuthorize("hasAuthority('apps:hualalaCartFood:save')")
|
||||
@OperationLog
|
||||
@ApiOperation("批量添加购物车商品")
|
||||
@PostMapping("/batch")
|
||||
public ApiResult<?> saveBatch(@RequestBody List<HualalaCartFood> list) {
|
||||
if (hualalaCartFoodService.saveBatch(list)) {
|
||||
return success("添加成功");
|
||||
}
|
||||
return fail("添加失败");
|
||||
}
|
||||
|
||||
@PreAuthorize("hasAuthority('apps:hualalaCartFood:update')")
|
||||
@OperationLog
|
||||
@ApiOperation("批量修改购物车商品")
|
||||
@PutMapping("/batch")
|
||||
public ApiResult<?> removeBatch(@RequestBody BatchParam<HualalaCartFood> batchParam) {
|
||||
if (batchParam.update(hualalaCartFoodService, "id")) {
|
||||
return success("修改成功");
|
||||
}
|
||||
return fail("修改失败");
|
||||
}
|
||||
|
||||
@PreAuthorize("hasAuthority('apps:hualalaCartFood:remove')")
|
||||
@OperationLog
|
||||
@ApiOperation("批量删除购物车商品")
|
||||
@DeleteMapping("/batch")
|
||||
public ApiResult<?> removeBatch(@RequestBody List<Integer> ids) {
|
||||
if (hualalaCartFoodService.removeByIds(ids)) {
|
||||
return success("删除成功");
|
||||
}
|
||||
return fail("删除失败");
|
||||
}
|
||||
|
||||
}
|
||||
@@ -0,0 +1,384 @@
|
||||
package com.gxwebsoft.apps.controller;
|
||||
|
||||
import cn.hutool.core.util.NumberUtil;
|
||||
import cn.hutool.core.util.StrUtil;
|
||||
import com.alibaba.fastjson.JSON;
|
||||
import com.alibaba.fastjson.JSONObject;
|
||||
import com.gxwebsoft.apps.entity.HualalaFood;
|
||||
import com.gxwebsoft.apps.entity.HualalaFoodCategory;
|
||||
import com.gxwebsoft.apps.entity.HualalaShop;
|
||||
import com.gxwebsoft.apps.entity.ItemVo;
|
||||
import com.gxwebsoft.apps.param.*;
|
||||
import com.gxwebsoft.apps.result.AllShopResult;
|
||||
import com.gxwebsoft.apps.result.FoodCategoryResult;
|
||||
import com.gxwebsoft.apps.result.OpenFoodResult;
|
||||
import com.gxwebsoft.apps.result.ShopBaseInfoResult;
|
||||
import com.gxwebsoft.apps.service.HualalaFoodCategoryService;
|
||||
import com.gxwebsoft.apps.service.HualalaFoodService;
|
||||
import com.gxwebsoft.apps.service.HualalaService;
|
||||
import com.gxwebsoft.apps.service.HualalaShopService;
|
||||
import com.gxwebsoft.common.core.utils.CacheClient;
|
||||
import com.gxwebsoft.common.core.utils.CommonUtil;
|
||||
import com.gxwebsoft.common.core.utils.JSONUtil;
|
||||
import com.gxwebsoft.common.core.web.ApiResult;
|
||||
import com.gxwebsoft.common.core.web.BaseController;
|
||||
import com.gxwebsoft.shop.entity.Merchant;
|
||||
import com.gxwebsoft.shop.entity.Order;
|
||||
import com.gxwebsoft.shop.entity.OrderGoods;
|
||||
import com.gxwebsoft.shop.mapper.OrderGoodsMapper;
|
||||
import com.gxwebsoft.shop.param.MerchantParam;
|
||||
import com.gxwebsoft.shop.param.OrderParam;
|
||||
import com.gxwebsoft.shop.service.OrderGoodsService;
|
||||
import com.gxwebsoft.shop.service.OrderService;
|
||||
import io.swagger.annotations.Api;
|
||||
import io.swagger.annotations.ApiOperation;
|
||||
import lombok.val;
|
||||
import org.springframework.data.geo.Point;
|
||||
import org.springframework.data.redis.core.StringRedisTemplate;
|
||||
import org.springframework.http.HttpStatus;
|
||||
import org.springframework.http.ResponseEntity;
|
||||
import org.springframework.security.access.prepost.PreAuthorize;
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
import org.springframework.web.client.RestTemplate;
|
||||
|
||||
import javax.annotation.Resource;
|
||||
import java.text.SimpleDateFormat;
|
||||
import java.util.ArrayList;
|
||||
import java.util.HashMap;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.util.concurrent.TimeUnit;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
import static com.gxwebsoft.common.core.constants.RedisConstants.*;
|
||||
|
||||
/**
|
||||
* 哗啦啦接口
|
||||
* 桂小厨GO
|
||||
* AppID:wx445232847c503f1b
|
||||
* AppSecret:eb81fbcac21da949d819143b43d18636
|
||||
* 桂小厨+
|
||||
* AppID:wx445232847c503f1b
|
||||
* AppSecret:eb81fbcac21da949d819143b43d18636
|
||||
* @author 科技小王子
|
||||
* @since 2022-11-25 12:55:33
|
||||
*/
|
||||
@Api(tags = "哗啦啦接口")
|
||||
@RestController
|
||||
@RequestMapping("/api/apps/hualala")
|
||||
public class HualalaController extends BaseController {
|
||||
@Resource
|
||||
private HualalaService hualalaService;
|
||||
@Resource
|
||||
private HualalaShopService hualalaShopService;
|
||||
@Resource
|
||||
private StringRedisTemplate stringRedisTemplate;
|
||||
@Resource
|
||||
private CacheClient cacheClient;
|
||||
@Resource
|
||||
private HualalaFoodService hualalaFoodService;
|
||||
@Resource
|
||||
private HualalaFoodCategoryService hualalaFoodCategoryService;
|
||||
@Resource
|
||||
private OrderService orderService;
|
||||
@Resource
|
||||
private OrderGoodsService orderGoodsService;
|
||||
@Resource
|
||||
private OrderGoodsMapper orderGoodsMapper;
|
||||
|
||||
@ApiOperation("哗啦啦万能接口")
|
||||
@PostMapping()
|
||||
public ApiResult<?> post(@RequestBody HualalaParam hualalaParam) {
|
||||
// 接口
|
||||
String apiUrl = hualalaParam.getApiUrl();
|
||||
// 请求参数
|
||||
HashMap<String, Object> params = hualalaParam.getParams();
|
||||
// 执行请求
|
||||
JSONObject response = hualalaService.doPost(apiUrl, params);
|
||||
return success("请求成功",response);
|
||||
}
|
||||
|
||||
@ApiOperation("查询集团店铺列表")
|
||||
@PostMapping("/getAllShop")
|
||||
public ApiResult<?> getAllShop(@RequestBody Map<String, Object> params) {
|
||||
// 请求缓存数据
|
||||
AllShopResult cache = cacheClient.get(getAllShop, AllShopResult.class);
|
||||
if(cache != null){
|
||||
return success("请求成功",cache.getShopInfoList());
|
||||
}
|
||||
|
||||
// 执行请求解析data数据
|
||||
JSONObject response = hualalaService.doPost("/doc/getAllShop", params);
|
||||
AllShopResult result = JSONObject.parseObject(response.getString("data"), AllShopResult.class);
|
||||
cacheClient.set(getAllShop,result);
|
||||
|
||||
List<HualalaShop> shopInfoList = result.getShopInfoList();
|
||||
// 过滤非桂小厨品牌门店
|
||||
List<HualalaShop> shops = shopInfoList.stream().filter(d -> d.getBrandName().equals("桂小厨")).collect(Collectors.toList());
|
||||
shops.forEach(d -> {
|
||||
d.setCreateTime(null);
|
||||
d.setTenantId(getTenantId());
|
||||
cacheClient.geoAdd(haulalaGeoKey,d.getMapLongitudeValueBaiDu(),d.getMapLatitudeValueBaiDu(),d.getShopId().toString());
|
||||
});
|
||||
hualalaShopService.saveBatch(shops);
|
||||
return success("缓存成功",shops);
|
||||
|
||||
|
||||
// try {
|
||||
// // 执行请求解析data数据
|
||||
// JSONObject response = hualalaService.doPost("/doc/getAllShop", params);
|
||||
// AllShopResult result = JSONObject.parseObject(response.getString("data"), AllShopResult.class);
|
||||
// cacheClient.set(getAllShop,result,1L,TimeUnit.DAYS);
|
||||
// return success("请求成功",result);
|
||||
// } catch (Exception e) {
|
||||
// throw new RuntimeException();
|
||||
// }
|
||||
}
|
||||
|
||||
|
||||
@ApiOperation("查询店铺信息")
|
||||
@PostMapping("/getBaseInfo")
|
||||
public ApiResult<?> getBaseInfo(@RequestBody Map<String, Object> params) {
|
||||
// 请求缓存数据
|
||||
String key = getBaseInfo.concat(":").concat(params.get("shopId").toString());
|
||||
Merchant merchant = cacheClient.get(key, Merchant.class);
|
||||
if(merchant != null){
|
||||
return success("请求成功",merchant);
|
||||
}
|
||||
try {
|
||||
// 执行请求解析data数据
|
||||
JSONObject response = hualalaService.doPost("/doc/getBaseInfo", params);
|
||||
ShopBaseInfoResult result = JSONObject.parseObject(response.getString("data"), ShopBaseInfoResult.class);
|
||||
cacheClient.set(key,result);
|
||||
return success("缓存成功",result);
|
||||
} catch (Exception e) {
|
||||
throw new RuntimeException();
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@ApiOperation("查询店铺菜品分类")
|
||||
@PostMapping("/getFoodClassCategory")
|
||||
public ApiResult<?> getFoodClassCategory(@RequestBody Map<String, Object> params) {
|
||||
// 只查询外卖菜品
|
||||
params.put("type",1);
|
||||
// 请求缓存数据
|
||||
String key = getFoodClassCategory.concat(":").concat(params.get("shopId").toString());
|
||||
FoodCategoryResult cache = cacheClient.get(key, FoodCategoryResult.class);
|
||||
if(cache != null){
|
||||
return success("请求成功",cache);
|
||||
}
|
||||
|
||||
try {
|
||||
// 执行请求解析data数据
|
||||
JSONObject response = hualalaService.doPost("/doc/getFoodClassCategory", params);
|
||||
FoodCategoryResult result = JSONObject.parseObject(response.getString("data"), FoodCategoryResult.class);
|
||||
cacheClient.set(key,result);
|
||||
return success("缓存成功",result);
|
||||
} catch (Exception e) {
|
||||
throw new RuntimeException();
|
||||
}
|
||||
}
|
||||
|
||||
@ApiOperation("查询店铺菜品列表")
|
||||
@PostMapping("/getOpenFood")
|
||||
public ApiResult<?> getOpenFood(@RequestBody Map<String, Object> params) {
|
||||
// 请求缓存数据
|
||||
String key = getOpenFood.concat(":").concat(params.get("shopId").toString());
|
||||
OpenFoodResult cache = cacheClient.get(key, OpenFoodResult.class);
|
||||
if(cache != null){
|
||||
// 计算加入购物车的商品数量
|
||||
List<HualalaFood> foodList = cache.getFoodList();
|
||||
foodList.forEach(d -> {
|
||||
String cartKey = HLL_CART_FOOD_KEY.concat(d.getShopId()).concat(":").concat(getLoginUserId().toString());
|
||||
ItemVo item = cacheClient.hGet(cartKey, d.getFoodId(), ItemVo.class);
|
||||
if(item != null){
|
||||
d.setCartNum(item.getNum());
|
||||
}
|
||||
});
|
||||
// List<HualalaFood> foods = CommonUtil.toTreeData(cache.getFoodList(), null, HualalaFood::getParentFoodId, HualalaFood::getFoodOnlineCategoryId, HualalaFood::setChildren);
|
||||
Map<String, List<HualalaFood>> collect = foodList.stream().collect(Collectors.groupingBy(HualalaFood::getFoodOnlineCategoryId));
|
||||
return success("请求成功",collect);
|
||||
}
|
||||
|
||||
// 执行请求解析当前店铺的菜品数据
|
||||
JSONObject response = hualalaService.doPost("/doc/getOpenFood", params);
|
||||
OpenFoodResult result = JSONObject.parseObject(response.getString("data"), OpenFoodResult.class);
|
||||
// 筛选出外卖菜品
|
||||
List<HualalaFood> foodList = result.getFoodList();
|
||||
List<HualalaFood> foodList2 = foodList.stream().filter(d -> d.getTakeawayTag().equals("2")).collect(Collectors.toList());
|
||||
// 筛选出可以点单的菜品
|
||||
List<HualalaFood> foods = foodList2.stream().filter(d -> d.getIsSingleSale().equals(1)).collect(Collectors.toList());
|
||||
// 存入redis
|
||||
result.setFoodList(foods);
|
||||
result.setCount(foods.size());
|
||||
cacheClient.set(key,result);
|
||||
hualalaFoodService.saveBatch(foods);
|
||||
return success("缓存成功",result.getFoodList());
|
||||
}
|
||||
|
||||
// @ApiOperation("查询店铺菜品列表(备份)")
|
||||
// @PostMapping("/getOpenFood2")
|
||||
// public ApiResult<?> getOpenFood2(@RequestBody Map<String, Object> params) {
|
||||
// // 请求缓存数据
|
||||
// String key = getOpenFood.concat(":").concat(params.get("shopId").toString());
|
||||
// OpenFoodResult cache = cacheClient.get(key, OpenFoodResult.class);
|
||||
// if(cache != null){
|
||||
// // 计算加入购物车的商品数量
|
||||
// List<HualalaFood> foodList = cache.getFoodList();
|
||||
// foodList.forEach(d -> {
|
||||
// String cartKey = HLL_CART_FOOD_KEY.concat(d.getShopId()).concat(":").concat(getLoginUserId().toString());
|
||||
// ItemVo item = cacheClient.hGet(cartKey, d.getFoodId(), ItemVo.class);
|
||||
// if(item != null){
|
||||
// d.setCartNum(item.getNum());
|
||||
// }
|
||||
// });
|
||||
// return success("请求成功",foodList);
|
||||
// }
|
||||
// try {
|
||||
// // 执行请求解析当前店铺的菜品数据
|
||||
// JSONObject response = hualalaService.doPost("/doc/getOpenFood", params);
|
||||
// OpenFoodResult result = JSONObject.parseObject(response.getString("data"), OpenFoodResult.class);
|
||||
// // 筛选出外卖菜品
|
||||
// List<HualalaFood> foodList = result.getFoodList();
|
||||
// List<HualalaFood> foodList2 = foodList.stream().filter(d -> d.getTakeawayTag().equals("2")).collect(Collectors.toList());
|
||||
// // 筛选出可以点单的菜品
|
||||
// List<HualalaFood> foods = foodList2.stream().filter(d -> d.getIsSingleSale().equals(1)).collect(Collectors.toList());
|
||||
// // 存入redis
|
||||
// result.setFoodList(foods);
|
||||
// result.setCount(foods.size());
|
||||
// cacheClient.set(key,result);
|
||||
// return success("缓存成功",result.getFoodList());
|
||||
// } catch (Exception e) {
|
||||
// throw new RuntimeException();
|
||||
// }
|
||||
// }
|
||||
|
||||
@PreAuthorize("hasAuthority('apps:hualala:list')")
|
||||
@ApiOperation("保存菜品到redis(已废弃)")
|
||||
@PostMapping("/setOpenFoodToRedis")
|
||||
public ApiResult<?> setOpenFoodToRedis(@RequestBody HualalaFoodParam food) {
|
||||
System.out.println("food = " + food);
|
||||
String key = "cache:getOpenFood:shop-"+food.getShopId()+":category-"+food.getFoodCategoryCode()+":"+food.getFoodId();
|
||||
// stringRedisTemplate.opsForHash().put(key,food.getFoodId(),food.getData().toString());
|
||||
return success("请求成功",food);
|
||||
// 请求缓存数据
|
||||
// String key = getOpenFood + params.get("shopId");
|
||||
// String jsonStr = stringRedisTemplate.opsForValue().get(key);
|
||||
// if(StrUtil.isNotBlank(jsonStr)){
|
||||
// return success("请求成功",JSON.parseObject(jsonStr));
|
||||
// }
|
||||
// try {
|
||||
// // 执行请求解析data数据
|
||||
// JSONObject response = hualalaService.doPost("/doc/getOpenFood", params);
|
||||
// stringRedisTemplate.opsForValue().set(key, response.getString("data"),1,TimeUnit.DAYS);
|
||||
// return success("请求成功",JSON.parseObject(response.getString("data")));
|
||||
// } catch (Exception e) {
|
||||
// throw new RuntimeException();
|
||||
// }
|
||||
}
|
||||
|
||||
@ApiOperation("根据定位查询附近的门店列表")
|
||||
@PostMapping("/getListByGeo")
|
||||
public ApiResult<List<HualalaShop>> getListByGeo(@RequestBody HualalaShopParam param) {
|
||||
return success(hualalaShopService.listByGeo(param));
|
||||
}
|
||||
|
||||
@PreAuthorize("hasAuthority('apps:hualala:list')")
|
||||
@ApiOperation("把商户坐标写入redis缓存")
|
||||
@PostMapping("/geoAdd")
|
||||
public ApiResult<?> geoAdd(){
|
||||
String key1 = "shop:geo:guixiaochu";
|
||||
stringRedisTemplate.opsForGeo().add(key1,new Point(108.321614,22.815124),"76230180");
|
||||
stringRedisTemplate.opsForGeo().add(key1,new Point(108.335703,22.813917),"76230181");
|
||||
stringRedisTemplate.opsForGeo().add(key1,new Point(108.370343,22.830116),"76230179");
|
||||
stringRedisTemplate.opsForGeo().add(key1,new Point(108.292017,22.869498),"76258872");
|
||||
stringRedisTemplate.opsForGeo().add(key1,new Point(108.393005,22.81194),"76230126");
|
||||
stringRedisTemplate.opsForGeo().add(key1,new Point(108.325202,22.785341),"76230178");
|
||||
return success("添加完毕");
|
||||
}
|
||||
|
||||
@ApiOperation("推送订单")
|
||||
@PostMapping("/pushOrder")
|
||||
public ApiResult<?> pushOrder(@RequestBody OrderParam param){
|
||||
Integer orderId = param.getOrderId();
|
||||
Order orderInfo = orderService.getById(orderId);
|
||||
System.out.println("orderInfo = " + orderInfo);
|
||||
final List<OrderGoods> goodsInfo = orderGoodsMapper.selectByOrderId(orderId);
|
||||
System.out.println("goodsInfo = " + goodsInfo);
|
||||
// 菜品信息
|
||||
ArrayList<Object> orderItem = new ArrayList<>();
|
||||
goodsInfo.forEach(goods -> {
|
||||
JSONObject item = new JSONObject();
|
||||
item.put("foodID",goods.getGoodsId()); // 菜品id
|
||||
item.put("foodName",goods.getGoodsName()); // 菜品名称
|
||||
item.put("foodUnit","份"); // 规格名称
|
||||
item.put("foodUnitID",goods.getGoodsSkuId()); // 菜品规格id
|
||||
item.put("isSetFood",0); // 是/否套餐,0:非套餐 1:套餐
|
||||
item.put("isBatching",0); // 0:正常菜,1:主菜,2:配菜,3:加价做法
|
||||
item.put("foodCount",goods.getTotalNum()); // 菜品数量
|
||||
item.put("originPrice",goods.getTotalPrice()); // 菜品原价
|
||||
item.put("takeoutPackagingFee","0"); // 打包费
|
||||
item.put("isDiscount",0); // 是/否打折 ,0:不是 1:是
|
||||
item.put("duePrice",goods.getTotalPrice()); // TODO 菜品成售价
|
||||
orderItem.add(item);
|
||||
});
|
||||
|
||||
// 支付信息
|
||||
ArrayList<Object> payInfo = new ArrayList<>();
|
||||
JSONObject payItem = new JSONObject();
|
||||
payItem.put("paymentSubjectID",Long.valueOf("51010440")); // 科目id
|
||||
payItem.put("paymentSubjectName","微信小程序实收"); // 科目名称
|
||||
payItem.put("dueAmount",orderInfo.getPayPrice()); // TODO 实收金额
|
||||
payItem.put("paymentStatus",20); // 支付状态,15:未支付;20:已支付
|
||||
payItem.put("payWay",70); // 支付方式,70:商家自定义科目
|
||||
payInfo.add(payItem);
|
||||
|
||||
// 用户信息
|
||||
JSONObject userInfo = new JSONObject();
|
||||
userInfo.put("userName","邓莉莉");
|
||||
userInfo.put("userMobile","15878179339");
|
||||
userInfo.put("shopMpID","wxa4e2b8bc9c14c743");
|
||||
userInfo.put("userSex","0"); // 用户性别, 1:先生 0:女士 2:不显示,不传默认0 女士
|
||||
|
||||
// 订单信息
|
||||
JSONObject order = new JSONObject();
|
||||
order.put("orderSubType",20); // 订单类型 20: 外送
|
||||
order.put("orderStatus",20); // 订单状态 20:已付款
|
||||
order.put("discountTotalAmount","0"); // TODO 优惠金额
|
||||
order.put("dinners",1); // 用餐人数
|
||||
// 期望送达时间
|
||||
SimpleDateFormat sdf1 = new SimpleDateFormat("yyyyMMddHHmm");
|
||||
order.put("orderTime",sdf1.format(orderInfo.getCreateTime()));
|
||||
order.put("orderItem",orderItem); // 菜品信息
|
||||
order.put("takeoutAddress","南宁市良庆区五象大道401号五象航洋城1号楼1226室"); // TODO 外送地址
|
||||
order.put("deliveryAmount","8.00"); // TODO 配送费
|
||||
order.put("serviceAmount","0"); // 服务费,必传0
|
||||
order.put("channelKey","399_weixin"); // 渠道:微信小程序
|
||||
order.put("isAlreadyPaid","1"); // 是/否支付
|
||||
order.put("orderMode",1); // 1:先付,2:后付
|
||||
order.put("OrderRemark","测试订单(不需要制作及发货)"); // TODO 订单备注
|
||||
order.put("payment",payInfo); // 支付信息
|
||||
order.put("userInfo",userInfo); // 用户信息
|
||||
|
||||
HashMap<String,Object> params = new HashMap<>();
|
||||
params.put("shopID",Long.valueOf("76220517")); // 店铺ID
|
||||
params.put("isCheackOut",0); // 0 :默认 不需要收银台数据 1: 需要收银台数据
|
||||
params.put("isThirdPay",2); // 只有单纯核销哗啦啦会员卡时传1,其它都传2
|
||||
params.put("bankCode","weChat"); // 支付方式,weChat微信 aliPay支付宝,非哗啦啦支付传weChat
|
||||
params.put("order",order); // 订单信息
|
||||
params.put("isSentMsg",1); // 下单后pos是/否显示订单,下单带支付科目信息先付传1,下单不带支付科目信息先付传0,后付传1
|
||||
params.put("msgType",120); // 消息类型,240: 堂食、闪吃,120:外送,121:自提 ,与order中orderSubType要对应
|
||||
params.put("thirdOrderID",orderInfo.getOrderNo()); // 三方订单号,作用:十分钟内对相同的thirdOrderID进行去重处理,仅开放平台使用做去重处理,不会传到pos及报表
|
||||
|
||||
// 执行订单推送
|
||||
// JSONObject response = hualalaService.doPost("/order/submitordernew", params);
|
||||
// System.out .println("response = " + response);
|
||||
|
||||
// 同步配送平台
|
||||
// JSONObject result = hualalaService.doExpress(orderInfo);
|
||||
|
||||
return success("推送成功",null);
|
||||
}
|
||||
|
||||
}
|
||||
@@ -0,0 +1,134 @@
|
||||
package com.gxwebsoft.apps.controller;
|
||||
|
||||
import com.gxwebsoft.common.core.web.BaseController;
|
||||
import com.gxwebsoft.apps.service.HualalaFoodCategoryService;
|
||||
import com.gxwebsoft.apps.entity.HualalaFoodCategory;
|
||||
import com.gxwebsoft.apps.param.HualalaFoodCategoryParam;
|
||||
import com.gxwebsoft.common.core.web.ApiResult;
|
||||
import com.gxwebsoft.common.core.web.PageResult;
|
||||
import com.gxwebsoft.common.core.web.PageParam;
|
||||
import com.gxwebsoft.common.core.web.BatchParam;
|
||||
import com.gxwebsoft.common.core.annotation.OperationLog;
|
||||
import com.gxwebsoft.common.system.entity.User;
|
||||
import io.swagger.annotations.Api;
|
||||
import io.swagger.annotations.ApiOperation;
|
||||
import org.springframework.security.access.prepost.PreAuthorize;
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
|
||||
import javax.annotation.Resource;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* 菜品分类控制器
|
||||
*
|
||||
* @author 科技小王子
|
||||
* @since 2023-01-12 09:49:46
|
||||
*/
|
||||
@Api(tags = "菜品分类管理")
|
||||
@RestController
|
||||
@RequestMapping("/api/apps/hualala-food-category")
|
||||
public class HualalaFoodCategoryController extends BaseController {
|
||||
@Resource
|
||||
private HualalaFoodCategoryService hualalaFoodCategoryService;
|
||||
|
||||
@PreAuthorize("hasAuthority('apps:hualalaFoodCategory:list')")
|
||||
@OperationLog
|
||||
@ApiOperation("分页查询菜品分类")
|
||||
@GetMapping("/page")
|
||||
public ApiResult<PageResult<HualalaFoodCategory>> page(HualalaFoodCategoryParam param) {
|
||||
PageParam<HualalaFoodCategory, HualalaFoodCategoryParam> page = new PageParam<>(param);
|
||||
page.setDefaultOrder("create_time desc");
|
||||
return success(hualalaFoodCategoryService.page(page, page.getWrapper()));
|
||||
// 使用关联查询
|
||||
//return success(hualalaFoodCategoryService.pageRel(param));
|
||||
}
|
||||
|
||||
@PreAuthorize("hasAuthority('apps:hualalaFoodCategory:list')")
|
||||
@OperationLog
|
||||
@ApiOperation("查询全部菜品分类")
|
||||
@GetMapping()
|
||||
public ApiResult<List<HualalaFoodCategory>> list(HualalaFoodCategoryParam param) {
|
||||
PageParam<HualalaFoodCategory, HualalaFoodCategoryParam> page = new PageParam<>(param);
|
||||
page.setDefaultOrder("create_time desc");
|
||||
return success(hualalaFoodCategoryService.list(page.getOrderWrapper()));
|
||||
// 使用关联查询
|
||||
//return success(hualalaFoodCategoryService.listRel(param));
|
||||
}
|
||||
|
||||
@PreAuthorize("hasAuthority('apps:hualalaFoodCategory:list')")
|
||||
@OperationLog
|
||||
@ApiOperation("根据id查询菜品分类")
|
||||
@GetMapping("/{id}")
|
||||
public ApiResult<HualalaFoodCategory> get(@PathVariable("id") Integer id) {
|
||||
return success(hualalaFoodCategoryService.getById(id));
|
||||
// 使用关联查询
|
||||
//return success(hualalaFoodCategoryService.getByIdRel(id));
|
||||
}
|
||||
|
||||
@PreAuthorize("hasAuthority('apps:hualalaFoodCategory:save')")
|
||||
@OperationLog
|
||||
@ApiOperation("添加菜品分类")
|
||||
@PostMapping()
|
||||
public ApiResult<?> save(@RequestBody HualalaFoodCategory hualalaFoodCategory) {
|
||||
if (hualalaFoodCategoryService.save(hualalaFoodCategory)) {
|
||||
return success("添加成功");
|
||||
}
|
||||
return fail("添加失败");
|
||||
}
|
||||
|
||||
@PreAuthorize("hasAuthority('apps:hualalaFoodCategory:update')")
|
||||
@OperationLog
|
||||
@ApiOperation("修改菜品分类")
|
||||
@PutMapping()
|
||||
public ApiResult<?> update(@RequestBody HualalaFoodCategory hualalaFoodCategory) {
|
||||
if (hualalaFoodCategoryService.updateById(hualalaFoodCategory)) {
|
||||
return success("修改成功");
|
||||
}
|
||||
return fail("修改失败");
|
||||
}
|
||||
|
||||
@PreAuthorize("hasAuthority('apps:hualalaFoodCategory:remove')")
|
||||
@OperationLog
|
||||
@ApiOperation("删除菜品分类")
|
||||
@DeleteMapping("/{id}")
|
||||
public ApiResult<?> remove(@PathVariable("id") Integer id) {
|
||||
if (hualalaFoodCategoryService.removeById(id)) {
|
||||
return success("删除成功");
|
||||
}
|
||||
return fail("删除失败");
|
||||
}
|
||||
|
||||
@PreAuthorize("hasAuthority('apps:hualalaFoodCategory:save')")
|
||||
@OperationLog
|
||||
@ApiOperation("批量添加菜品分类")
|
||||
@PostMapping("/batch")
|
||||
public ApiResult<?> saveBatch(@RequestBody List<HualalaFoodCategory> list) {
|
||||
if (hualalaFoodCategoryService.saveBatch(list)) {
|
||||
return success("添加成功");
|
||||
}
|
||||
return fail("添加失败");
|
||||
}
|
||||
|
||||
@PreAuthorize("hasAuthority('apps:hualalaFoodCategory:update')")
|
||||
@OperationLog
|
||||
@ApiOperation("批量修改菜品分类")
|
||||
@PutMapping("/batch")
|
||||
public ApiResult<?> removeBatch(@RequestBody BatchParam<HualalaFoodCategory> batchParam) {
|
||||
if (batchParam.update(hualalaFoodCategoryService, "id")) {
|
||||
return success("修改成功");
|
||||
}
|
||||
return fail("修改失败");
|
||||
}
|
||||
|
||||
@PreAuthorize("hasAuthority('apps:hualalaFoodCategory:remove')")
|
||||
@OperationLog
|
||||
@ApiOperation("批量删除菜品分类")
|
||||
@DeleteMapping("/batch")
|
||||
public ApiResult<?> removeBatch(@RequestBody List<Integer> ids) {
|
||||
if (hualalaFoodCategoryService.removeByIds(ids)) {
|
||||
return success("删除成功");
|
||||
}
|
||||
return fail("删除失败");
|
||||
}
|
||||
|
||||
}
|
||||
@@ -0,0 +1,134 @@
|
||||
package com.gxwebsoft.apps.controller;
|
||||
|
||||
import com.gxwebsoft.common.core.web.BaseController;
|
||||
import com.gxwebsoft.apps.service.HualalaFoodService;
|
||||
import com.gxwebsoft.apps.entity.HualalaFood;
|
||||
import com.gxwebsoft.apps.param.HualalaFoodParam;
|
||||
import com.gxwebsoft.common.core.web.ApiResult;
|
||||
import com.gxwebsoft.common.core.web.PageResult;
|
||||
import com.gxwebsoft.common.core.web.PageParam;
|
||||
import com.gxwebsoft.common.core.web.BatchParam;
|
||||
import com.gxwebsoft.common.core.annotation.OperationLog;
|
||||
import com.gxwebsoft.common.system.entity.User;
|
||||
import io.swagger.annotations.Api;
|
||||
import io.swagger.annotations.ApiOperation;
|
||||
import org.springframework.security.access.prepost.PreAuthorize;
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
|
||||
import javax.annotation.Resource;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* 菜品分类控制器
|
||||
*
|
||||
* @author 科技小王子
|
||||
* @since 2023-01-12 15:34:55
|
||||
*/
|
||||
@Api(tags = "菜品分类管理")
|
||||
@RestController
|
||||
@RequestMapping("/api/apps/hualala-food")
|
||||
public class HualalaFoodController extends BaseController {
|
||||
@Resource
|
||||
private HualalaFoodService hualalaFoodService;
|
||||
|
||||
@PreAuthorize("hasAuthority('apps:hualalaFood:list')")
|
||||
@OperationLog
|
||||
@ApiOperation("分页查询菜品分类")
|
||||
@GetMapping("/page")
|
||||
public ApiResult<PageResult<HualalaFood>> page(HualalaFoodParam param) {
|
||||
PageParam<HualalaFood, HualalaFoodParam> page = new PageParam<>(param);
|
||||
page.setDefaultOrder("create_time desc");
|
||||
return success(hualalaFoodService.page(page, page.getWrapper()));
|
||||
// 使用关联查询
|
||||
//return success(hualalaFoodService.pageRel(param));
|
||||
}
|
||||
|
||||
@PreAuthorize("hasAuthority('apps:hualalaFood:list')")
|
||||
@OperationLog
|
||||
@ApiOperation("查询全部菜品分类")
|
||||
@GetMapping()
|
||||
public ApiResult<List<HualalaFood>> list(HualalaFoodParam param) {
|
||||
PageParam<HualalaFood, HualalaFoodParam> page = new PageParam<>(param);
|
||||
page.setDefaultOrder("create_time desc");
|
||||
return success(hualalaFoodService.list(page.getOrderWrapper()));
|
||||
// 使用关联查询
|
||||
//return success(hualalaFoodService.listRel(param));
|
||||
}
|
||||
|
||||
@PreAuthorize("hasAuthority('apps:hualalaFood:list')")
|
||||
@OperationLog
|
||||
@ApiOperation("根据id查询菜品分类")
|
||||
@GetMapping("/{id}")
|
||||
public ApiResult<HualalaFood> get(@PathVariable("id") Integer id) {
|
||||
return success(hualalaFoodService.getById(id));
|
||||
// 使用关联查询
|
||||
//return success(hualalaFoodService.getByIdRel(id));
|
||||
}
|
||||
|
||||
@PreAuthorize("hasAuthority('apps:hualalaFood:save')")
|
||||
@OperationLog
|
||||
@ApiOperation("添加菜品分类")
|
||||
@PostMapping()
|
||||
public ApiResult<?> save(@RequestBody HualalaFood hualalaFood) {
|
||||
if (hualalaFoodService.save(hualalaFood)) {
|
||||
return success("添加成功");
|
||||
}
|
||||
return fail("添加失败");
|
||||
}
|
||||
|
||||
@PreAuthorize("hasAuthority('apps:hualalaFood:update')")
|
||||
@OperationLog
|
||||
@ApiOperation("修改菜品分类")
|
||||
@PutMapping()
|
||||
public ApiResult<?> update(@RequestBody HualalaFood hualalaFood) {
|
||||
if (hualalaFoodService.updateById(hualalaFood)) {
|
||||
return success("修改成功");
|
||||
}
|
||||
return fail("修改失败");
|
||||
}
|
||||
|
||||
@PreAuthorize("hasAuthority('apps:hualalaFood:remove')")
|
||||
@OperationLog
|
||||
@ApiOperation("删除菜品分类")
|
||||
@DeleteMapping("/{id}")
|
||||
public ApiResult<?> remove(@PathVariable("id") Integer id) {
|
||||
if (hualalaFoodService.removeById(id)) {
|
||||
return success("删除成功");
|
||||
}
|
||||
return fail("删除失败");
|
||||
}
|
||||
|
||||
@PreAuthorize("hasAuthority('apps:hualalaFood:save')")
|
||||
@OperationLog
|
||||
@ApiOperation("批量添加菜品分类")
|
||||
@PostMapping("/batch")
|
||||
public ApiResult<?> saveBatch(@RequestBody List<HualalaFood> list) {
|
||||
if (hualalaFoodService.saveBatch(list)) {
|
||||
return success("添加成功");
|
||||
}
|
||||
return fail("添加失败");
|
||||
}
|
||||
|
||||
@PreAuthorize("hasAuthority('apps:hualalaFood:update')")
|
||||
@OperationLog
|
||||
@ApiOperation("批量修改菜品分类")
|
||||
@PutMapping("/batch")
|
||||
public ApiResult<?> removeBatch(@RequestBody BatchParam<HualalaFood> batchParam) {
|
||||
if (batchParam.update(hualalaFoodService, "id")) {
|
||||
return success("修改成功");
|
||||
}
|
||||
return fail("修改失败");
|
||||
}
|
||||
|
||||
@PreAuthorize("hasAuthority('apps:hualalaFood:remove')")
|
||||
@OperationLog
|
||||
@ApiOperation("批量删除菜品分类")
|
||||
@DeleteMapping("/batch")
|
||||
public ApiResult<?> removeBatch(@RequestBody List<Integer> ids) {
|
||||
if (hualalaFoodService.removeByIds(ids)) {
|
||||
return success("删除成功");
|
||||
}
|
||||
return fail("删除失败");
|
||||
}
|
||||
|
||||
}
|
||||
@@ -0,0 +1,134 @@
|
||||
package com.gxwebsoft.apps.controller;
|
||||
|
||||
import com.gxwebsoft.common.core.web.BaseController;
|
||||
import com.gxwebsoft.apps.service.HualalaShopService;
|
||||
import com.gxwebsoft.apps.entity.HualalaShop;
|
||||
import com.gxwebsoft.apps.param.HualalaShopParam;
|
||||
import com.gxwebsoft.common.core.web.ApiResult;
|
||||
import com.gxwebsoft.common.core.web.PageResult;
|
||||
import com.gxwebsoft.common.core.web.PageParam;
|
||||
import com.gxwebsoft.common.core.web.BatchParam;
|
||||
import com.gxwebsoft.common.core.annotation.OperationLog;
|
||||
import com.gxwebsoft.common.system.entity.User;
|
||||
import io.swagger.annotations.Api;
|
||||
import io.swagger.annotations.ApiOperation;
|
||||
import org.springframework.security.access.prepost.PreAuthorize;
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
|
||||
import javax.annotation.Resource;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* 哗啦啦门店管理控制器
|
||||
*
|
||||
* @author 科技小王子
|
||||
* @since 2023-01-12 18:24:44
|
||||
*/
|
||||
@Api(tags = "哗啦啦门店管理管理")
|
||||
@RestController
|
||||
@RequestMapping("/api/apps/hualala-shop")
|
||||
public class HualalaShopController extends BaseController {
|
||||
@Resource
|
||||
private HualalaShopService hualalaShopService;
|
||||
|
||||
@PreAuthorize("hasAuthority('apps:hualalaShop:list')")
|
||||
@OperationLog
|
||||
@ApiOperation("分页查询哗啦啦门店管理")
|
||||
@GetMapping("/page")
|
||||
public ApiResult<PageResult<HualalaShop>> page(HualalaShopParam param) {
|
||||
PageParam<HualalaShop, HualalaShopParam> page = new PageParam<>(param);
|
||||
page.setDefaultOrder("create_time desc");
|
||||
return success(hualalaShopService.page(page, page.getWrapper()));
|
||||
// 使用关联查询
|
||||
//return success(hualalaShopService.pageRel(param));
|
||||
}
|
||||
|
||||
@PreAuthorize("hasAuthority('apps:hualalaShop:list')")
|
||||
@OperationLog
|
||||
@ApiOperation("查询全部哗啦啦门店管理")
|
||||
@GetMapping()
|
||||
public ApiResult<List<HualalaShop>> list(HualalaShopParam param) {
|
||||
PageParam<HualalaShop, HualalaShopParam> page = new PageParam<>(param);
|
||||
page.setDefaultOrder("create_time desc");
|
||||
return success(hualalaShopService.list(page.getOrderWrapper()));
|
||||
// 使用关联查询
|
||||
//return success(hualalaShopService.listRel(param));
|
||||
}
|
||||
|
||||
@PreAuthorize("hasAuthority('apps:hualalaShop:list')")
|
||||
@OperationLog
|
||||
@ApiOperation("根据id查询哗啦啦门店管理")
|
||||
@GetMapping("/{id}")
|
||||
public ApiResult<HualalaShop> get(@PathVariable("id") Integer id) {
|
||||
return success(hualalaShopService.getById(id));
|
||||
// 使用关联查询
|
||||
//return success(hualalaShopService.getByIdRel(id));
|
||||
}
|
||||
|
||||
@PreAuthorize("hasAuthority('apps:hualalaShop:save')")
|
||||
@OperationLog
|
||||
@ApiOperation("添加哗啦啦门店管理")
|
||||
@PostMapping()
|
||||
public ApiResult<?> save(@RequestBody HualalaShop hualalaShop) {
|
||||
if (hualalaShopService.save(hualalaShop)) {
|
||||
return success("添加成功");
|
||||
}
|
||||
return fail("添加失败");
|
||||
}
|
||||
|
||||
@PreAuthorize("hasAuthority('apps:hualalaShop:update')")
|
||||
@OperationLog
|
||||
@ApiOperation("修改哗啦啦门店管理")
|
||||
@PutMapping()
|
||||
public ApiResult<?> update(@RequestBody HualalaShop hualalaShop) {
|
||||
if (hualalaShopService.updateById(hualalaShop)) {
|
||||
return success("修改成功");
|
||||
}
|
||||
return fail("修改失败");
|
||||
}
|
||||
|
||||
@PreAuthorize("hasAuthority('apps:hualalaShop:remove')")
|
||||
@OperationLog
|
||||
@ApiOperation("删除哗啦啦门店管理")
|
||||
@DeleteMapping("/{id}")
|
||||
public ApiResult<?> remove(@PathVariable("id") Integer id) {
|
||||
if (hualalaShopService.removeById(id)) {
|
||||
return success("删除成功");
|
||||
}
|
||||
return fail("删除失败");
|
||||
}
|
||||
|
||||
@PreAuthorize("hasAuthority('apps:hualalaShop:save')")
|
||||
@OperationLog
|
||||
@ApiOperation("批量添加哗啦啦门店管理")
|
||||
@PostMapping("/batch")
|
||||
public ApiResult<?> saveBatch(@RequestBody List<HualalaShop> list) {
|
||||
if (hualalaShopService.saveBatch(list)) {
|
||||
return success("添加成功");
|
||||
}
|
||||
return fail("添加失败");
|
||||
}
|
||||
|
||||
@PreAuthorize("hasAuthority('apps:hualalaShop:update')")
|
||||
@OperationLog
|
||||
@ApiOperation("批量修改哗啦啦门店管理")
|
||||
@PutMapping("/batch")
|
||||
public ApiResult<?> removeBatch(@RequestBody BatchParam<HualalaShop> batchParam) {
|
||||
if (batchParam.update(hualalaShopService, "shop_id")) {
|
||||
return success("修改成功");
|
||||
}
|
||||
return fail("修改失败");
|
||||
}
|
||||
|
||||
@PreAuthorize("hasAuthority('apps:hualalaShop:remove')")
|
||||
@OperationLog
|
||||
@ApiOperation("批量删除哗啦啦门店管理")
|
||||
@DeleteMapping("/batch")
|
||||
public ApiResult<?> removeBatch(@RequestBody List<Integer> ids) {
|
||||
if (hualalaShopService.removeByIds(ids)) {
|
||||
return success("删除成功");
|
||||
}
|
||||
return fail("删除失败");
|
||||
}
|
||||
|
||||
}
|
||||
140
src/main/java/com/gxwebsoft/apps/controller/LinkController.java
Normal file
140
src/main/java/com/gxwebsoft/apps/controller/LinkController.java
Normal file
@@ -0,0 +1,140 @@
|
||||
package com.gxwebsoft.apps.controller;
|
||||
|
||||
import com.gxwebsoft.common.core.web.BaseController;
|
||||
import com.gxwebsoft.apps.service.LinkService;
|
||||
import com.gxwebsoft.apps.entity.Link;
|
||||
import com.gxwebsoft.apps.param.LinkParam;
|
||||
import com.gxwebsoft.common.core.web.ApiResult;
|
||||
import com.gxwebsoft.common.core.web.PageResult;
|
||||
import com.gxwebsoft.common.core.web.PageParam;
|
||||
import com.gxwebsoft.common.core.web.BatchParam;
|
||||
import com.gxwebsoft.common.core.annotation.OperationLog;
|
||||
import com.gxwebsoft.common.system.entity.User;
|
||||
import io.swagger.annotations.Api;
|
||||
import io.swagger.annotations.ApiOperation;
|
||||
import org.springframework.security.access.prepost.PreAuthorize;
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
|
||||
import javax.annotation.Resource;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* 常用链接推荐记录表控制器
|
||||
*
|
||||
* @author 科技小王子
|
||||
* @since 2022-11-25 12:55:33
|
||||
*/
|
||||
@Api(tags = "常用链接推荐记录表管理")
|
||||
@RestController
|
||||
@RequestMapping("/api/apps/link")
|
||||
public class LinkController extends BaseController {
|
||||
@Resource
|
||||
private LinkService linkService;
|
||||
|
||||
@PreAuthorize("hasAuthority('apps:link:list')")
|
||||
@OperationLog
|
||||
@ApiOperation("分页查询常用链接推荐记录表")
|
||||
@GetMapping("/page")
|
||||
public ApiResult<PageResult<Link>> page(LinkParam param) {
|
||||
PageParam<Link, LinkParam> page = new PageParam<>(param);
|
||||
page.setDefaultOrder("sort_number asc, create_time desc");
|
||||
return success(linkService.page(page, page.getWrapper()));
|
||||
// 使用关联查询
|
||||
//return success(linkService.pageRel(param));
|
||||
}
|
||||
|
||||
@PreAuthorize("hasAuthority('apps:link:list')")
|
||||
@OperationLog
|
||||
@ApiOperation("查询全部常用链接推荐记录表")
|
||||
@GetMapping()
|
||||
public ApiResult<List<Link>> list(LinkParam param) {
|
||||
PageParam<Link, LinkParam> page = new PageParam<>(param);
|
||||
page.setDefaultOrder("sort_number asc, create_time desc");
|
||||
return success(linkService.list(page.getOrderWrapper()));
|
||||
// 使用关联查询
|
||||
//return success(linkService.listRel(param));
|
||||
}
|
||||
|
||||
@PreAuthorize("hasAuthority('apps:link:list')")
|
||||
@OperationLog
|
||||
@ApiOperation("根据id查询常用链接推荐记录表")
|
||||
@GetMapping("/{id}")
|
||||
public ApiResult<Link> get(@PathVariable("id") Integer id) {
|
||||
return success(linkService.getById(id));
|
||||
// 使用关联查询
|
||||
//return success(linkService.getByIdRel(id));
|
||||
}
|
||||
|
||||
@PreAuthorize("hasAuthority('apps:link:save')")
|
||||
@OperationLog
|
||||
@ApiOperation("添加常用链接推荐记录表")
|
||||
@PostMapping()
|
||||
public ApiResult<?> save(@RequestBody Link link) {
|
||||
// 记录当前登录用户id、租户id
|
||||
User loginUser = getLoginUser();
|
||||
if (loginUser != null) {
|
||||
link.setUserId(loginUser.getUserId());
|
||||
link.setMerchantCode(getMerchantCode());
|
||||
}
|
||||
if (linkService.save(link)) {
|
||||
return success("添加成功");
|
||||
}
|
||||
return fail("添加失败");
|
||||
}
|
||||
|
||||
@PreAuthorize("hasAuthority('apps:link:update')")
|
||||
@OperationLog
|
||||
@ApiOperation("修改常用链接推荐记录表")
|
||||
@PutMapping()
|
||||
public ApiResult<?> update(@RequestBody Link link) {
|
||||
if (linkService.updateById(link)) {
|
||||
return success("修改成功");
|
||||
}
|
||||
return fail("修改失败");
|
||||
}
|
||||
|
||||
@PreAuthorize("hasAuthority('apps:link:remove')")
|
||||
@OperationLog
|
||||
@ApiOperation("删除常用链接推荐记录表")
|
||||
@DeleteMapping("/{id}")
|
||||
public ApiResult<?> remove(@PathVariable("id") Integer id) {
|
||||
if (linkService.removeById(id)) {
|
||||
return success("删除成功");
|
||||
}
|
||||
return fail("删除失败");
|
||||
}
|
||||
|
||||
@PreAuthorize("hasAuthority('apps:link:save')")
|
||||
@OperationLog
|
||||
@ApiOperation("批量添加常用链接推荐记录表")
|
||||
@PostMapping("/batch")
|
||||
public ApiResult<?> saveBatch(@RequestBody List<Link> list) {
|
||||
if (linkService.saveBatch(list)) {
|
||||
return success("添加成功");
|
||||
}
|
||||
return fail("添加失败");
|
||||
}
|
||||
|
||||
@PreAuthorize("hasAuthority('apps:link:update')")
|
||||
@OperationLog
|
||||
@ApiOperation("批量修改常用链接推荐记录表")
|
||||
@PutMapping("/batch")
|
||||
public ApiResult<?> removeBatch(@RequestBody BatchParam<Link> batchParam) {
|
||||
if (batchParam.update(linkService, "link_id")) {
|
||||
return success("修改成功");
|
||||
}
|
||||
return fail("修改失败");
|
||||
}
|
||||
|
||||
@PreAuthorize("hasAuthority('apps:link:remove')")
|
||||
@OperationLog
|
||||
@ApiOperation("批量删除常用链接推荐记录表")
|
||||
@DeleteMapping("/batch")
|
||||
public ApiResult<?> removeBatch(@RequestBody List<Integer> ids) {
|
||||
if (linkService.removeByIds(ids)) {
|
||||
return success("删除成功");
|
||||
}
|
||||
return fail("删除失败");
|
||||
}
|
||||
|
||||
}
|
||||
115
src/main/java/com/gxwebsoft/apps/controller/SfExpress.java
Normal file
115
src/main/java/com/gxwebsoft/apps/controller/SfExpress.java
Normal file
@@ -0,0 +1,115 @@
|
||||
package com.gxwebsoft.apps.controller;
|
||||
|
||||
import cn.hutool.core.util.RandomUtil;
|
||||
import cn.hutool.http.HttpUtil;
|
||||
import com.alibaba.fastjson.JSON;
|
||||
import com.alibaba.fastjson.JSONObject;
|
||||
import lombok.val;
|
||||
import org.apache.commons.codec.binary.Base64;
|
||||
|
||||
import java.security.MessageDigest;
|
||||
import java.util.Date;
|
||||
|
||||
public class SfExpress {
|
||||
|
||||
//开发者id
|
||||
private final Long devId= 1651421896L;
|
||||
//开发者密钥
|
||||
private final String devKey="2f10570c5057570fe0e488a425a6d813";
|
||||
//正式环境
|
||||
private final String serverHost="https://openic.sf-express.com";
|
||||
//店铺ID
|
||||
private final String shopId="3243279847393";
|
||||
|
||||
|
||||
|
||||
|
||||
public static void main(String[] args) {
|
||||
try {
|
||||
SfExpress api = new SfExpress();
|
||||
String postData = api.orderOnlineByJson();
|
||||
String sign = generateOpenSign(postData,api.devId, api.devKey);
|
||||
String url = api.serverHost.concat("/open/api/external/createorder?sign=").concat(sign);
|
||||
String result = HttpUtil.post(url,postData);
|
||||
System.out.println("result = " + result);
|
||||
val resultObj = JSON.parseObject(result);
|
||||
JSONObject resultData = JSON.parseObject(resultObj.getString("result"));
|
||||
|
||||
} catch (Exception e) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
}
|
||||
|
||||
public static String generateOpenSign(String postData, Long appId, String appKey) throws Exception {
|
||||
StringBuilder sb = new StringBuilder();
|
||||
sb.append(postData);
|
||||
sb.append("&" + appId + "&" + appKey);
|
||||
System.out.println("sb = " + sb);
|
||||
MessageDigest md = MessageDigest.getInstance("MD5");
|
||||
byte[] md5 = md.digest(sb.toString().getBytes("utf-8"));
|
||||
int i;
|
||||
StringBuffer buf = new StringBuffer("");
|
||||
for (int offset = 0; offset < md5.length; offset++) {
|
||||
i = md5[offset];
|
||||
if (i < 0) {
|
||||
i += 256;
|
||||
}
|
||||
if (i < 16) {
|
||||
buf.append("0");
|
||||
}
|
||||
buf.append(Integer.toHexString(i));
|
||||
}
|
||||
|
||||
return Base64.encodeBase64String(buf.toString().getBytes("utf-8"));
|
||||
}
|
||||
|
||||
//即时查询接口
|
||||
public String orderOnlineByJson() throws Exception{
|
||||
// 组装应用级参数
|
||||
JSONObject json = new JSONObject();
|
||||
json.put("dev_id",devId);
|
||||
json.put("shop_id",shopId);
|
||||
json.put("shop_order_id", RandomUtil.randomNumbers(16));
|
||||
json.put("order_source","1");
|
||||
long timestamp = new Date().getTime();
|
||||
json.put("order_time",timestamp/1000);
|
||||
json.put("push_time",timestamp/1000);
|
||||
json.put("version",19);
|
||||
JSONObject receive = new JSONObject();
|
||||
receive.put("user_name","顺丰同城");
|
||||
receive.put("user_phone","18978189563");
|
||||
receive.put("user_address","北京市海淀区学清嘉创大厦A座15层");
|
||||
receive.put("user_lng","116.354787");
|
||||
receive.put("user_lat","40.030613");
|
||||
json.put("receive",receive);
|
||||
JSONObject orderDetail = new JSONObject();
|
||||
orderDetail.put("total_price",100);
|
||||
orderDetail.put("product_type",1);
|
||||
orderDetail.put("weight_gram",100);
|
||||
orderDetail.put("product_num",1);
|
||||
orderDetail.put("product_type_num",1);
|
||||
json.put("order_detail",orderDetail);
|
||||
return json.toString();
|
||||
}
|
||||
//中文转Unicode
|
||||
/**
|
||||
* @Title: unicodeEncode
|
||||
* @Description: unicode编码 将中文字符转换成Unicode字符
|
||||
* @param string
|
||||
* @return
|
||||
*/
|
||||
public String unicodeEncode(String string) {
|
||||
char[] utfBytes = string.toCharArray();
|
||||
String unicodeBytes = "";
|
||||
for (int i = 0; i < utfBytes.length; i++) {
|
||||
String hexB = Integer.toHexString(utfBytes[i]);
|
||||
if (hexB.length() <= 2) {
|
||||
hexB = "00" + hexB;
|
||||
}
|
||||
unicodeBytes = unicodeBytes + "\\u" + hexB;
|
||||
}
|
||||
return unicodeBytes;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -0,0 +1,142 @@
|
||||
package com.gxwebsoft.apps.controller;
|
||||
|
||||
import com.alibaba.fastjson.JSONObject;
|
||||
import com.gxwebsoft.common.core.web.BaseController;
|
||||
import com.gxwebsoft.apps.service.TestDataService;
|
||||
import com.gxwebsoft.apps.entity.TestData;
|
||||
import com.gxwebsoft.apps.param.TestDataParam;
|
||||
import com.gxwebsoft.common.core.web.ApiResult;
|
||||
import com.gxwebsoft.common.core.web.PageResult;
|
||||
import com.gxwebsoft.common.core.web.PageParam;
|
||||
import com.gxwebsoft.common.core.web.BatchParam;
|
||||
import com.gxwebsoft.common.core.annotation.OperationLog;
|
||||
import com.gxwebsoft.common.system.entity.User;
|
||||
import com.gxwebsoft.shop.entity.Order;
|
||||
import com.gxwebsoft.shop.entity.OrderGoods;
|
||||
import io.swagger.annotations.Api;
|
||||
import io.swagger.annotations.ApiOperation;
|
||||
import org.springframework.security.access.prepost.PreAuthorize;
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
|
||||
import javax.annotation.Resource;
|
||||
import java.text.SimpleDateFormat;
|
||||
import java.util.ArrayList;
|
||||
import java.util.HashMap;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* 测试数据表控制器
|
||||
*
|
||||
* @author 科技小王子
|
||||
* @since 2023-02-01 12:13:46
|
||||
*/
|
||||
@Api(tags = "测试数据表管理")
|
||||
@RestController
|
||||
@RequestMapping("/api/apps/test-data")
|
||||
public class TestDataController extends BaseController {
|
||||
@Resource
|
||||
private TestDataService testDataService;
|
||||
|
||||
@PreAuthorize("hasAuthority('apps:testData:list')")
|
||||
@OperationLog
|
||||
@ApiOperation("分页查询测试数据表")
|
||||
@GetMapping("/page")
|
||||
public ApiResult<PageResult<TestData>> page(TestDataParam param) {
|
||||
PageParam<TestData, TestDataParam> page = new PageParam<>(param);
|
||||
page.setDefaultOrder("create_time desc");
|
||||
return success(testDataService.page(page, page.getWrapper()));
|
||||
// 使用关联查询
|
||||
//return success(testDataService.pageRel(param));
|
||||
}
|
||||
|
||||
@PreAuthorize("hasAuthority('apps:testData:list')")
|
||||
@OperationLog
|
||||
@ApiOperation("查询全部测试数据表")
|
||||
@GetMapping()
|
||||
public ApiResult<List<TestData>> list(TestDataParam param) {
|
||||
PageParam<TestData, TestDataParam> page = new PageParam<>(param);
|
||||
page.setDefaultOrder("create_time desc");
|
||||
return success(testDataService.list(page.getOrderWrapper()));
|
||||
// 使用关联查询
|
||||
//return success(testDataService.listRel(param));
|
||||
}
|
||||
|
||||
@PreAuthorize("hasAuthority('apps:testData:list')")
|
||||
@OperationLog
|
||||
@ApiOperation("根据id查询测试数据表")
|
||||
@GetMapping("/{id}")
|
||||
public ApiResult<TestData> get(@PathVariable("id") Integer id) {
|
||||
return success(testDataService.getById(id));
|
||||
// 使用关联查询
|
||||
//return success(testDataService.getByIdRel(id));
|
||||
}
|
||||
|
||||
@PreAuthorize("hasAuthority('apps:testData:save')")
|
||||
@OperationLog
|
||||
@ApiOperation("添加测试数据表")
|
||||
@PostMapping()
|
||||
public ApiResult<?> save(@RequestBody TestData testData) {
|
||||
if (testDataService.save(testData)) {
|
||||
return success("添加成功");
|
||||
}
|
||||
return fail("添加失败");
|
||||
}
|
||||
|
||||
@PreAuthorize("hasAuthority('apps:testData:update')")
|
||||
@OperationLog
|
||||
@ApiOperation("修改测试数据表")
|
||||
@PutMapping()
|
||||
public ApiResult<?> update(@RequestBody TestData testData) {
|
||||
if (testDataService.updateById(testData)) {
|
||||
return success("修改成功");
|
||||
}
|
||||
return fail("修改失败");
|
||||
}
|
||||
|
||||
@PreAuthorize("hasAuthority('apps:testData:remove')")
|
||||
@OperationLog
|
||||
@ApiOperation("删除测试数据表")
|
||||
@DeleteMapping("/{id}")
|
||||
public ApiResult<?> remove(@PathVariable("id") Integer id) {
|
||||
if (testDataService.removeById(id)) {
|
||||
return success("删除成功");
|
||||
}
|
||||
return fail("删除失败");
|
||||
}
|
||||
|
||||
@PreAuthorize("hasAuthority('apps:testData:save')")
|
||||
@OperationLog
|
||||
@ApiOperation("批量添加测试数据表")
|
||||
@PostMapping("/batch")
|
||||
public ApiResult<?> saveBatch(@RequestBody List<TestData> list) {
|
||||
if (testDataService.saveBatch(list)) {
|
||||
return success("添加成功");
|
||||
}
|
||||
return fail("添加失败");
|
||||
}
|
||||
|
||||
@PreAuthorize("hasAuthority('apps:testData:update')")
|
||||
@OperationLog
|
||||
@ApiOperation("批量修改测试数据表")
|
||||
@PutMapping("/batch")
|
||||
public ApiResult<?> removeBatch(@RequestBody BatchParam<TestData> batchParam) {
|
||||
if (batchParam.update(testDataService, "id")) {
|
||||
return success("修改成功");
|
||||
}
|
||||
return fail("修改失败");
|
||||
}
|
||||
|
||||
@PreAuthorize("hasAuthority('apps:testData:remove')")
|
||||
@OperationLog
|
||||
@ApiOperation("批量删除测试数据表")
|
||||
@DeleteMapping("/batch")
|
||||
public ApiResult<?> removeBatch(@RequestBody List<Integer> ids) {
|
||||
if (testDataService.removeByIds(ids)) {
|
||||
return success("删除成功");
|
||||
}
|
||||
return fail("删除失败");
|
||||
}
|
||||
|
||||
|
||||
|
||||
}
|
||||
65
src/main/java/com/gxwebsoft/apps/entity/BcAgent.java
Normal file
65
src/main/java/com/gxwebsoft/apps/entity/BcAgent.java
Normal file
@@ -0,0 +1,65 @@
|
||||
package com.gxwebsoft.apps.entity;
|
||||
|
||||
import com.baomidou.mybatisplus.annotation.TableField;
|
||||
import com.baomidou.mybatisplus.annotation.TableName;
|
||||
import com.baomidou.mybatisplus.annotation.IdType;
|
||||
import com.baomidou.mybatisplus.annotation.TableId;
|
||||
import java.time.LocalDateTime;
|
||||
import java.io.Serializable;
|
||||
import java.util.Date;
|
||||
|
||||
import com.gxwebsoft.common.system.entity.User;
|
||||
import io.swagger.annotations.ApiModel;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import lombok.Data;
|
||||
import lombok.EqualsAndHashCode;
|
||||
|
||||
/**
|
||||
* 代报餐管理
|
||||
*
|
||||
* @author 科技小王子
|
||||
* @since 2023-04-24 19:25:59
|
||||
*/
|
||||
@Data
|
||||
@EqualsAndHashCode(callSuper = false)
|
||||
@ApiModel(value = "BcAgent对象", description = "代报餐管理")
|
||||
@TableName("apps_bc_agent")
|
||||
public class BcAgent implements Serializable {
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
@ApiModelProperty(value = "自增ID")
|
||||
@TableId(value = "agent_id", type = IdType.AUTO)
|
||||
private Integer agentId;
|
||||
|
||||
@ApiModelProperty(value = "用户ID")
|
||||
private Integer userId;
|
||||
|
||||
@ApiModelProperty(value = "代报餐用户ID")
|
||||
private Integer parentId;
|
||||
|
||||
@ApiModelProperty(value = "状态, 0待处理, 1已完成")
|
||||
private Integer status;
|
||||
|
||||
@ApiModelProperty(value = "租户id")
|
||||
private Integer tenantId;
|
||||
|
||||
@ApiModelProperty(value = "加入时间")
|
||||
private Date createTime;
|
||||
|
||||
@ApiModelProperty(value = "被代报餐职员")
|
||||
@TableField(exist = false)
|
||||
private User user;
|
||||
|
||||
@ApiModelProperty(value = "代报餐人员")
|
||||
@TableField(exist = false)
|
||||
private User parentUser;
|
||||
|
||||
@ApiModelProperty(value = "被代报餐职员")
|
||||
@TableField(exist = false)
|
||||
private String nickname;
|
||||
|
||||
@ApiModelProperty(value = "代报餐人员")
|
||||
@TableField(exist = false)
|
||||
private String parentName;
|
||||
|
||||
}
|
||||
64
src/main/java/com/gxwebsoft/apps/entity/BcCart.java
Normal file
64
src/main/java/com/gxwebsoft/apps/entity/BcCart.java
Normal file
@@ -0,0 +1,64 @@
|
||||
package com.gxwebsoft.apps.entity;
|
||||
|
||||
import com.baomidou.mybatisplus.annotation.TableField;
|
||||
import io.swagger.annotations.ApiModel;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import lombok.Data;
|
||||
import lombok.EqualsAndHashCode;
|
||||
|
||||
import java.io.Serializable;
|
||||
import java.math.BigDecimal;
|
||||
|
||||
/**
|
||||
* 报餐系统购物车
|
||||
*
|
||||
* @author 科技小王子
|
||||
* @since 2023-04-27 17:59:40
|
||||
*/
|
||||
@EqualsAndHashCode(callSuper = false)
|
||||
@ApiModel(value = "报餐系统购物车", description = "报餐系统购物车")
|
||||
@Data
|
||||
public class BcCart implements Serializable {
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
@ApiModelProperty(value = "预定日期")
|
||||
@TableField(exist = false)
|
||||
private String deliveryTime;
|
||||
|
||||
@ApiModelProperty(value = "商品ID")
|
||||
@TableField(exist = false)
|
||||
private Integer goodsId;
|
||||
|
||||
@ApiModelProperty(value = "商品价格")
|
||||
@TableField(exist = false)
|
||||
private BigDecimal goodsPrice;
|
||||
|
||||
@ApiModelProperty(value = "商品数量")
|
||||
@TableField(exist = false)
|
||||
private Integer totalNum;
|
||||
|
||||
@ApiModelProperty(value = "商品名称")
|
||||
@TableField(exist = false)
|
||||
private String goodsName;
|
||||
|
||||
@ApiModelProperty(value = "商品描述")
|
||||
@TableField(exist = false)
|
||||
private String comments;
|
||||
|
||||
@ApiModelProperty(value = "商品封面图")
|
||||
@TableField(exist = false)
|
||||
private String image;
|
||||
|
||||
@ApiModelProperty(value = "商品分类")
|
||||
@TableField(exist = false)
|
||||
private Integer categoryId;
|
||||
|
||||
@ApiModelProperty(value = "物品档口")
|
||||
@TableField(exist = false)
|
||||
private Integer gear;
|
||||
|
||||
@ApiModelProperty(value = "用户ID")
|
||||
@TableField(exist = false)
|
||||
private Integer userId;
|
||||
|
||||
}
|
||||
61
src/main/java/com/gxwebsoft/apps/entity/BcCookbook.java
Normal file
61
src/main/java/com/gxwebsoft/apps/entity/BcCookbook.java
Normal file
@@ -0,0 +1,61 @@
|
||||
package com.gxwebsoft.apps.entity;
|
||||
|
||||
import com.baomidou.mybatisplus.annotation.TableName;
|
||||
import com.baomidou.mybatisplus.annotation.IdType;
|
||||
import com.baomidou.mybatisplus.annotation.TableId;
|
||||
import java.time.LocalDateTime;
|
||||
import com.baomidou.mybatisplus.annotation.TableLogic;
|
||||
import java.io.Serializable;
|
||||
import java.util.Date;
|
||||
|
||||
import io.swagger.annotations.ApiModel;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import lombok.Data;
|
||||
import lombok.EqualsAndHashCode;
|
||||
|
||||
/**
|
||||
* 常用菜谱
|
||||
*
|
||||
* @author 科技小王子
|
||||
* @since 2023-05-05 14:56:54
|
||||
*/
|
||||
@Data
|
||||
@EqualsAndHashCode(callSuper = false)
|
||||
@ApiModel(value = "BcCookbook对象", description = "常用菜谱")
|
||||
@TableName("apps_bc_cookbook")
|
||||
public class BcCookbook implements Serializable {
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
@ApiModelProperty(value = "自增ID")
|
||||
@TableId(value = "cookbook_id", type = IdType.AUTO)
|
||||
private Integer cookbookId;
|
||||
|
||||
@ApiModelProperty(value = "菜品计划")
|
||||
private Integer planId;
|
||||
|
||||
@ApiModelProperty(value = "餐段 早餐 午餐 晚餐")
|
||||
private String period;
|
||||
|
||||
@ApiModelProperty(value = "状态, 0待发布, 1已发布")
|
||||
private Integer status;
|
||||
|
||||
@ApiModelProperty(value = "备注")
|
||||
private String comments;
|
||||
|
||||
@ApiModelProperty(value = "发布人")
|
||||
private Integer userId;
|
||||
|
||||
@ApiModelProperty(value = "是否删除, 0否, 1是")
|
||||
@TableLogic
|
||||
private Integer deleted;
|
||||
|
||||
@ApiModelProperty(value = "租户id")
|
||||
private Integer tenantId;
|
||||
|
||||
@ApiModelProperty(value = "创建时间")
|
||||
private Date createTime;
|
||||
|
||||
@ApiModelProperty(value = "修改时间")
|
||||
private Date updateTime;
|
||||
|
||||
}
|
||||
79
src/main/java/com/gxwebsoft/apps/entity/BcEquipment.java
Normal file
79
src/main/java/com/gxwebsoft/apps/entity/BcEquipment.java
Normal file
@@ -0,0 +1,79 @@
|
||||
package com.gxwebsoft.apps.entity;
|
||||
|
||||
import com.baomidou.mybatisplus.annotation.TableName;
|
||||
import com.baomidou.mybatisplus.annotation.IdType;
|
||||
import com.baomidou.mybatisplus.annotation.TableId;
|
||||
import java.time.LocalDateTime;
|
||||
import com.baomidou.mybatisplus.annotation.TableLogic;
|
||||
import java.io.Serializable;
|
||||
import java.util.Date;
|
||||
|
||||
import io.swagger.annotations.ApiModel;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import lombok.Data;
|
||||
import lombok.EqualsAndHashCode;
|
||||
|
||||
/**
|
||||
* 报餐设备管理
|
||||
*
|
||||
* @author 科技小王子
|
||||
* @since 2023-05-02 10:34:40
|
||||
*/
|
||||
@Data
|
||||
@EqualsAndHashCode(callSuper = false)
|
||||
@ApiModel(value = "BcEquipment对象", description = "报餐设备管理")
|
||||
@TableName("apps_bc_equipment")
|
||||
public class BcEquipment implements Serializable {
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
@ApiModelProperty(value = "设备ID")
|
||||
@TableId(value = "bc_equipment_id", type = IdType.AUTO)
|
||||
private Integer bcEquipmentId;
|
||||
|
||||
@ApiModelProperty(value = "设备名称")
|
||||
private String equipmentName;
|
||||
|
||||
@ApiModelProperty(value = "设备编码")
|
||||
private String equipmentCode;
|
||||
|
||||
@ApiModelProperty(value = "所属档口")
|
||||
private Integer gear;
|
||||
|
||||
@ApiModelProperty(value = "职员工号")
|
||||
private Integer staffId;
|
||||
|
||||
@ApiModelProperty(value = "二维码")
|
||||
private String qrcode;
|
||||
|
||||
@ApiModelProperty(value = "设备详情")
|
||||
private String content;
|
||||
|
||||
@ApiModelProperty(value = "用户ID")
|
||||
private Integer userId;
|
||||
|
||||
@ApiModelProperty(value = "排序(数字越小越靠前)")
|
||||
private Integer sortNumber;
|
||||
|
||||
@ApiModelProperty(value = "备注")
|
||||
private String comments;
|
||||
|
||||
@ApiModelProperty(value = "状态, 0正常, 1冻结")
|
||||
private Integer status;
|
||||
|
||||
@ApiModelProperty(value = "是否删除, 0否, 1是")
|
||||
@TableLogic
|
||||
private Integer deleted;
|
||||
|
||||
@ApiModelProperty(value = "商户编码")
|
||||
private String merchantCode;
|
||||
|
||||
@ApiModelProperty(value = "租户id")
|
||||
private Integer tenantId;
|
||||
|
||||
@ApiModelProperty(value = "注册时间")
|
||||
private Date createTime;
|
||||
|
||||
@ApiModelProperty(value = "修改时间")
|
||||
private Date updateTime;
|
||||
|
||||
}
|
||||
112
src/main/java/com/gxwebsoft/apps/entity/BcExport.java
Normal file
112
src/main/java/com/gxwebsoft/apps/entity/BcExport.java
Normal file
@@ -0,0 +1,112 @@
|
||||
package com.gxwebsoft.apps.entity;
|
||||
|
||||
import com.baomidou.mybatisplus.annotation.IdType;
|
||||
import com.baomidou.mybatisplus.annotation.TableId;
|
||||
import com.baomidou.mybatisplus.annotation.TableLogic;
|
||||
import com.baomidou.mybatisplus.annotation.TableName;
|
||||
import io.swagger.annotations.ApiModel;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import lombok.Data;
|
||||
import lombok.EqualsAndHashCode;
|
||||
|
||||
import java.io.Serializable;
|
||||
import java.math.BigDecimal;
|
||||
import java.util.Date;
|
||||
|
||||
/**
|
||||
* 报餐统计导出
|
||||
*
|
||||
* @author 科技小王子
|
||||
* @since 2023-06-01 21:47:02
|
||||
*/
|
||||
@Data
|
||||
@EqualsAndHashCode(callSuper = false)
|
||||
@ApiModel(value = "BcExport对象", description = "报餐统计导出")
|
||||
@TableName("apps_bc_export")
|
||||
public class BcExport implements Serializable {
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
@ApiModelProperty(value = "自增ID")
|
||||
@TableId(value = "export_id", type = IdType.AUTO)
|
||||
private Integer exportId;
|
||||
|
||||
@ApiModelProperty(value = "机构名称")
|
||||
private String organizationName;
|
||||
|
||||
@ApiModelProperty(value = "昵称")
|
||||
private String nickname;
|
||||
|
||||
@ApiModelProperty(value = "实际消费的金额(不含退款)")
|
||||
private BigDecimal expendMoney;
|
||||
|
||||
@ApiModelProperty(value = "早餐报餐次数")
|
||||
private Integer breakfastPost;
|
||||
|
||||
@ApiModelProperty(value = "早餐签到次数")
|
||||
private Integer breakfastSign;
|
||||
|
||||
@ApiModelProperty(value = "午餐报餐次数")
|
||||
private Integer lunchPost;
|
||||
|
||||
@ApiModelProperty(value = "午餐签到次数")
|
||||
private Integer lunchSign;
|
||||
|
||||
@ApiModelProperty(value = "晚餐报餐次数")
|
||||
private Integer dinnerPost;
|
||||
|
||||
@ApiModelProperty(value = "晚餐签到次数")
|
||||
private Integer dinnerSign;
|
||||
|
||||
@ApiModelProperty(value = "食堂档口")
|
||||
private Integer gear10;
|
||||
|
||||
@ApiModelProperty(value = "物品档口")
|
||||
private Integer gear20;
|
||||
|
||||
@ApiModelProperty(value = "食堂档口")
|
||||
private Integer signGear10;
|
||||
|
||||
@ApiModelProperty(value = "物品档口")
|
||||
private Integer signGear20;
|
||||
|
||||
@ApiModelProperty(value = "商品价格(单价)")
|
||||
private BigDecimal goodsPrice;
|
||||
|
||||
@ApiModelProperty(value = "午餐报餐次数")
|
||||
private String lunchPostText;
|
||||
|
||||
@ApiModelProperty(value = "午餐报餐次数")
|
||||
private String lunchSignText;
|
||||
|
||||
@ApiModelProperty(value = "发货时间")
|
||||
private Date deliveryTime;
|
||||
|
||||
@ApiModelProperty(value = "状态, 0待发布, 1已发布")
|
||||
private Integer status;
|
||||
|
||||
@ApiModelProperty(value = "备注")
|
||||
private String comments;
|
||||
|
||||
@ApiModelProperty(value = "订单号")
|
||||
private Integer orderId;
|
||||
|
||||
@ApiModelProperty(value = "机构id")
|
||||
private Integer organizationId;
|
||||
|
||||
@ApiModelProperty(value = "发布人")
|
||||
private Integer userId;
|
||||
|
||||
@ApiModelProperty(value = "是否删除, 0否, 1是")
|
||||
@TableLogic
|
||||
private Integer deleted;
|
||||
|
||||
@ApiModelProperty(value = "租户id")
|
||||
private Integer tenantId;
|
||||
|
||||
@ApiModelProperty(value = "创建时间")
|
||||
private Date createTime;
|
||||
|
||||
@ApiModelProperty(value = "修改时间")
|
||||
private Date updateTime;
|
||||
|
||||
}
|
||||
61
src/main/java/com/gxwebsoft/apps/entity/BcFood.java
Normal file
61
src/main/java/com/gxwebsoft/apps/entity/BcFood.java
Normal file
@@ -0,0 +1,61 @@
|
||||
package com.gxwebsoft.apps.entity;
|
||||
|
||||
import com.baomidou.mybatisplus.annotation.*;
|
||||
import io.swagger.annotations.ApiModel;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import lombok.Data;
|
||||
import lombok.EqualsAndHashCode;
|
||||
|
||||
import java.io.Serializable;
|
||||
import java.util.Date;
|
||||
|
||||
/**
|
||||
* 发布菜品明细
|
||||
*
|
||||
* @author 科技小王子
|
||||
* @since 2023-04-27 17:59:40
|
||||
*/
|
||||
@Data
|
||||
@EqualsAndHashCode(callSuper = false)
|
||||
@ApiModel(value = "BcFood对象", description = "发布菜品明细")
|
||||
@TableName("apps_bc_food")
|
||||
public class BcFood implements Serializable {
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
@ApiModelProperty(value = "自增ID")
|
||||
@TableId(value = "bc_food_id", type = IdType.AUTO)
|
||||
private Integer bcFoodId;
|
||||
|
||||
@ApiModelProperty(value = "菜品计划")
|
||||
private Integer planId;
|
||||
|
||||
@ApiModelProperty(value = "餐段 早餐 午餐 晚餐")
|
||||
private String period;
|
||||
|
||||
@ApiModelProperty(value = "状态, 0待发布, 1已发布")
|
||||
private Integer status;
|
||||
|
||||
@ApiModelProperty(value = "备注")
|
||||
private String comments;
|
||||
|
||||
@ApiModelProperty(value = "发布人")
|
||||
private Integer userId;
|
||||
|
||||
@ApiModelProperty(value = "是否删除, 0否, 1是")
|
||||
@TableLogic
|
||||
private Integer deleted;
|
||||
|
||||
@ApiModelProperty(value = "租户id")
|
||||
private Integer tenantId;
|
||||
|
||||
@ApiModelProperty(value = "创建时间")
|
||||
private Date createTime;
|
||||
|
||||
@ApiModelProperty(value = "修改时间")
|
||||
private Date updateTime;
|
||||
|
||||
@ApiModelProperty(value = "昵称")
|
||||
@TableField(exist = false)
|
||||
private String nickname;
|
||||
|
||||
}
|
||||
79
src/main/java/com/gxwebsoft/apps/entity/BcPlan.java
Normal file
79
src/main/java/com/gxwebsoft/apps/entity/BcPlan.java
Normal file
@@ -0,0 +1,79 @@
|
||||
package com.gxwebsoft.apps.entity;
|
||||
|
||||
import com.baomidou.mybatisplus.annotation.*;
|
||||
import com.gxwebsoft.shop.entity.Goods;
|
||||
import io.swagger.annotations.ApiModel;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import lombok.Data;
|
||||
import lombok.EqualsAndHashCode;
|
||||
|
||||
import java.io.Serializable;
|
||||
import java.util.Date;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* 菜品发布管理
|
||||
*
|
||||
* @author 科技小王子
|
||||
* @since 2023-04-27 17:59:40
|
||||
*/
|
||||
@Data
|
||||
@EqualsAndHashCode(callSuper = false)
|
||||
@ApiModel(value = "BcPlan对象", description = "菜品发布管理")
|
||||
@TableName("apps_bc_plan")
|
||||
public class BcPlan implements Serializable {
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
@ApiModelProperty(value = "自增ID")
|
||||
@TableId(value = "bc_plan_id", type = IdType.AUTO)
|
||||
private Integer bcPlanId;
|
||||
|
||||
@ApiModelProperty(value = "发布日期")
|
||||
private Date dayTime;
|
||||
|
||||
@ApiModelProperty(value = "0星期日 1星期一 2星期二 3星期三 4星期四 5星期五 6星期六")
|
||||
private Integer week;
|
||||
|
||||
@ApiModelProperty(value = "发布类型")
|
||||
private String type;
|
||||
|
||||
@ApiModelProperty(value = "餐段")
|
||||
private String period;
|
||||
|
||||
@ApiModelProperty(value = "多天菜品是否重复")
|
||||
private Integer isRepeat;
|
||||
|
||||
@ApiModelProperty(value = "状态, 0待发布, 1已发布")
|
||||
private Integer status;
|
||||
|
||||
@ApiModelProperty(value = "备注")
|
||||
private String comments;
|
||||
|
||||
@ApiModelProperty(value = "菜品ID")
|
||||
private String goodsIds;
|
||||
|
||||
@ApiModelProperty(value = "商品列表")
|
||||
@TableField(exist = false)
|
||||
private List<Goods> goodsList;
|
||||
|
||||
@ApiModelProperty(value = "发布人")
|
||||
private Integer userId;
|
||||
|
||||
@ApiModelProperty(value = "是否删除, 0否, 1是")
|
||||
@TableLogic
|
||||
private Integer deleted;
|
||||
|
||||
@ApiModelProperty(value = "租户id")
|
||||
private Integer tenantId;
|
||||
|
||||
@ApiModelProperty(value = "创建时间")
|
||||
private Date createTime;
|
||||
|
||||
@ApiModelProperty(value = "修改时间")
|
||||
private Date updateTime;
|
||||
|
||||
@ApiModelProperty(value = "昵称")
|
||||
@TableField(exist = false)
|
||||
private String nickname;
|
||||
|
||||
}
|
||||
80
src/main/java/com/gxwebsoft/apps/entity/BcTemporary.java
Normal file
80
src/main/java/com/gxwebsoft/apps/entity/BcTemporary.java
Normal file
@@ -0,0 +1,80 @@
|
||||
package com.gxwebsoft.apps.entity;
|
||||
|
||||
import com.baomidou.mybatisplus.annotation.*;
|
||||
|
||||
import java.time.LocalDateTime;
|
||||
import java.io.Serializable;
|
||||
import java.util.Date;
|
||||
|
||||
import com.gxwebsoft.common.system.entity.User;
|
||||
import io.swagger.annotations.ApiModel;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import lombok.Data;
|
||||
import lombok.EqualsAndHashCode;
|
||||
import lombok.Value;
|
||||
|
||||
/**
|
||||
* 临时报餐管理
|
||||
*
|
||||
* @author 科技小王子
|
||||
* @since 2023-04-24 21:47:57
|
||||
*/
|
||||
@Data
|
||||
@EqualsAndHashCode(callSuper = false)
|
||||
@ApiModel(value = "BcTemporary对象", description = "临时报餐管理")
|
||||
@TableName("apps_bc_temporary")
|
||||
public class BcTemporary implements Serializable {
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
@ApiModelProperty(value = "自增ID")
|
||||
@TableId(value = "temporary_id", type = IdType.AUTO)
|
||||
private Integer temporaryId;
|
||||
|
||||
@ApiModelProperty(value = "用户ID")
|
||||
private Integer userId;
|
||||
|
||||
@ApiModelProperty(value = "工单ID")
|
||||
private Integer parentId;
|
||||
|
||||
@ApiModelProperty(value = "申请状态")
|
||||
private Integer applyStatus;
|
||||
|
||||
@ApiModelProperty(value = "状态, 0待处理, 1已完成")
|
||||
private Integer status;
|
||||
|
||||
@ApiModelProperty(value = "租户id")
|
||||
private Integer tenantId;
|
||||
|
||||
@ApiModelProperty(value = "加入时间")
|
||||
private Date createTime;
|
||||
|
||||
@ApiModelProperty(value = "备注")
|
||||
private String comments;
|
||||
|
||||
@ApiModelProperty(value = "报餐日期")
|
||||
private Date dayTime;
|
||||
|
||||
@ApiModelProperty(value = "是否删除, 0否, 1是")
|
||||
@TableLogic
|
||||
private Integer deleted;
|
||||
|
||||
@ApiModelProperty(value = "失效时间")
|
||||
private Date expirationTime;
|
||||
|
||||
@ApiModelProperty(value = "昵称")
|
||||
@TableField(exist = false)
|
||||
private String nickname;
|
||||
|
||||
@ApiModelProperty(value = "代报餐人员")
|
||||
@TableField(exist = false)
|
||||
private String dealerName;
|
||||
|
||||
@ApiModelProperty(value = "被代报餐职员")
|
||||
@TableField(exist = false)
|
||||
private User user;
|
||||
|
||||
@ApiModelProperty(value = "代报餐人员")
|
||||
@TableField(exist = false)
|
||||
private User parentUser;
|
||||
|
||||
}
|
||||
95
src/main/java/com/gxwebsoft/apps/entity/Cashier.java
Normal file
95
src/main/java/com/gxwebsoft/apps/entity/Cashier.java
Normal file
@@ -0,0 +1,95 @@
|
||||
package com.gxwebsoft.apps.entity;
|
||||
|
||||
import java.math.BigDecimal;
|
||||
import com.baomidou.mybatisplus.annotation.TableName;
|
||||
import com.baomidou.mybatisplus.annotation.IdType;
|
||||
import com.baomidou.mybatisplus.annotation.TableId;
|
||||
import java.time.LocalDateTime;
|
||||
import com.baomidou.mybatisplus.annotation.TableLogic;
|
||||
import java.io.Serializable;
|
||||
import java.util.Date;
|
||||
|
||||
import io.swagger.annotations.ApiModel;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import lombok.Data;
|
||||
import lombok.EqualsAndHashCode;
|
||||
|
||||
/**
|
||||
* 海牛收银台记录表
|
||||
*
|
||||
* @author WebSoft
|
||||
* @since 2022-11-18 11:47:09
|
||||
*/
|
||||
@Data
|
||||
@EqualsAndHashCode(callSuper = false)
|
||||
@ApiModel(value = "Cashier对象", description = "海牛收银台记录表")
|
||||
@TableName("apps_cashier")
|
||||
public class Cashier implements Serializable {
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
@ApiModelProperty(value = "ID")
|
||||
@TableId(value = "cashier_id", type = IdType.AUTO)
|
||||
private Integer cashierId;
|
||||
|
||||
@ApiModelProperty(value = "客户ID")
|
||||
private String buyerId;
|
||||
|
||||
@ApiModelProperty(value = "设备ID")
|
||||
private String merchantCode;
|
||||
|
||||
@ApiModelProperty(value = "支付标识")
|
||||
private String code;
|
||||
|
||||
@ApiModelProperty(value = "返回消息")
|
||||
private String msg;
|
||||
|
||||
@ApiModelProperty(value = "客户端交易订单编号")
|
||||
private String outTradeNo;
|
||||
|
||||
@ApiModelProperty(value = "数量")
|
||||
private String amount;
|
||||
|
||||
@ApiModelProperty(value = "支付时间")
|
||||
private String payTime;
|
||||
|
||||
@ApiModelProperty(value = "支付方式")
|
||||
private String payType;
|
||||
|
||||
@ApiModelProperty(value = "交易金额")
|
||||
private BigDecimal totalAmount;
|
||||
|
||||
@ApiModelProperty(value = "实收金额")
|
||||
private BigDecimal receiptAmount;
|
||||
|
||||
@ApiModelProperty(value = "第三方交易手续费")
|
||||
private BigDecimal feeAmount;
|
||||
|
||||
@ApiModelProperty(value = "第三方结算金额")
|
||||
private BigDecimal settleAmount;
|
||||
|
||||
@ApiModelProperty(value = "商户名称")
|
||||
private String merchantName;
|
||||
|
||||
@ApiModelProperty(value = "手机号码")
|
||||
private String mobile;
|
||||
|
||||
@ApiModelProperty(value = "订单备注")
|
||||
private String orderRemark;
|
||||
|
||||
@ApiModelProperty(value = "订单状态")
|
||||
private String orderStatus;
|
||||
|
||||
@ApiModelProperty(value = "是否删除, 0否, 1是")
|
||||
@TableLogic
|
||||
private Integer deleted;
|
||||
|
||||
@ApiModelProperty(value = "租户id")
|
||||
private Integer tenantId;
|
||||
|
||||
@ApiModelProperty(value = "注册时间")
|
||||
private Date createTime;
|
||||
|
||||
@ApiModelProperty(value = "修改时间")
|
||||
private Date updateTime;
|
||||
|
||||
}
|
||||
148
src/main/java/com/gxwebsoft/apps/entity/Equipment.java
Normal file
148
src/main/java/com/gxwebsoft/apps/entity/Equipment.java
Normal file
@@ -0,0 +1,148 @@
|
||||
package com.gxwebsoft.apps.entity;
|
||||
|
||||
import com.baomidou.mybatisplus.annotation.*;
|
||||
import com.gxwebsoft.common.system.entity.User;
|
||||
import io.swagger.annotations.ApiModel;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import lombok.Data;
|
||||
import lombok.EqualsAndHashCode;
|
||||
|
||||
import java.io.Serializable;
|
||||
import java.math.BigDecimal;
|
||||
import java.util.Date;
|
||||
|
||||
/**
|
||||
* 设备管理
|
||||
*
|
||||
* @author 科技小王子
|
||||
* @since 2022-11-30 02:11:16
|
||||
*/
|
||||
@Data
|
||||
@EqualsAndHashCode(callSuper = false)
|
||||
@ApiModel(value = "Equipment对象", description = "设备管理")
|
||||
@TableName("apps_equipment")
|
||||
public class Equipment implements Serializable {
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
@ApiModelProperty(value = "设备ID")
|
||||
@TableId(value = "equipment_id", type = IdType.AUTO)
|
||||
private Integer equipmentId;
|
||||
|
||||
@ApiModelProperty(value = "设备名称")
|
||||
private String equipmentName;
|
||||
|
||||
@ApiModelProperty(value = "设备编码")
|
||||
private String equipmentCode;
|
||||
|
||||
@ApiModelProperty("设备分类")
|
||||
private String equipmentCategory;
|
||||
|
||||
@ApiModelProperty(value = "分类ID")
|
||||
private Integer categoryId;
|
||||
|
||||
@ApiModelProperty(value = "头像")
|
||||
private String equipmentAvatar;
|
||||
|
||||
@ApiModelProperty(value = "电池型号")
|
||||
private String batteryModel;
|
||||
|
||||
@ApiModelProperty(value = "BMS")
|
||||
private String bms;
|
||||
|
||||
@ApiModelProperty(value = "商品详情")
|
||||
private String content;
|
||||
|
||||
@ApiModelProperty(value = "是否激活")
|
||||
private String isCtive;
|
||||
|
||||
@ApiModelProperty(value = "工作状态")
|
||||
private String workingStatus;
|
||||
|
||||
@ApiModelProperty(value = "租赁状态")
|
||||
private String leaseStatus;
|
||||
|
||||
@ApiModelProperty(value = "电池状态")
|
||||
private String batteryStatus;
|
||||
|
||||
@ApiModelProperty(value = "电池电量")
|
||||
private String batteryPower;
|
||||
|
||||
@ApiModelProperty(value = "是否在线")
|
||||
private String isOnline;
|
||||
|
||||
@ApiModelProperty(value = "总电压")
|
||||
private String totalVoltage;
|
||||
|
||||
@ApiModelProperty(value = "BMS板供应商")
|
||||
private String bmsBrand;
|
||||
|
||||
@ApiModelProperty(value = "剩余容量")
|
||||
private String surplusCapacity;
|
||||
|
||||
@ApiModelProperty(value = "ICCID")
|
||||
private String iccid;
|
||||
|
||||
@ApiModelProperty(value = "设备激活时间")
|
||||
private Date ctiveTime;
|
||||
|
||||
@ApiModelProperty(value = "电池出厂时间")
|
||||
private Date batteryDeliveryTime;
|
||||
|
||||
@ApiModelProperty(value = "用户ID")
|
||||
private Integer userId;
|
||||
|
||||
@ApiModelProperty(value = "排序(数字越小越靠前)")
|
||||
private Integer sortNumber;
|
||||
|
||||
@ApiModelProperty(value = "备注")
|
||||
private String comments;
|
||||
|
||||
@ApiModelProperty(value = "状态, 0正常, 1冻结")
|
||||
private Integer status;
|
||||
|
||||
@ApiModelProperty(value = "是否删除, 0否, 1是")
|
||||
@TableLogic
|
||||
private Integer deleted;
|
||||
|
||||
@ApiModelProperty(value = "商户编号")
|
||||
private String merchantCode;
|
||||
|
||||
@ApiModelProperty(value = "租户id")
|
||||
private Integer tenantId;
|
||||
|
||||
@ApiModelProperty(value = "注册时间")
|
||||
private Date createTime;
|
||||
|
||||
@ApiModelProperty(value = "修改时间")
|
||||
private Date updateTime;
|
||||
|
||||
@ApiModelProperty(value = "所属商户ID")
|
||||
@TableField(exist = false)
|
||||
private Integer merchantId;
|
||||
|
||||
@ApiModelProperty(value = "所属商户名称")
|
||||
@TableField(exist = false)
|
||||
private String merchantName;
|
||||
|
||||
@ApiModelProperty(value = "订单ID")
|
||||
private Integer orderId;
|
||||
|
||||
@ApiModelProperty(value = "电池租金")
|
||||
private BigDecimal batteryRent;
|
||||
|
||||
@ApiModelProperty(value = "电池押金")
|
||||
private BigDecimal batteryDeposit;
|
||||
|
||||
@ApiModelProperty(value = "电池保险")
|
||||
private BigDecimal batteryInsurance;
|
||||
|
||||
@ApiModelProperty(value = "设备价格")
|
||||
private BigDecimal batteryPrice;
|
||||
|
||||
@ApiModelProperty(value = "二维码")
|
||||
private String qrcode;
|
||||
|
||||
@ApiModelProperty(value = "绑定的用户")
|
||||
@TableField(exist = false)
|
||||
private User user;
|
||||
}
|
||||
72
src/main/java/com/gxwebsoft/apps/entity/EquipmentAlarm.java
Normal file
72
src/main/java/com/gxwebsoft/apps/entity/EquipmentAlarm.java
Normal file
@@ -0,0 +1,72 @@
|
||||
package com.gxwebsoft.apps.entity;
|
||||
|
||||
import com.baomidou.mybatisplus.annotation.*;
|
||||
|
||||
import java.time.LocalDateTime;
|
||||
import java.io.Serializable;
|
||||
import java.util.Date;
|
||||
|
||||
import io.swagger.annotations.ApiModel;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import lombok.Data;
|
||||
import lombok.EqualsAndHashCode;
|
||||
|
||||
/**
|
||||
* 故障报警记录
|
||||
*
|
||||
* @author 科技小王子
|
||||
* @since 2022-12-01 23:49:44
|
||||
*/
|
||||
@Data
|
||||
@EqualsAndHashCode(callSuper = false)
|
||||
@ApiModel(value = "EquipmentAlarm对象", description = "故障报警记录")
|
||||
@TableName("apps_equipment_alarm")
|
||||
public class EquipmentAlarm implements Serializable {
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
@ApiModelProperty(value = "记录ID")
|
||||
@TableId(value = "id", type = IdType.AUTO)
|
||||
private Integer id;
|
||||
|
||||
@ApiModelProperty(value = "设备编码")
|
||||
private String equipmentCode;
|
||||
|
||||
@ApiModelProperty(value = "报警类型")
|
||||
private String alarmType;
|
||||
|
||||
@ApiModelProperty(value = "备注")
|
||||
private String comments;
|
||||
|
||||
@ApiModelProperty(value = "处理时间")
|
||||
private Date handleTime;
|
||||
|
||||
@ApiModelProperty(value = "用户ID")
|
||||
private Integer userId;
|
||||
|
||||
@ApiModelProperty(value = "排序(数字越小越靠前)")
|
||||
private Integer sortNumber;
|
||||
|
||||
@ApiModelProperty(value = "状态, 0正常, 1冻结")
|
||||
private Integer status;
|
||||
|
||||
@ApiModelProperty(value = "是否删除, 0否, 1是")
|
||||
@TableLogic
|
||||
private Integer deleted;
|
||||
|
||||
@ApiModelProperty(value = "商户编码")
|
||||
private String merchantCode;
|
||||
|
||||
@ApiModelProperty(value = "租户id")
|
||||
private Integer tenantId;
|
||||
|
||||
@ApiModelProperty(value = "创建时间")
|
||||
private Date createTime;
|
||||
|
||||
@ApiModelProperty(value = "修改时间")
|
||||
private Date updateTime;
|
||||
|
||||
@ApiModelProperty(value = "所属商户名称")
|
||||
@TableField(exist = false)
|
||||
private String merchantName;
|
||||
|
||||
}
|
||||
75
src/main/java/com/gxwebsoft/apps/entity/EquipmentFault.java
Normal file
75
src/main/java/com/gxwebsoft/apps/entity/EquipmentFault.java
Normal file
@@ -0,0 +1,75 @@
|
||||
package com.gxwebsoft.apps.entity;
|
||||
|
||||
import com.baomidou.mybatisplus.annotation.*;
|
||||
|
||||
import java.time.LocalDateTime;
|
||||
import java.io.Serializable;
|
||||
import java.util.Date;
|
||||
|
||||
import io.swagger.annotations.ApiModel;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import lombok.Data;
|
||||
import lombok.EqualsAndHashCode;
|
||||
|
||||
/**
|
||||
* 故障电池
|
||||
*
|
||||
* @author 科技小王子
|
||||
* @since 2022-12-01 18:40:25
|
||||
*/
|
||||
@Data
|
||||
@EqualsAndHashCode(callSuper = false)
|
||||
@ApiModel(value = "EquipmentFault对象", description = "故障电池")
|
||||
@TableName("apps_equipment_fault")
|
||||
public class EquipmentFault implements Serializable {
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
@ApiModelProperty(value = "记录ID")
|
||||
@TableId(value = "id", type = IdType.AUTO)
|
||||
private Integer id;
|
||||
|
||||
@ApiModelProperty(value = "设备编号")
|
||||
private String equipmentCode;
|
||||
|
||||
@ApiModelProperty(value = "故障原因")
|
||||
private String faultType;
|
||||
|
||||
@ApiModelProperty(value = "上传图片")
|
||||
private String image;
|
||||
|
||||
@ApiModelProperty(value = "备注")
|
||||
private String comments;
|
||||
|
||||
@ApiModelProperty(value = "处理时间")
|
||||
private Date handleTime;
|
||||
|
||||
@ApiModelProperty(value = "用户ID")
|
||||
private Integer userId;
|
||||
|
||||
@ApiModelProperty(value = "排序(数字越小越靠前)")
|
||||
private Integer sortNumber;
|
||||
|
||||
@ApiModelProperty(value = "状态, 0正常, 1冻结")
|
||||
private Integer status;
|
||||
|
||||
@ApiModelProperty(value = "是否删除, 0否, 1是")
|
||||
@TableLogic
|
||||
private Integer deleted;
|
||||
|
||||
@ApiModelProperty(value = "商户编码")
|
||||
private String merchantCode;
|
||||
|
||||
@ApiModelProperty(value = "租户id")
|
||||
private Integer tenantId;
|
||||
|
||||
@ApiModelProperty(value = "创建时间")
|
||||
private Date createTime;
|
||||
|
||||
@ApiModelProperty(value = "修改时间")
|
||||
private Date updateTime;
|
||||
|
||||
@ApiModelProperty(value = "所属商户名称")
|
||||
@TableField(exist = false)
|
||||
private String merchantName;
|
||||
|
||||
}
|
||||
120
src/main/java/com/gxwebsoft/apps/entity/EquipmentGoods.java
Normal file
120
src/main/java/com/gxwebsoft/apps/entity/EquipmentGoods.java
Normal file
@@ -0,0 +1,120 @@
|
||||
package com.gxwebsoft.apps.entity;
|
||||
|
||||
import com.baomidou.mybatisplus.annotation.*;
|
||||
import io.swagger.annotations.ApiModel;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import lombok.Data;
|
||||
import lombok.EqualsAndHashCode;
|
||||
|
||||
import java.io.Serializable;
|
||||
import java.math.BigDecimal;
|
||||
import java.util.Date;
|
||||
|
||||
/**
|
||||
* 电池管理记录表
|
||||
*
|
||||
* @author 科技小王子
|
||||
* @since 2023-02-28 22:40:50
|
||||
*/
|
||||
@Data
|
||||
@EqualsAndHashCode(callSuper = false)
|
||||
@ApiModel(value = "EquipmentGoods对象", description = "电池管理记录表")
|
||||
@TableName("apps_equipment_goods")
|
||||
public class EquipmentGoods implements Serializable {
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
@ApiModelProperty(value = "商品ID")
|
||||
@TableId(value = "goods_id", type = IdType.AUTO)
|
||||
private Integer goodsId;
|
||||
|
||||
@ApiModelProperty(value = "商品名称")
|
||||
private String goodsName;
|
||||
|
||||
@ApiModelProperty(value = "下单类型")
|
||||
private String equipmentCategory;
|
||||
|
||||
@ApiModelProperty(value = "商品封面图")
|
||||
private String image;
|
||||
|
||||
@ApiModelProperty(value = "二维码")
|
||||
private String qrcode;
|
||||
|
||||
@ApiModelProperty(value = "分类ID")
|
||||
private Integer categoryId;
|
||||
|
||||
@ApiModelProperty(value = "电池型号")
|
||||
private String batteryModel;
|
||||
|
||||
@ApiModelProperty(value = "库存总量")
|
||||
private Integer stockTotal;
|
||||
|
||||
@ApiModelProperty(value = "商品卖点")
|
||||
private String sellingPoint;
|
||||
|
||||
@ApiModelProperty(value = "商品详情")
|
||||
private String content;
|
||||
|
||||
@ApiModelProperty(value = "电池租金")
|
||||
private BigDecimal batteryRent;
|
||||
|
||||
@ApiModelProperty(value = "电池价格")
|
||||
private BigDecimal batteryPrice;
|
||||
|
||||
@ApiModelProperty(value = "电池押金")
|
||||
private BigDecimal batteryDeposit;
|
||||
|
||||
@ApiModelProperty(value = "电池保险")
|
||||
private BigDecimal batteryInsurance;
|
||||
|
||||
@ApiModelProperty(value = "用户ID")
|
||||
private Integer userId;
|
||||
|
||||
@ApiModelProperty(value = "首付款")
|
||||
private BigDecimal downPayment;
|
||||
|
||||
@ApiModelProperty(value = "分期期数")
|
||||
private BigDecimal periods;
|
||||
|
||||
@ApiModelProperty(value = "每期还款")
|
||||
private BigDecimal repayment;
|
||||
|
||||
@ApiModelProperty(value = "手续费")
|
||||
private BigDecimal serviceCharges;
|
||||
|
||||
@ApiModelProperty(value = "分期方式")
|
||||
private Integer periodsType;
|
||||
|
||||
@ApiModelProperty(value = "排序(数字越小越靠前)")
|
||||
private Integer sortNumber;
|
||||
|
||||
@ApiModelProperty(value = "备注")
|
||||
private String comments;
|
||||
|
||||
@ApiModelProperty(value = "状态, 0正常, 1冻结")
|
||||
private Integer status;
|
||||
|
||||
@ApiModelProperty(value = "是否删除, 0否, 1是")
|
||||
@TableLogic
|
||||
private Integer deleted;
|
||||
|
||||
@ApiModelProperty(value = "商户编码")
|
||||
private String merchantCode;
|
||||
|
||||
@ApiModelProperty(value = "租户id")
|
||||
private Integer tenantId;
|
||||
|
||||
@ApiModelProperty(value = "注册时间")
|
||||
private Date createTime;
|
||||
|
||||
@ApiModelProperty(value = "修改时间")
|
||||
private Date updateTime;
|
||||
|
||||
@ApiModelProperty(value = "商户名称")
|
||||
@TableField(exist = false)
|
||||
private String merchantName;
|
||||
|
||||
@ApiModelProperty(value = "订单ID")
|
||||
@TableField(exist = false)
|
||||
private Integer orderId;
|
||||
|
||||
}
|
||||
202
src/main/java/com/gxwebsoft/apps/entity/EquipmentOrder.java
Normal file
202
src/main/java/com/gxwebsoft/apps/entity/EquipmentOrder.java
Normal file
@@ -0,0 +1,202 @@
|
||||
package com.gxwebsoft.apps.entity;
|
||||
|
||||
import java.math.BigDecimal;
|
||||
import com.baomidou.mybatisplus.annotation.TableName;
|
||||
import com.baomidou.mybatisplus.annotation.IdType;
|
||||
import com.baomidou.mybatisplus.annotation.TableId;
|
||||
import com.baomidou.mybatisplus.annotation.TableLogic;
|
||||
import java.io.Serializable;
|
||||
import java.util.Date;
|
||||
|
||||
import io.swagger.annotations.ApiModel;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import lombok.Data;
|
||||
import lombok.EqualsAndHashCode;
|
||||
|
||||
/**
|
||||
* 订单记录表
|
||||
*
|
||||
* @author 科技小王子
|
||||
* @since 2023-04-14 21:24:31
|
||||
*/
|
||||
@Data
|
||||
@EqualsAndHashCode(callSuper = false)
|
||||
@ApiModel(value = "EquipmentOrder对象", description = "订单记录表")
|
||||
@TableName("apps_equipment_order")
|
||||
public class EquipmentOrder implements Serializable {
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
@ApiModelProperty(value = "订单ID")
|
||||
@TableId(value = "order_id", type = IdType.AUTO)
|
||||
private Integer orderId;
|
||||
|
||||
@ApiModelProperty(value = "订单标题")
|
||||
private String subject;
|
||||
|
||||
@ApiModelProperty(value = "订单号")
|
||||
private String orderNo;
|
||||
|
||||
@ApiModelProperty(value = "商品总金额(不含优惠折扣)")
|
||||
private BigDecimal totalPrice;
|
||||
|
||||
@ApiModelProperty(value = "订单金额(含优惠折扣)")
|
||||
private BigDecimal orderPrice;
|
||||
|
||||
@ApiModelProperty(value = "优惠券ID")
|
||||
private Integer couponId;
|
||||
|
||||
@ApiModelProperty(value = "优惠券抵扣金额")
|
||||
private BigDecimal couponMoney;
|
||||
|
||||
@ApiModelProperty(value = "积分抵扣金额")
|
||||
private BigDecimal pointsMoney;
|
||||
|
||||
@ApiModelProperty(value = "积分抵扣数量")
|
||||
private Integer pointsNum;
|
||||
|
||||
@ApiModelProperty(value = "实际付款金额(包含运费)")
|
||||
private BigDecimal payPrice;
|
||||
|
||||
@ApiModelProperty(value = "第三方支付实收金额")
|
||||
private BigDecimal receiptAmount;
|
||||
|
||||
@ApiModelProperty(value = "后台修改的订单金额(差价)")
|
||||
private BigDecimal updatePrice;
|
||||
|
||||
@ApiModelProperty(value = "买家留言")
|
||||
private String buyerRemark;
|
||||
|
||||
@ApiModelProperty(value = "支付方式(废弃)")
|
||||
private Integer payType;
|
||||
|
||||
@ApiModelProperty(value = "支付方式(余额10/微信20/支付宝30/通联支付40/其他支付50)")
|
||||
private String payMethod;
|
||||
|
||||
@ApiModelProperty(value = "付款状态(10未付款 20已付款)")
|
||||
private Integer payStatus;
|
||||
|
||||
@ApiModelProperty(value = "付款时间")
|
||||
private Date payTime;
|
||||
|
||||
@ApiModelProperty(value = "第三方交易记录ID")
|
||||
private String tradeId;
|
||||
|
||||
@ApiModelProperty(value = "配送方式(10快递配送 20门店自提)")
|
||||
private Integer deliveryType;
|
||||
|
||||
@ApiModelProperty(value = "自提门店ID")
|
||||
private Integer extractShopId;
|
||||
|
||||
@ApiModelProperty(value = "核销店员ID")
|
||||
private Integer extractClerkId;
|
||||
|
||||
@ApiModelProperty(value = "运费金额")
|
||||
private BigDecimal expressPrice;
|
||||
|
||||
@ApiModelProperty(value = "物流公司ID (废弃)")
|
||||
private Integer expressId;
|
||||
|
||||
@ApiModelProperty(value = "物流单号 (废弃)")
|
||||
private String expressNo;
|
||||
|
||||
@ApiModelProperty(value = "发货状态(10未发货 20已发货 30部分发货)")
|
||||
private Integer deliveryStatus;
|
||||
|
||||
@ApiModelProperty(value = "发货时间")
|
||||
private Date deliveryTime;
|
||||
|
||||
@ApiModelProperty(value = "收货状态(10未收货 20已收货)")
|
||||
private Integer receiptStatus;
|
||||
|
||||
@ApiModelProperty(value = "收货时间")
|
||||
private Date receiptTime;
|
||||
|
||||
@ApiModelProperty(value = "订单状态(10进行中 20取消 21待取消 30已完成)")
|
||||
private Integer orderStatus;
|
||||
|
||||
@ApiModelProperty(value = "赠送的积分数量")
|
||||
private Integer pointsBonus;
|
||||
|
||||
@ApiModelProperty(value = "商家备注")
|
||||
private String merchantRemark;
|
||||
|
||||
@ApiModelProperty(value = "订单是否已结算(0未结算 1已结算)")
|
||||
private Integer isSettled;
|
||||
|
||||
@ApiModelProperty(value = "续租订单的关联单号")
|
||||
private Integer rentOrderId;
|
||||
|
||||
@ApiModelProperty(value = "微信支付交易号(废弃)")
|
||||
private String transactionId;
|
||||
|
||||
@ApiModelProperty(value = "是否已评价(0否 1是)")
|
||||
private Integer isComment;
|
||||
|
||||
@ApiModelProperty(value = "订单来源(10普通订单 20砍价订单 30秒杀订单)")
|
||||
private Integer orderSource;
|
||||
|
||||
@ApiModelProperty(value = "来源记录ID")
|
||||
private Integer orderSourceId;
|
||||
|
||||
@ApiModelProperty(value = "来源记录的参数 (json格式)")
|
||||
private String orderSourceData;
|
||||
|
||||
@ApiModelProperty(value = "电池租金")
|
||||
private BigDecimal batteryRent;
|
||||
|
||||
@ApiModelProperty(value = "电池押金")
|
||||
private BigDecimal batteryDeposit;
|
||||
|
||||
@ApiModelProperty(value = "保险")
|
||||
private BigDecimal batteryInsurance;
|
||||
|
||||
@ApiModelProperty(value = "购买月份数量")
|
||||
private Integer month;
|
||||
|
||||
@ApiModelProperty(value = "服务到期时间")
|
||||
private Date expirationTime;
|
||||
|
||||
@ApiModelProperty(value = "来源客户端 (APP、H5、小程序等)")
|
||||
private String platform;
|
||||
|
||||
@ApiModelProperty(value = "是否续费订单")
|
||||
private Integer isRenew;
|
||||
|
||||
@ApiModelProperty(value = "用户ID")
|
||||
private Integer userId;
|
||||
|
||||
@ApiModelProperty(value = "所属门店ID")
|
||||
private Integer shopId;
|
||||
|
||||
@ApiModelProperty(value = "商品ID")
|
||||
private Integer goodsId;
|
||||
|
||||
@ApiModelProperty(value = "电池商品ID")
|
||||
private Integer equipmentId;
|
||||
|
||||
@ApiModelProperty(value = "排序(数字越小越靠前)")
|
||||
private Integer sortNumber;
|
||||
|
||||
@ApiModelProperty(value = "备注")
|
||||
private String comments;
|
||||
|
||||
@ApiModelProperty(value = "状态, 0正常, 1冻结")
|
||||
private Integer status;
|
||||
|
||||
@ApiModelProperty(value = "是否删除, 0否, 1是")
|
||||
@TableLogic
|
||||
private Integer deleted;
|
||||
|
||||
@ApiModelProperty(value = "商户编码")
|
||||
private String merchantCode;
|
||||
|
||||
@ApiModelProperty(value = "租户id")
|
||||
private Integer tenantId;
|
||||
|
||||
@ApiModelProperty(value = "注册时间")
|
||||
private Date createTime;
|
||||
|
||||
@ApiModelProperty(value = "修改时间")
|
||||
private Date updateTime;
|
||||
|
||||
}
|
||||
119
src/main/java/com/gxwebsoft/apps/entity/EquipmentOrderGoods.java
Normal file
119
src/main/java/com/gxwebsoft/apps/entity/EquipmentOrderGoods.java
Normal file
@@ -0,0 +1,119 @@
|
||||
package com.gxwebsoft.apps.entity;
|
||||
|
||||
import java.math.BigDecimal;
|
||||
import com.baomidou.mybatisplus.annotation.TableName;
|
||||
import com.baomidou.mybatisplus.annotation.IdType;
|
||||
import java.time.LocalDateTime;
|
||||
import com.baomidou.mybatisplus.annotation.TableId;
|
||||
import com.baomidou.mybatisplus.annotation.TableLogic;
|
||||
import java.io.Serializable;
|
||||
import java.util.Date;
|
||||
|
||||
import io.swagger.annotations.ApiModel;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import lombok.Data;
|
||||
import lombok.EqualsAndHashCode;
|
||||
|
||||
/**
|
||||
* 电池管理记录表
|
||||
*
|
||||
* @author 科技小王子
|
||||
* @since 2023-05-11 19:10:13
|
||||
*/
|
||||
@Data
|
||||
@EqualsAndHashCode(callSuper = false)
|
||||
@ApiModel(value = "EquipmentOrderGoods对象", description = "电池管理记录表")
|
||||
@TableName("apps_equipment_order_goods")
|
||||
public class EquipmentOrderGoods implements Serializable {
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
@ApiModelProperty(value = "商品ID")
|
||||
@TableId(value = "order_goods_id", type = IdType.AUTO)
|
||||
private Integer orderGoodsId;
|
||||
|
||||
@ApiModelProperty(value = "商品名称")
|
||||
private String goodsName;
|
||||
|
||||
@ApiModelProperty(value = "下单类型")
|
||||
private String equipmentCategory;
|
||||
|
||||
@ApiModelProperty(value = "商品封面图")
|
||||
private String image;
|
||||
|
||||
@ApiModelProperty(value = "二维码")
|
||||
private String qrcode;
|
||||
|
||||
@ApiModelProperty(value = "分类ID")
|
||||
private Integer categoryId;
|
||||
|
||||
@ApiModelProperty(value = "电池型号")
|
||||
private String batteryModel;
|
||||
|
||||
@ApiModelProperty(value = "商品卖点")
|
||||
private String sellingPoint;
|
||||
|
||||
@ApiModelProperty(value = "库存总量")
|
||||
private Integer stockTotal;
|
||||
|
||||
@ApiModelProperty(value = "商品详情")
|
||||
private String content;
|
||||
|
||||
@ApiModelProperty(value = "电池租金")
|
||||
private BigDecimal batteryRent;
|
||||
|
||||
@ApiModelProperty(value = "电池价格")
|
||||
private BigDecimal batteryPrice;
|
||||
|
||||
@ApiModelProperty(value = "电池押金")
|
||||
private BigDecimal batteryDeposit;
|
||||
|
||||
@ApiModelProperty(value = "电池保险")
|
||||
private BigDecimal batteryInsurance;
|
||||
|
||||
@ApiModelProperty(value = "首付款")
|
||||
private BigDecimal downPayment;
|
||||
|
||||
@ApiModelProperty(value = "分期期数")
|
||||
private BigDecimal periods;
|
||||
|
||||
@ApiModelProperty(value = "分期还款")
|
||||
private BigDecimal repayment;
|
||||
|
||||
@ApiModelProperty(value = "手续费")
|
||||
private BigDecimal serviceCharges;
|
||||
|
||||
@ApiModelProperty(value = "分期方式 10按周 20按月")
|
||||
private Integer periodsType;
|
||||
|
||||
@ApiModelProperty(value = "订单编号")
|
||||
private Integer orderId;
|
||||
|
||||
@ApiModelProperty(value = "用户ID")
|
||||
private Integer userId;
|
||||
|
||||
@ApiModelProperty(value = "排序(数字越小越靠前)")
|
||||
private Integer sortNumber;
|
||||
|
||||
@ApiModelProperty(value = "备注")
|
||||
private String comments;
|
||||
|
||||
@ApiModelProperty(value = "状态, 0正常, 1冻结")
|
||||
private Integer status;
|
||||
|
||||
@ApiModelProperty(value = "是否删除, 0否, 1是")
|
||||
@TableLogic
|
||||
private Integer deleted;
|
||||
|
||||
@ApiModelProperty(value = "商户编码")
|
||||
private String merchantCode;
|
||||
|
||||
@ApiModelProperty(value = "租户id")
|
||||
private Integer tenantId;
|
||||
|
||||
@ApiModelProperty(value = "注册时间")
|
||||
private Date createTime;
|
||||
|
||||
@ApiModelProperty(value = "修改时间")
|
||||
private Date updateTime;
|
||||
|
||||
}
|
||||
79
src/main/java/com/gxwebsoft/apps/entity/EquipmentRecord.java
Normal file
79
src/main/java/com/gxwebsoft/apps/entity/EquipmentRecord.java
Normal file
@@ -0,0 +1,79 @@
|
||||
package com.gxwebsoft.apps.entity;
|
||||
|
||||
import com.baomidou.mybatisplus.annotation.*;
|
||||
|
||||
import java.time.LocalDateTime;
|
||||
import java.io.Serializable;
|
||||
import java.util.Date;
|
||||
|
||||
import io.swagger.annotations.ApiModel;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import lombok.Data;
|
||||
import lombok.EqualsAndHashCode;
|
||||
|
||||
/**
|
||||
* 前世今生
|
||||
*
|
||||
* @author 科技小王子
|
||||
* @since 2022-12-03 01:23:53
|
||||
*/
|
||||
@Data
|
||||
@EqualsAndHashCode(callSuper = false)
|
||||
@ApiModel(value = "EquipmentRecord对象", description = "前世今生")
|
||||
@TableName("apps_equipment_record")
|
||||
public class EquipmentRecord implements Serializable {
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
@ApiModelProperty(value = "记录ID")
|
||||
@TableId(value = "id", type = IdType.AUTO)
|
||||
private Integer id;
|
||||
|
||||
@ApiModelProperty(value = "设备编码")
|
||||
private String equipmentCode;
|
||||
|
||||
@ApiModelProperty(value = "事件类型")
|
||||
private String eventType;
|
||||
|
||||
@ApiModelProperty(value = "请求参数")
|
||||
private String params;
|
||||
|
||||
@ApiModelProperty(value = "用户ID")
|
||||
private Integer userId;
|
||||
|
||||
@ApiModelProperty(value = "订单ID")
|
||||
private Integer orderId;
|
||||
|
||||
@ApiModelProperty(value = "排序(数字越小越靠前)")
|
||||
private Integer sortNumber;
|
||||
|
||||
@ApiModelProperty(value = "备注")
|
||||
private String comments;
|
||||
|
||||
@ApiModelProperty(value = "状态, 0正常, 1冻结")
|
||||
private Integer status;
|
||||
|
||||
@ApiModelProperty(value = "是否删除, 0否, 1是")
|
||||
@TableLogic
|
||||
private Integer deleted;
|
||||
|
||||
@ApiModelProperty(value = "商户编码")
|
||||
private String merchantCode;
|
||||
|
||||
@ApiModelProperty(value = "租户id")
|
||||
private Integer tenantId;
|
||||
|
||||
@ApiModelProperty(value = "创建时间")
|
||||
private Date createTime;
|
||||
|
||||
@ApiModelProperty(value = "修改时间")
|
||||
private Date updateTime;
|
||||
|
||||
@ApiModelProperty(value = "所属商户名称")
|
||||
@TableField(exist = false)
|
||||
private String merchantName;
|
||||
|
||||
@ApiModelProperty(value = "用户昵称")
|
||||
@TableField(exist = false)
|
||||
private String nickname;
|
||||
|
||||
}
|
||||
70
src/main/java/com/gxwebsoft/apps/entity/Hualala.java
Normal file
70
src/main/java/com/gxwebsoft/apps/entity/Hualala.java
Normal file
@@ -0,0 +1,70 @@
|
||||
package com.gxwebsoft.apps.entity;
|
||||
|
||||
import com.baomidou.mybatisplus.annotation.*;
|
||||
import io.swagger.annotations.ApiModel;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import lombok.Data;
|
||||
import lombok.EqualsAndHashCode;
|
||||
|
||||
import java.io.Serializable;
|
||||
import java.util.Date;
|
||||
|
||||
/**
|
||||
* 常用链接推荐记录表
|
||||
*
|
||||
* @author 科技小王子
|
||||
* @since 2022-11-25 12:55:33
|
||||
*/
|
||||
@Data
|
||||
@EqualsAndHashCode(callSuper = false)
|
||||
@ApiModel(value = "Link对象", description = "常用链接推荐记录表")
|
||||
@TableName("apps_hualala")
|
||||
public class Hualala implements Serializable {
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
@ApiModelProperty(value = "当前请求的时间戳(毫秒)")
|
||||
@TableField(exist = false)
|
||||
private Long timestamp;
|
||||
|
||||
@ApiModelProperty(value = "服务器接口")
|
||||
@TableField(exist = false)
|
||||
private String apiUrl = "https://www-openapi.hualala.com";
|
||||
|
||||
@ApiModelProperty(value = "开发者Key")
|
||||
@TableField(exist = false)
|
||||
private String appKey = "2487";
|
||||
|
||||
@ApiModelProperty(value = "appSecret")
|
||||
@TableField(exist = false)
|
||||
private String appSecret = "Hgr520dQpEiFe0FV";
|
||||
|
||||
@ApiModelProperty(value = "集团ID")
|
||||
@TableField(exist = false)
|
||||
private String groupID = "1528";
|
||||
|
||||
@ApiModelProperty(value = "店铺ID")
|
||||
@TableField(exist = false)
|
||||
private String shopID = "76288809";
|
||||
|
||||
@ApiModelProperty(value = "签名")
|
||||
@TableField(exist = false)
|
||||
private String signature;
|
||||
|
||||
@ApiModelProperty(value = "版本号,固定传 3")
|
||||
@TableField(exist = false)
|
||||
private Integer version = 3;
|
||||
|
||||
@ApiModelProperty(value = "业务参数 格式为jsonString")
|
||||
@TableField(exist = false)
|
||||
private String requestBody;
|
||||
|
||||
@ApiModelProperty(value = "租户id")
|
||||
private Integer tenantId;
|
||||
|
||||
@ApiModelProperty(value = "注册时间")
|
||||
private Date createTime;
|
||||
|
||||
@ApiModelProperty(value = "修改时间")
|
||||
private Date updateTime;
|
||||
|
||||
}
|
||||
131
src/main/java/com/gxwebsoft/apps/entity/HualalaCard.java
Normal file
131
src/main/java/com/gxwebsoft/apps/entity/HualalaCard.java
Normal file
@@ -0,0 +1,131 @@
|
||||
package com.gxwebsoft.apps.entity;
|
||||
|
||||
import java.math.BigDecimal;
|
||||
import com.baomidou.mybatisplus.annotation.TableName;
|
||||
import com.baomidou.mybatisplus.annotation.IdType;
|
||||
import com.baomidou.mybatisplus.annotation.TableId;
|
||||
import java.time.LocalDateTime;
|
||||
import com.baomidou.mybatisplus.annotation.TableLogic;
|
||||
import java.io.Serializable;
|
||||
import java.util.Date;
|
||||
|
||||
import io.swagger.annotations.ApiModel;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import lombok.Data;
|
||||
import lombok.EqualsAndHashCode;
|
||||
|
||||
/**
|
||||
*
|
||||
*
|
||||
* @author 科技小王子
|
||||
* @since 2023-01-08 12:22:50
|
||||
*/
|
||||
@Data
|
||||
@EqualsAndHashCode(callSuper = false)
|
||||
@ApiModel(value = "HualalaCard对象", description = "")
|
||||
@TableName("apps_hualala_card")
|
||||
public class HualalaCard implements Serializable {
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
@TableId(value = "id", type = IdType.AUTO)
|
||||
private Integer id;
|
||||
|
||||
@ApiModelProperty(value = "groupID")
|
||||
private String groupId;
|
||||
|
||||
@ApiModelProperty(value = "shopID")
|
||||
private String shopId;
|
||||
|
||||
@ApiModelProperty(value = "网速会员id")
|
||||
private Integer userId;
|
||||
|
||||
@ApiModelProperty(value = "会员卡ID")
|
||||
private String cardId;
|
||||
|
||||
private String cardTypeId;
|
||||
|
||||
@ApiModelProperty(value = "会员卡等级ID")
|
||||
private String cardLevelId;
|
||||
|
||||
@ApiModelProperty(value = "会员卡等级名称")
|
||||
private String cardLevelName;
|
||||
|
||||
@ApiModelProperty(value = "卡状态 10:正常 20:挂失中 30:冻结 40:注销(作废)50:已过期")
|
||||
private String cardStatus;
|
||||
|
||||
private String customerId;
|
||||
|
||||
@ApiModelProperty(value = "会员卡入会店铺字段")
|
||||
private String createShopId;
|
||||
|
||||
@ApiModelProperty(value = "入会店铺名称")
|
||||
private String createShopName;
|
||||
|
||||
@ApiModelProperty(value = "卡号")
|
||||
private String cardNo;
|
||||
|
||||
@ApiModelProperty(value = "姓名")
|
||||
private String customerName;
|
||||
|
||||
@ApiModelProperty(value = " 手机号")
|
||||
private String customerMobile;
|
||||
|
||||
@ApiModelProperty(value = "性别 0:女 1:男 2:未知")
|
||||
private Integer customerSex;
|
||||
|
||||
@ApiModelProperty(value = "生日")
|
||||
private String customerBirthday;
|
||||
|
||||
@ApiModelProperty(value = "卡余额")
|
||||
private BigDecimal cardBalance;
|
||||
|
||||
@ApiModelProperty(value = "积分余额")
|
||||
private BigDecimal pointBalance;
|
||||
|
||||
@ApiModelProperty(value = "累计储值金额")
|
||||
private BigDecimal saveMoneyTotal;
|
||||
|
||||
@ApiModelProperty(value = "累计消费金额")
|
||||
private BigDecimal consumptionTotal;
|
||||
|
||||
@ApiModelProperty(value = "累计消费次数")
|
||||
private Integer consumptionCount;
|
||||
|
||||
@ApiModelProperty(value = "当前等级积分")
|
||||
private Integer grade;
|
||||
|
||||
@ApiModelProperty(value = "下一等级积分")
|
||||
private Integer nextLevelGrade;
|
||||
|
||||
@ApiModelProperty(value = "有效期至(yyyyMMddHHmmss) 0:表示永久有效")
|
||||
private String expireTime;
|
||||
|
||||
@ApiModelProperty(value = "最后一次交易时间")
|
||||
private String lastTransTime;
|
||||
|
||||
@ApiModelProperty(value = "排序(数字越小越靠前)")
|
||||
private Integer sortNumber;
|
||||
|
||||
@ApiModelProperty(value = "备注")
|
||||
private String comments;
|
||||
|
||||
@ApiModelProperty(value = "状态, 0正常, 1冻结")
|
||||
private Integer status;
|
||||
|
||||
@ApiModelProperty(value = "是否删除, 0否, 1是")
|
||||
@TableLogic
|
||||
private Integer deleted;
|
||||
|
||||
@ApiModelProperty(value = "商户编码")
|
||||
private String merchantCode;
|
||||
|
||||
@ApiModelProperty(value = "租户id")
|
||||
private Integer tenantId;
|
||||
|
||||
@ApiModelProperty(value = "注册时间")
|
||||
private Date createTime;
|
||||
|
||||
@ApiModelProperty(value = "修改时间")
|
||||
private Date updateTime;
|
||||
|
||||
}
|
||||
@@ -0,0 +1,69 @@
|
||||
package com.gxwebsoft.apps.entity;
|
||||
|
||||
import com.baomidou.mybatisplus.annotation.TableName;
|
||||
import com.baomidou.mybatisplus.annotation.IdType;
|
||||
import com.baomidou.mybatisplus.annotation.TableId;
|
||||
import java.time.LocalDateTime;
|
||||
import com.baomidou.mybatisplus.annotation.TableLogic;
|
||||
import java.io.Serializable;
|
||||
import java.util.Date;
|
||||
|
||||
import io.swagger.annotations.ApiModel;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import lombok.Data;
|
||||
import lombok.EqualsAndHashCode;
|
||||
|
||||
/**
|
||||
* 会员权益
|
||||
*
|
||||
* @author 科技小王子
|
||||
* @since 2023-01-08 12:22:50
|
||||
*/
|
||||
@Data
|
||||
@EqualsAndHashCode(callSuper = false)
|
||||
@ApiModel(value = "HualalaCardBenefits对象", description = "会员权益")
|
||||
@TableName("apps_hualala_card_benefits")
|
||||
public class HualalaCardBenefits implements Serializable {
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
@TableId(value = "id", type = IdType.AUTO)
|
||||
private Integer id;
|
||||
|
||||
@ApiModelProperty(value = "会员等级名称")
|
||||
private String cardLevelName;
|
||||
|
||||
@ApiModelProperty(value = "名称")
|
||||
private String name;
|
||||
|
||||
@ApiModelProperty(value = "封面图")
|
||||
private String image;
|
||||
|
||||
@ApiModelProperty(value = "内容")
|
||||
private String content;
|
||||
|
||||
@ApiModelProperty(value = "排序(数字越小越靠前)")
|
||||
private Integer sortNumber;
|
||||
|
||||
@ApiModelProperty(value = "备注")
|
||||
private String comments;
|
||||
|
||||
@ApiModelProperty(value = "状态, 0正常, 1冻结")
|
||||
private Integer status;
|
||||
|
||||
@ApiModelProperty(value = "是否删除, 0否, 1是")
|
||||
@TableLogic
|
||||
private Integer deleted;
|
||||
|
||||
@ApiModelProperty(value = "商户编码")
|
||||
private String merchantCode;
|
||||
|
||||
@ApiModelProperty(value = "租户id")
|
||||
private Integer tenantId;
|
||||
|
||||
@ApiModelProperty(value = "注册时间")
|
||||
private Date createTime;
|
||||
|
||||
@ApiModelProperty(value = "修改时间")
|
||||
private Date updateTime;
|
||||
|
||||
}
|
||||
16
src/main/java/com/gxwebsoft/apps/entity/HualalaCart.java
Normal file
16
src/main/java/com/gxwebsoft/apps/entity/HualalaCart.java
Normal file
@@ -0,0 +1,16 @@
|
||||
package com.gxwebsoft.apps.entity;
|
||||
|
||||
import lombok.Data;
|
||||
|
||||
import java.math.BigDecimal;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* 购物车
|
||||
*/
|
||||
@Data
|
||||
public class HualalaCart {
|
||||
List<HualalaFood> items;// 商品列表
|
||||
BigDecimal totalPrice; // 总结
|
||||
int totalNum; // 总数
|
||||
}
|
||||
78
src/main/java/com/gxwebsoft/apps/entity/HualalaCartFood.java
Normal file
78
src/main/java/com/gxwebsoft/apps/entity/HualalaCartFood.java
Normal file
@@ -0,0 +1,78 @@
|
||||
package com.gxwebsoft.apps.entity;
|
||||
|
||||
import java.math.BigDecimal;
|
||||
|
||||
import com.baomidou.mybatisplus.annotation.TableField;
|
||||
import com.baomidou.mybatisplus.annotation.TableName;
|
||||
import com.baomidou.mybatisplus.annotation.IdType;
|
||||
import com.baomidou.mybatisplus.annotation.TableId;
|
||||
import java.time.LocalDateTime;
|
||||
import java.io.Serializable;
|
||||
import java.util.Date;
|
||||
|
||||
import io.swagger.annotations.ApiModel;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import lombok.Data;
|
||||
import lombok.EqualsAndHashCode;
|
||||
|
||||
/**
|
||||
* 购物车商品
|
||||
*
|
||||
* @author 科技小王子
|
||||
* @since 2023-01-14 14:46:44
|
||||
*/
|
||||
@Data
|
||||
@EqualsAndHashCode(callSuper = false)
|
||||
@ApiModel(value = "HualalaCartFood对象", description = "购物车商品")
|
||||
@TableName("apps_hualala_cart_food")
|
||||
public class HualalaCartFood implements Serializable {
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
@ApiModelProperty(value = "ID")
|
||||
@TableId(value = "id", type = IdType.AUTO)
|
||||
private Integer id;
|
||||
|
||||
@ApiModelProperty(value = "用户ID")
|
||||
private Integer userId;
|
||||
|
||||
@ApiModelProperty(value = "总数量")
|
||||
private Integer foodId;
|
||||
|
||||
@ApiModelProperty(value = "菜品名称")
|
||||
private String foodName;
|
||||
|
||||
@ApiModelProperty(value = "skuId")
|
||||
private String skuId;
|
||||
|
||||
@ApiModelProperty(value = "店铺id")
|
||||
private Integer shopId;
|
||||
|
||||
@ApiModelProperty(value = "店铺名称")
|
||||
private String shopName;
|
||||
|
||||
@ApiModelProperty(value = "店铺标志")
|
||||
private String shopLogo;
|
||||
|
||||
@ApiModelProperty(value = "商品图")
|
||||
private String coverUrl;
|
||||
|
||||
@ApiModelProperty(value = "已放入购物车数量")
|
||||
@TableField(exist = false)
|
||||
private Long num;
|
||||
|
||||
@ApiModelProperty(value = "售价")
|
||||
private BigDecimal sellPrice;
|
||||
|
||||
@ApiModelProperty(value = "库存")
|
||||
private Integer stock;
|
||||
|
||||
@ApiModelProperty(value = "租户id")
|
||||
private Integer tenantId;
|
||||
|
||||
@ApiModelProperty(value = "注册时间")
|
||||
private Date createTime;
|
||||
|
||||
@ApiModelProperty(value = "修改时间")
|
||||
private Date updateTime;
|
||||
|
||||
}
|
||||
300
src/main/java/com/gxwebsoft/apps/entity/HualalaFood.java
Normal file
300
src/main/java/com/gxwebsoft/apps/entity/HualalaFood.java
Normal file
@@ -0,0 +1,300 @@
|
||||
package com.gxwebsoft.apps.entity;
|
||||
|
||||
import com.baomidou.mybatisplus.annotation.*;
|
||||
import io.swagger.annotations.ApiModel;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import lombok.Data;
|
||||
import lombok.EqualsAndHashCode;
|
||||
|
||||
import java.io.Serializable;
|
||||
import java.math.BigDecimal;
|
||||
import java.util.Date;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* 菜品分类
|
||||
*
|
||||
* @author 科技小王子
|
||||
* @since 2023-01-12 15:34:55
|
||||
*/
|
||||
@Data
|
||||
@EqualsAndHashCode(callSuper = false)
|
||||
@ApiModel(value = "HualalaFood对象", description = "菜品分类")
|
||||
@TableName("apps_hualala_food")
|
||||
public class HualalaFood implements Serializable {
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
@TableId(value = "id", type = IdType.AUTO)
|
||||
private Integer id;
|
||||
|
||||
@ApiModelProperty(value = "菜品ID")
|
||||
private String foodId;
|
||||
|
||||
@ApiModelProperty(value = "菜品Key")
|
||||
private String foodKey;
|
||||
|
||||
@ApiModelProperty(value = "集团ID")
|
||||
private String groupId;
|
||||
|
||||
@ApiModelProperty(value = "店铺ID")
|
||||
private String shopId;
|
||||
|
||||
@ApiModelProperty(value = "菜品条目数")
|
||||
private String foodCount;
|
||||
|
||||
@ApiModelProperty(value = "加入购物车数量")
|
||||
@TableField(exist = false)
|
||||
private Integer cartNum;
|
||||
|
||||
@ApiModelProperty(value = "售价")
|
||||
@TableField(exist = false)
|
||||
private BigDecimal sellPrice;
|
||||
|
||||
@ApiModelProperty("子菜单")
|
||||
@TableField(exist = false)
|
||||
private List<HualalaFood> children;
|
||||
//
|
||||
// @ApiModelProperty(value = "pos菜品分类ID")
|
||||
// private String foodCategoryId;
|
||||
//
|
||||
// @ApiModelProperty(value = "pos菜品分类Key")
|
||||
// private String foodCategoryKey;
|
||||
//
|
||||
// @ApiModelProperty(value = "pos菜品分类名称")
|
||||
// private String foodCategoryName;
|
||||
|
||||
@ApiModelProperty(value = "线上菜品分类ID")
|
||||
private String foodOnlineCategoryId;
|
||||
|
||||
@ApiModelProperty(value = "线上菜品分类Key")
|
||||
private String foodOnlineCategoryKey;
|
||||
|
||||
@ApiModelProperty(value = "线上菜品分类名称")
|
||||
private String foodOnlineCategoryName;
|
||||
|
||||
@ApiModelProperty(value = "是/否是配料,false:不是 true:是")
|
||||
private Integer isBatching;
|
||||
|
||||
@ApiModelProperty(value = "是/否可单独销售 0:不单独销售(默认) 1:可单独销售")
|
||||
private Integer isSingleSale;
|
||||
|
||||
@ApiModelProperty(value = "此菜品关联的收入科目key,例如冷菜收入、热菜收入、酒水收入")
|
||||
private String foodSubjectKey;
|
||||
|
||||
@ApiModelProperty(value = "对应出品部门Key列表")
|
||||
private String departmentKeyLst;
|
||||
|
||||
@ApiModelProperty(value = "配菜的分类key,在这里选择配菜")
|
||||
private String batchingFoodCategoryKey;
|
||||
|
||||
@ApiModelProperty(value = "菜品名称")
|
||||
private String foodName;
|
||||
|
||||
@ApiModelProperty(value = "菜品编号 可用于与三方菜品数据做映射")
|
||||
private String foodCode;
|
||||
|
||||
@ApiModelProperty(value = "菜品别名")
|
||||
private String foodAliasName;
|
||||
|
||||
@ApiModelProperty(value = "菜品注记码")
|
||||
private String foodMnemonicCode;
|
||||
|
||||
@ApiModelProperty(value = "配菜的分类key,在这里选择配菜")
|
||||
private Integer isDiscount;
|
||||
|
||||
@ApiModelProperty(value = "规格")
|
||||
private Object units;
|
||||
|
||||
@ApiModelProperty(value = "起售")
|
||||
private String minOrderCount;
|
||||
|
||||
@ApiModelProperty(value = "分类编号")
|
||||
private String foodCategoryCode;
|
||||
|
||||
@ApiModelProperty(value = "分类英文名")
|
||||
private String foodCategoryEnName;
|
||||
|
||||
@ApiModelProperty(value = "分类分组名称")
|
||||
private String foodCategoryGroupName;
|
||||
|
||||
@ApiModelProperty(value = "0:堂食 1:堂食,外送,自提 2:外送,自提 3:自提 4:外送 5:堂食,自提 6:堂食,外送")
|
||||
private String takeawayTag;
|
||||
|
||||
@ApiModelProperty(value = "菜品图片")
|
||||
private String imgePath;
|
||||
|
||||
@ApiModelProperty(value = "结算系数")
|
||||
private String settlementProportion;
|
||||
|
||||
@ApiModelProperty(value = "分类显示排序值")
|
||||
private Integer sortIndex;
|
||||
|
||||
@ApiModelProperty(value = "状态, 0正常, 1冻结")
|
||||
private Integer status;
|
||||
|
||||
@ApiModelProperty(value = "是否删除, 0否, 1是")
|
||||
@TableLogic
|
||||
private Integer deleted;
|
||||
|
||||
@ApiModelProperty(value = "租户id")
|
||||
private Integer tenantId;
|
||||
|
||||
@ApiModelProperty(value = "注册时间")
|
||||
private Date createTime;
|
||||
|
||||
@ApiModelProperty(value = "修改时间")
|
||||
private Date updateTime;
|
||||
|
||||
// private Integer isComments;
|
||||
//
|
||||
// private Integer isActive;
|
||||
//
|
||||
// private Integer isOpen;
|
||||
//
|
||||
// private Integer isSetFood;
|
||||
//
|
||||
// private Object setFoodDetailJson;
|
||||
//
|
||||
// private Integer isTempFood;
|
||||
//
|
||||
// private String py;
|
||||
//
|
||||
//
|
||||
// private String tasteList;
|
||||
//
|
||||
// private Object tasteGroupList;
|
||||
//
|
||||
// private Object makingMethodList;
|
||||
//
|
||||
// private Object makingMethodGroupList;
|
||||
//
|
||||
// private Integer isSpecialty;
|
||||
//
|
||||
// private Integer isRecommend;
|
||||
//
|
||||
// private Integer isNews;
|
||||
//
|
||||
// private String hotTag;
|
||||
//
|
||||
// private String salesCount;
|
||||
//
|
||||
// private Integer isNeedConfirmFoodNumber;
|
||||
//
|
||||
// private String takeoutPackagingFee;
|
||||
//
|
||||
// private String incrementUnit;
|
||||
|
||||
// private Integer isHasImage;
|
||||
//
|
||||
// private String imageHwp;
|
||||
//
|
||||
// private String starLevel;
|
||||
//
|
||||
// private String foodTagIds;
|
||||
//
|
||||
private String parentFoodId;
|
||||
//
|
||||
// private String foodEnName;
|
||||
//
|
||||
// private Integer isAutoAdd;
|
||||
//
|
||||
// private Integer isCanRefund;
|
||||
//
|
||||
// private Integer setPerson;
|
||||
//
|
||||
// private Integer tasteIsRequired;
|
||||
//
|
||||
// private Integer tasteIsMultiple;
|
||||
//
|
||||
// private Integer makingMethodIsRequired;
|
||||
//
|
||||
// private Integer makingMethodIsMultiple;
|
||||
//
|
||||
// private String initClickAmount;
|
||||
//
|
||||
// private String actualClickAmount;
|
||||
//
|
||||
// private String recentClickAmount;
|
||||
//
|
||||
// private String clickAlertMess;
|
||||
//
|
||||
// private String sourceFoodId;
|
||||
//
|
||||
// private String salesCommission;
|
||||
//
|
||||
// private String foodKeyElementLst;
|
||||
//
|
||||
// private String foodSortIndex;
|
||||
//
|
||||
// private String actionTime;
|
||||
//
|
||||
// private String foodSubjectName;
|
||||
//
|
||||
// private String foodSubjectCode;
|
||||
//
|
||||
// private String departmentId;
|
||||
//
|
||||
// private String departmentKey;
|
||||
//
|
||||
// private String popularity;
|
||||
//
|
||||
// private String detailSplit;
|
||||
//
|
||||
// private String batchingIsFoodNumberRate;
|
||||
|
||||
// @ApiModelProperty(value = "特价")
|
||||
// private String specialPrice;
|
||||
//
|
||||
// @ApiModelProperty(value = "特价2")
|
||||
// private String specialPrice2;
|
||||
//
|
||||
// @ApiModelProperty(value = "特价2")
|
||||
// private String specialPrice3;
|
||||
//
|
||||
// @ApiModelProperty(value = "特价2")
|
||||
// private String specialPrice4;
|
||||
//
|
||||
// @ApiModelProperty(value = "特价2")
|
||||
// private String specialPrice5;
|
||||
//
|
||||
// @ApiModelProperty(value = "特价2")
|
||||
// private String specialPrice6;
|
||||
//
|
||||
// @ApiModelProperty(value = "特价2")
|
||||
// private String onlineWmPrice;
|
||||
//
|
||||
// @ApiModelProperty(value = "标签ids")
|
||||
// private String tagIds;
|
||||
//
|
||||
// @ApiModelProperty(value = "标签名称")
|
||||
// private String tagNames;
|
||||
//
|
||||
// @ApiModelProperty(value = "礼品券ID")
|
||||
// private String giftItemId;
|
||||
//
|
||||
// @ApiModelProperty(value = "礼品券有效期")
|
||||
// private String giftValidPeriod;
|
||||
//
|
||||
// @ApiModelProperty(value = "菜品分类说明")
|
||||
// private String description;
|
||||
//
|
||||
// @ApiModelProperty(value = "记录状态")
|
||||
// private String action;
|
||||
|
||||
// @ApiModelProperty(value = "封面图")
|
||||
// private String image;
|
||||
//
|
||||
// @ApiModelProperty(value = "内容")
|
||||
// private String content;
|
||||
//
|
||||
// @ApiModelProperty(value = "排序(数字越小越靠前)")
|
||||
// private Integer sortNumber;
|
||||
//
|
||||
// @ApiModelProperty(value = "备注")
|
||||
// private String comments;
|
||||
|
||||
// private String workingLunchTag;
|
||||
//
|
||||
// private String adsId;
|
||||
|
||||
}
|
||||
111
src/main/java/com/gxwebsoft/apps/entity/HualalaFoodCategory.java
Normal file
111
src/main/java/com/gxwebsoft/apps/entity/HualalaFoodCategory.java
Normal file
@@ -0,0 +1,111 @@
|
||||
package com.gxwebsoft.apps.entity;
|
||||
|
||||
import com.baomidou.mybatisplus.annotation.TableName;
|
||||
import com.baomidou.mybatisplus.annotation.IdType;
|
||||
import com.baomidou.mybatisplus.annotation.TableId;
|
||||
import java.time.LocalDateTime;
|
||||
import com.baomidou.mybatisplus.annotation.TableLogic;
|
||||
import java.io.Serializable;
|
||||
import java.util.Date;
|
||||
|
||||
import io.swagger.annotations.ApiModel;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import lombok.Data;
|
||||
import lombok.EqualsAndHashCode;
|
||||
|
||||
/**
|
||||
* 菜品分类
|
||||
*
|
||||
* @author 科技小王子
|
||||
* @since 2023-01-12 09:49:46
|
||||
*/
|
||||
@Data
|
||||
@EqualsAndHashCode(callSuper = false)
|
||||
@ApiModel(value = "HualalaFoodCategory对象", description = "菜品分类")
|
||||
@TableName("apps_hualala_food_category")
|
||||
public class HualalaFoodCategory implements Serializable {
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
@TableId(value = "id", type = IdType.AUTO)
|
||||
private Integer id;
|
||||
|
||||
@ApiModelProperty(value = "是/否配料分类 0:不是(默认) 1:是")
|
||||
private Integer type;
|
||||
|
||||
@ApiModelProperty(value = "名称")
|
||||
private String foodCategoryName;
|
||||
|
||||
@ApiModelProperty(value = "收入名称")
|
||||
private String foodSubjectName;
|
||||
|
||||
@ApiModelProperty(value = "菜品Key")
|
||||
private String foodKey;
|
||||
|
||||
@ApiModelProperty(value = "菜品条目数")
|
||||
private String foodCount;
|
||||
|
||||
@ApiModelProperty(value = "分类ID")
|
||||
private String foodCategoryId;
|
||||
|
||||
@ApiModelProperty(value = "分类ID")
|
||||
private String foodCategoryGroupName;
|
||||
|
||||
@ApiModelProperty(value = "分类Key")
|
||||
private String foodCategoryKey;
|
||||
|
||||
@ApiModelProperty(value = "记录状态")
|
||||
private String action;
|
||||
|
||||
@ApiModelProperty(value = "结算系数")
|
||||
private String settlementProportion;
|
||||
|
||||
@ApiModelProperty(value = "是否启用")
|
||||
private Integer isActive;
|
||||
|
||||
@ApiModelProperty(value = "是/否配料分类 0:不是(默认) 1:是")
|
||||
private Integer isBatching;
|
||||
|
||||
@ApiModelProperty(value = "是/否可单独销售 0:不单独销售(默认) 1:可单独销售")
|
||||
private Integer isSingleSale;
|
||||
|
||||
@ApiModelProperty(value = "分类显示排序值")
|
||||
private Integer sortIndex;
|
||||
|
||||
@ApiModelProperty(value = "介绍页id")
|
||||
private Integer adsId;
|
||||
|
||||
@ApiModelProperty(value = "店铺ID")
|
||||
private String shopId;
|
||||
|
||||
@ApiModelProperty(value = "封面图")
|
||||
private String image;
|
||||
|
||||
@ApiModelProperty(value = "内容")
|
||||
private String content;
|
||||
|
||||
@ApiModelProperty(value = "排序(数字越小越靠前)")
|
||||
private Integer sortNumber;
|
||||
|
||||
@ApiModelProperty(value = "备注")
|
||||
private String comments;
|
||||
|
||||
@ApiModelProperty(value = "状态, 0正常, 1冻结")
|
||||
private Integer status;
|
||||
|
||||
@ApiModelProperty(value = "是否删除, 0否, 1是")
|
||||
@TableLogic
|
||||
private Integer deleted;
|
||||
|
||||
@ApiModelProperty(value = "商户编码")
|
||||
private String merchantCode;
|
||||
|
||||
@ApiModelProperty(value = "租户id")
|
||||
private Integer tenantId;
|
||||
|
||||
@ApiModelProperty(value = "注册时间")
|
||||
private Date createTime;
|
||||
|
||||
@ApiModelProperty(value = "修改时间")
|
||||
private Date updateTime;
|
||||
|
||||
}
|
||||
117
src/main/java/com/gxwebsoft/apps/entity/HualalaShop.java
Normal file
117
src/main/java/com/gxwebsoft/apps/entity/HualalaShop.java
Normal file
@@ -0,0 +1,117 @@
|
||||
package com.gxwebsoft.apps.entity;
|
||||
|
||||
import com.baomidou.mybatisplus.annotation.*;
|
||||
|
||||
import java.time.LocalDateTime;
|
||||
import java.io.Serializable;
|
||||
import java.util.Date;
|
||||
|
||||
import io.swagger.annotations.ApiModel;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import lombok.Data;
|
||||
import lombok.EqualsAndHashCode;
|
||||
|
||||
/**
|
||||
* 哗啦啦门店管理
|
||||
*
|
||||
* @author 科技小王子
|
||||
* @since 2023-01-12 18:24:44
|
||||
*/
|
||||
@Data
|
||||
@EqualsAndHashCode(callSuper = false)
|
||||
@ApiModel(value = "HualalaShop对象", description = "哗啦啦门店管理")
|
||||
@TableName("apps_hualala_shop")
|
||||
public class HualalaShop implements Serializable {
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
@ApiModelProperty(value = "id")
|
||||
@TableId(value = "id", type = IdType.AUTO)
|
||||
private Long id;
|
||||
|
||||
@ApiModelProperty(value = "店铺ID")
|
||||
private Long shopId;
|
||||
|
||||
@ApiModelProperty(value = "店铺名称")
|
||||
private String shopName;
|
||||
|
||||
@ApiModelProperty(value = "店铺logo")
|
||||
private String logoUrl;
|
||||
|
||||
@ApiModelProperty(value = "所在城市ID")
|
||||
private String shopCity;
|
||||
|
||||
@ApiModelProperty(value = "所在城市")
|
||||
private String shopCityName;
|
||||
|
||||
@ApiModelProperty(value = "营业时间")
|
||||
private String shopOpenTime;
|
||||
|
||||
@ApiModelProperty(value = "店内电话")
|
||||
private String shopPhone;
|
||||
|
||||
@ApiModelProperty(value = "HLL")
|
||||
private String acspType;
|
||||
|
||||
@ApiModelProperty(value = "1")
|
||||
private String action;
|
||||
|
||||
@ApiModelProperty(value = "20230111104803")
|
||||
private String actionTime;
|
||||
|
||||
@ApiModelProperty(value = "品牌ID")
|
||||
private String brandId;
|
||||
|
||||
@ApiModelProperty(value = "品牌名称")
|
||||
private String brandName;
|
||||
|
||||
@ApiModelProperty(value = "1")
|
||||
private String businessModel;
|
||||
|
||||
@ApiModelProperty(value = "图片")
|
||||
private String imagePath;
|
||||
|
||||
@ApiModelProperty(value = "22.7913010")
|
||||
private Double mapLatitudeValueBaiDu;
|
||||
|
||||
@ApiModelProperty(value = "108.3312800")
|
||||
private Double mapLongitudeValueBaiDu;
|
||||
|
||||
@ApiModelProperty(value = "0")
|
||||
private Integer operationMode;
|
||||
|
||||
@ApiModelProperty(value = "排序(数字越小越靠前)")
|
||||
private Integer sortNumber;
|
||||
|
||||
@ApiModelProperty(value = "备注")
|
||||
private String comments;
|
||||
|
||||
@ApiModelProperty(value = "状态, 0正常, 1冻结")
|
||||
private Integer status;
|
||||
|
||||
@ApiModelProperty(value = "是否删除, 0否, 1是")
|
||||
@TableLogic
|
||||
private Integer deleted;
|
||||
|
||||
@ApiModelProperty(value = "小通云缴商户号")
|
||||
private String payMerchantNo;
|
||||
|
||||
@ApiModelProperty(value = "小通云缴秘钥")
|
||||
private String paySecret;
|
||||
|
||||
@ApiModelProperty(value = "客户ID")
|
||||
private Integer customerId;
|
||||
|
||||
@ApiModelProperty(value = "距离")
|
||||
@TableField(exist = false)
|
||||
private Double distance;
|
||||
|
||||
@ApiModelProperty(value = "租户id")
|
||||
private Integer tenantId;
|
||||
|
||||
@ApiModelProperty(value = "注册时间")
|
||||
private Date createTime;
|
||||
|
||||
@ApiModelProperty(value = "修改时间")
|
||||
private Date updateTime;
|
||||
|
||||
}
|
||||
20
src/main/java/com/gxwebsoft/apps/entity/ItemVo.java
Normal file
20
src/main/java/com/gxwebsoft/apps/entity/ItemVo.java
Normal file
@@ -0,0 +1,20 @@
|
||||
package com.gxwebsoft.apps.entity;
|
||||
|
||||
import lombok.Data;
|
||||
|
||||
import java.math.BigDecimal;
|
||||
|
||||
/**
|
||||
* 操作购物车信息
|
||||
*/
|
||||
@Data
|
||||
public class ItemVo {
|
||||
private String userId; // 用户ID
|
||||
private String shopId; // 店铺ID
|
||||
private Integer foodId; // 菜品ID
|
||||
private Integer num; // 数量
|
||||
private BigDecimal price; // 售价
|
||||
private String imge; // 菜品图片
|
||||
private String foodName; // 菜品名称
|
||||
private String foodUnitID; // 规格ID
|
||||
}
|
||||
79
src/main/java/com/gxwebsoft/apps/entity/Link.java
Normal file
79
src/main/java/com/gxwebsoft/apps/entity/Link.java
Normal file
@@ -0,0 +1,79 @@
|
||||
package com.gxwebsoft.apps.entity;
|
||||
|
||||
import com.baomidou.mybatisplus.annotation.TableName;
|
||||
import com.baomidou.mybatisplus.annotation.IdType;
|
||||
import com.baomidou.mybatisplus.annotation.TableId;
|
||||
import java.time.LocalDateTime;
|
||||
import com.baomidou.mybatisplus.annotation.TableLogic;
|
||||
import java.io.Serializable;
|
||||
import java.util.Date;
|
||||
|
||||
import io.swagger.annotations.ApiModel;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import lombok.Data;
|
||||
import lombok.EqualsAndHashCode;
|
||||
|
||||
/**
|
||||
* 常用链接推荐记录表
|
||||
*
|
||||
* @author 科技小王子
|
||||
* @since 2022-11-25 12:55:33
|
||||
*/
|
||||
@Data
|
||||
@EqualsAndHashCode(callSuper = false)
|
||||
@ApiModel(value = "Link对象", description = "常用链接推荐记录表")
|
||||
@TableName("apps_link")
|
||||
public class Link implements Serializable {
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
@ApiModelProperty(value = "链接ID")
|
||||
@TableId(value = "link_id", type = IdType.AUTO)
|
||||
private Integer linkId;
|
||||
|
||||
@ApiModelProperty(value = "链接名称")
|
||||
private String linkName;
|
||||
|
||||
@ApiModelProperty(value = "链接图标")
|
||||
private String linkIcon;
|
||||
|
||||
@ApiModelProperty(value = "路由地址")
|
||||
private String linkPath;
|
||||
|
||||
@ApiModelProperty(value = "组件路径")
|
||||
private String linkComponent;
|
||||
|
||||
@ApiModelProperty(value = "链接类型")
|
||||
private String type;
|
||||
|
||||
@ApiModelProperty(value = "点击次数")
|
||||
private Integer clicks;
|
||||
|
||||
@ApiModelProperty(value = "推荐理由")
|
||||
private String comments;
|
||||
|
||||
@ApiModelProperty(value = "文章排序(数字越小越靠前)")
|
||||
private Integer sortNumber;
|
||||
|
||||
@ApiModelProperty(value = "状态, 0正常, 1冻结")
|
||||
private Integer status;
|
||||
|
||||
@ApiModelProperty(value = "是否删除, 0否, 1是")
|
||||
@TableLogic
|
||||
private Integer deleted;
|
||||
|
||||
@ApiModelProperty(value = "用户ID")
|
||||
private Integer userId;
|
||||
|
||||
@ApiModelProperty(value = "商户编号")
|
||||
private String merchantCode;
|
||||
|
||||
@ApiModelProperty(value = "租户id")
|
||||
private Integer tenantId;
|
||||
|
||||
@ApiModelProperty(value = "注册时间")
|
||||
private Date createTime;
|
||||
|
||||
@ApiModelProperty(value = "修改时间")
|
||||
private Date updateTime;
|
||||
|
||||
}
|
||||
47
src/main/java/com/gxwebsoft/apps/entity/TestData.java
Normal file
47
src/main/java/com/gxwebsoft/apps/entity/TestData.java
Normal file
@@ -0,0 +1,47 @@
|
||||
package com.gxwebsoft.apps.entity;
|
||||
|
||||
import com.baomidou.mybatisplus.annotation.TableName;
|
||||
import com.baomidou.mybatisplus.annotation.IdType;
|
||||
import com.baomidou.mybatisplus.annotation.TableId;
|
||||
import java.time.LocalDateTime;
|
||||
import java.io.Serializable;
|
||||
import java.util.Date;
|
||||
|
||||
import io.swagger.annotations.ApiModel;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import lombok.Data;
|
||||
import lombok.EqualsAndHashCode;
|
||||
|
||||
/**
|
||||
* 测试数据表
|
||||
*
|
||||
* @author 科技小王子
|
||||
* @since 2023-02-01 12:13:46
|
||||
*/
|
||||
@Data
|
||||
@EqualsAndHashCode(callSuper = false)
|
||||
@ApiModel(value = "TestData对象", description = "测试数据表")
|
||||
@TableName("apps_test_data")
|
||||
public class TestData implements Serializable {
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
@ApiModelProperty(value = "主键ID")
|
||||
@TableId(value = "id", type = IdType.AUTO)
|
||||
private Integer id;
|
||||
|
||||
@ApiModelProperty(value = "标题")
|
||||
private String title;
|
||||
|
||||
@ApiModelProperty(value = "内容")
|
||||
private String content;
|
||||
|
||||
@ApiModelProperty(value = "租户id")
|
||||
private Integer tenantId;
|
||||
|
||||
@ApiModelProperty(value = "注册时间")
|
||||
private Date createTime;
|
||||
|
||||
@ApiModelProperty(value = "修改时间")
|
||||
private Date updateTime;
|
||||
|
||||
}
|
||||
37
src/main/java/com/gxwebsoft/apps/mapper/BcAgentMapper.java
Normal file
37
src/main/java/com/gxwebsoft/apps/mapper/BcAgentMapper.java
Normal file
@@ -0,0 +1,37 @@
|
||||
package com.gxwebsoft.apps.mapper;
|
||||
|
||||
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||
import com.gxwebsoft.apps.entity.BcAgent;
|
||||
import com.gxwebsoft.apps.param.BcAgentParam;
|
||||
import org.apache.ibatis.annotations.Param;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* 代报餐管理Mapper
|
||||
*
|
||||
* @author 科技小王子
|
||||
* @since 2023-04-24 19:25:59
|
||||
*/
|
||||
public interface BcAgentMapper extends BaseMapper<BcAgent> {
|
||||
|
||||
/**
|
||||
* 分页查询
|
||||
*
|
||||
* @param page 分页对象
|
||||
* @param param 查询参数
|
||||
* @return List<BcAgent>
|
||||
*/
|
||||
List<BcAgent> selectPageRel(@Param("page") IPage<BcAgent> page,
|
||||
@Param("param") BcAgentParam param);
|
||||
|
||||
/**
|
||||
* 查询全部
|
||||
*
|
||||
* @param param 查询参数
|
||||
* @return List<User>
|
||||
*/
|
||||
List<BcAgent> selectListRel(@Param("param") BcAgentParam param);
|
||||
|
||||
}
|
||||
@@ -0,0 +1,37 @@
|
||||
package com.gxwebsoft.apps.mapper;
|
||||
|
||||
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||
import com.gxwebsoft.apps.entity.BcCookbook;
|
||||
import com.gxwebsoft.apps.param.BcCookbookParam;
|
||||
import org.apache.ibatis.annotations.Param;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* 常用菜谱Mapper
|
||||
*
|
||||
* @author 科技小王子
|
||||
* @since 2023-05-05 14:56:54
|
||||
*/
|
||||
public interface BcCookbookMapper extends BaseMapper<BcCookbook> {
|
||||
|
||||
/**
|
||||
* 分页查询
|
||||
*
|
||||
* @param page 分页对象
|
||||
* @param param 查询参数
|
||||
* @return List<BcCookbook>
|
||||
*/
|
||||
List<BcCookbook> selectPageRel(@Param("page") IPage<BcCookbook> page,
|
||||
@Param("param") BcCookbookParam param);
|
||||
|
||||
/**
|
||||
* 查询全部
|
||||
*
|
||||
* @param param 查询参数
|
||||
* @return List<User>
|
||||
*/
|
||||
List<BcCookbook> selectListRel(@Param("param") BcCookbookParam param);
|
||||
|
||||
}
|
||||
@@ -0,0 +1,37 @@
|
||||
package com.gxwebsoft.apps.mapper;
|
||||
|
||||
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||
import com.gxwebsoft.apps.entity.BcEquipment;
|
||||
import com.gxwebsoft.apps.param.BcEquipmentParam;
|
||||
import org.apache.ibatis.annotations.Param;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* 报餐设备管理Mapper
|
||||
*
|
||||
* @author 科技小王子
|
||||
* @since 2023-05-02 10:34:40
|
||||
*/
|
||||
public interface BcEquipmentMapper extends BaseMapper<BcEquipment> {
|
||||
|
||||
/**
|
||||
* 分页查询
|
||||
*
|
||||
* @param page 分页对象
|
||||
* @param param 查询参数
|
||||
* @return List<BcEquipment>
|
||||
*/
|
||||
List<BcEquipment> selectPageRel(@Param("page") IPage<BcEquipment> page,
|
||||
@Param("param") BcEquipmentParam param);
|
||||
|
||||
/**
|
||||
* 查询全部
|
||||
*
|
||||
* @param param 查询参数
|
||||
* @return List<User>
|
||||
*/
|
||||
List<BcEquipment> selectListRel(@Param("param") BcEquipmentParam param);
|
||||
|
||||
}
|
||||
37
src/main/java/com/gxwebsoft/apps/mapper/BcExportMapper.java
Normal file
37
src/main/java/com/gxwebsoft/apps/mapper/BcExportMapper.java
Normal file
@@ -0,0 +1,37 @@
|
||||
package com.gxwebsoft.apps.mapper;
|
||||
|
||||
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||
import com.gxwebsoft.apps.entity.BcExport;
|
||||
import com.gxwebsoft.apps.param.BcExportParam;
|
||||
import org.apache.ibatis.annotations.Param;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* 报餐统计导出Mapper
|
||||
*
|
||||
* @author 科技小王子
|
||||
* @since 2023-06-01 21:47:02
|
||||
*/
|
||||
public interface BcExportMapper extends BaseMapper<BcExport> {
|
||||
|
||||
/**
|
||||
* 分页查询
|
||||
*
|
||||
* @param page 分页对象
|
||||
* @param param 查询参数
|
||||
* @return List<BcExport>
|
||||
*/
|
||||
List<BcExport> selectPageRel(@Param("page") IPage<BcExport> page,
|
||||
@Param("param") BcExportParam param);
|
||||
|
||||
/**
|
||||
* 查询全部
|
||||
*
|
||||
* @param param 查询参数
|
||||
* @return List<User>
|
||||
*/
|
||||
List<BcExport> selectListRel(@Param("param") BcExportParam param);
|
||||
|
||||
}
|
||||
37
src/main/java/com/gxwebsoft/apps/mapper/BcFoodMapper.java
Normal file
37
src/main/java/com/gxwebsoft/apps/mapper/BcFoodMapper.java
Normal file
@@ -0,0 +1,37 @@
|
||||
package com.gxwebsoft.apps.mapper;
|
||||
|
||||
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||
import com.gxwebsoft.apps.entity.BcFood;
|
||||
import com.gxwebsoft.apps.param.BcFoodParam;
|
||||
import org.apache.ibatis.annotations.Param;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* 发布菜品明细Mapper
|
||||
*
|
||||
* @author 科技小王子
|
||||
* @since 2023-04-27 17:59:40
|
||||
*/
|
||||
public interface BcFoodMapper extends BaseMapper<BcFood> {
|
||||
|
||||
/**
|
||||
* 分页查询
|
||||
*
|
||||
* @param page 分页对象
|
||||
* @param param 查询参数
|
||||
* @return List<BcFood>
|
||||
*/
|
||||
List<BcFood> selectPageRel(@Param("page") IPage<BcFood> page,
|
||||
@Param("param") BcFoodParam param);
|
||||
|
||||
/**
|
||||
* 查询全部
|
||||
*
|
||||
* @param param 查询参数
|
||||
* @return List<User>
|
||||
*/
|
||||
List<BcFood> selectListRel(@Param("param") BcFoodParam param);
|
||||
|
||||
}
|
||||
37
src/main/java/com/gxwebsoft/apps/mapper/BcPlanMapper.java
Normal file
37
src/main/java/com/gxwebsoft/apps/mapper/BcPlanMapper.java
Normal file
@@ -0,0 +1,37 @@
|
||||
package com.gxwebsoft.apps.mapper;
|
||||
|
||||
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||
import com.gxwebsoft.apps.entity.BcPlan;
|
||||
import com.gxwebsoft.apps.param.BcPlanParam;
|
||||
import org.apache.ibatis.annotations.Param;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* 菜品发布管理Mapper
|
||||
*
|
||||
* @author 科技小王子
|
||||
* @since 2023-04-27 17:59:40
|
||||
*/
|
||||
public interface BcPlanMapper extends BaseMapper<BcPlan> {
|
||||
|
||||
/**
|
||||
* 分页查询
|
||||
*
|
||||
* @param page 分页对象
|
||||
* @param param 查询参数
|
||||
* @return List<BcPlan>
|
||||
*/
|
||||
List<BcPlan> selectPageRel(@Param("page") IPage<BcPlan> page,
|
||||
@Param("param") BcPlanParam param);
|
||||
|
||||
/**
|
||||
* 查询全部
|
||||
*
|
||||
* @param param 查询参数
|
||||
* @return List<User>
|
||||
*/
|
||||
List<BcPlan> selectListRel(@Param("param") BcPlanParam param);
|
||||
|
||||
}
|
||||
@@ -0,0 +1,37 @@
|
||||
package com.gxwebsoft.apps.mapper;
|
||||
|
||||
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||
import com.gxwebsoft.apps.entity.BcTemporary;
|
||||
import com.gxwebsoft.apps.param.BcTemporaryParam;
|
||||
import org.apache.ibatis.annotations.Param;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* 临时报餐管理Mapper
|
||||
*
|
||||
* @author 科技小王子
|
||||
* @since 2023-04-24 21:47:57
|
||||
*/
|
||||
public interface BcTemporaryMapper extends BaseMapper<BcTemporary> {
|
||||
|
||||
/**
|
||||
* 分页查询
|
||||
*
|
||||
* @param page 分页对象
|
||||
* @param param 查询参数
|
||||
* @return List<BcTemporary>
|
||||
*/
|
||||
List<BcTemporary> selectPageRel(@Param("page") IPage<BcTemporary> page,
|
||||
@Param("param") BcTemporaryParam param);
|
||||
|
||||
/**
|
||||
* 查询全部
|
||||
*
|
||||
* @param param 查询参数
|
||||
* @return List<User>
|
||||
*/
|
||||
List<BcTemporary> selectListRel(@Param("param") BcTemporaryParam param);
|
||||
|
||||
}
|
||||
37
src/main/java/com/gxwebsoft/apps/mapper/CashierMapper.java
Normal file
37
src/main/java/com/gxwebsoft/apps/mapper/CashierMapper.java
Normal file
@@ -0,0 +1,37 @@
|
||||
package com.gxwebsoft.apps.mapper;
|
||||
|
||||
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||
import com.gxwebsoft.apps.entity.Cashier;
|
||||
import com.gxwebsoft.apps.param.CashierParam;
|
||||
import org.apache.ibatis.annotations.Param;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* 海牛收银台记录表Mapper
|
||||
*
|
||||
* @author WebSoft
|
||||
* @since 2022-11-18 11:47:09
|
||||
*/
|
||||
public interface CashierMapper extends BaseMapper<Cashier> {
|
||||
|
||||
/**
|
||||
* 分页查询
|
||||
*
|
||||
* @param page 分页对象
|
||||
* @param param 查询参数
|
||||
* @return List<Cashier>
|
||||
*/
|
||||
List<Cashier> selectPageRel(@Param("page") IPage<Cashier> page,
|
||||
@Param("param") CashierParam param);
|
||||
|
||||
/**
|
||||
* 查询全部
|
||||
*
|
||||
* @param param 查询参数
|
||||
* @return List<User>
|
||||
*/
|
||||
List<Cashier> selectListRel(@Param("param") CashierParam param);
|
||||
|
||||
}
|
||||
@@ -0,0 +1,37 @@
|
||||
package com.gxwebsoft.apps.mapper;
|
||||
|
||||
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||
import com.gxwebsoft.apps.entity.EquipmentAlarm;
|
||||
import com.gxwebsoft.apps.param.EquipmentAlarmParam;
|
||||
import org.apache.ibatis.annotations.Param;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* 故障报警记录Mapper
|
||||
*
|
||||
* @author 科技小王子
|
||||
* @since 2022-12-01 23:49:44
|
||||
*/
|
||||
public interface EquipmentAlarmMapper extends BaseMapper<EquipmentAlarm> {
|
||||
|
||||
/**
|
||||
* 分页查询
|
||||
*
|
||||
* @param page 分页对象
|
||||
* @param param 查询参数
|
||||
* @return List<EquipmentAlarm>
|
||||
*/
|
||||
List<EquipmentAlarm> selectPageRel(@Param("page") IPage<EquipmentAlarm> page,
|
||||
@Param("param") EquipmentAlarmParam param);
|
||||
|
||||
/**
|
||||
* 查询全部
|
||||
*
|
||||
* @param param 查询参数
|
||||
* @return List<User>
|
||||
*/
|
||||
List<EquipmentAlarm> selectListRel(@Param("param") EquipmentAlarmParam param);
|
||||
|
||||
}
|
||||
@@ -0,0 +1,37 @@
|
||||
package com.gxwebsoft.apps.mapper;
|
||||
|
||||
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||
import com.gxwebsoft.apps.entity.EquipmentFault;
|
||||
import com.gxwebsoft.apps.param.EquipmentFaultParam;
|
||||
import org.apache.ibatis.annotations.Param;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* 故障电池Mapper
|
||||
*
|
||||
* @author 科技小王子
|
||||
* @since 2022-12-01 18:40:25
|
||||
*/
|
||||
public interface EquipmentFaultMapper extends BaseMapper<EquipmentFault> {
|
||||
|
||||
/**
|
||||
* 分页查询
|
||||
*
|
||||
* @param page 分页对象
|
||||
* @param param 查询参数
|
||||
* @return List<EquipmentFault>
|
||||
*/
|
||||
List<EquipmentFault> selectPageRel(@Param("page") IPage<EquipmentFault> page,
|
||||
@Param("param") EquipmentFaultParam param);
|
||||
|
||||
/**
|
||||
* 查询全部
|
||||
*
|
||||
* @param param 查询参数
|
||||
* @return List<User>
|
||||
*/
|
||||
List<EquipmentFault> selectListRel(@Param("param") EquipmentFaultParam param);
|
||||
|
||||
}
|
||||
@@ -0,0 +1,37 @@
|
||||
package com.gxwebsoft.apps.mapper;
|
||||
|
||||
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||
import com.gxwebsoft.apps.entity.EquipmentGoods;
|
||||
import com.gxwebsoft.apps.param.EquipmentGoodsParam;
|
||||
import org.apache.ibatis.annotations.Param;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* 电池管理记录表Mapper
|
||||
*
|
||||
* @author 科技小王子
|
||||
* @since 2023-02-28 22:40:50
|
||||
*/
|
||||
public interface EquipmentGoodsMapper extends BaseMapper<EquipmentGoods> {
|
||||
|
||||
/**
|
||||
* 分页查询
|
||||
*
|
||||
* @param page 分页对象
|
||||
* @param param 查询参数
|
||||
* @return List<EquipmentGoods>
|
||||
*/
|
||||
List<EquipmentGoods> selectPageRel(@Param("page") IPage<EquipmentGoods> page,
|
||||
@Param("param") EquipmentGoodsParam param);
|
||||
|
||||
/**
|
||||
* 查询全部
|
||||
*
|
||||
* @param param 查询参数
|
||||
* @return List<User>
|
||||
*/
|
||||
List<EquipmentGoods> selectListRel(@Param("param") EquipmentGoodsParam param);
|
||||
|
||||
}
|
||||
37
src/main/java/com/gxwebsoft/apps/mapper/EquipmentMapper.java
Normal file
37
src/main/java/com/gxwebsoft/apps/mapper/EquipmentMapper.java
Normal file
@@ -0,0 +1,37 @@
|
||||
package com.gxwebsoft.apps.mapper;
|
||||
|
||||
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||
import com.gxwebsoft.apps.entity.Equipment;
|
||||
import com.gxwebsoft.apps.param.EquipmentParam;
|
||||
import org.apache.ibatis.annotations.Param;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* 设备管理Mapper
|
||||
*
|
||||
* @author 科技小王子
|
||||
* @since 2022-11-30 02:11:16
|
||||
*/
|
||||
public interface EquipmentMapper extends BaseMapper<Equipment> {
|
||||
|
||||
/**
|
||||
* 分页查询
|
||||
*
|
||||
* @param page 分页对象
|
||||
* @param param 查询参数
|
||||
* @return List<Equipment>
|
||||
*/
|
||||
List<Equipment> selectPageRel(@Param("page") IPage<Equipment> page,
|
||||
@Param("param") EquipmentParam param);
|
||||
|
||||
/**
|
||||
* 查询全部
|
||||
*
|
||||
* @param param 查询参数
|
||||
* @return List<User>
|
||||
*/
|
||||
List<Equipment> selectListRel(@Param("param") EquipmentParam param);
|
||||
|
||||
}
|
||||
@@ -0,0 +1,37 @@
|
||||
package com.gxwebsoft.apps.mapper;
|
||||
|
||||
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||
import com.gxwebsoft.apps.entity.EquipmentOrderGoods;
|
||||
import com.gxwebsoft.apps.param.EquipmentOrderGoodsParam;
|
||||
import org.apache.ibatis.annotations.Param;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* 电池管理记录表Mapper
|
||||
*
|
||||
* @author 科技小王子
|
||||
* @since 2023-05-11 19:10:13
|
||||
*/
|
||||
public interface EquipmentOrderGoodsMapper extends BaseMapper<EquipmentOrderGoods> {
|
||||
|
||||
/**
|
||||
* 分页查询
|
||||
*
|
||||
* @param page 分页对象
|
||||
* @param param 查询参数
|
||||
* @return List<EquipmentOrderGoods>
|
||||
*/
|
||||
List<EquipmentOrderGoods> selectPageRel(@Param("page") IPage<EquipmentOrderGoods> page,
|
||||
@Param("param") EquipmentOrderGoodsParam param);
|
||||
|
||||
/**
|
||||
* 查询全部
|
||||
*
|
||||
* @param param 查询参数
|
||||
* @return List<User>
|
||||
*/
|
||||
List<EquipmentOrderGoods> selectListRel(@Param("param") EquipmentOrderGoodsParam param);
|
||||
|
||||
}
|
||||
@@ -0,0 +1,37 @@
|
||||
package com.gxwebsoft.apps.mapper;
|
||||
|
||||
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||
import com.gxwebsoft.apps.entity.EquipmentOrder;
|
||||
import com.gxwebsoft.apps.param.EquipmentOrderParam;
|
||||
import org.apache.ibatis.annotations.Param;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* 订单记录表Mapper
|
||||
*
|
||||
* @author 科技小王子
|
||||
* @since 2023-04-14 21:24:31
|
||||
*/
|
||||
public interface EquipmentOrderMapper extends BaseMapper<EquipmentOrder> {
|
||||
|
||||
/**
|
||||
* 分页查询
|
||||
*
|
||||
* @param page 分页对象
|
||||
* @param param 查询参数
|
||||
* @return List<EquipmentOrder>
|
||||
*/
|
||||
List<EquipmentOrder> selectPageRel(@Param("page") IPage<EquipmentOrder> page,
|
||||
@Param("param") EquipmentOrderParam param);
|
||||
|
||||
/**
|
||||
* 查询全部
|
||||
*
|
||||
* @param param 查询参数
|
||||
* @return List<User>
|
||||
*/
|
||||
List<EquipmentOrder> selectListRel(@Param("param") EquipmentOrderParam param);
|
||||
|
||||
}
|
||||
@@ -0,0 +1,37 @@
|
||||
package com.gxwebsoft.apps.mapper;
|
||||
|
||||
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||
import com.gxwebsoft.apps.entity.EquipmentRecord;
|
||||
import com.gxwebsoft.apps.param.EquipmentRecordParam;
|
||||
import org.apache.ibatis.annotations.Param;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* 前世今生Mapper
|
||||
*
|
||||
* @author 科技小王子
|
||||
* @since 2022-12-03 01:23:53
|
||||
*/
|
||||
public interface EquipmentRecordMapper extends BaseMapper<EquipmentRecord> {
|
||||
|
||||
/**
|
||||
* 分页查询
|
||||
*
|
||||
* @param page 分页对象
|
||||
* @param param 查询参数
|
||||
* @return List<EquipmentRecord>
|
||||
*/
|
||||
List<EquipmentRecord> selectPageRel(@Param("page") IPage<EquipmentRecord> page,
|
||||
@Param("param") EquipmentRecordParam param);
|
||||
|
||||
/**
|
||||
* 查询全部
|
||||
*
|
||||
* @param param 查询参数
|
||||
* @return List<User>
|
||||
*/
|
||||
List<EquipmentRecord> selectListRel(@Param("param") EquipmentRecordParam param);
|
||||
|
||||
}
|
||||
@@ -0,0 +1,37 @@
|
||||
package com.gxwebsoft.apps.mapper;
|
||||
|
||||
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||
import com.gxwebsoft.apps.entity.HualalaCardBenefits;
|
||||
import com.gxwebsoft.apps.param.HualalaCardBenefitsParam;
|
||||
import org.apache.ibatis.annotations.Param;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* 会员权益Mapper
|
||||
*
|
||||
* @author 科技小王子
|
||||
* @since 2023-01-08 12:22:50
|
||||
*/
|
||||
public interface HualalaCardBenefitsMapper extends BaseMapper<HualalaCardBenefits> {
|
||||
|
||||
/**
|
||||
* 分页查询
|
||||
*
|
||||
* @param page 分页对象
|
||||
* @param param 查询参数
|
||||
* @return List<HualalaCardBenefits>
|
||||
*/
|
||||
List<HualalaCardBenefits> selectPageRel(@Param("page") IPage<HualalaCardBenefits> page,
|
||||
@Param("param") HualalaCardBenefitsParam param);
|
||||
|
||||
/**
|
||||
* 查询全部
|
||||
*
|
||||
* @param param 查询参数
|
||||
* @return List<User>
|
||||
*/
|
||||
List<HualalaCardBenefits> selectListRel(@Param("param") HualalaCardBenefitsParam param);
|
||||
|
||||
}
|
||||
@@ -0,0 +1,37 @@
|
||||
package com.gxwebsoft.apps.mapper;
|
||||
|
||||
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||
import com.gxwebsoft.apps.entity.HualalaCard;
|
||||
import com.gxwebsoft.apps.param.HualalaCardParam;
|
||||
import org.apache.ibatis.annotations.Param;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* Mapper
|
||||
*
|
||||
* @author 科技小王子
|
||||
* @since 2023-01-08 12:22:50
|
||||
*/
|
||||
public interface HualalaCardMapper extends BaseMapper<HualalaCard> {
|
||||
|
||||
/**
|
||||
* 分页查询
|
||||
*
|
||||
* @param page 分页对象
|
||||
* @param param 查询参数
|
||||
* @return List<HualalaCard>
|
||||
*/
|
||||
List<HualalaCard> selectPageRel(@Param("page") IPage<HualalaCard> page,
|
||||
@Param("param") HualalaCardParam param);
|
||||
|
||||
/**
|
||||
* 查询全部
|
||||
*
|
||||
* @param param 查询参数
|
||||
* @return List<User>
|
||||
*/
|
||||
List<HualalaCard> selectListRel(@Param("param") HualalaCardParam param);
|
||||
|
||||
}
|
||||
@@ -0,0 +1,37 @@
|
||||
package com.gxwebsoft.apps.mapper;
|
||||
|
||||
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||
import com.gxwebsoft.apps.entity.HualalaCartFood;
|
||||
import com.gxwebsoft.apps.param.HualalaCartFoodParam;
|
||||
import org.apache.ibatis.annotations.Param;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* 购物车商品Mapper
|
||||
*
|
||||
* @author 科技小王子
|
||||
* @since 2023-01-14 14:46:44
|
||||
*/
|
||||
public interface HualalaCartFoodMapper extends BaseMapper<HualalaCartFood> {
|
||||
|
||||
/**
|
||||
* 分页查询
|
||||
*
|
||||
* @param page 分页对象
|
||||
* @param param 查询参数
|
||||
* @return List<HualalaCartFood>
|
||||
*/
|
||||
List<HualalaCartFood> selectPageRel(@Param("page") IPage<HualalaCartFood> page,
|
||||
@Param("param") HualalaCartFoodParam param);
|
||||
|
||||
/**
|
||||
* 查询全部
|
||||
*
|
||||
* @param param 查询参数
|
||||
* @return List<User>
|
||||
*/
|
||||
List<HualalaCartFood> selectListRel(@Param("param") HualalaCartFoodParam param);
|
||||
|
||||
}
|
||||
@@ -0,0 +1,37 @@
|
||||
package com.gxwebsoft.apps.mapper;
|
||||
|
||||
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||
import com.gxwebsoft.apps.entity.HualalaFoodCategory;
|
||||
import com.gxwebsoft.apps.param.HualalaFoodCategoryParam;
|
||||
import org.apache.ibatis.annotations.Param;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* 菜品分类Mapper
|
||||
*
|
||||
* @author 科技小王子
|
||||
* @since 2023-01-12 09:49:46
|
||||
*/
|
||||
public interface HualalaFoodCategoryMapper extends BaseMapper<HualalaFoodCategory> {
|
||||
|
||||
/**
|
||||
* 分页查询
|
||||
*
|
||||
* @param page 分页对象
|
||||
* @param param 查询参数
|
||||
* @return List<HualalaFoodCategory>
|
||||
*/
|
||||
List<HualalaFoodCategory> selectPageRel(@Param("page") IPage<HualalaFoodCategory> page,
|
||||
@Param("param") HualalaFoodCategoryParam param);
|
||||
|
||||
/**
|
||||
* 查询全部
|
||||
*
|
||||
* @param param 查询参数
|
||||
* @return List<User>
|
||||
*/
|
||||
List<HualalaFoodCategory> selectListRel(@Param("param") HualalaFoodCategoryParam param);
|
||||
|
||||
}
|
||||
@@ -0,0 +1,37 @@
|
||||
package com.gxwebsoft.apps.mapper;
|
||||
|
||||
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||
import com.gxwebsoft.apps.entity.HualalaFood;
|
||||
import com.gxwebsoft.apps.param.HualalaFoodParam;
|
||||
import org.apache.ibatis.annotations.Param;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* 菜品分类Mapper
|
||||
*
|
||||
* @author 科技小王子
|
||||
* @since 2023-01-12 15:34:55
|
||||
*/
|
||||
public interface HualalaFoodMapper extends BaseMapper<HualalaFood> {
|
||||
|
||||
/**
|
||||
* 分页查询
|
||||
*
|
||||
* @param page 分页对象
|
||||
* @param param 查询参数
|
||||
* @return List<HualalaFood>
|
||||
*/
|
||||
List<HualalaFood> selectPageRel(@Param("page") IPage<HualalaFood> page,
|
||||
@Param("param") HualalaFoodParam param);
|
||||
|
||||
/**
|
||||
* 查询全部
|
||||
*
|
||||
* @param param 查询参数
|
||||
* @return List<User>
|
||||
*/
|
||||
List<HualalaFood> selectListRel(@Param("param") HualalaFoodParam param);
|
||||
|
||||
}
|
||||
20
src/main/java/com/gxwebsoft/apps/mapper/HualalaMapper.java
Normal file
20
src/main/java/com/gxwebsoft/apps/mapper/HualalaMapper.java
Normal file
@@ -0,0 +1,20 @@
|
||||
package com.gxwebsoft.apps.mapper;
|
||||
|
||||
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||
import com.gxwebsoft.apps.entity.Hualala;
|
||||
import com.gxwebsoft.apps.entity.Link;
|
||||
import com.gxwebsoft.apps.param.LinkParam;
|
||||
import org.apache.ibatis.annotations.Param;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* 哗啦啦Mapper
|
||||
*
|
||||
* @author 科技小王子
|
||||
* @since 2022-11-25 12:55:33
|
||||
*/
|
||||
public interface HualalaMapper extends BaseMapper<Hualala> {
|
||||
|
||||
}
|
||||
@@ -0,0 +1,37 @@
|
||||
package com.gxwebsoft.apps.mapper;
|
||||
|
||||
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||
import com.gxwebsoft.apps.entity.HualalaShop;
|
||||
import com.gxwebsoft.apps.param.HualalaShopParam;
|
||||
import org.apache.ibatis.annotations.Param;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* 哗啦啦门店管理Mapper
|
||||
*
|
||||
* @author 科技小王子
|
||||
* @since 2023-01-12 18:24:44
|
||||
*/
|
||||
public interface HualalaShopMapper extends BaseMapper<HualalaShop> {
|
||||
|
||||
/**
|
||||
* 分页查询
|
||||
*
|
||||
* @param page 分页对象
|
||||
* @param param 查询参数
|
||||
* @return List<HualalaShop>
|
||||
*/
|
||||
List<HualalaShop> selectPageRel(@Param("page") IPage<HualalaShop> page,
|
||||
@Param("param") HualalaShopParam param);
|
||||
|
||||
/**
|
||||
* 查询全部
|
||||
*
|
||||
* @param param 查询参数
|
||||
* @return List<User>
|
||||
*/
|
||||
List<HualalaShop> selectListRel(@Param("param") HualalaShopParam param);
|
||||
|
||||
}
|
||||
37
src/main/java/com/gxwebsoft/apps/mapper/LinkMapper.java
Normal file
37
src/main/java/com/gxwebsoft/apps/mapper/LinkMapper.java
Normal file
@@ -0,0 +1,37 @@
|
||||
package com.gxwebsoft.apps.mapper;
|
||||
|
||||
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||
import com.gxwebsoft.apps.entity.Link;
|
||||
import com.gxwebsoft.apps.param.LinkParam;
|
||||
import org.apache.ibatis.annotations.Param;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* 常用链接推荐记录表Mapper
|
||||
*
|
||||
* @author 科技小王子
|
||||
* @since 2022-11-25 12:55:33
|
||||
*/
|
||||
public interface LinkMapper extends BaseMapper<Link> {
|
||||
|
||||
/**
|
||||
* 分页查询
|
||||
*
|
||||
* @param page 分页对象
|
||||
* @param param 查询参数
|
||||
* @return List<Link>
|
||||
*/
|
||||
List<Link> selectPageRel(@Param("page") IPage<Link> page,
|
||||
@Param("param") LinkParam param);
|
||||
|
||||
/**
|
||||
* 查询全部
|
||||
*
|
||||
* @param param 查询参数
|
||||
* @return List<User>
|
||||
*/
|
||||
List<Link> selectListRel(@Param("param") LinkParam param);
|
||||
|
||||
}
|
||||
37
src/main/java/com/gxwebsoft/apps/mapper/TestDataMapper.java
Normal file
37
src/main/java/com/gxwebsoft/apps/mapper/TestDataMapper.java
Normal file
@@ -0,0 +1,37 @@
|
||||
package com.gxwebsoft.apps.mapper;
|
||||
|
||||
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||
import com.gxwebsoft.apps.entity.TestData;
|
||||
import com.gxwebsoft.apps.param.TestDataParam;
|
||||
import org.apache.ibatis.annotations.Param;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* 测试数据表Mapper
|
||||
*
|
||||
* @author 科技小王子
|
||||
* @since 2023-02-01 12:13:46
|
||||
*/
|
||||
public interface TestDataMapper extends BaseMapper<TestData> {
|
||||
|
||||
/**
|
||||
* 分页查询
|
||||
*
|
||||
* @param page 分页对象
|
||||
* @param param 查询参数
|
||||
* @return List<TestData>
|
||||
*/
|
||||
List<TestData> selectPageRel(@Param("page") IPage<TestData> page,
|
||||
@Param("param") TestDataParam param);
|
||||
|
||||
/**
|
||||
* 查询全部
|
||||
*
|
||||
* @param param 查询参数
|
||||
* @return List<User>
|
||||
*/
|
||||
List<TestData> selectListRel(@Param("param") TestDataParam param);
|
||||
|
||||
}
|
||||
@@ -0,0 +1,44 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
|
||||
<mapper namespace="com.gxwebsoft.apps.mapper.BcAgentMapper">
|
||||
|
||||
<!-- 关联查询sql -->
|
||||
<sql id="selectSql">
|
||||
SELECT a.*,b.nickname,c.nickname as parentName
|
||||
FROM apps_bc_agent a
|
||||
LEFT JOIN sys_user b ON a.user_id = b.user_id
|
||||
LEFT JOIN sys_user c ON a.parent_id = c.user_id
|
||||
<where>
|
||||
<if test="param.agentId != null">
|
||||
AND a.agent_id = #{param.agentId}
|
||||
</if>
|
||||
<if test="param.userId != null">
|
||||
AND a.user_id = #{param.userId}
|
||||
</if>
|
||||
<if test="param.parentId != null">
|
||||
AND a.parent_id = #{param.parentId}
|
||||
</if>
|
||||
<if test="param.status != null">
|
||||
AND a.status = #{param.status}
|
||||
</if>
|
||||
<if test="param.createTimeStart != null">
|
||||
AND a.create_time >= #{param.createTimeStart}
|
||||
</if>
|
||||
<if test="param.createTimeEnd != null">
|
||||
AND a.create_time <= #{param.createTimeEnd}
|
||||
</if>
|
||||
AND b.deleted = 0 AND c.deleted = 0
|
||||
</where>
|
||||
</sql>
|
||||
|
||||
<!-- 分页查询 -->
|
||||
<select id="selectPageRel" resultType="com.gxwebsoft.apps.entity.BcAgent">
|
||||
<include refid="selectSql"></include>
|
||||
</select>
|
||||
|
||||
<!-- 查询全部 -->
|
||||
<select id="selectListRel" resultType="com.gxwebsoft.apps.entity.BcAgent">
|
||||
<include refid="selectSql"></include>
|
||||
</select>
|
||||
|
||||
</mapper>
|
||||
@@ -0,0 +1,53 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
|
||||
<mapper namespace="com.gxwebsoft.apps.mapper.BcCookbookMapper">
|
||||
|
||||
<!-- 关联查询sql -->
|
||||
<sql id="selectSql">
|
||||
SELECT a.*
|
||||
FROM apps_bc_cookbook a
|
||||
<where>
|
||||
<if test="param.cookbookId != null">
|
||||
AND a.cookbook_id = #{param.cookbookId}
|
||||
</if>
|
||||
<if test="param.planId != null">
|
||||
AND a.plan_id = #{param.planId}
|
||||
</if>
|
||||
<if test="param.period != null">
|
||||
AND a.period LIKE CONCAT('%', #{param.period}, '%')
|
||||
</if>
|
||||
<if test="param.status != null">
|
||||
AND a.status = #{param.status}
|
||||
</if>
|
||||
<if test="param.comments != null">
|
||||
AND a.comments LIKE CONCAT('%', #{param.comments}, '%')
|
||||
</if>
|
||||
<if test="param.userId != null">
|
||||
AND a.user_id = #{param.userId}
|
||||
</if>
|
||||
<if test="param.deleted != null">
|
||||
AND a.deleted = #{param.deleted}
|
||||
</if>
|
||||
<if test="param.deleted == null">
|
||||
AND a.deleted = 0
|
||||
</if>
|
||||
<if test="param.createTimeStart != null">
|
||||
AND a.create_time >= #{param.createTimeStart}
|
||||
</if>
|
||||
<if test="param.createTimeEnd != null">
|
||||
AND a.create_time <= #{param.createTimeEnd}
|
||||
</if>
|
||||
</where>
|
||||
</sql>
|
||||
|
||||
<!-- 分页查询 -->
|
||||
<select id="selectPageRel" resultType="com.gxwebsoft.apps.entity.BcCookbook">
|
||||
<include refid="selectSql"></include>
|
||||
</select>
|
||||
|
||||
<!-- 查询全部 -->
|
||||
<select id="selectListRel" resultType="com.gxwebsoft.apps.entity.BcCookbook">
|
||||
<include refid="selectSql"></include>
|
||||
</select>
|
||||
|
||||
</mapper>
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user