commit 9a689bf07b51f9ad9210d37131bd56a53797a8ad
Author: zy_Java <654600784@qq.com>
Date: Tue Jan 11 10:58:52 2022 +0800
20220111新建项目
diff --git a/.gitignore b/.gitignore
new file mode 100644
index 0000000..073a042
--- /dev/null
+++ b/.gitignore
@@ -0,0 +1,43 @@
+# Created by .ignore support plugin (hsz.mobi)
+### Example user template template
+### Example user template
+target
+target/
+target/*
+# IntelliJ project files
+.idea
+.idea/
+.idea/*
+*.iml
+.mvn
+.mvn/
+.mvn/*
+out
+gen
+### Java template
+# Compiled class file
+*.class
+
+# Log file
+*.log
+
+# BlueJ files
+*.ctxt
+
+# Mobile Tools for Java (J2ME)
+.mtj.tmp/
+
+# Package Files #
+*.jar
+*.war
+*.nar
+*.ear
+*.zip
+*.tar.gz
+*.rar
+
+# virtual machine crash logs, see http://www.java.com/en/download/help/error_hotspot.xml
+hs_err_pid*
+mbg.xml
+resources/mbg.xml
+resources/application.yml
diff --git a/cloudutil/pom.xml b/cloudutil/pom.xml
new file mode 100644
index 0000000..1694667
--- /dev/null
+++ b/cloudutil/pom.xml
@@ -0,0 +1,54 @@
+
+
+
+ ccsens_dh
+ com.ccsens
+ 1.0-SNAPSHOT
+
+ 4.0.0
+
+ cloudutil
+
+
+
+
+
+ util
+ com.ccsens
+ 1.0-SNAPSHOT
+
+
+
+ org.springframework.cloud
+ spring-cloud-starter-netflix-eureka-client
+
+
+
+ org.springframework.cloud
+ spring-cloud-starter-openfeign
+
+
+
+ org.springframework.cloud
+ spring-cloud-starter-netflix-hystrix
+
+
+
+ org.springframework.cloud
+ spring-cloud-starter-sleuth
+
+
+
+ org.springframework.cloud
+ spring-cloud-sleuth-zipkin
+
+
+ com.alibaba
+ fastjson
+ 1.2.62
+
+
+
+
\ No newline at end of file
diff --git a/cloudutil/src/main/java/com/ccsens/cloudutil/annotation/CacheMd5.java b/cloudutil/src/main/java/com/ccsens/cloudutil/annotation/CacheMd5.java
new file mode 100644
index 0000000..db1905c
--- /dev/null
+++ b/cloudutil/src/main/java/com/ccsens/cloudutil/annotation/CacheMd5.java
@@ -0,0 +1,13 @@
+package com.ccsens.cloudutil.annotation;
+
+import java.lang.annotation.*;
+
+
+/**
+ * @author 逗
+ */
+@Documented
+@Retention(RetentionPolicy.RUNTIME)
+@Target(ElementType.METHOD)
+public @interface CacheMd5 {
+}
diff --git a/cloudutil/src/main/java/com/ccsens/cloudutil/annotation/Login.java b/cloudutil/src/main/java/com/ccsens/cloudutil/annotation/Login.java
new file mode 100644
index 0000000..41f2813
--- /dev/null
+++ b/cloudutil/src/main/java/com/ccsens/cloudutil/annotation/Login.java
@@ -0,0 +1,14 @@
+package com.ccsens.cloudutil.annotation;
+
+import java.lang.annotation.*;
+
+/**
+ * 有token,则根据token获取userId, 无则不获取
+ * @author: wuHuiJuan
+ * @create: 2019/12/26 16:39
+ */
+@Documented
+@Retention(RetentionPolicy.RUNTIME)
+@Target(ElementType.METHOD)
+public @interface Login {
+}
diff --git a/cloudutil/src/main/java/com/ccsens/cloudutil/annotation/MustLogin.java b/cloudutil/src/main/java/com/ccsens/cloudutil/annotation/MustLogin.java
new file mode 100644
index 0000000..00bb399
--- /dev/null
+++ b/cloudutil/src/main/java/com/ccsens/cloudutil/annotation/MustLogin.java
@@ -0,0 +1,24 @@
+package com.ccsens.cloudutil.annotation;
+
+import java.lang.annotation.*;
+
+/**
+ * @description: 用于标识方法需要登录,获取userId
+ * 如果未登录,直接返回用户未登录
+ * @author: wuHuiJuan
+ * @create: 2019/12/09 09:48
+ */
+@Documented
+@Retention(RetentionPolicy.RUNTIME)
+@Target(ElementType.METHOD)
+public @interface MustLogin {
+ /**
+ * -1 不处理
+ * 0: 数组
+ * 1:List
+ * 2:Set
+ * 3: Map
+ * */
+ byte type() default -1;
+
+}
diff --git a/cloudutil/src/main/java/com/ccsens/cloudutil/aspect/CacheMd5Aspect.java b/cloudutil/src/main/java/com/ccsens/cloudutil/aspect/CacheMd5Aspect.java
new file mode 100644
index 0000000..7daf555
--- /dev/null
+++ b/cloudutil/src/main/java/com/ccsens/cloudutil/aspect/CacheMd5Aspect.java
@@ -0,0 +1,96 @@
+package com.ccsens.cloudutil.aspect;
+
+import com.alibaba.fastjson.JSONObject;
+import com.ccsens.util.JsonResponse;
+import com.ccsens.util.Md5Util;
+import com.ccsens.util.WebConstant;
+import lombok.extern.slf4j.Slf4j;
+import org.aspectj.lang.ProceedingJoinPoint;
+import org.aspectj.lang.annotation.*;
+import org.springframework.stereotype.Component;
+import org.springframework.web.context.request.RequestContextHolder;
+import org.springframework.web.context.request.ServletRequestAttributes;
+
+import javax.servlet.http.HttpServletRequest;
+
+
+@Slf4j
+@Aspect
+@Component
+public class CacheMd5Aspect {
+
+ @Pointcut("@annotation(com.ccsens.cloudutil.annotation.CacheMd5)")
+ public void cacheMd5(){
+
+ }
+
+ @Around("cacheMd5()")
+ public Object cacheMd5TestAspect1(ProceedingJoinPoint joinPoint) throws Throwable {
+ long s = System.currentTimeMillis();
+ //拿到入参
+ Object[] args = joinPoint.getArgs();
+
+ HttpServletRequest request = ((ServletRequestAttributes)
+ RequestContextHolder.getRequestAttributes()).getRequest();
+ //获取入参的md5值
+ final String inMd5 = request.getHeader(WebConstant.HEADER_KEY_MD5);
+ //获取返回值
+ JsonResponse proceed = (JsonResponse) joinPoint.proceed(args);
+ //入参没有md5直接返回
+ if(inMd5 == null){
+ log.info("cache---入参md5为空");
+ long e = System.currentTimeMillis();
+ log.info("切面时间:{}",e-s);
+ return proceed;
+ }
+ //异常直接返回
+ if(proceed.getCode() != 200){
+ log.info("cache---接口异常");
+ long e = System.currentTimeMillis();
+ log.info("切面时间:{}",e-s);
+ return proceed;
+ }
+ //获取返回数据
+ if(proceed.getData() == null){
+ log.info("cache---返回数据为空");
+ long e = System.currentTimeMillis();
+ log.info("切面时间:{}",e-s);
+ return proceed;
+ }
+ //将date转成json并加密
+ String data;
+ // 判断是否基本类型或字符串
+ String type = "TYPE";
+ if (proceed.getData() instanceof String ) {
+ data = (String)proceed.getData();
+ } else if (proceed.getData() instanceof StringBuilder || proceed.getData() instanceof StringBuffer) {
+ data = proceed.getData().toString();
+ } else if (proceed.getData().getClass().getField(type) != null &&
+ ((Class)proceed.getData().getClass().getField(type).get(null)).isPrimitive()) {
+ // 基本类型
+ data = String.valueOf(proceed.getData());
+ } else {
+ try {
+ data = JSONObject.toJSONString(proceed.getData());
+ } catch (Exception e) {
+ log.error("md5转换json异常:{}", e);
+ data = proceed.getData().toString();
+ }
+ }
+
+
+ String outMd5 = Md5Util.stringTo(data);
+ log.info("md5:{}",outMd5);
+ if(inMd5.equalsIgnoreCase(outMd5)){
+ log.info("md5相同则返回空");
+ proceed.setMd5Status(JsonResponse.MD5Status.CHECK_SAME_YES);
+ proceed.setData(null);
+ } else {
+ proceed.setMd5Status(JsonResponse.MD5Status.CHECK_SAME_NO);
+ }
+ long e = System.currentTimeMillis();
+ log.info("切面时间:{}",e-s);
+ return proceed;
+ }
+
+}
diff --git a/cloudutil/src/main/java/com/ccsens/cloudutil/aspect/LogAspect.java b/cloudutil/src/main/java/com/ccsens/cloudutil/aspect/LogAspect.java
new file mode 100644
index 0000000..efaf510
--- /dev/null
+++ b/cloudutil/src/main/java/com/ccsens/cloudutil/aspect/LogAspect.java
@@ -0,0 +1,149 @@
+package com.ccsens.cloudutil.aspect;
+
+import com.alibaba.fastjson.JSON;
+import com.alibaba.fastjson.JSONObject;
+import com.ccsens.cloudutil.bean.tall.dto.LogDto;
+import com.ccsens.cloudutil.feign.TallFeignClient;
+import com.ccsens.util.UploadFileUtil_Servlet3;
+import com.ccsens.util.WebConstant;
+import io.jsonwebtoken.Claims;
+import io.swagger.annotations.ApiOperation;
+import lombok.extern.slf4j.Slf4j;
+import org.aspectj.lang.ProceedingJoinPoint;
+import org.aspectj.lang.annotation.Around;
+import org.aspectj.lang.annotation.Aspect;
+import org.aspectj.lang.annotation.Pointcut;
+import org.aspectj.lang.reflect.MethodSignature;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.core.annotation.Order;
+import org.springframework.stereotype.Component;
+import org.springframework.web.context.request.RequestContextHolder;
+import org.springframework.web.context.request.ServletRequestAttributes;
+
+import javax.servlet.ServletRequest;
+import javax.servlet.ServletResponse;
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.Part;
+import java.lang.reflect.Method;
+import java.util.HashSet;
+import java.util.Set;
+
+/**
+ * @description:
+ * @author: wuHuiJuan
+ * @create: 2019/12/10 10:06
+ */
+@Order(1)
+@Slf4j
+@Aspect
+@Component
+public class LogAspect {
+
+ @Autowired
+ private TallFeignClient tallFeignClient;
+
+ /**不记录日志的接口*/
+ private Set ignoreUrlSet = new HashSet<>();
+ {
+ ignoreUrlSet.add("/log/operation");
+ ignoreUrlSet.add("/users/token");
+ ignoreUrlSet.add("/users/claims");
+ }
+
+
+ @Pointcut("execution(* com.ccsens.tall.web..*(..)) || execution(* com.ccsens.ht.api..*(..))" +
+ " || execution(* com.ccsens.mt.api..*(..)) || execution(* com.ccsens.game.api..*(..))" +
+ " || execution(* com.ccsens.health.api..*(..)) || execution(* com.ccsens.pims.api..*(..))")
+ public void logAdvice(){
+
+ }
+
+ @Around("logAdvice()")
+ public Object around(ProceedingJoinPoint pjp) throws Throwable {
+ LogDto logDto = initLog(pjp);
+
+
+ Object result;
+ try {
+ result = pjp.proceed();
+ } catch (Throwable throwable) {
+ log.error("方法运行异常", throwable);
+ if (logDto != null) {
+ String message = throwable.toString();
+ logDto.setResult(message.length() > 1000 ? message.substring(0,1000) : message);
+ tallFeignClient.log(logDto);
+ }
+ throw throwable;
+ }
+ if (logDto != null) {
+ if("/users/signin".equals(logDto.getUrl()) && result != null){
+ JSONObject json = JSONObject.parseObject(JSON.toJSONString(result));
+ if(json.getIntValue("code") == 200 && json.get("data") != null){
+ long userId = json.getJSONObject("data").getLongValue("id");
+ logDto.setUserId(userId);
+ }
+ }
+ String message = result == null ? null : result.toString().length() > 1000 ? result.toString().substring(0, 1000) : result.toString();
+ logDto.setResult(message);
+ tallFeignClient.log(logDto);
+ }
+
+ return result;
+ }
+
+ /**
+ * 获取方法路径、描述、参数
+ * @param pjp
+ * @return
+ */
+ private LogDto initLog(ProceedingJoinPoint pjp) {
+
+ //路径
+ HttpServletRequest request = ((ServletRequestAttributes)
+ RequestContextHolder.getRequestAttributes()).getRequest();
+ String url = request.getServletPath();
+
+ if (ignoreUrlSet.contains(url)){
+ log.info("保存日志,不进行记录");
+ return null;
+ }
+ LogDto dto = new LogDto();
+ dto.setUrl(url);
+ dto.setFacility(request.getHeader("fingerprint"));
+ //参数
+ Object[] args = pjp.getArgs();
+ StringBuilder param = new StringBuilder();
+ for (int i = 0; i < args.length; i++) {
+ if (args[i] == null) {
+ continue;
+ }else if (args[i] instanceof ServletResponse) {
+ continue;
+ } else if (args[i] instanceof ServletRequest) {
+ Object claims = request.getAttribute(WebConstant.REQUEST_KEY_CLAIMS);
+ String userId = claims == null ? null : ((Claims) claims).getSubject();
+ if (userId != null) {
+ param.append("userId:").append(userId).append("--");
+ dto.setUserId(Long.parseLong(userId));
+ }
+
+ } else if (args[i] instanceof Part) {
+ param.append("file:").append(UploadFileUtil_Servlet3.getFileNameByPart((Part)args[i])).append("--");
+ }else {
+ param.append(args[i]).append("--");
+ }
+
+ }
+ dto.setParams(param.length() > 1000 ? param.substring(0, 1000) : param.toString());
+ try {
+ MethodSignature methodSignature = (MethodSignature) pjp.getSignature();
+ Method method = pjp.getTarget().getClass().getMethod(methodSignature.getName(), methodSignature.getParameterTypes());
+ ApiOperation annotation = method.getAnnotation(ApiOperation.class);
+ dto.setMethodDesc(annotation == null ? "" : annotation.value());
+ } catch (Exception e) {
+ log.error("获取方法时异常",e);
+ }
+
+ return dto;
+ }
+
+}
diff --git a/cloudutil/src/main/java/com/ccsens/cloudutil/aspect/MustLoginAspect.java b/cloudutil/src/main/java/com/ccsens/cloudutil/aspect/MustLoginAspect.java
new file mode 100644
index 0000000..a4eb057
--- /dev/null
+++ b/cloudutil/src/main/java/com/ccsens/cloudutil/aspect/MustLoginAspect.java
@@ -0,0 +1,150 @@
+package com.ccsens.cloudutil.aspect;
+
+import cn.hutool.core.util.StrUtil;
+import com.alibaba.fastjson.JSON;
+import com.alibaba.fastjson.JSONObject;
+import com.ccsens.cloudutil.annotation.MustLogin;
+import com.ccsens.cloudutil.feign.Tall3FeignClient;
+import com.ccsens.util.CodeEnum;
+import com.ccsens.util.JsonResponse;
+import com.ccsens.util.WebConstant;
+import com.ccsens.util.bean.dto.QueryDto;
+import lombok.extern.slf4j.Slf4j;
+import org.aspectj.lang.ProceedingJoinPoint;
+import org.aspectj.lang.Signature;
+import org.aspectj.lang.annotation.Around;
+import org.aspectj.lang.annotation.Aspect;
+import org.aspectj.lang.annotation.Pointcut;
+import org.aspectj.lang.reflect.MethodSignature;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.core.annotation.Order;
+import org.springframework.stereotype.Component;
+import org.springframework.web.context.request.RequestContextHolder;
+import org.springframework.web.context.request.ServletRequestAttributes;
+
+import javax.servlet.http.HttpServletRequest;
+import java.lang.reflect.*;
+import java.util.ArrayList;
+import java.util.List;
+
+/**
+ * @description:
+ * @author: wuHuiJuan
+ * @create: 2019/12/09 09:54
+ */
+@Order(0)
+@Slf4j
+@Aspect
+@Component
+public class MustLoginAspect {
+ @Autowired
+ private Tall3FeignClient tall3FeignClient;
+
+ @Pointcut("@annotation(com.ccsens.cloudutil.annotation.MustLogin) || @annotation(com.ccsens.cloudutil.annotation.Login) ")
+ public void loginAdvice(){}
+
+ @Around("loginAdvice()")
+ public Object around(ProceedingJoinPoint pjp) throws Throwable {
+
+ HttpServletRequest request = ((ServletRequestAttributes)
+ RequestContextHolder.getRequestAttributes()).getRequest();
+
+ final String authHeader = request.getHeader(WebConstant.HEADER_KEY_TOKEN);
+// if(StrUtil.isEmpty(authHeader)){
+// return JsonResponse.newInstance().ok(CodeEnum.NOT_LOGIN);
+// }
+ Object[] args = pjp.getArgs();
+ QueryDto dto = args == null || args.length < 1 ? null : (QueryDto) args[0];
+
+ //获取userId
+ JsonResponse response = null;
+ if(StrUtil.isNotEmpty(authHeader)){
+ log.info("MustLogin————token:{}", authHeader);
+ response = tall3FeignClient.getUserIdByToken(authHeader);
+ }
+ log.info("{}获取userId:{}", authHeader, response);
+
+ Signature signature = pjp.getSignature();
+ MethodSignature methodSignature = (MethodSignature) signature;
+ Method targetMethod = methodSignature.getMethod();
+
+ MustLogin mustLoginAnnotation = targetMethod.getAnnotation(MustLogin.class);
+ fillSpecial(dto, mustLoginAnnotation);
+ if (mustLoginAnnotation == null) {
+ log.info("不是必须登录,有token,则添加userId,没有则不添加");
+ if (response != null && response.getCode().intValue() == CodeEnum.SUCCESS.getCode().intValue() && response.getData() != null) {
+ JSONObject json = JSONObject.parseObject(JSON.toJSONString(response.getData()));
+ Long userId = json.getLong("id");
+ String userName = json.getString("userName");
+ String avatarUrl = json.getString("avatarUrl");
+ String phone = json.getString("phone");
+ if (dto != null) {
+ dto.setUserId(userId);
+ dto.setUserName(userName);
+ dto.setAvatarUrl(avatarUrl);
+ dto.setPhone(phone);
+ }
+ }
+ Object result = pjp.proceed();
+ return result;
+ }
+ //必须登录,未登录直接返回未登录相关信息
+ //必须登录,未登录直接返回未登录相关信息
+ if (response == null) {
+ return JsonResponse.newInstance().ok(CodeEnum.NOT_LOGIN);
+ }
+ if (response.getCode().intValue() != CodeEnum.SUCCESS.getCode().intValue()) {
+ return response;
+ }
+ if (response.getData() == null) {
+ return JsonResponse.newInstance().ok(CodeEnum.NOT_LOGIN);
+ }
+ JSONObject json = JSONObject.parseObject(JSON.toJSONString(response.getData()));
+ Long userId = json.getLong("id");
+ String userName = json.getString("userName");
+ String avatarUrl = json.getString("avatarUrl");
+ String phone = json.getString("phone");
+ if (userId == null || userId == 0) {
+ return JsonResponse.newInstance().ok(CodeEnum.NOT_LOGIN);
+ }
+
+ if (dto != null) {
+ dto.setUserId(userId);
+ dto.setUserName(userName);
+ dto.setAvatarUrl(avatarUrl);
+ dto.setPhone(phone);
+ }
+
+ Object result = pjp.proceed();
+ return result;
+ }
+
+ private void fillSpecial(QueryDto dto, MustLogin mustLoginAnnotation) {
+ if (mustLoginAnnotation == null) {
+ return;
+ }
+ if (dto != null && mustLoginAnnotation.type() > -1) {
+ switch (mustLoginAnnotation.type()) {
+ case 0:
+ Object obj = dto.getParam();
+ if (obj!= null && !obj.getClass().isArray()) {
+ Class> aClass = dto.getParam().getClass();
+ Object o = Array.newInstance(aClass, 1);
+ Array.set(o, 0, dto.getParam());
+ dto.setParam(o);
+ }
+ break;
+ case 1:
+ Object obj1 = dto.getParam();
+ if (obj1!= null && !(obj1 instanceof List)) {
+ ArrayList arrayList = new ArrayList();
+ arrayList.add(dto.getParam());
+ dto.setParam(arrayList);
+ }
+ break;
+ }
+
+ }
+ }
+
+}
diff --git a/cloudutil/src/main/java/com/ccsens/cloudutil/bean/QueryParam.java b/cloudutil/src/main/java/com/ccsens/cloudutil/bean/QueryParam.java
new file mode 100644
index 0000000..99d17bc
--- /dev/null
+++ b/cloudutil/src/main/java/com/ccsens/cloudutil/bean/QueryParam.java
@@ -0,0 +1,14 @@
+package com.ccsens.cloudutil.bean;
+
+import lombok.Data;
+
+/**
+ * @description:
+ * @author: wuHuiJuan
+ * @create: 2019/11/27 10:06
+ */
+@Data
+public class QueryParam {
+ private T t;
+ private Long userId;
+}
diff --git a/cloudutil/src/main/java/com/ccsens/cloudutil/bean/tall/dto/HolidaysDto.java b/cloudutil/src/main/java/com/ccsens/cloudutil/bean/tall/dto/HolidaysDto.java
new file mode 100644
index 0000000..00807ba
--- /dev/null
+++ b/cloudutil/src/main/java/com/ccsens/cloudutil/bean/tall/dto/HolidaysDto.java
@@ -0,0 +1,15 @@
+package com.ccsens.cloudutil.bean.tall.dto;
+
+import lombok.Data;
+
+/**
+ * @author 逗
+ */
+@Data
+public class HolidaysDto {
+ @Data
+ public static class GetHolidays{
+ private Long startTime;
+ private Long endTime;
+ }
+}
diff --git a/cloudutil/src/main/java/com/ccsens/cloudutil/bean/tall/dto/LogDto.java b/cloudutil/src/main/java/com/ccsens/cloudutil/bean/tall/dto/LogDto.java
new file mode 100644
index 0000000..b6bef73
--- /dev/null
+++ b/cloudutil/src/main/java/com/ccsens/cloudutil/bean/tall/dto/LogDto.java
@@ -0,0 +1,31 @@
+package com.ccsens.cloudutil.bean.tall.dto;
+
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import javax.validation.constraints.NotNull;
+
+/**
+ * @description:
+ * @author: wuHuiJuan
+ * @create: 2019/12/09 18:01
+ */
+@Data
+@ApiModel
+public class LogDto {
+
+ private Long id;
+ @ApiModelProperty("接口地址")
+ private String url;
+ @ApiModelProperty("接口参数")
+ private String params;
+ @ApiModelProperty("接口描述")
+ private String methodDesc;
+ @ApiModelProperty("接口返回值(或异常)")
+ private String result;
+ @ApiModelProperty("设备信息")
+ private String facility;
+ @ApiModelProperty("设备信息")
+ private Long userId;
+}
diff --git a/cloudutil/src/main/java/com/ccsens/cloudutil/bean/tall/dto/MemberRoleDto.java b/cloudutil/src/main/java/com/ccsens/cloudutil/bean/tall/dto/MemberRoleDto.java
new file mode 100644
index 0000000..2c3fc40
--- /dev/null
+++ b/cloudutil/src/main/java/com/ccsens/cloudutil/bean/tall/dto/MemberRoleDto.java
@@ -0,0 +1,169 @@
+package com.ccsens.cloudutil.bean.tall.dto;
+
+import cn.hutool.core.collection.CollectionUtil;
+import cn.hutool.core.util.StrUtil;
+import com.ccsens.util.CodeEnum;
+import com.ccsens.util.PropUtil;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+import org.springframework.beans.BeanUtils;
+
+import javax.validation.constraints.NotEmpty;
+import javax.validation.constraints.NotNull;
+import java.util.List;
+
+/**
+ * @description:
+ * @author: wuHuiJuan
+ * @create: 2019/12/05 10:37
+ */
+public class MemberRoleDto {
+ @ApiModel("MemberRoleDtoAssign")
+ @Data
+ public static class Assign{
+ @ApiModelProperty("项目ID")
+ private Long projectId;
+ @ApiModelProperty("项目名称")
+ private String projectName = PropUtil.projectName;
+ @ApiModelProperty("角色")
+ private List roleNames;
+ @ApiModelProperty("用户ID")
+ @NotNull
+ private Long userId;
+ @ApiModelProperty("用户名")
+ @NotNull
+ private String name;
+ @ApiModelProperty("操作人ID")
+ @NotNull
+ private Long createBy;
+
+
+ public CodeEnum check(){
+ //至少有一个条件
+ boolean noProject = (projectId == null || projectId == 0 ) && StrUtil.isBlank(projectName);
+ if (noProject) {
+ return CodeEnum.PARAM_ERROR;
+ }
+ return CodeEnum.SUCCESS;
+ }
+ }
+
+ @ApiModel("MemberRoleDtoDelete")
+ @Data
+ public static class Delete{
+ @ApiModelProperty("项目ID")
+ private Long projectId;
+ @ApiModelProperty("项目名称")
+ private String projectName = PropUtil.projectName;
+ @ApiModelProperty("角色")
+ private List roleNames;
+ @ApiModelProperty("用户ID")
+ @NotNull
+ private Long userId;
+
+ public CodeEnum check(){
+ //至少有一个条件
+ boolean hasProject = (projectId == null || projectId == 0 ) && StrUtil.isBlank(projectName);
+ if (!hasProject) {
+ return CodeEnum.PARAM_ERROR;
+ }
+ return CodeEnum.SUCCESS;
+ }
+
+ public Assign toAssign(){
+ Assign assign = new Assign();
+ BeanUtils.copyProperties(this, assign);
+ return assign;
+ }
+ }
+
+ @Data
+ @ApiModel("添加成员")
+ public static class SaveMember{
+ @NotNull
+ @ApiModelProperty("项目id")
+ private Long projectId;
+ @ApiModelProperty("成员名")
+ private String memberName;
+ @NotEmpty
+ @ApiModelProperty("成员手机号")
+ private String phone;
+ @ApiModelProperty("所属角色的id")
+ private List roleId;
+ @ApiModelProperty("奖惩干系人手机号")
+ private String stakeholderPhone;
+ @ApiModelProperty("奖惩干系人姓名")
+ private String stakeholderName;
+ @ApiModelProperty("token")
+ private String token;
+ }
+
+ @Data
+ @ApiModel("添加角色")
+ public static class SaveRole{
+ @NotNull(message = "项目不能为空")
+ @ApiModelProperty("项目id")
+ private Long projectId;
+ @NotEmpty(message = "角色名不能为空")
+ @ApiModelProperty("角色名")
+ private String roleName;
+ @ApiModelProperty("token")
+ private String token;
+ }
+
+ @Data
+ @ApiModel
+ public static class GetMemberByPhone{
+ @ApiModelProperty("项目id")
+ private Long projectId;
+ @ApiModelProperty("手机号")
+ private String phone;
+ @ApiModelProperty("token")
+ private String token;
+ }
+
+
+ @Data
+ @ApiModel("给角色添加成员")
+ public static class SaveMemberInRole{
+ @NotNull(message = "角色Id不能为空")
+ @ApiModelProperty("角色id")
+ private Long roleId;
+ @ApiModelProperty("成员Id")
+ private Long memberId;
+ @ApiModelProperty("token")
+ private String token;
+ }
+
+ @Data
+ @ApiModel("给角色添加成员")
+ public static class DeleteRole{
+ @ApiModelProperty("角色id")
+ private Long roleId;
+ @ApiModelProperty("token")
+ private String token;
+ }
+
+ @Data
+ @ApiModel("给模板项目添加成员")
+ public static class SaveMemberForTemplate {
+ @NotNull(message = "项目id不能为空")
+ @ApiModelProperty("项目id")
+ private Long projectId;
+ @ApiModelProperty("成员列表")
+ private List memberForTemplate;
+ }
+ @Data
+ @ApiModel("模板项目成员信息")
+ public static class MemberForTemplate {
+ @ApiModelProperty("用户id(医生)")
+ private Long userId;
+ @ApiModelProperty("成员名")
+ private String memberName;
+ @ApiModelProperty("成员手机号")
+ private String phone;
+ @ApiModelProperty("所属角色的名称")
+ private List roleName;
+ }
+}
diff --git a/cloudutil/src/main/java/com/ccsens/cloudutil/bean/tall/dto/ProjectDto.java b/cloudutil/src/main/java/com/ccsens/cloudutil/bean/tall/dto/ProjectDto.java
new file mode 100644
index 0000000..26da572
--- /dev/null
+++ b/cloudutil/src/main/java/com/ccsens/cloudutil/bean/tall/dto/ProjectDto.java
@@ -0,0 +1,56 @@
+package com.ccsens.cloudutil.bean.tall.dto;
+
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import javax.validation.constraints.NotEmpty;
+import javax.validation.constraints.NotNull;
+import java.util.List;
+import java.util.Set;
+
+/**
+ * @author AUSU
+ */
+@Data
+public class ProjectDto {
+ @Data
+ @ApiModel("根据模板复制项目")
+ public static class CopyProject{
+ @NotNull(message = "请选择要复制得项目")
+ @ApiModelProperty("项目id")
+ private Long projectId;
+ @ApiModelProperty("新项目名字")
+ private String projectName;
+ }
+
+ @Data
+ @ApiModel("添加项目信息")
+ public static class SaveProjectDto{
+ @ApiModelProperty("id")
+ private Long id;
+ @ApiModelProperty("父项目id")
+ private Long parentId;
+ @ApiModelProperty("项目名称")
+ private String name;
+ @ApiModelProperty("开始时间")
+ private Long startTime;
+ @ApiModelProperty("结束时间")
+ private Long endTime;
+ @ApiModelProperty("接口访问地址")
+ private String url;
+ @ApiModelProperty("模板code")
+ private String code;
+ @ApiModelProperty("用户列表")
+ private Set userIdList;
+ }
+
+ @Data
+ @ApiModel("保存用户项目列表")
+ public static class SaveUserProject{
+ @ApiModelProperty("项目id")
+ private List projectId;
+ @ApiModelProperty("用户id")
+ private List userId;
+ }
+}
diff --git a/cloudutil/src/main/java/com/ccsens/cloudutil/bean/tall/dto/TallTaskDto.java b/cloudutil/src/main/java/com/ccsens/cloudutil/bean/tall/dto/TallTaskDto.java
new file mode 100644
index 0000000..392673b
--- /dev/null
+++ b/cloudutil/src/main/java/com/ccsens/cloudutil/bean/tall/dto/TallTaskDto.java
@@ -0,0 +1,137 @@
+package com.ccsens.cloudutil.bean.tall.dto;
+
+import cn.hutool.core.util.ObjectUtil;
+import com.ccsens.util.exception.BaseException;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+import lombok.NonNull;
+
+import javax.validation.constraints.NotEmpty;
+import javax.validation.constraints.NotNull;
+import java.util.List;
+
+@Data
+@ApiModel
+public class TallTaskDto {
+
+ @ApiModel
+ @Data
+ public static class AddTask {
+ @ApiModelProperty("关联项目Id")
+ private Long projectId;
+ @ApiModelProperty("关联的任务id(detailId)")
+ private Long parentTaskId;
+ @ApiModelProperty("任务名称")
+ @NotEmpty(message = "任务名不能为空")
+ private String taskName;
+ @ApiModelProperty("任务描述")
+ private String description;
+ @ApiModelProperty("负责人id")
+ @NotNull(message = "请选择负责人")
+ private Long executorId;
+ @ApiModelProperty("开始时间")
+ private Long beginTime;
+ @ApiModelProperty("结束时间")
+ private Long endTime;
+ @ApiModelProperty("重复周期")
+ private String cycle;
+ @ApiModelProperty("交付物")
+ private String taskDeliver;
+ @ApiModelProperty("插件")
+ private List pluginList;
+ @ApiModelProperty("优先级 3,紧急重要 2,紧急不重要 1,重要不紧急 0,不重要不紧急 默认0")
+ private Byte priority;
+ @ApiModelProperty("任务提醒消息")
+ private TaskRemindByAdd taskRemind;
+ @ApiModelProperty("token")
+ private String token;
+ }
+
+ @Data
+ @ApiModel("添加时设置任务提醒")
+ public static class TaskRemindByAdd{
+ @ApiModelProperty("提醒时机 0不提醒 1开始前,2开始时,3开始后,4结束前,5结束时,6结束后,7自定义时间")
+ private Byte remindTiming;
+ @ApiModelProperty("时长 提醒时机是“开始时”或“结束时”可以为空")
+ private Long duration = 0L;
+ @ApiModelProperty("时间单位 0分钟 1小时 2天")
+ private Byte unit;
+
+ public Long getDuration(){
+ if(ObjectUtil.isNull(unit)) {
+ throw new BaseException("时间单位不能为空");
+ }
+ if(remindTiming == 7){
+ return duration;
+ }
+ switch (unit) {
+ case 0:
+ return duration * 60 * 1000L;
+ case 1:
+ return duration * 60 * 60 * 1000L;
+ case 2:
+ return duration * 24 * 60 * 60 * 1000L;
+ default:
+ return duration;
+ }
+ }
+ }
+
+ @Data
+ @ApiModel("修改任务详细信息")
+ public static class UpdateTaskInfo{
+ @ApiModelProperty("任务id")
+ private Long id;
+ @ApiModelProperty("任务名")
+ private String name;
+ @ApiModelProperty("任务详情")
+ private String description;
+ @ApiModelProperty("负责人")
+ private Long executorRole;
+ @ApiModelProperty("任务开始时间")
+ private Long beginTime;
+ @ApiModelProperty("任务结束时间")
+ private Long endTime;
+ @ApiModelProperty("重复频率")
+ private String cycle;
+ @ApiModelProperty("任务奖惩")
+ private Long money;
+ @ApiModelProperty("任务切换模式,0时间到立刻切换 1延迟delay_time切换 2手动切换")
+ private int delay;
+ @ApiModelProperty("延迟切换时间")
+ private Long delayTime;
+ @ApiModelProperty("优先级 3,紧急重要 2,紧急不重要 1,重要不紧急 0,不重要不紧急 默认0")
+ private Byte priority;
+ @ApiModelProperty("是否是里程碑 0否 1是")
+ private Byte milestone;
+ @ApiModelProperty("需要修改的插件Id")
+ private List plugins;
+ @ApiModelProperty("token")
+ private String token;
+ }
+
+ @Data
+ @ApiModel("修改插件配置")
+ public static class UpdatePluginConfig {
+ @NonNull
+ @ApiModelProperty("任务id")
+ private Long taskId;
+ @ApiModelProperty("任务插件id")
+ private Long taskPluginId;
+ @ApiModelProperty("页面接口路径")
+ private String webPath;
+ @ApiModelProperty("入参")
+ private String importParam;
+ @ApiModelProperty("放置位置 默认0 ,0任务名 1详情页 2任务下")
+ private Byte placeLocation;
+ @ApiModelProperty("程序位置 0:tall内部,1外部")
+ private Byte routineLocation;
+ @ApiModelProperty("token")
+ private String token;
+
+ public UpdatePluginConfig() {
+ }
+ }
+
+}
diff --git a/cloudutil/src/main/java/com/ccsens/cloudutil/bean/tall/dto/TaskDto.java b/cloudutil/src/main/java/com/ccsens/cloudutil/bean/tall/dto/TaskDto.java
new file mode 100644
index 0000000..a14a036
--- /dev/null
+++ b/cloudutil/src/main/java/com/ccsens/cloudutil/bean/tall/dto/TaskDto.java
@@ -0,0 +1,42 @@
+package com.ccsens.cloudutil.bean.tall.dto;
+
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import javax.validation.constraints.NotNull;
+
+/**
+ * @description:
+ * @author: whj
+ * @time: 2021/6/3 10:10
+ */
+public class TaskDto {
+ @ApiModel
+ @Data
+ public static class StartTask {
+ @ApiModelProperty("项目Id")
+ @NotNull(message = "projectId is required.")
+ private Long projectId;
+ @ApiModelProperty("角色Id")
+ @NotNull(message = "roleId is required.")
+ private Long roleId;
+ @ApiModelProperty("任务在当前时间的subTimeId")
+ @NotNull(message = "taskId is required.")
+ private Long taskId;
+ @ApiModelProperty("开始任务的时间 如果为空则为当前时间")
+ private Long startTime;
+ @ApiModelProperty("是否修改后续任务的时间(0否,1是)")
+ private Byte isUpdateTime = 0;
+ }
+
+ @ApiModel
+ @Data
+ public static class TaskSubTimeId {
+ @ApiModelProperty("任务id")
+ private Long id;
+ @ApiModelProperty("任务完成状态0未完成 1进行中 2已完成")
+ private Integer completedStatus;
+ }
+
+}
diff --git a/cloudutil/src/main/java/com/ccsens/cloudutil/bean/tall/dto/UserDto.java b/cloudutil/src/main/java/com/ccsens/cloudutil/bean/tall/dto/UserDto.java
new file mode 100644
index 0000000..923f53e
--- /dev/null
+++ b/cloudutil/src/main/java/com/ccsens/cloudutil/bean/tall/dto/UserDto.java
@@ -0,0 +1,28 @@
+package com.ccsens.cloudutil.bean.tall.dto;
+
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import javax.validation.constraints.NotEmpty;
+
+/**
+ * @description:
+ * @author: wuHuiJuan
+ * @create: 2019/12/05 10:22
+ */
+public class UserDto {
+ //默认注册
+ @Data
+ @ApiModel("UserDtoDefaultUserSingup")
+ public static class DefaultUserSingup{
+ @ApiModelProperty("手机号")
+ @NotEmpty(message = "手机号不能为空")
+ private String phone;
+ @ApiModelProperty("账号")
+ @NotEmpty(message = "账号不能为空.")
+ private String account;
+ @ApiModelProperty("来源")
+ private byte source;
+ }
+}
diff --git a/cloudutil/src/main/java/com/ccsens/cloudutil/bean/tall/dto/WpsDto.java b/cloudutil/src/main/java/com/ccsens/cloudutil/bean/tall/dto/WpsDto.java
new file mode 100644
index 0000000..c534640
--- /dev/null
+++ b/cloudutil/src/main/java/com/ccsens/cloudutil/bean/tall/dto/WpsDto.java
@@ -0,0 +1,62 @@
+package com.ccsens.cloudutil.bean.tall.dto;
+
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import javax.validation.constraints.NotNull;
+import java.util.Map;
+
+@Data
+public class WpsDto {
+ @Data
+ @ApiModel("业务和WPS")
+ public static class Business{
+ @ApiModelProperty("业务ID")
+ private Long businessId;
+ @ApiModelProperty("wps文件ID")
+ private Long wpsFileId;
+ @ApiModelProperty("业务类型 0项目WBS 1交付物 2会议记录。后面是pims内的表:3产品依据表,4产品收入表,5成本表,6损益表,7现金流表")
+ private Byte businessType;
+ @ApiModelProperty("用户ID")
+ private Long userId;
+ @ApiModelProperty("文件名")
+ private String fileName;
+ @ApiModelProperty("文件路径,默认在WebConstant.UPLOAD_PATH_BASE下")
+ private String filePath;
+ @ApiModelProperty("文件实际存储路径")
+ private String realFilePath;
+ @ApiModelProperty("文件大小")
+ private Long fileSize;
+ @ApiModelProperty("操作类型 值:WebConstant Wps USER_OPERATION... ")
+ private byte operation;
+ @ApiModelProperty("操作权限 WebConstant Wps PROJECT_PRIVILEGE...")
+ private byte privilege;
+ @ApiModelProperty("操作权限查询路径")
+ private String privilegeQueryUrl;
+ }
+
+ @Data
+ @ApiModel("查找wps文件路径")
+ public static class VisitWpsUrl{
+ @NotNull
+ @ApiModelProperty("业务ID")
+ private Long businessId;
+ @NotNull
+ @ApiModelProperty("业务类型")
+ private byte businessType;
+ @NotNull
+ @ApiModelProperty("userId")
+ private Long userId;
+ @ApiModelProperty("访问路径")
+ private Map params;
+ }
+
+ @Data
+ @ApiModel("异步通知")
+ public static class Async{
+ @ApiModelProperty("文件ID")
+ private Long fileId;
+ }
+
+}
diff --git a/cloudutil/src/main/java/com/ccsens/cloudutil/bean/tall/vo/HolidaysVo.java b/cloudutil/src/main/java/com/ccsens/cloudutil/bean/tall/vo/HolidaysVo.java
new file mode 100644
index 0000000..71d78bc
--- /dev/null
+++ b/cloudutil/src/main/java/com/ccsens/cloudutil/bean/tall/vo/HolidaysVo.java
@@ -0,0 +1,18 @@
+package com.ccsens.cloudutil.bean.tall.vo;
+
+import lombok.Data;
+
+import java.util.List;
+
+/**
+ * @author 逗
+ */
+@Data
+public class HolidaysVo {
+
+ @Data
+ public static class Holidays{
+ private List workday;
+ private List nonWorkday;
+ }
+}
diff --git a/cloudutil/src/main/java/com/ccsens/cloudutil/bean/tall/vo/MemberVo.java b/cloudutil/src/main/java/com/ccsens/cloudutil/bean/tall/vo/MemberVo.java
new file mode 100644
index 0000000..96713c8
--- /dev/null
+++ b/cloudutil/src/main/java/com/ccsens/cloudutil/bean/tall/vo/MemberVo.java
@@ -0,0 +1,57 @@
+package com.ccsens.cloudutil.bean.tall.vo;
+
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+@Data
+public class MemberVo {
+
+ @Data
+ public static class MemberInfo{
+ private Long id;
+ private Long userId;
+ private Long projectId;
+ private String nickname;
+ private String avatarUrl;
+ private Integer no;
+ private String phone;
+ private String description;
+ private Long joinTime;
+ private Long stakeholderId;
+ }
+
+ @Data
+ @ApiModel("角色信息")
+ public static class RoleInfo{
+ @ApiModelProperty("角色id")
+ private Long roleId;
+ @ApiModelProperty("角色名")
+ private String roleName;
+ }
+
+ @Data
+ @ApiModel("添加时返回成员信息")
+ public static class Member{
+ @ApiModelProperty("成员id")
+ private Long memberId;
+ @ApiModelProperty("成员名")
+ private String memberName;
+ @ApiModelProperty("手机号")
+ private String phone;
+ @ApiModelProperty("userId")
+ private Long userId;
+ }
+
+
+ @Data
+ @ApiModel("查找项目内所有的成员")
+ public static class MemberList{
+ @ApiModelProperty("成员id")
+ private Long memberId;
+ @ApiModelProperty("成员名")
+ private String memberName;
+ @ApiModelProperty("userId")
+ private Long userId;
+ }
+}
diff --git a/cloudutil/src/main/java/com/ccsens/cloudutil/bean/tall/vo/PluginVo.java b/cloudutil/src/main/java/com/ccsens/cloudutil/bean/tall/vo/PluginVo.java
new file mode 100644
index 0000000..cbca119
--- /dev/null
+++ b/cloudutil/src/main/java/com/ccsens/cloudutil/bean/tall/vo/PluginVo.java
@@ -0,0 +1,28 @@
+package com.ccsens.cloudutil.bean.tall.vo;
+
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+@Data
+public class PluginVo {
+
+ @ApiModel
+ @Data
+ public static class PluginSignField{
+ @ApiModelProperty("变量名")
+ private String name;
+ @ApiModelProperty("展示名")
+ private String description;
+ @ApiModelProperty("类型 0文本 1文本框 2单选 3多选")
+ private int type;
+ @ApiModelProperty("类型值(文本,单选,多选,展示的内容 例:{\"1\":\"男\",\"2\":\"女\"},)")
+ private String fieldValue;
+ @ApiModelProperty("正则表达式")
+ private String format;
+ @ApiModelProperty("是否必填")
+ private int isRequired;
+ @ApiModelProperty("是否支持模糊查询")
+ private int isFuzzy;
+ }
+}
diff --git a/cloudutil/src/main/java/com/ccsens/cloudutil/bean/tall/vo/ProjectVo.java b/cloudutil/src/main/java/com/ccsens/cloudutil/bean/tall/vo/ProjectVo.java
new file mode 100644
index 0000000..60c67f8
--- /dev/null
+++ b/cloudutil/src/main/java/com/ccsens/cloudutil/bean/tall/vo/ProjectVo.java
@@ -0,0 +1,46 @@
+package com.ccsens.cloudutil.bean.tall.vo;
+
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import java.util.List;
+
+/**
+ * @author AUSU
+ */
+@Data
+public class ProjectVo {
+
+ @Data
+ @ApiModel("复制的项目信息")
+ public static class ProjectInfo{
+ @ApiModelProperty("项目id")
+ private Long id;
+ @ApiModelProperty("任务详情")
+ private List taskDetails;
+ }
+ @Data
+ @ApiModel("任务详情")
+ public static class TaskDetail{
+ @ApiModelProperty("任务详情id")
+ private Long taskDetailId;
+ @ApiModelProperty("任务详情名称")
+ private String taskDetailName;
+ @ApiModelProperty("任务等级")
+ private Byte taskDetailLevel;
+ @ApiModelProperty("任务详情下的分解任务")
+ private List taskSubList;
+ }
+ @Data
+ @ApiModel("分解任务")
+ public static class TaskSub{
+ @ApiModelProperty("分解任务id")
+ private Long taskSubId;
+ @ApiModelProperty("分解任务开始时间")
+ private Long startTime;
+ @ApiModelProperty("分解任务结束时间")
+ private Long endTime;
+ }
+
+}
diff --git a/cloudutil/src/main/java/com/ccsens/cloudutil/bean/tall/vo/TaskVo.java b/cloudutil/src/main/java/com/ccsens/cloudutil/bean/tall/vo/TaskVo.java
new file mode 100644
index 0000000..b90bc85
--- /dev/null
+++ b/cloudutil/src/main/java/com/ccsens/cloudutil/bean/tall/vo/TaskVo.java
@@ -0,0 +1,124 @@
+package com.ccsens.cloudutil.bean.tall.vo;
+
+import cn.hutool.core.util.ObjectUtil;
+import com.fasterxml.jackson.annotation.JsonIgnore;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import java.math.BigDecimal;
+import java.util.List;
+
+@Data
+public class TaskVo {
+ @Data
+ public static class TaskInfoWithFeign{
+ private Long id;
+ private String name;
+ private Long projectId;
+ private String projectName;
+ }
+
+ @ApiModel
+ @Data
+ public static class NormalTask{
+ @ApiModelProperty("任务详细信息id")
+ private Long detailId;
+ @ApiModelProperty("当前任务的时间段id")
+ private Long id;
+ @ApiModelProperty("名称")
+ private String name;
+ @ApiModelProperty("详细描述")
+ private String description;
+ @ApiModelProperty("父任务名称")
+ private String parentName;
+ @ApiModelProperty("所属项目id")
+ private Long projectId;
+ @ApiModelProperty("所属项目名称")
+ private String projectName;
+ @ApiModelProperty("负责人Id")
+ private Long executorRole;
+ @ApiModelProperty("负责人名称")
+ private String executorRoleName;
+ @ApiModelProperty("开始时间")
+ private Long beginTime;
+ @ApiModelProperty("结束时间")
+ private Long endTime;
+ @ApiModelProperty("时长")
+ private Long duration;
+ @ApiModelProperty("循环周期")
+ private String cycle;
+ @ApiModelProperty("跳转模式 0自动,1延迟,2手动")
+ private int delay;
+ @ApiModelProperty("实际开始时间")
+ private Long realBeginTime;
+ @ApiModelProperty("实际结束时间")
+ private Long realEndTime;
+ @ApiModelProperty("跳转结束时间")
+ private Long loopEndTime;
+ @ApiModelProperty("跳转的任务id")
+ private Long loopTo;
+ @ApiModelProperty("执行时间")
+ private Long execTimes;
+ @ApiModelProperty("奖惩")
+ private BigDecimal money;
+ @ApiModelProperty("状态:0-未开始,1-进行中,2-已完成")
+ private int process;
+ @ApiModelProperty("子项目id")
+ private Long subProjectId;
+ @ApiModelProperty("子项目名字")
+ private String subProjectName;
+ @ApiModelProperty("服务器时间")
+ private Long serverTime;
+ @ApiModelProperty("任务类型 0普通任务 1虚拟任务")
+ private int virtual;
+ @ApiModelProperty("有无分组")
+ private int hasGroup;
+ @ApiModelProperty("分数")
+ private BigDecimal score;
+ @ApiModelProperty("插件")
+ private List plugins;
+ @ApiModelProperty("二级任务")
+ private List secondTasks;
+ @ApiModelProperty("时间状态 0:正常 1:任务开始 2:任务结束")
+ private Byte timeStatus = 0;
+ @ApiModelProperty("当前周期内任务的序号")
+ private int sequence;
+ @ApiModelProperty("页面/接口路径")
+ private String webPath;
+ @ApiModelProperty("程序位置 0:tall内部,1外部")
+ private Byte routineLocation;
+ @ApiModelProperty("入参")
+ private String importParam;
+ public Long getDuration(){
+ if(ObjectUtil.isNotNull(beginTime) && ObjectUtil.isNotNull(endTime)) {
+ return endTime - beginTime;
+ }
+ return null;
+ }
+
+ public Long getServerTime(){
+ return System.currentTimeMillis();
+ }
+
+ }
+
+ @ApiModel
+ @Data
+ public static class PluginVo{
+ @ApiModelProperty("插件id")
+ private String id;
+ @ApiModelProperty("插件名")
+ private String name;
+ @ApiModelProperty("插件描述")
+ private String description;
+ @ApiModelProperty("显示分类")
+ private String showType;
+ @ApiModelProperty("页面/接口路径")
+ private String webPath;
+ @ApiModelProperty("程序位置 0:tall内部,1外部")
+ private Byte routineLocation;
+ @ApiModelProperty("入参")
+ private String importParam;
+ }
+}
diff --git a/cloudutil/src/main/java/com/ccsens/cloudutil/bean/tall/vo/UserVo.java b/cloudutil/src/main/java/com/ccsens/cloudutil/bean/tall/vo/UserVo.java
new file mode 100644
index 0000000..f3a154f
--- /dev/null
+++ b/cloudutil/src/main/java/com/ccsens/cloudutil/bean/tall/vo/UserVo.java
@@ -0,0 +1,20 @@
+package com.ccsens.cloudutil.bean.tall.vo;
+
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+/**
+ * @description:
+ * @author: wuHuiJuan
+ * @create: 2019/12/05 10:22
+ */
+public class UserVo {
+ //默认注册
+ @Data
+ @ApiModel("UserVoDefaultUserSingup")
+ public static class DefaultUserSingup{
+ @ApiModelProperty("用户ID")
+ private Long id;
+ }
+}
diff --git a/cloudutil/src/main/java/com/ccsens/cloudutil/bean/tall/vo/WpsVo.java b/cloudutil/src/main/java/com/ccsens/cloudutil/bean/tall/vo/WpsVo.java
new file mode 100644
index 0000000..297387e
--- /dev/null
+++ b/cloudutil/src/main/java/com/ccsens/cloudutil/bean/tall/vo/WpsVo.java
@@ -0,0 +1,15 @@
+package com.ccsens.cloudutil.bean.tall.vo;
+
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+@Data
+public class WpsVo {
+ @Data
+ public static class BusinessFileIdAndPath{
+ @ApiModelProperty("业务id")
+ private Long businessId;
+ @ApiModelProperty("文件路径")
+ private String filePath;
+ }
+}
diff --git a/cloudutil/src/main/java/com/ccsens/cloudutil/config/FeignConfig.java b/cloudutil/src/main/java/com/ccsens/cloudutil/config/FeignConfig.java
new file mode 100644
index 0000000..0ac387f
--- /dev/null
+++ b/cloudutil/src/main/java/com/ccsens/cloudutil/config/FeignConfig.java
@@ -0,0 +1,55 @@
+//package com.ccsens.cloudutil.config;
+//
+//import com.fasterxml.jackson.databind.DeserializationFeature;
+//import com.fasterxml.jackson.databind.ObjectMapper;
+//import com.fasterxml.jackson.databind.module.SimpleModule;
+//import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
+//import feign.codec.Decoder;
+//import feign.codec.Encoder;
+//import feign.form.spring.SpringFormEncoder;
+//import org.springframework.beans.factory.ObjectFactory;
+//import org.springframework.beans.factory.annotation.Autowired;
+//import org.springframework.boot.autoconfigure.http.HttpMessageConverters;
+//import org.springframework.cloud.openfeign.support.ResponseEntityDecoder;
+//import org.springframework.cloud.openfeign.support.SpringDecoder;
+//import org.springframework.cloud.openfeign.support.SpringEncoder;
+//import org.springframework.context.annotation.Bean;
+//import org.springframework.context.annotation.Configuration;
+//import org.springframework.http.MediaType;
+//import org.springframework.http.converter.json.MappingJackson2HttpMessageConverter;
+//
+//import java.util.ArrayList;
+//import java.util.List;
+//
+///**
+// * @description:
+// * @author: wuHuiJuan
+// * @create: 2019/12/09 15:27
+// */
+//@Configuration
+//public class FeignConfig {
+//
+// @Autowired
+// private ObjectFactory messageConverters;
+//
+// @Bean
+// public Encoder feignFormEncoder() {
+// return new SpringFormEncoder(new SpringEncoder(messageConverters));
+// }
+//
+// @Bean
+// public Decoder feignDecoder() {
+// return new ResponseEntityDecoder(new SpringDecoder(() -> {
+// MappingJackson2HttpMessageConverter converter = new MappingJackson2HttpMessageConverter();
+// List mediaTypeList = new ArrayList<>();
+// mediaTypeList.add(MediaType.TEXT_HTML);
+// mediaTypeList.add(MediaType.APPLICATION_JSON_UTF8);
+// converter.setSupportedMediaTypes(mediaTypeList);
+//
+// ObjectMapper objectMapper = new ObjectMapper();
+// objectMapper.configure(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES, false);
+// converter.setObjectMapper(objectMapper); return new HttpMessageConverters(converter);
+// }));
+// }
+//
+//}
diff --git a/cloudutil/src/main/java/com/ccsens/cloudutil/config/FeignTokenConfig.java b/cloudutil/src/main/java/com/ccsens/cloudutil/config/FeignTokenConfig.java
new file mode 100644
index 0000000..6590f50
--- /dev/null
+++ b/cloudutil/src/main/java/com/ccsens/cloudutil/config/FeignTokenConfig.java
@@ -0,0 +1,45 @@
+package com.ccsens.cloudutil.config;
+
+import cn.hutool.json.JSONObject;
+import cn.hutool.json.JSONUtil;
+import feign.RequestInterceptor;
+import feign.RequestTemplate;
+import org.springframework.context.annotation.Configuration;
+import org.springframework.http.HttpHeaders;
+import org.springframework.stereotype.Component;
+import org.springframework.web.context.request.RequestContextHolder;
+import org.springframework.web.context.request.ServletRequestAttributes;
+
+import javax.servlet.http.HttpServletRequest;
+
+
+/**
+ * @author 逗
+ */
+@Configuration
+public class FeignTokenConfig implements RequestInterceptor {
+ @Override
+ public void apply(RequestTemplate template) {
+ ServletRequestAttributes attributes = (ServletRequestAttributes) RequestContextHolder.getRequestAttributes();
+ System.out.println("attributes:"+attributes);
+ if (attributes != null) {
+ HttpServletRequest request = attributes.getRequest();
+ System.out.println("token:" + request.getHeader(HttpHeaders.AUTHORIZATION));
+ //添加token
+ template.header(HttpHeaders.AUTHORIZATION, request.getHeader(HttpHeaders.AUTHORIZATION));
+ return;
+ }
+
+ byte[] body = template.body();
+ if (body == null) {
+ return;
+ }
+ String json = new String(body);
+ JSONObject jsonObject = JSONUtil.parseObj(json);
+
+ //添加token
+ template.header("Authorization", jsonObject.getStr("token"));
+
+
+ }
+}
diff --git a/cloudutil/src/main/java/com/ccsens/cloudutil/feign/HealthFeignClient.java b/cloudutil/src/main/java/com/ccsens/cloudutil/feign/HealthFeignClient.java
new file mode 100644
index 0000000..f9dc106
--- /dev/null
+++ b/cloudutil/src/main/java/com/ccsens/cloudutil/feign/HealthFeignClient.java
@@ -0,0 +1,41 @@
+package com.ccsens.cloudutil.feign;
+
+import feign.hystrix.FallbackFactory;
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.cloud.openfeign.FeignClient;
+import org.springframework.stereotype.Component;
+import org.springframework.util.StringUtils;
+import org.springframework.web.bind.annotation.GetMapping;
+import org.springframework.web.bind.annotation.RequestParam;
+
+@FeignClient(name = "health", path = "", fallbackFactory = HealthFeignClientFallBack.class)
+public interface HealthFeignClient {
+ /**
+ * 获取suiteAccessToken
+ * @param suiteId
+ * @return
+ */
+ @GetMapping("getSuiteAccessToken")
+ String getSuiteAccessToken(@RequestParam(name = "suiteId") String suiteId);
+
+
+}
+
+
+@Slf4j
+@Component
+class HealthFeignClientFallBack implements FallbackFactory {
+ @Override
+ public HealthFeignClient create(Throwable throwable) {
+ String msg = throwable == null ? "" : throwable.getMessage();
+ if (!StringUtils.isEmpty(msg)) {
+ log.error(msg);
+ }
+ return new HealthFeignClient() {
+ @Override
+ public String getSuiteAccessToken(String suiteId) {
+ return null;
+ }
+ };
+ }
+}
diff --git a/cloudutil/src/main/java/com/ccsens/cloudutil/feign/MtFeignClient.java b/cloudutil/src/main/java/com/ccsens/cloudutil/feign/MtFeignClient.java
new file mode 100644
index 0000000..bec8128
--- /dev/null
+++ b/cloudutil/src/main/java/com/ccsens/cloudutil/feign/MtFeignClient.java
@@ -0,0 +1,68 @@
+package com.ccsens.cloudutil.feign;
+
+import com.ccsens.cloudutil.bean.QueryParam;
+import com.ccsens.cloudutil.bean.tall.dto.LogDto;
+import com.ccsens.cloudutil.bean.tall.dto.MemberRoleDto;
+import com.ccsens.cloudutil.bean.tall.dto.UserDto;
+import com.ccsens.cloudutil.bean.tall.vo.MemberVo;
+import com.ccsens.cloudutil.bean.tall.vo.PluginVo;
+import com.ccsens.cloudutil.bean.tall.vo.TaskVo;
+import com.ccsens.util.JsonResponse;
+import feign.hystrix.FallbackFactory;
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.cloud.openfeign.FeignClient;
+import org.springframework.stereotype.Component;
+import org.springframework.util.StringUtils;
+import org.springframework.web.bind.annotation.GetMapping;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.RequestParam;
+
+import java.math.BigDecimal;
+import java.util.List;
+
+@FeignClient(name = "mt", path = "", fallbackFactory = MtFeignClientFallBack.class)
+public interface MtFeignClient {
+ /**
+ * 普通成员获取自己对任务的评分
+ * @param taskId
+ * @param userId
+ * @return
+ */
+ @GetMapping("plugins/memberScore")
+ BigDecimal getMemberScore(@RequestParam(name = "taskId")Long taskId, @RequestParam(name = "userId")Long userId);
+
+ /**
+ * 项目经理获取任务的平均分
+ * @param projectId
+ * @param taskId
+ * @return
+ */
+ @GetMapping("plugins/adminScore")
+ BigDecimal getAdminScore(@RequestParam(name = "projectId")Long projectId, @RequestParam(name = "taskId")Long taskId);
+
+}
+
+
+@Slf4j
+@Component
+class MtFeignClientFallBack implements FallbackFactory {
+ @Override
+ public MtFeignClient create(Throwable throwable) {
+ String msg = throwable == null ? "" : throwable.getMessage();
+ if (!StringUtils.isEmpty(msg)) {
+ log.error(msg);
+ }
+ return new MtFeignClient() {
+ @Override
+ public BigDecimal getMemberScore(Long taskId,Long userId) {
+ return null;
+ }
+
+ @Override
+ public BigDecimal getAdminScore(Long projectId,Long taskId) {
+ return null;
+ }
+
+ };
+ }
+}
diff --git a/cloudutil/src/main/java/com/ccsens/cloudutil/feign/Tall3FeignClient.java b/cloudutil/src/main/java/com/ccsens/cloudutil/feign/Tall3FeignClient.java
new file mode 100644
index 0000000..5920234
--- /dev/null
+++ b/cloudutil/src/main/java/com/ccsens/cloudutil/feign/Tall3FeignClient.java
@@ -0,0 +1,113 @@
+package com.ccsens.cloudutil.feign;
+
+import com.ccsens.cloudutil.bean.tall.dto.HolidaysDto;
+import com.ccsens.cloudutil.bean.tall.dto.LogDto;
+import com.ccsens.cloudutil.bean.tall.dto.ProjectDto;
+import com.ccsens.cloudutil.bean.tall.vo.HolidaysVo;
+import com.ccsens.cloudutil.config.FeignTokenConfig;
+import com.ccsens.util.JsonResponse;
+import feign.hystrix.FallbackFactory;
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.cloud.openfeign.FeignClient;
+import org.springframework.stereotype.Component;
+import org.springframework.web.bind.annotation.GetMapping;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RequestParam;
+
+/**
+ * @author 逗
+ */
+@FeignClient(name = "tall3", path = "v3.0",fallbackFactory = Tall3FeignClientFallBack.class,configuration = FeignTokenConfig.class)
+public interface Tall3FeignClient {
+ /**
+ * 根据token获取userId
+ *
+ * @param token
+ * @return
+ */
+ @GetMapping("users/token")
+ JsonResponse getUserIdByToken(@RequestParam(required = true, name = "token") String token);
+
+ /**
+ * 记录操作日志
+ *
+ * @param logDto
+ * @return
+ */
+ @RequestMapping("/log/operation")
+ JsonResponse log(LogDto logDto);
+
+ /**
+ * 在tall3内保存项目信息
+ */
+ @RequestMapping("project/save")
+ JsonResponse saveProjectList(ProjectDto.SaveProjectDto projectDto);
+
+ /**
+ * tall3内保存用户项目列表
+ */
+ @RequestMapping("project/saveUserProject")
+ JsonResponse saveUserProject(ProjectDto.SaveUserProject projectDto);
+
+ /**
+ * tall3内保存用户项目列表
+ */
+ @RequestMapping("holidays")
+ JsonResponse getHolidays(HolidaysDto.GetHolidays getHolidays);
+
+ /**
+ * 根据手机号查找userId
+ */
+ @GetMapping("/project/businessDeleteProject")
+ JsonResponse businessDeleteProject(@RequestParam(name = "projectId")Long projectId);
+
+ /**
+ * 根据手机号查找userId
+ */
+ @GetMapping("/users/userIdByPhone")
+ JsonResponse getUserIdByPhone(@RequestParam(name = "phone")String phone);
+}
+
+@Slf4j
+@Component
+class Tall3FeignClientFallBack implements FallbackFactory {
+
+ @Override
+ public Tall3FeignClient create(Throwable cause) {
+ log.error("访问tall3异常", cause);
+ return new Tall3FeignClient() {
+ @Override
+ public JsonResponse getUserIdByToken(String token) {
+ return null;
+ }
+ @Override
+ public JsonResponse log(LogDto logDto) {
+ return null;
+ }
+
+ @Override
+ public JsonResponse saveProjectList(ProjectDto.SaveProjectDto projectDto) {
+ return null;
+ }
+
+ @Override
+ public JsonResponse saveUserProject(ProjectDto.SaveUserProject projectDto) {
+ return null;
+ }
+
+ @Override
+ public JsonResponse getHolidays(HolidaysDto.GetHolidays getHolidays) {
+ return JsonResponse.newInstance().fail();
+ }
+ @Override
+ public JsonResponse businessDeleteProject(Long projectId) {
+ return JsonResponse.newInstance().fail();
+ }
+ @Override
+ public JsonResponse getUserIdByPhone(String phone) {
+ return JsonResponse.newInstance().fail();
+ }
+
+ };
+ }
+}
\ No newline at end of file
diff --git a/cloudutil/src/main/java/com/ccsens/cloudutil/feign/TallFeignClient.java b/cloudutil/src/main/java/com/ccsens/cloudutil/feign/TallFeignClient.java
new file mode 100644
index 0000000..edc38ca
--- /dev/null
+++ b/cloudutil/src/main/java/com/ccsens/cloudutil/feign/TallFeignClient.java
@@ -0,0 +1,477 @@
+package com.ccsens.cloudutil.feign;
+
+import com.ccsens.cloudutil.bean.QueryParam;
+import com.ccsens.cloudutil.bean.tall.dto.*;
+import com.ccsens.cloudutil.bean.tall.vo.*;
+import com.ccsens.cloudutil.config.FeignTokenConfig;
+import com.ccsens.util.JsonResponse;
+import com.ccsens.util.bean.dto.QueryDto;
+import feign.hystrix.FallbackFactory;
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.cloud.openfeign.FeignClient;
+import org.springframework.stereotype.Component;
+import org.springframework.web.bind.annotation.*;
+
+import java.util.List;
+
+/**
+ * @description:
+ * @author: wuHuiJuan
+ * @create: 2019/11/27 10:03
+ */
+
+@FeignClient(name = "tall", path = "v1.0",fallbackFactory = TallFeignClientFallBack.class,configuration = FeignTokenConfig.class)
+public interface TallFeignClient {
+
+ /**
+ * 输入两个userid将两个账号合并(保留企业用户的id)
+ * @param userId 需要保存的userid
+ * @param uselessId 不需要保存的userid
+ * @return
+ */
+ @GetMapping("/users/mergeUserId")
+ JsonResponse mergeUserId(@RequestParam(required = true, name = "userId") Long userId,@RequestParam(required = true, name = "uselessId") Long uselessId);
+
+ /**
+ * 获取
+ *
+ * @param map
+ * @return
+ */
+ @PostMapping("/getPort")
+ String get(QueryParam map);
+
+ /**
+ * 注册用户
+ *
+ * @param signup
+ * @return
+ */
+ @PostMapping("/defaultRegister")
+ JsonResponse defaultRegister(UserDto.DefaultUserSingup signup);
+
+ /**
+ * 为用户分配角色
+ *
+ * @param assign
+ * @return
+ */
+ @RequestMapping("assignRoles")
+ JsonResponse assignRoles(MemberRoleDto.Assign assign);
+
+ /**
+ * 为用户删除角色
+ *
+ * @param deleteDto
+ * @return
+ */
+ @RequestMapping("deleteRoles")
+ JsonResponse deleteRoles(MemberRoleDto.Delete deleteDto);
+
+ /**
+ * 根据token获取userId
+ *
+ * @param token
+ * @return
+ */
+ @GetMapping("users/token")
+ JsonResponse getUserIdByToken(@RequestParam(required = true, name = "token") String token);
+
+ /**
+ * 记录操作日志
+ *
+ * @param logDto
+ * @return
+ */
+ @RequestMapping("/log/operation")
+ JsonResponse log(LogDto logDto);
+
+ /**
+ * 通过任务id获得任务信息
+ *
+ * @param taskId
+ * @return
+ */
+ @GetMapping("/tasks/projectId")
+ TaskVo.TaskInfoWithFeign getProjectId(@RequestParam(name = "taskId") Long taskId);
+
+ /**
+ * 查询该用户在项目中的member信息
+ *
+ * @return
+ */
+ @GetMapping("/users/member")
+ JsonResponse getMemberByUserId(@RequestParam(name = "userId") Long userId, @RequestParam(name = "projectId") Long projectId);
+
+ /**
+ * 当用户不在项目中时查询该用户信息
+ *
+ * @return
+ */
+ @GetMapping("/users/getUserInfo")
+ JsonResponse getUserByUserId(@RequestParam(name = "userId") Long userId);
+
+
+ /**
+ * 获取项目下的所有成员id
+ *
+ * @param projectId
+ * @return
+ */
+ @GetMapping("/users/allMemberAll")
+ List getMemberIdListByProject(@RequestParam(name = "projectId") Long projectId);
+
+ /**
+ * 通过token获得userId(消息系统用)
+ *
+ * @param token
+ * @return
+ */
+ @GetMapping("/users/claims")
+ String getUserId(@RequestParam(name = "token") String token);
+
+ /**
+ * 通过插件id获取签到字段和详细信息
+ */
+ @GetMapping("/plugins/sign")
+ List getSignFieldByTaskPluginId(@RequestParam(name = "taskPluginId") Long taskPluginId);
+
+ /**
+ * 模糊查询
+ */
+ @GetMapping("/plugins/fuzzy")
+ List getSignFuzzy(@RequestParam(name = "taskPluginId") Long taskPluginId, @RequestParam(name = "signinName") String signinName, @RequestParam(name = "key") String key);
+
+ /**
+ * 通过插件id获取签到字段和详细信息
+ */
+ @GetMapping("/plugins/task")
+ Long getTaskIdByTaskPluginId(@RequestParam(name = "taskPluginId") Long taskPluginId);
+
+ /**
+ * 保存WPS业务和文件记录
+ */
+ @RequestMapping("/wps/saveWps")
+ JsonResponse saveWpsFile(WpsDto.Business business);
+
+ /**
+ * 查询WPS业务和文件记录
+ */
+ @RequestMapping("/wps/visitUrls")
+ List queryVisitUrls(WpsDto.VisitWpsUrl visitWpsUrl);
+
+ /**
+ * 根据wpsId查询wps文件路径
+ */
+ @GetMapping("/wps/wpsId")
+ JsonResponse getPathByWpsId(@RequestParam(name = "wpsId")Long wpsId);
+ /**
+ * 根据手机号查找userId
+ */
+ @GetMapping("/users/userIdByPhone")
+ JsonResponse getUserIdByPhone(@RequestParam(name = "phone")String phone);
+ /**
+ * 查找wps文件路径
+ */
+ @GetMapping("/v1/3rd/getFilePath")
+ String getWpsFilePath(@RequestParam(name = "businessId") Long businessId,@RequestParam(name = "businessType") byte businessType);
+
+ /**
+ * 通过userId呵taskId查找用户信息
+ */
+ @GetMapping("/users/memberByTask")
+ JsonResponse getMemberInfoByUserIdAndTaskId(@RequestParam(name = "userId") Long userId,@RequestParam(name = "taskId") Long taskId);
+
+
+ /**
+ * 添加任务
+ */
+ @RequestMapping("/tasks")
+ JsonResponse saveTask(TallTaskDto.AddTask addTask);
+
+ /**
+ * 修改任务
+ */
+ @RequestMapping("/tasks/change")
+ JsonResponse updataTask(TallTaskDto.UpdateTaskInfo updateTaskInfo);
+
+ /**
+ * 完成任务
+ */
+ @RequestMapping("/tasks/finish")
+ JsonResponse finishTask(TaskDto.TaskSubTimeId task);
+ /**
+ * 删除任务
+ */
+ @DeleteMapping("/tasks")
+ JsonResponse deleteTask(@RequestParam(name = "taskId") Long taskId);
+
+ /**
+ * 修改任务插件配置
+ */
+ @RequestMapping("/plugins/config")
+ JsonResponse updatePluginConfig(TallTaskDto.UpdatePluginConfig updatePluginConfig);
+
+ /**
+ * 添加角色
+ */
+ @RequestMapping("/roles/save")
+ JsonResponse saveRole(MemberRoleDto.SaveRole saveRole);
+
+ /**
+ * 添加成员
+ */
+ @RequestMapping("/members/save")
+ JsonResponse saveMember(MemberRoleDto.SaveMember saveMember);
+
+ /**
+ * 将成员添加至角色内
+ */
+ @RequestMapping("/roles/saveMember")
+ JsonResponse saveMemberInRole(MemberRoleDto.SaveMemberInRole saveMember);
+ /**
+ * 将成员从角色内删除
+ */
+ @RequestMapping("/roles/deleteMember")
+ JsonResponse deleteMemberInRole(MemberRoleDto.SaveMemberInRole saveMember);
+
+
+ /**
+ * 通过手机号和项目id查询成员信息
+ */
+ @RequestMapping("/members/query/memberByPhone")
+ JsonResponse queryMemberByPhone(MemberRoleDto.GetMemberByPhone getMemberByPhone);
+
+ /**
+ * 删除角色
+ */
+ @RequestMapping("/roles/delete")
+ JsonResponse deleteRole(MemberRoleDto.DeleteRole deleteRole);
+
+ /**
+ * 根据项目模板复制项目
+ * @param copyProject 项目id
+ * @return 项目
+ */
+ @RequestMapping(value = "/projects/copyProject",method = RequestMethod.POST,produces = {"application/json;charset=UTF-8"})
+ JsonResponse copyProjectNew(QueryDto copyProject);
+
+ /**
+ * 给复制后的模板项目添加成员
+ * @param memberForTemplate 项目id和成员
+ * @return 成功/失败
+ */
+ @RequestMapping(value = "/members/addMemberForTemplate",method = RequestMethod.POST,produces = {"application/json;charset=UTF-8"})
+ JsonResponse addMemberForTemplate(QueryDto memberForTemplate);
+
+ /**
+ * 开始节点
+ * @param param 时间
+ * @return 结果
+ * @throws Exception
+ */
+ @RequestMapping(value = "/tasks/start", method = RequestMethod.POST, produces = {"application/json;charset=UTF-8"})
+ JsonResponse startNode(TaskDto.StartTask param) throws Exception;
+
+
+ /**
+ * 在tall3内保存项目信息
+ */
+ @RequestMapping("/project/save")
+ JsonResponse saveProjectList(ProjectDto.SaveProjectDto projectDto);
+}
+
+@Slf4j
+@Component
+class TallFeignClientFallBack implements FallbackFactory {
+
+ @Override
+ public TallFeignClient create(Throwable throwable) {
+ log.error("yichang", throwable);
+ return new TallFeignClient() {
+ @Override
+ public JsonResponse mergeUserId(Long userId, Long uselessId) {
+ return JsonResponse.newInstance().fail();
+ }
+
+ @Override
+ public String get(QueryParam map) {
+ return "hello world";
+ }
+
+ @Override
+ public JsonResponse defaultRegister(UserDto.DefaultUserSingup signup) {
+ return JsonResponse.newInstance().fail();
+ }
+
+ @Override
+ public JsonResponse assignRoles(MemberRoleDto.Assign assign) {
+ return JsonResponse.newInstance().fail();
+ }
+
+ @Override
+ public JsonResponse deleteRoles(MemberRoleDto.Delete deleteDto) {
+ return JsonResponse.newInstance().fail();
+ }
+
+ @Override
+ public JsonResponse getUserIdByToken(String token) {
+ return JsonResponse.newInstance().fail();
+ }
+
+ @Override
+ public JsonResponse log(LogDto logDto) {
+ return JsonResponse.newInstance().fail();
+ }
+
+ @Override
+ public TaskVo.TaskInfoWithFeign getProjectId(Long taskId) {
+ return null;
+ }
+
+ @Override
+ public JsonResponse getMemberByUserId(Long userId, Long projectId) {
+ return JsonResponse.newInstance().fail();
+ }
+
+ @Override
+ public JsonResponse getUserByUserId(Long userId) {
+ return JsonResponse.newInstance().fail();
+ }
+
+ @Override
+ public List getMemberIdListByProject(Long projectId) {
+ return null;
+ }
+
+ @Override
+ public String getUserId(String token) {
+ return null;
+ }
+
+ @Override
+ public List getSignFieldByTaskPluginId(Long taskPluginId) {
+ return null;
+ }
+
+ @Override
+ public List getSignFuzzy(Long taskPluginId, String signinName, String key) {
+ return null;
+ }
+
+ @Override
+ public Long getTaskIdByTaskPluginId(Long taskPluginId) {
+ return null;
+ }
+
+ @Override
+ public JsonResponse saveWpsFile(WpsDto.Business business) {
+ return JsonResponse.newInstance().fail();
+ }
+
+ @Override
+ public List queryVisitUrls(WpsDto.VisitWpsUrl visitWpsUrl) {
+ return null;
+ }
+
+ @Override
+ public JsonResponse getPathByWpsId(Long async) {
+ return JsonResponse.newInstance().fail();
+ }
+
+ @Override
+ public JsonResponse getUserIdByPhone(String phone) {
+ return JsonResponse.newInstance().fail();
+ }
+
+ @Override
+ public String getWpsFilePath(Long businessId, byte businessType) {
+ return null;
+ }
+
+ @Override
+ public JsonResponse getMemberInfoByUserIdAndTaskId(Long userId, Long taskId) {
+ return JsonResponse.newInstance().fail();
+ }
+
+ @Override
+ public JsonResponse saveTask(TallTaskDto.AddTask addTask) {
+ return JsonResponse.newInstance().fail();
+ }
+
+ @Override
+ public JsonResponse updataTask(TallTaskDto.UpdateTaskInfo updateTaskInfo) {
+ return JsonResponse.newInstance().fail();
+ }
+
+ @Override
+ public JsonResponse finishTask(TaskDto.TaskSubTimeId task) {
+ return JsonResponse.newInstance().fail();
+ }
+
+ @Override
+ public JsonResponse deleteTask(Long taskId) {
+ return JsonResponse.newInstance().fail();
+ }
+
+ @Override
+ public JsonResponse updatePluginConfig(TallTaskDto.UpdatePluginConfig updatePluginConfig) {
+ return JsonResponse.newInstance().fail();
+ }
+
+ @Override
+ public JsonResponse saveRole(MemberRoleDto.SaveRole saveRole) {
+ return JsonResponse.newInstance().fail();
+ }
+
+ @Override
+ public JsonResponse saveMember(MemberRoleDto.SaveMember saveMember) {
+ return JsonResponse.newInstance().fail();
+ }
+
+ @Override
+ public JsonResponse saveMemberInRole(MemberRoleDto.SaveMemberInRole saveMember) {
+ return JsonResponse.newInstance().fail();
+ }
+
+ @Override
+ public JsonResponse deleteMemberInRole(MemberRoleDto.SaveMemberInRole saveMember) {
+ return JsonResponse.newInstance().fail();
+ }
+
+ @Override
+ public JsonResponse queryMemberByPhone(MemberRoleDto.GetMemberByPhone getMemberByPhone) {
+ return JsonResponse.newInstance().fail();
+ }
+
+ @Override
+ public JsonResponse deleteRole(MemberRoleDto.DeleteRole deleteRole) {
+ return JsonResponse.newInstance().fail();
+ }
+
+ @Override
+ public JsonResponse copyProjectNew(QueryDto copyProject) {
+ return JsonResponse.newInstance().fail();
+ }
+
+
+
+
+ @Override
+ public JsonResponse addMemberForTemplate(QueryDto memberForTemplate) {
+ return JsonResponse.newInstance().fail();
+ }
+
+ @Override
+ public JsonResponse startNode(TaskDto.StartTask param) throws Exception {
+ return JsonResponse.newInstance().fail();
+ }
+
+ @Override
+ public JsonResponse saveProjectList(ProjectDto.SaveProjectDto projectDto) {
+ return JsonResponse.newInstance().fail();
+ }
+ };
+ }
+
+}
diff --git a/cloudutil/src/main/java/com/ccsens/cloudutil/interceptor/LogInterceptor.java b/cloudutil/src/main/java/com/ccsens/cloudutil/interceptor/LogInterceptor.java
new file mode 100644
index 0000000..248468c
--- /dev/null
+++ b/cloudutil/src/main/java/com/ccsens/cloudutil/interceptor/LogInterceptor.java
@@ -0,0 +1,31 @@
+package com.ccsens.cloudutil.interceptor;
+
+import org.springframework.web.servlet.HandlerInterceptor;
+import org.springframework.web.servlet.ModelAndView;
+
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
+
+/**
+ * @description:
+ * @author: wuHuiJuan
+ * @create: 2019/12/09 18:24
+ */
+public class LogInterceptor implements HandlerInterceptor {
+ @Override
+ public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception {
+ //路径
+ String path = request.getContextPath();
+ return false;
+ }
+
+ @Override
+ public void postHandle(HttpServletRequest request, HttpServletResponse response, Object handler, ModelAndView modelAndView) throws Exception {
+
+ }
+
+ @Override
+ public void afterCompletion(HttpServletRequest request, HttpServletResponse response, Object handler, Exception ex) throws Exception {
+
+ }
+}
diff --git a/cloudutil/src/main/java/com/ccsens/cloudutil/ribbon/RibbonClientConfig.java b/cloudutil/src/main/java/com/ccsens/cloudutil/ribbon/RibbonClientConfig.java
new file mode 100644
index 0000000..9fa61f1
--- /dev/null
+++ b/cloudutil/src/main/java/com/ccsens/cloudutil/ribbon/RibbonClientConfig.java
@@ -0,0 +1,15 @@
+package com.ccsens.cloudutil.ribbon;
+
+import org.springframework.cloud.netflix.ribbon.RibbonClient;
+import org.springframework.cloud.netflix.ribbon.RibbonClients;
+import org.springframework.context.annotation.Configuration;
+
+/**
+ * @description:
+ * @author: wuHuiJuan
+ * @create: 2019/11/26 12:11
+ */
+@Configuration
+@RibbonClient(name="${spring.application.name}", configuration = RibbonConfiguration.class)
+public class RibbonClientConfig {
+}
diff --git a/cloudutil/src/main/java/com/ccsens/cloudutil/ribbon/RibbonConfiguration.java b/cloudutil/src/main/java/com/ccsens/cloudutil/ribbon/RibbonConfiguration.java
new file mode 100644
index 0000000..0de727d
--- /dev/null
+++ b/cloudutil/src/main/java/com/ccsens/cloudutil/ribbon/RibbonConfiguration.java
@@ -0,0 +1,43 @@
+package com.ccsens.cloudutil.ribbon;
+
+import com.netflix.loadbalancer.IRule;
+import com.netflix.loadbalancer.RoundRobinRule;
+import com.netflix.loadbalancer.WeightedResponseTimeRule;
+import org.springframework.cloud.netflix.ribbon.RibbonClient;
+import org.springframework.cloud.netflix.ribbon.RibbonClients;
+import org.springframework.context.annotation.Bean;
+import org.springframework.context.annotation.Configuration;
+
+/**
+ * @description: 负载均衡
+ * @author: wuHuiJuan
+ * @create: 2019/11/26 12:04
+ */
+@Configuration
+public class RibbonConfiguration {
+ /**根据响应时间加权,响应时间越长,权重越小,被选中的可能性越低*/
+// @Bean
+// public IRule weightedResponseTimeRule() {
+// return new WeightedResponseTimeRule();
+// }
+
+ /**轮询*/
+ @Bean
+ public IRule roundRobinRule(){
+ return new RoundRobinRule();
+ }
+
+
+ /*
+ 负载均衡机制 ,也可以自定义
+ AvailabilityFilteringRule:过滤掉一直连接失败的被标记为circuit tripped的后端Server,并过滤掉那些高并发的后端Server或者使用一个AvailabilityPredicate来包含过滤server的逻辑,其实就就是检查status里记录的各个Server的运行状态;
+ BestAvailableRule:选择一个最小的并发请求的Server,逐个考察Server,如果Server被tripped了,则跳过。
+ RandomRule:随机选择一个Server;
+ ResponseTimeWeightedRule:作用同WeightedResponseTimeRule,二者作用一样;
+ RetryRule:对选定的负载均衡策略机上重试机制,在一个配置时间段内当选择Server不成功,则一直尝试使用subRule的方式选择一个可用的server;
+ RoundRobinRule:轮询选择, 轮询index,选择index对应位置的Server;
+ WeightedResponseTimeRule:根据响应时间加权,响应时间越长,权重越小,被选中的可能性越低;
+ ZoneAvoidanceRule:复合判断Server所在区域的性能和Server的可用性选择Server;
+ */
+
+}
diff --git a/cloudutil/src/main/java/com/ccsens/cloudutil/ribbon/WpsBalanceRule.java b/cloudutil/src/main/java/com/ccsens/cloudutil/ribbon/WpsBalanceRule.java
new file mode 100644
index 0000000..569c13b
--- /dev/null
+++ b/cloudutil/src/main/java/com/ccsens/cloudutil/ribbon/WpsBalanceRule.java
@@ -0,0 +1,28 @@
+//package com.ccsens.cloudutil.ribbon;
+//
+//import com.netflix.client.config.IClientConfig;
+//import com.netflix.loadbalancer.AbstractLoadBalancerRule;
+//import com.netflix.loadbalancer.ILoadBalancer;
+//import com.netflix.loadbalancer.Server;
+//import org.springframework.context.annotation.Primary;
+//
+////@Primary
+//public class WpsBalanceRule extends AbstractLoadBalancerRule {
+//
+// @Override
+// public void initWithNiwsConfig(IClientConfig clientConfig) {
+//
+// }
+//
+// @Override
+// public Server choose(Object key) {
+// return choose(getLoadBalancer(), key);
+// }
+//
+// private Server choose(ILoadBalancer loadBalancer, Object key) {
+// System.out.println(key);
+// return null;
+// }
+//
+//
+//}
diff --git a/cloudutil/src/main/resources/application-util-dev.yml b/cloudutil/src/main/resources/application-util-dev.yml
new file mode 100644
index 0000000..384f2ec
--- /dev/null
+++ b/cloudutil/src/main/resources/application-util-dev.yml
@@ -0,0 +1,72 @@
+#服务端点暴露
+management:
+ endpoints:
+ web:
+ exposure:
+ # 暴露xxx端点,如需暴露多个,用,分隔;如需暴露所有端点,用'*'
+ include: auditevents,caches,conditions,flyway,health,heapdump,httptrace,info,integrationgraph,jolokia,logfile,loggers,liquibase,metrics,mappings,prometheus,scheduledtasks,sessions,shutdown,threaddump,hystrix.stream
+# # 不暴露哪些端点
+# exclude: env,beans,configprops
+ endpoint:
+ health:
+ # 是否展示健康检查详情
+ show-details: always
+ health:
+ redis:
+ enabled: false
+#eureka注册
+eureka:
+ client:
+ service-url:
+ # 指定eureka server通信地址,注意/eureka/小尾巴不能少
+ #defaultZone: http://admin:admin@peer1:8761/eureka/,http://admin:admin@peer2:8762/eureka/
+ defaultZone: http://admin:admin@127.0.0.1:7010/eureka/
+ instance:
+ # 是否注册IP到eureka server,如不指定或设为false,那就回注册主机名到eureka server
+ prefer-ip-address: true
+ metadata-map:
+ management:
+ context-path: ${server.servlet.context-path}/actuator
+ home-page-url-path: ${server.servlet.context-path}/
+ status-page-url-path: ${server.servlet.context-path}/actuator/info
+ health-check-url-path: ${server.servlet.context-path}/actuator/health
+ribbon:
+ ConnectTimeout: 60000
+ ReadTimeout: 60000
+ eureka:
+ enable: true
+feign:
+ client:
+ config:
+ default:
+ connectTime: 50000
+ readTimeout: 50000
+ # NONE【性能最佳,适用于生产】:不记录任何日志(默认值)。
+ # BASIC【适用于生产环境追踪问题】:仅记录请求方法、URL、响应状态代码以及执行时间。
+ # HEADERS:记录BASIC级别的基础上,记录请求和响应的header。
+ # FULL【比较适用于开发及测试环境定位问题】:记录请求和响应的header、body和元数据
+ loggerLevel: basic
+ hystrix:
+ enabled: true
+hystrix:
+ command:
+ default:
+ execution:
+ timeout:
+ enabled: true
+ isolation:
+ strategy: SEMAPHORE
+ thread:
+ timeoutInMilliseconds: 60000
+# sleuth
+logging:
+ level:
+ root: info
+ org.springframework.cloud.sleuth: DEBUG
+spring:
+# zipkin:
+# base-url: http://anyring.cc:9411
+# sleuth:
+# sampler:
+# # 采样率,模式0.1,也就是10%,为了便于观察效果,改为1.0,也就是100%。生产环境建议保持默认。
+# probability: 1.0
diff --git a/cloudutil/src/main/resources/application-util-green.yml b/cloudutil/src/main/resources/application-util-green.yml
new file mode 100644
index 0000000..b087e99
--- /dev/null
+++ b/cloudutil/src/main/resources/application-util-green.yml
@@ -0,0 +1,143 @@
+#<<<<<<< HEAD
+##服务端点暴露
+#management:
+# endpoints:
+# web:
+# exposure:
+# # 暴露xxx端点,如需暴露多个,用,分隔;如需暴露所有端点,用'*'
+# include: auditevents,caches,conditions,flyway,health,heapdump,httptrace,info,integrationgraph,jolokia,logfile,loggers,liquibase,metrics,mappings,prometheus,scheduledtasks,sessions,shutdown,threaddump,hystrix.stream
+## # 不暴露哪些端点
+## exclude: env,beans,configprops
+# endpoint:
+# health:
+# # 是否展示健康检查详情
+# show-details: always
+# health:
+# redis:
+# enabled: false
+##eureka注册
+#eureka:
+# client:
+# service-url:
+# # 指定eureka server通信地址,注意/eureka/小尾巴不能少
+# #defaultZone: http://admin:admin@peer1:8761/eureka/,http://admin:admin@peer2:8762/eureka/
+## defaultZone: http://admin:admin@49.233.89.188:7010/eureka/
+# defaultZone: http://admin:admin@192.168.0.99:7010/eureka/
+# instance:
+# # 是否注册IP到eureka server,如不指定或设为false,那就回注册主机名到eureka server
+# prefer-ip-address: true
+# metadata-map:
+# management:
+# context-path: ${server.servlet.context-path:}/actuator
+# home-page-url-path: ${server.servlet.context-path:}/
+# status-page-url-path: ${server.servlet.context-path:}/actuator/info
+# health-check-url-path: ${server.servlet.context-path:}/actuator/health
+#feign:
+# client:
+# config:
+# default:
+# connectTime: 5000
+# readTimeout: 5000
+# # NONE【性能最佳,适用于生产】:不记录任何日志(默认值)。
+# # BASIC【适用于生产环境追踪问题】:仅记录请求方法、URL、响应状态代码以及执行时间。
+# # HEADERS:记录BASIC级别的基础上,记录请求和响应的header。
+# # FULL【比较适用于开发及测试环境定位问题】:记录请求和响应的header、body和元数据
+# loggerLevel: basic
+# hystrix:
+# enabled: true
+## sleuth
+#logging:
+# level:
+# root: info
+# org.springframework.cloud.sleuth: DEBUG
+#spring:
+## zipkin:
+## base-url: http://49.233.89.188:9411
+## sleuth:
+## sampler:
+## # 采样率,模式0.1,也就是10%,为了便于观察效果,改为1.0,也就是100%。生产环境建议保持默认。
+## probability: 1.0
+# cloud:
+# inetutils:
+#=======
+#服务端点暴露
+management:
+ endpoints:
+ web:
+ exposure:
+ # 暴露xxx端点,如需暴露多个,用,分隔;如需暴露所有端点,用'*'
+ include: auditevents,caches,conditions,flyway,health,heapdump,httptrace,info,integrationgraph,jolokia,logfile,loggers,liquibase,metrics,mappings,prometheus,scheduledtasks,sessions,shutdown,threaddump,hystrix.stream
+# # 不暴露哪些端点
+# exclude: env,beans,configprops
+ endpoint:
+ health:
+ # 是否展示健康检查详情
+ show-details: always
+ health:
+ redis:
+ enabled: false
+#eureka注册
+eureka:
+ client:
+ service-url:
+ # 指定eureka server通信地址,注意/eureka/小尾巴不能少
+ #defaultZone: http://admin:admin@peer1:8761/eureka/,http://admin:admin@peer2:8762/eureka/
+ defaultZone: http://admin:admin@49.232.6.143:7010/eureka/
+# defaultZone: http://admin:admin@192.168.0.99:7010/eureka/
+# defaultZone: http://admin:admin@test.tall.wiki:7010/eureka/
+ instance:
+ # 是否注册IP到eureka server,如不指定或设为false,那就回注册主机名到eureka server
+ prefer-ip-address: true
+ metadata-map:
+ management:
+ context-path: ${server.servlet.context-path:}/actuator
+ home-page-url-path: ${server.servlet.context-path:}/
+ status-page-url-path: ${server.servlet.context-path:}/actuator/info
+ health-check-url-path: ${server.servlet.context-path:}/actuator/health
+feign:
+ client:
+ config:
+ default:
+ connectTime: 5000
+ readTimeout: 5000
+ # NONE【性能最佳,适用于生产】:不记录任何日志(默认值)。
+ # BASIC【适用于生产环境追踪问题】:仅记录请求方法、URL、响应状态代码以及执行时间。
+ # HEADERS:记录BASIC级别的基础上,记录请求和响应的header。
+ # FULL【比较适用于开发及测试环境定位问题】:记录请求和响应的header、body和元数据
+ loggerLevel: basic
+ hystrix:
+ enabled: true
+hystrix:
+ threadpool:
+ default:
+ coreSize: 200 #并发执行的最大线程数,默认10
+ maxQueueSize: 1000 #BlockingQueue的最大队列数,默认值-1
+ queueSizeRejectionThreshold: 800 #即使maxQueueSize没有达到,达到queueSizeRejectionThreshold该值后,请求也会被拒绝,默认值5
+ command:
+ default:
+ execution:
+ timeout:
+ enabled: true
+ isolation:
+ strategy: SEMAPHORE
+ thread:
+ timeoutInMilliseconds: 60000
+#ribbon的超时时间
+ribbon:
+ ReadTimeout: 60000
+ ConnectTimeout: 60000
+# sleuth
+logging:
+ level:
+ root: info
+ org.springframework.cloud.sleuth: DEBUG
+spring:
+# zipkin:
+# base-url: http://49.233.89.188:9411
+# sleuth:
+# sampler:
+# # 采样率,模式0.1,也就是10%,为了便于观察效果,改为1.0,也就是100%。生产环境建议保持默认。
+# probability: 1.0
+ cloud:
+ inetutils:
+ ignored-interfaces: ['VMware.*']
\ No newline at end of file
diff --git a/cloudutil/src/main/resources/application-util-greenvalley.yml b/cloudutil/src/main/resources/application-util-greenvalley.yml
new file mode 100644
index 0000000..0551b88
--- /dev/null
+++ b/cloudutil/src/main/resources/application-util-greenvalley.yml
@@ -0,0 +1,66 @@
+#服务端点暴露
+management:
+ endpoints:
+ web:
+ exposure:
+ # 暴露xxx端点,如需暴露多个,用,分隔;如需暴露所有端点,用'*'
+ include: auditevents,caches,conditions,flyway,health,heapdump,httptrace,info,integrationgraph,jolokia,logfile,loggers,liquibase,metrics,mappings,prometheus,scheduledtasks,sessions,shutdown,threaddump,hystrix.stream
+# # 不暴露哪些端点
+# exclude: env,beans,configprops
+ endpoint:
+ health:
+ # 是否展示健康检查详情
+ show-details: always
+ health:
+ redis:
+ enabled: false
+#eureka注册
+eureka:
+ client:
+ service-url:
+ # 指定eureka server通信地址,注意/eureka/小尾巴不能少
+ defaultZone: http://admin:admin@82.157.24.76:7010/eureka/
+# defaultZone: http://admin:admin@49.232.6.143:7010/eureka/
+ instance:
+ # 是否注册IP到eureka server,如不指定或设为false,那就回注册主机名到eureka server
+ prefer-ip-address: true
+ metadata-map:
+ management:
+ context-path: ${server.servlet.context-path:}/actuator
+ home-page-url-path: ${server.servlet.context-path:}/
+ status-page-url-path: ${server.servlet.context-path:}/actuator/info
+ health-check-url-path: ${server.servlet.context-path:}/actuator/health
+feign:
+ client:
+ config:
+ default:
+ connectTime: 5000
+ readTimeout: 5000
+ # NONE【性能最佳,适用于生产】:不记录任何日志(默认值)。
+ # BASIC【适用于生产环境追踪问题】:仅记录请求方法、URL、响应状态代码以及执行时间。
+ # HEADERS:记录BASIC级别的基础上,记录请求和响应的header。
+ # FULL【比较适用于开发及测试环境定位问题】:记录请求和响应的header、body和元数据
+ loggerLevel: basic
+ hystrix:
+ enabled: true
+hystrix:
+ command:
+ default:
+ execution:
+ isolation:
+ strategy: SEMAPHORE
+ thread:
+ timeoutInMilliseconds: 60000
+#ribbon的超时时间
+ribbon:
+ ReadTimeout: 60000
+ ConnectTimeout: 60000
+# sleuth
+logging:
+ level:
+ root: info
+ org.springframework.cloud.sleuth: DEBUG
+spring:
+ cloud:
+ inetutils:
+ ignored-interfaces: ['VMware.*']
\ No newline at end of file
diff --git a/cloudutil/src/main/resources/application-util-pre.yml b/cloudutil/src/main/resources/application-util-pre.yml
new file mode 100644
index 0000000..38b45b5
--- /dev/null
+++ b/cloudutil/src/main/resources/application-util-pre.yml
@@ -0,0 +1,145 @@
+#<<<<<<< HEAD
+##服务端点暴露
+#management:
+# endpoints:
+# web:
+# exposure:
+# # 暴露xxx端点,如需暴露多个,用,分隔;如需暴露所有端点,用'*'
+# include: auditevents,caches,conditions,flyway,health,heapdump,httptrace,info,integrationgraph,jolokia,logfile,loggers,liquibase,metrics,mappings,prometheus,scheduledtasks,sessions,shutdown,threaddump,hystrix.stream
+## # 不暴露哪些端点
+## exclude: env,beans,configprops
+# endpoint:
+# health:
+# # 是否展示健康检查详情
+# show-details: always
+# health:
+# redis:
+# enabled: false
+##eureka注册
+#eureka:
+# client:
+# service-url:
+# # 指定eureka server通信地址,注意/eureka/小尾巴不能少
+# #defaultZone: http://admin:admin@peer1:8761/eureka/,http://admin:admin@peer2:8762/eureka/
+## defaultZone: http://admin:admin@49.233.89.188:7010/eureka/
+# defaultZone: http://admin:admin@192.168.0.99:7010/eureka/
+# instance:
+# # 是否注册IP到eureka server,如不指定或设为false,那就回注册主机名到eureka server
+# prefer-ip-address: true
+# metadata-map:
+# management:
+# context-path: ${server.servlet.context-path:}/actuator
+# home-page-url-path: ${server.servlet.context-path:}/
+# status-page-url-path: ${server.servlet.context-path:}/actuator/info
+# health-check-url-path: ${server.servlet.context-path:}/actuator/health
+#feign:
+# client:
+# config:
+# default:
+# connectTime: 5000
+# readTimeout: 5000
+# # NONE【性能最佳,适用于生产】:不记录任何日志(默认值)。
+# # BASIC【适用于生产环境追踪问题】:仅记录请求方法、URL、响应状态代码以及执行时间。
+# # HEADERS:记录BASIC级别的基础上,记录请求和响应的header。
+# # FULL【比较适用于开发及测试环境定位问题】:记录请求和响应的header、body和元数据
+# loggerLevel: basic
+# hystrix:
+# enabled: true
+## sleuth
+#logging:
+# level:
+# root: info
+# org.springframework.cloud.sleuth: DEBUG
+#spring:
+## zipkin:
+## base-url: http://49.233.89.188:9411
+## sleuth:
+## sampler:
+## # 采样率,模式0.1,也就是10%,为了便于观察效果,改为1.0,也就是100%。生产环境建议保持默认。
+## probability: 1.0
+# cloud:
+# inetutils:
+#=======
+#服务端点暴露
+management:
+ endpoints:
+ web:
+ exposure:
+ # 暴露xxx端点,如需暴露多个,用,分隔;如需暴露所有端点,用'*'
+ include: auditevents,caches,conditions,flyway,health,heapdump,httptrace,info,integrationgraph,jolokia,logfile,loggers,liquibase,metrics,mappings,prometheus,scheduledtasks,sessions,shutdown,threaddump,hystrix.stream
+ # # 不暴露哪些端点
+ # exclude: env,beans,configprops
+ endpoint:
+ health:
+ # 是否展示健康检查详情
+ show-details: always
+ health:
+ redis:
+ enabled: false
+#eureka注册
+eureka:
+ client:
+ service-url:
+ # 指定eureka server通信地址,注意/eureka/小尾巴不能少
+ #defaultZone: http://admin:admin@peer1:8761/eureka/,http://admin:admin@peer2:8762/eureka/
+
+# defaultZone: http://admin:admin@101.201.226.21:7010/eureka/
+# defaultZone: http://admin:admin@121.36.3.207:7010/eureka/
+ defaultZone: http://admin:admin@127.0.0.1:7010/eureka/
+ # defaultZone: http://admin:admin@test.tall.wiki:7010/eureka/
+ instance:
+ # 是否注册IP到eureka server,如不指定或设为false,那就回注册主机名到eureka server
+ prefer-ip-address: true
+ metadata-map:
+ management:
+ context-path: ${server.servlet.context-path:}/actuator
+ home-page-url-path: ${server.servlet.context-path:}/
+ status-page-url-path: ${server.servlet.context-path:}/actuator/info
+ health-check-url-path: ${server.servlet.context-path:}/actuator/health
+feign:
+ client:
+ config:
+ default:
+ connectTime: 60000
+ readTimeout: 60000
+ # NONE【性能最佳,适用于生产】:不记录任何日志(默认值)。
+ # BASIC【适用于生产环境追踪问题】:仅记录请求方法、URL、响应状态代码以及执行时间。
+ # HEADERS:记录BASIC级别的基础上,记录请求和响应的header。
+ # FULL【比较适用于开发及测试环境定位问题】:记录请求和响应的header、body和元数据
+ loggerLevel: basic
+ hystrix:
+ enabled: true
+hystrix:
+ command:
+ default:
+ execution:
+ timeout:
+ enabled: true
+ isolation:
+ strategy: THREAD
+ thread:
+ timeoutInMilliseconds: 60000
+ threadpool:
+ default:
+ coreSize: 200 #并发执行的最大线程数,默认10
+ maxQueueSize: 1000 #BlockingQueue的最大队列数,默认值-1
+ queueSizeRejectionThreshold: 800 #即使maxQueueSize没有达到,达到queueSizeRejectionThreshold该值后,请求也会被拒绝,默认值5
+#ribbon的超时时间
+ribbon:
+ ReadTimeout: 60000
+ ConnectTimeout: 60000
+# sleuth
+logging:
+ level:
+ root: info
+ org.springframework.cloud.sleuth: DEBUG
+spring:
+ # zipkin:
+ # base-url: http://49.233.89.188:9411
+ # sleuth:
+ # sampler:
+ # # 采样率,模式0.1,也就是10%,为了便于观察效果,改为1.0,也就是100%。生产环境建议保持默认。
+ # probability: 1.0
+ cloud:
+ inetutils:
+ ignored-interfaces: ['VMware.*']
\ No newline at end of file
diff --git a/cloudutil/src/main/resources/application-util-prod.yml b/cloudutil/src/main/resources/application-util-prod.yml
new file mode 100644
index 0000000..d3a1176
--- /dev/null
+++ b/cloudutil/src/main/resources/application-util-prod.yml
@@ -0,0 +1,145 @@
+#<<<<<<< HEAD
+##服务端点暴露
+#management:
+# endpoints:
+# web:
+# exposure:
+# # 暴露xxx端点,如需暴露多个,用,分隔;如需暴露所有端点,用'*'
+# include: auditevents,caches,conditions,flyway,health,heapdump,httptrace,info,integrationgraph,jolokia,logfile,loggers,liquibase,metrics,mappings,prometheus,scheduledtasks,sessions,shutdown,threaddump,hystrix.stream
+## # 不暴露哪些端点
+## exclude: env,beans,configprops
+# endpoint:
+# health:
+# # 是否展示健康检查详情
+# show-details: always
+# health:
+# redis:
+# enabled: false
+##eureka注册
+#eureka:
+# client:
+# service-url:
+# # 指定eureka server通信地址,注意/eureka/小尾巴不能少
+# #defaultZone: http://admin:admin@peer1:8761/eureka/,http://admin:admin@peer2:8762/eureka/
+## defaultZone: http://admin:admin@49.233.89.188:7010/eureka/
+# defaultZone: http://admin:admin@192.168.0.99:7010/eureka/
+# instance:
+# # 是否注册IP到eureka server,如不指定或设为false,那就回注册主机名到eureka server
+# prefer-ip-address: true
+# metadata-map:
+# management:
+# context-path: ${server.servlet.context-path:}/actuator
+# home-page-url-path: ${server.servlet.context-path:}/
+# status-page-url-path: ${server.servlet.context-path:}/actuator/info
+# health-check-url-path: ${server.servlet.context-path:}/actuator/health
+#feign:
+# client:
+# config:
+# default:
+# connectTime: 5000
+# readTimeout: 5000
+# # NONE【性能最佳,适用于生产】:不记录任何日志(默认值)。
+# # BASIC【适用于生产环境追踪问题】:仅记录请求方法、URL、响应状态代码以及执行时间。
+# # HEADERS:记录BASIC级别的基础上,记录请求和响应的header。
+# # FULL【比较适用于开发及测试环境定位问题】:记录请求和响应的header、body和元数据
+# loggerLevel: basic
+# hystrix:
+# enabled: true
+## sleuth
+#logging:
+# level:
+# root: info
+# org.springframework.cloud.sleuth: DEBUG
+#spring:
+## zipkin:
+## base-url: http://49.233.89.188:9411
+## sleuth:
+## sampler:
+## # 采样率,模式0.1,也就是10%,为了便于观察效果,改为1.0,也就是100%。生产环境建议保持默认。
+## probability: 1.0
+# cloud:
+# inetutils:
+#=======
+#服务端点暴露
+management:
+ endpoints:
+ web:
+ exposure:
+ # 暴露xxx端点,如需暴露多个,用,分隔;如需暴露所有端点,用'*'
+ include: auditevents,caches,conditions,flyway,health,heapdump,httptrace,info,integrationgraph,jolokia,logfile,loggers,liquibase,metrics,mappings,prometheus,scheduledtasks,sessions,shutdown,threaddump,hystrix.stream
+ # # 不暴露哪些端点
+ # exclude: env,beans,configprops
+ endpoint:
+ health:
+ # 是否展示健康检查详情
+ show-details: always
+ health:
+ redis:
+ enabled: false
+#eureka注册
+eureka:
+ client:
+ service-url:
+ # 指定eureka server通信地址,注意/eureka/小尾巴不能少
+ #defaultZone: http://admin:admin@peer1:8761/eureka/,http://admin:admin@peer2:8762/eureka/
+
+# defaultZone: http://admin:admin@101.201.226.21:7010/eureka/
+ defaultZone: http://admin:admin@121.36.3.207:7010/eureka/
+# defaultZone: http://admin:admin@127.0.0.1:7010/eureka/
+ # defaultZone: http://admin:admin@test.tall.wiki:7010/eureka/
+ instance:
+ # 是否注册IP到eureka server,如不指定或设为false,那就回注册主机名到eureka server
+ prefer-ip-address: true
+ metadata-map:
+ management:
+ context-path: ${server.servlet.context-path:}/actuator
+ home-page-url-path: ${server.servlet.context-path:}/
+ status-page-url-path: ${server.servlet.context-path:}/actuator/info
+ health-check-url-path: ${server.servlet.context-path:}/actuator/health
+feign:
+ client:
+ config:
+ default:
+ connectTime: 60000
+ readTimeout: 60000
+ # NONE【性能最佳,适用于生产】:不记录任何日志(默认值)。
+ # BASIC【适用于生产环境追踪问题】:仅记录请求方法、URL、响应状态代码以及执行时间。
+ # HEADERS:记录BASIC级别的基础上,记录请求和响应的header。
+ # FULL【比较适用于开发及测试环境定位问题】:记录请求和响应的header、body和元数据
+ loggerLevel: basic
+ hystrix:
+ enabled: true
+hystrix:
+ command:
+ default:
+ execution:
+ timeout:
+ enabled: true
+ isolation:
+ strategy: THREAD
+ thread:
+ timeoutInMilliseconds: 60000
+ threadpool:
+ default:
+ coreSize: 200 #并发执行的最大线程数,默认10
+ maxQueueSize: 1000 #BlockingQueue的最大队列数,默认值-1
+ queueSizeRejectionThreshold: 800 #即使maxQueueSize没有达到,达到queueSizeRejectionThreshold该值后,请求也会被拒绝,默认值5
+#ribbon的超时时间
+ribbon:
+ ReadTimeout: 60000
+ ConnectTimeout: 60000
+# sleuth
+logging:
+ level:
+ root: info
+ org.springframework.cloud.sleuth: DEBUG
+spring:
+ # zipkin:
+ # base-url: http://49.233.89.188:9411
+ # sleuth:
+ # sampler:
+ # # 采样率,模式0.1,也就是10%,为了便于观察效果,改为1.0,也就是100%。生产环境建议保持默认。
+ # probability: 1.0
+ cloud:
+ inetutils:
+ ignored-interfaces: ['VMware.*']
\ No newline at end of file
diff --git a/cloudutil/src/main/resources/application-util-prodsd.yml b/cloudutil/src/main/resources/application-util-prodsd.yml
new file mode 100644
index 0000000..7e21903
--- /dev/null
+++ b/cloudutil/src/main/resources/application-util-prodsd.yml
@@ -0,0 +1,82 @@
+#服务端点暴露
+management:
+ endpoints:
+ web:
+ exposure:
+ # 暴露xxx端点,如需暴露多个,用,分隔;如需暴露所有端点,用'*'
+ include: auditevents,caches,conditions,flyway,health,heapdump,httptrace,info,integrationgraph,jolokia,logfile,loggers,liquibase,metrics,mappings,prometheus,scheduledtasks,sessions,shutdown,threaddump,hystrix.stream
+# # 不暴露哪些端点
+ exclude: env,beans,configprops
+ endpoint:
+ health:
+ # 是否展示健康检查详情
+ show-details: always
+ health:
+ redis:
+ enabled: false
+#eureka注册
+eureka:
+ client:
+ service-url:
+ # 指定eureka server通信地址,注意/eureka/小尾巴不能少
+ #defaultZone: http://admin:admin@peer1:8761/eureka/,http://admin:admin@peer2:8762/eureka/
+
+# defaultZone: http://admin:admin@81.70.54.64:7010/eureka/
+ defaultZone: http://admin:admin@121.36.3.207:7010/eureka/
+
+ instance:
+ # 是否注册IP到eureka server,如不指定或设为false,那就回注册主机名到eureka server
+ prefer-ip-address: true
+ metadata-map:
+ management:
+ context-path: ${server.servlet.context-path:}/actuator
+ home-page-url-path: ${server.servlet.context-path:}/
+ status-page-url-path: ${server.servlet.context-path:}/actuator/info
+ health-check-url-path: ${server.servlet.context-path:}/actuator/health
+feign:
+ client:
+ config:
+ default:
+ connectTime: 5000
+ readTimeout: 5000
+ # NONE【性能最佳,适用于生产】:不记录任何日志(默认值)。
+ # BASIC【适用于生产环境追踪问题】:仅记录请求方法、URL、响应状态代码以及执行时间。
+ # HEADERS:记录BASIC级别的基础上,记录请求和响应的header。
+ # FULL【比较适用于开发及测试环境定位问题】:记录请求和响应的header、body和元数据
+ loggerLevel: basic
+ hystrix:
+ enabled: true
+hystrix:
+ threadpool:
+ default:
+ coreSize: 200 #并发执行的最大线程数,默认10
+ maxQueueSize: 1000 #BlockingQueue的最大队列数,默认值-1
+ queueSizeRejectionThreshold: 800 #即使maxQueueSize没有达到,达到queueSizeRejectionThreshold该值后,请求也会被拒绝,默认值5
+ command:
+ default:
+ execution:
+ timeout:
+ enabled: true
+ isolation:
+ strategy: SEMAPHORE
+ thread:
+ timeoutInMilliseconds: 60000
+#ribbon的超时时间
+ribbon:
+ ReadTimeout: 60000
+ ConnectTimeout: 60000
+# sleuth
+logging:
+ level:
+ root: info
+ org.springframework.cloud.sleuth: DEBUG
+spring:
+# zipkin:
+# base-url: http://140.143.228.3:9411
+# sleuth:
+# sampler:
+# # 采样率,模式0.1,也就是10%,为了便于观察效果,改为1.0,也就是100%。生产环境建议保持默认。
+# probability: 0.1
+ cloud:
+ inetutils:
+ ignored-interfaces: ['VMware.*']
\ No newline at end of file
diff --git a/cloudutil/src/main/resources/application-util-test.yml b/cloudutil/src/main/resources/application-util-test.yml
new file mode 100644
index 0000000..e2790f9
--- /dev/null
+++ b/cloudutil/src/main/resources/application-util-test.yml
@@ -0,0 +1,146 @@
+#<<<<<<< HEAD
+##服务端点暴露
+#management:
+# endpoints:
+# web:
+# exposure:
+# # 暴露xxx端点,如需暴露多个,用,分隔;如需暴露所有端点,用'*'
+# include: auditevents,caches,conditions,flyway,health,heapdump,httptrace,info,integrationgraph,jolokia,logfile,loggers,liquibase,metrics,mappings,prometheus,scheduledtasks,sessions,shutdown,threaddump,hystrix.stream
+## # 不暴露哪些端点
+## exclude: env,beans,configprops
+# endpoint:
+# health:
+# # 是否展示健康检查详情
+# show-details: always
+# health:
+# redis:
+# enabled: false
+##eureka注册
+#eureka:
+# client:
+# service-url:
+# # 指定eureka server通信地址,注意/eureka/小尾巴不能少
+# #defaultZone: http://admin:admin@peer1:8761/eureka/,http://admin:admin@peer2:8762/eureka/
+## defaultZone: http://admin:admin@49.233.89.188:7010/eureka/
+# defaultZone: http://admin:admin@192.168.0.99:7010/eureka/
+# instance:
+# # 是否注册IP到eureka server,如不指定或设为false,那就回注册主机名到eureka server
+# prefer-ip-address: true
+# metadata-map:
+# management:
+# context-path: ${server.servlet.context-path:}/actuator
+# home-page-url-path: ${server.servlet.context-path:}/
+# status-page-url-path: ${server.servlet.context-path:}/actuator/info
+# health-check-url-path: ${server.servlet.context-path:}/actuator/health
+#feign:
+# client:
+# config:
+# default:
+# connectTime: 5000
+# readTimeout: 5000
+# # NONE【性能最佳,适用于生产】:不记录任何日志(默认值)。
+# # BASIC【适用于生产环境追踪问题】:仅记录请求方法、URL、响应状态代码以及执行时间。
+# # HEADERS:记录BASIC级别的基础上,记录请求和响应的header。
+# # FULL【比较适用于开发及测试环境定位问题】:记录请求和响应的header、body和元数据
+# loggerLevel: basic
+# hystrix:
+# enabled: true
+## sleuth
+#logging:
+# level:
+# root: info
+# org.springframework.cloud.sleuth: DEBUG
+#spring:
+## zipkin:
+## base-url: http://49.233.89.188:9411
+## sleuth:
+## sampler:
+## # 采样率,模式0.1,也就是10%,为了便于观察效果,改为1.0,也就是100%。生产环境建议保持默认。
+## probability: 1.0
+# cloud:
+# inetutils:
+#=======
+#服务端点暴露
+management:
+ endpoints:
+ web:
+ exposure:
+ # 暴露xxx端点,如需暴露多个,用,分隔;如需暴露所有端点,用'*'
+ include: auditevents,caches,conditions,flyway,health,heapdump,httptrace,info,integrationgraph,jolokia,logfile,loggers,liquibase,metrics,mappings,prometheus,scheduledtasks,sessions,shutdown,threaddump,hystrix.stream
+# # 不暴露哪些端点
+# exclude: env,beans,configprops
+ endpoint:
+ health:
+ # 是否展示健康检查详情
+ show-details: always
+ health:
+ redis:
+ enabled: false
+#eureka注册
+eureka:
+ client:
+ service-url:
+ # 指定eureka server通信地址,注意/eureka/小尾巴不能少
+ #defaultZone: http://admin:admin@peer1:8761/eureka/,http://admin:admin@peer2:8762/eureka/
+# defaultZone: http://admin:admin@49.232.6.143:7010/eureka/
+# defaultZone: http://admin:admin@192.168.0.99:7010/eureka/
+
+ defaultZone: http://admin:admin@192.168.0.99:7010/eureka/
+# defaultZone: http://admin:admin@192.168.31.13:7010/eureka/
+# defaultZone: http://admin:admin@test.tall.wiki:7010/eureka/
+ instance:
+ # 是否注册IP到eureka server,如不指定或设为false,那就回注册主机名到eureka server
+ prefer-ip-address: true
+ metadata-map:
+ management:
+ context-path: ${server.servlet.context-path:}/actuator
+ home-page-url-path: ${server.servlet.context-path:}/
+ status-page-url-path: ${server.servlet.context-path:}/actuator/info
+ health-check-url-path: ${server.servlet.context-path:}/actuator/health
+feign:
+ client:
+ config:
+ default:
+ connectTime: 60000
+ readTimeout: 60000
+ # NONE【性能最佳,适用于生产】:不记录任何日志(默认值)。
+ # BASIC【适用于生产环境追踪问题】:仅记录请求方法、URL、响应状态代码以及执行时间。
+ # HEADERS:记录BASIC级别的基础上,记录请求和响应的header。
+ # FULL【比较适用于开发及测试环境定位问题】:记录请求和响应的header、body和元数据
+ loggerLevel: basic
+ hystrix:
+ enabled: true
+hystrix:
+ command:
+ default:
+ execution:
+ timeout:
+ enabled: true
+ isolation:
+ strategy: THREAD
+ thread:
+ timeoutInMilliseconds: 60000
+ threadpool:
+ default:
+ coreSize: 200 #并发执行的最大线程数,默认10
+ maxQueueSize: 1000 #BlockingQueue的最大队列数,默认值-1
+ queueSizeRejectionThreshold: 800 #即使maxQueueSize没有达到,达到queueSizeRejectionThreshold该值后,请求也会被拒绝,默认值5
+#ribbon的超时时间
+ribbon:
+ ReadTimeout: 60000
+ ConnectTimeout: 60000
+# sleuth
+logging:
+ level:
+ root: info
+ org.springframework.cloud.sleuth: DEBUG
+spring:
+# zipkin:
+# base-url: http://49.233.89.188:9411
+# sleuth:
+# sampler:
+# # 采样率,模式0.1,也就是10%,为了便于观察效果,改为1.0,也就是100%。生产环境建议保持默认。
+# probability: 1.0
+ cloud:
+ inetutils:
+ ignored-interfaces: ['VMware.*']
\ No newline at end of file
diff --git a/dh_diplomatist/.gitignore b/dh_diplomatist/.gitignore
new file mode 100644
index 0000000..549e00a
--- /dev/null
+++ b/dh_diplomatist/.gitignore
@@ -0,0 +1,33 @@
+HELP.md
+target/
+!.mvn/wrapper/maven-wrapper.jar
+!**/src/main/**/target/
+!**/src/test/**/target/
+
+### STS ###
+.apt_generated
+.classpath
+.factorypath
+.project
+.settings
+.springBeans
+.sts4-cache
+
+### IntelliJ IDEA ###
+.idea
+*.iws
+*.iml
+*.ipr
+
+### NetBeans ###
+/nbproject/private/
+/nbbuild/
+/dist/
+/nbdist/
+/.nb-gradle/
+build/
+!**/src/main/**/build/
+!**/src/test/**/build/
+
+### VS Code ###
+.vscode/
diff --git a/dh_diplomatist/mvnw b/dh_diplomatist/mvnw
new file mode 100644
index 0000000..3c8a553
--- /dev/null
+++ b/dh_diplomatist/mvnw
@@ -0,0 +1,322 @@
+#!/bin/sh
+# ----------------------------------------------------------------------------
+# Licensed to the Apache Software Foundation (ASF) under one
+# or more contributor license agreements. See the NOTICE file
+# distributed with this work for additional information
+# regarding copyright ownership. The ASF licenses this file
+# to you under the Apache License, Version 2.0 (the
+# "License"); you may not use this file except in compliance
+# with the License. You may obtain a copy of the License at
+#
+# https://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing,
+# software distributed under the License is distributed on an
+# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+# KIND, either express or implied. See the License for the
+# specific language governing permissions and limitations
+# under the License.
+# ----------------------------------------------------------------------------
+
+# ----------------------------------------------------------------------------
+# Maven Start Up Batch script
+#
+# Required ENV vars:
+# ------------------
+# JAVA_HOME - location of a JDK home dir
+#
+# Optional ENV vars
+# -----------------
+# M2_HOME - location of maven2's installed home dir
+# MAVEN_OPTS - parameters passed to the Java VM when running Maven
+# e.g. to debug Maven itself, use
+# set MAVEN_OPTS=-Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=y,address=8000
+# MAVEN_SKIP_RC - flag to disable loading of mavenrc files
+# ----------------------------------------------------------------------------
+
+if [ -z "$MAVEN_SKIP_RC" ]; then
+
+ if [ -f /etc/mavenrc ]; then
+ . /etc/mavenrc
+ fi
+
+ if [ -f "$HOME/.mavenrc" ]; then
+ . "$HOME/.mavenrc"
+ fi
+
+fi
+
+# OS specific support. $var _must_ be set to either true or false.
+cygwin=false
+darwin=false
+mingw=false
+case "$(uname)" in
+CYGWIN*) cygwin=true ;;
+MINGW*) mingw=true ;;
+Darwin*)
+ darwin=true
+ # Use /usr/libexec/java_home if available, otherwise fall back to /Library/Java/Home
+ # See https://developer.apple.com/library/mac/qa/qa1170/_index.html
+ if [ -z "$JAVA_HOME" ]; then
+ if [ -x "/usr/libexec/java_home" ]; then
+ export JAVA_HOME="$(/usr/libexec/java_home)"
+ else
+ export JAVA_HOME="/Library/Java/Home"
+ fi
+ fi
+ ;;
+esac
+
+if [ -z "$JAVA_HOME" ]; then
+ if [ -r /etc/gentoo-release ]; then
+ JAVA_HOME=$(java-config --jre-home)
+ fi
+fi
+
+if [ -z "$M2_HOME" ]; then
+ ## resolve links - $0 may be a link to maven's home
+ PRG="$0"
+
+ # need this for relative symlinks
+ while [ -h "$PRG" ]; do
+ ls=$(ls -ld "$PRG")
+ link=$(expr "$ls" : '.*-> \(.*\)$')
+ if expr "$link" : '/.*' >/dev/null; then
+ PRG="$link"
+ else
+ PRG="$(dirname "$PRG")/$link"
+ fi
+ done
+
+ saveddir=$(pwd)
+
+ M2_HOME=$(dirname "$PRG")/..
+
+ # make it fully qualified
+ M2_HOME=$(cd "$M2_HOME" && pwd)
+
+ cd "$saveddir"
+ # echo Using m2 at $M2_HOME
+fi
+
+# For Cygwin, ensure paths are in UNIX format before anything is touched
+if $cygwin; then
+ [ -n "$M2_HOME" ] &&
+ M2_HOME=$(cygpath --unix "$M2_HOME")
+ [ -n "$JAVA_HOME" ] &&
+ JAVA_HOME=$(cygpath --unix "$JAVA_HOME")
+ [ -n "$CLASSPATH" ] &&
+ CLASSPATH=$(cygpath --path --unix "$CLASSPATH")
+fi
+
+# For Mingw, ensure paths are in UNIX format before anything is touched
+if $mingw; then
+ [ -n "$M2_HOME" ] &&
+ M2_HOME="$( (
+ cd "$M2_HOME"
+ pwd
+ ))"
+ [ -n "$JAVA_HOME" ] &&
+ JAVA_HOME="$( (
+ cd "$JAVA_HOME"
+ pwd
+ ))"
+fi
+
+if [ -z "$JAVA_HOME" ]; then
+ javaExecutable="$(which javac)"
+ if [ -n "$javaExecutable" ] && ! [ "$(expr \"$javaExecutable\" : '\([^ ]*\)')" = "no" ]; then
+ # readlink(1) is not available as standard on Solaris 10.
+ readLink=$(which readlink)
+ if [ ! $(expr "$readLink" : '\([^ ]*\)') = "no" ]; then
+ if $darwin; then
+ javaHome="$(dirname \"$javaExecutable\")"
+ javaExecutable="$(cd \"$javaHome\" && pwd -P)/javac"
+ else
+ javaExecutable="$(readlink -f \"$javaExecutable\")"
+ fi
+ javaHome="$(dirname \"$javaExecutable\")"
+ javaHome=$(expr "$javaHome" : '\(.*\)/bin')
+ JAVA_HOME="$javaHome"
+ export JAVA_HOME
+ fi
+ fi
+fi
+
+if [ -z "$JAVACMD" ]; then
+ if [ -n "$JAVA_HOME" ]; then
+ if [ -x "$JAVA_HOME/jre/sh/java" ]; then
+ # IBM's JDK on AIX uses strange locations for the executables
+ JAVACMD="$JAVA_HOME/jre/sh/java"
+ else
+ JAVACMD="$JAVA_HOME/bin/java"
+ fi
+ else
+ JAVACMD="$(which java)"
+ fi
+fi
+
+if [ ! -x "$JAVACMD" ]; then
+ echo "Error: JAVA_HOME is not defined correctly." >&2
+ echo " We cannot execute $JAVACMD" >&2
+ exit 1
+fi
+
+if [ -z "$JAVA_HOME" ]; then
+ echo "Warning: JAVA_HOME environment variable is not set."
+fi
+
+CLASSWORLDS_LAUNCHER=org.codehaus.plexus.classworlds.launcher.Launcher
+
+# traverses directory structure from process work directory to filesystem root
+# first directory with .mvn subdirectory is considered project base directory
+find_maven_basedir() {
+
+ if [ -z "$1" ]; then
+ echo "Path not specified to find_maven_basedir"
+ return 1
+ fi
+
+ basedir="$1"
+ wdir="$1"
+ while [ "$wdir" != '/' ]; do
+ if [ -d "$wdir"/.mvn ]; then
+ basedir=$wdir
+ break
+ fi
+ # workaround for JBEAP-8937 (on Solaris 10/Sparc)
+ if [ -d "${wdir}" ]; then
+ wdir=$(
+ cd "$wdir/.."
+ pwd
+ )
+ fi
+ # end of workaround
+ done
+ echo "${basedir}"
+}
+
+# concatenates all lines of a file
+concat_lines() {
+ if [ -f "$1" ]; then
+ echo "$(tr -s '\n' ' ' <"$1")"
+ fi
+}
+
+BASE_DIR=$(find_maven_basedir "$(pwd)")
+if [ -z "$BASE_DIR" ]; then
+ exit 1
+fi
+
+##########################################################################################
+# Extension to allow automatically downloading the maven-wrapper.jar from Maven-central
+# This allows using the maven wrapper in projects that prohibit checking in binary data.
+##########################################################################################
+if [ -r "$BASE_DIR/.mvn/wrapper/maven-wrapper.jar" ]; then
+ if [ "$MVNW_VERBOSE" = true ]; then
+ echo "Found .mvn/wrapper/maven-wrapper.jar"
+ fi
+else
+ if [ "$MVNW_VERBOSE" = true ]; then
+ echo "Couldn't find .mvn/wrapper/maven-wrapper.jar, downloading it ..."
+ fi
+ if [ -n "$MVNW_REPOURL" ]; then
+ jarUrl="$MVNW_REPOURL/io/takari/maven-wrapper/0.5.6/maven-wrapper-0.5.6.jar"
+ else
+ jarUrl="https://repo.maven.apache.org/maven2/io/takari/maven-wrapper/0.5.6/maven-wrapper-0.5.6.jar"
+ fi
+ while IFS="=" read key value; do
+ case "$key" in wrapperUrl)
+ jarUrl="$value"
+ break
+ ;;
+ esac
+ done <"$BASE_DIR/.mvn/wrapper/maven-wrapper.properties"
+ if [ "$MVNW_VERBOSE" = true ]; then
+ echo "Downloading from: $jarUrl"
+ fi
+ wrapperJarPath="$BASE_DIR/.mvn/wrapper/maven-wrapper.jar"
+ if $cygwin; then
+ wrapperJarPath=$(cygpath --path --windows "$wrapperJarPath")
+ fi
+
+ if command -v wget >/dev/null; then
+ if [ "$MVNW_VERBOSE" = true ]; then
+ echo "Found wget ... using wget"
+ fi
+ if [ -z "$MVNW_USERNAME" ] || [ -z "$MVNW_PASSWORD" ]; then
+ wget "$jarUrl" -O "$wrapperJarPath"
+ else
+ wget --http-user=$MVNW_USERNAME --http-password=$MVNW_PASSWORD "$jarUrl" -O "$wrapperJarPath"
+ fi
+ elif command -v curl >/dev/null; then
+ if [ "$MVNW_VERBOSE" = true ]; then
+ echo "Found curl ... using curl"
+ fi
+ if [ -z "$MVNW_USERNAME" ] || [ -z "$MVNW_PASSWORD" ]; then
+ curl -o "$wrapperJarPath" "$jarUrl" -f
+ else
+ curl --user $MVNW_USERNAME:$MVNW_PASSWORD -o "$wrapperJarPath" "$jarUrl" -f
+ fi
+
+ else
+ if [ "$MVNW_VERBOSE" = true ]; then
+ echo "Falling back to using Java to download"
+ fi
+ javaClass="$BASE_DIR/.mvn/wrapper/MavenWrapperDownloader.java"
+ # For Cygwin, switch paths to Windows format before running javac
+ if $cygwin; then
+ javaClass=$(cygpath --path --windows "$javaClass")
+ fi
+ if [ -e "$javaClass" ]; then
+ if [ ! -e "$BASE_DIR/.mvn/wrapper/MavenWrapperDownloader.class" ]; then
+ if [ "$MVNW_VERBOSE" = true ]; then
+ echo " - Compiling MavenWrapperDownloader.java ..."
+ fi
+ # Compiling the Java class
+ ("$JAVA_HOME/bin/javac" "$javaClass")
+ fi
+ if [ -e "$BASE_DIR/.mvn/wrapper/MavenWrapperDownloader.class" ]; then
+ # Running the downloader
+ if [ "$MVNW_VERBOSE" = true ]; then
+ echo " - Running MavenWrapperDownloader.java ..."
+ fi
+ ("$JAVA_HOME/bin/java" -cp .mvn/wrapper MavenWrapperDownloader "$MAVEN_PROJECTBASEDIR")
+ fi
+ fi
+ fi
+fi
+##########################################################################################
+# End of extension
+##########################################################################################
+
+export MAVEN_PROJECTBASEDIR=${MAVEN_BASEDIR:-"$BASE_DIR"}
+if [ "$MVNW_VERBOSE" = true ]; then
+ echo $MAVEN_PROJECTBASEDIR
+fi
+MAVEN_OPTS="$(concat_lines "$MAVEN_PROJECTBASEDIR/.mvn/jvm.config") $MAVEN_OPTS"
+
+# For Cygwin, switch paths to Windows format before running java
+if $cygwin; then
+ [ -n "$M2_HOME" ] &&
+ M2_HOME=$(cygpath --path --windows "$M2_HOME")
+ [ -n "$JAVA_HOME" ] &&
+ JAVA_HOME=$(cygpath --path --windows "$JAVA_HOME")
+ [ -n "$CLASSPATH" ] &&
+ CLASSPATH=$(cygpath --path --windows "$CLASSPATH")
+ [ -n "$MAVEN_PROJECTBASEDIR" ] &&
+ MAVEN_PROJECTBASEDIR=$(cygpath --path --windows "$MAVEN_PROJECTBASEDIR")
+fi
+
+# Provide a "standardized" way to retrieve the CLI args that will
+# work with both Windows and non-Windows executions.
+MAVEN_CMD_LINE_ARGS="$MAVEN_CONFIG $@"
+export MAVEN_CMD_LINE_ARGS
+
+WRAPPER_LAUNCHER=org.apache.maven.wrapper.MavenWrapperMain
+
+exec "$JAVACMD" \
+ $MAVEN_OPTS \
+ -classpath "$MAVEN_PROJECTBASEDIR/.mvn/wrapper/maven-wrapper.jar" \
+ "-Dmaven.home=${M2_HOME}" "-Dmaven.multiModuleProjectDirectory=${MAVEN_PROJECTBASEDIR}" \
+ ${WRAPPER_LAUNCHER} $MAVEN_CONFIG "$@"
diff --git a/dh_diplomatist/mvnw.cmd b/dh_diplomatist/mvnw.cmd
new file mode 100644
index 0000000..c8d4337
--- /dev/null
+++ b/dh_diplomatist/mvnw.cmd
@@ -0,0 +1,182 @@
+@REM ----------------------------------------------------------------------------
+@REM Licensed to the Apache Software Foundation (ASF) under one
+@REM or more contributor license agreements. See the NOTICE file
+@REM distributed with this work for additional information
+@REM regarding copyright ownership. The ASF licenses this file
+@REM to you under the Apache License, Version 2.0 (the
+@REM "License"); you may not use this file except in compliance
+@REM with the License. You may obtain a copy of the License at
+@REM
+@REM https://www.apache.org/licenses/LICENSE-2.0
+@REM
+@REM Unless required by applicable law or agreed to in writing,
+@REM software distributed under the License is distributed on an
+@REM "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+@REM KIND, either express or implied. See the License for the
+@REM specific language governing permissions and limitations
+@REM under the License.
+@REM ----------------------------------------------------------------------------
+
+@REM ----------------------------------------------------------------------------
+@REM Maven Start Up Batch script
+@REM
+@REM Required ENV vars:
+@REM JAVA_HOME - location of a JDK home dir
+@REM
+@REM Optional ENV vars
+@REM M2_HOME - location of maven2's installed home dir
+@REM MAVEN_BATCH_ECHO - set to 'on' to enable the echoing of the batch commands
+@REM MAVEN_BATCH_PAUSE - set to 'on' to wait for a keystroke before ending
+@REM MAVEN_OPTS - parameters passed to the Java VM when running Maven
+@REM e.g. to debug Maven itself, use
+@REM set MAVEN_OPTS=-Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=y,address=8000
+@REM MAVEN_SKIP_RC - flag to disable loading of mavenrc files
+@REM ----------------------------------------------------------------------------
+
+@REM Begin all REM lines with '@' in case MAVEN_BATCH_ECHO is 'on'
+@echo off
+@REM set title of command window
+title %0
+@REM enable echoing by setting MAVEN_BATCH_ECHO to 'on'
+@if "%MAVEN_BATCH_ECHO%" == "on" echo %MAVEN_BATCH_ECHO%
+
+@REM set %HOME% to equivalent of $HOME
+if "%HOME%" == "" (set "HOME=%HOMEDRIVE%%HOMEPATH%")
+
+@REM Execute a user defined script before this one
+if not "%MAVEN_SKIP_RC%" == "" goto skipRcPre
+@REM check for pre script, once with legacy .bat ending and once with .cmd ending
+if exist "%HOME%\mavenrc_pre.bat" call "%HOME%\mavenrc_pre.bat"
+if exist "%HOME%\mavenrc_pre.cmd" call "%HOME%\mavenrc_pre.cmd"
+:skipRcPre
+
+@setlocal
+
+set ERROR_CODE=0
+
+@REM To isolate internal variables from possible post scripts, we use another setlocal
+@setlocal
+
+@REM ==== START VALIDATION ====
+if not "%JAVA_HOME%" == "" goto OkJHome
+
+echo.
+echo Error: JAVA_HOME not found in your environment. >&2
+echo Please set the JAVA_HOME variable in your environment to match the >&2
+echo location of your Java installation. >&2
+echo.
+goto error
+
+:OkJHome
+if exist "%JAVA_HOME%\bin\java.exe" goto init
+
+echo.
+echo Error: JAVA_HOME is set to an invalid directory. >&2
+echo JAVA_HOME = "%JAVA_HOME%" >&2
+echo Please set the JAVA_HOME variable in your environment to match the >&2
+echo location of your Java installation. >&2
+echo.
+goto error
+
+@REM ==== END VALIDATION ====
+
+:init
+
+@REM Find the project base dir, i.e. the directory that contains the folder ".mvn".
+@REM Fallback to current working directory if not found.
+
+set MAVEN_PROJECTBASEDIR=%MAVEN_BASEDIR%
+IF NOT "%MAVEN_PROJECTBASEDIR%"=="" goto endDetectBaseDir
+
+set EXEC_DIR=%CD%
+set WDIR=%EXEC_DIR%
+:findBaseDir
+IF EXIST "%WDIR%"\.mvn goto baseDirFound
+cd ..
+IF "%WDIR%"=="%CD%" goto baseDirNotFound
+set WDIR=%CD%
+goto findBaseDir
+
+:baseDirFound
+set MAVEN_PROJECTBASEDIR=%WDIR%
+cd "%EXEC_DIR%"
+goto endDetectBaseDir
+
+:baseDirNotFound
+set MAVEN_PROJECTBASEDIR=%EXEC_DIR%
+cd "%EXEC_DIR%"
+
+:endDetectBaseDir
+
+IF NOT EXIST "%MAVEN_PROJECTBASEDIR%\.mvn\jvm.config" goto endReadAdditionalConfig
+
+@setlocal EnableExtensions EnableDelayedExpansion
+for /F "usebackq delims=" %%a in ("%MAVEN_PROJECTBASEDIR%\.mvn\jvm.config") do set JVM_CONFIG_MAVEN_PROPS=!JVM_CONFIG_MAVEN_PROPS! %%a
+@endlocal & set JVM_CONFIG_MAVEN_PROPS=%JVM_CONFIG_MAVEN_PROPS%
+
+:endReadAdditionalConfig
+
+SET MAVEN_JAVA_EXE="%JAVA_HOME%\bin\java.exe"
+set WRAPPER_JAR="%MAVEN_PROJECTBASEDIR%\.mvn\wrapper\maven-wrapper.jar"
+set WRAPPER_LAUNCHER=org.apache.maven.wrapper.MavenWrapperMain
+
+set DOWNLOAD_URL="https://repo.maven.apache.org/maven2/io/takari/maven-wrapper/0.5.6/maven-wrapper-0.5.6.jar"
+
+FOR /F "tokens=1,2 delims==" %%A IN ("%MAVEN_PROJECTBASEDIR%\.mvn\wrapper\maven-wrapper.properties") DO (
+ IF "%%A"=="wrapperUrl" SET DOWNLOAD_URL=%%B
+)
+
+@REM Extension to allow automatically downloading the maven-wrapper.jar from Maven-central
+@REM This allows using the maven wrapper in projects that prohibit checking in binary data.
+if exist %WRAPPER_JAR% (
+ if "%MVNW_VERBOSE%" == "true" (
+ echo Found %WRAPPER_JAR%
+ )
+) else (
+ if not "%MVNW_REPOURL%" == "" (
+ SET DOWNLOAD_URL="%MVNW_REPOURL%/io/takari/maven-wrapper/0.5.6/maven-wrapper-0.5.6.jar"
+ )
+ if "%MVNW_VERBOSE%" == "true" (
+ echo Couldn't find %WRAPPER_JAR%, downloading it ...
+ echo Downloading from: %DOWNLOAD_URL%
+ )
+
+ powershell -Command "&{"^
+ "$webclient = new-object System.Net.WebClient;"^
+ "if (-not ([string]::IsNullOrEmpty('%MVNW_USERNAME%') -and [string]::IsNullOrEmpty('%MVNW_PASSWORD%'))) {"^
+ "$webclient.Credentials = new-object System.Net.NetworkCredential('%MVNW_USERNAME%', '%MVNW_PASSWORD%');"^
+ "}"^
+ "[Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12; $webclient.DownloadFile('%DOWNLOAD_URL%', '%WRAPPER_JAR%')"^
+ "}"
+ if "%MVNW_VERBOSE%" == "true" (
+ echo Finished downloading %WRAPPER_JAR%
+ )
+)
+@REM End of extension
+
+@REM Provide a "standardized" way to retrieve the CLI args that will
+@REM work with both Windows and non-Windows executions.
+set MAVEN_CMD_LINE_ARGS=%*
+
+%MAVEN_JAVA_EXE% %JVM_CONFIG_MAVEN_PROPS% %MAVEN_OPTS% %MAVEN_DEBUG_OPTS% -classpath %WRAPPER_JAR% "-Dmaven.multiModuleProjectDirectory=%MAVEN_PROJECTBASEDIR%" %WRAPPER_LAUNCHER% %MAVEN_CONFIG% %*
+if ERRORLEVEL 1 goto error
+goto end
+
+:error
+set ERROR_CODE=1
+
+:end
+@endlocal & set ERROR_CODE=%ERROR_CODE%
+
+if not "%MAVEN_SKIP_RC%" == "" goto skipRcPost
+@REM check for post script, once with legacy .bat ending and once with .cmd ending
+if exist "%HOME%\mavenrc_post.bat" call "%HOME%\mavenrc_post.bat"
+if exist "%HOME%\mavenrc_post.cmd" call "%HOME%\mavenrc_post.cmd"
+:skipRcPost
+
+@REM pause the script if MAVEN_BATCH_PAUSE is set to 'on'
+if "%MAVEN_BATCH_PAUSE%" == "on" pause
+
+if "%MAVEN_TERMINATE_CMD%" == "on" exit %ERROR_CODE%
+
+exit /B %ERROR_CODE%
diff --git a/dh_diplomatist/pom.xml b/dh_diplomatist/pom.xml
new file mode 100644
index 0000000..ec2b595
--- /dev/null
+++ b/dh_diplomatist/pom.xml
@@ -0,0 +1,90 @@
+
+
+ 4.0.0
+
+ ccsens_dh
+ com.ccsens
+ 1.0-SNAPSHOT
+
+
+ dh_diplomatist
+
+ 0.0.1-SNAPSHOT
+
+ dh_diplomatist
+
+ Demo project for Spring Boot
+
+ 1.8
+
+
+
+
+
+ cloudutil
+ com.ccsens
+ 1.0-SNAPSHOT
+
+
+
+
+
+
+
+
+
+ com.ccsens
+ util
+ 1.0-SNAPSHOT
+ compile
+
+
+
+ wechatutil
+ com.ccsens
+ 1.0-SNAPSHOT
+
+
+
+
+
+
+
+
+ org.mybatis.generator
+ mybatis-generator-maven-plugin
+ 1.3.7
+
+ ${basedir}/src/main/resources/mbg.xml
+ true
+
+
+
+ mysql
+ mysql-connector-java
+ 5.1.34
+
+
+
+
+ org.springframework.boot
+ spring-boot-maven-plugin
+
+ com.ccsens.dh_diplomatist.DhDiplomatistApplication
+
+
+
+
+
+ repackage
+
+
+
+
+
+
+
+
+
+
diff --git a/dh_diplomatist/src/main/java/com/ccsens/dh_diplomatist/DhDiplomatistApplication.java b/dh_diplomatist/src/main/java/com/ccsens/dh_diplomatist/DhDiplomatistApplication.java
new file mode 100644
index 0000000..010a507
--- /dev/null
+++ b/dh_diplomatist/src/main/java/com/ccsens/dh_diplomatist/DhDiplomatistApplication.java
@@ -0,0 +1,33 @@
+package com.ccsens.dh_diplomatist;
+
+import com.ccsens.cloudutil.ribbon.RibbonConfiguration;
+import org.mybatis.spring.annotation.MapperScan;
+import org.springframework.boot.SpringApplication;
+import org.springframework.boot.autoconfigure.SpringBootApplication;
+import org.springframework.boot.web.servlet.ServletComponentScan;
+import org.springframework.cloud.client.circuitbreaker.EnableCircuitBreaker;
+import org.springframework.cloud.openfeign.EnableFeignClients;
+import org.springframework.context.annotation.ComponentScan;
+import org.springframework.context.annotation.FilterType;
+import org.springframework.scheduling.annotation.EnableAsync;
+import org.springframework.scheduling.annotation.EnableScheduling;
+
+/**
+ * @author 逗
+ */
+@MapperScan(basePackages = {"com.ccsens.dh_diplomatist.persist.*","com.ccsens.common.persist.*"})
+@ServletComponentScan
+@EnableAsync
+@EnableScheduling
+//开启断路器功能
+@EnableCircuitBreaker
+@EnableFeignClients(basePackages = "com.ccsens.cloudutil.feign")
+@SpringBootApplication
+@ComponentScan(basePackages = "com.ccsens", excludeFilters = { @ComponentScan.Filter(type= FilterType.ASSIGNABLE_TYPE, value = RibbonConfiguration.class)})
+public class DhDiplomatistApplication {
+
+ public static void main(String[] args) {
+ SpringApplication.run(DhDiplomatistApplication.class, args);
+ }
+
+}
diff --git a/dh_diplomatist/src/main/java/com/ccsens/dh_diplomatist/api/DebugController.java b/dh_diplomatist/src/main/java/com/ccsens/dh_diplomatist/api/DebugController.java
new file mode 100644
index 0000000..033b7c5
--- /dev/null
+++ b/dh_diplomatist/src/main/java/com/ccsens/dh_diplomatist/api/DebugController.java
@@ -0,0 +1,32 @@
+package com.ccsens.dh_diplomatist.api;
+
+import com.ccsens.util.JsonResponse;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiImplicitParams;
+import io.swagger.annotations.ApiOperation;
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RequestMethod;
+import org.springframework.web.bind.annotation.RestController;
+
+import javax.servlet.http.HttpServletRequest;
+
+/**
+ * @author 逗
+ */
+@Api(tags = "DEBUG" , description = "DebugController | ")
+@RestController
+@RequestMapping("/debug")
+@Slf4j
+public class DebugController {
+
+ @ApiOperation(value = "/测试",notes = "")
+ @ApiImplicitParams({
+ })
+ @RequestMapping(value="",method = RequestMethod.GET,produces = {"application/json;charset=UTF-8"})
+ public JsonResponse debug(HttpServletRequest request) throws Exception {
+
+ return JsonResponse.newInstance().ok("测试");
+ }
+
+}
diff --git a/dh_diplomatist/src/main/java/com/ccsens/dh_diplomatist/api/DomainController.java b/dh_diplomatist/src/main/java/com/ccsens/dh_diplomatist/api/DomainController.java
new file mode 100644
index 0000000..653111c
--- /dev/null
+++ b/dh_diplomatist/src/main/java/com/ccsens/dh_diplomatist/api/DomainController.java
@@ -0,0 +1,58 @@
+package com.ccsens.dh_diplomatist.api;
+
+import cn.hutool.extra.servlet.ServletUtil;
+import com.ccsens.dh_diplomatist.bean.dto.HeartbeatDto;
+import com.ccsens.dh_diplomatist.bean.dto.UserDto;
+import com.ccsens.dh_diplomatist.bean.vo.DomainVo;
+import com.ccsens.dh_diplomatist.service.IDomainService;
+import com.ccsens.util.JsonResponse;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import io.swagger.annotations.ApiParam;
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.validation.annotation.Validated;
+import org.springframework.web.bind.annotation.*;
+
+import javax.annotation.Resource;
+import javax.servlet.http.HttpServletRequest;
+import java.util.List;
+
+/**
+ * @author 逗
+ */
+@Api(tags = "domain" , description = "域信息相关接口")
+@RestController
+@RequestMapping("/domain")
+@Slf4j
+public class DomainController {
+ @Resource
+ private IDomainService domainService;
+
+ @ApiOperation(value = "查询用户关联的域列表(PT--传达室)", notes = "")
+ @RequestMapping(value = "/query", method = RequestMethod.POST, produces = {"application/json;charset=UTF-8"})
+ public JsonResponse> queryDomainByPt(@ApiParam @Validated @RequestBody UserDto.PhoneAndIdCard params) throws Exception{
+ log.info("PT查询用户关联的域列表:{}",params);
+
+ log.info("PT查询用户关联的域列表返回:{}",params);
+ return JsonResponse.newInstance().ok();
+ }
+
+ @ApiOperation(value = "根据用户信息查询用户的访问权限(传达室--传达室)", notes = "")
+ @RequestMapping(value = "/queryByIdc", method = RequestMethod.POST, produces = {"application/json;charset=UTF-8"})
+ public JsonResponse queryDomainByIdc(@ApiParam @Validated @RequestBody UserDto.PhoneAndIdCard params) throws Exception{
+ log.info("根据用户信息查询用户的访问权限:{}",params);
+
+ log.info("根据用户信息查询用户的访问权限返回:{}",params);
+ return JsonResponse.newInstance().ok();
+ }
+
+ @ApiOperation(value = "接收私域的请求返回域列表", notes = "")
+ @RequestMapping(value = "list", method = RequestMethod.POST, produces = {"application/json;charset=UTF-8"})
+ public JsonResponse> heartbeatQueryList(HttpServletRequest request,
+ @ApiParam @Validated @RequestBody HeartbeatDto.SendDomain param) throws Exception{
+ log.info("接收私域的查询域列表请求");
+ List domainInfos = domainService.heartbeatQueryList(param, ServletUtil.getClientIP(request));
+ log.info("返回域列表信息给私域:{}",domainInfos);
+ return JsonResponse.newInstance().ok(domainInfos);
+ }
+}
diff --git a/dh_diplomatist/src/main/java/com/ccsens/dh_diplomatist/api/HeartbeatController.java b/dh_diplomatist/src/main/java/com/ccsens/dh_diplomatist/api/HeartbeatController.java
new file mode 100644
index 0000000..abb5be6
--- /dev/null
+++ b/dh_diplomatist/src/main/java/com/ccsens/dh_diplomatist/api/HeartbeatController.java
@@ -0,0 +1,38 @@
+package com.ccsens.dh_diplomatist.api;
+
+import cn.hutool.extra.servlet.ServletUtil;
+import com.ccsens.dh_diplomatist.bean.dto.HeartbeatDto;
+import com.ccsens.dh_diplomatist.service.IHeartbeatService;
+import com.ccsens.util.JsonResponse;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import io.swagger.annotations.ApiParam;
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.validation.annotation.Validated;
+import org.springframework.web.bind.annotation.*;
+
+import javax.annotation.Resource;
+import javax.servlet.http.HttpServletRequest;
+
+/**
+ * @author 逗
+ */
+@Api(tags = "heartbeat" , description = "域信息相关接口")
+@RestController
+@RequestMapping("/heartbeat")
+@Slf4j
+public class HeartbeatController {
+ @Resource
+ private IHeartbeatService heartbeatService;
+
+ @ApiOperation(value = "接收私域的心跳", notes = "")
+ @RequestMapping(value = "", method = RequestMethod.POST, produces = {"application/json;charset=UTF-8"})
+ public JsonResponse receiveHeartbeat(HttpServletRequest request, @ApiParam @Validated @RequestBody HeartbeatDto.SendDomain param) throws Exception{
+ log.info("接收私域的心跳");
+ heartbeatService.inHeartbeat(param,ServletUtil.getClientIP(request));
+ log.info("接受心跳后正确返回");
+ return JsonResponse.newInstance().ok();
+ }
+
+
+}
diff --git a/dh_diplomatist/src/main/java/com/ccsens/dh_diplomatist/api/UserController.java b/dh_diplomatist/src/main/java/com/ccsens/dh_diplomatist/api/UserController.java
new file mode 100644
index 0000000..c9c0ee9
--- /dev/null
+++ b/dh_diplomatist/src/main/java/com/ccsens/dh_diplomatist/api/UserController.java
@@ -0,0 +1,35 @@
+package com.ccsens.dh_diplomatist.api;
+
+import io.swagger.annotations.Api;
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+/**
+ * @author 逗
+ */
+@Api(tags = "user" , description = "用户信息相关接口")
+@RestController
+@RequestMapping("/user")
+@Slf4j
+public class UserController {
+
+
+// @ApiOperation(value = "tall调用数据中心添加用户", notes = "")
+// @RequestMapping(value = "/saveUserByTall", method = RequestMethod.POST, produces = {"application/json;charset=UTF-8"})
+// public JsonResponse saveUserByTall(@ApiParam @Validated @RequestBody UserDto.DomainUser params) throws Exception{
+// log.info("tall调用数据中心添加用户:{}",params);
+//
+// log.info("tall调用数据中心添加用户成功");
+// return JsonResponse.newInstance().ok();
+// }
+//
+// @ApiOperation(value = "私域调用公域数据中心添加用户", notes = "")
+// @RequestMapping(value = "/saveUserByIdc", method = RequestMethod.POST, produces = {"application/json;charset=UTF-8"})
+// public JsonResponse saveUserByIdc(@ApiParam @Validated @RequestBody UserDto.DomainUser params) throws Exception{
+// log.info("私域调用公域数据中心添加用户:{}",params);
+//
+// log.info("私域调用公域数据中心添加用户成功");
+// return JsonResponse.newInstance().ok();
+// }
+}
diff --git a/dh_diplomatist/src/main/java/com/ccsens/dh_diplomatist/bean/dto/HeartbeatDto.java b/dh_diplomatist/src/main/java/com/ccsens/dh_diplomatist/bean/dto/HeartbeatDto.java
new file mode 100644
index 0000000..9f528e0
--- /dev/null
+++ b/dh_diplomatist/src/main/java/com/ccsens/dh_diplomatist/bean/dto/HeartbeatDto.java
@@ -0,0 +1,37 @@
+package com.ccsens.dh_diplomatist.bean.dto;
+
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+/**
+ * @author 逗
+ */
+public class HeartbeatDto {
+
+ @Data
+ @ApiModel("域之间传递的信息")
+ public static class SendDomain {
+ @ApiModelProperty("域code")
+ private String code;
+ @ApiModelProperty("发送时的时间戳")
+ private Long timestamp;
+ @ApiModelProperty("随机码")
+ private String noncestr;
+ @ApiModelProperty("签名后信息")
+ private byte[] data;
+ }
+
+ @Data
+ @ApiModel("心跳里的域信息")
+ public static class MessageDomainInfo {
+ @ApiModelProperty("域id")
+ private Long id;
+ @ApiModelProperty("域名称")
+ private String name;
+ @ApiModelProperty("域code")
+ private String code;
+ @ApiModelProperty("ip")
+ private String host;
+ }
+}
diff --git a/dh_diplomatist/src/main/java/com/ccsens/dh_diplomatist/bean/dto/UserDto.java b/dh_diplomatist/src/main/java/com/ccsens/dh_diplomatist/bean/dto/UserDto.java
new file mode 100644
index 0000000..c5aa079
--- /dev/null
+++ b/dh_diplomatist/src/main/java/com/ccsens/dh_diplomatist/bean/dto/UserDto.java
@@ -0,0 +1,37 @@
+package com.ccsens.dh_diplomatist.bean.dto;
+
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import java.util.List;
+
+/**
+ * @author 逗
+ */
+@Data
+public class UserDto {
+
+ @Data
+ @ApiModel("用户身份证和手机号")
+ public static class PhoneAndIdCard{
+ @ApiModelProperty("手机号")
+ private String phone;
+ @ApiModelProperty("身份证号")
+ private String idCard;
+ }
+
+ @Data
+ @ApiModel("域内用户信息")
+ public static class DomainUser{
+ @ApiModelProperty("手机号")
+ private String name;
+ @ApiModelProperty("身份证号")
+ private String code;
+ @ApiModelProperty("身份证号")
+ private String domainName;
+ @ApiModelProperty("身份证号")
+ private List userList;
+ }
+
+}
diff --git a/dh_diplomatist/src/main/java/com/ccsens/dh_diplomatist/bean/po/IdcBusiness.java b/dh_diplomatist/src/main/java/com/ccsens/dh_diplomatist/bean/po/IdcBusiness.java
new file mode 100644
index 0000000..fde211e
--- /dev/null
+++ b/dh_diplomatist/src/main/java/com/ccsens/dh_diplomatist/bean/po/IdcBusiness.java
@@ -0,0 +1,117 @@
+package com.ccsens.dh_diplomatist.bean.po;
+
+import java.io.Serializable;
+import java.util.Date;
+
+public class IdcBusiness implements Serializable {
+ private Long id;
+
+ private String name;
+
+ private String code;
+
+ private String description;
+
+ private Long creatorId;
+
+ private Long operator;
+
+ private Date createdAt;
+
+ private Date updatedAt;
+
+ private Byte recStatus;
+
+ private static final long serialVersionUID = 1L;
+
+ public Long getId() {
+ return id;
+ }
+
+ public void setId(Long id) {
+ this.id = id;
+ }
+
+ public String getName() {
+ return name;
+ }
+
+ public void setName(String name) {
+ this.name = name == null ? null : name.trim();
+ }
+
+ public String getCode() {
+ return code;
+ }
+
+ public void setCode(String code) {
+ this.code = code == null ? null : code.trim();
+ }
+
+ public String getDescription() {
+ return description;
+ }
+
+ public void setDescription(String description) {
+ this.description = description == null ? null : description.trim();
+ }
+
+ public Long getCreatorId() {
+ return creatorId;
+ }
+
+ public void setCreatorId(Long creatorId) {
+ this.creatorId = creatorId;
+ }
+
+ public Long getOperator() {
+ return operator;
+ }
+
+ public void setOperator(Long operator) {
+ this.operator = operator;
+ }
+
+ public Date getCreatedAt() {
+ return createdAt;
+ }
+
+ public void setCreatedAt(Date createdAt) {
+ this.createdAt = createdAt;
+ }
+
+ public Date getUpdatedAt() {
+ return updatedAt;
+ }
+
+ public void setUpdatedAt(Date updatedAt) {
+ this.updatedAt = updatedAt;
+ }
+
+ public Byte getRecStatus() {
+ return recStatus;
+ }
+
+ public void setRecStatus(Byte recStatus) {
+ this.recStatus = recStatus;
+ }
+
+ @Override
+ public String toString() {
+ StringBuilder sb = new StringBuilder();
+ sb.append(getClass().getSimpleName());
+ sb.append(" [");
+ sb.append("Hash = ").append(hashCode());
+ sb.append(", id=").append(id);
+ sb.append(", name=").append(name);
+ sb.append(", code=").append(code);
+ sb.append(", description=").append(description);
+ sb.append(", creatorId=").append(creatorId);
+ sb.append(", operator=").append(operator);
+ sb.append(", createdAt=").append(createdAt);
+ sb.append(", updatedAt=").append(updatedAt);
+ sb.append(", recStatus=").append(recStatus);
+ sb.append("]");
+ return sb.toString();
+ }
+}
\ No newline at end of file
diff --git a/dh_diplomatist/src/main/java/com/ccsens/dh_diplomatist/bean/po/IdcBusinessExample.java b/dh_diplomatist/src/main/java/com/ccsens/dh_diplomatist/bean/po/IdcBusinessExample.java
new file mode 100644
index 0000000..82a95be
--- /dev/null
+++ b/dh_diplomatist/src/main/java/com/ccsens/dh_diplomatist/bean/po/IdcBusinessExample.java
@@ -0,0 +1,771 @@
+package com.ccsens.dh_diplomatist.bean.po;
+
+import java.util.ArrayList;
+import java.util.Date;
+import java.util.List;
+
+public class IdcBusinessExample {
+ protected String orderByClause;
+
+ protected boolean distinct;
+
+ protected List oredCriteria;
+
+ public IdcBusinessExample() {
+ oredCriteria = new ArrayList();
+ }
+
+ public void setOrderByClause(String orderByClause) {
+ this.orderByClause = orderByClause;
+ }
+
+ public String getOrderByClause() {
+ return orderByClause;
+ }
+
+ public void setDistinct(boolean distinct) {
+ this.distinct = distinct;
+ }
+
+ public boolean isDistinct() {
+ return distinct;
+ }
+
+ public List getOredCriteria() {
+ return oredCriteria;
+ }
+
+ public void or(Criteria criteria) {
+ oredCriteria.add(criteria);
+ }
+
+ public Criteria or() {
+ Criteria criteria = createCriteriaInternal();
+ oredCriteria.add(criteria);
+ return criteria;
+ }
+
+ public Criteria createCriteria() {
+ Criteria criteria = createCriteriaInternal();
+ if (oredCriteria.size() == 0) {
+ oredCriteria.add(criteria);
+ }
+ return criteria;
+ }
+
+ protected Criteria createCriteriaInternal() {
+ Criteria criteria = new Criteria();
+ return criteria;
+ }
+
+ public void clear() {
+ oredCriteria.clear();
+ orderByClause = null;
+ distinct = false;
+ }
+
+ protected abstract static class GeneratedCriteria {
+ protected List criteria;
+
+ protected GeneratedCriteria() {
+ super();
+ criteria = new ArrayList();
+ }
+
+ public boolean isValid() {
+ return criteria.size() > 0;
+ }
+
+ public List getAllCriteria() {
+ return criteria;
+ }
+
+ public List getCriteria() {
+ return criteria;
+ }
+
+ protected void addCriterion(String condition) {
+ if (condition == null) {
+ throw new RuntimeException("Value for condition cannot be null");
+ }
+ criteria.add(new Criterion(condition));
+ }
+
+ protected void addCriterion(String condition, Object value, String property) {
+ if (value == null) {
+ throw new RuntimeException("Value for " + property + " cannot be null");
+ }
+ criteria.add(new Criterion(condition, value));
+ }
+
+ protected void addCriterion(String condition, Object value1, Object value2, String property) {
+ if (value1 == null || value2 == null) {
+ throw new RuntimeException("Between values for " + property + " cannot be null");
+ }
+ criteria.add(new Criterion(condition, value1, value2));
+ }
+
+ public Criteria andIdIsNull() {
+ addCriterion("id is null");
+ return (Criteria) this;
+ }
+
+ public Criteria andIdIsNotNull() {
+ addCriterion("id is not null");
+ return (Criteria) this;
+ }
+
+ public Criteria andIdEqualTo(Long value) {
+ addCriterion("id =", value, "id");
+ return (Criteria) this;
+ }
+
+ public Criteria andIdNotEqualTo(Long value) {
+ addCriterion("id <>", value, "id");
+ return (Criteria) this;
+ }
+
+ public Criteria andIdGreaterThan(Long value) {
+ addCriterion("id >", value, "id");
+ return (Criteria) this;
+ }
+
+ public Criteria andIdGreaterThanOrEqualTo(Long value) {
+ addCriterion("id >=", value, "id");
+ return (Criteria) this;
+ }
+
+ public Criteria andIdLessThan(Long value) {
+ addCriterion("id <", value, "id");
+ return (Criteria) this;
+ }
+
+ public Criteria andIdLessThanOrEqualTo(Long value) {
+ addCriterion("id <=", value, "id");
+ return (Criteria) this;
+ }
+
+ public Criteria andIdIn(List values) {
+ addCriterion("id in", values, "id");
+ return (Criteria) this;
+ }
+
+ public Criteria andIdNotIn(List values) {
+ addCriterion("id not in", values, "id");
+ return (Criteria) this;
+ }
+
+ public Criteria andIdBetween(Long value1, Long value2) {
+ addCriterion("id between", value1, value2, "id");
+ return (Criteria) this;
+ }
+
+ public Criteria andIdNotBetween(Long value1, Long value2) {
+ addCriterion("id not between", value1, value2, "id");
+ return (Criteria) this;
+ }
+
+ public Criteria andNameIsNull() {
+ addCriterion("name is null");
+ return (Criteria) this;
+ }
+
+ public Criteria andNameIsNotNull() {
+ addCriterion("name is not null");
+ return (Criteria) this;
+ }
+
+ public Criteria andNameEqualTo(String value) {
+ addCriterion("name =", value, "name");
+ return (Criteria) this;
+ }
+
+ public Criteria andNameNotEqualTo(String value) {
+ addCriterion("name <>", value, "name");
+ return (Criteria) this;
+ }
+
+ public Criteria andNameGreaterThan(String value) {
+ addCriterion("name >", value, "name");
+ return (Criteria) this;
+ }
+
+ public Criteria andNameGreaterThanOrEqualTo(String value) {
+ addCriterion("name >=", value, "name");
+ return (Criteria) this;
+ }
+
+ public Criteria andNameLessThan(String value) {
+ addCriterion("name <", value, "name");
+ return (Criteria) this;
+ }
+
+ public Criteria andNameLessThanOrEqualTo(String value) {
+ addCriterion("name <=", value, "name");
+ return (Criteria) this;
+ }
+
+ public Criteria andNameLike(String value) {
+ addCriterion("name like", value, "name");
+ return (Criteria) this;
+ }
+
+ public Criteria andNameNotLike(String value) {
+ addCriterion("name not like", value, "name");
+ return (Criteria) this;
+ }
+
+ public Criteria andNameIn(List values) {
+ addCriterion("name in", values, "name");
+ return (Criteria) this;
+ }
+
+ public Criteria andNameNotIn(List values) {
+ addCriterion("name not in", values, "name");
+ return (Criteria) this;
+ }
+
+ public Criteria andNameBetween(String value1, String value2) {
+ addCriterion("name between", value1, value2, "name");
+ return (Criteria) this;
+ }
+
+ public Criteria andNameNotBetween(String value1, String value2) {
+ addCriterion("name not between", value1, value2, "name");
+ return (Criteria) this;
+ }
+
+ public Criteria andCodeIsNull() {
+ addCriterion("code is null");
+ return (Criteria) this;
+ }
+
+ public Criteria andCodeIsNotNull() {
+ addCriterion("code is not null");
+ return (Criteria) this;
+ }
+
+ public Criteria andCodeEqualTo(String value) {
+ addCriterion("code =", value, "code");
+ return (Criteria) this;
+ }
+
+ public Criteria andCodeNotEqualTo(String value) {
+ addCriterion("code <>", value, "code");
+ return (Criteria) this;
+ }
+
+ public Criteria andCodeGreaterThan(String value) {
+ addCriterion("code >", value, "code");
+ return (Criteria) this;
+ }
+
+ public Criteria andCodeGreaterThanOrEqualTo(String value) {
+ addCriterion("code >=", value, "code");
+ return (Criteria) this;
+ }
+
+ public Criteria andCodeLessThan(String value) {
+ addCriterion("code <", value, "code");
+ return (Criteria) this;
+ }
+
+ public Criteria andCodeLessThanOrEqualTo(String value) {
+ addCriterion("code <=", value, "code");
+ return (Criteria) this;
+ }
+
+ public Criteria andCodeLike(String value) {
+ addCriterion("code like", value, "code");
+ return (Criteria) this;
+ }
+
+ public Criteria andCodeNotLike(String value) {
+ addCriterion("code not like", value, "code");
+ return (Criteria) this;
+ }
+
+ public Criteria andCodeIn(List values) {
+ addCriterion("code in", values, "code");
+ return (Criteria) this;
+ }
+
+ public Criteria andCodeNotIn(List values) {
+ addCriterion("code not in", values, "code");
+ return (Criteria) this;
+ }
+
+ public Criteria andCodeBetween(String value1, String value2) {
+ addCriterion("code between", value1, value2, "code");
+ return (Criteria) this;
+ }
+
+ public Criteria andCodeNotBetween(String value1, String value2) {
+ addCriterion("code not between", value1, value2, "code");
+ return (Criteria) this;
+ }
+
+ public Criteria andDescriptionIsNull() {
+ addCriterion("description is null");
+ return (Criteria) this;
+ }
+
+ public Criteria andDescriptionIsNotNull() {
+ addCriterion("description is not null");
+ return (Criteria) this;
+ }
+
+ public Criteria andDescriptionEqualTo(String value) {
+ addCriterion("description =", value, "description");
+ return (Criteria) this;
+ }
+
+ public Criteria andDescriptionNotEqualTo(String value) {
+ addCriterion("description <>", value, "description");
+ return (Criteria) this;
+ }
+
+ public Criteria andDescriptionGreaterThan(String value) {
+ addCriterion("description >", value, "description");
+ return (Criteria) this;
+ }
+
+ public Criteria andDescriptionGreaterThanOrEqualTo(String value) {
+ addCriterion("description >=", value, "description");
+ return (Criteria) this;
+ }
+
+ public Criteria andDescriptionLessThan(String value) {
+ addCriterion("description <", value, "description");
+ return (Criteria) this;
+ }
+
+ public Criteria andDescriptionLessThanOrEqualTo(String value) {
+ addCriterion("description <=", value, "description");
+ return (Criteria) this;
+ }
+
+ public Criteria andDescriptionLike(String value) {
+ addCriterion("description like", value, "description");
+ return (Criteria) this;
+ }
+
+ public Criteria andDescriptionNotLike(String value) {
+ addCriterion("description not like", value, "description");
+ return (Criteria) this;
+ }
+
+ public Criteria andDescriptionIn(List values) {
+ addCriterion("description in", values, "description");
+ return (Criteria) this;
+ }
+
+ public Criteria andDescriptionNotIn(List values) {
+ addCriterion("description not in", values, "description");
+ return (Criteria) this;
+ }
+
+ public Criteria andDescriptionBetween(String value1, String value2) {
+ addCriterion("description between", value1, value2, "description");
+ return (Criteria) this;
+ }
+
+ public Criteria andDescriptionNotBetween(String value1, String value2) {
+ addCriterion("description not between", value1, value2, "description");
+ return (Criteria) this;
+ }
+
+ public Criteria andCreatorIdIsNull() {
+ addCriterion("creator_id is null");
+ return (Criteria) this;
+ }
+
+ public Criteria andCreatorIdIsNotNull() {
+ addCriterion("creator_id is not null");
+ return (Criteria) this;
+ }
+
+ public Criteria andCreatorIdEqualTo(Long value) {
+ addCriterion("creator_id =", value, "creatorId");
+ return (Criteria) this;
+ }
+
+ public Criteria andCreatorIdNotEqualTo(Long value) {
+ addCriterion("creator_id <>", value, "creatorId");
+ return (Criteria) this;
+ }
+
+ public Criteria andCreatorIdGreaterThan(Long value) {
+ addCriterion("creator_id >", value, "creatorId");
+ return (Criteria) this;
+ }
+
+ public Criteria andCreatorIdGreaterThanOrEqualTo(Long value) {
+ addCriterion("creator_id >=", value, "creatorId");
+ return (Criteria) this;
+ }
+
+ public Criteria andCreatorIdLessThan(Long value) {
+ addCriterion("creator_id <", value, "creatorId");
+ return (Criteria) this;
+ }
+
+ public Criteria andCreatorIdLessThanOrEqualTo(Long value) {
+ addCriterion("creator_id <=", value, "creatorId");
+ return (Criteria) this;
+ }
+
+ public Criteria andCreatorIdIn(List values) {
+ addCriterion("creator_id in", values, "creatorId");
+ return (Criteria) this;
+ }
+
+ public Criteria andCreatorIdNotIn(List values) {
+ addCriterion("creator_id not in", values, "creatorId");
+ return (Criteria) this;
+ }
+
+ public Criteria andCreatorIdBetween(Long value1, Long value2) {
+ addCriterion("creator_id between", value1, value2, "creatorId");
+ return (Criteria) this;
+ }
+
+ public Criteria andCreatorIdNotBetween(Long value1, Long value2) {
+ addCriterion("creator_id not between", value1, value2, "creatorId");
+ return (Criteria) this;
+ }
+
+ public Criteria andOperatorIsNull() {
+ addCriterion("operator is null");
+ return (Criteria) this;
+ }
+
+ public Criteria andOperatorIsNotNull() {
+ addCriterion("operator is not null");
+ return (Criteria) this;
+ }
+
+ public Criteria andOperatorEqualTo(Long value) {
+ addCriterion("operator =", value, "operator");
+ return (Criteria) this;
+ }
+
+ public Criteria andOperatorNotEqualTo(Long value) {
+ addCriterion("operator <>", value, "operator");
+ return (Criteria) this;
+ }
+
+ public Criteria andOperatorGreaterThan(Long value) {
+ addCriterion("operator >", value, "operator");
+ return (Criteria) this;
+ }
+
+ public Criteria andOperatorGreaterThanOrEqualTo(Long value) {
+ addCriterion("operator >=", value, "operator");
+ return (Criteria) this;
+ }
+
+ public Criteria andOperatorLessThan(Long value) {
+ addCriterion("operator <", value, "operator");
+ return (Criteria) this;
+ }
+
+ public Criteria andOperatorLessThanOrEqualTo(Long value) {
+ addCriterion("operator <=", value, "operator");
+ return (Criteria) this;
+ }
+
+ public Criteria andOperatorIn(List values) {
+ addCriterion("operator in", values, "operator");
+ return (Criteria) this;
+ }
+
+ public Criteria andOperatorNotIn(List values) {
+ addCriterion("operator not in", values, "operator");
+ return (Criteria) this;
+ }
+
+ public Criteria andOperatorBetween(Long value1, Long value2) {
+ addCriterion("operator between", value1, value2, "operator");
+ return (Criteria) this;
+ }
+
+ public Criteria andOperatorNotBetween(Long value1, Long value2) {
+ addCriterion("operator not between", value1, value2, "operator");
+ return (Criteria) this;
+ }
+
+ public Criteria andCreatedAtIsNull() {
+ addCriterion("created_at is null");
+ return (Criteria) this;
+ }
+
+ public Criteria andCreatedAtIsNotNull() {
+ addCriterion("created_at is not null");
+ return (Criteria) this;
+ }
+
+ public Criteria andCreatedAtEqualTo(Date value) {
+ addCriterion("created_at =", value, "createdAt");
+ return (Criteria) this;
+ }
+
+ public Criteria andCreatedAtNotEqualTo(Date value) {
+ addCriterion("created_at <>", value, "createdAt");
+ return (Criteria) this;
+ }
+
+ public Criteria andCreatedAtGreaterThan(Date value) {
+ addCriterion("created_at >", value, "createdAt");
+ return (Criteria) this;
+ }
+
+ public Criteria andCreatedAtGreaterThanOrEqualTo(Date value) {
+ addCriterion("created_at >=", value, "createdAt");
+ return (Criteria) this;
+ }
+
+ public Criteria andCreatedAtLessThan(Date value) {
+ addCriterion("created_at <", value, "createdAt");
+ return (Criteria) this;
+ }
+
+ public Criteria andCreatedAtLessThanOrEqualTo(Date value) {
+ addCriterion("created_at <=", value, "createdAt");
+ return (Criteria) this;
+ }
+
+ public Criteria andCreatedAtIn(List values) {
+ addCriterion("created_at in", values, "createdAt");
+ return (Criteria) this;
+ }
+
+ public Criteria andCreatedAtNotIn(List values) {
+ addCriterion("created_at not in", values, "createdAt");
+ return (Criteria) this;
+ }
+
+ public Criteria andCreatedAtBetween(Date value1, Date value2) {
+ addCriterion("created_at between", value1, value2, "createdAt");
+ return (Criteria) this;
+ }
+
+ public Criteria andCreatedAtNotBetween(Date value1, Date value2) {
+ addCriterion("created_at not between", value1, value2, "createdAt");
+ return (Criteria) this;
+ }
+
+ public Criteria andUpdatedAtIsNull() {
+ addCriterion("updated_at is null");
+ return (Criteria) this;
+ }
+
+ public Criteria andUpdatedAtIsNotNull() {
+ addCriterion("updated_at is not null");
+ return (Criteria) this;
+ }
+
+ public Criteria andUpdatedAtEqualTo(Date value) {
+ addCriterion("updated_at =", value, "updatedAt");
+ return (Criteria) this;
+ }
+
+ public Criteria andUpdatedAtNotEqualTo(Date value) {
+ addCriterion("updated_at <>", value, "updatedAt");
+ return (Criteria) this;
+ }
+
+ public Criteria andUpdatedAtGreaterThan(Date value) {
+ addCriterion("updated_at >", value, "updatedAt");
+ return (Criteria) this;
+ }
+
+ public Criteria andUpdatedAtGreaterThanOrEqualTo(Date value) {
+ addCriterion("updated_at >=", value, "updatedAt");
+ return (Criteria) this;
+ }
+
+ public Criteria andUpdatedAtLessThan(Date value) {
+ addCriterion("updated_at <", value, "updatedAt");
+ return (Criteria) this;
+ }
+
+ public Criteria andUpdatedAtLessThanOrEqualTo(Date value) {
+ addCriterion("updated_at <=", value, "updatedAt");
+ return (Criteria) this;
+ }
+
+ public Criteria andUpdatedAtIn(List values) {
+ addCriterion("updated_at in", values, "updatedAt");
+ return (Criteria) this;
+ }
+
+ public Criteria andUpdatedAtNotIn(List values) {
+ addCriterion("updated_at not in", values, "updatedAt");
+ return (Criteria) this;
+ }
+
+ public Criteria andUpdatedAtBetween(Date value1, Date value2) {
+ addCriterion("updated_at between", value1, value2, "updatedAt");
+ return (Criteria) this;
+ }
+
+ public Criteria andUpdatedAtNotBetween(Date value1, Date value2) {
+ addCriterion("updated_at not between", value1, value2, "updatedAt");
+ return (Criteria) this;
+ }
+
+ public Criteria andRecStatusIsNull() {
+ addCriterion("rec_status is null");
+ return (Criteria) this;
+ }
+
+ public Criteria andRecStatusIsNotNull() {
+ addCriterion("rec_status is not null");
+ return (Criteria) this;
+ }
+
+ public Criteria andRecStatusEqualTo(Byte value) {
+ addCriterion("rec_status =", value, "recStatus");
+ return (Criteria) this;
+ }
+
+ public Criteria andRecStatusNotEqualTo(Byte value) {
+ addCriterion("rec_status <>", value, "recStatus");
+ return (Criteria) this;
+ }
+
+ public Criteria andRecStatusGreaterThan(Byte value) {
+ addCriterion("rec_status >", value, "recStatus");
+ return (Criteria) this;
+ }
+
+ public Criteria andRecStatusGreaterThanOrEqualTo(Byte value) {
+ addCriterion("rec_status >=", value, "recStatus");
+ return (Criteria) this;
+ }
+
+ public Criteria andRecStatusLessThan(Byte value) {
+ addCriterion("rec_status <", value, "recStatus");
+ return (Criteria) this;
+ }
+
+ public Criteria andRecStatusLessThanOrEqualTo(Byte value) {
+ addCriterion("rec_status <=", value, "recStatus");
+ return (Criteria) this;
+ }
+
+ public Criteria andRecStatusIn(List values) {
+ addCriterion("rec_status in", values, "recStatus");
+ return (Criteria) this;
+ }
+
+ public Criteria andRecStatusNotIn(List values) {
+ addCriterion("rec_status not in", values, "recStatus");
+ return (Criteria) this;
+ }
+
+ public Criteria andRecStatusBetween(Byte value1, Byte value2) {
+ addCriterion("rec_status between", value1, value2, "recStatus");
+ return (Criteria) this;
+ }
+
+ public Criteria andRecStatusNotBetween(Byte value1, Byte value2) {
+ addCriterion("rec_status not between", value1, value2, "recStatus");
+ return (Criteria) this;
+ }
+ }
+
+ public static class Criteria extends GeneratedCriteria {
+
+ protected Criteria() {
+ super();
+ }
+ }
+
+ public static class Criterion {
+ private String condition;
+
+ private Object value;
+
+ private Object secondValue;
+
+ private boolean noValue;
+
+ private boolean singleValue;
+
+ private boolean betweenValue;
+
+ private boolean listValue;
+
+ private String typeHandler;
+
+ public String getCondition() {
+ return condition;
+ }
+
+ public Object getValue() {
+ return value;
+ }
+
+ public Object getSecondValue() {
+ return secondValue;
+ }
+
+ public boolean isNoValue() {
+ return noValue;
+ }
+
+ public boolean isSingleValue() {
+ return singleValue;
+ }
+
+ public boolean isBetweenValue() {
+ return betweenValue;
+ }
+
+ public boolean isListValue() {
+ return listValue;
+ }
+
+ public String getTypeHandler() {
+ return typeHandler;
+ }
+
+ protected Criterion(String condition) {
+ super();
+ this.condition = condition;
+ this.typeHandler = null;
+ this.noValue = true;
+ }
+
+ protected Criterion(String condition, Object value, String typeHandler) {
+ super();
+ this.condition = condition;
+ this.value = value;
+ this.typeHandler = typeHandler;
+ if (value instanceof List>) {
+ this.listValue = true;
+ } else {
+ this.singleValue = true;
+ }
+ }
+
+ protected Criterion(String condition, Object value) {
+ this(condition, value, null);
+ }
+
+ protected Criterion(String condition, Object value, Object secondValue, String typeHandler) {
+ super();
+ this.condition = condition;
+ this.value = value;
+ this.secondValue = secondValue;
+ this.typeHandler = typeHandler;
+ this.betweenValue = true;
+ }
+
+ protected Criterion(String condition, Object value, Object secondValue) {
+ this(condition, value, secondValue, null);
+ }
+ }
+}
\ No newline at end of file
diff --git a/dh_diplomatist/src/main/java/com/ccsens/dh_diplomatist/bean/po/IdcDomain.java b/dh_diplomatist/src/main/java/com/ccsens/dh_diplomatist/bean/po/IdcDomain.java
new file mode 100644
index 0000000..1b8351e
--- /dev/null
+++ b/dh_diplomatist/src/main/java/com/ccsens/dh_diplomatist/bean/po/IdcDomain.java
@@ -0,0 +1,227 @@
+package com.ccsens.dh_diplomatist.bean.po;
+
+import java.io.Serializable;
+import java.util.Date;
+
+public class IdcDomain implements Serializable {
+ private Long id;
+
+ private String name;
+
+ private String code;
+
+ private String intro;
+
+ private String url;
+
+ private String host;
+
+ private Byte self;
+
+ private Byte pub;
+
+ private Byte polling;
+
+ private Byte answer;
+
+ private Long lastUpdateTime;
+
+ private Long lastAskTime;
+
+ private Long lastAnswerTime;
+
+ private String publicKey;
+
+ private String privateKey;
+
+ private Long operator;
+
+ private Date createdAt;
+
+ private Date updatedAt;
+
+ private Byte recStatus;
+
+ private static final long serialVersionUID = 1L;
+
+ public Long getId() {
+ return id;
+ }
+
+ public void setId(Long id) {
+ this.id = id;
+ }
+
+ public String getName() {
+ return name;
+ }
+
+ public void setName(String name) {
+ this.name = name == null ? null : name.trim();
+ }
+
+ public String getCode() {
+ return code;
+ }
+
+ public void setCode(String code) {
+ this.code = code == null ? null : code.trim();
+ }
+
+ public String getIntro() {
+ return intro;
+ }
+
+ public void setIntro(String intro) {
+ this.intro = intro == null ? null : intro.trim();
+ }
+
+ public String getUrl() {
+ return url;
+ }
+
+ public void setUrl(String url) {
+ this.url = url == null ? null : url.trim();
+ }
+
+ public String getHost() {
+ return host;
+ }
+
+ public void setHost(String host) {
+ this.host = host == null ? null : host.trim();
+ }
+
+ public Byte getSelf() {
+ return self;
+ }
+
+ public void setSelf(Byte self) {
+ this.self = self;
+ }
+
+ public Byte getPub() {
+ return pub;
+ }
+
+ public void setPub(Byte pub) {
+ this.pub = pub;
+ }
+
+ public Byte getPolling() {
+ return polling;
+ }
+
+ public void setPolling(Byte polling) {
+ this.polling = polling;
+ }
+
+ public Byte getAnswer() {
+ return answer;
+ }
+
+ public void setAnswer(Byte answer) {
+ this.answer = answer;
+ }
+
+ public Long getLastUpdateTime() {
+ return lastUpdateTime;
+ }
+
+ public void setLastUpdateTime(Long lastUpdateTime) {
+ this.lastUpdateTime = lastUpdateTime;
+ }
+
+ public Long getLastAskTime() {
+ return lastAskTime;
+ }
+
+ public void setLastAskTime(Long lastAskTime) {
+ this.lastAskTime = lastAskTime;
+ }
+
+ public Long getLastAnswerTime() {
+ return lastAnswerTime;
+ }
+
+ public void setLastAnswerTime(Long lastAnswerTime) {
+ this.lastAnswerTime = lastAnswerTime;
+ }
+
+ public String getPublicKey() {
+ return publicKey;
+ }
+
+ public void setPublicKey(String publicKey) {
+ this.publicKey = publicKey == null ? null : publicKey.trim();
+ }
+
+ public String getPrivateKey() {
+ return privateKey;
+ }
+
+ public void setPrivateKey(String privateKey) {
+ this.privateKey = privateKey == null ? null : privateKey.trim();
+ }
+
+ public Long getOperator() {
+ return operator;
+ }
+
+ public void setOperator(Long operator) {
+ this.operator = operator;
+ }
+
+ public Date getCreatedAt() {
+ return createdAt;
+ }
+
+ public void setCreatedAt(Date createdAt) {
+ this.createdAt = createdAt;
+ }
+
+ public Date getUpdatedAt() {
+ return updatedAt;
+ }
+
+ public void setUpdatedAt(Date updatedAt) {
+ this.updatedAt = updatedAt;
+ }
+
+ public Byte getRecStatus() {
+ return recStatus;
+ }
+
+ public void setRecStatus(Byte recStatus) {
+ this.recStatus = recStatus;
+ }
+
+ @Override
+ public String toString() {
+ StringBuilder sb = new StringBuilder();
+ sb.append(getClass().getSimpleName());
+ sb.append(" [");
+ sb.append("Hash = ").append(hashCode());
+ sb.append(", id=").append(id);
+ sb.append(", name=").append(name);
+ sb.append(", code=").append(code);
+ sb.append(", intro=").append(intro);
+ sb.append(", url=").append(url);
+ sb.append(", host=").append(host);
+ sb.append(", self=").append(self);
+ sb.append(", pub=").append(pub);
+ sb.append(", polling=").append(polling);
+ sb.append(", answer=").append(answer);
+ sb.append(", lastUpdateTime=").append(lastUpdateTime);
+ sb.append(", lastAskTime=").append(lastAskTime);
+ sb.append(", lastAnswerTime=").append(lastAnswerTime);
+ sb.append(", publicKey=").append(publicKey);
+ sb.append(", privateKey=").append(privateKey);
+ sb.append(", operator=").append(operator);
+ sb.append(", createdAt=").append(createdAt);
+ sb.append(", updatedAt=").append(updatedAt);
+ sb.append(", recStatus=").append(recStatus);
+ sb.append("]");
+ return sb.toString();
+ }
+}
\ No newline at end of file
diff --git a/dh_diplomatist/src/main/java/com/ccsens/dh_diplomatist/bean/po/IdcDomainBusiness.java b/dh_diplomatist/src/main/java/com/ccsens/dh_diplomatist/bean/po/IdcDomainBusiness.java
new file mode 100644
index 0000000..73f0792
--- /dev/null
+++ b/dh_diplomatist/src/main/java/com/ccsens/dh_diplomatist/bean/po/IdcDomainBusiness.java
@@ -0,0 +1,128 @@
+package com.ccsens.dh_diplomatist.bean.po;
+
+import java.io.Serializable;
+import java.util.Date;
+
+public class IdcDomainBusiness implements Serializable {
+ private Long id;
+
+ private Long domainId;
+
+ private Long businessId;
+
+ private String url;
+
+ private String appId;
+
+ private String secret;
+
+ private Long operator;
+
+ private Date createdAt;
+
+ private Date updatedAt;
+
+ private Byte recStatus;
+
+ private static final long serialVersionUID = 1L;
+
+ public Long getId() {
+ return id;
+ }
+
+ public void setId(Long id) {
+ this.id = id;
+ }
+
+ public Long getDomainId() {
+ return domainId;
+ }
+
+ public void setDomainId(Long domainId) {
+ this.domainId = domainId;
+ }
+
+ public Long getBusinessId() {
+ return businessId;
+ }
+
+ public void setBusinessId(Long businessId) {
+ this.businessId = businessId;
+ }
+
+ public String getUrl() {
+ return url;
+ }
+
+ public void setUrl(String url) {
+ this.url = url == null ? null : url.trim();
+ }
+
+ public String getAppId() {
+ return appId;
+ }
+
+ public void setAppId(String appId) {
+ this.appId = appId == null ? null : appId.trim();
+ }
+
+ public String getSecret() {
+ return secret;
+ }
+
+ public void setSecret(String secret) {
+ this.secret = secret == null ? null : secret.trim();
+ }
+
+ public Long getOperator() {
+ return operator;
+ }
+
+ public void setOperator(Long operator) {
+ this.operator = operator;
+ }
+
+ public Date getCreatedAt() {
+ return createdAt;
+ }
+
+ public void setCreatedAt(Date createdAt) {
+ this.createdAt = createdAt;
+ }
+
+ public Date getUpdatedAt() {
+ return updatedAt;
+ }
+
+ public void setUpdatedAt(Date updatedAt) {
+ this.updatedAt = updatedAt;
+ }
+
+ public Byte getRecStatus() {
+ return recStatus;
+ }
+
+ public void setRecStatus(Byte recStatus) {
+ this.recStatus = recStatus;
+ }
+
+ @Override
+ public String toString() {
+ StringBuilder sb = new StringBuilder();
+ sb.append(getClass().getSimpleName());
+ sb.append(" [");
+ sb.append("Hash = ").append(hashCode());
+ sb.append(", id=").append(id);
+ sb.append(", domainId=").append(domainId);
+ sb.append(", businessId=").append(businessId);
+ sb.append(", url=").append(url);
+ sb.append(", appId=").append(appId);
+ sb.append(", secret=").append(secret);
+ sb.append(", operator=").append(operator);
+ sb.append(", createdAt=").append(createdAt);
+ sb.append(", updatedAt=").append(updatedAt);
+ sb.append(", recStatus=").append(recStatus);
+ sb.append("]");
+ return sb.toString();
+ }
+}
\ No newline at end of file
diff --git a/dh_diplomatist/src/main/java/com/ccsens/dh_diplomatist/bean/po/IdcDomainBusinessExample.java b/dh_diplomatist/src/main/java/com/ccsens/dh_diplomatist/bean/po/IdcDomainBusinessExample.java
new file mode 100644
index 0000000..ffd4e74
--- /dev/null
+++ b/dh_diplomatist/src/main/java/com/ccsens/dh_diplomatist/bean/po/IdcDomainBusinessExample.java
@@ -0,0 +1,831 @@
+package com.ccsens.dh_diplomatist.bean.po;
+
+import java.util.ArrayList;
+import java.util.Date;
+import java.util.List;
+
+public class IdcDomainBusinessExample {
+ protected String orderByClause;
+
+ protected boolean distinct;
+
+ protected List oredCriteria;
+
+ public IdcDomainBusinessExample() {
+ oredCriteria = new ArrayList();
+ }
+
+ public void setOrderByClause(String orderByClause) {
+ this.orderByClause = orderByClause;
+ }
+
+ public String getOrderByClause() {
+ return orderByClause;
+ }
+
+ public void setDistinct(boolean distinct) {
+ this.distinct = distinct;
+ }
+
+ public boolean isDistinct() {
+ return distinct;
+ }
+
+ public List getOredCriteria() {
+ return oredCriteria;
+ }
+
+ public void or(Criteria criteria) {
+ oredCriteria.add(criteria);
+ }
+
+ public Criteria or() {
+ Criteria criteria = createCriteriaInternal();
+ oredCriteria.add(criteria);
+ return criteria;
+ }
+
+ public Criteria createCriteria() {
+ Criteria criteria = createCriteriaInternal();
+ if (oredCriteria.size() == 0) {
+ oredCriteria.add(criteria);
+ }
+ return criteria;
+ }
+
+ protected Criteria createCriteriaInternal() {
+ Criteria criteria = new Criteria();
+ return criteria;
+ }
+
+ public void clear() {
+ oredCriteria.clear();
+ orderByClause = null;
+ distinct = false;
+ }
+
+ protected abstract static class GeneratedCriteria {
+ protected List criteria;
+
+ protected GeneratedCriteria() {
+ super();
+ criteria = new ArrayList();
+ }
+
+ public boolean isValid() {
+ return criteria.size() > 0;
+ }
+
+ public List getAllCriteria() {
+ return criteria;
+ }
+
+ public List getCriteria() {
+ return criteria;
+ }
+
+ protected void addCriterion(String condition) {
+ if (condition == null) {
+ throw new RuntimeException("Value for condition cannot be null");
+ }
+ criteria.add(new Criterion(condition));
+ }
+
+ protected void addCriterion(String condition, Object value, String property) {
+ if (value == null) {
+ throw new RuntimeException("Value for " + property + " cannot be null");
+ }
+ criteria.add(new Criterion(condition, value));
+ }
+
+ protected void addCriterion(String condition, Object value1, Object value2, String property) {
+ if (value1 == null || value2 == null) {
+ throw new RuntimeException("Between values for " + property + " cannot be null");
+ }
+ criteria.add(new Criterion(condition, value1, value2));
+ }
+
+ public Criteria andIdIsNull() {
+ addCriterion("id is null");
+ return (Criteria) this;
+ }
+
+ public Criteria andIdIsNotNull() {
+ addCriterion("id is not null");
+ return (Criteria) this;
+ }
+
+ public Criteria andIdEqualTo(Long value) {
+ addCriterion("id =", value, "id");
+ return (Criteria) this;
+ }
+
+ public Criteria andIdNotEqualTo(Long value) {
+ addCriterion("id <>", value, "id");
+ return (Criteria) this;
+ }
+
+ public Criteria andIdGreaterThan(Long value) {
+ addCriterion("id >", value, "id");
+ return (Criteria) this;
+ }
+
+ public Criteria andIdGreaterThanOrEqualTo(Long value) {
+ addCriterion("id >=", value, "id");
+ return (Criteria) this;
+ }
+
+ public Criteria andIdLessThan(Long value) {
+ addCriterion("id <", value, "id");
+ return (Criteria) this;
+ }
+
+ public Criteria andIdLessThanOrEqualTo(Long value) {
+ addCriterion("id <=", value, "id");
+ return (Criteria) this;
+ }
+
+ public Criteria andIdIn(List values) {
+ addCriterion("id in", values, "id");
+ return (Criteria) this;
+ }
+
+ public Criteria andIdNotIn(List values) {
+ addCriterion("id not in", values, "id");
+ return (Criteria) this;
+ }
+
+ public Criteria andIdBetween(Long value1, Long value2) {
+ addCriterion("id between", value1, value2, "id");
+ return (Criteria) this;
+ }
+
+ public Criteria andIdNotBetween(Long value1, Long value2) {
+ addCriterion("id not between", value1, value2, "id");
+ return (Criteria) this;
+ }
+
+ public Criteria andDomainIdIsNull() {
+ addCriterion("domain_id is null");
+ return (Criteria) this;
+ }
+
+ public Criteria andDomainIdIsNotNull() {
+ addCriterion("domain_id is not null");
+ return (Criteria) this;
+ }
+
+ public Criteria andDomainIdEqualTo(Long value) {
+ addCriterion("domain_id =", value, "domainId");
+ return (Criteria) this;
+ }
+
+ public Criteria andDomainIdNotEqualTo(Long value) {
+ addCriterion("domain_id <>", value, "domainId");
+ return (Criteria) this;
+ }
+
+ public Criteria andDomainIdGreaterThan(Long value) {
+ addCriterion("domain_id >", value, "domainId");
+ return (Criteria) this;
+ }
+
+ public Criteria andDomainIdGreaterThanOrEqualTo(Long value) {
+ addCriterion("domain_id >=", value, "domainId");
+ return (Criteria) this;
+ }
+
+ public Criteria andDomainIdLessThan(Long value) {
+ addCriterion("domain_id <", value, "domainId");
+ return (Criteria) this;
+ }
+
+ public Criteria andDomainIdLessThanOrEqualTo(Long value) {
+ addCriterion("domain_id <=", value, "domainId");
+ return (Criteria) this;
+ }
+
+ public Criteria andDomainIdIn(List values) {
+ addCriterion("domain_id in", values, "domainId");
+ return (Criteria) this;
+ }
+
+ public Criteria andDomainIdNotIn(List values) {
+ addCriterion("domain_id not in", values, "domainId");
+ return (Criteria) this;
+ }
+
+ public Criteria andDomainIdBetween(Long value1, Long value2) {
+ addCriterion("domain_id between", value1, value2, "domainId");
+ return (Criteria) this;
+ }
+
+ public Criteria andDomainIdNotBetween(Long value1, Long value2) {
+ addCriterion("domain_id not between", value1, value2, "domainId");
+ return (Criteria) this;
+ }
+
+ public Criteria andBusinessIdIsNull() {
+ addCriterion("business_id is null");
+ return (Criteria) this;
+ }
+
+ public Criteria andBusinessIdIsNotNull() {
+ addCriterion("business_id is not null");
+ return (Criteria) this;
+ }
+
+ public Criteria andBusinessIdEqualTo(Long value) {
+ addCriterion("business_id =", value, "businessId");
+ return (Criteria) this;
+ }
+
+ public Criteria andBusinessIdNotEqualTo(Long value) {
+ addCriterion("business_id <>", value, "businessId");
+ return (Criteria) this;
+ }
+
+ public Criteria andBusinessIdGreaterThan(Long value) {
+ addCriterion("business_id >", value, "businessId");
+ return (Criteria) this;
+ }
+
+ public Criteria andBusinessIdGreaterThanOrEqualTo(Long value) {
+ addCriterion("business_id >=", value, "businessId");
+ return (Criteria) this;
+ }
+
+ public Criteria andBusinessIdLessThan(Long value) {
+ addCriterion("business_id <", value, "businessId");
+ return (Criteria) this;
+ }
+
+ public Criteria andBusinessIdLessThanOrEqualTo(Long value) {
+ addCriterion("business_id <=", value, "businessId");
+ return (Criteria) this;
+ }
+
+ public Criteria andBusinessIdIn(List values) {
+ addCriterion("business_id in", values, "businessId");
+ return (Criteria) this;
+ }
+
+ public Criteria andBusinessIdNotIn(List values) {
+ addCriterion("business_id not in", values, "businessId");
+ return (Criteria) this;
+ }
+
+ public Criteria andBusinessIdBetween(Long value1, Long value2) {
+ addCriterion("business_id between", value1, value2, "businessId");
+ return (Criteria) this;
+ }
+
+ public Criteria andBusinessIdNotBetween(Long value1, Long value2) {
+ addCriterion("business_id not between", value1, value2, "businessId");
+ return (Criteria) this;
+ }
+
+ public Criteria andUrlIsNull() {
+ addCriterion("url is null");
+ return (Criteria) this;
+ }
+
+ public Criteria andUrlIsNotNull() {
+ addCriterion("url is not null");
+ return (Criteria) this;
+ }
+
+ public Criteria andUrlEqualTo(String value) {
+ addCriterion("url =", value, "url");
+ return (Criteria) this;
+ }
+
+ public Criteria andUrlNotEqualTo(String value) {
+ addCriterion("url <>", value, "url");
+ return (Criteria) this;
+ }
+
+ public Criteria andUrlGreaterThan(String value) {
+ addCriterion("url >", value, "url");
+ return (Criteria) this;
+ }
+
+ public Criteria andUrlGreaterThanOrEqualTo(String value) {
+ addCriterion("url >=", value, "url");
+ return (Criteria) this;
+ }
+
+ public Criteria andUrlLessThan(String value) {
+ addCriterion("url <", value, "url");
+ return (Criteria) this;
+ }
+
+ public Criteria andUrlLessThanOrEqualTo(String value) {
+ addCriterion("url <=", value, "url");
+ return (Criteria) this;
+ }
+
+ public Criteria andUrlLike(String value) {
+ addCriterion("url like", value, "url");
+ return (Criteria) this;
+ }
+
+ public Criteria andUrlNotLike(String value) {
+ addCriterion("url not like", value, "url");
+ return (Criteria) this;
+ }
+
+ public Criteria andUrlIn(List values) {
+ addCriterion("url in", values, "url");
+ return (Criteria) this;
+ }
+
+ public Criteria andUrlNotIn(List values) {
+ addCriterion("url not in", values, "url");
+ return (Criteria) this;
+ }
+
+ public Criteria andUrlBetween(String value1, String value2) {
+ addCriterion("url between", value1, value2, "url");
+ return (Criteria) this;
+ }
+
+ public Criteria andUrlNotBetween(String value1, String value2) {
+ addCriterion("url not between", value1, value2, "url");
+ return (Criteria) this;
+ }
+
+ public Criteria andAppIdIsNull() {
+ addCriterion("app_id is null");
+ return (Criteria) this;
+ }
+
+ public Criteria andAppIdIsNotNull() {
+ addCriterion("app_id is not null");
+ return (Criteria) this;
+ }
+
+ public Criteria andAppIdEqualTo(String value) {
+ addCriterion("app_id =", value, "appId");
+ return (Criteria) this;
+ }
+
+ public Criteria andAppIdNotEqualTo(String value) {
+ addCriterion("app_id <>", value, "appId");
+ return (Criteria) this;
+ }
+
+ public Criteria andAppIdGreaterThan(String value) {
+ addCriterion("app_id >", value, "appId");
+ return (Criteria) this;
+ }
+
+ public Criteria andAppIdGreaterThanOrEqualTo(String value) {
+ addCriterion("app_id >=", value, "appId");
+ return (Criteria) this;
+ }
+
+ public Criteria andAppIdLessThan(String value) {
+ addCriterion("app_id <", value, "appId");
+ return (Criteria) this;
+ }
+
+ public Criteria andAppIdLessThanOrEqualTo(String value) {
+ addCriterion("app_id <=", value, "appId");
+ return (Criteria) this;
+ }
+
+ public Criteria andAppIdLike(String value) {
+ addCriterion("app_id like", value, "appId");
+ return (Criteria) this;
+ }
+
+ public Criteria andAppIdNotLike(String value) {
+ addCriterion("app_id not like", value, "appId");
+ return (Criteria) this;
+ }
+
+ public Criteria andAppIdIn(List values) {
+ addCriterion("app_id in", values, "appId");
+ return (Criteria) this;
+ }
+
+ public Criteria andAppIdNotIn(List values) {
+ addCriterion("app_id not in", values, "appId");
+ return (Criteria) this;
+ }
+
+ public Criteria andAppIdBetween(String value1, String value2) {
+ addCriterion("app_id between", value1, value2, "appId");
+ return (Criteria) this;
+ }
+
+ public Criteria andAppIdNotBetween(String value1, String value2) {
+ addCriterion("app_id not between", value1, value2, "appId");
+ return (Criteria) this;
+ }
+
+ public Criteria andSecretIsNull() {
+ addCriterion("secret is null");
+ return (Criteria) this;
+ }
+
+ public Criteria andSecretIsNotNull() {
+ addCriterion("secret is not null");
+ return (Criteria) this;
+ }
+
+ public Criteria andSecretEqualTo(String value) {
+ addCriterion("secret =", value, "secret");
+ return (Criteria) this;
+ }
+
+ public Criteria andSecretNotEqualTo(String value) {
+ addCriterion("secret <>", value, "secret");
+ return (Criteria) this;
+ }
+
+ public Criteria andSecretGreaterThan(String value) {
+ addCriterion("secret >", value, "secret");
+ return (Criteria) this;
+ }
+
+ public Criteria andSecretGreaterThanOrEqualTo(String value) {
+ addCriterion("secret >=", value, "secret");
+ return (Criteria) this;
+ }
+
+ public Criteria andSecretLessThan(String value) {
+ addCriterion("secret <", value, "secret");
+ return (Criteria) this;
+ }
+
+ public Criteria andSecretLessThanOrEqualTo(String value) {
+ addCriterion("secret <=", value, "secret");
+ return (Criteria) this;
+ }
+
+ public Criteria andSecretLike(String value) {
+ addCriterion("secret like", value, "secret");
+ return (Criteria) this;
+ }
+
+ public Criteria andSecretNotLike(String value) {
+ addCriterion("secret not like", value, "secret");
+ return (Criteria) this;
+ }
+
+ public Criteria andSecretIn(List values) {
+ addCriterion("secret in", values, "secret");
+ return (Criteria) this;
+ }
+
+ public Criteria andSecretNotIn(List values) {
+ addCriterion("secret not in", values, "secret");
+ return (Criteria) this;
+ }
+
+ public Criteria andSecretBetween(String value1, String value2) {
+ addCriterion("secret between", value1, value2, "secret");
+ return (Criteria) this;
+ }
+
+ public Criteria andSecretNotBetween(String value1, String value2) {
+ addCriterion("secret not between", value1, value2, "secret");
+ return (Criteria) this;
+ }
+
+ public Criteria andOperatorIsNull() {
+ addCriterion("operator is null");
+ return (Criteria) this;
+ }
+
+ public Criteria andOperatorIsNotNull() {
+ addCriterion("operator is not null");
+ return (Criteria) this;
+ }
+
+ public Criteria andOperatorEqualTo(Long value) {
+ addCriterion("operator =", value, "operator");
+ return (Criteria) this;
+ }
+
+ public Criteria andOperatorNotEqualTo(Long value) {
+ addCriterion("operator <>", value, "operator");
+ return (Criteria) this;
+ }
+
+ public Criteria andOperatorGreaterThan(Long value) {
+ addCriterion("operator >", value, "operator");
+ return (Criteria) this;
+ }
+
+ public Criteria andOperatorGreaterThanOrEqualTo(Long value) {
+ addCriterion("operator >=", value, "operator");
+ return (Criteria) this;
+ }
+
+ public Criteria andOperatorLessThan(Long value) {
+ addCriterion("operator <", value, "operator");
+ return (Criteria) this;
+ }
+
+ public Criteria andOperatorLessThanOrEqualTo(Long value) {
+ addCriterion("operator <=", value, "operator");
+ return (Criteria) this;
+ }
+
+ public Criteria andOperatorIn(List values) {
+ addCriterion("operator in", values, "operator");
+ return (Criteria) this;
+ }
+
+ public Criteria andOperatorNotIn(List values) {
+ addCriterion("operator not in", values, "operator");
+ return (Criteria) this;
+ }
+
+ public Criteria andOperatorBetween(Long value1, Long value2) {
+ addCriterion("operator between", value1, value2, "operator");
+ return (Criteria) this;
+ }
+
+ public Criteria andOperatorNotBetween(Long value1, Long value2) {
+ addCriterion("operator not between", value1, value2, "operator");
+ return (Criteria) this;
+ }
+
+ public Criteria andCreatedAtIsNull() {
+ addCriterion("created_at is null");
+ return (Criteria) this;
+ }
+
+ public Criteria andCreatedAtIsNotNull() {
+ addCriterion("created_at is not null");
+ return (Criteria) this;
+ }
+
+ public Criteria andCreatedAtEqualTo(Date value) {
+ addCriterion("created_at =", value, "createdAt");
+ return (Criteria) this;
+ }
+
+ public Criteria andCreatedAtNotEqualTo(Date value) {
+ addCriterion("created_at <>", value, "createdAt");
+ return (Criteria) this;
+ }
+
+ public Criteria andCreatedAtGreaterThan(Date value) {
+ addCriterion("created_at >", value, "createdAt");
+ return (Criteria) this;
+ }
+
+ public Criteria andCreatedAtGreaterThanOrEqualTo(Date value) {
+ addCriterion("created_at >=", value, "createdAt");
+ return (Criteria) this;
+ }
+
+ public Criteria andCreatedAtLessThan(Date value) {
+ addCriterion("created_at <", value, "createdAt");
+ return (Criteria) this;
+ }
+
+ public Criteria andCreatedAtLessThanOrEqualTo(Date value) {
+ addCriterion("created_at <=", value, "createdAt");
+ return (Criteria) this;
+ }
+
+ public Criteria andCreatedAtIn(List values) {
+ addCriterion("created_at in", values, "createdAt");
+ return (Criteria) this;
+ }
+
+ public Criteria andCreatedAtNotIn(List values) {
+ addCriterion("created_at not in", values, "createdAt");
+ return (Criteria) this;
+ }
+
+ public Criteria andCreatedAtBetween(Date value1, Date value2) {
+ addCriterion("created_at between", value1, value2, "createdAt");
+ return (Criteria) this;
+ }
+
+ public Criteria andCreatedAtNotBetween(Date value1, Date value2) {
+ addCriterion("created_at not between", value1, value2, "createdAt");
+ return (Criteria) this;
+ }
+
+ public Criteria andUpdatedAtIsNull() {
+ addCriterion("updated_at is null");
+ return (Criteria) this;
+ }
+
+ public Criteria andUpdatedAtIsNotNull() {
+ addCriterion("updated_at is not null");
+ return (Criteria) this;
+ }
+
+ public Criteria andUpdatedAtEqualTo(Date value) {
+ addCriterion("updated_at =", value, "updatedAt");
+ return (Criteria) this;
+ }
+
+ public Criteria andUpdatedAtNotEqualTo(Date value) {
+ addCriterion("updated_at <>", value, "updatedAt");
+ return (Criteria) this;
+ }
+
+ public Criteria andUpdatedAtGreaterThan(Date value) {
+ addCriterion("updated_at >", value, "updatedAt");
+ return (Criteria) this;
+ }
+
+ public Criteria andUpdatedAtGreaterThanOrEqualTo(Date value) {
+ addCriterion("updated_at >=", value, "updatedAt");
+ return (Criteria) this;
+ }
+
+ public Criteria andUpdatedAtLessThan(Date value) {
+ addCriterion("updated_at <", value, "updatedAt");
+ return (Criteria) this;
+ }
+
+ public Criteria andUpdatedAtLessThanOrEqualTo(Date value) {
+ addCriterion("updated_at <=", value, "updatedAt");
+ return (Criteria) this;
+ }
+
+ public Criteria andUpdatedAtIn(List values) {
+ addCriterion("updated_at in", values, "updatedAt");
+ return (Criteria) this;
+ }
+
+ public Criteria andUpdatedAtNotIn(List values) {
+ addCriterion("updated_at not in", values, "updatedAt");
+ return (Criteria) this;
+ }
+
+ public Criteria andUpdatedAtBetween(Date value1, Date value2) {
+ addCriterion("updated_at between", value1, value2, "updatedAt");
+ return (Criteria) this;
+ }
+
+ public Criteria andUpdatedAtNotBetween(Date value1, Date value2) {
+ addCriterion("updated_at not between", value1, value2, "updatedAt");
+ return (Criteria) this;
+ }
+
+ public Criteria andRecStatusIsNull() {
+ addCriterion("rec_status is null");
+ return (Criteria) this;
+ }
+
+ public Criteria andRecStatusIsNotNull() {
+ addCriterion("rec_status is not null");
+ return (Criteria) this;
+ }
+
+ public Criteria andRecStatusEqualTo(Byte value) {
+ addCriterion("rec_status =", value, "recStatus");
+ return (Criteria) this;
+ }
+
+ public Criteria andRecStatusNotEqualTo(Byte value) {
+ addCriterion("rec_status <>", value, "recStatus");
+ return (Criteria) this;
+ }
+
+ public Criteria andRecStatusGreaterThan(Byte value) {
+ addCriterion("rec_status >", value, "recStatus");
+ return (Criteria) this;
+ }
+
+ public Criteria andRecStatusGreaterThanOrEqualTo(Byte value) {
+ addCriterion("rec_status >=", value, "recStatus");
+ return (Criteria) this;
+ }
+
+ public Criteria andRecStatusLessThan(Byte value) {
+ addCriterion("rec_status <", value, "recStatus");
+ return (Criteria) this;
+ }
+
+ public Criteria andRecStatusLessThanOrEqualTo(Byte value) {
+ addCriterion("rec_status <=", value, "recStatus");
+ return (Criteria) this;
+ }
+
+ public Criteria andRecStatusIn(List values) {
+ addCriterion("rec_status in", values, "recStatus");
+ return (Criteria) this;
+ }
+
+ public Criteria andRecStatusNotIn(List values) {
+ addCriterion("rec_status not in", values, "recStatus");
+ return (Criteria) this;
+ }
+
+ public Criteria andRecStatusBetween(Byte value1, Byte value2) {
+ addCriterion("rec_status between", value1, value2, "recStatus");
+ return (Criteria) this;
+ }
+
+ public Criteria andRecStatusNotBetween(Byte value1, Byte value2) {
+ addCriterion("rec_status not between", value1, value2, "recStatus");
+ return (Criteria) this;
+ }
+ }
+
+ public static class Criteria extends GeneratedCriteria {
+
+ protected Criteria() {
+ super();
+ }
+ }
+
+ public static class Criterion {
+ private String condition;
+
+ private Object value;
+
+ private Object secondValue;
+
+ private boolean noValue;
+
+ private boolean singleValue;
+
+ private boolean betweenValue;
+
+ private boolean listValue;
+
+ private String typeHandler;
+
+ public String getCondition() {
+ return condition;
+ }
+
+ public Object getValue() {
+ return value;
+ }
+
+ public Object getSecondValue() {
+ return secondValue;
+ }
+
+ public boolean isNoValue() {
+ return noValue;
+ }
+
+ public boolean isSingleValue() {
+ return singleValue;
+ }
+
+ public boolean isBetweenValue() {
+ return betweenValue;
+ }
+
+ public boolean isListValue() {
+ return listValue;
+ }
+
+ public String getTypeHandler() {
+ return typeHandler;
+ }
+
+ protected Criterion(String condition) {
+ super();
+ this.condition = condition;
+ this.typeHandler = null;
+ this.noValue = true;
+ }
+
+ protected Criterion(String condition, Object value, String typeHandler) {
+ super();
+ this.condition = condition;
+ this.value = value;
+ this.typeHandler = typeHandler;
+ if (value instanceof List>) {
+ this.listValue = true;
+ } else {
+ this.singleValue = true;
+ }
+ }
+
+ protected Criterion(String condition, Object value) {
+ this(condition, value, null);
+ }
+
+ protected Criterion(String condition, Object value, Object secondValue, String typeHandler) {
+ super();
+ this.condition = condition;
+ this.value = value;
+ this.secondValue = secondValue;
+ this.typeHandler = typeHandler;
+ this.betweenValue = true;
+ }
+
+ protected Criterion(String condition, Object value, Object secondValue) {
+ this(condition, value, secondValue, null);
+ }
+ }
+}
\ No newline at end of file
diff --git a/dh_diplomatist/src/main/java/com/ccsens/dh_diplomatist/bean/po/IdcDomainExample.java b/dh_diplomatist/src/main/java/com/ccsens/dh_diplomatist/bean/po/IdcDomainExample.java
new file mode 100644
index 0000000..d3e13fa
--- /dev/null
+++ b/dh_diplomatist/src/main/java/com/ccsens/dh_diplomatist/bean/po/IdcDomainExample.java
@@ -0,0 +1,1411 @@
+package com.ccsens.dh_diplomatist.bean.po;
+
+import java.util.ArrayList;
+import java.util.Date;
+import java.util.List;
+
+public class IdcDomainExample {
+ protected String orderByClause;
+
+ protected boolean distinct;
+
+ protected List oredCriteria;
+
+ public IdcDomainExample() {
+ oredCriteria = new ArrayList();
+ }
+
+ public void setOrderByClause(String orderByClause) {
+ this.orderByClause = orderByClause;
+ }
+
+ public String getOrderByClause() {
+ return orderByClause;
+ }
+
+ public void setDistinct(boolean distinct) {
+ this.distinct = distinct;
+ }
+
+ public boolean isDistinct() {
+ return distinct;
+ }
+
+ public List getOredCriteria() {
+ return oredCriteria;
+ }
+
+ public void or(Criteria criteria) {
+ oredCriteria.add(criteria);
+ }
+
+ public Criteria or() {
+ Criteria criteria = createCriteriaInternal();
+ oredCriteria.add(criteria);
+ return criteria;
+ }
+
+ public Criteria createCriteria() {
+ Criteria criteria = createCriteriaInternal();
+ if (oredCriteria.size() == 0) {
+ oredCriteria.add(criteria);
+ }
+ return criteria;
+ }
+
+ protected Criteria createCriteriaInternal() {
+ Criteria criteria = new Criteria();
+ return criteria;
+ }
+
+ public void clear() {
+ oredCriteria.clear();
+ orderByClause = null;
+ distinct = false;
+ }
+
+ protected abstract static class GeneratedCriteria {
+ protected List criteria;
+
+ protected GeneratedCriteria() {
+ super();
+ criteria = new ArrayList();
+ }
+
+ public boolean isValid() {
+ return criteria.size() > 0;
+ }
+
+ public List getAllCriteria() {
+ return criteria;
+ }
+
+ public List getCriteria() {
+ return criteria;
+ }
+
+ protected void addCriterion(String condition) {
+ if (condition == null) {
+ throw new RuntimeException("Value for condition cannot be null");
+ }
+ criteria.add(new Criterion(condition));
+ }
+
+ protected void addCriterion(String condition, Object value, String property) {
+ if (value == null) {
+ throw new RuntimeException("Value for " + property + " cannot be null");
+ }
+ criteria.add(new Criterion(condition, value));
+ }
+
+ protected void addCriterion(String condition, Object value1, Object value2, String property) {
+ if (value1 == null || value2 == null) {
+ throw new RuntimeException("Between values for " + property + " cannot be null");
+ }
+ criteria.add(new Criterion(condition, value1, value2));
+ }
+
+ public Criteria andIdIsNull() {
+ addCriterion("id is null");
+ return (Criteria) this;
+ }
+
+ public Criteria andIdIsNotNull() {
+ addCriterion("id is not null");
+ return (Criteria) this;
+ }
+
+ public Criteria andIdEqualTo(Long value) {
+ addCriterion("id =", value, "id");
+ return (Criteria) this;
+ }
+
+ public Criteria andIdNotEqualTo(Long value) {
+ addCriterion("id <>", value, "id");
+ return (Criteria) this;
+ }
+
+ public Criteria andIdGreaterThan(Long value) {
+ addCriterion("id >", value, "id");
+ return (Criteria) this;
+ }
+
+ public Criteria andIdGreaterThanOrEqualTo(Long value) {
+ addCriterion("id >=", value, "id");
+ return (Criteria) this;
+ }
+
+ public Criteria andIdLessThan(Long value) {
+ addCriterion("id <", value, "id");
+ return (Criteria) this;
+ }
+
+ public Criteria andIdLessThanOrEqualTo(Long value) {
+ addCriterion("id <=", value, "id");
+ return (Criteria) this;
+ }
+
+ public Criteria andIdIn(List values) {
+ addCriterion("id in", values, "id");
+ return (Criteria) this;
+ }
+
+ public Criteria andIdNotIn(List values) {
+ addCriterion("id not in", values, "id");
+ return (Criteria) this;
+ }
+
+ public Criteria andIdBetween(Long value1, Long value2) {
+ addCriterion("id between", value1, value2, "id");
+ return (Criteria) this;
+ }
+
+ public Criteria andIdNotBetween(Long value1, Long value2) {
+ addCriterion("id not between", value1, value2, "id");
+ return (Criteria) this;
+ }
+
+ public Criteria andNameIsNull() {
+ addCriterion("name is null");
+ return (Criteria) this;
+ }
+
+ public Criteria andNameIsNotNull() {
+ addCriterion("name is not null");
+ return (Criteria) this;
+ }
+
+ public Criteria andNameEqualTo(String value) {
+ addCriterion("name =", value, "name");
+ return (Criteria) this;
+ }
+
+ public Criteria andNameNotEqualTo(String value) {
+ addCriterion("name <>", value, "name");
+ return (Criteria) this;
+ }
+
+ public Criteria andNameGreaterThan(String value) {
+ addCriterion("name >", value, "name");
+ return (Criteria) this;
+ }
+
+ public Criteria andNameGreaterThanOrEqualTo(String value) {
+ addCriterion("name >=", value, "name");
+ return (Criteria) this;
+ }
+
+ public Criteria andNameLessThan(String value) {
+ addCriterion("name <", value, "name");
+ return (Criteria) this;
+ }
+
+ public Criteria andNameLessThanOrEqualTo(String value) {
+ addCriterion("name <=", value, "name");
+ return (Criteria) this;
+ }
+
+ public Criteria andNameLike(String value) {
+ addCriterion("name like", value, "name");
+ return (Criteria) this;
+ }
+
+ public Criteria andNameNotLike(String value) {
+ addCriterion("name not like", value, "name");
+ return (Criteria) this;
+ }
+
+ public Criteria andNameIn(List values) {
+ addCriterion("name in", values, "name");
+ return (Criteria) this;
+ }
+
+ public Criteria andNameNotIn(List values) {
+ addCriterion("name not in", values, "name");
+ return (Criteria) this;
+ }
+
+ public Criteria andNameBetween(String value1, String value2) {
+ addCriterion("name between", value1, value2, "name");
+ return (Criteria) this;
+ }
+
+ public Criteria andNameNotBetween(String value1, String value2) {
+ addCriterion("name not between", value1, value2, "name");
+ return (Criteria) this;
+ }
+
+ public Criteria andCodeIsNull() {
+ addCriterion("code is null");
+ return (Criteria) this;
+ }
+
+ public Criteria andCodeIsNotNull() {
+ addCriterion("code is not null");
+ return (Criteria) this;
+ }
+
+ public Criteria andCodeEqualTo(String value) {
+ addCriterion("code =", value, "code");
+ return (Criteria) this;
+ }
+
+ public Criteria andCodeNotEqualTo(String value) {
+ addCriterion("code <>", value, "code");
+ return (Criteria) this;
+ }
+
+ public Criteria andCodeGreaterThan(String value) {
+ addCriterion("code >", value, "code");
+ return (Criteria) this;
+ }
+
+ public Criteria andCodeGreaterThanOrEqualTo(String value) {
+ addCriterion("code >=", value, "code");
+ return (Criteria) this;
+ }
+
+ public Criteria andCodeLessThan(String value) {
+ addCriterion("code <", value, "code");
+ return (Criteria) this;
+ }
+
+ public Criteria andCodeLessThanOrEqualTo(String value) {
+ addCriterion("code <=", value, "code");
+ return (Criteria) this;
+ }
+
+ public Criteria andCodeLike(String value) {
+ addCriterion("code like", value, "code");
+ return (Criteria) this;
+ }
+
+ public Criteria andCodeNotLike(String value) {
+ addCriterion("code not like", value, "code");
+ return (Criteria) this;
+ }
+
+ public Criteria andCodeIn(List values) {
+ addCriterion("code in", values, "code");
+ return (Criteria) this;
+ }
+
+ public Criteria andCodeNotIn(List values) {
+ addCriterion("code not in", values, "code");
+ return (Criteria) this;
+ }
+
+ public Criteria andCodeBetween(String value1, String value2) {
+ addCriterion("code between", value1, value2, "code");
+ return (Criteria) this;
+ }
+
+ public Criteria andCodeNotBetween(String value1, String value2) {
+ addCriterion("code not between", value1, value2, "code");
+ return (Criteria) this;
+ }
+
+ public Criteria andIntroIsNull() {
+ addCriterion("intro is null");
+ return (Criteria) this;
+ }
+
+ public Criteria andIntroIsNotNull() {
+ addCriterion("intro is not null");
+ return (Criteria) this;
+ }
+
+ public Criteria andIntroEqualTo(String value) {
+ addCriterion("intro =", value, "intro");
+ return (Criteria) this;
+ }
+
+ public Criteria andIntroNotEqualTo(String value) {
+ addCriterion("intro <>", value, "intro");
+ return (Criteria) this;
+ }
+
+ public Criteria andIntroGreaterThan(String value) {
+ addCriterion("intro >", value, "intro");
+ return (Criteria) this;
+ }
+
+ public Criteria andIntroGreaterThanOrEqualTo(String value) {
+ addCriterion("intro >=", value, "intro");
+ return (Criteria) this;
+ }
+
+ public Criteria andIntroLessThan(String value) {
+ addCriterion("intro <", value, "intro");
+ return (Criteria) this;
+ }
+
+ public Criteria andIntroLessThanOrEqualTo(String value) {
+ addCriterion("intro <=", value, "intro");
+ return (Criteria) this;
+ }
+
+ public Criteria andIntroLike(String value) {
+ addCriterion("intro like", value, "intro");
+ return (Criteria) this;
+ }
+
+ public Criteria andIntroNotLike(String value) {
+ addCriterion("intro not like", value, "intro");
+ return (Criteria) this;
+ }
+
+ public Criteria andIntroIn(List values) {
+ addCriterion("intro in", values, "intro");
+ return (Criteria) this;
+ }
+
+ public Criteria andIntroNotIn(List values) {
+ addCriterion("intro not in", values, "intro");
+ return (Criteria) this;
+ }
+
+ public Criteria andIntroBetween(String value1, String value2) {
+ addCriterion("intro between", value1, value2, "intro");
+ return (Criteria) this;
+ }
+
+ public Criteria andIntroNotBetween(String value1, String value2) {
+ addCriterion("intro not between", value1, value2, "intro");
+ return (Criteria) this;
+ }
+
+ public Criteria andUrlIsNull() {
+ addCriterion("url is null");
+ return (Criteria) this;
+ }
+
+ public Criteria andUrlIsNotNull() {
+ addCriterion("url is not null");
+ return (Criteria) this;
+ }
+
+ public Criteria andUrlEqualTo(String value) {
+ addCriterion("url =", value, "url");
+ return (Criteria) this;
+ }
+
+ public Criteria andUrlNotEqualTo(String value) {
+ addCriterion("url <>", value, "url");
+ return (Criteria) this;
+ }
+
+ public Criteria andUrlGreaterThan(String value) {
+ addCriterion("url >", value, "url");
+ return (Criteria) this;
+ }
+
+ public Criteria andUrlGreaterThanOrEqualTo(String value) {
+ addCriterion("url >=", value, "url");
+ return (Criteria) this;
+ }
+
+ public Criteria andUrlLessThan(String value) {
+ addCriterion("url <", value, "url");
+ return (Criteria) this;
+ }
+
+ public Criteria andUrlLessThanOrEqualTo(String value) {
+ addCriterion("url <=", value, "url");
+ return (Criteria) this;
+ }
+
+ public Criteria andUrlLike(String value) {
+ addCriterion("url like", value, "url");
+ return (Criteria) this;
+ }
+
+ public Criteria andUrlNotLike(String value) {
+ addCriterion("url not like", value, "url");
+ return (Criteria) this;
+ }
+
+ public Criteria andUrlIn(List values) {
+ addCriterion("url in", values, "url");
+ return (Criteria) this;
+ }
+
+ public Criteria andUrlNotIn(List values) {
+ addCriterion("url not in", values, "url");
+ return (Criteria) this;
+ }
+
+ public Criteria andUrlBetween(String value1, String value2) {
+ addCriterion("url between", value1, value2, "url");
+ return (Criteria) this;
+ }
+
+ public Criteria andUrlNotBetween(String value1, String value2) {
+ addCriterion("url not between", value1, value2, "url");
+ return (Criteria) this;
+ }
+
+ public Criteria andHostIsNull() {
+ addCriterion("host is null");
+ return (Criteria) this;
+ }
+
+ public Criteria andHostIsNotNull() {
+ addCriterion("host is not null");
+ return (Criteria) this;
+ }
+
+ public Criteria andHostEqualTo(String value) {
+ addCriterion("host =", value, "host");
+ return (Criteria) this;
+ }
+
+ public Criteria andHostNotEqualTo(String value) {
+ addCriterion("host <>", value, "host");
+ return (Criteria) this;
+ }
+
+ public Criteria andHostGreaterThan(String value) {
+ addCriterion("host >", value, "host");
+ return (Criteria) this;
+ }
+
+ public Criteria andHostGreaterThanOrEqualTo(String value) {
+ addCriterion("host >=", value, "host");
+ return (Criteria) this;
+ }
+
+ public Criteria andHostLessThan(String value) {
+ addCriterion("host <", value, "host");
+ return (Criteria) this;
+ }
+
+ public Criteria andHostLessThanOrEqualTo(String value) {
+ addCriterion("host <=", value, "host");
+ return (Criteria) this;
+ }
+
+ public Criteria andHostLike(String value) {
+ addCriterion("host like", value, "host");
+ return (Criteria) this;
+ }
+
+ public Criteria andHostNotLike(String value) {
+ addCriterion("host not like", value, "host");
+ return (Criteria) this;
+ }
+
+ public Criteria andHostIn(List values) {
+ addCriterion("host in", values, "host");
+ return (Criteria) this;
+ }
+
+ public Criteria andHostNotIn(List values) {
+ addCriterion("host not in", values, "host");
+ return (Criteria) this;
+ }
+
+ public Criteria andHostBetween(String value1, String value2) {
+ addCriterion("host between", value1, value2, "host");
+ return (Criteria) this;
+ }
+
+ public Criteria andHostNotBetween(String value1, String value2) {
+ addCriterion("host not between", value1, value2, "host");
+ return (Criteria) this;
+ }
+
+ public Criteria andSelfIsNull() {
+ addCriterion("self is null");
+ return (Criteria) this;
+ }
+
+ public Criteria andSelfIsNotNull() {
+ addCriterion("self is not null");
+ return (Criteria) this;
+ }
+
+ public Criteria andSelfEqualTo(Byte value) {
+ addCriterion("self =", value, "self");
+ return (Criteria) this;
+ }
+
+ public Criteria andSelfNotEqualTo(Byte value) {
+ addCriterion("self <>", value, "self");
+ return (Criteria) this;
+ }
+
+ public Criteria andSelfGreaterThan(Byte value) {
+ addCriterion("self >", value, "self");
+ return (Criteria) this;
+ }
+
+ public Criteria andSelfGreaterThanOrEqualTo(Byte value) {
+ addCriterion("self >=", value, "self");
+ return (Criteria) this;
+ }
+
+ public Criteria andSelfLessThan(Byte value) {
+ addCriterion("self <", value, "self");
+ return (Criteria) this;
+ }
+
+ public Criteria andSelfLessThanOrEqualTo(Byte value) {
+ addCriterion("self <=", value, "self");
+ return (Criteria) this;
+ }
+
+ public Criteria andSelfIn(List values) {
+ addCriterion("self in", values, "self");
+ return (Criteria) this;
+ }
+
+ public Criteria andSelfNotIn(List values) {
+ addCriterion("self not in", values, "self");
+ return (Criteria) this;
+ }
+
+ public Criteria andSelfBetween(Byte value1, Byte value2) {
+ addCriterion("self between", value1, value2, "self");
+ return (Criteria) this;
+ }
+
+ public Criteria andSelfNotBetween(Byte value1, Byte value2) {
+ addCriterion("self not between", value1, value2, "self");
+ return (Criteria) this;
+ }
+
+ public Criteria andPubIsNull() {
+ addCriterion("pub is null");
+ return (Criteria) this;
+ }
+
+ public Criteria andPubIsNotNull() {
+ addCriterion("pub is not null");
+ return (Criteria) this;
+ }
+
+ public Criteria andPubEqualTo(Byte value) {
+ addCriterion("pub =", value, "pub");
+ return (Criteria) this;
+ }
+
+ public Criteria andPubNotEqualTo(Byte value) {
+ addCriterion("pub <>", value, "pub");
+ return (Criteria) this;
+ }
+
+ public Criteria andPubGreaterThan(Byte value) {
+ addCriterion("pub >", value, "pub");
+ return (Criteria) this;
+ }
+
+ public Criteria andPubGreaterThanOrEqualTo(Byte value) {
+ addCriterion("pub >=", value, "pub");
+ return (Criteria) this;
+ }
+
+ public Criteria andPubLessThan(Byte value) {
+ addCriterion("pub <", value, "pub");
+ return (Criteria) this;
+ }
+
+ public Criteria andPubLessThanOrEqualTo(Byte value) {
+ addCriterion("pub <=", value, "pub");
+ return (Criteria) this;
+ }
+
+ public Criteria andPubIn(List values) {
+ addCriterion("pub in", values, "pub");
+ return (Criteria) this;
+ }
+
+ public Criteria andPubNotIn(List values) {
+ addCriterion("pub not in", values, "pub");
+ return (Criteria) this;
+ }
+
+ public Criteria andPubBetween(Byte value1, Byte value2) {
+ addCriterion("pub between", value1, value2, "pub");
+ return (Criteria) this;
+ }
+
+ public Criteria andPubNotBetween(Byte value1, Byte value2) {
+ addCriterion("pub not between", value1, value2, "pub");
+ return (Criteria) this;
+ }
+
+ public Criteria andPollingIsNull() {
+ addCriterion("polling is null");
+ return (Criteria) this;
+ }
+
+ public Criteria andPollingIsNotNull() {
+ addCriterion("polling is not null");
+ return (Criteria) this;
+ }
+
+ public Criteria andPollingEqualTo(Byte value) {
+ addCriterion("polling =", value, "polling");
+ return (Criteria) this;
+ }
+
+ public Criteria andPollingNotEqualTo(Byte value) {
+ addCriterion("polling <>", value, "polling");
+ return (Criteria) this;
+ }
+
+ public Criteria andPollingGreaterThan(Byte value) {
+ addCriterion("polling >", value, "polling");
+ return (Criteria) this;
+ }
+
+ public Criteria andPollingGreaterThanOrEqualTo(Byte value) {
+ addCriterion("polling >=", value, "polling");
+ return (Criteria) this;
+ }
+
+ public Criteria andPollingLessThan(Byte value) {
+ addCriterion("polling <", value, "polling");
+ return (Criteria) this;
+ }
+
+ public Criteria andPollingLessThanOrEqualTo(Byte value) {
+ addCriterion("polling <=", value, "polling");
+ return (Criteria) this;
+ }
+
+ public Criteria andPollingIn(List values) {
+ addCriterion("polling in", values, "polling");
+ return (Criteria) this;
+ }
+
+ public Criteria andPollingNotIn(List values) {
+ addCriterion("polling not in", values, "polling");
+ return (Criteria) this;
+ }
+
+ public Criteria andPollingBetween(Byte value1, Byte value2) {
+ addCriterion("polling between", value1, value2, "polling");
+ return (Criteria) this;
+ }
+
+ public Criteria andPollingNotBetween(Byte value1, Byte value2) {
+ addCriterion("polling not between", value1, value2, "polling");
+ return (Criteria) this;
+ }
+
+ public Criteria andAnswerIsNull() {
+ addCriterion("answer is null");
+ return (Criteria) this;
+ }
+
+ public Criteria andAnswerIsNotNull() {
+ addCriterion("answer is not null");
+ return (Criteria) this;
+ }
+
+ public Criteria andAnswerEqualTo(Byte value) {
+ addCriterion("answer =", value, "answer");
+ return (Criteria) this;
+ }
+
+ public Criteria andAnswerNotEqualTo(Byte value) {
+ addCriterion("answer <>", value, "answer");
+ return (Criteria) this;
+ }
+
+ public Criteria andAnswerGreaterThan(Byte value) {
+ addCriterion("answer >", value, "answer");
+ return (Criteria) this;
+ }
+
+ public Criteria andAnswerGreaterThanOrEqualTo(Byte value) {
+ addCriterion("answer >=", value, "answer");
+ return (Criteria) this;
+ }
+
+ public Criteria andAnswerLessThan(Byte value) {
+ addCriterion("answer <", value, "answer");
+ return (Criteria) this;
+ }
+
+ public Criteria andAnswerLessThanOrEqualTo(Byte value) {
+ addCriterion("answer <=", value, "answer");
+ return (Criteria) this;
+ }
+
+ public Criteria andAnswerIn(List values) {
+ addCriterion("answer in", values, "answer");
+ return (Criteria) this;
+ }
+
+ public Criteria andAnswerNotIn(List values) {
+ addCriterion("answer not in", values, "answer");
+ return (Criteria) this;
+ }
+
+ public Criteria andAnswerBetween(Byte value1, Byte value2) {
+ addCriterion("answer between", value1, value2, "answer");
+ return (Criteria) this;
+ }
+
+ public Criteria andAnswerNotBetween(Byte value1, Byte value2) {
+ addCriterion("answer not between", value1, value2, "answer");
+ return (Criteria) this;
+ }
+
+ public Criteria andLastUpdateTimeIsNull() {
+ addCriterion("last_update_time is null");
+ return (Criteria) this;
+ }
+
+ public Criteria andLastUpdateTimeIsNotNull() {
+ addCriterion("last_update_time is not null");
+ return (Criteria) this;
+ }
+
+ public Criteria andLastUpdateTimeEqualTo(Long value) {
+ addCriterion("last_update_time =", value, "lastUpdateTime");
+ return (Criteria) this;
+ }
+
+ public Criteria andLastUpdateTimeNotEqualTo(Long value) {
+ addCriterion("last_update_time <>", value, "lastUpdateTime");
+ return (Criteria) this;
+ }
+
+ public Criteria andLastUpdateTimeGreaterThan(Long value) {
+ addCriterion("last_update_time >", value, "lastUpdateTime");
+ return (Criteria) this;
+ }
+
+ public Criteria andLastUpdateTimeGreaterThanOrEqualTo(Long value) {
+ addCriterion("last_update_time >=", value, "lastUpdateTime");
+ return (Criteria) this;
+ }
+
+ public Criteria andLastUpdateTimeLessThan(Long value) {
+ addCriterion("last_update_time <", value, "lastUpdateTime");
+ return (Criteria) this;
+ }
+
+ public Criteria andLastUpdateTimeLessThanOrEqualTo(Long value) {
+ addCriterion("last_update_time <=", value, "lastUpdateTime");
+ return (Criteria) this;
+ }
+
+ public Criteria andLastUpdateTimeIn(List values) {
+ addCriterion("last_update_time in", values, "lastUpdateTime");
+ return (Criteria) this;
+ }
+
+ public Criteria andLastUpdateTimeNotIn(List values) {
+ addCriterion("last_update_time not in", values, "lastUpdateTime");
+ return (Criteria) this;
+ }
+
+ public Criteria andLastUpdateTimeBetween(Long value1, Long value2) {
+ addCriterion("last_update_time between", value1, value2, "lastUpdateTime");
+ return (Criteria) this;
+ }
+
+ public Criteria andLastUpdateTimeNotBetween(Long value1, Long value2) {
+ addCriterion("last_update_time not between", value1, value2, "lastUpdateTime");
+ return (Criteria) this;
+ }
+
+ public Criteria andLastAskTimeIsNull() {
+ addCriterion("last_ask_time is null");
+ return (Criteria) this;
+ }
+
+ public Criteria andLastAskTimeIsNotNull() {
+ addCriterion("last_ask_time is not null");
+ return (Criteria) this;
+ }
+
+ public Criteria andLastAskTimeEqualTo(Long value) {
+ addCriterion("last_ask_time =", value, "lastAskTime");
+ return (Criteria) this;
+ }
+
+ public Criteria andLastAskTimeNotEqualTo(Long value) {
+ addCriterion("last_ask_time <>", value, "lastAskTime");
+ return (Criteria) this;
+ }
+
+ public Criteria andLastAskTimeGreaterThan(Long value) {
+ addCriterion("last_ask_time >", value, "lastAskTime");
+ return (Criteria) this;
+ }
+
+ public Criteria andLastAskTimeGreaterThanOrEqualTo(Long value) {
+ addCriterion("last_ask_time >=", value, "lastAskTime");
+ return (Criteria) this;
+ }
+
+ public Criteria andLastAskTimeLessThan(Long value) {
+ addCriterion("last_ask_time <", value, "lastAskTime");
+ return (Criteria) this;
+ }
+
+ public Criteria andLastAskTimeLessThanOrEqualTo(Long value) {
+ addCriterion("last_ask_time <=", value, "lastAskTime");
+ return (Criteria) this;
+ }
+
+ public Criteria andLastAskTimeIn(List values) {
+ addCriterion("last_ask_time in", values, "lastAskTime");
+ return (Criteria) this;
+ }
+
+ public Criteria andLastAskTimeNotIn(List values) {
+ addCriterion("last_ask_time not in", values, "lastAskTime");
+ return (Criteria) this;
+ }
+
+ public Criteria andLastAskTimeBetween(Long value1, Long value2) {
+ addCriterion("last_ask_time between", value1, value2, "lastAskTime");
+ return (Criteria) this;
+ }
+
+ public Criteria andLastAskTimeNotBetween(Long value1, Long value2) {
+ addCriterion("last_ask_time not between", value1, value2, "lastAskTime");
+ return (Criteria) this;
+ }
+
+ public Criteria andLastAnswerTimeIsNull() {
+ addCriterion("last_answer_time is null");
+ return (Criteria) this;
+ }
+
+ public Criteria andLastAnswerTimeIsNotNull() {
+ addCriterion("last_answer_time is not null");
+ return (Criteria) this;
+ }
+
+ public Criteria andLastAnswerTimeEqualTo(Long value) {
+ addCriterion("last_answer_time =", value, "lastAnswerTime");
+ return (Criteria) this;
+ }
+
+ public Criteria andLastAnswerTimeNotEqualTo(Long value) {
+ addCriterion("last_answer_time <>", value, "lastAnswerTime");
+ return (Criteria) this;
+ }
+
+ public Criteria andLastAnswerTimeGreaterThan(Long value) {
+ addCriterion("last_answer_time >", value, "lastAnswerTime");
+ return (Criteria) this;
+ }
+
+ public Criteria andLastAnswerTimeGreaterThanOrEqualTo(Long value) {
+ addCriterion("last_answer_time >=", value, "lastAnswerTime");
+ return (Criteria) this;
+ }
+
+ public Criteria andLastAnswerTimeLessThan(Long value) {
+ addCriterion("last_answer_time <", value, "lastAnswerTime");
+ return (Criteria) this;
+ }
+
+ public Criteria andLastAnswerTimeLessThanOrEqualTo(Long value) {
+ addCriterion("last_answer_time <=", value, "lastAnswerTime");
+ return (Criteria) this;
+ }
+
+ public Criteria andLastAnswerTimeIn(List values) {
+ addCriterion("last_answer_time in", values, "lastAnswerTime");
+ return (Criteria) this;
+ }
+
+ public Criteria andLastAnswerTimeNotIn(List values) {
+ addCriterion("last_answer_time not in", values, "lastAnswerTime");
+ return (Criteria) this;
+ }
+
+ public Criteria andLastAnswerTimeBetween(Long value1, Long value2) {
+ addCriterion("last_answer_time between", value1, value2, "lastAnswerTime");
+ return (Criteria) this;
+ }
+
+ public Criteria andLastAnswerTimeNotBetween(Long value1, Long value2) {
+ addCriterion("last_answer_time not between", value1, value2, "lastAnswerTime");
+ return (Criteria) this;
+ }
+
+ public Criteria andPublicKeyIsNull() {
+ addCriterion("public_key is null");
+ return (Criteria) this;
+ }
+
+ public Criteria andPublicKeyIsNotNull() {
+ addCriterion("public_key is not null");
+ return (Criteria) this;
+ }
+
+ public Criteria andPublicKeyEqualTo(String value) {
+ addCriterion("public_key =", value, "publicKey");
+ return (Criteria) this;
+ }
+
+ public Criteria andPublicKeyNotEqualTo(String value) {
+ addCriterion("public_key <>", value, "publicKey");
+ return (Criteria) this;
+ }
+
+ public Criteria andPublicKeyGreaterThan(String value) {
+ addCriterion("public_key >", value, "publicKey");
+ return (Criteria) this;
+ }
+
+ public Criteria andPublicKeyGreaterThanOrEqualTo(String value) {
+ addCriterion("public_key >=", value, "publicKey");
+ return (Criteria) this;
+ }
+
+ public Criteria andPublicKeyLessThan(String value) {
+ addCriterion("public_key <", value, "publicKey");
+ return (Criteria) this;
+ }
+
+ public Criteria andPublicKeyLessThanOrEqualTo(String value) {
+ addCriterion("public_key <=", value, "publicKey");
+ return (Criteria) this;
+ }
+
+ public Criteria andPublicKeyLike(String value) {
+ addCriterion("public_key like", value, "publicKey");
+ return (Criteria) this;
+ }
+
+ public Criteria andPublicKeyNotLike(String value) {
+ addCriterion("public_key not like", value, "publicKey");
+ return (Criteria) this;
+ }
+
+ public Criteria andPublicKeyIn(List values) {
+ addCriterion("public_key in", values, "publicKey");
+ return (Criteria) this;
+ }
+
+ public Criteria andPublicKeyNotIn(List values) {
+ addCriterion("public_key not in", values, "publicKey");
+ return (Criteria) this;
+ }
+
+ public Criteria andPublicKeyBetween(String value1, String value2) {
+ addCriterion("public_key between", value1, value2, "publicKey");
+ return (Criteria) this;
+ }
+
+ public Criteria andPublicKeyNotBetween(String value1, String value2) {
+ addCriterion("public_key not between", value1, value2, "publicKey");
+ return (Criteria) this;
+ }
+
+ public Criteria andPrivateKeyIsNull() {
+ addCriterion("private_key is null");
+ return (Criteria) this;
+ }
+
+ public Criteria andPrivateKeyIsNotNull() {
+ addCriterion("private_key is not null");
+ return (Criteria) this;
+ }
+
+ public Criteria andPrivateKeyEqualTo(String value) {
+ addCriterion("private_key =", value, "privateKey");
+ return (Criteria) this;
+ }
+
+ public Criteria andPrivateKeyNotEqualTo(String value) {
+ addCriterion("private_key <>", value, "privateKey");
+ return (Criteria) this;
+ }
+
+ public Criteria andPrivateKeyGreaterThan(String value) {
+ addCriterion("private_key >", value, "privateKey");
+ return (Criteria) this;
+ }
+
+ public Criteria andPrivateKeyGreaterThanOrEqualTo(String value) {
+ addCriterion("private_key >=", value, "privateKey");
+ return (Criteria) this;
+ }
+
+ public Criteria andPrivateKeyLessThan(String value) {
+ addCriterion("private_key <", value, "privateKey");
+ return (Criteria) this;
+ }
+
+ public Criteria andPrivateKeyLessThanOrEqualTo(String value) {
+ addCriterion("private_key <=", value, "privateKey");
+ return (Criteria) this;
+ }
+
+ public Criteria andPrivateKeyLike(String value) {
+ addCriterion("private_key like", value, "privateKey");
+ return (Criteria) this;
+ }
+
+ public Criteria andPrivateKeyNotLike(String value) {
+ addCriterion("private_key not like", value, "privateKey");
+ return (Criteria) this;
+ }
+
+ public Criteria andPrivateKeyIn(List values) {
+ addCriterion("private_key in", values, "privateKey");
+ return (Criteria) this;
+ }
+
+ public Criteria andPrivateKeyNotIn(List values) {
+ addCriterion("private_key not in", values, "privateKey");
+ return (Criteria) this;
+ }
+
+ public Criteria andPrivateKeyBetween(String value1, String value2) {
+ addCriterion("private_key between", value1, value2, "privateKey");
+ return (Criteria) this;
+ }
+
+ public Criteria andPrivateKeyNotBetween(String value1, String value2) {
+ addCriterion("private_key not between", value1, value2, "privateKey");
+ return (Criteria) this;
+ }
+
+ public Criteria andOperatorIsNull() {
+ addCriterion("operator is null");
+ return (Criteria) this;
+ }
+
+ public Criteria andOperatorIsNotNull() {
+ addCriterion("operator is not null");
+ return (Criteria) this;
+ }
+
+ public Criteria andOperatorEqualTo(Long value) {
+ addCriterion("operator =", value, "operator");
+ return (Criteria) this;
+ }
+
+ public Criteria andOperatorNotEqualTo(Long value) {
+ addCriterion("operator <>", value, "operator");
+ return (Criteria) this;
+ }
+
+ public Criteria andOperatorGreaterThan(Long value) {
+ addCriterion("operator >", value, "operator");
+ return (Criteria) this;
+ }
+
+ public Criteria andOperatorGreaterThanOrEqualTo(Long value) {
+ addCriterion("operator >=", value, "operator");
+ return (Criteria) this;
+ }
+
+ public Criteria andOperatorLessThan(Long value) {
+ addCriterion("operator <", value, "operator");
+ return (Criteria) this;
+ }
+
+ public Criteria andOperatorLessThanOrEqualTo(Long value) {
+ addCriterion("operator <=", value, "operator");
+ return (Criteria) this;
+ }
+
+ public Criteria andOperatorIn(List values) {
+ addCriterion("operator in", values, "operator");
+ return (Criteria) this;
+ }
+
+ public Criteria andOperatorNotIn(List values) {
+ addCriterion("operator not in", values, "operator");
+ return (Criteria) this;
+ }
+
+ public Criteria andOperatorBetween(Long value1, Long value2) {
+ addCriterion("operator between", value1, value2, "operator");
+ return (Criteria) this;
+ }
+
+ public Criteria andOperatorNotBetween(Long value1, Long value2) {
+ addCriterion("operator not between", value1, value2, "operator");
+ return (Criteria) this;
+ }
+
+ public Criteria andCreatedAtIsNull() {
+ addCriterion("created_at is null");
+ return (Criteria) this;
+ }
+
+ public Criteria andCreatedAtIsNotNull() {
+ addCriterion("created_at is not null");
+ return (Criteria) this;
+ }
+
+ public Criteria andCreatedAtEqualTo(Date value) {
+ addCriterion("created_at =", value, "createdAt");
+ return (Criteria) this;
+ }
+
+ public Criteria andCreatedAtNotEqualTo(Date value) {
+ addCriterion("created_at <>", value, "createdAt");
+ return (Criteria) this;
+ }
+
+ public Criteria andCreatedAtGreaterThan(Date value) {
+ addCriterion("created_at >", value, "createdAt");
+ return (Criteria) this;
+ }
+
+ public Criteria andCreatedAtGreaterThanOrEqualTo(Date value) {
+ addCriterion("created_at >=", value, "createdAt");
+ return (Criteria) this;
+ }
+
+ public Criteria andCreatedAtLessThan(Date value) {
+ addCriterion("created_at <", value, "createdAt");
+ return (Criteria) this;
+ }
+
+ public Criteria andCreatedAtLessThanOrEqualTo(Date value) {
+ addCriterion("created_at <=", value, "createdAt");
+ return (Criteria) this;
+ }
+
+ public Criteria andCreatedAtIn(List values) {
+ addCriterion("created_at in", values, "createdAt");
+ return (Criteria) this;
+ }
+
+ public Criteria andCreatedAtNotIn(List values) {
+ addCriterion("created_at not in", values, "createdAt");
+ return (Criteria) this;
+ }
+
+ public Criteria andCreatedAtBetween(Date value1, Date value2) {
+ addCriterion("created_at between", value1, value2, "createdAt");
+ return (Criteria) this;
+ }
+
+ public Criteria andCreatedAtNotBetween(Date value1, Date value2) {
+ addCriterion("created_at not between", value1, value2, "createdAt");
+ return (Criteria) this;
+ }
+
+ public Criteria andUpdatedAtIsNull() {
+ addCriterion("updated_at is null");
+ return (Criteria) this;
+ }
+
+ public Criteria andUpdatedAtIsNotNull() {
+ addCriterion("updated_at is not null");
+ return (Criteria) this;
+ }
+
+ public Criteria andUpdatedAtEqualTo(Date value) {
+ addCriterion("updated_at =", value, "updatedAt");
+ return (Criteria) this;
+ }
+
+ public Criteria andUpdatedAtNotEqualTo(Date value) {
+ addCriterion("updated_at <>", value, "updatedAt");
+ return (Criteria) this;
+ }
+
+ public Criteria andUpdatedAtGreaterThan(Date value) {
+ addCriterion("updated_at >", value, "updatedAt");
+ return (Criteria) this;
+ }
+
+ public Criteria andUpdatedAtGreaterThanOrEqualTo(Date value) {
+ addCriterion("updated_at >=", value, "updatedAt");
+ return (Criteria) this;
+ }
+
+ public Criteria andUpdatedAtLessThan(Date value) {
+ addCriterion("updated_at <", value, "updatedAt");
+ return (Criteria) this;
+ }
+
+ public Criteria andUpdatedAtLessThanOrEqualTo(Date value) {
+ addCriterion("updated_at <=", value, "updatedAt");
+ return (Criteria) this;
+ }
+
+ public Criteria andUpdatedAtIn(List values) {
+ addCriterion("updated_at in", values, "updatedAt");
+ return (Criteria) this;
+ }
+
+ public Criteria andUpdatedAtNotIn(List values) {
+ addCriterion("updated_at not in", values, "updatedAt");
+ return (Criteria) this;
+ }
+
+ public Criteria andUpdatedAtBetween(Date value1, Date value2) {
+ addCriterion("updated_at between", value1, value2, "updatedAt");
+ return (Criteria) this;
+ }
+
+ public Criteria andUpdatedAtNotBetween(Date value1, Date value2) {
+ addCriterion("updated_at not between", value1, value2, "updatedAt");
+ return (Criteria) this;
+ }
+
+ public Criteria andRecStatusIsNull() {
+ addCriterion("rec_status is null");
+ return (Criteria) this;
+ }
+
+ public Criteria andRecStatusIsNotNull() {
+ addCriterion("rec_status is not null");
+ return (Criteria) this;
+ }
+
+ public Criteria andRecStatusEqualTo(Byte value) {
+ addCriterion("rec_status =", value, "recStatus");
+ return (Criteria) this;
+ }
+
+ public Criteria andRecStatusNotEqualTo(Byte value) {
+ addCriterion("rec_status <>", value, "recStatus");
+ return (Criteria) this;
+ }
+
+ public Criteria andRecStatusGreaterThan(Byte value) {
+ addCriterion("rec_status >", value, "recStatus");
+ return (Criteria) this;
+ }
+
+ public Criteria andRecStatusGreaterThanOrEqualTo(Byte value) {
+ addCriterion("rec_status >=", value, "recStatus");
+ return (Criteria) this;
+ }
+
+ public Criteria andRecStatusLessThan(Byte value) {
+ addCriterion("rec_status <", value, "recStatus");
+ return (Criteria) this;
+ }
+
+ public Criteria andRecStatusLessThanOrEqualTo(Byte value) {
+ addCriterion("rec_status <=", value, "recStatus");
+ return (Criteria) this;
+ }
+
+ public Criteria andRecStatusIn(List values) {
+ addCriterion("rec_status in", values, "recStatus");
+ return (Criteria) this;
+ }
+
+ public Criteria andRecStatusNotIn(List values) {
+ addCriterion("rec_status not in", values, "recStatus");
+ return (Criteria) this;
+ }
+
+ public Criteria andRecStatusBetween(Byte value1, Byte value2) {
+ addCriterion("rec_status between", value1, value2, "recStatus");
+ return (Criteria) this;
+ }
+
+ public Criteria andRecStatusNotBetween(Byte value1, Byte value2) {
+ addCriterion("rec_status not between", value1, value2, "recStatus");
+ return (Criteria) this;
+ }
+ }
+
+ public static class Criteria extends GeneratedCriteria {
+
+ protected Criteria() {
+ super();
+ }
+ }
+
+ public static class Criterion {
+ private String condition;
+
+ private Object value;
+
+ private Object secondValue;
+
+ private boolean noValue;
+
+ private boolean singleValue;
+
+ private boolean betweenValue;
+
+ private boolean listValue;
+
+ private String typeHandler;
+
+ public String getCondition() {
+ return condition;
+ }
+
+ public Object getValue() {
+ return value;
+ }
+
+ public Object getSecondValue() {
+ return secondValue;
+ }
+
+ public boolean isNoValue() {
+ return noValue;
+ }
+
+ public boolean isSingleValue() {
+ return singleValue;
+ }
+
+ public boolean isBetweenValue() {
+ return betweenValue;
+ }
+
+ public boolean isListValue() {
+ return listValue;
+ }
+
+ public String getTypeHandler() {
+ return typeHandler;
+ }
+
+ protected Criterion(String condition) {
+ super();
+ this.condition = condition;
+ this.typeHandler = null;
+ this.noValue = true;
+ }
+
+ protected Criterion(String condition, Object value, String typeHandler) {
+ super();
+ this.condition = condition;
+ this.value = value;
+ this.typeHandler = typeHandler;
+ if (value instanceof List>) {
+ this.listValue = true;
+ } else {
+ this.singleValue = true;
+ }
+ }
+
+ protected Criterion(String condition, Object value) {
+ this(condition, value, null);
+ }
+
+ protected Criterion(String condition, Object value, Object secondValue, String typeHandler) {
+ super();
+ this.condition = condition;
+ this.value = value;
+ this.secondValue = secondValue;
+ this.typeHandler = typeHandler;
+ this.betweenValue = true;
+ }
+
+ protected Criterion(String condition, Object value, Object secondValue) {
+ this(condition, value, secondValue, null);
+ }
+ }
+}
\ No newline at end of file
diff --git a/dh_diplomatist/src/main/java/com/ccsens/dh_diplomatist/bean/po/IdcUser.java b/dh_diplomatist/src/main/java/com/ccsens/dh_diplomatist/bean/po/IdcUser.java
new file mode 100644
index 0000000..9e6e3f8
--- /dev/null
+++ b/dh_diplomatist/src/main/java/com/ccsens/dh_diplomatist/bean/po/IdcUser.java
@@ -0,0 +1,95 @@
+package com.ccsens.dh_diplomatist.bean.po;
+
+import java.io.Serializable;
+import java.util.Date;
+
+public class IdcUser implements Serializable {
+ private Long id;
+
+ private String idCard;
+
+ private String phone;
+
+ private Long operator;
+
+ private Date createdAt;
+
+ private Date updatedAt;
+
+ private Byte recStatus;
+
+ private static final long serialVersionUID = 1L;
+
+ public Long getId() {
+ return id;
+ }
+
+ public void setId(Long id) {
+ this.id = id;
+ }
+
+ public String getIdCard() {
+ return idCard;
+ }
+
+ public void setIdCard(String idCard) {
+ this.idCard = idCard == null ? null : idCard.trim();
+ }
+
+ public String getPhone() {
+ return phone;
+ }
+
+ public void setPhone(String phone) {
+ this.phone = phone == null ? null : phone.trim();
+ }
+
+ public Long getOperator() {
+ return operator;
+ }
+
+ public void setOperator(Long operator) {
+ this.operator = operator;
+ }
+
+ public Date getCreatedAt() {
+ return createdAt;
+ }
+
+ public void setCreatedAt(Date createdAt) {
+ this.createdAt = createdAt;
+ }
+
+ public Date getUpdatedAt() {
+ return updatedAt;
+ }
+
+ public void setUpdatedAt(Date updatedAt) {
+ this.updatedAt = updatedAt;
+ }
+
+ public Byte getRecStatus() {
+ return recStatus;
+ }
+
+ public void setRecStatus(Byte recStatus) {
+ this.recStatus = recStatus;
+ }
+
+ @Override
+ public String toString() {
+ StringBuilder sb = new StringBuilder();
+ sb.append(getClass().getSimpleName());
+ sb.append(" [");
+ sb.append("Hash = ").append(hashCode());
+ sb.append(", id=").append(id);
+ sb.append(", idCard=").append(idCard);
+ sb.append(", phone=").append(phone);
+ sb.append(", operator=").append(operator);
+ sb.append(", createdAt=").append(createdAt);
+ sb.append(", updatedAt=").append(updatedAt);
+ sb.append(", recStatus=").append(recStatus);
+ sb.append("]");
+ return sb.toString();
+ }
+}
\ No newline at end of file
diff --git a/dh_diplomatist/src/main/java/com/ccsens/dh_diplomatist/bean/po/IdcUserDomain.java b/dh_diplomatist/src/main/java/com/ccsens/dh_diplomatist/bean/po/IdcUserDomain.java
new file mode 100644
index 0000000..7360ba4
--- /dev/null
+++ b/dh_diplomatist/src/main/java/com/ccsens/dh_diplomatist/bean/po/IdcUserDomain.java
@@ -0,0 +1,172 @@
+package com.ccsens.dh_diplomatist.bean.po;
+
+import java.io.Serializable;
+import java.util.Date;
+
+public class IdcUserDomain implements Serializable {
+ private Long id;
+
+ private Long userId;
+
+ private Long domainId;
+
+ private Long domainUserId;
+
+ private String name;
+
+ private Byte gender;
+
+ private String avatarUrl;
+
+ private String country;
+
+ private String province;
+
+ private String city;
+
+ private Long operator;
+
+ private Date createdAt;
+
+ private Date updatedAt;
+
+ private Byte recStatus;
+
+ private static final long serialVersionUID = 1L;
+
+ public Long getId() {
+ return id;
+ }
+
+ public void setId(Long id) {
+ this.id = id;
+ }
+
+ public Long getUserId() {
+ return userId;
+ }
+
+ public void setUserId(Long userId) {
+ this.userId = userId;
+ }
+
+ public Long getDomainId() {
+ return domainId;
+ }
+
+ public void setDomainId(Long domainId) {
+ this.domainId = domainId;
+ }
+
+ public Long getDomainUserId() {
+ return domainUserId;
+ }
+
+ public void setDomainUserId(Long domainUserId) {
+ this.domainUserId = domainUserId;
+ }
+
+ public String getName() {
+ return name;
+ }
+
+ public void setName(String name) {
+ this.name = name == null ? null : name.trim();
+ }
+
+ public Byte getGender() {
+ return gender;
+ }
+
+ public void setGender(Byte gender) {
+ this.gender = gender;
+ }
+
+ public String getAvatarUrl() {
+ return avatarUrl;
+ }
+
+ public void setAvatarUrl(String avatarUrl) {
+ this.avatarUrl = avatarUrl == null ? null : avatarUrl.trim();
+ }
+
+ public String getCountry() {
+ return country;
+ }
+
+ public void setCountry(String country) {
+ this.country = country == null ? null : country.trim();
+ }
+
+ public String getProvince() {
+ return province;
+ }
+
+ public void setProvince(String province) {
+ this.province = province == null ? null : province.trim();
+ }
+
+ public String getCity() {
+ return city;
+ }
+
+ public void setCity(String city) {
+ this.city = city == null ? null : city.trim();
+ }
+
+ public Long getOperator() {
+ return operator;
+ }
+
+ public void setOperator(Long operator) {
+ this.operator = operator;
+ }
+
+ public Date getCreatedAt() {
+ return createdAt;
+ }
+
+ public void setCreatedAt(Date createdAt) {
+ this.createdAt = createdAt;
+ }
+
+ public Date getUpdatedAt() {
+ return updatedAt;
+ }
+
+ public void setUpdatedAt(Date updatedAt) {
+ this.updatedAt = updatedAt;
+ }
+
+ public Byte getRecStatus() {
+ return recStatus;
+ }
+
+ public void setRecStatus(Byte recStatus) {
+ this.recStatus = recStatus;
+ }
+
+ @Override
+ public String toString() {
+ StringBuilder sb = new StringBuilder();
+ sb.append(getClass().getSimpleName());
+ sb.append(" [");
+ sb.append("Hash = ").append(hashCode());
+ sb.append(", id=").append(id);
+ sb.append(", userId=").append(userId);
+ sb.append(", domainId=").append(domainId);
+ sb.append(", domainUserId=").append(domainUserId);
+ sb.append(", name=").append(name);
+ sb.append(", gender=").append(gender);
+ sb.append(", avatarUrl=").append(avatarUrl);
+ sb.append(", country=").append(country);
+ sb.append(", province=").append(province);
+ sb.append(", city=").append(city);
+ sb.append(", operator=").append(operator);
+ sb.append(", createdAt=").append(createdAt);
+ sb.append(", updatedAt=").append(updatedAt);
+ sb.append(", recStatus=").append(recStatus);
+ sb.append("]");
+ return sb.toString();
+ }
+}
\ No newline at end of file
diff --git a/dh_diplomatist/src/main/java/com/ccsens/dh_diplomatist/bean/po/IdcUserDomainExample.java b/dh_diplomatist/src/main/java/com/ccsens/dh_diplomatist/bean/po/IdcUserDomainExample.java
new file mode 100644
index 0000000..4515a3d
--- /dev/null
+++ b/dh_diplomatist/src/main/java/com/ccsens/dh_diplomatist/bean/po/IdcUserDomainExample.java
@@ -0,0 +1,1091 @@
+package com.ccsens.dh_diplomatist.bean.po;
+
+import java.util.ArrayList;
+import java.util.Date;
+import java.util.List;
+
+public class IdcUserDomainExample {
+ protected String orderByClause;
+
+ protected boolean distinct;
+
+ protected List oredCriteria;
+
+ public IdcUserDomainExample() {
+ oredCriteria = new ArrayList();
+ }
+
+ public void setOrderByClause(String orderByClause) {
+ this.orderByClause = orderByClause;
+ }
+
+ public String getOrderByClause() {
+ return orderByClause;
+ }
+
+ public void setDistinct(boolean distinct) {
+ this.distinct = distinct;
+ }
+
+ public boolean isDistinct() {
+ return distinct;
+ }
+
+ public List getOredCriteria() {
+ return oredCriteria;
+ }
+
+ public void or(Criteria criteria) {
+ oredCriteria.add(criteria);
+ }
+
+ public Criteria or() {
+ Criteria criteria = createCriteriaInternal();
+ oredCriteria.add(criteria);
+ return criteria;
+ }
+
+ public Criteria createCriteria() {
+ Criteria criteria = createCriteriaInternal();
+ if (oredCriteria.size() == 0) {
+ oredCriteria.add(criteria);
+ }
+ return criteria;
+ }
+
+ protected Criteria createCriteriaInternal() {
+ Criteria criteria = new Criteria();
+ return criteria;
+ }
+
+ public void clear() {
+ oredCriteria.clear();
+ orderByClause = null;
+ distinct = false;
+ }
+
+ protected abstract static class GeneratedCriteria {
+ protected List criteria;
+
+ protected GeneratedCriteria() {
+ super();
+ criteria = new ArrayList();
+ }
+
+ public boolean isValid() {
+ return criteria.size() > 0;
+ }
+
+ public List getAllCriteria() {
+ return criteria;
+ }
+
+ public List getCriteria() {
+ return criteria;
+ }
+
+ protected void addCriterion(String condition) {
+ if (condition == null) {
+ throw new RuntimeException("Value for condition cannot be null");
+ }
+ criteria.add(new Criterion(condition));
+ }
+
+ protected void addCriterion(String condition, Object value, String property) {
+ if (value == null) {
+ throw new RuntimeException("Value for " + property + " cannot be null");
+ }
+ criteria.add(new Criterion(condition, value));
+ }
+
+ protected void addCriterion(String condition, Object value1, Object value2, String property) {
+ if (value1 == null || value2 == null) {
+ throw new RuntimeException("Between values for " + property + " cannot be null");
+ }
+ criteria.add(new Criterion(condition, value1, value2));
+ }
+
+ public Criteria andIdIsNull() {
+ addCriterion("id is null");
+ return (Criteria) this;
+ }
+
+ public Criteria andIdIsNotNull() {
+ addCriterion("id is not null");
+ return (Criteria) this;
+ }
+
+ public Criteria andIdEqualTo(Long value) {
+ addCriterion("id =", value, "id");
+ return (Criteria) this;
+ }
+
+ public Criteria andIdNotEqualTo(Long value) {
+ addCriterion("id <>", value, "id");
+ return (Criteria) this;
+ }
+
+ public Criteria andIdGreaterThan(Long value) {
+ addCriterion("id >", value, "id");
+ return (Criteria) this;
+ }
+
+ public Criteria andIdGreaterThanOrEqualTo(Long value) {
+ addCriterion("id >=", value, "id");
+ return (Criteria) this;
+ }
+
+ public Criteria andIdLessThan(Long value) {
+ addCriterion("id <", value, "id");
+ return (Criteria) this;
+ }
+
+ public Criteria andIdLessThanOrEqualTo(Long value) {
+ addCriterion("id <=", value, "id");
+ return (Criteria) this;
+ }
+
+ public Criteria andIdIn(List values) {
+ addCriterion("id in", values, "id");
+ return (Criteria) this;
+ }
+
+ public Criteria andIdNotIn(List values) {
+ addCriterion("id not in", values, "id");
+ return (Criteria) this;
+ }
+
+ public Criteria andIdBetween(Long value1, Long value2) {
+ addCriterion("id between", value1, value2, "id");
+ return (Criteria) this;
+ }
+
+ public Criteria andIdNotBetween(Long value1, Long value2) {
+ addCriterion("id not between", value1, value2, "id");
+ return (Criteria) this;
+ }
+
+ public Criteria andUserIdIsNull() {
+ addCriterion("user_id is null");
+ return (Criteria) this;
+ }
+
+ public Criteria andUserIdIsNotNull() {
+ addCriterion("user_id is not null");
+ return (Criteria) this;
+ }
+
+ public Criteria andUserIdEqualTo(Long value) {
+ addCriterion("user_id =", value, "userId");
+ return (Criteria) this;
+ }
+
+ public Criteria andUserIdNotEqualTo(Long value) {
+ addCriterion("user_id <>", value, "userId");
+ return (Criteria) this;
+ }
+
+ public Criteria andUserIdGreaterThan(Long value) {
+ addCriterion("user_id >", value, "userId");
+ return (Criteria) this;
+ }
+
+ public Criteria andUserIdGreaterThanOrEqualTo(Long value) {
+ addCriterion("user_id >=", value, "userId");
+ return (Criteria) this;
+ }
+
+ public Criteria andUserIdLessThan(Long value) {
+ addCriterion("user_id <", value, "userId");
+ return (Criteria) this;
+ }
+
+ public Criteria andUserIdLessThanOrEqualTo(Long value) {
+ addCriterion("user_id <=", value, "userId");
+ return (Criteria) this;
+ }
+
+ public Criteria andUserIdIn(List values) {
+ addCriterion("user_id in", values, "userId");
+ return (Criteria) this;
+ }
+
+ public Criteria andUserIdNotIn(List values) {
+ addCriterion("user_id not in", values, "userId");
+ return (Criteria) this;
+ }
+
+ public Criteria andUserIdBetween(Long value1, Long value2) {
+ addCriterion("user_id between", value1, value2, "userId");
+ return (Criteria) this;
+ }
+
+ public Criteria andUserIdNotBetween(Long value1, Long value2) {
+ addCriterion("user_id not between", value1, value2, "userId");
+ return (Criteria) this;
+ }
+
+ public Criteria andDomainIdIsNull() {
+ addCriterion("domain_id is null");
+ return (Criteria) this;
+ }
+
+ public Criteria andDomainIdIsNotNull() {
+ addCriterion("domain_id is not null");
+ return (Criteria) this;
+ }
+
+ public Criteria andDomainIdEqualTo(Long value) {
+ addCriterion("domain_id =", value, "domainId");
+ return (Criteria) this;
+ }
+
+ public Criteria andDomainIdNotEqualTo(Long value) {
+ addCriterion("domain_id <>", value, "domainId");
+ return (Criteria) this;
+ }
+
+ public Criteria andDomainIdGreaterThan(Long value) {
+ addCriterion("domain_id >", value, "domainId");
+ return (Criteria) this;
+ }
+
+ public Criteria andDomainIdGreaterThanOrEqualTo(Long value) {
+ addCriterion("domain_id >=", value, "domainId");
+ return (Criteria) this;
+ }
+
+ public Criteria andDomainIdLessThan(Long value) {
+ addCriterion("domain_id <", value, "domainId");
+ return (Criteria) this;
+ }
+
+ public Criteria andDomainIdLessThanOrEqualTo(Long value) {
+ addCriterion("domain_id <=", value, "domainId");
+ return (Criteria) this;
+ }
+
+ public Criteria andDomainIdIn(List values) {
+ addCriterion("domain_id in", values, "domainId");
+ return (Criteria) this;
+ }
+
+ public Criteria andDomainIdNotIn(List values) {
+ addCriterion("domain_id not in", values, "domainId");
+ return (Criteria) this;
+ }
+
+ public Criteria andDomainIdBetween(Long value1, Long value2) {
+ addCriterion("domain_id between", value1, value2, "domainId");
+ return (Criteria) this;
+ }
+
+ public Criteria andDomainIdNotBetween(Long value1, Long value2) {
+ addCriterion("domain_id not between", value1, value2, "domainId");
+ return (Criteria) this;
+ }
+
+ public Criteria andDomainUserIdIsNull() {
+ addCriterion("domain_user_id is null");
+ return (Criteria) this;
+ }
+
+ public Criteria andDomainUserIdIsNotNull() {
+ addCriterion("domain_user_id is not null");
+ return (Criteria) this;
+ }
+
+ public Criteria andDomainUserIdEqualTo(Long value) {
+ addCriterion("domain_user_id =", value, "domainUserId");
+ return (Criteria) this;
+ }
+
+ public Criteria andDomainUserIdNotEqualTo(Long value) {
+ addCriterion("domain_user_id <>", value, "domainUserId");
+ return (Criteria) this;
+ }
+
+ public Criteria andDomainUserIdGreaterThan(Long value) {
+ addCriterion("domain_user_id >", value, "domainUserId");
+ return (Criteria) this;
+ }
+
+ public Criteria andDomainUserIdGreaterThanOrEqualTo(Long value) {
+ addCriterion("domain_user_id >=", value, "domainUserId");
+ return (Criteria) this;
+ }
+
+ public Criteria andDomainUserIdLessThan(Long value) {
+ addCriterion("domain_user_id <", value, "domainUserId");
+ return (Criteria) this;
+ }
+
+ public Criteria andDomainUserIdLessThanOrEqualTo(Long value) {
+ addCriterion("domain_user_id <=", value, "domainUserId");
+ return (Criteria) this;
+ }
+
+ public Criteria andDomainUserIdIn(List values) {
+ addCriterion("domain_user_id in", values, "domainUserId");
+ return (Criteria) this;
+ }
+
+ public Criteria andDomainUserIdNotIn(List values) {
+ addCriterion("domain_user_id not in", values, "domainUserId");
+ return (Criteria) this;
+ }
+
+ public Criteria andDomainUserIdBetween(Long value1, Long value2) {
+ addCriterion("domain_user_id between", value1, value2, "domainUserId");
+ return (Criteria) this;
+ }
+
+ public Criteria andDomainUserIdNotBetween(Long value1, Long value2) {
+ addCriterion("domain_user_id not between", value1, value2, "domainUserId");
+ return (Criteria) this;
+ }
+
+ public Criteria andNameIsNull() {
+ addCriterion("name is null");
+ return (Criteria) this;
+ }
+
+ public Criteria andNameIsNotNull() {
+ addCriterion("name is not null");
+ return (Criteria) this;
+ }
+
+ public Criteria andNameEqualTo(String value) {
+ addCriterion("name =", value, "name");
+ return (Criteria) this;
+ }
+
+ public Criteria andNameNotEqualTo(String value) {
+ addCriterion("name <>", value, "name");
+ return (Criteria) this;
+ }
+
+ public Criteria andNameGreaterThan(String value) {
+ addCriterion("name >", value, "name");
+ return (Criteria) this;
+ }
+
+ public Criteria andNameGreaterThanOrEqualTo(String value) {
+ addCriterion("name >=", value, "name");
+ return (Criteria) this;
+ }
+
+ public Criteria andNameLessThan(String value) {
+ addCriterion("name <", value, "name");
+ return (Criteria) this;
+ }
+
+ public Criteria andNameLessThanOrEqualTo(String value) {
+ addCriterion("name <=", value, "name");
+ return (Criteria) this;
+ }
+
+ public Criteria andNameLike(String value) {
+ addCriterion("name like", value, "name");
+ return (Criteria) this;
+ }
+
+ public Criteria andNameNotLike(String value) {
+ addCriterion("name not like", value, "name");
+ return (Criteria) this;
+ }
+
+ public Criteria andNameIn(List values) {
+ addCriterion("name in", values, "name");
+ return (Criteria) this;
+ }
+
+ public Criteria andNameNotIn(List values) {
+ addCriterion("name not in", values, "name");
+ return (Criteria) this;
+ }
+
+ public Criteria andNameBetween(String value1, String value2) {
+ addCriterion("name between", value1, value2, "name");
+ return (Criteria) this;
+ }
+
+ public Criteria andNameNotBetween(String value1, String value2) {
+ addCriterion("name not between", value1, value2, "name");
+ return (Criteria) this;
+ }
+
+ public Criteria andGenderIsNull() {
+ addCriterion("gender is null");
+ return (Criteria) this;
+ }
+
+ public Criteria andGenderIsNotNull() {
+ addCriterion("gender is not null");
+ return (Criteria) this;
+ }
+
+ public Criteria andGenderEqualTo(Byte value) {
+ addCriterion("gender =", value, "gender");
+ return (Criteria) this;
+ }
+
+ public Criteria andGenderNotEqualTo(Byte value) {
+ addCriterion("gender <>", value, "gender");
+ return (Criteria) this;
+ }
+
+ public Criteria andGenderGreaterThan(Byte value) {
+ addCriterion("gender >", value, "gender");
+ return (Criteria) this;
+ }
+
+ public Criteria andGenderGreaterThanOrEqualTo(Byte value) {
+ addCriterion("gender >=", value, "gender");
+ return (Criteria) this;
+ }
+
+ public Criteria andGenderLessThan(Byte value) {
+ addCriterion("gender <", value, "gender");
+ return (Criteria) this;
+ }
+
+ public Criteria andGenderLessThanOrEqualTo(Byte value) {
+ addCriterion("gender <=", value, "gender");
+ return (Criteria) this;
+ }
+
+ public Criteria andGenderIn(List values) {
+ addCriterion("gender in", values, "gender");
+ return (Criteria) this;
+ }
+
+ public Criteria andGenderNotIn(List values) {
+ addCriterion("gender not in", values, "gender");
+ return (Criteria) this;
+ }
+
+ public Criteria andGenderBetween(Byte value1, Byte value2) {
+ addCriterion("gender between", value1, value2, "gender");
+ return (Criteria) this;
+ }
+
+ public Criteria andGenderNotBetween(Byte value1, Byte value2) {
+ addCriterion("gender not between", value1, value2, "gender");
+ return (Criteria) this;
+ }
+
+ public Criteria andAvatarUrlIsNull() {
+ addCriterion("avatar_url is null");
+ return (Criteria) this;
+ }
+
+ public Criteria andAvatarUrlIsNotNull() {
+ addCriterion("avatar_url is not null");
+ return (Criteria) this;
+ }
+
+ public Criteria andAvatarUrlEqualTo(String value) {
+ addCriterion("avatar_url =", value, "avatarUrl");
+ return (Criteria) this;
+ }
+
+ public Criteria andAvatarUrlNotEqualTo(String value) {
+ addCriterion("avatar_url <>", value, "avatarUrl");
+ return (Criteria) this;
+ }
+
+ public Criteria andAvatarUrlGreaterThan(String value) {
+ addCriterion("avatar_url >", value, "avatarUrl");
+ return (Criteria) this;
+ }
+
+ public Criteria andAvatarUrlGreaterThanOrEqualTo(String value) {
+ addCriterion("avatar_url >=", value, "avatarUrl");
+ return (Criteria) this;
+ }
+
+ public Criteria andAvatarUrlLessThan(String value) {
+ addCriterion("avatar_url <", value, "avatarUrl");
+ return (Criteria) this;
+ }
+
+ public Criteria andAvatarUrlLessThanOrEqualTo(String value) {
+ addCriterion("avatar_url <=", value, "avatarUrl");
+ return (Criteria) this;
+ }
+
+ public Criteria andAvatarUrlLike(String value) {
+ addCriterion("avatar_url like", value, "avatarUrl");
+ return (Criteria) this;
+ }
+
+ public Criteria andAvatarUrlNotLike(String value) {
+ addCriterion("avatar_url not like", value, "avatarUrl");
+ return (Criteria) this;
+ }
+
+ public Criteria andAvatarUrlIn(List values) {
+ addCriterion("avatar_url in", values, "avatarUrl");
+ return (Criteria) this;
+ }
+
+ public Criteria andAvatarUrlNotIn(List values) {
+ addCriterion("avatar_url not in", values, "avatarUrl");
+ return (Criteria) this;
+ }
+
+ public Criteria andAvatarUrlBetween(String value1, String value2) {
+ addCriterion("avatar_url between", value1, value2, "avatarUrl");
+ return (Criteria) this;
+ }
+
+ public Criteria andAvatarUrlNotBetween(String value1, String value2) {
+ addCriterion("avatar_url not between", value1, value2, "avatarUrl");
+ return (Criteria) this;
+ }
+
+ public Criteria andCountryIsNull() {
+ addCriterion("country is null");
+ return (Criteria) this;
+ }
+
+ public Criteria andCountryIsNotNull() {
+ addCriterion("country is not null");
+ return (Criteria) this;
+ }
+
+ public Criteria andCountryEqualTo(String value) {
+ addCriterion("country =", value, "country");
+ return (Criteria) this;
+ }
+
+ public Criteria andCountryNotEqualTo(String value) {
+ addCriterion("country <>", value, "country");
+ return (Criteria) this;
+ }
+
+ public Criteria andCountryGreaterThan(String value) {
+ addCriterion("country >", value, "country");
+ return (Criteria) this;
+ }
+
+ public Criteria andCountryGreaterThanOrEqualTo(String value) {
+ addCriterion("country >=", value, "country");
+ return (Criteria) this;
+ }
+
+ public Criteria andCountryLessThan(String value) {
+ addCriterion("country <", value, "country");
+ return (Criteria) this;
+ }
+
+ public Criteria andCountryLessThanOrEqualTo(String value) {
+ addCriterion("country <=", value, "country");
+ return (Criteria) this;
+ }
+
+ public Criteria andCountryLike(String value) {
+ addCriterion("country like", value, "country");
+ return (Criteria) this;
+ }
+
+ public Criteria andCountryNotLike(String value) {
+ addCriterion("country not like", value, "country");
+ return (Criteria) this;
+ }
+
+ public Criteria andCountryIn(List values) {
+ addCriterion("country in", values, "country");
+ return (Criteria) this;
+ }
+
+ public Criteria andCountryNotIn(List values) {
+ addCriterion("country not in", values, "country");
+ return (Criteria) this;
+ }
+
+ public Criteria andCountryBetween(String value1, String value2) {
+ addCriterion("country between", value1, value2, "country");
+ return (Criteria) this;
+ }
+
+ public Criteria andCountryNotBetween(String value1, String value2) {
+ addCriterion("country not between", value1, value2, "country");
+ return (Criteria) this;
+ }
+
+ public Criteria andProvinceIsNull() {
+ addCriterion("province is null");
+ return (Criteria) this;
+ }
+
+ public Criteria andProvinceIsNotNull() {
+ addCriterion("province is not null");
+ return (Criteria) this;
+ }
+
+ public Criteria andProvinceEqualTo(String value) {
+ addCriterion("province =", value, "province");
+ return (Criteria) this;
+ }
+
+ public Criteria andProvinceNotEqualTo(String value) {
+ addCriterion("province <>", value, "province");
+ return (Criteria) this;
+ }
+
+ public Criteria andProvinceGreaterThan(String value) {
+ addCriterion("province >", value, "province");
+ return (Criteria) this;
+ }
+
+ public Criteria andProvinceGreaterThanOrEqualTo(String value) {
+ addCriterion("province >=", value, "province");
+ return (Criteria) this;
+ }
+
+ public Criteria andProvinceLessThan(String value) {
+ addCriterion("province <", value, "province");
+ return (Criteria) this;
+ }
+
+ public Criteria andProvinceLessThanOrEqualTo(String value) {
+ addCriterion("province <=", value, "province");
+ return (Criteria) this;
+ }
+
+ public Criteria andProvinceLike(String value) {
+ addCriterion("province like", value, "province");
+ return (Criteria) this;
+ }
+
+ public Criteria andProvinceNotLike(String value) {
+ addCriterion("province not like", value, "province");
+ return (Criteria) this;
+ }
+
+ public Criteria andProvinceIn(List values) {
+ addCriterion("province in", values, "province");
+ return (Criteria) this;
+ }
+
+ public Criteria andProvinceNotIn(List values) {
+ addCriterion("province not in", values, "province");
+ return (Criteria) this;
+ }
+
+ public Criteria andProvinceBetween(String value1, String value2) {
+ addCriterion("province between", value1, value2, "province");
+ return (Criteria) this;
+ }
+
+ public Criteria andProvinceNotBetween(String value1, String value2) {
+ addCriterion("province not between", value1, value2, "province");
+ return (Criteria) this;
+ }
+
+ public Criteria andCityIsNull() {
+ addCriterion("city is null");
+ return (Criteria) this;
+ }
+
+ public Criteria andCityIsNotNull() {
+ addCriterion("city is not null");
+ return (Criteria) this;
+ }
+
+ public Criteria andCityEqualTo(String value) {
+ addCriterion("city =", value, "city");
+ return (Criteria) this;
+ }
+
+ public Criteria andCityNotEqualTo(String value) {
+ addCriterion("city <>", value, "city");
+ return (Criteria) this;
+ }
+
+ public Criteria andCityGreaterThan(String value) {
+ addCriterion("city >", value, "city");
+ return (Criteria) this;
+ }
+
+ public Criteria andCityGreaterThanOrEqualTo(String value) {
+ addCriterion("city >=", value, "city");
+ return (Criteria) this;
+ }
+
+ public Criteria andCityLessThan(String value) {
+ addCriterion("city <", value, "city");
+ return (Criteria) this;
+ }
+
+ public Criteria andCityLessThanOrEqualTo(String value) {
+ addCriterion("city <=", value, "city");
+ return (Criteria) this;
+ }
+
+ public Criteria andCityLike(String value) {
+ addCriterion("city like", value, "city");
+ return (Criteria) this;
+ }
+
+ public Criteria andCityNotLike(String value) {
+ addCriterion("city not like", value, "city");
+ return (Criteria) this;
+ }
+
+ public Criteria andCityIn(List values) {
+ addCriterion("city in", values, "city");
+ return (Criteria) this;
+ }
+
+ public Criteria andCityNotIn(List values) {
+ addCriterion("city not in", values, "city");
+ return (Criteria) this;
+ }
+
+ public Criteria andCityBetween(String value1, String value2) {
+ addCriterion("city between", value1, value2, "city");
+ return (Criteria) this;
+ }
+
+ public Criteria andCityNotBetween(String value1, String value2) {
+ addCriterion("city not between", value1, value2, "city");
+ return (Criteria) this;
+ }
+
+ public Criteria andOperatorIsNull() {
+ addCriterion("operator is null");
+ return (Criteria) this;
+ }
+
+ public Criteria andOperatorIsNotNull() {
+ addCriterion("operator is not null");
+ return (Criteria) this;
+ }
+
+ public Criteria andOperatorEqualTo(Long value) {
+ addCriterion("operator =", value, "operator");
+ return (Criteria) this;
+ }
+
+ public Criteria andOperatorNotEqualTo(Long value) {
+ addCriterion("operator <>", value, "operator");
+ return (Criteria) this;
+ }
+
+ public Criteria andOperatorGreaterThan(Long value) {
+ addCriterion("operator >", value, "operator");
+ return (Criteria) this;
+ }
+
+ public Criteria andOperatorGreaterThanOrEqualTo(Long value) {
+ addCriterion("operator >=", value, "operator");
+ return (Criteria) this;
+ }
+
+ public Criteria andOperatorLessThan(Long value) {
+ addCriterion("operator <", value, "operator");
+ return (Criteria) this;
+ }
+
+ public Criteria andOperatorLessThanOrEqualTo(Long value) {
+ addCriterion("operator <=", value, "operator");
+ return (Criteria) this;
+ }
+
+ public Criteria andOperatorIn(List values) {
+ addCriterion("operator in", values, "operator");
+ return (Criteria) this;
+ }
+
+ public Criteria andOperatorNotIn(List values) {
+ addCriterion("operator not in", values, "operator");
+ return (Criteria) this;
+ }
+
+ public Criteria andOperatorBetween(Long value1, Long value2) {
+ addCriterion("operator between", value1, value2, "operator");
+ return (Criteria) this;
+ }
+
+ public Criteria andOperatorNotBetween(Long value1, Long value2) {
+ addCriterion("operator not between", value1, value2, "operator");
+ return (Criteria) this;
+ }
+
+ public Criteria andCreatedAtIsNull() {
+ addCriterion("created_at is null");
+ return (Criteria) this;
+ }
+
+ public Criteria andCreatedAtIsNotNull() {
+ addCriterion("created_at is not null");
+ return (Criteria) this;
+ }
+
+ public Criteria andCreatedAtEqualTo(Date value) {
+ addCriterion("created_at =", value, "createdAt");
+ return (Criteria) this;
+ }
+
+ public Criteria andCreatedAtNotEqualTo(Date value) {
+ addCriterion("created_at <>", value, "createdAt");
+ return (Criteria) this;
+ }
+
+ public Criteria andCreatedAtGreaterThan(Date value) {
+ addCriterion("created_at >", value, "createdAt");
+ return (Criteria) this;
+ }
+
+ public Criteria andCreatedAtGreaterThanOrEqualTo(Date value) {
+ addCriterion("created_at >=", value, "createdAt");
+ return (Criteria) this;
+ }
+
+ public Criteria andCreatedAtLessThan(Date value) {
+ addCriterion("created_at <", value, "createdAt");
+ return (Criteria) this;
+ }
+
+ public Criteria andCreatedAtLessThanOrEqualTo(Date value) {
+ addCriterion("created_at <=", value, "createdAt");
+ return (Criteria) this;
+ }
+
+ public Criteria andCreatedAtIn(List values) {
+ addCriterion("created_at in", values, "createdAt");
+ return (Criteria) this;
+ }
+
+ public Criteria andCreatedAtNotIn(List values) {
+ addCriterion("created_at not in", values, "createdAt");
+ return (Criteria) this;
+ }
+
+ public Criteria andCreatedAtBetween(Date value1, Date value2) {
+ addCriterion("created_at between", value1, value2, "createdAt");
+ return (Criteria) this;
+ }
+
+ public Criteria andCreatedAtNotBetween(Date value1, Date value2) {
+ addCriterion("created_at not between", value1, value2, "createdAt");
+ return (Criteria) this;
+ }
+
+ public Criteria andUpdatedAtIsNull() {
+ addCriterion("updated_at is null");
+ return (Criteria) this;
+ }
+
+ public Criteria andUpdatedAtIsNotNull() {
+ addCriterion("updated_at is not null");
+ return (Criteria) this;
+ }
+
+ public Criteria andUpdatedAtEqualTo(Date value) {
+ addCriterion("updated_at =", value, "updatedAt");
+ return (Criteria) this;
+ }
+
+ public Criteria andUpdatedAtNotEqualTo(Date value) {
+ addCriterion("updated_at <>", value, "updatedAt");
+ return (Criteria) this;
+ }
+
+ public Criteria andUpdatedAtGreaterThan(Date value) {
+ addCriterion("updated_at >", value, "updatedAt");
+ return (Criteria) this;
+ }
+
+ public Criteria andUpdatedAtGreaterThanOrEqualTo(Date value) {
+ addCriterion("updated_at >=", value, "updatedAt");
+ return (Criteria) this;
+ }
+
+ public Criteria andUpdatedAtLessThan(Date value) {
+ addCriterion("updated_at <", value, "updatedAt");
+ return (Criteria) this;
+ }
+
+ public Criteria andUpdatedAtLessThanOrEqualTo(Date value) {
+ addCriterion("updated_at <=", value, "updatedAt");
+ return (Criteria) this;
+ }
+
+ public Criteria andUpdatedAtIn(List values) {
+ addCriterion("updated_at in", values, "updatedAt");
+ return (Criteria) this;
+ }
+
+ public Criteria andUpdatedAtNotIn(List values) {
+ addCriterion("updated_at not in", values, "updatedAt");
+ return (Criteria) this;
+ }
+
+ public Criteria andUpdatedAtBetween(Date value1, Date value2) {
+ addCriterion("updated_at between", value1, value2, "updatedAt");
+ return (Criteria) this;
+ }
+
+ public Criteria andUpdatedAtNotBetween(Date value1, Date value2) {
+ addCriterion("updated_at not between", value1, value2, "updatedAt");
+ return (Criteria) this;
+ }
+
+ public Criteria andRecStatusIsNull() {
+ addCriterion("rec_status is null");
+ return (Criteria) this;
+ }
+
+ public Criteria andRecStatusIsNotNull() {
+ addCriterion("rec_status is not null");
+ return (Criteria) this;
+ }
+
+ public Criteria andRecStatusEqualTo(Byte value) {
+ addCriterion("rec_status =", value, "recStatus");
+ return (Criteria) this;
+ }
+
+ public Criteria andRecStatusNotEqualTo(Byte value) {
+ addCriterion("rec_status <>", value, "recStatus");
+ return (Criteria) this;
+ }
+
+ public Criteria andRecStatusGreaterThan(Byte value) {
+ addCriterion("rec_status >", value, "recStatus");
+ return (Criteria) this;
+ }
+
+ public Criteria andRecStatusGreaterThanOrEqualTo(Byte value) {
+ addCriterion("rec_status >=", value, "recStatus");
+ return (Criteria) this;
+ }
+
+ public Criteria andRecStatusLessThan(Byte value) {
+ addCriterion("rec_status <", value, "recStatus");
+ return (Criteria) this;
+ }
+
+ public Criteria andRecStatusLessThanOrEqualTo(Byte value) {
+ addCriterion("rec_status <=", value, "recStatus");
+ return (Criteria) this;
+ }
+
+ public Criteria andRecStatusIn(List values) {
+ addCriterion("rec_status in", values, "recStatus");
+ return (Criteria) this;
+ }
+
+ public Criteria andRecStatusNotIn(List values) {
+ addCriterion("rec_status not in", values, "recStatus");
+ return (Criteria) this;
+ }
+
+ public Criteria andRecStatusBetween(Byte value1, Byte value2) {
+ addCriterion("rec_status between", value1, value2, "recStatus");
+ return (Criteria) this;
+ }
+
+ public Criteria andRecStatusNotBetween(Byte value1, Byte value2) {
+ addCriterion("rec_status not between", value1, value2, "recStatus");
+ return (Criteria) this;
+ }
+ }
+
+ public static class Criteria extends GeneratedCriteria {
+
+ protected Criteria() {
+ super();
+ }
+ }
+
+ public static class Criterion {
+ private String condition;
+
+ private Object value;
+
+ private Object secondValue;
+
+ private boolean noValue;
+
+ private boolean singleValue;
+
+ private boolean betweenValue;
+
+ private boolean listValue;
+
+ private String typeHandler;
+
+ public String getCondition() {
+ return condition;
+ }
+
+ public Object getValue() {
+ return value;
+ }
+
+ public Object getSecondValue() {
+ return secondValue;
+ }
+
+ public boolean isNoValue() {
+ return noValue;
+ }
+
+ public boolean isSingleValue() {
+ return singleValue;
+ }
+
+ public boolean isBetweenValue() {
+ return betweenValue;
+ }
+
+ public boolean isListValue() {
+ return listValue;
+ }
+
+ public String getTypeHandler() {
+ return typeHandler;
+ }
+
+ protected Criterion(String condition) {
+ super();
+ this.condition = condition;
+ this.typeHandler = null;
+ this.noValue = true;
+ }
+
+ protected Criterion(String condition, Object value, String typeHandler) {
+ super();
+ this.condition = condition;
+ this.value = value;
+ this.typeHandler = typeHandler;
+ if (value instanceof List>) {
+ this.listValue = true;
+ } else {
+ this.singleValue = true;
+ }
+ }
+
+ protected Criterion(String condition, Object value) {
+ this(condition, value, null);
+ }
+
+ protected Criterion(String condition, Object value, Object secondValue, String typeHandler) {
+ super();
+ this.condition = condition;
+ this.value = value;
+ this.secondValue = secondValue;
+ this.typeHandler = typeHandler;
+ this.betweenValue = true;
+ }
+
+ protected Criterion(String condition, Object value, Object secondValue) {
+ this(condition, value, secondValue, null);
+ }
+ }
+}
\ No newline at end of file
diff --git a/dh_diplomatist/src/main/java/com/ccsens/dh_diplomatist/bean/po/IdcUserExample.java b/dh_diplomatist/src/main/java/com/ccsens/dh_diplomatist/bean/po/IdcUserExample.java
new file mode 100644
index 0000000..6011d93
--- /dev/null
+++ b/dh_diplomatist/src/main/java/com/ccsens/dh_diplomatist/bean/po/IdcUserExample.java
@@ -0,0 +1,641 @@
+package com.ccsens.dh_diplomatist.bean.po;
+
+import java.util.ArrayList;
+import java.util.Date;
+import java.util.List;
+
+public class IdcUserExample {
+ protected String orderByClause;
+
+ protected boolean distinct;
+
+ protected List oredCriteria;
+
+ public IdcUserExample() {
+ oredCriteria = new ArrayList();
+ }
+
+ public void setOrderByClause(String orderByClause) {
+ this.orderByClause = orderByClause;
+ }
+
+ public String getOrderByClause() {
+ return orderByClause;
+ }
+
+ public void setDistinct(boolean distinct) {
+ this.distinct = distinct;
+ }
+
+ public boolean isDistinct() {
+ return distinct;
+ }
+
+ public List getOredCriteria() {
+ return oredCriteria;
+ }
+
+ public void or(Criteria criteria) {
+ oredCriteria.add(criteria);
+ }
+
+ public Criteria or() {
+ Criteria criteria = createCriteriaInternal();
+ oredCriteria.add(criteria);
+ return criteria;
+ }
+
+ public Criteria createCriteria() {
+ Criteria criteria = createCriteriaInternal();
+ if (oredCriteria.size() == 0) {
+ oredCriteria.add(criteria);
+ }
+ return criteria;
+ }
+
+ protected Criteria createCriteriaInternal() {
+ Criteria criteria = new Criteria();
+ return criteria;
+ }
+
+ public void clear() {
+ oredCriteria.clear();
+ orderByClause = null;
+ distinct = false;
+ }
+
+ protected abstract static class GeneratedCriteria {
+ protected List criteria;
+
+ protected GeneratedCriteria() {
+ super();
+ criteria = new ArrayList();
+ }
+
+ public boolean isValid() {
+ return criteria.size() > 0;
+ }
+
+ public List getAllCriteria() {
+ return criteria;
+ }
+
+ public List getCriteria() {
+ return criteria;
+ }
+
+ protected void addCriterion(String condition) {
+ if (condition == null) {
+ throw new RuntimeException("Value for condition cannot be null");
+ }
+ criteria.add(new Criterion(condition));
+ }
+
+ protected void addCriterion(String condition, Object value, String property) {
+ if (value == null) {
+ throw new RuntimeException("Value for " + property + " cannot be null");
+ }
+ criteria.add(new Criterion(condition, value));
+ }
+
+ protected void addCriterion(String condition, Object value1, Object value2, String property) {
+ if (value1 == null || value2 == null) {
+ throw new RuntimeException("Between values for " + property + " cannot be null");
+ }
+ criteria.add(new Criterion(condition, value1, value2));
+ }
+
+ public Criteria andIdIsNull() {
+ addCriterion("id is null");
+ return (Criteria) this;
+ }
+
+ public Criteria andIdIsNotNull() {
+ addCriterion("id is not null");
+ return (Criteria) this;
+ }
+
+ public Criteria andIdEqualTo(Long value) {
+ addCriterion("id =", value, "id");
+ return (Criteria) this;
+ }
+
+ public Criteria andIdNotEqualTo(Long value) {
+ addCriterion("id <>", value, "id");
+ return (Criteria) this;
+ }
+
+ public Criteria andIdGreaterThan(Long value) {
+ addCriterion("id >", value, "id");
+ return (Criteria) this;
+ }
+
+ public Criteria andIdGreaterThanOrEqualTo(Long value) {
+ addCriterion("id >=", value, "id");
+ return (Criteria) this;
+ }
+
+ public Criteria andIdLessThan(Long value) {
+ addCriterion("id <", value, "id");
+ return (Criteria) this;
+ }
+
+ public Criteria andIdLessThanOrEqualTo(Long value) {
+ addCriterion("id <=", value, "id");
+ return (Criteria) this;
+ }
+
+ public Criteria andIdIn(List values) {
+ addCriterion("id in", values, "id");
+ return (Criteria) this;
+ }
+
+ public Criteria andIdNotIn(List values) {
+ addCriterion("id not in", values, "id");
+ return (Criteria) this;
+ }
+
+ public Criteria andIdBetween(Long value1, Long value2) {
+ addCriterion("id between", value1, value2, "id");
+ return (Criteria) this;
+ }
+
+ public Criteria andIdNotBetween(Long value1, Long value2) {
+ addCriterion("id not between", value1, value2, "id");
+ return (Criteria) this;
+ }
+
+ public Criteria andIdCardIsNull() {
+ addCriterion("id_card is null");
+ return (Criteria) this;
+ }
+
+ public Criteria andIdCardIsNotNull() {
+ addCriterion("id_card is not null");
+ return (Criteria) this;
+ }
+
+ public Criteria andIdCardEqualTo(String value) {
+ addCriterion("id_card =", value, "idCard");
+ return (Criteria) this;
+ }
+
+ public Criteria andIdCardNotEqualTo(String value) {
+ addCriterion("id_card <>", value, "idCard");
+ return (Criteria) this;
+ }
+
+ public Criteria andIdCardGreaterThan(String value) {
+ addCriterion("id_card >", value, "idCard");
+ return (Criteria) this;
+ }
+
+ public Criteria andIdCardGreaterThanOrEqualTo(String value) {
+ addCriterion("id_card >=", value, "idCard");
+ return (Criteria) this;
+ }
+
+ public Criteria andIdCardLessThan(String value) {
+ addCriterion("id_card <", value, "idCard");
+ return (Criteria) this;
+ }
+
+ public Criteria andIdCardLessThanOrEqualTo(String value) {
+ addCriterion("id_card <=", value, "idCard");
+ return (Criteria) this;
+ }
+
+ public Criteria andIdCardLike(String value) {
+ addCriterion("id_card like", value, "idCard");
+ return (Criteria) this;
+ }
+
+ public Criteria andIdCardNotLike(String value) {
+ addCriterion("id_card not like", value, "idCard");
+ return (Criteria) this;
+ }
+
+ public Criteria andIdCardIn(List values) {
+ addCriterion("id_card in", values, "idCard");
+ return (Criteria) this;
+ }
+
+ public Criteria andIdCardNotIn(List values) {
+ addCriterion("id_card not in", values, "idCard");
+ return (Criteria) this;
+ }
+
+ public Criteria andIdCardBetween(String value1, String value2) {
+ addCriterion("id_card between", value1, value2, "idCard");
+ return (Criteria) this;
+ }
+
+ public Criteria andIdCardNotBetween(String value1, String value2) {
+ addCriterion("id_card not between", value1, value2, "idCard");
+ return (Criteria) this;
+ }
+
+ public Criteria andPhoneIsNull() {
+ addCriterion("phone is null");
+ return (Criteria) this;
+ }
+
+ public Criteria andPhoneIsNotNull() {
+ addCriterion("phone is not null");
+ return (Criteria) this;
+ }
+
+ public Criteria andPhoneEqualTo(String value) {
+ addCriterion("phone =", value, "phone");
+ return (Criteria) this;
+ }
+
+ public Criteria andPhoneNotEqualTo(String value) {
+ addCriterion("phone <>", value, "phone");
+ return (Criteria) this;
+ }
+
+ public Criteria andPhoneGreaterThan(String value) {
+ addCriterion("phone >", value, "phone");
+ return (Criteria) this;
+ }
+
+ public Criteria andPhoneGreaterThanOrEqualTo(String value) {
+ addCriterion("phone >=", value, "phone");
+ return (Criteria) this;
+ }
+
+ public Criteria andPhoneLessThan(String value) {
+ addCriterion("phone <", value, "phone");
+ return (Criteria) this;
+ }
+
+ public Criteria andPhoneLessThanOrEqualTo(String value) {
+ addCriterion("phone <=", value, "phone");
+ return (Criteria) this;
+ }
+
+ public Criteria andPhoneLike(String value) {
+ addCriterion("phone like", value, "phone");
+ return (Criteria) this;
+ }
+
+ public Criteria andPhoneNotLike(String value) {
+ addCriterion("phone not like", value, "phone");
+ return (Criteria) this;
+ }
+
+ public Criteria andPhoneIn(List values) {
+ addCriterion("phone in", values, "phone");
+ return (Criteria) this;
+ }
+
+ public Criteria andPhoneNotIn(List values) {
+ addCriterion("phone not in", values, "phone");
+ return (Criteria) this;
+ }
+
+ public Criteria andPhoneBetween(String value1, String value2) {
+ addCriterion("phone between", value1, value2, "phone");
+ return (Criteria) this;
+ }
+
+ public Criteria andPhoneNotBetween(String value1, String value2) {
+ addCriterion("phone not between", value1, value2, "phone");
+ return (Criteria) this;
+ }
+
+ public Criteria andOperatorIsNull() {
+ addCriterion("operator is null");
+ return (Criteria) this;
+ }
+
+ public Criteria andOperatorIsNotNull() {
+ addCriterion("operator is not null");
+ return (Criteria) this;
+ }
+
+ public Criteria andOperatorEqualTo(Long value) {
+ addCriterion("operator =", value, "operator");
+ return (Criteria) this;
+ }
+
+ public Criteria andOperatorNotEqualTo(Long value) {
+ addCriterion("operator <>", value, "operator");
+ return (Criteria) this;
+ }
+
+ public Criteria andOperatorGreaterThan(Long value) {
+ addCriterion("operator >", value, "operator");
+ return (Criteria) this;
+ }
+
+ public Criteria andOperatorGreaterThanOrEqualTo(Long value) {
+ addCriterion("operator >=", value, "operator");
+ return (Criteria) this;
+ }
+
+ public Criteria andOperatorLessThan(Long value) {
+ addCriterion("operator <", value, "operator");
+ return (Criteria) this;
+ }
+
+ public Criteria andOperatorLessThanOrEqualTo(Long value) {
+ addCriterion("operator <=", value, "operator");
+ return (Criteria) this;
+ }
+
+ public Criteria andOperatorIn(List values) {
+ addCriterion("operator in", values, "operator");
+ return (Criteria) this;
+ }
+
+ public Criteria andOperatorNotIn(List values) {
+ addCriterion("operator not in", values, "operator");
+ return (Criteria) this;
+ }
+
+ public Criteria andOperatorBetween(Long value1, Long value2) {
+ addCriterion("operator between", value1, value2, "operator");
+ return (Criteria) this;
+ }
+
+ public Criteria andOperatorNotBetween(Long value1, Long value2) {
+ addCriterion("operator not between", value1, value2, "operator");
+ return (Criteria) this;
+ }
+
+ public Criteria andCreatedAtIsNull() {
+ addCriterion("created_at is null");
+ return (Criteria) this;
+ }
+
+ public Criteria andCreatedAtIsNotNull() {
+ addCriterion("created_at is not null");
+ return (Criteria) this;
+ }
+
+ public Criteria andCreatedAtEqualTo(Date value) {
+ addCriterion("created_at =", value, "createdAt");
+ return (Criteria) this;
+ }
+
+ public Criteria andCreatedAtNotEqualTo(Date value) {
+ addCriterion("created_at <>", value, "createdAt");
+ return (Criteria) this;
+ }
+
+ public Criteria andCreatedAtGreaterThan(Date value) {
+ addCriterion("created_at >", value, "createdAt");
+ return (Criteria) this;
+ }
+
+ public Criteria andCreatedAtGreaterThanOrEqualTo(Date value) {
+ addCriterion("created_at >=", value, "createdAt");
+ return (Criteria) this;
+ }
+
+ public Criteria andCreatedAtLessThan(Date value) {
+ addCriterion("created_at <", value, "createdAt");
+ return (Criteria) this;
+ }
+
+ public Criteria andCreatedAtLessThanOrEqualTo(Date value) {
+ addCriterion("created_at <=", value, "createdAt");
+ return (Criteria) this;
+ }
+
+ public Criteria andCreatedAtIn(List values) {
+ addCriterion("created_at in", values, "createdAt");
+ return (Criteria) this;
+ }
+
+ public Criteria andCreatedAtNotIn(List values) {
+ addCriterion("created_at not in", values, "createdAt");
+ return (Criteria) this;
+ }
+
+ public Criteria andCreatedAtBetween(Date value1, Date value2) {
+ addCriterion("created_at between", value1, value2, "createdAt");
+ return (Criteria) this;
+ }
+
+ public Criteria andCreatedAtNotBetween(Date value1, Date value2) {
+ addCriterion("created_at not between", value1, value2, "createdAt");
+ return (Criteria) this;
+ }
+
+ public Criteria andUpdatedAtIsNull() {
+ addCriterion("updated_at is null");
+ return (Criteria) this;
+ }
+
+ public Criteria andUpdatedAtIsNotNull() {
+ addCriterion("updated_at is not null");
+ return (Criteria) this;
+ }
+
+ public Criteria andUpdatedAtEqualTo(Date value) {
+ addCriterion("updated_at =", value, "updatedAt");
+ return (Criteria) this;
+ }
+
+ public Criteria andUpdatedAtNotEqualTo(Date value) {
+ addCriterion("updated_at <>", value, "updatedAt");
+ return (Criteria) this;
+ }
+
+ public Criteria andUpdatedAtGreaterThan(Date value) {
+ addCriterion("updated_at >", value, "updatedAt");
+ return (Criteria) this;
+ }
+
+ public Criteria andUpdatedAtGreaterThanOrEqualTo(Date value) {
+ addCriterion("updated_at >=", value, "updatedAt");
+ return (Criteria) this;
+ }
+
+ public Criteria andUpdatedAtLessThan(Date value) {
+ addCriterion("updated_at <", value, "updatedAt");
+ return (Criteria) this;
+ }
+
+ public Criteria andUpdatedAtLessThanOrEqualTo(Date value) {
+ addCriterion("updated_at <=", value, "updatedAt");
+ return (Criteria) this;
+ }
+
+ public Criteria andUpdatedAtIn(List values) {
+ addCriterion("updated_at in", values, "updatedAt");
+ return (Criteria) this;
+ }
+
+ public Criteria andUpdatedAtNotIn(List values) {
+ addCriterion("updated_at not in", values, "updatedAt");
+ return (Criteria) this;
+ }
+
+ public Criteria andUpdatedAtBetween(Date value1, Date value2) {
+ addCriterion("updated_at between", value1, value2, "updatedAt");
+ return (Criteria) this;
+ }
+
+ public Criteria andUpdatedAtNotBetween(Date value1, Date value2) {
+ addCriterion("updated_at not between", value1, value2, "updatedAt");
+ return (Criteria) this;
+ }
+
+ public Criteria andRecStatusIsNull() {
+ addCriterion("rec_status is null");
+ return (Criteria) this;
+ }
+
+ public Criteria andRecStatusIsNotNull() {
+ addCriterion("rec_status is not null");
+ return (Criteria) this;
+ }
+
+ public Criteria andRecStatusEqualTo(Byte value) {
+ addCriterion("rec_status =", value, "recStatus");
+ return (Criteria) this;
+ }
+
+ public Criteria andRecStatusNotEqualTo(Byte value) {
+ addCriterion("rec_status <>", value, "recStatus");
+ return (Criteria) this;
+ }
+
+ public Criteria andRecStatusGreaterThan(Byte value) {
+ addCriterion("rec_status >", value, "recStatus");
+ return (Criteria) this;
+ }
+
+ public Criteria andRecStatusGreaterThanOrEqualTo(Byte value) {
+ addCriterion("rec_status >=", value, "recStatus");
+ return (Criteria) this;
+ }
+
+ public Criteria andRecStatusLessThan(Byte value) {
+ addCriterion("rec_status <", value, "recStatus");
+ return (Criteria) this;
+ }
+
+ public Criteria andRecStatusLessThanOrEqualTo(Byte value) {
+ addCriterion("rec_status <=", value, "recStatus");
+ return (Criteria) this;
+ }
+
+ public Criteria andRecStatusIn(List values) {
+ addCriterion("rec_status in", values, "recStatus");
+ return (Criteria) this;
+ }
+
+ public Criteria andRecStatusNotIn(List values) {
+ addCriterion("rec_status not in", values, "recStatus");
+ return (Criteria) this;
+ }
+
+ public Criteria andRecStatusBetween(Byte value1, Byte value2) {
+ addCriterion("rec_status between", value1, value2, "recStatus");
+ return (Criteria) this;
+ }
+
+ public Criteria andRecStatusNotBetween(Byte value1, Byte value2) {
+ addCriterion("rec_status not between", value1, value2, "recStatus");
+ return (Criteria) this;
+ }
+ }
+
+ public static class Criteria extends GeneratedCriteria {
+
+ protected Criteria() {
+ super();
+ }
+ }
+
+ public static class Criterion {
+ private String condition;
+
+ private Object value;
+
+ private Object secondValue;
+
+ private boolean noValue;
+
+ private boolean singleValue;
+
+ private boolean betweenValue;
+
+ private boolean listValue;
+
+ private String typeHandler;
+
+ public String getCondition() {
+ return condition;
+ }
+
+ public Object getValue() {
+ return value;
+ }
+
+ public Object getSecondValue() {
+ return secondValue;
+ }
+
+ public boolean isNoValue() {
+ return noValue;
+ }
+
+ public boolean isSingleValue() {
+ return singleValue;
+ }
+
+ public boolean isBetweenValue() {
+ return betweenValue;
+ }
+
+ public boolean isListValue() {
+ return listValue;
+ }
+
+ public String getTypeHandler() {
+ return typeHandler;
+ }
+
+ protected Criterion(String condition) {
+ super();
+ this.condition = condition;
+ this.typeHandler = null;
+ this.noValue = true;
+ }
+
+ protected Criterion(String condition, Object value, String typeHandler) {
+ super();
+ this.condition = condition;
+ this.value = value;
+ this.typeHandler = typeHandler;
+ if (value instanceof List>) {
+ this.listValue = true;
+ } else {
+ this.singleValue = true;
+ }
+ }
+
+ protected Criterion(String condition, Object value) {
+ this(condition, value, null);
+ }
+
+ protected Criterion(String condition, Object value, Object secondValue, String typeHandler) {
+ super();
+ this.condition = condition;
+ this.value = value;
+ this.secondValue = secondValue;
+ this.typeHandler = typeHandler;
+ this.betweenValue = true;
+ }
+
+ protected Criterion(String condition, Object value, Object secondValue) {
+ this(condition, value, secondValue, null);
+ }
+ }
+}
\ No newline at end of file
diff --git a/dh_diplomatist/src/main/java/com/ccsens/dh_diplomatist/bean/vo/DomainVo.java b/dh_diplomatist/src/main/java/com/ccsens/dh_diplomatist/bean/vo/DomainVo.java
new file mode 100644
index 0000000..6b3772e
--- /dev/null
+++ b/dh_diplomatist/src/main/java/com/ccsens/dh_diplomatist/bean/vo/DomainVo.java
@@ -0,0 +1,46 @@
+package com.ccsens.dh_diplomatist.bean.vo;
+
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+/**
+ * @author 逗
+ */
+@Data
+public class DomainVo {
+
+ @Data
+ @ApiModel("域信息")
+ public static class DomainInfo{
+ @ApiModelProperty("域id")
+ private Long id;
+ @ApiModelProperty("域名称")
+ private String name;
+ @ApiModelProperty("域code")
+ private String code;
+ @ApiModelProperty("简介")
+ private String intro;
+ @ApiModelProperty("访问前缀")
+ private String url;
+ @ApiModelProperty("ip/域名")
+ private String host;
+ @ApiModelProperty("是否是自身 0否 1是")
+ private Byte self;
+ @ApiModelProperty("是否是当前域的公域 0否 1是")
+ private Byte pub;
+ @ApiModelProperty("是否轮询 0否 1是")
+ private Byte polling;
+ @ApiModelProperty("是否接受该域的请求 0否 1是")
+ private Byte answer;
+ @ApiModelProperty("最后更新时间")
+ private Long lastUpdateTime;
+ @ApiModelProperty("最后请求时间")
+ private Long lastAskTime;
+ @ApiModelProperty("最后应答时间")
+ private Long lastAnswerTime;
+ @ApiModelProperty("公钥")
+ private String publicKey;
+ }
+
+}
diff --git a/dh_diplomatist/src/main/java/com/ccsens/dh_diplomatist/config/BeanConfig.java b/dh_diplomatist/src/main/java/com/ccsens/dh_diplomatist/config/BeanConfig.java
new file mode 100644
index 0000000..73f9e04
--- /dev/null
+++ b/dh_diplomatist/src/main/java/com/ccsens/dh_diplomatist/config/BeanConfig.java
@@ -0,0 +1,22 @@
+package com.ccsens.dh_diplomatist.config;
+
+import com.ccsens.dh_diplomatist.intercept.MybatisInterceptor;
+import org.springframework.context.annotation.Bean;
+import org.springframework.context.annotation.Configuration;
+
+/**
+ * @description:
+ * @author: wuHuiJuan
+ * @create: 2019/12/03 18:01
+ */
+@Configuration
+public class BeanConfig {
+ /**
+ * 注册拦截器
+ */
+ @Bean
+ public MybatisInterceptor mybatisInterceptor() {
+ MybatisInterceptor interceptor = new MybatisInterceptor();
+ return interceptor;
+ }
+}
diff --git a/dh_diplomatist/src/main/java/com/ccsens/dh_diplomatist/config/SpringConfig.java b/dh_diplomatist/src/main/java/com/ccsens/dh_diplomatist/config/SpringConfig.java
new file mode 100644
index 0000000..5e22e30
--- /dev/null
+++ b/dh_diplomatist/src/main/java/com/ccsens/dh_diplomatist/config/SpringConfig.java
@@ -0,0 +1,128 @@
+package com.ccsens.dh_diplomatist.config;
+
+
+import cn.hutool.core.lang.Snowflake;
+import cn.hutool.core.util.IdUtil;
+import com.ccsens.util.config.DruidProps;
+import com.fasterxml.jackson.databind.DeserializationFeature;
+import com.fasterxml.jackson.databind.ObjectMapper;
+import com.fasterxml.jackson.databind.module.SimpleModule;
+import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
+import org.springframework.beans.factory.annotation.Value;
+import org.springframework.context.annotation.Bean;
+import org.springframework.context.annotation.Configuration;
+import org.springframework.http.MediaType;
+import org.springframework.http.converter.HttpMessageConverter;
+import org.springframework.http.converter.StringHttpMessageConverter;
+import org.springframework.http.converter.json.MappingJackson2HttpMessageConverter;
+import org.springframework.web.servlet.config.annotation.*;
+
+import javax.annotation.Resource;
+import javax.sql.DataSource;
+import java.nio.charset.Charset;
+import java.util.ArrayList;
+import java.util.List;
+import java.util.TimeZone;
+
+@Configuration
+public class SpringConfig implements WebMvcConfigurer {
+ @Resource
+ private DruidProps druidPropsUtil;
+ @Value("${spring.snowflake.workerId}")
+ private String workerId;
+ @Value("${spring.snowflake.datacenterId}")
+ private String datacenterId;
+
+ /**
+ * 配置Converter
+ * @return
+ */
+ @Bean
+ public HttpMessageConverter responseStringConverter() {
+ StringHttpMessageConverter converter = new StringHttpMessageConverter(
+ Charset.forName("UTF-8"));
+ return converter;
+ }
+
+ @Bean
+ public HttpMessageConverter