diff --git a/mallinkAdmin/src/main/java/com/iformall/controller/market/WxOrderController.java b/mallinkAdmin/src/main/java/com/iformall/controller/market/WxOrderController.java index 8ac0a3ff9..3f7627d21 100644 --- a/mallinkAdmin/src/main/java/com/iformall/controller/market/WxOrderController.java +++ b/mallinkAdmin/src/main/java/com/iformall/controller/market/WxOrderController.java @@ -11,6 +11,9 @@ import com.iformall.domain.po.*; import com.iformall.domain.po.base.BaseEntity; import com.iformall.domain.vo.WxMerchantSubsidyVo; import com.iformall.domain.vo.WxOrderQueryVo; +import com.iformall.douyin.pay.TtPayService; +import com.iformall.douyin.pay.exception.TtPayException; +import com.iformall.douyin.payv2.result.TtSettleResult; import com.iformall.enums.*; import com.iformall.exception.MallinkException; import com.iformall.service.*; @@ -59,8 +62,18 @@ public class WxOrderController extends BaseController { @Autowired private WxCUserBasicInfoService wxCUserBasicInfoService; + @Autowired + private WxAppinfoService wxAppinfoService; + + @Autowired + private WxPayAccountService wxPayAccountService; + + @Autowired + private MaUtil maUtil; + @Autowired OrderFactory orderFactory; + @ApiOperation("分页列表接口") @GetMapping("list") @@ -276,5 +289,23 @@ public class WxOrderController extends BaseController { } + @ApiOperation("") + @GetMapping("test") + @SystemControllerLog(description = "") + public ResultData test(Long composeOrderId) { + logger.debug("[" + getIpAddr() + "] WxOrderController::test"); + + WxAppinfo appInfo = wxAppinfoService.getCAppInfo(getTenantInfo(), EnumAppPlat.TOUTIAO); + WxPayAccount payAccount = wxPayAccountService.getById(appInfo.getPayId()); + TtPayService ttPayService = maUtil.getTtPayService(appInfo, payAccount); + List settleResultList = null; + try { + settleResultList = ttPayService.getProfitSharingV2Service().getOrderSettle(composeOrderId.toString()); + } catch (TtPayException e) { + e.printStackTrace(); + } + return new ResultData(settleResultList); + } + } diff --git a/mallinkService/src/main/java/com/iformall/douyin/pay/ProfitSharingV2Service.java b/mallinkService/src/main/java/com/iformall/douyin/pay/ProfitSharingV2Service.java index 42d1b2ab2..0591059f5 100644 --- a/mallinkService/src/main/java/com/iformall/douyin/pay/ProfitSharingV2Service.java +++ b/mallinkService/src/main/java/com/iformall/douyin/pay/ProfitSharingV2Service.java @@ -48,4 +48,19 @@ public interface ProfitSharingV2Service { */ List getProfitSharingResult(String out_settle_no) throws TtPayException; + /** + *
+   * 查询分账接口
+   * out_order_no string 否 开发者交易订单id,长度<64byte,数字ASCII字符
+   * out_settle_no string 否 开发者分账单id,长度<64byte,数字、ASCII字符
+   * order_id string 否 抖音开平侧订单id,长度<64byte,数字、ASCII
+   * settle_id string 否 抖音开平侧分账单id,长度<64byte,数字、ASCII
+   * - 查询优先级: settle_id > order_id > out_settle_no > out_order_no,4个参数选填一个
+   *   - 例如:请求填写了settle_id和order_id,服务只会按settle_id来查询,忽略order_id
+   *   - 如果未查询到结果,会返回空数组
+   * - 注意:对于担保交易和交易1.0的订单,如果需要根据order_id/out_order_no查询订单的分账记录,建议使用order_id(抖音开平侧支付单id查询),若使用out_order_no可能存在查询不到的情况
+   *
+   */
+  List getOrderSettle(String out_order_no) throws TtPayException;
+
 }
diff --git a/mallinkService/src/main/java/com/iformall/douyin/pay/impl/ProfitSharingV2ServiceImpl.java b/mallinkService/src/main/java/com/iformall/douyin/pay/impl/ProfitSharingV2ServiceImpl.java
index bdf0ab699..c6fe01b90 100644
--- a/mallinkService/src/main/java/com/iformall/douyin/pay/impl/ProfitSharingV2ServiceImpl.java
+++ b/mallinkService/src/main/java/com/iformall/douyin/pay/impl/ProfitSharingV2ServiceImpl.java
@@ -59,6 +59,19 @@ public class ProfitSharingV2ServiceImpl implements ProfitSharingV2Service {
     }
   }
 
+  @Override
+  public List getOrderSettle(String out_order_no) throws TtPayException {
+    String url = String.format("%s/api/apps/trade/v2/query_settle", this.payService.getPayBaseUrl());
+    JsonObject jsonObject = new JsonObject();
+    jsonObject.addProperty("out_order_no",out_order_no);
+    String result = this.payService.postV2(url,jsonObject.toString());
+    ProfitSharingResult sharingResult = GSON.fromJson(result, ProfitSharingResult.class);
+    if(sharingResult.isSuccess()){
+      return sharingResult.getData();
+    }else{
+      throw new TtPayException(sharingResult.getErrTips());
+    }
+  }
 
 
   /**