package com.walker.pay; import com.walker.infrastructure.utils.ClassUtils; import com.walker.infrastructure.utils.StringUtils; import java.lang.reflect.Field; import java.util.ArrayList; import java.util.Collections; import java.util.List; /** * 定义基础通知对象,可提供一些基础方法,目前只有生成序列化签名。

* 该对象通常是第三方通知请求的原始数据,子类根据业务属性继承使用,并定义属性。 * @author 时克英 * @date 2023-03-06 */ public abstract class RequestNotifyBean { /** * 转换成签名序列化字符串,按照key/value拼接方式,以字母表顺序。 * @return * @date 2023-03-06 */ public String toSignSerialize(){ Field[] fields = this.getClass().getDeclaredFields(); List fieldNameList = new ArrayList<>(8); for(int i=0;i 0){ sb.append(StringUtils.CHAR_AND); } sb.append(fieldNameList.get(i)) .append(StringUtils.CHAR_EQUALS) .append(ClassUtils.getFieldValueByName(fieldNameList.get(i), this)); } return sb.toString(); } }