package com.engine.salary.util; import com.alibaba.fastjson.JSONObject; import com.alibaba.fastjson.serializer.SerializerFeature; import com.engine.salary.exception.SalaryRunTimeException; import weaver.general.BaseBean; import java.util.HashMap; import java.util.Map; import java.util.function.Function; public class ResponseResult extends HashMap { private static final long serialVersionUID = 1L; /** * 统一返回方法 */ public static String run(Function,Map> f,Map m) { try { return Ok(f.apply(m)); } catch (SalaryRunTimeException e) { return Error(e.getMessage()); } catch (Exception e) { BaseBean b = new BaseBean(); b.writeLog(e); return Error(e.getMessage()); } } /** * 成功返回 */ private static String Ok(Map map) { Map apidatas = new HashMap<>(); apidatas.put("status", true); apidatas.put("data",map); return JSONObject.toJSONString(apidatas, SerializerFeature.DisableCircularReferenceDetect); } /** * 失败返回 */ private static String Error(String message) { Map apidatas = new HashMap<>(); apidatas.put("status", false); apidatas.put("errormsg", message); return JSONObject.toJSONString(apidatas, SerializerFeature.DisableCircularReferenceDetect); } }