Преглед изворни кода

公共方法,异常处理类

Progr1mmer пре 6 година
родитељ
комит
7f70986775

+ 27 - 27
common/common-web/src/main/java/com/yihu/jw/web/endpoint/EnvelopRestEndpoint.java

@ -1,9 +1,9 @@
package com.yihu.jw.web.endpoint;
import com.fasterxml.jackson.databind.ObjectMapper;
import com.yihu.jw.web.model.BaseEnvelop;
import com.yihu.jw.web.model.Envelop;
import com.yihu.jw.web.model.ListEnvelop;
import com.yihu.jw.web.model.MultiEnvelop;
import com.yihu.jw.web.model.MixEnvelop;
import com.yihu.jw.web.model.ObjEnvelop;
import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
@ -22,15 +22,15 @@ public abstract class EnvelopRestEndpoint {
    @Autowired
    protected ObjectMapper objectMapper;
    protected BaseEnvelop success(String message) {
    protected Envelop success(String message) {
        return success(message, 200);
    }
    protected BaseEnvelop success(String message, int status) {
        BaseEnvelop baseEnvelop = new BaseEnvelop();
        baseEnvelop.setMessage(message);
        baseEnvelop.setStatus(status);
        return baseEnvelop;
    protected Envelop success(String message, int status) {
        Envelop envelop = new Envelop();
        envelop.setMessage(message);
        envelop.setStatus(status);
        return envelop;
    }
    protected <J> ObjEnvelop<J> success(J obj){
@ -65,41 +65,41 @@ public abstract class EnvelopRestEndpoint {
        return listEnvelop;
    }
    protected <T> MultiEnvelop success(List<T> detailModelList, int totalCount, int currPage, int rows) {
    protected <T> MixEnvelop success(List<T> detailModelList, int totalCount, int currPage, int rows) {
        return success(detailModelList, "success", 200, totalCount, currPage, rows);
    }
    protected <T> MultiEnvelop success(List<T> detailModelList, String message, int totalCount, int currPage, int rows) {
    protected <T> MixEnvelop success(List<T> detailModelList, String message, int totalCount, int currPage, int rows) {
        return success(detailModelList, message, 200, totalCount, currPage, rows);
    }
    protected <T> MultiEnvelop success(List<T> detailModelList, String message, int status, int totalCount, int currPage, int rows) {
    protected <T> MixEnvelop success(List<T> detailModelList, String message, int status, int totalCount, int currPage, int rows) {
        return success(detailModelList, null, message, status, totalCount, currPage, rows);
    }
    protected <T, J> MultiEnvelop success(List<T> detailModelList, J obj, String message, int status, int totalCount, int currPage, int rows) {
        MultiEnvelop multiEnvelop = new MultiEnvelop();
        multiEnvelop.setMessage(message);
        multiEnvelop.setStatus(status);
        multiEnvelop.setDetailModelList(detailModelList);
        multiEnvelop.setObj(obj);
        multiEnvelop.setTotalCount(totalCount);
        multiEnvelop.setCurrPage(currPage);
        multiEnvelop.setPageSize(rows);
    protected <T, J> MixEnvelop success(List<T> detailModelList, J obj, String message, int status, int totalCount, int currPage, int rows) {
        MixEnvelop<T, J> mixEnvelop = new MixEnvelop();
        mixEnvelop.setMessage(message);
        mixEnvelop.setStatus(status);
        mixEnvelop.setDetailModelList(detailModelList);
        mixEnvelop.setObj(obj);
        mixEnvelop.setTotalCount(totalCount);
        mixEnvelop.setCurrPage(currPage);
        mixEnvelop.setPageSize(rows);
        if (totalCount % rows > 0) {
            multiEnvelop.setTotalPage((totalCount / rows) + 1);
            mixEnvelop.setTotalPage((totalCount / rows) + 1);
        } else {
            multiEnvelop.setTotalPage(totalCount / rows);
            mixEnvelop.setTotalPage(totalCount / rows);
        }
        return multiEnvelop;
        return mixEnvelop;
    }
    public <T> T toEntity(String json, Class<T> target) throws IOException {
    protected <T> T toEntity(String json, Class<T> target) throws IOException {
        T entity = objectMapper.readValue(json, target);
        return entity;
    }
    public <T> T convertToModel(Object source, Class<T> target, String... properties) {
    protected <T> T convertToModel(Object source, Class<T> target, String... properties) {
        if (source == null) {
            return null;
        }
@ -108,7 +108,7 @@ public abstract class EnvelopRestEndpoint {
        return _target;
    }
    public <T> List<T> convertToModels(Collection sources, List<T> targets, Class<T> target){
    protected <T> List<T> convertToModels(Collection sources, List<T> targets, Class<T> target){
        if (null == sources) {
            return null;
        }
@ -120,7 +120,7 @@ public abstract class EnvelopRestEndpoint {
        return targets;
    }
    public <T> List<T> convertToModels(Collection sources, List<T> targets, Class<T> target, String properties) {
    protected <T> List<T> convertToModels(Collection sources, List<T> targets, Class<T> target, String properties) {
        if (null == sources) {
            return null;
        }

+ 3 - 3
common/common-web/src/main/java/com/yihu/jw/web/handler/GlobalExceptionHandler.java

@ -1,7 +1,7 @@
package com.yihu.jw.web.handler;
import com.yihu.jw.web.exception.ApiException;
import com.yihu.jw.web.model.BaseEnvelop;
import com.yihu.jw.web.model.Envelop;
import feign.FeignException;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@ -31,8 +31,8 @@ public class GlobalExceptionHandler {
    @ExceptionHandler
    @ResponseBody
    public BaseEnvelop handle(HttpServletResponse response, Exception e) throws IOException {
        BaseEnvelop envelop = new BaseEnvelop();
    public Envelop handle(HttpServletResponse response, Exception e) throws IOException {
        Envelop envelop = new Envelop();
        if (e instanceof NoHandlerFoundException) {
            //response.setStatus(HttpStatus.NOT_FOUND.value());
            envelop.setStatus(HttpStatus.NOT_FOUND.value());

+ 1 - 1
common/common-web/src/main/java/com/yihu/jw/web/model/BaseEnvelop.java

@ -11,7 +11,7 @@ import java.io.Serializable;
 */
@JsonInclude(JsonInclude.Include.ALWAYS)
@ApiModel(description = "基础实体")
public class BaseEnvelop implements Serializable {
public class Envelop implements Serializable {
    @ApiModelProperty("信息")
    protected String message;

+ 1 - 1
common/common-web/src/main/java/com/yihu/jw/web/model/ListEnvelop.java

@ -5,7 +5,7 @@ import java.util.List;
/**
 * Created by progr1mmer on 2018/8/15.
 */
public class ListEnvelop<T> extends BaseEnvelop {
public class ListEnvelop<T> extends Envelop {
    private List<T> detailModelList;

+ 1 - 1
common/common-web/src/main/java/com/yihu/jw/web/model/MultiEnvelop.java

@ -23,7 +23,7 @@ import java.util.List;
 */
@JsonInclude(JsonInclude.Include.ALWAYS)
@ApiModel(value = "ListResult", description = "通用的实体")
public class MultiEnvelop<T, J> extends BaseEnvelop implements Serializable {
public class MixEnvelop<T, J> extends Envelop {
    private static final long serialVersionUID = 2076324875575488461L;
    @ApiModelProperty("每页大小 默认10")

+ 4 - 4
common/common-web/src/main/java/com/yihu/jw/web/model/ObjEnvelop.java

@ -3,15 +3,15 @@ package com.yihu.jw.web.model;
/**
 * Created by progr1mmer on 2018/8/15.
 */
public class ObjEnvelop<T> extends BaseEnvelop {
public class ObjEnvelop<J> extends Envelop {
    private T obj;
    private J obj;
    public T getObj() {
    public J getObj() {
        return obj;
    }
    public void setObj(T obj) {
    public void setObj(J obj) {
        this.obj = obj;
    }
}

+ 10 - 11
svr/svr-base/src/main/java/com/yihu/jw/base/saas/controller/SaasController.java

@ -3,9 +3,8 @@ package com.yihu.jw.base.saas.controller;
import com.yihu.jw.entity.base.saas.SaasDO;
import com.yihu.jw.base.saas.service.SaasService;
import com.yihu.jw.exception.ApiException;
import com.yihu.jw.restmodel.common.Envelop;
import com.yihu.jw.web.endpoint.EnvelopRestEndpoint;
import com.yihu.jw.web.model.BaseEnvelop;
import com.yihu.jw.web.model.Envelop;
import com.yihu.jw.rm.base.BaseRequestMapping;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
@ -29,7 +28,7 @@ public class SaasController extends EnvelopRestEndpoint {
    @PostMapping(value = BaseRequestMapping.Saas.api_create, consumes = MediaType.APPLICATION_JSON_UTF8_VALUE)
    @ApiOperation(value = "创建Saas配置", notes = "创建单个Saas配置")
    public BaseEnvelop create (
    public Envelop create (
            @ApiParam(name = "json_data", value = "Json数据")
            @RequestBody String jsonData) throws Exception {
        SaasDO saas = toEntity(jsonData, SaasDO.class);
@ -52,27 +51,27 @@ public class SaasController extends EnvelopRestEndpoint {
    @DeleteMapping(value = BaseRequestMapping.Saas.api_delete, consumes = MediaType.APPLICATION_JSON_UTF8_VALUE)
    @ApiOperation(value = "删除Saas配置", notes = "删除Saas配置")
    public Envelop deleteSaas(
    public com.yihu.jw.restmodel.common.Envelop deleteSaas(
            @ApiParam(name = "id", value = "id")
            @RequestParam(value = "id", required = true) String id) {
        try {
            saasService.deleteSaas(id);
            return Envelop.getSuccess(BaseRequestMapping.Saas.message_success_delete);
            return com.yihu.jw.restmodel.common.Envelop.getSuccess(BaseRequestMapping.Saas.message_success_delete);
        } catch (ApiException e) {
            return Envelop.getError(e.getMessage(), e.getErrorCode());
            return com.yihu.jw.restmodel.common.Envelop.getError(e.getMessage(), e.getErrorCode());
        }
    }
    @GetMapping(value = BaseRequestMapping.Saas.api_getById, consumes = MediaType.APPLICATION_JSON_UTF8_VALUE)
    @ApiOperation(value = "根据code查找Saas配置", notes = "根据code查找Saas配置")
    public Envelop findByCode(
    public com.yihu.jw.restmodel.common.Envelop findByCode(
            @ApiParam(name = "id", value = "id")
            @RequestParam(value = "id", required = true) String id
    ) {
        try {
            return Envelop.getSuccess(BaseRequestMapping.Saas.message_success_find, saasService.findById(id));
            return com.yihu.jw.restmodel.common.Envelop.getSuccess(BaseRequestMapping.Saas.message_success_find, saasService.findById(id));
        } catch (ApiException e) {
            return Envelop.getError(e.getMessage(), e.getErrorCode());
            return com.yihu.jw.restmodel.common.Envelop.getError(e.getMessage(), e.getErrorCode());
        }
    }
@ -108,7 +107,7 @@ public class SaasController extends EnvelopRestEndpoint {
    @GetMapping(value = BaseRequestMapping.Saas.api_getSaassNoPage)
    @ApiOperation(value = "获取Saas配置列表,不分页")
    public Envelop getAppsNoPage(
    public com.yihu.jw.restmodel.common.Envelop getAppsNoPage(
            @ApiParam(name = "fields", value = "返回的字段,为空返回全部字段", defaultValue = "code,name,id,remark")
            @RequestParam(value = "fields", required = false) String fields,
            @ApiParam(name = "filters", value = "过滤器,为空检索所有条件")
@ -119,6 +118,6 @@ public class SaasController extends EnvelopRestEndpoint {
        List<SaasDO> list = saasService.search(filters, sorts);
        //封装返回格式
        List<SaasDO> mSaass = convertToModels(list, new ArrayList<>(list.size()), SaasDO.class, fields);
        return Envelop.getSuccessList(BaseRequestMapping.Saas.message_success_find_saass, mSaass);
        return com.yihu.jw.restmodel.common.Envelop.getSuccessList(BaseRequestMapping.Saas.message_success_find_saass, mSaass);
    }
}