# 报事功能需求文档

报事功能为业主服务平台功能，其目的在于为物业管理处和小区住户搭建一个在线沟通平台，方便住户提交日常生活过程中发现的小区问题及时反馈给物业管理处。物业管理处也能够及时处理住户问题，提升服务满意度。

为了方便对报事进行统一管理，每个物业公司可以针对自己的报事进行分类，如环境问题，秩序问题，邻里关系等等，借助这些分类去统计各类别的报事数量，频率，从而有针对性地加强某方面的服务与监督，进一步提升服务质量。同时，报事在业务行为上由系统固化为投诉，表扬，咨询和建议4个类型，方便按照业务行为进行统计。

## 业务流程

![报事流程](image/feedback.png)

## [原型地址](https://org.modao.cc/app/pKC7StsBjjWljraSVl4sKyiI4YoI8NM)

## 表单说明

__创建表单__由C端用户通过绘服务提交，C端操作界面如下图：

![提交报事](image/feedback_add.png)

| 字段名称 | 类型     | 备注                                                           | 是否必填 |
| ---- | ------ | ------------------------------------------------------------ | ---- |
| 小区   | String | 当前小区的ID，前端需要缓存当前小区的ID                                        | 是    |
| 业务行为 | Enum   | 从投诉、表扬、咨询、建议选择1个                                             | 是    |
| 反馈内容 | String | 不少于5个字                                                       | 是    |
| 图片   | String | 微信公众号端上传的为mediaId，需要通过该mediaId去微信后台通过接口下载图片到平台服务器。最多可上传5张图片。 | 否    |
| 姓名   | String | 住户姓名，默认使用用户的实名姓名，为了保护个人隐私，也可以进行修改                            | 是    |
| 手机号  | String | 住户通过平台短信验证码绑定的手机号，如果没有，则需要绑定。                                | 是    |

__受理表单__在物业员工受理人（需要功能授权+数据授权）受理住户报事时填写。受理成功后将推送消息告知住户其提报事项已经受理。

| 字段名称   | 类型     | 备注                      | 是否必填 |
| ------ | ------ | ----------------------- | ---- |
| 分类     | String | 当前分类的ID，从公司自定义的分类中选择一个  | 是    |
| 处理人    | String | 模糊匹配输入的员工姓名（需有本小区的数据权限） | 是    |
| 处理人手机号 | String | 无需填写，自动匹配员工的电话号码        | 是    |
| 备注     | String | 受理时额外的信息                | 否    |

__驳回__表单只需要填写`驳回原因`，该驳回原因为必填。驳回时将推送消息告知住户其提报事项已经被驳回，并附注驳回原因。

## 业务说明

### 在线互动

在线互动支持住户和物业员工互发消息，及时沟通确认问题情况。消息内容支持文字和图片（可能扩展支持语音），其中每一张图片都当做一条消息记录处理。住户端在微信服务号提交的图片为微信的mediaId（会过期），需要从微信后台通过接口下载到平台服务器永久存储。物业员工可以在Web端、微信服务号或App端进行图文回复。如果是微信服务号则需要将图片通过mediaId下载到服务器后台。

在线互动内容需要单独设计数据表存储，默认在业主提交报事时将业主提交的报事内容当做在线互动沟通的第一条消息，方便对话时查看。

当有新的消息时，在接收方未读的情况下，需要标识该消息对于接收方是未读的（住户发送的消息对物业方来说是未读的物业方发送的消息对于住户来说是未读的）。在主表中需要统计双方的未读消息数量，以便在前端展示。

### 确认解决

当处理人员完成事项处理后，可以确认该事项已经解决。确认解决成功后将推送消息告知住户其提报事项已经解决，此时住户可以对处理过程进行评价。

### 评价

当事项处理完成后，住户可以对服务进行评价，评价包括评分和评价内容。评分按5分制，最低1分，最高5分。评价内容为必填数据项。评价界面如下图所示。

![反馈评价](image/feedback_comment.png)

### 列表排序

列表排序按照数据的更新时间降序排序，方便及时查看最新动态。当有新的未读消息，业务状态变更时需要更新数据的更新时间字段。

## 流程记录

整个事件的状态流转需要单独记录，记录事件发生的时间，操作人，操作方（用户还是物业公司），操作行为，具体有如下状态。

| 状态  | 操作方  | 行为              | 示例            |
| --- | ---- | --------------- | ------------- |
| 待受理 | 用户   | 用户提交报事          | xxx提交投诉       |
| 已受理 | 物业公司 | 员工受理报事          | xxx受理，指派xxx处理 |
| 已驳回 | 物业公司 | 员工驳回报事          | xxx驳回         |
| 已解决 | 物业公司 | 员工报事已解决         | xxx完成         |
| 已解决 | 用户   | 用户确认事项已解决       | xxx确认已解决      |
| 已评价 | 用户   | 用户对已解决的事项进行评分评价 | xxx提交评价，评分5   |

已解决可以是用户确认也可以是工作人员确认。注意的是同一项事务的状态不允许重复提交，已受理的如不允许重复受理，已解决的不允许重复提交解决。
