工程初始化
|
@ -0,0 +1,10 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<classpath>
|
||||
<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER"/>
|
||||
<classpathentry kind="con" path="org.eclipse.m2e.MAVEN2_CLASSPATH_CONTAINER">
|
||||
<attributes>
|
||||
<attribute name="org.eclipse.jst.component.dependency" value="/WEB-INF/lib"/>
|
||||
</attributes>
|
||||
</classpathentry>
|
||||
<classpathentry kind="output" path="src/main/webapp/WEB-INF/classes"/>
|
||||
</classpath>
|
|
@ -0,0 +1,61 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<projectDescription>
|
||||
<name>kdayun-root</name>
|
||||
<comment></comment>
|
||||
<projects>
|
||||
</projects>
|
||||
<buildSpec>
|
||||
<buildCommand>
|
||||
<name>org.eclipse.wst.jsdt.core.javascriptValidator</name>
|
||||
<arguments>
|
||||
</arguments>
|
||||
</buildCommand>
|
||||
<buildCommand>
|
||||
<name>com.genuitec.eclipse.j2eedt.core.WebClasspathBuilder</name>
|
||||
<arguments>
|
||||
</arguments>
|
||||
</buildCommand>
|
||||
<buildCommand>
|
||||
<name>org.eclipse.jdt.core.javabuilder</name>
|
||||
<arguments>
|
||||
</arguments>
|
||||
</buildCommand>
|
||||
<buildCommand>
|
||||
<name>com.genuitec.eclipse.j2eedt.core.J2EEProjectValidator</name>
|
||||
<arguments>
|
||||
</arguments>
|
||||
</buildCommand>
|
||||
<buildCommand>
|
||||
<name>com.genuitec.eclipse.j2eedt.core.DeploymentDescriptorValidator</name>
|
||||
<arguments>
|
||||
</arguments>
|
||||
</buildCommand>
|
||||
<buildCommand>
|
||||
<name>org.eclipse.wst.common.project.facet.core.builder</name>
|
||||
<arguments>
|
||||
</arguments>
|
||||
</buildCommand>
|
||||
<buildCommand>
|
||||
<name>org.eclipse.m2e.core.maven2Builder</name>
|
||||
<arguments>
|
||||
</arguments>
|
||||
</buildCommand>
|
||||
<buildCommand>
|
||||
<name>org.eclipse.wst.validation.validationbuilder</name>
|
||||
<arguments>
|
||||
</arguments>
|
||||
</buildCommand>
|
||||
<buildCommand>
|
||||
<name>com.genuitec.eclipse.ast.deploy.core.DeploymentBuilder</name>
|
||||
<arguments>
|
||||
</arguments>
|
||||
</buildCommand>
|
||||
</buildSpec>
|
||||
<natures>
|
||||
<nature>org.eclipse.wst.common.modulecore.ModuleCoreNature</nature>
|
||||
<nature>org.eclipse.jdt.core.javanature</nature>
|
||||
<nature>org.eclipse.m2e.core.maven2Nature</nature>
|
||||
<nature>org.eclipse.wst.common.project.facet.core.nature</nature>
|
||||
<nature>org.eclipse.wst.jsdt.core.jsNature</nature>
|
||||
</natures>
|
||||
</projectDescription>
|
|
@ -0,0 +1,14 @@
|
|||
{
|
||||
"plugins": {
|
||||
"guess-types": {
|
||||
|
||||
},
|
||||
"outline": {
|
||||
|
||||
}
|
||||
},
|
||||
"libs": [
|
||||
"ecma5",
|
||||
"browser"
|
||||
]
|
||||
}
|
|
@ -0,0 +1,19 @@
|
|||
@echo off
|
||||
cd /d %~dp0
|
||||
set JAVA_HOME=""
|
||||
set mavenpath=""
|
||||
call %~dp0modules\kdayun-core\build.bat
|
||||
call %~dp0modules\kdayun-manager\build.bat
|
||||
call %~dp0modules\kdayun-admin\build.bat
|
||||
call %~dp0modules\kdayun-report\build.bat
|
||||
call %~dp0modules\kdayun-baidu\build.bat
|
||||
call %~dp0modules\kdayun-wechat\build.bat
|
||||
call %~dp0modules\kdayun-wecom\build.bat
|
||||
|
||||
|
||||
call %~dp0modules\kdayun-app\build.bat
|
||||
|
||||
|
||||
|
||||
|
||||
pause
|
|
@ -0,0 +1,2 @@
|
|||
H:\M\BS\maven\apache-maven-3.2.5\bin\mvn.bat dependency:tree
|
||||
pause
|
|
@ -0,0 +1,12 @@
|
|||
@echo off
|
||||
cd /d %~dp0
|
||||
set JAVA_HOME=""
|
||||
set mavenpath=""
|
||||
|
||||
call %~dp0modules\kdayun-core\mavendeploy.bat
|
||||
call %~dp0modules\kdayun-manager\mavendeploy.bat
|
||||
call %~dp0modules\kdayun-admin\mavendeploy.bat
|
||||
call %~dp0modules\kdayun-report\mavendeploy.bat
|
||||
|
||||
|
||||
pause
|
|
@ -0,0 +1,36 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<classpath>
|
||||
<classpathentry kind="src" output="target/classes" path="src/main/java">
|
||||
<attributes>
|
||||
<attribute name="optional" value="true"/>
|
||||
<attribute name="maven.pomderived" value="true"/>
|
||||
</attributes>
|
||||
</classpathentry>
|
||||
<classpathentry excluding="**" kind="src" output="target/classes" path="src/main/resources">
|
||||
<attributes>
|
||||
<attribute name="maven.pomderived" value="true"/>
|
||||
</attributes>
|
||||
</classpathentry>
|
||||
<classpathentry kind="con" path="org.eclipse.m2e.MAVEN2_CLASSPATH_CONTAINER">
|
||||
<attributes>
|
||||
<attribute name="maven.pomderived" value="true"/>
|
||||
</attributes>
|
||||
</classpathentry>
|
||||
<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.8">
|
||||
<attributes>
|
||||
<attribute name="maven.pomderived" value="true"/>
|
||||
</attributes>
|
||||
</classpathentry>
|
||||
<classpathentry kind="src" output="target/test-classes" path="src/test/java">
|
||||
<attributes>
|
||||
<attribute name="optional" value="true"/>
|
||||
<attribute name="maven.pomderived" value="true"/>
|
||||
<attribute name="test" value="true"/>
|
||||
</attributes>
|
||||
</classpathentry>
|
||||
<classpathentry combineaccessrules="false" kind="src" path="/kdayun-admin"/>
|
||||
<classpathentry combineaccessrules="false" kind="src" path="/kdayun-core"/>
|
||||
<classpathentry combineaccessrules="false" kind="src" path="/kdayun-manager"/>
|
||||
<classpathentry combineaccessrules="false" kind="src" path="/kdayun-report"/>
|
||||
<classpathentry kind="output" path="target/classes"/>
|
||||
</classpath>
|
|
@ -0,0 +1 @@
|
|||
/target/
|
|
@ -0,0 +1,13 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<project-module
|
||||
type="WEB"
|
||||
name="kdayun"
|
||||
id="myeclipse.1513761110848"
|
||||
context-root="/kdayun"
|
||||
j2ee-spec="6.0"
|
||||
archive="kdayun.war">
|
||||
<attributes>
|
||||
<attribute name="webrootdir" value="WebRoot" />
|
||||
</attributes>
|
||||
</project-module>
|
||||
|
|
@ -0,0 +1,67 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<projectDescription>
|
||||
<name>kdayun-app</name>
|
||||
<comment></comment>
|
||||
<projects>
|
||||
<project>kdayun-report</project>
|
||||
</projects>
|
||||
<buildSpec>
|
||||
<buildCommand>
|
||||
<name>org.eclipse.wst.jsdt.core.javascriptValidator</name>
|
||||
<arguments>
|
||||
</arguments>
|
||||
</buildCommand>
|
||||
<buildCommand>
|
||||
<name>org.eclipse.wst.common.project.facet.core.builder</name>
|
||||
<arguments>
|
||||
</arguments>
|
||||
</buildCommand>
|
||||
<buildCommand>
|
||||
<name>com.genuitec.eclipse.j2eedt.core.WebClasspathBuilder</name>
|
||||
<arguments>
|
||||
</arguments>
|
||||
</buildCommand>
|
||||
<buildCommand>
|
||||
<name>org.eclipse.jdt.core.javabuilder</name>
|
||||
<arguments>
|
||||
</arguments>
|
||||
</buildCommand>
|
||||
<buildCommand>
|
||||
<name>com.genuitec.eclipse.j2eedt.core.J2EEProjectValidator</name>
|
||||
<arguments>
|
||||
</arguments>
|
||||
</buildCommand>
|
||||
<buildCommand>
|
||||
<name>com.genuitec.eclipse.j2eedt.core.DeploymentDescriptorValidator</name>
|
||||
<arguments>
|
||||
</arguments>
|
||||
</buildCommand>
|
||||
<buildCommand>
|
||||
<name>org.eclipse.wst.validation.validationbuilder</name>
|
||||
<arguments>
|
||||
</arguments>
|
||||
</buildCommand>
|
||||
<buildCommand>
|
||||
<name>com.genuitec.eclipse.ast.deploy.core.DeploymentBuilder</name>
|
||||
<arguments>
|
||||
</arguments>
|
||||
</buildCommand>
|
||||
<buildCommand>
|
||||
<name>com.genuitec.eclipse.springframework.springbuilder</name>
|
||||
<arguments>
|
||||
</arguments>
|
||||
</buildCommand>
|
||||
<buildCommand>
|
||||
<name>org.eclipse.m2e.core.maven2Builder</name>
|
||||
<arguments>
|
||||
</arguments>
|
||||
</buildCommand>
|
||||
</buildSpec>
|
||||
<natures>
|
||||
<nature>org.eclipse.jdt.core.javanature</nature>
|
||||
<nature>org.eclipse.m2e.core.maven2Nature</nature>
|
||||
<nature>org.eclipse.wst.common.project.facet.core.nature</nature>
|
||||
<nature>org.eclipse.wst.common.modulecore.ModuleCoreNature</nature>
|
||||
<nature>org.eclipse.wst.jsdt.core.jsNature</nature>
|
||||
</natures>
|
||||
</projectDescription>
|
|
@ -0,0 +1,14 @@
|
|||
{
|
||||
"plugins": {
|
||||
"guess-types": {
|
||||
|
||||
},
|
||||
"outline": {
|
||||
|
||||
}
|
||||
},
|
||||
"libs": [
|
||||
"ecma5",
|
||||
"browser"
|
||||
]
|
||||
}
|
|
@ -0,0 +1,3 @@
|
|||
Manifest-Version: 1.0
|
||||
Class-Path:
|
||||
|
|
@ -0,0 +1,6 @@
|
|||
cd /d %~dp0
|
||||
set JAVA_HOME="D:\BS\Server\tomcat8\jdk"
|
||||
set mavenpath=D:\<5C><><EFBFBD><EFBFBD>\Tools\maven\apache-maven-3.2.5-bin\apache-maven-3.2.5\bin\mvn
|
||||
call jar.bat
|
||||
|
||||
pause
|
|
@ -0,0 +1,5 @@
|
|||
cd /d %~dp0
|
||||
|
||||
mvn source:jar -Dmaven.test.skip=true
|
||||
|
||||
|
|
@ -0,0 +1,3 @@
|
|||
cd /d %~dp0
|
||||
|
||||
mvn clean package -Dmaven.test.skip=true
|
|
@ -0,0 +1,229 @@
|
|||
<?xml version="1.0"?>
|
||||
<project xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"
|
||||
xmlns="http://maven.apache.org/POM/4.0.0"
|
||||
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
|
||||
<modelVersion>4.0.0</modelVersion>
|
||||
<packaging>jar</packaging>
|
||||
<parent>
|
||||
<artifactId>kdayun-root</artifactId>
|
||||
<groupId>com.kdayun</groupId>
|
||||
<version>5.0.0</version>
|
||||
<relativePath>../../</relativePath>
|
||||
</parent>
|
||||
<version>${base.version}</version>
|
||||
<artifactId>kdayun-app</artifactId>
|
||||
<name>kdayun-app</name>
|
||||
<url>http://www.kdayun.com</url>
|
||||
<properties>
|
||||
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
|
||||
<deployRoot>${project.build.directory}/deploy/${base.version}/</deployRoot>
|
||||
</properties>
|
||||
<dependencies>
|
||||
<dependency>
|
||||
<groupId>com.kdayun</groupId>
|
||||
<artifactId>kdayun-manager</artifactId>
|
||||
<version>${base.version}</version>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>com.kdayun</groupId>
|
||||
<artifactId>kdayun-admin</artifactId>
|
||||
<version>${base.version}</version>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>com.kdayun</groupId>
|
||||
<artifactId>kdayun-core</artifactId>
|
||||
<version>${base.version}</version>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>com.kdayun</groupId>
|
||||
<artifactId>kdayun-report</artifactId>
|
||||
<version>${base.version}</version>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>com.kdayun</groupId>
|
||||
<artifactId>kdayun-wechat</artifactId>
|
||||
<version>1.0.1</version>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>com.kdayun</groupId>
|
||||
<artifactId>kdayun-wecom</artifactId>
|
||||
<version>1.0.1</version>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>com.kdayun</groupId>
|
||||
<artifactId>kdayun-baidu</artifactId>
|
||||
<version>1.0.1</version>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>com.github.bingoohuang</groupId>
|
||||
<artifactId>patchca</artifactId>
|
||||
<version>0.0.1</version>
|
||||
</dependency>
|
||||
</dependencies>
|
||||
<build>
|
||||
<defaultGoal>compile</defaultGoal>
|
||||
<finalName>kdayun-app</finalName>
|
||||
<plugins>
|
||||
<!--定义项目的编译环境-->
|
||||
<plugin>
|
||||
<artifactId>maven-compiler-plugin</artifactId>
|
||||
<configuration>
|
||||
<source>${jdk.version}</source>
|
||||
<target>${jdk.version}</target>
|
||||
<encoding>UTF-8</encoding>
|
||||
</configuration>
|
||||
</plugin>
|
||||
<!--maven的测试用例插件,建议跳过。-->
|
||||
<plugin>
|
||||
<groupId>org.apache.maven.plugins</groupId>
|
||||
<artifactId>maven-surefire-plugin</artifactId>
|
||||
<configuration>
|
||||
<skip>true</skip>
|
||||
</configuration>
|
||||
</plugin>
|
||||
<!--这个是springboot的默认编译插件,他默认会把所有的文件打包成一个jar-->
|
||||
<plugin>
|
||||
<groupId>org.springframework.boot</groupId>
|
||||
<artifactId>spring-boot-maven-plugin</artifactId>
|
||||
<executions>
|
||||
<execution>
|
||||
<goals>
|
||||
<goal>repackage</goal>
|
||||
</goals>
|
||||
</execution>
|
||||
</executions>
|
||||
<configuration>
|
||||
<mainClass>com.ruoyi.RuoYiApplication</mainClass>
|
||||
<fork>true</fork>
|
||||
<addResources>true</addResources>
|
||||
<outputDirectory>${project.build.directory}/jar</outputDirectory>
|
||||
</configuration>
|
||||
</plugin>
|
||||
<!-- 打JAR包 -->
|
||||
<plugin>
|
||||
<groupId>org.apache.maven.plugins</groupId>
|
||||
<artifactId>maven-jar-plugin</artifactId>
|
||||
<configuration>
|
||||
<!-- 将静态资源排除出jar包 -->
|
||||
<excludes>
|
||||
<exclude>*.*</exclude>
|
||||
<exclude>static/**</exclude>
|
||||
<exclude>view/**</exclude>
|
||||
<exclude>dataimport/**</exclude>
|
||||
<exclude>scriptutil/**</exclude>
|
||||
<exclude>update/**</exclude>
|
||||
</excludes>
|
||||
<archive>
|
||||
<manifest>
|
||||
<addClasspath>true</addClasspath>
|
||||
<!-- MANIFEST.MF 中 Class-Path 加入前缀 -->
|
||||
<classpathPrefix>lib/</classpathPrefix>
|
||||
<!-- jar包不包含唯一版本标识 -->
|
||||
<useUniqueVersions>false</useUniqueVersions>
|
||||
<!-- 指定启动类的包路径 -->
|
||||
<mainClass>com.kdayun.MainApplication</mainClass>
|
||||
</manifest>
|
||||
<manifestEntries>
|
||||
<!--MANIFEST.MF 中 Class-Path 加入资源文件目录 -->
|
||||
<Class-Path>config/</Class-Path>
|
||||
</manifestEntries>
|
||||
</archive>
|
||||
<!-- 指定打出的jar包路径 -->
|
||||
<outputDirectory>${deployRoot}</outputDirectory>
|
||||
</configuration>
|
||||
</plugin>
|
||||
<!-- 该插件的作用是用于复制依赖的jar包到指定的文件夹里 -->
|
||||
<plugin>
|
||||
<groupId>org.apache.maven.plugins</groupId>
|
||||
<artifactId>maven-dependency-plugin</artifactId>
|
||||
<executions>
|
||||
<execution>
|
||||
<id>copy-dependencies</id>
|
||||
<phase>package</phase>
|
||||
<goals>
|
||||
<goal>copy-dependencies</goal>
|
||||
</goals>
|
||||
<configuration>
|
||||
<outputDirectory>${deployRoot}/lib/</outputDirectory>
|
||||
</configuration>
|
||||
</execution>
|
||||
</executions>
|
||||
</plugin>
|
||||
|
||||
<!-- 该插件的作用是用于复制指定的文件 -->
|
||||
<plugin>
|
||||
<artifactId>maven-resources-plugin</artifactId>
|
||||
<executions>
|
||||
<execution> <!-- 复制配置文件 -->
|
||||
<id>copy-resources</id>
|
||||
<phase>package</phase>
|
||||
<goals>
|
||||
<goal>copy-resources</goal>
|
||||
</goals>
|
||||
<configuration>
|
||||
|
||||
<resources>
|
||||
<resource>
|
||||
<!-- 指定静态资源的路径 -->
|
||||
<directory>src/main/resources</directory>
|
||||
<excludes>
|
||||
<exclude>run.bat</exclude>
|
||||
</excludes>
|
||||
<!-- 指定需要复制的文件 -->
|
||||
<includes>
|
||||
<include>*.*</include>
|
||||
<include>static/**</include>
|
||||
<include>view/**</include>
|
||||
<include>dataimport/**</include>
|
||||
<include>scriptutil/**</include>
|
||||
<include>update/**</include>
|
||||
</includes>
|
||||
</resource>
|
||||
</resources>
|
||||
<outputDirectory>${deployRoot}/config</outputDirectory>
|
||||
</configuration>
|
||||
</execution>
|
||||
<execution>
|
||||
<id>copy-run-bat</id>
|
||||
<phase>package</phase>
|
||||
<goals>
|
||||
<goal>copy-resources</goal>
|
||||
</goals>
|
||||
<configuration>
|
||||
<resources>
|
||||
<resource>
|
||||
<!-- 指定静态资源的路径 -->
|
||||
<directory>src/main/resources</directory>
|
||||
<!-- 指定需要复制的文件 -->
|
||||
<includes>
|
||||
<include>run.bat</include>
|
||||
<include>run</include>
|
||||
<include>stop</include>
|
||||
</includes>
|
||||
</resource>
|
||||
</resources>
|
||||
<outputDirectory>${deployRoot}</outputDirectory>
|
||||
</configuration>
|
||||
</execution>
|
||||
</executions>
|
||||
</plugin>
|
||||
</plugins>
|
||||
|
||||
</build>
|
||||
<profiles>
|
||||
<profile>
|
||||
<id>jdk-${jdk.version}</id>
|
||||
<!-- 另外一种激活方式 -->
|
||||
<activation>
|
||||
<activeByDefault>true</activeByDefault>
|
||||
<jdk>${jdk.version}</jdk>
|
||||
</activation>
|
||||
<properties>
|
||||
<maven.compiler.source>${jdk.version}</maven.compiler.source>
|
||||
<maven.compiler.target>${jdk.version}</maven.compiler.target>
|
||||
<maven.compiler.compilerVersion>${jdk.version}</maven.compiler.compilerVersion>
|
||||
</properties>
|
||||
</profile>
|
||||
</profiles>
|
||||
</project>
|
||||
|
|
@ -0,0 +1,32 @@
|
|||
package com.kdayun;
|
||||
|
||||
import java.nio.charset.Charset;
|
||||
|
||||
import org.mybatis.spring.annotation.MapperScan;
|
||||
import org.springframework.boot.SpringApplication;
|
||||
import org.springframework.boot.autoconfigure.SpringBootApplication;
|
||||
import org.springframework.boot.web.servlet.ServletComponentScan;
|
||||
import org.springframework.boot.web.servlet.support.SpringBootServletInitializer;
|
||||
import org.springframework.context.annotation.ComponentScan;
|
||||
|
||||
import com.kdayun.z1.core.framework.ApplicationContextHolder;
|
||||
|
||||
@ServletComponentScan
|
||||
@ComponentScan(basePackages = { "com.kdayun.admin", "com.kdayun.boot", "com.kdayun.z1", "com.kdayun.manager",
|
||||
"com.kdayun.report", "com.kdayun.baidu", "com.kdayun.wecom", "com.kdayun.wechat" })
|
||||
@SpringBootApplication
|
||||
@MapperScan(basePackages = { "com.kdayun.*.mapper" })
|
||||
public class MainApplication extends SpringBootServletInitializer {
|
||||
|
||||
public static void main(String[] args) {
|
||||
SpringApplication springApplication = new SpringApplication(MainApplication.class,
|
||||
ApplicationContextHolder.class);
|
||||
|
||||
System.out.println("file.encoding:" + System.getProperty("file.encoding"));
|
||||
System.out.println("defaultCharset:" + Charset.defaultCharset());
|
||||
|
||||
springApplication.run(args);
|
||||
|
||||
}
|
||||
|
||||
}
|
|
@ -0,0 +1,4 @@
|
|||
baidu:
|
||||
appid: 25392062
|
||||
appkey: 90Y67SAwWtfj0GKqGLtD0LEp
|
||||
secretkey: o1f5YAQprZMQluTnzacV1iCqsukRhKWm
|
|
@ -0,0 +1,18 @@
|
|||
spring:
|
||||
cache:
|
||||
# 指定缓存类型: ehcache ,redis
|
||||
type: ehcache
|
||||
# ehcache 的配置
|
||||
ehcache:
|
||||
config: "classpath:ehcache.xml"
|
||||
# redis 的配置
|
||||
redis:
|
||||
host: 127.0.0.1
|
||||
port: 6379
|
||||
timeout: 5000
|
||||
jedis:
|
||||
pool:
|
||||
max-idle: 8
|
||||
min-idle: 0
|
||||
max-active: 8
|
||||
max-wait: -1
|
|
@ -0,0 +1,32 @@
|
|||
#############云服务配置################################
|
||||
eureka:
|
||||
client:
|
||||
service-url:
|
||||
defaultZone: http://localhost:9001/eureka
|
||||
info:
|
||||
app.name: 快搭科技(上海)有限公司-云应用
|
||||
company.name: www.kdayun.com
|
||||
build.artifactId: $project.artifactId$
|
||||
build.version: $project.version$
|
||||
|
||||
|
||||
###########oauth2#############
|
||||
#oauth2 服务端端地址 注意格式是带http的哦
|
||||
#oauth2-server: http://127.0.0.1:8082/kdayun-cloud-sso
|
||||
#security:
|
||||
# oauth2:
|
||||
# sso:
|
||||
# loginPath: ${oauth2-server}/tologin # 登录路径
|
||||
# client:
|
||||
# 在oauth2 服务端注册的client-id
|
||||
# clientId: 77A8A8CE238B408382F5F8F7D4E90774
|
||||
# 在oauth2 服务端注册的secret
|
||||
# clientSecret: 6F28F088A3EF456FB069CF95477A2CAD
|
||||
# user-authorization-uri: ${oauth2-server}/oauth/authorize
|
||||
# access-token-uri: ${oauth2-server}/oauth/token
|
||||
# logout: ${oauth2-server}/oauth/logout
|
||||
# scope: ALL
|
||||
# resource:
|
||||
# 用户信息
|
||||
# user-info-uri: ${oauth2-server}/user
|
||||
# token-info-uri: ${oauth2-server}/oauth/check_token
|
|
@ -0,0 +1,25 @@
|
|||
spring:
|
||||
datasource:
|
||||
name: druidDataSource
|
||||
type: com.alibaba.druid.pool.DruidDataSource
|
||||
username: zl
|
||||
password: zl123456zl
|
||||
driver-class-name: com.mysql.cj.jdbc.Driver
|
||||
url: jdbc:mysql://127.0.0.1:3706/dev?useSSL=true&autoReconnect=true&useUnicode=true&characterEncoding=UTF-8&serverTimezone=Asia/Shanghai
|
||||
# SqlServer (SqlServer DB)
|
||||
# driver-class-name: net.sourceforge.jtds.jdbc.Driver
|
||||
# url: jdbc:jtds:sqlserver://ZL_SERVER_D:1433/qjb
|
||||
# validationQuery: SELECT 1
|
||||
# 达梦¦(DM DB)
|
||||
# driver-class-name: dm.jdbc.driver.DmDriver
|
||||
# url: jdbc:jdbc:dm://127.0.0.1:5236/DMSERVER
|
||||
# validationQuery: SELECT 1
|
||||
# 金仓 (jc DB)
|
||||
# driver-class-name=com.kingbase8.Driver
|
||||
# url=jdbc\:kingbase8\://127.0.0.1\:54321/QJB
|
||||
# validationQuery=SELECT 1
|
||||
# #Oracle (Devlopment DB)
|
||||
#username: ZL
|
||||
#password: zl123456zl
|
||||
#driver-class-name: oracle.jdbc.OracleDriver
|
||||
#url: jdbc:oracle:thin:@192.168.1.5:1521:XE
|
|
@ -0,0 +1,34 @@
|
|||
spring:
|
||||
datasource:
|
||||
druid:
|
||||
initialSize: 20
|
||||
minIdle: 20
|
||||
maxActive: 2000
|
||||
# 配置获取连接等待超时的时间
|
||||
maxWait: 60000
|
||||
# 配置间隔多久才进行一次检测,检测需要关闭的空闲连接,机构是毫秒
|
||||
timeBetweenEvictionRunsMillis: 60000
|
||||
# 配置一个连接在池中最小生存的时间,机构是毫秒
|
||||
minEvictableIdleTimeMillis: 300000
|
||||
testWhileIdle: true
|
||||
testOnBorrow: false
|
||||
testOnReturn: false
|
||||
# 打开PSCache,并且指定每个连接上PSCache的大小
|
||||
poolPreparedStatements: true
|
||||
maxPoolPreparedStatementPerConnectionSize: 30
|
||||
# 配置监控统计拦截的filters,去掉后监控界面sql无法统计,wall用于防火墙
|
||||
# filters: stat
|
||||
# 通过connectProperties属性来打开mergeSql功能;慢SQL记录
|
||||
# connectionProperties: druid.stat.mergeSql=true;druid.stat.slowSqlMillis=3000
|
||||
#使用非公平锁
|
||||
useUnfairLock: true
|
||||
removeAbandoned: true
|
||||
removeAbandonedTimeoutMillis: 300000
|
||||
logAbandoned: true
|
||||
keepAlive: true
|
||||
filter:
|
||||
commons-log:
|
||||
#data-source-log-enabled: true
|
||||
statement-log-enabled: true
|
||||
statement-executable-sql-log-enable: true
|
||||
|
|
@ -0,0 +1,22 @@
|
|||
spring:
|
||||
freemarker:
|
||||
allow-request-override: false
|
||||
allow-session-override: false
|
||||
cache: false
|
||||
charset: UTF-8
|
||||
check-template-location: true
|
||||
content-type: text/html
|
||||
enabled: true
|
||||
expose-request-attributes: false
|
||||
expose-session-attributes: false
|
||||
expose-spring-macro-helpers: true
|
||||
prefer-file-system-access: true
|
||||
suffix: .ftl
|
||||
template-loader-path: classpath:/view/
|
||||
settings.template_update_delay: 0
|
||||
settings.default_encoding: UTF-8
|
||||
settings.classic_compatible: true
|
||||
settings.date_format: yyyy-MM-dd
|
||||
settings.time_format: HH:mm:ss
|
||||
settings.datetime_format: yyyy-MM-dd HH:mm:ss
|
||||
request-context-attribute : request
|
|
@ -0,0 +1,5 @@
|
|||
logging:
|
||||
config: "classpath:log4j2.xml"
|
||||
formatMsgNoLookups: true
|
||||
level:
|
||||
org.springframework: info
|
|
@ -0,0 +1,5 @@
|
|||
########################## mybatis ##########################
|
||||
mybatis:
|
||||
#config-location: "classpath: spring-mybatis.xml"
|
||||
mapper-locations: "classpath: com/kdayun/**/*Mapper.xml"
|
||||
type-handlers-package: com.kdayun.z1.core.mybatis.typehandle
|
|
@ -0,0 +1,10 @@
|
|||
server:
|
||||
port: 20003
|
||||
servlet:
|
||||
context-path: /kdayun
|
||||
session:
|
||||
cookie:
|
||||
name: cloud
|
||||
tomcat:
|
||||
basedir: /tmp/tomcat
|
||||
uri-encoding: utf-8
|
|
@ -0,0 +1,7 @@
|
|||
#文件的上传地址
|
||||
upload-path: d:/upload/
|
||||
spring:
|
||||
servlet:
|
||||
multipart:
|
||||
max-file-size: 100MB
|
||||
max-request-size: 100MB
|
|
@ -0,0 +1,13 @@
|
|||
|
||||
spring:
|
||||
profiles:
|
||||
#引用多个application-开头的yml文件 多个以逗号隔开
|
||||
include: db,logger,cache,upload,freemarker,druid,mybatis,baidu,server,cloud
|
||||
devtools:
|
||||
restart:
|
||||
ebabled: false
|
||||
main:
|
||||
allow-bean-definition-overriding: true
|
||||
application:
|
||||
name: 快搭科技(上海)有限公司-应用
|
||||
|
|
@ -0,0 +1,41 @@
|
|||
/**
|
||||
* 导入校验脚本
|
||||
*/
|
||||
import groovy.ui.SystemOutputInterceptor;
|
||||
import com.kdayun.z1.core.base.RetVo;
|
||||
import com.kdayun.z1.core.base.RetVo.retstate;
|
||||
|
||||
/**
|
||||
* sum,前面参数之和等于最后一个
|
||||
*
|
||||
* @param args
|
||||
* @return
|
||||
* @author qjb
|
||||
* @date 2019年1月28日 下午1:43:55
|
||||
*/
|
||||
public RetVo checkDataIsEqual(Object[] args) {
|
||||
if (args == null || args.length == 0) {
|
||||
return RetVo.getNewInstance(retstate.ERROR, "", null);
|
||||
}
|
||||
double tempvalue = 0;
|
||||
for (Integer i = 0; i < args.length - 1; i++) {
|
||||
Object obj = args[i];
|
||||
try {
|
||||
tempvalue += Double.valueOf(obj.toString());
|
||||
} catch (Exception e) {
|
||||
return RetVo.getNewInstance(retstate.ERROR, "", null);
|
||||
}
|
||||
}
|
||||
double totalSum;
|
||||
try {
|
||||
totalSum = Double.valueOf(args[args.length - 1].toString());
|
||||
} catch (Exception e) {
|
||||
return RetVo.getNewInstance(retstate.ERROR, "", null);
|
||||
}
|
||||
if (tempvalue == totalSum) {
|
||||
return RetVo.getNewInstance(retstate.OK, "", null);
|
||||
}
|
||||
return RetVo.getNewInstance(retstate.ERROR, "", null);
|
||||
|
||||
|
||||
}
|
|
@ -0,0 +1,87 @@
|
|||
/**
|
||||
* 查询数据脚本
|
||||
*/
|
||||
import groovy.ui.SystemOutputInterceptor;
|
||||
import com.kdayun.z1.core.context.Context;
|
||||
|
||||
/**
|
||||
* 获取当前登录机构的orgid
|
||||
*
|
||||
* @param
|
||||
* @return orgid
|
||||
* @author qjb
|
||||
* @date 2019年1月30日 下午5:55:55
|
||||
*/
|
||||
public String getOrgid() {
|
||||
return Context.getInstance().securityService.getCurrentUser().getCurrentOrgId();
|
||||
}
|
||||
/**
|
||||
* 获取当前登录机构名字
|
||||
*
|
||||
* @return
|
||||
* @author qjb
|
||||
* @date 2019年2月19日 上午9:11:19
|
||||
*/
|
||||
|
||||
public String getCurOrgName() {
|
||||
return Context.getInstance().securityService.getCurrentUser().getCurrentOrgName();
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取当前登录用户id
|
||||
*
|
||||
* @return
|
||||
* @author qjb
|
||||
* @date 2019年2月19日 上午9:11:19
|
||||
*/
|
||||
|
||||
public String getCurUserid() {
|
||||
return Context.getInstance().securityService.getCurrentUser().getId();
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取当前登录用户的姓名
|
||||
*
|
||||
* @return
|
||||
* @author qjb
|
||||
* @date 2019年2月19日 上午9:11:19
|
||||
*/
|
||||
|
||||
public String getCurUserName() {
|
||||
return Context.getInstance().securityService.getCurrentUser().getName();
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取当前登录用户部门的id
|
||||
*
|
||||
* @return
|
||||
* @author qjb
|
||||
* @date 2019年2月19日 上午9:11:19
|
||||
*/
|
||||
|
||||
public String getCurDeptid() {
|
||||
return Context.getInstance().securityService.getCurrentUser().getCurrentDeptId();
|
||||
}
|
||||
/**
|
||||
* 获取当前登录用户部门的名字
|
||||
*
|
||||
* @return
|
||||
* @author qjb
|
||||
* @date 2019年2月19日 上午9:11:19
|
||||
*/
|
||||
|
||||
public String getCurDeptName() {
|
||||
return Context.getInstance().securityService.getCurrentUser().getCurrentDeptName();
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取当前时间
|
||||
*
|
||||
* @return
|
||||
* @author qjb
|
||||
* @date 2019年2月19日 上午9:11:19
|
||||
*/
|
||||
|
||||
public Date getCurDate() {
|
||||
return new Date();
|
||||
}
|
|
@ -0,0 +1,96 @@
|
|||
/**
|
||||
* 查询数据脚本
|
||||
*/
|
||||
import groovy.ui.SystemOutputInterceptor;
|
||||
import com.kdayun.z1.core.context.Context;
|
||||
import com.kdayun.z1.core.base.RetVo;
|
||||
|
||||
/**
|
||||
* 获取当前登录机构的orgid
|
||||
*
|
||||
* @param
|
||||
* @return orgid
|
||||
* @author qjb
|
||||
* @date 2019年1月30日 下午5:55:55
|
||||
*/
|
||||
public String getOrgid() {
|
||||
return Context.getInstance().securityService.getCurrentUser().getCurrentOrgId();
|
||||
}
|
||||
/**
|
||||
* 获取当前登录机构名字
|
||||
*
|
||||
* @return
|
||||
* @author qjb
|
||||
* @date 2019年2月19日 上午9:11:19
|
||||
*/
|
||||
|
||||
public String getCurOrgName() {
|
||||
return Context.getInstance().securityService.getCurrentUser().getCurrentOrgName();
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取当前登录用户id
|
||||
*
|
||||
* @return
|
||||
* @author qjb
|
||||
* @date 2019年2月19日 上午9:11:19
|
||||
*/
|
||||
|
||||
public String getCurUserid() {
|
||||
return Context.getInstance().securityService.getCurrentUser().getId();
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取当前登录用户的姓名
|
||||
*
|
||||
* @return
|
||||
* @author qjb
|
||||
* @date 2019年2月19日 上午9:11:19
|
||||
*/
|
||||
|
||||
public String getCurUserName() {
|
||||
return Context.getInstance().securityService.getCurrentUser().getName();
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取当前登录用户部门的id
|
||||
*
|
||||
* @return
|
||||
* @author qjb
|
||||
* @date 2019年2月19日 上午9:11:19
|
||||
*/
|
||||
|
||||
public String getCurDeptid() {
|
||||
return Context.getInstance().securityService.getCurrentUser().getCurrentDeptId();
|
||||
}
|
||||
/**
|
||||
* 获取当前登录用户部门的名字
|
||||
*
|
||||
* @return
|
||||
* @author qjb
|
||||
* @date 2019年2月19日 上午9:11:19
|
||||
*/
|
||||
|
||||
public String getCurDeptName() {
|
||||
return Context.getInstance().securityService.getCurrentUser().getCurrentDeptName();
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取当前时间
|
||||
*
|
||||
* @return
|
||||
* @author qjb
|
||||
* @date 2019年2月19日 上午9:11:19
|
||||
*/
|
||||
|
||||
public Date getCurDate() {
|
||||
return new Date();
|
||||
}
|
||||
|
||||
public RetVo checkDataIsEqual(Object[] args) {
|
||||
System.out.println("11");
|
||||
}
|
||||
public RetVo CHECKXX(List<Map<String, Object>> XX,List<String> AA) {
|
||||
System.out.println("233");
|
||||
}
|
||||
|
|
@ -0,0 +1,42 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"
|
||||
xmlns:b3mn="http://b3mn.org/2007/b3mn"
|
||||
xmlns:ext="http://b3mn.org/2007/ext"
|
||||
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
|
||||
xmlns:atom="http://b3mn.org/2007/atom+xhtml">
|
||||
<head profile="http://purl.org/NET/erdf/profile">
|
||||
<title>Activiti BPM suite</title>
|
||||
<!-- libraries -->
|
||||
<script src="../static/workflow/libs/prototype-1.5.1.js" type="text/javascript" />
|
||||
<script src="../static/workflow/libs/path_parser.js" type="text/javascript" />
|
||||
<script src="../static/workflow/libs/ext-2.0.2/adapter/ext/ext-base.js" type="text/javascript" />
|
||||
<script src="../static/workflow/libs/ext-2.0.2/ext-all-debug.js" type="text/javascript" />
|
||||
<script src="../static/workflow/libs/ext-2.0.2/color-field.js" type="text/javascript" />
|
||||
<style media="screen" type="text/css">
|
||||
@import url("../static/workflow/libs/ext-2.0.2/resources/css/ext-all.css");
|
||||
@import url("../static/workflow/libs/ext-2.0.2/resources/css/xtheme-darkgray.css");
|
||||
</style>
|
||||
<link rel="Stylesheet" media="screen" href="../static/workflow/editor/css/theme_norm.css" type="text/css" />
|
||||
<link rel="Stylesheet" media="screen" href="../static/workflow/editor/css/theme_norm_signavio.css" type="text/css" />
|
||||
<link rel="Stylesheet" media="screen" href="../static/workflow/explorer/src/css/xtheme-smoky.css" type="text/css" />
|
||||
<link rel="Stylesheet" media="screen" href="../static/workflow/explorer/src/css/custom-style.css" type="text/css" />
|
||||
<!-- oryx editor -->
|
||||
<!-- language files -->
|
||||
<script src="../static/workflow/editor/i18n/translation_ch.js" type="text/javascript" />
|
||||
<script src="../static/workflow/editor/i18n/translation_signavio_ch.js" type="text/javascript" />
|
||||
<script src="../static/workflow/libs/utils.js" type="text/javascript" />
|
||||
<script src="../static/workflow/editor/oryx.debug.js" type="text/javascript" />
|
||||
<!-- erdf schemas -->
|
||||
|
||||
<script src="../static/libs/ace/ace.js" type="text/javascript" />
|
||||
<script src="../static/libs/ace/ext-language_tools.js"></script>
|
||||
|
||||
<link rel="schema.dc" href="http://purl.org/dc/elements/1.1/" />
|
||||
<link rel="schema.dcTerms" href="http://purl.org/dc/terms/" />
|
||||
<link rel="schema.b3mn" href="http://b3mn.org" />
|
||||
<link rel="schema.oryx" href="http://oryx-editor.org/" />
|
||||
<link rel="schema.raziel" href="http://raziel.org/" />
|
||||
</head>
|
||||
<body style="overflow:hidden;">
|
||||
</body>
|
||||
</html>
|
|
@ -0,0 +1,39 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<ehcache updateCheck="true" name="MyEhcache-Shiro">
|
||||
<!--
|
||||
EHCache 配置文件解释:
|
||||
name Cache的名称,必须是唯一的(ehcache会把这个cache放到HashMap里)
|
||||
maxElementsInMemory 内存中保持的对象数量
|
||||
maxElementsOnDisk DiskStore中保持的对象数量,默认值为0,表示不限制
|
||||
eternal 是否是永恒数据,如果是,则它的超时设置会被忽略
|
||||
overflowToDisk 如果内存中数据数量超过maxElementsInMemory限制,是否要缓存到磁盘上
|
||||
timeToIdleSeconds 对象空闲时间,指对象在多长时间没有被访问就会失效。只对eternal为false的有效。默认值0,表示一直可以访问
|
||||
timeToLiveSeconds 对象存活时间,指对象从创建到失效所需要的时间。只对eternal为false的有效。默认值0,表示一直可以访问
|
||||
diskPersistent 是否在磁盘上持久化。指重启jvm后,数据是否有效。默认为false
|
||||
diskExpiryThreadIntervalSeconds 对象检测线程运行时间间隔。标识对象状态的线程多长时间运行一次
|
||||
diskSpoolBufferSizeMB DiskStore使用的磁盘大小,默认值30MB。每个cache使用各自的DiskStore
|
||||
memoryStoreEvictionPolicy 如果内存中数据超过内存限制,向磁盘缓存时的策略。默认值LRU,可选FIFO、LFU
|
||||
-->
|
||||
<!-- 默认的缓存设置,如果没有设置缓存的名称就使用这个策略 -->
|
||||
<defaultCache
|
||||
maxElementsInMemory="10000"
|
||||
maxElementsOnDisk="0"
|
||||
eternal="false"
|
||||
overflowToDisk="true"
|
||||
diskPersistent="false"
|
||||
timeToIdleSeconds="20"
|
||||
timeToLiveSeconds="0"
|
||||
diskSpoolBufferSizeMB="50"
|
||||
diskExpiryThreadIntervalSeconds="120"
|
||||
memoryStoreEvictionPolicy="LFU"
|
||||
/>
|
||||
<cache name="tokenCache"
|
||||
maxEntriesLocalHeap="2000"
|
||||
maxElementsInMemory="50000"
|
||||
eternal="true"
|
||||
overflowToDisk="true"
|
||||
statistics="true"
|
||||
diskPersistent="true"
|
||||
memoryStoreEvictionPolicy="LFU">
|
||||
</cache>
|
||||
</ehcache>
|
|
@ -0,0 +1,135 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<ehcache updateCheck="true" name="MyEhcache">
|
||||
<!--
|
||||
EHCache 配置文件解释:
|
||||
name Cache的名称,必须是唯一的(ehcache会把这个cache放到HashMap里)
|
||||
maxElementsInMemory 内存中保持的对象数量
|
||||
maxElementsOnDisk DiskStore中保持的对象数量,默认值为0,表示不限制
|
||||
eternal 是否是永恒数据,如果是,则它的超时设置会被忽略
|
||||
overflowToDisk 如果内存中数据数量超过maxElementsInMemory限制,是否要缓存到磁盘上
|
||||
timeToIdleSeconds 对象空闲时间,指对象在多长时间没有被访问就会失效。只对eternal为false的有效。默认值0,表示一直可以访问
|
||||
timeToLiveSeconds 对象存活时间,指对象从创建到失效所需要的时间。只对eternal为false的有效。默认值0,表示一直可以访问
|
||||
diskPersistent 是否在磁盘上持久化。指重启jvm后,数据是否有效。默认为false
|
||||
diskExpiryThreadIntervalSeconds 对象检测线程运行时间间隔。标识对象状态的线程多长时间运行一次
|
||||
diskSpoolBufferSizeMB DiskStore使用的磁盘大小,默认值30MB。每个cache使用各自的DiskStore
|
||||
memoryStoreEvictionPolicy 如果内存中数据超过内存限制,向磁盘缓存时的策略。默认值LRU,可选FIFO、LFU
|
||||
-->
|
||||
<!-- 默认的缓存设置,如果没有设置缓存的名称就使用这个策略 -->
|
||||
<defaultCache
|
||||
maxElementsInMemory="10000"
|
||||
maxElementsOnDisk="0"
|
||||
eternal="false"
|
||||
overflowToDisk="true"
|
||||
diskPersistent="false"
|
||||
timeToIdleSeconds="20"
|
||||
timeToLiveSeconds="0"
|
||||
diskSpoolBufferSizeMB="50"
|
||||
diskExpiryThreadIntervalSeconds="120"
|
||||
memoryStoreEvictionPolicy="LFU"
|
||||
/>
|
||||
|
||||
<!-- 登录记录缓存 过期时间一个小时 -->
|
||||
<cache name="shiro-activeSessionCache"
|
||||
maxEntriesLocalHeap="2000"
|
||||
eternal="false"
|
||||
timeToIdleSeconds="3600"
|
||||
timeToLiveSeconds="0"
|
||||
overflowToDisk="true"
|
||||
statistics="true"
|
||||
diskPersistent="faLse"
|
||||
memoryStoreEvictionPolicy = "LFU"
|
||||
>
|
||||
</cache>
|
||||
<!-- 表模型的缓存 -->
|
||||
<cache name="tableCache"
|
||||
maxEntriesLocalHeap="2000"
|
||||
eternal="false"
|
||||
timeToIdleSeconds="3600"
|
||||
timeToLiveSeconds="0"
|
||||
overflowToDisk="false"
|
||||
statistics="true">
|
||||
</cache>
|
||||
|
||||
<!-- 字典的缓存 -->
|
||||
<cache name="dictionaryCache"
|
||||
maxEntriesLocalHeap="2000"
|
||||
eternal="false"
|
||||
timeToIdleSeconds="3600"
|
||||
timeToLiveSeconds="0"
|
||||
overflowToDisk="false"
|
||||
statistics="true">
|
||||
</cache>
|
||||
<cache name="RightResCache"
|
||||
maxEntriesLocalHeap="2000"
|
||||
eternal="false"
|
||||
timeToIdleSeconds="3600"
|
||||
timeToLiveSeconds="0"
|
||||
overflowToDisk="false"
|
||||
statistics="true">
|
||||
</cache>
|
||||
<cache name="RoleCache"
|
||||
maxEntriesLocalHeap="2000"
|
||||
eternal="false"
|
||||
timeToIdleSeconds="3600"
|
||||
timeToLiveSeconds="0"
|
||||
overflowToDisk="false"
|
||||
statistics="true">
|
||||
</cache>
|
||||
<cache name="TableCache"
|
||||
maxEntriesLocalHeap="2000"
|
||||
eternal="false"
|
||||
timeToIdleSeconds="3600"
|
||||
timeToLiveSeconds="0"
|
||||
overflowToDisk="false"
|
||||
statistics="true">
|
||||
</cache>
|
||||
<cache name="configCache"
|
||||
maxEntriesLocalHeap="2000"
|
||||
eternal="false"
|
||||
timeToIdleSeconds="3600"
|
||||
timeToLiveSeconds="0"
|
||||
overflowToDisk="false"
|
||||
statistics="true">
|
||||
</cache>
|
||||
<cache name="userPdataCache"
|
||||
maxEntriesLocalHeap="2000"
|
||||
eternal="false"
|
||||
timeToIdleSeconds="3600"
|
||||
timeToLiveSeconds="0"
|
||||
overflowToDisk="false"
|
||||
statistics="true">
|
||||
</cache>
|
||||
<cache name="tokenCache"
|
||||
maxEntriesLocalHeap="2000"
|
||||
maxElementsInMemory="50000"
|
||||
eternal="true"
|
||||
overflowToDisk="true"
|
||||
statistics="true"
|
||||
diskPersistent="true"
|
||||
memoryStoreEvictionPolicy="LFU">
|
||||
</cache>
|
||||
<cache name="ModelDesignCache"
|
||||
maxEntriesLocalHeap="2000"
|
||||
eternal="false"
|
||||
timeToIdleSeconds="3600"
|
||||
timeToLiveSeconds="0"
|
||||
overflowToDisk="false"
|
||||
statistics="true">
|
||||
</cache>
|
||||
<cache name="DCCache"
|
||||
maxEntriesLocalHeap="2000"
|
||||
eternal="false"
|
||||
timeToIdleSeconds="3600"
|
||||
timeToLiveSeconds="0"
|
||||
overflowToDisk="false"
|
||||
statistics="true">
|
||||
</cache>
|
||||
<cache name="repeatPostIds"
|
||||
maxEntriesLocalHeap="2000"
|
||||
eternal="false"
|
||||
timeToIdleSeconds="3600"
|
||||
timeToLiveSeconds="0"
|
||||
overflowToDisk="false"
|
||||
statistics="true">
|
||||
</cache>
|
||||
</ehcache>
|
|
@ -0,0 +1,21 @@
|
|||
-----BEGIN CERTIFICATE-----
|
||||
MIIDbTCCAlWgAwIBAgIEJ/YFQjANBgkqhkiG9w0BAQsFADBmMQswCQYDVQQGEwJj
|
||||
bjEPMA0GA1UECBMGc2hhbmdoMQ8wDQYDVQQHEwZzaGFuZ2gxDzANBgNVBAoTBmtk
|
||||
YXl1bjETMBEGA1UECxMKa2RheXVuIGx0ZDEPMA0GA1UEAxMGa2RheXVuMCAXDTIx
|
||||
MTExNjA4MTA0M1oYDzIxMjAwNjEwMDgxMDQzWjBmMQswCQYDVQQGEwJjbjEPMA0G
|
||||
A1UECBMGc2hhbmdoMQ8wDQYDVQQHEwZzaGFuZ2gxDzANBgNVBAoTBmtkYXl1bjET
|
||||
MBEGA1UECxMKa2RheXVuIGx0ZDEPMA0GA1UEAxMGa2RheXVuMIIBIjANBgkqhkiG
|
||||
9w0BAQEFAAOCAQ8AMIIBCgKCAQEA0p3ATcmNdqHKkQhxVv+7qOSKT8OOt/ORjyHK
|
||||
+SWVdb0eoeKOCo0Ij6rmkY+Y1oZdutIo7z5j3CBQBYkzc2tHnEiMNbliojerqr4X
|
||||
ynzbiEgfLi2NtPLvDklZpBxeL4mcOLQZqjVwG22K1Szqt9WXejV86nEfj8T9plwN
|
||||
r3ui7i1E6+v7PYPfGQOX7EqCfDEKdxgLxfXlgBtx7P6Kce8TusQvFk3LF2KY9lPE
|
||||
Di0dR9Tn7Rp1q4U/D0GlWg4HnbItVxNZktkq591X/XbNH5rAke2qgAXZU1i9h4XR
|
||||
9kaSlme7IQT5dH+Tvdn9JCwY1xDitdRVif+cagMjGVlT/hyIpwIDAQABoyEwHzAd
|
||||
BgNVHQ4EFgQUdWmlP71NbBuDJtJokS8E3FXmJLUwDQYJKoZIhvcNAQELBQADggEB
|
||||
ADMLj/YLs13d7Wl18iuICalTqUkY4vNlc4tEfO8jzbvF+7NODCEKIfXMgO+sGwOe
|
||||
3b4wdfHVQKWnCb19/brDrp3OzpLrk/jRHyn4kpvJe09Pa+yD4qNBjIwmEdNzhhoy
|
||||
lZV3gq9oBIfUCH6wMuKOOLiKLA2nukRAG8taKXm5TZPgCWAWeIQgJwRo6udyHT6a
|
||||
aD2LuA2plnoh4WOlDMIoufZiZEM4/7oioitENEf0mXKZqm5vx5+95uU3dMBezTGq
|
||||
dbM9rhANvgtQHfxEYrjzX//Xm+8oxsmJKjdImZRsEp7uJkxVSzVPVYL1IU0PPiDC
|
||||
bRqXeXRiyCxi1CNPnk3Wrhk=
|
||||
-----END CERTIFICATE-----
|
|
@ -0,0 +1 @@
|
|||
mW/6dS649/IeCU0Y+8TGikcgSNM7S4CGGh+zJ7KmqT/6JYpKUyxCI4vesI4TTw8erkaMyLlxic48VAq3vwFeTgOe1JXF/ihLPVwEM0aJtg3n+ijJXLQ9/XbZlJYgoS2FYrscEZFK1ESIORgSs/ciBhh1Hcvil0Whq2GY3PrED7gh289IOCtyw/vB0VmwyzQ5/7atcfFc5R1A4wlhoAafzD6NIrT4yp91Ow/b6W9DBbJUtkNAV0RKEuhCeGipdIn3LNOlqzQv78sRFbKHF97Q6wOSbTnhUqHNgwl/MADor1u1tPFA+uLfDpKMroXiB87RKb641pX7bzCamkgtEf0CGGGq3RewjT176NgZyCOFtqmwSegdjtvwtVHiAJaPX6pe1NpU/RYrDR5YL7wUiXLsU3a+SRG8nN3nb6pgAOOzy1NK2J6dM3peaMalFhvBWKuM4HYhIs/T24+GKDaRV4/wEF20UAzi8u61YkSowrPM2KsHGDFQQh08uhPMWpTyLc2ncErmCF/S9NA6mo3YY5mQaKJ10vSM9BrlgONxdxThqDBK+12e365onnD4SlgQGFAlEwI1D6ex5UVY5aieAW7cEtgBg+jKr/B/+QphlCWZ/Mu//33+MrX5sN96xCqX6OoKWupSx7z7Iha1GKKzp3vsJQ+JplfHHgjkn+qR0vrZcVCTPdskASVAyrH24VorUqlDnSLEPXnhVu2dBUdIQUW0XSvMxR4nxnRgXcspCpoKAgOOozyljfyP7GV95RkIIVKj+l3atiUaBRs3Gw6d/eNvBAjKUr9HKckbZrjlKNcYV1J/6kFzvJUW7XhmiLLMNoOM9UqsnbRR2YFE176miGS/5XJQBbVYbi6n3KhWC9QWjYiM1eNgf8HP7qcwp/9xE1KJWiqvRly7aQ2ZWH2bfWEmkbMGwSMmrRd0KevxIgTshcNX76t6L5w11LegJxSmo1OWfzBGA+xIp1Cyl0TJgnCCy73PX3IfZ3E04PSud/m8cycMYBpaRwKb3xcp/givoXCH
|
|
@ -0,0 +1,141 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!-- 自动检测配置文件的时间间隔(秒)每60检测log4j2.xml配置文件有变化,会重新配置自己 -->
|
||||
<!-- ALL,TRACE, DEBUG, INFO, WARN, ERROR ,FATAL,OFF -->
|
||||
<configuration monitorInterval="60" packages="com.kdayun.boot.configuration">
|
||||
<!-- 定义变量 -->
|
||||
<properties>
|
||||
<!-- 日志存放目录 本来是可以读取${web:rootDir}-->
|
||||
<property name="LOG_HOME">./logs</property>
|
||||
<!-- <property name="LOG_FORMAT">%d{HH:mm:ss.SSS} [%-5level] %msg%xEx%n %C %M</property> -->
|
||||
<property name="LOG_FORMAT">%d{HH:mm:ss.SSS} [%-5level] %msg%xEx%n</property>
|
||||
</properties>
|
||||
<!--先定义所有的appender -->
|
||||
<appenders>
|
||||
<!--这个输出控制台的配置 -->
|
||||
<Console name="console" target="SYSTEM_OUT">
|
||||
<!-- 输出的日志格式 -->
|
||||
<PatternLayout pattern="${LOG_FORMAT}"/>
|
||||
</Console>
|
||||
<Log4j2ConsoleAppender name="Log4j2ConsoleAppender" cacheLogCount="500">
|
||||
<PatternLayout pattern="${LOG_FORMAT}"/>
|
||||
</Log4j2ConsoleAppender>
|
||||
<Async name="AsyncCONSOLE">
|
||||
<AppenderRef ref="console"/>
|
||||
</Async>
|
||||
<!-- 正常日志文件 -->
|
||||
<RollingFile name="log" fileName="${LOG_HOME}/log.log" filePattern="${LOG_HOME}/log-%d{yyyy-MM-dd}.zip" immediateFlush="true">
|
||||
<Filters>
|
||||
<RegexFilter regex="slow sql[\s\S]*" onMatch="DENY" onMismatch="NEUTRAL"/>
|
||||
<!-- 只输出level及以上级别的信息(onMatch),其他的直接拒绝(onMismatch)可选:ACCEPT, DENY, NEUTRAL
|
||||
接受使用NEUTRAL(中立),被第一个过滤器接受的日志信息,会继续用后面的过滤器进行过滤,只有符合所有过滤器条件的日志信息,才会被最终写入日志文件
|
||||
<ThresholdFilter level="DEBUG" onMatch="NEUTRAL" onMismatch="DENY"/>
|
||||
<ThresholdFilter level="ERROR" onMatch="DENY" onMismatch="DENY"/>
|
||||
-->
|
||||
<ThresholdFilter level="DEBUG" onMatch="NEUTRAL" onMismatch="DENY"/>
|
||||
|
||||
</Filters>
|
||||
<!-- 输出的日志格式 -->
|
||||
<PatternLayout pattern="${LOG_FORMAT}"/>
|
||||
<Policies>
|
||||
<OnStartupTriggeringPolicy/>
|
||||
<TimeBasedTriggeringPolicy/>
|
||||
<SizeBasedTriggeringPolicy size="100 MB"/>
|
||||
</Policies>
|
||||
<!-- 最多备份30天以内的日志,此处为策略限制,Delete中可以按自己需要用正则表达式编写 -->
|
||||
<!-- DefaultRolloverStrategy字段中加入max=“30”经测试是配合SizeBasedTriggeringPolicy限制%i的存在数量,
|
||||
并没有发现是网上流传的是最多保存多少个文件的限制,也或许是我写的有问题 -->
|
||||
<DefaultRolloverStrategy max="30"/>
|
||||
</RollingFile>
|
||||
<!-- 输出sql语句到sqllog开头的日志文件 -->
|
||||
<RollingFile name="sqllog" fileName="${LOG_HOME}/sqllog.log" filePattern="${LOG_HOME}/log-%d{yyyy-MM-dd}.zip" immediateFlush="true">
|
||||
<Filters>
|
||||
<!-- 只输出level及以上级别的信息(onMatch),其他的直接拒绝(onMismatch)可选:ACCEPT, DENY, NEUTRAL
|
||||
接受使用NEUTRAL(中立),被第一个过滤器接受的日志信息,会继续用后面的过滤器进行过滤,只有符合所有过滤器条件的日志信息,才会被最终写入日志文件
|
||||
<ThresholdFilter level="DEBUG" onMatch="NEUTRAL" onMismatch="DENY"/>
|
||||
-->
|
||||
<RegexFilter regex="==> Preparing:[\s\S]*|==> Parameters:[\s\S]*" onMatch="NEUTRAL" onMismatch="DENY"/>
|
||||
</Filters>
|
||||
<!-- 输出的日志格式 -->
|
||||
<PatternLayout pattern="${LOG_FORMAT}"/>
|
||||
<Policies>
|
||||
<OnStartupTriggeringPolicy/>
|
||||
<TimeBasedTriggeringPolicy/>
|
||||
<SizeBasedTriggeringPolicy size="100 MB"/>
|
||||
</Policies>
|
||||
<!-- 最多备份30天以内的日志,此处为策略限制,Delete中可以按自己需要用正则表达式编写 -->
|
||||
<!-- DefaultRolloverStrategy字段中加入max=“30”经测试是配合SizeBasedTriggeringPolicy限制%i的存在数量,
|
||||
并没有发现是网上流传的是最多保存多少个文件的限制,也或许是我写的有问题 -->
|
||||
<DefaultRolloverStrategy max="30"/>
|
||||
</RollingFile>
|
||||
<!-- 错误的日志文件 -->
|
||||
<RollingFile name="error" fileName="${LOG_HOME}/error.log" filePattern="${LOG_HOME}/error-%d{yyyy-MM-dd}.zip" immediateFlush="true">
|
||||
<Filters>
|
||||
<!-- 只输出level及以上级别的信息(onMatch),其他的直接拒绝(onMismatch) 可选:ACCEPT, DENY, NEUTRAL
|
||||
接受使用NEUTRAL(中立),被第一个过滤器接受的日志信息,会继续用后面的过滤器进行过滤,只有符合所有过滤器条件的日志信息,才会被最终写入日志文件
|
||||
-->
|
||||
<ThresholdFilter level="ERROR" onMatch="NEUTRAL" onMismatch="DENY"/>
|
||||
<RegexFilter regex="slow sql[\s\S]*" onMatch="DENY" onMismatch="DENY"/>
|
||||
</Filters>
|
||||
<!-- 输出的日志格式 -->
|
||||
<PatternLayout pattern="%d{yyyy.MM.dd 'at' HH:mm:ss z} [%-5level] %msg%xEx%n"/>
|
||||
<Policies>
|
||||
<OnStartupTriggeringPolicy/>
|
||||
<TimeBasedTriggeringPolicy/>
|
||||
<SizeBasedTriggeringPolicy size="100 MB"/>
|
||||
</Policies>
|
||||
<!-- DefaultRolloverStrategy字段中加入max=“30”经测试是配合SizeBasedTriggeringPolicy限制%i的存在数量,并没有发现是网上流传的是最多保存多少个文件的限制,也或许是我写的有问题 -->
|
||||
<DefaultRolloverStrategy max="30"/>
|
||||
</RollingFile>
|
||||
<!--慢sql的日志文件-->
|
||||
<RollingFile name="slowSql" fileName="${LOG_HOME}/slowsql.log" filePattern="${LOG_HOME}/slowsql-%d{yyyy-MM-dd}.zip" immediateFlush="true">
|
||||
<!-- 只输出level及以上级别的信息(onMatch),其他的直接拒绝(onMismatch)
|
||||
接受使用NEUTRAL(中立),被第一个过滤器接受的日志信息,会继续用后面的过滤器进行过滤,只有符合所有过滤器条件的日志信息,才会被最终写入日志文件
|
||||
-->
|
||||
<Filters>
|
||||
<RegexFilter regex="slow sql[\s\S]*" onMatch="NEUTRAL" onMismatch="DENY"/>
|
||||
</Filters>
|
||||
<!-- 输出的日志格式 -->
|
||||
<PatternLayout pattern="%d{yyyy.MM.dd 'at' HH:mm:ss z} [%-5level] %msg%xEx%n"/>
|
||||
<Policies>
|
||||
<OnStartupTriggeringPolicy/>
|
||||
<TimeBasedTriggeringPolicy/>
|
||||
<SizeBasedTriggeringPolicy size="100 MB"/>
|
||||
</Policies>
|
||||
<!-- DefaultRolloverStrategy字段中加入max=“30”经测试是配合SizeBasedTriggeringPolicy限制%i的存在数量,并没有发现是网上流传的是最多保存多少个文件的限制,也或许是我写的有问题 -->
|
||||
<DefaultRolloverStrategy max="30"/>
|
||||
</RollingFile>
|
||||
</appenders>
|
||||
<!--然后定义logger,只有定义了logger并引入的appender,appender才会生效 -->
|
||||
<loggers>
|
||||
<!--建立一个默认的root的logger -->
|
||||
<root level="DEBUG">
|
||||
<appender-ref ref="Log4j2ConsoleAppender"/>
|
||||
<appender-ref ref="AsyncCONSOLE"/>
|
||||
<!--<appender-ref ref="console"/>-->
|
||||
<appender-ref ref="error"/>
|
||||
<appender-ref ref="log"/>
|
||||
<!-- <appender-ref ref="sqllog"/> -->
|
||||
<appender-ref ref="slowSql"/>
|
||||
</root>
|
||||
<logger name="org.springframework" level="INFO"/>
|
||||
<logger name="net.sf.ehcache" level="ERROR"/>
|
||||
<logger name="com.alibaba.druid" level="ERROR"/>
|
||||
<logger name="freemarker" level="ERROR"/>
|
||||
|
||||
<!-- 只输出错误以上org.quartz调试信息 -->
|
||||
<logger name="org.quartz" level="ERROR" />
|
||||
<!-- 只输出错误以上mybatis -->
|
||||
<logger name="org.mybatis" level="ERROR"/>
|
||||
<!-- 只输出错误以上的信息 -->
|
||||
<logger name="org.apache.shiro" level="ERROR"/>
|
||||
<!-- 显示sql语句-->
|
||||
<logger name="druid.sql.Statement" level="ERROR" additivity="false">
|
||||
<appender-ref ref="console"/>
|
||||
</logger>
|
||||
<!-- 显示慢sql语句-->
|
||||
<logger name="druid.sql.Statement" level="ERROR" additivity="false">
|
||||
<appender-ref ref="slowSql"/>
|
||||
</logger>
|
||||
|
||||
</loggers>
|
||||
</configuration>
|
|
@ -0,0 +1,9 @@
|
|||
#!/bin/bash
|
||||
# 快搭科技-业务服务器
|
||||
# chkconfig: 345 91 10
|
||||
# description:该服务器用于业务数据处理
|
||||
# processname: java
|
||||
#
|
||||
export JRE_HOME=/usr/local/jdk
|
||||
export JAVA_HOME=/usr/local/jdk
|
||||
nohup $JAVA_HOME/bin/java -Dfile.encoding=utf-8 -jar kdayun-app.jar >/dev/null
|
|
@ -0,0 +1,11 @@
|
|||
@echo off
|
||||
TITLE 快搭平台服务器
|
||||
cd /d %~dp0
|
||||
set JAVA_HOME="D:\BS\Server\tomcat8\jdk"
|
||||
set PATH=%JAVA_HOME%/bin;%JAVA_HOME%/jre/bin
|
||||
set CLASSPATH=.;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tools.jar
|
||||
echo %~dp0
|
||||
echo %JAVA_HOME%
|
||||
|
||||
java -jar kdayun-app.jar -Dfile.encoding=utf-8
|
||||
pause
|
|
@ -0,0 +1,279 @@
|
|||
[
|
||||
{
|
||||
"gongslx": "yhxggx",
|
||||
"gongslxmc": "用户相关公式",
|
||||
"gongsm": [
|
||||
{
|
||||
"name": "当前用户ID",
|
||||
"val": "cxt.getUserId()",
|
||||
"explain": "获取当前用户的id值"
|
||||
},
|
||||
{
|
||||
"name": "当前登录用户单位ID",
|
||||
"val": "cxt.getUserOrgId()",
|
||||
"explain": "获取当前用户的单位id值"
|
||||
},
|
||||
{
|
||||
"name": "当前登录用户角色ID",
|
||||
"val": "cxt.getUserRoleId()",
|
||||
"explain": "获取当前登录用户角色ID"
|
||||
},
|
||||
{
|
||||
"name": "当前登录用户部门ID",
|
||||
"val": "cxt.getUserDeptId()",
|
||||
"explain": "获取当前登录用户部门ID"
|
||||
},
|
||||
{
|
||||
"name": "当前用户code",
|
||||
"val": "cxt.getUserCode()",
|
||||
"explain": "获取当前登录用户code"
|
||||
},
|
||||
{
|
||||
"name": "当前用户单位objcode",
|
||||
"val": "cxt.getUserOrgCode()",
|
||||
"explain": "获取当前登录用户单位code"
|
||||
},
|
||||
{
|
||||
"name": "当前用户角色objcode",
|
||||
"val": "cxt.getUserRoleCode()",
|
||||
"explain": "获取当前登录用户角色code"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"gongslx": "xtpzxggs",
|
||||
"gongslxmc": "系统配置相关公式",
|
||||
"gongsm": [
|
||||
{
|
||||
"name": "通过系统选项key获取单位对应配置",
|
||||
"val": "cxt.getConfig()",
|
||||
"explain": "通过key获取当前登录用户系统配置选项值,示例:cxt.getConfig('31D48CD487674CCBA7AAFEF8E1C2741F')"
|
||||
},
|
||||
{
|
||||
"name": "通过系统选项key和单位id获取单位对应配置",
|
||||
"val": "cxt.getConfig()",
|
||||
"explain": "通过系统选项key和单位id获取单位对应配置,示例:cxt.getConfig('9C876276D8884BFF94DF343E2A4EED7D','31D48CD487674CCBA7AAFEF8E1C2741F')"
|
||||
},
|
||||
{
|
||||
"name": "当前登录用户角色ID",
|
||||
"val": "cxt.getUserRoleId()",
|
||||
"explain": "获取当前登录用户角色ID"
|
||||
},
|
||||
{
|
||||
"name": "当前登录用户部门ID",
|
||||
"val": "cxt.getUserDeptId()",
|
||||
"explain": "获取当前登录用户部门ID"
|
||||
},
|
||||
{
|
||||
"name": "当前用户code",
|
||||
"val": "cxt.getUserCode()",
|
||||
"explain": "获取当前登录用户code"
|
||||
},
|
||||
{
|
||||
"name": "当前用户单位objcode",
|
||||
"val": "cxt.getUserOrgCode()",
|
||||
"explain": "获取当前登录用户单位code"
|
||||
},
|
||||
{
|
||||
"name": "当前用户角色objcode",
|
||||
"val": "cxt.getUserRoleCode()",
|
||||
"explain": "获取当前登录用户角色code"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"gongslx": "zfczzgs",
|
||||
"gongslxmc": "字符串操作公式",
|
||||
"gongsm": [
|
||||
{
|
||||
"name": "返回32位唯一ID",
|
||||
"val": "cxt.getGuid()",
|
||||
"explain": "返回32位唯一ID"
|
||||
},
|
||||
{
|
||||
"name": "判断字符串是否为空",
|
||||
"val": "cxt.isBank()",
|
||||
"explain": "判断字符串是否为空,返回true或者false,示例:cxt.isBank(\"222\"),"
|
||||
},
|
||||
{
|
||||
"name": "判断字符串是否为数字",
|
||||
"val": "cxt.isNumber()",
|
||||
"explain": "判断字符串是否为数字,返回true或者false,示例:cxt.isNumber(\"22a\")"
|
||||
},
|
||||
{
|
||||
"name": "字符串转为数字",
|
||||
"val": "cxt.toNumber()",
|
||||
"explain": "字符串转为数字,返回数字,示例:cxt.toNumber(\"222\")"
|
||||
},
|
||||
{
|
||||
"name": "字符串以xx开头",
|
||||
"val": "cxt.startWith()",
|
||||
"explain": "字符串以xx开头,返回true或者false,示例:cxt.startWith(\"assxx\",\"xx\")"
|
||||
},
|
||||
{
|
||||
"name": "字符串以xx结尾",
|
||||
"val": "cxt.endWith()",
|
||||
"explain": "字符串以xx结尾,返回true或者false,示例:cxt.endWith(\"axxs2\",\"xx\")"
|
||||
},
|
||||
{
|
||||
"name": "字符串以包涵xx的位置",
|
||||
"val": "cxt.indexOf()",
|
||||
"explain": "字符串以包涵xx的位置,返回第一个xx在字符串的位置,数字类型,如果没有xx,返回-1,示例:cxt.indexOf(\"ssssa\",\"a\")"
|
||||
},
|
||||
{
|
||||
"name": "字符串是否包涵某个字符",
|
||||
"val": "cxt.contains()",
|
||||
"explain": "字符串是否包涵某个字符,返回true或者false,如果包含则为true,否则为false,示例:cxt.contains(\"s21sasx\",\"2\")"
|
||||
},
|
||||
{
|
||||
"name": "字符串转大写",
|
||||
"val": "cxt.toUpper()",
|
||||
"explain": "字符串转大写,返回字符串,示例:cxt.toUpper(\"s21sasx\")"
|
||||
},
|
||||
{
|
||||
"name": "字符串转小写",
|
||||
"val": "cxt.toLow()",
|
||||
"explain": "字符串转小写,返回字符串,示例:cxt.toLow(\"s21ASSS\")"
|
||||
},
|
||||
{
|
||||
"name": "字符串是否等于某个字符串",
|
||||
"val": "cxt.equals()",
|
||||
"explain": "字符串是否等于某个字符串,返回true或者false,示例:cxt.equals(\"s21ASSS\",\"2131dsas\")"
|
||||
},
|
||||
{
|
||||
"name": "字符串是否等于某个字符串",
|
||||
"val": "cxt.equalsIgnoreCase()",
|
||||
"explain": "字符串是否等于某个字符串,忽略大小写,返回true或者false,示例:cxt.equalsIgnoreCase(\"s21ASSS\",\"2131dsas\")"
|
||||
},
|
||||
{
|
||||
"name": "某个字符串的长度",
|
||||
"val": "cxt.length()",
|
||||
"explain": "返回字符串的长度,数字类型,示例:cxt.length(\"s21ASSS\")"
|
||||
},
|
||||
{
|
||||
"name": "去掉字符串的空格",
|
||||
"val": "cxt.trim()",
|
||||
"explain": "去掉字符串的空格,返回去掉空格的字符串,示例:cxt.trim(\"source \")"
|
||||
},
|
||||
{
|
||||
"name": "某个字符串把xx替换成yy,支持正则表达式",
|
||||
"val": "cxt.replaceAll()",
|
||||
"explain": "某个字符串把xx替换成yy,支持正则表达式,返回替换后的字符串,示例:cxt.replaceAll(\"s21ASSS\",\"AS\",\"DS\")"
|
||||
},
|
||||
{
|
||||
"name": "保留小数,格式为千分号",
|
||||
"val": "cxt.format()",
|
||||
"explain": "保留小数,格式为千分号,参数有三个,第一个是需要格式化的字符串,第二个是保留的小数位数,第三个参数是是否要显示千分号,返回字符串,示例:cxt.format(\"s21ASSS\",3,true)"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"gongslx": "jsgs",
|
||||
"gongslxmc": "计算公式",
|
||||
"gongsm": [
|
||||
{
|
||||
"name": "求和",
|
||||
"val": "cxt.sum()",
|
||||
"explain": "获取求和的值,返回数字,示例:cxt.sum(1111,222,333)"
|
||||
},
|
||||
{
|
||||
"name": "平均值",
|
||||
"val": "cxt.avg()",
|
||||
"explain": "获取平均值,返回数字,示例:cxt.avg(1111,222,222)"
|
||||
},
|
||||
{
|
||||
"name": "最大值",
|
||||
"val": "cxt.max()",
|
||||
"explain": "获取最大值,返回数字,示例:cxt.max(222,4445,666)"
|
||||
},
|
||||
{
|
||||
"name": "最小值",
|
||||
"val": "cxt.min()",
|
||||
"explain": "获取最小值,返回数字,示例:cxt.min(333,4245,666)"
|
||||
},
|
||||
{
|
||||
"name": "乘积",
|
||||
"val": "cxt.product()",
|
||||
"explain": "各个数字乘积,返回数字,示例:cxt.product(333,4245,666)"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"gongslx": "sj",
|
||||
"gongslxmc": "时间函数",
|
||||
"gongsm": [
|
||||
{
|
||||
"name": "date:获取当前日期",
|
||||
"val": "cxt.date()",
|
||||
"explain": "获取当前时间,返回yyyy-MM-dd格式,字符串类型。示例:cxt.date()"
|
||||
},
|
||||
{
|
||||
"name": "datetime:获取当前时间",
|
||||
"val": "cxt.datetime()",
|
||||
"explain": "获取当前时间,返回yyyy-MM-dd HH:mm:ss格式,字符串类型。示例:cxt.datetime()"
|
||||
},
|
||||
{
|
||||
"name": "now:获取当前时间,返回时间类型",
|
||||
"val": "cxt.now()",
|
||||
"explain": "获取当前时间,返回时间类型,示例:cxt.now()"
|
||||
},
|
||||
{
|
||||
"name": "时间格式化成字符串",
|
||||
"val": "cxt.dateFormat()",
|
||||
"explain": "将时间格式化为字符串,格式自定义设置。示例:cxt.or(2018-05-09,\"yyyy-MM-dd\")"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"gongslx": "shujuk",
|
||||
"gongslxmc": "数据库相关函数",
|
||||
"gongsm": [
|
||||
{
|
||||
"name": "exceSelectSql:执行查询sql,返回数组对象",
|
||||
"val": "cxt.exceSelectSql()",
|
||||
"explain": "执行查询sql并返回数组对象。示例:cxt.exceSelectSql(\"select * from core_user\")"
|
||||
},
|
||||
{
|
||||
"name": "exceTotalSql:执行查询sql,返回数字类型",
|
||||
"val": "cxt.exceTotalSql()",
|
||||
"explain": "执行查询sql,返回数字,用于统计。示例:cxt.exceTotalSql(\"select count(*) from core_user\")"
|
||||
},
|
||||
{
|
||||
"name": "exceTotalSql:执行查询sql,返回数组数字类型",
|
||||
"val": "cxt.exceSelectIntSql()",
|
||||
"explain": "执行查询sql,返回数字数组,多数用于图标展示。示例:cxt.exceSelectIntSql(\"select sys_sort from core_user\")"
|
||||
},
|
||||
{
|
||||
"name": "getDbType:返回当前链接的数据库类型",
|
||||
"val": "cxt.getDbType()",
|
||||
"explain": "返回值有:mysql,oracle,sqlserver,dm,分别对应mysql数据库,oracle数据库,sqlserver数据库,达梦数据库,区分大小写"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"gongslx": "qt",
|
||||
"gongslxmc": "其他",
|
||||
"gongsm": [
|
||||
{
|
||||
"name": "ifValue表达式",
|
||||
"val": "cxt.ifValue()",
|
||||
"explain": "ifValue表达式,如果true,返回第一个参数,否则返回第二个参数。示例:cxt.ifValue(2==3,115,10) 返回10"
|
||||
},
|
||||
{
|
||||
"name": "and表达式",
|
||||
"val": "cxt.and()",
|
||||
"explain": "and逻辑关系运算符,boolean数组,只要有一个false则返回false。示例:cxt.and(2==3,3==3,2==2) 返回true"
|
||||
},
|
||||
{
|
||||
"name": "or表达式",
|
||||
"val": "cxt.or()",
|
||||
"explain": "or逻辑关系运算符,boolean数组,只要有一个true则返回true。示例:cxt.or(2==3,3==3,2==2) 返回true"
|
||||
},
|
||||
{
|
||||
"name": "nvl表达式",
|
||||
"val": "cxt.nvl()",
|
||||
"explain": "nvl表达式,返回第一个不为空的值。示例:cxt.nvl(null,22) 返回22"
|
||||
}
|
||||
]
|
||||
},
|
||||
]
|
|
@ -0,0 +1,578 @@
|
|||
[
|
||||
{
|
||||
"name": "用户相关公式",
|
||||
"formulas": [
|
||||
{
|
||||
"name": "cxt.getUserId()",
|
||||
"help": "获取当前用户的id值"
|
||||
},
|
||||
{
|
||||
"name": "cxt.getUserOrgId()",
|
||||
"help": "获取当前用户的机构id值"
|
||||
},
|
||||
{
|
||||
"name": "cxt.getUserRoleId()",
|
||||
"help": "获取当前登录用户角色ID"
|
||||
},
|
||||
{
|
||||
"name": "cxt.getUserDeptId()",
|
||||
"help": "获取当前登录用户部门ID"
|
||||
},
|
||||
{
|
||||
"name": "cxt.getUserCode()",
|
||||
"help": "获取当前登录用户code"
|
||||
},
|
||||
{
|
||||
"name": "cxt.getUserOrgCode()",
|
||||
"help": "获取当前登录用户机构code"
|
||||
},
|
||||
{
|
||||
"name": "cxt.getUserRoleCode()",
|
||||
"help": "获取当前登录用户角色code"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "系统配置相关公式",
|
||||
"formulas": [
|
||||
{
|
||||
"name": "cxt.getConfig(String optId)",
|
||||
"help": "通过key获取当前登录用户系统配置选项值,<strong>示例:</strong>cxt.getConfig('31D48CD487674CCBA7AAFEF8E1C2741F')",
|
||||
"temp": "cxt.getConfig(optId)"
|
||||
},
|
||||
{
|
||||
"name": "cxt.getConfig(String orgid,String optId)",
|
||||
"help": "定义: String cxt.getConfig(String orgid,String optId) 通过系统选项key和机构id获取机构对应配置,<strong>示例:</strong>cxt.getConfig('9C876276D8884BFF94DF343E2A4EED7D','31D48CD487674CCBA7AAFEF8E1C2741F')",
|
||||
"temp": "cxt.getConfig(orgid,optId)"
|
||||
},
|
||||
{
|
||||
"name": "cxt.getUserRoleId()",
|
||||
"help": "获取当前登录用户角色ID"
|
||||
},
|
||||
{
|
||||
"name": "cxt.getUserDeptId()",
|
||||
"help": "获取当前登录用户部门ID"
|
||||
},
|
||||
{
|
||||
"name": "cxt.getUserCode()",
|
||||
"help": "获取当前登录用户code"
|
||||
},
|
||||
{
|
||||
"name": "cxt.getUserOrgCode()",
|
||||
"help": "获取当前登录用户机构code"
|
||||
},
|
||||
{
|
||||
"name": "cxt.getUserRoleCode()",
|
||||
"help": "获取当前登录用户角色code"
|
||||
},
|
||||
{
|
||||
"name": "cxt.getCode()",
|
||||
"help": "获取业务单据的单号; 参数说明: strformat= DH[yyyyMMdd][d3] => DH20201113001,DH20201113002...",
|
||||
"temp": "cxt.getCode(strformat)"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "字符串操作公式",
|
||||
"formulas": [
|
||||
{
|
||||
"name": "cxt.getGuid()",
|
||||
"help": "返回32位唯一ID"
|
||||
},
|
||||
{
|
||||
"name": "cxt.isBank()",
|
||||
"help": "判断字符串是否为空,返回true或者false,<strong>示例:</strong>cxt.isBank(\"222\"),"
|
||||
},
|
||||
{
|
||||
"name": "cxt.isNumber()",
|
||||
"help": "判断字符串是否为数字,返回true或者false,<strong>示例:</strong>cxt.isNumber(\"22a\")"
|
||||
},
|
||||
{
|
||||
"name": "cxt.toNumber()",
|
||||
"help": "字符串转为数字,返回数字,<strong>示例:</strong>cxt.toNumber(\"222\")"
|
||||
},
|
||||
{
|
||||
"name": "cxt.startWith()",
|
||||
"help": "字符串以xx开头,返回true或者false,<strong>示例:</strong>cxt.startWith(\"assxx\",\"xx\")"
|
||||
},
|
||||
{
|
||||
"name": "cxt.endWith()",
|
||||
"help": "字符串以xx结尾,返回true或者false,<strong>示例:</strong>cxt.endWith(\"axxs2\",\"xx\")"
|
||||
},
|
||||
{
|
||||
"name": "cxt.indexOf()",
|
||||
"help": "字符串以包涵xx的位置,返回第一个xx在字符串的位置,数字类型,如果没有xx,返回-1,<strong>示例:</strong>cxt.indexOf(\"ssssa\",\"a\")"
|
||||
},
|
||||
{
|
||||
"name": "cxt.contains()",
|
||||
"help": "字符串是否包涵某个字符,返回true或者false,如果包含则为true,否则为false,<strong>示例:</strong>cxt.contains(\"s21sasx\",\"2\")"
|
||||
},
|
||||
{
|
||||
"name": "cxt.toUpper()",
|
||||
"help": "字符串转大写,返回字符串,<strong>示例:</strong>cxt.toUpper(\"s21sasx\")"
|
||||
},
|
||||
{
|
||||
"name": "cxt.toLow()",
|
||||
"help": "字符串转小写,返回字符串,<strong>示例:</strong>cxt.toLow(\"s21ASSS\")"
|
||||
},
|
||||
{
|
||||
"name": "cxt.equals()",
|
||||
"help": "字符串是否等于某个字符串,返回true或者false,<strong>示例:</strong>cxt.equals(\"s21ASSS\",\"2131dsas\")"
|
||||
},
|
||||
{
|
||||
"name": "cxt.equalsIgnoreCase()",
|
||||
"help": "字符串是否等于某个字符串,忽略大小写,返回true或者false,<strong>示例:</strong>cxt.equalsIgnoreCase(\"s21ASSS\",\"2131dsas\")"
|
||||
},
|
||||
{
|
||||
"name": "cxt.length()",
|
||||
"help": "返回字符串的长度,数字类型,<strong>示例:</strong>cxt.length(\"s21ASSS\")"
|
||||
},
|
||||
{
|
||||
"name": "cxt.trim()",
|
||||
"help": "去掉字符串的空格,返回去掉空格的字符串,<strong>示例:</strong>cxt.trim(\"source \")"
|
||||
},
|
||||
{
|
||||
"name": "cxt.replaceAll()",
|
||||
"help": "某个字符串把xx替换成yy,支持正则表达式,返回替换后的字符串,<strong>示例:</strong>cxt.replaceAll(\"s21ASSS\",\"AS\",\"DS\")"
|
||||
},
|
||||
{
|
||||
"name": "cxt.format()",
|
||||
"help": "保留小数,格式为千分号,参数有三个,第一个是需要格式化的字符串,第二个是保留的小数位数,第三个参数是是否要显示千分号,返回字符串,<strong>示例:</strong>cxt.format(\"s21ASSS\",3,true)"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "计算公式",
|
||||
"formulas": [
|
||||
{
|
||||
"name": "cxt.sum()",
|
||||
"help": "获取求和的值,返回数字,<strong>示例:</strong>cxt.sum(1111,222,333)"
|
||||
},
|
||||
{
|
||||
"name": "cxt.avg()",
|
||||
"help": "获取平均值,返回数字,<strong>示例:</strong>cxt.avg(1111,222,222)"
|
||||
},
|
||||
{
|
||||
"name": "cxt.max()",
|
||||
"help": "获取最大值,返回数字,<strong>示例:</strong>cxt.max(222,4445,666)"
|
||||
},
|
||||
{
|
||||
"name": "cxt.min()",
|
||||
"help": "获取最小值,返回数字,<strong>示例:</strong>cxt.min(333,4245,666)"
|
||||
},
|
||||
{
|
||||
"name": "cxt.product()",
|
||||
"help": "各个数字乘积,返回数字,<strong>示例:</strong>cxt.product(333,4245,666)"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "时间函数",
|
||||
"formulas": [
|
||||
{
|
||||
"name": "cxt.date()",
|
||||
"help": "<div><strong>定义</strong>:String date()</div> <div><strong>描述:</strong>返回当前时间字符串,yyyy-MM-dd格式</div> <div class=\"code\"><strong>示例:</strong>String ret = cxt.date();</div>"
|
||||
},
|
||||
{
|
||||
"name": "cxt.datetime()",
|
||||
"help": "<div><strong>定义</strong>:String datetime()</div> <div><strong>描述:</strong>返回当前时间字符串,yyyy-MM-dd HH:mm:ss格式</div> <div class=\"code\"><strong>示例:</strong>String ret = cxt.datetime();</div>"
|
||||
},
|
||||
{
|
||||
"name": "cxt.now()",
|
||||
"help": "<div><strong>定义</strong>:Date now()</div> <div><strong>描述:</strong>获取当前时间,返回时间类型</div> <div class=\"code\"><strong>示例:</strong>Date ret = cxt.now(cxt.now(), cxt.now());</div>"
|
||||
},
|
||||
{
|
||||
"name": "cxt.dateFormat()",
|
||||
"help": "<div><strong>定义</strong>:Integer dateFormat(Date date1, Date date2)</div> <div><strong>描述:</strong>时间比较 返回值:前者大于后者 返回1 小于返回-1 等于返回0</div> <div class=\"code\"><strong>示例:</strong>Integer ret = cxt.dateCompareTo(cxt.now(), cxt.now());</div>"
|
||||
},
|
||||
{
|
||||
"name": "cxt.dateCompareTo()",
|
||||
"help": "<div><strong>定义</strong>:Integer dateCompareTo(Date date1, Date date2)</div> <div><strong>描述:</strong>时间比较 返回值:前者大于后者 返回1 小于返回-1 等于返回0</div> <div class=\"code\"><strong>示例:</strong>Integer ret = cxt.dateCompareTo(cxt.now(), cxt.now());</div>"
|
||||
},
|
||||
{
|
||||
"name": "cxt.dateAdd()",
|
||||
"help": "<div><strong>定义</strong>:Date dateAdd(Date date1, int addType, int val)</div> <div><strong>描述:</strong>时间加减,addType:取值:DAY_OF_MONTH DAY_OF_YEAR DAY_OF_WEEK ,val:增量正整数或者负整数 返回:返回加减后的时间值</div> <div class=\"code\"><strong>示例:</strong>10天后的时间值 Date ret = cxt.dateAdd(cxt.now(),DAY_OF_YEAR,10);</div>"
|
||||
},
|
||||
{
|
||||
"name": "cxt.getTimeField()",
|
||||
"help": "<div><strong>定义</strong>:Integer getTimeField(Date date, Integer fieldType)</div> <div><strong>描述:</strong>获取指定时间的各个部分的值(年,月,日); fieldType取值: Calendar.YEAR, Calendar.MONTH ,Calendar.DATE</div> <div class=\"code\"><strong>示例:</strong>Integer ret = cxt.getTimeField(cxt.now(),Calendar.YEAR);</div>"
|
||||
},
|
||||
{
|
||||
"name": "cxt.year()",
|
||||
"help": "<div><strong>定义</strong>:Integer year(Date date)</div> <div><strong>描述:</strong>获取指定时间的年份</div> <div class=\"code\"><strong>示例:</strong>Integer ret = cxt.year(cxt.now());</div>"
|
||||
},
|
||||
{
|
||||
"name": "cxt.month()",
|
||||
"help": "<div><strong>定义</strong>:Integer month(Date date)</div> <div><strong>描述:</strong>获取指定时间的月份</div> <div class=\"code\"><strong>示例:</strong>Integer ret = cxt.month(cxt.now());</div>"
|
||||
},
|
||||
{
|
||||
"name": "cxt.day()",
|
||||
"help": "<div><strong>定义</strong>:Integer day(Date date)</div> <div><strong>描述:</strong>获取指定时间的日</div> <div class=\"code\"><strong>示例:</strong>Integer ret = cxt.day(cxt.now());</div>"
|
||||
},
|
||||
{
|
||||
"name": "cxt.hour()",
|
||||
"help": "<div><strong>定义</strong>:Integer hour(Date date)</div> <div><strong>描述:</strong>获取指定时间的小时数</div> <div class=\"code\"><strong>示例:</strong>Integer ret = cxt.hour(cxt.now());</div>"
|
||||
},
|
||||
{
|
||||
"name": "cxt.minute()",
|
||||
"help": "<div><strong>定义</strong>:Integer minute(Date date)</div> <div><strong>描述:</strong>获取指定时间的分钟数</div> <div class=\"code\"><strong>示例:</strong>Integer ret = cxt.minute(cxt.now());</div>"
|
||||
},
|
||||
{
|
||||
"name": "cxt.second()",
|
||||
"help": "<div><strong>定义</strong>:Integer second(Date date)</div> <div><strong>描述:</strong>获取指定时间的秒数</div> <div class=\"code\"><strong>示例:</strong>Integer ret = cxt.second(cxt.now());</div>"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "数据库相关函数",
|
||||
"formulas": [
|
||||
{
|
||||
"name": "cxt.exceSelectSql()",
|
||||
"help": "<div><strong>定义</strong>:List<Map<String, Object>> exceSelectSql(String sql)</div> <div><strong>描述:</strong>执行查询sql并返回行集合对象。</div> <div class=\"code\"><strong>示例:</strong>List<Map> ret = cxt.exceSelectSql(\"select rwid,objname from core_user\"); String rwid= ret.get(0).get(\"rwid\")</div>"
|
||||
},
|
||||
{
|
||||
"name": "cxt.exceTotalSql()",
|
||||
"help": "<div><strong>定义</strong>:Integer exceTotalSql(String sql)</div> <div><strong>描述:</strong>执行统计数量sql,并返回统计总数。</div> <div class=\"code\"><strong>示例:</strong>Integer ret = cxt.exceTotalSql(\"select count(1) from core_user\");</div>"
|
||||
},
|
||||
{
|
||||
"name": "cxt.exceSelectIntSql()",
|
||||
"help": "<div><strong>定义</strong>:Integer exceSelectIntSql(String sql)</div> <div><strong>描述:</strong>执行返回一个整数值的sql,并返回一个整数值。</div> <div class=\"code\"><strong>示例:</strong>Integer ret = cxt.exceSelectIntSql(\"SELECT ISPASSED FROM CORE_USER WHERE ZANGHM='admin'\");</div>"
|
||||
},
|
||||
{
|
||||
"name": "cxt.getDbType()",
|
||||
"help": "<div><strong>定义</strong>:String getDbType()</div> <div><strong>描述:</strong>返回当前的数据库类型。mysql,oracle,sqlserver,dm,分别对应mysql数据库,oracle数据库,sqlserver数据库,达梦数据库,区分大小写</div> <div class=\"code\"><strong>示例:</strong>String ret = cxt.getDbType();</div>"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "编号生成",
|
||||
"formulas": [
|
||||
{
|
||||
"name": "cxt.getCode()",
|
||||
"help": "生成固定格式的编号 一般用于生成业务单据号如 :订单号,出库单号等等;<strong>示例:</strong>cxt.getCode('ORD[YYYYMMDD]-[000]') 返回ORD20200818-001"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "其他",
|
||||
"formulas": [
|
||||
{
|
||||
"name": "cxt.ifValue()",
|
||||
"help": "ifValue表达式,如果true,返回第一个参数,否则返回第二个参数。<strong>示例:</strong>cxt.ifValue(2==3,115,10) 返回10"
|
||||
},
|
||||
{
|
||||
"name": "cxt.and()",
|
||||
"help": "and逻辑关系运算符,boolean数组,只要有一个false则返回false。<strong>示例:</strong>cxt.and(2==3,3==3,2==2) 返回true"
|
||||
},
|
||||
{
|
||||
"name": "cxt.or()",
|
||||
"help": "or逻辑关系运算符,boolean数组,只要有一个true则返回true。<strong>示例:</strong>cxt.or(2==3,3==3,2==2) 返回true"
|
||||
},
|
||||
{
|
||||
"name": "cxt.nvl()",
|
||||
"help": "nvl表达式,返回第一个不为空的值。<strong>示例:</strong>cxt.nvl(null,22) 返回22"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "语法",
|
||||
"children": [
|
||||
{
|
||||
"name": "数据类型",
|
||||
"formulas": [
|
||||
{
|
||||
"name": "byte",
|
||||
"help": "字节值 范围:128到127",
|
||||
"temp": "byte"
|
||||
},
|
||||
{
|
||||
"name": "short",
|
||||
"help": "这是用来表示一个短整型。 范围: -32,768到32,767",
|
||||
"temp": "short"
|
||||
},
|
||||
{
|
||||
"name": "int",
|
||||
"help": "整数. 范围: 2,147,483,648 到,147,483,647",
|
||||
"temp": "int"
|
||||
},
|
||||
{
|
||||
"name": "long",
|
||||
"help": "长整型. 范围: -9,223,372,036,854,775,808到+9,223,372,036,854,775,807",
|
||||
"temp": "long"
|
||||
},
|
||||
{
|
||||
"name": "float",
|
||||
"help": "32位浮点数",
|
||||
"temp": "float"
|
||||
},
|
||||
{
|
||||
"name": "double",
|
||||
"help": "64位浮点数. 范围: 4.94065645841246544e-324d 到1.79769313486231570e + 308d",
|
||||
"temp": "double"
|
||||
},
|
||||
{
|
||||
"name": "char",
|
||||
"help": "单个字符文字",
|
||||
"temp": "char"
|
||||
},
|
||||
{
|
||||
"name": "Boolean",
|
||||
"help": "布尔值",
|
||||
"temp": "Boolean"
|
||||
},
|
||||
{
|
||||
"name": "String",
|
||||
"help": "以字符串的形式表示的文本",
|
||||
"temp": "String"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "变量",
|
||||
"formulas": [
|
||||
{
|
||||
"name": "byte x=1",
|
||||
"help": "字节值 范围:128到127",
|
||||
"temp": "byte x=1"
|
||||
},
|
||||
{
|
||||
"name": "short x=1",
|
||||
"help": "这是用来表示一个短整型。 范围: -32,768到32,767",
|
||||
"temp": "short x=1"
|
||||
},
|
||||
{
|
||||
"name": "int x=1",
|
||||
"help": "整数. 范围: 2,147,483,648 到,147,483,647",
|
||||
"temp": "int x=1"
|
||||
},
|
||||
{
|
||||
"name": "long x=1",
|
||||
"help": "长整型. 范围: -9,223,372,036,854,775,808到+9,223,372,036,854,775,807",
|
||||
"temp": "long x=1"
|
||||
},
|
||||
{
|
||||
"name": "float x=1",
|
||||
"help": "32位浮点数",
|
||||
"temp": "float x=1"
|
||||
},
|
||||
{
|
||||
"name": "double x=1",
|
||||
"help": "64位浮点数. 范围: 4.94065645841246544e-324d 到1.79769313486231570e + 308d",
|
||||
"temp": "double x=1"
|
||||
},
|
||||
{
|
||||
"name": "char x=1",
|
||||
"help": "单个字符文字",
|
||||
"temp": "char x=1"
|
||||
},
|
||||
{
|
||||
"name": "Boolean x=false",
|
||||
"help": "布尔值",
|
||||
"temp": "Boolean x=false"
|
||||
},
|
||||
{
|
||||
"name": "String x=''",
|
||||
"help": "以字符串的形式表示的文本",
|
||||
"temp": "String x=''"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "运算符",
|
||||
"children": [
|
||||
{
|
||||
"name": "算术运算符",
|
||||
"formulas": [
|
||||
{
|
||||
"name": "+",
|
||||
"help": "两个操作数的加法",
|
||||
"temp": "=="
|
||||
},
|
||||
{
|
||||
"name": "-",
|
||||
"help": "第一第二操作数相减",
|
||||
"temp": "-"
|
||||
},
|
||||
{
|
||||
"name": "*",
|
||||
"help": "两个操作数的乘法",
|
||||
"temp": "*"
|
||||
},
|
||||
{
|
||||
"name": "/",
|
||||
"help": "两个操作数的除法",
|
||||
"temp": "/"
|
||||
},
|
||||
{
|
||||
"name": "%",
|
||||
"help": "取模运算",
|
||||
"temp": "%"
|
||||
},
|
||||
{
|
||||
"name": "-",
|
||||
"help": "第一第二操作数相减",
|
||||
"temp": "-"
|
||||
},
|
||||
{
|
||||
"name": "++",
|
||||
"help": "自增运算,在自身值的基础上加1",
|
||||
"temp": "++"
|
||||
},
|
||||
{
|
||||
"name": "--",
|
||||
"help": "自减运算,在自身值的基础上减1",
|
||||
"temp": "--"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "关系运算符",
|
||||
"formulas": [
|
||||
{
|
||||
"name": "==",
|
||||
"help": "测试两个对象之间是否相等",
|
||||
"temp": "=="
|
||||
},
|
||||
{
|
||||
"name": "!=",
|
||||
"help": "测试两个对象之间是否不等",
|
||||
"temp": "!="
|
||||
},
|
||||
{
|
||||
"name": "<",
|
||||
"help": "检查是否左边的对象是小于右边的对象。",
|
||||
"temp": "<"
|
||||
},
|
||||
{
|
||||
"name": "<=",
|
||||
"help": "检查是否向左对象是小于或等于右边的对象",
|
||||
"temp": "<="
|
||||
},
|
||||
{
|
||||
"name": ">",
|
||||
"help": "检查是否左边的对象比右边的对象大",
|
||||
"temp": ">"
|
||||
},
|
||||
{
|
||||
"name": ">=",
|
||||
"help": "检查是否向左对象大于或等于右边的对象",
|
||||
"temp": ">="
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "逻辑运算符",
|
||||
"formulas": [
|
||||
{
|
||||
"name": "&&",
|
||||
"help": "逻辑“与”运算",
|
||||
"temp": "&&"
|
||||
},
|
||||
{
|
||||
"name": "||",
|
||||
"help": "逻辑“或”运算",
|
||||
"temp": "||"
|
||||
},
|
||||
{
|
||||
"name": "!",
|
||||
"help": "逻辑“非”运算",
|
||||
"temp": "|"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "位运算符",
|
||||
"formulas": [
|
||||
{
|
||||
"name": "&",
|
||||
"help": "位“与”运算",
|
||||
"temp": "&"
|
||||
},
|
||||
{
|
||||
"name": "|",
|
||||
"help": "位“或”运算",
|
||||
"temp": "|"
|
||||
},
|
||||
{
|
||||
"name": "^",
|
||||
"help": "位“异或”运算",
|
||||
"temp": "^"
|
||||
},
|
||||
{
|
||||
"name": "~",
|
||||
"help": "位“反”运算",
|
||||
"temp": "~"
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "循环",
|
||||
"formulas": [
|
||||
{
|
||||
"name": "while语句",
|
||||
"help": "while语句首先通过计算条件表达式(布尔值)来执行,如果结果为真,则执行while循环中的语句。",
|
||||
"temp": "while( true ) { \r\n\r\n }"
|
||||
},
|
||||
{
|
||||
"name": "for语句",
|
||||
"help": "for语句用于遍历一组值。",
|
||||
"temp": "for( int i=0 ; i< 100 ; i++) { \r\n\r\n }"
|
||||
},
|
||||
{
|
||||
"name": "while语句",
|
||||
"help": "for-in语句用于遍历一组值。",
|
||||
"temp": "for( int i in array) { { \r\n\r\n }"
|
||||
},
|
||||
{
|
||||
"name": "break语句",
|
||||
"help": "break语句用于改变循环和switch语句内的控制流。",
|
||||
"temp": "for( int i in array) { \r\n break;\r\n }"
|
||||
},
|
||||
{
|
||||
"name": "continue语句",
|
||||
"help": "continue语句补充了break语句。它的使用仅限于while和for循环。",
|
||||
"temp": "for( int i in array) { { \r\ncontinue;\r\n }"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "条件语句",
|
||||
"formulas": [
|
||||
{
|
||||
"name": "if语句",
|
||||
"help": "这个语句的一般工作是首先在if语句中计算一个条件。如果条件为真,它然后执行语句。",
|
||||
"temp": "if(true) { \r\n\r\n }"
|
||||
},
|
||||
{
|
||||
"name": "if / else语句",
|
||||
"help": "这个语句的一般工作是首先在if语句中计算一个条件。如果条件为真,则其后执行语句,并在else条件之前停止并退出循环。如果条件为假,则执行else语句块中的语句,然后退出循环。",
|
||||
"temp": "if(true) { \r\n\r\n } \r\nelse{ \r\n\r\n}"
|
||||
},
|
||||
{
|
||||
"name": "嵌套if语句",
|
||||
"help": "多个if语句嵌入在彼此内部",
|
||||
"temp": "if(condition) { \r\n\r\n } \r\nelse if(condition){ \r\n\r\n} else {\r\n\r\n}"
|
||||
},
|
||||
{
|
||||
"name": "Switch语句",
|
||||
"help": "逻辑“与”运算",
|
||||
"temp": "switch(expression) {\r\n case expression #1: \r\n statement #1 \r\n break; \r\n case expression #2: \r\n statement #2\r\n break; \r\n default: \r\n statement #Default \r\n }"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "方法(函数)",
|
||||
"formulas": [
|
||||
{
|
||||
"name": "函数定义",
|
||||
"help": "使用def关键字定义方法(函数)",
|
||||
"temp": "def someMethod(parameter1, parameter2 = 0, parameter3 = 0) {\r\n // Method code goes here \r\n} "
|
||||
}
|
||||
]
|
||||
}
|
||||
],
|
||||
"formulas": []
|
||||
}
|
||||
]
|
|
@ -0,0 +1,56 @@
|
|||
[
|
||||
{
|
||||
"type": "variant",
|
||||
"name": "USERID",
|
||||
"help": "当前用户id",
|
||||
"temp": "#{USERID}"
|
||||
},
|
||||
{
|
||||
"type": "variant",
|
||||
"name": "USERCODE",
|
||||
"help": "当前用户编号",
|
||||
"temp": "#{USERCODE}"
|
||||
},
|
||||
{
|
||||
"type": "variant",
|
||||
"name": "ROLEID",
|
||||
"help": "当前用户角色id",
|
||||
"temp": "#{ROLEID}"
|
||||
},
|
||||
{
|
||||
"type": "variant",
|
||||
"name": "ROLECODE",
|
||||
"help": "当前用户所属组织机构(单位)编号",
|
||||
"temp": "#{ROLECODE}"
|
||||
},
|
||||
{
|
||||
"type": "variant",
|
||||
"name": "DEPTID",
|
||||
"help": "当前用户所属部门id",
|
||||
"temp": "#{DEPTID}"
|
||||
},
|
||||
{
|
||||
"type": "variant",
|
||||
"name": "DEPTCODE",
|
||||
"help": "当前用户所属部门编号",
|
||||
"temp": "#{DEPTCODE}"
|
||||
},
|
||||
{
|
||||
"type": "variant",
|
||||
"name": "ORGID",
|
||||
"help": "当前用户所属组织机构(单位)id",
|
||||
"temp": "#{ORGID}"
|
||||
},
|
||||
{
|
||||
"type": "variant",
|
||||
"name": "ORGCODE",
|
||||
"help": "当前用户所属组织机构(单位)编号",
|
||||
"temp": "#{ORGCODE}"
|
||||
},
|
||||
{
|
||||
"type": "variant",
|
||||
"name": "USERWFID",
|
||||
"help": "当前用户工作流程参与者唯一ID等于 {ORGID}_{DEPTID}_{ROLEID}_{USERID}",
|
||||
"temp": "#{USERWFID}"
|
||||
}
|
||||
]
|
After Width: | Height: | Size: 403 B |
After Width: | Height: | Size: 294 B |
After Width: | Height: | Size: 1.1 KiB |
After Width: | Height: | Size: 914 B |
After Width: | Height: | Size: 1.4 KiB |
After Width: | Height: | Size: 1.5 KiB |
After Width: | Height: | Size: 14 KiB |
After Width: | Height: | Size: 1.4 KiB |
After Width: | Height: | Size: 509 B |
After Width: | Height: | Size: 1.3 KiB |
After Width: | Height: | Size: 410 B |
After Width: | Height: | Size: 991 B |
After Width: | Height: | Size: 16 KiB |
After Width: | Height: | Size: 554 B |
After Width: | Height: | Size: 459 B |
After Width: | Height: | Size: 1.2 KiB |
After Width: | Height: | Size: 537 B |
After Width: | Height: | Size: 1.4 KiB |
After Width: | Height: | Size: 228 B |
After Width: | Height: | Size: 337 B |
After Width: | Height: | Size: 1.3 KiB |
After Width: | Height: | Size: 16 KiB |
After Width: | Height: | Size: 1.2 KiB |
After Width: | Height: | Size: 16 KiB |
After Width: | Height: | Size: 1.2 KiB |
After Width: | Height: | Size: 1.0 KiB |
After Width: | Height: | Size: 486 B |
After Width: | Height: | Size: 301 B |
After Width: | Height: | Size: 1.3 KiB |
After Width: | Height: | Size: 364 B |
After Width: | Height: | Size: 324 B |
After Width: | Height: | Size: 1.1 KiB |
After Width: | Height: | Size: 535 B |
After Width: | Height: | Size: 284 B |
After Width: | Height: | Size: 946 B |
After Width: | Height: | Size: 16 KiB |
After Width: | Height: | Size: 995 B |
After Width: | Height: | Size: 402 B |
After Width: | Height: | Size: 561 B |
After Width: | Height: | Size: 1.4 KiB |
After Width: | Height: | Size: 1.1 KiB |
After Width: | Height: | Size: 691 B |
After Width: | Height: | Size: 294 B |
After Width: | Height: | Size: 1.4 KiB |
After Width: | Height: | Size: 886 B |
After Width: | Height: | Size: 555 B |
After Width: | Height: | Size: 444 B |
After Width: | Height: | Size: 1.2 KiB |
After Width: | Height: | Size: 914 B |
After Width: | Height: | Size: 1.4 KiB |
After Width: | Height: | Size: 664 B |
After Width: | Height: | Size: 783 B |
After Width: | Height: | Size: 912 B |
After Width: | Height: | Size: 767 B |