Jelajahi Sumber

Merge branch 'master' of https://git.coding.net/Charsen/property-docs

XiChenXXXXXXXXXX 6 tahun lalu
induk
melakukan
0a88cde619
88 mengubah file dengan 1985 tambahan dan 20 penghapusan
  1. 29 0
      分享/2019年给研发部同事的一封信.md
  2. TEMPAT SAMPAH
      工作计划/月度计划/image/April.png
  3. TEMPAT SAMPAH
      工作计划/月度计划/image/February.png
  4. TEMPAT SAMPAH
      工作计划/月度计划/image/March.png
  5. 117 0
      工作计划/月度计划/研发部2019年1月总结及2月计划.md
  6. 93 0
      工作计划/月度计划/研发部2019年3月计划.md
  7. 71 0
      工作计划/月度计划/研发部2019年4月计划.md
  8. 15 0
      工具/MacOS X工具推荐.md
  9. TEMPAT SAMPAH
      工具/image/charles.png
  10. TEMPAT SAMPAH
      工具/image/pikka.png
  11. TEMPAT SAMPAH
      工具/image/sourcetree.png
  12. TEMPAT SAMPAH
      工具/image/switchhosts.png
  13. TEMPAT SAMPAH
      工具/image/transmit5.png
  14. 20 0
      工具/提升工作效率的工具.md
  15. 2 0
      工具/设计素材网站.md
  16. 246 0
      规范/Java后端/Java后端开发手册.md
  17. TEMPAT SAMPAH
      规范/UI/image/firstMenu.png
  18. TEMPAT SAMPAH
      规范/UI/image/newsThumb.png
  19. TEMPAT SAMPAH
      规范/UI/image/parkingQrcode.png
  20. TEMPAT SAMPAH
      规范/UI/image/qrcodeToGet.jpg
  21. TEMPAT SAMPAH
      规范/UI/image/replyAvatar.png
  22. TEMPAT SAMPAH
      规范/UI/image/residenceLogo.png
  23. 45 0
      规范/UI/绘管家后台占位图及图标.md
  24. 33 0
      规范/运维/Linux环境部署规划.md
  25. TEMPAT SAMPAH
      规范/运维/image/网络拓扑.jpg
  26. 261 0
      规范/运维/堡垒机搭建.md
  27. 62 0
      规范/运维/部署环境/Jenkins部署.md
  28. 0 0
      规范/运维/部署环境/Ubuntu环境配置.md
  29. 0 0
      规范/运维/部署环境/jdk部署.md
  30. 0 0
      规范/运维/部署环境/maven私服部署.md
  31. 0 0
      规范/运维/部署环境/maven部署.md
  32. 0 0
      规范/运维/部署环境/mongo部署.md
  33. 0 0
      规范/运维/部署环境/mysql部署.md
  34. 180 0
      规范/运维/部署环境/nginx部署.md
  35. 0 0
      规范/运维/部署环境/redis部署.md
  36. 0 0
      规范/运维/部署环境/yapi部署.md
  37. 36 0
      需求/绘管家/公式库/公式变量管理需求文档.md
  38. 35 18
      需求/绘管家/公式库/公式库.md
  39. TEMPAT SAMPAH
      需求/绘管家/客户小区管理/image/二维码.png
  40. TEMPAT SAMPAH
      需求/绘管家/客户小区管理/image/修改停车场信息.png
  41. TEMPAT SAMPAH
      需求/绘管家/客户小区管理/image/基本信息.png
  42. TEMPAT SAMPAH
      需求/绘管家/客户小区管理/image/基本信息1.png
  43. TEMPAT SAMPAH
      需求/绘管家/客户小区管理/image/客户小区列表页.png
  44. TEMPAT SAMPAH
      需求/绘管家/客户小区管理/image/小区停车场.png
  45. TEMPAT SAMPAH
      需求/绘管家/客户小区管理/image/小区推广二维码.png
  46. TEMPAT SAMPAH
      需求/绘管家/客户小区管理/image/小区详情页.png
  47. TEMPAT SAMPAH
      需求/绘管家/客户小区管理/image/微信.png
  48. TEMPAT SAMPAH
      需求/绘管家/客户小区管理/image/微信菜单配置.png
  49. TEMPAT SAMPAH
      需求/绘管家/客户小区管理/image/未生成二维码.png
  50. TEMPAT SAMPAH
      需求/绘管家/客户小区管理/image/未配置银联端.png
  51. TEMPAT SAMPAH
      需求/绘管家/客户小区管理/image/菜单树.png
  52. TEMPAT SAMPAH
      需求/绘管家/客户小区管理/image/银联.png
  53. TEMPAT SAMPAH
      需求/绘管家/客户小区管理/image/银联配置.png
  54. TEMPAT SAMPAH
      需求/绘管家/客户小区管理/image/银联配置查看.png
  55. 128 0
      需求/绘管家/客户小区管理/客户小区管理需求文档.md
  56. TEMPAT SAMPAH
      需求/绘管家/客户管理/image/datasource.png
  57. TEMPAT SAMPAH
      需求/绘管家/客户管理/image/datasource_setting.png
  58. TEMPAT SAMPAH
      需求/绘管家/客户管理/image/合同修改.png
  59. TEMPAT SAMPAH
      需求/绘管家/客户管理/image/客户入驻流程-直接添加.jpg
  60. TEMPAT SAMPAH
      需求/绘管家/客户管理/image/客户入驻流程.jpg
  61. TEMPAT SAMPAH
      需求/绘管家/客户管理/image/用户注册.png
  62. TEMPAT SAMPAH
      需求/绘管家/客户管理/image/申请入驻修改.png
  63. TEMPAT SAMPAH
      需求/绘管家/客户管理/image/登录表.png
  64. TEMPAT SAMPAH
      需求/绘管家/客户管理/image/资料补全.png
  65. 108 0
      需求/绘管家/客户管理/客户管理.md
  66. TEMPAT SAMPAH
      需求/绘管家/智能硬件/image/generalFlow.png
  67. TEMPAT SAMPAH
      需求/绘管家/智能硬件/image/iHardwareArchitechture.png
  68. TEMPAT SAMPAH
      需求/绘管家/智能硬件/人脸门禁管理/image/addReviewByEmployee.png
  69. TEMPAT SAMPAH
      需求/绘管家/智能硬件/人脸门禁管理/image/platformWorkflow.png
  70. TEMPAT SAMPAH
      需求/绘管家/智能硬件/人脸门禁管理/image/reviewFlow.png
  71. 97 0
      需求/绘管家/智能硬件/人脸门禁管理/人脸门禁设备管理.md
  72. 23 0
      需求/绘管家/智能硬件/智能硬件整体架构.md
  73. 15 0
      需求/绘管家/物业服务/报事功能需求文档.md
  74. TEMPAT SAMPAH
      需求/绘管家/物业资源/image/householder_add.png
  75. 3 2
      需求/绘管家/物业资源/住户管理功能需求说明文档.md
  76. TEMPAT SAMPAH
      需求/绘管家/用户中心/image/createWechatUser.png
  77. TEMPAT SAMPAH
      需求/绘管家/用户中心/image/userER.png
  78. 79 0
      需求/绘管家/用户中心/用户管理需求说明.md
  79. 61 0
      需求/绘管家/绘管家绘服务重构目标.md
  80. 107 0
      需求/绘管家/调研记录.md
  81. 61 0
      需求/绘管家/调研记录/柳州调研记录.md
  82. TEMPAT SAMPAH
      需求/绘管家/资讯管理/image/addinformation.png
  83. TEMPAT SAMPAH
      需求/绘管家/资讯管理/image/addinformation2.png
  84. TEMPAT SAMPAH
      需求/绘管家/资讯管理/image/addtype.png
  85. TEMPAT SAMPAH
      需求/绘管家/资讯管理/image/delete.png
  86. TEMPAT SAMPAH
      需求/绘管家/资讯管理/image/deletewarn.png
  87. TEMPAT SAMPAH
      需求/绘管家/资讯管理/image/typelist.png
  88. 58 0
      需求/绘管家/资讯管理/资讯管理.md

+ 29 - 0
分享/2019年给研发部同事的一封信.md

@@ -0,0 +1,29 @@
+## 2019年给研发部同事的一封信
+
+尊敬的各位研发部同事:
+
+2019年春节期间,突然冒出的想法,向给各位同事写一封信,分享一些自己的一些经理和一些感受。
+
+我是2013年来到海南的,是坐火车过来的,从北京到海南,相隔3000多公里,整整坐了2天一夜。还记得在徐闻等待过海时,仰望着窗外的星空,心里默默想着要在海南成就一份事业。然后,就开启了寻觅合适事业的5年。
+
+回过头来看,5年的时间里是不断的切换角色,工作内容的过程。从最开始的一个人做硬件,到转做苹果App,到做后台,再到今天……这几年期间,可以说是战战兢兢,如履薄冰,充满危机感。
+
+我在北京做的是硬件,到海南才发现连买电子元器件的地方都没有!在海南第一家公司做硬件,所有元器件的购买都是托北京的朋友完成的。做了不到一年,项目停止了!当时的想法是很可能又要找工作了,而诺大的海南做硬件的公司少之又少!机缘巧合,因为和硬件打交道,有点C语言基础,公司让我试着学习一下苹果App开发。当时的我,没用过iPhone,没有苹果电脑,也没有任何做过客户端,硬着头皮就上了。2014年是社区O2O的风口。机缘巧合,当时的公司和现在我们的集团公司合作做社区App项目,我的第一款App上线了App Store。然而,仅仅是上线而已,项目没做半年再次终止。
+
+原来的公司领导又拉我们出来做外包,开始了痛苦的外包过程。也没支撑多久,公司又遭遇了资金困难,不得不离职找工作。去复兴城的一家P2P金融公司(18年以为兑付问题已经停止经营),做了2个多月,虽然工作很轻松,基本上半天能干完一天的活,但是感觉却是浪费时间,于是试用期未过辞职出来和朋友创业。这期间再次接触到了我们的集团公司,成为了集团公司的外包方。当时,因为工作的复杂性,我们团队讨论了很久,最终大家一致认为物业行业是一个连接社区的衣食住行娱乐游玩的行业,这个行业足够大,也足够有延伸性,值得我们做5年甚至10年。也是在这个时候,我开始了后台开发。数据库只在当时找工作时学了学,PHP语言从未接触过,就这样从头再学。然后,有了“小区汇”。“小区汇”在2018年基本没有运营的情况下,产生了近800万的缴费额,是这几年外包项目中让我们最有成就感的一个外包项目。到了2018年4月份,我们又走到了十字路口。我们是一支纯粹的技术型团队,缺少客户资源和市场拓展能力,往下走基本上可以看到头。最终,在我们现在的林董事长的赏识之下,我们从外包方变成了智慧城的一员直到今天。之所以会选择留在智慧城,还是我们当时的初衷,这个行业值得我们奋斗,深耕5到10年,只要我们坚持就能够创造出属于我们的一片天地!
+
+很多人会说上大学没学到什么,但是,我想还是要感谢大学。也许,大学赋予我们的知识是与时代脱节的,但是却也是在大学才掌握了受用一生的自我学习能力。__学习__,才是能够跟得上这个快速变化,知识爆炸时代的唯一途径。而保持__危机感__则是学习的最大动力。18年是整个中国危机感很强的一年,而海南尤为严重。我接触的很多技术型或互联网的公司都面临各种各样的问题,欠薪,裁员比比皆是。海南的巨头企业海航负债超过6000亿,要知道,整个海南省2018年的GDP还不到5000亿!由于地产行业的限购政策的影响,海南省的GDP从2017年的7%增长率下滑到了2018年的5.8%。整个中国也是一样,受去杠杆,中美贸易战影响,国内也是危机四伏。阿里巴巴,京东,百度等巨头都采取了各种各样形式的裁员。2019年,这种情况大概率会延续。有危机,更会蕴藏机遇,而机会则是留给准备充分的人。因此,给各位的建议是“广积粮”,持续学习,积累知识,终有大展宏图的一天。
+
+18年公司年会上,我说我们公司18年最大的收获是拥有了一支优秀的队伍,让我们有了打造优秀产品的基础。我想要感谢我们研发部的每一位同事,是你们的支持让我有了这一份信心。
+
+招聘大家入职的时候,我经常会问的一个问题是大家的职业规划。大家的回答有很多,成为技术架构师、带团队、追求稳定……我相信大家的回答都是发自内心的,我在找工作的时候也是类似的回答。然而,我想给大家的一个建议是:经常问问自己,为了这些规划的实现,我做出努力了吗?我在北京的公司的总经理每年年会都会去讲稻盛和夫的六项精进,其中有一项是“付出不亚于任何人的努力”。在这样的一个时代里,我想研发部的各位同事努力的方向有两个,一是技术专家,二是业务专家。技术专家,遇到问题能够迎刃而解,树立起高高的门槛,让你拥有独特的价值;业务专家,能够深入行业,将复杂业务梳理清晰,助力行业发展升级。而成为专家,则需要不断的努力,不断的学习。
+
+关于付出与收获,中国人将“舍得”两个字放在一起表示大方,湖南人把“舍不得”当做小气的一种表现,有“舍”才有“得”。我清晰的记得在电视剧《贞观长歌》中的一句话,叫做“欲先取之,必先予之”。我希望大家都能够保持这样的一种心态去做事情,只要你一直这么去做,回过头来你会发现你会有满满的收获。
+
+关于我们公司的老板林奇勇先生,我想给大家介绍一下,有一个好的掌舵人是企业成功的基石。春节放假前的周五,我有幸受邀参加了新成海海口公司的员工年会。当时播放了新成海公司的司歌视频,在视频中我看到年轻时候的老板,突然一阵感动。从30来岁的意气风发的年龄做到今天头发花白,从一个小区做到了今天的集团公司,我们的董事长林奇勇可谓是一路艰辛!更重要的是,即便是今天,他依旧保持了敏锐的商业嗅觉和当年的意气风发!新成海物业集团是海南最早一批使用物业收费软件(极致)的物业公司,是最早使用OA办公的物业公司。在探索智慧社区这条路上,他一直在坚持,从未放弃。从引入智能硬件,节能产品,投入开发物业软件,电商平台,建设农业种植、养殖基地……他很早就在为社区服务做铺垫。作为我个人,是十分相信他的战略布局能够真正打造出智慧社区。而这一切,需要我们整个智慧城团队做技术、运营支撑。在海南,这样的领头人并不多,在海南像智慧城这样能够提供资金,资源和优秀团队的公司也不多,希望大家能够珍惜!
+
+中国正面临百年之未遇的战略转型期,我的研究生导师和我们说我们这一代是幸运的,将会是中华民族伟大复兴的见证者。而我们,也将成为中华民族伟大复兴的贡献者!任重而道远,19年将会是整个公司极为关键的一年,希望大家能够一起努力,携手创造属于我们的美好未来。作为研发部的负责人,我希望我们研发部是一个__自我驱动__,__持续学习__,__舍得付出__,__乐于分享__,__真诚协作__的团队!希望有一天,谈起智慧城科技的时候,我们能够让大家对来自海南的科技公司竖起大拇指!也能够让大家对来自海南的研发队伍竖起大拇指!
+
+        此致!
+    
+       祝新春愉快,身体健康,阖家幸福!

TEMPAT SAMPAH
工作计划/月度计划/image/April.png


TEMPAT SAMPAH
工作计划/月度计划/image/February.png


TEMPAT SAMPAH
工作计划/月度计划/image/March.png


+ 117 - 0
工作计划/月度计划/研发部2019年1月总结及2月计划.md

@@ -0,0 +1,117 @@
+# 研发部2019年2月工作计划
+
+![2月工作计划](image/February.png)
+
+2月份部门各个成员的工作计划如下:
+
+* 许书进
+
+  * 配合前端王其标完成组织架构的机构管理,岗位管理,人员管理和授权管理的功能开发;
+
+  * 财务核心模块支付网关,资金流和资金账户的功能开发
+
+  * 配合前端完成已开发的字典管理接口调试
+
+  * 图片上传接口
+
+  * 富文本保存和读取
+
+* 李才波
+
+  * 用户中心用户人脸,用户家庭成员功能的开发
+
+  * 任务系统50%的功能开发(需求待明确)
+
+* 吴红萍
+
+  * 物业服务的服务电话,制度标准,内容管理功能开发
+
+  * 用户中心的用户信息,用户第三方信息的管理
+
+  * 信息中心二维码管理功能
+
+* 刘群奇
+
+  * 运营工具(如数据清理)的开发支持运营工作
+
+  * 在线缴纳临时费用和预付款功能的开发
+
+  * 迁移测试服务器
+
+* 黎明笋
+
+  * 数据导入的提示优化(将出错信息按行列出,方便排查数据问题)
+
+  * 在线支付收工对账(调银联接口对账)
+
+  * 抄表导出增加上次读数和按房屋号排序
+
+  * 住户列表支持按姓名搜索
+
+  * 收费标准单价支持8位小数
+
+* 陈曦
+
+  * 任务中心原型和需求文档
+
+  * 账单状态明确
+
+* 陈海蓝
+
+  * 绘管家1.0新增功能或优化的测试
+
+  * 绘管家2.0物业资源管理测试
+
+  * 绘管家2.0物业服务测试
+
+  * 输出测试报告
+
+* 王其标
+
+  * 组织架构页面开发和接口对接
+
+  * (平台后台)用户中心页面开发和接口对接
+
+  * (平台后台)信息中心城市管理、字典管理
+
+  * 图片裁剪与上传
+
+  * 富文本控件
+
+* 冯斯武
+
+  * 物业服务中的通知公告页面开发和接口对接
+
+  * 物业服务中的报事报修页面开发和接口对接
+
+  * 服务电话页面开发
+
+  * 制度标准页面开发
+
+  * 内容管理页面开发
+
+  * 绘服务临时费用和预付款页面开发
+
+* 冯应会
+
+  * 办公室室内文化墙设计
+
+  * 智能硬件产品落地图设计
+
+  * 绘服务临时缴费和预付款缴纳页面设计
+
+  * 其他临时宣传物料
+
+* 李爱光
+
+  * 研发部各项工作跟进
+
+  * 绘管家房屋导入,住户导入和账单导入Excel检查工具开发
+
+  * 组织架构原型调整及需求文档
+
+  * 物业服务的服务电话,制度标准和内容管理原型及需求文档
+
+  * 用户中心原型及需求文档
+
+  * 绘服务支持在线缴纳临时费用和预付款

+ 93 - 0
工作计划/月度计划/研发部2019年3月计划.md

@@ -0,0 +1,93 @@
+# 研发部3月份工作计划
+
+![March](image/March.png)
+
+## 后端开发
+
+### 书进
+
+1. 2.0开发工作分配
+
+2. 待定
+
+### 明笋
+
+1. 绘管家1.0
+
+2. 绘管家2.0平台资讯管理(分类+文章管理)
+
+### 才波
+
+1. 待定
+
+红萍
+
+1. 待定
+
+## 前端开发
+
+### 其标
+
+1. 前端开发工作分配
+
+2. 待定
+
+### 斯武
+
+1. 待定
+
+### 吴薇
+
+1. 待定
+
+## 产品
+
+### 陈曦
+
+1. 收费系统定稿
+
+2. 任务系统第一阶段定稿
+
+3. 产品复核
+
+### 毅苑
+
+1. 客户管理定稿
+
+2. 资讯管理定稿
+
+3. 门禁管理定稿
+
+4. 产品复核
+
+## 测试
+
+### 海蓝
+
+1. 绘管家1.0新功能测试和Bug修复确认
+
+2. 绘管家2.0物业服务和收费系统测试
+
+## 设计
+
+### 应会
+
+1. 公司使命墙定稿
+
+2. 绘管家40x,50x页面设计
+
+3. 绘管家绘服务基本物料更改(替换二维码,名称等)
+
+4. 物管事业部推广物料(金山小区活动海报等)
+
+5. 其他临时物料设计
+
+## 李爱光
+
+1. 物管1.0实施辅助工具
+
+2. 产品复核
+
+3. 工作跟进
+
+4. 公司其他事项 

+ 71 - 0
工作计划/月度计划/研发部2019年4月计划.md

@@ -0,0 +1,71 @@
+# 研发部4月份工作计划
+
+![March](image/April.png)
+
+## 后端开发
+
+### 书进
+
+1. 2.0开发工作分配
+
+2. 待定
+
+### 明笋
+
+1. 绘管家1.0
+
+2. 绘管家2.0平台资讯管理(分类+文章管理)
+
+### 才波
+
+1. 待定
+
+### 红萍
+
+1. 待定
+
+### 洪捷
+
+### 金标
+
+## 前端开发
+
+### 其标
+
+1. 前端开发工作分配
+
+2. 待定
+
+### 斯武
+
+1. 待定
+
+### 吴薇
+
+1. 待定
+
+## 产品
+
+### 陈曦
+
+1. 收费系统文档
+
+2. 任务系统第一阶段定稿
+
+3. 产品复核
+
+4. 人事系统原型及文档
+
+## 测试
+
+### 海蓝
+
+1. 绘管家1.0新功能测试和Bug修复确认
+
+2. 绘管家2.0收费系统测试
+
+## 设计
+
+### 应会
+
+## 李爱光

+ 15 - 0
工具/MacOS X工具推荐.md

@@ -0,0 +1,15 @@
+# MacOS X工具
+
+###### 更新日期:2019-03-11
+
+### 屏幕取色软件:[Pikka](https://www.redactry.com/pikkaapp/)
+
+![pikka](image/pikka.png)
+
+__Pikka__是MacOS X的一款屏幕取色软件,十分简洁易用,使用颜色选择器,可以从屏幕上的任何地方使用放大镜选择准确的颜色,它将立即复制到剪贴板的首选格式。您可以通过单击菜单栏或使用颜色库复制代码。而且支持将颜色转换为多种开发语言的代码,如CSS,Java,Objective-C,Swift等。
+
+## FTP传输工具:[Transmit (小卡车)](https://www.panic.com/transmit/)
+
+![transmit5](image/transmit5.png)
+
+Transmit是Mac上的一款非常好用的FTP文件传输管理软件,无论在界面还是用户体验上做的都很好,支持连接历史记录、喜爱列表、双栏浏览、连接为本地磁盘等,除了FTP协议外,还支持SFTP、亚马逊的S3、WebDAV等协议,连接和文件传输速度都很快,非常不错, Mac 上首选的 FTP 客户端!

TEMPAT SAMPAH
工具/image/charles.png


TEMPAT SAMPAH
工具/image/pikka.png


TEMPAT SAMPAH
工具/image/sourcetree.png


TEMPAT SAMPAH
工具/image/switchhosts.png


TEMPAT SAMPAH
工具/image/transmit5.png


+ 20 - 0
工具/提升工作效率的工具.md

@@ -39,3 +39,23 @@ __PostMan__是一款跨平台的接口调试软件,支持Windows,Mac和Linux
 ![StarUML](image/staruml.png)
 
 __StarUML__是一款集UML,ER图,流程图,用例图,时序图,状态机等多种图形的系统设计工具,支持Windows,Mac和Linux(可惜要收费,网上也有破解方法)。对于复杂软件来说,通过StarUML可以帮助你理顺各个实体的关系,业务逻辑。
+
+# Host管理工具:[SwitchHosts](https://oldj.github.io/SwitchHosts/)
+
+host管理工具能够将某个域名解析到指定的ip地址上,开发中有时候需要将域名指向本机,或者某些网站因为特殊原因被DNS解析到不可访问的域名上(如谷歌),可以通过指定ip的方式访问。
+
+SwitchHosts是一款开源跨平台软件,特点是可以分多个分组分开管理,可以组合设置,十分方便开发的时候切换线上和本机环境。
+
+![SwicthHosts](image/switchhosts.png)
+
+# 抓包代理工具:[Charles](https://www.charlesproxy.com/download/)
+
+Charles是有名的代理抓包工具,支持SSL代理,流量控制,ajax调试,请求重发,网络请求数据包抓取等。Charles支持Windows,Mac OSX和Linux系统,具体教程可以查看[Charles使用大全](https://www.jianshu.com/p/d0a5e6986445)。软件需要收费,可以找到破解版本。
+
+![Charles](image/charles.png)
+
+# Git桌面工具:[SourceTree](https://www.sourcetreeapp.com/)
+
+SourceTree是跨平台的免费Git可视化管理工具,目前支持Mac OS X和Windows,可以方便地提交,拉取或推送文件。
+
+![SourceTree](image/sourcetree.png)

+ 2 - 0
工具/设计素材网站.md

@@ -17,3 +17,5 @@
 8. [设计师联盟](http://www.68design.net/)
 
 9. [知乎推荐](https://www.zhihu.com/question/20396362)
+
+10. [腾讯CDC互联网设计平台](https://cdc.tencent.com/)

+ 246 - 0
规范/Java后端/Java后端开发手册.md

@@ -0,0 +1,246 @@
+# Java后端开发手册
+
+### 技术栈介绍
+
+| 模块         | 主键                                                         |
+| ------------ | ------------------------------------------------------------ |
+| 核心框架     | spring boot 2.1.2.RELEASE                                    |
+| 安全框架     | spring security 2.1.2.RELEASE                                |
+| 注册中心     | eureka                                                       |
+| 网关         | spring cloud gateway                                         |
+| 服务监控     | spring boot admin                                            |
+| 请求链追踪   | zipkin-server 2.12.0                                         |
+| 服务间调用   | feign 10.1.0                                                 |
+| http框架     | okhttp3                                                      |
+| 表单校验     | hibernate-validator 6.0.14.Final                             |
+| 数据库连接池 | druid 1.1.10                                                 |
+| 持久层       | mybatis 3.4.6                                                |
+| 缓存框架     | spring-data-redis 2.1.4.RELEASE、lettuce 5.1.3.RELEASE       |
+| 日志管理     | logback 1.2.3、slf4j 1.7.25                                  |
+| 定时任务     | quartz 2.3.0                                                 |
+| 工作流引擎   | flowable 6.4.1                                               |
+| 消息队列     | rocketMQ                                                     |
+| 性能测试框架 | contiperf 2.3.4                                              |
+| 验证码       | kaptcha 2.3.2                                                |
+| 配置文件加密 | jasypt 2.1.1                                                 |
+| 工具类       | lombok 1.18.2、joda-time 2.10.1、easyexcel 1.1.2-beta5、commons-lang3 3.3.2、pinyin4j 2.5.1、pagehelper 5.1.8、swagger 2.9.2 |
+
+### 基础环境
+
+操作系统:Ubuntu 18.04.1 LTS
+
+代码仓库:Git 2.17.1
+
+发版构建工具:Jenkins ver. 2.150.1、JDK 1.8.0_191、Maven 3.6.0
+
+接口文档管理:YApi 1.4.3、Swagger 2.9.2
+
+Maven私服:Nexus 3.15.2-01
+
+### 代码生成器介绍
+
+项目:wisdom-generator
+
+使用spring boot + velocity模板引擎实现,根据已设计好的表结构,完成dao、service、controller三层代码自动生成,并同时生成swagger文档以及基础的表单校验
+
+### 项目工程介绍
+
+##### 框架
+
+* wisdom-common (共通包,共通配置、工具类、通用bean) http://git.wisdomcity.com.cn/WisdomCity-JAVA/wisdom-common.git
+* wisdom-ds (动态数据源)http://git.wisdomcity.com.cn/WisdomCity-JAVA/wisdom-ds.git
+* wisdom-monitor (spring cloud服务监控)http://git.wisdomcity.com.cn/WisdomCity-JAVA/wisdom-monitor.git
+* wisdom-track (服务调用链追踪)http://git.wisdomcity.com.cn/WisdomCity-JAVA/wisdom-track.git
+* wisdom-gateway (服务网关)http://git.wisdomcity.com.cn/WisdomCity-JAVA/wisdom-gateway.git
+* wisdom-center (服务注册中心)http://git.wisdomcity.com.cn/WisdomCity-JAVA/wisdom-center.git
+* wisdom-parent (父pom,管理依赖包版本)http://git.wisdomcity.com.cn/WisdomCity-JAVA/wisdom-parent.git
+
+##### 业务
+
+* wisdom-asset (资产管理系统)http://git.wisdomcity.com.cn/WisdomCity-JAVA/wisdom-asset.git
+* wisdom-bill (账单管理系统)http://git.wisdomcity.com.cn/WisdomCity-JAVA/wisdom-bill.git
+* wisdom-platform (平台系统)http://git.wisdomcity.com.cn/WisdomCity-JAVA/wisdom-platform.git
+* wisdom-serve (物业服务系统)http://git.wisdomcity.com.cn/WisdomCity-JAVA/wisdom-serve.git
+* wisdom-payment (支付网关)http://git.wisdomcity.com.cn/WisdomCity-JAVA/wisdom-payment.git
+* wisdom-auth (授权中心)http://git.wisdomcity.com.cn/WisdomCity-JAVA/wisdom-auth.git
+* wisdom-flow (工作流模块)http://git.wisdomcity.com.cn/WisdomCity-JAVA/wisdom-flow.git
+* wisdom-push (推送系统)http://git.wisdomcity.com.cn/WisdomCity-JAVA/wisdom-push.git
+* wisdom-file (文件系统)http://git.wisdomcity.com.cn/WisdomCity-JAVA/wisdom-file.git
+
+### 开发步骤
+
+1. 原型评估
+
+2. 接口设计及接口文档编写
+
+3. 数据库表设计
+
+4. 代码生成
+
+5. 代码编写完善
+
+6. 功能发版
+
+7. 与前端联调
+
+8. 交付测试,bug跟踪
+
+   
+
+### 项目工程基础配置
+
+##### maven私服配置
+
+```xml
+<settings xmlns="http://maven.apache.org/SETTINGS/1.0.0"
+          xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+          xsi:schemaLocation="http://maven.apache.org/SETTINGS/1.0.0 http://maven.apache.org/xsd/settings-1.0.0.xsd">
+  <localRepository>D:/usr/bin/Java/apache-maven-3.5.2/maven-dependcies</localRepository>
+  <pluginGroups>
+  </pluginGroups>
+  <proxies>
+  </proxies>
+  <servers>
+    <!-- 智慧城私服 -->
+	<server>
+      <id>wisdom</id>
+      <username>admin</username>
+      <password>WisdomCity@2019</password>
+    </server>
+  </servers>
+  <mirrors>
+	<!-- 智慧城私服 -->
+	<mirror>
+        <id>wisdom</id>
+        <mirrorOf>central</mirrorOf>
+        <url>http://139.159.210.228:8081/repository/maven-public/</url>
+    </mirror>
+	<!-- 智慧城私服 -->
+	<mirror>
+        <id>spring</id>
+        <mirrorOf>spring-milestones</mirrorOf>
+        <url>http://139.159.210.228:8081/repository/spring-milestones/</url>
+    </mirror>
+  </mirrors>
+  <profiles>
+	<profile>
+     <id>wisdom</id>
+     <repositories>
+       <repository>
+         <id>central</id>
+         <url>http://central</url>
+         <releases>
+           <enabled>true</enabled>
+         </releases>
+         <snapshots>
+           <enabled>true</enabled>
+		   <updatePolicy>always</updatePolicy>
+           <checksumPolicy>warn</checksumPolicy>
+         </snapshots>
+       </repository>
+     </repositories>
+     <pluginRepositories>
+       <pluginRepository>
+         <id>central</id>
+         <url>http://central</url>
+         <releases>
+           <enabled>true</enabled>
+         </releases>
+         <snapshots>
+           <enabled>true</enabled>
+		   <updatePolicy>always</updatePolicy>
+           <checksumPolicy>warn</checksumPolicy>
+         </snapshots>
+       </pluginRepository>
+     </pluginRepositories>
+   </profile>
+   <profile>
+      <id>spring-milestones</id>
+      <repositories>
+        <repository>
+          <id>spring-milestones</id>
+          <url>https://spring</url>
+          <releases>
+            <enabled>true</enabled>
+          </releases>
+          <snapshots>
+            <enabled>false</enabled>
+          </snapshots>
+        </repository>
+      </repositories>
+      <pluginRepositories>
+        <pluginRepository>
+          <id>spring-milestones</id>
+          <url>https://spring</url>
+          <releases>
+            <enabled>true</enabled>
+          </releases>
+          <snapshots>
+            <enabled>false</enabled>
+          </snapshots>
+        </pluginRepository>
+      </pluginRepositories>
+    </profile>
+  </profiles>
+  <activeProfiles>
+    <activeProfile>wisdom</activeProfile>
+    <activeProfile>spring-milestones</activeProfile>
+  </activeProfiles>
+</settings>
+```
+
+##### pom配置
+
+```xml
+   <parent>
+        <groupId>com.wisdom</groupId>
+        <artifactId>wisdom-cloud-parent</artifactId>
+        <version>1.0.0-SNAPSHOT</version>
+        <relativePath/> <!-- lookup parent from repository -->
+    </parent>
+
+
+	<build>
+        <finalName>wisdom-xxx</finalName>
+        <plugins>
+            <plugin>
+                <groupId>org.springframework.boot</groupId>
+                <artifactId>spring-boot-maven-plugin</artifactId>
+            </plugin>
+        </plugins>
+    </build>
+```
+
+##### SwaggerConfig
+
+```java
+@Configuration
+@EnableSwagger2
+public class SwaggerConfig {
+    @Bean
+    public Docket createRestApi() {
+        return new Docket(DocumentationType.SWAGGER_2)
+                .apiInfo(apiInfo())
+                .select()
+                .apis(RequestHandlerSelectors.basePackage("com.wisdom.xxx.web"))
+                .paths(PathSelectors.any())
+                .build();
+    }
+
+    private ApiInfo apiInfo() {
+        return new ApiInfoBuilder()
+                .title("xxx系统")
+                .description("xxx系统")
+                .termsOfServiceUrl("http://wuye.huiguanjia.cn")
+                .version("1.0")
+                .build();
+    }
+}
+```
+
+##### 开发约定
+
+详见:[Java开发约定]:http://doc.huiguanjia.cn/markdown/content/router?filePath=/tmp/docs/develop/规范/Java后端/Java后端开发规范.md&code=null
+
+
+

TEMPAT SAMPAH
规范/UI/image/firstMenu.png


TEMPAT SAMPAH
规范/UI/image/newsThumb.png


TEMPAT SAMPAH
规范/UI/image/parkingQrcode.png


TEMPAT SAMPAH
规范/UI/image/qrcodeToGet.jpg


TEMPAT SAMPAH
规范/UI/image/replyAvatar.png


TEMPAT SAMPAH
规范/UI/image/residenceLogo.png


+ 45 - 0
规范/UI/绘管家后台占位图及图标.md

@@ -0,0 +1,45 @@
+# 绘管家后台占位图及图标
+
+## 图标尺寸规范
+
+| 图标名称           | 图片尺寸(像素) | 显示尺寸(像素) |
+| -------------- | -------- | -------- |
+| 左侧一级导航图标       | 44x44    | 22x22    |
+| 小区详情待生成二维码     | 280x280  | 140x140  |
+| 小区详情车场列表二维码图标  | 44x44    | 22x22    |
+| 平台资讯列表缩略图      | 680x280  | 340x140  |
+| 小区列表Logo       | 80x80    | 40x40    |
+| 报事报修头像(分业主和员工) | 76x76    | 38x38    |
+|                |          |          |
+|                |          |          |
+|                |          |          |
+
+## 图标需求
+
+### 一级导航
+
+* 物业服务(44 x 44像素)
+
+![一级导航-物业服务](image/firstMenu.png)
+
+### 页面图标
+
+* 小区详情待生成占位图 (280 x 280像素)
+
+![qrcodeToGet](image/qrcodeToGet.jpg)
+
+* 小区详情车场列表二维码获取图标按钮 (44 x 44)
+
+![parkingQrcode](image/parkingQrcode.png)
+
+* 平台资讯列表缩略图(680 x 280)
+
+![newsThumb](image/newsThumb.png)
+
+* 小区列表Logo (圆形,80x80)
+
+![小区Logo](image/residenceLogo.png)
+
+* 报事报修回复人头像 (圆形,76x76,区分业主和物业员工)
+
+![replyAvatar](image/replyAvatar.png)

+ 33 - 0
规范/运维/Linux环境部署规划.md

@@ -0,0 +1,33 @@
+# Linux环境部署规划
+
+### 系统版本
+
+* Ubuntu 18.04.1 LTS
+* JDK8
+* Maven 3.6.0
+* Git 2.17.1
+* Jenkins 2.150.1
+* YApi 1.4.3
+* Nexus 3.15.2-01
+
+### 系统用户
+
+* root 用户
+* ftp用户(仅能访问限定的目录)
+* dev用户(用于启动各种应用)
+* jenkins用户(仅用于发版)
+
+### 目录划分
+
+| 目录               | 功能描述                                |
+| ------------------ | --------------------------------------- |
+| /data/ftp          | FTP共享目录                             |
+| /data/log          | 应用日志                                |
+| /data/publish/java | Java后端应用发布路径(Jenkins用户授权) |
+| /data/publish/web  | 前端应用发布路径(Jenkins用户授权)     |
+| /data/soft         | 应用存放日志                            |
+| /data/bin          | 应用安装路径                            |
+| /data/back         | 备份文件路径                            |
+| /data/file         | 数据文件路径                            |
+
+![网络拓扑](image/网络拓扑.jpg)

TEMPAT SAMPAH
规范/运维/image/网络拓扑.jpg


+ 261 - 0
规范/运维/堡垒机搭建.md

@@ -0,0 +1,261 @@
+# 堡垒机Jumpserver搭建
+
+### 系统环境
+
+* Ubuntu 18.04.2 LTS
+
+### 安装步骤
+
+##### 准备 Python3 和 Python 虚拟环境
+
+1. 安装依赖包
+
+   ```shell
+   $ apt-get update && apt-get -y upgrade
+   $ apt-get -y install wget gcc libffi-dev git libmysqlclient-dev
+   
+   # 修改字符集, 否则可能报 input/output error的问题, 因为日志里打印了中文
+   $ apt-get -y install language-pack-zh-hans
+   $ export LC_ALL=zh_CN.UTF-8
+   $ echo 'LANG="zh_CN.UTF-8"' > /etc/default/locale
+   ```
+
+2. 安装 Python3.6
+
+   ```shell
+   $ add-apt-repository ppa:jonathonf/python-3.6 -y
+   $ apt-get update
+   $ apt-get -y install python3.6 python3.6-dev python3.6-venv
+   # 查看python版本,如果存在多版本python则将系统默认python版本切换为python3.6
+   $ python --version
+   # 如果版本不是Python 3.6,则
+   $ echo alias python=python3 >> ~/.bashrc
+   $ source ~/.bashrc
+   # 再次检查python版本
+   $ python --version
+   ```
+
+3. 建立 Python 虚拟环境
+
+   ```shell
+   $ cd /opt
+   $ python3.6 -m venv py3
+   $ source /opt/py3/bin/activate
+   
+   # 看到下面的提示符代表成功, 以后运行 Jumpserver 都要先运行以上 source 命令, 以下所有命令均在该虚拟环境中运行
+   (py3) [root@localhost py3]
+   ```
+
+### 安装Jumpserver (以下所有命令都在python虚拟环境中执行)
+
+1. 下载或 Clone 项目
+
+   ```shell
+   $ cd /opt/
+   $ git clone https://github.com/jumpserver/jumpserver.git
+   ```
+
+2. 安装依赖包
+
+   ```shell
+   $ cd /opt/jumpserver/requirements
+   $ apt-get -y install $(cat deb_requirements.txt)  # 如果没有任何报错请继续
+   ```
+
+3. 安装 Python 库依赖
+
+   ```shell
+   $ pip install --upgrade pip setuptools
+   $ pip install -r requirements.txt
+   
+   # 如果下载速度很慢, 可以换国内源
+   $ pip install --upgrade pip setuptools -i https://mirrors.aliyun.com/pypi/simple/
+   $ pip install -r requirements.txt -i https://mirrors.aliyun.com/pypi/simple/
+   ```
+
+4. 安装 Redis, Jumpserver 使用 Redis 做 cache 和 celery broke
+
+   ```shell
+   $ apt-get -y install redis-server
+   ```
+
+5. 安装 MySQL
+
+   ```shell
+   $ apt-get -y install mysql-server  # 安装过程中注意输入数据库 root账户 的密码
+   ```
+
+6. 创建数据库 Jumpserver 并授权
+
+   ```shell
+   $ DB_PASSWORD=`cat /dev/urandom | tr -dc A-Za-z0-9 | head -c 24`  # 生成随机数据库密码
+   $ echo -e "\033[31m 你的数据库密码是 $DB_PASSWORD \033[0m"
+   $ mysql -uroot -p -e "create database jumpserver default charset 'utf8'; grant all on jumpserver.* to 'jumpserver'@'127.0.0.1' identified by '$DB_PASSWORD'; flush privileges;"
+   ```
+
+7. 修改 Jumpserver 配置文件
+
+   ```shell
+   $ cd /opt/jumpserver
+   $ cp config_example.yml config.yml
+   
+   $ SECRET_KEY=`cat /dev/urandom | tr -dc A-Za-z0-9 | head -c 50`  # 生成随机SECRET_KEY
+   $ echo "SECRET_KEY=$SECRET_KEY" >> ~/.bashrc
+   $ BOOTSTRAP_TOKEN=`cat /dev/urandom | tr -dc A-Za-z0-9 | head -c 16`  # 生成随机BOOTSTRAP_TOKEN
+   $ echo "BOOTSTRAP_TOKEN=$BOOTSTRAP_TOKEN" >> ~/.bashrc
+   
+   $ sed -i "s/SECRET_KEY:/SECRET_KEY: $SECRET_KEY/g" /opt/jumpserver/config.yml
+   $ sed -i "s/BOOTSTRAP_TOKEN:/BOOTSTRAP_TOKEN: $BOOTSTRAP_TOKEN/g" /opt/jumpserver/config.yml
+   $ sed -i "s/# DEBUG: true/DEBUG: false/g" /opt/jumpserver/config.yml
+   $ sed -i "s/# LOG_LEVEL: DEBUG/LOG_LEVEL: ERROR/g" /opt/jumpserver/config.yml
+   $ sed -i "s/# SESSION_EXPIRE_AT_BROWSER_CLOSE: false/SESSION_EXPIRE_AT_BROWSER_CLOSE: true/g" /opt/jumpserver/config.yml
+   $ sed -i "s/DB_PASSWORD: /DB_PASSWORD: $DB_PASSWORD/g" /opt/jumpserver/config.yml
+   
+   $ echo -e "\033[31m 你的SECRET_KEY是 $SECRET_KEY \033[0m"
+   $ echo -e "\033[31m 你的BOOTSTRAP_TOKEN是 $BOOTSTRAP_TOKEN \033[0m"
+   ```
+
+8. 运行 Jumpserver
+
+   ```shell
+   $ cd /opt/jumpserver
+   $ ./jms start all -d  # 后台运行使用 -d 参数./jms start all -d
+   # 运行不报错, 请继续往下操作安装 SSH Server 和 WebSocket Server: Coco
+   ```
+
+### 安装 SSH Server 和 WebSocket Server: Coco
+
+1. 下载或 Clone 项目
+
+   ```shell
+   $ cd /opt
+   $ source /opt/py3/bin/activate
+   $ git clone https://github.com/jumpserver/coco.git && cd coco && git checkout master
+   ```
+
+2. 安装依赖
+
+   ```shell
+   $ cd /opt/coco/requirements
+   $ pip install -r requirements.txt
+   
+   # 如果下载速度很慢, 可以换国内源
+   $ pip install -r requirements.txt -i https://mirrors.aliyun.com/pypi/simple/
+   ```
+
+3. 查看配置文件并运行
+
+   ```shell
+   $ cd /opt/coco
+   $ cp config_example.yml config.yml
+   $ vi config.yml
+   # 修改BOOTSTRAP_TOKEN为/opt/jumpserver/config.yml的BOOTSTRAP_TOKEN
+   $ ./cocod start -d  # 后台运行使用 -d 参数./cocod start -d
+   ```
+
+### 安装 Web Terminal 前端: Luna
+
+1. 下载解压Luna
+
+   ```shell
+   $ cd /opt/
+   $ wget https://github.com/jumpserver/luna/releases/download/1.4.9/luna.tar.gz
+   
+   # 如果网络有问题导致下载无法完成可以使用下面地址
+   $ wget https://demo.jumpserver.org/download/luna/1.4.9/luna.tar.gz
+   
+   $ tar xf luna.tar.gz
+   $ chown -R root:root luna
+   ```
+
+### 配置 Nginx 整合各组件
+
+1. 安装 Nginx
+
+   ```shell
+   $ apt-get -y install nginx
+   $ rm -rf /etc/nginx/site-enabled/default
+   ```
+
+2. 创建配置文件 /etc/nginx/site-enabled/jumpserver.conf
+
+   ```shell
+   $ vim /etc/nginx/site-enabled/jumpserver.conf
+   # 文件内容
+   server {
+       listen 80;
+       server_name _;
+   
+       client_max_body_size 100m;  # 录像及文件上传大小限制
+   
+       location /luna/ {
+           try_files $uri / /index.html;
+           alias /opt/luna/;  # luna 路径, 如果修改安装目录, 此处需要修改
+       }
+   
+       location /media/ {
+           add_header Content-Encoding gzip;
+           root /opt/jumpserver/data/;  # 录像位置, 如果修改安装目录, 此处需要修改
+       }
+   
+       location /static/ {
+           root /opt/jumpserver/data/;  # 静态资源, 如果修改安装目录, 此处需要修改
+       }
+   
+       location /socket.io/ {
+           proxy_pass       http://localhost:5000/socket.io/; # 如果coco安装在别的服务器, 请填写它的ip
+           proxy_buffering off;
+           proxy_http_version 1.1;
+           proxy_set_header Upgrade $http_upgrade;
+           proxy_set_header Connection "upgrade";
+           proxy_set_header X-Real-IP $remote_addr;
+           proxy_set_header Host $host;
+           proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
+           access_log off;
+       }
+   
+       location /coco/ {
+           proxy_pass       http://localhost:5000/coco/;
+           proxy_set_header X-Real-IP $remote_addr;
+           proxy_set_header Host $host;
+           proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
+           access_log off;
+       }
+   
+       location /guacamole/ {
+           proxy_pass       http://localhost:8081/;  # 如果guacamole安装在别的服务器, 请填写它的ip
+           proxy_buffering off;
+           proxy_http_version 1.1;
+           proxy_set_header Upgrade $http_upgrade;
+           proxy_set_header Connection $http_connection;
+           access_log off;
+           proxy_set_header X-Real-IP $remote_addr;
+           proxy_set_header Host $host;
+           proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
+       }
+   
+       location / {
+           proxy_pass http://localhost:8080;
+           proxy_set_header X-Real-IP $remote_addr;
+           proxy_set_header Host $host;
+           proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
+       }
+   }
+   ```
+
+3. 重启Nginx
+
+   ```shell
+   $ nginx -t  # 如果没有报错请继续
+   $ nginx -s reload
+   ```
+
+### 开始使用Jumpserver
+
+服务全部启动后, 访问http://localhost
+
+账号:admin
+
+密码:admin
+
+完结!

+ 62 - 0
规范/运维/部署环境/Jenkins部署.md

@@ -0,0 +1,62 @@
+# 部署步骤
+
+
+
+
+
+
+
+# 配置文件
+
+### java后端
+
+```
+DATE=$(date +%Y%m%d)
+export JAVA_HOME PATH CLASSPATH
+JAVA_HOME=/usr/local/jdk1.8
+PATH=$JAVA_HOME/bin:$JAVA_HOME/jre/bin:$PATH
+CLASSPATH=.:$JAVA_HOME/lib:$JAVA_HOME/jre/lib:$CLASSPATH
+APPNAME=wisdom-platform
+DIR=/root/java/publish
+JARFILE=$APPNAME.jar
+if [ ! -d $DIR/backup ];then
+   mkdir -p $DIR/backup
+fi
+cd $DIR
+pwd
+pid=`ps -ef | grep $APPNAME.jar | grep -v grep | awk '{print $2}'`
+echo $pid
+if [ -n "$pid" ];
+then
+kill -9 $pid
+fi
+echo "kill done"
+if [ -f "$JARFILE" ];
+then
+mv $JARFILE backup/$JARFILE$DATE
+fi
+mv -f /var/lib/jenkins/workspace/$APPNAME/target/$JARFILE .
+
+nohup java -Xms128m -Xmx512m -jar $JARFILE --spring.profiles.active=test > $APPNAME.log &
+if [ $? = 0 ];then
+        sleep 30
+        tail -n 50 $APPNAME.log
+fi
+cd backup/
+ls -lt|awk 'NR>5{print $NF}'|xargs rm -rf
+```
+
+### vue前端
+
+```
+DATE=$(date +%Y%m%d)
+DIR=/root/web/wisdom-saas/public
+npm install
+npm run build
+if [ -d "$DIR" ];
+then
+rm -rf $DIR$DATE
+mv $DIR $DIR$DATE
+fi
+mv dist $DIR
+```

+ 0 - 0
规范/运维/部署环境/Ubuntu环境配置.md


+ 0 - 0
规范/运维/部署环境/jdk部署.md


+ 0 - 0
规范/运维/部署环境/maven私服部署.md


+ 0 - 0
规范/运维/部署环境/maven部署.md


+ 0 - 0
规范/运维/部署环境/mongo部署.md


+ 0 - 0
规范/运维/部署环境/mysql部署.md


+ 180 - 0
规范/运维/部署环境/nginx部署.md

@@ -0,0 +1,180 @@
+# 部署步骤
+
+
+
+
+
+
+
+
+
+
+
+# 配置文件
+
+### nginx.conf
+
+```
+user root;
+worker_processes auto;
+
+error_log /data/dev/log/error_nginx.log info;
+#pid /var/run/nginx.pid;
+#worker_rlimit_nofile 51200;
+
+events {
+  use epoll;
+  worker_connections 1024;
+  multi_accept on;
+}
+
+http {
+  include mime.types;
+  default_type application/octet-stream;
+  server_names_hash_bucket_size 128;
+  client_header_buffer_size 32k;
+  large_client_header_buffers 4 32k;
+  client_max_body_size 1024m;
+  client_body_buffer_size 10m;
+  sendfile on;
+  tcp_nopush on;
+  keepalive_timeout 120;
+  server_tokens off;
+  tcp_nodelay on;
+
+  fastcgi_connect_timeout 300;
+  fastcgi_send_timeout 300;
+  fastcgi_read_timeout 300;
+  fastcgi_buffer_size 64k;
+  fastcgi_buffers 4 64k;
+  fastcgi_busy_buffers_size 128k;
+  fastcgi_temp_file_write_size 128k;
+  fastcgi_intercept_errors on;
+
+  #Gzip Compression
+  gzip on;
+  gzip_buffers 16 8k;
+  gzip_comp_level 6;
+  gzip_http_version 1.1;
+  gzip_min_length 256;
+  gzip_proxied any;
+  gzip_vary on;
+  gzip_types
+    text/xml application/xml application/atom+xml application/rss+xml application/xhtml+xml image/svg+xml
+    text/javascript application/javascript application/x-javascript
+    text/x-json application/json application/x-web-app-manifest+json
+    text/css text/plain text/x-component
+    font/opentype application/x-font-ttf application/vnd.ms-fontobject
+    image/x-icon;
+  gzip_disable "MSIE [1-6]\.(?!.*SV1)";
+
+  #If you have a lot of static files to serve through Nginx then caching of the files' metadata (not the actual files' contents) can save some latency.
+  open_file_cache max=1000 inactive=20s;
+  open_file_cache_valid 30s;
+  open_file_cache_min_uses 2;
+  open_file_cache_errors on;
+
+########################## vhost #############################
+  include vhost/*.conf;
+}
+```
+
+### vhost/saas-admin.conf
+
+```
+server {
+    listen 8171;
+    server_name 127.0.0.1;
+
+    root   html;
+    index  index.html index.htm index.php;
+
+
+    location / {
+        root /root/web/wisdom-saas/public/;
+    index index.html;
+    try_files $uri $uri/ /index.html;
+
+        #Proxy Settings
+        proxy_redirect     off;
+        proxy_set_header   Host             $host;
+        proxy_set_header   X-Real-IP        $remote_addr;
+        proxy_set_header   X-Forwarded-For  $proxy_add_x_forwarded_for;
+        proxy_next_upstream error timeout invalid_header http_500 http_502 http_503 http_504;
+        proxy_max_temp_file_size 0;
+        proxy_connect_timeout      300;
+        proxy_send_timeout         300;
+        proxy_read_timeout         300;
+        proxy_buffer_size          4k;
+        proxy_buffers              4 32k;
+        proxy_busy_buffers_size    64k;
+        proxy_temp_file_write_size 64k;
+   }
+}
+```
+
+### vhost/admin.conf
+
+```
+server {
+    listen 3000;
+    server_name 127.0.0.1;
+ 
+    root   html;
+    index  index.html index.htm index.php;
+ 
+
+    location / {
+        root /root/web/wisdom-web/public/;
+	index index.html;
+	try_files $uri $uri/ /index.html;
+
+        #Proxy Settings
+        proxy_redirect     off;
+        proxy_set_header   Host             $host;
+        proxy_set_header   X-Real-IP        $remote_addr;
+        proxy_set_header   X-Forwarded-For  $proxy_add_x_forwarded_for;
+        proxy_next_upstream error timeout invalid_header http_500 http_502 http_503 http_504;
+        proxy_max_temp_file_size 0;
+        proxy_connect_timeout      300;
+        proxy_send_timeout         300;
+        proxy_read_timeout         300;
+        proxy_buffer_size          4k;
+        proxy_buffers              4 32k;
+        proxy_busy_buffers_size    64k;
+        proxy_temp_file_write_size 64k;
+   }
+}
+```
+
+### vhost/wechat_nginx.conf
+
+```
+server {
+    listen 80;
+    server_name  wechat2.huifuwu.cn;
+
+    root   html;
+    index  index.html index.htm index.php;
+
+
+    location / {
+        proxy_pass  http://139.159.210.228:8161/platform/;
+
+        #Proxy Settings
+        proxy_redirect     off;
+        proxy_set_header   Host             $host;
+        proxy_set_header   X-Real-IP        $remote_addr;
+        proxy_set_header   X-Forwarded-For  $proxy_add_x_forwarded_for;
+        proxy_next_upstream error timeout invalid_header http_500 http_502 http_503 http_504;
+        proxy_max_temp_file_size 0;
+        proxy_connect_timeout      300;
+        proxy_send_timeout         300;
+        proxy_read_timeout         300;
+        proxy_buffer_size          4k;
+        proxy_buffers              4 32k;
+        proxy_busy_buffers_size    64k;
+        proxy_temp_file_write_size 64k;
+   }
+}
+```

+ 0 - 0
规范/运维/部署环境/redis部署.md


+ 0 - 0
规范/运维/部署环境/yapi部署.md


+ 36 - 0
需求/绘管家/公式库/公式变量管理需求文档.md

@@ -0,0 +1,36 @@
+# 公式变量管理需求文档
+
+## 定义
+
+__公式变量__指用于账单生成过程中参与计算或判断用的公式中的变量,如`房屋_计费面积 * 计费单价`中的`房屋_计费面积`和`计费单价`即为计算变量;`房屋_楼层 >= 2`中的`房屋楼层`即为判断变量。
+
+__计算变量__用于参与费用计算,__判断变量__用于满足什么条件下才生成本项费用。
+
+## 表单说明 [原型地址](https://org.modao.cc/app/e6901721256b50fa80884755fcf42250e875e733)
+
+| 字段名称  | 字段类型   | 字段说明                                                                         | 是否必填 |
+| ----- | ------ | ---------------------------------------------------------------------------- | ---- |
+| 分类    | String | 当前变量归属分类,即变量的分组名称,方便按类别展示变量。建议长度不超过6个字                                       | 是    |
+| 变量名称  | String | 变量名称,如计费面积                                                                   | 是    |
+| 类名    | String | 变量对应的Java类全路径名称,包括包名路径,如com.wisdomcity.serve.house                           | 是    |
+| 属性名   | String | 变量对应Java类对象的成员属性名                                                            | 是    |
+| 数值类型  | Enum   | 变量的数值类型,包括int,double和boolean,其中double在数据库存储应当以decimal类型存储,并使用BigDecimal参与计算。 | 是    |
+| 使用默认值 | Bool   | 该变量是否使用默认值,如果不使用默认值则程序在计算前必须给变量进行赋值,否则可能产生异常。                                | 是    |
+| 默认值   | Number | 当选择使用默认值时,必须填写,填写的数值类型应当和变量的数值类型一致。                                          | 否    |
+| 计算变量  | Bool   | 该变量是否能用于计算公式,参与计算                                                            | 是    |
+| 判断变量  | Bool   | 该变量是否能用于判断公式,参与费用生成判断                                                        | 是    |
+| 备注    | String | 备注说明                                                                         | 否    |
+
+## 业务说明
+
+* 由于计算变量存储于客户数据库,平台需要通过业务接口读取客户变量数据。因此查看列表时必须先选择对应的客户,通过客户去查找其计算变量。添加时也必须先选定客户。
+
+* 计算变量信息比较简单,为简化操作,不设查看详情页面,点击查看按钮时直接在当前行展开详情,显示列表未展示的其他字段,如类名,属性名,是否使用默认值,默认值,备注和更新事件等信息。
+
+* 计算变量不允许编辑,如果有误,应当删除,重新添加新的计算变量。
+
+* 计算变量允许删除,但是删除后可能导致账单生成出现异常,因此需要确保删除的变量未参与任何公式。
+
+
+
+

+ 35 - 18
需求/绘管家/公式库/公式库.md

@@ -1,9 +1,11 @@
 # 公式库
+
 ######版本:V0.0.1
 
 本文档按各个资产进行公式整理,用于绘管家对应资产的费用计算。
 
 ## 名词定义
+
 * __判断变量__:取值为`布尔`类型,当该值为`true`时,表示关联的资产应当收取此项费用;为`false`时表示关联的资产不收取此项费用。
 * __计算变量__:参与费用计算公式计算的变量,例如__房屋面积__参与__物业服务费__的计算。
 * __阶梯价格__:不同计算变量在不同区间的单价不一样,类似阶梯逐级上升,例如阶梯电费。
@@ -14,6 +16,7 @@
 * __一次性费用__:该费用仅收取一次,如装修垃圾费。
 
 ## 房屋
+
 房屋涉及到的费用有物业服务费,装修垃圾转运费。各项费用常见公式如下:
 
 * 物业服务费:
@@ -29,6 +32,7 @@
 ```
 
 ## 电表
+
 电表一般按照行度进行计费,部分地区实行阶梯价格,不按阶梯计价的计算方式如下:
 
 ```
@@ -39,17 +43,18 @@
 
 ```php
 if 电表行度 <= P1
-   	阶梯费用 = 电表行度 * 计费单价P1
+       阶梯费用 = 电表行度 * 计费单价P1
 else if 电表行度 <= P2
-	阶梯费用 = P1 * 计费单价P1 + (电表行度 - P1) * 计费单价P2
+    阶梯费用 = P1 * 计费单价P1 + (电表行度 - P1) * 计费单价P2
 else if 电表行度 <= P3
-	阶梯费用 = P1 * 计费单价P1 + (P2 - P1) * 计费单价P2 + (电表行度 - P2) * 计费单价P3
+    阶梯费用 = P1 * 计费单价P1 + (P2 - P1) * 计费单价P2 + (电表行度 - P2) * 计费单价P3
 else
-	阶梯费用 = P1 * 计费单价P1 + (P2 - P1) * 计费单价P2 + (P3 - P2) * 计费单价P3 + (电表行度 - P3) * 计费单价P4
+    阶梯费用 = P1 * 计费单价P1 + (P2 - P1) * 计费单价P2 + (P3 - P2) * 计费单价P3 + (电表行度 - P3) * 计费单价P4
 endif
 ```
 
 ## 水表
+
 水表一般按照行度进行计费,部分地区实行阶梯价格,不按阶梯计价的计算方式如下:
 
 ```
@@ -60,18 +65,18 @@ endif
 
 ```php
 if 水表行度 <= P1
-   	阶梯费用 = 水表行度 * 计费单价P1
+       阶梯费用 = 水表行度 * 计费单价P1
 else if 水表行度 <= P2
-	阶梯费用 = P1 * 计费单价P1 + (水表行度 - P1) * 计费单价P2
+    阶梯费用 = P1 * 计费单价P1 + (水表行度 - P1) * 计费单价P2
 else if 水表行度 <= P3
-	阶梯费用 = P1 * 计费单价P1 + (P2 - P1) * 计费单价P2 + (水表行度 - P2) * 计费单价P3
+    阶梯费用 = P1 * 计费单价P1 + (P2 - P1) * 计费单价P2 + (水表行度 - P2) * 计费单价P3
 else
-	阶梯费用 = P1 * 计费单价P1 + (P2 - P1) * 计费单价P2 + (P3 - P2) * 计费单价P3 + (水表行度 - P3) * 计费单价P4
+    阶梯费用 = P1 * 计费单价P1 + (P2 - P1) * 计费单价P2 + (P3 - P2) * 计费单价P3 + (水表行度 - P3) * 计费单价P4
 endif
 ```
 
-
 ## 条件单价
+
 在收费标准中,有些参与计算的单价是依据不同的条件设定的,例如按照楼层高低,按照是否装修等。目前已知的具有条件单价的公式有柳州的风情港,其二次加压电费是按照住户水表读数进行据实分摊,如果不存在条件单价,其计算公式如下:
 
 ```
@@ -80,18 +85,18 @@ endif
 
 在绘管家系统中,将二次加压电表与相应的房屋关联,收费标准设置为`按水表计费行度分摊`即可。然而,该小区为了提现不同楼层加压送水的成本不一样,针对不同楼层设置的不同的收费单价,如下表所示:
 
-| 楼层           | 单价 (元/度) | 
-|:-------------:|:-----------:|
-|  7-15         | 1.4        | 
-|  16-25        | 1.7        | 
-|  26-36        | 2.4        | 
-|  37以上        | 3          |
+| 楼层    | 单价 (元/度) |
+|:-----:|:--------:|
+| 7-15  | 1.4      |
+| 16-25 | 1.7      |
+| 26-36 | 2.4      |
+| 37以上  | 3        |
 
 针对该项需求,需要开发__条件单价设置__功能供客户使用,在计算时应当先计算完数量后再根据房屋满足的条件读取单价进行费用合计计算,涉及的功能调整如下。
 
 * 表单设置:在单价旁增加一个条件单价勾选项,勾选后弹出判断公式和单价两个表单及一个添加条件按钮。
-	* 判断公式用于约束该条件单价的适用范围,单价用于设置该条件下的计费单价
-	* 添加条件按钮用于添加新的条件单价
+  * 判断公式用于约束该条件单价的适用范围,单价用于设置该条件下的计费单价
+  * 添加条件按钮用于添加新的条件单价
 * 费用计算:先计算该收费标准的房屋数量(如电表行度,分摊数量,面积,车辆数,车位数等),然后再根据房屋相关属性或读数判断该房屋费用使用于何种计价条件,读取符合条件的单价再乘以数量得出最终的费用。
 * 示例:以风情港二次加压电费为例,其收费公式将调整为:
 
@@ -99,4 +104,16 @@ endif
 二次加压电费(F) = 二次加压电表读数(M) * 条件计费单价(CP) * 住户水表读数(HM) / 关联房屋住户水表总读数(THM)
 ```
 
-其中条件计费单价是根据某个房屋所满足的条件对应的计费单价。例如,假设该房屋的`楼层`为20层,则该房屋的`条件计费单价`为__1.7元/度__。
+其中条件计费单价是根据某个房屋所满足的条件对应的计费单价。例如,假设该房屋的`楼层`为20层,则该房屋的`条件计费单价`为__1.7元/度__。
+
+## 变量
+
+公摊各个小区情况不同,需要将一些中间计算结果的变量提取出来,如下表所示。
+
+| 变量名称       | 说明                  |     |
+| ---------- | ------------------- | --- |
+| 关联房屋总计费面积  | 收费标准关联的房屋的计费面积之和    |     |
+| 已装修房屋总计费面积 | 收费标准关联的已装修房屋的计费面积之和 |     |
+| 关联房屋电表总行度  | 收费标准关联的房屋的电表行度之和    |     |
+|            |                     |     |
+|            |                     |     |

TEMPAT SAMPAH
需求/绘管家/客户小区管理/image/二维码.png


TEMPAT SAMPAH
需求/绘管家/客户小区管理/image/修改停车场信息.png


TEMPAT SAMPAH
需求/绘管家/客户小区管理/image/基本信息.png


TEMPAT SAMPAH
需求/绘管家/客户小区管理/image/基本信息1.png


TEMPAT SAMPAH
需求/绘管家/客户小区管理/image/客户小区列表页.png


TEMPAT SAMPAH
需求/绘管家/客户小区管理/image/小区停车场.png


TEMPAT SAMPAH
需求/绘管家/客户小区管理/image/小区推广二维码.png


TEMPAT SAMPAH
需求/绘管家/客户小区管理/image/小区详情页.png


TEMPAT SAMPAH
需求/绘管家/客户小区管理/image/微信.png


TEMPAT SAMPAH
需求/绘管家/客户小区管理/image/微信菜单配置.png


TEMPAT SAMPAH
需求/绘管家/客户小区管理/image/未生成二维码.png


TEMPAT SAMPAH
需求/绘管家/客户小区管理/image/未配置银联端.png


TEMPAT SAMPAH
需求/绘管家/客户小区管理/image/菜单树.png


TEMPAT SAMPAH
需求/绘管家/客户小区管理/image/银联.png


TEMPAT SAMPAH
需求/绘管家/客户小区管理/image/银联配置.png


TEMPAT SAMPAH
需求/绘管家/客户小区管理/image/银联配置查看.png


+ 128 - 0
需求/绘管家/客户小区管理/客户小区管理需求文档.md

@@ -0,0 +1,128 @@
+# 客户小区管理需求文档
+
+客户小区管理系统是为客户维护小区提供基础服务,功能模块包括:银联配置、微信菜单配置、小区二维码生成、智能停车场维护。
+
+### 业务说明
+
+- **微信菜单配置:**微信是指C端用户关注的绘服务公众号。通过菜单配置,不同的小区会有相应的菜单,C端用户关注绘服务号后会展现相应的菜单,享受便捷服务。
+
+- **银联配置:**小区与业主的资金往来统一走银联渠道支付,银联给到我们参数,我们为小区配置,实现收取支付功能。
+
+- **小区二维码:** 点击生成小区推广二维码,便于小区宣传服务和用户关注,为小区和业主搭建便捷桥梁。也是我们主要引流入口。
+
+- **智能停车场:** 是小区为业主和访客提供的智能停车服务,是我们与第三方对接完成的,需要我们配置参数。
+
+### 业务流程   [原型地址](https://org.modao.cc/app/e6901721256b50fa80884755fcf42250e875e733)
+
+ **菜单树**
+
+![菜单树](image/菜单树.png)
+
+### 客户小区管理
+
+**客户小区列表页**
+
+![image\客户小区列表页](image/客户小区列表页.png)
+
+所属公司:对应的物业公司
+
+小区名称可**点击**到小区详情页
+
+操作栏有微信、二维码、银行卡三个图标,鼠标移动到图标上显示相应**提示文案**
+
+| 图标                          | 提示文案   | 备注                     |
+| --------------------------- | ------ | ---------------------- |
+| ![image\微信](image/微信.png)   | 微信菜单配置 |                        |
+| ![image\二维码](image/二维码.png) | 推广二维码  | 点击时判断是否有推广二维码生成,弹出相应界面 |
+| ![image\银联](image/银联.png)   | 银联配置信息 | 点击时判断是否已配置银联信息,弹出相应界面  |
+
+**微信菜单配置**
+![ 微信菜单配置](image/微信菜单配置.png)
+
+功能列表只显示**已启用**的功能,详情页上的微信菜单配置同样只显示已启用的。
+
+“微信菜单配置” 标题右侧显示 对应的小区
+
+**节点选择**
+
+- 父节点选中时,下边的子节点全选
+
+- 部分字节的选中时,父节点跟着移动到右侧:已开通功能
+
+- 父节点删除时,下边的子节点全删除
+
+- 子节点删除时,如果还有其他子节点,父节点保留
+
+- 如果父节点下边无子点,父节点删除
+
+**银联配置**
+
+| 已配置银联端                          | 未配置银联端                            |
+| ------------------------------- | --------------------------------- |
+| ![image/银联配置](image/银联配置查看.png) | ![image/未配置银联端](image/未配置银联端.png) |
+
+**推广二维码生成**
+
+@
+
+| 已生成推广二维码                         | 未生成推广二维码                          |
+| -------------------------------- | --------------------------------- |
+| ![image/银联配置](image/小区推广二维码.png) | ![image/未配置银联端](image/未生成二维码.png) |
+
+小区推广二维码有二维码和二维码原文组成,用于小区推广,便于引流。
+
+**小区详情页**
+
+![image\小区详情页](image\小区详情页.png)
+
+详情页包含:
+
+| 模块     | 备注                 |
+| ------ | ------------------ |
+| 基本信息   | 不可编辑               |
+| 银联配置   | 状态为**锁定**时,修改按钮不显示 |
+| 小区停车场  | 修改、获取二维码           |
+| 微信菜单配置 |                    |
+
+ **基本信息** 
+
+- 推广二维码已生成
+
+  ![image\基本信息1](image\基本信息1.png)
+
+- 未生成推广二维码
+
+  ![image\基本信息](image\基本信息.png)
+
+  客户点击生成按钮后到查看二维码界面,关闭二维码后到详情页,数据更新
+
+  **银联配置**
+
+  ![image\银联配置](image\银联配置.png)
+
+  小区名称不可编辑
+
+  **表单字段说明**
+
+| 字段名称 | 字段类型    | 备注                          | 是否必填 |
+| ---- | ------- | --------------------------- | ---- |
+| 商户号  | varchar | 银联分配,具有独立营业执照的物业公司,一般是分公司id | 是    |
+| 终端号  | varchar | 银联分配,对应小区id                 | 是    |
+| 状态   | enum    | 开启      停用       锁定         | 是    |
+
+![小区停车场](image/小区停车场.png)
+
+详情页中小区停车场,点击 二维码图标时,弹出小区二维码图。
+
+![修改停车场信息](image/修改停车场信息.png)
+
+**表字段说明**
+
+| 字段名称    | 字段类型    | 备注                | 是否必填 |
+| ------- | ------- | ----------------- | ---- |
+| 停车场名称   | string  | 不可编辑              | 是    |
+| 厂商车场编号  | varchar | 厂商提供              | 是    |
+| 入口数     | varchar |                   | 是    |
+| 出口数     | varchar |                   | 是    |
+| 厂商缴费URL | varchar | 厂商提供              | 是    |
+| 所属厂商    | varchar | 默认是科拓,后期会增加,可做成字典 | 是    |

TEMPAT SAMPAH
需求/绘管家/客户管理/image/datasource.png


TEMPAT SAMPAH
需求/绘管家/客户管理/image/datasource_setting.png


TEMPAT SAMPAH
需求/绘管家/客户管理/image/合同修改.png


TEMPAT SAMPAH
需求/绘管家/客户管理/image/客户入驻流程-直接添加.jpg


TEMPAT SAMPAH
需求/绘管家/客户管理/image/客户入驻流程.jpg


TEMPAT SAMPAH
需求/绘管家/客户管理/image/用户注册.png


TEMPAT SAMPAH
需求/绘管家/客户管理/image/申请入驻修改.png


TEMPAT SAMPAH
需求/绘管家/客户管理/image/登录表.png


TEMPAT SAMPAH
需求/绘管家/客户管理/image/资料补全.png


+ 108 - 0
需求/绘管家/客户管理/客户管理.md

@@ -0,0 +1,108 @@
+# 客户入驻功能需求文档
+
+客户是指物业公司,客户入驻是我们公司运营人员管理物业信息的平台,目的在于更好的为物业公司服务,提升我们的工作效率。
+
+### 业务流程 [原型地址](https://org.modao.cc/app/e6901721256b50fa80884755fcf42250e875e733)
+
+![客户入驻流程](image/客户入驻流程.jpg)
+
+### 表单说明
+
+![客户入驻流程](image/用户注册.png)
+
+| 字段名称 | 类型       | 备注                     | 是否必填 |
+|:---- |:-------- | ---------------------- | ---- |
+| 姓名   | String   |                        | 是    |
+| 电话   | varchar  | 注册时短信验证                | 是    |
+| 公司名  | String   |                        | 否    |
+| 注册时间 | datetime | 格式:YYYY-MM-dd hh:mm:ss | 是    |
+
+![客户入驻流程](image/资料补全.png)
+
+**用户详细信息表**  运营人员电话回访后补全用户信息或者是运营人员直接添加用户信息
+
+| 字段名称    | 类型      | 备注        | 是否必填 |
+| ------- | ------- | --------- | ---- |
+| 企业号     | String  | 自动生成      | 是    |
+| 营业执照号   | String  |           | 是    |
+| 企业名称    | String  |           | 是    |
+| 所属省份    | String  |           | 是    |
+| 所属城市    | String  |           | 是    |
+| 企业详细地址  | String  |           | 是    |
+| 办公电话    | varchar |           | 否    |
+| 邮箱      | String  |           | 是    |
+| 营业执照扫描件 | String  |           | 否    |
+| 企业简介    | String  |           | 否    |
+| 备注      | String  |           | 否    |
+| 状态      | tinyint | 0=关闭,1=开通 | 是    |
+
+**点击开通前须先根据营业执照号、企业名称、地址、联系人、联系电话判断是否资料齐全** ,如果资料不全,跳出弹层补全资料页面,提示先补全资料。
+
+![客户入驻流程](image/合同修改.png)
+
+**合同表**
+
+| 字段名称   | 类型       | 备注            | 是否必填 |
+| ------ | -------- | ------------- | ---- |
+| 用户id   | String   | 索引用户详情信息表     | 是    |
+| 开户行    | String   | 开户行名称         | 是    |
+| 法人代表   | String   |               | 是    |
+| 账号     | String   | 银行卡号          | 是    |
+| 合作开始时间 | datetime | 格式:YYYY-MM-dd | 是    |
+| 合作截止时间 | datetime | 格式:YYYY-MM-dd | 是    |
+| 授权小区数  | Int      |               | 是    |
+| 合作金额   | decimal  |               | 是    |
+| 合同扫描件  | String   |               | 否    |
+| 甲方对接人  | String   |               | 是    |
+| 甲方电话   | varchar  |               | 是    |
+| 乙方对接人  | String   |               | 是    |
+| 乙方电话   | varchar  |               | 是    |
+| 企业简介   | String   |               | 否    |
+| 备注     | String   |               | 否    |
+| 状态     | Enum     | 开通/关闭         | 是    |
+
+**添加合同前须先根据营业执照号、企业名称、地址、联系人、联系电话判断是否资料齐全**,如果资料不全,跳出弹层补全资料页面,提示先补全资料。
+
+![客户入驻流程](image/登录表.png)
+
+![申请入驻修改](image/申请入驻修改.png)
+
+运营人员根据客户申请的信息,对客户回访客户确定客户意向,进一步达成合作。
+
+### 业务说明
+
+客户分网页申请、微信端申请、二维码申请、运营人员线下开发。如果是自主申请的用户,运营人员需对申请用户回访,确定客户意向,后期会有免费体验模块。根据客户意向补充客户资料,是否签订合同,设置客户状态,分配用户信息,开通相应权限。
+
+
+
+## 客户数据源管理
+
+绘管家是一个多租户多数据库的SaaS平台,即每一个客户都有自己独立的数据库,以便进行数据隔离,支持后期部分客户独立部署的要求。客户开通前,应当由后台开发人员配置客户数据源,以保证客户的业务数据能够存储在对应客户的数据库上。数据源相关配置权限必须分配给开发或运维人员,以免配置错误导致客户无法正常使用。
+
+客户数据源配置入口在客户详情页面,如下图所示,如果该客户尚未配置数据源,则显示为:__暂未配置数据源__。
+
+![数据源信息](image/datasource.png)
+
+数据源配置好之后不允许再进行修改,仅可以更新实施状态。实施状态如下:
+
+* 未实施:指该客户尚未录入任何数据,此时的数据源允许删除,实施状态可以更新为实施中。
+
+* 实施中:指该客户已经在业务系统录入了数据,但尚未有小区上线。此时的数据源不允许删除(未来可以允许清空部分数据表),实施状态可更新为已上线。
+
+* 已上线:指该客户已有小区上线,此时数据源不允许删除,实施状态不可再变更。
+
+### 数据源配置表单
+
+![数据源配置表单](image/datasource_setting.png)
+
+| 字段名称  | 类型     | 说明                             | 是否必填 |
+| ----- | ------ | ------------------------------ | ---- |
+| 数据库连接 | String | 数据库内网连接IP及端口                   | 是    |
+| 数据源类型 | Enum   | 数据库类型,目前默认为mysql               | 是    |
+| 数据源名称 | String | 连接的数据源名称,由系统自动生成               | 是    |
+| 数据库名称 | String | 连接的数据库名称,由系统自动生成               | 是    |
+| 账号    | String | 数据库账号,禁止使用root账号               | 是    |
+| 密码    | String | 数据库密码,密码至少8位,且必须包含大写字母,数字和特殊字符 | 是    |
+| 最大连接数 | Int    | 数据库允许的最大连接数,大于0的整数             | 是    |
+| 最小连接数 | Int    | 数据库允许的最小连接数,大于0的整数,需小于等于最大连接数  | 是    |
+| 备注    | String | 数据源备注说明                        | 否    |

TEMPAT SAMPAH
需求/绘管家/智能硬件/image/generalFlow.png


TEMPAT SAMPAH
需求/绘管家/智能硬件/image/iHardwareArchitechture.png


TEMPAT SAMPAH
需求/绘管家/智能硬件/人脸门禁管理/image/addReviewByEmployee.png


TEMPAT SAMPAH
需求/绘管家/智能硬件/人脸门禁管理/image/platformWorkflow.png


TEMPAT SAMPAH
需求/绘管家/智能硬件/人脸门禁管理/image/reviewFlow.png


+ 97 - 0
需求/绘管家/智能硬件/人脸门禁管理/人脸门禁设备管理.md

@@ -0,0 +1,97 @@
+# 人脸门禁设备管理需求文档
+
+## 背景介绍
+
+人脸门禁设备是采用人脸比对的方式,如果人脸比对通过则可以刷脸进出,如果比对失败则无法进出,从而实现刷脸通行。人脸门禁一般安装在小区的主出入口,单元门。
+
+目前人脸门禁设备供应商有三家,分别是宇松科技,海康威视和GAT。
+
+* 宇松科技设备为定制安卓系统,为我司定制软件,软件直接与绘管家后台进行API数据对接;
+
+* 海康威视设备分为两种,一种是基于8700平台,一种是基于云眸社区平台。其中8700平台为局域网的设备管理平台,接入的小区需要在本地部署服务器,安装8700安防软件才可以管理,如果小区接入专线网络,本地服务器拥有独立IP,也可以对外提供接口(目前蓝岛康城,柳州项目即采用这种方式),因此使用8700平台的小区需要单独设置小区对应的对接服务器地址。云眸社区是海康于2019年推出的云平台,人脸门禁管理可以通过对接其云平台完成。
+
+* GAT:早期试用的一个厂家,目前仅在东方吉祥康郡使用,采用接口对接方式完成人脸门禁管理。
+
+## 业务说明 [原型地址](https://org.modao.cc/app/e6901721256b50fa80884755fcf42250e875e733)
+
+### 流程图
+
+门禁设备统一由平台集中管理,具体业务行为(人脸审核,通行证管理)由客户系统负责。
+
+#### 平台业务流程
+
+ ![平台维护部分流程](image/platformWorkflow.png)
+
+* 配置对接平台:宇松门禁设备,GAT和海康云眸社区设备只需要配置一次,所有设备都是通用的。8700平台需要针对每个小区设置一次,因为每个小区的服务器对接地址,appId和appSecret都不同。
+
+* 小区门禁配置:主要针对宇松门禁设备,GAT(海康云眸社区接口尚未提供),其中GAT需求配置小区的管理员账号和密码。宇松门禁需要配置客服中心电话,密码(用于输入密码直接查看设备信息,排查问题)。一个小区对应一条配置记录。
+
+* 设备信息录入:录入设备的基本信息,以便后续查看和集中管理,录入的信息包括设备名称,厂商编号(唯一),厂商名称,型号等信息。其中人脸激活码(用于人脸比对算法SDK),云之讯用户编号和令牌(用于拨打网络电话)均为宇松门禁专用属性。
+
+* 设备安装:设备安装指的是在线将门禁设备分配到对应小区对应的出入口门禁,为了方便分组和降低业务系统的侵入性,要求门禁名称与对应的小区的出入口门禁一致,例如蓝岛康城大门门禁应当录入为大门门禁,2号楼门禁应当录入为2号楼门禁。一个门禁设备只能安装一次,如果要重复安装,需要将之前的安装记录删除。
+
+* 门禁分组:考虑部分小区出入口很多,单元门禁也很多,为简化审核和统一访客密码(即多个门禁共用一个访客密码),需要对小区已安装的门禁设备进行分组。审核下发通行证时按门禁组下发,申请访客密码时也是按门禁组申请。同一个门禁可以在多个门禁组内,但不同门禁组内的门禁设备不能完全相同。
+
+* 设备监控:设备需要监控心跳(网络连接情况),掉线记录,通行记录,方便及时掌控设备状态和使用情况。
+
+* 设备更换:当设备发生损坏时,为不影响小区正常通行,需要更换设备,更换设备涉及如下操作:
+
+  * 录入新设备信息:更换前必须要要先录入新设备信息才可以进行更换(手动录入)
+
+  * 删除旧设备安装记录:将更换掉的旧设备安装记录删除
+
+  * 添加新设备安装记录:将旧设备的安装信息复制一份到新设备的安装记录(厂商编号不变)
+
+  * 更新新设备安装记录到对应的门禁组:所有旧设备所在门禁组的信息都需要替换为新设备的安装
+
+  * 将通行证人脸迁移到新设备
+
+  * 标记旧设备为返厂(维修)或报废(无法维修)
+
+  #### 业务系统流程(自助录入人脸)
+
+  # 
+
+  ### 
+
+  ### 
+
+  ## 
+
+  ![人脸审核业务流程](image/reviewFlow.png)
+
+* 入住房屋:未确保申请审核的人脸是本小区住户,用户在小区服务中申请通行时需要先入住房屋,如果已经入住则无需再次入住。
+
+* 添加人脸:用户添加人脸,已经添加过的人脸的用户可以使用之前的人脸也可以修改人脸。
+
+* 申请通行:用户申请在当前小区通行,即创建一条待审核的记录供物业方审核。申请通行后需要推送消息给相应的物业人员,提醒该人员及时审核。
+
+* 物业审核:物业人员审核时,需要判断照片是否合格(如不是人脸),是不是本小区住户;如果不满足通行条件可以直接拒绝,拒绝时需要填写拒绝理由,以便用户查看。拒绝时需要推送消息到用户,提示其提交的审核被拒绝及拒绝原因。
+
+* 允许通行:如物业人员核实用户提交的人脸符合通行条件,则下发给用户通行证,通行证通过门禁组下发。可一次下发多个门禁组,如果存在相同门禁,则只下发一次。
+
+* 设备审核:人脸照片下发后,设备需要下载对应图片进行特征码提取,可能存在特征码提取失败(如人脸照片不合格,不是人脸)或者照片下载失败,此时设备或第三方会告知平台人脸审核失败,系统也需要通知用户人脸审核失败,并标记审核记录为审核失败(__只要有一个门禁失败即视为审核失败__)。对于失败的通行证,物业也可以选择重新下发(如照片下载失败时,可以让设备重新下载)。如果__全部通行证__审核通过则标记对应的审核记录为成功,并推送消息告知用户审核成功。
+
+* 通行证审核通过后,用户即可通过相应门禁,用户刷脸通行时,设备会将刷脸信息(通行证编号,刷脸时间)上传给平台。
+
+#### 业主添加家人
+
+业主添加家人人脸通行和自助添加类似,只是添加家人时需要按表单填写家人姓名,手机号(考虑老人小孩没有手机,手机号可以与用户手机号相同,但是不能同时手机号和姓名都相同),与本人关系,录入家人人脸(家人信息存储在平台,以便重复使用),然后再提交审核。
+
+审核结果也需要推送消息告知业主。
+
+#### 物业录入人脸
+
+物业帮助住户录入人脸可通过绘管家App,Web端或绘管家公众号进行。流程如下:
+
+![物业录入人脸](image/addReviewByEmployee.png)
+
+物业录入人脸的流程相对简单,因为是物业人员录入,无需审核过程。只是录入的人脸人员信息必须从小区的住户表读取,如果没有住户信息则需先添加该住户。此举是为了帮助物业完善住户信息。
+
+### 业务说明
+
+* 住户人脸审核通过,分配通行证后方可申请访客密码供访客使用。
+
+* 家人和物业协助添加的住户由于无法关联到对应的终端(App,微信服务号,小程序)的用户,因此无法使用访客功能。数据表需考虑预留字段方便未来绑定对应的用户。
+
+* 表单字段可参照原型说明。

+ 23 - 0
需求/绘管家/智能硬件/智能硬件整体架构.md

@@ -0,0 +1,23 @@
+# 智能硬件整体架构
+
+## 背景说明
+
+公司目标是将物业行业软件(即绘管家绘服务)和相关小区智能硬件无缝对接,形成完备的智慧物业解决方案,已提升整个公司的竞争力和行业的话语权。小区进行智能硬件升级改造的目的是提升小区服务品质,减少人员投入,进而帮助物业客户达到减员增效的目的。对于我们智慧城而言,所有硬件都可能是一个流量入口(B端或C端)。
+
+目前公司对接的厂商有多家,同一个类型的硬件会有不同的供应商提供(例如门禁设备有宇松,宇泛和海康威视)。从成本,实际场地,小区都存在个性化的需求(如部分成本敏感企业或无法撤岗的小区不需要使用无人值守停车场)。技术研发的目标是将不同厂家的硬件接口抽象封装统一面向业务系统,达到能够快速接入不同厂家的设备的目标,从而使得硬件平台能够集成大量、多样的硬件设备,覆盖更大的市场。因此,智能硬件平台的接入要朝着制定行业标准化接口的方向努力,达到类似物业行业硬件物联网网关的目标。
+
+## 当前硬件概况
+
+![硬件架构](image/iHardwareArchitechture.png)
+
+## 流程
+
+设备管理的通用流程如下图所示:
+
+![设备通用流程](image/generalFlow.png)
+
+对于软件开发而言,不同类型的设备的__安装调试__,__上线__,__监控__过程可能不空,具体可参考相关设备的业务流程文档。
+
+## 开发建议
+
+将同一类型的硬件设备服务抽象为统一的接口开放给业务系统,以达到接入新的厂商硬件时只需要该硬件实现该类型设备的接口即可,而无需修改其他模块编码。

+ 15 - 0
需求/绘管家/物业服务/报事功能需求文档.md

@@ -59,3 +59,18 @@ __驳回__表单只需要填写`驳回原因`,该驳回原因为必填。驳
 ### 列表排序
 
 列表排序按照数据的更新时间降序排序,方便及时查看最新动态。当有新的未读消息,业务状态变更时需要更新数据的更新时间字段。
+
+## 流程记录
+
+整个事件的状态流转需要单独记录,记录事件发生的时间,操作人,操作方(用户还是物业公司),操作行为,具体有如下状态。
+
+| 状态  | 操作方  | 行为              | 示例            |
+| --- | ---- | --------------- | ------------- |
+| 待受理 | 用户   | 用户提交报事          | xxx提交投诉       |
+| 已受理 | 物业公司 | 员工受理报事          | xxx受理,指派xxx处理 |
+| 已驳回 | 物业公司 | 员工驳回报事          | xxx驳回         |
+| 已解决 | 物业公司 | 员工报事已解决         | xxx完成         |
+| 已解决 | 用户   | 用户确认事项已解决       | xxx确认已解决      |
+| 已评价 | 用户   | 用户对已解决的事项进行评分评价 | xxx提交评价,评分5   |
+
+已解决可以是用户确认也可以是工作人员确认。注意的是同一项事务的状态不允许重复提交,已受理的如不允许重复受理,已解决的不允许重复提交解决。

TEMPAT SAMPAH
需求/绘管家/物业资源/image/householder_add.png


+ 3 - 2
需求/绘管家/物业资源/住户管理功能需求说明文档.md

@@ -43,15 +43,16 @@
 | 性别   | Enum   | 选择男或女,如果填了身份证号,需要验证身份证号倒数第2位是否符合性别(奇数为男,偶数为女)                     | 是    |
 | 住户性质 | Enum   | 选择独立产权人,共有产权人,租户,亲属中的一个。                                          | 是    |
 | 居住时间 | Date   | 该住户在本房间的居住起止时间段,若为长期居住则勾选长期,勾选长期后截止时间置灰,不允许再选择。截止时间如果输入则必须晚于当前时间。 | 否    |
-| 手机号码 | String | 支持录入多个11位手机号,多个手机号通过逗号分隔                                          | 是    |
+| 手机号码 | String | 支持录入多个11位手机号,只允许填写一个手机号                                           | 是    |
 | 证件类型 | Enum   | 选择身份证,港澳通行证,军官证,护照中的一个                                            | 否    |
 | 证件号码 | String | 如果证件类型为身份证,此项数据不为空的话需要校验身份证号。后台根据身份证号自动解析住户生日存储。                  | 否    |
 | 常住地址 | String | 住户经常居住的地址(如收件地址),该地址可能用于物业发送催缴单,律师函等                              | 否    |
 | 备注   | String | 住户的其他备注信息                                                         | 否    |
+| 其他号码 | String | 住户其他联系方式,多个号码可以以逗号分隔                                              |      |
 
 ## 业务说明
 
-*  唯一性约束:同一个房屋不允许出现__同名且同手机号__或__身份证号相同__的住户。
+* 唯一性约束:同一个房屋不允许出现__同名且同手机号__或__身份证号相同__的住户。
 
 * 业务状态:住户分为当前住户和历史住户,默认为当前住户,当对住户完成迁出操作后,该住户转变为历史住户。
 

TEMPAT SAMPAH
需求/绘管家/用户中心/image/createWechatUser.png


TEMPAT SAMPAH
需求/绘管家/用户中心/image/userER.png


+ 79 - 0
需求/绘管家/用户中心/用户管理需求说明.md

@@ -0,0 +1,79 @@
+# 用户管理需求说明 [原型地址](https://org.modao.cc/app/e6901721256b50fa80884755fcf42250e875e733)
+
+注意,本文档所说用户为C端用户,即小区的住户,扫码出入停车场的车主,扫码充电的电动车车主或通过其他方式关注**绘服务**的人员。
+
+目前**绘服务**只有一个微信服务号客户端,但是未来会有微信小程序,支付宝生活号,支付宝小程序,手机App,因此需要有用户的客户端信息。
+
+## 微信端用户
+
+微信端用户来源分为以下两种途径:
+
+* 扫码关注:通过扫描微信固定二维码扫码关注绘服务,二维码包括小区推广二维码,智能停车场场内缴费码,充电桩充电口动态二维码,充电桩主机二维码
+
+* 页面访问:在微信公众号访问绘服务分享出去的网页,如通知公告,新闻资讯,通过微信的用户授权拿到的用户信息。
+
+* 线上关注:用户通过微信的公众号搜索关注。
+
+创建用户的基础信息均通过拿到的openId向微信获取用户信息(如昵称,头像,所在地),由于绘服务已经绑定了微信的开放平台,因此微信端的用户`唯一标识`可以通过unionId区分或通过应用类型+openId组合区分,因为微信的不同端(小程序,公众号,Ouath2.0授权登录)的openId可能是相同的。微信端创建用户的流程如下图所示。
+
+![微信用户创建流程](image/createWechatUser.png)
+
+三种方式不同之处有以下两点:
+
+* 扫码或线上关注的用户,微信会自动将关注消息推送到我们的后台,推送的数据中带有openId,因此无需获取openId,而页面访问是需要主动向微信方获取openId的。
+
+* 扫秒平台生成的二维码(非公众号关注二维码,公众号关注二维码流程和线上关注一致)关注的用户,微信会带有一个EventKey字段,标识二维码的场景值,需要根据该场景值确定用户的来源。该场景值也决定了该如何处理扫码事件(如充电桩二维码推送充电入口,小区二维码推送小区欢迎页面等)。
+
+## 用户实体关系
+
+平台用户的实体关系如下图所示。
+
+![用户实体关系图](image/userER.png)
+
+各个实体说明如下:
+
+* 用户:主表,存储用户的账号信息,如手机号,密码(第三方授权登录时无密码),用户来源,创建时间,更新时间等;
+
+* 用户个人资料:用户维护的个人资料,如昵称,头像,性别,邮箱,生日等网络社交资料,该资料未必真实。一个用户对应一份个人资料。
+
+* 用户实名信息:用户实名认证信息,中国大陆用户通过身份证认证,存储如身份证正反面照片,身份证号码,性别,生日,姓名等信息。一个用户对应一条实名信息。**该表作为预留设计,目前绘服务端并未启用强制的实名认证**。
+
+* 用户人脸:用户真实人脸照片,用于人脸门禁通行或其他方面。目的在于一个用户只需添加一次人脸,即可在多个小区申请刷脸通行。一个用户对应一条用户人脸记录。
+
+* 人脸变更记录:用户在不同小区可能会上传不同的人脸,或随着年龄变化无法通行后再次更新,该人脸变更记录为人脸的历史版本,方便做数据分析,一个用户人脸对应多条变更记录。
+
+* 用户家庭成员:目前用于住户帮助录入家庭成员的人脸(如小孩,老人不方便自助录入的),一个用户拥有多名家庭成员。
+
+* 用户第三方授权信息:该表用于区分第三方授权对应的用户是否已经被创建,存储用户已授权的第三方的唯一标识信息,如微信平台的unionId,支付宝的userId。一个用户有多条第三方授权信息(如支付宝,微信等)。
+
+* 第三方授权详细信息:该表存储通过第三方授权注册的用户的详细信息,如头像,昵称,openId,所在地,性别等等,方便有必要时可以查看最初的授权信息。
+
+* 用户活跃应用:记录平台用户在平台各个C端应用的使用和活跃情况,如公众号,小程序,支付宝生活号,手机App。需要记录的数据包括应用类型,终端设备,设备唯一标识(App端),推送消息的token(App端),首次活跃时间,最近活跃时间,累计使用次数等。方便查看用户在各个应用的活跃度分布情况。
+
+除用户活跃应用数据表目前没有外,其他数据表结构可以参考绘服务的目前已有的数据表。
+
+## 微信对接注意实现
+
+微信推送的信息入口只允许指定一个,因此平台需要给微信提供统一的一个入口处理微信推送的全部事件。
+
+## 用户家庭成员关系枚举
+
+| 枚举名称 | 枚举别名              | 排序值 |
+| ---- | ----------------- | --- |
+| 父亲   | father            | 1   |
+| 母亲   | mother            | 2   |
+| 儿子   | son               | 3   |
+| 女儿   | daughter          | 4   |
+| 公公   | father_of_husband | 5   |
+| 婆婆   | mother_of_husband | 6   |
+| 岳父   | father_of_wife    | 7   |
+| 岳母   | mother_of_wife    | 8   |
+| 兄弟   | brother           | 9   |
+| 姐妹   | sister            | 10  |
+| 其他   | other             | 11  |
+
+微信端用户选择关系时,应提示“他是你什么人”。
+
+## 微信对接SDK
+
+为简化开发实现,可以考虑使用WxJava开发包,该开发包为开源代码,每两个月发布一次版本。GitHub地址:[https://github.com/wechat-group/WxJava](https://github.com/wechat-group/WxJava)。

+ 61 - 0
需求/绘管家/绘管家绘服务重构目标.md

@@ -0,0 +1,61 @@
+# 绘管家绘服务重构目标
+
+## 系统管理
+
+* 实现更精准的功能和数据权限控制,具体到能够控制每一个功能操作的权限,查看敏感数据需先进行数据授权。
+
+* 优化系统管理流程,引入平台流程引导,提升系统管理操作便捷性。
+
+* 核心业务流和审批流融合,实现更规范的核心业务操作管理。
+
+* 操作日志可分析,可进行异常预警。
+
+## 物业服务
+
+*  引入服务流程公示、监督机制,系统自动生成服务报告,实现更完善的透明化、标准化、流程化的客户服务(报修和反馈)解决方案。
+
+* 面向不同角色,提供更便捷、丰富的移动端功能,满足基本移动办公需求。
+
+* 增加客户投票和问卷调查功能模块。
+
+* 优化现有通知公告、服务电话、制度标准的使用体验,实现更完善的业务场景需求解决方案。
+
+## 物业资源
+
+*  细化完善社区居民管理、社区访客管理、固定资产管理解决方案,支持更丰富的业务需求场景。
+
+* 全面与智能硬件进行对接,支持智能硬件实施落地及运营效率。
+
+* 优化完善数据导入功能,提示数据录入效率和体验。
+
+## 物业收费
+
+* 优化收费设置(收费项目、收费标准),提升操作便捷性、管理规范性。
+
+* 提供更高效、完善的抄表解决方案,实现自助抄表,向无人抄表迈进。
+
+* 提供更完善的公摊、优惠减免业务场景需求解决方案,优化升级性能和操作体验。
+
+* 提供更务实、多元的支付解决方案,尽可能降低资金到账时间、降低支付费率。
+
+* 提供更专业标准的票据解决方案,对接电子发票平台,向无人收费迈进。
+
+* 物业收费关键业务流程(预审、核销、结账)实现更高效智能化的处理。
+
+*  提供更完善的历史欠费回收解决方案,短信、微信、律师函等。
+
+*  优化预缴(预收)解决方案,实现业户在线预存。
+
+* 强化报表功能,支持报表与OA或第三方财务系统对接。
+
+* 与智能硬件对接,实现一体化的相关联费用的收费解决方案。
+
+## 数据安全性
+
+* 实现各平台客户(已签约物业公司)数据库独立。
+
+* 实现敏感数据加密(手机号、身份证号、银行账户信息)。
+
+## 平台运营
+
+* 实现平台运营更自动、便捷、可监控的技术产品支撑。

+ 107 - 0
需求/绘管家/调研记录.md

@@ -0,0 +1,107 @@
+# 柳州调研记录-原始记录
+
+#### 调研对象:梁静(新成海财务主管)
+
+### 背景调研
+
+- 无人收费
+- - 老人,子女联系不上,覆盖不到全部业户
+  - 服务要跟得上
+- 远程开门急需(金沙角使用门禁后反而需要增加人手录入人脸)
+- 金沙角:回迁户(没有缴纳物业费意识)多,住宅难于管理,项目大,人数多,独居老人多,空置率高,多留子女电话号码,开发商遗留问题多,客服任务繁重,争吵事项多。
+- 鹿山家园:有一个业主一栋楼,不允许停水电费。
+- 催缴账单:短信,微信电子账单,律师函,打电话(软磨硬泡),针对不同欠费情况制定不同策略,费时费心。
+- 电子发票支持:柳州3000多,海口8000多。航信提供电子发票,发票份数额度限制由公司自行限制,冲红作废可能需要人工介入。
+- 业户使用平台:取消前台服务,遇到事情后能够快速响应(呼叫中心+在线服务平台)
+- 报事报修:状态反馈,处理跟踪,监督,平台监管
+- 追缴:电话追缴,欠费总额几百万。半年一次上门收费,年底一次性交一年,优惠1个月。老赖比较多,最终可能需要走法律诉讼。
+- 金沙角有近50%的人更愿意当面沟通,不仅仅是解决问题,还有发泄情绪的诉求。
+- 缴费方式:刷卡,微信支付,老人更好商量,多交现金。
+- 问题:电梯,路灯,设备设施,宠物,声音扰民(住改商,打麻将),商业区噪音,漏水,油烟;房开前期问题很难解决。风情港住改商居多,打麻将扰民问题严重。工商所只能协调,无法解决实际问题。政府投诉热线踢皮球。
+
+### 财务报表问题
+
+- 柳州操作与其他地方不同,流程上管控强:环环相扣,保证数据准确性。海口统计员工作能力不如柳州。柳州收费员岗位已取消,与客服岗位已经合并。懂得软件使用,录单操作。海口抵制情绪更高。未使用收费软件前,小区工作人员不知道收费情况(欠费,已收费),有软件后,看单收费,存款到指定账户,通过软件查询收费数据(小区业主信息,每户业主收费明细:应收,欠收,缴费明细),从而知道项目的经营情况(收回的费用是否能够支撑项目开支)。
+- 机制:相互监督。会计助理把所有项目的单据回收统计资金出纳总表,交给统计员票据审核并开具发票及收据,出纳查询银行账户入账情况,核实后交会计做账结账。(海口出现小区主任积累几万块不上交,到月底才提交)。有电子发票后,可以省去票据审核环节。最可信的方式是开具发票,但是为了避税有些不开发票。林董不支持偷税漏税行为。一笔收款不允许有两张票据(只能有一张收据或一张发票,如果要开发票就需把收据收回来),申报税有开发票,收据和不开发票三项。平台合作协议中必须和客户明确,客户必须向税务部门申报税。
+- 收据和发票:支持合并申请,合并打印,合并开票。税务上要求收据也需要据实申报纳税。退款需要收回收据或发票,作废票据需要留档,拍照。遗失票据需要声明并存档。
+- 月报、季报,半年报,年报:逐月连续做账,跨年才建立新账本。历史欠费(很多人不明白什么是历史欠费:当年欠费和历年欠费概念不同),本年实收(本年经营收入),预缴情况(本年度时间点以后的统计),减免情况。
+- 历史欠费:以会计结账时间为依据。历史欠费是定数,是截止上一年度的欠费。历年的考核已经做完(处罚或考核),本年度考核的是历年欠费回收,和当年收款。15号前完成结账(税务申报截止日),25号完成账单生成(以便审核,在31日前能够审核完账单)。
+- 允许公司自行设定最晚结账日—精确到时分秒:报税,内部的资金出入(不允许再有资金出入)。
+- 日常开销:有财务处理,如电信,移动,广告等。柳州对公业务由客户直接对公转账,海口是项目上直接向对公客户收款。
+- 报表:应收和实收应当一致,时间上,项目上和性质上要保持一致。如1月份欠费100,在3月份收回时应当冲减1月份的应收账款。时间上,不能往前产生账单,只能往后产生账单(包括临时账单)
+- - 原则:站在报表使用人的角度产生报表
+  - 管理处:主任和收费员,小区经营情况,收费项目的总账分账。
+  - 财务(出纳,会计,统计员):
+  - - 时间:按天查询某个项目当天的资金分项及汇总(资金来源)
+    - 资金性质:本期应收,历史欠费,预付款,违约金
+    - 收费项目。
+  - 经营管理者(老板,分公司负责人,片区):
+
+### 分摊问题:定额公摊,据实公摊
+
+- 金沙角分摊:价格由供电局定,总共三级分表后才到业主住宅表:商业按商业定价收费,整个小区公共部位:电梯,公共照明(金沙角单独),二次加压,小区设施设备;物业部分(不可分摊)。商业,可分摊,不可分摊三类。
+- 电梯电表读数:一个单元有电梯的独立表,电梯用电由整个单元分摊。还需要摊上级表损耗再分摊到楼栋中(即据实分摊)。需要公示,告知业主数据来源。
+- 海口分摊:海口定价明确,商业和住宅定额定价公摊,定好价后亏损有项目自己决定。
+- 定额公摊在入住业主较少的时候,业主接受度较高(比如入住户很少,公摊费用可能很高)。
+- 海南要求取消定额公摊,实施据实公摊据实公摊需要知道成本点。
+- 需要知道设施设备的损耗:找工程部李总了解详情。
+
+### 收费系统流程
+
+- 房屋建立->入伙->产生账单(应收项目,抄表,分摊费用,审单)->收费->开票->交款(财务统计员和出纳确认现金或公户入账情况)->财务核销->结账->报表出具。
+- 配单做账
+- 审单时常见错误:抄表行度(展示历史平均行度),是否交房,是否装修,是否入住(巡楼检查,登记,生活垃圾清运费等需要关联)。弹窗告知哪些户有特殊情况。
+- 违约金减免:业主主动缴费时,客服拥有权限进行减免。大部分合同未明确违约金导致法律上无法支撑。
+- 优惠减免:授权给具体人员。
+- 折扣:固定折扣账单生成前约定好折扣房屋,按折扣生成账单;临时折扣:账单生成后再做折扣。折扣率支持期限
+- 预收款:为专项预存,可以开票,但抵扣项不能再开票,支持退款
+- 退款:如有手续费产生的手续费损失由物业公司承担。
+- 缴费允许按账期,按账期分项缴纳(如只交电费)
+- 历年欠费(历史欠费),往期欠费(全部过往欠费),本期减免(当期少收金额),本期应收(当前账期应收费用),本期实收(实际收到的本期金额);本期应收合计=往期欠费+本期应收=本期实收+欠费实收+本期减免 (实收要分资金来源);账单与资金要分开
+- 违约金:本期违约金:(截止到当月的历史违约金到本月账单日计算之和):往期违约金不能算历史欠费,违约金法律上不支持利滚利。
+- 客户账单显示是最终减免后的金额(明细费用也是减免后的金额)
+
+### 服务公示
+
+- 业绩考核挂钩(目前还没有激励
+- 专项资金(每年每小区十次以上):如粉刷墙壁,大修等的业务流程:立项,意见征询,进度公示,收支公示(半年或一年公示)。共有设施收支(电梯广告,小区广告);投票超过一定比例后物业公司需要维修。
+- 专项资金结余后需要退还,按全体业主分摊退还(就算欠款也需要摊),业主同意后可以用于抵扣物业费。
+- 专项维修有时候直接贴公告,有异议才到物业登记,未登记默认无异议。
+
+### 设备台账:每个设备都有二维码
+
+- 设备记录全程透明:资料,更换次数,费用
+- 提升公司形象品质,有助于竞标
+- 供应商、品牌品质考核
+- 扫码报修:精确报修
+
+### 业委会
+
+- 与物业公司目前处于敌对状态
+- 提升物业服务,不能因为收费而做好平台,而是做好服务才提升收费。
+- 帝和华庭:合同到期(可以续签)公开招投标暗箱操作
+
+### 业主服务
+
+- 维修提供快捷,方便,贴心的服务
+- 服务流程如何缩短时间,提高效率?
+- - 物资允许工程部月初或前月月末提出储存式的易耗品:如工具,灯泡,线材等
+  - 业主提出维修时实施维修,项目不设置仓管员,工程部主管作为物资主管,拿旧的换新的(也有破损的),需要进行登记。
+  - 意外抢修:有维保协议的厂家可以先支持抢修,无需垫付资金
+  - 紧急资金支出:如员工发生意外
+
+### 门禁监控
+
+- 人脸录入工作量很大(需要支持一个授权后,允许自助添加)
+- 提升品质,业主体验
+
+### 车辆道闸
+
+- 支持车位管理
+
+### 智能充电桩
+
+- 安全问题:目前物业公司最为关注(消防部门强制实施)
+- 业务模式:支持买断,分润,合作经营
+
+### 报销的电子化

+ 61 - 0
需求/绘管家/调研记录/柳州调研记录.md

@@ -0,0 +1,61 @@
+# 绘管家绘服务重构目标
+
+## 系统管理
+
+* 实现更精准的功能和数据权限控制,具体到能够控制每一个功能操作的权限,查看敏感数据需先进行数据授权。
+
+* 优化系统管理流程,引入平台流程引导,提升系统管理操作便捷性。
+
+* 核心业务流和审批流融合,实现更规范的核心业务操作管理。
+
+* 操作日志可分析,可进行异常预警。
+
+## 物业服务
+
+*  引入服务流程公示、监督机制,系统自动生成服务报告,实现更完善的透明化、标准化、流程化的客户服务(报修和反馈)解决方案。
+
+* 面向不同角色,提供更便捷、丰富的移动端功能,满足基本移动办公需求。
+
+* 增加客户投票和问卷调查功能模块。
+
+* 优化现有通知公告、服务电话、制度标准的使用体验,实现更完善的业务场景需求解决方案。
+
+## 物业资源
+
+*  细化完善社区居民管理、社区访客管理、固定资产管理解决方案,支持更丰富的业务需求场景。
+
+* 全面与智能硬件进行对接,支持智能硬件实施落地及运营效率。
+
+* 优化完善数据导入功能,提示数据录入效率和体验。
+
+## 物业收费
+
+* 优化收费设置(收费项目、收费标准),提升操作便捷性、管理规范性。
+
+* 提供更高效、完善的抄表解决方案,实现自助抄表,向无人抄表迈进。
+
+* 提供更完善的公摊、优惠减免业务场景需求解决方案,优化升级性能和操作体验。
+
+* 提供更务实、多元的支付解决方案,尽可能降低资金到账时间、降低支付费率。
+
+* 提供更专业标准的票据解决方案,对接电子发票平台,向无人收费迈进。
+
+* 物业收费关键业务流程(预审、核销、结账)实现更高效智能化的处理。
+
+*  提供更完善的历史欠费回收解决方案,短信、微信、律师函等。
+
+*  优化预缴(预收)解决方案,实现业户在线预存。
+
+* 强化报表功能,支持报表与OA或第三方财务系统对接。
+
+* 与智能硬件对接,实现一体化的相关联费用的收费解决方案。
+
+## 数据安全性
+
+* 实现各平台客户(已签约物业公司)数据库独立。
+
+* 实现敏感数据加密(手机号、身份证号、银行账户信息)。
+
+## 平台运营
+
+* 实现平台运营更自动、便捷、可监控的技术产品支撑。

TEMPAT SAMPAH
需求/绘管家/资讯管理/image/addinformation.png


TEMPAT SAMPAH
需求/绘管家/资讯管理/image/addinformation2.png


TEMPAT SAMPAH
需求/绘管家/资讯管理/image/addtype.png


TEMPAT SAMPAH
需求/绘管家/资讯管理/image/delete.png


TEMPAT SAMPAH
需求/绘管家/资讯管理/image/deletewarn.png


TEMPAT SAMPAH
需求/绘管家/资讯管理/image/typelist.png


+ 58 - 0
需求/绘管家/资讯管理/资讯管理.md

@@ -0,0 +1,58 @@
+# 资讯管理功能需求文档
+
+资讯管理是为业主提供资讯的后台平台,其目的是为业主提供即时便民的资讯。
+
+资讯管理分:资讯类别管理和资讯信息管理 
+
+## 业务流程
+
+## [原型地址](https://org.modao.cc/app/e6901721256b50fa80884755fcf42250e875e733)
+
+## 资讯分类列表
+
+![image/typelist](image/typelist.png)
+一级类别相同时,合并显示。
+
+## 添加资讯分类
+
+![image/addtype](image/addtype.png)
+
+## 表单说明
+
+| 字段名称 | 类型     | 备注                      | 是否必填 |
+| ---- | ------ | ----------------------- | ---- |
+| 一级类别 | String | 父类别                     | 否    |
+| 名称   | String | 不可重复,如果一级类别未选,此数值存为一级类别 | 是    |
+| 排序   | Int    | 大于0的整数,数值越大,排序越**靠前**   | 是    |
+| 阅读者  | Enum   | 默认:**住户**               | 是    |
+| 状态   | Enum   | 默认:**显示**               | 是    |
+
+## 删除资讯信息
+
+| 类别下无资讯                            | 类别有资讯                                 |
+| --------------------------------- | ------------------------------------- |
+| ![image/delete](image/delete.png) | ![image/delete](image/deletewarn.png) |
+
+## 添加资讯信息
+
+| 第一步                                               | 第二步                                                 |
+| ------------------------------------------------- | --------------------------------------------------- |
+| ![image/addinformation](image/addinformation.png) | ![image/addinformation2](image/addinformation2.png) |
+
+## 表单说明
+
+| 字段名称   | 类型       | 备注                         | 是否必填 |
+| ------ | -------- | -------------------------- | ---- |
+| 一级分类   | String   |                            | 是    |
+| 二级分类   | String   | 如果二级分类状态是隐藏,添加的资讯也是隐藏      | 是    |
+| 标题     | String   | 最多可输入64个字                  | 否    |
+| 缩略图    | String   | 图片必须是680px*280px ,前端需做截图控件 | 是    |
+| 发布时间   | Datetime | 默认是当前时间                    | 是    |
+| 发布省份   | String   |                            | 否    |
+| 发布城市   | String   |                            | 否    |
+| 来源网络名称 | String   |                            | 否    |
+| 原标题    | String   | 最多可输入64个字                  | 否    |
+| 原文网址   | String   |                            | 否    |
+| 概要     | String   | 不填会自动截取正文前64个字             | 否    |
+| 正文     | String   |                            | 是    |
+| 状态     | Enum     | 默认资讯状态是**隐藏**              | 是    |