guolei19850528/laravel-chanjet 问题修复 & 功能扩展

解决BUG、新增功能、兼容多环境部署,快速响应你的开发需求

邮箱:yvsm@zunyunkeji.com | QQ:316430983 | 微信:yvsm316

guolei19850528/laravel-chanjet

最新稳定版本:v1.0.0

Composer 安装命令:

composer require guolei19850528/laravel-chanjet

包简介

Laravel Chanjet 是一个专为 Laravel 框架设计的畅捷通智慧房管系统 API 服务扩展,提供便捷的接口与畅捷通智慧房管系统进行交互。

README 文档

README

扩展介绍

Laravel Chanjet 是一个专为 Laravel 框架设计的畅捷通智慧房管系统 API 服务扩展,提供便捷的接口与畅捷通智慧房管系统进行交互。

功能特性

  • 支持畅捷通智慧房管系统 SOAP Web 服务调用
  • 自动处理 XML 与数组之间的转换
  • 支持多应用配置
  • 灵活的响应处理机制
  • 简洁易用的 API 接口
  • 内置请求超时与错误处理

安装方法

使用 Composer 安装扩展:

composer require guolei19850528/laravel-chanjet

配置说明

发布配置文件

将扩展的配置文件发布到项目中:

php artisan vendor:publish --provider="Guolei19850528\LaravelChanjet\ChanjetServiceProvider"

发布后,配置文件将位于 config/guolei19850528-laravel-chanjet-config.php

配置参数说明

编辑配置文件,设置畅捷通智慧房管系统的连接参数:

<?php
return [
    'zkhb' => [
        'your app' => [
            'base_url' => env('ZKHB_BASE_URL', 'http://your-zkhb-server.com'),
        ],
    ],
];

主要配置项说明

配置项类型默认值说明
base_urlstringhttp://your-zkhb-server.com畅捷通智慧房管系统 API 基础地址

环境变量配置

建议在 .env 文件中设置敏感配置信息:

ZKHB_BASE_URL=http://your-zkhb-server.com

使用方法

基本使用

在控制器或服务中使用畅捷通智慧房管 API:

<?php

namespace App\Http\Controllers;

use Guolei19850528\Laravel\Chanjet\Zkhb\Api;

class ZkhbController extends Controller
{
    public function getChargeBillList()
    {
        // 创建 API 实例
        $api = new Api(config('guolei19850528-laravel-chanjet-config.zkhb.default.base_url'));
        
        // 调用 API 获取实际收费账单项目列表
        $response = $api->queryActualChargeBillItemList(
            topColumn: 'top 10', // 获取前10条记录
            condition: ' and cml.ActualPayMoney > 0', // 查询条件
            orderBy: ' order by cml.ChargeTime desc' // 排序条件
        );
        
        // 处理响应
        return response()->json($response);
    }
}

自定义响应处理

<?php

namespace App\Http\Controllers;

use Guolei19850528\Laravel\Chanjet\Zkhb\Api;

class ZkhbController extends Controller
{
    public function getChargeBillList()
    {
        $api = new Api(config('guolei19850528-laravel-chanjet-config.zkhb.default.base_url'));
        
        try {
            $response = $api->queryActualChargeBillItemList(
                topColumn: 'top 10',
                condition: ' and cml.ActualPayMoney > 0',
                responseHandler: function ($response) {
                    // 自定义响应处理
                    if ($response->ok()) {
                        return json_decode(json_encode($response->json()), true);
                    }
                    throw new \Exception('API 请求失败: ' . $response->status());
                }
            );
            
            return response()->json([
                'success' => true,
                'data' => $response
            ]);
            
        } catch (\Exception $e) {
            return response()->json([
                'success' => false,
                'message' => $e->getMessage()
            ], 500);
        }
    }
}

直接调用 GetDataSet 方法

<?php

namespace App\Http\Controllers;

use Guolei19850528\Laravel\Chanjet\Zkhb\Api;

class ZkhbController extends Controller
{
    public function customQuery()
    {
        $api = new Api(config('guolei19850528-laravel-chanjet-config.zkhb.default.base_url'));
        
        // 构建自定义 SQL 查询
        $sql = "select * from EstateDetail where EstateID = '123'";
        
        // 直接调用 opGetDataSet 方法
        $response = $api->opGetDataSet(
            data: ['sql' => $sql],
            filterKey: 'soap:Body.GetDataSetResponse.GetDataSetResult.diffgr:diffgram.NewDataSet.EstateDetail'
        );
        
        return response()->json($response);
    }
}

API 文档

Api 类

构造函数

public function __construct(string $baseUrl = '')
  • $baseUrl: API 基础 URL(可选)

setBaseUrl 方法

public function setBaseUrl(string $baseUrl): Api
  • $baseUrl: API 基础 URL
  • 返回值: 当前实例(支持链式调用)

getBaseUrl 方法

public function getBaseUrl(): string
  • 返回值: 格式化后的 API 基础 URL(自动去除末尾斜杠)

opGetDataSet 方法

public function opGetDataSet(
    array|null    $data = [],
    string|null   $filterKey = 'soap:Body.GetDataSetResponse.GetDataSetResult.diffgr:diffgram.NewDataSet.Table',
    string|null   $url = '/estate/webService/ForcelandEstateService.asmx?op={op}',
    array|null    $urlParameters = [],
    array|null    $options = [],
    \Closure|null $responseHandler = null
): array|Collection|null
  • $data: 请求数据(可选)
  • $filterKey: 响应数据过滤键(可选)
  • $url: API 路径(可选)
  • $urlParameters: URL 参数(可选)
  • $options: HTTP 请求选项(可选)
  • $responseHandler: 响应处理回调(可选)
  • 返回值: 处理后的响应数据

queryActualChargeBillItemList 方法

public function queryActualChargeBillItemList(
    string|null   $topColumn = null,
    string|null   $condition = null,
    string|null   $orderBy = ' order by cfi.ChargeFeeItemID desc',
    string        $filterKey = 'soap:Body.GetDataSetResponse.GetDataSetResult.diffgr:diffgram.NewDataSet.Table',
    string|null   $url = '/estate/webService/ForcelandEstateService.asmx?op={op}',
    array|null    $urlParameters = [],
    array|null    $options = [],
    \Closure|null $responseHandler = null
): array|null
  • $topColumn: 查询结果数量限制(可选)
  • $condition: 查询条件(可选)
  • $orderBy: 排序条件(可选,默认为按 ChargeFeeItemID 降序)
  • $filterKey: 响应数据过滤键(可选)
  • $url: API 路径(可选)
  • $urlParameters: URL 参数(可选)
  • $options: HTTP 请求选项(可选)
  • $responseHandler: 响应处理回调(可选)
  • 返回值: 查询结果数组

许可证

本扩展采用 MIT 许可证开源。

作者信息

统计信息

  • 总下载量: 0
  • 月度下载量: 0
  • 日度下载量: 0
  • 收藏数: 0
  • 点击次数: 1
  • 依赖项目数: 0
  • 推荐数: 0

GitHub 信息

  • Stars: 0
  • Watchers: 0
  • Forks: 0
  • 开发语言: PHP

其他信息

  • 授权协议: MIT
  • 更新时间: 2026-01-05