diff --git a/1068-yexiu-read-model-mybatis/.factorypath b/1068-yexiu-read-model-mybatis/.factorypath new file mode 100644 index 0000000..75a1946 --- /dev/null +++ b/1068-yexiu-read-model-mybatis/.factorypath @@ -0,0 +1,167 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/1068-yexiu-read-model-mybatis/.settings/org.eclipse.core.resources.prefs b/1068-yexiu-read-model-mybatis/.settings/org.eclipse.core.resources.prefs new file mode 100644 index 0000000..cdfe4f1 --- /dev/null +++ b/1068-yexiu-read-model-mybatis/.settings/org.eclipse.core.resources.prefs @@ -0,0 +1,5 @@ +eclipse.preferences.version=1 +encoding//src/main/java=UTF-8 +encoding//src/test/java=UTF-8 +encoding//src/test/resources=UTF-8 +encoding/=UTF-8 diff --git a/1068-yexiu-read-model-mybatis/.settings/org.eclipse.jdt.apt.core.prefs b/1068-yexiu-read-model-mybatis/.settings/org.eclipse.jdt.apt.core.prefs new file mode 100644 index 0000000..687ad91 --- /dev/null +++ b/1068-yexiu-read-model-mybatis/.settings/org.eclipse.jdt.apt.core.prefs @@ -0,0 +1,4 @@ +eclipse.preferences.version=1 +org.eclipse.jdt.apt.aptEnabled=true +org.eclipse.jdt.apt.genSrcDir=target\\generated-sources\\annotations +org.eclipse.jdt.apt.genTestSrcDir=target\\generated-test-sources\\test-annotations diff --git a/1068-yexiu-read-model-mybatis/.settings/org.eclipse.jdt.core.prefs b/1068-yexiu-read-model-mybatis/.settings/org.eclipse.jdt.core.prefs new file mode 100644 index 0000000..90b69d4 --- /dev/null +++ b/1068-yexiu-read-model-mybatis/.settings/org.eclipse.jdt.core.prefs @@ -0,0 +1,10 @@ +eclipse.preferences.version=1 +org.eclipse.jdt.core.compiler.codegen.methodParameters=generate +org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.8 +org.eclipse.jdt.core.compiler.compliance=1.8 +org.eclipse.jdt.core.compiler.problem.enablePreviewFeatures=disabled +org.eclipse.jdt.core.compiler.problem.forbiddenReference=warning +org.eclipse.jdt.core.compiler.problem.reportPreviewFeatures=ignore +org.eclipse.jdt.core.compiler.processAnnotations=enabled +org.eclipse.jdt.core.compiler.release=disabled +org.eclipse.jdt.core.compiler.source=1.8 diff --git a/1068-yexiu-read-model-mybatis/.settings/org.eclipse.m2e.core.prefs b/1068-yexiu-read-model-mybatis/.settings/org.eclipse.m2e.core.prefs new file mode 100644 index 0000000..f897a7f --- /dev/null +++ b/1068-yexiu-read-model-mybatis/.settings/org.eclipse.m2e.core.prefs @@ -0,0 +1,4 @@ +activeProfiles= +eclipse.preferences.version=1 +resolveWorkspaceProjects=true +version=1 diff --git a/1068-yexiu-read-model-mybatis/.settings/org.springframework.ide.eclipse.prefs b/1068-yexiu-read-model-mybatis/.settings/org.springframework.ide.eclipse.prefs new file mode 100644 index 0000000..a12794d --- /dev/null +++ b/1068-yexiu-read-model-mybatis/.settings/org.springframework.ide.eclipse.prefs @@ -0,0 +1,2 @@ +boot.validation.initialized=true +eclipse.preferences.version=1 diff --git a/1068-yexiu-read-model-mybatis/1068-yexiu-read-model-mybatis.iml b/1068-yexiu-read-model-mybatis/1068-yexiu-read-model-mybatis.iml new file mode 100644 index 0000000..30d30e6 --- /dev/null +++ b/1068-yexiu-read-model-mybatis/1068-yexiu-read-model-mybatis.iml @@ -0,0 +1,213 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/1068-yexiu-read-model-mybatis/pom.xml b/1068-yexiu-read-model-mybatis/pom.xml new file mode 100644 index 0000000..920d688 --- /dev/null +++ b/1068-yexiu-read-model-mybatis/pom.xml @@ -0,0 +1,51 @@ + + + + yuexiu-secp-v1.0 + com.yuexiu.secp + 1.0.0 + + 4.0.0 + 1068-yexiu-read-model-mybatis + 1.0.0 + + + + + + com.sie.irradiator + 1011-sieiot-common-model-mybatis + + + com.sie.irradiator + 2069-siedemo-comm-api + + + + org.springframework.boot + spring-boot-starter-data-mongodb + + + + + + + + + org.apache.maven.plugins + maven-compiler-plugin + + + -parameters + + ${project.build.sourceEncoding} + ${java.version} + ${java.version} + + + + + + diff --git a/1068-yexiu-read-model-mybatis/src/main/java/com/sie/demo/comm/model/dao/BaseUsersDao.java b/1068-yexiu-read-model-mybatis/src/main/java/com/sie/demo/comm/model/dao/BaseUsersDao.java new file mode 100644 index 0000000..7d1f3dc --- /dev/null +++ b/1068-yexiu-read-model-mybatis/src/main/java/com/sie/demo/comm/model/dao/BaseUsersDao.java @@ -0,0 +1,10 @@ +package com.sie.demo.comm.model.dao + ; + +import com.sie.demo.comm.model.entities.readonly.BaseUsers; +import com.sie.iot.common.model.dao.BaseCommonDAO_HI; +import org.springframework.stereotype.Component; + +@Component("baseUsersDao") +public interface BaseUsersDao extends BaseCommonDAO_HI { +} diff --git a/1068-yexiu-read-model-mybatis/src/main/java/com/sie/demo/comm/model/entities/readonly/BaseUsers.java b/1068-yexiu-read-model-mybatis/src/main/java/com/sie/demo/comm/model/entities/readonly/BaseUsers.java new file mode 100644 index 0000000..12fabae --- /dev/null +++ b/1068-yexiu-read-model-mybatis/src/main/java/com/sie/demo/comm/model/entities/readonly/BaseUsers.java @@ -0,0 +1,22 @@ +package com.sie.demo.comm.model.entities.readonly; + +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import com.sie.iot.common.idgenerate.GeneratedKeyValue; +import lombok.Data; + +import java.io.Serializable; + +@Data +@TableName("base_users") +@GeneratedKeyValue +public class BaseUsers implements Serializable { + @TableId(value = "user_id", type = IdType.ASSIGN_ID) + private int userId; + + private String phoneNumber; + + +} + diff --git a/1068-yexiu-read-model-mybatis/src/test/java/com/sie/demo/comm/server/IotBaseServerTest.java b/1068-yexiu-read-model-mybatis/src/test/java/com/sie/demo/comm/server/IotBaseServerTest.java new file mode 100644 index 0000000..c569065 --- /dev/null +++ b/1068-yexiu-read-model-mybatis/src/test/java/com/sie/demo/comm/server/IotBaseServerTest.java @@ -0,0 +1,163 @@ +//package com.sie.demo.comm.server; +// +//import cn.hutool.core.date.DateUnit; +//import cn.hutool.core.date.DateUtil; +//import com.alibaba.fastjson.JSONObject; +//import com.sie.demo.comm.model.entities.TestMetadataEntity; +//import com.sie.demo.comm.utils.TestCaseUtil; +//import com.siefw.hibernate.core.paging.Pagination; +//import org.junit.Assert; +//import org.junit.Test; +//import org.springframework.beans.factory.annotation.Autowired; +// +//import java.util.Date; +// +//public class IotBaseServerTest extends TestCaseUtil { +// @Autowired +// private ITestMetadata testMetadataServer; +// +// @Test +// public void save(){ +// //TestMetadataEntity entity = testMetadataServer.getById(367188156L); +// TestMetadataEntity entity1 = new TestMetadataEntity(); +// entity1.setTestId(467188156L); +// entity1.setTestCode("12365555555"); +// testMetadataServer.update(entity1); +// } +// +// +// @Test +// public void getByIdTest() { +// TestMetadataEntity metadataEntityHi = testMetadataServer.getById(355035427L); +// metadataEntityHi = testMetadataServer.getById(355035427L); +// System.out.println(JSONObject.toJSONString(metadataEntityHi)); +// } +// +// +//// @Test +//// public void getSingleBySqlTest(){ +//// int i = testMetadataServer.getSingleBySql(); +//// System.out.println(i); +//// } +//// +//// @Test +//// public void findOneBySql(){ +//// Map oneBySql = testMetadataServer.findOneBySql(); +//// Assert.assertNotNull(oneBySql); +//// } +//// +//// +//// @Test +//// public void findListBySql(){ +//// List> listBySql = testMetadataServer.findListBySql(); +//// listBySql = testMetadataServer.findListBySql(); +//// +//// Assert.assertNotNull(listBySql); +//// Assert.assertEquals(listBySql.size(),17); +//// } +// +// @Test +// public void findPagination1(){ +// Pagination listBySql = testMetadataServer.findPagination(new JSONObject(),1,10,null); +// testMetadataServer.findPagination(new JSONObject(),1,10,null); +// +// Assert.assertNotNull(listBySql); +// } +// +// @Test +// public void findPagination(){ +// Pagination listBySql = testMetadataServer.findDoublePagination(); +// Assert.assertNotNull(listBySql); +// } +// +// +// /** +// * 总-的事务 +// * findP 1000 +// * 耗时:37 +// */ +// @Test +// public void findDoubleTest(){ +// Date start = new Date(); +// TestMetadataEntity listBySql = testMetadataServer.findDoubleTest(); +// Date end = new Date(); +// System.out.println("-----------"+DateUtil.between(end,start, DateUnit.SECOND)); +// } +// +// +// /** +// * 每次单独事务 +// * findP 1000 +// * 耗时:134 +// */ +// @Test +// public void getDoubleTest(){ +// //TestMetadataEntity listBySql = testMetadataServer.getDoubleTest(); +// //Assert.assertNotNull(listBySql); +// +// Date start = new Date(); +// for (int i=0;i<1000;i++){ +// testMetadataServer.findPagination(new JSONObject(),1,10,null);; +// } +// Date end = new Date(); +// System.out.println("-----------"+DateUtil.between(end,start, DateUnit.SECOND)); +// } +// +// /** +// * 总-的事务 给get加上事务 以find修饰 +// * find 1000 +// * 耗时:17 +// */ +// @Test +// public void findDoubleTestGET(){ +// Date start = new Date(); +// TestMetadataEntity listBySql = testMetadataServer.findDoubleTestGet(); +// Date end = new Date(); +// System.out.println("-----------"+DateUtil.between(end,start, DateUnit.SECOND)); +// } +// +// +// +// /** +// * 每次单独执行 没有事务 每次都是new session +// * get 1000 +// * 耗时:41 --21 +// */ +// @Test +// public void getDoubleTestGET(){ +// //TestMetadataEntity listBySql = testMetadataServer.getDoubleTest(); +// //Assert.assertNotNull(listBySql); +// +// Date start = new Date(); +// for (int i=0;i<1000;i++){ +// testMetadataServer.getById((long)i); +// } +// Date end = new Date(); +// System.out.println("-----------"+DateUtil.between(end,start, DateUnit.SECOND)); +// } +// +// /** +// * 每次单独执行 有事务 +// * find 1000 +// * 耗时:127 -104 +// */ +// @Test +// public void getDoubleTestGET1(){ +// //TestMetadataEntity listBySql = testMetadataServer.getDoubleTest(); +// //Assert.assertNotNull(listBySql); +// +// Date start = new Date(); +// for (int i=0;i<1000;i++){ +// testMetadataServer.findById((long) i); +// } +// Date end = new Date(); +// System.out.println("-----------"+DateUtil.between(end,start, DateUnit.SECOND)); +// } +// +// +// @Test +// public void getDoubleTestGET11(){ +// Date end = new Date(); +// } +// +//} \ No newline at end of file diff --git a/1068-yexiu-read-model-mybatis/src/test/java/com/sie/demo/comm/utils/TestCaseUtil.java b/1068-yexiu-read-model-mybatis/src/test/java/com/sie/demo/comm/utils/TestCaseUtil.java new file mode 100644 index 0000000..cd41bae --- /dev/null +++ b/1068-yexiu-read-model-mybatis/src/test/java/com/sie/demo/comm/utils/TestCaseUtil.java @@ -0,0 +1,13 @@ +package com.sie.demo.comm.utils; + +import org.junit.runner.RunWith; +import org.springframework.test.context.ContextConfiguration; +import org.springframework.test.context.junit4.SpringJUnit4ClassRunner; +import org.springframework.test.context.web.WebAppConfiguration; + +@RunWith(SpringJUnit4ClassRunner.class) +@ContextConfiguration(locations={"classpath*:com/sie/demo/comm/config/spring.hibernate.cfg.xml"}) +@WebAppConfiguration +public class TestCaseUtil { + +} diff --git a/1068-yexiu-read-model-mybatis/src/test/resources/com/sie/demo/comm/config/db_jdbc.properties b/1068-yexiu-read-model-mybatis/src/test/resources/com/sie/demo/comm/config/db_jdbc.properties new file mode 100644 index 0000000..2e06a0d --- /dev/null +++ b/1068-yexiu-read-model-mybatis/src/test/resources/com/sie/demo/comm/config/db_jdbc.properties @@ -0,0 +1,41 @@ +properties.jdbc.driverClassName=com.mysql.jdbc.Driver +properties.jdbc.url=0273a20d38cf3daca43abea56319a2013a0c69fda1a828015452b0e105cd6a0ce0fc283160dbdcff23cac36993b9f8dfacb6a9e4a3ec4bd45f4bc6a5dd6ccdefb5215be93c04ab2ed839d345c9a5966cbdff9a79be5c15e1d7daa4c4d5f8dd47e20e5f7748aa1cbdef8b6ebfc2f81e4e2f108339034e4471 +properties.jdbc.username=a2e14dca7baac4c6f665eab7d44305c4 +properties.jdbc.password=ab1c81e5641895cbe45ebcaee32b4eb1 +properties.jdbc.validationQuery=SELECT 1 +properties.jdbc.initialSize=20 +properties.jdbc.maxActive=800 +properties.jdbc.maxIdle=50 +properties.jdbc.minIdle=20 + + +# OSSļ +sie.file.type=aliyun +sie.file.accessProtocol=https:// +sie.file.endpoint=oss-cn-shanghai.aliyuncs.com +sie.file.accessKeyId=317cb4dcd8af8974ff6a8d848d21ea245b3309cf6d94740c64783b56dc058aca +sie.file.accessKeySecret=9a04fb8534f8abd1dd10ac58d2faa405ce718e2343d47356b6431abfbee9d60f +sie.file.bucketName=sieiotoss + +fastdfs.connect-timeout = 2 +fastdfs.network-timeout = 30 +fastdfs.charset = UTF-8 +fastdfs.tracker-http-port = 8080 +fastdfs.anti-steal-token = false +fastdfs.secret-key = FastDFS1234567890 +fastdfs.tracker-servers = 192.168.8.22:22122 +fastdfs.pool.enabled = true +fastdfs.pool.max-count-per-entry=500 +fastdfs.pool.max-idle-time=3600 +fastdfs.pool.maxWaitTimeInMs = 1000 + + +spring.redis.host=139.159.228.191 +spring.redis.port=6377 +spring.redis.password=j4kd4ng3s8f3 + + + +spring.klock.address=${spring.redis.host}:${spring.redis.port} +spring.klock.password=${spring.redis.password} +spring.klock.enable=true diff --git a/1068-yexiu-read-model-mybatis/src/test/resources/com/sie/demo/comm/config/spring.hibernate.cfg.xml b/1068-yexiu-read-model-mybatis/src/test/resources/com/sie/demo/comm/config/spring.hibernate.cfg.xml new file mode 100644 index 0000000..d7d1ce1 --- /dev/null +++ b/1068-yexiu-read-model-mybatis/src/test/resources/com/sie/demo/comm/config/spring.hibernate.cfg.xml @@ -0,0 +1,93 @@ + + + + + + + + + + classpath:com/sie/demo/comm/config/db_jdbc.properties + + + + + + + + + + + + + + + + + + + + + com.sie.demo.comm.model.entities + + + + + org.hibernate.dialect.MySQLDialect + true + + none + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/1068-yexiu-read-model-mybatis/src/test/resources/logback.xml b/1068-yexiu-read-model-mybatis/src/test/resources/logback.xml new file mode 100644 index 0000000..f90dd53 --- /dev/null +++ b/1068-yexiu-read-model-mybatis/src/test/resources/logback.xml @@ -0,0 +1,48 @@ + + + + + + + + + + + + + %date{yyyy-MM-dd HH:mm:ss.SSS} %-5level [%thread]%logger{56}.%method:%L -%msg%n + + + + + + ${log.base}/${log.moduleName}.log + + + ${log.base}/archive/${log.moduleName}_all_%d{yyyy-MM-dd}.%i.log.zip + + + + ${log.max.size} + + + + + %date{yyyy-MM-dd HH:mm:ss.SSS} %-5level [%thread]%logger{56}.%method:%L -%msg%n + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/1068-yexiu-read-model-mybatis/target/classes/com/sie/demo/comm/model/dao/BaseUsersDao.class b/1068-yexiu-read-model-mybatis/target/classes/com/sie/demo/comm/model/dao/BaseUsersDao.class new file mode 100644 index 0000000..0cef020 Binary files /dev/null and b/1068-yexiu-read-model-mybatis/target/classes/com/sie/demo/comm/model/dao/BaseUsersDao.class differ diff --git a/1068-yexiu-read-model-mybatis/target/classes/com/sie/demo/comm/model/entities/readonly/BaseUsers.class b/1068-yexiu-read-model-mybatis/target/classes/com/sie/demo/comm/model/entities/readonly/BaseUsers.class new file mode 100644 index 0000000..0cc8907 Binary files /dev/null and b/1068-yexiu-read-model-mybatis/target/classes/com/sie/demo/comm/model/entities/readonly/BaseUsers.class differ diff --git a/1068-yexiu-read-model-mybatis/target/test-classes/com/sie/demo/comm/config/db_jdbc.properties b/1068-yexiu-read-model-mybatis/target/test-classes/com/sie/demo/comm/config/db_jdbc.properties new file mode 100644 index 0000000..2e06a0d --- /dev/null +++ b/1068-yexiu-read-model-mybatis/target/test-classes/com/sie/demo/comm/config/db_jdbc.properties @@ -0,0 +1,41 @@ +properties.jdbc.driverClassName=com.mysql.jdbc.Driver +properties.jdbc.url=0273a20d38cf3daca43abea56319a2013a0c69fda1a828015452b0e105cd6a0ce0fc283160dbdcff23cac36993b9f8dfacb6a9e4a3ec4bd45f4bc6a5dd6ccdefb5215be93c04ab2ed839d345c9a5966cbdff9a79be5c15e1d7daa4c4d5f8dd47e20e5f7748aa1cbdef8b6ebfc2f81e4e2f108339034e4471 +properties.jdbc.username=a2e14dca7baac4c6f665eab7d44305c4 +properties.jdbc.password=ab1c81e5641895cbe45ebcaee32b4eb1 +properties.jdbc.validationQuery=SELECT 1 +properties.jdbc.initialSize=20 +properties.jdbc.maxActive=800 +properties.jdbc.maxIdle=50 +properties.jdbc.minIdle=20 + + +# OSSļ +sie.file.type=aliyun +sie.file.accessProtocol=https:// +sie.file.endpoint=oss-cn-shanghai.aliyuncs.com +sie.file.accessKeyId=317cb4dcd8af8974ff6a8d848d21ea245b3309cf6d94740c64783b56dc058aca +sie.file.accessKeySecret=9a04fb8534f8abd1dd10ac58d2faa405ce718e2343d47356b6431abfbee9d60f +sie.file.bucketName=sieiotoss + +fastdfs.connect-timeout = 2 +fastdfs.network-timeout = 30 +fastdfs.charset = UTF-8 +fastdfs.tracker-http-port = 8080 +fastdfs.anti-steal-token = false +fastdfs.secret-key = FastDFS1234567890 +fastdfs.tracker-servers = 192.168.8.22:22122 +fastdfs.pool.enabled = true +fastdfs.pool.max-count-per-entry=500 +fastdfs.pool.max-idle-time=3600 +fastdfs.pool.maxWaitTimeInMs = 1000 + + +spring.redis.host=139.159.228.191 +spring.redis.port=6377 +spring.redis.password=j4kd4ng3s8f3 + + + +spring.klock.address=${spring.redis.host}:${spring.redis.port} +spring.klock.password=${spring.redis.password} +spring.klock.enable=true diff --git a/1068-yexiu-read-model-mybatis/target/test-classes/com/sie/demo/comm/config/spring.hibernate.cfg.xml b/1068-yexiu-read-model-mybatis/target/test-classes/com/sie/demo/comm/config/spring.hibernate.cfg.xml new file mode 100644 index 0000000..d7d1ce1 --- /dev/null +++ b/1068-yexiu-read-model-mybatis/target/test-classes/com/sie/demo/comm/config/spring.hibernate.cfg.xml @@ -0,0 +1,93 @@ + + + + + + + + + + classpath:com/sie/demo/comm/config/db_jdbc.properties + + + + + + + + + + + + + + + + + + + + + com.sie.demo.comm.model.entities + + + + + org.hibernate.dialect.MySQLDialect + true + + none + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/1068-yexiu-read-model-mybatis/target/test-classes/com/sie/demo/comm/utils/TestCaseUtil.class b/1068-yexiu-read-model-mybatis/target/test-classes/com/sie/demo/comm/utils/TestCaseUtil.class new file mode 100644 index 0000000..459014b Binary files /dev/null and b/1068-yexiu-read-model-mybatis/target/test-classes/com/sie/demo/comm/utils/TestCaseUtil.class differ diff --git a/1068-yexiu-read-model-mybatis/target/test-classes/logback.xml b/1068-yexiu-read-model-mybatis/target/test-classes/logback.xml new file mode 100644 index 0000000..f90dd53 --- /dev/null +++ b/1068-yexiu-read-model-mybatis/target/test-classes/logback.xml @@ -0,0 +1,48 @@ + + + + + + + + + + + + + %date{yyyy-MM-dd HH:mm:ss.SSS} %-5level [%thread]%logger{56}.%method:%L -%msg%n + + + + + + ${log.base}/${log.moduleName}.log + + + ${log.base}/archive/${log.moduleName}_all_%d{yyyy-MM-dd}.%i.log.zip + + + + ${log.max.size} + + + + + %date{yyyy-MM-dd HH:mm:ss.SSS} %-5level [%thread]%logger{56}.%method:%L -%msg%n + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/1069-yuexiu-registration-model-mybatis/1069-yuexiu-registration-model-mybatis.iml b/1069-yuexiu-registration-model-mybatis/1069-yuexiu-registration-model-mybatis.iml new file mode 100644 index 0000000..e5bf991 --- /dev/null +++ b/1069-yuexiu-registration-model-mybatis/1069-yuexiu-registration-model-mybatis.iml @@ -0,0 +1,208 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/1069-yuexiu-registration-model-mybatis/pom.xml b/1069-yuexiu-registration-model-mybatis/pom.xml new file mode 100644 index 0000000..f28a539 --- /dev/null +++ b/1069-yuexiu-registration-model-mybatis/pom.xml @@ -0,0 +1,50 @@ + + + + yuexiu-secp-v1.0 + com.yuexiu.secp + 1.0.0 + + 4.0.0 + + 1069-yuexiu-registration-model-mybatis + + + 8 + 8 + + + + + + com.sie.irradiator + 1011-sieiot-common-model-mybatis + + + com.sie.irradiator + 2069-siedemo-comm-api + + + + + + + + + org.apache.maven.plugins + maven-compiler-plugin + + + -parameters + + ${project.build.sourceEncoding} + ${java.version} + ${java.version} + + + + + + diff --git a/2067-yuexiu-task-api/2067-yuexiu-task-api.iml b/2067-yuexiu-task-api/2067-yuexiu-task-api.iml new file mode 100644 index 0000000..d34fa10 --- /dev/null +++ b/2067-yuexiu-task-api/2067-yuexiu-task-api.iml @@ -0,0 +1,123 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/2067-yuexiu-task-api/pom.xml b/2067-yuexiu-task-api/pom.xml new file mode 100644 index 0000000..922020e --- /dev/null +++ b/2067-yuexiu-task-api/pom.xml @@ -0,0 +1,88 @@ + + + + sie-irradiator-v1.0 + com.sie.irradiator + 2.0.3 + + 4.0.0 + 2067-yuexiu-task-api + + + 8 + 8 + + + + + + + org.springframework.cloud + spring-cloud-starter-openfeign + 2.0.2.RELEASE + + + io.github.openfeign + feign-core + 9.7.0 + + + javax.servlet + javax.servlet-api + 3.1.0 + provided + + + com.sie.irradiator + 1003-sieiot-core + 1.0.3 + + + + + + + myRepository + local private nexus + http://139.159.227.77:8081/nexus/content/repositories/thirdparty/ + + true + + + true + + + + + + nexus-releases + Nexus Release Repository + http://139.159.227.77:8081/nexus/content/repositories/thirdparty/ + + + nexus-snapshots + Nexus Snapshot Repository + http://139.159.227.77:8081/nexus/content/repositories/thirdparty/ + + + + + + + org.apache.maven.plugins + maven-compiler-plugin + + + -parameters + + ${project.build.sourceEncoding} + ${java.version} + ${java.version} + + + + + + diff --git a/2067-yuexiu-task-application/2067-yuexiu-task-application.iml b/2067-yuexiu-task-application/2067-yuexiu-task-application.iml new file mode 100644 index 0000000..1b41691 --- /dev/null +++ b/2067-yuexiu-task-application/2067-yuexiu-task-application.iml @@ -0,0 +1,342 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + file://$MODULE_DIR$/src/main/resources/com/yuexiu/secp/comm/config/spring.mybatis.cfg.xml + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/2067-yuexiu-task-application/pom.xml b/2067-yuexiu-task-application/pom.xml new file mode 100644 index 0000000..e2bdbcc --- /dev/null +++ b/2067-yuexiu-task-application/pom.xml @@ -0,0 +1,47 @@ + + + + yuexiu-secp-v1.0 + com.yuexiu.secp + 1.0.0 + + 4.0.0 + + 2067-yuexiu-task-application + + + 8 + 8 + + + + + + + com.sie.irradiator + 1011-sieiot-common-application + + + + + org.springframework.boot + spring-boot-starter-undertow + + + + + com.sie.irradiator + 2067-yuexiu-task-api + 2.0.3 + + + + com.yuexiu.secp + 1067-yuexiu-task-model-mybatis + 1.0.0 + + + + diff --git a/2067-yuexiu-task-application/src/main/java/com/yuexiu/secp/comm/TaskApplication.java b/2067-yuexiu-task-application/src/main/java/com/yuexiu/secp/comm/TaskApplication.java new file mode 100644 index 0000000..306a6ef --- /dev/null +++ b/2067-yuexiu-task-application/src/main/java/com/yuexiu/secp/comm/TaskApplication.java @@ -0,0 +1,37 @@ +package com.yuexiu.secp.comm; + +import com.sie.iot.common.application.CommonApplication; +import org.springframework.beans.factory.annotation.Value; +import org.springframework.boot.SpringApplication; +import org.springframework.boot.autoconfigure.EnableAutoConfiguration; +import org.springframework.boot.autoconfigure.SpringBootApplication; +import org.springframework.boot.autoconfigure.jdbc.DataSourceAutoConfiguration; +import org.springframework.boot.autoconfigure.orm.jpa.HibernateJpaAutoConfiguration; +import org.springframework.boot.builder.SpringApplicationBuilder; +import org.springframework.cloud.client.discovery.EnableDiscoveryClient; +import org.springframework.cloud.openfeign.EnableFeignClients; +import org.springframework.context.annotation.EnableAspectJAutoProxy; +import org.springframework.context.annotation.ImportResource; +import org.springframework.web.bind.annotation.RestController; + + +@SpringBootApplication +@RestController +@EnableDiscoveryClient +@EnableFeignClients +@EnableAspectJAutoProxy(proxyTargetClass = true) +@ImportResource({"classpath*:com/yuexiu/secp/comm/config/spring.mybatis.cfg.xml"}) +@EnableAutoConfiguration(exclude={DataSourceAutoConfiguration.class, HibernateJpaAutoConfiguration.class}) +public class TaskApplication extends CommonApplication { + + private static String SERVICE_NAME = "--spring.profiles.active=yuexiu2067"; + + + public static void main(String[] args) { + args = new String[1]; + args[0] = SERVICE_NAME; + new SpringApplicationBuilder(TaskApplication.class).run(args); + + } +} + diff --git a/2067-yuexiu-task-application/src/main/java/com/yuexiu/secp/comm/infra/config/Swagger2Config.java b/2067-yuexiu-task-application/src/main/java/com/yuexiu/secp/comm/infra/config/Swagger2Config.java new file mode 100644 index 0000000..9b03a97 --- /dev/null +++ b/2067-yuexiu-task-application/src/main/java/com/yuexiu/secp/comm/infra/config/Swagger2Config.java @@ -0,0 +1,105 @@ +package com.yuexiu.secp.comm.infra.config; + +import com.google.common.base.Function; +import com.google.common.base.Optional; +import com.google.common.base.Predicate; +import org.springframework.beans.factory.annotation.Value; +import org.springframework.context.annotation.Bean; +import org.springframework.context.annotation.Configuration; +import springfox.documentation.RequestHandler; +import springfox.documentation.builders.ApiInfoBuilder; +import springfox.documentation.builders.ParameterBuilder; +import springfox.documentation.builders.PathSelectors; +import springfox.documentation.schema.ModelRef; +import springfox.documentation.service.ApiInfo; +import springfox.documentation.service.Parameter; +import springfox.documentation.spi.DocumentationType; +import springfox.documentation.spring.web.plugins.Docket; +import springfox.documentation.swagger2.annotations.EnableSwagger2; + +import java.util.ArrayList; +import java.util.List; + +/** + * Swagger2配置类 + * 在与spring boot集成时,放在与Application.java同级的目录下。 + * 通过@Configuration注解,让Spring来加载该类配置。 + * 再通过@EnableSwagger2注解来启用Swagger2。 + */ +@Configuration +@EnableSwagger2 +public class Swagger2Config { + + + @Value("${swagger.enable}") + private boolean enableSwagger; + + /** + * 创建API应用 + * apiInfo() 增加API相关信息 + * 通过select()函数返回一个ApiSelectorBuilder实例,用来控制哪些接口暴露给Swagger来展现, + * 本例采用指定扫描的包路径来定义指定要建立API的目录。 + * @return + */ + @Bean + public Docket createRestApi() { + ParameterBuilder ticketPar = new ParameterBuilder(); + List pars = new ArrayList(); + ticketPar.name("authorization").description("认证token") + .modelRef(new ModelRef("string")).parameterType("header") + .required(false).build(); //header中的ticket参数非必填,传空也可以 + pars.add(ticketPar.build()); //根据每个方法名也知道当前方法在设置什么参数 + return new Docket(DocumentationType.SWAGGER_2) + .apiInfo(apiInfo()) + .select() + .apis(basePackage("com.yuexiu.secp.interfaces.controller")) + .paths(PathSelectors.any()) + .build().enable(enableSwagger) + .globalOperationParameters(pars); + } + /** + * 创建该API的基本信息(这些基本信息会展现在文档页面中) + * 访问地址:http://项目实际地址/swagger-ui.html + * @return + */ + private ApiInfo apiInfo() { + return new ApiInfoBuilder() + .title("Spring Boot中使用Swagger2构建RESTful APIs") + .description("更多请关注http://www.chinasie.com") + .termsOfServiceUrl("http://www.chinasie.com") + .contact("sunf") + .version("1.0") + .build(); + } + + /** + * 重写basePackage方法,使能够实现多包访问,复制贴上去 + * @author teavamc + * @date 2019/1/26 + * @param basePackage + * @return com.google.common.base.Predicate + */ + public static Predicate basePackage(final String basePackage) { + return input -> declaringClass(input).transform(handlerPackage(basePackage)).or(true); + } + + + + private static Function, Boolean> handlerPackage(final String basePackage) { + return input -> { + // 循环判断匹配 + for (String strPackage : basePackage.split(";")) { + boolean isMatch = input.getPackage().getName().startsWith(strPackage); + if (isMatch) { + return true; + } + } + return false; + }; + } + + + private static Optional> declaringClass(RequestHandler input) { + return Optional.fromNullable(input.declaringClass()); + } +} \ No newline at end of file diff --git a/2067-yuexiu-task-application/src/main/resources/application-yuexiu2067.yml b/2067-yuexiu-task-application/src/main/resources/application-yuexiu2067.yml new file mode 100644 index 0000000..33874c5 --- /dev/null +++ b/2067-yuexiu-task-application/src/main/resources/application-yuexiu2067.yml @@ -0,0 +1,86 @@ +server: + port: 2067 + +spring: + cloud: + nacos: + discovery: + server-addr: 127.0.0.1:9010 + application: + name: 2067-yuexiu-task-application + redis: + host: 139.159.228.191 + port: 6377 + password: j4kd4ng3s8f3 + database: 0 + jedis: + pool: + max-active: 1000 + max-idle: 100 + min-idle: 8 + max-wait: 3000ms + timeout: 10000ms +# redis: +# host: 192.168.88.200 +# port: 5001 +# password: + jpa: + hibernate: + use-new-id-generator-mappings: false +swagger: + enable: true + +# 可以配置api-url ribbon,对以上的服务进行负载均衡 +ribbon: + ReadTimeout: 100000 + ConnectTimeout: 100000 + okhttp: + enabled: true + +#feign +feign: + sentinel: + enabled: true + + + + kafka: + bootstrap-servers: 139.159.224.135:9092 #(kafka生产集群ip+port端口) + listener: + missing-topics-fatal: false + producer: + acks: all + buffer-memory: 40960 + retries: 0 + batch-size: 4096 + properties: + linger.ms: 1 + key-serializer: org.apache.kafka.common.serialization.StringSerializer + value-serializer: org.apache.kafka.common.serialization.StringSerializer + consumer: + enable-auto-commit: true #(是否自动提交) + auto-commit-interval: 100ms + # 当kafka中没有初始offset或offset超出范围时将自动重置offset + # earliest:重置为分区中最小的offset; + # latest:重置为分区中最新的offset(消费分区中新产生的数据); + # none:只要有一个分区不存在已提交的offset,就抛出异常; + auto-offset-reset: latest #(实时生产,实时消费,不会从头开始消费) + group-id: defaultConsumerGroup #(消费组 无消费) + key-deserializer: org.apache.kafka.common.serialization.StringDeserializer + value-deserializer: org.apache.kafka.common.serialization.StringDeserializer + + cloud: + # 增加动态修改熔断规则支持 + sentinel: + eager: true + datasource: + # 熔断配置 + ds1: + apollo: + namespaceName: application + flowRulesKey: degrade-rules + dataType: json + ruleType: DEGRADE + + + diff --git a/2067-yuexiu-task-application/src/main/resources/application.properties b/2067-yuexiu-task-application/src/main/resources/application.properties new file mode 100644 index 0000000..66cf7fd --- /dev/null +++ b/2067-yuexiu-task-application/src/main/resources/application.properties @@ -0,0 +1,125 @@ +spring.application.name=2067-yuexiu-task-application + +management.metrics.export.prometheus.enabled=true +management.metrics.export.prometheus.step=1ms +management.metrics.export.prometheus.descriptions=true + +management.metrics.web.server.auto-time-requests=true +management.endpoints.web.exposure.include=* +management.metrics.tags.application=${spring.application.name} + +# \u8BBE\u7F6EIO\u7EBF\u7A0B\u6570, \u5B83\u4E3B\u8981\u6267\u884C\u975E\u963B\u585E\u7684\u4EFB\u52A1,\u5B83\u4EEC\u4F1A\u8D1F\u8D23\u591A\u4E2A\u8FDE\u63A5, \u9ED8\u8BA4\u8BBE\u7F6E\u6BCF\u4E2ACPU\u6838\u5FC3\u4E00\u4E2A\u7EBF\u7A0B +# \u4E0D\u8981\u8BBE\u7F6E\u8FC7\u5927\uFF0C\u5982\u679C\u8FC7\u5927\uFF0C\u542F\u52A8\u9879\u76EE\u4F1A\u62A5\u9519\uFF1A\u6253\u5F00\u6587\u4EF6\u6570\u8FC7\u591A +server.undertow.io-threads=4 + +# \u963B\u585E\u4EFB\u52A1\u7EBF\u7A0B\u6C60, \u5F53\u6267\u884C\u7C7B\u4F3Cservlet\u8BF7\u6C42\u963B\u585EIO\u64CD\u4F5C, undertow\u4F1A\u4ECE\u8FD9\u4E2A\u7EBF\u7A0B\u6C60\u4E2D\u53D6\u5F97\u7EBF\u7A0B +# \u5B83\u7684\u503C\u8BBE\u7F6E\u53D6\u51B3\u4E8E\u7CFB\u7EDF\u7EBF\u7A0B\u6267\u884C\u4EFB\u52A1\u7684\u963B\u585E\u7CFB\u6570\uFF0C\u9ED8\u8BA4\u503C\u662FIO\u7EBF\u7A0B\u6570*8 +server.undertow.worker-threads=32 + +# \u4EE5\u4E0B\u7684\u914D\u7F6E\u4F1A\u5F71\u54CDbuffer,\u8FD9\u4E9Bbuffer\u4F1A\u7528\u4E8E\u670D\u52A1\u5668\u8FDE\u63A5\u7684IO\u64CD\u4F5C,\u6709\u70B9\u7C7B\u4F3Cnetty\u7684\u6C60\u5316\u5185\u5B58\u7BA1\u7406 +# \u6BCF\u5757buffer\u7684\u7A7A\u95F4\u5927\u5C0F,\u8D8A\u5C0F\u7684\u7A7A\u95F4\u88AB\u5229\u7528\u8D8A\u5145\u5206\uFF0C\u4E0D\u8981\u8BBE\u7F6E\u592A\u5927\uFF0C\u4EE5\u514D\u5F71\u54CD\u5176\u4ED6\u5E94\u7528\uFF0C\u5408\u9002\u5373\u53EF +server.undertow.buffer-size=1024 + +# \u662F\u5426\u5206\u914D\u7684\u76F4\u63A5\u5185\u5B58(NIO\u76F4\u63A5\u5206\u914D\u7684\u5806\u5916\u5185\u5B58) +server.undertow.direct-buffers=true +feign.hystrix.enabled=true + +#\u6CE8\uFF1A\u591A\u4E2AIP\u53EF\u4EE5\u901A\u8FC7\u201C\uFF0C\u201D +spring.cloud.nacos.discovery.server-addr=127.0.0.1:9010 +#nacos\u5BA2\u6237\u7AEF\u5411\u670D\u52A1\u7AEF\u53D1\u9001\u5FC3\u8DF3\u7684\u65F6\u95F4\u95F4\u9694\uFF0C\u9ED8\u8BA45s +#\u6CE8\uFF1A\u5BA2\u6237\u7AEF\u5411\u670D\u52A1\u7AEF\u6BCF\u96945s\u5411\u670D\u52A1\u7AEF\u53D1\u9001\u5FC3\u8DF3\u8BF7\u6C42\uFF0C\u8FDB\u884C\u670D\u52A1\u7EED\u79DF\uFF0C\u544A\u8BC9\u670D\u52A1\u7AEF\u8BE5\u5B9E\u4F8BIP\u5065\u5EB7\u3002\u82E5\u57283\u6B21\u5FC3\u8DF3\u7684\u95F4\u9694\u65F6\u95F4(\u9ED8\u8BA415s)\u5185\u670D\u52A1\u7AEF\u6CA1\u6709\u63A5\u53D7\u5230\u8BE5\u5B9E\u4F8B\u7684\u5FC3\u8DF3\u8BF7\u6C42\uFF0C\u5219\u8BA4\u4E3A\u8BE5\u5B9E\u4F8B\u4E0D\u5065\u5EB7\uFF0C\u8BE5\u5B9E\u4F8B\u5C06\u65E0\u6CD5\u88AB\u6D88\u8D39\u3002\u5982\u679C\u518D\u6B21\u7ECF\u53863\u6B21\u5FC3\u8DF3\u7684\u95F4\u9694\u65F6\u95F4\uFF0C\u670D\u52A1\u7AEF\u63A5\u53D7\u5230\u8BE5\u5B9E\u4F8B\u7684\u8BF7\u6C42\uFF0C\u90A3\u4E48\u4F1A\u7ACB\u523B\u5C06\u5176\u8BBE\u7F6E\u5916\u5065\u5EB7\uFF0C\u5E76\u53EF\u4EE5\u88AB\u6D88\u8D39\uFF0C\u82E5\u672A\u63A5\u53D7\u5230\uFF0C\u5219\u5220\u9664\u8BE5\u5B9E\u4F8B\u7684\u6CE8\u518C\u4FE1\u606F\u3002\u63A8\u8350\u914D\u7F6E\u4E3A5s\uFF0C\u5982\u679C\u6709\u7684\u4E1A\u52A1\u7EBF\u5E0C\u671B\u670D\u52A1\u4E0B\u7EBF\u6216\u8005\u51FA\u6545\u969C\u65F6\u5E0C\u671B\u5C3D\u5FEB\u88AB\u53D1\u73B0\uFF0C\u53EF\u4EE5\u9002\u5F53\u51CF\u5C11\u8BE5\u503C\u3002 +#spring.cloud.nacos.discovery.heart-beat-interval=5 +#\u670D\u52A1\u7AEF\u6CA1\u6709\u63A5\u53D7\u5230\u5BA2\u6237\u7AEF\u5FC3\u8DF3\u8BF7\u6C42\u5C31\u5C06\u5176\u8BBE\u4E3A\u4E0D\u5065\u5EB7\u7684\u65F6\u95F4\u95F4\u9694\uFF0C\u9ED8\u8BA4\u4E3A15s +#\u6CE8\uFF1A\u63A8\u8350\u503C\u8BE5\u503C\u4E3A15s\u5373\u53EF\uFF0C\u5982\u679C\u6709\u7684\u4E1A\u52A1\u7EBF\u5E0C\u671B\u670D\u52A1\u4E0B\u7EBF\u6216\u8005\u51FA\u6545\u969C\u65F6\u5E0C\u671B\u5C3D\u5FEB\u88AB\u53D1\u73B0\uFF0C\u53EF\u4EE5\u9002\u5F53\u51CF\u5C11\u8BE5\u503C\u3002 +#spring.cloud.nacos.discovery.heart-beat-timeout=15 +#\u7ED9\u670D\u52A1\u6DFB\u52A0\u4E00\u4E9B\u6807\u7B7E\uFF0C\u4F8B\u5982\u5C5E\u4E8E\u4EC0\u4E48\u4E1A\u52A1\u7EBF\uFF0C\u8BE5\u5143\u6570\u636E\u4F1A\u6301\u4E45\u5316\u5B58\u50A8\u5728\u670D\u52A1\u7AEF\uFF0C\u4F46\u662F\u5BA2\u6237\u7AEF\u6D88\u8D39\u65F6\u4E0D\u4F1A\u83B7\u53D6\u5230\u6B64\u503C\uFF0C\u9ED8\u8BA4\u4E3A\u7A7A +#spring.cloud.nacos.discovery.metadata= +#\u547D\u540D\u7A7A\u95F4ID\uFF0CNacos\u901A\u8FC7\u4E0D\u540C\u7684\u547D\u540D\u7A7A\u95F4\u6765\u533A\u5206\u4E0D\u540C\u7684\u73AF\u5883\uFF0C\u8FDB\u884C\u6570\u636E\u9694\u79BB\uFF0C\u670D\u52A1\u6D88\u8D39\u65F6\u53EA\u80FD\u6D88\u8D39\u5230\u5BF9\u5E94\u547D\u540D\u7A7A\u95F4\u4E0B\u7684\u670D\u52A1\u3002 +#spring.cloud.nacos.discovery.namespace: +#\u6CE8\uFF1A\u5982\u679C\u670D\u52A1\u4ECE\u6CE8\u518C\u4E2D\u5FC3\u53EA\u6D88\u8D39\u670D\u52A1\uFF0C\u6CA1\u6709\u5BF9\u5916\u63D0\u4F9B\u670D\u52A1\uFF0C\u90A3\u4E48\u8BE5\u503C\u53EF\u8BBE\u7F6E\u4E3Afalse\uFF0C\u53EF\u51CF\u5C11\u5BA2\u6237\u7AEF\u7EBF\u7A0B\u6C60\u7684\u521B\u5EFA\uFF0C\u65E0\u9700\u5411\u670D\u52A1\u7AEF\u53D1\u9001\u5FC3\u8DF3\u8BF7\u6C42\uFF0C\u63D0\u9AD8\u6027\u80FD\u3002 +#spring.cloud.nacos.discovery.register-enabled: + + +properties.jdbc.driverClassName=com.mysql.jdbc.Driver +properties.jdbc.url=0273a20d38cf3daca43abea56319a2013a0c69fda1a828015452b0e105cd6a0ce0fc283160dbdcff23cac36993b9f8dfacb6a9e4a3ec4bd45f4bc6a5dd6ccdefb5215be93c04ab2ed839d345c9a5966cbdff9a79be5c15e1d7daa4c4d5f8dd47e20e5f7748aa1cbdef8b6ebfc2f81e4e2f108339034e4471 +properties.jdbc.username=a2e14dca7baac4c6f665eab7d44305c4 +properties.jdbc.password=ab1c81e5641895cbe45ebcaee32b4eb1 +properties.jdbc.validationQuery=SELECT 1 +properties.jdbc.initialSize=20 +properties.jdbc.maxActive=800 +properties.jdbc.maxIdle=50 +properties.jdbc.minIdle=20 + +# OSS\u6587\u4EF6\u670D\u52A1\u5668 +sie.file.type=aliyun +sie.file.accessProtocol=https:// +sie.file.endpoint=oss-cn-shanghai.aliyuncs.com +sie.file.accessKeyId=317cb4dcd8af8974ff6a8d848d21ea245b3309cf6d94740c64783b56dc058aca +sie.file.accessKeySecret=9a04fb8534f8abd1dd10ac58d2faa405ce718e2343d47356b6431abfbee9d60f +sie.file.bucketName=sieiotoss +sie.file.downloadProxyPath=http://jira.sieiot.com + +fastdfs.connect-timeout = 2 +fastdfs.network-timeout = 30 +fastdfs.charset = UTF-8 +fastdfs.tracker-http-port = 8080 +fastdfs.anti-steal-token = false +fastdfs.secret-key = FastDFS1234567890 +fastdfs.tracker-servers = 192.168.8.22:22122 +fastdfs.pool.enabled = true +fastdfs.pool.max-count-per-entry=500 +fastdfs.pool.max-idle-time=3600 +fastdfs.pool.maxWaitTimeInMs = 1000 + +#\u5168\u5C40\u914D\u7F6E +# \u8BF7\u6C42\u8FDE\u63A5\u7684\u8D85\u65F6\u65F6\u95F4 \u9ED8\u8BA4\u7684\u65F6\u95F4\u4E3A 1 \u79D2 +ribbon.ConnectTimeout=60000 +# \u8BF7\u6C42\u5904\u7406\u7684\u8D85\u65F6\u65F6\u95F4 +ribbon.ReadTimeout=60000 +log.root.level=info +elk.mode=false +elk.logstash.host=116.63.168.54 +elk.logstash.port=9601 +swagger.enable=true + +server.protocol= +server.address= +server.servlet.context-path=/ + +spring.servlet.multipart.max-file-size=100Mb +spring.servlet.multipart.max-request-size=100Mb + +spring.jackson.date-format=yyyy-MM-dd HH:mm:ss +spring.jackson.time-zone=GMT+8 +spring.jackson.serialization.write-dates-as-timestamps=false +spring.mvc.dateFormat = yyyy-MM-dd HH:mm:ss + +spring.klock.address=redis://${spring.redis.host}:${spring.redis.port} +spring.klock.password=${spring.redis.password} +spring.klock.enable=true + + +# sentinel \u7194\u65AD\u9ED8\u8BA4\u7B56\u7565 +# \u7B56\u7565 0\uFF1A\u6162\u8C03\u7528\u6BD4\u4F8B\uFF0C1\uFF1A\u5F02\u5E38\u6BD4\u4F8B\uFF0C2\uFF1A\u5F02\u5E38\u6570 +sentinel.degrade.default.grade=2 +# \u6162\u8C03\u7528\u6BD4\u4F8B\u6A21\u5F0F\u4E0B\u4E3A\u6162\u8C03\u7528\u4E34\u754C RT\uFF08\u8D85\u51FA\u8BE5\u503C\u8BA1\u4E3A\u6162\u8C03\u7528\uFF09\uFF1B\u5F02\u5E38\u6BD4\u4F8B/\u5F02\u5E38\u6570\u6A21\u5F0F\u4E0B\u4E3A\u5BF9\u5E94\u7684\u9608\u503C +sentinel.degrade.default.count=1 +# \u7194\u65AD\u65F6\u957F\uFF0C\u5355\u4F4D\u4E3A s +sentinel.degrade.default.timeWindow=5 +# \u7194\u65AD\u89E6\u53D1\u7684\u6700\u5C0F\u8BF7\u6C42\u6570\uFF0C\u8BF7\u6C42\u6570\u5C0F\u4E8E\u8BE5\u503C\u65F6\u5373\u4F7F\u5F02\u5E38\u6BD4\u7387\u8D85\u51FA\u9608\u503C\u4E5F\u4E0D\u4F1A\u7194\u65AD +sentinel.degrade.default.minRequestAmount=1 +# \u7EDF\u8BA1\u65F6\u957F\uFF08\u5355\u4F4D\u4E3A ms\uFF09\uFF0C\u5982 60*1000 \u4EE3\u8868\u5206\u949F\u7EA7 +sentinel.degrade.default.statIntervalMs=1000 +# \u6162\u8C03\u7528\u6BD4\u4F8B\u9608\u503C\uFF0C\u4EC5\u6162\u8C03\u7528\u6BD4\u4F8B\u6A21\u5F0F\u6709\u6548 +sentinel.degrade.default.rtSlowRequestAmount=1 + + + + +#\u4E8B\u7269\u6700\u7EC8\u4E00\u81F4\u6027topic\u914D\u7F6E +iot.synchronization.kafka.topic.asset: message.queue.iot.asset.synchronization + +#\u5F00\u542F\u6536\u96C6\u6570\u636E\uFF0C\u672C\u5730\u9879\u76EE\u3001UAT\u3001PRO\u73AF\u5883\uFF0C\u7EDF\u4E00\u4E3Afalse +hc.enabled = false +#\u5FFD\u7565\u8981\u6536\u96C6\u7684api +hc.ignoreApis = api/base/base-template/find-system-function,api/base/resource/find-resource,api/base/portal-favourite/find-user-menu,hc/hcPageController/find-pageinfo,api/base/base-user/logout,dyapi/baseDynamicApiController/pagination/unread-message-total,dyapi/baseDynamicApiController/pagination/message-find diff --git a/2067-yuexiu-task-application/src/main/resources/com/yuexiu/secp/comm/config/mybatis-config.xml b/2067-yuexiu-task-application/src/main/resources/com/yuexiu/secp/comm/config/mybatis-config.xml new file mode 100644 index 0000000..9748c15 --- /dev/null +++ b/2067-yuexiu-task-application/src/main/resources/com/yuexiu/secp/comm/config/mybatis-config.xml @@ -0,0 +1,10 @@ + + + + + + + + diff --git a/2067-yuexiu-task-application/src/main/resources/com/yuexiu/secp/comm/config/spring.mybatis.cfg.xml b/2067-yuexiu-task-application/src/main/resources/com/yuexiu/secp/comm/config/spring.mybatis.cfg.xml new file mode 100644 index 0000000..599e746 --- /dev/null +++ b/2067-yuexiu-task-application/src/main/resources/com/yuexiu/secp/comm/config/spring.mybatis.cfg.xml @@ -0,0 +1,165 @@ + + + + + + + + + + + + classpath:application.properties + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + config.common + config.2069-siedemo-comm-application + + + + diff --git a/2067-yuexiu-task-application/src/main/resources/config/2069-siedemo-comm-application.properties b/2067-yuexiu-task-application/src/main/resources/config/2069-siedemo-comm-application.properties new file mode 100644 index 0000000..6d1fa3e --- /dev/null +++ b/2067-yuexiu-task-application/src/main/resources/config/2069-siedemo-comm-application.properties @@ -0,0 +1,25 @@ +1011_common_004=您没有权限访问该服务 +1011_common_002=控制器代码执行异常 +1011_common_003=您重复操作了,请稍后再试 +1011_common_001=服务器内部错误,请联系系统管理员! +1011_common_999= +1011_common_112=手机格式不合法 +1011_common_113=邮箱格式不合法 +1011_common_110=操作成功 +1011_common_111=操作失败 +1011_common_127={0}成功 +1011_common_128={0}失败 +1011_common_125=参数不合法 +1011_common_126=登录已失效,请重新登录 +1011_common_118=你无权进行此操作 +1011_common_119=登录已失效,请重新登录 +1011_common_116=手机号已存在,请修改后重试! +1011_common_117=邮箱已存在,请修改后重试! +1011_common_114=参数params不允许为空 +1011_common_115=您所更新的数据不存在 +1011_common_123=服务繁忙,请稍后再试! +1011_common_124=请勿重复提交 +1011_common_121={0}失败 +1011_common_122=您的账号已在其他设备登录 +1011_common_120={0}成功 +1061_demo_102=测试编码不能为空 \ No newline at end of file diff --git a/2067-yuexiu-task-application/src/main/resources/config/2069-siedemo-comm-application_en_US.properties b/2067-yuexiu-task-application/src/main/resources/config/2069-siedemo-comm-application_en_US.properties new file mode 100644 index 0000000..1eb5b96 --- /dev/null +++ b/2067-yuexiu-task-application/src/main/resources/config/2069-siedemo-comm-application_en_US.properties @@ -0,0 +1,26 @@ +#1011 +1011_common_004=You do not have permission to the service +1011_common_002=Controller source code execute have exception +1011_common_003=You have repeated the operation. Please try again later +1011_common_001=The Server inter error, please connect administrator +1011_common_999= +1011_common_112=Invalid phone format +1011_common_113=Invalid email format +1011_common_110=Successful operation +1011_common_111=operation failed +1011_common_127={0} success +1011_common_128={0} failed +1011_common_125=Illegal parameter +1011_common_126=Login has expired, please log in again +1011_common_118=You are not authorized to do this +1011_common_119=Login has expired, please log in again +1011_common_116=The phone number already exists, please modify it and try again! +1011_common_117=The mailbox already exists, please modify and try again +1011_common_114=The parameter params cannot be empty +1011_common_115=The data you updated does not exist +1011_common_123=Service busy, please try again later! +1011_common_124=Please do not submit repeatedly +1011_common_121={0} failed +1011_common_122=Your account has been logged on to another device +1011_common_120={0} success +1061_demo_102=Asset classification code cannot be empty diff --git a/2067-yuexiu-task-application/src/main/resources/config/2069-siedemo-comm-application_zh_CN.properties b/2067-yuexiu-task-application/src/main/resources/config/2069-siedemo-comm-application_zh_CN.properties new file mode 100644 index 0000000..1dbd7ec --- /dev/null +++ b/2067-yuexiu-task-application/src/main/resources/config/2069-siedemo-comm-application_zh_CN.properties @@ -0,0 +1,27 @@ +#1011 +1011_common_004=您没有权限访问该服务 +1011_common_002=控制器代码执行异常 +1011_common_003=您重复操作了,请稍后再试 +1011_common_001=服务器内部错误,请联系系统管理员! +1011_common_999= +1011_common_112=手机格式不合法 +1011_common_113=邮箱格式不合法 +1011_common_110=操作成功 +1011_common_111=操作失败 +1011_common_127={0}成功 +1011_common_128={0}失败 +1011_common_125=参数不合法 +1011_common_126=登录已失效,请重新登录 +1011_common_118=你无权进行此操作 +1011_common_119=登录已失效,请重新登录 +1011_common_116=手机号已存在,请修改后重试! +1011_common_117=邮箱已存在,请修改后重试! +1011_common_114=参数params不允许为空 +1011_common_115=您所更新的数据不存在 +1011_common_123=服务繁忙,请稍后再试! +1011_common_124=请勿重复提交 +1011_common_121={0}失败 +1011_common_122=您的账号已在其他设备登录 +1011_common_120={0}成功 +1061_demo_102=测试编码不能为空 + diff --git a/2067-yuexiu-task-application/target/classes/application-yuexiu2067.yml b/2067-yuexiu-task-application/target/classes/application-yuexiu2067.yml new file mode 100644 index 0000000..33874c5 --- /dev/null +++ b/2067-yuexiu-task-application/target/classes/application-yuexiu2067.yml @@ -0,0 +1,86 @@ +server: + port: 2067 + +spring: + cloud: + nacos: + discovery: + server-addr: 127.0.0.1:9010 + application: + name: 2067-yuexiu-task-application + redis: + host: 139.159.228.191 + port: 6377 + password: j4kd4ng3s8f3 + database: 0 + jedis: + pool: + max-active: 1000 + max-idle: 100 + min-idle: 8 + max-wait: 3000ms + timeout: 10000ms +# redis: +# host: 192.168.88.200 +# port: 5001 +# password: + jpa: + hibernate: + use-new-id-generator-mappings: false +swagger: + enable: true + +# 可以配置api-url ribbon,对以上的服务进行负载均衡 +ribbon: + ReadTimeout: 100000 + ConnectTimeout: 100000 + okhttp: + enabled: true + +#feign +feign: + sentinel: + enabled: true + + + + kafka: + bootstrap-servers: 139.159.224.135:9092 #(kafka生产集群ip+port端口) + listener: + missing-topics-fatal: false + producer: + acks: all + buffer-memory: 40960 + retries: 0 + batch-size: 4096 + properties: + linger.ms: 1 + key-serializer: org.apache.kafka.common.serialization.StringSerializer + value-serializer: org.apache.kafka.common.serialization.StringSerializer + consumer: + enable-auto-commit: true #(是否自动提交) + auto-commit-interval: 100ms + # 当kafka中没有初始offset或offset超出范围时将自动重置offset + # earliest:重置为分区中最小的offset; + # latest:重置为分区中最新的offset(消费分区中新产生的数据); + # none:只要有一个分区不存在已提交的offset,就抛出异常; + auto-offset-reset: latest #(实时生产,实时消费,不会从头开始消费) + group-id: defaultConsumerGroup #(消费组 无消费) + key-deserializer: org.apache.kafka.common.serialization.StringDeserializer + value-deserializer: org.apache.kafka.common.serialization.StringDeserializer + + cloud: + # 增加动态修改熔断规则支持 + sentinel: + eager: true + datasource: + # 熔断配置 + ds1: + apollo: + namespaceName: application + flowRulesKey: degrade-rules + dataType: json + ruleType: DEGRADE + + + diff --git a/2067-yuexiu-task-application/target/classes/application.properties b/2067-yuexiu-task-application/target/classes/application.properties new file mode 100644 index 0000000..5fdec87 --- /dev/null +++ b/2067-yuexiu-task-application/target/classes/application.properties @@ -0,0 +1,125 @@ +spring.application.name=2068-yuexiu-read-application + +management.metrics.export.prometheus.enabled=true +management.metrics.export.prometheus.step=1ms +management.metrics.export.prometheus.descriptions=true + +management.metrics.web.server.auto-time-requests=true +management.endpoints.web.exposure.include=* +management.metrics.tags.application=${spring.application.name} + +# \u8BBE\u7F6EIO\u7EBF\u7A0B\u6570, \u5B83\u4E3B\u8981\u6267\u884C\u975E\u963B\u585E\u7684\u4EFB\u52A1,\u5B83\u4EEC\u4F1A\u8D1F\u8D23\u591A\u4E2A\u8FDE\u63A5, \u9ED8\u8BA4\u8BBE\u7F6E\u6BCF\u4E2ACPU\u6838\u5FC3\u4E00\u4E2A\u7EBF\u7A0B +# \u4E0D\u8981\u8BBE\u7F6E\u8FC7\u5927\uFF0C\u5982\u679C\u8FC7\u5927\uFF0C\u542F\u52A8\u9879\u76EE\u4F1A\u62A5\u9519\uFF1A\u6253\u5F00\u6587\u4EF6\u6570\u8FC7\u591A +server.undertow.io-threads=4 + +# \u963B\u585E\u4EFB\u52A1\u7EBF\u7A0B\u6C60, \u5F53\u6267\u884C\u7C7B\u4F3Cservlet\u8BF7\u6C42\u963B\u585EIO\u64CD\u4F5C, undertow\u4F1A\u4ECE\u8FD9\u4E2A\u7EBF\u7A0B\u6C60\u4E2D\u53D6\u5F97\u7EBF\u7A0B +# \u5B83\u7684\u503C\u8BBE\u7F6E\u53D6\u51B3\u4E8E\u7CFB\u7EDF\u7EBF\u7A0B\u6267\u884C\u4EFB\u52A1\u7684\u963B\u585E\u7CFB\u6570\uFF0C\u9ED8\u8BA4\u503C\u662FIO\u7EBF\u7A0B\u6570*8 +server.undertow.worker-threads=32 + +# \u4EE5\u4E0B\u7684\u914D\u7F6E\u4F1A\u5F71\u54CDbuffer,\u8FD9\u4E9Bbuffer\u4F1A\u7528\u4E8E\u670D\u52A1\u5668\u8FDE\u63A5\u7684IO\u64CD\u4F5C,\u6709\u70B9\u7C7B\u4F3Cnetty\u7684\u6C60\u5316\u5185\u5B58\u7BA1\u7406 +# \u6BCF\u5757buffer\u7684\u7A7A\u95F4\u5927\u5C0F,\u8D8A\u5C0F\u7684\u7A7A\u95F4\u88AB\u5229\u7528\u8D8A\u5145\u5206\uFF0C\u4E0D\u8981\u8BBE\u7F6E\u592A\u5927\uFF0C\u4EE5\u514D\u5F71\u54CD\u5176\u4ED6\u5E94\u7528\uFF0C\u5408\u9002\u5373\u53EF +server.undertow.buffer-size=1024 + +# \u662F\u5426\u5206\u914D\u7684\u76F4\u63A5\u5185\u5B58(NIO\u76F4\u63A5\u5206\u914D\u7684\u5806\u5916\u5185\u5B58) +server.undertow.direct-buffers=true +feign.hystrix.enabled=true + +#\u6CE8\uFF1A\u591A\u4E2AIP\u53EF\u4EE5\u901A\u8FC7\u201C\uFF0C\u201D +spring.cloud.nacos.discovery.server-addr=127.0.0.1:9010 +#nacos\u5BA2\u6237\u7AEF\u5411\u670D\u52A1\u7AEF\u53D1\u9001\u5FC3\u8DF3\u7684\u65F6\u95F4\u95F4\u9694\uFF0C\u9ED8\u8BA45s +#\u6CE8\uFF1A\u5BA2\u6237\u7AEF\u5411\u670D\u52A1\u7AEF\u6BCF\u96945s\u5411\u670D\u52A1\u7AEF\u53D1\u9001\u5FC3\u8DF3\u8BF7\u6C42\uFF0C\u8FDB\u884C\u670D\u52A1\u7EED\u79DF\uFF0C\u544A\u8BC9\u670D\u52A1\u7AEF\u8BE5\u5B9E\u4F8BIP\u5065\u5EB7\u3002\u82E5\u57283\u6B21\u5FC3\u8DF3\u7684\u95F4\u9694\u65F6\u95F4(\u9ED8\u8BA415s)\u5185\u670D\u52A1\u7AEF\u6CA1\u6709\u63A5\u53D7\u5230\u8BE5\u5B9E\u4F8B\u7684\u5FC3\u8DF3\u8BF7\u6C42\uFF0C\u5219\u8BA4\u4E3A\u8BE5\u5B9E\u4F8B\u4E0D\u5065\u5EB7\uFF0C\u8BE5\u5B9E\u4F8B\u5C06\u65E0\u6CD5\u88AB\u6D88\u8D39\u3002\u5982\u679C\u518D\u6B21\u7ECF\u53863\u6B21\u5FC3\u8DF3\u7684\u95F4\u9694\u65F6\u95F4\uFF0C\u670D\u52A1\u7AEF\u63A5\u53D7\u5230\u8BE5\u5B9E\u4F8B\u7684\u8BF7\u6C42\uFF0C\u90A3\u4E48\u4F1A\u7ACB\u523B\u5C06\u5176\u8BBE\u7F6E\u5916\u5065\u5EB7\uFF0C\u5E76\u53EF\u4EE5\u88AB\u6D88\u8D39\uFF0C\u82E5\u672A\u63A5\u53D7\u5230\uFF0C\u5219\u5220\u9664\u8BE5\u5B9E\u4F8B\u7684\u6CE8\u518C\u4FE1\u606F\u3002\u63A8\u8350\u914D\u7F6E\u4E3A5s\uFF0C\u5982\u679C\u6709\u7684\u4E1A\u52A1\u7EBF\u5E0C\u671B\u670D\u52A1\u4E0B\u7EBF\u6216\u8005\u51FA\u6545\u969C\u65F6\u5E0C\u671B\u5C3D\u5FEB\u88AB\u53D1\u73B0\uFF0C\u53EF\u4EE5\u9002\u5F53\u51CF\u5C11\u8BE5\u503C\u3002 +#spring.cloud.nacos.discovery.heart-beat-interval=5 +#\u670D\u52A1\u7AEF\u6CA1\u6709\u63A5\u53D7\u5230\u5BA2\u6237\u7AEF\u5FC3\u8DF3\u8BF7\u6C42\u5C31\u5C06\u5176\u8BBE\u4E3A\u4E0D\u5065\u5EB7\u7684\u65F6\u95F4\u95F4\u9694\uFF0C\u9ED8\u8BA4\u4E3A15s +#\u6CE8\uFF1A\u63A8\u8350\u503C\u8BE5\u503C\u4E3A15s\u5373\u53EF\uFF0C\u5982\u679C\u6709\u7684\u4E1A\u52A1\u7EBF\u5E0C\u671B\u670D\u52A1\u4E0B\u7EBF\u6216\u8005\u51FA\u6545\u969C\u65F6\u5E0C\u671B\u5C3D\u5FEB\u88AB\u53D1\u73B0\uFF0C\u53EF\u4EE5\u9002\u5F53\u51CF\u5C11\u8BE5\u503C\u3002 +#spring.cloud.nacos.discovery.heart-beat-timeout=15 +#\u7ED9\u670D\u52A1\u6DFB\u52A0\u4E00\u4E9B\u6807\u7B7E\uFF0C\u4F8B\u5982\u5C5E\u4E8E\u4EC0\u4E48\u4E1A\u52A1\u7EBF\uFF0C\u8BE5\u5143\u6570\u636E\u4F1A\u6301\u4E45\u5316\u5B58\u50A8\u5728\u670D\u52A1\u7AEF\uFF0C\u4F46\u662F\u5BA2\u6237\u7AEF\u6D88\u8D39\u65F6\u4E0D\u4F1A\u83B7\u53D6\u5230\u6B64\u503C\uFF0C\u9ED8\u8BA4\u4E3A\u7A7A +#spring.cloud.nacos.discovery.metadata= +#\u547D\u540D\u7A7A\u95F4ID\uFF0CNacos\u901A\u8FC7\u4E0D\u540C\u7684\u547D\u540D\u7A7A\u95F4\u6765\u533A\u5206\u4E0D\u540C\u7684\u73AF\u5883\uFF0C\u8FDB\u884C\u6570\u636E\u9694\u79BB\uFF0C\u670D\u52A1\u6D88\u8D39\u65F6\u53EA\u80FD\u6D88\u8D39\u5230\u5BF9\u5E94\u547D\u540D\u7A7A\u95F4\u4E0B\u7684\u670D\u52A1\u3002 +#spring.cloud.nacos.discovery.namespace: +#\u6CE8\uFF1A\u5982\u679C\u670D\u52A1\u4ECE\u6CE8\u518C\u4E2D\u5FC3\u53EA\u6D88\u8D39\u670D\u52A1\uFF0C\u6CA1\u6709\u5BF9\u5916\u63D0\u4F9B\u670D\u52A1\uFF0C\u90A3\u4E48\u8BE5\u503C\u53EF\u8BBE\u7F6E\u4E3Afalse\uFF0C\u53EF\u51CF\u5C11\u5BA2\u6237\u7AEF\u7EBF\u7A0B\u6C60\u7684\u521B\u5EFA\uFF0C\u65E0\u9700\u5411\u670D\u52A1\u7AEF\u53D1\u9001\u5FC3\u8DF3\u8BF7\u6C42\uFF0C\u63D0\u9AD8\u6027\u80FD\u3002 +#spring.cloud.nacos.discovery.register-enabled: + + +properties.jdbc.driverClassName=com.mysql.jdbc.Driver +properties.jdbc.url=0273a20d38cf3daca43abea56319a2013a0c69fda1a828015452b0e105cd6a0ce0fc283160dbdcff23cac36993b9f8dfacb6a9e4a3ec4bd45f4bc6a5dd6ccdefb5215be93c04ab2ed839d345c9a5966cbdff9a79be5c15e1d7daa4c4d5f8dd47e20e5f7748aa1cbdef8b6ebfc2f81e4e2f108339034e4471 +properties.jdbc.username=a2e14dca7baac4c6f665eab7d44305c4 +properties.jdbc.password=ab1c81e5641895cbe45ebcaee32b4eb1 +properties.jdbc.validationQuery=SELECT 1 +properties.jdbc.initialSize=20 +properties.jdbc.maxActive=800 +properties.jdbc.maxIdle=50 +properties.jdbc.minIdle=20 + +# OSS\u6587\u4EF6\u670D\u52A1\u5668 +sie.file.type=aliyun +sie.file.accessProtocol=https:// +sie.file.endpoint=oss-cn-shanghai.aliyuncs.com +sie.file.accessKeyId=317cb4dcd8af8974ff6a8d848d21ea245b3309cf6d94740c64783b56dc058aca +sie.file.accessKeySecret=9a04fb8534f8abd1dd10ac58d2faa405ce718e2343d47356b6431abfbee9d60f +sie.file.bucketName=sieiotoss +sie.file.downloadProxyPath=http://jira.sieiot.com + +fastdfs.connect-timeout = 2 +fastdfs.network-timeout = 30 +fastdfs.charset = UTF-8 +fastdfs.tracker-http-port = 8080 +fastdfs.anti-steal-token = false +fastdfs.secret-key = FastDFS1234567890 +fastdfs.tracker-servers = 192.168.8.22:22122 +fastdfs.pool.enabled = true +fastdfs.pool.max-count-per-entry=500 +fastdfs.pool.max-idle-time=3600 +fastdfs.pool.maxWaitTimeInMs = 1000 + +#\u5168\u5C40\u914D\u7F6E +# \u8BF7\u6C42\u8FDE\u63A5\u7684\u8D85\u65F6\u65F6\u95F4 \u9ED8\u8BA4\u7684\u65F6\u95F4\u4E3A 1 \u79D2 +ribbon.ConnectTimeout=60000 +# \u8BF7\u6C42\u5904\u7406\u7684\u8D85\u65F6\u65F6\u95F4 +ribbon.ReadTimeout=60000 +log.root.level=info +elk.mode=false +elk.logstash.host=116.63.168.54 +elk.logstash.port=9601 +swagger.enable=true + +server.protocol= +server.address= +server.servlet.context-path=/ + +spring.servlet.multipart.max-file-size=100Mb +spring.servlet.multipart.max-request-size=100Mb + +spring.jackson.date-format=yyyy-MM-dd HH:mm:ss +spring.jackson.time-zone=GMT+8 +spring.jackson.serialization.write-dates-as-timestamps=false +spring.mvc.dateFormat = yyyy-MM-dd HH:mm:ss + +spring.klock.address=redis://${spring.redis.host}:${spring.redis.port} +spring.klock.password=${spring.redis.password} +spring.klock.enable=true + + +# sentinel \u7194\u65AD\u9ED8\u8BA4\u7B56\u7565 +# \u7B56\u7565 0\uFF1A\u6162\u8C03\u7528\u6BD4\u4F8B\uFF0C1\uFF1A\u5F02\u5E38\u6BD4\u4F8B\uFF0C2\uFF1A\u5F02\u5E38\u6570 +sentinel.degrade.default.grade=2 +# \u6162\u8C03\u7528\u6BD4\u4F8B\u6A21\u5F0F\u4E0B\u4E3A\u6162\u8C03\u7528\u4E34\u754C RT\uFF08\u8D85\u51FA\u8BE5\u503C\u8BA1\u4E3A\u6162\u8C03\u7528\uFF09\uFF1B\u5F02\u5E38\u6BD4\u4F8B/\u5F02\u5E38\u6570\u6A21\u5F0F\u4E0B\u4E3A\u5BF9\u5E94\u7684\u9608\u503C +sentinel.degrade.default.count=1 +# \u7194\u65AD\u65F6\u957F\uFF0C\u5355\u4F4D\u4E3A s +sentinel.degrade.default.timeWindow=5 +# \u7194\u65AD\u89E6\u53D1\u7684\u6700\u5C0F\u8BF7\u6C42\u6570\uFF0C\u8BF7\u6C42\u6570\u5C0F\u4E8E\u8BE5\u503C\u65F6\u5373\u4F7F\u5F02\u5E38\u6BD4\u7387\u8D85\u51FA\u9608\u503C\u4E5F\u4E0D\u4F1A\u7194\u65AD +sentinel.degrade.default.minRequestAmount=1 +# \u7EDF\u8BA1\u65F6\u957F\uFF08\u5355\u4F4D\u4E3A ms\uFF09\uFF0C\u5982 60*1000 \u4EE3\u8868\u5206\u949F\u7EA7 +sentinel.degrade.default.statIntervalMs=1000 +# \u6162\u8C03\u7528\u6BD4\u4F8B\u9608\u503C\uFF0C\u4EC5\u6162\u8C03\u7528\u6BD4\u4F8B\u6A21\u5F0F\u6709\u6548 +sentinel.degrade.default.rtSlowRequestAmount=1 + + + + +#\u4E8B\u7269\u6700\u7EC8\u4E00\u81F4\u6027topic\u914D\u7F6E +iot.synchronization.kafka.topic.asset: message.queue.iot.asset.synchronization + +#\u5F00\u542F\u6536\u96C6\u6570\u636E\uFF0C\u672C\u5730\u9879\u76EE\u3001UAT\u3001PRO\u73AF\u5883\uFF0C\u7EDF\u4E00\u4E3Afalse +hc.enabled = false +#\u5FFD\u7565\u8981\u6536\u96C6\u7684api +hc.ignoreApis = api/base/base-template/find-system-function,api/base/resource/find-resource,api/base/portal-favourite/find-user-menu,hc/hcPageController/find-pageinfo,api/base/base-user/logout,dyapi/baseDynamicApiController/pagination/unread-message-total,dyapi/baseDynamicApiController/pagination/message-find diff --git a/2067-yuexiu-task-application/target/classes/com/yuexiu/secp/comm/TaskApplication.class b/2067-yuexiu-task-application/target/classes/com/yuexiu/secp/comm/TaskApplication.class new file mode 100644 index 0000000..dda2e0c Binary files /dev/null and b/2067-yuexiu-task-application/target/classes/com/yuexiu/secp/comm/TaskApplication.class differ diff --git a/2067-yuexiu-task-application/target/classes/com/yuexiu/secp/comm/config/mybatis-config.xml b/2067-yuexiu-task-application/target/classes/com/yuexiu/secp/comm/config/mybatis-config.xml new file mode 100644 index 0000000..9748c15 --- /dev/null +++ b/2067-yuexiu-task-application/target/classes/com/yuexiu/secp/comm/config/mybatis-config.xml @@ -0,0 +1,10 @@ + + + + + + + + diff --git a/2067-yuexiu-task-application/target/classes/com/yuexiu/secp/comm/config/spring.mybatis.cfg.xml b/2067-yuexiu-task-application/target/classes/com/yuexiu/secp/comm/config/spring.mybatis.cfg.xml new file mode 100644 index 0000000..599e746 --- /dev/null +++ b/2067-yuexiu-task-application/target/classes/com/yuexiu/secp/comm/config/spring.mybatis.cfg.xml @@ -0,0 +1,165 @@ + + + + + + + + + + + + classpath:application.properties + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + config.common + config.2069-siedemo-comm-application + + + + diff --git a/2067-yuexiu-task-application/target/classes/com/yuexiu/secp/comm/infra/config/Swagger2Config.class b/2067-yuexiu-task-application/target/classes/com/yuexiu/secp/comm/infra/config/Swagger2Config.class new file mode 100644 index 0000000..cdee7f5 Binary files /dev/null and b/2067-yuexiu-task-application/target/classes/com/yuexiu/secp/comm/infra/config/Swagger2Config.class differ diff --git a/2067-yuexiu-task-application/target/classes/config/2069-siedemo-comm-application.properties b/2067-yuexiu-task-application/target/classes/config/2069-siedemo-comm-application.properties new file mode 100644 index 0000000..6d1fa3e --- /dev/null +++ b/2067-yuexiu-task-application/target/classes/config/2069-siedemo-comm-application.properties @@ -0,0 +1,25 @@ +1011_common_004=您没有权限访问该服务 +1011_common_002=控制器代码执行异常 +1011_common_003=您重复操作了,请稍后再试 +1011_common_001=服务器内部错误,请联系系统管理员! +1011_common_999= +1011_common_112=手机格式不合法 +1011_common_113=邮箱格式不合法 +1011_common_110=操作成功 +1011_common_111=操作失败 +1011_common_127={0}成功 +1011_common_128={0}失败 +1011_common_125=参数不合法 +1011_common_126=登录已失效,请重新登录 +1011_common_118=你无权进行此操作 +1011_common_119=登录已失效,请重新登录 +1011_common_116=手机号已存在,请修改后重试! +1011_common_117=邮箱已存在,请修改后重试! +1011_common_114=参数params不允许为空 +1011_common_115=您所更新的数据不存在 +1011_common_123=服务繁忙,请稍后再试! +1011_common_124=请勿重复提交 +1011_common_121={0}失败 +1011_common_122=您的账号已在其他设备登录 +1011_common_120={0}成功 +1061_demo_102=测试编码不能为空 \ No newline at end of file diff --git a/2067-yuexiu-task-application/target/classes/config/2069-siedemo-comm-application_en_US.properties b/2067-yuexiu-task-application/target/classes/config/2069-siedemo-comm-application_en_US.properties new file mode 100644 index 0000000..1eb5b96 --- /dev/null +++ b/2067-yuexiu-task-application/target/classes/config/2069-siedemo-comm-application_en_US.properties @@ -0,0 +1,26 @@ +#1011 +1011_common_004=You do not have permission to the service +1011_common_002=Controller source code execute have exception +1011_common_003=You have repeated the operation. Please try again later +1011_common_001=The Server inter error, please connect administrator +1011_common_999= +1011_common_112=Invalid phone format +1011_common_113=Invalid email format +1011_common_110=Successful operation +1011_common_111=operation failed +1011_common_127={0} success +1011_common_128={0} failed +1011_common_125=Illegal parameter +1011_common_126=Login has expired, please log in again +1011_common_118=You are not authorized to do this +1011_common_119=Login has expired, please log in again +1011_common_116=The phone number already exists, please modify it and try again! +1011_common_117=The mailbox already exists, please modify and try again +1011_common_114=The parameter params cannot be empty +1011_common_115=The data you updated does not exist +1011_common_123=Service busy, please try again later! +1011_common_124=Please do not submit repeatedly +1011_common_121={0} failed +1011_common_122=Your account has been logged on to another device +1011_common_120={0} success +1061_demo_102=Asset classification code cannot be empty diff --git a/2067-yuexiu-task-application/target/classes/config/2069-siedemo-comm-application_zh_CN.properties b/2067-yuexiu-task-application/target/classes/config/2069-siedemo-comm-application_zh_CN.properties new file mode 100644 index 0000000..1dbd7ec --- /dev/null +++ b/2067-yuexiu-task-application/target/classes/config/2069-siedemo-comm-application_zh_CN.properties @@ -0,0 +1,27 @@ +#1011 +1011_common_004=您没有权限访问该服务 +1011_common_002=控制器代码执行异常 +1011_common_003=您重复操作了,请稍后再试 +1011_common_001=服务器内部错误,请联系系统管理员! +1011_common_999= +1011_common_112=手机格式不合法 +1011_common_113=邮箱格式不合法 +1011_common_110=操作成功 +1011_common_111=操作失败 +1011_common_127={0}成功 +1011_common_128={0}失败 +1011_common_125=参数不合法 +1011_common_126=登录已失效,请重新登录 +1011_common_118=你无权进行此操作 +1011_common_119=登录已失效,请重新登录 +1011_common_116=手机号已存在,请修改后重试! +1011_common_117=邮箱已存在,请修改后重试! +1011_common_114=参数params不允许为空 +1011_common_115=您所更新的数据不存在 +1011_common_123=服务繁忙,请稍后再试! +1011_common_124=请勿重复提交 +1011_common_121={0}失败 +1011_common_122=您的账号已在其他设备登录 +1011_common_120={0}成功 +1061_demo_102=测试编码不能为空 + diff --git a/2068-yexiu-read-api/2068-yexiu-read-api.iml b/2068-yexiu-read-api/2068-yexiu-read-api.iml new file mode 100644 index 0000000..d34fa10 --- /dev/null +++ b/2068-yexiu-read-api/2068-yexiu-read-api.iml @@ -0,0 +1,123 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/2068-yexiu-read-api/pom.xml b/2068-yexiu-read-api/pom.xml new file mode 100644 index 0000000..ebd27ad --- /dev/null +++ b/2068-yexiu-read-api/pom.xml @@ -0,0 +1,90 @@ + + + + sie-irradiator-v1.0 + com.sie.irradiator + 2.0.3 + + 4.0.0 + + 2068-yexiu-read-api + + + 8 + 8 + + + + + + + org.springframework.cloud + spring-cloud-starter-openfeign + 2.0.2.RELEASE + + + io.github.openfeign + feign-core + 9.7.0 + + + javax.servlet + javax.servlet-api + 3.1.0 + provided + + + com.sie.irradiator + 1003-sieiot-core + 1.0.3 + + + + + + + myRepository + local private nexus + http://139.159.227.77:8081/nexus/content/repositories/thirdparty/ + + true + + + true + + + + + + nexus-releases + Nexus Release Repository + http://139.159.227.77:8081/nexus/content/repositories/thirdparty/ + + + nexus-snapshots + Nexus Snapshot Repository + http://139.159.227.77:8081/nexus/content/repositories/thirdparty/ + + + + + + + org.apache.maven.plugins + maven-compiler-plugin + + + -parameters + + ${project.build.sourceEncoding} + ${java.version} + ${java.version} + + + + + + + diff --git a/2068-yexiu-read-application/.factorypath b/2068-yexiu-read-application/.factorypath new file mode 100644 index 0000000..6a78b72 --- /dev/null +++ b/2068-yexiu-read-application/.factorypath @@ -0,0 +1,290 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/2068-yexiu-read-application/.settings/org.eclipse.core.resources.prefs b/2068-yexiu-read-application/.settings/org.eclipse.core.resources.prefs new file mode 100644 index 0000000..839d647 --- /dev/null +++ b/2068-yexiu-read-application/.settings/org.eclipse.core.resources.prefs @@ -0,0 +1,5 @@ +eclipse.preferences.version=1 +encoding//src/main/java=UTF-8 +encoding//src/main/resources=UTF-8 +encoding//src/test/java=UTF-8 +encoding/=UTF-8 diff --git a/2068-yexiu-read-application/.settings/org.eclipse.jdt.apt.core.prefs b/2068-yexiu-read-application/.settings/org.eclipse.jdt.apt.core.prefs new file mode 100644 index 0000000..687ad91 --- /dev/null +++ b/2068-yexiu-read-application/.settings/org.eclipse.jdt.apt.core.prefs @@ -0,0 +1,4 @@ +eclipse.preferences.version=1 +org.eclipse.jdt.apt.aptEnabled=true +org.eclipse.jdt.apt.genSrcDir=target\\generated-sources\\annotations +org.eclipse.jdt.apt.genTestSrcDir=target\\generated-test-sources\\test-annotations diff --git a/2068-yexiu-read-application/.settings/org.eclipse.jdt.core.prefs b/2068-yexiu-read-application/.settings/org.eclipse.jdt.core.prefs new file mode 100644 index 0000000..90b69d4 --- /dev/null +++ b/2068-yexiu-read-application/.settings/org.eclipse.jdt.core.prefs @@ -0,0 +1,10 @@ +eclipse.preferences.version=1 +org.eclipse.jdt.core.compiler.codegen.methodParameters=generate +org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.8 +org.eclipse.jdt.core.compiler.compliance=1.8 +org.eclipse.jdt.core.compiler.problem.enablePreviewFeatures=disabled +org.eclipse.jdt.core.compiler.problem.forbiddenReference=warning +org.eclipse.jdt.core.compiler.problem.reportPreviewFeatures=ignore +org.eclipse.jdt.core.compiler.processAnnotations=enabled +org.eclipse.jdt.core.compiler.release=disabled +org.eclipse.jdt.core.compiler.source=1.8 diff --git a/2068-yexiu-read-application/.settings/org.eclipse.m2e.core.prefs b/2068-yexiu-read-application/.settings/org.eclipse.m2e.core.prefs new file mode 100644 index 0000000..f897a7f --- /dev/null +++ b/2068-yexiu-read-application/.settings/org.eclipse.m2e.core.prefs @@ -0,0 +1,4 @@ +activeProfiles= +eclipse.preferences.version=1 +resolveWorkspaceProjects=true +version=1 diff --git a/2068-yexiu-read-application/.settings/org.springframework.ide.eclipse.prefs b/2068-yexiu-read-application/.settings/org.springframework.ide.eclipse.prefs new file mode 100644 index 0000000..a12794d --- /dev/null +++ b/2068-yexiu-read-application/.settings/org.springframework.ide.eclipse.prefs @@ -0,0 +1,2 @@ +boot.validation.initialized=true +eclipse.preferences.version=1 diff --git a/2068-yexiu-read-application/2068-yexiu-read-application.iml b/2068-yexiu-read-application/2068-yexiu-read-application.iml new file mode 100644 index 0000000..bd32cf6 --- /dev/null +++ b/2068-yexiu-read-application/2068-yexiu-read-application.iml @@ -0,0 +1,343 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/2068-yexiu-read-application/pom.xml b/2068-yexiu-read-application/pom.xml new file mode 100644 index 0000000..e847165 --- /dev/null +++ b/2068-yexiu-read-application/pom.xml @@ -0,0 +1,50 @@ + + + + yuexiu-secp-v1.0 + com.yuexiu.secp + 1.0.0 + + 4.0.0 + + 2068-yexiu-read-application + + + 8 + 8 + + + + + + com.sie.irradiator + 1011-sieiot-common-application + + + + + org.springframework.boot + spring-boot-starter-undertow + + + + com.yuexiu.secp + 1068-yexiu-read-model-mybatis + 1.0.0 + + + + com.sie.irradiator + 2068-yexiu-read-api + 2.0.3 + + + + + + + + + diff --git a/2068-yexiu-read-application/src/main/java/com/yuexiu/secp/comm/ReadApplication.java b/2068-yexiu-read-application/src/main/java/com/yuexiu/secp/comm/ReadApplication.java new file mode 100644 index 0000000..de858db --- /dev/null +++ b/2068-yexiu-read-application/src/main/java/com/yuexiu/secp/comm/ReadApplication.java @@ -0,0 +1,32 @@ +package com.yuexiu.secp.comm; + +import com.sie.iot.common.application.CommonApplication; +import org.springframework.boot.SpringApplication; +import org.springframework.boot.autoconfigure.EnableAutoConfiguration; +import org.springframework.boot.autoconfigure.SpringBootApplication; +import org.springframework.boot.autoconfigure.jdbc.DataSourceAutoConfiguration; +import org.springframework.boot.autoconfigure.orm.jpa.HibernateJpaAutoConfiguration; +import org.springframework.boot.builder.SpringApplicationBuilder; +import org.springframework.cloud.client.discovery.EnableDiscoveryClient; +import org.springframework.cloud.openfeign.EnableFeignClients; +import org.springframework.context.annotation.EnableAspectJAutoProxy; +import org.springframework.context.annotation.ImportResource; +import org.springframework.web.bind.annotation.RestController; + + +@SpringBootApplication +@RestController +@EnableDiscoveryClient +@EnableAspectJAutoProxy(proxyTargetClass = true) +@EnableFeignClients +@ImportResource({"classpath*:com/yuexiu/secp/comm/config/spring.mybatis.cfg.xml"}) +@EnableAutoConfiguration(exclude={DataSourceAutoConfiguration.class, HibernateJpaAutoConfiguration.class}) +public class ReadApplication extends CommonApplication { + public static void main(String[] args) { + args = new String[1]; + args[0] = "--spring.profiles.active=yuexiu2068"; + new SpringApplicationBuilder(ReadApplication.class).run(args); + + } +} + diff --git a/2068-yexiu-read-application/src/main/java/com/yuexiu/secp/comm/api/controller/CommentController.java b/2068-yexiu-read-application/src/main/java/com/yuexiu/secp/comm/api/controller/CommentController.java new file mode 100644 index 0000000..3dc4fbd --- /dev/null +++ b/2068-yexiu-read-application/src/main/java/com/yuexiu/secp/comm/api/controller/CommentController.java @@ -0,0 +1,37 @@ +package com.yuexiu.secp.comm.api.controller; + +import com.sie.demo.comm.model.entities.readonly.BaseUsers; +import com.yuexiu.secp.comm.dto.Comment; +import com.yuexiu.secp.comm.model.service.ICommentService; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.PathVariable; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +import java.util.List; + +@RestController +@RequestMapping("/comment") +public class CommentController { + + + @Autowired + private ICommentService iCommentService; + + @GetMapping(value = "/getById") + public List findById() { + return iCommentService.findCommentList(); + } + + @GetMapping(value = "/getMysqlById/{id}") + public BaseUsers getMysqlById(@PathVariable("id") int id) { + return iCommentService.findUserById(id); + } + + + + + + +} diff --git a/2068-yexiu-read-application/src/main/java/com/yuexiu/secp/comm/dao/CommentRepository.java b/2068-yexiu-read-application/src/main/java/com/yuexiu/secp/comm/dao/CommentRepository.java new file mode 100644 index 0000000..1756d7f --- /dev/null +++ b/2068-yexiu-read-application/src/main/java/com/yuexiu/secp/comm/dao/CommentRepository.java @@ -0,0 +1,7 @@ +package com.yuexiu.secp.comm.dao; + +import com.yuexiu.secp.comm.dto.Comment; +import org.springframework.data.mongodb.repository.MongoRepository; + +public interface CommentRepository extends MongoRepository { +} diff --git a/2068-yexiu-read-application/src/main/java/com/yuexiu/secp/comm/dto/Comment.java b/2068-yexiu-read-application/src/main/java/com/yuexiu/secp/comm/dto/Comment.java new file mode 100644 index 0000000..142fbd8 --- /dev/null +++ b/2068-yexiu-read-application/src/main/java/com/yuexiu/secp/comm/dto/Comment.java @@ -0,0 +1,35 @@ +package com.yuexiu.secp.comm.dto; + + +import lombok.Data; +import org.springframework.data.annotation.Id; +import org.springframework.data.mongodb.core.index.Indexed; +import org.springframework.data.mongodb.core.mapping.Document; +import org.springframework.data.mongodb.core.mapping.Field; + +import java.time.LocalDateTime; +import java.util.Date; + +@Document(collection = "comment")//可以省略,如果省略,则默认使用类名小写映射集合 +@Data +public class Comment { + + + @Id + private String id;//主键 + // 该属性对应mongodb的字段的名字,如果一致,则无需该注解 + @Field("content") + private String content; + //吐槽内容 + private Date publishtime;//发布日期 + // 添加了一个单字段的索引 + @Indexed + private String userid;//发布人ID + private String nickname;//昵称 + private LocalDateTime createdatetime;//评论的日期时间 + private Integer likenum;//点赞数 + private Integer replynum;//回复数 + private String state;//状态 + private String parentid;//上级ID + private String articleid; +} diff --git a/2068-yexiu-read-application/src/main/java/com/yuexiu/secp/comm/infra/config/Swagger2Config.java b/2068-yexiu-read-application/src/main/java/com/yuexiu/secp/comm/infra/config/Swagger2Config.java new file mode 100644 index 0000000..9b03a97 --- /dev/null +++ b/2068-yexiu-read-application/src/main/java/com/yuexiu/secp/comm/infra/config/Swagger2Config.java @@ -0,0 +1,105 @@ +package com.yuexiu.secp.comm.infra.config; + +import com.google.common.base.Function; +import com.google.common.base.Optional; +import com.google.common.base.Predicate; +import org.springframework.beans.factory.annotation.Value; +import org.springframework.context.annotation.Bean; +import org.springframework.context.annotation.Configuration; +import springfox.documentation.RequestHandler; +import springfox.documentation.builders.ApiInfoBuilder; +import springfox.documentation.builders.ParameterBuilder; +import springfox.documentation.builders.PathSelectors; +import springfox.documentation.schema.ModelRef; +import springfox.documentation.service.ApiInfo; +import springfox.documentation.service.Parameter; +import springfox.documentation.spi.DocumentationType; +import springfox.documentation.spring.web.plugins.Docket; +import springfox.documentation.swagger2.annotations.EnableSwagger2; + +import java.util.ArrayList; +import java.util.List; + +/** + * Swagger2配置类 + * 在与spring boot集成时,放在与Application.java同级的目录下。 + * 通过@Configuration注解,让Spring来加载该类配置。 + * 再通过@EnableSwagger2注解来启用Swagger2。 + */ +@Configuration +@EnableSwagger2 +public class Swagger2Config { + + + @Value("${swagger.enable}") + private boolean enableSwagger; + + /** + * 创建API应用 + * apiInfo() 增加API相关信息 + * 通过select()函数返回一个ApiSelectorBuilder实例,用来控制哪些接口暴露给Swagger来展现, + * 本例采用指定扫描的包路径来定义指定要建立API的目录。 + * @return + */ + @Bean + public Docket createRestApi() { + ParameterBuilder ticketPar = new ParameterBuilder(); + List pars = new ArrayList(); + ticketPar.name("authorization").description("认证token") + .modelRef(new ModelRef("string")).parameterType("header") + .required(false).build(); //header中的ticket参数非必填,传空也可以 + pars.add(ticketPar.build()); //根据每个方法名也知道当前方法在设置什么参数 + return new Docket(DocumentationType.SWAGGER_2) + .apiInfo(apiInfo()) + .select() + .apis(basePackage("com.yuexiu.secp.interfaces.controller")) + .paths(PathSelectors.any()) + .build().enable(enableSwagger) + .globalOperationParameters(pars); + } + /** + * 创建该API的基本信息(这些基本信息会展现在文档页面中) + * 访问地址:http://项目实际地址/swagger-ui.html + * @return + */ + private ApiInfo apiInfo() { + return new ApiInfoBuilder() + .title("Spring Boot中使用Swagger2构建RESTful APIs") + .description("更多请关注http://www.chinasie.com") + .termsOfServiceUrl("http://www.chinasie.com") + .contact("sunf") + .version("1.0") + .build(); + } + + /** + * 重写basePackage方法,使能够实现多包访问,复制贴上去 + * @author teavamc + * @date 2019/1/26 + * @param basePackage + * @return com.google.common.base.Predicate + */ + public static Predicate basePackage(final String basePackage) { + return input -> declaringClass(input).transform(handlerPackage(basePackage)).or(true); + } + + + + private static Function, Boolean> handlerPackage(final String basePackage) { + return input -> { + // 循环判断匹配 + for (String strPackage : basePackage.split(";")) { + boolean isMatch = input.getPackage().getName().startsWith(strPackage); + if (isMatch) { + return true; + } + } + return false; + }; + } + + + private static Optional> declaringClass(RequestHandler input) { + return Optional.fromNullable(input.declaringClass()); + } +} \ No newline at end of file diff --git a/2068-yexiu-read-application/src/main/java/com/yuexiu/secp/comm/model/service/ICommentService.java b/2068-yexiu-read-application/src/main/java/com/yuexiu/secp/comm/model/service/ICommentService.java new file mode 100644 index 0000000..bff5201 --- /dev/null +++ b/2068-yexiu-read-application/src/main/java/com/yuexiu/secp/comm/model/service/ICommentService.java @@ -0,0 +1,23 @@ +package com.yuexiu.secp.comm.model.service; + +import com.sie.demo.comm.model.entities.readonly.BaseUsers; +import com.yuexiu.secp.comm.dto.Comment; + +import java.util.List; + +public interface ICommentService { + + public void saveComment(Comment comment); + + public void updateComment(Comment comment); + + public void deleteCommentById(String id); + + public List findCommentList(); + + public Comment findCommentById(String id); + + + public BaseUsers findUserById(int id); + +} diff --git a/2068-yexiu-read-application/src/main/java/com/yuexiu/secp/comm/model/service/impl/CommentService.java b/2068-yexiu-read-application/src/main/java/com/yuexiu/secp/comm/model/service/impl/CommentService.java new file mode 100644 index 0000000..3e85d05 --- /dev/null +++ b/2068-yexiu-read-application/src/main/java/com/yuexiu/secp/comm/model/service/impl/CommentService.java @@ -0,0 +1,63 @@ +package com.yuexiu.secp.comm.model.service.impl; + + +import com.sie.demo.comm.model.dao.BaseUsersDao; +import com.sie.demo.comm.model.entities.readonly.BaseUsers; +import com.yuexiu.secp.comm.dao.CommentRepository; +import com.yuexiu.secp.comm.dto.Comment; +import com.yuexiu.secp.comm.model.service.ICommentService; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +import java.util.List; + +@Service +public class CommentService implements ICommentService { + + + @Autowired + private CommentRepository commentRepository; + + /*** 保存一个评论 * @param comment */ + public void saveComment(Comment comment) { + //如果需要自定义主键,可以在这里指定主键;如果不指定主键,MongoDB会自动生成主键 + // 设置一些默认初始值。。。 + // 调用dao + commentRepository.save(comment); + } + + /*** 更新评论 * @param comment */ + public void updateComment(Comment comment) { + //调用dao + commentRepository.save(comment); + } + + /*** 根据id删除评论 * @param id */ + public void deleteCommentById(String id) { + //调用dao + commentRepository.deleteById(id); + } + + /*** 查询所有评论 * @return */ + + public List findCommentList() { + //调用dao + return commentRepository.findAll(); + } + + /*** 根据id查询评论 * @param id * @return */ + + public Comment findCommentById(String id) { + //调用dao + return commentRepository.findById(id).get(); + } + + @Autowired + private BaseUsersDao userDao; + + @Override + public BaseUsers findUserById(int id) { + return userDao.selectById(id); + } + +} diff --git a/2068-yexiu-read-application/src/main/resources/application-yuexiu2068.yml b/2068-yexiu-read-application/src/main/resources/application-yuexiu2068.yml new file mode 100644 index 0000000..cbaa4be --- /dev/null +++ b/2068-yexiu-read-application/src/main/resources/application-yuexiu2068.yml @@ -0,0 +1,91 @@ +server: + port: 2068 + +spring: + cloud: + nacos: + discovery: + server-addr: 127.0.0.1:9010 + application: + name: 2068-yuexiu-read-application + redis: + host: 139.159.228.191 + port: 6377 + password: j4kd4ng3s8f3 + database: 0 + jedis: + pool: + max-active: 1000 + max-idle: 100 + min-idle: 8 + max-wait: 3000ms + timeout: 10000ms + data: + mongodb: + host: 127.0.0.1 + database: articledb + port: 27017 + # redis: +# host: 192.168.88.200 +# port: 5001 +# password: + jpa: + hibernate: + use-new-id-generator-mappings: false +swagger: + enable: true + +# 可以配置api-url ribbon,对以上的服务进行负载均衡 +ribbon: + ReadTimeout: 100000 + ConnectTimeout: 100000 + okhttp: + enabled: true + +#feign +feign: + sentinel: + enabled: true + + + + kafka: + bootstrap-servers: 139.159.224.135:9092 #(kafka生产集群ip+port端口) + listener: + missing-topics-fatal: false + producer: + acks: all + buffer-memory: 40960 + retries: 0 + batch-size: 4096 + properties: + linger.ms: 1 + key-serializer: org.apache.kafka.common.serialization.StringSerializer + value-serializer: org.apache.kafka.common.serialization.StringSerializer + consumer: + enable-auto-commit: true #(是否自动提交) + auto-commit-interval: 100ms + # 当kafka中没有初始offset或offset超出范围时将自动重置offset + # earliest:重置为分区中最小的offset; + # latest:重置为分区中最新的offset(消费分区中新产生的数据); + # none:只要有一个分区不存在已提交的offset,就抛出异常; + auto-offset-reset: latest #(实时生产,实时消费,不会从头开始消费) + group-id: defaultConsumerGroup #(消费组 无消费) + key-deserializer: org.apache.kafka.common.serialization.StringDeserializer + value-deserializer: org.apache.kafka.common.serialization.StringDeserializer + + cloud: + # 增加动态修改熔断规则支持 + sentinel: + eager: true + datasource: + # 熔断配置 + ds1: + apollo: + namespaceName: application + flowRulesKey: degrade-rules + dataType: json + ruleType: DEGRADE + + + diff --git a/2068-yexiu-read-application/src/main/resources/application.properties b/2068-yexiu-read-application/src/main/resources/application.properties new file mode 100644 index 0000000..e1e81af --- /dev/null +++ b/2068-yexiu-read-application/src/main/resources/application.properties @@ -0,0 +1,137 @@ +spring.application.name=2068-yuexiu-read-application + +management.metrics.export.prometheus.enabled=true +management.metrics.export.prometheus.step=1ms +management.metrics.export.prometheus.descriptions=true + +management.metrics.web.server.auto-time-requests=true +management.endpoints.web.exposure.include=* +management.metrics.tags.application=${spring.application.name} + +# \u8BBE\u7F6EIO\u7EBF\u7A0B\u6570, \u5B83\u4E3B\u8981\u6267\u884C\u975E\u963B\u585E\u7684\u4EFB\u52A1,\u5B83\u4EEC\u4F1A\u8D1F\u8D23\u591A\u4E2A\u8FDE\u63A5, \u9ED8\u8BA4\u8BBE\u7F6E\u6BCF\u4E2ACPU\u6838\u5FC3\u4E00\u4E2A\u7EBF\u7A0B +# \u4E0D\u8981\u8BBE\u7F6E\u8FC7\u5927\uFF0C\u5982\u679C\u8FC7\u5927\uFF0C\u542F\u52A8\u9879\u76EE\u4F1A\u62A5\u9519\uFF1A\u6253\u5F00\u6587\u4EF6\u6570\u8FC7\u591A +server.undertow.io-threads=4 + +# \u963B\u585E\u4EFB\u52A1\u7EBF\u7A0B\u6C60, \u5F53\u6267\u884C\u7C7B\u4F3Cservlet\u8BF7\u6C42\u963B\u585EIO\u64CD\u4F5C, undertow\u4F1A\u4ECE\u8FD9\u4E2A\u7EBF\u7A0B\u6C60\u4E2D\u53D6\u5F97\u7EBF\u7A0B +# \u5B83\u7684\u503C\u8BBE\u7F6E\u53D6\u51B3\u4E8E\u7CFB\u7EDF\u7EBF\u7A0B\u6267\u884C\u4EFB\u52A1\u7684\u963B\u585E\u7CFB\u6570\uFF0C\u9ED8\u8BA4\u503C\u662FIO\u7EBF\u7A0B\u6570*8 +server.undertow.worker-threads=32 + +# \u4EE5\u4E0B\u7684\u914D\u7F6E\u4F1A\u5F71\u54CDbuffer,\u8FD9\u4E9Bbuffer\u4F1A\u7528\u4E8E\u670D\u52A1\u5668\u8FDE\u63A5\u7684IO\u64CD\u4F5C,\u6709\u70B9\u7C7B\u4F3Cnetty\u7684\u6C60\u5316\u5185\u5B58\u7BA1\u7406 +# \u6BCF\u5757buffer\u7684\u7A7A\u95F4\u5927\u5C0F,\u8D8A\u5C0F\u7684\u7A7A\u95F4\u88AB\u5229\u7528\u8D8A\u5145\u5206\uFF0C\u4E0D\u8981\u8BBE\u7F6E\u592A\u5927\uFF0C\u4EE5\u514D\u5F71\u54CD\u5176\u4ED6\u5E94\u7528\uFF0C\u5408\u9002\u5373\u53EF +server.undertow.buffer-size=1024 + +# \u662F\u5426\u5206\u914D\u7684\u76F4\u63A5\u5185\u5B58(NIO\u76F4\u63A5\u5206\u914D\u7684\u5806\u5916\u5185\u5B58) +server.undertow.direct-buffers=true +feign.hystrix.enabled=true + +#\u6CE8\uFF1A\u591A\u4E2AIP\u53EF\u4EE5\u901A\u8FC7\u201C\uFF0C\u201D +spring.cloud.nacos.discovery.server-addr=127.0.0.1:9010 +#nacos\u5BA2\u6237\u7AEF\u5411\u670D\u52A1\u7AEF\u53D1\u9001\u5FC3\u8DF3\u7684\u65F6\u95F4\u95F4\u9694\uFF0C\u9ED8\u8BA45s +#\u6CE8\uFF1A\u5BA2\u6237\u7AEF\u5411\u670D\u52A1\u7AEF\u6BCF\u96945s\u5411\u670D\u52A1\u7AEF\u53D1\u9001\u5FC3\u8DF3\u8BF7\u6C42\uFF0C\u8FDB\u884C\u670D\u52A1\u7EED\u79DF\uFF0C\u544A\u8BC9\u670D\u52A1\u7AEF\u8BE5\u5B9E\u4F8BIP\u5065\u5EB7\u3002\u82E5\u57283\u6B21\u5FC3\u8DF3\u7684\u95F4\u9694\u65F6\u95F4(\u9ED8\u8BA415s)\u5185\u670D\u52A1\u7AEF\u6CA1\u6709\u63A5\u53D7\u5230\u8BE5\u5B9E\u4F8B\u7684\u5FC3\u8DF3\u8BF7\u6C42\uFF0C\u5219\u8BA4\u4E3A\u8BE5\u5B9E\u4F8B\u4E0D\u5065\u5EB7\uFF0C\u8BE5\u5B9E\u4F8B\u5C06\u65E0\u6CD5\u88AB\u6D88\u8D39\u3002\u5982\u679C\u518D\u6B21\u7ECF\u53863\u6B21\u5FC3\u8DF3\u7684\u95F4\u9694\u65F6\u95F4\uFF0C\u670D\u52A1\u7AEF\u63A5\u53D7\u5230\u8BE5\u5B9E\u4F8B\u7684\u8BF7\u6C42\uFF0C\u90A3\u4E48\u4F1A\u7ACB\u523B\u5C06\u5176\u8BBE\u7F6E\u5916\u5065\u5EB7\uFF0C\u5E76\u53EF\u4EE5\u88AB\u6D88\u8D39\uFF0C\u82E5\u672A\u63A5\u53D7\u5230\uFF0C\u5219\u5220\u9664\u8BE5\u5B9E\u4F8B\u7684\u6CE8\u518C\u4FE1\u606F\u3002\u63A8\u8350\u914D\u7F6E\u4E3A5s\uFF0C\u5982\u679C\u6709\u7684\u4E1A\u52A1\u7EBF\u5E0C\u671B\u670D\u52A1\u4E0B\u7EBF\u6216\u8005\u51FA\u6545\u969C\u65F6\u5E0C\u671B\u5C3D\u5FEB\u88AB\u53D1\u73B0\uFF0C\u53EF\u4EE5\u9002\u5F53\u51CF\u5C11\u8BE5\u503C\u3002 +#spring.cloud.nacos.discovery.heart-beat-interval=5 +#\u670D\u52A1\u7AEF\u6CA1\u6709\u63A5\u53D7\u5230\u5BA2\u6237\u7AEF\u5FC3\u8DF3\u8BF7\u6C42\u5C31\u5C06\u5176\u8BBE\u4E3A\u4E0D\u5065\u5EB7\u7684\u65F6\u95F4\u95F4\u9694\uFF0C\u9ED8\u8BA4\u4E3A15s +#\u6CE8\uFF1A\u63A8\u8350\u503C\u8BE5\u503C\u4E3A15s\u5373\u53EF\uFF0C\u5982\u679C\u6709\u7684\u4E1A\u52A1\u7EBF\u5E0C\u671B\u670D\u52A1\u4E0B\u7EBF\u6216\u8005\u51FA\u6545\u969C\u65F6\u5E0C\u671B\u5C3D\u5FEB\u88AB\u53D1\u73B0\uFF0C\u53EF\u4EE5\u9002\u5F53\u51CF\u5C11\u8BE5\u503C\u3002 +#spring.cloud.nacos.discovery.heart-beat-timeout=15 +#\u7ED9\u670D\u52A1\u6DFB\u52A0\u4E00\u4E9B\u6807\u7B7E\uFF0C\u4F8B\u5982\u5C5E\u4E8E\u4EC0\u4E48\u4E1A\u52A1\u7EBF\uFF0C\u8BE5\u5143\u6570\u636E\u4F1A\u6301\u4E45\u5316\u5B58\u50A8\u5728\u670D\u52A1\u7AEF\uFF0C\u4F46\u662F\u5BA2\u6237\u7AEF\u6D88\u8D39\u65F6\u4E0D\u4F1A\u83B7\u53D6\u5230\u6B64\u503C\uFF0C\u9ED8\u8BA4\u4E3A\u7A7A +#spring.cloud.nacos.discovery.metadata= +#\u547D\u540D\u7A7A\u95F4ID\uFF0CNacos\u901A\u8FC7\u4E0D\u540C\u7684\u547D\u540D\u7A7A\u95F4\u6765\u533A\u5206\u4E0D\u540C\u7684\u73AF\u5883\uFF0C\u8FDB\u884C\u6570\u636E\u9694\u79BB\uFF0C\u670D\u52A1\u6D88\u8D39\u65F6\u53EA\u80FD\u6D88\u8D39\u5230\u5BF9\u5E94\u547D\u540D\u7A7A\u95F4\u4E0B\u7684\u670D\u52A1\u3002 +#spring.cloud.nacos.discovery.namespace: +#\u6CE8\uFF1A\u5982\u679C\u670D\u52A1\u4ECE\u6CE8\u518C\u4E2D\u5FC3\u53EA\u6D88\u8D39\u670D\u52A1\uFF0C\u6CA1\u6709\u5BF9\u5916\u63D0\u4F9B\u670D\u52A1\uFF0C\u90A3\u4E48\u8BE5\u503C\u53EF\u8BBE\u7F6E\u4E3Afalse\uFF0C\u53EF\u51CF\u5C11\u5BA2\u6237\u7AEF\u7EBF\u7A0B\u6C60\u7684\u521B\u5EFA\uFF0C\u65E0\u9700\u5411\u670D\u52A1\u7AEF\u53D1\u9001\u5FC3\u8DF3\u8BF7\u6C42\uFF0C\u63D0\u9AD8\u6027\u80FD\u3002 +#spring.cloud.nacos.discovery.register-enabled: + + +#properties.jdbc.driverClassName=com.mysql.jdbc.Driver +#properties.jdbc.url=0273a20d38cf3daca43abea56319a2013a0c69fda1a828015452b0e105cd6a0ce0fc283160dbdcff23cac36993b9f8dfacb6a9e4a3ec4bd45f4bc6a5dd6ccdefb5215be93c04ab2ed839d345c9a5966cbdff9a79be5c15e1d7daa4c4d5f8dd47e20e5f7748aa1cbdef8b6ebfc2f81e4e2f108339034e4471 +#properties.jdbc.username=a2e14dca7baac4c6f665eab7d44305c4 +#properties.jdbc.password=ab1c81e5641895cbe45ebcaee32b4eb1 +#properties.jdbc.validationQuery=SELECT 1 +#properties.jdbc.initialSize=20 +#properties.jdbc.maxActive=800 +#properties.jdbc.maxIdle=50 +#properties.jdbc.minIdle=20 + + +properties.jdbc.driverClassName=com.mysql.jdbc.Driver +properties.jdbc.url=jdbc:mysql://127.0.0.1:3306/sieiot_demo_a?serverTimezone=GMT%2B8&useUnicode=true&characterEncoding=UTF-8&useSSL=false&autoReconnect=true +properties.jdbc.username=root +properties.jdbc.password=root +properties.jdbc.validationQuery=SELECT 1 +properties.jdbc.initialSize=20 +properties.jdbc.maxActive=800 +properties.jdbc.maxIdle=50 +properties.jdbc.minIdle=20 + + +# OSS\u6587\u4EF6\u670D\u52A1\u5668 +sie.file.type=aliyun +sie.file.accessProtocol=https:// +sie.file.endpoint=oss-cn-shanghai.aliyuncs.com +sie.file.accessKeyId=317cb4dcd8af8974ff6a8d848d21ea245b3309cf6d94740c64783b56dc058aca +sie.file.accessKeySecret=9a04fb8534f8abd1dd10ac58d2faa405ce718e2343d47356b6431abfbee9d60f +sie.file.bucketName=sieiotoss +sie.file.downloadProxyPath=http://jira.sieiot.com + +fastdfs.connect-timeout = 2 +fastdfs.network-timeout = 30 +fastdfs.charset = UTF-8 +fastdfs.tracker-http-port = 8080 +fastdfs.anti-steal-token = false +fastdfs.secret-key = FastDFS1234567890 +fastdfs.tracker-servers = 192.168.8.22:22122 +fastdfs.pool.enabled = true +fastdfs.pool.max-count-per-entry=500 +fastdfs.pool.max-idle-time=3600 +fastdfs.pool.maxWaitTimeInMs = 1000 + +#\u5168\u5C40\u914D\u7F6E +# \u8BF7\u6C42\u8FDE\u63A5\u7684\u8D85\u65F6\u65F6\u95F4 \u9ED8\u8BA4\u7684\u65F6\u95F4\u4E3A 1 \u79D2 +ribbon.ConnectTimeout=60000 +# \u8BF7\u6C42\u5904\u7406\u7684\u8D85\u65F6\u65F6\u95F4 +ribbon.ReadTimeout=60000 +log.root.level=info +elk.mode=false +elk.logstash.host=116.63.168.54 +elk.logstash.port=9601 +swagger.enable=true + +server.protocol= +server.address= +server.servlet.context-path=/ + +spring.servlet.multipart.max-file-size=100Mb +spring.servlet.multipart.max-request-size=100Mb + +spring.jackson.date-format=yyyy-MM-dd HH:mm:ss +spring.jackson.time-zone=GMT+8 +spring.jackson.serialization.write-dates-as-timestamps=false +spring.mvc.dateFormat = yyyy-MM-dd HH:mm:ss + +spring.klock.address=redis://${spring.redis.host}:${spring.redis.port} +spring.klock.password=${spring.redis.password} +spring.klock.enable=true + + +# sentinel \u7194\u65AD\u9ED8\u8BA4\u7B56\u7565 +# \u7B56\u7565 0\uFF1A\u6162\u8C03\u7528\u6BD4\u4F8B\uFF0C1\uFF1A\u5F02\u5E38\u6BD4\u4F8B\uFF0C2\uFF1A\u5F02\u5E38\u6570 +sentinel.degrade.default.grade=2 +# \u6162\u8C03\u7528\u6BD4\u4F8B\u6A21\u5F0F\u4E0B\u4E3A\u6162\u8C03\u7528\u4E34\u754C RT\uFF08\u8D85\u51FA\u8BE5\u503C\u8BA1\u4E3A\u6162\u8C03\u7528\uFF09\uFF1B\u5F02\u5E38\u6BD4\u4F8B/\u5F02\u5E38\u6570\u6A21\u5F0F\u4E0B\u4E3A\u5BF9\u5E94\u7684\u9608\u503C +sentinel.degrade.default.count=1 +# \u7194\u65AD\u65F6\u957F\uFF0C\u5355\u4F4D\u4E3A s +sentinel.degrade.default.timeWindow=5 +# \u7194\u65AD\u89E6\u53D1\u7684\u6700\u5C0F\u8BF7\u6C42\u6570\uFF0C\u8BF7\u6C42\u6570\u5C0F\u4E8E\u8BE5\u503C\u65F6\u5373\u4F7F\u5F02\u5E38\u6BD4\u7387\u8D85\u51FA\u9608\u503C\u4E5F\u4E0D\u4F1A\u7194\u65AD +sentinel.degrade.default.minRequestAmount=1 +# \u7EDF\u8BA1\u65F6\u957F\uFF08\u5355\u4F4D\u4E3A ms\uFF09\uFF0C\u5982 60*1000 \u4EE3\u8868\u5206\u949F\u7EA7 +sentinel.degrade.default.statIntervalMs=1000 +# \u6162\u8C03\u7528\u6BD4\u4F8B\u9608\u503C\uFF0C\u4EC5\u6162\u8C03\u7528\u6BD4\u4F8B\u6A21\u5F0F\u6709\u6548 +sentinel.degrade.default.rtSlowRequestAmount=1 + + + + +#\u4E8B\u7269\u6700\u7EC8\u4E00\u81F4\u6027topic\u914D\u7F6E +iot.synchronization.kafka.topic.asset: message.queue.iot.asset.synchronization + +#\u5F00\u542F\u6536\u96C6\u6570\u636E\uFF0C\u672C\u5730\u9879\u76EE\u3001UAT\u3001PRO\u73AF\u5883\uFF0C\u7EDF\u4E00\u4E3Afalse +hc.enabled = false +#\u5FFD\u7565\u8981\u6536\u96C6\u7684api +hc.ignoreApis = api/base/base-template/find-system-function,api/base/resource/find-resource,api/base/portal-favourite/find-user-menu,hc/hcPageController/find-pageinfo,api/base/base-user/logout,dyapi/baseDynamicApiController/pagination/unread-message-total,dyapi/baseDynamicApiController/pagination/message-find diff --git a/2068-yexiu-read-application/src/main/resources/com/yuexiu/secp/comm/config/mybatis-config.xml b/2068-yexiu-read-application/src/main/resources/com/yuexiu/secp/comm/config/mybatis-config.xml new file mode 100644 index 0000000..9748c15 --- /dev/null +++ b/2068-yexiu-read-application/src/main/resources/com/yuexiu/secp/comm/config/mybatis-config.xml @@ -0,0 +1,10 @@ + + + + + + + + diff --git a/2068-yexiu-read-application/src/main/resources/com/yuexiu/secp/comm/config/spring.mybatis.cfg.xml b/2068-yexiu-read-application/src/main/resources/com/yuexiu/secp/comm/config/spring.mybatis.cfg.xml new file mode 100644 index 0000000..7241147 --- /dev/null +++ b/2068-yexiu-read-application/src/main/resources/com/yuexiu/secp/comm/config/spring.mybatis.cfg.xml @@ -0,0 +1,167 @@ + + + + + + + + + + + + classpath:application.properties + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + config.common + config.2069-siedemo-comm-application + + + + diff --git a/2068-yexiu-read-application/src/main/resources/config/2069-siedemo-comm-application.properties b/2068-yexiu-read-application/src/main/resources/config/2069-siedemo-comm-application.properties new file mode 100644 index 0000000..6d1fa3e --- /dev/null +++ b/2068-yexiu-read-application/src/main/resources/config/2069-siedemo-comm-application.properties @@ -0,0 +1,25 @@ +1011_common_004=您没有权限访问该服务 +1011_common_002=控制器代码执行异常 +1011_common_003=您重复操作了,请稍后再试 +1011_common_001=服务器内部错误,请联系系统管理员! +1011_common_999= +1011_common_112=手机格式不合法 +1011_common_113=邮箱格式不合法 +1011_common_110=操作成功 +1011_common_111=操作失败 +1011_common_127={0}成功 +1011_common_128={0}失败 +1011_common_125=参数不合法 +1011_common_126=登录已失效,请重新登录 +1011_common_118=你无权进行此操作 +1011_common_119=登录已失效,请重新登录 +1011_common_116=手机号已存在,请修改后重试! +1011_common_117=邮箱已存在,请修改后重试! +1011_common_114=参数params不允许为空 +1011_common_115=您所更新的数据不存在 +1011_common_123=服务繁忙,请稍后再试! +1011_common_124=请勿重复提交 +1011_common_121={0}失败 +1011_common_122=您的账号已在其他设备登录 +1011_common_120={0}成功 +1061_demo_102=测试编码不能为空 \ No newline at end of file diff --git a/2068-yexiu-read-application/src/main/resources/config/2069-siedemo-comm-application_en_US.properties b/2068-yexiu-read-application/src/main/resources/config/2069-siedemo-comm-application_en_US.properties new file mode 100644 index 0000000..1eb5b96 --- /dev/null +++ b/2068-yexiu-read-application/src/main/resources/config/2069-siedemo-comm-application_en_US.properties @@ -0,0 +1,26 @@ +#1011 +1011_common_004=You do not have permission to the service +1011_common_002=Controller source code execute have exception +1011_common_003=You have repeated the operation. Please try again later +1011_common_001=The Server inter error, please connect administrator +1011_common_999= +1011_common_112=Invalid phone format +1011_common_113=Invalid email format +1011_common_110=Successful operation +1011_common_111=operation failed +1011_common_127={0} success +1011_common_128={0} failed +1011_common_125=Illegal parameter +1011_common_126=Login has expired, please log in again +1011_common_118=You are not authorized to do this +1011_common_119=Login has expired, please log in again +1011_common_116=The phone number already exists, please modify it and try again! +1011_common_117=The mailbox already exists, please modify and try again +1011_common_114=The parameter params cannot be empty +1011_common_115=The data you updated does not exist +1011_common_123=Service busy, please try again later! +1011_common_124=Please do not submit repeatedly +1011_common_121={0} failed +1011_common_122=Your account has been logged on to another device +1011_common_120={0} success +1061_demo_102=Asset classification code cannot be empty diff --git a/2068-yexiu-read-application/src/main/resources/config/2069-siedemo-comm-application_zh_CN.properties b/2068-yexiu-read-application/src/main/resources/config/2069-siedemo-comm-application_zh_CN.properties new file mode 100644 index 0000000..1dbd7ec --- /dev/null +++ b/2068-yexiu-read-application/src/main/resources/config/2069-siedemo-comm-application_zh_CN.properties @@ -0,0 +1,27 @@ +#1011 +1011_common_004=您没有权限访问该服务 +1011_common_002=控制器代码执行异常 +1011_common_003=您重复操作了,请稍后再试 +1011_common_001=服务器内部错误,请联系系统管理员! +1011_common_999= +1011_common_112=手机格式不合法 +1011_common_113=邮箱格式不合法 +1011_common_110=操作成功 +1011_common_111=操作失败 +1011_common_127={0}成功 +1011_common_128={0}失败 +1011_common_125=参数不合法 +1011_common_126=登录已失效,请重新登录 +1011_common_118=你无权进行此操作 +1011_common_119=登录已失效,请重新登录 +1011_common_116=手机号已存在,请修改后重试! +1011_common_117=邮箱已存在,请修改后重试! +1011_common_114=参数params不允许为空 +1011_common_115=您所更新的数据不存在 +1011_common_123=服务繁忙,请稍后再试! +1011_common_124=请勿重复提交 +1011_common_121={0}失败 +1011_common_122=您的账号已在其他设备登录 +1011_common_120={0}成功 +1061_demo_102=测试编码不能为空 + diff --git a/2068-yexiu-read-application/target/classes/application-yuexiu2068.yml b/2068-yexiu-read-application/target/classes/application-yuexiu2068.yml new file mode 100644 index 0000000..cbaa4be --- /dev/null +++ b/2068-yexiu-read-application/target/classes/application-yuexiu2068.yml @@ -0,0 +1,91 @@ +server: + port: 2068 + +spring: + cloud: + nacos: + discovery: + server-addr: 127.0.0.1:9010 + application: + name: 2068-yuexiu-read-application + redis: + host: 139.159.228.191 + port: 6377 + password: j4kd4ng3s8f3 + database: 0 + jedis: + pool: + max-active: 1000 + max-idle: 100 + min-idle: 8 + max-wait: 3000ms + timeout: 10000ms + data: + mongodb: + host: 127.0.0.1 + database: articledb + port: 27017 + # redis: +# host: 192.168.88.200 +# port: 5001 +# password: + jpa: + hibernate: + use-new-id-generator-mappings: false +swagger: + enable: true + +# 可以配置api-url ribbon,对以上的服务进行负载均衡 +ribbon: + ReadTimeout: 100000 + ConnectTimeout: 100000 + okhttp: + enabled: true + +#feign +feign: + sentinel: + enabled: true + + + + kafka: + bootstrap-servers: 139.159.224.135:9092 #(kafka生产集群ip+port端口) + listener: + missing-topics-fatal: false + producer: + acks: all + buffer-memory: 40960 + retries: 0 + batch-size: 4096 + properties: + linger.ms: 1 + key-serializer: org.apache.kafka.common.serialization.StringSerializer + value-serializer: org.apache.kafka.common.serialization.StringSerializer + consumer: + enable-auto-commit: true #(是否自动提交) + auto-commit-interval: 100ms + # 当kafka中没有初始offset或offset超出范围时将自动重置offset + # earliest:重置为分区中最小的offset; + # latest:重置为分区中最新的offset(消费分区中新产生的数据); + # none:只要有一个分区不存在已提交的offset,就抛出异常; + auto-offset-reset: latest #(实时生产,实时消费,不会从头开始消费) + group-id: defaultConsumerGroup #(消费组 无消费) + key-deserializer: org.apache.kafka.common.serialization.StringDeserializer + value-deserializer: org.apache.kafka.common.serialization.StringDeserializer + + cloud: + # 增加动态修改熔断规则支持 + sentinel: + eager: true + datasource: + # 熔断配置 + ds1: + apollo: + namespaceName: application + flowRulesKey: degrade-rules + dataType: json + ruleType: DEGRADE + + + diff --git a/2068-yexiu-read-application/target/classes/application.properties b/2068-yexiu-read-application/target/classes/application.properties new file mode 100644 index 0000000..e1e81af --- /dev/null +++ b/2068-yexiu-read-application/target/classes/application.properties @@ -0,0 +1,137 @@ +spring.application.name=2068-yuexiu-read-application + +management.metrics.export.prometheus.enabled=true +management.metrics.export.prometheus.step=1ms +management.metrics.export.prometheus.descriptions=true + +management.metrics.web.server.auto-time-requests=true +management.endpoints.web.exposure.include=* +management.metrics.tags.application=${spring.application.name} + +# \u8BBE\u7F6EIO\u7EBF\u7A0B\u6570, \u5B83\u4E3B\u8981\u6267\u884C\u975E\u963B\u585E\u7684\u4EFB\u52A1,\u5B83\u4EEC\u4F1A\u8D1F\u8D23\u591A\u4E2A\u8FDE\u63A5, \u9ED8\u8BA4\u8BBE\u7F6E\u6BCF\u4E2ACPU\u6838\u5FC3\u4E00\u4E2A\u7EBF\u7A0B +# \u4E0D\u8981\u8BBE\u7F6E\u8FC7\u5927\uFF0C\u5982\u679C\u8FC7\u5927\uFF0C\u542F\u52A8\u9879\u76EE\u4F1A\u62A5\u9519\uFF1A\u6253\u5F00\u6587\u4EF6\u6570\u8FC7\u591A +server.undertow.io-threads=4 + +# \u963B\u585E\u4EFB\u52A1\u7EBF\u7A0B\u6C60, \u5F53\u6267\u884C\u7C7B\u4F3Cservlet\u8BF7\u6C42\u963B\u585EIO\u64CD\u4F5C, undertow\u4F1A\u4ECE\u8FD9\u4E2A\u7EBF\u7A0B\u6C60\u4E2D\u53D6\u5F97\u7EBF\u7A0B +# \u5B83\u7684\u503C\u8BBE\u7F6E\u53D6\u51B3\u4E8E\u7CFB\u7EDF\u7EBF\u7A0B\u6267\u884C\u4EFB\u52A1\u7684\u963B\u585E\u7CFB\u6570\uFF0C\u9ED8\u8BA4\u503C\u662FIO\u7EBF\u7A0B\u6570*8 +server.undertow.worker-threads=32 + +# \u4EE5\u4E0B\u7684\u914D\u7F6E\u4F1A\u5F71\u54CDbuffer,\u8FD9\u4E9Bbuffer\u4F1A\u7528\u4E8E\u670D\u52A1\u5668\u8FDE\u63A5\u7684IO\u64CD\u4F5C,\u6709\u70B9\u7C7B\u4F3Cnetty\u7684\u6C60\u5316\u5185\u5B58\u7BA1\u7406 +# \u6BCF\u5757buffer\u7684\u7A7A\u95F4\u5927\u5C0F,\u8D8A\u5C0F\u7684\u7A7A\u95F4\u88AB\u5229\u7528\u8D8A\u5145\u5206\uFF0C\u4E0D\u8981\u8BBE\u7F6E\u592A\u5927\uFF0C\u4EE5\u514D\u5F71\u54CD\u5176\u4ED6\u5E94\u7528\uFF0C\u5408\u9002\u5373\u53EF +server.undertow.buffer-size=1024 + +# \u662F\u5426\u5206\u914D\u7684\u76F4\u63A5\u5185\u5B58(NIO\u76F4\u63A5\u5206\u914D\u7684\u5806\u5916\u5185\u5B58) +server.undertow.direct-buffers=true +feign.hystrix.enabled=true + +#\u6CE8\uFF1A\u591A\u4E2AIP\u53EF\u4EE5\u901A\u8FC7\u201C\uFF0C\u201D +spring.cloud.nacos.discovery.server-addr=127.0.0.1:9010 +#nacos\u5BA2\u6237\u7AEF\u5411\u670D\u52A1\u7AEF\u53D1\u9001\u5FC3\u8DF3\u7684\u65F6\u95F4\u95F4\u9694\uFF0C\u9ED8\u8BA45s +#\u6CE8\uFF1A\u5BA2\u6237\u7AEF\u5411\u670D\u52A1\u7AEF\u6BCF\u96945s\u5411\u670D\u52A1\u7AEF\u53D1\u9001\u5FC3\u8DF3\u8BF7\u6C42\uFF0C\u8FDB\u884C\u670D\u52A1\u7EED\u79DF\uFF0C\u544A\u8BC9\u670D\u52A1\u7AEF\u8BE5\u5B9E\u4F8BIP\u5065\u5EB7\u3002\u82E5\u57283\u6B21\u5FC3\u8DF3\u7684\u95F4\u9694\u65F6\u95F4(\u9ED8\u8BA415s)\u5185\u670D\u52A1\u7AEF\u6CA1\u6709\u63A5\u53D7\u5230\u8BE5\u5B9E\u4F8B\u7684\u5FC3\u8DF3\u8BF7\u6C42\uFF0C\u5219\u8BA4\u4E3A\u8BE5\u5B9E\u4F8B\u4E0D\u5065\u5EB7\uFF0C\u8BE5\u5B9E\u4F8B\u5C06\u65E0\u6CD5\u88AB\u6D88\u8D39\u3002\u5982\u679C\u518D\u6B21\u7ECF\u53863\u6B21\u5FC3\u8DF3\u7684\u95F4\u9694\u65F6\u95F4\uFF0C\u670D\u52A1\u7AEF\u63A5\u53D7\u5230\u8BE5\u5B9E\u4F8B\u7684\u8BF7\u6C42\uFF0C\u90A3\u4E48\u4F1A\u7ACB\u523B\u5C06\u5176\u8BBE\u7F6E\u5916\u5065\u5EB7\uFF0C\u5E76\u53EF\u4EE5\u88AB\u6D88\u8D39\uFF0C\u82E5\u672A\u63A5\u53D7\u5230\uFF0C\u5219\u5220\u9664\u8BE5\u5B9E\u4F8B\u7684\u6CE8\u518C\u4FE1\u606F\u3002\u63A8\u8350\u914D\u7F6E\u4E3A5s\uFF0C\u5982\u679C\u6709\u7684\u4E1A\u52A1\u7EBF\u5E0C\u671B\u670D\u52A1\u4E0B\u7EBF\u6216\u8005\u51FA\u6545\u969C\u65F6\u5E0C\u671B\u5C3D\u5FEB\u88AB\u53D1\u73B0\uFF0C\u53EF\u4EE5\u9002\u5F53\u51CF\u5C11\u8BE5\u503C\u3002 +#spring.cloud.nacos.discovery.heart-beat-interval=5 +#\u670D\u52A1\u7AEF\u6CA1\u6709\u63A5\u53D7\u5230\u5BA2\u6237\u7AEF\u5FC3\u8DF3\u8BF7\u6C42\u5C31\u5C06\u5176\u8BBE\u4E3A\u4E0D\u5065\u5EB7\u7684\u65F6\u95F4\u95F4\u9694\uFF0C\u9ED8\u8BA4\u4E3A15s +#\u6CE8\uFF1A\u63A8\u8350\u503C\u8BE5\u503C\u4E3A15s\u5373\u53EF\uFF0C\u5982\u679C\u6709\u7684\u4E1A\u52A1\u7EBF\u5E0C\u671B\u670D\u52A1\u4E0B\u7EBF\u6216\u8005\u51FA\u6545\u969C\u65F6\u5E0C\u671B\u5C3D\u5FEB\u88AB\u53D1\u73B0\uFF0C\u53EF\u4EE5\u9002\u5F53\u51CF\u5C11\u8BE5\u503C\u3002 +#spring.cloud.nacos.discovery.heart-beat-timeout=15 +#\u7ED9\u670D\u52A1\u6DFB\u52A0\u4E00\u4E9B\u6807\u7B7E\uFF0C\u4F8B\u5982\u5C5E\u4E8E\u4EC0\u4E48\u4E1A\u52A1\u7EBF\uFF0C\u8BE5\u5143\u6570\u636E\u4F1A\u6301\u4E45\u5316\u5B58\u50A8\u5728\u670D\u52A1\u7AEF\uFF0C\u4F46\u662F\u5BA2\u6237\u7AEF\u6D88\u8D39\u65F6\u4E0D\u4F1A\u83B7\u53D6\u5230\u6B64\u503C\uFF0C\u9ED8\u8BA4\u4E3A\u7A7A +#spring.cloud.nacos.discovery.metadata= +#\u547D\u540D\u7A7A\u95F4ID\uFF0CNacos\u901A\u8FC7\u4E0D\u540C\u7684\u547D\u540D\u7A7A\u95F4\u6765\u533A\u5206\u4E0D\u540C\u7684\u73AF\u5883\uFF0C\u8FDB\u884C\u6570\u636E\u9694\u79BB\uFF0C\u670D\u52A1\u6D88\u8D39\u65F6\u53EA\u80FD\u6D88\u8D39\u5230\u5BF9\u5E94\u547D\u540D\u7A7A\u95F4\u4E0B\u7684\u670D\u52A1\u3002 +#spring.cloud.nacos.discovery.namespace: +#\u6CE8\uFF1A\u5982\u679C\u670D\u52A1\u4ECE\u6CE8\u518C\u4E2D\u5FC3\u53EA\u6D88\u8D39\u670D\u52A1\uFF0C\u6CA1\u6709\u5BF9\u5916\u63D0\u4F9B\u670D\u52A1\uFF0C\u90A3\u4E48\u8BE5\u503C\u53EF\u8BBE\u7F6E\u4E3Afalse\uFF0C\u53EF\u51CF\u5C11\u5BA2\u6237\u7AEF\u7EBF\u7A0B\u6C60\u7684\u521B\u5EFA\uFF0C\u65E0\u9700\u5411\u670D\u52A1\u7AEF\u53D1\u9001\u5FC3\u8DF3\u8BF7\u6C42\uFF0C\u63D0\u9AD8\u6027\u80FD\u3002 +#spring.cloud.nacos.discovery.register-enabled: + + +#properties.jdbc.driverClassName=com.mysql.jdbc.Driver +#properties.jdbc.url=0273a20d38cf3daca43abea56319a2013a0c69fda1a828015452b0e105cd6a0ce0fc283160dbdcff23cac36993b9f8dfacb6a9e4a3ec4bd45f4bc6a5dd6ccdefb5215be93c04ab2ed839d345c9a5966cbdff9a79be5c15e1d7daa4c4d5f8dd47e20e5f7748aa1cbdef8b6ebfc2f81e4e2f108339034e4471 +#properties.jdbc.username=a2e14dca7baac4c6f665eab7d44305c4 +#properties.jdbc.password=ab1c81e5641895cbe45ebcaee32b4eb1 +#properties.jdbc.validationQuery=SELECT 1 +#properties.jdbc.initialSize=20 +#properties.jdbc.maxActive=800 +#properties.jdbc.maxIdle=50 +#properties.jdbc.minIdle=20 + + +properties.jdbc.driverClassName=com.mysql.jdbc.Driver +properties.jdbc.url=jdbc:mysql://127.0.0.1:3306/sieiot_demo_a?serverTimezone=GMT%2B8&useUnicode=true&characterEncoding=UTF-8&useSSL=false&autoReconnect=true +properties.jdbc.username=root +properties.jdbc.password=root +properties.jdbc.validationQuery=SELECT 1 +properties.jdbc.initialSize=20 +properties.jdbc.maxActive=800 +properties.jdbc.maxIdle=50 +properties.jdbc.minIdle=20 + + +# OSS\u6587\u4EF6\u670D\u52A1\u5668 +sie.file.type=aliyun +sie.file.accessProtocol=https:// +sie.file.endpoint=oss-cn-shanghai.aliyuncs.com +sie.file.accessKeyId=317cb4dcd8af8974ff6a8d848d21ea245b3309cf6d94740c64783b56dc058aca +sie.file.accessKeySecret=9a04fb8534f8abd1dd10ac58d2faa405ce718e2343d47356b6431abfbee9d60f +sie.file.bucketName=sieiotoss +sie.file.downloadProxyPath=http://jira.sieiot.com + +fastdfs.connect-timeout = 2 +fastdfs.network-timeout = 30 +fastdfs.charset = UTF-8 +fastdfs.tracker-http-port = 8080 +fastdfs.anti-steal-token = false +fastdfs.secret-key = FastDFS1234567890 +fastdfs.tracker-servers = 192.168.8.22:22122 +fastdfs.pool.enabled = true +fastdfs.pool.max-count-per-entry=500 +fastdfs.pool.max-idle-time=3600 +fastdfs.pool.maxWaitTimeInMs = 1000 + +#\u5168\u5C40\u914D\u7F6E +# \u8BF7\u6C42\u8FDE\u63A5\u7684\u8D85\u65F6\u65F6\u95F4 \u9ED8\u8BA4\u7684\u65F6\u95F4\u4E3A 1 \u79D2 +ribbon.ConnectTimeout=60000 +# \u8BF7\u6C42\u5904\u7406\u7684\u8D85\u65F6\u65F6\u95F4 +ribbon.ReadTimeout=60000 +log.root.level=info +elk.mode=false +elk.logstash.host=116.63.168.54 +elk.logstash.port=9601 +swagger.enable=true + +server.protocol= +server.address= +server.servlet.context-path=/ + +spring.servlet.multipart.max-file-size=100Mb +spring.servlet.multipart.max-request-size=100Mb + +spring.jackson.date-format=yyyy-MM-dd HH:mm:ss +spring.jackson.time-zone=GMT+8 +spring.jackson.serialization.write-dates-as-timestamps=false +spring.mvc.dateFormat = yyyy-MM-dd HH:mm:ss + +spring.klock.address=redis://${spring.redis.host}:${spring.redis.port} +spring.klock.password=${spring.redis.password} +spring.klock.enable=true + + +# sentinel \u7194\u65AD\u9ED8\u8BA4\u7B56\u7565 +# \u7B56\u7565 0\uFF1A\u6162\u8C03\u7528\u6BD4\u4F8B\uFF0C1\uFF1A\u5F02\u5E38\u6BD4\u4F8B\uFF0C2\uFF1A\u5F02\u5E38\u6570 +sentinel.degrade.default.grade=2 +# \u6162\u8C03\u7528\u6BD4\u4F8B\u6A21\u5F0F\u4E0B\u4E3A\u6162\u8C03\u7528\u4E34\u754C RT\uFF08\u8D85\u51FA\u8BE5\u503C\u8BA1\u4E3A\u6162\u8C03\u7528\uFF09\uFF1B\u5F02\u5E38\u6BD4\u4F8B/\u5F02\u5E38\u6570\u6A21\u5F0F\u4E0B\u4E3A\u5BF9\u5E94\u7684\u9608\u503C +sentinel.degrade.default.count=1 +# \u7194\u65AD\u65F6\u957F\uFF0C\u5355\u4F4D\u4E3A s +sentinel.degrade.default.timeWindow=5 +# \u7194\u65AD\u89E6\u53D1\u7684\u6700\u5C0F\u8BF7\u6C42\u6570\uFF0C\u8BF7\u6C42\u6570\u5C0F\u4E8E\u8BE5\u503C\u65F6\u5373\u4F7F\u5F02\u5E38\u6BD4\u7387\u8D85\u51FA\u9608\u503C\u4E5F\u4E0D\u4F1A\u7194\u65AD +sentinel.degrade.default.minRequestAmount=1 +# \u7EDF\u8BA1\u65F6\u957F\uFF08\u5355\u4F4D\u4E3A ms\uFF09\uFF0C\u5982 60*1000 \u4EE3\u8868\u5206\u949F\u7EA7 +sentinel.degrade.default.statIntervalMs=1000 +# \u6162\u8C03\u7528\u6BD4\u4F8B\u9608\u503C\uFF0C\u4EC5\u6162\u8C03\u7528\u6BD4\u4F8B\u6A21\u5F0F\u6709\u6548 +sentinel.degrade.default.rtSlowRequestAmount=1 + + + + +#\u4E8B\u7269\u6700\u7EC8\u4E00\u81F4\u6027topic\u914D\u7F6E +iot.synchronization.kafka.topic.asset: message.queue.iot.asset.synchronization + +#\u5F00\u542F\u6536\u96C6\u6570\u636E\uFF0C\u672C\u5730\u9879\u76EE\u3001UAT\u3001PRO\u73AF\u5883\uFF0C\u7EDF\u4E00\u4E3Afalse +hc.enabled = false +#\u5FFD\u7565\u8981\u6536\u96C6\u7684api +hc.ignoreApis = api/base/base-template/find-system-function,api/base/resource/find-resource,api/base/portal-favourite/find-user-menu,hc/hcPageController/find-pageinfo,api/base/base-user/logout,dyapi/baseDynamicApiController/pagination/unread-message-total,dyapi/baseDynamicApiController/pagination/message-find diff --git a/2068-yexiu-read-application/target/classes/com/yuexiu/secp/comm/ReadApplication.class b/2068-yexiu-read-application/target/classes/com/yuexiu/secp/comm/ReadApplication.class new file mode 100644 index 0000000..87e0777 Binary files /dev/null and b/2068-yexiu-read-application/target/classes/com/yuexiu/secp/comm/ReadApplication.class differ diff --git a/2068-yexiu-read-application/target/classes/com/yuexiu/secp/comm/api/controller/CommentController.class b/2068-yexiu-read-application/target/classes/com/yuexiu/secp/comm/api/controller/CommentController.class new file mode 100644 index 0000000..2e52db0 Binary files /dev/null and b/2068-yexiu-read-application/target/classes/com/yuexiu/secp/comm/api/controller/CommentController.class differ diff --git a/2068-yexiu-read-application/target/classes/com/yuexiu/secp/comm/config/mybatis-config.xml b/2068-yexiu-read-application/target/classes/com/yuexiu/secp/comm/config/mybatis-config.xml new file mode 100644 index 0000000..9748c15 --- /dev/null +++ b/2068-yexiu-read-application/target/classes/com/yuexiu/secp/comm/config/mybatis-config.xml @@ -0,0 +1,10 @@ + + + + + + + + diff --git a/2068-yexiu-read-application/target/classes/com/yuexiu/secp/comm/config/spring.mybatis.cfg.xml b/2068-yexiu-read-application/target/classes/com/yuexiu/secp/comm/config/spring.mybatis.cfg.xml new file mode 100644 index 0000000..7241147 --- /dev/null +++ b/2068-yexiu-read-application/target/classes/com/yuexiu/secp/comm/config/spring.mybatis.cfg.xml @@ -0,0 +1,167 @@ + + + + + + + + + + + + classpath:application.properties + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + config.common + config.2069-siedemo-comm-application + + + + diff --git a/2068-yexiu-read-application/target/classes/com/yuexiu/secp/comm/dao/CommentRepository.class b/2068-yexiu-read-application/target/classes/com/yuexiu/secp/comm/dao/CommentRepository.class new file mode 100644 index 0000000..e47d0d1 Binary files /dev/null and b/2068-yexiu-read-application/target/classes/com/yuexiu/secp/comm/dao/CommentRepository.class differ diff --git a/2068-yexiu-read-application/target/classes/com/yuexiu/secp/comm/dto/Comment.class b/2068-yexiu-read-application/target/classes/com/yuexiu/secp/comm/dto/Comment.class new file mode 100644 index 0000000..124fd43 Binary files /dev/null and b/2068-yexiu-read-application/target/classes/com/yuexiu/secp/comm/dto/Comment.class differ diff --git a/2068-yexiu-read-application/target/classes/com/yuexiu/secp/comm/infra/config/Swagger2Config.class b/2068-yexiu-read-application/target/classes/com/yuexiu/secp/comm/infra/config/Swagger2Config.class new file mode 100644 index 0000000..cdee7f5 Binary files /dev/null and b/2068-yexiu-read-application/target/classes/com/yuexiu/secp/comm/infra/config/Swagger2Config.class differ diff --git a/2068-yexiu-read-application/target/classes/com/yuexiu/secp/comm/model/service/ICommentService.class b/2068-yexiu-read-application/target/classes/com/yuexiu/secp/comm/model/service/ICommentService.class new file mode 100644 index 0000000..89e62f2 Binary files /dev/null and b/2068-yexiu-read-application/target/classes/com/yuexiu/secp/comm/model/service/ICommentService.class differ diff --git a/2068-yexiu-read-application/target/classes/com/yuexiu/secp/comm/model/service/impl/CommentService.class b/2068-yexiu-read-application/target/classes/com/yuexiu/secp/comm/model/service/impl/CommentService.class new file mode 100644 index 0000000..434e257 Binary files /dev/null and b/2068-yexiu-read-application/target/classes/com/yuexiu/secp/comm/model/service/impl/CommentService.class differ diff --git a/2068-yexiu-read-application/target/classes/config/2069-siedemo-comm-application.properties b/2068-yexiu-read-application/target/classes/config/2069-siedemo-comm-application.properties new file mode 100644 index 0000000..6d1fa3e --- /dev/null +++ b/2068-yexiu-read-application/target/classes/config/2069-siedemo-comm-application.properties @@ -0,0 +1,25 @@ +1011_common_004=您没有权限访问该服务 +1011_common_002=控制器代码执行异常 +1011_common_003=您重复操作了,请稍后再试 +1011_common_001=服务器内部错误,请联系系统管理员! +1011_common_999= +1011_common_112=手机格式不合法 +1011_common_113=邮箱格式不合法 +1011_common_110=操作成功 +1011_common_111=操作失败 +1011_common_127={0}成功 +1011_common_128={0}失败 +1011_common_125=参数不合法 +1011_common_126=登录已失效,请重新登录 +1011_common_118=你无权进行此操作 +1011_common_119=登录已失效,请重新登录 +1011_common_116=手机号已存在,请修改后重试! +1011_common_117=邮箱已存在,请修改后重试! +1011_common_114=参数params不允许为空 +1011_common_115=您所更新的数据不存在 +1011_common_123=服务繁忙,请稍后再试! +1011_common_124=请勿重复提交 +1011_common_121={0}失败 +1011_common_122=您的账号已在其他设备登录 +1011_common_120={0}成功 +1061_demo_102=测试编码不能为空 \ No newline at end of file diff --git a/2068-yexiu-read-application/target/classes/config/2069-siedemo-comm-application_en_US.properties b/2068-yexiu-read-application/target/classes/config/2069-siedemo-comm-application_en_US.properties new file mode 100644 index 0000000..1eb5b96 --- /dev/null +++ b/2068-yexiu-read-application/target/classes/config/2069-siedemo-comm-application_en_US.properties @@ -0,0 +1,26 @@ +#1011 +1011_common_004=You do not have permission to the service +1011_common_002=Controller source code execute have exception +1011_common_003=You have repeated the operation. Please try again later +1011_common_001=The Server inter error, please connect administrator +1011_common_999= +1011_common_112=Invalid phone format +1011_common_113=Invalid email format +1011_common_110=Successful operation +1011_common_111=operation failed +1011_common_127={0} success +1011_common_128={0} failed +1011_common_125=Illegal parameter +1011_common_126=Login has expired, please log in again +1011_common_118=You are not authorized to do this +1011_common_119=Login has expired, please log in again +1011_common_116=The phone number already exists, please modify it and try again! +1011_common_117=The mailbox already exists, please modify and try again +1011_common_114=The parameter params cannot be empty +1011_common_115=The data you updated does not exist +1011_common_123=Service busy, please try again later! +1011_common_124=Please do not submit repeatedly +1011_common_121={0} failed +1011_common_122=Your account has been logged on to another device +1011_common_120={0} success +1061_demo_102=Asset classification code cannot be empty diff --git a/2068-yexiu-read-application/target/classes/config/2069-siedemo-comm-application_zh_CN.properties b/2068-yexiu-read-application/target/classes/config/2069-siedemo-comm-application_zh_CN.properties new file mode 100644 index 0000000..1dbd7ec --- /dev/null +++ b/2068-yexiu-read-application/target/classes/config/2069-siedemo-comm-application_zh_CN.properties @@ -0,0 +1,27 @@ +#1011 +1011_common_004=您没有权限访问该服务 +1011_common_002=控制器代码执行异常 +1011_common_003=您重复操作了,请稍后再试 +1011_common_001=服务器内部错误,请联系系统管理员! +1011_common_999= +1011_common_112=手机格式不合法 +1011_common_113=邮箱格式不合法 +1011_common_110=操作成功 +1011_common_111=操作失败 +1011_common_127={0}成功 +1011_common_128={0}失败 +1011_common_125=参数不合法 +1011_common_126=登录已失效,请重新登录 +1011_common_118=你无权进行此操作 +1011_common_119=登录已失效,请重新登录 +1011_common_116=手机号已存在,请修改后重试! +1011_common_117=邮箱已存在,请修改后重试! +1011_common_114=参数params不允许为空 +1011_common_115=您所更新的数据不存在 +1011_common_123=服务繁忙,请稍后再试! +1011_common_124=请勿重复提交 +1011_common_121={0}失败 +1011_common_122=您的账号已在其他设备登录 +1011_common_120={0}成功 +1061_demo_102=测试编码不能为空 + diff --git a/2069-yuexiu-registration-api/2069-yuexiu-registration-api.iml b/2069-yuexiu-registration-api/2069-yuexiu-registration-api.iml new file mode 100644 index 0000000..b5343ea --- /dev/null +++ b/2069-yuexiu-registration-api/2069-yuexiu-registration-api.iml @@ -0,0 +1,79 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/2069-yuexiu-registration-api/pom.xml b/2069-yuexiu-registration-api/pom.xml new file mode 100644 index 0000000..71993b8 --- /dev/null +++ b/2069-yuexiu-registration-api/pom.xml @@ -0,0 +1,19 @@ + + + + yuexiu-secp-v1.0 + com.yuexiu.secp + 1.0.0 + + 4.0.0 + + 2069-yuexiu-registration-api + + + 8 + 8 + + + diff --git a/2069-yuexiu-registration-application/2069-yuexiu-registration-application.iml b/2069-yuexiu-registration-application/2069-yuexiu-registration-application.iml new file mode 100644 index 0000000..f0a51ce --- /dev/null +++ b/2069-yuexiu-registration-application/2069-yuexiu-registration-application.iml @@ -0,0 +1,337 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/2069-yuexiu-registration-application/pom.xml b/2069-yuexiu-registration-application/pom.xml new file mode 100644 index 0000000..53bae57 --- /dev/null +++ b/2069-yuexiu-registration-application/pom.xml @@ -0,0 +1,58 @@ + + + + yuexiu-secp-v1.0 + com.yuexiu.secp + 1.0.0 + + 4.0.0 + + 2069-yuexiu-registration-application + + + 8 + 8 + + + + + + + com.sie.irradiator + 1011-sieiot-common-application + + + + + org.springframework.boot + spring-boot-starter-undertow + + + + com.yuexiu.secp + 1069-yuexiu-registration-model-mybatis + 1.0.0 + + + + + + + src/main/resources + + **/*.xml + **/*.yml + **/*.properties + **/*.xlsx + **/*.xls + + false + + + + + + + diff --git a/2069-yuexiu-registration-application/src/main/java/com/yuexiu/secp/comm/RegistrationApplication.java b/2069-yuexiu-registration-application/src/main/java/com/yuexiu/secp/comm/RegistrationApplication.java new file mode 100644 index 0000000..b2f50e9 --- /dev/null +++ b/2069-yuexiu-registration-application/src/main/java/com/yuexiu/secp/comm/RegistrationApplication.java @@ -0,0 +1,30 @@ +package com.yuexiu.secp.comm; + +import com.sie.iot.common.application.CommonApplication; +import org.springframework.boot.autoconfigure.EnableAutoConfiguration; +import org.springframework.boot.autoconfigure.SpringBootApplication; +import org.springframework.boot.autoconfigure.jdbc.DataSourceAutoConfiguration; +import org.springframework.boot.autoconfigure.orm.jpa.HibernateJpaAutoConfiguration; +import org.springframework.boot.builder.SpringApplicationBuilder; +import org.springframework.cloud.client.discovery.EnableDiscoveryClient; +import org.springframework.cloud.openfeign.EnableFeignClients; +import org.springframework.context.annotation.EnableAspectJAutoProxy; +import org.springframework.context.annotation.ImportResource; +import org.springframework.web.bind.annotation.RestController; + + +@SpringBootApplication +@RestController +@EnableDiscoveryClient +@EnableAspectJAutoProxy(proxyTargetClass = true) +@ImportResource({"classpath*:com/yuexiu/secp/comm/config/spring.mybatis.cfg.xml"}) +@EnableFeignClients +@EnableAutoConfiguration(exclude={DataSourceAutoConfiguration.class, HibernateJpaAutoConfiguration.class}) +public class RegistrationApplication extends CommonApplication { + public static void main(String[] args) { + args = new String[1]; + args[0] = "--spring.profiles.active=yuexiu2069"; + new SpringApplicationBuilder(RegistrationApplication.class).run(args); + } +} + diff --git a/2069-yuexiu-registration-application/src/main/java/com/yuexiu/secp/comm/infra/config/Swagger2Config.java b/2069-yuexiu-registration-application/src/main/java/com/yuexiu/secp/comm/infra/config/Swagger2Config.java new file mode 100644 index 0000000..9b03a97 --- /dev/null +++ b/2069-yuexiu-registration-application/src/main/java/com/yuexiu/secp/comm/infra/config/Swagger2Config.java @@ -0,0 +1,105 @@ +package com.yuexiu.secp.comm.infra.config; + +import com.google.common.base.Function; +import com.google.common.base.Optional; +import com.google.common.base.Predicate; +import org.springframework.beans.factory.annotation.Value; +import org.springframework.context.annotation.Bean; +import org.springframework.context.annotation.Configuration; +import springfox.documentation.RequestHandler; +import springfox.documentation.builders.ApiInfoBuilder; +import springfox.documentation.builders.ParameterBuilder; +import springfox.documentation.builders.PathSelectors; +import springfox.documentation.schema.ModelRef; +import springfox.documentation.service.ApiInfo; +import springfox.documentation.service.Parameter; +import springfox.documentation.spi.DocumentationType; +import springfox.documentation.spring.web.plugins.Docket; +import springfox.documentation.swagger2.annotations.EnableSwagger2; + +import java.util.ArrayList; +import java.util.List; + +/** + * Swagger2配置类 + * 在与spring boot集成时,放在与Application.java同级的目录下。 + * 通过@Configuration注解,让Spring来加载该类配置。 + * 再通过@EnableSwagger2注解来启用Swagger2。 + */ +@Configuration +@EnableSwagger2 +public class Swagger2Config { + + + @Value("${swagger.enable}") + private boolean enableSwagger; + + /** + * 创建API应用 + * apiInfo() 增加API相关信息 + * 通过select()函数返回一个ApiSelectorBuilder实例,用来控制哪些接口暴露给Swagger来展现, + * 本例采用指定扫描的包路径来定义指定要建立API的目录。 + * @return + */ + @Bean + public Docket createRestApi() { + ParameterBuilder ticketPar = new ParameterBuilder(); + List pars = new ArrayList(); + ticketPar.name("authorization").description("认证token") + .modelRef(new ModelRef("string")).parameterType("header") + .required(false).build(); //header中的ticket参数非必填,传空也可以 + pars.add(ticketPar.build()); //根据每个方法名也知道当前方法在设置什么参数 + return new Docket(DocumentationType.SWAGGER_2) + .apiInfo(apiInfo()) + .select() + .apis(basePackage("com.yuexiu.secp.interfaces.controller")) + .paths(PathSelectors.any()) + .build().enable(enableSwagger) + .globalOperationParameters(pars); + } + /** + * 创建该API的基本信息(这些基本信息会展现在文档页面中) + * 访问地址:http://项目实际地址/swagger-ui.html + * @return + */ + private ApiInfo apiInfo() { + return new ApiInfoBuilder() + .title("Spring Boot中使用Swagger2构建RESTful APIs") + .description("更多请关注http://www.chinasie.com") + .termsOfServiceUrl("http://www.chinasie.com") + .contact("sunf") + .version("1.0") + .build(); + } + + /** + * 重写basePackage方法,使能够实现多包访问,复制贴上去 + * @author teavamc + * @date 2019/1/26 + * @param basePackage + * @return com.google.common.base.Predicate + */ + public static Predicate basePackage(final String basePackage) { + return input -> declaringClass(input).transform(handlerPackage(basePackage)).or(true); + } + + + + private static Function, Boolean> handlerPackage(final String basePackage) { + return input -> { + // 循环判断匹配 + for (String strPackage : basePackage.split(";")) { + boolean isMatch = input.getPackage().getName().startsWith(strPackage); + if (isMatch) { + return true; + } + } + return false; + }; + } + + + private static Optional> declaringClass(RequestHandler input) { + return Optional.fromNullable(input.declaringClass()); + } +} \ No newline at end of file diff --git a/2069-yuexiu-registration-application/src/main/resources/application-yuexiu2069.yml b/2069-yuexiu-registration-application/src/main/resources/application-yuexiu2069.yml new file mode 100644 index 0000000..64a44b8 --- /dev/null +++ b/2069-yuexiu-registration-application/src/main/resources/application-yuexiu2069.yml @@ -0,0 +1,88 @@ +server: + port: 2069 + +spring: + cloud: + nacos: + discovery: + server-addr: 127.0.0.1:9010 + application: + name: 2069-yuexiu-registration-application + redis: + host: 139.159.228.191 + port: 6377 + password: j4kd4ng3s8f3 + database: 0 + jedis: + pool: + max-active: 1000 + max-idle: 100 + min-idle: 8 + max-wait: 3000ms + timeout: 10000ms +# redis: +# host: 192.168.88.200 +# port: 5001 +# password: + jpa: + hibernate: + use-new-id-generator-mappings: false +swagger: + enable: true + +# 可以配置api-url ribbon,对以上的服务进行负载均衡 +ribbon: + ReadTimeout: 100000 + ConnectTimeout: 100000 + okhttp: + enabled: true + +#feign +feign: + sentinel: + enabled: true + + + + kafka: + bootstrap-servers: 139.159.224.135:9092 #(kafka生产集群ip+port端口) + listener: + missing-topics-fatal: false + producer: + acks: all + buffer-memory: 40960 + retries: 0 + batch-size: 4096 + properties: + linger.ms: 1 + key-serializer: org.apache.kafka.common.serialization.StringSerializer + value-serializer: org.apache.kafka.common.serialization.StringSerializer + consumer: + enable-auto-commit: true #(是否自动提交) + auto-commit-interval: 100ms + # 当kafka中没有初始offset或offset超出范围时将自动重置offset + # earliest:重置为分区中最小的offset; + # latest:重置为分区中最新的offset(消费分区中新产生的数据); + # none:只要有一个分区不存在已提交的offset,就抛出异常; + auto-offset-reset: latest #(实时生产,实时消费,不会从头开始消费) + group-id: defaultConsumerGroup #(消费组 无消费) + key-deserializer: org.apache.kafka.common.serialization.StringDeserializer + value-deserializer: org.apache.kafka.common.serialization.StringDeserializer + + cloud: + # 增加动态修改熔断规则支持 + sentinel: + eager: true + datasource: + # 熔断配置 + ds1: + apollo: + namespaceName: application + flowRulesKey: degrade-rules + dataType: json + ruleType: DEGRADE + + + + + diff --git a/2069-yuexiu-registration-application/src/main/resources/application.properties b/2069-yuexiu-registration-application/src/main/resources/application.properties new file mode 100644 index 0000000..7df19d9 --- /dev/null +++ b/2069-yuexiu-registration-application/src/main/resources/application.properties @@ -0,0 +1,125 @@ +spring.application.name=2069-yuexiu-registration-application + +management.metrics.export.prometheus.enabled=true +management.metrics.export.prometheus.step=1ms +management.metrics.export.prometheus.descriptions=true + +management.metrics.web.server.auto-time-requests=true +management.endpoints.web.exposure.include=* +management.metrics.tags.application=${spring.application.name} + +# \u8BBE\u7F6EIO\u7EBF\u7A0B\u6570, \u5B83\u4E3B\u8981\u6267\u884C\u975E\u963B\u585E\u7684\u4EFB\u52A1,\u5B83\u4EEC\u4F1A\u8D1F\u8D23\u591A\u4E2A\u8FDE\u63A5, \u9ED8\u8BA4\u8BBE\u7F6E\u6BCF\u4E2ACPU\u6838\u5FC3\u4E00\u4E2A\u7EBF\u7A0B +# \u4E0D\u8981\u8BBE\u7F6E\u8FC7\u5927\uFF0C\u5982\u679C\u8FC7\u5927\uFF0C\u542F\u52A8\u9879\u76EE\u4F1A\u62A5\u9519\uFF1A\u6253\u5F00\u6587\u4EF6\u6570\u8FC7\u591A +server.undertow.io-threads=4 + +# \u963B\u585E\u4EFB\u52A1\u7EBF\u7A0B\u6C60, \u5F53\u6267\u884C\u7C7B\u4F3Cservlet\u8BF7\u6C42\u963B\u585EIO\u64CD\u4F5C, undertow\u4F1A\u4ECE\u8FD9\u4E2A\u7EBF\u7A0B\u6C60\u4E2D\u53D6\u5F97\u7EBF\u7A0B +# \u5B83\u7684\u503C\u8BBE\u7F6E\u53D6\u51B3\u4E8E\u7CFB\u7EDF\u7EBF\u7A0B\u6267\u884C\u4EFB\u52A1\u7684\u963B\u585E\u7CFB\u6570\uFF0C\u9ED8\u8BA4\u503C\u662FIO\u7EBF\u7A0B\u6570*8 +server.undertow.worker-threads=32 + +# \u4EE5\u4E0B\u7684\u914D\u7F6E\u4F1A\u5F71\u54CDbuffer,\u8FD9\u4E9Bbuffer\u4F1A\u7528\u4E8E\u670D\u52A1\u5668\u8FDE\u63A5\u7684IO\u64CD\u4F5C,\u6709\u70B9\u7C7B\u4F3Cnetty\u7684\u6C60\u5316\u5185\u5B58\u7BA1\u7406 +# \u6BCF\u5757buffer\u7684\u7A7A\u95F4\u5927\u5C0F,\u8D8A\u5C0F\u7684\u7A7A\u95F4\u88AB\u5229\u7528\u8D8A\u5145\u5206\uFF0C\u4E0D\u8981\u8BBE\u7F6E\u592A\u5927\uFF0C\u4EE5\u514D\u5F71\u54CD\u5176\u4ED6\u5E94\u7528\uFF0C\u5408\u9002\u5373\u53EF +server.undertow.buffer-size=1024 + +# \u662F\u5426\u5206\u914D\u7684\u76F4\u63A5\u5185\u5B58(NIO\u76F4\u63A5\u5206\u914D\u7684\u5806\u5916\u5185\u5B58) +server.undertow.direct-buffers=true +feign.hystrix.enabled=true + +#\u6CE8\uFF1A\u591A\u4E2AIP\u53EF\u4EE5\u901A\u8FC7\u201C\uFF0C\u201D +spring.cloud.nacos.discovery.server-addr=127.0.0.1:9010 +#nacos\u5BA2\u6237\u7AEF\u5411\u670D\u52A1\u7AEF\u53D1\u9001\u5FC3\u8DF3\u7684\u65F6\u95F4\u95F4\u9694\uFF0C\u9ED8\u8BA45s +#\u6CE8\uFF1A\u5BA2\u6237\u7AEF\u5411\u670D\u52A1\u7AEF\u6BCF\u96945s\u5411\u670D\u52A1\u7AEF\u53D1\u9001\u5FC3\u8DF3\u8BF7\u6C42\uFF0C\u8FDB\u884C\u670D\u52A1\u7EED\u79DF\uFF0C\u544A\u8BC9\u670D\u52A1\u7AEF\u8BE5\u5B9E\u4F8BIP\u5065\u5EB7\u3002\u82E5\u57283\u6B21\u5FC3\u8DF3\u7684\u95F4\u9694\u65F6\u95F4(\u9ED8\u8BA415s)\u5185\u670D\u52A1\u7AEF\u6CA1\u6709\u63A5\u53D7\u5230\u8BE5\u5B9E\u4F8B\u7684\u5FC3\u8DF3\u8BF7\u6C42\uFF0C\u5219\u8BA4\u4E3A\u8BE5\u5B9E\u4F8B\u4E0D\u5065\u5EB7\uFF0C\u8BE5\u5B9E\u4F8B\u5C06\u65E0\u6CD5\u88AB\u6D88\u8D39\u3002\u5982\u679C\u518D\u6B21\u7ECF\u53863\u6B21\u5FC3\u8DF3\u7684\u95F4\u9694\u65F6\u95F4\uFF0C\u670D\u52A1\u7AEF\u63A5\u53D7\u5230\u8BE5\u5B9E\u4F8B\u7684\u8BF7\u6C42\uFF0C\u90A3\u4E48\u4F1A\u7ACB\u523B\u5C06\u5176\u8BBE\u7F6E\u5916\u5065\u5EB7\uFF0C\u5E76\u53EF\u4EE5\u88AB\u6D88\u8D39\uFF0C\u82E5\u672A\u63A5\u53D7\u5230\uFF0C\u5219\u5220\u9664\u8BE5\u5B9E\u4F8B\u7684\u6CE8\u518C\u4FE1\u606F\u3002\u63A8\u8350\u914D\u7F6E\u4E3A5s\uFF0C\u5982\u679C\u6709\u7684\u4E1A\u52A1\u7EBF\u5E0C\u671B\u670D\u52A1\u4E0B\u7EBF\u6216\u8005\u51FA\u6545\u969C\u65F6\u5E0C\u671B\u5C3D\u5FEB\u88AB\u53D1\u73B0\uFF0C\u53EF\u4EE5\u9002\u5F53\u51CF\u5C11\u8BE5\u503C\u3002 +#spring.cloud.nacos.discovery.heart-beat-interval=5 +#\u670D\u52A1\u7AEF\u6CA1\u6709\u63A5\u53D7\u5230\u5BA2\u6237\u7AEF\u5FC3\u8DF3\u8BF7\u6C42\u5C31\u5C06\u5176\u8BBE\u4E3A\u4E0D\u5065\u5EB7\u7684\u65F6\u95F4\u95F4\u9694\uFF0C\u9ED8\u8BA4\u4E3A15s +#\u6CE8\uFF1A\u63A8\u8350\u503C\u8BE5\u503C\u4E3A15s\u5373\u53EF\uFF0C\u5982\u679C\u6709\u7684\u4E1A\u52A1\u7EBF\u5E0C\u671B\u670D\u52A1\u4E0B\u7EBF\u6216\u8005\u51FA\u6545\u969C\u65F6\u5E0C\u671B\u5C3D\u5FEB\u88AB\u53D1\u73B0\uFF0C\u53EF\u4EE5\u9002\u5F53\u51CF\u5C11\u8BE5\u503C\u3002 +#spring.cloud.nacos.discovery.heart-beat-timeout=15 +#\u7ED9\u670D\u52A1\u6DFB\u52A0\u4E00\u4E9B\u6807\u7B7E\uFF0C\u4F8B\u5982\u5C5E\u4E8E\u4EC0\u4E48\u4E1A\u52A1\u7EBF\uFF0C\u8BE5\u5143\u6570\u636E\u4F1A\u6301\u4E45\u5316\u5B58\u50A8\u5728\u670D\u52A1\u7AEF\uFF0C\u4F46\u662F\u5BA2\u6237\u7AEF\u6D88\u8D39\u65F6\u4E0D\u4F1A\u83B7\u53D6\u5230\u6B64\u503C\uFF0C\u9ED8\u8BA4\u4E3A\u7A7A +#spring.cloud.nacos.discovery.metadata= +#\u547D\u540D\u7A7A\u95F4ID\uFF0CNacos\u901A\u8FC7\u4E0D\u540C\u7684\u547D\u540D\u7A7A\u95F4\u6765\u533A\u5206\u4E0D\u540C\u7684\u73AF\u5883\uFF0C\u8FDB\u884C\u6570\u636E\u9694\u79BB\uFF0C\u670D\u52A1\u6D88\u8D39\u65F6\u53EA\u80FD\u6D88\u8D39\u5230\u5BF9\u5E94\u547D\u540D\u7A7A\u95F4\u4E0B\u7684\u670D\u52A1\u3002 +#spring.cloud.nacos.discovery.namespace: +#\u6CE8\uFF1A\u5982\u679C\u670D\u52A1\u4ECE\u6CE8\u518C\u4E2D\u5FC3\u53EA\u6D88\u8D39\u670D\u52A1\uFF0C\u6CA1\u6709\u5BF9\u5916\u63D0\u4F9B\u670D\u52A1\uFF0C\u90A3\u4E48\u8BE5\u503C\u53EF\u8BBE\u7F6E\u4E3Afalse\uFF0C\u53EF\u51CF\u5C11\u5BA2\u6237\u7AEF\u7EBF\u7A0B\u6C60\u7684\u521B\u5EFA\uFF0C\u65E0\u9700\u5411\u670D\u52A1\u7AEF\u53D1\u9001\u5FC3\u8DF3\u8BF7\u6C42\uFF0C\u63D0\u9AD8\u6027\u80FD\u3002 +#spring.cloud.nacos.discovery.register-enabled: + + +properties.jdbc.driverClassName=com.mysql.jdbc.Driver +properties.jdbc.url=0273a20d38cf3daca43abea56319a2013a0c69fda1a828015452b0e105cd6a0ce0fc283160dbdcff23cac36993b9f8dfacb6a9e4a3ec4bd45f4bc6a5dd6ccdefb5215be93c04ab2ed839d345c9a5966cbdff9a79be5c15e1d7daa4c4d5f8dd47e20e5f7748aa1cbdef8b6ebfc2f81e4e2f108339034e4471 +properties.jdbc.username=a2e14dca7baac4c6f665eab7d44305c4 +properties.jdbc.password=ab1c81e5641895cbe45ebcaee32b4eb1 +properties.jdbc.validationQuery=SELECT 1 +properties.jdbc.initialSize=20 +properties.jdbc.maxActive=800 +properties.jdbc.maxIdle=50 +properties.jdbc.minIdle=20 + +# OSS\u6587\u4EF6\u670D\u52A1\u5668 +sie.file.type=aliyun +sie.file.accessProtocol=https:// +sie.file.endpoint=oss-cn-shanghai.aliyuncs.com +sie.file.accessKeyId=317cb4dcd8af8974ff6a8d848d21ea245b3309cf6d94740c64783b56dc058aca +sie.file.accessKeySecret=9a04fb8534f8abd1dd10ac58d2faa405ce718e2343d47356b6431abfbee9d60f +sie.file.bucketName=sieiotoss +sie.file.downloadProxyPath=http://jira.sieiot.com + +fastdfs.connect-timeout = 2 +fastdfs.network-timeout = 30 +fastdfs.charset = UTF-8 +fastdfs.tracker-http-port = 8080 +fastdfs.anti-steal-token = false +fastdfs.secret-key = FastDFS1234567890 +fastdfs.tracker-servers = 192.168.8.22:22122 +fastdfs.pool.enabled = true +fastdfs.pool.max-count-per-entry=500 +fastdfs.pool.max-idle-time=3600 +fastdfs.pool.maxWaitTimeInMs = 1000 + +#\u5168\u5C40\u914D\u7F6E +# \u8BF7\u6C42\u8FDE\u63A5\u7684\u8D85\u65F6\u65F6\u95F4 \u9ED8\u8BA4\u7684\u65F6\u95F4\u4E3A 1 \u79D2 +ribbon.ConnectTimeout=60000 +# \u8BF7\u6C42\u5904\u7406\u7684\u8D85\u65F6\u65F6\u95F4 +ribbon.ReadTimeout=60000 +log.root.level=info +elk.mode=false +elk.logstash.host=116.63.168.54 +elk.logstash.port=9601 +swagger.enable=true + +server.protocol= +server.address= +server.servlet.context-path=/ + +spring.servlet.multipart.max-file-size=100Mb +spring.servlet.multipart.max-request-size=100Mb + +spring.jackson.date-format=yyyy-MM-dd HH:mm:ss +spring.jackson.time-zone=GMT+8 +spring.jackson.serialization.write-dates-as-timestamps=false +spring.mvc.dateFormat = yyyy-MM-dd HH:mm:ss + +spring.klock.address=redis://${spring.redis.host}:${spring.redis.port} +spring.klock.password=${spring.redis.password} +spring.klock.enable=true + + +# sentinel \u7194\u65AD\u9ED8\u8BA4\u7B56\u7565 +# \u7B56\u7565 0\uFF1A\u6162\u8C03\u7528\u6BD4\u4F8B\uFF0C1\uFF1A\u5F02\u5E38\u6BD4\u4F8B\uFF0C2\uFF1A\u5F02\u5E38\u6570 +sentinel.degrade.default.grade=2 +# \u6162\u8C03\u7528\u6BD4\u4F8B\u6A21\u5F0F\u4E0B\u4E3A\u6162\u8C03\u7528\u4E34\u754C RT\uFF08\u8D85\u51FA\u8BE5\u503C\u8BA1\u4E3A\u6162\u8C03\u7528\uFF09\uFF1B\u5F02\u5E38\u6BD4\u4F8B/\u5F02\u5E38\u6570\u6A21\u5F0F\u4E0B\u4E3A\u5BF9\u5E94\u7684\u9608\u503C +sentinel.degrade.default.count=1 +# \u7194\u65AD\u65F6\u957F\uFF0C\u5355\u4F4D\u4E3A s +sentinel.degrade.default.timeWindow=5 +# \u7194\u65AD\u89E6\u53D1\u7684\u6700\u5C0F\u8BF7\u6C42\u6570\uFF0C\u8BF7\u6C42\u6570\u5C0F\u4E8E\u8BE5\u503C\u65F6\u5373\u4F7F\u5F02\u5E38\u6BD4\u7387\u8D85\u51FA\u9608\u503C\u4E5F\u4E0D\u4F1A\u7194\u65AD +sentinel.degrade.default.minRequestAmount=1 +# \u7EDF\u8BA1\u65F6\u957F\uFF08\u5355\u4F4D\u4E3A ms\uFF09\uFF0C\u5982 60*1000 \u4EE3\u8868\u5206\u949F\u7EA7 +sentinel.degrade.default.statIntervalMs=1000 +# \u6162\u8C03\u7528\u6BD4\u4F8B\u9608\u503C\uFF0C\u4EC5\u6162\u8C03\u7528\u6BD4\u4F8B\u6A21\u5F0F\u6709\u6548 +sentinel.degrade.default.rtSlowRequestAmount=1 + + + + +#\u4E8B\u7269\u6700\u7EC8\u4E00\u81F4\u6027topic\u914D\u7F6E +iot.synchronization.kafka.topic.asset: message.queue.iot.asset.synchronization + +#\u5F00\u542F\u6536\u96C6\u6570\u636E\uFF0C\u672C\u5730\u9879\u76EE\u3001UAT\u3001PRO\u73AF\u5883\uFF0C\u7EDF\u4E00\u4E3Afalse +hc.enabled = false +#\u5FFD\u7565\u8981\u6536\u96C6\u7684api +hc.ignoreApis = api/base/base-template/find-system-function,api/base/resource/find-resource,api/base/portal-favourite/find-user-menu,hc/hcPageController/find-pageinfo,api/base/base-user/logout,dyapi/baseDynamicApiController/pagination/unread-message-total,dyapi/baseDynamicApiController/pagination/message-find diff --git a/2069-yuexiu-registration-application/src/main/resources/com/yuexiu/secp/comm/config/mybatis-config.xml b/2069-yuexiu-registration-application/src/main/resources/com/yuexiu/secp/comm/config/mybatis-config.xml new file mode 100644 index 0000000..9748c15 --- /dev/null +++ b/2069-yuexiu-registration-application/src/main/resources/com/yuexiu/secp/comm/config/mybatis-config.xml @@ -0,0 +1,10 @@ + + + + + + + + diff --git a/2069-yuexiu-registration-application/src/main/resources/com/yuexiu/secp/comm/config/spring.mybatis.cfg.xml b/2069-yuexiu-registration-application/src/main/resources/com/yuexiu/secp/comm/config/spring.mybatis.cfg.xml new file mode 100644 index 0000000..599e746 --- /dev/null +++ b/2069-yuexiu-registration-application/src/main/resources/com/yuexiu/secp/comm/config/spring.mybatis.cfg.xml @@ -0,0 +1,165 @@ + + + + + + + + + + + + classpath:application.properties + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + config.common + config.2069-siedemo-comm-application + + + + diff --git a/2069-yuexiu-registration-application/src/main/resources/config/2069-siedemo-comm-application.properties b/2069-yuexiu-registration-application/src/main/resources/config/2069-siedemo-comm-application.properties new file mode 100644 index 0000000..6d1fa3e --- /dev/null +++ b/2069-yuexiu-registration-application/src/main/resources/config/2069-siedemo-comm-application.properties @@ -0,0 +1,25 @@ +1011_common_004=您没有权限访问该服务 +1011_common_002=控制器代码执行异常 +1011_common_003=您重复操作了,请稍后再试 +1011_common_001=服务器内部错误,请联系系统管理员! +1011_common_999= +1011_common_112=手机格式不合法 +1011_common_113=邮箱格式不合法 +1011_common_110=操作成功 +1011_common_111=操作失败 +1011_common_127={0}成功 +1011_common_128={0}失败 +1011_common_125=参数不合法 +1011_common_126=登录已失效,请重新登录 +1011_common_118=你无权进行此操作 +1011_common_119=登录已失效,请重新登录 +1011_common_116=手机号已存在,请修改后重试! +1011_common_117=邮箱已存在,请修改后重试! +1011_common_114=参数params不允许为空 +1011_common_115=您所更新的数据不存在 +1011_common_123=服务繁忙,请稍后再试! +1011_common_124=请勿重复提交 +1011_common_121={0}失败 +1011_common_122=您的账号已在其他设备登录 +1011_common_120={0}成功 +1061_demo_102=测试编码不能为空 \ No newline at end of file diff --git a/2069-yuexiu-registration-application/src/main/resources/config/2069-siedemo-comm-application_en_US.properties b/2069-yuexiu-registration-application/src/main/resources/config/2069-siedemo-comm-application_en_US.properties new file mode 100644 index 0000000..1eb5b96 --- /dev/null +++ b/2069-yuexiu-registration-application/src/main/resources/config/2069-siedemo-comm-application_en_US.properties @@ -0,0 +1,26 @@ +#1011 +1011_common_004=You do not have permission to the service +1011_common_002=Controller source code execute have exception +1011_common_003=You have repeated the operation. Please try again later +1011_common_001=The Server inter error, please connect administrator +1011_common_999= +1011_common_112=Invalid phone format +1011_common_113=Invalid email format +1011_common_110=Successful operation +1011_common_111=operation failed +1011_common_127={0} success +1011_common_128={0} failed +1011_common_125=Illegal parameter +1011_common_126=Login has expired, please log in again +1011_common_118=You are not authorized to do this +1011_common_119=Login has expired, please log in again +1011_common_116=The phone number already exists, please modify it and try again! +1011_common_117=The mailbox already exists, please modify and try again +1011_common_114=The parameter params cannot be empty +1011_common_115=The data you updated does not exist +1011_common_123=Service busy, please try again later! +1011_common_124=Please do not submit repeatedly +1011_common_121={0} failed +1011_common_122=Your account has been logged on to another device +1011_common_120={0} success +1061_demo_102=Asset classification code cannot be empty diff --git a/2069-yuexiu-registration-application/src/main/resources/config/2069-siedemo-comm-application_zh_CN.properties b/2069-yuexiu-registration-application/src/main/resources/config/2069-siedemo-comm-application_zh_CN.properties new file mode 100644 index 0000000..1dbd7ec --- /dev/null +++ b/2069-yuexiu-registration-application/src/main/resources/config/2069-siedemo-comm-application_zh_CN.properties @@ -0,0 +1,27 @@ +#1011 +1011_common_004=您没有权限访问该服务 +1011_common_002=控制器代码执行异常 +1011_common_003=您重复操作了,请稍后再试 +1011_common_001=服务器内部错误,请联系系统管理员! +1011_common_999= +1011_common_112=手机格式不合法 +1011_common_113=邮箱格式不合法 +1011_common_110=操作成功 +1011_common_111=操作失败 +1011_common_127={0}成功 +1011_common_128={0}失败 +1011_common_125=参数不合法 +1011_common_126=登录已失效,请重新登录 +1011_common_118=你无权进行此操作 +1011_common_119=登录已失效,请重新登录 +1011_common_116=手机号已存在,请修改后重试! +1011_common_117=邮箱已存在,请修改后重试! +1011_common_114=参数params不允许为空 +1011_common_115=您所更新的数据不存在 +1011_common_123=服务繁忙,请稍后再试! +1011_common_124=请勿重复提交 +1011_common_121={0}失败 +1011_common_122=您的账号已在其他设备登录 +1011_common_120={0}成功 +1061_demo_102=测试编码不能为空 + diff --git a/2069-yuexiu-registration-application/target/classes/application-yuexiu2069.yml b/2069-yuexiu-registration-application/target/classes/application-yuexiu2069.yml new file mode 100644 index 0000000..64a44b8 --- /dev/null +++ b/2069-yuexiu-registration-application/target/classes/application-yuexiu2069.yml @@ -0,0 +1,88 @@ +server: + port: 2069 + +spring: + cloud: + nacos: + discovery: + server-addr: 127.0.0.1:9010 + application: + name: 2069-yuexiu-registration-application + redis: + host: 139.159.228.191 + port: 6377 + password: j4kd4ng3s8f3 + database: 0 + jedis: + pool: + max-active: 1000 + max-idle: 100 + min-idle: 8 + max-wait: 3000ms + timeout: 10000ms +# redis: +# host: 192.168.88.200 +# port: 5001 +# password: + jpa: + hibernate: + use-new-id-generator-mappings: false +swagger: + enable: true + +# 可以配置api-url ribbon,对以上的服务进行负载均衡 +ribbon: + ReadTimeout: 100000 + ConnectTimeout: 100000 + okhttp: + enabled: true + +#feign +feign: + sentinel: + enabled: true + + + + kafka: + bootstrap-servers: 139.159.224.135:9092 #(kafka生产集群ip+port端口) + listener: + missing-topics-fatal: false + producer: + acks: all + buffer-memory: 40960 + retries: 0 + batch-size: 4096 + properties: + linger.ms: 1 + key-serializer: org.apache.kafka.common.serialization.StringSerializer + value-serializer: org.apache.kafka.common.serialization.StringSerializer + consumer: + enable-auto-commit: true #(是否自动提交) + auto-commit-interval: 100ms + # 当kafka中没有初始offset或offset超出范围时将自动重置offset + # earliest:重置为分区中最小的offset; + # latest:重置为分区中最新的offset(消费分区中新产生的数据); + # none:只要有一个分区不存在已提交的offset,就抛出异常; + auto-offset-reset: latest #(实时生产,实时消费,不会从头开始消费) + group-id: defaultConsumerGroup #(消费组 无消费) + key-deserializer: org.apache.kafka.common.serialization.StringDeserializer + value-deserializer: org.apache.kafka.common.serialization.StringDeserializer + + cloud: + # 增加动态修改熔断规则支持 + sentinel: + eager: true + datasource: + # 熔断配置 + ds1: + apollo: + namespaceName: application + flowRulesKey: degrade-rules + dataType: json + ruleType: DEGRADE + + + + + diff --git a/2069-yuexiu-registration-application/target/classes/application.properties b/2069-yuexiu-registration-application/target/classes/application.properties new file mode 100644 index 0000000..7df19d9 --- /dev/null +++ b/2069-yuexiu-registration-application/target/classes/application.properties @@ -0,0 +1,125 @@ +spring.application.name=2069-yuexiu-registration-application + +management.metrics.export.prometheus.enabled=true +management.metrics.export.prometheus.step=1ms +management.metrics.export.prometheus.descriptions=true + +management.metrics.web.server.auto-time-requests=true +management.endpoints.web.exposure.include=* +management.metrics.tags.application=${spring.application.name} + +# \u8BBE\u7F6EIO\u7EBF\u7A0B\u6570, \u5B83\u4E3B\u8981\u6267\u884C\u975E\u963B\u585E\u7684\u4EFB\u52A1,\u5B83\u4EEC\u4F1A\u8D1F\u8D23\u591A\u4E2A\u8FDE\u63A5, \u9ED8\u8BA4\u8BBE\u7F6E\u6BCF\u4E2ACPU\u6838\u5FC3\u4E00\u4E2A\u7EBF\u7A0B +# \u4E0D\u8981\u8BBE\u7F6E\u8FC7\u5927\uFF0C\u5982\u679C\u8FC7\u5927\uFF0C\u542F\u52A8\u9879\u76EE\u4F1A\u62A5\u9519\uFF1A\u6253\u5F00\u6587\u4EF6\u6570\u8FC7\u591A +server.undertow.io-threads=4 + +# \u963B\u585E\u4EFB\u52A1\u7EBF\u7A0B\u6C60, \u5F53\u6267\u884C\u7C7B\u4F3Cservlet\u8BF7\u6C42\u963B\u585EIO\u64CD\u4F5C, undertow\u4F1A\u4ECE\u8FD9\u4E2A\u7EBF\u7A0B\u6C60\u4E2D\u53D6\u5F97\u7EBF\u7A0B +# \u5B83\u7684\u503C\u8BBE\u7F6E\u53D6\u51B3\u4E8E\u7CFB\u7EDF\u7EBF\u7A0B\u6267\u884C\u4EFB\u52A1\u7684\u963B\u585E\u7CFB\u6570\uFF0C\u9ED8\u8BA4\u503C\u662FIO\u7EBF\u7A0B\u6570*8 +server.undertow.worker-threads=32 + +# \u4EE5\u4E0B\u7684\u914D\u7F6E\u4F1A\u5F71\u54CDbuffer,\u8FD9\u4E9Bbuffer\u4F1A\u7528\u4E8E\u670D\u52A1\u5668\u8FDE\u63A5\u7684IO\u64CD\u4F5C,\u6709\u70B9\u7C7B\u4F3Cnetty\u7684\u6C60\u5316\u5185\u5B58\u7BA1\u7406 +# \u6BCF\u5757buffer\u7684\u7A7A\u95F4\u5927\u5C0F,\u8D8A\u5C0F\u7684\u7A7A\u95F4\u88AB\u5229\u7528\u8D8A\u5145\u5206\uFF0C\u4E0D\u8981\u8BBE\u7F6E\u592A\u5927\uFF0C\u4EE5\u514D\u5F71\u54CD\u5176\u4ED6\u5E94\u7528\uFF0C\u5408\u9002\u5373\u53EF +server.undertow.buffer-size=1024 + +# \u662F\u5426\u5206\u914D\u7684\u76F4\u63A5\u5185\u5B58(NIO\u76F4\u63A5\u5206\u914D\u7684\u5806\u5916\u5185\u5B58) +server.undertow.direct-buffers=true +feign.hystrix.enabled=true + +#\u6CE8\uFF1A\u591A\u4E2AIP\u53EF\u4EE5\u901A\u8FC7\u201C\uFF0C\u201D +spring.cloud.nacos.discovery.server-addr=127.0.0.1:9010 +#nacos\u5BA2\u6237\u7AEF\u5411\u670D\u52A1\u7AEF\u53D1\u9001\u5FC3\u8DF3\u7684\u65F6\u95F4\u95F4\u9694\uFF0C\u9ED8\u8BA45s +#\u6CE8\uFF1A\u5BA2\u6237\u7AEF\u5411\u670D\u52A1\u7AEF\u6BCF\u96945s\u5411\u670D\u52A1\u7AEF\u53D1\u9001\u5FC3\u8DF3\u8BF7\u6C42\uFF0C\u8FDB\u884C\u670D\u52A1\u7EED\u79DF\uFF0C\u544A\u8BC9\u670D\u52A1\u7AEF\u8BE5\u5B9E\u4F8BIP\u5065\u5EB7\u3002\u82E5\u57283\u6B21\u5FC3\u8DF3\u7684\u95F4\u9694\u65F6\u95F4(\u9ED8\u8BA415s)\u5185\u670D\u52A1\u7AEF\u6CA1\u6709\u63A5\u53D7\u5230\u8BE5\u5B9E\u4F8B\u7684\u5FC3\u8DF3\u8BF7\u6C42\uFF0C\u5219\u8BA4\u4E3A\u8BE5\u5B9E\u4F8B\u4E0D\u5065\u5EB7\uFF0C\u8BE5\u5B9E\u4F8B\u5C06\u65E0\u6CD5\u88AB\u6D88\u8D39\u3002\u5982\u679C\u518D\u6B21\u7ECF\u53863\u6B21\u5FC3\u8DF3\u7684\u95F4\u9694\u65F6\u95F4\uFF0C\u670D\u52A1\u7AEF\u63A5\u53D7\u5230\u8BE5\u5B9E\u4F8B\u7684\u8BF7\u6C42\uFF0C\u90A3\u4E48\u4F1A\u7ACB\u523B\u5C06\u5176\u8BBE\u7F6E\u5916\u5065\u5EB7\uFF0C\u5E76\u53EF\u4EE5\u88AB\u6D88\u8D39\uFF0C\u82E5\u672A\u63A5\u53D7\u5230\uFF0C\u5219\u5220\u9664\u8BE5\u5B9E\u4F8B\u7684\u6CE8\u518C\u4FE1\u606F\u3002\u63A8\u8350\u914D\u7F6E\u4E3A5s\uFF0C\u5982\u679C\u6709\u7684\u4E1A\u52A1\u7EBF\u5E0C\u671B\u670D\u52A1\u4E0B\u7EBF\u6216\u8005\u51FA\u6545\u969C\u65F6\u5E0C\u671B\u5C3D\u5FEB\u88AB\u53D1\u73B0\uFF0C\u53EF\u4EE5\u9002\u5F53\u51CF\u5C11\u8BE5\u503C\u3002 +#spring.cloud.nacos.discovery.heart-beat-interval=5 +#\u670D\u52A1\u7AEF\u6CA1\u6709\u63A5\u53D7\u5230\u5BA2\u6237\u7AEF\u5FC3\u8DF3\u8BF7\u6C42\u5C31\u5C06\u5176\u8BBE\u4E3A\u4E0D\u5065\u5EB7\u7684\u65F6\u95F4\u95F4\u9694\uFF0C\u9ED8\u8BA4\u4E3A15s +#\u6CE8\uFF1A\u63A8\u8350\u503C\u8BE5\u503C\u4E3A15s\u5373\u53EF\uFF0C\u5982\u679C\u6709\u7684\u4E1A\u52A1\u7EBF\u5E0C\u671B\u670D\u52A1\u4E0B\u7EBF\u6216\u8005\u51FA\u6545\u969C\u65F6\u5E0C\u671B\u5C3D\u5FEB\u88AB\u53D1\u73B0\uFF0C\u53EF\u4EE5\u9002\u5F53\u51CF\u5C11\u8BE5\u503C\u3002 +#spring.cloud.nacos.discovery.heart-beat-timeout=15 +#\u7ED9\u670D\u52A1\u6DFB\u52A0\u4E00\u4E9B\u6807\u7B7E\uFF0C\u4F8B\u5982\u5C5E\u4E8E\u4EC0\u4E48\u4E1A\u52A1\u7EBF\uFF0C\u8BE5\u5143\u6570\u636E\u4F1A\u6301\u4E45\u5316\u5B58\u50A8\u5728\u670D\u52A1\u7AEF\uFF0C\u4F46\u662F\u5BA2\u6237\u7AEF\u6D88\u8D39\u65F6\u4E0D\u4F1A\u83B7\u53D6\u5230\u6B64\u503C\uFF0C\u9ED8\u8BA4\u4E3A\u7A7A +#spring.cloud.nacos.discovery.metadata= +#\u547D\u540D\u7A7A\u95F4ID\uFF0CNacos\u901A\u8FC7\u4E0D\u540C\u7684\u547D\u540D\u7A7A\u95F4\u6765\u533A\u5206\u4E0D\u540C\u7684\u73AF\u5883\uFF0C\u8FDB\u884C\u6570\u636E\u9694\u79BB\uFF0C\u670D\u52A1\u6D88\u8D39\u65F6\u53EA\u80FD\u6D88\u8D39\u5230\u5BF9\u5E94\u547D\u540D\u7A7A\u95F4\u4E0B\u7684\u670D\u52A1\u3002 +#spring.cloud.nacos.discovery.namespace: +#\u6CE8\uFF1A\u5982\u679C\u670D\u52A1\u4ECE\u6CE8\u518C\u4E2D\u5FC3\u53EA\u6D88\u8D39\u670D\u52A1\uFF0C\u6CA1\u6709\u5BF9\u5916\u63D0\u4F9B\u670D\u52A1\uFF0C\u90A3\u4E48\u8BE5\u503C\u53EF\u8BBE\u7F6E\u4E3Afalse\uFF0C\u53EF\u51CF\u5C11\u5BA2\u6237\u7AEF\u7EBF\u7A0B\u6C60\u7684\u521B\u5EFA\uFF0C\u65E0\u9700\u5411\u670D\u52A1\u7AEF\u53D1\u9001\u5FC3\u8DF3\u8BF7\u6C42\uFF0C\u63D0\u9AD8\u6027\u80FD\u3002 +#spring.cloud.nacos.discovery.register-enabled: + + +properties.jdbc.driverClassName=com.mysql.jdbc.Driver +properties.jdbc.url=0273a20d38cf3daca43abea56319a2013a0c69fda1a828015452b0e105cd6a0ce0fc283160dbdcff23cac36993b9f8dfacb6a9e4a3ec4bd45f4bc6a5dd6ccdefb5215be93c04ab2ed839d345c9a5966cbdff9a79be5c15e1d7daa4c4d5f8dd47e20e5f7748aa1cbdef8b6ebfc2f81e4e2f108339034e4471 +properties.jdbc.username=a2e14dca7baac4c6f665eab7d44305c4 +properties.jdbc.password=ab1c81e5641895cbe45ebcaee32b4eb1 +properties.jdbc.validationQuery=SELECT 1 +properties.jdbc.initialSize=20 +properties.jdbc.maxActive=800 +properties.jdbc.maxIdle=50 +properties.jdbc.minIdle=20 + +# OSS\u6587\u4EF6\u670D\u52A1\u5668 +sie.file.type=aliyun +sie.file.accessProtocol=https:// +sie.file.endpoint=oss-cn-shanghai.aliyuncs.com +sie.file.accessKeyId=317cb4dcd8af8974ff6a8d848d21ea245b3309cf6d94740c64783b56dc058aca +sie.file.accessKeySecret=9a04fb8534f8abd1dd10ac58d2faa405ce718e2343d47356b6431abfbee9d60f +sie.file.bucketName=sieiotoss +sie.file.downloadProxyPath=http://jira.sieiot.com + +fastdfs.connect-timeout = 2 +fastdfs.network-timeout = 30 +fastdfs.charset = UTF-8 +fastdfs.tracker-http-port = 8080 +fastdfs.anti-steal-token = false +fastdfs.secret-key = FastDFS1234567890 +fastdfs.tracker-servers = 192.168.8.22:22122 +fastdfs.pool.enabled = true +fastdfs.pool.max-count-per-entry=500 +fastdfs.pool.max-idle-time=3600 +fastdfs.pool.maxWaitTimeInMs = 1000 + +#\u5168\u5C40\u914D\u7F6E +# \u8BF7\u6C42\u8FDE\u63A5\u7684\u8D85\u65F6\u65F6\u95F4 \u9ED8\u8BA4\u7684\u65F6\u95F4\u4E3A 1 \u79D2 +ribbon.ConnectTimeout=60000 +# \u8BF7\u6C42\u5904\u7406\u7684\u8D85\u65F6\u65F6\u95F4 +ribbon.ReadTimeout=60000 +log.root.level=info +elk.mode=false +elk.logstash.host=116.63.168.54 +elk.logstash.port=9601 +swagger.enable=true + +server.protocol= +server.address= +server.servlet.context-path=/ + +spring.servlet.multipart.max-file-size=100Mb +spring.servlet.multipart.max-request-size=100Mb + +spring.jackson.date-format=yyyy-MM-dd HH:mm:ss +spring.jackson.time-zone=GMT+8 +spring.jackson.serialization.write-dates-as-timestamps=false +spring.mvc.dateFormat = yyyy-MM-dd HH:mm:ss + +spring.klock.address=redis://${spring.redis.host}:${spring.redis.port} +spring.klock.password=${spring.redis.password} +spring.klock.enable=true + + +# sentinel \u7194\u65AD\u9ED8\u8BA4\u7B56\u7565 +# \u7B56\u7565 0\uFF1A\u6162\u8C03\u7528\u6BD4\u4F8B\uFF0C1\uFF1A\u5F02\u5E38\u6BD4\u4F8B\uFF0C2\uFF1A\u5F02\u5E38\u6570 +sentinel.degrade.default.grade=2 +# \u6162\u8C03\u7528\u6BD4\u4F8B\u6A21\u5F0F\u4E0B\u4E3A\u6162\u8C03\u7528\u4E34\u754C RT\uFF08\u8D85\u51FA\u8BE5\u503C\u8BA1\u4E3A\u6162\u8C03\u7528\uFF09\uFF1B\u5F02\u5E38\u6BD4\u4F8B/\u5F02\u5E38\u6570\u6A21\u5F0F\u4E0B\u4E3A\u5BF9\u5E94\u7684\u9608\u503C +sentinel.degrade.default.count=1 +# \u7194\u65AD\u65F6\u957F\uFF0C\u5355\u4F4D\u4E3A s +sentinel.degrade.default.timeWindow=5 +# \u7194\u65AD\u89E6\u53D1\u7684\u6700\u5C0F\u8BF7\u6C42\u6570\uFF0C\u8BF7\u6C42\u6570\u5C0F\u4E8E\u8BE5\u503C\u65F6\u5373\u4F7F\u5F02\u5E38\u6BD4\u7387\u8D85\u51FA\u9608\u503C\u4E5F\u4E0D\u4F1A\u7194\u65AD +sentinel.degrade.default.minRequestAmount=1 +# \u7EDF\u8BA1\u65F6\u957F\uFF08\u5355\u4F4D\u4E3A ms\uFF09\uFF0C\u5982 60*1000 \u4EE3\u8868\u5206\u949F\u7EA7 +sentinel.degrade.default.statIntervalMs=1000 +# \u6162\u8C03\u7528\u6BD4\u4F8B\u9608\u503C\uFF0C\u4EC5\u6162\u8C03\u7528\u6BD4\u4F8B\u6A21\u5F0F\u6709\u6548 +sentinel.degrade.default.rtSlowRequestAmount=1 + + + + +#\u4E8B\u7269\u6700\u7EC8\u4E00\u81F4\u6027topic\u914D\u7F6E +iot.synchronization.kafka.topic.asset: message.queue.iot.asset.synchronization + +#\u5F00\u542F\u6536\u96C6\u6570\u636E\uFF0C\u672C\u5730\u9879\u76EE\u3001UAT\u3001PRO\u73AF\u5883\uFF0C\u7EDF\u4E00\u4E3Afalse +hc.enabled = false +#\u5FFD\u7565\u8981\u6536\u96C6\u7684api +hc.ignoreApis = api/base/base-template/find-system-function,api/base/resource/find-resource,api/base/portal-favourite/find-user-menu,hc/hcPageController/find-pageinfo,api/base/base-user/logout,dyapi/baseDynamicApiController/pagination/unread-message-total,dyapi/baseDynamicApiController/pagination/message-find diff --git a/2069-yuexiu-registration-application/target/classes/com/yuexiu/secp/comm/RegistrationApplication.class b/2069-yuexiu-registration-application/target/classes/com/yuexiu/secp/comm/RegistrationApplication.class new file mode 100644 index 0000000..9b6eb4f Binary files /dev/null and b/2069-yuexiu-registration-application/target/classes/com/yuexiu/secp/comm/RegistrationApplication.class differ diff --git a/2069-yuexiu-registration-application/target/classes/com/yuexiu/secp/comm/config/mybatis-config.xml b/2069-yuexiu-registration-application/target/classes/com/yuexiu/secp/comm/config/mybatis-config.xml new file mode 100644 index 0000000..9748c15 --- /dev/null +++ b/2069-yuexiu-registration-application/target/classes/com/yuexiu/secp/comm/config/mybatis-config.xml @@ -0,0 +1,10 @@ + + + + + + + + diff --git a/2069-yuexiu-registration-application/target/classes/com/yuexiu/secp/comm/config/spring.mybatis.cfg.xml b/2069-yuexiu-registration-application/target/classes/com/yuexiu/secp/comm/config/spring.mybatis.cfg.xml new file mode 100644 index 0000000..599e746 --- /dev/null +++ b/2069-yuexiu-registration-application/target/classes/com/yuexiu/secp/comm/config/spring.mybatis.cfg.xml @@ -0,0 +1,165 @@ + + + + + + + + + + + + classpath:application.properties + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + config.common + config.2069-siedemo-comm-application + + + + diff --git a/2069-yuexiu-registration-application/target/classes/com/yuexiu/secp/comm/infra/config/Swagger2Config.class b/2069-yuexiu-registration-application/target/classes/com/yuexiu/secp/comm/infra/config/Swagger2Config.class new file mode 100644 index 0000000..cdee7f5 Binary files /dev/null and b/2069-yuexiu-registration-application/target/classes/com/yuexiu/secp/comm/infra/config/Swagger2Config.class differ diff --git a/2069-yuexiu-registration-application/target/classes/config/2069-siedemo-comm-application.properties b/2069-yuexiu-registration-application/target/classes/config/2069-siedemo-comm-application.properties new file mode 100644 index 0000000..6d1fa3e --- /dev/null +++ b/2069-yuexiu-registration-application/target/classes/config/2069-siedemo-comm-application.properties @@ -0,0 +1,25 @@ +1011_common_004=您没有权限访问该服务 +1011_common_002=控制器代码执行异常 +1011_common_003=您重复操作了,请稍后再试 +1011_common_001=服务器内部错误,请联系系统管理员! +1011_common_999= +1011_common_112=手机格式不合法 +1011_common_113=邮箱格式不合法 +1011_common_110=操作成功 +1011_common_111=操作失败 +1011_common_127={0}成功 +1011_common_128={0}失败 +1011_common_125=参数不合法 +1011_common_126=登录已失效,请重新登录 +1011_common_118=你无权进行此操作 +1011_common_119=登录已失效,请重新登录 +1011_common_116=手机号已存在,请修改后重试! +1011_common_117=邮箱已存在,请修改后重试! +1011_common_114=参数params不允许为空 +1011_common_115=您所更新的数据不存在 +1011_common_123=服务繁忙,请稍后再试! +1011_common_124=请勿重复提交 +1011_common_121={0}失败 +1011_common_122=您的账号已在其他设备登录 +1011_common_120={0}成功 +1061_demo_102=测试编码不能为空 \ No newline at end of file diff --git a/2069-yuexiu-registration-application/target/classes/config/2069-siedemo-comm-application_en_US.properties b/2069-yuexiu-registration-application/target/classes/config/2069-siedemo-comm-application_en_US.properties new file mode 100644 index 0000000..1eb5b96 --- /dev/null +++ b/2069-yuexiu-registration-application/target/classes/config/2069-siedemo-comm-application_en_US.properties @@ -0,0 +1,26 @@ +#1011 +1011_common_004=You do not have permission to the service +1011_common_002=Controller source code execute have exception +1011_common_003=You have repeated the operation. Please try again later +1011_common_001=The Server inter error, please connect administrator +1011_common_999= +1011_common_112=Invalid phone format +1011_common_113=Invalid email format +1011_common_110=Successful operation +1011_common_111=operation failed +1011_common_127={0} success +1011_common_128={0} failed +1011_common_125=Illegal parameter +1011_common_126=Login has expired, please log in again +1011_common_118=You are not authorized to do this +1011_common_119=Login has expired, please log in again +1011_common_116=The phone number already exists, please modify it and try again! +1011_common_117=The mailbox already exists, please modify and try again +1011_common_114=The parameter params cannot be empty +1011_common_115=The data you updated does not exist +1011_common_123=Service busy, please try again later! +1011_common_124=Please do not submit repeatedly +1011_common_121={0} failed +1011_common_122=Your account has been logged on to another device +1011_common_120={0} success +1061_demo_102=Asset classification code cannot be empty diff --git a/2069-yuexiu-registration-application/target/classes/config/2069-siedemo-comm-application_zh_CN.properties b/2069-yuexiu-registration-application/target/classes/config/2069-siedemo-comm-application_zh_CN.properties new file mode 100644 index 0000000..1dbd7ec --- /dev/null +++ b/2069-yuexiu-registration-application/target/classes/config/2069-siedemo-comm-application_zh_CN.properties @@ -0,0 +1,27 @@ +#1011 +1011_common_004=您没有权限访问该服务 +1011_common_002=控制器代码执行异常 +1011_common_003=您重复操作了,请稍后再试 +1011_common_001=服务器内部错误,请联系系统管理员! +1011_common_999= +1011_common_112=手机格式不合法 +1011_common_113=邮箱格式不合法 +1011_common_110=操作成功 +1011_common_111=操作失败 +1011_common_127={0}成功 +1011_common_128={0}失败 +1011_common_125=参数不合法 +1011_common_126=登录已失效,请重新登录 +1011_common_118=你无权进行此操作 +1011_common_119=登录已失效,请重新登录 +1011_common_116=手机号已存在,请修改后重试! +1011_common_117=邮箱已存在,请修改后重试! +1011_common_114=参数params不允许为空 +1011_common_115=您所更新的数据不存在 +1011_common_123=服务繁忙,请稍后再试! +1011_common_124=请勿重复提交 +1011_common_121={0}失败 +1011_common_122=您的账号已在其他设备登录 +1011_common_120={0}成功 +1061_demo_102=测试编码不能为空 + diff --git a/pom.xml b/pom.xml new file mode 100644 index 0000000..c135864 --- /dev/null +++ b/pom.xml @@ -0,0 +1,282 @@ + + + 4.0.0 + + sie-irradiator-v1.0 + com.sie.irradiator + 2.0.3 + + com.yuexiu.secp + yuexiu-secp-v1.0 + 1.0.0 + + 1068-yexiu-read-model-mybatis + 2068-yexiu-read-application + 2069-yuexiu-registration-application + 2067-yuexiu-task-application + 1069-yuexiu-registration-model-mybatis + 1067-yuexiu-task-model-mybatis + 2067-yuexiu-task-api + 2068-yexiu-read-api + 2069-yuexiu-registration-api + + pom + + + 8 + 8 + + + + + com.sie.irradiator + 1011-sieiot-common-application + 2.1.8.26 + + + + spring-boot-starter-tomcat + org.springframework.boot + + + com.sie.irradiator + 1011-sieiot-common-model + + + com.sie.irradiator + 1011-sieiot-common-model-mybatis + + + + + + com.sie.irradiator + 1011-sieiot-common-model-mybatis + 2.3.3.31.1 + + + + com.sie.irradiator + 1011-sieiot-common-model + 2.3.3.31.1 + + + + com.sie.irradiator + 5005-sieiot-klock-component + 2.0.3 + + + com.sie.irradiator + 1011-sieiot-common-model + + + com.sie.irradiator + 1011-sieiot-common-model-mybatis + + + + + + + com.sie.irradiator + 5002-sieiot-eventual-consistency-component + 2.1.8.2 + + + com.sie.irradiator + 1011-sieiot-common-model + + + com.sie.irradiator + 1011-sieiot-common-model-mybatis + + + com.sie.irradiator + 5002-sieiot-eventual-consistency-model-hibernate + + + + + + com.sie.irradiator + 2021-sieiot-oauth-api + 2.2.8.29 + + + com.sie.irradiator + 1011-sieiot-common-model + + + com.sie.irradiator + 1011-sieiot-common-model-mybatis + + + + + + com.sie.irradiator + 4005-sieiot-dynamic-datasource-api + 1.0.4 + + + com.sie.irradiator + 1011-sieiot-common-model + + + com.sie.irradiator + 1011-sieiot-common-model-mybatis + + + + + + com.sie.irradiator + 3026-sieiot-filemanagement-api + 1.0.12 + + + + + + com.sie.irradiator + 5016-sieiot-helpcenter-component + 2.4.0 + + + com.sie.irradiator + 1011-sieiot-common-model + + + com.sie.irradiator + 1011-sieiot-common-model-mybatis + + + + + + + com.sie.irradiator + 2068-siedemo-other-api + 1.0 + + + com.sie.irradiator + 1011-sieiot-common-model + + + com.sie.irradiator + 1011-sieiot-common-model-mybatis + + + + + + com.sie.irradiator + 2069-siedemo-comm-api + 1.0 + + + com.sie.irradiator + 1003-sieiot-core + + + + + + com.sie.irradiator + 3026-sieiot-filemanagement-api + 1.0.5 + + + com.sie.irradiator + 1011-sieiot-common-model + + + com.sie.irradiator + 1011-sieiot-common-model-mybatis + + + + + + + + + myRepository + local private nexus + http://139.159.227.77:8083/nexus/repository/maven-public/ + + true + + + true + + + + + + nexus-releases + Nexus Release Repository + http://139.159.227.77:8081/nexus/content/repositories/thirdparty/ + + + nexus-snapshots + Nexus Snapshot Repository + http://139.159.227.77:8081/nexus/content/repositories/thirdparty/ + + + + + + org.apache.maven.plugins + maven-compiler-plugin + + 1.8 + 1.8 + ${project.build.sourceEncoding} + true + + + + + org.apache.maven.plugins + maven-surefire-plugin + ${maven-surefire-plugin.version} + + true + true + + + + + + src/main/resources + + **/*.xml + **/*.yml + **/*.properties + **/*.txt + **/*.factories + + true + + + + diff --git a/yuexiu-secp-v1.0.iml b/yuexiu-secp-v1.0.iml new file mode 100644 index 0000000..507107d --- /dev/null +++ b/yuexiu-secp-v1.0.iml @@ -0,0 +1,71 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file