//package com.gree.mall.miniapp.config;
//
//
//import com.alibaba.fastjson.JSONObject;
//import com.fasterxml.jackson.databind.ObjectMapper;
//import com.gree.mall.miniapp.helper.ResponseHelper;
//import lombok.extern.slf4j.Slf4j;
//import org.springframework.core.MethodParameter;
//import org.springframework.http.MediaType;
//import org.springframework.http.ResponseEntity;
//import org.springframework.http.server.ServerHttpRequest;
//import org.springframework.http.server.ServerHttpResponse;
//import org.springframework.web.bind.annotation.ControllerAdvice;
//import org.springframework.web.servlet.mvc.method.annotation.ResponseBodyAdvice;
//
//import java.text.SimpleDateFormat;
//import java.util.Map;
//
///**
// * 解决小程序不兼容datetime类型，格式化返回值
// * created by lijh
// *  2019-07-13
// *
// */
//@ControllerAdvice
//@Slf4j
//public class RespondeBodyConfig implements ResponseBodyAdvice {
//
//
//    @Override
//    public Object beforeBodyWrite(Object resBody, MethodParameter arg1, MediaType arg2, Class arg3, ServerHttpRequest req,
//                                  ServerHttpResponse res) {
//        //resBody就是controller方法中返回的值，对其进行修改后再return就可以了
//
//        ObjectMapper mapper = new ObjectMapper();
//        SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
//        mapper.setDateFormat(format);
//
//        try {
//            if(resBody instanceof ResponseHelper) {
//                String json = mapper.writeValueAsString(resBody);
//                return JSONObject.parseObject(json, ResponseHelper.class);
//            }
//        } catch (Exception e) {
//            log.error("【全局返回值处理失败】",e);
//        }
//        return resBody;
//    }
//
//    @Override
//    public boolean supports(MethodParameter arg0, Class arg1) {
//        //这里直接返回true,表示对任何handler的responsebody都调用beforeBodyWrite方法
//        return true;
//    }
//
//
//}
