package cn.timer.api.utils; import java.io.Serializable; import java.util.LinkedHashMap; import java.util.List; import org.springframework.data.domain.Page; import org.springframework.stereotype.Service; /** * @Description:Json返回结果集工具类 * @Package:org.jeese.model * @author:wubc * @version:1.0 * @date:2017年10月30日-下午1:51:24 * @Copyright:2017 Inc. All rights reserved. */ @Service("responseResult") public class ResponseResult extends LinkedHashMap<String, Object> implements Serializable { private static final long serialVersionUID = 1L; private static final String CODE_KEY = "code"; private static final String RESULT_KEY = "result"; private static final String MESSAGE_KEY = "message"; private static final String DATA_KEY = "data"; private static final String PAGE_KEY = "page"; private static final String NUMBER_KEY = "number"; private static final String SIZE_KEY = "size"; private static final String TOTALELEMENTS_KEY = "totalelements"; private static final String TOTALPAGES_KEY = "totalpages"; private static final String OFFSET_KEY = "offset"; private static final String MESSAGE_SUCCESS = "操作成功"; private static final String MESSAGE_FAIL = "操作失败"; private static final String MESSAGE_ERROR = "操作错误"; private static final String MESSAGE_UNLOGIN = "会话超时,请重新登录"; private static final String MESSAGE_KICKOUT = "你已被管理员移出公司,请重新登录"; private static final String MESSAGE_PARAMERROR = "参数错误"; private static final String MESSAGE_UNAUTHORIZED = "授权错误"; private static final String MESSAGE_UNAUTHENTICATED = "认证错误"; private static final String MESSAGE_EXCEPTION = "服务器异常"; private static final String STATUS_CODE_SUCCESS = "200"; private static final String STATUS_CODE_FAIL = "201"; private static final String STATUS_CODE_ERROR = "202"; private static final String STATUS_CODE_UNLOGIN = "301"; private static final String STATUS_CODE_KICKOUT = "302"; private static final String STATUS_CODE_UNPARAM = "400"; private static final String STATUS_CODE_UNAUTHORIZED = "401"; private static final String STATUS_CODE_UNAUTHENTICATED = "405"; private static final String STATUS_CODE_EXCEPTION = "500"; public ResponseResult() { put(CODE_KEY, STATUS_CODE_SUCCESS); put(RESULT_KEY, Boolean.TRUE); put(MESSAGE_KEY, MESSAGE_SUCCESS); put(DATA_KEY, null); } /** * 请求成功 * * @return */ public ResponseResult success() { put(CODE_KEY, STATUS_CODE_SUCCESS); put(RESULT_KEY, Boolean.TRUE); put(MESSAGE_KEY, MESSAGE_SUCCESS); put(DATA_KEY, null); return this; } /** * 请求成功,并带消息 * * @param message * @return */ public ResponseResult success(String message) { put(CODE_KEY, STATUS_CODE_SUCCESS); put(RESULT_KEY, Boolean.TRUE); put(MESSAGE_KEY, message); put(DATA_KEY, null); return this; } /** * @param obj * @return */ public ResponseResult successData(List<Object> data) { put(CODE_KEY, STATUS_CODE_SUCCESS); put(RESULT_KEY, Boolean.TRUE); put(MESSAGE_KEY, MESSAGE_SUCCESS); put(DATA_KEY, data); return this; } /** * @param Page * @return */ public ResponseResult successPage(Page<Object> data) { LinkedHashMap<String, Object> datapage = new LinkedHashMap<String, Object>(); datapage.put(NUMBER_KEY, data.getNumber()); datapage.put(SIZE_KEY, data.getSize()); datapage.put(TOTALPAGES_KEY, data.getTotalPages()); datapage.put(TOTALELEMENTS_KEY, data.getTotalElements()); datapage.put(OFFSET_KEY, data.getPageable().getOffset()); put(CODE_KEY, STATUS_CODE_SUCCESS); put(RESULT_KEY, Boolean.TRUE); put(MESSAGE_KEY, MESSAGE_SUCCESS); put(DATA_KEY, data.getContent()); put(PAGE_KEY, datapage); return this; } /** * @param obj * @return */ public ResponseResult successData(Object data) { put(CODE_KEY, STATUS_CODE_SUCCESS); put(RESULT_KEY, Boolean.TRUE); put(MESSAGE_KEY, MESSAGE_SUCCESS); put(DATA_KEY, data); return this; } /** * @param message * @param obj * @return */ public ResponseResult success(String message, Object data) { put(CODE_KEY, STATUS_CODE_SUCCESS); put(RESULT_KEY, Boolean.TRUE); put(MESSAGE_KEY, message); put(DATA_KEY, data); return this; } /** * 校验 * @param count * @return */ public ResponseResult validate(int count) { if (count > 0) { return success(); } else { return error(); } } /** * 失败 * @param message * @return */ public ResponseResult fail() { put(CODE_KEY, STATUS_CODE_FAIL); put(RESULT_KEY, Boolean.FALSE); put(MESSAGE_KEY, MESSAGE_FAIL); put(DATA_KEY, null); return this; } /** * 错误 * * @param message * @return */ public ResponseResult fail(String message) { put(CODE_KEY, STATUS_CODE_FAIL); put(RESULT_KEY, Boolean.FALSE); put(MESSAGE_KEY, message); put(DATA_KEY, null); return this; } /** * 错误 * @param message * @return */ public ResponseResult error() { put(CODE_KEY, STATUS_CODE_ERROR); put(RESULT_KEY, Boolean.FALSE); put(MESSAGE_KEY, MESSAGE_ERROR); put(DATA_KEY, null); return this; } /** * 错误 * * @param message * @return */ public ResponseResult error(String message) { put(CODE_KEY, STATUS_CODE_ERROR); put(RESULT_KEY, Boolean.FALSE); put(MESSAGE_KEY, message); put(DATA_KEY, null); return this; } /** * 参数错误 * * @return */ public ResponseResult unparam() { put(CODE_KEY, STATUS_CODE_UNPARAM); put(RESULT_KEY, Boolean.FALSE); put(MESSAGE_KEY, MESSAGE_PARAMERROR); put(DATA_KEY, null); return this; } /** * 参数错误 * * @return */ public ResponseResult unparam(String message) { put(CODE_KEY, STATUS_CODE_UNPARAM); put(RESULT_KEY, Boolean.FALSE); put(MESSAGE_KEY, message); put(DATA_KEY, null); return this; } /** * 出现异常 * * @param e * @return */ public ResponseResult exception(Exception e) { put(CODE_KEY, STATUS_CODE_EXCEPTION); put(RESULT_KEY, Boolean.FALSE); put(MESSAGE_KEY, MESSAGE_EXCEPTION); put(DATA_KEY, null); return this; } /** * 出现异常 * * @param e * @return */ public ResponseResult exception(String message) { put(CODE_KEY, STATUS_CODE_ERROR); put(RESULT_KEY, Boolean.FALSE); put(MESSAGE_KEY, message); put(DATA_KEY, null); return this; } /** * 登录失效 * @return */ public ResponseResult unlogin() { put(CODE_KEY, STATUS_CODE_UNLOGIN); put(RESULT_KEY, Boolean.FALSE); put(MESSAGE_KEY, MESSAGE_UNLOGIN); put(DATA_KEY, null); return this; } public ResponseResult kickOut() { put(CODE_KEY, STATUS_CODE_KICKOUT); put(RESULT_KEY, Boolean.FALSE); put(MESSAGE_KEY, MESSAGE_KICKOUT); put(DATA_KEY, null); return this; } /** * 授权错误 * @return */ public ResponseResult unauthorized() { put(CODE_KEY, STATUS_CODE_UNAUTHORIZED); put(RESULT_KEY, Boolean.FALSE); put(MESSAGE_KEY, MESSAGE_UNAUTHORIZED); put(DATA_KEY, null); return this; } /** * 认证错误 * @return */ public ResponseResult unauthenticated() { put(CODE_KEY, STATUS_CODE_UNAUTHENTICATED); put(RESULT_KEY, Boolean.FALSE); put(MESSAGE_KEY, MESSAGE_UNAUTHENTICATED); put(DATA_KEY, null); return this; } }