// Path: dingding-app-server-model/src/main/java/com/mocoder/dingding/vo/CommonResponse.java
// public class CommonResponse<T> implements Serializable {
//     private String code;
//     private String msg;
//     private T data;
// 
// 
//     public String getCode() {
//         return code;
//     }
// 
//     public void setCode(String code) {
//         this.code = code;
//     }
// 
//     public String getMsg() {
//         return msg;
//     }
// 
//     public void setMsg(String msg) {
//         this.msg = msg;
//     }
// 
//     public void resolveErrorInfo(ErrorTypeEnum errorType) {
//         this.code=String.valueOf(errorType.getCode());
//         this.msg =errorType.getUiMsg();
//     }
// 
//     public T getData() {
//         return data;
//     }
// 
//     public void setData(T data) {
//         this.data = data;
//     }
// }


import com.mocoder.dingding.vo.CommonResponse;
import org.apache.commons.beanutils.BeanUtils;
import org.apache.commons.lang.StringUtils;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.io.PrintWriter;
import java.util.Enumeration;
import java.util.Map;

    /**
     * 手否简单类型（字符串、基本类型以及其包装类型）
     *
     * @param obj 要判断的对象实例
     * @return 是否简单类型
     */
    public static boolean isSimpleType(Object obj) {
        Class claz = obj.getClass();
        if (claz.isPrimitive()) {//基本类型
            return true;
        }
        try {
            if (((Class) claz.getField("TYPE").get(null)).isPrimitive()) {//包装基本类型
                return true;
            }
        } catch (Exception e) {
        }
        if (claz == String.class) {
            return true;
        }
        return false;
    }

    /**
     * 写出返回结果到response
     * @param response
     * @param result
     * @throws IOException
     */
// Path: dingding-app-server-model/src/main/java/com/mocoder/dingding/vo/CommonResponse.java
// public class CommonResponse<T> implements Serializable {
//     private String code;
//     private String msg;
//     private T data;
// 
// 
//     public String getCode() {
//         return code;
//     }
// 
//     public void setCode(String code) {
//         this.code = code;
//     }
// 
//     public String getMsg() {
//         return msg;
//     }
// 
//     public void setMsg(String msg) {
//         this.msg = msg;
//     }
// 
//     public void resolveErrorInfo(ErrorTypeEnum errorType) {
//         this.code=String.valueOf(errorType.getCode());
//         this.msg =errorType.getUiMsg();
//     }
// 
//     public T getData() {
//         return data;
//     }
// 
//     public void setData(T data) {
//         this.data = data;
//     }
// }


// Path: dingding-app-server-utils/src/main/java/com/mocoder/dingding/utils/web/WebUtil.java
import com.mocoder.dingding.vo.CommonResponse;
import org.apache.commons.beanutils.BeanUtils;
import org.apache.commons.lang.StringUtils;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.io.PrintWriter;
import java.util.Enumeration;
import java.util.Map;


    /**
     * 手否简单类型（字符串、基本类型以及其包装类型）
     *
     * @param obj 要判断的对象实例
     * @return 是否简单类型
     */
    public static boolean isSimpleType(Object obj) {
        Class claz = obj.getClass();
        if (claz.isPrimitive()) {//基本类型
            return true;
        }
        try {
            if (((Class) claz.getField("TYPE").get(null)).isPrimitive()) {//包装基本类型
                return true;
            }
        } catch (Exception e) {
        }
        if (claz == String.class) {
            return true;
        }
        return false;
    }

    /**
     * 写出返回结果到response
     * @param response
     * @param result
     * @throws IOException
     */
    public static void writeResponse(HttpServletResponse response, CommonResponse result) throws IOException {