帮助首页 > 网站操作说明 · 5. 公司员工操作说明 > 租户费用到期提醒功能说明

租户费用到期提醒功能说明

租户费用到期提醒功能说明

一、功能概述

本功能用于自动检查租户的房租和水电费到期情况,在到期前7天自动发送提醒消息给项目所有员工。

二、功能特性

2.1 房租到期提醒

  • 触发条件: 租户的rent_paid_until字段值等于当前日期+7天
  • 提醒对象: 项目所有员工(status=1的在职员工)
  • 提醒内容: 包含项目名称、租户名称、到期日期

2.2 水电费缴费提醒

  • 触发条件: 水电费记录payment_status=0(未缴费)且月份小于等于当前月份
  • 提醒对象: 项目所有员工(status=1的在职员工)
  • 提醒内容: 包含项目名称、租户名称、未缴费月份、合计金额

2.3 防重复发送

  • 每天对同一租户的同一类型提醒只发送一次
  • 通过检查当天是否已发送过相同内容的提醒来判断

三、实现文件

控制器: Banyan/Lib/Action/Cron/TenantReminderAction.class.php

主要方法:

  • checkExpiringFees(): 主入口,检查所有到期费用
  • checkRentExpiring($reminder_date): 检查房租到期
  • checkUtilityExpiring($reminder_date): 检查水电费到期

四、定时任务配置

4.1 Linux Cron配置

在服务器上配置crontab,每天执行一次:

# 编辑crontab
crontab -e

# 添加以下行(每天凌晨2点执行)
0 2 * * * /usr/bin/php /path/to/your/project/index.php Cron/TenantReminder/checkExpiringFees

4.2 Windows计划任务

  1. 打开"任务计划程序"
  2. 创建基本任务
  3. 触发器:每天
  4. 操作:启动程序
  5. 程序:php.exe
  6. 参数:D:\www\baoan\index.php Cron/TenantReminder/checkExpiringFees

4.3 手动执行

可以通过浏览器访问:

http://your-domain.com/index.php?g=Cron&m=TenantReminder&a=checkExpiringFees

或通过命令行:

php index.php Cron/TenantReminder/checkExpiringFees

五、消息发送机制

5.1 消息类型

使用系统站内消息(by_message表)发送提醒

5.2 消息格式

房租到期提醒:

项目【项目名称】的租户【租户名称】的房租将于YYYY-MM-DD到期,请及时处理。

水电费缴费提醒:

项目【项目名称】的租户【租户名称】有YYYY-MM、YYYY-MM月份的水电费未缴费,合计金额:¥XX.XX,请及时处理。

5.3 消息接收

员工可以在以下位置查看提醒:

  • Worker模块:http://localhost/worker/index/index.html
  • 消息中心:http://localhost/user/message/index.html

六、数据库表结构

6.1 相关表

  • by_project_tenant: 租户表(rent_paid_until字段)
  • by_project_tenant_utility: 水电费记录表(payment_statusutility_month字段)
  • by_project_worker: 项目员工表(project_idworker_idstatus字段)
  • by_shop_worker: 员工表(worker_iduser_id字段)
  • by_message: 消息表(存储提醒消息)

七、注意事项

  1. 时区设置: 确保服务器时区设置正确,避免日期计算错误
  2. 执行频率: 建议每天执行一次,避免频繁执行造成资源浪费
  3. 消息去重: 系统已实现每天只发送一次相同提醒的机制
  4. 员工状态: 只给状态为1(在职)的员工发送提醒
  5. 租户状态: 只检查状态为1(在租)的租户

八、扩展建议

8.1 微信推送

可以集成微信订阅消息,在发送站内消息的同时发送微信推送

8.2 邮件通知

可以添加邮件通知功能,发送提醒邮件给管理员

8.3 短信通知

可以集成短信服务,发送短信提醒

8.4 提醒时间可配置

可以将提前提醒天数(当前为7天)配置化,支持不同项目设置不同的提醒时间

九、故障排查

9.1 未收到提醒

  • 检查定时任务是否正常执行
  • 检查员工状态是否为1(在职)
  • 检查租户状态是否为1(在租)
  • 检查消息表中是否有记录

9.2 重复发送

  • 检查防重复机制是否生效
  • 检查日期计算是否正确

9.3 执行错误

  • 查看PHP错误日志
  • 检查数据库连接
  • 检查相关表是否存在

文档版本: v1.0

最后更新: 2024年

copyright 2013-2113 www.baoanfuwu.cn All Rights Reserved 保安服务网版权所有
皖ICP备2021016109号-1