功能描述
前端是手机的APP,当客户有问题进行反馈时,后台管理员能收到反馈并进行回复。
项目是基于thinkphp v3.2 开发。
前后端截图
上图 — 前端意见反馈
上图 — 管理员可以收到反馈信息进行回复或者删除操作。
数据库截图
目前只设计了一个留言表,用户的反馈信息会被记录在这张表里,后台的反馈记录也是从这张表中查出。
问题
现在留言功能已经实现,只是不知道怎么实现回复功能,PHP代码不知道从何下手,表的设计也不知道怎么做。
求赐教!
回答
回复功能 做着做着就成 聊天功能了
用JSON存回复,最新的MySQL已经支持JSON索引。
第一,最好不要和反饋信息表設計在同一張表裡。
第二,你的反饋表最好加多一個字段status,表示該條信息是否已回复。
反饋表設計
id[int(11)]主鍵
suggest_id[int(11)]反饋表id
aid[int(11)]反饋人員id
content[text]反饋信息
isuseful[enum(0,1)]是否有用 0沒 1有
time [int(11)] 回复時間
isread[enum(0,1)]是否已讀
rbtime[int(11)] 反饋時間,反饋這條回复信息是否有用
當有回饋信息進入後台時候,操作人員可以點擊回复按鈕,回复相應信息。在操作人員點擊發送時候,將所有相關的回复數據保存到數據庫中。並更新反饋表狀態,讓該條反饋信息,無法再次寫回复。到這部就已經完成後台的操作。但有點要主要用戶已進入app就知道有反饋信息表要提示,你的反饋信息有最新的回复。這個就要在寫入回复數據到數據庫之後,將相關的信息寫入推送表或者推送隊列中。在用戶進入到界面之後就可以看到有最新記錄提示。當然用戶看相關回复信息之後,可以選擇該條回复信息是否對自己有幫助等等。。。
新建一张表,这张表的外键就是你反馈表的ID,回复那条反馈就记录哪条反馈的ID即可
评论回复类似无限分类,使用id关联即可。
例如文章评论,id是其自增主键,pid是文章主键,cid是某个评论的主键。
根据pid就可以获取某篇文章的全部评论,根据cid就可以把这些评论按父子级关系递归成评论树!
首先,你要确定,管理员回复之后,用户还能不能再次回复,这就有点麻烦了。如果可以的话,你还不如直接做一个在线聊天的功能。至于表的设计,应该根据你的需求来判断,类似于标识之类的东西,是用来区分这条信息是留给谁的。还有,管理员和用户的交流信息我认为应该放到两张表里,以为他们的状态值不可能相同,用户需要回复,但管理员总不能自己回复自己吧。管理员的权限问题应该搞清楚,是只能回复一条还是别的。只能回复一条的话,就只让管理员看见没有回复的消息,其他就随意了,,,这里面的道道可多了,题主可以根据自己的需要来设计表结构和操作流程,以及你自己的业务模型。。。