// Path: dingding-app-server-utils/src/main/java/com/mocoder/dingding/utils/web/JsonUtil.java
// public class JsonUtil {
// 
//     /**
//      * 将对象按照json字符串格式输出
//      *
//      * @param obj javabean对象实例
//      * @return json字符串
//      * @throws IOException
//      */
//     public static String toString(Object obj) throws IOException {
//         if(obj==null){
//             return null;
//         }
//         ObjectMapper mapper = new ObjectMapper();
//         mapper.setSerializationInclusion(JsonSerialize.Inclusion.NON_NULL);
//         return mapper.writeValueAsString(obj);
//     }
// 
//     /**
//      * 解析json字符串格式到javabean对象
//      *
//      * @param json json字符串
//      * @param type 类型包装类，new新实力请带上泛型
//      * @param <T>  目标对象类型
//      * @return 目标对象实例
//      * @throws IOException
//      */
//     public static <T> T toObject(String json, TypeRef<T> type) throws IOException {
//         ObjectMapper mapper = new ObjectMapper();
//         return mapper.readValue(json, type);
//     }
// 
//     /**
//      * 解析json字符串格式到javabean对象
//      *
//      * @param json json字符串
//      * @param claz 目标类型，不支持泛型
//      * @param <T>  目标对象类型
//      * @return 目标对象实例
//      * @throws IOException
//      */
//     public static <T> T toObject(String json, Class<T> claz) throws IOException {
//         ObjectMapper mapper = new ObjectMapper();
//         return mapper.readValue(json, claz);
//     }
// }


import com.mocoder.dingding.utils.web.JsonUtil;
import org.springframework.cache.interceptor.DefaultKeyGenerator;
import org.springframework.cache.interceptor.KeyGenerator;
import java.io.IOException;
import java.lang.reflect.Method;
package com.mocoder.dingding.web.util;



/**
 * Created by yangshuai on 16/1/30.
 */
public class CacheKeyGenerator implements KeyGenerator {
    @Override
    public Object generate(Object target, Method method, Object... params) {
        try {
            StringBuilder sb = new StringBuilder(target.getClass().getName()).append('.')
// Path: dingding-app-server-utils/src/main/java/com/mocoder/dingding/utils/web/JsonUtil.java
// public class JsonUtil {
// 
//     /**
//      * 将对象按照json字符串格式输出
//      *
//      * @param obj javabean对象实例
//      * @return json字符串
//      * @throws IOException
//      */
//     public static String toString(Object obj) throws IOException {
//         if(obj==null){
//             return null;
//         }
//         ObjectMapper mapper = new ObjectMapper();
//         mapper.setSerializationInclusion(JsonSerialize.Inclusion.NON_NULL);
//         return mapper.writeValueAsString(obj);
//     }
// 
//     /**
//      * 解析json字符串格式到javabean对象
//      *
//      * @param json json字符串
//      * @param type 类型包装类，new新实力请带上泛型
//      * @param <T>  目标对象类型
//      * @return 目标对象实例
//      * @throws IOException
//      */
//     public static <T> T toObject(String json, TypeRef<T> type) throws IOException {
//         ObjectMapper mapper = new ObjectMapper();
//         return mapper.readValue(json, type);
//     }
// 
//     /**
//      * 解析json字符串格式到javabean对象
//      *
//      * @param json json字符串
//      * @param claz 目标类型，不支持泛型
//      * @param <T>  目标对象类型
//      * @return 目标对象实例
//      * @throws IOException
//      */
//     public static <T> T toObject(String json, Class<T> claz) throws IOException {
//         ObjectMapper mapper = new ObjectMapper();
//         return mapper.readValue(json, claz);
//     }
// }


// Path: dingding-app-server-web/src/main/java/com/mocoder/dingding/web/util/CacheKeyGenerator.java
import com.mocoder.dingding.utils.web.JsonUtil;
import org.springframework.cache.interceptor.DefaultKeyGenerator;
import org.springframework.cache.interceptor.KeyGenerator;
import java.io.IOException;
import java.lang.reflect.Method;

package com.mocoder.dingding.web.util;



/**
 * Created by yangshuai on 16/1/30.
 */
public class CacheKeyGenerator implements KeyGenerator {
    @Override
    public Object generate(Object target, Method method, Object... params) {
        try {
            StringBuilder sb = new StringBuilder(target.getClass().getName()).append('.')
                    .append(method.getName()).append('(').append(JsonUtil.toString(params))