更新Note

1. 修复购物车,订单和退单后后置任务正确执行
	2. 修复佣金记录金额和详情
	3. 修复管理端 移动应用界面下订单管理数据统计不准确的问题
	4. 修复短信API升级-后台使用一号通
	5. 修复用户管理相关问题
	6. 修复核销点核销后核销地址不准确
	7. 修复资源同步云服务的问题
新增功能
	1. 秒杀
		a. 秒杀时段配置
		b. 秒杀商品维护
	2. 财务管理
		a. 申请提现
		b. 财务记录
			i. 充值记录
			ii. 资金监控
		c. 佣金记录
	3. 普通商品显示该商品正在参加的活动信息[秒杀]
This commit is contained in:
stivepeim
2020-11-05 16:21:06 +08:00
parent 912cf6403e
commit 6827148d7a
574 changed files with 45105 additions and 4899 deletions

42
crmeb/.gitignore vendored Normal file
View File

@@ -0,0 +1,42 @@
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/
/crmeb_log/log_debug.log
/crmeb_log/log_error.log
/crmeb_log/log_info.log
/crmeb_log/log_warn.log
/crmeb_log/
/.idea/
src/main/java/com/zbkj/.DS_Store
src/main/java/com/.DS_Store
src/main/java/.DS_Store
src/main/.DS_Store
.DS_Store

View File

@@ -1,216 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<module org.jetbrains.idea.maven.project.MavenProjectsManager.isMavenModule="true" type="JAVA_MODULE" version="4">
<component name="FacetManager">
<facet type="Spring" name="Spring">
<configuration />
</facet>
<facet type="web" name="Web">
<configuration>
<webroots />
<sourceRoots>
<root url="file://$MODULE_DIR$/src/main/java" />
<root url="file://$MODULE_DIR$/src/main/resources" />
</sourceRoots>
</configuration>
</facet>
</component>
<component name="NewModuleRootManager" LANGUAGE_LEVEL="JDK_1_8">
<output url="file://$MODULE_DIR$/target/classes" />
<output-test url="file://$MODULE_DIR$/target/test-classes" />
<content url="file://$MODULE_DIR$">
<sourceFolder url="file://$MODULE_DIR$/src/main/java" isTestSource="false" />
<sourceFolder url="file://$MODULE_DIR$/src/main/resources" type="java-resource" />
<sourceFolder url="file://$MODULE_DIR$/src/test/java" isTestSource="true" />
<excludeFolder url="file://$MODULE_DIR$/target" />
</content>
<orderEntry type="inheritedJdk" />
<orderEntry type="sourceFolder" forTests="false" />
<orderEntry type="module-library">
<library>
<CLASSES>
<root url="file://$MODULE_DIR$/lib" />
</CLASSES>
<JAVADOC />
<SOURCES />
<jarDirectory url="file://$MODULE_DIR$/lib" recursive="false" />
</library>
</orderEntry>
<orderEntry type="library" scope="TEST" name="Maven: org.springframework.boot:spring-boot-starter-test:2.2.6.RELEASE" level="project" />
<orderEntry type="library" name="Maven: org.springframework.boot:spring-boot-starter:2.2.6.RELEASE" level="project" />
<orderEntry type="library" name="Maven: org.springframework.boot:spring-boot-starter-logging:2.2.6.RELEASE" level="project" />
<orderEntry type="library" name="Maven: org.apache.logging.log4j:log4j-to-slf4j:2.12.1" level="project" />
<orderEntry type="library" name="Maven: org.apache.logging.log4j:log4j-api:2.12.1" level="project" />
<orderEntry type="library" name="Maven: org.slf4j:jul-to-slf4j:1.7.30" level="project" />
<orderEntry type="library" name="Maven: jakarta.annotation:jakarta.annotation-api:1.3.5" level="project" />
<orderEntry type="library" scope="RUNTIME" name="Maven: org.yaml:snakeyaml:1.25" level="project" />
<orderEntry type="library" scope="TEST" name="Maven: org.springframework.boot:spring-boot-test-autoconfigure:2.2.6.RELEASE" level="project" />
<orderEntry type="library" scope="TEST" name="Maven: com.jayway.jsonpath:json-path:2.4.0" level="project" />
<orderEntry type="library" scope="TEST" name="Maven: net.minidev:json-smart:2.3" level="project" />
<orderEntry type="library" scope="TEST" name="Maven: net.minidev:accessors-smart:1.2" level="project" />
<orderEntry type="library" scope="TEST" name="Maven: org.ow2.asm:asm:5.0.4" level="project" />
<orderEntry type="library" scope="TEST" name="Maven: jakarta.xml.bind:jakarta.xml.bind-api:2.3.3" level="project" />
<orderEntry type="library" scope="TEST" name="Maven: jakarta.activation:jakarta.activation-api:1.2.2" level="project" />
<orderEntry type="library" scope="TEST" name="Maven: org.junit.jupiter:junit-jupiter:5.5.2" level="project" />
<orderEntry type="library" scope="TEST" name="Maven: org.junit.jupiter:junit-jupiter-api:5.5.2" level="project" />
<orderEntry type="library" scope="TEST" name="Maven: org.apiguardian:apiguardian-api:1.1.0" level="project" />
<orderEntry type="library" scope="TEST" name="Maven: org.opentest4j:opentest4j:1.2.0" level="project" />
<orderEntry type="library" scope="TEST" name="Maven: org.junit.platform:junit-platform-commons:1.5.2" level="project" />
<orderEntry type="library" scope="TEST" name="Maven: org.junit.jupiter:junit-jupiter-params:5.5.2" level="project" />
<orderEntry type="library" scope="TEST" name="Maven: org.junit.jupiter:junit-jupiter-engine:5.5.2" level="project" />
<orderEntry type="library" scope="TEST" name="Maven: org.junit.platform:junit-platform-engine:1.5.2" level="project" />
<orderEntry type="library" scope="TEST" name="Maven: org.mockito:mockito-junit-jupiter:3.1.0" level="project" />
<orderEntry type="library" scope="TEST" name="Maven: org.assertj:assertj-core:3.13.2" level="project" />
<orderEntry type="library" scope="TEST" name="Maven: org.hamcrest:hamcrest:2.1" level="project" />
<orderEntry type="library" scope="TEST" name="Maven: org.mockito:mockito-core:3.1.0" level="project" />
<orderEntry type="library" name="Maven: net.bytebuddy:byte-buddy:1.10.8" level="project" />
<orderEntry type="library" scope="TEST" name="Maven: net.bytebuddy:byte-buddy-agent:1.10.8" level="project" />
<orderEntry type="library" scope="TEST" name="Maven: org.objenesis:objenesis:2.6" level="project" />
<orderEntry type="library" scope="TEST" name="Maven: org.skyscreamer:jsonassert:1.5.0" level="project" />
<orderEntry type="library" name="Maven: org.springframework:spring-core:5.2.5.RELEASE" level="project" />
<orderEntry type="library" name="Maven: org.springframework:spring-jcl:5.2.5.RELEASE" level="project" />
<orderEntry type="library" scope="TEST" name="Maven: org.xmlunit:xmlunit-core:2.6.4" level="project" />
<orderEntry type="library" name="Maven: javax.servlet:javax.servlet-api:4.0.1" level="project" />
<orderEntry type="library" name="Maven: javax.servlet:jstl:1.2" level="project" />
<orderEntry type="library" name="Maven: org.apache.tomcat.embed:tomcat-embed-jasper:9.0.33" level="project" />
<orderEntry type="library" name="Maven: org.apache.tomcat.embed:tomcat-embed-core:9.0.33" level="project" />
<orderEntry type="library" name="Maven: org.apache.tomcat:tomcat-annotations-api:9.0.33" level="project" />
<orderEntry type="library" name="Maven: org.apache.tomcat.embed:tomcat-embed-el:9.0.33" level="project" />
<orderEntry type="library" name="Maven: org.eclipse.jdt:ecj:3.18.0" level="project" />
<orderEntry type="library" name="Maven: org.apache.tomcat:tomcat-jsp-api:9.0.33" level="project" />
<orderEntry type="library" name="Maven: org.apache.tomcat:tomcat-el-api:9.0.33" level="project" />
<orderEntry type="library" name="Maven: org.apache.tomcat:tomcat-servlet-api:9.0.33" level="project" />
<orderEntry type="library" name="Maven: com.alibaba:fastjson:1.2.56" level="project" />
<orderEntry type="library" name="Maven: com.alibaba:druid:1.1.20" level="project" />
<orderEntry type="library" name="Maven: mysql:mysql-connector-java:5.1.24" level="project" />
<orderEntry type="library" name="Maven: org.projectlombok:lombok:1.18.12" level="project" />
<orderEntry type="library" name="Maven: com.baomidou:mybatis-plus-boot-starter:3.3.1" level="project" />
<orderEntry type="library" name="Maven: org.springframework.boot:spring-boot-starter-jdbc:2.2.6.RELEASE" level="project" />
<orderEntry type="library" name="Maven: com.zaxxer:HikariCP:3.4.2" level="project" />
<orderEntry type="library" name="Maven: org.springframework:spring-jdbc:5.2.5.RELEASE" level="project" />
<orderEntry type="library" name="Maven: org.springframework.boot:spring-boot-test:2.2.6.RELEASE" level="project" />
<orderEntry type="library" name="Maven: org.springframework.boot:spring-boot:2.2.6.RELEASE" level="project" />
<orderEntry type="library" name="Maven: org.springframework:spring-context:5.2.5.RELEASE" level="project" />
<orderEntry type="library" scope="TEST" name="Maven: junit:junit:4.12" level="project" />
<orderEntry type="library" scope="TEST" name="Maven: org.hamcrest:hamcrest-core:2.1" level="project" />
<orderEntry type="library" name="Maven: org.springframework:spring-test:5.2.5.RELEASE" level="project" />
<orderEntry type="library" name="Maven: com.baomidou:mybatis-plus:3.3.1" level="project" />
<orderEntry type="library" name="Maven: com.baomidou:mybatis-plus-extension:3.3.1" level="project" />
<orderEntry type="library" name="Maven: com.baomidou:mybatis-plus-core:3.3.1" level="project" />
<orderEntry type="library" name="Maven: com.baomidou:mybatis-plus-annotation:3.3.1" level="project" />
<orderEntry type="library" name="Maven: org.mybatis:mybatis:3.5.3" level="project" />
<orderEntry type="library" name="Maven: org.mybatis:mybatis-spring:2.0.3" level="project" />
<orderEntry type="library" name="Maven: com.baomidou:mybatis-plus-generator:3.3.1" level="project" />
<orderEntry type="library" name="Maven: io.swagger:swagger-annotations:1.5.21" level="project" />
<orderEntry type="library" name="Maven: io.swagger:swagger-models:1.5.21" level="project" />
<orderEntry type="library" name="Maven: com.fasterxml.jackson.core:jackson-annotations:2.10.3" level="project" />
<orderEntry type="library" name="Maven: org.slf4j:slf4j-api:1.7.30" level="project" />
<orderEntry type="library" name="Maven: io.springfox:springfox-swagger-ui:2.9.2" level="project" />
<orderEntry type="library" name="Maven: io.springfox:springfox-spring-web:2.9.2" level="project" />
<orderEntry type="library" name="Maven: io.springfox:springfox-swagger2:2.9.2" level="project" />
<orderEntry type="library" name="Maven: io.springfox:springfox-spi:2.9.2" level="project" />
<orderEntry type="library" name="Maven: io.springfox:springfox-core:2.9.2" level="project" />
<orderEntry type="library" name="Maven: io.springfox:springfox-schema:2.9.2" level="project" />
<orderEntry type="library" name="Maven: io.springfox:springfox-swagger-common:2.9.2" level="project" />
<orderEntry type="library" name="Maven: com.google.guava:guava:20.0" level="project" />
<orderEntry type="library" name="Maven: com.fasterxml:classmate:1.5.1" level="project" />
<orderEntry type="library" name="Maven: org.springframework.plugin:spring-plugin-core:1.2.0.RELEASE" level="project" />
<orderEntry type="library" name="Maven: org.springframework.plugin:spring-plugin-metadata:1.2.0.RELEASE" level="project" />
<orderEntry type="library" name="Maven: org.mapstruct:mapstruct:1.2.0.Final" level="project" />
<orderEntry type="library" name="Maven: org.springframework.boot:spring-boot-autoconfigure:2.2.6.RELEASE" level="project" />
<orderEntry type="library" name="Maven: ch.qos.logback:logback-classic:1.2.3" level="project" />
<orderEntry type="library" name="Maven: ch.qos.logback:logback-core:1.2.3" level="project" />
<orderEntry type="library" name="Maven: net.logstash.logback:logstash-logback-encoder:5.3" level="project" />
<orderEntry type="library" name="Maven: com.fasterxml.jackson.core:jackson-databind:2.10.3" level="project" />
<orderEntry type="library" name="Maven: com.fasterxml.jackson.core:jackson-core:2.10.3" level="project" />
<orderEntry type="library" name="Maven: org.springframework.boot:spring-boot-starter-web:2.2.6.RELEASE" level="project" />
<orderEntry type="library" name="Maven: org.springframework.boot:spring-boot-starter-json:2.2.6.RELEASE" level="project" />
<orderEntry type="library" name="Maven: com.fasterxml.jackson.datatype:jackson-datatype-jdk8:2.10.3" level="project" />
<orderEntry type="library" name="Maven: com.fasterxml.jackson.datatype:jackson-datatype-jsr310:2.10.3" level="project" />
<orderEntry type="library" name="Maven: com.fasterxml.jackson.module:jackson-module-parameter-names:2.10.3" level="project" />
<orderEntry type="library" name="Maven: org.springframework.boot:spring-boot-starter-tomcat:2.2.6.RELEASE" level="project" />
<orderEntry type="library" name="Maven: org.apache.tomcat.embed:tomcat-embed-websocket:9.0.33" level="project" />
<orderEntry type="library" name="Maven: org.springframework.boot:spring-boot-starter-validation:2.2.6.RELEASE" level="project" />
<orderEntry type="library" name="Maven: jakarta.validation:jakarta.validation-api:2.0.2" level="project" />
<orderEntry type="library" name="Maven: org.hibernate.validator:hibernate-validator:6.0.18.Final" level="project" />
<orderEntry type="library" name="Maven: org.jboss.logging:jboss-logging:3.4.1.Final" level="project" />
<orderEntry type="library" name="Maven: org.springframework:spring-web:5.2.5.RELEASE" level="project" />
<orderEntry type="library" name="Maven: org.springframework:spring-webmvc:5.2.5.RELEASE" level="project" />
<orderEntry type="library" name="Maven: org.springframework:spring-expression:5.2.5.RELEASE" level="project" />
<orderEntry type="library" name="Maven: org.springframework.boot:spring-boot-starter-data-redis:2.2.0.RELEASE" level="project" />
<orderEntry type="library" name="Maven: org.springframework.data:spring-data-redis:2.2.6.RELEASE" level="project" />
<orderEntry type="library" name="Maven: org.springframework.data:spring-data-keyvalue:2.2.6.RELEASE" level="project" />
<orderEntry type="library" name="Maven: org.springframework:spring-tx:5.2.5.RELEASE" level="project" />
<orderEntry type="library" name="Maven: org.springframework:spring-oxm:5.2.5.RELEASE" level="project" />
<orderEntry type="library" name="Maven: org.springframework:spring-context-support:5.2.5.RELEASE" level="project" />
<orderEntry type="library" name="Maven: io.lettuce:lettuce-core:5.2.2.RELEASE" level="project" />
<orderEntry type="library" name="Maven: io.netty:netty-common:4.1.48.Final" level="project" />
<orderEntry type="library" name="Maven: io.netty:netty-handler:4.1.48.Final" level="project" />
<orderEntry type="library" name="Maven: io.netty:netty-resolver:4.1.48.Final" level="project" />
<orderEntry type="library" name="Maven: io.netty:netty-buffer:4.1.48.Final" level="project" />
<orderEntry type="library" name="Maven: io.netty:netty-codec:4.1.48.Final" level="project" />
<orderEntry type="library" name="Maven: io.netty:netty-transport:4.1.48.Final" level="project" />
<orderEntry type="library" name="Maven: io.projectreactor:reactor-core:3.3.4.RELEASE" level="project" />
<orderEntry type="library" name="Maven: org.reactivestreams:reactive-streams:1.0.3" level="project" />
<orderEntry type="library" name="Maven: redis.clients:jedis:3.1.0" level="project" />
<orderEntry type="library" name="Maven: org.apache.commons:commons-pool2:2.7.0" level="project" />
<orderEntry type="library" name="Maven: com.github.pagehelper:pagehelper-spring-boot-starter:1.2.5" level="project" />
<orderEntry type="library" name="Maven: org.mybatis.spring.boot:mybatis-spring-boot-starter:1.3.2" level="project" />
<orderEntry type="library" name="Maven: org.mybatis.spring.boot:mybatis-spring-boot-autoconfigure:1.3.2" level="project" />
<orderEntry type="library" name="Maven: com.github.pagehelper:pagehelper-spring-boot-autoconfigure:1.2.5" level="project" />
<orderEntry type="library" name="Maven: com.github.pagehelper:pagehelper:5.1.4" level="project" />
<orderEntry type="library" name="Maven: com.github.jsqlparser:jsqlparser:1.0" level="project" />
<orderEntry type="library" name="Maven: javax.validation:validation-api:1.1.0.Final" level="project" />
<orderEntry type="library" name="Maven: org.springframework.data:spring-data-commons:2.2.6.RELEASE" level="project" />
<orderEntry type="library" name="Maven: org.springframework:spring-beans:5.2.5.RELEASE" level="project" />
<orderEntry type="library" name="Maven: cn.hutool:hutool-all:4.5.7" level="project" />
<orderEntry type="library" name="Maven: org.springframework.boot:spring-boot-starter-actuator:2.2.6.RELEASE" level="project" />
<orderEntry type="library" name="Maven: org.springframework.boot:spring-boot-actuator-autoconfigure:2.2.6.RELEASE" level="project" />
<orderEntry type="library" name="Maven: org.springframework.boot:spring-boot-actuator:2.2.6.RELEASE" level="project" />
<orderEntry type="library" name="Maven: io.micrometer:micrometer-core:1.3.6" level="project" />
<orderEntry type="library" name="Maven: org.hdrhistogram:HdrHistogram:2.1.11" level="project" />
<orderEntry type="library" name="Maven: org.latencyutils:LatencyUtils:2.0.3" level="project" />
<orderEntry type="library" name="Maven: org.apache.httpcomponents:httpclient:4.5.6" level="project" />
<orderEntry type="library" name="Maven: org.apache.httpcomponents:httpcore:4.4.13" level="project" />
<orderEntry type="library" name="Maven: commons-codec:commons-codec:1.13" level="project" />
<orderEntry type="library" name="Maven: org.springframework.boot:spring-boot-starter-aop:2.2.6.RELEASE" level="project" />
<orderEntry type="library" name="Maven: org.springframework:spring-aop:5.2.5.RELEASE" level="project" />
<orderEntry type="library" name="Maven: org.aspectj:aspectjweaver:1.9.5" level="project" />
<orderEntry type="library" name="Maven: org.apache.commons:commons-lang3:3.5" level="project" />
<orderEntry type="library" name="Maven: org.apache.poi:poi:3.13" level="project" />
<orderEntry type="library" name="Maven: org.apache.poi:poi-ooxml:3.13" level="project" />
<orderEntry type="library" name="Maven: org.apache.poi:poi-ooxml-schemas:3.13" level="project" />
<orderEntry type="library" name="Maven: org.apache.xmlbeans:xmlbeans:2.6.0" level="project" />
<orderEntry type="library" name="Maven: commons-fileupload:commons-fileupload:1.3.3" level="project" />
<orderEntry type="library" name="Maven: commons-io:commons-io:2.4" level="project" />
<orderEntry type="library" name="Maven: net.coobird:thumbnailator:0.4.8" level="project" />
<orderEntry type="library" name="Maven: com.aliyun.oss:aliyun-sdk-oss:3.5.0" level="project" />
<orderEntry type="library" name="Maven: org.jdom:jdom:1.1" level="project" />
<orderEntry type="library" name="Maven: org.codehaus.jettison:jettison:1.1" level="project" />
<orderEntry type="library" name="Maven: stax:stax-api:1.0.1" level="project" />
<orderEntry type="library" name="Maven: com.aliyun:aliyun-java-sdk-core:3.4.0" level="project" />
<orderEntry type="library" name="Maven: com.aliyun:aliyun-java-sdk-ram:3.0.0" level="project" />
<orderEntry type="library" name="Maven: com.aliyun:aliyun-java-sdk-sts:3.0.0" level="project" />
<orderEntry type="library" name="Maven: com.aliyun:aliyun-java-sdk-ecs:4.2.0" level="project" />
<orderEntry type="library" name="Maven: com.qcloud:cos_api:5.6.22" level="project" />
<orderEntry type="library" name="Maven: joda-time:joda-time:2.10.5" level="project" />
<orderEntry type="library" name="Maven: org.bouncycastle:bcprov-jdk15on:1.64" level="project" />
<orderEntry type="library" name="Maven: com.qiniu:qiniu-java-sdk:7.2.28" level="project" />
<orderEntry type="library" scope="RUNTIME" name="Maven: com.squareup.okhttp3:okhttp:3.14.7" level="project" />
<orderEntry type="library" scope="RUNTIME" name="Maven: com.squareup.okio:okio:1.17.2" level="project" />
<orderEntry type="library" scope="RUNTIME" name="Maven: com.google.code.gson:gson:2.8.6" level="project" />
<orderEntry type="library" name="Maven: dom4j:dom4j:1.6.1" level="project" />
<orderEntry type="library" name="Maven: xml-apis:xml-apis:1.0.b2" level="project" />
<orderEntry type="library" name="Maven: com.thoughtworks.xstream:xstream:1.4.10" level="project" />
<orderEntry type="library" name="Maven: xmlpull:xmlpull:1.1.3.1" level="project" />
<orderEntry type="library" name="Maven: xpp3:xpp3_min:1.1.4c" level="project" />
<orderEntry type="library" name="Maven: org.springframework.boot:spring-boot-devtools:2.2.6.RELEASE" level="project" />
<orderEntry type="library" name="Maven: org.mongodb:mongodb-driver-core:3.8.2" level="project" />
<orderEntry type="library" name="Maven: org.mongodb:bson:3.11.2" level="project" />
<orderEntry type="library" name="Maven: com.vaadin.external.google:android-json:0.0.20131108.vaadin1" level="project" />
<orderEntry type="library" name="Maven: org.apache.httpcomponents:httpmime:4.5.2" level="project" />
<orderEntry type="library" name="Maven: com.google.zxing:core:3.3.3" level="project" />
<orderEntry type="library" name="Maven: com.google.zxing:javase:3.3.3" level="project" />
<orderEntry type="library" name="Maven: com.beust:jcommander:1.72" level="project" />
<orderEntry type="library" scope="RUNTIME" name="Maven: com.github.jai-imageio:jai-imageio-core:1.4.0" level="project" />
</component>
</module>

27241
crmeb/sql/crmeb_java_v1.2.sql Normal file
View File

File diff suppressed because one or more lines are too long

View File

@@ -12,9 +12,17 @@ import java.util.Arrays;
/**
* +----------------------------------------------------------------------
* | CRMEB [ CRMEB赋能开发者助力企业发展 ]
* +----------------------------------------------------------------------
* | Copyright (c) 2016~2020 https://www.crmeb.com All rights reserved.
* +----------------------------------------------------------------------
* | Licensed CRMEB并不是自由软件未经许可不能去掉CRMEB相关版权
* +----------------------------------------------------------------------
* | Author: CRMEB Team <admin@crmeb.com>
* +----------------------------------------------------------------------
* 所有的前端controller层的拦截业务方法的执行时间长度
*/
@Aspect
@Component
public class ControllerAspect {

View File

@@ -14,8 +14,15 @@ import java.util.concurrent.TimeUnit;
/**
* 检测token是否过期
* Created on 2019/11/23
* @author zhangle
* +----------------------------------------------------------------------
* | CRMEB [ CRMEB赋能开发者助力企业发展 ]
* +----------------------------------------------------------------------
* | Copyright (c) 2016~2020 https://www.crmeb.com All rights reserved.
* +----------------------------------------------------------------------
* | Licensed CRMEB并不是自由软件未经许可不能去掉CRMEB相关版权
* +----------------------------------------------------------------------
* | Author: CRMEB Team <admin@crmeb.com>
* +----------------------------------------------------------------------
*/
@Component
public class CheckAdminToken {

View File

@@ -14,9 +14,16 @@ import java.util.Map;
import java.util.concurrent.TimeUnit;
/**
* +----------------------------------------------------------------------
* | CRMEB [ CRMEB赋能开发者助力企业发展 ]
* +----------------------------------------------------------------------
* | Copyright (c) 2016~2020 https://www.crmeb.com All rights reserved.
* +----------------------------------------------------------------------
* | Licensed CRMEB并不是自由软件未经许可不能去掉CRMEB相关版权
* +----------------------------------------------------------------------
* | Author: CRMEB Team <admin@crmeb.com>
* +----------------------------------------------------------------------
* 检测token是否过期
* Created on 2019/11/23
* @author zhangle
*/
@Component
public class CheckFrontToken {

View File

@@ -3,6 +3,18 @@ package com.common;
import com.exception.ExceptionCodeEnum;
import com.exception.ExceptionHandler;
/**
* 公共返回对象
* +----------------------------------------------------------------------
* | CRMEB [ CRMEB赋能开发者助力企业发展 ]
* +----------------------------------------------------------------------
* | Copyright (c) 2016~2020 https://www.crmeb.com All rights reserved.
* +----------------------------------------------------------------------
* | Licensed CRMEB并不是自由软件未经许可不能去掉CRMEB相关版权
* +----------------------------------------------------------------------
* | Author: CRMEB Team <admin@crmeb.com>
* +----------------------------------------------------------------------
*/
public class CommonResult<T> {
private long code;
private String message;

View File

@@ -4,6 +4,18 @@ import com.constants.Constants;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
/**
* 分页公共请求对象
* +----------------------------------------------------------------------
* | CRMEB [ CRMEB赋能开发者助力企业发展 ]
* +----------------------------------------------------------------------
* | Copyright (c) 2016~2020 https://www.crmeb.com All rights reserved.
* +----------------------------------------------------------------------
* | Licensed CRMEB并不是自由软件未经许可不能去掉CRMEB相关版权
* +----------------------------------------------------------------------
* | Author: CRMEB Team <admin@crmeb.com>
* +----------------------------------------------------------------------
*/
@Data
public class PageParamRequest {

View File

@@ -1,11 +1,16 @@
package com.constants;
/**
* @author stivepeim
* @title: Constants
* @projectName crmeb
* @Description: 配置类
* @since 2020/4/1415:46
* 配置类
* +----------------------------------------------------------------------
* | CRMEB [ CRMEB赋能开发者助力企业发展 ]
* +----------------------------------------------------------------------
* | Copyright (c) 2016~2020 https://www.crmeb.com All rights reserved.
* +----------------------------------------------------------------------
* | Licensed CRMEB并不是自由软件未经许可不能去掉CRMEB相关版权
* +----------------------------------------------------------------------
* | Author: CRMEB Team <admin@crmeb.com>
* +----------------------------------------------------------------------
*/
public class Constants {
public static final long TOKEN_EXPRESS_MINUTES = (60 * 1); //1小时
@@ -41,6 +46,8 @@ public class Constants {
public static final String DATE_FORMAT_YEAR_START = "yyyy-01-01 00:00:00";
public static final String DATE_FORMAT_YEAR_END = "yyyy-12-31 23:59:59";
public static final String DATE_FORMAT_HHMMSS = "HH:mm:ss";
public static final String DATE_FORMAT_START_PEREND = "00:00:00";
public static final String DATE_FORMAT_END_PEREND = "23:59:59";
//后台管理员操作资金mark
@@ -120,12 +127,14 @@ public class Constants {
//商品库存变动队列key
public static final String PRODUCT_STOCK_UPDATE = "product_stock_update";
// 商品秒杀库存队列Key
public static final String PRODUCT_SECKILL_STOCK_UPDATE = "product_seckill_stock_update";
//商品库存redis key
public static final String PRODUCT_STOCK_LIST = "product_stock_list";
//sku库存变动队列key
public static final String SKU_STOCK_UPDATE = "product_stock_update";
// public static final String SKU_STOCK_UPDATE = "product_stock_update";
//sku库存redis key
// public static final String SKU_STOCK_LIST = "product_stock_list";
@@ -174,6 +183,8 @@ public class Constants {
//分销
public static final String CONFIG_KEY_STORE_BROKERAGE_LEVEL = "store_brokerage_rate_num"; //返佣比例前缀
public static final String CONFIG_KEY_STORE_BROKERAGE_RATE_ONE = "store_brokerage_ratio"; //一级返佣比例前缀
public static final String CONFIG_KEY_STORE_BROKERAGE_RATE_TWO = "store_brokerage_two"; //二级返佣比例前缀
public static final String CONFIG_KEY_STORE_BROKERAGE_USER_EXTRACT_MIN_PRICE = "user_extract_min_price"; //提现最低金额
public static final String CONFIG_KEY_STORE_BROKERAGE_MODEL = "brokerage_func_status"; //分销模式
public static final String CONFIG_KEY_STORE_BROKERAGE_USER_EXTRACT_BANK = "user_extract_bank"; //提现银行卡
@@ -210,8 +221,13 @@ public class Constants {
// 商品类型 活动类型 0=商品1=秒杀2=砍价3=拼团 attrResult表用到
public static final int PRODUCT_TYPE_NORMAL = 0;
public static final String PRODUCT_TYPE_NORMAL_STR = "默认";
public static final int PRODUCT_TYPE_SECKILL = 1;
public static final String PRODUCT_TYPE_SECKILL_STR = "秒杀";
public static final int PRODUCT_TYPE_BARGIN = 2;
public static final String PRODUCT_TYPE_BARGIN_STR = "砍价";
public static final int PRODUCT_TYPE_PINGTUAN= 3;
public static final String PRODUCT_TYPE_PINGTUAN_STR= "拼团";
public static final int PRODUCT_TYPE_GROUP = 0;
@@ -334,8 +350,9 @@ public class Constants {
public static final int ORDER_STATUS_H5_UNPAID = 0; // 未支付
public static final int ORDER_STATUS_H5_NOT_SHIPPED = 1; // 待发货
public static final int ORDER_STATUS_H5_SPIKE = 2; // 待收货
public static final int ORDER_STATUS_H5_VERF = 3; // 待核销
public static final int ORDER_STATUS_H5_JUDGE = 3; // 待评价
public static final int ORDER_STATUS_H5_COMPLETE = 4; // 已完成
public static final int ORDER_STATUS_H5_VERIFICATION = 5; // 待核销
public static final int ORDER_STATUS_H5_REFUNDING = -1; // 退款中
public static final int ORDER_STATUS_H5_REFUNDED = -2; // 已退款
public static final int ORDER_STATUS_H5_REFUND = -3; // 退款
@@ -400,6 +417,7 @@ public class Constants {
// 订单缓存
public static final long ORDER_CASH_CONFIRM = (60);
public static final String ORDER_CACHE_PER = "ORDER_CACHE"; // redis缓存订单前缀
//订单操作类型 -> 消息
public static final String ORDER_LOG_MESSAGE_REFUND_PRICE = "退款给用户{amount}元"; //退款

View File

@@ -1,10 +1,17 @@
package com.constants;
/**
* @author Mr.zhang
* @Description 正则表达式类
* @since 2020-05-11
**/
* 正则表达式类
* +----------------------------------------------------------------------
* | CRMEB [ CRMEB赋能开发者助力企业发展 ]
* +----------------------------------------------------------------------
* | Copyright (c) 2016~2020 https://www.crmeb.com All rights reserved.
* +----------------------------------------------------------------------
* | Licensed CRMEB并不是自由软件未经许可不能去掉CRMEB相关版权
* +----------------------------------------------------------------------
* | Author: CRMEB Team <admin@crmeb.com>
* +----------------------------------------------------------------------
*/
public class RegularConstants {
//数字
public static final String NUMBER = "^-?[0-9]+";

View File

@@ -1,38 +1,57 @@
package com.constants;
/**
* @author Mr.zhang
* @Description 短信配置
* @since 2020-04-17
**/
* 短信配置常量类
* +----------------------------------------------------------------------
* | CRMEB [ CRMEB赋能开发者助力企业发展 ]
* +----------------------------------------------------------------------
* | Copyright (c) 2016~2020 https://www.crmeb.com All rights reserved.
* +----------------------------------------------------------------------
* | Licensed CRMEB并不是自由软件未经许可不能去掉CRMEB相关版权
* +----------------------------------------------------------------------
* | Author: CRMEB Team <admin@crmeb.com>
* +----------------------------------------------------------------------
*/
public class SmsConstants {
//------------------------------------------------短信配置------------------------------------------------
//短信请求地址
public static final String SMS_API_URL = "https://sms.crmeb.net/api/";
// public static final String SMS_API_URL = "https://sms.crmeb.net/api/";
public static final String SMS_API_URL = "http://plat.crmeb.net/api/";
//短信支付回调地址
public static final String SMS_API_PAY_NOTIFY_URI = "/api/sms/pay/notify";
//验证码接口
public static final String SMS_API_CAPTCHA_URI = "sms/captcha";
// public static final String SMS_API_CAPTCHA_URI = "sms/captcha";
public static final String SMS_API_CAPTCHA_URI = "user/code";
//账号注册地址
public static final String SMS_API_REGISTER_URI = "sms/register";
// public static final String SMS_API_REGISTER_URI = "sms/register";
public static final String SMS_API_REGISTER_URI = "user/register";
//公共短信模板列表
public static final String SMS_API_PUBLIC_TEMP_URI = "sms/publictemp";
//公共短信模板添加
public static final String SMS_API_PUBLIC_TEMP_USE_URI = "sms/use";
//获取账号信息
public static final String SMS_API_USER_INFO_URI = "sms/userinfo";
// public static final String SMS_API_USER_INFO_URI = "sms/userinfo";
public static final String SMS_API_USER_INFO_URI = "sms_v2/info";
//支付套餐
public static final String SMS_API_PAY_TEMP_LIST_URI = "sms/meal";
// public static final String SMS_API_PAY_TEMP_LIST_URI = "sms/meal";
public static final String SMS_API_PAY_TEMP_LIST_URI = "meal/list";
//支付二维码
public static final String SMS_API_PAY_QR_CODE_URI = "sms/mealpay";
//支付二维码
public static final String SMS_API_APPLY_TEMP_MESSAGE_URI = "sms/apply";
// public static final String SMS_API_APPLY_TEMP_MESSAGE_URI = "sms/apply";
public static final String SMS_API_APPLY_TEMP_MESSAGE_URI = "sms_v2/apply";
//短信模板列表
public static final String SMS_API_TEMP_LIST_URI = "sms/template";
// public static final String SMS_API_TEMP_LIST_URI = "sms/template";
public static final String SMS_API_TEMP_LIST_URI = "sms_v2/temps";
// 发送短信
public static final String SMS_API_SEND_URI = "sms/send";
// public static final String SMS_API_SEND_URI = "sms/send";
public static final String SMS_API_SEND_URI = "sms_v2/send";
// 获取发送状态
public static final String SMS_API_SEND_STATUS = "sms/status";
// 用户登录地址
public static final String SMS_API_USER_LOGIN = "user/login";
// 短信用户开通服务
public static final String SMS_API_USER_OPEN = "sms_v2/open";
//接口异常错误码
public static final Integer SMS_ERROR_CODE = 400;
@@ -50,7 +69,8 @@ public class SmsConstants {
public static final Integer SMS_CONFIG_LOWER_ORDER_SWITCH_TEMP_ID = 520268;// 对应的模版id
public static final String SMS_CONFIG_DELIVER_GOODS_SWITCH = "deliverGoodsSwitch";// 发货短信提醒
public static final Integer SMS_CONFIG_DELIVER_GOODS_SWITCH_TEMP_ID = 520269;
// public static final Integer SMS_CONFIG_DELIVER_GOODS_SWITCH_TEMP_ID = 520269;
public static final Integer SMS_CONFIG_DELIVER_GOODS_SWITCH_TEMP_ID = 441596;
public static final String SMS_CONFIG_CONFIRM_TAKE_OVER_SWITCH = "confirmTakeOverSwitch";// 确认收货短信提醒
public static final Integer SMS_CONFIG_CONFIRM_TAKE_OVER_SWITCH_TEMP_ID = 520271;
@@ -68,7 +88,8 @@ public class SmsConstants {
public static final Integer SMS_CONFIG_ADMIN_CONFIRM_TAKE_OVER_SWITCH_TEMP_ID = 520274;
public static final String SMS_CONFIG_PRICE_REVISION_SWITCH = "priceRevisionSwitch";// 改价短信提醒
public static final Integer SMS_CONFIG_PRICE_REVISION_SWITCH_TEMP_ID = 528288;
// public static final Integer SMS_CONFIG_PRICE_REVISION_SWITCH_TEMP_ID = 528288;
public static final Integer SMS_CONFIG_PRICE_REVISION_SWITCH_TEMP_ID = 440410;
public static final String SMS_CONFIG_ORDER_PAY_FALSE = "orderPayFalse";// 订单未支付
public static final Integer SMS_CONFIG_ORDER_PAY_FALSE_TEMP_ID = 528116;
@@ -92,4 +113,11 @@ public class SmsConstants {
public static final int SMS_CONFIG_TYPE_ADMIN_CONFIRM_TAKE_OVER_SWITCH = 8;// 用户发起退款管理员短信提醒
public static final int SMS_CONFIG_TYPE_PRICE_REVISION_SWITCH = 9;// 改价短信提醒
public static final int SMS_CONFIG_TYPE_ORDER_PAY_FALSE = 10;// 订单未支付
// 用户token的redis前缀 拼接secret
public static final String SMS_USER_TOKEN_REDIS_PREFIX = "sms_user_token_{}";
// 发送短信参数模板
public static final String SMS_COMMON_PARAM_FORMAT = "param[{}]";
// 用户token前缀
public static final String SMS_USER_TOKEN_PREFIX = "Bearer-";
}

View File

@@ -1,11 +1,15 @@
package com.constants;
/**
* @author stivepeim
* @title: Constants
* @projectName crmeb
* @Description: 微信配置
* @since 2020/4/1415:46
/** 微信配置
* +----------------------------------------------------------------------
* | CRMEB [ CRMEB赋能开发者助力企业发展 ]
* +----------------------------------------------------------------------
* | Copyright (c) 2016~2020 https://www.crmeb.com All rights reserved.
* +----------------------------------------------------------------------
* | Licensed CRMEB并不是自由软件未经许可不能去掉CRMEB相关版权
* +----------------------------------------------------------------------
* | Author: CRMEB Team <admin@crmeb.com>
* +----------------------------------------------------------------------
*/
public class WeChatConstants {
//------------------------------------------------公众号------------------------------------------------

View File

@@ -1,5 +1,17 @@
package com.exception;
/**
* Api异常类
* +----------------------------------------------------------------------
* | CRMEB [ CRMEB赋能开发者助力企业发展 ]
* +----------------------------------------------------------------------
* | Copyright (c) 2016~2020 https://www.crmeb.com All rights reserved.
* +----------------------------------------------------------------------
* | Licensed CRMEB并不是自由软件未经许可不能去掉CRMEB相关版权
* +----------------------------------------------------------------------
* | Author: CRMEB Team <admin@crmeb.com>
* +----------------------------------------------------------------------
*/
public class ApiException extends RuntimeException{
private ExceptionHandler exceptionHandler;

View File

@@ -12,6 +12,18 @@ import org.springframework.web.bind.annotation.RestControllerAdvice;
import java.util.Objects;
/**
* Crmeb异常类
* +----------------------------------------------------------------------
* | CRMEB [ CRMEB赋能开发者助力企业发展 ]
* +----------------------------------------------------------------------
* | Copyright (c) 2016~2020 https://www.crmeb.com All rights reserved.
* +----------------------------------------------------------------------
* | Licensed CRMEB并不是自由软件未经许可不能去掉CRMEB相关版权
* +----------------------------------------------------------------------
* | Author: CRMEB Team <admin@crmeb.com>
* +----------------------------------------------------------------------
*/
@Slf4j
@RestControllerAdvice
public class CrmebException extends RuntimeException {

View File

@@ -1,5 +1,17 @@
package com.exception;
/**
* Exception 拦截
* +----------------------------------------------------------------------
* | CRMEB [ CRMEB赋能开发者助力企业发展 ]
* +----------------------------------------------------------------------
* | Copyright (c) 2016~2020 https://www.crmeb.com All rights reserved.
* +----------------------------------------------------------------------
* | Licensed CRMEB并不是自由软件未经许可不能去掉CRMEB相关版权
* +----------------------------------------------------------------------
* | Author: CRMEB Team <admin@crmeb.com>
* +----------------------------------------------------------------------
*/
public enum ExceptionCodeEnum implements ExceptionHandler{
// 数据操作错误定义
SUCCESS(200, "操作成功"),

View File

@@ -1,5 +1,17 @@
package com.exception;
/**
* Exception 接口定义
* +----------------------------------------------------------------------
* | CRMEB [ CRMEB赋能开发者助力企业发展 ]
* +----------------------------------------------------------------------
* | Copyright (c) 2016~2020 https://www.crmeb.com All rights reserved.
* +----------------------------------------------------------------------
* | Licensed CRMEB并不是自由软件未经许可不能去掉CRMEB相关版权
* +----------------------------------------------------------------------
* | Author: CRMEB Team <admin@crmeb.com>
* +----------------------------------------------------------------------
*/
public interface ExceptionHandler {
long getCode();

View File

@@ -2,8 +2,6 @@ package com.exception;
import com.common.CommonResult;
import lombok.extern.slf4j.Slf4j;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.http.HttpStatus;
import org.springframework.validation.BindException;
import org.springframework.validation.BindingResult;
@@ -15,9 +13,20 @@ import org.springframework.web.bind.annotation.ResponseBody;
import org.springframework.web.bind.annotation.ResponseStatus;
import org.springframework.web.bind.annotation.RestControllerAdvice;
import javax.servlet.http.HttpServletRequest;
import java.util.Objects;
/**
* 全局参数、异常拦截
* +----------------------------------------------------------------------
* | CRMEB [ CRMEB赋能开发者助力企业发展 ]
* +----------------------------------------------------------------------
* | Copyright (c) 2016~2020 https://www.crmeb.com All rights reserved.
* +----------------------------------------------------------------------
* | Licensed CRMEB并不是自由软件未经许可不能去掉CRMEB相关版权
* +----------------------------------------------------------------------
* | Author: CRMEB Team <admin@crmeb.com>
* +----------------------------------------------------------------------
*/
@Slf4j
@RestControllerAdvice
public class GlobalExceptionHandler {

View File

@@ -1,33 +1,26 @@
package com.filter;
import com.constants.Constants;
import com.utils.CrmebUtil;
import com.utils.RequestUtil;
import com.zbkj.crmeb.system.service.SystemAttachmentService;
import com.zbkj.crmeb.system.service.SystemConfigService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.web.servlet.FilterRegistrationBean;
import org.springframework.context.annotation.Bean;
import org.springframework.stereotype.Component;
import java.io.IOException;
import java.nio.charset.StandardCharsets;
import java.util.ArrayList;
import java.util.List;
import javax.servlet.Filter;
import javax.servlet.FilterChain;
import javax.servlet.FilterConfig;
import javax.servlet.ServletException;
import javax.servlet.ServletOutputStream;
import javax.servlet.ServletRequest;
import javax.servlet.ServletResponse;
import javax.servlet.*;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.nio.charset.StandardCharsets;
/**
* +----------------------------------------------------------------------
* | CRMEB [ CRMEB赋能开发者助力企业发展 ]
* +----------------------------------------------------------------------
* | Copyright (c) 2016~2020 https://www.crmeb.com All rights reserved.
* +----------------------------------------------------------------------
* | Licensed CRMEB并不是自由软件未经许可不能去掉CRMEB相关版权
* +----------------------------------------------------------------------
* | Author: CRMEB Team <admin@crmeb.com>
* +----------------------------------------------------------------------
* 返回值输出过滤器
*/
@Component
@@ -61,4 +54,4 @@ public class ResponseFilter implements Filter {
}
}
}
}
}

View File

@@ -3,6 +3,18 @@ package com.filter;
import com.utils.SpringUtil;
import com.zbkj.crmeb.system.service.SystemAttachmentService;
/**
* response路径处理
* +----------------------------------------------------------------------
* | CRMEB [ CRMEB赋能开发者助力企业发展 ]
* +----------------------------------------------------------------------
* | Copyright (c) 2016~2020 https://www.crmeb.com All rights reserved.
* +----------------------------------------------------------------------
* | Licensed CRMEB并不是自由软件未经许可不能去掉CRMEB相关版权
* +----------------------------------------------------------------------
* | Author: CRMEB Team <admin@crmeb.com>
* +----------------------------------------------------------------------
*/
public class ResponseRouter {
public String filter(String data, String path){

View File

@@ -9,7 +9,18 @@ import javax.servlet.WriteListener;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpServletResponseWrapper;
/**
* Response包装类
* +----------------------------------------------------------------------
* | CRMEB [ CRMEB赋能开发者助力企业发展 ]
* +----------------------------------------------------------------------
* | Copyright (c) 2016~2020 https://www.crmeb.com All rights reserved.
* +----------------------------------------------------------------------
* | Licensed CRMEB并不是自由软件未经许可不能去掉CRMEB相关版权
* +----------------------------------------------------------------------
* | Author: CRMEB Team <admin@crmeb.com>
* +----------------------------------------------------------------------
*/
public class ResponseWrapper extends HttpServletResponseWrapper {
private ByteArrayOutputStream buffer;

View File

@@ -2,6 +2,18 @@ package com.im;
import lombok.Data;
/**
* 消息Vo对象
* +----------------------------------------------------------------------
* | CRMEB [ CRMEB赋能开发者助力企业发展 ]
* +----------------------------------------------------------------------
* | Copyright (c) 2016~2020 https://www.crmeb.com All rights reserved.
* +----------------------------------------------------------------------
* | Licensed CRMEB并不是自由软件未经许可不能去掉CRMEB相关版权
* +----------------------------------------------------------------------
* | Author: CRMEB Team <admin@crmeb.com>
* +----------------------------------------------------------------------
*/
@Data
public class MessageVo {
public MessageVo(Integer fromId, Integer toId, String message) {

View File

@@ -1,7 +1,6 @@
package com.im;
import com.alibaba.fastjson.JSONObject;
import com.utils.DateUtil;
import lombok.SneakyThrows;
import java.io.IOException;
@@ -15,7 +14,16 @@ import java.util.logging.Level;
import java.util.logging.Logger;
/**
* SocketClient 客户端
* SocketClient 客户端
* +----------------------------------------------------------------------
* | CRMEB [ CRMEB赋能开发者助力企业发展 ]
* +----------------------------------------------------------------------
* | Copyright (c) 2016~2020 https://www.crmeb.com All rights reserved.
* +----------------------------------------------------------------------
* | Licensed CRMEB并不是自由软件未经许可不能去掉CRMEB相关版权
* +----------------------------------------------------------------------
* | Author: CRMEB Team <admin@crmeb.com>
* +----------------------------------------------------------------------
*/
public class SocketClient {
public static final int port = SocketServer.port;

View File

@@ -1,8 +1,6 @@
package com.im;
import com.alibaba.fastjson.JSONObject;
import lombok.Data;
import lombok.EqualsAndHashCode;
import java.io.IOException;
import java.io.InputStream;
@@ -14,7 +12,18 @@ import java.util.Scanner;
import java.util.logging.Level;
import java.util.logging.Logger;
/**
* socket客户端1
* +----------------------------------------------------------------------
* | CRMEB [ CRMEB赋能开发者助力企业发展 ]
* +----------------------------------------------------------------------
* | Copyright (c) 2016~2020 https://www.crmeb.com All rights reserved.
* +----------------------------------------------------------------------
* | Licensed CRMEB并不是自由软件未经许可不能去掉CRMEB相关版权
* +----------------------------------------------------------------------
* | Author: CRMEB Team <admin@crmeb.com>
* +----------------------------------------------------------------------
*/
public class SocketClient1 {
public static final int port = SocketServer.port;
public static final String address = SocketServer.address;

View File

@@ -11,7 +11,18 @@ import java.util.Scanner;
import java.util.logging.Level;
import java.util.logging.Logger;
/**
* Socket客户端2
* +----------------------------------------------------------------------
* | CRMEB [ CRMEB赋能开发者助力企业发展 ]
* +----------------------------------------------------------------------
* | Copyright (c) 2016~2020 https://www.crmeb.com All rights reserved.
* +----------------------------------------------------------------------
* | Licensed CRMEB并不是自由软件未经许可不能去掉CRMEB相关版权
* +----------------------------------------------------------------------
* | Author: CRMEB Team <admin@crmeb.com>
* +----------------------------------------------------------------------
*/
public class SocketClient2 {
public static final int port = SocketServer.port;
public static final String address = SocketServer.address;

View File

@@ -13,7 +13,16 @@ import java.util.logging.Level;
import java.util.logging.Logger;
/**
* SocketServer 服务端
* Socket服务端
* +----------------------------------------------------------------------
* | CRMEB [ CRMEB赋能开发者助力企业发展 ]
* +----------------------------------------------------------------------
* | Copyright (c) 2016~2020 https://www.crmeb.com All rights reserved.
* +----------------------------------------------------------------------
* | Licensed CRMEB并不是自由软件未经许可不能去掉CRMEB相关版权
* +----------------------------------------------------------------------
* | Author: CRMEB Team <admin@crmeb.com>
* +----------------------------------------------------------------------
*/
public class SocketServer {
//用于保存客户端Socket

View File

@@ -11,8 +11,19 @@ import org.springframework.web.servlet.ModelAndView;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
//token验证拦截器
/**
* token验证拦截器
* +----------------------------------------------------------------------
* | CRMEB [ CRMEB赋能开发者助力企业发展 ]
* +----------------------------------------------------------------------
* | Copyright (c) 2016~2020 https://www.crmeb.com All rights reserved.
* +----------------------------------------------------------------------
* | Licensed CRMEB并不是自由软件未经许可不能去掉CRMEB相关版权
* +----------------------------------------------------------------------
* | Author: CRMEB Team <admin@crmeb.com>
* +----------------------------------------------------------------------
*/
public class AdminAuthInterceptor implements HandlerInterceptor {
@Autowired
private SystemRoleService systemRoleService;

View File

@@ -10,7 +10,19 @@ import org.springframework.web.servlet.ModelAndView;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
//token验证拦截器 使用前注意需要一个@Bean手动注解否则注入无效
/**
* PC管理端 token验证拦截器 使用前注意需要一个@Bean手动注解否则注入无效
* +----------------------------------------------------------------------
* | CRMEB [ CRMEB赋能开发者助力企业发展 ]
* +----------------------------------------------------------------------
* | Copyright (c) 2016~2020 https://www.crmeb.com All rights reserved.
* +----------------------------------------------------------------------
* | Licensed CRMEB并不是自由软件未经许可不能去掉CRMEB相关版权
* +----------------------------------------------------------------------
* | Author: CRMEB Team <admin@crmeb.com>
* +----------------------------------------------------------------------
*/
public class AdminTokenInterceptor implements HandlerInterceptor {
@Autowired

View File

@@ -11,8 +11,18 @@ import org.springframework.web.servlet.ModelAndView;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
//token验证拦截器
/**
* 移动端管理端 token验证拦截器 使用前注意需要一个@Bean手动注解否则注入无效
* +----------------------------------------------------------------------
* | CRMEB [ CRMEB赋能开发者助力企业发展 ]
* +----------------------------------------------------------------------
* | Copyright (c) 2016~2020 https://www.crmeb.com All rights reserved.
* +----------------------------------------------------------------------
* | Licensed CRMEB并不是自由软件未经许可不能去掉CRMEB相关版权
* +----------------------------------------------------------------------
* | Author: CRMEB Team <admin@crmeb.com>
* +----------------------------------------------------------------------
*/
public class FrontTokenInterceptor implements HandlerInterceptor {
@Autowired
private CheckFrontToken checkFrontToken;

View File

@@ -13,6 +13,18 @@ import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.io.PrintWriter;
/**
* Swagger 文档
* +----------------------------------------------------------------------
* | CRMEB [ CRMEB赋能开发者助力企业发展 ]
* +----------------------------------------------------------------------
* | Copyright (c) 2016~2020 https://www.crmeb.com All rights reserved.
* +----------------------------------------------------------------------
* | Licensed CRMEB并不是自由软件未经许可不能去掉CRMEB相关版权
* +----------------------------------------------------------------------
* | Author: CRMEB Team <admin@crmeb.com>
* +----------------------------------------------------------------------
*/
public class SwaggerInterceptor extends HandlerInterceptorAdapter {
private String username;
private String password;

View File

@@ -0,0 +1,49 @@
package com.utils;
import java.util.ArrayList;
import java.util.HashSet;
import java.util.List;
import java.util.Set;
/**
* ArrayUtil
* +----------------------------------------------------------------------
* | CRMEB [ CRMEB赋能开发者助力企业发展 ]
* +----------------------------------------------------------------------
* | Copyright (c) 2016~2020 https://www.crmeb.com All rights reserved.
* +----------------------------------------------------------------------
* | Licensed CRMEB并不是自由软件未经许可不能去掉CRMEB相关版权
* +----------------------------------------------------------------------
* | Author: CRMEB Team <admin@crmeb.com>
* +----------------------------------------------------------------------
*/
public class ArrayUtil {
/**
* List去重不打乱原来顺序泛型list对象
* 对象重写hashCode和equals
* @param <T>
* @param list
* @return
*/
public static <T> List<T> distinctBySetOrder(List<T> list){
Set<T> set = new HashSet<T>();
List<T> newList = new ArrayList<T>();
for(T t: list){
if(set.add(t)){
newList.add(t);
}
}
return newList;
}
/**
* List去重可能打乱原来顺序泛型list对象
* 对象重写hashCode和equals
* @param list
* @return
*/
public static <T> List<T> distinctBySet(List<T> list){
return new ArrayList<T>(new HashSet<T>(list));
}
}

View File

@@ -15,17 +15,22 @@ import java.math.BigDecimal;
import java.nio.charset.StandardCharsets;
import java.security.Key;
import java.security.Security;
import java.text.NumberFormat;
import java.util.*;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
/**
* @author stivepeim
* @title: CrmebUtil
* @projectName crmeb
* @Description: 工具类
* @since 2020/4/1414:37
* Crmeb工具类
* +----------------------------------------------------------------------
* | CRMEB [ CRMEB赋能开发者助力企业发展 ]
* +----------------------------------------------------------------------
* | Copyright (c) 2016~2020 https://www.crmeb.com All rights reserved.
* +----------------------------------------------------------------------
* | Licensed CRMEB并不是自由软件未经许可不能去掉CRMEB相关版权
* +----------------------------------------------------------------------
* | Author: CRMEB Team <admin@crmeb.com>
* +----------------------------------------------------------------------
*/
public class CrmebUtil {
@@ -201,7 +206,7 @@ public class CrmebUtil {
List<String> strings = stringToArrayStrRegex(str, ",");
List<Integer> ids = new ArrayList<>();
for (String string : strings) {
ids.add(Integer.parseInt(string));
ids.add(Integer.parseInt(string.trim()));
}
return ids;
}
@@ -762,4 +767,36 @@ public class CrmebUtil {
return list;
}
/**
* 百分比计算
* @param detailTotalNumber 销售量
* @param totalNumber 限量库存
* @return 百分比
*/
public static String percentInstance(Integer detailTotalNumber, Integer totalNumber) {
Double bfTotalNumber = Double.valueOf(detailTotalNumber);
Double zcTotalNumber = Double.valueOf(totalNumber);
double percent = bfTotalNumber/zcTotalNumber;
//获取格式化对象
NumberFormat nt = NumberFormat.getPercentInstance();
//设置百分数精确度2即保留两位小数
nt.setMinimumFractionDigits(2);
return nt.format(percent);
}
/**
* 百分比计算
* @param detailTotalNumber 销售量
* @param totalNumber 限量库存
* @return 百分比
*/
public static int percentInstanceIntVal(Integer detailTotalNumber, Integer totalNumber) {
Double bfTotalNumber = Double.valueOf(detailTotalNumber);
Double zcTotalNumber = Double.valueOf(totalNumber);
double percent = bfTotalNumber/zcTotalNumber;
double pec = percent * 100;
return (int)pec;
}
}

View File

@@ -14,10 +14,17 @@ import java.util.Calendar;
import java.util.Date;
import java.util.List;
/** excel操作类
* @author Mr.zhang
* @Description 日期时间类
* @since 2020-04-17
/**
* Date工具类
* +----------------------------------------------------------------------
* | CRMEB [ CRMEB赋能开发者助力企业发展 ]
* +----------------------------------------------------------------------
* | Copyright (c) 2016~2020 https://www.crmeb.com All rights reserved.
* +----------------------------------------------------------------------
* | Licensed CRMEB并不是自由软件未经许可不能去掉CRMEB相关版权
* +----------------------------------------------------------------------
* | Author: CRMEB Team <admin@crmeb.com>
* +----------------------------------------------------------------------
**/
public final class DateUtil {
@@ -298,7 +305,12 @@ public final class DateUtil {
}
}
/**
* 计算两个时间之间的天数差
* @param beforeDay 开始时间
* @param afterDay 结束时间
* @return 相差天数
*/
public static long getTwoDateDays(Date beforeDay, Date afterDay) {
SimpleDateFormat sm = new SimpleDateFormat(Constants.DATE_FORMAT_NUM);
long days = -1;
@@ -484,6 +496,11 @@ public final class DateUtil {
}
startTime = list.get(0);
endTime = list.get(1);
if (startTime.equals(endTime)) {
startTime = DateUtil.appointedDayStrToFormatStr(startTime, Constants.DATE_FORMAT_DATE, Constants.DATE_FORMAT_START);
endTime = DateUtil.appointedDayStrToFormatStr(endTime, Constants.DATE_FORMAT_DATE, Constants.DATE_FORMAT_END);
}
break;
}
}
@@ -542,4 +559,26 @@ public final class DateUtil {
return Integer.parseInt(String.valueOf(between_days));
}
/**
* 获取指定日期指定格式字符串
*
* @param dateStr
* @param DATE_FORMAT
* @return
* @throws ParseException
*/
public static String appointedDayStrToFormatStr(String dateStr, String STR_DATE_FORMAT, String DATE_FORMAT) {
Date date = DateUtil.strToDate(dateStr, STR_DATE_FORMAT);
return DateUtil.dateToStr(date, DATE_FORMAT);
}
/**
* 获取当前时间小时
* @return 当前时间小时 默认24小时
*/
public static int getCurrentHour(){
int hour = Calendar.getInstance().get(Calendar.HOUR_OF_DAY);
return hour;
}
}

View File

@@ -31,8 +31,15 @@ import java.util.stream.Collectors;
import java.util.stream.Stream;
/** excel操作类
* @author Mr.zhang
* @since 2020-04-17
* +----------------------------------------------------------------------
* | CRMEB [ CRMEB赋能开发者助力企业发展 ]
* +----------------------------------------------------------------------
* | Copyright (c) 2016~2020 https://www.crmeb.com All rights reserved.
* +----------------------------------------------------------------------
* | Licensed CRMEB并不是自由软件未经许可不能去掉CRMEB相关版权
* +----------------------------------------------------------------------
* | Author: CRMEB Team <admin@crmeb.com>
* +----------------------------------------------------------------------
**/
public class ExcelUtil {
private final static Logger log = LoggerFactory.getLogger(ExcelUtil.class);
@@ -351,4 +358,4 @@ public class ExcelUtil {
e.printStackTrace();
}
}
}
}

View File

@@ -15,6 +15,18 @@ import java.net.URL;
import java.net.URLConnection;
import java.util.List;
/**
* +----------------------------------------------------------------------
* | CRMEB [ CRMEB赋能开发者助力企业发展 ]
* +----------------------------------------------------------------------
* | Copyright (c) 2016~2020 https://www.crmeb.com All rights reserved.
* +----------------------------------------------------------------------
* | Licensed CRMEB并不是自由软件未经许可不能去掉CRMEB相关版权
* +----------------------------------------------------------------------
* | Author: CRMEB Team <admin@crmeb.com>
* +----------------------------------------------------------------------
* 图片工具类
*/
@Data
@Component
public class ImageMergeUtil {
@@ -137,4 +149,4 @@ public class ImageMergeUtil {
return null;
}
}
}

View File

@@ -7,8 +7,16 @@ import net.sourceforge.pinyin4j.format.HanyuPinyinToneType;
import net.sourceforge.pinyin4j.format.exception.BadHanyuPinyinOutputFormatCombination;
/**
* 汉字转换为拼音
* @author Red
* 汉字拼音转换类
* +----------------------------------------------------------------------
* | CRMEB [ CRMEB赋能开发者助力企业发展 ]
* +----------------------------------------------------------------------
* | Copyright (c) 2016~2020 https://www.crmeb.com All rights reserved.
* +----------------------------------------------------------------------
* | Licensed CRMEB并不是自由软件未经许可不能去掉CRMEB相关版权
* +----------------------------------------------------------------------
* | Author: CRMEB Team <admin@crmeb.com>
* +----------------------------------------------------------------------
*/
public class PinYinUtil {
/**

View File

@@ -18,9 +18,16 @@ import java.io.IOException;
import java.util.HashMap;
/**
* @description:
* @author: Administrator
* @date: 2019-03-18 10:40
* +----------------------------------------------------------------------
* | CRMEB [ CRMEB赋能开发者助力企业发展 ]
* +----------------------------------------------------------------------
* | Copyright (c) 2016~2020 https://www.crmeb.com All rights reserved.
* +----------------------------------------------------------------------
* | Licensed CRMEB并不是自由软件未经许可不能去掉CRMEB相关版权
* +----------------------------------------------------------------------
* | Author: CRMEB Team <admin@crmeb.com>
* +----------------------------------------------------------------------
* 二维码工具
*/
@Component
public class QRCodeUtil {
@@ -59,4 +66,4 @@ public class QRCodeUtil {
}
return null;
}
}
}

View File

@@ -10,9 +10,16 @@ import java.util.Set;
import java.util.concurrent.TimeUnit;
/**
* +----------------------------------------------------------------------
* | CRMEB [ CRMEB赋能开发者助力企业发展 ]
* +----------------------------------------------------------------------
* | Copyright (c) 2016~2020 https://www.crmeb.com All rights reserved.
* +----------------------------------------------------------------------
* | Licensed CRMEB并不是自由软件未经许可不能去掉CRMEB相关版权
* +----------------------------------------------------------------------
* | Author: CRMEB Team <admin@crmeb.com>
* +----------------------------------------------------------------------
* redis工具类
* @author Mr.Zhang
* @since 2020-04-13
*/
@Component

View File

@@ -11,6 +11,18 @@ import java.util.HashMap;
import java.util.List;
import java.util.Objects;
/**
* Request工具类
* +----------------------------------------------------------------------
* | CRMEB [ CRMEB赋能开发者助力企业发展 ]
* +----------------------------------------------------------------------
* | Copyright (c) 2016~2020 https://www.crmeb.com All rights reserved.
* +----------------------------------------------------------------------
* | Licensed CRMEB并不是自由软件未经许可不能去掉CRMEB相关版权
* +----------------------------------------------------------------------
* | Author: CRMEB Team <admin@crmeb.com>
* +----------------------------------------------------------------------
*/
public class RequestUtil extends HttpServlet{
public static HttpServletRequest getRequest() {
if(RequestContextHolder.getRequestAttributes() != null){

View File

@@ -1,5 +1,6 @@
package com.utils;
import cn.hutool.core.collection.CollUtil;
import com.alibaba.fastjson.JSONObject;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.http.*;
@@ -10,14 +11,22 @@ import org.springframework.web.client.RestTemplate;
import java.nio.charset.StandardCharsets;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.Objects;
/**
* +----------------------------------------------------------------------
* | CRMEB [ CRMEB赋能开发者助力企业发展 ]
* +----------------------------------------------------------------------
* | Copyright (c) 2016~2020 https://www.crmeb.com All rights reserved.
* +----------------------------------------------------------------------
* | Licensed CRMEB并不是自由软件未经许可不能去掉CRMEB相关版权
* +----------------------------------------------------------------------
* | Author: CRMEB Team <admin@crmeb.com>
* +----------------------------------------------------------------------
* httpClient 工具类
* @author Mr.Zhang
* @since 2020-04-13
*/
@Component
@@ -314,4 +323,25 @@ public class RestTemplateUtil {
public byte[] getBuffer(String url) {
return restTemplate.getForEntity(url, byte[].class).getBody();
}
/**
* post——from-urlencoded格式请求
*/
public String postFromUrlencoded(String url, MultiValueMap<String, Object> params, Map<String, String> header) {
HttpHeaders headers = new HttpHeaders();
headers.add("user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/54.0.2840.99 Safari/537.36");
headers.setContentType(MediaType.APPLICATION_FORM_URLENCODED);
if (CollUtil.isNotEmpty(header)) {
for (Map.Entry<String, String> entry : header.entrySet()) {
headers.add(entry.getKey(), entry.getValue());
}
}
HttpEntity<MultiValueMap<String, Object>> requestEntity =
new HttpEntity<>(params, headers);
String body = restTemplate.postForEntity( url, requestEntity, String.class).getBody();
return body;
}
}

View File

@@ -5,6 +5,18 @@ import org.springframework.context.ApplicationContext;
import org.springframework.context.ApplicationContextAware;
import org.springframework.stereotype.Component;
/**
* Spring 工具类
* +----------------------------------------------------------------------
* | CRMEB [ CRMEB赋能开发者助力企业发展 ]
* +----------------------------------------------------------------------
* | Copyright (c) 2016~2020 https://www.crmeb.com All rights reserved.
* +----------------------------------------------------------------------
* | Licensed CRMEB并不是自由软件未经许可不能去掉CRMEB相关版权
* +----------------------------------------------------------------------
* | Author: CRMEB Team <admin@crmeb.com>
* +----------------------------------------------------------------------
*/
@Component
public class SpringUtil implements ApplicationContextAware {
private static ApplicationContext applicationContext;

View File

@@ -1,9 +1,16 @@
package com.utils;
/**
* Created on 2019/9/7.
*
* @author MaXiaolong
* ThreadLocalUtil
* +----------------------------------------------------------------------
* | CRMEB [ CRMEB赋能开发者助力企业发展 ]
* +----------------------------------------------------------------------
* | Copyright (c) 2016~2020 https://www.crmeb.com All rights reserved.
* +----------------------------------------------------------------------
* | Licensed CRMEB并不是自由软件未经许可不能去掉CRMEB相关版权
* +----------------------------------------------------------------------
* | Author: CRMEB Team <admin@crmeb.com>
* +----------------------------------------------------------------------
*/
import java.util.*;

View File

@@ -15,10 +15,16 @@ import java.util.List;
/**
* 上传工具类
* @author Mr.Zhang
* @since 2020-05-08
* +----------------------------------------------------------------------
* | CRMEB [ CRMEB赋能开发者助力企业发展 ]
* +----------------------------------------------------------------------
* | Copyright (c) 2016~2020 https://www.crmeb.com All rights reserved.
* +----------------------------------------------------------------------
* | Licensed CRMEB并不是自由软件未经许可不能去掉CRMEB相关版权
* +----------------------------------------------------------------------
* | Author: CRMEB Team <admin@crmeb.com>
* +----------------------------------------------------------------------
*/
public class UploadUtil {
private static UploadUtil uploadUtil = new UploadUtil();

View File

@@ -4,7 +4,6 @@ package com.utils;
import com.alibaba.fastjson.JSONObject;
import com.exception.CrmebException;
import org.apache.http.HttpEntity;
import org.apache.http.client.ClientProtocolException;
import org.apache.http.client.config.RequestConfig;
import org.apache.http.client.methods.CloseableHttpResponse;
import org.apache.http.client.methods.HttpPost;
@@ -13,7 +12,6 @@ import org.apache.http.entity.mime.MultipartEntityBuilder;
import org.apache.http.impl.client.CloseableHttpClient;
import org.apache.http.impl.client.HttpClients;
import org.apache.http.util.EntityUtils;
import org.springframework.beans.factory.annotation.Autowired;
import java.io.ByteArrayOutputStream;
import java.io.IOException;
@@ -21,7 +19,15 @@ import java.io.InputStream;
/**
* http通用工具类
*
* +----------------------------------------------------------------------
* | CRMEB [ CRMEB赋能开发者助力企业发展 ]
* +----------------------------------------------------------------------
* | Copyright (c) 2016~2020 https://www.crmeb.com All rights reserved.
* +----------------------------------------------------------------------
* | Licensed CRMEB并不是自由软件未经许可不能去掉CRMEB相关版权
* +----------------------------------------------------------------------
* | Author: CRMEB Team <admin@crmeb.com>
* +----------------------------------------------------------------------
*/
public class UploadWeChatMediaUtil {
/**

View File

@@ -5,6 +5,15 @@ import java.util.Map;
/**
* url 工具类
* +----------------------------------------------------------------------
* | CRMEB [ CRMEB赋能开发者助力企业发展 ]
* +----------------------------------------------------------------------
* | Copyright (c) 2016~2020 https://www.crmeb.com All rights reserved.
* +----------------------------------------------------------------------
* | Licensed CRMEB并不是自由软件未经许可不能去掉CRMEB相关版权
* +----------------------------------------------------------------------
* | Author: CRMEB Team <admin@crmeb.com>
* +----------------------------------------------------------------------
*/
public class UrlUtil {
public static class UrlEntity {

View File

@@ -14,8 +14,15 @@ import java.util.Random;
/**
* 验证码生成工具类
* @author Mr.Zhang
* @since 2020-04-16
* +----------------------------------------------------------------------
* | CRMEB [ CRMEB赋能开发者助力企业发展 ]
* +----------------------------------------------------------------------
* | Copyright (c) 2016~2020 https://www.crmeb.com All rights reserved.
* +----------------------------------------------------------------------
* | Licensed CRMEB并不是自由软件未经许可不能去掉CRMEB相关版权
* +----------------------------------------------------------------------
* | Author: CRMEB Team <admin@crmeb.com>
* +----------------------------------------------------------------------
*/
@Component
public class ValidateCodeUtil {
@@ -36,7 +43,7 @@ public class ValidateCodeUtil {
private ValidateCodeUtil() {
super();
}
/**
* 获取随机字符
* @author Mr.Zhang
@@ -197,4 +204,4 @@ public class ValidateCodeUtil {
}
}
}
}

View File

@@ -8,11 +8,18 @@ import org.apache.commons.lang3.StringUtils;
import java.util.*;
import java.util.regex.Pattern;
/** 表单验证类
* @author Mr.zhang
* @Description 表单验证类
* @since 2020-05-11
**/
/**
* 表单验证类
* +----------------------------------------------------------------------
* | CRMEB [ CRMEB赋能开发者助力企业发展 ]
* +----------------------------------------------------------------------
* | Copyright (c) 2016~2020 https://www.crmeb.com All rights reserved.
* +----------------------------------------------------------------------
* | Licensed CRMEB并不是自由软件未经许可不能去掉CRMEB相关版权
* +----------------------------------------------------------------------
* | Author: CRMEB Team <admin@crmeb.com>
* +----------------------------------------------------------------------
*/
public class ValidateFormUtil {
/**
* 检测类型

View File

@@ -18,6 +18,18 @@ import java.util.HashMap;
import java.util.List;
import java.util.Map;
/**
* XML 工具类
* +----------------------------------------------------------------------
* | CRMEB [ CRMEB赋能开发者助力企业发展 ]
* +----------------------------------------------------------------------
* | Copyright (c) 2016~2020 https://www.crmeb.com All rights reserved.
* +----------------------------------------------------------------------
* | Licensed CRMEB并不是自由软件未经许可不能去掉CRMEB相关版权
* +----------------------------------------------------------------------
* | Author: CRMEB Team <admin@crmeb.com>
* +----------------------------------------------------------------------
*/
public class XmlUtil {
public static Map<String,String> xmlToMap(HttpServletRequest request)
{

View File

@@ -8,8 +8,15 @@ import javax.validation.constraints.NotBlank;
/**
* 图片合成详情
* @author Mr.Zhang
* @since 2020-04-18
* +----------------------------------------------------------------------
* | CRMEB [ CRMEB赋能开发者助力企业发展 ]
* +----------------------------------------------------------------------
* | Copyright (c) 2016~2020 https://www.crmeb.com All rights reserved.
* +----------------------------------------------------------------------
* | Licensed CRMEB并不是自由软件未经许可不能去掉CRMEB相关版权
* +----------------------------------------------------------------------
* | Author: CRMEB Team <admin@crmeb.com>
* +----------------------------------------------------------------------
*/
@Data
public class ImageMergeUtilVo {

View File

@@ -3,11 +3,16 @@ package com.utils.vo;
import lombok.Data;
/**
* @author stivepeim
* @title: dateLimitVoUtil
* @projectName crmeb
* @Description: 工具类
* @since 2020/4/1414:37
* 时间Vo类
* +----------------------------------------------------------------------
* | CRMEB [ CRMEB赋能开发者助力企业发展 ]
* +----------------------------------------------------------------------
* | Copyright (c) 2016~2020 https://www.crmeb.com All rights reserved.
* +----------------------------------------------------------------------
* | Licensed CRMEB并不是自由软件未经许可不能去掉CRMEB相关版权
* +----------------------------------------------------------------------
* | Author: CRMEB Team <admin@crmeb.com>
* +----------------------------------------------------------------------
*/
@Data
public class dateLimitUtilVo {

View File

@@ -9,6 +9,18 @@ import org.springframework.context.annotation.Configuration;
import org.springframework.scheduling.annotation.EnableAsync;
import springfox.documentation.swagger2.annotations.EnableSwagger2;
/**
* 程序主入口
* +----------------------------------------------------------------------
* | CRMEB [ CRMEB赋能开发者助力企业发展 ]
* +----------------------------------------------------------------------
* | Copyright (c) 2016~2020 https://www.crmeb.com All rights reserved.
* +----------------------------------------------------------------------
* | Licensed CRMEB并不是自由软件未经许可不能去掉CRMEB相关版权
* +----------------------------------------------------------------------
* | Author: CRMEB Team <admin@crmeb.com>
* +----------------------------------------------------------------------
*/
@EnableAsync //开启异步调用
@EnableSwagger2
@Configuration

View File

@@ -22,6 +22,15 @@ import org.springframework.web.bind.annotation.*;
/**
* 文章管理表 前端控制器
* +----------------------------------------------------------------------
* | CRMEB [ CRMEB赋能开发者助力企业发展 ]
* +----------------------------------------------------------------------
* | Copyright (c) 2016~2020 https://www.crmeb.com All rights reserved.
* +----------------------------------------------------------------------
* | Licensed CRMEB并不是自由软件未经许可不能去掉CRMEB相关版权
* +----------------------------------------------------------------------
* | Author: CRMEB Team <admin@crmeb.com>
* +----------------------------------------------------------------------
*/
@Slf4j
@RestController

View File

@@ -1,16 +1,20 @@
package com.zbkj.crmeb.article.dao;
import com.zbkj.crmeb.article.model.Article;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
/**
* <p>
* 文章管理表 Mapper 接口
* </p>
*
* @author Mr.Zhang
* @since 2020-04-18
*/
public interface ArticleDao extends BaseMapper<Article> {
}
package com.zbkj.crmeb.article.dao;
import com.zbkj.crmeb.article.model.Article;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
/**
* 文章管理表 Mapper 接口
* +----------------------------------------------------------------------
* | CRMEB [ CRMEB赋能开发者助力企业发展 ]
* +----------------------------------------------------------------------
* | Copyright (c) 2016~2020 https://www.crmeb.com All rights reserved.
* +----------------------------------------------------------------------
* | Licensed CRMEB并不是自由软件未经许可不能去掉CRMEB相关版权
* +----------------------------------------------------------------------
* | Author: CRMEB Team <admin@crmeb.com>
* +----------------------------------------------------------------------
*/
public interface ArticleDao extends BaseMapper<Article> {
}

View File

@@ -13,12 +13,16 @@ import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;
/**
* <p>
* 文章管理表
* </p>
*
* @author Mr.Zhang
* @since 2020-04-18
* +----------------------------------------------------------------------
* | CRMEB [ CRMEB赋能开发者助力企业发展 ]
* +----------------------------------------------------------------------
* | Copyright (c) 2016~2020 https://www.crmeb.com All rights reserved.
* +----------------------------------------------------------------------
* | Licensed CRMEB并不是自由软件未经许可不能去掉CRMEB相关版权
* +----------------------------------------------------------------------
* | Author: CRMEB Team <admin@crmeb.com>
* +----------------------------------------------------------------------
*/
@Data
@EqualsAndHashCode(callSuper = false)

View File

@@ -11,12 +11,16 @@ import javax.validation.constraints.NotBlank;
import java.io.Serializable;
/**
* <p>
* 文章管理表
* </p>
*
* @author Mr.Zhang
* @since 2020-04-18
* 文章管理 Request
* +----------------------------------------------------------------------
* | CRMEB [ CRMEB赋能开发者助力企业发展 ]
* +----------------------------------------------------------------------
* | Copyright (c) 2016~2020 https://www.crmeb.com All rights reserved.
* +----------------------------------------------------------------------
* | Licensed CRMEB并不是自由软件未经许可不能去掉CRMEB相关版权
* +----------------------------------------------------------------------
* | Author: CRMEB Team <admin@crmeb.com>
* +----------------------------------------------------------------------
*/
@Data
@EqualsAndHashCode(callSuper = false)

View File

@@ -12,12 +12,17 @@ import javax.validation.constraints.NotBlank;
import java.io.Serializable;
/**
* <p>
* 文章管理表
* </p>
*
* @author Mr.Zhang
* @since 2020-04-18
* 文章管理 搜索Request
* +----------------------------------------------------------------------
* | CRMEB [ CRMEB赋能开发者助力企业发展 ]
* +----------------------------------------------------------------------
* | Copyright (c) 2016~2020 https://www.crmeb.com All rights reserved.
* +----------------------------------------------------------------------
* | Licensed CRMEB并不是自由软件未经许可不能去掉CRMEB相关版权
* +----------------------------------------------------------------------
* | Author: CRMEB Team <admin@crmeb.com>
* +----------------------------------------------------------------------
*/
@Data
@EqualsAndHashCode(callSuper = false)

View File

@@ -8,9 +8,16 @@ import com.zbkj.crmeb.article.request.ArticleSearchRequest;
import com.zbkj.crmeb.article.vo.ArticleVo;
/**
* @author Mr.Zhang
* @Description ArticleService 接口
* @since 2020-04-18
* ArticleService 接口
* +----------------------------------------------------------------------
* | CRMEB [ CRMEB赋能开发者助力企业发展 ]
* +----------------------------------------------------------------------
* | Copyright (c) 2016~2020 https://www.crmeb.com All rights reserved.
* +----------------------------------------------------------------------
* | Licensed CRMEB并不是自由软件未经许可不能去掉CRMEB相关版权
* +----------------------------------------------------------------------
* | Author: CRMEB Team <admin@crmeb.com>
* +----------------------------------------------------------------------
*/
public interface ArticleService extends IService<Article> {

View File

@@ -25,9 +25,16 @@ import java.util.ArrayList;
import java.util.List;
/**
* @author Mr.Zhang
* @Description ArticleServiceImpl 接口实现
* @since 2020-04-18
* ArticleServiceImpl 接口实现
* +----------------------------------------------------------------------
* | CRMEB [ CRMEB赋能开发者助力企业发展 ]
* +----------------------------------------------------------------------
* | Copyright (c) 2016~2020 https://www.crmeb.com All rights reserved.
* +----------------------------------------------------------------------
* | Licensed CRMEB并不是自由软件未经许可不能去掉CRMEB相关版权
* +----------------------------------------------------------------------
* | Author: CRMEB Team <admin@crmeb.com>
* +----------------------------------------------------------------------
*/
@Service
public class ArticleServiceImpl extends ServiceImpl<ArticleDao, Article> implements ArticleService {

View File

@@ -15,12 +15,16 @@ import java.util.Date;
import java.util.List;
/**
* <p>
* 文章管理表
* </p>
*
* @author Mr.Zhang
* @since 2020-04-18
* 文章管理 Vo
* +----------------------------------------------------------------------
* | CRMEB [ CRMEB赋能开发者助力企业发展 ]
* +----------------------------------------------------------------------
* | Copyright (c) 2016~2020 https://www.crmeb.com All rights reserved.
* +----------------------------------------------------------------------
* | Licensed CRMEB并不是自由软件未经许可不能去掉CRMEB相关版权
* +----------------------------------------------------------------------
* | Author: CRMEB Team <admin@crmeb.com>
* +----------------------------------------------------------------------
*/
@Data
@EqualsAndHashCode(callSuper = false)

View File

@@ -29,11 +29,16 @@ import java.util.List;
import java.util.Map;
/**
* @author stivepeim
* @title: adminUser
* @projectName crmeb
* @Description: TODO
* @since 2020/4/1614:56
* Admin 平台用户
* +----------------------------------------------------------------------
* | CRMEB [ CRMEB赋能开发者助力企业发展 ]
* +----------------------------------------------------------------------
* | Copyright (c) 2016~2020 https://www.crmeb.com All rights reserved.
* +----------------------------------------------------------------------
* | Licensed CRMEB并不是自由软件未经许可不能去掉CRMEB相关版权
* +----------------------------------------------------------------------
* | Author: CRMEB Team <admin@crmeb.com>
* +----------------------------------------------------------------------
*/
@Slf4j
@RestController

View File

@@ -4,11 +4,16 @@ import com.common.CommonResult;
import com.zbkj.crmeb.authorization.model.TokenModel;
/**
* @author stivepeim
* @title: TokenManager
* @projectName crmeb
* @Description: TODO
* @since 2020/4/1415:27
* TokenManager
* +----------------------------------------------------------------------
* | CRMEB [ CRMEB赋能开发者助力企业发展 ]
* +----------------------------------------------------------------------
* | Copyright (c) 2016~2020 https://www.crmeb.com All rights reserved.
* +----------------------------------------------------------------------
* | Licensed CRMEB并不是自由软件未经许可不能去掉CRMEB相关版权
* +----------------------------------------------------------------------
* | Author: CRMEB Team <admin@crmeb.com>
* +----------------------------------------------------------------------
*/
public interface TokenManager {
@@ -33,4 +38,4 @@ public interface TokenManager {
Object getLocalInfo(String key);
Integer getLocalUserId();
}
}

View File

@@ -17,11 +17,16 @@ import java.util.UUID;
import java.util.concurrent.TimeUnit;
/**
* @author stivepeim
* @title: TokenManagerImpl
* @projectName crmeb
* @Description: 口令管理
* @since 2020/4/1415:29
* 口令管理
* +----------------------------------------------------------------------
* | CRMEB [ CRMEB赋能开发者助力企业发展 ]
* +----------------------------------------------------------------------
* | Copyright (c) 2016~2020 https://www.crmeb.com All rights reserved.
* +----------------------------------------------------------------------
* | Licensed CRMEB并不是自由软件未经许可不能去掉CRMEB相关版权
* +----------------------------------------------------------------------
* | Author: CRMEB Team <admin@crmeb.com>
* +----------------------------------------------------------------------
*/
@Component
public class TokenManagerImpl implements TokenManager {

View File

@@ -8,11 +8,16 @@ import java.io.Serializable;
import java.util.Locale;
/**
* @author stivepeim
* @title: TokenModel
* @projectName crmeb
* @Description: Token实体类
* @since 2020/4/1415:00
* token实体类
* +----------------------------------------------------------------------
* | CRMEB [ CRMEB赋能开发者助力企业发展 ]
* +----------------------------------------------------------------------
* | Copyright (c) 2016~2020 https://www.crmeb.com All rights reserved.
* +----------------------------------------------------------------------
* | Licensed CRMEB并不是自由软件未经许可不能去掉CRMEB相关版权
* +----------------------------------------------------------------------
* | Author: CRMEB Team <admin@crmeb.com>
* +----------------------------------------------------------------------
*/
@Data
public class TokenModel implements Serializable {

View File

@@ -26,6 +26,15 @@ import java.util.List;
/**
* 分类表 前端控制器
* +----------------------------------------------------------------------
* | CRMEB [ CRMEB赋能开发者助力企业发展 ]
* +----------------------------------------------------------------------
* | Copyright (c) 2016~2020 https://www.crmeb.com All rights reserved.
* +----------------------------------------------------------------------
* | Licensed CRMEB并不是自由软件未经许可不能去掉CRMEB相关版权
* +----------------------------------------------------------------------
* | Author: CRMEB Team <admin@crmeb.com>
* +----------------------------------------------------------------------
*/
@Slf4j
@RestController
@@ -141,11 +150,13 @@ import java.util.List;
@RequestMapping(value = "/list/tree", method = RequestMethod.GET)
@ApiImplicitParams({
@ApiImplicitParam(name="type", value="类型ID | 类型1 产品分类2 附件分类3 文章分类, 4 设置分类, 5 菜单分类, 6 配置分类, 7 秒杀配置", example = "1"),
@ApiImplicitParam(name="status", value="-1=全部0=未生效1=已生效", example = "1")
@ApiImplicitParam(name="status", value="-1=全部0=未生效1=已生效", example = "1"),
@ApiImplicitParam(name="status", value="模糊搜索", example = "电视")
})
public CommonResult<List<CategoryTreeVo>> getListTree(@RequestParam(name = "type") Integer type,
@RequestParam(name = "status") Integer status){
List<CategoryTreeVo> listTree = categoryService.getListTree(type, status);
@RequestParam(name = "status") Integer status,
@RequestParam(name = "name", required = false) String name){
List<CategoryTreeVo> listTree = categoryService.getListTree(type,status,name);
return CommonResult.success(listTree);
}

View File

@@ -1,16 +1,19 @@
package com.zbkj.crmeb.category.dao;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.zbkj.crmeb.category.model.Category;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
/**
* <p>
* 分类表 Mapper 接口
* </p>
*
* @author Mr.Zhang
* @since 2020-04-16
*/
public interface CategoryDao extends BaseMapper<Category> {
}
package com.zbkj.crmeb.category.dao;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.zbkj.crmeb.category.model.Category;
/**
* 分类表 Mapper 接口
* +----------------------------------------------------------------------
* | CRMEB [ CRMEB赋能开发者助力企业发展 ]
* +----------------------------------------------------------------------
* | Copyright (c) 2016~2020 https://www.crmeb.com All rights reserved.
* +----------------------------------------------------------------------
* | Licensed CRMEB并不是自由软件未经许可不能去掉CRMEB相关版权
* +----------------------------------------------------------------------
* | Author: CRMEB Team <admin@crmeb.com>
* +----------------------------------------------------------------------
*/
public interface CategoryDao extends BaseMapper<Category> {
}

View File

@@ -11,12 +11,16 @@ import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;
/**
* <p>
* 分类表
* </p>
*
* @author Mr.Zhang
* @since 2020-04-16
* +----------------------------------------------------------------------
* | CRMEB [ CRMEB赋能开发者助力企业发展 ]
* +----------------------------------------------------------------------
* | Copyright (c) 2016~2020 https://www.crmeb.com All rights reserved.
* +----------------------------------------------------------------------
* | Licensed CRMEB并不是自由软件未经许可不能去掉CRMEB相关版权
* +----------------------------------------------------------------------
* | Author: CRMEB Team <admin@crmeb.com>
* +----------------------------------------------------------------------
*/
@Data
@EqualsAndHashCode(callSuper = false)

View File

@@ -17,12 +17,16 @@ import javax.validation.constraints.NotNull;
import java.io.Serializable;
/**
* <p>
* 分类表
* </p>
*
* @author Mr.Zhang
* @since 2020-04-16
* 分类表 Request
* +----------------------------------------------------------------------
* | CRMEB [ CRMEB赋能开发者助力企业发展 ]
* +----------------------------------------------------------------------
* | Copyright (c) 2016~2020 https://www.crmeb.com All rights reserved.
* +----------------------------------------------------------------------
* | Licensed CRMEB并不是自由软件未经许可不能去掉CRMEB相关版权
* +----------------------------------------------------------------------
* | Author: CRMEB Team <admin@crmeb.com>
* +----------------------------------------------------------------------
*/
@Data
@EqualsAndHashCode(callSuper = false)

View File

@@ -12,12 +12,16 @@ import lombok.experimental.Accessors;
import java.io.Serializable;
/**
* <p>
* 分类表
* </p>
*
* @author Mr.Zhang
* @since 2020-04-16
* 分类表 搜索Request
* +----------------------------------------------------------------------
* | CRMEB [ CRMEB赋能开发者助力企业发展 ]
* +----------------------------------------------------------------------
* | Copyright (c) 2016~2020 https://www.crmeb.com All rights reserved.
* +----------------------------------------------------------------------
* | Licensed CRMEB并不是自由软件未经许可不能去掉CRMEB相关版权
* +----------------------------------------------------------------------
* | Author: CRMEB Team <admin@crmeb.com>
* +----------------------------------------------------------------------
*/
@Data
@EqualsAndHashCode(callSuper = false)

View File

@@ -11,9 +11,16 @@ import java.util.HashMap;
import java.util.List;
/**
* @author Mr.Zhang
* @Description CategoryService 接口
* @since 2020-04-16
* CategoryService 接口
* +----------------------------------------------------------------------
* | CRMEB [ CRMEB赋能开发者助力企业发展 ]
* +----------------------------------------------------------------------
* | Copyright (c) 2016~2020 https://www.crmeb.com All rights reserved.
* +----------------------------------------------------------------------
* | Licensed CRMEB并不是自由软件未经许可不能去掉CRMEB相关版权
* +----------------------------------------------------------------------
* | Author: CRMEB Team <admin@crmeb.com>
* +----------------------------------------------------------------------
*/
public interface CategoryService extends IService<Category> {
List<Category> getList(CategorySearchRequest request, PageParamRequest pageParamRequest);
@@ -22,7 +29,7 @@ public interface CategoryService extends IService<Category> {
String getPathByPId(Integer pid);
List<CategoryTreeVo> getListTree(Integer type, Integer status);
List<CategoryTreeVo> getListTree(Integer type, Integer status, String name);
List<CategoryTreeVo> getListTree(Integer type, Integer status, List<Integer> categoryIdList);
List<Category> getByIds(List<Integer> ids);

View File

@@ -2,6 +2,8 @@ package com.zbkj.crmeb.category.service.impl;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.toolkit.StringUtils;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.common.PageParamRequest;
import com.exception.CrmebException;
@@ -23,9 +25,16 @@ import java.util.List;
import java.util.Map;
/**
* @author Mr.Zhang
* @Description CategoryServiceImpl 接口实现
* @since 2020-04-16
* CategoryServiceImpl 接口实现
* +----------------------------------------------------------------------
* | CRMEB [ CRMEB赋能开发者助力企业发展 ]
* +----------------------------------------------------------------------
* | Copyright (c) 2016~2020 https://www.crmeb.com All rights reserved.
* +----------------------------------------------------------------------
* | Licensed CRMEB并不是自由软件未经许可不能去掉CRMEB相关版权
* +----------------------------------------------------------------------
* | Author: CRMEB Team <admin@crmeb.com>
* +----------------------------------------------------------------------
*/
@Service
public class CategoryServiceImpl extends ServiceImpl<CategoryDao, Category> implements CategoryService {
@@ -241,8 +250,8 @@ public class CategoryServiceImpl extends ServiceImpl<CategoryDao, Category> impl
* @since 2020-04-16
*/
@Override
public List<CategoryTreeVo> getListTree(Integer type, Integer status) {
return getTree(type, status, null);
public List<CategoryTreeVo> getListTree(Integer type, Integer status, String name) {
return getTree(type, status,name,null);
}
/**
@@ -252,7 +261,7 @@ public class CategoryServiceImpl extends ServiceImpl<CategoryDao, Category> impl
*/
@Override
public List<CategoryTreeVo> getListTree(Integer type, Integer status, List<Integer> categoryIdList) {
return getTree(type, status, categoryIdList);
return getTree(type, status,null,categoryIdList);
}
/**
@@ -260,11 +269,11 @@ public class CategoryServiceImpl extends ServiceImpl<CategoryDao, Category> impl
* @author Mr.Zhang
* @since 2020-04-16
*/
private List<CategoryTreeVo> getTree(Integer type, Integer status, List<Integer> categoryIdList) {
private List<CategoryTreeVo> getTree(Integer type, Integer status,String name, List<Integer> categoryIdList) {
//循环数据把数据对象变成带list结构的vo
List<CategoryTreeVo> treeList = new ArrayList<>();
LambdaQueryWrapper<Category> lambdaQueryWrapper = new LambdaQueryWrapper<>();
LambdaQueryWrapper<Category> lambdaQueryWrapper = Wrappers.lambdaQuery();
lambdaQueryWrapper.eq(Category::getType, type);
if(null != categoryIdList && categoryIdList.size() > 0){
@@ -274,13 +283,26 @@ public class CategoryServiceImpl extends ServiceImpl<CategoryDao, Category> impl
if(status >= 0){
lambdaQueryWrapper.eq(Category::getStatus, status);
}
if(StringUtils.isNotBlank(name)){ // 根据名称模糊搜索
lambdaQueryWrapper.like(Category::getName,name);
}
lambdaQueryWrapper.orderByDesc(Category::getSort);
lambdaQueryWrapper.orderByAsc(Category::getId);
List<Category> allTree = dao.selectList(lambdaQueryWrapper);
if(allTree == null){
return null;
}
// 根据名称搜索特殊处理 这里仅仅处理两层搜索后有子父级关系的数据
if(StringUtils.isNotBlank(name) && allTree.size() >0){
List<Category> searchCategory = new ArrayList<>();
for (Category category : allTree) {
if(category.getPid() >0){
searchCategory.add(dao.selectById(category.getPid()));
}
}
allTree.addAll(searchCategory);
}
for (Category category: allTree) {
CategoryTreeVo categoryTreeVo = new CategoryTreeVo();

View File

@@ -11,12 +11,16 @@ import java.util.ArrayList;
import java.util.List;
/**
* <p>
* 分类表
* </p>
*
* @author Mr.Zhang
* @since 2020-04-16
* +----------------------------------------------------------------------
* | CRMEB [ CRMEB赋能开发者助力企业发展 ]
* +----------------------------------------------------------------------
* | Copyright (c) 2016~2020 https://www.crmeb.com All rights reserved.
* +----------------------------------------------------------------------
* | Licensed CRMEB并不是自由软件未经许可不能去掉CRMEB相关版权
* +----------------------------------------------------------------------
* | Author: CRMEB Team <admin@crmeb.com>
* +----------------------------------------------------------------------
*/
@Data
public class CategoryTreeVo implements Serializable {

View File

@@ -6,7 +6,17 @@ import org.springframework.web.cors.CorsConfiguration;
import org.springframework.web.cors.UrlBasedCorsConfigurationSource;
import org.springframework.web.filter.CorsFilter;
/** 跨域配置
* +----------------------------------------------------------------------
* | CRMEB [ CRMEB赋能开发者助力企业发展 ]
* +----------------------------------------------------------------------
* | Copyright (c) 2016~2020 https://www.crmeb.com All rights reserved.
* +----------------------------------------------------------------------
* | Licensed CRMEB并不是自由软件未经许可不能去掉CRMEB相关版权
* +----------------------------------------------------------------------
* | Author: CRMEB Team <admin@crmeb.com>
* +----------------------------------------------------------------------
*/
@Configuration
public class CorsConfig{
private CorsConfiguration buildConfig() {

View File

@@ -15,6 +15,18 @@ import java.io.InputStream;
import java.sql.SQLException;
import java.util.Properties;
/**
* Druid配置组件
* +----------------------------------------------------------------------
* | CRMEB [ CRMEB赋能开发者助力企业发展 ]
* +----------------------------------------------------------------------
* | Copyright (c) 2016~2020 https://www.crmeb.com All rights reserved.
* +----------------------------------------------------------------------
* | Licensed CRMEB并不是自由软件未经许可不能去掉CRMEB相关版权
* +----------------------------------------------------------------------
* | Author: CRMEB Team <admin@crmeb.com>
* +----------------------------------------------------------------------
*/
@Configuration
public class DruidConfig {

View File

@@ -7,7 +7,18 @@ import org.springframework.context.annotation.Configuration;
import java.math.BigDecimal;
/**
* Jackjson配置组件
* +----------------------------------------------------------------------
* | CRMEB [ CRMEB赋能开发者助力企业发展 ]
* +----------------------------------------------------------------------
* | Copyright (c) 2016~2020 https://www.crmeb.com All rights reserved.
* +----------------------------------------------------------------------
* | Licensed CRMEB并不是自由软件未经许可不能去掉CRMEB相关版权
* +----------------------------------------------------------------------
* | Author: CRMEB Team <admin@crmeb.com>
* +----------------------------------------------------------------------
*/
@Configuration
public class JacksonConfig {

View File

@@ -16,6 +16,18 @@ import org.springframework.data.redis.serializer.RedisSerializer;
import org.springframework.data.redis.serializer.StringRedisSerializer;
import redis.clients.jedis.JedisPoolConfig;
/**
* Redis配置组件
* +----------------------------------------------------------------------
* | CRMEB [ CRMEB赋能开发者助力企业发展 ]
* +----------------------------------------------------------------------
* | Copyright (c) 2016~2020 https://www.crmeb.com All rights reserved.
* +----------------------------------------------------------------------
* | Licensed CRMEB并不是自由软件未经许可不能去掉CRMEB相关版权
* +----------------------------------------------------------------------
* | Author: CRMEB Team <admin@crmeb.com>
* +----------------------------------------------------------------------
*/
@Configuration
@EnableCaching
public class RedisConfig {

View File

@@ -13,6 +13,18 @@ import java.nio.charset.StandardCharsets;
import java.util.ArrayList;
import java.util.List;
/**
* RestTemplate配置组件
* +----------------------------------------------------------------------
* | CRMEB [ CRMEB赋能开发者助力企业发展 ]
* +----------------------------------------------------------------------
* | Copyright (c) 2016~2020 https://www.crmeb.com All rights reserved.
* +----------------------------------------------------------------------
* | Licensed CRMEB并不是自由软件未经许可不能去掉CRMEB相关版权
* +----------------------------------------------------------------------
* | Author: CRMEB Team <admin@crmeb.com>
* +----------------------------------------------------------------------
*/
@Configuration
public class RestTemplateConfig {
@Bean

View File

@@ -6,6 +6,18 @@ import org.springframework.scheduling.annotation.SchedulingConfigurer;
import org.springframework.scheduling.concurrent.ThreadPoolTaskScheduler;
import org.springframework.scheduling.config.ScheduledTaskRegistrar;
/**
* Spring 定时任务配置
* +----------------------------------------------------------------------
* | CRMEB [ CRMEB赋能开发者助力企业发展 ]
* +----------------------------------------------------------------------
* | Copyright (c) 2016~2020 https://www.crmeb.com All rights reserved.
* +----------------------------------------------------------------------
* | Licensed CRMEB并不是自由软件未经许可不能去掉CRMEB相关版权
* +----------------------------------------------------------------------
* | Author: CRMEB Team <admin@crmeb.com>
* +----------------------------------------------------------------------
*/
@Data
@Configuration
public class SchedulerConfig implements SchedulingConfigurer {

View File

@@ -21,9 +21,17 @@ import java.util.List;
import static com.google.common.collect.Lists.newArrayList;
/**
* Created by Mr.Zhang on 2020/04/11.
* Swagger配置组件
* +----------------------------------------------------------------------
* | CRMEB [ CRMEB赋能开发者助力企业发展 ]
* +----------------------------------------------------------------------
* | Copyright (c) 2016~2020 https://www.crmeb.com All rights reserved.
* +----------------------------------------------------------------------
* | Licensed CRMEB并不是自由软件未经许可不能去掉CRMEB相关版权
* +----------------------------------------------------------------------
* | Author: CRMEB Team <admin@crmeb.com>
* +----------------------------------------------------------------------
*/
@Configuration
@EnableSwagger2
public class SwaggerConfig{

View File

@@ -9,7 +9,16 @@ import java.util.concurrent.RejectedExecutionHandler;
import java.util.concurrent.ThreadPoolExecutor;
/**
* task 类的线程配置
* Task类的线程配置
* +----------------------------------------------------------------------
* | CRMEB [ CRMEB赋能开发者助力企业发展 ]
* +----------------------------------------------------------------------
* | Copyright (c) 2016~2020 https://www.crmeb.com All rights reserved.
* +----------------------------------------------------------------------
* | Licensed CRMEB并不是自由软件未经许可不能去掉CRMEB相关版权
* +----------------------------------------------------------------------
* | Author: CRMEB Team <admin@crmeb.com>
* +----------------------------------------------------------------------
*/
@Data
@Configuration

View File

@@ -16,8 +16,18 @@ import org.springframework.web.servlet.config.annotation.ResourceHandlerRegistry
import org.springframework.web.servlet.config.annotation.WebMvcConfigurer;
import org.springframework.web.servlet.handler.MappedInterceptor;
//token验证拦截器
/**
* token验证拦截器
* +----------------------------------------------------------------------
* | CRMEB [ CRMEB赋能开发者助力企业发展 ]
* +----------------------------------------------------------------------
* | Copyright (c) 2016~2020 https://www.crmeb.com All rights reserved.
* +----------------------------------------------------------------------
* | Licensed CRMEB并不是自由软件未经许可不能去掉CRMEB相关版权
* +----------------------------------------------------------------------
* | Author: CRMEB Team <admin@crmeb.com>
* +----------------------------------------------------------------------
*/
@Configuration
public class WebConfig implements WebMvcConfigurer {
@@ -101,6 +111,9 @@ public class WebConfig implements WebMvcConfigurer {
excludePathPatterns("/api/front/groom/list/**").
excludePathPatterns("/api/front/index").
excludePathPatterns("/api/front/category").
excludePathPatterns("/api/front/seckill/*").
excludePathPatterns("/api/front/seckill/list/*").
excludePathPatterns("/api/front/seckill/detail/*").
// excludePathPatterns("/api/front/cart/count").
excludePathPatterns("/swagger-resources/**", "/webjars/**", "/v2/**", "/swagger-ui.html/**");
}

View File

@@ -19,6 +19,15 @@ import java.util.List;
/**
* 商品表 前端控制器
* +----------------------------------------------------------------------
* | CRMEB [ CRMEB赋能开发者助力企业发展 ]
* +----------------------------------------------------------------------
* | Copyright (c) 2016~2020 https://www.crmeb.com All rights reserved.
* +----------------------------------------------------------------------
* | Licensed CRMEB并不是自由软件未经许可不能去掉CRMEB相关版权
* +----------------------------------------------------------------------
* | Author: CRMEB Team <admin@crmeb.com>
* +----------------------------------------------------------------------
*/
@Slf4j
@RestController

View File

@@ -7,9 +7,16 @@ import javax.servlet.http.HttpServletResponse;
import java.util.List;
/**
* @author Mr.Zhang
* @Description StoreProductService 接口
* @since 2020-05-06
* StoreProductService 接口
* +----------------------------------------------------------------------
* | CRMEB [ CRMEB赋能开发者助力企业发展 ]
* +----------------------------------------------------------------------
* | Copyright (c) 2016~2020 https://www.crmeb.com All rights reserved.
* +----------------------------------------------------------------------
* | Licensed CRMEB并不是自由软件未经许可不能去掉CRMEB相关版权
* +----------------------------------------------------------------------
* | Author: CRMEB Team <admin@crmeb.com>
* +----------------------------------------------------------------------
*/
public interface ExcelService{
List<ProductExcelVo> product(StoreProductSearchRequest request, HttpServletResponse response);

View File

@@ -23,9 +23,16 @@ import java.util.List;
import java.util.stream.Collectors;
/**
* @author Mr.Zhang
* @Description ExcelServiceImpl 接口实现
* @since 2020-05-06
* ExcelServiceImpl 接口实现
* +----------------------------------------------------------------------
* | CRMEB [ CRMEB赋能开发者助力企业发展 ]
* +----------------------------------------------------------------------
* | Copyright (c) 2016~2020 https://www.crmeb.com All rights reserved.
* +----------------------------------------------------------------------
* | Licensed CRMEB并不是自由软件未经许可不能去掉CRMEB相关版权
* +----------------------------------------------------------------------
* | Author: CRMEB Team <admin@crmeb.com>
* +----------------------------------------------------------------------
*/
@Service
public class ExcelServiceImpl implements ExcelService {

View File

@@ -2,6 +2,17 @@ package com.zbkj.crmeb.export.vo;
import java.lang.annotation.*;
/** Excel 配置
* +----------------------------------------------------------------------
* | CRMEB [ CRMEB赋能开发者助力企业发展 ]
* +----------------------------------------------------------------------
* | Copyright (c) 2016~2020 https://www.crmeb.com All rights reserved.
* +----------------------------------------------------------------------
* | Licensed CRMEB并不是自由软件未经许可不能去掉CRMEB相关版权
* +----------------------------------------------------------------------
* | Author: CRMEB Team <admin@crmeb.com>
* +----------------------------------------------------------------------
*/
@Target({ElementType.FIELD})
@Retention(RetentionPolicy.RUNTIME)
@Documented
@@ -10,4 +21,4 @@ public @interface ExcelColumn {
String value() default "";
int col() default 0;
}
}

View File

@@ -1,7 +1,5 @@
package com.zbkj.crmeb.export.vo;
import com.baomidou.mybatisplus.annotation.TableName;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiModel;
import lombok.Data;
import lombok.EqualsAndHashCode;
@@ -11,12 +9,16 @@ import java.io.Serializable;
import java.math.BigDecimal;
/**
* <p>
* 商品表
* </p>
*
* @author Mr.Zhang
* @since 2020-05-06
* 商品ExcelVo对象类
* +----------------------------------------------------------------------
* | CRMEB [ CRMEB赋能开发者助力企业发展 ]
* +----------------------------------------------------------------------
* | Copyright (c) 2016~2020 https://www.crmeb.com All rights reserved.
* +----------------------------------------------------------------------
* | Licensed CRMEB并不是自由软件未经许可不能去掉CRMEB相关版权
* +----------------------------------------------------------------------
* | Author: CRMEB Team <admin@crmeb.com>
* +----------------------------------------------------------------------
*/
@Data
@EqualsAndHashCode(callSuper = false)

View File

@@ -19,6 +19,15 @@ import com.zbkj.crmeb.express.model.Express;
/**
* 快递公司表 前端控制器
* +----------------------------------------------------------------------
* | CRMEB [ CRMEB赋能开发者助力企业发展 ]
* +----------------------------------------------------------------------
* | Copyright (c) 2016~2020 https://www.crmeb.com All rights reserved.
* +----------------------------------------------------------------------
* | Licensed CRMEB并不是自由软件未经许可不能去掉CRMEB相关版权
* +----------------------------------------------------------------------
* | Author: CRMEB Team <admin@crmeb.com>
* +----------------------------------------------------------------------
*/
@Slf4j
@RestController

View File

@@ -15,15 +15,22 @@ import org.springframework.web.bind.annotation.*;
import com.zbkj.crmeb.express.service.ShippingTemplatesService;
import com.zbkj.crmeb.express.model.ShippingTemplates;
/**
* 前端控制器
* 物流-模板控制器
* +----------------------------------------------------------------------
* | CRMEB [ CRMEB赋能开发者助力企业发展 ]
* +----------------------------------------------------------------------
* | Copyright (c) 2016~2020 https://www.crmeb.com All rights reserved.
* +----------------------------------------------------------------------
* | Licensed CRMEB并不是自由软件未经许可不能去掉CRMEB相关版权
* +----------------------------------------------------------------------
* | Author: CRMEB Team <admin@crmeb.com>
* +----------------------------------------------------------------------
*/
@Slf4j
@RestController
@RequestMapping("api/admin/express/shipping/templates")
@Api(tags = "设置 -- 物流 -- 模板")
public class ShippingTemplatesController {
@Autowired

View File

@@ -13,7 +13,16 @@ import java.util.List;
/**
* 前端控制器
* 物流控制器
* +----------------------------------------------------------------------
* | CRMEB [ CRMEB赋能开发者助力企业发展 ]
* +----------------------------------------------------------------------
* | Copyright (c) 2016~2020 https://www.crmeb.com All rights reserved.
* +----------------------------------------------------------------------
* | Licensed CRMEB并不是自由软件未经许可不能去掉CRMEB相关版权
* +----------------------------------------------------------------------
* | Author: CRMEB Team <admin@crmeb.com>
* +----------------------------------------------------------------------
*/
@Slf4j
@RestController

View File

@@ -13,7 +13,16 @@ import java.util.List;
/**
* 前端控制器
* 物流付费前端控制器
* +----------------------------------------------------------------------
* | CRMEB [ CRMEB赋能开发者助力企业发展 ]
* +----------------------------------------------------------------------
* | Copyright (c) 2016~2020 https://www.crmeb.com All rights reserved.
* +----------------------------------------------------------------------
* | Licensed CRMEB并不是自由软件未经许可不能去掉CRMEB相关版权
* +----------------------------------------------------------------------
* | Author: CRMEB Team <admin@crmeb.com>
* +----------------------------------------------------------------------
*/
@Slf4j
@RestController

View File

@@ -1,16 +1,20 @@
package com.zbkj.crmeb.express.dao;
import com.zbkj.crmeb.express.model.Express;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
/**
* <p>
* 快递公司表 Mapper 接口
* </p>
*
* @author Mr.Zhang
* @since 2020-04-17
*/
public interface ExpressDao extends BaseMapper<Express> {
}
package com.zbkj.crmeb.express.dao;
import com.zbkj.crmeb.express.model.Express;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
/**
* 快递公司表 Mapper 接口
* +----------------------------------------------------------------------
* | CRMEB [ CRMEB赋能开发者助力企业发展 ]
* +----------------------------------------------------------------------
* | Copyright (c) 2016~2020 https://www.crmeb.com All rights reserved.
* +----------------------------------------------------------------------
* | Licensed CRMEB并不是自由软件未经许可不能去掉CRMEB相关版权
* +----------------------------------------------------------------------
* | Author: CRMEB Team <admin@crmeb.com>
* +----------------------------------------------------------------------
*/
public interface ExpressDao extends BaseMapper<Express> {
}

View File

@@ -1,16 +1,20 @@
package com.zbkj.crmeb.express.dao;
import com.zbkj.crmeb.express.model.ShippingTemplates;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
/**
* <p>
* Mapper 接口
* </p>
*
* @author Mr.Zhang
* @since 2020-04-17
*/
public interface ShippingTemplatesDao extends BaseMapper<ShippingTemplates> {
}
package com.zbkj.crmeb.express.dao;
import com.zbkj.crmeb.express.model.ShippingTemplates;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
/**
* Mapper 接口
* +----------------------------------------------------------------------
* | CRMEB [ CRMEB赋能开发者助力企业发展 ]
* +----------------------------------------------------------------------
* | Copyright (c) 2016~2020 https://www.crmeb.com All rights reserved.
* +----------------------------------------------------------------------
* | Licensed CRMEB并不是自由软件未经许可不能去掉CRMEB相关版权
* +----------------------------------------------------------------------
* | Author: CRMEB Team <admin@crmeb.com>
* +----------------------------------------------------------------------
*/
public interface ShippingTemplatesDao extends BaseMapper<ShippingTemplates> {
}

View File

@@ -7,12 +7,16 @@ import com.zbkj.crmeb.express.request.ShippingTemplatesFreeRequest;
import java.util.List;
/**
* <p>
* Mapper 接口
* </p>
*
* @author Mr.Zhang
* @since 2020-04-17
* +----------------------------------------------------------------------
* | CRMEB [ CRMEB赋能开发者助力企业发展 ]
* +----------------------------------------------------------------------
* | Copyright (c) 2016~2020 https://www.crmeb.com All rights reserved.
* +----------------------------------------------------------------------
* | Licensed CRMEB并不是自由软件未经许可不能去掉CRMEB相关版权
* +----------------------------------------------------------------------
* | Author: CRMEB Team <admin@crmeb.com>
* +----------------------------------------------------------------------
*/
public interface ShippingTemplatesFreeDao extends BaseMapper<ShippingTemplatesFree> {

View File

@@ -7,12 +7,16 @@ import com.zbkj.crmeb.express.request.ShippingTemplatesRegionRequest;
import java.util.List;
/**
* <p>
* Mapper 接口
* </p>
*
* @author Mr.Zhang
* @since 2020-04-17
* +----------------------------------------------------------------------
* | CRMEB [ CRMEB赋能开发者助力企业发展 ]
* +----------------------------------------------------------------------
* | Copyright (c) 2016~2020 https://www.crmeb.com All rights reserved.
* +----------------------------------------------------------------------
* | Licensed CRMEB并不是自由软件未经许可不能去掉CRMEB相关版权
* +----------------------------------------------------------------------
* | Author: CRMEB Team <admin@crmeb.com>
* +----------------------------------------------------------------------
*/
public interface ShippingTemplatesRegionDao extends BaseMapper<ShippingTemplatesRegion> {

View File

@@ -11,12 +11,16 @@ import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;
/**
* <p>
* 快递公司表
* </p>
*
* @author Mr.Zhang
* @since 2020-04-17
* +----------------------------------------------------------------------
* | CRMEB [ CRMEB赋能开发者助力企业发展 ]
* +----------------------------------------------------------------------
* | Copyright (c) 2016~2020 https://www.crmeb.com All rights reserved.
* +----------------------------------------------------------------------
* | Licensed CRMEB并不是自由软件未经许可不能去掉CRMEB相关版权
* +----------------------------------------------------------------------
* | Author: CRMEB Team <admin@crmeb.com>
* +----------------------------------------------------------------------
*/
@Data
@EqualsAndHashCode(callSuper = false)

View File

@@ -13,12 +13,16 @@ import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;
/**
* <p>
*
* </p>
*
* @author Mr.Zhang
* @since 2020-04-17
* 运费模版对象
* +----------------------------------------------------------------------
* | CRMEB [ CRMEB赋能开发者助力企业发展 ]
* +----------------------------------------------------------------------
* | Copyright (c) 2016~2020 https://www.crmeb.com All rights reserved.
* +----------------------------------------------------------------------
* | Licensed CRMEB并不是自由软件未经许可不能去掉CRMEB相关版权
* +----------------------------------------------------------------------
* | Author: CRMEB Team <admin@crmeb.com>
* +----------------------------------------------------------------------
*/
@Data
@EqualsAndHashCode(callSuper = false)

View File

@@ -14,12 +14,16 @@ import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;
/**
* <p>
*
* </p>
*
* @author Mr.Zhang
* @since 2020-04-17
* 免费运费模版
* +----------------------------------------------------------------------
* | CRMEB [ CRMEB赋能开发者助力企业发展 ]
* +----------------------------------------------------------------------
* | Copyright (c) 2016~2020 https://www.crmeb.com All rights reserved.
* +----------------------------------------------------------------------
* | Licensed CRMEB并不是自由软件未经许可不能去掉CRMEB相关版权
* +----------------------------------------------------------------------
* | Author: CRMEB Team <admin@crmeb.com>
* +----------------------------------------------------------------------
*/
@Data
@EqualsAndHashCode(callSuper = false)

View File

@@ -18,12 +18,16 @@ import lombok.experimental.Accessors;
import lombok.experimental.FieldDefaults;
/**
* <p>
*
* </p>
*
* @author Mr.Zhang
* @since 2020-04-17
* 运费模版区域
* +----------------------------------------------------------------------
* | CRMEB [ CRMEB赋能开发者助力企业发展 ]
* +----------------------------------------------------------------------
* | Copyright (c) 2016~2020 https://www.crmeb.com All rights reserved.
* +----------------------------------------------------------------------
* | Licensed CRMEB并不是自由软件未经许可不能去掉CRMEB相关版权
* +----------------------------------------------------------------------
* | Author: CRMEB Team <admin@crmeb.com>
* +----------------------------------------------------------------------
*/
@Data
@EqualsAndHashCode(callSuper = false)

View File

@@ -1,7 +1,5 @@
package com.zbkj.crmeb.express.request;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
@@ -14,12 +12,16 @@ import javax.validation.constraints.NotNull;
import java.io.Serializable;
/**
* <p>
* 快递公司表
* </p>
*
* @author Mr.Zhang
* @since 2020-04-17
* 快递公司 Request
* +----------------------------------------------------------------------
* | CRMEB [ CRMEB赋能开发者助力企业发展 ]
* +----------------------------------------------------------------------
* | Copyright (c) 2016~2020 https://www.crmeb.com All rights reserved.
* +----------------------------------------------------------------------
* | Licensed CRMEB并不是自由软件未经许可不能去掉CRMEB相关版权
* +----------------------------------------------------------------------
* | Author: CRMEB Team <admin@crmeb.com>
* +----------------------------------------------------------------------
*/
@Data
@EqualsAndHashCode(callSuper = false)

View File

@@ -1,23 +1,24 @@
package com.zbkj.crmeb.express.request;
import com.baomidou.mybatisplus.annotation.TableName;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;
import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;
import java.io.Serializable;
/**
* <p>
* 快递公司表
* </p>
*
* @author Mr.Zhang
* @since 2020-04-17
* 快递公司 搜索Request
* +----------------------------------------------------------------------
* | CRMEB [ CRMEB赋能开发者助力企业发展 ]
* +----------------------------------------------------------------------
* | Copyright (c) 2016~2020 https://www.crmeb.com All rights reserved.
* +----------------------------------------------------------------------
* | Licensed CRMEB并不是自由软件未经许可不能去掉CRMEB相关版权
* +----------------------------------------------------------------------
* | Author: CRMEB Team <admin@crmeb.com>
* +----------------------------------------------------------------------
*/
@Data
@EqualsAndHashCode(callSuper = false)

View File

@@ -14,12 +14,16 @@ import java.io.Serializable;
import java.math.BigDecimal;
/**
* <p>
* 免费
* </p>
*
* @author Mr.Zhang
* @since 2020-04-17
* 免费模版 Request
* +----------------------------------------------------------------------
* | CRMEB [ CRMEB赋能开发者助力企业发展 ]
* +----------------------------------------------------------------------
* | Copyright (c) 2016~2020 https://www.crmeb.com All rights reserved.
* +----------------------------------------------------------------------
* | Licensed CRMEB并不是自由软件未经许可不能去掉CRMEB相关版权
* +----------------------------------------------------------------------
* | Author: CRMEB Team <admin@crmeb.com>
* +----------------------------------------------------------------------
*/
@Data
@EqualsAndHashCode(callSuper = false)

View File

@@ -1,28 +1,28 @@
package com.zbkj.crmeb.express.request;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;
import org.hibernate.validator.constraints.Range;
import javax.validation.constraints.DecimalMin;
import javax.validation.constraints.Min;
import javax.validation.constraints.NotNull;
import java.io.Serializable;
import java.math.BigDecimal;
/**
* <p>
*
* </p>
*
* @author Mr.Zhang
* @since 2020-04-17
* 模板区域Reuqest
* +----------------------------------------------------------------------
* | CRMEB [ CRMEB赋能开发者助力企业发展 ]
* +----------------------------------------------------------------------
* | Copyright (c) 2016~2020 https://www.crmeb.com All rights reserved.
* +----------------------------------------------------------------------
* | Licensed CRMEB并不是自由软件未经许可不能去掉CRMEB相关版权
* +----------------------------------------------------------------------
* | Author: CRMEB Team <admin@crmeb.com>
* +----------------------------------------------------------------------
*/
@Data
@EqualsAndHashCode(callSuper = false)

Some files were not shown because too many files have changed in this diff Show More