инициализировать его поля невозможно. Однако, вы можете использовать различные техники для инициализации этого объекта, такие как использование рефлексии или создание публичного конструктора или метода установки значений. Пример использования рефлексии для инициализации объекта: java import java.lang.reflect.Field; public class RefundsRequestExample { public static void main(String[] args) { try { // Создаем объект RefundsRequest.Amount Object amountObject = Class.forName("com.github.binarywang.wxpay.bean.ecommerce.RefundsRequest$Amount").getConstructor().newInstance(); // Используем рефлексию для установки значений приватных полей Field totalField = amountObject.getClass().getDeclaredField("total"); totalField.setAccessible(true); totalField.set(amountObject, 100L); // Пример значения Field refundField = amountObject.getClass().getDeclaredField("refund"); refundField.setAccessible(true); refundField.set(amountObject, 50L); // Пример значения System.out.println("Объект Amount успешно инициализирован."); } catch (Exception e) { e.printStackTrace(); } } }
В этом примере мы используем рефлексию для создания объекта Amount
и установки значений его приватных полей. Обратите внимание, что использование рефлексии может быть неэффективным и затруднительным для поддержки, поэтому рекомендуется создать публичные методы или конструкторы для инициализации объекта, если это возможно.Если вы работаете с процессом возврата средств, вам потребуется правильно настроить объект Amount
и передать его в соответствующий метод для обработки возврата.
Рекомендуется всем пользователям отправлять сообщения о проблемах на соответствующую страницу GitHub
. Это поможет в единой системе отслеживания и управления. Ссылка на страницу: https://github.com/binarywang/WxJava/issues
Конечно, если вы хотите задать вопрос здесь, пожалуйста, используйте следующий формат. Спасибо за сотрудничество!
При возврате в режиме服务商模式退款时, нужно передать объект Amount, но его невозможно создать.
WxJava
модуль: weixin-java-payWxJava
версия: 4.7.5.BПри возврате в режиме服务商模式退款时, нужно передать объект Amount, но его невозможно создать.
RefundsRequest request = new RefundsRequest();
request.setAmount(new RefundsRequest.Amount());
Получаю ошибку: 'Amount()' имеет приватный доступ в 'com.github.binarywang.wxpay.bean.ecommerce.RefundsRequest.Amount'
Как мне создать этот объект?```java
@Data
@Builder
@NoArgsConstructor(access = AccessLevel.PRIVATE)
@AllArgsConstructor(access = AccessLevel.PRIVATE)
public static class Amount implements Serializable {
private static final long serialVersionUID = 7383027142329410399L;
/**
* <pre>
* Поле: Refund Amount
* Переменная: refund
* Обязательно: Да
* Тип: int
* Описание:
* Сумма возврата, минимальная единица валюты, может быть только целым числом и не должна превышать сумму оплаты оригинального заказа.
* Пример: 888
* </pre>
*/
@SerializedName(value = "refund")
private Integer refund;
/**
* <pre>
* Поле: Общая сумма заказа
* Переменная: total
* Обязательно: Да
* Тип: int64
* Описание:
* Общая сумма заказа, выраженная в центах.
* Пример: 888
* </pre>
*/
@SerializedName(value = "total")
private Integer total;
/**
* <pre>
* Поле: Тип валюты
* Переменная: currency
* Обязательно: Нет
* Тип: string(18)
* Описание:
* Трехбуквенный код в соответствии со стандартом ISO 4217, в настоящее время поддерживаются только китайские юани: CNY.
* Пример: CNY
* </pre>
*/
@SerializedName(value = "currency")
private String currency;
}
private String валюта;
}