提交 522fd75f 编写于 作者: minghao.wu's avatar minghao.wu

Merge branch 'release' into 'master'

Release

See merge request com.pica.cloud.clickhouse/pica-cloud-clickhouse!1
/target/
!.mvn/wrapper/maven-wrapper.jar
.apt_generated
.classpath
.factorypath
.project
.settings
.springBeans
.sts4-cache
.idea
*.iws
*.iml
*.ipr
/nbproject/private/
/build/
/nbbuild/
/dist/
/nbdist/
/.nb-gradle/
*.iml
out
gen
dao/src/main/resources/mybatis_generator.properties
target/
target/*
/client/target/
client/target/
client/target/*
/common/target/
common/target/
common/target/*
server/target/
server/target/*
dao/target/
dao/target/*
pom.xml.tag
pom.xml.releaseBackup
pom.xml.versionsBackup
pom.xml.next
release.properties
dependency-reduced-pom.xml
buildNumber.properties
.mvn/timing.properties
.DS_Store
/.idea/
*.iws
*.iml
*.ipr
*.bak
# IntelliJ
/out/
# mpeltonen/sbt-idea plugin
.idea_modules/
# JIRA plugin
atlassian-ide-plugin.xml
# Crashlytics plugin (for Android Studio and IntelliJ)
com_crashlytics_export_strings.xml
crashlytics.properties
crashlytics-build.properties
fabric.properties
LOG_PATH_IS_UNDEFINED/
/LOG_PATH_IS_UNDEFINED/
\ No newline at end of file
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<parent>
<groupId>com.pica.cloud.clickhouse</groupId>
<artifactId>pica-cloud-clickhouse</artifactId>
<version>1.0.0-SNAPSHOT</version>
</parent>
<groupId>com.pica.cloud.clickhouse</groupId>
<artifactId>pica-cloud-clickhouse-client</artifactId>
<name>pica-cloud-clickhouse-client</name>
<version>1.0.0-SNAPSHOT</version>
<packaging>jar</packaging>
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<maven.compiler.source>1.8</maven.compiler.source>
<maven.compiler.target>1.8</maven.compiler.target>
<java.version>1.8</java.version>
<spring-cloud.version>Edgware.SR4</spring-cloud.version>
<spring-boot.version>1.4.5.RELEASE</spring-boot.version>
</properties>
<dependencies>
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-feign</artifactId>
<version>1.4.5.RELEASE</version>
</dependency>
<dependency>
<groupId>com.pica.cloud.clickhouse</groupId>
<artifactId>pica-cloud-clickhouse-common</artifactId>
<version>1.0.0-SNAPSHOT</version>
</dependency>
</dependencies>
<!--<dependencyManagement>-->
<!--<dependencies>-->
<!--<dependency>-->
<!--<groupId>org.springframework.cloud</groupId>-->
<!--<artifactId>spring-cloud-dependencies</artifactId>-->
<!--<version>${spring-cloud.version}</version>-->
<!--<type>pom</type>-->
<!--<scope>import</scope>-->
<!--</dependency>-->
<!--<dependency>-->
<!--<groupId>org.springframework.boot</groupId>-->
<!--<artifactId>spring-boot-starter-parent</artifactId>-->
<!--<version>${spring-boot.version}</version>-->
<!--<type>pom</type>-->
<!--<scope>import</scope>-->
<!--</dependency>-->
<!--</dependencies>-->
<!--</dependencyManagement>-->
<distributionManagement>
<repository>
<id>nexus</id>
<name>Pica 3rdParty Repository</name>
<url>http://192.168.110.42:8082/repository/pica-3rdParty/</url>
</repository>
</distributionManagement>
<build>
<finalName>pica-cloud-clickhouse-client</finalName>
</build>
</project>
package com.pica.cloud.clickhouse.clickhouse.client;
public class App
{
public static void main( String[] args )
{
}
}
package com.pica.cloud.clickhouse.clickhouse.client.service;
import com.pica.cloud.foundation.entity.PicaResponse;
import io.swagger.annotations.ApiOperation;
import org.springframework.cloud.netflix.feign.FeignClient;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.RequestParam;
@FeignClient(value = "13301-pica-cloud-clickhouse")
public interface CrashControllerFeignService {
@RequestMapping(value = "/clickhouse/crash/cartoon", method = RequestMethod.GET)
PicaResponse getCartoon();
@RequestMapping(value = "/clickhouse/crash/init", method = RequestMethod.GET)
public PicaResponse init(@RequestParam(name = "begin", required = true) String begin, @RequestParam(name = "end", required = true) String end);
@ApiOperation(value = "页面查看次数", response = PicaResponse.class)
@RequestMapping(value = "/clickhouse/crash/countOnPage", method = RequestMethod.GET)
public PicaResponse countOnPage(@RequestParam(name = "begin", required = true) String begin, @RequestParam(name = "end", required = true) String end);
@ApiOperation(value = "音频播放次数", response = PicaResponse.class)
@RequestMapping(value = "/clickhouse/crash/countMusic", method = RequestMethod.GET)
public PicaResponse countMusic(@RequestParam(name = "begin", required = true) String begin, @RequestParam(name = "end", required = true) String end);
}
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<parent>
<groupId>com.pica.cloud.clickhouse</groupId>
<artifactId>pica-cloud-clickhouse</artifactId>
<version>1.0.0-SNAPSHOT</version>
</parent>
<groupId>com.pica.cloud.clickhouse</groupId>
<artifactId>pica-cloud-clickhouse-common</artifactId>
<name>pica-cloud-clickhouse-common</name>
<version>1.0.0-SNAPSHOT</version>
<packaging>jar</packaging>
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<maven.compiler.source>1.8</maven.compiler.source>
<maven.compiler.target>1.8</maven.compiler.target>
<java.version>1.8</java.version>
</properties>
<dependencies>
<dependency>
<groupId>io.springfox</groupId>
<artifactId>springfox-swagger2</artifactId>
<version>2.8.0</version>
</dependency>
<dependency>
<groupId>io.springfox</groupId>
<artifactId>springfox-swagger-ui</artifactId>
<version>2.8.0</version>
</dependency>
<dependency>
<groupId>com.pica.cloud.foundation</groupId>
<artifactId>pica-cloud-utils</artifactId>
<version>2.0.1-SNAPSHOT</version>
</dependency>
</dependencies>
<distributionManagement>
<repository>
<id>nexus</id>
<name>Pica 3rdParty Repository</name>
<url>http://192.168.110.42:8082/repository/pica-3rdParty/</url>
</repository>
<snapshotRepository>
<id>snapshots</id>
<name>Nexus Snapshots Repository</name>
<uniqueVersion>false</uniqueVersion>
<layout>legacy</layout>
<url>http://192.168.110.42:8082/repository/maven-snapshots/</url>
</snapshotRepository>
</distributionManagement>
<build>
<finalName>pica-cloud-clickhouse-common</finalName>
</build>
</project>
package com.pica.cloud.clickhouse.clickhouse.common;
public class App
{
public static void main( String[] args )
{
}
}
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>com.pica.cloud.clickhouse</groupId>
<artifactId>pica-cloud-clickhouse</artifactId>
<version>1.0.0-SNAPSHOT</version>
<packaging>pom</packaging>
<name>pica-cloud-clickhouse</name>
<modules>
<module>server</module>
<module>common</module>
<module>client</module>
</modules>
<distributionManagement>
<repository>
<id>nexus</id>
<name>Pica 3rdParty Repository</name>
<url>http://192.168.110.42:8082/repository/pica-3rdParty/</url>
</repository>
<snapshotRepository>
<id>snapshots</id>
<name>Nexus Snapshots Repository</name>
<uniqueVersion>false</uniqueVersion>
<layout>legacy</layout>
<url>http://192.168.110.42:8082/repository/maven-snapshots/</url>
</snapshotRepository>
</distributionManagement>
</project>
\ No newline at end of file
此差异已折叠。
package com.pica.cloud.clickhouse.clickhouse.server;
import org.mybatis.spring.annotation.MapperScan;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.cloud.client.circuitbreaker.EnableCircuitBreaker;
import org.springframework.cloud.client.discovery.EnableDiscoveryClient;
import org.springframework.cloud.netflix.feign.EnableFeignClients;
import springfox.documentation.swagger2.annotations.EnableSwagger2;
@EnableCircuitBreaker
@SpringBootApplication(scanBasePackages = "com.pica.cloud")
@EnableFeignClients(basePackages = "com.pica.cloud")
@EnableDiscoveryClient
@EnableSwagger2
@MapperScan("com.pica.cloud.clickhouse.clickhouse.server.mapper")
public class App {
public static void main( String[] args )
{
SpringApplication.run(App.class, args);
}
}
package com.pica.cloud.clickhouse.clickhouse.server.controller;
import com.alibaba.fastjson.JSONObject;
import com.pica.cloud.foundation.clickhouse.service.ClickHouseService;
import com.pica.cloud.foundation.clickhouse.service.config.TableEnum;
import com.pica.cloud.foundation.entity.PicaResponse;
import com.pica.cloud.foundation.entity.PicaResultCode;
import com.pica.cloud.foundation.utils.controller.BaseController;
import com.pica.cloud.foundation.utils.utils.StringUtil;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
@RestController
@RequestMapping("/crash")
@Api(value = "打点数据 ")
public class CrashController extends BaseController {
@Autowired
private ClickHouseService clickHouseService;
@ApiOperation(value = "", response = PicaResponse.class)
@RequestMapping(value = "/cartoon",method = RequestMethod.GET)
public PicaResponse getCartoon(){
//String sql ="SELECT count(1), subString(web_data,1,16) FROM trace_app where web_data_type='1' and extra_info='com.picahealth.patient' and web_data like 'eduComId=%' group by subString(web_data,1,16)";
List<com.alibaba.fastjson.JSONObject> res = clickHouseService.queryPatientOpens();
return PicaResponse.toResponse(res);
}
@ApiOperation(value = "init data", response = PicaResponse.class)
@RequestMapping(value = "/init",method = RequestMethod.GET)
public PicaResponse init(@RequestParam(name = "begin", required = true) String begin,@RequestParam(name = "end", required = true) String end){
PicaResponse.Builder builder = new PicaResponse.Builder();
if(StringUtil.isEmpty(begin) || StringUtil.isEmpty(end)){
return builder.setData(null).setCode(PicaResultCode.PARAM_IS_BLANK.code()).setMessage(PicaResultCode.PARAM_IS_BLANK.message()).build();
}
if( StringUtil.isNotNull(begin) && StringUtil.isNotNull(end) ){
if( begin.length()!=10 || ( !begin.contains("-")) || end.length()!=10 || ( !end.contains("-")) ){
return builder.setData(null).setCode(PicaResultCode.PARAM_IS_INVALID.code()).setMessage(PicaResultCode.PARAM_IS_INVALID.message()+",please use like '2019-05-03' ").build();
}
}
String sql ="select distinct web_data,doctor_id,view_path,class_name,pseudo_session,action,created from trace_app where action='ACTION_WEB_ENTER' and class_name like '%healthNotice%' and web_data like '%eduComId%' " ;
sql = sql + " and created_day >= '";
sql = sql + begin ;
sql = sql + "' and created_day <= '";
sql = sql + end ;
sql = sql + "' order by created desc ";
List<com.alibaba.fastjson.JSONObject> res = clickHouseService.query(sql, TableEnum.traceappp);
String sql2 ="select distinct web_data ,doctor_id,view_path,class_name,pseudo_session,action,created from trace_app where action='ACTION_WEB_ENTER' and class_name like '%messageTemp%' " ;
sql2 = sql2 + " and created_day >= '";
sql2 = sql2 + begin ;
sql2 = sql2 + "' and created_day <= '";
sql2 = sql2 + end ;
sql2 = sql2 + "' order by created desc ";
List<com.alibaba.fastjson.JSONObject> res2 = clickHouseService.query(sql2, TableEnum.traceappp);
Map<String,List> map = new HashMap<String,List>();
map.put("healthNotice",res);
map.put("messageTemp",res2);
return builder.setData(map).build();
}
@ApiOperation(value = "页面查看次数", response = PicaResponse.class)
@RequestMapping(value = "/countOnPage",method = RequestMethod.GET)
public PicaResponse countOnPage(@RequestParam(name = "begin", required = true) String begin,@RequestParam(name = "end", required = true) String end){
PicaResponse.Builder builder = new PicaResponse.Builder();
if(StringUtil.isEmpty(begin) || StringUtil.isEmpty(end)){
return builder.setData(null).setCode(PicaResultCode.PARAM_IS_BLANK.code()).setMessage(PicaResultCode.PARAM_IS_BLANK.message()).build();
}
if( StringUtil.isNotNull(begin) && StringUtil.isNotNull(end) ){
if( begin.length()!=10 || ( !begin.contains("-")) || end.length()!=10 || ( !end.contains("-")) ){
return builder.setData(null).setCode(PicaResultCode.PARAM_IS_INVALID.code()).setMessage(PicaResultCode.PARAM_IS_INVALID.message()+",please use like '2019-05-03' ").build();
}
}
String sql ="select distinct web_data from trace_app where action='ACTION_WEB_ENTER' and class_name like '%healthNotice%' and web_data like '%eduComId%' " ;
sql = sql + " and created_day >= '";
sql = sql + begin ;
sql = sql + "' and created_day <= '";
sql = sql + end ;
sql = sql + "' order by created desc ";
List<com.alibaba.fastjson.JSONObject> res = clickHouseService.query(sql, TableEnum.traceappp);
String sql2 ="select distinct web_data from trace_app where action='ACTION_WEB_ENTER' and class_name like '%messageTemp%' " ;
sql2 = sql2 + " and created_day >= '";
sql2 = sql2 + begin ;
sql2 = sql2 + "' and created_day <= '";
sql2 = sql2 + end ;
sql2 = sql2 + "' order by created desc ";
List<com.alibaba.fastjson.JSONObject> res2 = clickHouseService.query(sql2, TableEnum.traceappp);
Map<String,List> map = new HashMap<String,List>();
map.put("healthNotice",res);
map.put("messageTemp",res2);
return builder.setData(map).build();
}
@ApiOperation(value = "音频播放次数", response = PicaResponse.class)
@RequestMapping(value = "/countMusic",method = RequestMethod.GET)
public PicaResponse countMusic(@RequestParam(name = "begin", required = true) String begin,@RequestParam(name = "end", required = true) String end){
PicaResponse.Builder builder = new PicaResponse.Builder();
if(StringUtil.isEmpty(begin) || StringUtil.isEmpty(end)){
return builder.setData(null).setCode(PicaResultCode.PARAM_IS_BLANK.code()).setMessage(PicaResultCode.PARAM_IS_BLANK.message()).build();
}
if( StringUtil.isNotNull(begin) && StringUtil.isNotNull(end) ){
if( begin.length()!=10 || ( !begin.contains("-")) || end.length()!=10 || ( !end.contains("-")) ){
return builder.setData(null).setCode(PicaResultCode.PARAM_IS_INVALID.code()).setMessage(PicaResultCode.PARAM_IS_INVALID.message()+",please use like '2019-05-03' ").build();
}
}
String sql ="select distinct web_data from trace_app where class_name like '%healthNotice%' and web_data like '%eduComId%' " ;
sql = sql + " and created_day >= '";
sql = sql + begin ;
sql = sql + "' and created_day <= '";
sql = sql + end ;
sql = sql + "' order by created desc ";
List<com.alibaba.fastjson.JSONObject> list = clickHouseService.query(sql, TableEnum.traceappp);
List<com.alibaba.fastjson.JSONObject> res = new ArrayList<>();
List<com.alibaba.fastjson.JSONObject> extra = new ArrayList<>();
for (JSONObject jsonObject:
list) {
String webData = jsonObject.get("web_data")==null ? "" : jsonObject.get("web_data").toString() ;
if(StringUtil.isNotNull(webData)){
String[] vlues = webData.split(";");
int cnt = 0 ;
for (String v: vlues) {
String[] vs = v.split("=" );
if(vs.length>1){
if(vs[0].equals("audioId") && ( !("0".equals(vs[1]) || "".equals(vs[1] ) ) ) ){
cnt = cnt + 1;
}
if(vs[0].equals("audioStatus") && ( "1".equals(vs[1]) ) ){
cnt = cnt + 1;
}
}
}
if ( cnt == 2 ){
res.add(jsonObject);
}
}
}
return builder.setData(res).build();
}
public static void main(String[] args){
String value ="eduComId=1;doctorId=101322314;pathParam=doctorId=101322314&patientId=&smsId=710947&eduComId=1&batchNo=10-0dd80ebfd3ca41f5b1abba398b2348ff&templetType=healthNotice&type=3&audioId=10370&code=011w6XGe2WYT6I0yqgJe2vcfHe2w6XGV&state=;templetType=healthNotice;smsEntityId=710947;batchNo=10-0dd80ebfd3ca41f5b1abba398b2348ff;audioId=1;type=3;audioStatus=null;";
String[] vlues = value.split(";");
for (String v: vlues) {
String[] vs = v.split("=" );
if(vs.length>1){
if(vs[0].equals("audioId") && ( "0".equals(vs[1]) || "".equals(vs[1])) ){
//去掉
System.out.println("2去掉audioId");
}
if(vs[0].equals("audioStatus") && ( !"1".equals(vs[1]) ) ){
//去掉
System.out.println("2去掉audioStatus");
}
}
if (vs.length==1){
if(vs[0].equals("audioId") ){
//去掉
System.out.println("1去掉audioId ");
}
if(vs[0].equals("audioStatus") ){
//去掉
System.out.println("1去掉audioStatus");
}
}
}
}
}
package com.pica.cloud.clickhouse.clickhouse.server.controller;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date;
import java.util.GregorianCalendar;
import java.util.HashMap;
import java.util.Map;
import java.util.regex.Pattern;
/**
* 类说明:身份证合法性校验
* 18位身份证号码:第7、8、9、10位为出生年份(四位数),第11、第12位为出生月份,第13、14位代表出生日期,第17位代表性别,奇数为男,偶数为女。
*/
public class IdcardValidatorUtil {
// 每位加权因子
private static int power[] = { 7, 9, 10, 5, 8, 4, 2, 1, 6, 3, 7, 9, 10, 5, 8, 4, 2 };
// 第18位校检码
private String verifyCode[] = { "1", "0", "X", "9", "8", "7", "6", "5",
"4", "3", "2" };
/**
* 验证所有的身份证的合法性
*
* @param idcard
* @return
*/
public static boolean isValidatedAllIdcard(String idcard) {
if (idcard.length() == 15) {
idcard = convertIdcarBy15bit(idcard);
}
return isValidate18Idcard(idcard);
}
/**
* 将15位的身份证转成18位身份证
*
* @param idcard
* @return
*/
public static String convertIdcarBy15bit(String idcard) {
String idcard17 = null;
// 非15位身份证
if (idcard.length() != 15) {
return null;
}
if (isDigital(idcard)) {
// 获取出生年月日
String birthday = idcard.substring(6, 12);
Date birthdate = null;
try {
birthdate = new SimpleDateFormat("yyMMdd").parse(birthday);
} catch (ParseException e) {
e.printStackTrace();
}
Calendar cday = Calendar.getInstance();
cday.setTime(birthdate);
String year = String.valueOf(cday.get(Calendar.YEAR));
idcard17 = idcard.substring(0, 6) + year + idcard.substring(8);
char c[] = idcard17.toCharArray();
String checkCode = "";
if (null != c) {
int bit[] = new int[idcard17.length()];
// 将字符数组转为整型数组
bit = converCharToInt(c);
int sum17 = 0;
sum17 = getPowerSum(bit);
// 获取和值与11取模得到余数进行校验码
checkCode = getCheckCodeBySum(sum17);
// 获取不到校验位
if (null == checkCode) {
return null;
}
// 将前17位与第18位校验码拼接
idcard17 += checkCode;
}
} else { // 身份证包含数字
return null;
}
return idcard17;
}
/**
* @param idcard
* @return
*/
public static boolean isValidate18Idcard(String idcard) {
// 非18位为假
if (idcard.length() != 18) {
return false;
}
// 获取前17位
String idcard17 = idcard.substring(0, 17);
// 获取第18位
String idcard18Code = idcard.substring(17, 18);
char c[] = null;
String checkCode = "";
// 是否都为数字
if (isDigital(idcard17)) {
c = idcard17.toCharArray();
} else {
return false;
}
if (null != c) {
int bit[] = new int[idcard17.length()];
bit = converCharToInt(c);
int sum17 = 0;
sum17 = getPowerSum(bit);
// 将和值与11取模得到余数进行校验码判断
checkCode = getCheckCodeBySum(sum17);
if (null == checkCode) {
return false;
}
// 将身份证的第18位与算出来的校码进行匹配,不相等就为假
if (!idcard18Code.equalsIgnoreCase(checkCode)) {
return false;
}
}
return true;
}
/**
* 18位身份证号码的基本数字和位数验校
*
* @param idcard
* @return
*/
public boolean is18Idcard(String idcard) {
return Pattern.matches("^[1-9]\\d{5}[1-9]\\d{3}((0\\d)|(1[0-2]))(([0|1|2]\\d)|3[0-1])\\d{3}([\\d|x|X]{1})$", idcard);
}
/**
* 数字验证
*
* @param str
* @return
*/
public static boolean isDigital(String str) {
return str == null || "".equals(str) ? false : str.matches("^[0-9]*$");
}
/**
* 将身份证的每位和对应位的加权因子相乘之后,再得到和值
*
* @param bit
* @return
*/
public static int getPowerSum(int[] bit) {
int sum = 0;
if (power.length != bit.length) {
return sum;
}
for (int i = 0; i < bit.length; i++) {
for (int j = 0; j < power.length; j++) {
if (i == j) {
sum = sum + bit[i] * power[j];
}
}
}
return sum;
}
/**
* 将和值与11取模得到余数进行校验码判断
* @param sum17
* @return 校验位
*/
public static String getCheckCodeBySum(int sum17) {
String checkCode = null;
switch (sum17 % 11) {
case 10:
checkCode = "2";
break;
case 9:
checkCode = "3";
break;
case 8:
checkCode = "4";
break;
case 7:
checkCode = "5";
break;
case 6:
checkCode = "6";
break;
case 5:
checkCode = "7";
break;
case 4:
checkCode = "8";
break;
case 3:
checkCode = "9";
break;
case 2:
checkCode = "x";
break;
case 1:
checkCode = "0";
break;
case 0:
checkCode = "1";
break;
}
return checkCode;
}
/**
* 将字符数组转为整型数组
*
* @param c
* @return
* @throws NumberFormatException
*/
public static int[] converCharToInt(char[] c) throws NumberFormatException {
int[] a = new int[c.length];
int k = 0;
for (char temp : c) {
a[k++] = Integer.parseInt(String.valueOf(temp));
}
return a;
}
public static void main(String[] args){
String idcard = "152322731107074";//15位
// String idcard = "430423201105253934";//18位
// String idcard = "362227198510031212";//18位
if (IdcardValidatorUtil.isValidatedAllIdcard(idcard)) {
System.out.println(("TAG" + "身份证校验正确!"));
} else {
System.out.println(("TAG" + "身份证校验错误!"));
}
}
}
server.port=13301
spring.application.name=${server.port}-pica-cloud-clickhouse
#config server settings
spring.cloud.config.name=com.pica.cloud.clickhouse
spring.cloud.config.profile=dev
spring.cloud.config.label=publish
spring.cloud.config.discovery.enabled=true
spring.cloud.config.discovery.service-id=config-server
#eureka settings
eureka.instance.instance-id=${spring.cloud.client.ipAddress}:${server.port}
eureka.client.service-url.defaultZone=http://192.168.110.120:7891/eureka/,http://192.168.110.121:7891/eureka/
eureka.instance.status-page-url=http://${spring.cloud.client.ipAddress}:${server.port}/swagger-ui.html
eureka.instance.lease-renewal-interval-in-seconds=10
eureka.instance.lease-expiration-duration-in-seconds=10
eureka.instance.hostname=${spring.cloud.client.ipAddress}
eureka.instance.prefer-ip-address=true
#rabbitmq settings
spring.rabbitmq.host=192.168.110.206
spring.rabbitmq.port=5672
spring.rabbitmq.username=appuser
spring.rabbitmq.password=AqLfvyWOvLQEUzdI
#local settings
#feign.hystrix.enabled=true
management.security.enabled=false
spring.zipkin.base-url=http://192.168.110.124:7895
spring.sleuth.sampler.percentage=1.0
logging.config=classpath:log4j2-dev.xml
management.security.enabled=false
management.endpoints.web.exposure.include=*
management.endpoints.jmx.exposure.include=*
server.port=13301
spring.application.name=${server.port}-pica-cloud-clickhouse
#config server settings
spring.cloud.config.name=com.pica.cloud.clickhouse
spring.cloud.config.profile=prod
spring.cloud.config.label=publish
spring.cloud.config.discovery.enabled=true
spring.cloud.config.discovery.service-id=prd-config-server
#eureka settings
eureka.instance.instance-id=${spring.cloud.client.ipAddress}:${server.port}
eureka.client.service-url.defaultZone=http://pica-ms-prd:~!QAZ2wsx3331805prd@172.19.137.14:7891/eureka,http://pica-ms-prd:~!QAZ2wsx3331805prd@172.19.137.15:7891/eureka,http://pica-ms-prd:~!QAZ2wsx3331805prd@172.19.137.16:7891/eureka
eureka.instance.status-page-url=http://${spring.cloud.client.ipAddress}:${server.port}/swagger-ui.html
eureka.instance.lease-renewal-interval-in-seconds=10
eureka.instance.lease-expiration-duration-in-seconds=10
eureka.instance.hostname=${spring.cloud.client.ipAddress}
eureka.instance.prefer-ip-address=true
#rabbitmq settings
spring.rabbitmq.host=172.19.137.0
spring.rabbitmq.port=5672
spring.rabbitmq.username=appuser
spring.rabbitmq.password=AqLfvyWOvLQEUzdI
#local setting
#feign.hystrix.enabled=true
management.security.enabled=true
spring.zipkin.base-url=http://172.19.137.19:7895
spring.sleuth.sampler.percentage=1.0
logging.config=classpath:log4j2-prod.xml
\ No newline at end of file
server.port=13301
spring.application.name=${server.port}-pica-cloud-clickhouse
#config server settings
spring.cloud.config.name=com.pica.cloud.clickhouse
spring.cloud.config.profile=test1
spring.cloud.config.label=publish
spring.cloud.config.discovery.enabled=true
spring.cloud.config.discovery.service-id=config-server
#eureka settings
eureka.instance.instance-id=${spring.cloud.client.ipAddress}:${server.port}
eureka.client.service-url.defaultZone=http://192.168.110.128:7891/eureka,http://192.168.110.129:7891/eureka
eureka.instance.status-page-url=http://${spring.cloud.client.ipAddress}:${server.port}/swagger-ui.html
eureka.instance.lease-renewal-interval-in-seconds=10
eureka.instance.lease-expiration-duration-in-seconds=10
eureka.instance.hostname=${spring.cloud.client.ipAddress}
eureka.instance.prefer-ip-address=true
#rabbigmq settings
spring.rabbitmq.host=192.168.110.206
spring.rabbitmq.port=5672
spring.rabbitmq.username=appuser
spring.rabbitmq.password=AqLfvyWOvLQEUzdI
#local settings
#feign.hystrix.enabled=true
management.security.enabled=false
spring.zipkin.base-url=http://192.168.110.133:7895
spring.sleuth.sampler.percentage=1.0
logging.config=classpath:log4j2-test1.xml
\ No newline at end of file
server.port=13301
spring.application.name=${server.port}-pica-cloud-clickhouse
#config server settings
spring.cloud.config.name=com.pica.cloud.clickhouse
spring.cloud.config.profile=test2
spring.cloud.config.label=publish
spring.cloud.config.discovery.enabled=true
spring.cloud.config.discovery.service-id=config-server
#eureka settings
eureka.instance.instance-id=${spring.cloud.client.ipAddress}:${server.port}
eureka.client.service-url.defaultZone=http://192.168.110.128:7891/eureka,http://192.168.110.129:7891/eureka
eureka.instance.status-page-url=http://${spring.cloud.client.ipAddress}:${server.port}/swagger-ui.html
eureka.instance.lease-renewal-interval-in-seconds=10
eureka.instance.lease-expiration-duration-in-seconds=10
eureka.instance.hostname=${spring.cloud.client.ipAddress}
eureka.instance.prefer-ip-address=true
#rabbigmq settings
spring.rabbitmq.host=192.168.110.206
spring.rabbitmq.port=5672
spring.rabbitmq.username=appuser
spring.rabbitmq.password=AqLfvyWOvLQEUzdI
#local settings
#feign.hystrix.enabled=true
management.security.enabled=false
spring.zipkin.base-url=http://192.168.110.133:7895
spring.sleuth.sampler.percentage=1.0
logging.config=classpath:log4j2-test1.xml
\ No newline at end of file
server.port=13301
spring.application.name=${server.port}-pica-cloud-clickhouse
#config server settings
spring.cloud.config.name=com.pica.cloud.clickhouse
spring.cloud.config.profile=uat
spring.cloud.config.label=publish
spring.cloud.config.discovery.enabled=true
spring.cloud.config.discovery.service-id=config-server
#eureka settings
eureka.instance.instance-id=${spring.cloud.client.ipAddress}:${server.port}
eureka.client.service-url.defaultZone=http://pica-ms:~!QAZ2wsx3331805@192.168.110.137:7891/eureka,http://pica-ms:~!QAZ2wsx3331805@192.168.110.138:7891/eureka
eureka.instance.status-page-url=http://${spring.cloud.client.ipAddress}:${server.port}/swagger-ui.html
eureka.instance.lease-renewal-interval-in-seconds=10
eureka.instance.lease-expiration-duration-in-seconds=10
eureka.instance.hostname=${spring.cloud.client.ipAddress}
eureka.instance.prefer-ip-address=true
#rabbigmq settings
spring.rabbitmq.host=192.168.110.174
spring.rabbitmq.port=5672
spring.rabbitmq.username=picacloud
spring.rabbitmq.password=123456
#local settings
#feign.hystrix.enabled=true
management.security.enabled=false
spring.zipkin.base-url=http://192.168.110.141:7895
spring.sleuth.sampler.percentage=1.0
logging.config=classpath:log4j2-uat.xml
\ No newline at end of file
spring.profiles.active=test1
server.context-path=/clickhouse
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE generatorConfiguration
PUBLIC "-//mybatis.org//DTD MyBatis Generator Configuration 1.0//EN"
"http://mybatis.org/dtd/mybatis-generator-config_1_0.dtd">
<generatorConfiguration>
<!-- 数据库驱动:选择你的本地硬盘上面的数据库驱动包-->
<classPathEntry location="D:/maven/repository/mysql/mysql-connector-java/5.1.39/mysql-connector-java-5.1.39.jar"/>
<context id="tableEntity" targetRuntime="MyBatis3">
<commentGenerator>
<property name="suppressDate" value="true"/>
<!-- 是否去除自动生成的注释 true:是 : false:否 -->
<property name="suppressAllComments" value="true"/>
<property name="addRemarkComments" value="true"/>
<property name="dateFormat" value="false"/>
<property name="suppressDate" value="false"/>
</commentGenerator>
<!--数据库链接URL,用户名、密码 -->
<jdbcConnection driverClass="com.mysql.jdbc.Driver"
connectionURL="jdbc:mysql://192.168.110.60:3306/pica"
userId="pica_test" password="pkv#sqvSGn@O1@tg">
</jdbcConnection>
<javaTypeResolver>
<property name="forceBigDecimals" value="false"/>
</javaTypeResolver>
<!-- 生成模型的包名和位置-->
<javaModelGenerator targetPackage="com.pica.cloud.clickhouse.clickhouse.server.entity" targetProject="src/main/java">
<property name="enableSubPackages" value="true"/>
<property name="trimStrings" value="true"/>
</javaModelGenerator>
<!-- 生成映射文件的包名和位置-->
<sqlMapGenerator targetPackage="mybatis" targetProject="src/main/resources">
<property name="enableSubPackages" value="true"/>
</sqlMapGenerator>
<!-- 生成DAO的包名和位置-->
<javaClientGenerator type="XMLMAPPER" targetPackage="com.pica.cloud.clickhouse.clickhouse.server.mapper" targetProject="src/main/java">
<property name="enableSubPackages" value="true"/>
</javaClientGenerator>
<table tableName="pica.p_hospital" domainObjectName="Hospital" enableCountByExample="false" enableUpdateByExample="false" enableDeleteByExample="false" enableSelectByExample="false" selectByExampleQueryId="false"></table>
</context>
</generatorConfiguration>
package com.pica.cloud.clickhouse;
import static org.junit.Assert.assertTrue;
import org.junit.Test;
/**
* Unit test for simple App.
*/
public class AppTest
{
/**
* Rigorous Test :-)
*/
@Test
public void shouldAnswerWithTrue()
{
assertTrue( true );
}
}
Markdown 格式
0% or
您添加了 0 到此讨论。请谨慎行事。
先完成此消息的编辑!
想要评论请 注册