后端通用返回结果类

/**
 * 通用返回对象
 * Created by macro on 2019/4/19.
 */
public class CommonResult<T> {
    private long code;
    private String message;
    private T data;

    protected CommonResult() {
    }

    protected CommonResult(long code, String message, T data) {
        this.code = code;
        this.message = message;
        this.data = data;
    }

    /**
     * 成功返回结果
     *
     * @param data 获取的数据
     */
    public static <T> CommonResult<T> success(T data) {
        return new CommonResult<T>(ResultCode.SUCCESS.getCode(), ResultCode.SUCCESS.getMessage(), data);
    }

    /**
     * 成功返回结果
     *
     * @param data 获取的数据
     * @param  message 提示信息
     */
    public static <T> CommonResult<T> success(T data, String message) {
        return new CommonResult<T>(ResultCode.SUCCESS.getCode(), message, data);
    }

    /**
     * 失败返回结果
     * @param errorCode 错误码
     */
    public static <T> CommonResult<T> failed(IErrorCode errorCode) {
        return new CommonResult<T>(errorCode.getCode(), errorCode.getMessage(), null);
    }

    /**
     * 失败返回结果
     * @param errorCode 错误码
     * @param message 错误信息
     */
    public static <T> CommonResult<T> failed(IErrorCode errorCode,String message) {
        return new CommonResult<T>(errorCode.getCode(), message, null);
    }

    /**
     * 失败返回结果
     * @param message 提示信息
     */
    public static <T> CommonResult<T> failed(String message) {
        return new CommonResult<T>(ResultCode.FAILED.getCode(), message, null);
    }

    /**
     * 失败返回结果
     */
    public static <T> CommonResult<T> failed() {
        return failed(ResultCode.FAILED);
    }

    /**
     * 参数验证失败返回结果
     */
    public static <T> CommonResult<T> validateFailed() {
        return failed(ResultCode.VALIDATE_FAILED);
    }

    /**
     * 参数验证失败返回结果
     * @param message 提示信息
     */
    public static <T> CommonResult<T> validateFailed(String message) {
        return new CommonResult<T>(ResultCode.VALIDATE_FAILED.getCode(), message, null);
    }

    /**
     * 未登录返回结果
     */
    public static <T> CommonResult<T> unauthorized(T data) {
        return new CommonResult<T>(ResultCode.UNAUTHORIZED.getCode(), ResultCode.UNAUTHORIZED.getMessage(), data);
    }

    /**
     * 未授权返回结果
     */
    public static <T> CommonResult<T> forbidden(T data) {
        return new CommonResult<T>(ResultCode.FORBIDDEN.getCode(), ResultCode.FORBIDDEN.getMessage(), data);
    }

    public long getCode() {
        return code;
    }

    public void setCode(long code) {
        this.code = code;
    }

    public String getMessage() {
        return message;
    }

    public void setMessage(String message) {
        this.message = message;
    }

    public T getData() {
        return data;
    }

    public void setData(T data) {
        this.data = data;
    }
}

通用结果处理类

/**
 * 枚举了一些常用API操作码
 * Created by macro on 2019/4/19.
 */
public enum ResultCode implements IErrorCode {
    SUCCESS(200, "操作成功"),
    FAILED(500, "操作失败"),
    VALIDATE_FAILED(404, "参数检验失败"),
    UNAUTHORIZED(401, "暂未登录或session已经过期"),
    FORBIDDEN(403, "没有相关权限"),
    UNKNOWN(99999, "未知异常,请稍后再试!");
    private long code;
    private String message;

    private ResultCode(long code, String message) {
        this.code = code;
        this.message = message;
    }

    public long getCode() {
        return code;
    }

    public String getMessage() {
        return message;
    }
}

异常结果枚举


/**
 * 分页数据封装类
 * Created by macro on 2019/4/19.
 */
public class CommonPage<T> {
    private Integer pageNum;
    private Integer pageSize;
    private Integer totalPage;
    private Long total;
    private List<T> list;

    /**
     * 将MyBatis Plus 分页结果转化为通用结果
     */
    public static <T> CommonPage<T> restPage(Page<T> pageResult) {
        CommonPage<T> result = new CommonPage<>();
        // 当前页
        result.setPageNum(Convert.toInt(pageResult.getCurrent()));
        // 一页多少条数据
        result.setPageSize(Convert.toInt(pageResult.getSize()));
        // 总数据数量
        result.setTotal(pageResult.getTotal());
        // 总页数
        result.setTotalPage(Convert.toInt(pageResult.getTotal()/pageResult.getSize()+1));
        // 当前页数据
        result.setList(pageResult.getRecords());
        return result;
    }



    public Integer getPageNum() {
        return pageNum;
    }

    public void setPageNum(Integer pageNum) {
        this.pageNum = pageNum;
    }

    public Integer getPageSize() {
        return pageSize;
    }

    public void setPageSize(Integer pageSize) {
        this.pageSize = pageSize;
    }

    public Integer getTotalPage() {
        return totalPage;
    }

    public void setTotalPage(Integer totalPage) {
        this.totalPage = totalPage;
    }

    public List<T> getList() {
        return list;
    }

    public void setList(List<T> list) {
        this.list = list;
    }

    public Long getTotal() {
        return total;
    }

    public void setTotal(Long total) {
        this.total = total;
    }
}

MybatisPlus分页转通用结果处理类

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
### 回答1: 要根据后端返回的经纬度数组回放路径轨迹,您需要使用地图API将这些坐标点绘制在地图上,以显示路径的路线。 以下是一个通用的基本步骤,可以帮助您实现这个功能: 1. 选择一个合适的地图API,例如Google Maps、Mapbox、Baidu Maps等,并获取API密钥。 2. 根据您选择的API,按照文档指示,初始化地图对象。 3. 根据后端返回的经纬度数组,使用API提供的功能将这些坐标点添加到地图上。 4. 如果需要,可以设置路径的样式,例如颜色、宽度等。 5. 可选:将地图视角调整为适当的缩放级别,以便用户能够看到整个路径。 6. 将地图对象嵌入到您的页面中,以便用户可以查看路径轨迹。 下面是一个使用Google Maps API V3的示例代码: ```javascript function initMap() { var map = new google.maps.Map(document.getElementById('map'), { zoom: 14, center: {lat: 37.7749, lng: -122.4194} // 设定地图中心 }); var path = []; // 存储路径点的数组 var coordinates = [ // 后端返回的经纬度数组 {lat: 37.7749, lng: -122.4194}, {lat: 37.7742, lng: -122.4186}, {lat: 37.7735, lng: -122.4179}, {lat: 37.7730, lng: -122.4168}, {lat: 37.7725, lng: -122.4158}, {lat: 37.7720, lng: -122.4151}, ]; for (var i = 0; i < coordinates.length; i++) { path.push(new google.maps.LatLng(coordinates[i].lat, coordinates[i].lng)); } var route = new google.maps.Polyline({ path: path, geodesic: true, strokeColor: '#FF0000', strokeOpacity: 1.0, strokeWeight: 2 }); route.setMap(map); } ``` 这段代码将在名为 "map" 的HTML元素中创建一个新的Google地图,并在地图上绘制一个红色的折线,表示一条路径轨迹。您可以将其修改为符合您自己的需求。 ### 回答2: 根据后端返回的经纬度数组回放路径轨迹可以使用地图和定位技术来实现。 首先,我们需要使用地图API来加载地图,常用的地图API包括百度地图、高德地图等。通过API提供的接口,我们可以将地图显示在页面上,并根据返回的经纬度数据来标记路径点。 其次,我们需要使用定位技术来获取用户的当前位置并在地图上标记出来。通过GPS或其他定位技术,我们可以获得用户的当前经纬度坐标,并将其显示在地图上。 然后,我们需要使用返回的经纬度数组来回放路径轨迹。可以通过循环遍历数组中的每一个经纬度坐标点,并通过地图API提供的接口将其标记在地图上。在标记每一个点的同时,我们可以设置一定的延时,以便观察路径的移动。 最后,为了增加用户体验,我们还可以添加一些动画效果来展示路径的回放。可以通过设置动态移动的标记点、改变路径线的颜色等方式,营造出轨迹回放的效果。 根据以上步骤,我们可以实现根据后端返回的经纬度数组回放路径轨迹的功能。用户可以在地图上观察到路径点的标记,并通过动态效果感受到路径的回放过程。这样的功能可以应用于很多场景,比如旅游导航、运动轨迹回放等。 ### 回答3: 根据后端返回的经纬度数组回放路径轨迹,我们可以使用地图相关的API来实现。首先,我们需要获取地图的实例,然后根据传入的经纬度数组来绘制路径轨迹。 我们可以选择使用百度地图、谷歌地图、高德地图等开放平台提供的API。以百度地图为例,具体步骤如下: 1. 首先,我们需要申请百度地图的API密钥。在申请过程中,需要提供相关的开发者信息,包括应用名称、应用描述等。 2. 在前端页面中,引入百度地图的JS文件,并创建一个地图容器,用来展示地图。可以通过指定的DOM元素的id来获取该容器。 3. 在后端返回的经纬度数组中,遍历每个经纬度点,并将其添加到百度地图的经纬度对象中。 4. 创建一个百度地图的点集合(polyline),将上述经纬度对象添加到点集合中。 5. 将点集合添加到地图上,并设置点集合的相关属性,如颜色、线宽等。 6. 最后,调用百度地图的绘制方法,将路径轨迹展示在地图上。 通过上述步骤,我们可以实现根据后端返回的经纬度数组回放路径轨迹。用户可以在地图上看到路径的具体轨迹,并进行放大、缩小、拖拽等操作。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值