All Downloads are FREE. Search and download functionalities are using the official Maven repository.

com.hn.pay.wxpay.domain.BaseModel Maven / Gradle / Ivy

There is a newer version: 1.0.18
Show newest version
/**
 * 

IJPay 让支付触手可及,封装了微信支付、支付宝支付、银联支付常用的支付方式以及各种常用的接口。

* *

不依赖任何第三方 mvc 框架,仅仅作为工具使用简单快速完成支付模块的开发,可轻松嵌入到任何系统里。

* *

IJPay 交流群: 723992875

* *

Node.js 版: https://gitee.com/javen205/TNW

* *

Model 公用方法

* * @author Javen */ package com.hn.pay.wxpay.domain; import cn.hutool.core.util.StrUtil; import com.hn.pay.enums.SignType; import com.hn.pay.wxpay.utils.WxPayKit; import java.lang.reflect.Field; import java.lang.reflect.Method; import java.util.HashMap; import java.util.Map; public class BaseModel { /** * 将建构的 builder 转为 Map * * @return 转化后的 Map */ public Map toMap() { String[] fieldNames = getFiledNames(this); HashMap map = new HashMap(fieldNames.length); for (int i = 0; i < fieldNames.length; i++) { String name = fieldNames[i]; String value = (String) getFieldValueByName(name, this); if (StrUtil.isNotEmpty(value)) { map.put(name, value); } } return map; } /** * 构建签名 Map * * @param partnerKey API KEY * @param signType {@link SignType} 签名类型 * @return 构建签名后的 Map */ public Map creatSign(String partnerKey, SignType signType) { return WxPayKit.buildSign(toMap(), partnerKey, signType); } /** * 获取属性名数组 * * @param obj 对象 * @return 返回对象属性名数组 */ public String[] getFiledNames(Object obj) { Field[] fields = obj.getClass().getDeclaredFields(); String[] fieldNames = new String[fields.length]; for (int i = 0; i < fields.length; i++) { fieldNames[i] = fields[i].getName(); } return fieldNames; } /** * 根据属性名获取属性值 * * @param fieldName 属性名称 * @param obj 对象 * @return 返回对应属性的值 */ public Object getFieldValueByName(String fieldName, Object obj) { try { String firstLetter = fieldName.substring(0, 1).toUpperCase(); String getter = new StringBuffer().append("get") .append(firstLetter) .append(fieldName.substring(1)) .toString(); Method method = obj.getClass().getMethod(getter, new Class[]{}); return method.invoke(obj, new Object[]{}); } catch (Exception e) { return null; } } }




© 2015 - 2024 Weber Informatics LLC | Privacy Policy