gaodm пре 6 година
родитељ
комит
437061de3c
78 измењених фајлова са 660 додато и 884 уклоњено
  1. 3 3
      bi-service/src/main/java/com/diagbot/BiServiceApplication.java
  2. 6 6
      bi-service/src/main/java/com/diagbot/aop/SysLoggerAspect.java
  3. 1 1
      bi-service/src/main/java/com/diagbot/client/UserServiceClient.java
  4. 2 2
      bi-service/src/main/java/com/diagbot/config/JwtConfigurer.java
  5. 2 2
      bi-service/src/main/java/com/diagbot/config/ResourceServerConfigurer.java
  6. 3 3
      bi-service/src/main/java/com/diagbot/config/SwaggerConfigurer.java
  7. 2 2
      bi-service/src/main/java/com/diagbot/config/security/UrlAccessDecisionManager.java
  8. 13 13
      bi-service/src/main/java/com/diagbot/entity/SysLog.java
  9. 9 9
      bi-service/src/main/java/com/diagbot/entity/User.java
  10. 4 4
      bi-service/src/main/java/com/diagbot/exception/CommonExceptionHandler.java
  11. 1 1
      bi-service/src/main/java/com/diagbot/mapper/SysLogMapper.java
  12. 2 2
      bi-service/src/main/java/com/diagbot/rabbit/MySender.java
  13. 1 1
      bi-service/src/main/java/com/diagbot/service/SysLogService.java
  14. 1 1
      bi-service/src/main/java/com/diagbot/service/impl/SysLogServiceImpl.java
  15. 11 7
      bi-service/src/main/java/com/diagbot/web/SysLogController.java
  16. 2 2
      bi-service/src/main/resources/bootstrap.yml
  17. 70 53
      bi-service/src/main/resources/logback-spring.xml
  18. 14 13
      bi-service/src/main/resources/mapper/SysLogMapper.xml
  19. 1 1
      common/src/main/java/com/diagbot/dto/RespDTO.java
  20. 4 3
      common/src/main/java/com/diagbot/enums/IsDeleteEnum.java
  21. 2 2
      common/src/main/java/com/diagbot/enums/SysTypeEnum.java
  22. 4 4
      common/src/main/java/com/diagbot/exception/CommonErrorCode.java
  23. 1 1
      common/src/main/java/com/diagbot/exception/ErrorCode.java
  24. 4 2
      common/src/main/java/com/diagbot/util/ArrayUtil.java
  25. 10 8
      common/src/main/java/com/diagbot/util/BeanUtil.java
  26. 84 65
      common/src/main/java/com/diagbot/util/DateUtil.java
  27. 75 69
      common/src/main/java/com/diagbot/util/EntityUtil.java
  28. 8 3
      common/src/main/java/com/diagbot/util/FastJsonUtils.java
  29. 3 2
      common/src/main/java/com/diagbot/util/GsonUtil.java
  30. 2 3
      common/src/main/java/com/diagbot/util/IdcardValidatorUtil.java
  31. 1 0
      common/src/main/java/com/diagbot/util/IntegerUtil.java
  32. 1 0
      common/src/main/java/com/diagbot/util/ListUtil.java
  33. 6 2
      common/src/main/java/com/diagbot/util/MapUtil.java
  34. 1 0
      common/src/main/java/com/diagbot/util/RegexValidateUtil.java
  35. 5 8
      common/src/main/java/com/diagbot/util/SqlExecuteUtil.java
  36. 8 4
      common/src/main/java/com/diagbot/util/StringUtil.java
  37. 4 0
      common/src/main/java/com/diagbot/util/UserUtils.java
  38. 3 3
      feedback-service/src/main/java/com/diagbot/FeedbackServiceApplication.java
  39. 6 6
      feedback-service/src/main/java/com/diagbot/aop/SysLoggerAspect.java
  40. 1 1
      feedback-service/src/main/java/com/diagbot/client/UserServiceClient.java
  41. 2 2
      feedback-service/src/main/java/com/diagbot/config/JwtConfigurer.java
  42. 2 2
      feedback-service/src/main/java/com/diagbot/config/ResourceServerConfigurer.java
  43. 3 3
      feedback-service/src/main/java/com/diagbot/config/SwaggerConfigurer.java
  44. 2 2
      feedback-service/src/main/java/com/diagbot/config/security/UrlAccessDecisionManager.java
  45. 13 13
      feedback-service/src/main/java/com/diagbot/entity/SysLog.java
  46. 9 9
      feedback-service/src/main/java/com/diagbot/entity/User.java
  47. 4 4
      feedback-service/src/main/java/com/diagbot/exception/CommonExceptionHandler.java
  48. 3 3
      feedback-service/src/main/java/com/diagbot/exception/ServiceErrorCode.java
  49. 1 1
      feedback-service/src/main/java/com/diagbot/mapper/SysLogMapper.java
  50. 2 2
      feedback-service/src/main/java/com/diagbot/rabbit/MySender.java
  51. 1 1
      feedback-service/src/main/java/com/diagbot/service/SysLogService.java
  52. 1 1
      feedback-service/src/main/java/com/diagbot/service/impl/SysLogServiceImpl.java
  53. 11 7
      feedback-service/src/main/java/com/diagbot/web/SysLogController.java
  54. 2 2
      feedback-service/src/main/resources/bootstrap.yml
  55. 70 53
      feedback-service/src/main/resources/logback-spring.xml
  56. 14 13
      feedback-service/src/main/resources/mapper/SysLogMapper.xml
  57. 3 3
      knowledge-service/src/main/java/com/diagbot/KnowledgeServiceApplication.java
  58. 6 6
      knowledge-service/src/main/java/com/diagbot/aop/SysLoggerAspect.java
  59. 1 1
      knowledge-service/src/main/java/com/diagbot/client/UserServiceClient.java
  60. 2 2
      knowledge-service/src/main/java/com/diagbot/config/JwtConfigurer.java
  61. 2 2
      knowledge-service/src/main/java/com/diagbot/config/ResourceServerConfigurer.java
  62. 3 3
      knowledge-service/src/main/java/com/diagbot/config/SwaggerConfigurer.java
  63. 2 2
      knowledge-service/src/main/java/com/diagbot/config/security/UrlAccessDecisionManager.java
  64. 13 13
      knowledge-service/src/main/java/com/diagbot/entity/SysLog.java
  65. 9 9
      knowledge-service/src/main/java/com/diagbot/entity/User.java
  66. 4 4
      knowledge-service/src/main/java/com/diagbot/exception/CommonExceptionHandler.java
  67. 3 3
      knowledge-service/src/main/java/com/diagbot/exception/ServiceErrorCode.java
  68. 1 1
      knowledge-service/src/main/java/com/diagbot/mapper/SysLogMapper.java
  69. 2 2
      knowledge-service/src/main/java/com/diagbot/rabbit/MySender.java
  70. 1 1
      knowledge-service/src/main/java/com/diagbot/service/SysLogService.java
  71. 1 1
      knowledge-service/src/main/java/com/diagbot/service/impl/SysLogServiceImpl.java
  72. 0 51
      knowledge-service/src/main/java/com/diagbot/util/BeanUtil.java
  73. 0 92
      knowledge-service/src/main/java/com/diagbot/util/EntityUtil.java
  74. 0 97
      knowledge-service/src/main/java/com/diagbot/util/HttpUtils.java
  75. 0 93
      knowledge-service/src/main/java/com/diagbot/util/UserUtils.java
  76. 2 2
      knowledge-service/src/main/resources/bootstrap.yml
  77. 70 53
      knowledge-service/src/main/resources/logback-spring.xml
  78. 14 13
      knowledge-service/src/main/resources/mapper/SysLogMapper.xml

+ 3 - 3
bi-service/src/main/java/com/diagbot/BiServiceApplication.java

@@ -18,10 +18,10 @@ import org.springframework.cloud.openfeign.EnableFeignClients;
  * @author: gaodm
  * @author: gaodm
  * @time: 2018/8/7 9:24
  * @time: 2018/8/7 9:24
  */
  */
-@SpringBootApplication(exclude = {DataSourceAutoConfiguration.class, HibernateJpaAutoConfiguration.class,
-        JmxAutoConfiguration.class, ThymeleafAutoConfiguration.class})
+@SpringBootApplication(exclude = { DataSourceAutoConfiguration.class, HibernateJpaAutoConfiguration.class,
+        JmxAutoConfiguration.class, ThymeleafAutoConfiguration.class })
 @EnableEurekaClient
 @EnableEurekaClient
-@EnableFeignClients({"com.diagbot.client"})
+@EnableFeignClients({ "com.diagbot.client" })
 @EnableHystrixDashboard
 @EnableHystrixDashboard
 @EnableHystrix
 @EnableHystrix
 @EnableCircuitBreaker
 @EnableCircuitBreaker

+ 6 - 6
bi-service/src/main/java/com/diagbot/aop/SysLoggerAspect.java

@@ -42,7 +42,7 @@ public class SysLoggerAspect {
 
 
         SysLog sysLog = new SysLog();
         SysLog sysLog = new SysLog();
         SysLogger sysLogger = method.getAnnotation(SysLogger.class);
         SysLogger sysLogger = method.getAnnotation(SysLogger.class);
-        if(sysLogger != null){
+        if (sysLogger != null) {
             //注解上的描述
             //注解上的描述
             sysLog.setOperation(sysLogger.value());
             sysLog.setOperation(sysLogger.value());
         }
         }
@@ -52,18 +52,18 @@ public class SysLoggerAspect {
         sysLog.setMethod(className + "." + methodName + "()");
         sysLog.setMethod(className + "." + methodName + "()");
         //请求的参数
         //请求的参数
         Object[] args = joinPoint.getArgs();
         Object[] args = joinPoint.getArgs();
-        String params="";
-        for(Object o:args){
-            params+=GsonUtil.toJson(o);
+        String params = "";
+        for (Object o : args) {
+            params += GsonUtil.toJson(o);
         }
         }
-        if(!StringUtil.isEmpty(params)) {
+        if (!StringUtil.isEmpty(params)) {
             sysLog.setParams(params);
             sysLog.setParams(params);
         }
         }
         //设置IP地址
         //设置IP地址
         sysLog.setIp(HttpUtils.getIpAddress());
         sysLog.setIp(HttpUtils.getIpAddress());
         //用户名
         //用户名
         String username = UserUtils.getCurrentPrinciple();
         String username = UserUtils.getCurrentPrinciple();
-        if(!StringUtil.isEmpty(username)) {
+        if (!StringUtil.isEmpty(username)) {
             sysLog.setUsername(username);
             sysLog.setUsername(username);
         }
         }
         sysLog.setGmtCreate(new Date());
         sysLog.setGmtCreate(new Date());

+ 1 - 1
bi-service/src/main/java/com/diagbot/client/UserServiceClient.java

@@ -14,7 +14,7 @@ import org.springframework.web.bind.annotation.RequestHeader;
  * @author: gaodm
  * @author: gaodm
  * @time: 2018/8/6 9:52
  * @time: 2018/8/6 9:52
  */
  */
-@FeignClient(value = "user-service",fallback = UserServiceHystrix.class )
+@FeignClient(value = "user-service", fallback = UserServiceHystrix.class)
 public interface UserServiceClient {
 public interface UserServiceClient {
 
 
     @PostMapping(value = "/user/{username}")
     @PostMapping(value = "/user/{username}")

+ 2 - 2
bi-service/src/main/java/com/diagbot/config/JwtConfigurer.java

@@ -33,9 +33,9 @@ public class JwtConfigurer {
 
 
     @Bean
     @Bean
     protected JwtAccessTokenConverter jwtTokenEnhancer() {
     protected JwtAccessTokenConverter jwtTokenEnhancer() {
-        JwtAccessTokenConverter converter =  new JwtAccessTokenConverter();
+        JwtAccessTokenConverter converter = new JwtAccessTokenConverter();
         Resource resource = new ClassPathResource("public.cert");
         Resource resource = new ClassPathResource("public.cert");
-        String publicKey ;
+        String publicKey;
         try {
         try {
             publicKey = new String(FileCopyUtils.copyToByteArray(resource.getInputStream()));
             publicKey = new String(FileCopyUtils.copyToByteArray(resource.getInputStream()));
         } catch (IOException e) {
         } catch (IOException e) {

+ 2 - 2
bi-service/src/main/java/com/diagbot/config/ResourceServerConfigurer.java

@@ -25,9 +25,9 @@ public class ResourceServerConfigurer extends ResourceServerConfigurerAdapter {
         http
         http
                 .csrf().disable()
                 .csrf().disable()
                 .authorizeRequests()
                 .authorizeRequests()
-                .regexMatchers(".*swagger.*",".*v2.*",".*webjars.*","/druid.*","/actuator.*","/hystrix.*").permitAll()
+                .regexMatchers(".*swagger.*", ".*v2.*", ".*webjars.*", "/druid.*", "/actuator.*", "/hystrix.*").permitAll()
                 .antMatchers("/**").authenticated();
                 .antMatchers("/**").authenticated();
-//        .antMatchers("/**").permitAll();
+        //        .antMatchers("/**").permitAll();
     }
     }
 
 
 
 

+ 3 - 3
bi-service/src/main/java/com/diagbot/config/SwaggerConfigurer.java

@@ -25,7 +25,7 @@ import java.util.List;
  * @time: 2018/8/2 14:21
  * @time: 2018/8/2 14:21
  */
  */
 @Configuration
 @Configuration
-@ConditionalOnProperty(prefix = "swagger", value = {"enable"}, havingValue = "true")
+@ConditionalOnProperty(prefix = "swagger", value = { "enable" }, havingValue = "true")
 @EnableSwagger2
 @EnableSwagger2
 public class SwaggerConfigurer {
 public class SwaggerConfigurer {
     /**
     /**
@@ -52,8 +52,8 @@ public class SwaggerConfigurer {
                 .apis(RequestHandlerSelectors.basePackage("com.diagbot.web"))
                 .apis(RequestHandlerSelectors.basePackage("com.diagbot.web"))
                 .paths(PathSelectors.any())
                 .paths(PathSelectors.any())
                 .build().globalOperationParameters(parameter());
                 .build().globalOperationParameters(parameter());
-                //.securitySchemes(newArrayList(oauth()))
-               // .securityContexts(newArrayList(securityContext()));
+        //.securitySchemes(newArrayList(oauth()))
+        // .securityContexts(newArrayList(securityContext()));
     }
     }
 
 
     private ApiInfo apiInfo() {
     private ApiInfo apiInfo() {

+ 2 - 2
bi-service/src/main/java/com/diagbot/config/security/UrlAccessDecisionManager.java

@@ -25,7 +25,7 @@ public class UrlAccessDecisionManager implements AccessDecisionManager {
     public void decide(Authentication authentication, Object object, Collection<ConfigAttribute> configAttributes) throws AccessDeniedException, InsufficientAuthenticationException {
     public void decide(Authentication authentication, Object object, Collection<ConfigAttribute> configAttributes) throws AccessDeniedException, InsufficientAuthenticationException {
         HttpServletRequest request = ((FilterInvocation) object).getHttpRequest();
         HttpServletRequest request = ((FilterInvocation) object).getHttpRequest();
         String url, method;
         String url, method;
-        if ("anonymousUser".equals(authentication.getPrincipal())){
+        if ("anonymousUser".equals(authentication.getPrincipal())) {
             if (matchers("/swagger/**", request)
             if (matchers("/swagger/**", request)
                     || matchers("/v2/**", request)
                     || matchers("/v2/**", request)
                     || matchers("/swagger-ui.html/**", request)
                     || matchers("/swagger-ui.html/**", request)
@@ -34,7 +34,7 @@ public class UrlAccessDecisionManager implements AccessDecisionManager {
                     || matchers("/druid/**", request)
                     || matchers("/druid/**", request)
                     || matchers("/actuator/**", request)
                     || matchers("/actuator/**", request)
                     || matchers("/hystrix/**", request)
                     || matchers("/hystrix/**", request)
-                    || matchers("/", request)){
+                    || matchers("/", request)) {
                 return;
                 return;
             } else {
             } else {
                 throw new AccessDeniedException("no right");
                 throw new AccessDeniedException("no right");

+ 13 - 13
bi-service/src/main/java/com/diagbot/entity/SysLog.java

@@ -179,18 +179,18 @@ public class SysLog implements Serializable {
     @Override
     @Override
     public String toString() {
     public String toString() {
         return "SysLog{" +
         return "SysLog{" +
-        "id=" + id +
-        ", isDeleted=" + isDeleted +
-        ", gmtCreate=" + gmtCreate +
-        ", gmtModified=" + gmtModified +
-        ", creator=" + creator +
-        ", modifier=" + modifier +
-        ", ip=" + ip +
-        ", sysType=" + sysType +
-        ", method=" + method +
-        ", operation=" + operation +
-        ", params=" + params +
-        ", username=" + username +
-        "}";
+                "id=" + id +
+                ", isDeleted=" + isDeleted +
+                ", gmtCreate=" + gmtCreate +
+                ", gmtModified=" + gmtModified +
+                ", creator=" + creator +
+                ", modifier=" + modifier +
+                ", ip=" + ip +
+                ", sysType=" + sysType +
+                ", method=" + method +
+                ", operation=" + operation +
+                ", params=" + params +
+                ", username=" + username +
+                "}";
     }
     }
 }
 }

+ 9 - 9
bi-service/src/main/java/com/diagbot/entity/User.java

@@ -129,14 +129,14 @@ public class User implements Serializable {
     @Override
     @Override
     public String toString() {
     public String toString() {
         return "User{" +
         return "User{" +
-        "id=" + id +
-        ", isDeleted=" + isDeleted +
-        ", gmtCreate=" + gmtCreate +
-        ", gmtModified=" + gmtModified +
-        ", creator=" + creator +
-        ", modifier=" + modifier +
-        ", password=" + password +
-        ", username=" + username +
-        "}";
+                "id=" + id +
+                ", isDeleted=" + isDeleted +
+                ", gmtCreate=" + gmtCreate +
+                ", gmtModified=" + gmtModified +
+                ", creator=" + creator +
+                ", modifier=" + modifier +
+                ", password=" + password +
+                ", username=" + username +
+                "}";
     }
     }
 }
 }

+ 4 - 4
bi-service/src/main/java/com/diagbot/exception/CommonExceptionHandler.java

@@ -30,7 +30,7 @@ public class CommonExceptionHandler {
     @ExceptionHandler(Exception.class)
     @ExceptionHandler(Exception.class)
     public ResponseEntity<RespDTO> handleException(Exception e) {
     public ResponseEntity<RespDTO> handleException(Exception e) {
         RespDTO resp = new RespDTO();
         RespDTO resp = new RespDTO();
-        if(e instanceof BindException) {
+        if (e instanceof BindException) {
             BindException ex = (BindException) e;
             BindException ex = (BindException) e;
             Map<String, String> stringMap = new HashMap<>();
             Map<String, String> stringMap = new HashMap<>();
             for (FieldError fieldError : ex.getBindingResult().getFieldErrors()) {
             for (FieldError fieldError : ex.getBindingResult().getFieldErrors()) {
@@ -42,7 +42,7 @@ public class CommonExceptionHandler {
             resp.msg = msg;
             resp.msg = msg;
             return new ResponseEntity(resp, HttpStatus.OK);
             return new ResponseEntity(resp, HttpStatus.OK);
         }
         }
-        if(e instanceof MethodArgumentNotValidException) {
+        if (e instanceof MethodArgumentNotValidException) {
             MethodArgumentNotValidException ex = (MethodArgumentNotValidException) e;
             MethodArgumentNotValidException ex = (MethodArgumentNotValidException) e;
             Map<String, String> stringMap = new HashMap<>();
             Map<String, String> stringMap = new HashMap<>();
             for (FieldError fieldError : ex.getBindingResult().getFieldErrors()) {
             for (FieldError fieldError : ex.getBindingResult().getFieldErrors()) {
@@ -54,7 +54,7 @@ public class CommonExceptionHandler {
             resp.msg = msg;
             resp.msg = msg;
             return new ResponseEntity(resp, HttpStatus.OK);
             return new ResponseEntity(resp, HttpStatus.OK);
         }
         }
-        if(e instanceof MissingServletRequestParameterException) {
+        if (e instanceof MissingServletRequestParameterException) {
             MissingServletRequestParameterException ex = (MissingServletRequestParameterException) e;
             MissingServletRequestParameterException ex = (MissingServletRequestParameterException) e;
             Map<String, String> stringMap = new HashMap<>();
             Map<String, String> stringMap = new HashMap<>();
             stringMap.put(ex.getParameterName(), "不能为null");
             stringMap.put(ex.getParameterName(), "不能为null");
@@ -64,7 +64,7 @@ public class CommonExceptionHandler {
             resp.msg = msg;
             resp.msg = msg;
             return new ResponseEntity(resp, HttpStatus.OK);
             return new ResponseEntity(resp, HttpStatus.OK);
         }
         }
-        if(e instanceof CommonException) {
+        if (e instanceof CommonException) {
             CommonException taiChiException = (CommonException) e;
             CommonException taiChiException = (CommonException) e;
             resp.code = taiChiException.getCode();
             resp.code = taiChiException.getCode();
             resp.msg = e.getMessage();
             resp.msg = e.getMessage();

+ 1 - 1
bi-service/src/main/java/com/diagbot/mapper/SysLogMapper.java

@@ -5,7 +5,7 @@ import com.diagbot.entity.SysLog;
 
 
 /**
 /**
  * <p>
  * <p>
- *  Mapper 接口
+ * Mapper 接口
  * </p>
  * </p>
  *
  *
  * @author gaodm
  * @author gaodm

+ 2 - 2
bi-service/src/main/java/com/diagbot/rabbit/MySender.java

@@ -15,13 +15,13 @@ import org.springframework.stereotype.Component;
  * @time: 2018/8/29 13:41
  * @time: 2018/8/29 13:41
  */
  */
 @Component
 @Component
-@EnableBinding({MyProcessor.class})
+@EnableBinding({ MyProcessor.class })
 public class MySender {
 public class MySender {
     @Autowired
     @Autowired
     @Qualifier("outputLog")
     @Qualifier("outputLog")
     MessageChannel outputLog;
     MessageChannel outputLog;
 
 
-    public void outputLogSend(SysLog sysLog){
+    public void outputLogSend(SysLog sysLog) {
         outputLog.send(MessageBuilder.withPayload(GsonUtil.toJson(sysLog)).build());
         outputLog.send(MessageBuilder.withPayload(GsonUtil.toJson(sysLog)).build());
     }
     }
 }
 }

+ 1 - 1
bi-service/src/main/java/com/diagbot/service/SysLogService.java

@@ -5,7 +5,7 @@ import com.diagbot.entity.SysLog;
 
 
 /**
 /**
  * <p>
  * <p>
- *  服务类
+ * 服务类
  * </p>
  * </p>
  *
  *
  * @author gaodm
  * @author gaodm

+ 1 - 1
bi-service/src/main/java/com/diagbot/service/impl/SysLogServiceImpl.java

@@ -8,7 +8,7 @@ import org.springframework.stereotype.Service;
 
 
 /**
 /**
  * <p>
  * <p>
- *  服务实现类
+ * 服务实现类
  * </p>
  * </p>
  *
  *
  * @author gaodm
  * @author gaodm

+ 11 - 7
bi-service/src/main/java/com/diagbot/web/SysLogController.java

@@ -43,7 +43,7 @@ public class SysLogController {
     @ApiOperation(value = "添加日志", notes = "添加日志")
     @ApiOperation(value = "添加日志", notes = "添加日志")
     @PostMapping("/add")
     @PostMapping("/add")
     @SysLogger("postLog")
     @SysLogger("postLog")
-    public RespDTO add(@RequestBody SysLogVo sysLogVo){
+    public RespDTO add(@RequestBody SysLogVo sysLogVo) {
         //初始化新增日志信息
         //初始化新增日志信息
         SysLog sysLog = new SysLog();
         SysLog sysLog = new SysLog();
         sysLog.setGmtCreate(new Date());
         sysLog.setGmtCreate(new Date());
@@ -51,47 +51,51 @@ public class SysLogController {
         sysLog.setMethod(sysLogVo.getMethod());
         sysLog.setMethod(sysLogVo.getMethod());
         sysLog.setOperation(sysLogVo.getOperation());
         sysLog.setOperation(sysLogVo.getOperation());
         sysLog.setParams(sysLogVo.getParams());
         sysLog.setParams(sysLogVo.getParams());
-        return RespDTO.onSuc(sysLogFacade.save(sysLog)?"添加成功":"添加失败");
+        return RespDTO.onSuc(sysLogFacade.save(sysLog) ? "添加成功" : "添加失败");
     }
     }
 
 
     /**
     /**
      * 删除日志
      * 删除日志
+     *
      * @param id 日志信息ID
      * @param id 日志信息ID
      * @return 删除是否成功
      * @return 删除是否成功
      */
      */
     @ApiOperation(value = "删除日志", notes = "删除日志")
     @ApiOperation(value = "删除日志", notes = "删除日志")
     @DeleteMapping("/delete/{id}")
     @DeleteMapping("/delete/{id}")
     @SysLogger("deleteLog")
     @SysLogger("deleteLog")
-    public RespDTO delete(@PathVariable(value = "id") Integer id){
-        return RespDTO.onSuc(sysLogFacade.removeById(id)?"删除成功":"删除失败");
+    public RespDTO delete(@PathVariable(value = "id") Integer id) {
+        return RespDTO.onSuc(sysLogFacade.removeById(id) ? "删除成功" : "删除失败");
     }
     }
 
 
     /**
     /**
      * 修改日志
      * 修改日志
+     *
      * @param sysLog 修改日志输入参数
      * @param sysLog 修改日志输入参数
      * @return 修改是否成功
      * @return 修改是否成功
      */
      */
     @ApiOperation(value = "修改日志", notes = "修改日志")
     @ApiOperation(value = "修改日志", notes = "修改日志")
     @PostMapping("/update")
     @PostMapping("/update")
     @SysLogger("updateLog")
     @SysLogger("updateLog")
-    public RespDTO update(@RequestBody SysLog sysLog){
-        return RespDTO.onSuc(sysLogFacade.updateById(sysLog)?"修改成功":"修改失败");
+    public RespDTO update(@RequestBody SysLog sysLog) {
+        return RespDTO.onSuc(sysLogFacade.updateById(sysLog) ? "修改成功" : "修改失败");
     }
     }
 
 
     /**
     /**
      * 获取日志列表
      * 获取日志列表
+     *
      * @return 日志列信息
      * @return 日志列信息
      */
      */
     @ApiOperation(value = "获取日志列表", notes = "获取日志列表")
     @ApiOperation(value = "获取日志列表", notes = "获取日志列表")
     @GetMapping("/list")
     @GetMapping("/list")
     @SysLogger("listLog")
     @SysLogger("listLog")
-    public RespDTO list(){
+    public RespDTO list() {
         Wrapper<SysLog> wrapper = new QueryWrapper<>();
         Wrapper<SysLog> wrapper = new QueryWrapper<>();
         return RespDTO.onSuc(sysLogFacade.list(wrapper));
         return RespDTO.onSuc(sysLogFacade.list(wrapper));
     }
     }
 
 
     /**
     /**
      * 获取日志翻页信息
      * 获取日志翻页信息
+     *
      * @return 日志翻页信息
      * @return 日志翻页信息
      */
      */
     @ApiOperation(value = "获取日志翻页信息", notes = "获取日志翻页信息")
     @ApiOperation(value = "获取日志翻页信息", notes = "获取日志翻页信息")

+ 2 - 2
bi-service/src/main/resources/bootstrap.yml

@@ -3,13 +3,13 @@ spring:
     name: bi-service
     name: bi-service
   cloud:
   cloud:
     config:
     config:
-#      uri: http://${myuri}:8769
+      #uri: http://${myuri}:8769
       fail-fast: true
       fail-fast: true
       discovery:
       discovery:
         enabled: true
         enabled: true
         serviceId: config-server
         serviceId: config-server
   profiles:
   profiles:
-      active: local
+    active: local
 
 
 eureka:
 eureka:
   client:
   client:

+ 70 - 53
bi-service/src/main/resources/logback-spring.xml

@@ -1,19 +1,24 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <?xml version="1.0" encoding="UTF-8"?>
 <configuration>
 <configuration>
     <!-- 项目名称 -->
     <!-- 项目名称 -->
-    <property name="APPDIR" value="bi-service" />
+    <property name="APPDIR" value="bi-service"/>
     <!--定义日志文件的存储地址 勿在 LogBack 的配置中使用相对路径-->
     <!--定义日志文件的存储地址 勿在 LogBack 的配置中使用相对路径-->
-    <property name="LOG_PATH" value="../logs" />
+    <property name="LOG_PATH" value="../logs"/>
 
 
     <!-- 彩色日志 -->
     <!-- 彩色日志 -->
     <!-- 彩色日志依赖的渲染类 -->
     <!-- 彩色日志依赖的渲染类 -->
-    <conversionRule conversionWord="clr" converterClass="org.springframework.boot.logging.logback.ColorConverter" />
-    <conversionRule conversionWord="wex" converterClass="org.springframework.boot.logging.logback.WhitespaceThrowableProxyConverter" />
-    <conversionRule conversionWord="wEx" converterClass="org.springframework.boot.logging.logback.ExtendedWhitespaceThrowableProxyConverter" />
+    <conversionRule conversionWord="clr"
+                    converterClass="org.springframework.boot.logging.logback.ColorConverter"/>
+    <conversionRule conversionWord="wex"
+                    converterClass="org.springframework.boot.logging.logback.WhitespaceThrowableProxyConverter"/>
+    <conversionRule conversionWord="wEx"
+                    converterClass="org.springframework.boot.logging.logback.ExtendedWhitespaceThrowableProxyConverter"/>
     <!-- 彩色日志格式 -->
     <!-- 彩色日志格式 -->
-    <property name="CONSOLE_LOG_PATTERN" value="${CONSOLE_LOG_PATTERN:-%clr(%d{yyyy-MM-dd HH:mm:ss.SSS}){faint} %clr(${LOG_LEVEL_PATTERN:-%5p}) %clr(${PID:- }){magenta} %clr(---){faint} %clr([%15.15t]){faint} %clr(%logger){cyan} %clr(:){faint} %m%n${LOG_EXCEPTION_CONVERSION_WORD:-%wEx}}" />
+    <property name="CONSOLE_LOG_PATTERN"
+              value="${CONSOLE_LOG_PATTERN:-%clr(%d{yyyy-MM-dd HH:mm:ss.SSS}){faint} %clr(${LOG_LEVEL_PATTERN:-%5p}) %clr(${PID:- }){magenta} %clr(---){faint} %clr([%15.15t]){faint} %clr(%logger){cyan} %clr(:){faint} %m%n${LOG_EXCEPTION_CONVERSION_WORD:-%wEx}}"/>
     <!--包名输出缩进对齐-->
     <!--包名输出缩进对齐-->
-    <property name="CONSOLE_LOG_PATTERN" value="${CONSOLE_LOG_PATTERN:-%clr(%d{yyyy-MM-dd HH:mm:ss.SSS}){faint} %clr(${LOG_LEVEL_PATTERN:-%5p}) %clr(${PID:- }){magenta} %clr(---){faint} %clr([%15.15t]){faint} %clr(%-40.40logger{39}){cyan} %clr(:){faint} %m%n${LOG_EXCEPTION_CONVERSION_WORD:-%wEx}}" />
+    <property name="CONSOLE_LOG_PATTERN"
+              value="${CONSOLE_LOG_PATTERN:-%clr(%d{yyyy-MM-dd HH:mm:ss.SSS}){faint} %clr(${LOG_LEVEL_PATTERN:-%5p}) %clr(${PID:- }){magenta} %clr(---){faint} %clr([%15.15t]){faint} %clr(%-40.40logger{39}){cyan} %clr(:){faint} %m%n${LOG_EXCEPTION_CONVERSION_WORD:-%wEx}}"/>
 
 
     <!--  日志记录器,日期滚动记录
     <!--  日志记录器,日期滚动记录
             ERROR 级别
             ERROR 级别
@@ -26,12 +31,14 @@
             <!-- 归档的日志文件的路径,例如今天是1992-11-06日志,当前写的日志文件路径为file节点指定,
             <!-- 归档的日志文件的路径,例如今天是1992-11-06日志,当前写的日志文件路径为file节点指定,
             可以将此文件与file指定文件路径设置为不同路径,从而将当前日志文件或归档日志文件置不同的目录。
             可以将此文件与file指定文件路径设置为不同路径,从而将当前日志文件或归档日志文件置不同的目录。
             而1992-11-06的日志文件在由fileNamePattern指定。%d{yyyy-MM-dd}指定日期格式,%i指定索引 -->
             而1992-11-06的日志文件在由fileNamePattern指定。%d{yyyy-MM-dd}指定日期格式,%i指定索引 -->
-            <fileNamePattern>${LOG_PATH}/${APPDIR}/error/${APPDIR}-error-%d{yyyy-MM-dd}.%i.log</fileNamePattern>
+            <fileNamePattern>${LOG_PATH}/${APPDIR}/error/${APPDIR}-error-%d{yyyy-MM-dd}.%i.log
+            </fileNamePattern>
             <!--  保留日志天数 -->
             <!--  保留日志天数 -->
             <maxHistory>30</maxHistory>
             <maxHistory>30</maxHistory>
             <!-- 除按日志记录之外,还配置了日志文件不能超过10MB,若超过10MB,日志文件会以索引0开始,
             <!-- 除按日志记录之外,还配置了日志文件不能超过10MB,若超过10MB,日志文件会以索引0开始,
             命名日志文件,例如log-error-1992-11-06.0.log -->
             命名日志文件,例如log-error-1992-11-06.0.log -->
-            <timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">
+            <timeBasedFileNamingAndTriggeringPolicy
+                    class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">
                 <maxFileSize>10MB</maxFileSize>
                 <maxFileSize>10MB</maxFileSize>
             </timeBasedFileNamingAndTriggeringPolicy>
             </timeBasedFileNamingAndTriggeringPolicy>
         </rollingPolicy>
         </rollingPolicy>
@@ -39,7 +46,8 @@
         <append>true</append>
         <append>true</append>
         <!-- 日志文件的格式 -->
         <!-- 日志文件的格式 -->
         <encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder">
         <encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder">
-            <pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} %-5level --- [%thread] %logger Line:%-3L - %msg%n</pattern>
+            <pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} %-5level --- [%thread] %logger Line:%-3L - %msg%n
+            </pattern>
             <charset>utf-8</charset>
             <charset>utf-8</charset>
         </encoder>
         </encoder>
         <!-- 此日志文件记录error级别的 -->
         <!-- 此日志文件记录error级别的 -->
@@ -62,12 +70,14 @@
             <!-- 归档的日志文件的路径,例如今天1992-11-06日志,当前写的日志文件路径为file节点指定,
             <!-- 归档的日志文件的路径,例如今天1992-11-06日志,当前写的日志文件路径为file节点指定,
             可以将此文件与file指定文件路径设置为不同路径,从而将当前日志文件或归档日志文件置不同的目录。
             可以将此文件与file指定文件路径设置为不同路径,从而将当前日志文件或归档日志文件置不同的目录。
             而1992-11-06的日志文件在由fileNamePattern指定。%d{yyyy-MM-dd}指定日期格式,%i指定索引 -->
             而1992-11-06的日志文件在由fileNamePattern指定。%d{yyyy-MM-dd}指定日期格式,%i指定索引 -->
-            <fileNamePattern>${LOG_PATH}/${APPDIR}/warn/${APPDIR}-warn-%d{yyyy-MM-dd}.%i.log</fileNamePattern>
+            <fileNamePattern>${LOG_PATH}/${APPDIR}/warn/${APPDIR}-warn-%d{yyyy-MM-dd}.%i.log
+            </fileNamePattern>
             <!--  保留日志天数 -->
             <!--  保留日志天数 -->
             <maxHistory>15</maxHistory>
             <maxHistory>15</maxHistory>
             <!-- 除按日志记录之外,还配置了日志文件不能超过10MB,若超过10MB,日志文件会以索引0开始,
             <!-- 除按日志记录之外,还配置了日志文件不能超过10MB,若超过10MB,日志文件会以索引0开始,
             命名日志文件,例如log-warn-1992-11-06.0.log -->
             命名日志文件,例如log-warn-1992-11-06.0.log -->
-            <timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">
+            <timeBasedFileNamingAndTriggeringPolicy
+                    class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">
                 <maxFileSize>10MB</maxFileSize>
                 <maxFileSize>10MB</maxFileSize>
             </timeBasedFileNamingAndTriggeringPolicy>
             </timeBasedFileNamingAndTriggeringPolicy>
         </rollingPolicy>
         </rollingPolicy>
@@ -75,7 +85,8 @@
         <append>true</append>
         <append>true</append>
         <!-- 日志文件的格式 -->
         <!-- 日志文件的格式 -->
         <encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder">
         <encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder">
-            <pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} %-5level --- [%thread] %logger Line:%-3L - %msg%n</pattern>
+            <pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} %-5level --- [%thread] %logger Line:%-3L - %msg%n
+            </pattern>
             <charset>utf-8</charset>
             <charset>utf-8</charset>
         </encoder>
         </encoder>
         <!-- 此日志文件只记录warn级别的 -->
         <!-- 此日志文件只记录warn级别的 -->
@@ -98,12 +109,14 @@
             <!-- 归档的日志文件的路径,例如今天是1992-11-06日志,当前写的日志文件路径为file节点指定,
             <!-- 归档的日志文件的路径,例如今天是1992-11-06日志,当前写的日志文件路径为file节点指定,
             可以将此文件与file指定文件路径设置为不同路径,从而将当前日志文件或归档日志文件置不同的目录。
             可以将此文件与file指定文件路径设置为不同路径,从而将当前日志文件或归档日志文件置不同的目录。
             而1992-11-06的日志文件在由fileNamePattern指定。%d{yyyy-MM-dd}指定日期格式,%i指定索引 -->
             而1992-11-06的日志文件在由fileNamePattern指定。%d{yyyy-MM-dd}指定日期格式,%i指定索引 -->
-            <fileNamePattern>${LOG_PATH}/${APPDIR}/info/${APPDIR}-info-%d{yyyy-MM-dd}.%i.log</fileNamePattern>
+            <fileNamePattern>${LOG_PATH}/${APPDIR}/info/${APPDIR}-info-%d{yyyy-MM-dd}.%i.log
+            </fileNamePattern>
             <!--  保留日志天数 -->
             <!--  保留日志天数 -->
             <maxHistory>15</maxHistory>
             <maxHistory>15</maxHistory>
             <!-- 除按日志记录之外,还配置了日志文件不能超过10MB,若超过10MB,日志文件会以索引0开始,
             <!-- 除按日志记录之外,还配置了日志文件不能超过10MB,若超过10MB,日志文件会以索引0开始,
             命名日志文件,例如log-info-1992-11-06.0.log -->
             命名日志文件,例如log-info-1992-11-06.0.log -->
-            <timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">
+            <timeBasedFileNamingAndTriggeringPolicy
+                    class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">
                 <maxFileSize>10MB</maxFileSize>
                 <maxFileSize>10MB</maxFileSize>
             </timeBasedFileNamingAndTriggeringPolicy>
             </timeBasedFileNamingAndTriggeringPolicy>
         </rollingPolicy>
         </rollingPolicy>
@@ -111,7 +124,8 @@
         <append>true</append>
         <append>true</append>
         <!-- 日志文件的格式 -->
         <!-- 日志文件的格式 -->
         <encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder">
         <encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder">
-            <pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} %-5level --- [%thread] %logger Line:%-3L - %msg%n</pattern>
+            <pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} %-5level --- [%thread] %logger Line:%-3L - %msg%n
+            </pattern>
             <charset>utf-8</charset>
             <charset>utf-8</charset>
         </encoder>
         </encoder>
         <!-- 此日志文件只记录info级别的 -->
         <!-- 此日志文件只记录info级别的 -->
@@ -134,12 +148,14 @@
             <!-- 归档的日志文件的路径,例如今天是1992-11-06日志,当前写的日志文件路径为file节点指定,
             <!-- 归档的日志文件的路径,例如今天是1992-11-06日志,当前写的日志文件路径为file节点指定,
             可以将此文件与file指定文件路径设置为不同路径,从而将当前日志文件或归档日志文件置不同的目录。
             可以将此文件与file指定文件路径设置为不同路径,从而将当前日志文件或归档日志文件置不同的目录。
             而1992-11-06的日志文件在由fileNamePattern指定。%d{yyyy-MM-dd}指定日期格式,%i指定索引 -->
             而1992-11-06的日志文件在由fileNamePattern指定。%d{yyyy-MM-dd}指定日期格式,%i指定索引 -->
-            <fileNamePattern>${LOG_PATH}/${APPDIR}/debug/${APPDIR}-debug-%d{yyyy-MM-dd}.%i.log</fileNamePattern>
+            <fileNamePattern>${LOG_PATH}/${APPDIR}/debug/${APPDIR}-debug-%d{yyyy-MM-dd}.%i.log
+            </fileNamePattern>
             <!--  保留日志天数 -->
             <!--  保留日志天数 -->
             <maxHistory>15</maxHistory>
             <maxHistory>15</maxHistory>
             <!-- 除按日志记录之外,还配置了日志文件不能超过10MB,若超过10MB,日志文件会以索引0开始,
             <!-- 除按日志记录之外,还配置了日志文件不能超过10MB,若超过10MB,日志文件会以索引0开始,
             命名日志文件,例如log-debug-1992-11-06.0.log -->
             命名日志文件,例如log-debug-1992-11-06.0.log -->
-            <timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">
+            <timeBasedFileNamingAndTriggeringPolicy
+                    class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">
                 <maxFileSize>10MB</maxFileSize>
                 <maxFileSize>10MB</maxFileSize>
             </timeBasedFileNamingAndTriggeringPolicy>
             </timeBasedFileNamingAndTriggeringPolicy>
         </rollingPolicy>
         </rollingPolicy>
@@ -147,7 +163,8 @@
         <append>true</append>
         <append>true</append>
         <!-- 日志文件的格式 -->
         <!-- 日志文件的格式 -->
         <encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder">
         <encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder">
-            <pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} %-5level --- [%thread] %logger Line:%-3L - %msg%n</pattern>
+            <pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} %-5level --- [%thread] %logger Line:%-3L - %msg%n
+            </pattern>
             <charset>utf-8</charset>
             <charset>utf-8</charset>
         </encoder>
         </encoder>
         <!-- 此日志文件只记录debug级别的 -->
         <!-- 此日志文件只记录debug级别的 -->
@@ -175,31 +192,31 @@
 
 
     <!--&lt;!&ndash;输出到mysql数据库的appender配置     &ndash;&gt;-->
     <!--&lt;!&ndash;输出到mysql数据库的appender配置     &ndash;&gt;-->
     <!--<appender name="db" class="ch.qos.logback.classic.db.DBAppender">-->
     <!--<appender name="db" class="ch.qos.logback.classic.db.DBAppender">-->
-        <!--<connectionSource-->
-                <!--class="ch.qos.logback.core.db.DriverManagerConnectionSource">-->
-            <!--<driverClass>com.mysql.jdbc.Driver</driverClass>-->
-            <!--<url>jdbc:mysql://120.77.222.42:3306/logback_member?characterEncoding=utf8</url>-->
-            <!--<user>root</user>-->
-            <!--<password>a123456789</password>-->
-        <!--</connectionSource>-->
+    <!--<connectionSource-->
+    <!--class="ch.qos.logback.core.db.DriverManagerConnectionSource">-->
+    <!--<driverClass>com.mysql.jdbc.Driver</driverClass>-->
+    <!--<url>jdbc:mysql://120.77.222.42:3306/logback_member?characterEncoding=utf8</url>-->
+    <!--<user>root</user>-->
+    <!--<password>a123456789</password>-->
+    <!--</connectionSource>-->
     <!--</appender>-->
     <!--</appender>-->
 
 
     <!-- FrameworkServlet日志-->
     <!-- FrameworkServlet日志-->
-    <logger name="org.springframework" level="WARN" />
+    <logger name="org.springframework" level="WARN"/>
 
 
     <!-- mybatis日志打印-->
     <!-- mybatis日志打印-->
-    <logger name="org.apache.ibatis" level="DEBUG" />
-    <logger name="java.sql" level="DEBUG" />
+    <logger name="org.apache.ibatis" level="DEBUG"/>
+    <logger name="java.sql" level="DEBUG"/>
 
 
     <!--  项目 mapper 路径
     <!--  项目 mapper 路径
             console控制台显示sql语句:STDOUT.filter.level -> debug级别
             console控制台显示sql语句:STDOUT.filter.level -> debug级别
     -->
     -->
-    <logger name="com.diagbot.mapper" level="DEBUG" />
+    <logger name="com.diagbot.mapper" level="DEBUG"/>
 
 
     <appender name="LOGSTASH" class="net.logstash.logback.appender.LogstashTcpSocketAppender">
     <appender name="LOGSTASH" class="net.logstash.logback.appender.LogstashTcpSocketAppender">
         <destination>192.168.2.236:5044</destination>
         <destination>192.168.2.236:5044</destination>
         <!-- encoder必须配置,有多种可选 -->
         <!-- encoder必须配置,有多种可选 -->
-        <encoder charset="UTF-8" class="net.logstash.logback.encoder.LogstashEncoder" >
+        <encoder charset="UTF-8" class="net.logstash.logback.encoder.LogstashEncoder">
             <customFields>{"appname":"bi-service"}</customFields>
             <customFields>{"appname":"bi-service"}</customFields>
         </encoder>
         </encoder>
     </appender>
     </appender>
@@ -207,49 +224,49 @@
     <!-- 本地环境下的日志配置 -->
     <!-- 本地环境下的日志配置 -->
     <springProfile name="local">
     <springProfile name="local">
         <root level="INFO">
         <root level="INFO">
-            <appender-ref ref="ERROR" />
-            <appender-ref ref="WARN" />
-            <appender-ref ref="INFO" />
-            <appender-ref ref="DEBUG" />
+            <appender-ref ref="ERROR"/>
+            <appender-ref ref="WARN"/>
+            <appender-ref ref="INFO"/>
+            <appender-ref ref="DEBUG"/>
             <!-- 生产环境将请stdout去掉 -->
             <!-- 生产环境将请stdout去掉 -->
-            <appender-ref ref="STDOUT" />
+            <appender-ref ref="STDOUT"/>
         </root>
         </root>
     </springProfile>
     </springProfile>
 
 
     <!-- 开发环境下的日志配置 -->
     <!-- 开发环境下的日志配置 -->
     <springProfile name="dev">
     <springProfile name="dev">
         <root level="INFO">
         <root level="INFO">
-            <appender-ref ref="ERROR" />
-            <appender-ref ref="WARN" />
-            <appender-ref ref="INFO" />
-            <appender-ref ref="DEBUG" />
+            <appender-ref ref="ERROR"/>
+            <appender-ref ref="WARN"/>
+            <appender-ref ref="INFO"/>
+            <appender-ref ref="DEBUG"/>
             <!-- 生产环境将请stdout去掉 -->
             <!-- 生产环境将请stdout去掉 -->
-            <appender-ref ref="STDOUT" />
-            <appender-ref ref="LOGSTASH" />
+            <appender-ref ref="STDOUT"/>
+            <appender-ref ref="LOGSTASH"/>
         </root>
         </root>
     </springProfile>
     </springProfile>
 
 
     <!-- 测试环境下的日志配置 -->
     <!-- 测试环境下的日志配置 -->
     <springProfile name="test">
     <springProfile name="test">
         <root level="INFO">
         <root level="INFO">
-            <appender-ref ref="ERROR" />
-            <appender-ref ref="WARN" />
-            <appender-ref ref="INFO" />
-            <appender-ref ref="DEBUG" />
+            <appender-ref ref="ERROR"/>
+            <appender-ref ref="WARN"/>
+            <appender-ref ref="INFO"/>
+            <appender-ref ref="DEBUG"/>
             <!-- 生产环境将请stdout去掉 -->
             <!-- 生产环境将请stdout去掉 -->
-            <appender-ref ref="STDOUT" />
-            <appender-ref ref="LOGSTASH" />
+            <appender-ref ref="STDOUT"/>
+            <appender-ref ref="LOGSTASH"/>
         </root>
         </root>
     </springProfile>
     </springProfile>
 
 
     <!-- 生产环境下的日志配置 -->
     <!-- 生产环境下的日志配置 -->
     <springProfile name="prod">
     <springProfile name="prod">
         <root level="INFO">
         <root level="INFO">
-            <appender-ref ref="ERROR" />
-            <appender-ref ref="WARN" />
-            <appender-ref ref="INFO" />
-            <appender-ref ref="DEBUG" />
-            <appender-ref ref="LOGSTASH" />
+            <appender-ref ref="ERROR"/>
+            <appender-ref ref="WARN"/>
+            <appender-ref ref="INFO"/>
+            <appender-ref ref="DEBUG"/>
+            <appender-ref ref="LOGSTASH"/>
         </root>
         </root>
     </springProfile>
     </springProfile>
 </configuration>
 </configuration>

+ 14 - 13
bi-service/src/main/resources/mapper/SysLogMapper.xml

@@ -1,21 +1,22 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
+        "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
 <mapper namespace="com.diagbot.mapper.SysLogMapper">
 <mapper namespace="com.diagbot.mapper.SysLogMapper">
 
 
     <!-- 通用查询映射结果 -->
     <!-- 通用查询映射结果 -->
     <resultMap id="BaseResultMap" type="com.diagbot.entity.SysLog">
     <resultMap id="BaseResultMap" type="com.diagbot.entity.SysLog">
-        <id column="id" property="id" />
-        <result column="is_deleted" property="isDeleted" />
-        <result column="gmt_create" property="gmtCreate" />
-        <result column="gmt_modified" property="gmtModified" />
-        <result column="creator" property="creator" />
-        <result column="modifier" property="modifier" />
-        <result column="ip" property="ip" />
-        <result column="sys_type" property="sysType" />
-        <result column="method" property="method" />
-        <result column="operation" property="operation" />
-        <result column="params" property="params" />
-        <result column="username" property="username" />
+        <id column="id" property="id"/>
+        <result column="is_deleted" property="isDeleted"/>
+        <result column="gmt_create" property="gmtCreate"/>
+        <result column="gmt_modified" property="gmtModified"/>
+        <result column="creator" property="creator"/>
+        <result column="modifier" property="modifier"/>
+        <result column="ip" property="ip"/>
+        <result column="sys_type" property="sysType"/>
+        <result column="method" property="method"/>
+        <result column="operation" property="operation"/>
+        <result column="params" property="params"/>
+        <result column="username" property="username"/>
     </resultMap>
     </resultMap>
 
 
 </mapper>
 </mapper>

+ 1 - 1
common/src/main/java/com/diagbot/dto/RespDTO.java

@@ -7,7 +7,7 @@ import java.io.Serializable;
  * @author: gaodm
  * @author: gaodm
  * @time: 2018/8/1 14:55
  * @time: 2018/8/1 14:55
  */
  */
-public class RespDTO<T> implements Serializable{
+public class RespDTO<T> implements Serializable {
 
 
 
 
     public String code = "0";
     public String code = "0";

+ 4 - 3
common/src/main/java/com/diagbot/enums/IsDeleteEnum.java

@@ -10,8 +10,8 @@ import lombok.Setter;
  */
  */
 public enum IsDeleteEnum {
 public enum IsDeleteEnum {
 
 
-    Y("Y","是"),
-    N("N","否");
+    Y("Y", "是"),
+    N("N", "否");
 
 
     @Getter
     @Getter
     @Setter
     @Setter
@@ -20,7 +20,8 @@ public enum IsDeleteEnum {
     @Getter
     @Getter
     @Setter
     @Setter
     private String name;
     private String name;
-    IsDeleteEnum(String key, String name){
+
+    IsDeleteEnum(String key, String name) {
         this.key = key;
         this.key = key;
         this.name = name;
         this.name = name;
     }
     }

+ 2 - 2
common/src/main/java/com/diagbot/enums/SysTypeEnum.java

@@ -5,8 +5,8 @@ import lombok.Setter;
 
 
 /**
 /**
  * @Description: 访问的系统类型
  * @Description: 访问的系统类型
- *  1:user-service,2:diagbotman-service,3:uaa-service,4:log-service,
- *  5:bi-service,6:knowledge-service,7:feedback-service,8:icss-web
+ * 1:user-service,2:diagbotman-service,3:uaa-service,4:log-service,
+ * 5:bi-service,6:knowledge-service,7:feedback-service,8:icss-web
  * @author: gaodm
  * @author: gaodm
  * @time: 2018/9/14 9:15
  * @time: 2018/9/14 9:15
  */
  */

+ 4 - 4
common/src/main/java/com/diagbot/exception/CommonErrorCode.java

@@ -2,8 +2,8 @@ package com.diagbot.exception;
 
 
 /**
 /**
  * @Description: 通用错误码
  * @Description: 通用错误码
- *      系统码(3位) + 等级码(1位) + 4位顺序号
- *      系统码 通用码 000;用户中心 100; 管理中心 200;
+ * 系统码(3位) + 等级码(1位) + 4位顺序号
+ * 系统码 通用码 000;用户中心 100; 管理中心 200;
  * @author: gaodm
  * @author: gaodm
  * @time: 2018/8/1 14:56
  * @time: 2018/8/1 14:56
  */
  */
@@ -11,9 +11,9 @@ public enum CommonErrorCode implements ErrorCode {
 
 
     OK("00000000", "操作成功"),
     OK("00000000", "操作成功"),
     FAIL("00000001", "操作失败"),
     FAIL("00000001", "操作失败"),
-    RPC_ERROR("00000002","远程调度失败"),
+    RPC_ERROR("00000002", "远程调度失败"),
     PARAM_ERROR("00029999", "%s"), //参数错误
     PARAM_ERROR("00029999", "%s"), //参数错误
-    NOT_EXISTS ("00020001", "该数据不存在!"),
+    NOT_EXISTS("00020001", "该数据不存在!"),
     INSERT_DATA_FAILED("00020002", "数据库写入失败!"),
     INSERT_DATA_FAILED("00020002", "数据库写入失败!"),
     UPDATE_INFO_FAIL("00020003", "更新数据失败!"),
     UPDATE_INFO_FAIL("00020003", "更新数据失败!"),
     PARAM_IS_NULL("00020004", "传入的参数为空!"),
     PARAM_IS_NULL("00020004", "传入的参数为空!"),

+ 1 - 1
common/src/main/java/com/diagbot/exception/ErrorCode.java

@@ -7,7 +7,7 @@ import java.io.Serializable;
  * @author: gaodm
  * @author: gaodm
  * @time: 2018/9/10 11:01
  * @time: 2018/9/10 11:01
  */
  */
-public interface ErrorCode extends Serializable{
+public interface ErrorCode extends Serializable {
 
 
     String getCode();
     String getCode();
 
 

+ 4 - 2
common/src/main/java/com/diagbot/util/ArrayUtil.java

@@ -10,6 +10,7 @@ import org.apache.commons.lang3.ArrayUtils;
 public class ArrayUtil {
 public class ArrayUtil {
     /**
     /**
      * 判断数组是否为空
      * 判断数组是否为空
+     *
      * @param array 数组
      * @param array 数组
      * @return 是否为空
      * @return 是否为空
      */
      */
@@ -19,9 +20,10 @@ public class ArrayUtil {
 
 
     /**
     /**
      * 数组合并
      * 数组合并
-     * @param array 一个数组
+     *
+     * @param array        一个数组
      * @param anotherArray 另外一个数组
      * @param anotherArray 另外一个数组
-     * @param <T> 数组类型
+     * @param <T>          数组类型
      * @return 合并后的数组
      * @return 合并后的数组
      */
      */
     public static <T> T[] add(T[] array, T[] anotherArray) {
     public static <T> T[] add(T[] array, T[] anotherArray) {

+ 10 - 8
common/src/main/java/com/diagbot/util/BeanUtil.java

@@ -16,23 +16,25 @@ import java.util.List;
 public class BeanUtil {
 public class BeanUtil {
     /**
     /**
      * 把一个对象的属性值复制给另外一个对象的属性值
      * 把一个对象的属性值复制给另外一个对象的属性值
+     *
      * @param source 源对象,被转换的对象
      * @param source 源对象,被转换的对象
      * @param target 目标对象,即转换后对象
      * @param target 目标对象,即转换后对象
      */
      */
-    public static void copyProperties(Object source, Object target){
-        BeanUtils.copyProperties(source,target);
+    public static void copyProperties(Object source, Object target) {
+        BeanUtils.copyProperties(source, target);
     }
     }
 
 
     /**
     /**
      * 复制集合
      * 复制集合
+     *
      * @param <E>
      * @param <E>
-     * @param source 转换前的列表
+     * @param source           转换前的列表
      * @param destinationClass 转换后列表类
      * @param destinationClass 转换后列表类
      * @return 转换后列表
      * @return 转换后列表
      */
      */
-    public static <E> List<E> listCopyTo(List<?> source, Class<E> destinationClass){
-        try{
-            if (source.size() == 0){
+    public static <E> List<E> listCopyTo(List<?> source, Class<E> destinationClass) {
+        try {
+            if (source.size() == 0) {
                 return Collections.emptyList();
                 return Collections.emptyList();
             }
             }
             List<E> res = new ArrayList<E>(source.size());
             List<E> res = new ArrayList<E>(source.size());
@@ -42,9 +44,9 @@ public class BeanUtil {
                 res.add(e);
                 res.add(e);
             }
             }
             return res;
             return res;
-        }catch (IllegalAccessException ex){
+        } catch (IllegalAccessException ex) {
             throw new RuntimeException(ex);
             throw new RuntimeException(ex);
-        }catch (InstantiationException ex){
+        } catch (InstantiationException ex) {
             throw new RuntimeException(ex);
             throw new RuntimeException(ex);
         }
         }
     }
     }

+ 84 - 65
common/src/main/java/com/diagbot/util/DateUtil.java

@@ -22,15 +22,25 @@ public class DateUtil {
     public static final long MILLISECOND_OF_DAY = MILLISECOND_OF_HOUR * 24;
     public static final long MILLISECOND_OF_DAY = MILLISECOND_OF_HOUR * 24;
     public static final long MILLISECOND_OF_WEEK = MILLISECOND_OF_DAY * 7;
     public static final long MILLISECOND_OF_WEEK = MILLISECOND_OF_DAY * 7;
 
 
-    /** 日期格式:yyyy-MM-dd */
+    /**
+     * 日期格式:yyyy-MM-dd
+     */
     public static final String DATE_FORMAT = "yyyy-MM-dd";
     public static final String DATE_FORMAT = "yyyy-MM-dd";
-    /** 日期格式:yyyyMMdd */
+    /**
+     * 日期格式:yyyyMMdd
+     */
     public static final String DATE_FORMAT_NO_SPLIT = "yyyyMMdd";
     public static final String DATE_FORMAT_NO_SPLIT = "yyyyMMdd";
-    /** 日期格式:yyyyMMddHHmmss */
+    /**
+     * 日期格式:yyyyMMddHHmmss
+     */
     public static final String DATE_TIME_FORMAT_NO_SPLIT = "yyyyMMddHHmmss";
     public static final String DATE_TIME_FORMAT_NO_SPLIT = "yyyyMMddHHmmss";
-    /** 日期格式:yyyy-MM-dd HH:mm:ss */
+    /**
+     * 日期格式:yyyy-MM-dd HH:mm:ss
+     */
     public static final String DATE_TIME_FORMAT = "yyyy-MM-dd HH:mm:ss";
     public static final String DATE_TIME_FORMAT = "yyyy-MM-dd HH:mm:ss";
-    /** 日期格式:yyyy-MM-dd HH:mm:ss.SSS */
+    /**
+     * 日期格式:yyyy-MM-dd HH:mm:ss.SSS
+     */
     public static final String DATE_TIME_MS_FORMAT = "yyyy-MM-dd HH:mm:ss.SSS";
     public static final String DATE_TIME_MS_FORMAT = "yyyy-MM-dd HH:mm:ss.SSS";
 
 
     public static final String FORMAT_TIME = "HH:mm:ss";
     public static final String FORMAT_TIME = "HH:mm:ss";
@@ -67,12 +77,9 @@ public class DateUtil {
      * <p>
      * <p>
      * <code>add(Calendar.DAY_OF_MONTH, -5)</code>.
      * <code>add(Calendar.DAY_OF_MONTH, -5)</code>.
      *
      *
-     * @param date
-     *            the date of before the changed.
-     * @param field
-     *            the calendar field.
-     * @param amount
-     *            the amount of date or time to be added to the field.
+     * @param date   the date of before the changed.
+     * @param field  the calendar field.
+     * @param amount the amount of date or time to be added to the field.
      * @return
      * @return
      */
      */
     public static Date add(final Date date, Integer field, Integer amount) {
     public static Date add(final Date date, Integer field, Integer amount) {
@@ -86,10 +93,9 @@ public class DateUtil {
 
 
     /**
     /**
      * 添加天数
      * 添加天数
-     * @param date
-     *           要操作的日期
-     * @param days
-     *            天数
+     *
+     * @param date 要操作的日期
+     * @param days 天数
      * @return
      * @return
      */
      */
     public static Date addDate(final Date date, Integer days) {
     public static Date addDate(final Date date, Integer days) {
@@ -98,7 +104,8 @@ public class DateUtil {
 
 
     /**
     /**
      * 按指定的格式,将日期转换成为字符
      * 按指定的格式,将日期转换成为字符
-     * @param date 日期
+     *
+     * @param date   日期
      * @param format 格式
      * @param format 格式
      * @return 按指定的格式,将日期转换成为字符
      * @return 按指定的格式,将日期转换成为字符
      */
      */
@@ -117,6 +124,7 @@ public class DateUtil {
 
 
     /**
     /**
      * 判断字符串是否为空
      * 判断字符串是否为空
+     *
      * @param str 要判断的字符串
      * @param str 要判断的字符串
      * @return boolean
      * @return boolean
      */
      */
@@ -126,6 +134,7 @@ public class DateUtil {
 
 
     /**
     /**
      * 将日期转换成为字符(yyyy-MM-dd)
      * 将日期转换成为字符(yyyy-MM-dd)
+     *
      * @param date
      * @param date
      * @return
      * @return
      */
      */
@@ -134,8 +143,9 @@ public class DateUtil {
     }
     }
 
 
     /**
     /**
-     *  今天日期的字符(yyyy-MM-dd)
-     * @return  今天日期的字符(yyyy-MM-dd)
+     * 今天日期的字符(yyyy-MM-dd)
+     *
+     * @return 今天日期的字符(yyyy-MM-dd)
      */
      */
     public static String today() {
     public static String today() {
         return formatDate(new Date());
         return formatDate(new Date());
@@ -143,6 +153,7 @@ public class DateUtil {
 
 
     /**
     /**
      * 将日期转换成为字符(yyyy-MM-dd HH:mm:ss)
      * 将日期转换成为字符(yyyy-MM-dd HH:mm:ss)
+     *
      * @param date
      * @param date
      * @return
      * @return
      */
      */
@@ -152,6 +163,7 @@ public class DateUtil {
 
 
     /**
     /**
      * 当前时间的字符(yyyy-MM-dd HH:mm:ss)
      * 当前时间的字符(yyyy-MM-dd HH:mm:ss)
+     *
      * @return 当前时间的字符(yyyy-MM-dd HH:mm:ss)
      * @return 当前时间的字符(yyyy-MM-dd HH:mm:ss)
      */
      */
     public static String nowString() {
     public static String nowString() {
@@ -160,6 +172,7 @@ public class DateUtil {
 
 
     /**
     /**
      * 当前时间
      * 当前时间
+     *
      * @return 当前时间
      * @return 当前时间
      */
      */
     public static Date now() {
     public static Date now() {
@@ -178,6 +191,7 @@ public class DateUtil {
 
 
     /**
     /**
      * 生成日期
      * 生成日期
+     *
      * @param object 要转换的数据
      * @param object 要转换的数据
      * @return 生成日期
      * @return 生成日期
      */
      */
@@ -187,8 +201,9 @@ public class DateUtil {
 
 
     /**
     /**
      * 按指定的格式,将字符转换为日期
      * 按指定的格式,将字符转换为日期
+     *
      * @param dateString 日期
      * @param dateString 日期
-     * @param format 格式
+     * @param format     格式
      * @return 按指定的格式,将字符转换为日期
      * @return 按指定的格式,将字符转换为日期
      */
      */
     public static Date parseDate(String dateString, String format) {
     public static Date parseDate(String dateString, String format) {
@@ -204,13 +219,13 @@ public class DateUtil {
     }
     }
 
 
 
 
-
     /**
     /**
      * 获取昨天的日期格式化字符串 yyyy-MM-dd
      * 获取昨天的日期格式化字符串 yyyy-MM-dd
+     *
      * @return
      * @return
      */
      */
-    public static String yesterdayFormate(){
-        Date  date = new Date();
+    public static String yesterdayFormate() {
+        Date date = new Date();
         Date dBefore = new Date();
         Date dBefore = new Date();
         Calendar calendar = Calendar.getInstance(); //得到日历
         Calendar calendar = Calendar.getInstance(); //得到日历
         calendar.setTime(date);//把当前时间赋给日历
         calendar.setTime(date);//把当前时间赋给日历
@@ -220,9 +235,9 @@ public class DateUtil {
     }
     }
 
 
 
 
-
     /**
     /**
      * 将字符(yyyy-MM-dd)转换为日期
      * 将字符(yyyy-MM-dd)转换为日期
+     *
      * @param dateString
      * @param dateString
      * @return 将字符(yyyy-MM-dd)转换为日期
      * @return 将字符(yyyy-MM-dd)转换为日期
      */
      */
@@ -232,6 +247,7 @@ public class DateUtil {
 
 
     /**
     /**
      * 将字符(yyyy-MM-dd HH:mm:ss)转换为日期
      * 将字符(yyyy-MM-dd HH:mm:ss)转换为日期
+     *
      * @param dateString
      * @param dateString
      * @return 将字符(yyyy-MM-dd HH:mm:ss)转换为日期
      * @return 将字符(yyyy-MM-dd HH:mm:ss)转换为日期
      */
      */
@@ -243,7 +259,7 @@ public class DateUtil {
      * milliseconds 转化为日期
      * milliseconds 转化为日期
      *
      *
      * @param date
      * @param date
-     * @return  milliseconds 转化为日期
+     * @return milliseconds 转化为日期
      */
      */
     public static Date toDate(Long date) {
     public static Date toDate(Long date) {
         if (date == null) {
         if (date == null) {
@@ -264,8 +280,7 @@ public class DateUtil {
     /**
     /**
      * 获取当前时间字符串 默认格式:yyyy-MM-dd HH:mm:ss
      * 获取当前时间字符串 默认格式:yyyy-MM-dd HH:mm:ss
      *
      *
-     * @param dateFormatPattern
-     *            日期转换格式
+     * @param dateFormatPattern 日期转换格式
      * @return 获取当前时间字符串 默认格式:yyyy-MM-dd HH:mm:ss
      * @return 获取当前时间字符串 默认格式:yyyy-MM-dd HH:mm:ss
      */
      */
     public static String getCurrentDateStr(String dateFormatPattern) {
     public static String getCurrentDateStr(String dateFormatPattern) {
@@ -299,7 +314,8 @@ public class DateUtil {
 
 
     /**
     /**
      * 添加或减少月
      * 添加或减少月
-     * @param date 要操作的日期
+     *
+     * @param date   要操作的日期
      * @param months 月
      * @param months 月
      * @return操作过的日期
      * @return操作过的日期
      */
      */
@@ -312,7 +328,8 @@ public class DateUtil {
 
 
     /**
     /**
      * 添加或减少周
      * 添加或减少周
-     * @param date 要操作的日期
+     *
+     * @param date  要操作的日期
      * @param weeks 周
      * @param weeks 周
      * @return操作过的日期
      * @return操作过的日期
      */
      */
@@ -325,6 +342,7 @@ public class DateUtil {
 
 
     /**
     /**
      * 添加或减少天数
      * 添加或减少天数
+     *
      * @param date 日期
      * @param date 日期
      * @param days 天数
      * @param days 天数
      * @return 操作过的日期
      * @return 操作过的日期
@@ -338,7 +356,8 @@ public class DateUtil {
 
 
     /**
     /**
      * 添加或减少小时
      * 添加或减少小时
-     * @param date 要操作的日期
+     *
+     * @param date  要操作的日期
      * @param hours 小时
      * @param hours 小时
      * @return 操作过的日期
      * @return 操作过的日期
      */
      */
@@ -350,8 +369,9 @@ public class DateUtil {
     }
     }
 
 
     /**
     /**
-     *  添加或减少分钟
-     * @param date 要操作的日期
+     * 添加或减少分钟
+     *
+     * @param date    要操作的日期
      * @param minutes 分钟
      * @param minutes 分钟
      * @return 操作过的日期
      * @return 操作过的日期
      */
      */
@@ -365,7 +385,7 @@ public class DateUtil {
     /**
     /**
      * 获得某个月的第一天0时0分0秒的时间
      * 获得某个月的第一天0时0分0秒的时间
      *
      *
-     * @param year 年
+     * @param year  
      * @param month 月
      * @param month 月
      * @return java.util.Date
      * @return java.util.Date
      */
      */
@@ -384,9 +404,9 @@ public class DateUtil {
     /**
     /**
      * 获取某一天的0时0分0秒的时间
      * 获取某一天的0时0分0秒的时间
      *
      *
-     * @param year 年
+     * @param year  
      * @param month 月
      * @param month 月
-     * @param day 日
+     * @param day   
      * @return 返回加上0点的时间
      * @return 返回加上0点的时间
      */
      */
     public static Date getFirstTimeOfDay(int year, int month, int day) {
     public static Date getFirstTimeOfDay(int year, int month, int day) {
@@ -436,7 +456,7 @@ public class DateUtil {
      *
      *
      * @param year  年
      * @param year  年
      * @param month 月
      * @param month 月
-     * @param day 日
+     * @param day   
      * @return 时间点
      * @return 时间点
      */
      */
     public static Date getDateFromTime(int year, int month, int day, int hour, int minute, int second) {
     public static Date getDateFromTime(int year, int month, int day, int hour, int minute, int second) {
@@ -454,30 +474,32 @@ public class DateUtil {
 
 
     /**
     /**
      * 将时间字符串进行相加后操作后格式化输出
      * 将时间字符串进行相加后操作后格式化输出
+     *
      * @param timeStr 格式<HH:mm:ss>
      * @param timeStr 格式<HH:mm:ss>
-     * @param hour 小时
-     * @param minute 分钟
-     * @param second 秒
+     * @param hour    小时
+     * @param minute  分钟
+     * @param second  
      * @return 格式<HH:mm>
      * @return 格式<HH:mm>
      */
      */
-    public static String timeOperate(String timeStr, int hour, int minute, int second){
+    public static String timeOperate(String timeStr, int hour, int minute, int second) {
         SimpleDateFormat df = new SimpleDateFormat(FORMAT_TIME);
         SimpleDateFormat df = new SimpleDateFormat(FORMAT_TIME);
         String[] times = timeStr.trim().split(":");
         String[] times = timeStr.trim().split(":");
         Calendar calendar = Calendar.getInstance();
         Calendar calendar = Calendar.getInstance();
-        calendar.set(Calendar.HOUR_OF_DAY,Integer.valueOf(times[0]));
-        calendar.set(Calendar.MINUTE,Integer.valueOf(times[1]));
-        if(times.length==3){
-            calendar.set(Calendar.SECOND,Integer.valueOf(times[2]));
+        calendar.set(Calendar.HOUR_OF_DAY, Integer.valueOf(times[0]));
+        calendar.set(Calendar.MINUTE, Integer.valueOf(times[1]));
+        if (times.length == 3) {
+            calendar.set(Calendar.SECOND, Integer.valueOf(times[2]));
         }
         }
-        calendar.add(Calendar.HOUR_OF_DAY,hour);
-        calendar.add(Calendar.MINUTE,minute);
-        calendar.add(Calendar.SECOND,second);
+        calendar.add(Calendar.HOUR_OF_DAY, hour);
+        calendar.add(Calendar.MINUTE, minute);
+        calendar.add(Calendar.SECOND, second);
         return df.format(calendar.getTime());
         return df.format(calendar.getTime());
 
 
     }
     }
 
 
     /**
     /**
      * 根据指定string生成当天时间
      * 根据指定string生成当天时间
+     *
      * @param timeStr 格式<HH:mm> or <HH:mm:ss>
      * @param timeStr 格式<HH:mm> or <HH:mm:ss>
      * @return 当天时间
      * @return 当天时间
      */
      */
@@ -486,10 +508,10 @@ public class DateUtil {
         Calendar calendar = Calendar.getInstance();
         Calendar calendar = Calendar.getInstance();
         calendar.set(Calendar.HOUR_OF_DAY, Integer.valueOf(times[0]));
         calendar.set(Calendar.HOUR_OF_DAY, Integer.valueOf(times[0]));
         calendar.set(Calendar.MINUTE, Integer.valueOf(times[1]));
         calendar.set(Calendar.MINUTE, Integer.valueOf(times[1]));
-        if(times.length==3){
-            calendar.set(Calendar.SECOND,Integer.valueOf(times[2]));
-        }else {
-            calendar.set(Calendar.SECOND,0);
+        if (times.length == 3) {
+            calendar.set(Calendar.SECOND, Integer.valueOf(times[2]));
+        } else {
+            calendar.set(Calendar.SECOND, 0);
         }
         }
         calendar.set(Calendar.MILLISECOND, 0);
         calendar.set(Calendar.MILLISECOND, 0);
         return calendar.getTime();
         return calendar.getTime();
@@ -499,7 +521,7 @@ public class DateUtil {
      * 根据指定string生成指定日期时间
      * 根据指定string生成指定日期时间
      *
      *
      * @param timeStr 格式<HH:mm> or <HH:mm:ss>
      * @param timeStr 格式<HH:mm> or <HH:mm:ss>
-     * @param date 日期
+     * @param date    日期
      * @return 日期时间
      * @return 日期时间
      */
      */
     public static Date getSpecialDayTimeByStr(Date date, String timeStr) {
     public static Date getSpecialDayTimeByStr(Date date, String timeStr) {
@@ -510,7 +532,7 @@ public class DateUtil {
         calendar.set(Calendar.MINUTE, Integer.valueOf(times[1]));
         calendar.set(Calendar.MINUTE, Integer.valueOf(times[1]));
         if (times.length == 3) {
         if (times.length == 3) {
             calendar.set(Calendar.SECOND, Integer.valueOf(times[2]));
             calendar.set(Calendar.SECOND, Integer.valueOf(times[2]));
-        }else {
+        } else {
             calendar.set(Calendar.SECOND, 0);
             calendar.set(Calendar.SECOND, 0);
         }
         }
         calendar.set(Calendar.MILLISECOND, 0);
         calendar.set(Calendar.MILLISECOND, 0);
@@ -519,11 +541,12 @@ public class DateUtil {
 
 
     /**
     /**
      * 获取两个日期间所跨0点次数
      * 获取两个日期间所跨0点次数
+     *
      * @param d1 开始日期
      * @param d1 开始日期
      * @param d2 结束日期
      * @param d2 结束日期
      * @return 得到两个日期相差的天数
      * @return 得到两个日期相差的天数
      */
      */
-    public static  Integer getDaysBetweenTwoDate(Date d1,Date d2) {
+    public static Integer getDaysBetweenTwoDate(Date d1, Date d2) {
         SimpleDateFormat sdf = new SimpleDateFormat(DATE_FORMAT);
         SimpleDateFormat sdf = new SimpleDateFormat(DATE_FORMAT);
         try {
         try {
             Date d11 = sdf.parse(sdf.format(d1));
             Date d11 = sdf.parse(sdf.format(d1));
@@ -560,6 +583,7 @@ public class DateUtil {
 
 
     /**
     /**
      * 获取日期年份
      * 获取日期年份
+     *
      * @param date 日期
      * @param date 日期
      * @return
      * @return
      */
      */
@@ -567,11 +591,11 @@ public class DateUtil {
         SimpleDateFormat df = new SimpleDateFormat(FORMAT_FULL);
         SimpleDateFormat df = new SimpleDateFormat(FORMAT_FULL);
         return df.format(date).substring(0, 4);
         return df.format(date).substring(0, 4);
     }
     }
+
     /**
     /**
      * 功能描述:返回月
      * 功能描述:返回月
      *
      *
-     * @param date
-     *            Date 日期
+     * @param date Date 日期
      * @return 返回月份
      * @return 返回月份
      */
      */
     public static int getMonth(Date date) {
     public static int getMonth(Date date) {
@@ -583,8 +607,7 @@ public class DateUtil {
     /**
     /**
      * 功能描述:返回日
      * 功能描述:返回日
      *
      *
-     * @param date
-     *            Date 日期
+     * @param date Date 日期
      * @return 返回日份
      * @return 返回日份
      */
      */
     public static int getDay(Date date) {
     public static int getDay(Date date) {
@@ -596,8 +619,7 @@ public class DateUtil {
     /**
     /**
      * 功能描述:返回小
      * 功能描述:返回小
      *
      *
-     * @param date
-     *            日期
+     * @param date 日期
      * @return 返回小时
      * @return 返回小时
      */
      */
     public static int getHour(Date date) {
     public static int getHour(Date date) {
@@ -609,8 +631,7 @@ public class DateUtil {
     /**
     /**
      * 功能描述:返回分
      * 功能描述:返回分
      *
      *
-     * @param date
-     *            日期
+     * @param date 日期
      * @return 返回分钟
      * @return 返回分钟
      */
      */
     public static int getMinute(Date date) {
     public static int getMinute(Date date) {
@@ -622,8 +643,7 @@ public class DateUtil {
     /**
     /**
      * 返回秒钟
      * 返回秒钟
      *
      *
-     * @param date
-     *            Date 日期
+     * @param date Date 日期
      * @return 返回秒钟
      * @return 返回秒钟
      */
      */
     public static int getSecond(Date date) {
     public static int getSecond(Date date) {
@@ -635,8 +655,7 @@ public class DateUtil {
     /**
     /**
      * 功能描述:返回毫
      * 功能描述:返回毫
      *
      *
-     * @param date
-     *            日期
+     * @param date 日期
      * @return 返回毫
      * @return 返回毫
      */
      */
     public static long getMillis(Date date) {
     public static long getMillis(Date date) {

+ 75 - 69
common/src/main/java/com/diagbot/util/EntityUtil.java

@@ -33,9 +33,10 @@ public class EntityUtil {
 
 
     /**
     /**
      * 将list中元素的某一成员组装成list返回。注意:会去重!
      * 将list中元素的某一成员组装成list返回。注意:会去重!
-     * @param list 元素列表
+     *
+     * @param list      元素列表
      * @param fieldName 成员变量的field
      * @param fieldName 成员变量的field
-     * @param <T> 元素类型
+     * @param <T>       元素类型
      * @return 返回该字段组成的list
      * @return 返回该字段组成的list
      */
      */
     public static <T> List makeListByFieldName(List<T> list, String fieldName) {
     public static <T> List makeListByFieldName(List<T> list, String fieldName) {
@@ -50,7 +51,7 @@ public class EntityUtil {
         }
         }
         try {
         try {
             for (T o : list) {
             for (T o : list) {
-                if(!returnList.contains(field.get(o))) {
+                if (!returnList.contains(field.get(o))) {
                     returnList.add(field.get(o));
                     returnList.add(field.get(o));
                 }
                 }
             }
             }
@@ -63,9 +64,10 @@ public class EntityUtil {
 
 
     /**
     /**
      * 将Collection中元素的某一成员组装成Set返回
      * 将Collection中元素的某一成员组装成Set返回
+     *
      * @param collection 元素列表
      * @param collection 元素列表
-     * @param fieldName 成员变量的field
-     * @param <T> 元素类型
+     * @param fieldName  成员变量的field
+     * @param <T>        元素类型
      * @return 返回该字段组成的LinkedHashSet。若元素中不存在名为fieldName的成员变量,则返回EmptySet
      * @return 返回该字段组成的LinkedHashSet。若元素中不存在名为fieldName的成员变量,则返回EmptySet
      */
      */
     public static <T> LinkedHashSet makeLinkedSetByFieldName(Collection<T> collection, String fieldName) {
     public static <T> LinkedHashSet makeLinkedSetByFieldName(Collection<T> collection, String fieldName) {
@@ -96,12 +98,12 @@ public class EntityUtil {
      * 将list中的元素放到Map<M, N>以建立 key - value 索引<p>
      * 将list中的元素放到Map<M, N>以建立 key - value 索引<p>
      * modified from com.tqmall.saint.biz.util.EntityUtil#makeEntityMap(java.util.List, java.lang.String)
      * modified from com.tqmall.saint.biz.util.EntityUtil#makeEntityMap(java.util.List, java.lang.String)
      *
      *
-     * @param collection Collection<V> 元素列表
-     * @param keyFieldName String 元素的属性名称, 该属性的值作为Map的key
+     * @param collection     Collection<V> 元素列表
+     * @param keyFieldName   String 元素的属性名称, 该属性的值作为Map的key
      * @param valueFieldName String 元素的属性名称, 该属性的值作为Map的value
      * @param valueFieldName String 元素的属性名称, 该属性的值作为Map的value
-     * @param <M> key类型
-     * @param <N> value类型
-     * @param <V> 列表元素类型
+     * @param <M>            key类型
+     * @param <N>            value类型
+     * @param <V>            列表元素类型
      * @return
      * @return
      */
      */
     @SuppressWarnings("unchecked")
     @SuppressWarnings("unchecked")
@@ -132,19 +134,18 @@ public class EntityUtil {
     }
     }
 
 
     /**
     /**
-     *
      * 将list中的元素放到Map<K, V>以建立 key - value 索引<p>
      * 将list中的元素放到Map<K, V>以建立 key - value 索引<p>
      *
      *
-     * @param list  List<V> 元素列表
+     * @param list         List<V> 元素列表
      * @param keyFieldName String 元素的属性名称, 该属性的值作为索引key
      * @param keyFieldName String 元素的属性名称, 该属性的值作为索引key
-     * @param <K> key类型
-     * @param <V> value类型
-     * @return Map<K, V> key - value 索引
+     * @param <K>          key类型
+     * @param <V>          value类型
+     * @return Map<K   ,       V> key - value 索引
      */
      */
     @SuppressWarnings("unchecked")
     @SuppressWarnings("unchecked")
     public static <K, V> Map<K, V> makeEntityMap(List<V> list, String keyFieldName) {
     public static <K, V> Map<K, V> makeEntityMap(List<V> list, String keyFieldName) {
         Map<K, V> map = new HashMap<>();
         Map<K, V> map = new HashMap<>();
-        if(list == null || list.size() == 0) {
+        if (list == null || list.size() == 0) {
             return map;
             return map;
         }
         }
         try {
         try {
@@ -160,32 +161,31 @@ public class EntityUtil {
     }
     }
 
 
     /**
     /**
-     *
      * 将list中的元素放到Map<String, V>以建立 key - value 索引<p>
      * 将list中的元素放到Map<String, V>以建立 key - value 索引<p>
      *
      *
-     * @param list  List<V> 元素列表
-     * @param splitVar  属性之间间隔
+     * @param list          List<V> 元素列表
+     * @param splitVar      属性之间间隔
      * @param keyFieldNames String 元素的属性名称动态数组, 依次循环该属性的值作为索引key
      * @param keyFieldNames String 元素的属性名称动态数组, 依次循环该属性的值作为索引key
-     * @param <V> value类型
-     * @return Map<String, V> key - value 索引
+     * @param <V>           value类型
+     * @return Map<String   ,       V> key - value 索引
      */
      */
 
 
     @SuppressWarnings("unchecked")
     @SuppressWarnings("unchecked")
-    public static <V> Map<String, V> makeEntityMapByKeys(List<V> list,String splitVar , String... keyFieldNames) {
+    public static <V> Map<String, V> makeEntityMapByKeys(List<V> list, String splitVar, String... keyFieldNames) {
         Map<String, V> map = new HashMap<>();
         Map<String, V> map = new HashMap<>();
-        if(list == null || list.size() == 0 || keyFieldNames == null || keyFieldNames.length==0 || StringUtil.isEmpty(splitVar)) {
+        if (list == null || list.size() == 0 || keyFieldNames == null || keyFieldNames.length == 0 || StringUtil.isEmpty(splitVar)) {
             return map;
             return map;
         }
         }
         try {
         try {
             List<Method> getterList = new ArrayList<>();
             List<Method> getterList = new ArrayList<>();
-            for(String key : keyFieldNames){
-                getterList.add(getMethod(list.get(0).getClass(),key, "get"));
+            for (String key : keyFieldNames) {
+                getterList.add(getMethod(list.get(0).getClass(), key, "get"));
             }
             }
             for (V item : list) {
             for (V item : list) {
-                StringBuffer keys= new StringBuffer("");
-                for (int i=0;i<getterList.size();i++){
+                StringBuffer keys = new StringBuffer("");
+                for (int i = 0; i < getterList.size(); i++) {
                     keys.append(getterList.get(i).invoke(item));
                     keys.append(getterList.get(i).invoke(item));
-                    if(i<getterList.size()-1){
+                    if (i < getterList.size() - 1) {
                         keys.append(splitVar);
                         keys.append(splitVar);
                     }
                     }
                 }
                 }
@@ -197,19 +197,19 @@ public class EntityUtil {
         }
         }
         return map;
         return map;
     }
     }
+
     /**
     /**
-     *
      * 将list中的元素放到Map<K, List<V>> 以建立 key - List<value> 索引<p>
      * 将list中的元素放到Map<K, List<V>> 以建立 key - List<value> 索引<p>
      *
      *
-     * @param list  List<V> 元素列表
+     * @param list         List<V> 元素列表
      * @param keyFieldName String 元素的属性名称, 该属性的值作为索引key
      * @param keyFieldName String 元素的属性名称, 该属性的值作为索引key
-     * @param <K> key类型
-     * @param <V> value类型
-     * @return Map<K, V> key - value 索引
+     * @param <K>          key类型
+     * @param <V>          value类型
+     * @return Map<K   ,       V> key - value 索引
      */
      */
     public static <K, V> Map<K, List<V>> makeEntityListMap(List<V> list, String keyFieldName) {
     public static <K, V> Map<K, List<V>> makeEntityListMap(List<V> list, String keyFieldName) {
         Map<K, List<V>> map = new LinkedHashMap<>();
         Map<K, List<V>> map = new LinkedHashMap<>();
-        if(list == null || list.size() == 0) {
+        if (list == null || list.size() == 0) {
             return map;
             return map;
         }
         }
         try {
         try {
@@ -243,37 +243,38 @@ public class EntityUtil {
     }
     }
 
 
     /**
     /**
-     *  比较两个对象改变了的属性值,然后以string拼接返回
+     * 比较两个对象改变了的属性值,然后以string拼接返回
+     *
      * @param oldObj 对象1
      * @param oldObj 对象1
      * @param newObj 对象2
      * @param newObj 对象2
      * @return 改变的属性值拼接的字符串
      * @return 改变的属性值拼接的字符串
      */
      */
-    public static <T> String compareToObjProperty(T oldObj,T newObj){
+    public static <T> String compareToObjProperty(T oldObj, T newObj) {
         String modifiedStr = "";
         String modifiedStr = "";
         Field[] fields = oldObj.getClass().getDeclaredFields();
         Field[] fields = oldObj.getClass().getDeclaredFields();
-        for(Field field : fields){
+        for (Field field : fields) {
             try {
             try {
-                if(!Modifier.isStatic(field.getModifiers())){
-                    String tempFieldType =field.getType().getName();
+                if (!Modifier.isStatic(field.getModifiers())) {
+                    String tempFieldType = field.getType().getName();
                     Method tempMethod = getMethod(oldObj.getClass(), field.getName(), "get");
                     Method tempMethod = getMethod(oldObj.getClass(), field.getName(), "get");
-                    if(field.getName().equals("ATTRIBUTE_ORDER_SN")){
+                    if (field.getName().equals("ATTRIBUTE_ORDER_SN")) {
                         System.out.println("aa");
                         System.out.println("aa");
                     }
                     }
-                    if(tempMethod!=null){
+                    if (tempMethod != null) {
                         Object tempOld = tempMethod.invoke(oldObj);
                         Object tempOld = tempMethod.invoke(oldObj);
                         Object tempNew = tempMethod.invoke(newObj);
                         Object tempNew = tempMethod.invoke(newObj);
-                        if(findDifference(tempOld,tempNew)){
-                            if(tempFieldType.equals("java.util.Date")){
+                        if (findDifference(tempOld, tempNew)) {
+                            if (tempFieldType.equals("java.util.Date")) {
                                 SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd mm:HH:ss");
                                 SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd mm:HH:ss");
-                                modifiedStr += field.getName() + "[" + ( tempOld == null ? null: sdf.format(tempOld)) + "," +
+                                modifiedStr += field.getName() + "[" + (tempOld == null ? null : sdf.format(tempOld)) + "," +
                                         (tempNew == null ? null : sdf.format(tempNew)) + "],";
                                         (tempNew == null ? null : sdf.format(tempNew)) + "],";
                             } else {
                             } else {
-                                modifiedStr += field.getName()+"["+tempOld+","+ tempNew+"],";
+                                modifiedStr += field.getName() + "[" + tempOld + "," + tempNew + "],";
                             }
                             }
                         }
                         }
                     }
                     }
                 }
                 }
-            }catch (Exception e) {
+            } catch (Exception e) {
                 log.error("compareTo error", e);
                 log.error("compareTo error", e);
             }
             }
         }
         }
@@ -282,7 +283,8 @@ public class EntityUtil {
 
 
     /**
     /**
      * 获取所有field,不包含field,修改自FieldUtils的getAllFieldsList方法
      * 获取所有field,不包含field,修改自FieldUtils的getAllFieldsList方法
-     * @param cls 类
+     *
+     * @param cls         类
      * @param forceAccess 是否包含private的field
      * @param forceAccess 是否包含private的field
      * @return
      * @return
      */
      */
@@ -306,7 +308,8 @@ public class EntityUtil {
 
 
     /**
     /**
      * 获取所有field,包含所有父类,来自FieldUtils的getAllFieldsList方法
      * 获取所有field,包含所有父类,来自FieldUtils的getAllFieldsList方法
-     * @param cls 类
+     *
+     * @param cls         类
      * @param forceAccess 是否包含private的field
      * @param forceAccess 是否包含private的field
      * @return
      * @return
      */
      */
@@ -333,7 +336,8 @@ public class EntityUtil {
 
 
     /**
     /**
      * 获取类型的field
      * 获取类型的field
-     * @param cls 类型
+     *
+     * @param cls         类型
      * @param checkSupers 是否要获取父类的field
      * @param checkSupers 是否要获取父类的field
      * @param forceAccess 是否包含private的field
      * @param forceAccess 是否包含private的field
      * @return
      * @return
@@ -348,12 +352,13 @@ public class EntityUtil {
 
 
     /**
     /**
      * 比较两个对象改变了的属性值,然后以string拼接返回
      * 比较两个对象改变了的属性值,然后以string拼接返回
-     * @param oldObj 对象1
-     * @param newObj 对象2
-     * @param formatter 格式(默认为%s[%s,%s],第一个%s对应fieldname,第二个%对应对象1的fieldname的值,第三个%s对应对象2的fieldname的值)
+     *
+     * @param oldObj      对象1
+     * @param newObj      对象2
+     * @param formatter   格式(默认为%s[%s,%s],第一个%s对应fieldname,第二个%对应对象1的fieldname的值,第三个%s对应对象2的fieldname的值)
      * @param checkSupers 是否需要比较所有父类(无视继承的接口)
      * @param checkSupers 是否需要比较所有父类(无视继承的接口)
      * @param forceAccess 是否需要比较private成员变量
      * @param forceAccess 是否需要比较private成员变量
-     * @param <T> 要比较的对象类型
+     * @param <T>         要比较的对象类型
      * @return
      * @return
      */
      */
     public static <T> String compareToObjProperty(T oldObj, T newObj, String formatter, final boolean checkSupers, final boolean forceAccess) {
     public static <T> String compareToObjProperty(T oldObj, T newObj, String formatter, final boolean checkSupers, final boolean forceAccess) {
@@ -382,7 +387,7 @@ public class EntityUtil {
                     }
                     }
                 }
                 }
             } catch (Exception e) {
             } catch (Exception e) {
-                log.error("compareTo error",e);
+                log.error("compareTo error", e);
             }
             }
         }
         }
         return builder.toString();
         return builder.toString();
@@ -390,33 +395,34 @@ public class EntityUtil {
 
 
     /**
     /**
      * 比较两个对象的值是否不同
      * 比较两个对象的值是否不同
+     *
      * @param obj1 对象1
      * @param obj1 对象1
      * @param obj2 对象2
      * @param obj2 对象2
-     * @param <T> object
+     * @param <T>  object
      * @return 若俩对象的值不相同则为true,反之为false
      * @return 若俩对象的值不相同则为true,反之为false
      */
      */
-    public static <T> Boolean findDifference(T obj1,T obj2){
-        if(obj1 == null && obj2 == null){
+    public static <T> Boolean findDifference(T obj1, T obj2) {
+        if (obj1 == null && obj2 == null) {
             return false;
             return false;
         }
         }
-        if(obj1 == null || obj2 == null){
+        if (obj1 == null || obj2 == null) {
             return true;
             return true;
         }
         }
-        if(obj1 instanceof BigDecimal){
-            return ((BigDecimal) obj1).compareTo((BigDecimal)obj2) != 0;
-        }else {
+        if (obj1 instanceof BigDecimal) {
+            return ((BigDecimal) obj1).compareTo((BigDecimal) obj2) != 0;
+        } else {
             return !obj1.equals(obj2);
             return !obj1.equals(obj2);
         }
         }
     }
     }
 
 
-    public static <V,K> Map<V, K> makeEntityMapNew(List<Map<String,Object>> hashMap,String keyFieldName) {
+    public static <V, K> Map<V, K> makeEntityMapNew(List<Map<String, Object>> hashMap, String keyFieldName) {
         Map<V, K> map = new HashMap<>();
         Map<V, K> map = new HashMap<>();
-        if(hashMap == null || hashMap.size() == 0) {
+        if (hashMap == null || hashMap.size() == 0) {
             return map;
             return map;
         }
         }
         try {
         try {
-            for(Map linkedHashMap:hashMap){
-                map.put((V)linkedHashMap.get(keyFieldName).toString(),(K)linkedHashMap);
+            for (Map linkedHashMap : hashMap) {
+                map.put((V) linkedHashMap.get(keyFieldName).toString(), (K) linkedHashMap);
             }
             }
         } catch (Exception e) {
         } catch (Exception e) {
             log.error("makeEntityListMap error list is " + hashMap, e);
             log.error("makeEntityListMap error list is " + hashMap, e);
@@ -426,14 +432,14 @@ public class EntityUtil {
     }
     }
 
 
 
 
-    public static Map<Integer, Map> makeEntityMapSpecial(List<Map> hashMap,String keyFieldName) {
+    public static Map<Integer, Map> makeEntityMapSpecial(List<Map> hashMap, String keyFieldName) {
         Map<Integer, Map> map = new HashMap<>();
         Map<Integer, Map> map = new HashMap<>();
-        if(hashMap == null || hashMap.size() == 0) {
+        if (hashMap == null || hashMap.size() == 0) {
             return map;
             return map;
         }
         }
         try {
         try {
-            for(Map linkedHashMap:hashMap){
-                map.put(Integer.valueOf(linkedHashMap.get(keyFieldName).toString()),linkedHashMap);
+            for (Map linkedHashMap : hashMap) {
+                map.put(Integer.valueOf(linkedHashMap.get(keyFieldName).toString()), linkedHashMap);
             }
             }
         } catch (Exception e) {
         } catch (Exception e) {
             log.error("makeEntityListMap error list is " + hashMap, e);
             log.error("makeEntityListMap error list is " + hashMap, e);

+ 8 - 3
common/src/main/java/com/diagbot/util/FastJsonUtils.java

@@ -2,6 +2,7 @@ package com.diagbot.util;
 
 
 import java.util.List;
 import java.util.List;
 import java.util.Map;
 import java.util.Map;
+
 import com.alibaba.fastjson.JSON;
 import com.alibaba.fastjson.JSON;
 import com.alibaba.fastjson.TypeReference;
 import com.alibaba.fastjson.TypeReference;
 
 
@@ -15,8 +16,9 @@ public class FastJsonUtils {
 
 
     /**
     /**
      * 功能描述:把JSON数据转换成指定的java对象
      * 功能描述:把JSON数据转换成指定的java对象
+     *
      * @param jsonData JSON数据
      * @param jsonData JSON数据
-     * @param clazz 指定的java对象
+     * @param clazz    指定的java对象
      * @return 指定的java对象
      * @return 指定的java对象
      */
      */
     public static <T> T getJsonToBean(String jsonData, Class<T> clazz) {
     public static <T> T getJsonToBean(String jsonData, Class<T> clazz) {
@@ -25,6 +27,7 @@ public class FastJsonUtils {
 
 
     /**
     /**
      * 功能描述:把java对象转换成JSON数据
      * 功能描述:把java对象转换成JSON数据
+     *
      * @param object java对象
      * @param object java对象
      * @return JSON数据
      * @return JSON数据
      */
      */
@@ -34,8 +37,9 @@ public class FastJsonUtils {
 
 
     /**
     /**
      * 功能描述:把JSON数据转换成指定的java对象列表
      * 功能描述:把JSON数据转换成指定的java对象列表
+     *
      * @param jsonData JSON数据
      * @param jsonData JSON数据
-     * @param clazz 指定的java对象
+     * @param clazz    指定的java对象
      * @return List<T>
      * @return List<T>
      */
      */
     public static <T> List<T> getJsonToList(String jsonData, Class<T> clazz) {
     public static <T> List<T> getJsonToList(String jsonData, Class<T> clazz) {
@@ -44,8 +48,9 @@ public class FastJsonUtils {
 
 
     /**
     /**
      * 功能描述:把JSON数据转换成较为复杂的List<Map<String, Object>>
      * 功能描述:把JSON数据转换成较为复杂的List<Map<String, Object>>
+     *
      * @param jsonData JSON数据
      * @param jsonData JSON数据
-     * @return List<Map<String, Object>>
+     * @return List<Map   <   String   ,       Object>>
      */
      */
     public static List<Map<String, Object>> getJsonToListMap(String jsonData) {
     public static List<Map<String, Object>> getJsonToListMap(String jsonData) {
         return JSON.parseObject(jsonData, new TypeReference<List<Map<String, Object>>>() {
         return JSON.parseObject(jsonData, new TypeReference<List<Map<String, Object>>>() {

+ 3 - 2
common/src/main/java/com/diagbot/util/GsonUtil.java

@@ -13,6 +13,7 @@ import java.util.Map;
  */
  */
 public class GsonUtil {
 public class GsonUtil {
     private static Gson gson = null;
     private static Gson gson = null;
+
     static {
     static {
         if (gson == null) {
         if (gson == null) {
             gson = new Gson();
             gson = new Gson();
@@ -71,7 +72,7 @@ public class GsonUtil {
      * json转成list中有map的
      * json转成list中有map的
      *
      *
      * @param gsonString
      * @param gsonString
-     * @return List<Map<String, T>>
+     * @return List<Map < String ,   T>>
      */
      */
     public static <T> List<Map<String, T>> toListMaps(String gsonString) {
     public static <T> List<Map<String, T>> toListMaps(String gsonString) {
         List<Map<String, T>> list = null;
         List<Map<String, T>> list = null;
@@ -86,7 +87,7 @@ public class GsonUtil {
      * json转成map的
      * json转成map的
      *
      *
      * @param gsonString
      * @param gsonString
-     * @return Map<String, T>
+     * @return Map<String ,   T>
      */
      */
     public static <T> Map<String, T> gsonToMaps(String gsonString) {
     public static <T> Map<String, T> gsonToMaps(String gsonString) {
         Map<String, T> map = null;
         Map<String, T> map = null;

+ 2 - 3
common/src/main/java/com/diagbot/util/IdcardValidatorUtil.java

@@ -9,7 +9,7 @@ import java.util.Date;
  * @Description: 身份证合法性校验
  * @Description: 身份证合法性校验
  * --15位身份证号码:第7、8位为出生年份(两位数),第9、10位为出生月份,第11、12位代表出生日期,第15位代表性别,奇数为男,偶数为女。
  * --15位身份证号码:第7、8位为出生年份(两位数),第9、10位为出生月份,第11、12位代表出生日期,第15位代表性别,奇数为男,偶数为女。
  * --18位身份证号码:第7、8、9、10位为出生年份(四位数),第11、第12位为出生月份,第13、14位代表出生日期,第17位代表性别,奇数为男,偶数为女。
  * --18位身份证号码:第7、8、9、10位为出生年份(四位数),第11、第12位为出生月份,第13、14位代表出生日期,第17位代表性别,奇数为男,偶数为女。
- *    最后一位为校验位
+ * 最后一位为校验位
  * @author: gaodm
  * @author: gaodm
  * @time: 2018/9/6 13:35
  * @time: 2018/9/6 13:35
  */
  */
@@ -43,8 +43,7 @@ public class IdcardValidatorUtil {
     /**
     /**
      * 验证所有的身份证的合法性
      * 验证所有的身份证的合法性
      *
      *
-     * @param idcard
-     *            身份证
+     * @param idcard 身份证
      * @return 合法返回true,否则返回false
      * @return 合法返回true,否则返回false
      */
      */
     public static boolean isValidatedAllIdcard(String idcard) {
     public static boolean isValidatedAllIdcard(String idcard) {

+ 1 - 0
common/src/main/java/com/diagbot/util/IntegerUtil.java

@@ -8,6 +8,7 @@ package com.diagbot.util;
 public class IntegerUtil {
 public class IntegerUtil {
     /**
     /**
      * 当无法转换时返回0
      * 当无法转换时返回0
+     *
      * @param s
      * @param s
      * @return
      * @return
      */
      */

+ 1 - 0
common/src/main/java/com/diagbot/util/ListUtil.java

@@ -50,6 +50,7 @@ public class ListUtil {
 
 
     /**
     /**
      * 判断List是否为非空
      * 判断List是否为非空
+     *
      * @param list
      * @param list
      * @return
      * @return
      */
      */

+ 6 - 2
common/src/main/java/com/diagbot/util/MapUtil.java

@@ -18,6 +18,7 @@ public class MapUtil {
 
 
     /**
     /**
      * 把Map转换成String。注意以英文分号字符';'开始和结束
      * 把Map转换成String。注意以英文分号字符';'开始和结束
+     *
      * @param attrs
      * @param attrs
      * @return
      * @return
      */
      */
@@ -37,6 +38,7 @@ public class MapUtil {
 
 
     /**
     /**
      * 把key:value;key:value格式的String转换成Map
      * 把key:value;key:value格式的String转换成Map
+     *
      * @param str
      * @param str
      * @return
      * @return
      */
      */
@@ -63,8 +65,9 @@ public class MapUtil {
     }
     }
 
 
     public static Object mapToObject(Map<String, Object> map, Class<?> beanClass) throws Exception {
     public static Object mapToObject(Map<String, Object> map, Class<?> beanClass) throws Exception {
-        if (map == null)
+        if (map == null) {
             return null;
             return null;
+        }
 
 
         Object obj = beanClass.newInstance();
         Object obj = beanClass.newInstance();
 
 
@@ -81,8 +84,9 @@ public class MapUtil {
     }
     }
 
 
     public static Map<String, Object> objectToMap(Object obj) throws Exception {
     public static Map<String, Object> objectToMap(Object obj) throws Exception {
-        if (obj == null)
+        if (obj == null) {
             return null;
             return null;
+        }
 
 
         Map<String, Object> map = new HashMap<String, Object>();
         Map<String, Object> map = new HashMap<String, Object>();
 
 

+ 1 - 0
common/src/main/java/com/diagbot/util/RegexValidateUtil.java

@@ -49,6 +49,7 @@ public class RegexValidateUtil {
     /**
     /**
      * 验证密码
      * 验证密码
      * 密码必须数字和字母组成,并且要同时含有数字和字母,且长度要在6-16位之间
      * 密码必须数字和字母组成,并且要同时含有数字和字母,且长度要在6-16位之间
+     *
      * @param password 密码
      * @param password 密码
      * @return
      * @return
      */
      */

+ 5 - 8
common/src/main/java/com/diagbot/util/SqlExecuteUtil.java

@@ -12,28 +12,25 @@ import java.util.List;
 public class SqlExecuteUtil {
 public class SqlExecuteUtil {
 
 
     /**
     /**
-     *
      * sql批量执行时,参数分组后按组提交,避免游标、数据量超过限制
      * sql批量执行时,参数分组后按组提交,避免游标、数据量超过限制
      *
      *
      * @param originList 原始参数列表
      * @param originList 原始参数列表
      * @param capacity   分组后每组的大小
      * @param capacity   分组后每组的大小
-     *
-     * @return List<List<T>> 分组后的参数列表
-     *
+     * @return List<List   <   T>> 分组后的参数列表
      */
      */
-    public static <T> List<List<T>>divideList(List<T> originList, int capacity) {
+    public static <T> List<List<T>> divideList(List<T> originList, int capacity) {
         List<List<T>> list = new LinkedList<>();
         List<List<T>> list = new LinkedList<>();
         int originListSize = originList.size();
         int originListSize = originList.size();
 
 
         int length = originListSize / capacity;
         int length = originListSize / capacity;
-        if(length == 0) {
+        if (length == 0) {
             list.add(originList);
             list.add(originList);
             return list;
             return list;
         }
         }
-        if(originListSize % capacity > 0) {
+        if (originListSize % capacity > 0) {
             length = length + 1;
             length = length + 1;
         }
         }
-        for(int i = 0; i < length; i++) {
+        for (int i = 0; i < length; i++) {
             int fromIndex = i * capacity;
             int fromIndex = i * capacity;
             int toIndex = (i + 1) * capacity > originListSize ? originListSize : (i + 1) * capacity;
             int toIndex = (i + 1) * capacity > originListSize ? originListSize : (i + 1) * capacity;
             list.add(new ArrayList<T>(originList.subList(fromIndex, toIndex)));
             list.add(new ArrayList<T>(originList.subList(fromIndex, toIndex)));

+ 8 - 4
common/src/main/java/com/diagbot/util/StringUtil.java

@@ -10,37 +10,41 @@ import org.apache.commons.lang3.StringUtils;
 public class StringUtil {
 public class StringUtil {
     /**
     /**
      * 判断某字符串是否为空或长度为0或由空白符(whitespace) 构成
      * 判断某字符串是否为空或长度为0或由空白符(whitespace) 构成
+     *
      * @param str 需要判断的字符串
      * @param str 需要判断的字符串
      * @return
      * @return
      */
      */
-    public static boolean isBlank(String str){
+    public static boolean isBlank(String str) {
         return StringUtils.isBlank(str);
         return StringUtils.isBlank(str);
     }
     }
 
 
     /**
     /**
      * 判断某字符串是否不是为空或长度为0或由空白符(whitespace) 构成
      * 判断某字符串是否不是为空或长度为0或由空白符(whitespace) 构成
+     *
      * @param str 需要判断的字符串
      * @param str 需要判断的字符串
      * @return
      * @return
      */
      */
-    public static boolean isNotBlank(String str){
+    public static boolean isNotBlank(String str) {
         return StringUtils.isNotBlank(str);
         return StringUtils.isNotBlank(str);
     }
     }
 
 
     /**
     /**
      * 判断某字符串是否为空,为空的标准是 str==null 或 str.length()==0
      * 判断某字符串是否为空,为空的标准是 str==null 或 str.length()==0
+     *
      * @param str 需要判断的字符串
      * @param str 需要判断的字符串
      * @return
      * @return
      */
      */
-    public static boolean isEmpty(String str){
+    public static boolean isEmpty(String str) {
         return StringUtils.isEmpty(str);
         return StringUtils.isEmpty(str);
     }
     }
 
 
     /**
     /**
      * 判断某字符串是否不为空,为空的标准是 str==null 或 str.length()==0
      * 判断某字符串是否不为空,为空的标准是 str==null 或 str.length()==0
+     *
      * @param str 需要判断的字符串
      * @param str 需要判断的字符串
      * @return
      * @return
      */
      */
-    public static boolean isNotEmpty(String str){
+    public static boolean isNotEmpty(String str) {
         return StringUtils.isNotEmpty(str);
         return StringUtils.isNotEmpty(str);
     }
     }
 }
 }

+ 4 - 0
common/src/main/java/com/diagbot/util/UserUtils.java

@@ -20,6 +20,7 @@ public class UserUtils {
 
 
     /**
     /**
      * 获取当前请求的token
      * 获取当前请求的token
+     *
      * @return
      * @return
      */
      */
     public static String getCurrentToken() {
     public static String getCurrentToken() {
@@ -28,6 +29,7 @@ public class UserUtils {
 
 
     /**
     /**
      * 获取当前请求的用户名称
      * 获取当前请求的用户名称
+     *
      * @return
      * @return
      */
      */
     public static String getCurrentPrinciple() {
     public static String getCurrentPrinciple() {
@@ -36,6 +38,7 @@ public class UserUtils {
 
 
     /**
     /**
      * 获取当前请求的用户ID
      * 获取当前请求的用户ID
+     *
      * @return
      * @return
      */
      */
     public static String getCurrentPrincipleID() {
     public static String getCurrentPrincipleID() {
@@ -65,6 +68,7 @@ public class UserUtils {
 
 
     /**
     /**
      * 获取当前请求的权限信息
      * 获取当前请求的权限信息
+     *
      * @return
      * @return
      */
      */
     public static List<SimpleGrantedAuthority> getCurrentAuthorities() {
     public static List<SimpleGrantedAuthority> getCurrentAuthorities() {

+ 3 - 3
feedback-service/src/main/java/com/diagbot/FeedbackServiceApplication.java

@@ -18,10 +18,10 @@ import org.springframework.cloud.openfeign.EnableFeignClients;
  * @author: gaodm
  * @author: gaodm
  * @time: 2018/8/7 9:26
  * @time: 2018/8/7 9:26
  */
  */
-@SpringBootApplication(exclude = {DataSourceAutoConfiguration.class, HibernateJpaAutoConfiguration.class,
-        JmxAutoConfiguration.class, ThymeleafAutoConfiguration.class})
+@SpringBootApplication(exclude = { DataSourceAutoConfiguration.class, HibernateJpaAutoConfiguration.class,
+        JmxAutoConfiguration.class, ThymeleafAutoConfiguration.class })
 @EnableEurekaClient
 @EnableEurekaClient
-@EnableFeignClients({"com.diagbot.client"})
+@EnableFeignClients({ "com.diagbot.client" })
 @EnableHystrixDashboard
 @EnableHystrixDashboard
 @EnableHystrix
 @EnableHystrix
 @EnableCircuitBreaker
 @EnableCircuitBreaker

+ 6 - 6
feedback-service/src/main/java/com/diagbot/aop/SysLoggerAspect.java

@@ -42,7 +42,7 @@ public class SysLoggerAspect {
 
 
         SysLog sysLog = new SysLog();
         SysLog sysLog = new SysLog();
         SysLogger sysLogger = method.getAnnotation(SysLogger.class);
         SysLogger sysLogger = method.getAnnotation(SysLogger.class);
-        if(sysLogger != null){
+        if (sysLogger != null) {
             //注解上的描述
             //注解上的描述
             sysLog.setOperation(sysLogger.value());
             sysLog.setOperation(sysLogger.value());
         }
         }
@@ -52,18 +52,18 @@ public class SysLoggerAspect {
         sysLog.setMethod(className + "." + methodName + "()");
         sysLog.setMethod(className + "." + methodName + "()");
         //请求的参数
         //请求的参数
         Object[] args = joinPoint.getArgs();
         Object[] args = joinPoint.getArgs();
-        String params="";
-        for(Object o:args){
-            params+=GsonUtil.toJson(o);
+        String params = "";
+        for (Object o : args) {
+            params += GsonUtil.toJson(o);
         }
         }
-        if(!StringUtil.isEmpty(params)) {
+        if (!StringUtil.isEmpty(params)) {
             sysLog.setParams(params);
             sysLog.setParams(params);
         }
         }
         //设置IP地址
         //设置IP地址
         sysLog.setIp(HttpUtils.getIpAddress());
         sysLog.setIp(HttpUtils.getIpAddress());
         //用户名
         //用户名
         String username = UserUtils.getCurrentPrinciple();
         String username = UserUtils.getCurrentPrinciple();
-        if(!StringUtil.isEmpty(username)) {
+        if (!StringUtil.isEmpty(username)) {
             sysLog.setUsername(username);
             sysLog.setUsername(username);
         }
         }
         sysLog.setGmtCreate(new Date());
         sysLog.setGmtCreate(new Date());

+ 1 - 1
feedback-service/src/main/java/com/diagbot/client/UserServiceClient.java

@@ -14,7 +14,7 @@ import org.springframework.web.bind.annotation.RequestHeader;
  * @author: gaodm
  * @author: gaodm
  * @time: 2018/8/6 9:52
  * @time: 2018/8/6 9:52
  */
  */
-@FeignClient(value = "user-service",fallback = UserServiceHystrix.class )
+@FeignClient(value = "user-service", fallback = UserServiceHystrix.class)
 public interface UserServiceClient {
 public interface UserServiceClient {
 
 
     @PostMapping(value = "/user/{username}")
     @PostMapping(value = "/user/{username}")

+ 2 - 2
feedback-service/src/main/java/com/diagbot/config/JwtConfigurer.java

@@ -33,9 +33,9 @@ public class JwtConfigurer {
 
 
     @Bean
     @Bean
     protected JwtAccessTokenConverter jwtTokenEnhancer() {
     protected JwtAccessTokenConverter jwtTokenEnhancer() {
-        JwtAccessTokenConverter converter =  new JwtAccessTokenConverter();
+        JwtAccessTokenConverter converter = new JwtAccessTokenConverter();
         Resource resource = new ClassPathResource("public.cert");
         Resource resource = new ClassPathResource("public.cert");
-        String publicKey ;
+        String publicKey;
         try {
         try {
             publicKey = new String(FileCopyUtils.copyToByteArray(resource.getInputStream()));
             publicKey = new String(FileCopyUtils.copyToByteArray(resource.getInputStream()));
         } catch (IOException e) {
         } catch (IOException e) {

+ 2 - 2
feedback-service/src/main/java/com/diagbot/config/ResourceServerConfigurer.java

@@ -25,9 +25,9 @@ public class ResourceServerConfigurer extends ResourceServerConfigurerAdapter {
         http
         http
                 .csrf().disable()
                 .csrf().disable()
                 .authorizeRequests()
                 .authorizeRequests()
-                .regexMatchers(".*swagger.*",".*v2.*",".*webjars.*","/druid.*","/actuator.*","/hystrix.*").permitAll()
+                .regexMatchers(".*swagger.*", ".*v2.*", ".*webjars.*", "/druid.*", "/actuator.*", "/hystrix.*").permitAll()
                 .antMatchers("/**").authenticated();
                 .antMatchers("/**").authenticated();
-//        .antMatchers("/**").permitAll();
+        //        .antMatchers("/**").permitAll();
     }
     }
 
 
 
 

+ 3 - 3
feedback-service/src/main/java/com/diagbot/config/SwaggerConfigurer.java

@@ -25,7 +25,7 @@ import java.util.List;
  * @time: 2018/8/2 14:21
  * @time: 2018/8/2 14:21
  */
  */
 @Configuration
 @Configuration
-@ConditionalOnProperty(prefix = "swagger", value = {"enable"}, havingValue = "true")
+@ConditionalOnProperty(prefix = "swagger", value = { "enable" }, havingValue = "true")
 @EnableSwagger2
 @EnableSwagger2
 public class SwaggerConfigurer {
 public class SwaggerConfigurer {
     /**
     /**
@@ -52,8 +52,8 @@ public class SwaggerConfigurer {
                 .apis(RequestHandlerSelectors.basePackage("com.diagbot.web"))
                 .apis(RequestHandlerSelectors.basePackage("com.diagbot.web"))
                 .paths(PathSelectors.any())
                 .paths(PathSelectors.any())
                 .build().globalOperationParameters(parameter());
                 .build().globalOperationParameters(parameter());
-                //.securitySchemes(newArrayList(oauth()))
-               // .securityContexts(newArrayList(securityContext()));
+        //.securitySchemes(newArrayList(oauth()))
+        // .securityContexts(newArrayList(securityContext()));
     }
     }
 
 
     private ApiInfo apiInfo() {
     private ApiInfo apiInfo() {

+ 2 - 2
feedback-service/src/main/java/com/diagbot/config/security/UrlAccessDecisionManager.java

@@ -25,7 +25,7 @@ public class UrlAccessDecisionManager implements AccessDecisionManager {
     public void decide(Authentication authentication, Object object, Collection<ConfigAttribute> configAttributes) throws AccessDeniedException, InsufficientAuthenticationException {
     public void decide(Authentication authentication, Object object, Collection<ConfigAttribute> configAttributes) throws AccessDeniedException, InsufficientAuthenticationException {
         HttpServletRequest request = ((FilterInvocation) object).getHttpRequest();
         HttpServletRequest request = ((FilterInvocation) object).getHttpRequest();
         String url, method;
         String url, method;
-        if ("anonymousUser".equals(authentication.getPrincipal())){
+        if ("anonymousUser".equals(authentication.getPrincipal())) {
             if (matchers("/swagger/**", request)
             if (matchers("/swagger/**", request)
                     || matchers("/v2/**", request)
                     || matchers("/v2/**", request)
                     || matchers("/swagger-ui.html/**", request)
                     || matchers("/swagger-ui.html/**", request)
@@ -34,7 +34,7 @@ public class UrlAccessDecisionManager implements AccessDecisionManager {
                     || matchers("/druid/**", request)
                     || matchers("/druid/**", request)
                     || matchers("/actuator/**", request)
                     || matchers("/actuator/**", request)
                     || matchers("/hystrix/**", request)
                     || matchers("/hystrix/**", request)
-                    || matchers("/", request)){
+                    || matchers("/", request)) {
                 return;
                 return;
             } else {
             } else {
                 throw new AccessDeniedException("no right");
                 throw new AccessDeniedException("no right");

+ 13 - 13
feedback-service/src/main/java/com/diagbot/entity/SysLog.java

@@ -179,18 +179,18 @@ public class SysLog implements Serializable {
     @Override
     @Override
     public String toString() {
     public String toString() {
         return "SysLog{" +
         return "SysLog{" +
-        "id=" + id +
-        ", isDeleted=" + isDeleted +
-        ", gmtCreate=" + gmtCreate +
-        ", gmtModified=" + gmtModified +
-        ", creator=" + creator +
-        ", modifier=" + modifier +
-        ", ip=" + ip +
-        ", sysType=" + sysType +
-        ", method=" + method +
-        ", operation=" + operation +
-        ", params=" + params +
-        ", username=" + username +
-        "}";
+                "id=" + id +
+                ", isDeleted=" + isDeleted +
+                ", gmtCreate=" + gmtCreate +
+                ", gmtModified=" + gmtModified +
+                ", creator=" + creator +
+                ", modifier=" + modifier +
+                ", ip=" + ip +
+                ", sysType=" + sysType +
+                ", method=" + method +
+                ", operation=" + operation +
+                ", params=" + params +
+                ", username=" + username +
+                "}";
     }
     }
 }
 }

+ 9 - 9
feedback-service/src/main/java/com/diagbot/entity/User.java

@@ -129,14 +129,14 @@ public class User implements Serializable {
     @Override
     @Override
     public String toString() {
     public String toString() {
         return "User{" +
         return "User{" +
-        "id=" + id +
-        ", isDeleted=" + isDeleted +
-        ", gmtCreate=" + gmtCreate +
-        ", gmtModified=" + gmtModified +
-        ", creator=" + creator +
-        ", modifier=" + modifier +
-        ", password=" + password +
-        ", username=" + username +
-        "}";
+                "id=" + id +
+                ", isDeleted=" + isDeleted +
+                ", gmtCreate=" + gmtCreate +
+                ", gmtModified=" + gmtModified +
+                ", creator=" + creator +
+                ", modifier=" + modifier +
+                ", password=" + password +
+                ", username=" + username +
+                "}";
     }
     }
 }
 }

+ 4 - 4
feedback-service/src/main/java/com/diagbot/exception/CommonExceptionHandler.java

@@ -30,7 +30,7 @@ public class CommonExceptionHandler {
     @ExceptionHandler(Exception.class)
     @ExceptionHandler(Exception.class)
     public ResponseEntity<RespDTO> handleException(Exception e) {
     public ResponseEntity<RespDTO> handleException(Exception e) {
         RespDTO resp = new RespDTO();
         RespDTO resp = new RespDTO();
-        if(e instanceof BindException) {
+        if (e instanceof BindException) {
             BindException ex = (BindException) e;
             BindException ex = (BindException) e;
             Map<String, String> stringMap = new HashMap<>();
             Map<String, String> stringMap = new HashMap<>();
             for (FieldError fieldError : ex.getBindingResult().getFieldErrors()) {
             for (FieldError fieldError : ex.getBindingResult().getFieldErrors()) {
@@ -42,7 +42,7 @@ public class CommonExceptionHandler {
             resp.msg = msg;
             resp.msg = msg;
             return new ResponseEntity(resp, HttpStatus.OK);
             return new ResponseEntity(resp, HttpStatus.OK);
         }
         }
-        if(e instanceof MethodArgumentNotValidException) {
+        if (e instanceof MethodArgumentNotValidException) {
             MethodArgumentNotValidException ex = (MethodArgumentNotValidException) e;
             MethodArgumentNotValidException ex = (MethodArgumentNotValidException) e;
             Map<String, String> stringMap = new HashMap<>();
             Map<String, String> stringMap = new HashMap<>();
             for (FieldError fieldError : ex.getBindingResult().getFieldErrors()) {
             for (FieldError fieldError : ex.getBindingResult().getFieldErrors()) {
@@ -54,7 +54,7 @@ public class CommonExceptionHandler {
             resp.msg = msg;
             resp.msg = msg;
             return new ResponseEntity(resp, HttpStatus.OK);
             return new ResponseEntity(resp, HttpStatus.OK);
         }
         }
-        if(e instanceof MissingServletRequestParameterException) {
+        if (e instanceof MissingServletRequestParameterException) {
             MissingServletRequestParameterException ex = (MissingServletRequestParameterException) e;
             MissingServletRequestParameterException ex = (MissingServletRequestParameterException) e;
             Map<String, String> stringMap = new HashMap<>();
             Map<String, String> stringMap = new HashMap<>();
             stringMap.put(ex.getParameterName(), "不能为null");
             stringMap.put(ex.getParameterName(), "不能为null");
@@ -64,7 +64,7 @@ public class CommonExceptionHandler {
             resp.msg = msg;
             resp.msg = msg;
             return new ResponseEntity(resp, HttpStatus.OK);
             return new ResponseEntity(resp, HttpStatus.OK);
         }
         }
-        if(e instanceof CommonException) {
+        if (e instanceof CommonException) {
             CommonException taiChiException = (CommonException) e;
             CommonException taiChiException = (CommonException) e;
             resp.code = taiChiException.getCode();
             resp.code = taiChiException.getCode();
             resp.msg = e.getMessage();
             resp.msg = e.getMessage();

+ 3 - 3
feedback-service/src/main/java/com/diagbot/exception/ServiceErrorCode.java

@@ -2,13 +2,13 @@ package com.diagbot.exception;
 
 
 /**
 /**
  * @Description: 本服务错误码
  * @Description: 本服务错误码
- *      系统码(3位) + 等级码(1位) + 4位顺序号
- *      系统码 通用码 000;用户中心 100; 管理中心 200;
+ * 系统码(3位) + 等级码(1位) + 4位顺序号
+ * 系统码 通用码 000;用户中心 100; 管理中心 200;
  * @author: gaodm
  * @author: gaodm
  * @time: 2018/9/10 11:11
  * @time: 2018/9/10 11:11
  */
  */
 public enum ServiceErrorCode implements ErrorCode {
 public enum ServiceErrorCode implements ErrorCode {
-    LOG_IS_NOT_EXIST("90020001","该日志不存在");
+    LOG_IS_NOT_EXIST("90020001", "该日志不存在");
 
 
     private String code;
     private String code;
     private String msg;
     private String msg;

+ 1 - 1
feedback-service/src/main/java/com/diagbot/mapper/SysLogMapper.java

@@ -5,7 +5,7 @@ import com.diagbot.entity.SysLog;
 
 
 /**
 /**
  * <p>
  * <p>
- *  Mapper 接口
+ * Mapper 接口
  * </p>
  * </p>
  *
  *
  * @author gaodm
  * @author gaodm

+ 2 - 2
feedback-service/src/main/java/com/diagbot/rabbit/MySender.java

@@ -15,13 +15,13 @@ import org.springframework.stereotype.Component;
  * @time: 2018/8/29 13:41
  * @time: 2018/8/29 13:41
  */
  */
 @Component
 @Component
-@EnableBinding({MyProcessor.class})
+@EnableBinding({ MyProcessor.class })
 public class MySender {
 public class MySender {
     @Autowired
     @Autowired
     @Qualifier("outputLog")
     @Qualifier("outputLog")
     MessageChannel outputLog;
     MessageChannel outputLog;
 
 
-    public void outputLogSend(SysLog sysLog){
+    public void outputLogSend(SysLog sysLog) {
         outputLog.send(MessageBuilder.withPayload(GsonUtil.toJson(sysLog)).build());
         outputLog.send(MessageBuilder.withPayload(GsonUtil.toJson(sysLog)).build());
     }
     }
 }
 }

+ 1 - 1
feedback-service/src/main/java/com/diagbot/service/SysLogService.java

@@ -5,7 +5,7 @@ import com.diagbot.entity.SysLog;
 
 
 /**
 /**
  * <p>
  * <p>
- *  服务类
+ * 服务类
  * </p>
  * </p>
  *
  *
  * @author gaodm
  * @author gaodm

+ 1 - 1
feedback-service/src/main/java/com/diagbot/service/impl/SysLogServiceImpl.java

@@ -8,7 +8,7 @@ import org.springframework.stereotype.Service;
 
 
 /**
 /**
  * <p>
  * <p>
- *  服务实现类
+ * 服务实现类
  * </p>
  * </p>
  *
  *
  * @author gaodm
  * @author gaodm

+ 11 - 7
feedback-service/src/main/java/com/diagbot/web/SysLogController.java

@@ -43,7 +43,7 @@ public class SysLogController {
     @ApiOperation(value = "添加日志", notes = "添加日志")
     @ApiOperation(value = "添加日志", notes = "添加日志")
     @PostMapping("/add")
     @PostMapping("/add")
     @SysLogger("postLog")
     @SysLogger("postLog")
-    public RespDTO add(@RequestBody SysLogVo sysLogVo){
+    public RespDTO add(@RequestBody SysLogVo sysLogVo) {
         //初始化新增日志信息
         //初始化新增日志信息
         SysLog sysLog = new SysLog();
         SysLog sysLog = new SysLog();
         sysLog.setGmtCreate(new Date());
         sysLog.setGmtCreate(new Date());
@@ -51,47 +51,51 @@ public class SysLogController {
         sysLog.setMethod(sysLogVo.getMethod());
         sysLog.setMethod(sysLogVo.getMethod());
         sysLog.setOperation(sysLogVo.getOperation());
         sysLog.setOperation(sysLogVo.getOperation());
         sysLog.setParams(sysLogVo.getParams());
         sysLog.setParams(sysLogVo.getParams());
-        return RespDTO.onSuc(sysLogFacade.save(sysLog)?"添加成功":"添加失败");
+        return RespDTO.onSuc(sysLogFacade.save(sysLog) ? "添加成功" : "添加失败");
     }
     }
 
 
     /**
     /**
      * 删除日志
      * 删除日志
+     *
      * @param id 日志信息ID
      * @param id 日志信息ID
      * @return 删除是否成功
      * @return 删除是否成功
      */
      */
     @ApiOperation(value = "删除日志", notes = "删除日志")
     @ApiOperation(value = "删除日志", notes = "删除日志")
     @DeleteMapping("/delete/{id}")
     @DeleteMapping("/delete/{id}")
     @SysLogger("deleteLog")
     @SysLogger("deleteLog")
-    public RespDTO delete(@PathVariable(value = "id") Integer id){
-        return RespDTO.onSuc(sysLogFacade.removeById(id)?"删除成功":"删除失败");
+    public RespDTO delete(@PathVariable(value = "id") Integer id) {
+        return RespDTO.onSuc(sysLogFacade.removeById(id) ? "删除成功" : "删除失败");
     }
     }
 
 
     /**
     /**
      * 修改日志
      * 修改日志
+     *
      * @param sysLog 修改日志输入参数
      * @param sysLog 修改日志输入参数
      * @return 修改是否成功
      * @return 修改是否成功
      */
      */
     @ApiOperation(value = "修改日志", notes = "修改日志")
     @ApiOperation(value = "修改日志", notes = "修改日志")
     @PostMapping("/update")
     @PostMapping("/update")
     @SysLogger("updateLog")
     @SysLogger("updateLog")
-    public RespDTO update(@RequestBody SysLog sysLog){
-        return RespDTO.onSuc(sysLogFacade.updateById(sysLog)?"修改成功":"修改失败");
+    public RespDTO update(@RequestBody SysLog sysLog) {
+        return RespDTO.onSuc(sysLogFacade.updateById(sysLog) ? "修改成功" : "修改失败");
     }
     }
 
 
     /**
     /**
      * 获取日志列表
      * 获取日志列表
+     *
      * @return 日志列信息
      * @return 日志列信息
      */
      */
     @ApiOperation(value = "获取日志列表", notes = "获取日志列表")
     @ApiOperation(value = "获取日志列表", notes = "获取日志列表")
     @GetMapping("/list")
     @GetMapping("/list")
     @SysLogger("listLog")
     @SysLogger("listLog")
-    public RespDTO list(){
+    public RespDTO list() {
         Wrapper<SysLog> wrapper = new QueryWrapper<>();
         Wrapper<SysLog> wrapper = new QueryWrapper<>();
         return RespDTO.onSuc(sysLogFacade.list(wrapper));
         return RespDTO.onSuc(sysLogFacade.list(wrapper));
     }
     }
 
 
     /**
     /**
      * 获取日志翻页信息
      * 获取日志翻页信息
+     *
      * @return 日志翻页信息
      * @return 日志翻页信息
      */
      */
     @ApiOperation(value = "获取日志翻页信息", notes = "获取日志翻页信息")
     @ApiOperation(value = "获取日志翻页信息", notes = "获取日志翻页信息")

+ 2 - 2
feedback-service/src/main/resources/bootstrap.yml

@@ -3,13 +3,13 @@ spring:
     name: feedback-service
     name: feedback-service
   cloud:
   cloud:
     config:
     config:
-#      uri: http://${myuri}:8769
+      #uri: http://${myuri}:8769
       fail-fast: true
       fail-fast: true
       discovery:
       discovery:
         enabled: true
         enabled: true
         serviceId: config-server
         serviceId: config-server
   profiles:
   profiles:
-      active: local
+    active: local
 
 
 eureka:
 eureka:
   client:
   client:

+ 70 - 53
feedback-service/src/main/resources/logback-spring.xml

@@ -1,19 +1,24 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <?xml version="1.0" encoding="UTF-8"?>
 <configuration>
 <configuration>
     <!-- 项目名称 -->
     <!-- 项目名称 -->
-    <property name="APPDIR" value="feedback-service" />
+    <property name="APPDIR" value="feedback-service"/>
     <!--定义日志文件的存储地址 勿在 LogBack 的配置中使用相对路径-->
     <!--定义日志文件的存储地址 勿在 LogBack 的配置中使用相对路径-->
-    <property name="LOG_PATH" value="../logs" />
+    <property name="LOG_PATH" value="../logs"/>
 
 
     <!-- 彩色日志 -->
     <!-- 彩色日志 -->
     <!-- 彩色日志依赖的渲染类 -->
     <!-- 彩色日志依赖的渲染类 -->
-    <conversionRule conversionWord="clr" converterClass="org.springframework.boot.logging.logback.ColorConverter" />
-    <conversionRule conversionWord="wex" converterClass="org.springframework.boot.logging.logback.WhitespaceThrowableProxyConverter" />
-    <conversionRule conversionWord="wEx" converterClass="org.springframework.boot.logging.logback.ExtendedWhitespaceThrowableProxyConverter" />
+    <conversionRule conversionWord="clr"
+                    converterClass="org.springframework.boot.logging.logback.ColorConverter"/>
+    <conversionRule conversionWord="wex"
+                    converterClass="org.springframework.boot.logging.logback.WhitespaceThrowableProxyConverter"/>
+    <conversionRule conversionWord="wEx"
+                    converterClass="org.springframework.boot.logging.logback.ExtendedWhitespaceThrowableProxyConverter"/>
     <!-- 彩色日志格式 -->
     <!-- 彩色日志格式 -->
-    <property name="CONSOLE_LOG_PATTERN" value="${CONSOLE_LOG_PATTERN:-%clr(%d{yyyy-MM-dd HH:mm:ss.SSS}){faint} %clr(${LOG_LEVEL_PATTERN:-%5p}) %clr(${PID:- }){magenta} %clr(---){faint} %clr([%15.15t]){faint} %clr(%logger){cyan} %clr(:){faint} %m%n${LOG_EXCEPTION_CONVERSION_WORD:-%wEx}}" />
+    <property name="CONSOLE_LOG_PATTERN"
+              value="${CONSOLE_LOG_PATTERN:-%clr(%d{yyyy-MM-dd HH:mm:ss.SSS}){faint} %clr(${LOG_LEVEL_PATTERN:-%5p}) %clr(${PID:- }){magenta} %clr(---){faint} %clr([%15.15t]){faint} %clr(%logger){cyan} %clr(:){faint} %m%n${LOG_EXCEPTION_CONVERSION_WORD:-%wEx}}"/>
     <!--包名输出缩进对齐-->
     <!--包名输出缩进对齐-->
-    <property name="CONSOLE_LOG_PATTERN" value="${CONSOLE_LOG_PATTERN:-%clr(%d{yyyy-MM-dd HH:mm:ss.SSS}){faint} %clr(${LOG_LEVEL_PATTERN:-%5p}) %clr(${PID:- }){magenta} %clr(---){faint} %clr([%15.15t]){faint} %clr(%-40.40logger{39}){cyan} %clr(:){faint} %m%n${LOG_EXCEPTION_CONVERSION_WORD:-%wEx}}" />
+    <property name="CONSOLE_LOG_PATTERN"
+              value="${CONSOLE_LOG_PATTERN:-%clr(%d{yyyy-MM-dd HH:mm:ss.SSS}){faint} %clr(${LOG_LEVEL_PATTERN:-%5p}) %clr(${PID:- }){magenta} %clr(---){faint} %clr([%15.15t]){faint} %clr(%-40.40logger{39}){cyan} %clr(:){faint} %m%n${LOG_EXCEPTION_CONVERSION_WORD:-%wEx}}"/>
 
 
     <!--  日志记录器,日期滚动记录
     <!--  日志记录器,日期滚动记录
             ERROR 级别
             ERROR 级别
@@ -26,12 +31,14 @@
             <!-- 归档的日志文件的路径,例如今天是1992-11-06日志,当前写的日志文件路径为file节点指定,
             <!-- 归档的日志文件的路径,例如今天是1992-11-06日志,当前写的日志文件路径为file节点指定,
             可以将此文件与file指定文件路径设置为不同路径,从而将当前日志文件或归档日志文件置不同的目录。
             可以将此文件与file指定文件路径设置为不同路径,从而将当前日志文件或归档日志文件置不同的目录。
             而1992-11-06的日志文件在由fileNamePattern指定。%d{yyyy-MM-dd}指定日期格式,%i指定索引 -->
             而1992-11-06的日志文件在由fileNamePattern指定。%d{yyyy-MM-dd}指定日期格式,%i指定索引 -->
-            <fileNamePattern>${LOG_PATH}/${APPDIR}/error/${APPDIR}-error-%d{yyyy-MM-dd}.%i.log</fileNamePattern>
+            <fileNamePattern>${LOG_PATH}/${APPDIR}/error/${APPDIR}-error-%d{yyyy-MM-dd}.%i.log
+            </fileNamePattern>
             <!--  保留日志天数 -->
             <!--  保留日志天数 -->
             <maxHistory>30</maxHistory>
             <maxHistory>30</maxHistory>
             <!-- 除按日志记录之外,还配置了日志文件不能超过10MB,若超过10MB,日志文件会以索引0开始,
             <!-- 除按日志记录之外,还配置了日志文件不能超过10MB,若超过10MB,日志文件会以索引0开始,
             命名日志文件,例如log-error-1992-11-06.0.log -->
             命名日志文件,例如log-error-1992-11-06.0.log -->
-            <timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">
+            <timeBasedFileNamingAndTriggeringPolicy
+                    class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">
                 <maxFileSize>10MB</maxFileSize>
                 <maxFileSize>10MB</maxFileSize>
             </timeBasedFileNamingAndTriggeringPolicy>
             </timeBasedFileNamingAndTriggeringPolicy>
         </rollingPolicy>
         </rollingPolicy>
@@ -39,7 +46,8 @@
         <append>true</append>
         <append>true</append>
         <!-- 日志文件的格式 -->
         <!-- 日志文件的格式 -->
         <encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder">
         <encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder">
-            <pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} %-5level --- [%thread] %logger Line:%-3L - %msg%n</pattern>
+            <pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} %-5level --- [%thread] %logger Line:%-3L - %msg%n
+            </pattern>
             <charset>utf-8</charset>
             <charset>utf-8</charset>
         </encoder>
         </encoder>
         <!-- 此日志文件记录error级别的 -->
         <!-- 此日志文件记录error级别的 -->
@@ -62,12 +70,14 @@
             <!-- 归档的日志文件的路径,例如今天1992-11-06日志,当前写的日志文件路径为file节点指定,
             <!-- 归档的日志文件的路径,例如今天1992-11-06日志,当前写的日志文件路径为file节点指定,
             可以将此文件与file指定文件路径设置为不同路径,从而将当前日志文件或归档日志文件置不同的目录。
             可以将此文件与file指定文件路径设置为不同路径,从而将当前日志文件或归档日志文件置不同的目录。
             而1992-11-06的日志文件在由fileNamePattern指定。%d{yyyy-MM-dd}指定日期格式,%i指定索引 -->
             而1992-11-06的日志文件在由fileNamePattern指定。%d{yyyy-MM-dd}指定日期格式,%i指定索引 -->
-            <fileNamePattern>${LOG_PATH}/${APPDIR}/warn/${APPDIR}-warn-%d{yyyy-MM-dd}.%i.log</fileNamePattern>
+            <fileNamePattern>${LOG_PATH}/${APPDIR}/warn/${APPDIR}-warn-%d{yyyy-MM-dd}.%i.log
+            </fileNamePattern>
             <!--  保留日志天数 -->
             <!--  保留日志天数 -->
             <maxHistory>15</maxHistory>
             <maxHistory>15</maxHistory>
             <!-- 除按日志记录之外,还配置了日志文件不能超过10MB,若超过10MB,日志文件会以索引0开始,
             <!-- 除按日志记录之外,还配置了日志文件不能超过10MB,若超过10MB,日志文件会以索引0开始,
             命名日志文件,例如log-warn-1992-11-06.0.log -->
             命名日志文件,例如log-warn-1992-11-06.0.log -->
-            <timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">
+            <timeBasedFileNamingAndTriggeringPolicy
+                    class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">
                 <maxFileSize>10MB</maxFileSize>
                 <maxFileSize>10MB</maxFileSize>
             </timeBasedFileNamingAndTriggeringPolicy>
             </timeBasedFileNamingAndTriggeringPolicy>
         </rollingPolicy>
         </rollingPolicy>
@@ -75,7 +85,8 @@
         <append>true</append>
         <append>true</append>
         <!-- 日志文件的格式 -->
         <!-- 日志文件的格式 -->
         <encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder">
         <encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder">
-            <pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} %-5level --- [%thread] %logger Line:%-3L - %msg%n</pattern>
+            <pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} %-5level --- [%thread] %logger Line:%-3L - %msg%n
+            </pattern>
             <charset>utf-8</charset>
             <charset>utf-8</charset>
         </encoder>
         </encoder>
         <!-- 此日志文件只记录warn级别的 -->
         <!-- 此日志文件只记录warn级别的 -->
@@ -98,12 +109,14 @@
             <!-- 归档的日志文件的路径,例如今天是1992-11-06日志,当前写的日志文件路径为file节点指定,
             <!-- 归档的日志文件的路径,例如今天是1992-11-06日志,当前写的日志文件路径为file节点指定,
             可以将此文件与file指定文件路径设置为不同路径,从而将当前日志文件或归档日志文件置不同的目录。
             可以将此文件与file指定文件路径设置为不同路径,从而将当前日志文件或归档日志文件置不同的目录。
             而1992-11-06的日志文件在由fileNamePattern指定。%d{yyyy-MM-dd}指定日期格式,%i指定索引 -->
             而1992-11-06的日志文件在由fileNamePattern指定。%d{yyyy-MM-dd}指定日期格式,%i指定索引 -->
-            <fileNamePattern>${LOG_PATH}/${APPDIR}/info/${APPDIR}-info-%d{yyyy-MM-dd}.%i.log</fileNamePattern>
+            <fileNamePattern>${LOG_PATH}/${APPDIR}/info/${APPDIR}-info-%d{yyyy-MM-dd}.%i.log
+            </fileNamePattern>
             <!--  保留日志天数 -->
             <!--  保留日志天数 -->
             <maxHistory>15</maxHistory>
             <maxHistory>15</maxHistory>
             <!-- 除按日志记录之外,还配置了日志文件不能超过10MB,若超过10MB,日志文件会以索引0开始,
             <!-- 除按日志记录之外,还配置了日志文件不能超过10MB,若超过10MB,日志文件会以索引0开始,
             命名日志文件,例如log-info-1992-11-06.0.log -->
             命名日志文件,例如log-info-1992-11-06.0.log -->
-            <timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">
+            <timeBasedFileNamingAndTriggeringPolicy
+                    class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">
                 <maxFileSize>10MB</maxFileSize>
                 <maxFileSize>10MB</maxFileSize>
             </timeBasedFileNamingAndTriggeringPolicy>
             </timeBasedFileNamingAndTriggeringPolicy>
         </rollingPolicy>
         </rollingPolicy>
@@ -111,7 +124,8 @@
         <append>true</append>
         <append>true</append>
         <!-- 日志文件的格式 -->
         <!-- 日志文件的格式 -->
         <encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder">
         <encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder">
-            <pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} %-5level --- [%thread] %logger Line:%-3L - %msg%n</pattern>
+            <pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} %-5level --- [%thread] %logger Line:%-3L - %msg%n
+            </pattern>
             <charset>utf-8</charset>
             <charset>utf-8</charset>
         </encoder>
         </encoder>
         <!-- 此日志文件只记录info级别的 -->
         <!-- 此日志文件只记录info级别的 -->
@@ -134,12 +148,14 @@
             <!-- 归档的日志文件的路径,例如今天是1992-11-06日志,当前写的日志文件路径为file节点指定,
             <!-- 归档的日志文件的路径,例如今天是1992-11-06日志,当前写的日志文件路径为file节点指定,
             可以将此文件与file指定文件路径设置为不同路径,从而将当前日志文件或归档日志文件置不同的目录。
             可以将此文件与file指定文件路径设置为不同路径,从而将当前日志文件或归档日志文件置不同的目录。
             而1992-11-06的日志文件在由fileNamePattern指定。%d{yyyy-MM-dd}指定日期格式,%i指定索引 -->
             而1992-11-06的日志文件在由fileNamePattern指定。%d{yyyy-MM-dd}指定日期格式,%i指定索引 -->
-            <fileNamePattern>${LOG_PATH}/${APPDIR}/debug/${APPDIR}-debug-%d{yyyy-MM-dd}.%i.log</fileNamePattern>
+            <fileNamePattern>${LOG_PATH}/${APPDIR}/debug/${APPDIR}-debug-%d{yyyy-MM-dd}.%i.log
+            </fileNamePattern>
             <!--  保留日志天数 -->
             <!--  保留日志天数 -->
             <maxHistory>15</maxHistory>
             <maxHistory>15</maxHistory>
             <!-- 除按日志记录之外,还配置了日志文件不能超过10MB,若超过10MB,日志文件会以索引0开始,
             <!-- 除按日志记录之外,还配置了日志文件不能超过10MB,若超过10MB,日志文件会以索引0开始,
             命名日志文件,例如log-debug-1992-11-06.0.log -->
             命名日志文件,例如log-debug-1992-11-06.0.log -->
-            <timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">
+            <timeBasedFileNamingAndTriggeringPolicy
+                    class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">
                 <maxFileSize>10MB</maxFileSize>
                 <maxFileSize>10MB</maxFileSize>
             </timeBasedFileNamingAndTriggeringPolicy>
             </timeBasedFileNamingAndTriggeringPolicy>
         </rollingPolicy>
         </rollingPolicy>
@@ -147,7 +163,8 @@
         <append>true</append>
         <append>true</append>
         <!-- 日志文件的格式 -->
         <!-- 日志文件的格式 -->
         <encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder">
         <encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder">
-            <pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} %-5level --- [%thread] %logger Line:%-3L - %msg%n</pattern>
+            <pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} %-5level --- [%thread] %logger Line:%-3L - %msg%n
+            </pattern>
             <charset>utf-8</charset>
             <charset>utf-8</charset>
         </encoder>
         </encoder>
         <!-- 此日志文件只记录debug级别的 -->
         <!-- 此日志文件只记录debug级别的 -->
@@ -175,31 +192,31 @@
 
 
     <!--&lt;!&ndash;输出到mysql数据库的appender配置     &ndash;&gt;-->
     <!--&lt;!&ndash;输出到mysql数据库的appender配置     &ndash;&gt;-->
     <!--<appender name="db" class="ch.qos.logback.classic.db.DBAppender">-->
     <!--<appender name="db" class="ch.qos.logback.classic.db.DBAppender">-->
-        <!--<connectionSource-->
-                <!--class="ch.qos.logback.core.db.DriverManagerConnectionSource">-->
-            <!--<driverClass>com.mysql.jdbc.Driver</driverClass>-->
-            <!--<url>jdbc:mysql://120.77.222.42:3306/logback_member?characterEncoding=utf8</url>-->
-            <!--<user>root</user>-->
-            <!--<password>a123456789</password>-->
-        <!--</connectionSource>-->
+    <!--<connectionSource-->
+    <!--class="ch.qos.logback.core.db.DriverManagerConnectionSource">-->
+    <!--<driverClass>com.mysql.jdbc.Driver</driverClass>-->
+    <!--<url>jdbc:mysql://120.77.222.42:3306/logback_member?characterEncoding=utf8</url>-->
+    <!--<user>root</user>-->
+    <!--<password>a123456789</password>-->
+    <!--</connectionSource>-->
     <!--</appender>-->
     <!--</appender>-->
 
 
     <!-- FrameworkServlet日志-->
     <!-- FrameworkServlet日志-->
-    <logger name="org.springframework" level="WARN" />
+    <logger name="org.springframework" level="WARN"/>
 
 
     <!-- mybatis日志打印-->
     <!-- mybatis日志打印-->
-    <logger name="org.apache.ibatis" level="DEBUG" />
-    <logger name="java.sql" level="DEBUG" />
+    <logger name="org.apache.ibatis" level="DEBUG"/>
+    <logger name="java.sql" level="DEBUG"/>
 
 
     <!--  项目 mapper 路径
     <!--  项目 mapper 路径
             console控制台显示sql语句:STDOUT.filter.level -> debug级别
             console控制台显示sql语句:STDOUT.filter.level -> debug级别
     -->
     -->
-    <logger name="com.diagbot.mapper" level="DEBUG" />
+    <logger name="com.diagbot.mapper" level="DEBUG"/>
 
 
     <appender name="LOGSTASH" class="net.logstash.logback.appender.LogstashTcpSocketAppender">
     <appender name="LOGSTASH" class="net.logstash.logback.appender.LogstashTcpSocketAppender">
         <destination>192.168.2.236:5044</destination>
         <destination>192.168.2.236:5044</destination>
         <!-- encoder必须配置,有多种可选 -->
         <!-- encoder必须配置,有多种可选 -->
-        <encoder charset="UTF-8" class="net.logstash.logback.encoder.LogstashEncoder" >
+        <encoder charset="UTF-8" class="net.logstash.logback.encoder.LogstashEncoder">
             <customFields>{"appname":"feedback-service"}</customFields>
             <customFields>{"appname":"feedback-service"}</customFields>
         </encoder>
         </encoder>
     </appender>
     </appender>
@@ -207,49 +224,49 @@
     <!-- 本地环境下的日志配置 -->
     <!-- 本地环境下的日志配置 -->
     <springProfile name="local">
     <springProfile name="local">
         <root level="INFO">
         <root level="INFO">
-            <appender-ref ref="ERROR" />
-            <appender-ref ref="WARN" />
-            <appender-ref ref="INFO" />
-            <appender-ref ref="DEBUG" />
+            <appender-ref ref="ERROR"/>
+            <appender-ref ref="WARN"/>
+            <appender-ref ref="INFO"/>
+            <appender-ref ref="DEBUG"/>
             <!-- 生产环境将请stdout去掉 -->
             <!-- 生产环境将请stdout去掉 -->
-            <appender-ref ref="STDOUT" />
+            <appender-ref ref="STDOUT"/>
         </root>
         </root>
     </springProfile>
     </springProfile>
 
 
     <!-- 开发环境下的日志配置 -->
     <!-- 开发环境下的日志配置 -->
     <springProfile name="dev">
     <springProfile name="dev">
         <root level="INFO">
         <root level="INFO">
-            <appender-ref ref="ERROR" />
-            <appender-ref ref="WARN" />
-            <appender-ref ref="INFO" />
-            <appender-ref ref="DEBUG" />
+            <appender-ref ref="ERROR"/>
+            <appender-ref ref="WARN"/>
+            <appender-ref ref="INFO"/>
+            <appender-ref ref="DEBUG"/>
             <!-- 生产环境将请stdout去掉 -->
             <!-- 生产环境将请stdout去掉 -->
-            <appender-ref ref="STDOUT" />
-            <appender-ref ref="LOGSTASH" />
+            <appender-ref ref="STDOUT"/>
+            <appender-ref ref="LOGSTASH"/>
         </root>
         </root>
     </springProfile>
     </springProfile>
 
 
     <!-- 测试环境下的日志配置 -->
     <!-- 测试环境下的日志配置 -->
     <springProfile name="test">
     <springProfile name="test">
         <root level="INFO">
         <root level="INFO">
-            <appender-ref ref="ERROR" />
-            <appender-ref ref="WARN" />
-            <appender-ref ref="INFO" />
-            <appender-ref ref="DEBUG" />
+            <appender-ref ref="ERROR"/>
+            <appender-ref ref="WARN"/>
+            <appender-ref ref="INFO"/>
+            <appender-ref ref="DEBUG"/>
             <!-- 生产环境将请stdout去掉 -->
             <!-- 生产环境将请stdout去掉 -->
-            <appender-ref ref="STDOUT" />
-            <appender-ref ref="LOGSTASH" />
+            <appender-ref ref="STDOUT"/>
+            <appender-ref ref="LOGSTASH"/>
         </root>
         </root>
     </springProfile>
     </springProfile>
 
 
     <!-- 生产环境下的日志配置 -->
     <!-- 生产环境下的日志配置 -->
     <springProfile name="prod">
     <springProfile name="prod">
         <root level="INFO">
         <root level="INFO">
-            <appender-ref ref="ERROR" />
-            <appender-ref ref="WARN" />
-            <appender-ref ref="INFO" />
-            <appender-ref ref="DEBUG" />
-            <appender-ref ref="LOGSTASH" />
+            <appender-ref ref="ERROR"/>
+            <appender-ref ref="WARN"/>
+            <appender-ref ref="INFO"/>
+            <appender-ref ref="DEBUG"/>
+            <appender-ref ref="LOGSTASH"/>
         </root>
         </root>
     </springProfile>
     </springProfile>
 </configuration>
 </configuration>

+ 14 - 13
feedback-service/src/main/resources/mapper/SysLogMapper.xml

@@ -1,21 +1,22 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
+        "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
 <mapper namespace="com.diagbot.mapper.SysLogMapper">
 <mapper namespace="com.diagbot.mapper.SysLogMapper">
 
 
     <!-- 通用查询映射结果 -->
     <!-- 通用查询映射结果 -->
     <resultMap id="BaseResultMap" type="com.diagbot.entity.SysLog">
     <resultMap id="BaseResultMap" type="com.diagbot.entity.SysLog">
-        <id column="id" property="id" />
-        <result column="is_deleted" property="isDeleted" />
-        <result column="gmt_create" property="gmtCreate" />
-        <result column="gmt_modified" property="gmtModified" />
-        <result column="creator" property="creator" />
-        <result column="modifier" property="modifier" />
-        <result column="ip" property="ip" />
-        <result column="sys_type" property="sysType" />
-        <result column="method" property="method" />
-        <result column="operation" property="operation" />
-        <result column="params" property="params" />
-        <result column="username" property="username" />
+        <id column="id" property="id"/>
+        <result column="is_deleted" property="isDeleted"/>
+        <result column="gmt_create" property="gmtCreate"/>
+        <result column="gmt_modified" property="gmtModified"/>
+        <result column="creator" property="creator"/>
+        <result column="modifier" property="modifier"/>
+        <result column="ip" property="ip"/>
+        <result column="sys_type" property="sysType"/>
+        <result column="method" property="method"/>
+        <result column="operation" property="operation"/>
+        <result column="params" property="params"/>
+        <result column="username" property="username"/>
     </resultMap>
     </resultMap>
 
 
 </mapper>
 </mapper>

+ 3 - 3
knowledge-service/src/main/java/com/diagbot/KnowledgeServiceApplication.java

@@ -13,10 +13,10 @@ import org.springframework.cloud.netflix.hystrix.EnableHystrix;
 import org.springframework.cloud.netflix.hystrix.dashboard.EnableHystrixDashboard;
 import org.springframework.cloud.netflix.hystrix.dashboard.EnableHystrixDashboard;
 import org.springframework.cloud.openfeign.EnableFeignClients;
 import org.springframework.cloud.openfeign.EnableFeignClients;
 
 
-@SpringBootApplication(exclude = {DataSourceAutoConfiguration.class, HibernateJpaAutoConfiguration.class,
-        JmxAutoConfiguration.class, ThymeleafAutoConfiguration.class})
+@SpringBootApplication(exclude = { DataSourceAutoConfiguration.class, HibernateJpaAutoConfiguration.class,
+        JmxAutoConfiguration.class, ThymeleafAutoConfiguration.class })
 @EnableEurekaClient
 @EnableEurekaClient
-@EnableFeignClients({"com.diagbot.client"})
+@EnableFeignClients({ "com.diagbot.client" })
 @EnableHystrixDashboard
 @EnableHystrixDashboard
 @EnableHystrix
 @EnableHystrix
 @EnableCircuitBreaker
 @EnableCircuitBreaker

+ 6 - 6
knowledge-service/src/main/java/com/diagbot/aop/SysLoggerAspect.java

@@ -42,7 +42,7 @@ public class SysLoggerAspect {
 
 
         SysLog sysLog = new SysLog();
         SysLog sysLog = new SysLog();
         SysLogger sysLogger = method.getAnnotation(SysLogger.class);
         SysLogger sysLogger = method.getAnnotation(SysLogger.class);
-        if(sysLogger != null){
+        if (sysLogger != null) {
             //注解上的描述
             //注解上的描述
             sysLog.setOperation(sysLogger.value());
             sysLog.setOperation(sysLogger.value());
         }
         }
@@ -52,18 +52,18 @@ public class SysLoggerAspect {
         sysLog.setMethod(className + "." + methodName + "()");
         sysLog.setMethod(className + "." + methodName + "()");
         //请求的参数
         //请求的参数
         Object[] args = joinPoint.getArgs();
         Object[] args = joinPoint.getArgs();
-        String params="";
-        for(Object o:args){
-            params+=GsonUtil.toJson(o);
+        String params = "";
+        for (Object o : args) {
+            params += GsonUtil.toJson(o);
         }
         }
-        if(!StringUtil.isEmpty(params)) {
+        if (!StringUtil.isEmpty(params)) {
             sysLog.setParams(params);
             sysLog.setParams(params);
         }
         }
         //设置IP地址
         //设置IP地址
         sysLog.setIp(HttpUtils.getIpAddress());
         sysLog.setIp(HttpUtils.getIpAddress());
         //用户名
         //用户名
         String username = UserUtils.getCurrentPrinciple();
         String username = UserUtils.getCurrentPrinciple();
-        if(!StringUtil.isEmpty(username)) {
+        if (!StringUtil.isEmpty(username)) {
             sysLog.setUsername(username);
             sysLog.setUsername(username);
         }
         }
         sysLog.setGmtCreate(new Date());
         sysLog.setGmtCreate(new Date());

+ 1 - 1
knowledge-service/src/main/java/com/diagbot/client/UserServiceClient.java

@@ -14,7 +14,7 @@ import org.springframework.web.bind.annotation.RequestHeader;
  * @author: gaodm
  * @author: gaodm
  * @time: 2018/8/6 9:52
  * @time: 2018/8/6 9:52
  */
  */
-@FeignClient(value = "user-service",fallback = UserServiceHystrix.class )
+@FeignClient(value = "user-service", fallback = UserServiceHystrix.class)
 public interface UserServiceClient {
 public interface UserServiceClient {
 
 
     @PostMapping(value = "/user/{username}")
     @PostMapping(value = "/user/{username}")

+ 2 - 2
knowledge-service/src/main/java/com/diagbot/config/JwtConfigurer.java

@@ -33,9 +33,9 @@ public class JwtConfigurer {
 
 
     @Bean
     @Bean
     protected JwtAccessTokenConverter jwtTokenEnhancer() {
     protected JwtAccessTokenConverter jwtTokenEnhancer() {
-        JwtAccessTokenConverter converter =  new JwtAccessTokenConverter();
+        JwtAccessTokenConverter converter = new JwtAccessTokenConverter();
         Resource resource = new ClassPathResource("public.cert");
         Resource resource = new ClassPathResource("public.cert");
-        String publicKey ;
+        String publicKey;
         try {
         try {
             publicKey = new String(FileCopyUtils.copyToByteArray(resource.getInputStream()));
             publicKey = new String(FileCopyUtils.copyToByteArray(resource.getInputStream()));
         } catch (IOException e) {
         } catch (IOException e) {

+ 2 - 2
knowledge-service/src/main/java/com/diagbot/config/ResourceServerConfigurer.java

@@ -25,9 +25,9 @@ public class ResourceServerConfigurer extends ResourceServerConfigurerAdapter {
         http
         http
                 .csrf().disable()
                 .csrf().disable()
                 .authorizeRequests()
                 .authorizeRequests()
-                .regexMatchers(".*swagger.*",".*v2.*",".*webjars.*","/druid.*","/actuator.*","/hystrix.*").permitAll()
+                .regexMatchers(".*swagger.*", ".*v2.*", ".*webjars.*", "/druid.*", "/actuator.*", "/hystrix.*").permitAll()
                 .antMatchers("/**").authenticated();
                 .antMatchers("/**").authenticated();
-//        .antMatchers("/**").permitAll();
+        //        .antMatchers("/**").permitAll();
     }
     }
 
 
 
 

+ 3 - 3
knowledge-service/src/main/java/com/diagbot/config/SwaggerConfigurer.java

@@ -25,7 +25,7 @@ import java.util.List;
  * @time: 2018/8/2 14:21
  * @time: 2018/8/2 14:21
  */
  */
 @Configuration
 @Configuration
-@ConditionalOnProperty(prefix = "swagger", value = {"enable"}, havingValue = "true")
+@ConditionalOnProperty(prefix = "swagger", value = { "enable" }, havingValue = "true")
 @EnableSwagger2
 @EnableSwagger2
 public class SwaggerConfigurer {
 public class SwaggerConfigurer {
     /**
     /**
@@ -52,8 +52,8 @@ public class SwaggerConfigurer {
                 .apis(RequestHandlerSelectors.basePackage("com.diagbot.web"))
                 .apis(RequestHandlerSelectors.basePackage("com.diagbot.web"))
                 .paths(PathSelectors.any())
                 .paths(PathSelectors.any())
                 .build().globalOperationParameters(parameter());
                 .build().globalOperationParameters(parameter());
-                //.securitySchemes(newArrayList(oauth()))
-               // .securityContexts(newArrayList(securityContext()));
+        //.securitySchemes(newArrayList(oauth()))
+        // .securityContexts(newArrayList(securityContext()));
     }
     }
 
 
     private ApiInfo apiInfo() {
     private ApiInfo apiInfo() {

+ 2 - 2
knowledge-service/src/main/java/com/diagbot/config/security/UrlAccessDecisionManager.java

@@ -25,7 +25,7 @@ public class UrlAccessDecisionManager implements AccessDecisionManager {
     public void decide(Authentication authentication, Object object, Collection<ConfigAttribute> configAttributes) throws AccessDeniedException, InsufficientAuthenticationException {
     public void decide(Authentication authentication, Object object, Collection<ConfigAttribute> configAttributes) throws AccessDeniedException, InsufficientAuthenticationException {
         HttpServletRequest request = ((FilterInvocation) object).getHttpRequest();
         HttpServletRequest request = ((FilterInvocation) object).getHttpRequest();
         String url, method;
         String url, method;
-        if ("anonymousUser".equals(authentication.getPrincipal())){
+        if ("anonymousUser".equals(authentication.getPrincipal())) {
             if (matchers("/swagger/**", request)
             if (matchers("/swagger/**", request)
                     || matchers("/v2/**", request)
                     || matchers("/v2/**", request)
                     || matchers("/swagger-ui.html/**", request)
                     || matchers("/swagger-ui.html/**", request)
@@ -34,7 +34,7 @@ public class UrlAccessDecisionManager implements AccessDecisionManager {
                     || matchers("/druid/**", request)
                     || matchers("/druid/**", request)
                     || matchers("/actuator/**", request)
                     || matchers("/actuator/**", request)
                     || matchers("/hystrix/**", request)
                     || matchers("/hystrix/**", request)
-                    || matchers("/", request)){
+                    || matchers("/", request)) {
                 return;
                 return;
             } else {
             } else {
                 throw new AccessDeniedException("no right");
                 throw new AccessDeniedException("no right");

+ 13 - 13
knowledge-service/src/main/java/com/diagbot/entity/SysLog.java

@@ -179,18 +179,18 @@ public class SysLog implements Serializable {
     @Override
     @Override
     public String toString() {
     public String toString() {
         return "SysLog{" +
         return "SysLog{" +
-        "id=" + id +
-        ", isDeleted=" + isDeleted +
-        ", gmtCreate=" + gmtCreate +
-        ", gmtModified=" + gmtModified +
-        ", creator=" + creator +
-        ", modifier=" + modifier +
-        ", ip=" + ip +
-        ", sysType=" + sysType +
-        ", method=" + method +
-        ", operation=" + operation +
-        ", params=" + params +
-        ", username=" + username +
-        "}";
+                "id=" + id +
+                ", isDeleted=" + isDeleted +
+                ", gmtCreate=" + gmtCreate +
+                ", gmtModified=" + gmtModified +
+                ", creator=" + creator +
+                ", modifier=" + modifier +
+                ", ip=" + ip +
+                ", sysType=" + sysType +
+                ", method=" + method +
+                ", operation=" + operation +
+                ", params=" + params +
+                ", username=" + username +
+                "}";
     }
     }
 }
 }

+ 9 - 9
knowledge-service/src/main/java/com/diagbot/entity/User.java

@@ -129,14 +129,14 @@ public class User implements Serializable {
     @Override
     @Override
     public String toString() {
     public String toString() {
         return "User{" +
         return "User{" +
-        "id=" + id +
-        ", isDeleted=" + isDeleted +
-        ", gmtCreate=" + gmtCreate +
-        ", gmtModified=" + gmtModified +
-        ", creator=" + creator +
-        ", modifier=" + modifier +
-        ", password=" + password +
-        ", username=" + username +
-        "}";
+                "id=" + id +
+                ", isDeleted=" + isDeleted +
+                ", gmtCreate=" + gmtCreate +
+                ", gmtModified=" + gmtModified +
+                ", creator=" + creator +
+                ", modifier=" + modifier +
+                ", password=" + password +
+                ", username=" + username +
+                "}";
     }
     }
 }
 }

+ 4 - 4
knowledge-service/src/main/java/com/diagbot/exception/CommonExceptionHandler.java

@@ -30,7 +30,7 @@ public class CommonExceptionHandler {
     @ExceptionHandler(Exception.class)
     @ExceptionHandler(Exception.class)
     public ResponseEntity<RespDTO> handleException(Exception e) {
     public ResponseEntity<RespDTO> handleException(Exception e) {
         RespDTO resp = new RespDTO();
         RespDTO resp = new RespDTO();
-        if(e instanceof BindException) {
+        if (e instanceof BindException) {
             BindException ex = (BindException) e;
             BindException ex = (BindException) e;
             Map<String, String> stringMap = new HashMap<>();
             Map<String, String> stringMap = new HashMap<>();
             for (FieldError fieldError : ex.getBindingResult().getFieldErrors()) {
             for (FieldError fieldError : ex.getBindingResult().getFieldErrors()) {
@@ -42,7 +42,7 @@ public class CommonExceptionHandler {
             resp.msg = msg;
             resp.msg = msg;
             return new ResponseEntity(resp, HttpStatus.OK);
             return new ResponseEntity(resp, HttpStatus.OK);
         }
         }
-        if(e instanceof MethodArgumentNotValidException) {
+        if (e instanceof MethodArgumentNotValidException) {
             MethodArgumentNotValidException ex = (MethodArgumentNotValidException) e;
             MethodArgumentNotValidException ex = (MethodArgumentNotValidException) e;
             Map<String, String> stringMap = new HashMap<>();
             Map<String, String> stringMap = new HashMap<>();
             for (FieldError fieldError : ex.getBindingResult().getFieldErrors()) {
             for (FieldError fieldError : ex.getBindingResult().getFieldErrors()) {
@@ -54,7 +54,7 @@ public class CommonExceptionHandler {
             resp.msg = msg;
             resp.msg = msg;
             return new ResponseEntity(resp, HttpStatus.OK);
             return new ResponseEntity(resp, HttpStatus.OK);
         }
         }
-        if(e instanceof MissingServletRequestParameterException) {
+        if (e instanceof MissingServletRequestParameterException) {
             MissingServletRequestParameterException ex = (MissingServletRequestParameterException) e;
             MissingServletRequestParameterException ex = (MissingServletRequestParameterException) e;
             Map<String, String> stringMap = new HashMap<>();
             Map<String, String> stringMap = new HashMap<>();
             stringMap.put(ex.getParameterName(), "不能为null");
             stringMap.put(ex.getParameterName(), "不能为null");
@@ -64,7 +64,7 @@ public class CommonExceptionHandler {
             resp.msg = msg;
             resp.msg = msg;
             return new ResponseEntity(resp, HttpStatus.OK);
             return new ResponseEntity(resp, HttpStatus.OK);
         }
         }
-        if(e instanceof CommonException) {
+        if (e instanceof CommonException) {
             CommonException taiChiException = (CommonException) e;
             CommonException taiChiException = (CommonException) e;
             resp.code = taiChiException.getCode();
             resp.code = taiChiException.getCode();
             resp.msg = e.getMessage();
             resp.msg = e.getMessage();

+ 3 - 3
knowledge-service/src/main/java/com/diagbot/exception/ServiceErrorCode.java

@@ -2,13 +2,13 @@ package com.diagbot.exception;
 
 
 /**
 /**
  * @Description: 本服务错误码
  * @Description: 本服务错误码
- *      系统码(3位) + 等级码(1位) + 4位顺序号
- *      系统码 通用码 000;用户中心 100; 管理中心 200;
+ * 系统码(3位) + 等级码(1位) + 4位顺序号
+ * 系统码 通用码 000;用户中心 100; 管理中心 200;
  * @author: gaodm
  * @author: gaodm
  * @time: 2018/9/10 11:11
  * @time: 2018/9/10 11:11
  */
  */
 public enum ServiceErrorCode implements ErrorCode {
 public enum ServiceErrorCode implements ErrorCode {
-    LOG_IS_NOT_EXIST("90020001","该日志不存在");
+    LOG_IS_NOT_EXIST("90020001", "该日志不存在");
 
 
     private String code;
     private String code;
     private String msg;
     private String msg;

+ 1 - 1
knowledge-service/src/main/java/com/diagbot/mapper/SysLogMapper.java

@@ -5,7 +5,7 @@ import com.diagbot.entity.SysLog;
 
 
 /**
 /**
  * <p>
  * <p>
- *  Mapper 接口
+ * Mapper 接口
  * </p>
  * </p>
  *
  *
  * @author gaodm
  * @author gaodm

+ 2 - 2
knowledge-service/src/main/java/com/diagbot/rabbit/MySender.java

@@ -15,13 +15,13 @@ import org.springframework.stereotype.Component;
  * @time: 2018/8/29 13:41
  * @time: 2018/8/29 13:41
  */
  */
 @Component
 @Component
-@EnableBinding({MyProcessor.class})
+@EnableBinding({ MyProcessor.class })
 public class MySender {
 public class MySender {
     @Autowired
     @Autowired
     @Qualifier("outputLog")
     @Qualifier("outputLog")
     MessageChannel outputLog;
     MessageChannel outputLog;
 
 
-    public void outputLogSend(SysLog sysLog){
+    public void outputLogSend(SysLog sysLog) {
         outputLog.send(MessageBuilder.withPayload(GsonUtil.toJson(sysLog)).build());
         outputLog.send(MessageBuilder.withPayload(GsonUtil.toJson(sysLog)).build());
     }
     }
 }
 }

+ 1 - 1
knowledge-service/src/main/java/com/diagbot/service/SysLogService.java

@@ -5,7 +5,7 @@ import com.diagbot.entity.SysLog;
 
 
 /**
 /**
  * <p>
  * <p>
- *  服务类
+ * 服务类
  * </p>
  * </p>
  *
  *
  * @author gaodm
  * @author gaodm

+ 1 - 1
knowledge-service/src/main/java/com/diagbot/service/impl/SysLogServiceImpl.java

@@ -8,7 +8,7 @@ import org.springframework.stereotype.Service;
 
 
 /**
 /**
  * <p>
  * <p>
- *  服务实现类
+ * 服务实现类
  * </p>
  * </p>
  *
  *
  * @author gaodm
  * @author gaodm

+ 0 - 51
knowledge-service/src/main/java/com/diagbot/util/BeanUtil.java

@@ -1,51 +0,0 @@
-package com.diagbot.util;
-
-
-import org.springframework.beans.BeanUtils;
-
-import java.util.ArrayList;
-import java.util.Collections;
-import java.util.List;
-
-/**
- * @Description: 对象转换工具类
- * @author: gaodm
- * @date: 2017/12/28 10:16
- * @version: V1.0
- */
-public class BeanUtil {
-    /**
-     * 把一个对象的属性值复制给另外一个对象的属性值
-     * @param source 源对象,被转换的对象
-     * @param target 目标对象,即转换后对象
-     */
-    public static void copyProperties(Object source, Object target){
-        BeanUtils.copyProperties(source,target);
-    }
-
-    /**
-     * 复制集合
-     * @param <E>
-     * @param source 转换前的列表
-     * @param destinationClass 转换后列表类
-     * @return 转换后列表
-     */
-    public static <E> List<E> listCopyTo(List<?> source, Class<E> destinationClass){
-        try{
-            if (source.size() == 0){
-                return Collections.emptyList();
-            }
-            List<E> res = new ArrayList<E>(source.size());
-            for (Object o : source) {
-                E e = destinationClass.newInstance();
-                BeanUtils.copyProperties(o, e);
-                res.add(e);
-            }
-            return res;
-        }catch (IllegalAccessException ex){
-            throw new RuntimeException(ex);
-        }catch (InstantiationException ex){
-            throw new RuntimeException(ex);
-        }
-    }
-}

+ 0 - 92
knowledge-service/src/main/java/com/diagbot/util/EntityUtil.java

@@ -1,92 +0,0 @@
-package com.diagbot.util;
-
-import lombok.extern.slf4j.Slf4j;
-
-import java.lang.reflect.Method;
-import java.util.ArrayList;
-import java.util.HashMap;
-import java.util.LinkedHashMap;
-import java.util.List;
-import java.util.Map;
-
-/**
- * @Description: 实体对象工具类
- * @author: gaodm
- * @time: 2018/2/11 10:09
- */
-@Slf4j
-public class EntityUtil {
-
-    /**
-     *
-     * 将list中的元素放到Map<K, V>以建立 key - value 索引<p>
-     *
-     * @param list  List<V> 元素列表
-     * @param keyFieldName String 元素的属性名称, 该属性的值作为索引key
-     * @param <K> key类型
-     * @param <V> value类型
-     * @return Map<K, V> key - value 索引
-     */
-    @SuppressWarnings("unchecked")
-    public static <K, V> Map<K, V> makeEntityMap(List<V> list, String keyFieldName) {
-        Map<K, V> map = new HashMap<>();
-        if(list == null || list.size() == 0) {
-            return map;
-        }
-        try {
-            Method getter = getMethod(list.get(0).getClass(), keyFieldName, "get");
-            for (V item : list) {
-                map.put((K) getter.invoke(item), item);
-            }
-        } catch (Exception e) {
-            log.error("makeEntityMap error list is " + list, e);
-            return map;
-        }
-        return map;
-    }
-
-    /**
-     *
-     * 将list中的元素放到Map<K, List<V>> 以建立 key - List<value> 索引<p>
-     *
-     * @param list  List<V> 元素列表
-     * @param keyFieldName String 元素的属性名称, 该属性的值作为索引key
-     * @param <K> key类型
-     * @param <V> value类型
-     * @return Map<K, V> key - value 索引
-     */
-    public static <K, V> Map<K, List<V>> makeEntityListMap(List<V> list, String keyFieldName) {
-        Map<K, List<V>> map = new LinkedHashMap<>();
-        if(list == null || list.size() == 0) {
-            return map;
-        }
-        try {
-            Method getter = getMethod(list.get(0).getClass(), keyFieldName, "get");
-            for (V item : list) {
-                @SuppressWarnings("unchecked")
-                K key = (K) getter.invoke(item);
-                List<V> groupList = map.get(key);
-                if (groupList == null) {
-                    groupList = new ArrayList<>();
-                    map.put(key, groupList);
-                }
-                groupList.add(item);
-            }
-        } catch (Exception e) {
-            log.error("makeEntityListMap error list is " + list, e);
-            return map;
-        }
-        return map;
-    }
-
-    /**
-     * 获取getter或setter
-     */
-    @SuppressWarnings("unchecked")
-    private static Method getMethod(@SuppressWarnings("rawtypes") Class clazz, String fieldName,
-                                    String methodPrefix) throws NoSuchMethodException {
-        String first = fieldName.substring(0, 1);
-        String getterName = methodPrefix + fieldName.replaceFirst(first, first.toUpperCase());
-        return clazz.getMethod(getterName);
-    }
-}

+ 0 - 97
knowledge-service/src/main/java/com/diagbot/util/HttpUtils.java

@@ -1,97 +0,0 @@
-package com.diagbot.util;
-
-
-import org.springframework.web.context.request.RequestContextHolder;
-import org.springframework.web.context.request.ServletRequestAttributes;
-
-import javax.servlet.http.HttpServletRequest;
-import java.util.Enumeration;
-import java.util.LinkedHashMap;
-import java.util.Map;
-
-/**
- * @Description: http请求功能工具类
- * @author: gaodm
- * @time: 2018/8/3 17:45
- */
-public class HttpUtils {
-
-
-    /**
-     * 尝试获取当前请求的HttpServletRequest实例
-     *
-     * @return HttpServletRequest
-     */
-    public static HttpServletRequest getHttpServletRequest() {
-        try {
-            return ((ServletRequestAttributes) RequestContextHolder.getRequestAttributes()).getRequest();
-        } catch (Exception e) {
-            return null;
-        }
-    }
-
-
-    public static Map<String, String> getHeaders(HttpServletRequest request) {
-        Map<String, String> map = new LinkedHashMap<>();
-        Enumeration<String> enumeration = request.getHeaderNames();
-        while (enumeration.hasMoreElements()) {
-            String key = enumeration.nextElement();
-            String value = request.getHeader(key);
-            map.put(key, value);
-        }
-        return map;
-    }
-
-    /**
-     * 获取请求客户端的真实ip地址
-     *
-     * @param request 请求对象
-     * @return ip地址
-     */
-    public static String getIpAddress(HttpServletRequest request) {
-
-        // 获取请求主机IP地址,如果通过代理进来,则透过防火墙获取真实IP地址
-        String ip = request.getHeader("X-Forwarded-For");
-
-        if (ip == null || ip.length() == 0 || "unknown".equalsIgnoreCase(ip)) {
-            if (ip == null || ip.length() == 0 || "unknown".equalsIgnoreCase(ip)) {
-                ip = request.getHeader("Proxy-Client-IP");
-            }
-            if (ip == null || ip.length() == 0 || "unknown".equalsIgnoreCase(ip)) {
-                ip = request.getHeader("WL-Proxy-Client-IP");
-            }
-            if (ip == null || ip.length() == 0 || "unknown".equalsIgnoreCase(ip)) {
-                ip = request.getHeader("HTTP_CLIENT_IP");
-            }
-            if (ip == null || ip.length() == 0 || "unknown".equalsIgnoreCase(ip)) {
-                ip = request.getHeader("HTTP_X_FORWARDED_FOR");
-            }
-            if (ip == null || ip.length() == 0 || "unknown".equalsIgnoreCase(ip)) {
-                ip = request.getRemoteAddr();
-            }
-        } else if (ip.length() > 15) {
-            String[] ips = ip.split(",");
-            for (int index = 0; index < ips.length; index++) {
-                String strIp = (String) ips[index];
-                if (!("unknown".equalsIgnoreCase(strIp))) {
-                    ip = strIp;
-                    break;
-                }
-            }
-        }
-        return ip;
-    }
-
-    /**
-     * 获取请求客户端的真实ip地址
-     *
-     * @param
-     * @return ip地址
-     */
-    public static String getIpAddress() {
-        // 获取请求主机IP地址,如果通过代理进来,则透过防火墙获取真实IP地址
-        return getIpAddress(getHttpServletRequest());
-    }
-
-
-}

+ 0 - 93
knowledge-service/src/main/java/com/diagbot/util/UserUtils.java

@@ -1,93 +0,0 @@
-package com.diagbot.util;
-
-
-import org.springframework.security.core.Authentication;
-import org.springframework.security.core.authority.SimpleGrantedAuthority;
-import org.springframework.security.core.context.SecurityContextHolder;
-import org.springframework.security.oauth2.provider.authentication.OAuth2AuthenticationDetails;
-
-import java.util.List;
-import java.util.Map;
-
-/**
- * @Description: 用户工具类
- * @author: gaodm
- * @time: 2018/8/3 17:46
- */
-public class UserUtils {
-
-    private static final String AUTHORIZATION = "authorization";
-
-    /**
-     * 获取当前请求的token
-     * @return
-     */
-    public static String getCurrentToken() {
-        return HttpUtils.getHeaders(HttpUtils.getHttpServletRequest()).get(AUTHORIZATION);
-    }
-
-    /**
-     * 获取当前请求的用户名称
-     * @return
-     */
-    public static String getCurrentPrinciple() {
-        return (String) SecurityContextHolder.getContext().getAuthentication().getPrincipal();
-    }
-
-    /**
-     * 获取当前请求的用户ID
-     * @return
-     */
-    public static String getCurrentPrincipleID() {
-        OAuth2AuthenticationDetails oauthDetails = (OAuth2AuthenticationDetails) SecurityContextHolder.getContext().getAuthentication().getDetails();
-        Map<String, Object> details = (Map<String, Object>) oauthDetails.getDecodedDetails();
-        return details.get("user_id").toString();
-    }
-
-    /**
-     * 判读当前token用户是否为接口所需的参数username
-     *
-     * @param username
-     * @return
-     */
-    public static boolean isMyself(String username) {
-        return username.equals(getCurrentPrinciple());
-    }
-
-    /**
-     * 获取当前请求Authentication
-     *
-     * @return
-     */
-    public static Authentication getCurrentAuthentication() {
-        return SecurityContextHolder.getContext().getAuthentication();
-    }
-
-    /**
-     * 获取当前请求的权限信息
-     * @return
-     */
-    public static List<SimpleGrantedAuthority> getCurrentAuthorities() {
-        return (List<SimpleGrantedAuthority>) SecurityContextHolder.getContext().getAuthentication().getAuthorities();
-    }
-
-    /**
-     * @param role
-     * @return
-     */
-    public static boolean hasRole(String role) {
-        if (!role.startsWith("ROLE_")) {
-            role = "ROLE_" + role;
-        }
-        boolean hasRole = false;
-        List<SimpleGrantedAuthority> list = getCurrentAuthorities();
-        for (SimpleGrantedAuthority s : list) {
-            if (role.equals(s.getAuthority())) {
-                hasRole = true;
-                break;
-            }
-        }
-        return hasRole;
-    }
-
-}

+ 2 - 2
knowledge-service/src/main/resources/bootstrap.yml

@@ -3,13 +3,13 @@ spring:
     name: knowledge-service
     name: knowledge-service
   cloud:
   cloud:
     config:
     config:
-#      uri: http://${myuri}:8769
+      #uri: http://${myuri}:8769
       fail-fast: true
       fail-fast: true
       discovery:
       discovery:
         enabled: true
         enabled: true
         serviceId: config-server
         serviceId: config-server
   profiles:
   profiles:
-      active: local
+    active: local
 
 
 eureka:
 eureka:
   client:
   client:

+ 70 - 53
knowledge-service/src/main/resources/logback-spring.xml

@@ -1,19 +1,24 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <?xml version="1.0" encoding="UTF-8"?>
 <configuration>
 <configuration>
     <!-- 项目名称 -->
     <!-- 项目名称 -->
-    <property name="APPDIR" value="knowledge-service" />
+    <property name="APPDIR" value="knowledge-service"/>
     <!--定义日志文件的存储地址 勿在 LogBack 的配置中使用相对路径-->
     <!--定义日志文件的存储地址 勿在 LogBack 的配置中使用相对路径-->
-    <property name="LOG_PATH" value="../logs" />
+    <property name="LOG_PATH" value="../logs"/>
 
 
     <!-- 彩色日志 -->
     <!-- 彩色日志 -->
     <!-- 彩色日志依赖的渲染类 -->
     <!-- 彩色日志依赖的渲染类 -->
-    <conversionRule conversionWord="clr" converterClass="org.springframework.boot.logging.logback.ColorConverter" />
-    <conversionRule conversionWord="wex" converterClass="org.springframework.boot.logging.logback.WhitespaceThrowableProxyConverter" />
-    <conversionRule conversionWord="wEx" converterClass="org.springframework.boot.logging.logback.ExtendedWhitespaceThrowableProxyConverter" />
+    <conversionRule conversionWord="clr"
+                    converterClass="org.springframework.boot.logging.logback.ColorConverter"/>
+    <conversionRule conversionWord="wex"
+                    converterClass="org.springframework.boot.logging.logback.WhitespaceThrowableProxyConverter"/>
+    <conversionRule conversionWord="wEx"
+                    converterClass="org.springframework.boot.logging.logback.ExtendedWhitespaceThrowableProxyConverter"/>
     <!-- 彩色日志格式 -->
     <!-- 彩色日志格式 -->
-    <property name="CONSOLE_LOG_PATTERN" value="${CONSOLE_LOG_PATTERN:-%clr(%d{yyyy-MM-dd HH:mm:ss.SSS}){faint} %clr(${LOG_LEVEL_PATTERN:-%5p}) %clr(${PID:- }){magenta} %clr(---){faint} %clr([%15.15t]){faint} %clr(%logger){cyan} %clr(:){faint} %m%n${LOG_EXCEPTION_CONVERSION_WORD:-%wEx}}" />
+    <property name="CONSOLE_LOG_PATTERN"
+              value="${CONSOLE_LOG_PATTERN:-%clr(%d{yyyy-MM-dd HH:mm:ss.SSS}){faint} %clr(${LOG_LEVEL_PATTERN:-%5p}) %clr(${PID:- }){magenta} %clr(---){faint} %clr([%15.15t]){faint} %clr(%logger){cyan} %clr(:){faint} %m%n${LOG_EXCEPTION_CONVERSION_WORD:-%wEx}}"/>
     <!--包名输出缩进对齐-->
     <!--包名输出缩进对齐-->
-    <property name="CONSOLE_LOG_PATTERN" value="${CONSOLE_LOG_PATTERN:-%clr(%d{yyyy-MM-dd HH:mm:ss.SSS}){faint} %clr(${LOG_LEVEL_PATTERN:-%5p}) %clr(${PID:- }){magenta} %clr(---){faint} %clr([%15.15t]){faint} %clr(%-40.40logger{39}){cyan} %clr(:){faint} %m%n${LOG_EXCEPTION_CONVERSION_WORD:-%wEx}}" />
+    <property name="CONSOLE_LOG_PATTERN"
+              value="${CONSOLE_LOG_PATTERN:-%clr(%d{yyyy-MM-dd HH:mm:ss.SSS}){faint} %clr(${LOG_LEVEL_PATTERN:-%5p}) %clr(${PID:- }){magenta} %clr(---){faint} %clr([%15.15t]){faint} %clr(%-40.40logger{39}){cyan} %clr(:){faint} %m%n${LOG_EXCEPTION_CONVERSION_WORD:-%wEx}}"/>
 
 
     <!--  日志记录器,日期滚动记录
     <!--  日志记录器,日期滚动记录
             ERROR 级别
             ERROR 级别
@@ -26,12 +31,14 @@
             <!-- 归档的日志文件的路径,例如今天是1992-11-06日志,当前写的日志文件路径为file节点指定,
             <!-- 归档的日志文件的路径,例如今天是1992-11-06日志,当前写的日志文件路径为file节点指定,
             可以将此文件与file指定文件路径设置为不同路径,从而将当前日志文件或归档日志文件置不同的目录。
             可以将此文件与file指定文件路径设置为不同路径,从而将当前日志文件或归档日志文件置不同的目录。
             而1992-11-06的日志文件在由fileNamePattern指定。%d{yyyy-MM-dd}指定日期格式,%i指定索引 -->
             而1992-11-06的日志文件在由fileNamePattern指定。%d{yyyy-MM-dd}指定日期格式,%i指定索引 -->
-            <fileNamePattern>${LOG_PATH}/${APPDIR}/error/${APPDIR}-error-%d{yyyy-MM-dd}.%i.log</fileNamePattern>
+            <fileNamePattern>${LOG_PATH}/${APPDIR}/error/${APPDIR}-error-%d{yyyy-MM-dd}.%i.log
+            </fileNamePattern>
             <!--  保留日志天数 -->
             <!--  保留日志天数 -->
             <maxHistory>30</maxHistory>
             <maxHistory>30</maxHistory>
             <!-- 除按日志记录之外,还配置了日志文件不能超过10MB,若超过10MB,日志文件会以索引0开始,
             <!-- 除按日志记录之外,还配置了日志文件不能超过10MB,若超过10MB,日志文件会以索引0开始,
             命名日志文件,例如log-error-1992-11-06.0.log -->
             命名日志文件,例如log-error-1992-11-06.0.log -->
-            <timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">
+            <timeBasedFileNamingAndTriggeringPolicy
+                    class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">
                 <maxFileSize>10MB</maxFileSize>
                 <maxFileSize>10MB</maxFileSize>
             </timeBasedFileNamingAndTriggeringPolicy>
             </timeBasedFileNamingAndTriggeringPolicy>
         </rollingPolicy>
         </rollingPolicy>
@@ -39,7 +46,8 @@
         <append>true</append>
         <append>true</append>
         <!-- 日志文件的格式 -->
         <!-- 日志文件的格式 -->
         <encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder">
         <encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder">
-            <pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} %-5level --- [%thread] %logger Line:%-3L - %msg%n</pattern>
+            <pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} %-5level --- [%thread] %logger Line:%-3L - %msg%n
+            </pattern>
             <charset>utf-8</charset>
             <charset>utf-8</charset>
         </encoder>
         </encoder>
         <!-- 此日志文件记录error级别的 -->
         <!-- 此日志文件记录error级别的 -->
@@ -62,12 +70,14 @@
             <!-- 归档的日志文件的路径,例如今天1992-11-06日志,当前写的日志文件路径为file节点指定,
             <!-- 归档的日志文件的路径,例如今天1992-11-06日志,当前写的日志文件路径为file节点指定,
             可以将此文件与file指定文件路径设置为不同路径,从而将当前日志文件或归档日志文件置不同的目录。
             可以将此文件与file指定文件路径设置为不同路径,从而将当前日志文件或归档日志文件置不同的目录。
             而1992-11-06的日志文件在由fileNamePattern指定。%d{yyyy-MM-dd}指定日期格式,%i指定索引 -->
             而1992-11-06的日志文件在由fileNamePattern指定。%d{yyyy-MM-dd}指定日期格式,%i指定索引 -->
-            <fileNamePattern>${LOG_PATH}/${APPDIR}/warn/${APPDIR}-warn-%d{yyyy-MM-dd}.%i.log</fileNamePattern>
+            <fileNamePattern>${LOG_PATH}/${APPDIR}/warn/${APPDIR}-warn-%d{yyyy-MM-dd}.%i.log
+            </fileNamePattern>
             <!--  保留日志天数 -->
             <!--  保留日志天数 -->
             <maxHistory>15</maxHistory>
             <maxHistory>15</maxHistory>
             <!-- 除按日志记录之外,还配置了日志文件不能超过10MB,若超过10MB,日志文件会以索引0开始,
             <!-- 除按日志记录之外,还配置了日志文件不能超过10MB,若超过10MB,日志文件会以索引0开始,
             命名日志文件,例如log-warn-1992-11-06.0.log -->
             命名日志文件,例如log-warn-1992-11-06.0.log -->
-            <timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">
+            <timeBasedFileNamingAndTriggeringPolicy
+                    class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">
                 <maxFileSize>10MB</maxFileSize>
                 <maxFileSize>10MB</maxFileSize>
             </timeBasedFileNamingAndTriggeringPolicy>
             </timeBasedFileNamingAndTriggeringPolicy>
         </rollingPolicy>
         </rollingPolicy>
@@ -75,7 +85,8 @@
         <append>true</append>
         <append>true</append>
         <!-- 日志文件的格式 -->
         <!-- 日志文件的格式 -->
         <encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder">
         <encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder">
-            <pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} %-5level --- [%thread] %logger Line:%-3L - %msg%n</pattern>
+            <pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} %-5level --- [%thread] %logger Line:%-3L - %msg%n
+            </pattern>
             <charset>utf-8</charset>
             <charset>utf-8</charset>
         </encoder>
         </encoder>
         <!-- 此日志文件只记录warn级别的 -->
         <!-- 此日志文件只记录warn级别的 -->
@@ -98,12 +109,14 @@
             <!-- 归档的日志文件的路径,例如今天是1992-11-06日志,当前写的日志文件路径为file节点指定,
             <!-- 归档的日志文件的路径,例如今天是1992-11-06日志,当前写的日志文件路径为file节点指定,
             可以将此文件与file指定文件路径设置为不同路径,从而将当前日志文件或归档日志文件置不同的目录。
             可以将此文件与file指定文件路径设置为不同路径,从而将当前日志文件或归档日志文件置不同的目录。
             而1992-11-06的日志文件在由fileNamePattern指定。%d{yyyy-MM-dd}指定日期格式,%i指定索引 -->
             而1992-11-06的日志文件在由fileNamePattern指定。%d{yyyy-MM-dd}指定日期格式,%i指定索引 -->
-            <fileNamePattern>${LOG_PATH}/${APPDIR}/info/${APPDIR}-info-%d{yyyy-MM-dd}.%i.log</fileNamePattern>
+            <fileNamePattern>${LOG_PATH}/${APPDIR}/info/${APPDIR}-info-%d{yyyy-MM-dd}.%i.log
+            </fileNamePattern>
             <!--  保留日志天数 -->
             <!--  保留日志天数 -->
             <maxHistory>15</maxHistory>
             <maxHistory>15</maxHistory>
             <!-- 除按日志记录之外,还配置了日志文件不能超过10MB,若超过10MB,日志文件会以索引0开始,
             <!-- 除按日志记录之外,还配置了日志文件不能超过10MB,若超过10MB,日志文件会以索引0开始,
             命名日志文件,例如log-info-1992-11-06.0.log -->
             命名日志文件,例如log-info-1992-11-06.0.log -->
-            <timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">
+            <timeBasedFileNamingAndTriggeringPolicy
+                    class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">
                 <maxFileSize>10MB</maxFileSize>
                 <maxFileSize>10MB</maxFileSize>
             </timeBasedFileNamingAndTriggeringPolicy>
             </timeBasedFileNamingAndTriggeringPolicy>
         </rollingPolicy>
         </rollingPolicy>
@@ -111,7 +124,8 @@
         <append>true</append>
         <append>true</append>
         <!-- 日志文件的格式 -->
         <!-- 日志文件的格式 -->
         <encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder">
         <encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder">
-            <pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} %-5level --- [%thread] %logger Line:%-3L - %msg%n</pattern>
+            <pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} %-5level --- [%thread] %logger Line:%-3L - %msg%n
+            </pattern>
             <charset>utf-8</charset>
             <charset>utf-8</charset>
         </encoder>
         </encoder>
         <!-- 此日志文件只记录info级别的 -->
         <!-- 此日志文件只记录info级别的 -->
@@ -134,12 +148,14 @@
             <!-- 归档的日志文件的路径,例如今天是1992-11-06日志,当前写的日志文件路径为file节点指定,
             <!-- 归档的日志文件的路径,例如今天是1992-11-06日志,当前写的日志文件路径为file节点指定,
             可以将此文件与file指定文件路径设置为不同路径,从而将当前日志文件或归档日志文件置不同的目录。
             可以将此文件与file指定文件路径设置为不同路径,从而将当前日志文件或归档日志文件置不同的目录。
             而1992-11-06的日志文件在由fileNamePattern指定。%d{yyyy-MM-dd}指定日期格式,%i指定索引 -->
             而1992-11-06的日志文件在由fileNamePattern指定。%d{yyyy-MM-dd}指定日期格式,%i指定索引 -->
-            <fileNamePattern>${LOG_PATH}/${APPDIR}/debug/${APPDIR}-debug-%d{yyyy-MM-dd}.%i.log</fileNamePattern>
+            <fileNamePattern>${LOG_PATH}/${APPDIR}/debug/${APPDIR}-debug-%d{yyyy-MM-dd}.%i.log
+            </fileNamePattern>
             <!--  保留日志天数 -->
             <!--  保留日志天数 -->
             <maxHistory>15</maxHistory>
             <maxHistory>15</maxHistory>
             <!-- 除按日志记录之外,还配置了日志文件不能超过10MB,若超过10MB,日志文件会以索引0开始,
             <!-- 除按日志记录之外,还配置了日志文件不能超过10MB,若超过10MB,日志文件会以索引0开始,
             命名日志文件,例如log-debug-1992-11-06.0.log -->
             命名日志文件,例如log-debug-1992-11-06.0.log -->
-            <timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">
+            <timeBasedFileNamingAndTriggeringPolicy
+                    class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">
                 <maxFileSize>10MB</maxFileSize>
                 <maxFileSize>10MB</maxFileSize>
             </timeBasedFileNamingAndTriggeringPolicy>
             </timeBasedFileNamingAndTriggeringPolicy>
         </rollingPolicy>
         </rollingPolicy>
@@ -147,7 +163,8 @@
         <append>true</append>
         <append>true</append>
         <!-- 日志文件的格式 -->
         <!-- 日志文件的格式 -->
         <encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder">
         <encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder">
-            <pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} %-5level --- [%thread] %logger Line:%-3L - %msg%n</pattern>
+            <pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} %-5level --- [%thread] %logger Line:%-3L - %msg%n
+            </pattern>
             <charset>utf-8</charset>
             <charset>utf-8</charset>
         </encoder>
         </encoder>
         <!-- 此日志文件只记录debug级别的 -->
         <!-- 此日志文件只记录debug级别的 -->
@@ -175,31 +192,31 @@
 
 
     <!--&lt;!&ndash;输出到mysql数据库的appender配置     &ndash;&gt;-->
     <!--&lt;!&ndash;输出到mysql数据库的appender配置     &ndash;&gt;-->
     <!--<appender name="db" class="ch.qos.logback.classic.db.DBAppender">-->
     <!--<appender name="db" class="ch.qos.logback.classic.db.DBAppender">-->
-        <!--<connectionSource-->
-                <!--class="ch.qos.logback.core.db.DriverManagerConnectionSource">-->
-            <!--<driverClass>com.mysql.jdbc.Driver</driverClass>-->
-            <!--<url>jdbc:mysql://120.77.222.42:3306/logback_member?characterEncoding=utf8</url>-->
-            <!--<user>root</user>-->
-            <!--<password>a123456789</password>-->
-        <!--</connectionSource>-->
+    <!--<connectionSource-->
+    <!--class="ch.qos.logback.core.db.DriverManagerConnectionSource">-->
+    <!--<driverClass>com.mysql.jdbc.Driver</driverClass>-->
+    <!--<url>jdbc:mysql://120.77.222.42:3306/logback_member?characterEncoding=utf8</url>-->
+    <!--<user>root</user>-->
+    <!--<password>a123456789</password>-->
+    <!--</connectionSource>-->
     <!--</appender>-->
     <!--</appender>-->
 
 
     <!-- FrameworkServlet日志-->
     <!-- FrameworkServlet日志-->
-    <logger name="org.springframework" level="WARN" />
+    <logger name="org.springframework" level="WARN"/>
 
 
     <!-- mybatis日志打印-->
     <!-- mybatis日志打印-->
-    <logger name="org.apache.ibatis" level="DEBUG" />
-    <logger name="java.sql" level="DEBUG" />
+    <logger name="org.apache.ibatis" level="DEBUG"/>
+    <logger name="java.sql" level="DEBUG"/>
 
 
     <!--  项目 mapper 路径
     <!--  项目 mapper 路径
             console控制台显示sql语句:STDOUT.filter.level -> debug级别
             console控制台显示sql语句:STDOUT.filter.level -> debug级别
     -->
     -->
-    <logger name="com.diagbot.mapper" level="DEBUG" />
+    <logger name="com.diagbot.mapper" level="DEBUG"/>
 
 
     <appender name="LOGSTASH" class="net.logstash.logback.appender.LogstashTcpSocketAppender">
     <appender name="LOGSTASH" class="net.logstash.logback.appender.LogstashTcpSocketAppender">
         <destination>192.168.2.236:5044</destination>
         <destination>192.168.2.236:5044</destination>
         <!-- encoder必须配置,有多种可选 -->
         <!-- encoder必须配置,有多种可选 -->
-        <encoder charset="UTF-8" class="net.logstash.logback.encoder.LogstashEncoder" >
+        <encoder charset="UTF-8" class="net.logstash.logback.encoder.LogstashEncoder">
             <customFields>{"appname":"knowledge-service"}</customFields>
             <customFields>{"appname":"knowledge-service"}</customFields>
         </encoder>
         </encoder>
     </appender>
     </appender>
@@ -207,49 +224,49 @@
     <!-- 本地环境下的日志配置 -->
     <!-- 本地环境下的日志配置 -->
     <springProfile name="local">
     <springProfile name="local">
         <root level="INFO">
         <root level="INFO">
-            <appender-ref ref="ERROR" />
-            <appender-ref ref="WARN" />
-            <appender-ref ref="INFO" />
-            <appender-ref ref="DEBUG" />
+            <appender-ref ref="ERROR"/>
+            <appender-ref ref="WARN"/>
+            <appender-ref ref="INFO"/>
+            <appender-ref ref="DEBUG"/>
             <!-- 生产环境将请stdout去掉 -->
             <!-- 生产环境将请stdout去掉 -->
-            <appender-ref ref="STDOUT" />
+            <appender-ref ref="STDOUT"/>
         </root>
         </root>
     </springProfile>
     </springProfile>
 
 
     <!-- 开发环境下的日志配置 -->
     <!-- 开发环境下的日志配置 -->
     <springProfile name="dev">
     <springProfile name="dev">
         <root level="INFO">
         <root level="INFO">
-            <appender-ref ref="ERROR" />
-            <appender-ref ref="WARN" />
-            <appender-ref ref="INFO" />
-            <appender-ref ref="DEBUG" />
+            <appender-ref ref="ERROR"/>
+            <appender-ref ref="WARN"/>
+            <appender-ref ref="INFO"/>
+            <appender-ref ref="DEBUG"/>
             <!-- 生产环境将请stdout去掉 -->
             <!-- 生产环境将请stdout去掉 -->
-            <appender-ref ref="STDOUT" />
-            <appender-ref ref="LOGSTASH" />
+            <appender-ref ref="STDOUT"/>
+            <appender-ref ref="LOGSTASH"/>
         </root>
         </root>
     </springProfile>
     </springProfile>
 
 
     <!-- 测试环境下的日志配置 -->
     <!-- 测试环境下的日志配置 -->
     <springProfile name="test">
     <springProfile name="test">
         <root level="INFO">
         <root level="INFO">
-            <appender-ref ref="ERROR" />
-            <appender-ref ref="WARN" />
-            <appender-ref ref="INFO" />
-            <appender-ref ref="DEBUG" />
+            <appender-ref ref="ERROR"/>
+            <appender-ref ref="WARN"/>
+            <appender-ref ref="INFO"/>
+            <appender-ref ref="DEBUG"/>
             <!-- 生产环境将请stdout去掉 -->
             <!-- 生产环境将请stdout去掉 -->
-            <appender-ref ref="STDOUT" />
-            <appender-ref ref="LOGSTASH" />
+            <appender-ref ref="STDOUT"/>
+            <appender-ref ref="LOGSTASH"/>
         </root>
         </root>
     </springProfile>
     </springProfile>
 
 
     <!-- 生产环境下的日志配置 -->
     <!-- 生产环境下的日志配置 -->
     <springProfile name="prod">
     <springProfile name="prod">
         <root level="INFO">
         <root level="INFO">
-            <appender-ref ref="ERROR" />
-            <appender-ref ref="WARN" />
-            <appender-ref ref="INFO" />
-            <appender-ref ref="DEBUG" />
-            <appender-ref ref="LOGSTASH" />
+            <appender-ref ref="ERROR"/>
+            <appender-ref ref="WARN"/>
+            <appender-ref ref="INFO"/>
+            <appender-ref ref="DEBUG"/>
+            <appender-ref ref="LOGSTASH"/>
         </root>
         </root>
     </springProfile>
     </springProfile>
 </configuration>
 </configuration>

+ 14 - 13
knowledge-service/src/main/resources/mapper/SysLogMapper.xml

@@ -1,21 +1,22 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
+        "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
 <mapper namespace="com.diagbot.mapper.SysLogMapper">
 <mapper namespace="com.diagbot.mapper.SysLogMapper">
 
 
     <!-- 通用查询映射结果 -->
     <!-- 通用查询映射结果 -->
     <resultMap id="BaseResultMap" type="com.diagbot.entity.SysLog">
     <resultMap id="BaseResultMap" type="com.diagbot.entity.SysLog">
-        <id column="id" property="id" />
-        <result column="is_deleted" property="isDeleted" />
-        <result column="gmt_create" property="gmtCreate" />
-        <result column="gmt_modified" property="gmtModified" />
-        <result column="creator" property="creator" />
-        <result column="modifier" property="modifier" />
-        <result column="ip" property="ip" />
-        <result column="sys_type" property="sysType" />
-        <result column="method" property="method" />
-        <result column="operation" property="operation" />
-        <result column="params" property="params" />
-        <result column="username" property="username" />
+        <id column="id" property="id"/>
+        <result column="is_deleted" property="isDeleted"/>
+        <result column="gmt_create" property="gmtCreate"/>
+        <result column="gmt_modified" property="gmtModified"/>
+        <result column="creator" property="creator"/>
+        <result column="modifier" property="modifier"/>
+        <result column="ip" property="ip"/>
+        <result column="sys_type" property="sysType"/>
+        <result column="method" property="method"/>
+        <result column="operation" property="operation"/>
+        <result column="params" property="params"/>
+        <result column="username" property="username"/>
     </resultMap>
     </resultMap>
 
 
 </mapper>
 </mapper>