From d54cd67c9bf2a6140d017aab1324f1eb10dab9a0 Mon Sep 17 00:00:00 2001 From: xhxu Date: Wed, 28 Jun 2023 15:24:14 +0800 Subject: [PATCH] //unsettle --- .../iformall/douyin/pay/DouYinPayHelper.java | 39 ++++++++++--------- .../pay/orderQuery/QueryUnsettleAmount.java | 18 +++++++++ 2 files changed, 39 insertions(+), 18 deletions(-) create mode 100644 mallinkService/src/main/java/com/iformall/douyin/pay/orderQuery/QueryUnsettleAmount.java diff --git a/mallinkService/src/main/java/com/iformall/douyin/pay/DouYinPayHelper.java b/mallinkService/src/main/java/com/iformall/douyin/pay/DouYinPayHelper.java index 39de630c1..eeea7bec7 100644 --- a/mallinkService/src/main/java/com/iformall/douyin/pay/DouYinPayHelper.java +++ b/mallinkService/src/main/java/com/iformall/douyin/pay/DouYinPayHelper.java @@ -6,9 +6,7 @@ import java.security.NoSuchAlgorithmException; import java.util.*; import com.iformall.common.ErrorCode; -import com.iformall.douyin.pay.orderQuery.QueryMerchantResult; -import com.iformall.douyin.pay.orderQuery.QueryRefundResult; -import com.iformall.douyin.pay.orderQuery.QuerySettleResult; +import com.iformall.douyin.pay.orderQuery.*; import com.iformall.douyin.pay.preOrder.*; import com.iformall.enums.EnumPayStatus; import com.iformall.exception.MallinkException; @@ -16,7 +14,6 @@ import com.iformall.utils.sign.SignUtils; import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSONObject; -import com.iformall.douyin.pay.orderQuery.OrderQueryResult; import com.iformall.utils.HttpUtil; import lombok.extern.slf4j.Slf4j; @@ -352,8 +349,9 @@ public class DouYinPayHelper { } } + //可分账余额查询 //https://developer.toutiao.com/api/apps/ecpay/v1/unsettle_amount - public static void unsettleAmount(String appId,String salt,String outOrderId,String thirdParytyId) { + public static QueryUnsettleAmount unsettleAmount(String appId, String salt, String outOrderId, String thirdParytyId) { Map map = new HashMap(); map.put("app_id",appId); map.put("salt",salt); @@ -363,19 +361,24 @@ public class DouYinPayHelper { String response = doPost("https://developer.toutiao.com/api/apps/ecpay/v1/unsettle_amount", map); log.info("查询待分账金额 request:"+map.toString()+" response:"+response); JSONObject jsonObject = JSON.parseObject(response); -// Integer code = jsonObject.getInteger("err_no"); -// if (null != code && code.intValue() == 0 ) { -// JSONObject info = jsonObject.getJSONObject("settle_info"); -// QuerySettleResult result = new QuerySettleResult(); -// result.setSettleNo(info.getString("settle_no")); -// result.setSettleAmount(info.getInteger("settle_amount")); -// result.setSettleStatus(info.getString("settle_status")); -// result.setMsg(jsonObject.getString("err_tips")); -// return result; -// }else { -// log.error("settleQuery reponse error. request: "+JSON.toJSONString(map)+" response:"+response); -//// return null; -// } + Integer code = jsonObject.getInteger("err_no"); + if (null != code && code.intValue() == 0 ) { + JSONObject data = jsonObject.getJSONObject("data"); + QueryUnsettleAmount result = new QueryUnsettleAmount(); + result.setOutOrderNo(data.getString("out_order_no")); + result.setUnsettleAmount(data.getInteger("unsettle_amount")); + JSONObject detail = data.getJSONObject("detail"); + JSONObject payInfo = detail.getJSONObject("pay_info"); + result.setOutPayNo(payInfo.getString("out_order_no")); + result.setAmount(payInfo.getInteger("amount")); + result.setPaymentRake(detail.getInteger("payment_rake")); + result.setLifeRake(detail.getInteger("life_rake")); + result.setCommission(detail.getInteger("commission")); + return result; + }else { + log.error("unsettleAmount reponse error. request: "+JSON.toJSONString(map)+" response:"+response); + return null; + } } public static void main(String[] args) { diff --git a/mallinkService/src/main/java/com/iformall/douyin/pay/orderQuery/QueryUnsettleAmount.java b/mallinkService/src/main/java/com/iformall/douyin/pay/orderQuery/QueryUnsettleAmount.java new file mode 100644 index 000000000..207c764ae --- /dev/null +++ b/mallinkService/src/main/java/com/iformall/douyin/pay/orderQuery/QueryUnsettleAmount.java @@ -0,0 +1,18 @@ +package com.iformall.douyin.pay.orderQuery; + +import lombok.Data; + +@Data +public class QueryUnsettleAmount { + + private String outOrderNo;//商户侧的订单号 + private Integer unsettleAmount;//剩余待结算金额 + + private String outPayNo;//外部支付单单号 + private Integer amount;//支付单总金额 + + private Integer paymentRake;//平台支付手续费金额,单位为分 + private Integer lifeRake;//平台行业抽佣金额,单位为分 + private Integer commission;//平台达人分佣金额,单位为分 + +}