Commit 12eecd03 by huangfusuper

【全局结果集处理】增加SpringMvc全局结果集处理

parent c445e626
...@@ -39,6 +39,11 @@ ...@@ -39,6 +39,11 @@
<groupId>io.springfox</groupId> <groupId>io.springfox</groupId>
<artifactId>springfox-swagger-ui</artifactId> <artifactId>springfox-swagger-ui</artifactId>
</dependency> </dependency>
<dependency>
<groupId>com.byit</groupId>
<artifactId>byit-myth-validation</artifactId>
<version>1.0-SNAPSHOT</version>
</dependency>
</dependencies> </dependencies>
......
package com.byit.controller; package com.byit.controller;
import com.alibaba.fastjson.JSON;
import com.byit.conf.MythJobAutoConfigure; import com.byit.conf.MythJobAutoConfigure;
import com.byit.enums.AdminEnums;
import com.byit.job.dto.JobRunResultDto; import com.byit.job.dto.JobRunResultDto;
import com.byit.job.dto.PluginBeanJobInfo; import com.byit.job.dto.PluginBeanJobInfo;
import com.byit.job.exceptions.BusinessException;
import com.byit.job.vo.ResponseResult;
import com.byit.model.JobTask; import com.byit.model.JobTask;
import com.byit.service.JobTaskService; import com.byit.service.JobTaskService;
import com.byit.thread.LogCallbackThread; import com.byit.thread.LogCallbackThread;
import com.byit.util.SourceObj2TargetObjUtil; import com.byit.util.SourceObj2TargetObjUtil;
import com.byit.utils.ValidationUtil;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*; import org.springframework.web.bind.annotation.*;
...@@ -44,6 +49,11 @@ public class JobController { ...@@ -44,6 +49,11 @@ public class JobController {
@GetMapping(value = "getJobTask") @GetMapping(value = "getJobTask")
public List<JobTask> getJobInfo(){ public List<JobTask> getJobInfo(){
ValidationUtil.dataNotNull(null,"不能为null");
return jobTaskService.findJobTaskByTriggerNextTimeLessThanEqual(11); return jobTaskService.findJobTaskByTriggerNextTimeLessThanEqual(11);
} }
@GetMapping("test")
public String test(){
return "ASDSADSADSADSAD";
}
} }
...@@ -70,6 +70,11 @@ ...@@ -70,6 +70,11 @@
<groupId>io.springfox</groupId> <groupId>io.springfox</groupId>
<artifactId>springfox-swagger-ui</artifactId> <artifactId>springfox-swagger-ui</artifactId>
</dependency> </dependency>
<dependency>
<groupId>com.byit</groupId>
<artifactId>byit-myth-validation</artifactId>
<version>1.0-SNAPSHOT</version>
</dependency>
</dependencies> </dependencies>
......
package com.byit.advice; package com.byit.advice;
import com.byit.exception.DataValidationException;
import com.byit.job.enums.IEnum; import com.byit.job.enums.IEnum;
import com.byit.job.exceptions.IException; import com.byit.job.exceptions.IException;
import com.byit.job.vo.ResponseResult; import com.byit.job.vo.ResponseResult;
import com.byit.util.ResponseResultUtil;
import org.springframework.web.bind.annotation.ExceptionHandler; import org.springframework.web.bind.annotation.ExceptionHandler;
import org.springframework.web.bind.annotation.RestControllerAdvice; import org.springframework.web.bind.annotation.RestControllerAdvice;
...@@ -25,8 +25,10 @@ public class ExceptionHandle { ...@@ -25,8 +25,10 @@ public class ExceptionHandle {
e.printStackTrace(); e.printStackTrace();
if(e instanceof IException){ if(e instanceof IException){
return error(e); return error(e);
}else if(e instanceof DataValidationException){
return ResponseResult.error("500",e.getMessage());
} }
return ResponseResultUtil.error("未知错误"); return ResponseResult.error("未知错误");
} }
/** /**
...@@ -37,6 +39,6 @@ public class ExceptionHandle { ...@@ -37,6 +39,6 @@ public class ExceptionHandle {
private ResponseResult error(Exception e){ private ResponseResult error(Exception e){
IException iException = (IException)e; IException iException = (IException)e;
IEnum iEnum = iException.getIEnum(); IEnum iEnum = iException.getIEnum();
return ResponseResultUtil.error(iEnum); return ResponseResult.error(iEnum);
} }
} }
package com.byit.advice;
import com.alibaba.fastjson.JSON;
import com.byit.job.vo.ResponseResult;
import org.springframework.core.MethodParameter;
import org.springframework.http.MediaType;
import org.springframework.http.converter.HttpMessageConverter;
import org.springframework.http.server.ServerHttpRequest;
import org.springframework.http.server.ServerHttpResponse;
import org.springframework.web.bind.annotation.RestControllerAdvice;
import org.springframework.web.servlet.mvc.method.annotation.ResponseBodyAdvice;
/**
* @program: byit-myth-job->ResponseAdvice
* @description: TODO
* @author: huangfu
* @date: 2019/12/25 16:57
**/
@RestControllerAdvice
public class ResponseAdvice implements ResponseBodyAdvice {
@Override
public boolean supports(MethodParameter methodParameter, Class aClass) {
return true;
}
/**
*
* @param res 返回结果
* @param methodParameter 方法参数
* @param mediaType
* @param aClass
* @param serverHttpRequest
* @param serverHttpResponse
* @return
*/
@Override
public Object beforeBodyWrite(Object res, MethodParameter methodParameter, MediaType mediaType, Class aClass, ServerHttpRequest serverHttpRequest, ServerHttpResponse serverHttpResponse) {
if(!(res instanceof ResponseResult)){
return JSON.toJSONString(ResponseResult.ok(res));
}
return res;
}
}
...@@ -11,6 +11,7 @@ import lombok.AllArgsConstructor; ...@@ -11,6 +11,7 @@ import lombok.AllArgsConstructor;
**/ **/
@AllArgsConstructor @AllArgsConstructor
public enum AdminEnums implements IEnum { public enum AdminEnums implements IEnum {
TEST("2132131","滚犊子")
; ;
String code; String code;
String msg; String msg;
......
...@@ -16,7 +16,6 @@ import lombok.NoArgsConstructor; ...@@ -16,7 +16,6 @@ import lombok.NoArgsConstructor;
*/ */
@ApiModel @ApiModel
@Data @Data
@Builder
@AllArgsConstructor @AllArgsConstructor
@NoArgsConstructor @NoArgsConstructor
public class JobTaskRunLog implements Serializable { public class JobTaskRunLog implements Serializable {
......
...@@ -11,6 +11,7 @@ import com.byit.model.JobTaskSchedule; ...@@ -11,6 +11,7 @@ import com.byit.model.JobTaskSchedule;
import com.byit.rpc.remoting.invoker.route.LoadBalance; import com.byit.rpc.remoting.invoker.route.LoadBalance;
import com.byit.rpc.remoting.invoker.route.RpcLoadBalance; import com.byit.rpc.remoting.invoker.route.RpcLoadBalance;
import com.byit.service.impl.JobTaskRunLogServiceImpl; import com.byit.service.impl.JobTaskRunLogServiceImpl;
import com.byit.util.SpringUtil; import com.byit.util.SpringUtil;
import io.netty.util.Timeout; import io.netty.util.Timeout;
import io.netty.util.TimerTask; import io.netty.util.TimerTask;
......
package com.byit.thread; package com.byit.thread;
import com.byit.job.dto.JobRunResultDto; import com.byit.job.dto.JobRunResultDto;
import com.byit.model.JobTaskRunLog;
import com.byit.model.JobTaskRunLogWithBLOBs; import com.byit.model.JobTaskRunLogWithBLOBs;
import com.byit.service.impl.JobTaskRunLogServiceImpl; import com.byit.service.impl.JobTaskRunLogServiceImpl;
import com.byit.util.SpringUtil; import com.byit.util.SpringUtil;
......
package com.byit.util;
import com.byit.job.enums.IEnum;
import com.byit.job.vo.ResponseResult;
/**
* @author huangfu
*/
public class ResponseResultUtil<T> {
/**
* 成功
* @param t
* @param <T>
* @return
*/
public static<T> ResponseResult<T> ok(T t){
ResponseResult<T> tResponseResult = new ResponseResult<>();
tResponseResult.setCode("0000000");
tResponseResult.setMsg("成功");
tResponseResult.setResult(t);
return tResponseResult;
}
/**
* 错误
* @param iEnum
* @param <T>
* @return
*/
public static<T> ResponseResult<T> error(IEnum iEnum){
ResponseResult<T> tResponseResult = new ResponseResult<>();
tResponseResult.setCode(iEnum.getCode());
tResponseResult.setMsg(iEnum.getMsg());
return tResponseResult;
}
/**
* 错误
* @param msg
* @param <T>
* @return
*/
public static<T> ResponseResult<T> error(String msg){
ResponseResult<T> tResponseResult = new ResponseResult<>();
tResponseResult.setMsg(msg);
return tResponseResult;
}
}
package com.byit.job.vo; package com.byit.job.vo;
import com.byit.job.enums.IEnum;
import lombok.AllArgsConstructor; import lombok.AllArgsConstructor;
import lombok.Builder; import lombok.Builder;
import lombok.Data; import lombok.Data;
...@@ -18,4 +19,69 @@ public class ResponseResult<T> { ...@@ -18,4 +19,69 @@ public class ResponseResult<T> {
private String code; private String code;
private T result; private T result;
private String msg; private String msg;
private Long timeCost;
/**
* 成功
* @param t
* @param <T>
* @return
*/
public static<T> ResponseResult<T> ok(T t){
ResponseResult<T> tResponseResult = new ResponseResult<>();
tResponseResult.setCode("0000000");
tResponseResult.setMsg("成功");
tResponseResult.setResult(t);
return tResponseResult;
}
/**
* 成功
* @param <T>
* @return
*/
public static<T> ResponseResult<T> ok(){
ResponseResult<T> tResponseResult = new ResponseResult<>();
tResponseResult.setCode("0000000");
tResponseResult.setMsg("成功");
return tResponseResult;
}
/**
* 错误
* @param iEnum
* @param <T>
* @return
*/
public static<T> ResponseResult<T> error(IEnum iEnum){
ResponseResult<T> tResponseResult = new ResponseResult<>();
tResponseResult.setCode(iEnum.getCode());
tResponseResult.setMsg(iEnum.getMsg());
return tResponseResult;
}
/**
* 错误
* @param msg
* @param <T>
* @return
*/
public static<T> ResponseResult<T> error(String msg){
ResponseResult<T> tResponseResult = new ResponseResult<>();
tResponseResult.setMsg(msg);
tResponseResult.setCode("00000500");
return tResponseResult;
}
/**
* 错误
* @param msg
* @param <T>
* @return
*/
public static<T> ResponseResult<T> error(String code,String msg){
ResponseResult<T> tResponseResult = new ResponseResult<>();
tResponseResult.setMsg(msg);
tResponseResult.setCode(code);
return tResponseResult;
}
} }
\ No newline at end of file
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment