cqp 10 月之前
父節點
當前提交
88f3e04898
共有 2 個文件被更改,包括 53 次插入5 次删除
  1. 51 5
      app/Service/MayCurServerService.php
  2. 2 0
      config/maycur.php

+ 51 - 5
app/Service/MayCurServerService.php

@@ -90,12 +90,21 @@ class MayCurServerService extends Service
        if(isset($result['code']) && $result['code'] != 'ACK') return [false, $result['message']];
        if(isset($result['code']) && $result['code'] != 'ACK') return [false, $result['message']];
 
 
        //组织返回数据
        //组织返回数据
-       if(empty($result['data'])) return [true, ['list' => [], 'hasNextPage' => false]];
+       if(empty($result['data'])) return [true, ['list' => null, 'hasNextPage' => false]];
 
 
        //获取报销单详情填充
        //获取报销单详情填充
        list($status, $return) = $this->reimburseDetailGet($result['data']);
        list($status, $return) = $this->reimburseDetailGet($result['data']);
        if(! $status) return [false, $return];
        if(! $status) return [false, $return];
 
 
+       if(! empty($return['list'])){
+           list($status,$msg) = $this->tradingPartner($return);
+           if(! $status) return [false, $msg];
+
+           foreach ($return['list'] as $key => $value){
+               $return['list'][$key]['tradingPartnerBizCodeType'] = $map[$value['tradingPartnerBizCode']] ?? [];
+           }
+       }
+
        return [true, $return];
        return [true, $return];
     }
     }
 
 
@@ -195,21 +204,30 @@ class MayCurServerService extends Service
         if(isset($result['code']) && $result['code'] != 'ACK') return [false, $result['message']];
         if(isset($result['code']) && $result['code'] != 'ACK') return [false, $result['message']];
 
 
         //组织返回数据
         //组织返回数据
-        if(empty($result['data'])) return [true, ['list' => [], 'hasNextPage' => false]];
+        if(empty($result['data'])) return [true, ['list' => null, 'hasNextPage' => false]];
 
 
         //获取报销单详情填充
         //获取报销单详情填充
         list($status, $return) = $this->loanDetailGet($result['data']);
         list($status, $return) = $this->loanDetailGet($result['data']);
         if(! $status) return [false, $return];
         if(! $status) return [false, $return];
 
 
+        if(! empty($return['list'])){
+            list($status,$msg) = $this->tradingPartner($return);
+            if(! $status) return [false, $msg];
+
+            foreach ($return['list'] as $key => $value){
+                $return['list'][$key]['tradingPartnerBizCodeType'] = $map[$value['tradingPartnerBizCode']] ?? [];
+            }
+        }
+
         return [true, $return];
         return [true, $return];
     }
     }
 
 
     public function loanRule($data){
     public function loanRule($data){
-        if(empty($data['settledAtStart']) || empty($data['settledAtEnd'])) return [false, '单据的创建时间不能为空'];
+        if(empty($data['settledAtStart']) || empty($data['settledAtEnd'])) return [false, '单据的支付时间不能为空'];
         $settledAtStart = strtotime($data['settledAtStart'] . '00:00:00');
         $settledAtStart = strtotime($data['settledAtStart'] . '00:00:00');
         $settledAtEnd = strtotime($data['settledAtEnd'] . '23:59:59');
         $settledAtEnd = strtotime($data['settledAtEnd'] . '23:59:59');
-        if(empty($settledAtStart)) return [false, '单据的创建开始时间格式错误'];
-        if(empty($settledAtEnd)) return [false, '单据的创建结束时间格式错误'];
+        if(empty($settledAtStart)) return [false, '单据的支付时间格式错误'];
+        if(empty($settledAtEnd)) return [false, '单据的支付时间格式错误'];
 
 
         $pageNo = 1;
         $pageNo = 1;
         $pageSize = 10;
         $pageSize = 10;
@@ -266,6 +284,34 @@ class MayCurServerService extends Service
         return [true, $result['data'] ?? []];
         return [true, $result['data'] ?? []];
     }
     }
 
 
+    public function tradingPartner($data){
+        if(empty($data['list'])) return [true, []];
+        $bizCodes = array_values(array_filter(array_unique(array_column($data['list'], 'tradingPartnerBizCode'))));
+        if(empty($bizCodes)) return [true, []];
+
+        $post = [
+            'bizCodes' => $bizCodes,
+        ];
+
+        //获取token
+        list($status, $token) = $this->getToken();
+        if(! $status) return [false, $token];
+
+        $header = $this->head;
+        //每刻所有配置
+        $url_array = $this->param;
+        //组织获取参数
+        $url = $this->domain_url . $url_array['tradingPartner'];
+        $header = array_merge(['Content-Type:application/json'], $header);
+
+        list($status, $result) = $this->post_helper($url,$post, $header);
+        if(! $status) return [$status, $result];
+        if(isset($result['code']) && $result['code'] != 'ACK') return [false, $result['message']];
+
+        $map = array_column($result['data']['list'], 'partnerType','bizCode');
+        return [true, $map];
+    }
+
     public function post_helper($url, $data, $header = [], $timeout = 20){
     public function post_helper($url, $data, $header = [], $timeout = 20){
         Log::channel('apiMcLog')->info('每刻POST', ["api" => $url , "param" => $data ,"header" => $header]);
         Log::channel('apiMcLog')->info('每刻POST', ["api" => $url , "param" => $data ,"header" => $header]);
 
 

+ 2 - 0
config/maycur.php

@@ -21,4 +21,6 @@ return [
     'loan' => '/api/openapi/form/v2/loan',
     'loan' => '/api/openapi/form/v2/loan',
     //借款单详情
     //借款单详情
     'loanDetail' => '/api/openapi/form/loan/',
     'loanDetail' => '/api/openapi/form/loan/',
+    //往来单位
+    'tradingPartner' =>  '/api/openapi/tradingPartner/list/V2',
 ];
 ];