|
|
@@ -11,6 +11,7 @@ import com.huifu.adapay.model.Payment;
|
|
|
import com.huifu.adapay.model.Refund;
|
|
|
import com.izouma.nineth.ApplicationTests;
|
|
|
import com.izouma.nineth.config.GeneralProperties;
|
|
|
+import com.izouma.nineth.repo.OrderRepo;
|
|
|
import com.izouma.nineth.utils.SnowflakeIdWorker;
|
|
|
import com.izouma.nineth.utils.excel.BigIntegerConverter;
|
|
|
import com.izouma.nineth.utils.excel.LocalDateConverter;
|
|
|
@@ -26,12 +27,15 @@ import java.util.ArrayList;
|
|
|
import java.util.HashMap;
|
|
|
import java.util.List;
|
|
|
import java.util.Map;
|
|
|
+import java.util.stream.Collectors;
|
|
|
|
|
|
public class AdapayServiceTest extends ApplicationTests {
|
|
|
@Autowired
|
|
|
private AdapayService adapayService;
|
|
|
@Autowired
|
|
|
private GeneralProperties generalProperties;
|
|
|
+ @Autowired
|
|
|
+ private OrderRepo orderRepo;
|
|
|
|
|
|
@Test
|
|
|
public void testPay() throws BaseAdaPayException {
|
|
|
@@ -189,4 +193,92 @@ public class AdapayServiceTest extends ApplicationTests {
|
|
|
refundParams.put("refund_order_no", new SnowflakeIdWorker(0, 0).nextId() + "");
|
|
|
Map<String, Object> response = Refund.create("002112021120816060510314566462621900800", refundParams);
|
|
|
}
|
|
|
+
|
|
|
+ @Test
|
|
|
+ public void refund1() throws BaseAdaPayException {
|
|
|
+ List<RefundOrder> orders = EasyExcel.read("/Users/drew/Desktop/refund2.xlsx")
|
|
|
+ .head(RefundOrder.class)
|
|
|
+ .registerConverter(new LocalDateConverter())
|
|
|
+ .registerConverter(new LocalDateTimeConverter())
|
|
|
+ .registerConverter(new BigIntegerConverter())
|
|
|
+ .sheet().doReadSync();
|
|
|
+ System.out.println(orders.size());
|
|
|
+
|
|
|
+ orders = orders.stream().parallel().filter(o ->
|
|
|
+ o.amount.equals("60.90") && !orderRepo.findByTransactionId(o.getId()).isPresent())
|
|
|
+ .collect(Collectors.toList());
|
|
|
+ System.out.println(orders);
|
|
|
+// orders.stream().parallel().forEach(o -> {
|
|
|
+// orderRepo.findByTransactionId(o.getId()).ifPresent(order -> {
|
|
|
+//
|
|
|
+// });
|
|
|
+// });
|
|
|
+ for (RefundOrder order : orders) {
|
|
|
+ String refundId = new SnowflakeIdWorker(0, 0).nextId() + "";
|
|
|
+ Map<String, Object> refundParams = new HashMap<>();
|
|
|
+ refundParams.put("refund_amt", order.getAmount());
|
|
|
+ refundParams.put("refund_order_no", new SnowflakeIdWorker(0, 0).nextId() + "");
|
|
|
+ Map<String, Object> response = Refund.create(order.getId(), refundParams);
|
|
|
+ order.setRefundId(refundId);
|
|
|
+ }
|
|
|
+ EasyExcel.write("/Users/drew/Desktop/refund3.xlsx", RefundOrder.class).sheet("sheet")
|
|
|
+ .registerConverter(new LocalDateConverter())
|
|
|
+ .registerConverter(new LocalDateTimeConverter())
|
|
|
+ .registerConverter(new BigIntegerConverter())
|
|
|
+ .doWrite(orders);
|
|
|
+ }
|
|
|
+
|
|
|
+ @Test
|
|
|
+ public void queryrefund1() throws BaseAdaPayException {
|
|
|
+ List<RefundOrder> orders = EasyExcel.read("/Users/drew/Desktop/refund的副本.xlsx")
|
|
|
+ .head(RefundOrder.class)
|
|
|
+ .registerConverter(new LocalDateConverter())
|
|
|
+ .registerConverter(new LocalDateTimeConverter())
|
|
|
+ .registerConverter(new BigIntegerConverter())
|
|
|
+ .sheet().doReadSync();
|
|
|
+ System.out.println(orders.size());
|
|
|
+ List<String> success = new ArrayList<>();
|
|
|
+ List<String> fail = new ArrayList<>();
|
|
|
+ for (RefundOrder order : orders) {
|
|
|
+ Map<String, Object> refundParams = new HashMap<>();
|
|
|
+ refundParams.put("refund_order_no", order.getRefundId());
|
|
|
+ Map<String, Object> refund = Refund.query(refundParams);
|
|
|
+ System.out.println(refund.get("refunds"));
|
|
|
+ try {
|
|
|
+ if (((JSONArray) refund.get("refunds")).getJSONObject(0).getString("trans_status").equals("S")) {
|
|
|
+ success.add(order.getId());
|
|
|
+ } else {
|
|
|
+ fail.add(order.getId());
|
|
|
+ }
|
|
|
+ } catch (Exception e) {
|
|
|
+ fail.add(order.getId());
|
|
|
+ }
|
|
|
+ }
|
|
|
+ System.out.println("success:" + success.size());
|
|
|
+ System.out.println("fail:" + fail.size());
|
|
|
+ System.out.println(StringUtils.join(fail, ","));
|
|
|
+ }
|
|
|
+
|
|
|
+ @Test
|
|
|
+ public void queryOrder() throws BaseAdaPayException {
|
|
|
+ Map<String, Object> paymentParams = new HashMap<>();
|
|
|
+ paymentParams.put("app_id", "app_0e8d3acb-3d95-4ebb-8445-e470c378a787");
|
|
|
+ paymentParams.put("page_index", "1");
|
|
|
+ paymentParams.put("page_size", "20");
|
|
|
+ paymentParams.put("payment_id", "002112021122415003310320348180126400512");
|
|
|
+ Map<String, Object> paymentList = Payment.queryList(paymentParams);
|
|
|
+ System.out.println(JSON.toJSONString(paymentList, SerializerFeature.PrettyFormat));
|
|
|
+ }
|
|
|
+
|
|
|
+ @Test
|
|
|
+ public void refunds() throws BaseAdaPayException {
|
|
|
+ Map<String, Object> refundParams = new HashMap<>();
|
|
|
+ refundParams.put("refund_order_no", "923969330914263040");
|
|
|
+ Map<String, Object> refund = Refund.query(refundParams);
|
|
|
+
|
|
|
+ Map<String, Object> refundParams1 = new HashMap<>();
|
|
|
+ refundParams1.put("refund_amt", "0.01");
|
|
|
+ refundParams1.put("refund_order_no", "923969330914263040");
|
|
|
+ Map<String, Object> response = Refund.create("002112021122415001010320348080327135232", refundParams1);
|
|
|
+ }
|
|
|
}
|