ResultUtils.java 2.65 KB
package com.sincre.springboot.utils;


import com.sincre.springboot.ApiModel.TuYaResResult;
import com.sincre.springboot.ApiModel.YinShiResResult;
import com.sincre.springboot.common.ResponseCode;
import com.sincre.springboot.common.ServerResponse;

/**
 * 结果返回工具类
 * 成功的code统一为 200,其他的根据接口返回的code返回给客户端
 */
public class ResultUtils {

    private static ResultUtils resultUtils;

    public ResultUtils() {

    }

    public static ResultUtils getInstance() {
        if (null == resultUtils) {
            synchronized (ResultUtils.class) {
                if (null == resultUtils) resultUtils = new ResultUtils();
            }
        }
        return resultUtils;
    }


    /**
     * 萤石统一结果回调
     * @param yinShiResResult 萤石接口返回对象的字符串
     * @return 返回的data可以是对象或者集合,都以字符串形式返回
     */
    public ServerResponse returnResultYingshi(YinShiResResult yinShiResResult) {

        try {
            int code = yinShiResResult.getCode();

            if (code == 200) {
                String total = null;
                if (yinShiResResult.getPage() != null) {
                    total = yinShiResResult.getPage().getTotal().toString();
                }
                return ServerResponse.createBySuccess(total, ResponseCode.SUCCESS.getDesc(), yinShiResResult.getData());
            } else {
                if (code == 10002) {//accessToken过期或异常
                    CacheHelper.GetYinShiToken();
                    try {
                        Thread.sleep(1000);
                    } catch (InterruptedException e) {
                        e.printStackTrace();
                    }
                }
                return ServerResponse.createByErrorCodeMessage(code, yinShiResResult.getMsg());
            }
        }
        catch (Exception ex){
            return  ServerResponse.createByErrorMessage("服务器内部处理出错!");
        }
    }

    /**
     * 涂鸦云返回结果
     * @param
     * @return
     */
    public ServerResponse returnResultTuYa(TuYaResResult tuYaResResult) {
        try {
            boolean success = tuYaResResult.getSuccess();

            if (success) {

                return ServerResponse.createBySuccess(ResponseCode.SUCCESS.getDesc(), tuYaResResult.getResult());
            }

            int code = Integer.valueOf(tuYaResResult.getCode());
            return ServerResponse.createByErrorCodeMessage(code, tuYaResResult.getMsg());
        }
        catch (Exception ex){
            return  ServerResponse.createByErrorMessage("服务器内部处理出错!");
        }
    }

}