guolei19850528 / laravel-chanjet
Laravel Chanjet 是一个专为 Laravel 框架设计的畅捷通智慧房管系统 API 服务扩展,提供便捷的接口与畅捷通智慧房管系统进行交互。
v1.0
2026-02-04 08:39 UTC
Requires
- php: 8.*
- guzzlehttp/guzzle: ^7.0
- illuminate/support: 7.*||8.*||9.*||10.*||11.*||12.*
- mtownsend/xml-to-array: ^2.0
- spatie/array-to-xml: ^3.3
This package is auto-updated.
Last update: 2026-02-04 08:40:37 UTC
README
项目简介
Laravel Chanjet 是一个专为 Laravel 框架设计的畅捷通智慧房管系统 API 服务扩展,提供便捷的接口与畅捷通智慧房管系统进行交互。
该扩展支持与畅捷通智慧房管系统进行数据交互,目前主要提供收费账单查询功能,并支持多应用配置,方便在同一个项目中连接多个智慧房管系统实例。
主要功能
- 与畅捷通智慧房管系统 API 进行 SOAP Web 服务交互
- 查询实际收费账单项目
- 支持多应用配置,可同时连接多个智慧房管系统实例
- 提供简洁的 API 调用方式
- 配置灵活,支持通过 .env 文件管理敏感信息
技术栈
- PHP 8.x
- Laravel 7.x ~ 12.x
- GuzzleHttp
- XML 处理库
安装方法
1. 安装依赖
通过 Composer 安装扩展:
composer require guolei19850528/laravel-chanjet
2. 发布配置文件
安装完成后,使用以下命令发布配置文件:
php artisan vendor:publish --provider="Guolei19850528\Laravel\Chanjet\ExtensionServiceProvider"
发布后,配置文件将保存在 config/chanjet.php 中。
配置说明
1. 基础配置
打开 config/chanjet.php 文件,根据实际情况配置智慧房管系统的 API 连接参数:
return [
'zkhb' => [
'default' => [
'baseUrl' => env('ZKHB_BASE_URL', 'http://your-zkhb-server.com'),
],
],
];
2. 环境变量配置
建议在 .env 文件中配置敏感信息:
ZKHB_BASE_URL=http://your-zkhb-server.com
3. 多应用配置
扩展支持配置多个智慧房管应用实例,每个实例可以有独立的连接参数:
return [
'zkhb' => [
'default' => [
'baseUrl' => env('ZKHB_BASE_URL', ''),
],
'property_a' => [
'baseUrl' => env('ZKHB_PROPERTY_A_BASE_URL', ''),
],
'property_b' => [
'baseUrl' => env('ZKHB_PROPERTY_B_BASE_URL', ''),
],
],
];
使用示例
1. 基本使用
use Guolei19850528\Laravel\Chanjet\Zkhb\Biz;
// 创建实例(使用默认配置)
$biz = new Biz();
// 或者指定配置实例
$biz = new Biz(config('chanjet.zkhb.property_a.baseUrl'));
// 查询实际收费账单项目
$conditions = "cml.ChargeTime BETWEEN '2024-01-01' AND '2024-01-31'";
$orderBy = "cml.ChargeTime DESC";
$result = $biz->queryActualChargeBillItems(
conditions: $conditions,
orderBy: $orderBy
);
// 处理查询结果
foreach ($result as $item) {
echo "收费编号:" . $item['ChargeMListNo'] . "<br>";
echo "付款人:" . $item['PayerName'] . "<br>";
echo "金额:" . $item['ActualPayMoney'] . "<br>";
echo "小区:" . $item['EstateName'] . "<br>";
echo "房间:" . $item['RmNo'] . "<br>";
echo "---------------------------------<br>";
}
2. 在控制器中使用
use App\Http\Controllers\Controller;
use Guolei19850528\Laravel\Chanjet\Zkhb\Biz;
class ChargeController extends Controller
{
public function index()
{
$biz = new Biz();
// 查询条件示例:查询本月收费记录
$thisMonth = date('Y-m-01');
$nextMonth = date('Y-m-01', strtotime('+1 month'));
$conditions = "cml.ChargeTime >= '$thisMonth' AND cml.ChargeTime < '$nextMonth'";
$result = $biz->queryActualChargeBillItems(
conditions: $conditions,
orderBy: "cml.ChargeTime DESC",
top: "TOP 100"
);
return view('charges.index', ['charges' => $result]);
}
}
API 文档
查询实际收费账单项目
public function queryActualChargeBillItems(
?string $conditions = '',
?string $top = '',
?string $orderBy = '',
?array $options = []
): array
参数说明:
$conditions:查询条件,例如"cml.ChargeTime BETWEEN '2024-01-01' AND '2024-01-31'"$top:顶部查询语句,例如"TOP 100"$orderBy:排序字段,例如"cml.ChargeTime DESC"$options:选项参数数组
返回值:
返回实际收费账单项目数组,包含以下字段:
ChargeMListID:收费主表IDChargeMListNo:收费主表编号ChargeTime:收费时间PayerName:付款人姓名ChargePersonName:收费人姓名ActualPayMoney:实际支付金额EstateID:小区IDItemNames:项目名称EstateName:小区名称ChargeFeeItemID:收费项目IDActualAmount:实际金额SDate:开始日期EDate:结束日期RmId:房间IDRmNo:房间编号CreateTime:创建时间LastUpdateTime:最后更新时间ItemName:项目名称IsPayFull:是否全额支付PayDays:支付天数
注意事项
- 确保已正确配置智慧房管系统的 API 地址
- 本扩展目前主要支持查询实际收费账单项目功能
- 更多功能将在后续版本中逐步添加
- 如有任何问题,请参考配置文件中的注释或联系开发者
开发说明
项目结构
laravel-chanjet/
├── config/
│ └── chanjet.php # 配置文件
├── src/
│ ├── Zkhb/
│ │ ├── Trait/
│ │ │ ├── BaseTrait.php # 基础特性
│ │ │ ├── BizTrait.php # 业务特性
│ │ │ └── GetDataSetTrait.php # 数据获取特性
│ │ └── Biz.php # 业务类
│ └── ExtensionServiceProvider.php # 服务提供者
├── vendor/
├── .gitignore
├── LICENSE
├── README.md
└── composer.json
核心类说明
Zkhb\Biz:主要业务类,提供与智慧房管系统交互的方法Zkhb\Trait\BaseTrait:基础特性,包含通用功能Zkhb\Trait\BizTrait:业务特性,包含具体业务方法Zkhb\Trait\GetDataSetTrait:数据获取特性,负责获取和处理数据
版本历史
- v1.0.0 (2026-02-04)
- 初始版本
- 实现查询实际收费账单项目功能
- 支持多应用配置
- 提供基本的API交互能力
许可证
本扩展采用 MIT 许可证,详情请查看 LICENSE 文件。
联系方式
- 开发者:郭磊
- 邮箱:174000902@qq.com
- GitHub:https://github.com/guolei19850528/laravel-chanjet
贡献指南
欢迎提交 Issue 和 Pull Request 来帮助改进这个扩展!
更新日志
请查看 CHANGELOG.md 文件获取详细的更新日志。