前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >持续发布公众号文章后终于吸引到同频的人找我一起合作做个小区智慧物业系统!

持续发布公众号文章后终于吸引到同频的人找我一起合作做个小区智慧物业系统!

作者头像
用户3587585
发布2024-05-20 15:43:32
1390
发布2024-05-20 15:43:32
举报
文章被收录于专栏:阿福谈Web编程阿福谈Web编程
引言

最近几乎每隔一天笔者就会发布一篇公众号文章,很明显的正向反馈也来了,一方面是公众号每天都有新的粉丝添加关注,每天的流量费也在慢慢地涨。最令我惊喜的是上周三把一篇刚公众号文章SpringBoot 整合 Vue3 与 Element-Plus 完成系统页面表单和表格功能开发 分享到自己的朋友圈后,就有一个之前给我推荐工作的技术小哥找我一起做一个小区智慧物业系统

这个项目本身是一个开源系统,但是如果要把它做成商用产品销售出去还有很多功能需要完善。由于笔者最近也没上班, 就答应他一起做这个项目,目前已经把项目在本地搭建起来,接下来就是要完成系统的一个物业发票开票功能。

项目简介

HC小区管理系统是一套saas物业管理的系统,包括 房产、业主、 费用 (可以线上缴费)、报修(可以线上报修)、投诉建议、采购、巡检、停车、门径、道闸、监控、工作流、问卷和公告等功能。

这个智慧物业系统为了方便给不同角色的用户使用,分了以下几个客户端。

  • 物业系统后端项目: https://gitee.com/wuxw7/MicroCommunity 物业系统核心业务处理后台服务端
  • 物业系统前端项目:https://gitee.com/java110/MicroCommunityWeb 用于物业人员PC端使用
  • 业主手机端:https://gitee.com/java110/WechatOwnerService 提供用户使用,包括投诉 建议,缴费、报修 等
  • 物业手机版:https://gitee.com/java110/PropertyApp 物业员工使用手机端

物业系统前端体验地址:http://demo.homecommunity.cn

  • 管理员账号/密码:admin/admin
  • 物业演示账号/密码:wuxw/admin
  • 开发者账号/密码:开发环境的权限太大,演示环境默认的密码无法提供,只能在u_user表中 用admin 的密码覆盖dev账号的密码,然后登陆进去请自己修改密码
代码语言:javascript
复制
-- 开发者密码修改为admin
update u_user set `password` = '3ad352384261cbc2c7462210dbb3ce61' where name = 'dev';
系统功能

主要系统功能请查看功能清单:http://bbs.homecommunity.cn/pages/bbs/topic.html?topicId=10202204245986034

本地开发环境搭建

笔者目前只在本地跑起来了物业系统后端项目物业系统前端项目

运行物业系统后端项目

运行物业系统后端项目服务需要先从gitee仓库地址: https://gitee.com/wuxw7/MicroCommunity Fork 一个个人仓库,然后再将fork后的仓库代码地址:https://gitee.com/username/MicroCommunity.git克隆到开发者个人硬盘空间

1)搭建MysqlRedis以及Kafka消息服务

  • 数据库初始化:Mysql 要求安装5.7以上版本,不过现在普遍都用8.0版本的Mysql了,接着创建hc_communityTT两个数据库以及hc_communityTT两个用户分别作为hc_communityTT两个数据库的属主,然后使用Navicat Premium 16 客户端工具分别在两个数据库的查询窗口中执行doc/db目录下hc_community.sqlTT.sql 两个文件中的sql脚步。

使用root用户创建数据库和用户的SQL脚本如下:

代码语言:javascript
复制
create database hc_community default character set utf8mb4;
create user 'hc_community'@'%' IDENTIFIED BY 'hc12345678';
GRANT CREATE,DROP,ALTER,INSERT,UPDATE,SELECT,DELETE on hc_community.* to 'hc_community'@'%' with grant OPTION;

create database TT default character set utf8mb4;
create user 'TT'@'%' IDENTIFIED BY 'hc12345678';
GRANT CREATE,DROP,ALTER,INSERT,UPDATE,SELECT,DELETE on TT.* to 'TT'@'%' with grant OPTION;

FLUSH PRIVILEGES;
  • redis 安装:我们可以参考Redis中文网上的安装教程https://www.redis.net.cn/tutorial/3503.html 完成Redis的安装,安装的Redis要求3.2以上,笔者安装的是6.0版本的Redis
  • Kafka 安装:我能同样可以参考Kafka官方文档上的安装教程https://kafka.apache.org/documentation/#quickstart 完成ZooKeeper和Kafka消息队列服务的安装。目前官方最新的Kafka稳定版本是3.7版本,并需要安装在Linux环境中,需要下载的安装包是kafka_2.13-3.7.0.tgz

以上MysqlRedisKafka 的安装都非常简单。

2)修改项目JVM启动参数和基础服务连接配置

完成以上服务的安装后就可以使用IDEA 打开MicroCommunity 项目,先完成依赖下载到本地Maven仓库,这个项目的模块比较多,启动时需要的内存也比较大,需要在项目的启动VM参数中增加如下几个参数配置

代码语言:javascript
复制
-Xms2048m
-Xmx4096m
-XX:ReservedCodeCacheSize=2048m
-XX:+UseG1GC

因项目启动时需要占用的内存比较大,因此将堆初始内存调整为2G,堆最大内存调整为4G,保留的代码缓存也调整到2G,并使用G1垃圾收集器。

SpringBoot的形式启动后台项目时默认激活的是debug环境,因此需要修改springboot/src/main/resource目录下的

application-debug.yml配置文件中的 dev.zk.java110.comdev.kafka.java110.com 等链接zookeeperkafka服务的域名统一改为部署kafka服务的云服务器的ip地址,当然也可以换成自己备份的公网服务器域名。还有连接redis服务的ip地址192.168.1.108改为localhost;另外还需要将dataSource-debug.yml文件中连接Mysql数据库服务的ip地址192.168.1.108 也改为localhost

3)执行编译和打包

先执行changeBootEnvWindow.bat 脚本文件(Windows 系统) 或 changeBootEnvLinux.sh 脚本文件(mac 或者linux系统)将service服务下的 pom-boot.xml 的内容 写到 pom.xml 文件中。这一步必须在项目启动之前,否则项目启动会失败的。

然后在项目的根目录下执行项目代码的编译和打包Maven命令

代码语言:javascript
复制
mvn clean install

mvn clean package

4)启动服务

运行 BootApplicationStart.java 启动类中的main方法完成后台服务的启动。

运行物业系统前端项目

首先从gitee仓库地址: https://gitee.com/java110/MicroCommunityWeb Fork 一个个人仓库,然后再将fork后的仓库代码地址:https://gitee.com/username/MicroCommunityWeb.git 克隆到开发者个人硬盘空间

然后按以下步骤完成物业系统前端项目的启动

1)在根目录下通过右键->git bash here 打开一个命令控制台,执行npm install命令完成项目nodejs依赖包的安装

2)修改app.js 中的ip和端口信息

代码语言:javascript
复制
app.use('/callComponent', proxy('http://localhost:8008', opts));
app.use('/app', proxy('http://localhost:8008', opts));
app.use('/ws', createProxyMiddleware({
    target: 'http://localhost:8008',
    changeOrigin: true,
    ws: true
}));

然后执行 npm start命令,出现如下:

代码语言:javascript
复制
> micrcommunityweb@0.0.0 start
> node ./bin/www

然后在浏览器中输入:http://localhost:3000 会进入系统用户登录界面

输入用户名和密码:admin/admin 及 验证码 后点击下面的登录按钮登录成功后进入如下图所示的平台数据页面

物业小区房产、缴存费用及申请发票操作

可以看到admin用户登录成功后进入的系统和下面这个视频上作者演示给我们的菜单不一致,开发票页面需要给业主分配房屋后才能进行操作。因此需要我们进行一些额外的操作,经过笔者的一番摸索需要经过下面才能给业主添加房产。

1)进入数据->物业公司菜单页面,点击任意物业公司记录行中操作列中的登录按钮,在弹出的密码确认对话框中输入admin账户的密码

2)登录成功后进入HC物业系统页面,我们可以看到左边的菜单也发生了明显的变化

3)点击房产->业主信息菜单页进入到业主信息界面,点击右边的添加业主按钮会打开添加业主的表单对话框

上传业主照片功能还有待后台部署FTP文件服务器才能正常使用。

添加完业主信息后点击保存按钮回到业主信息页面就可以看到已经有业主数据了

4)进入房产->房屋管理 菜单页,点击左上角的添加楼栋

5)回到房产->房屋管理 菜单界面,选中右边我们新建的楼栋,然后点击上面的添加单元按钮,在弹出的添加单元对话框中输入单元信息

点击保存后可以看到楼栋节点下面出现了单元子节点

6)选中楼栋下面的单元节点,点击添加房屋按钮,在弹出的添加房屋表单中输入房屋信息

房屋状态选择已交房, 业主栏点击右边的选择业主按钮在弹出的选择业主对话框中选择我们之前添加的业主

选中业主后回到添加房屋表单界面后点击右下角的提交按钮后就可以看到楼栋单元对应的房屋信息

7)添加费用项

缴费前需要先添加费用项目,进入费用->费用项设置菜单界面,选中物业费后点击右边的添加按钮会打开添加物业收费项对话框

在弹出的添加对话框表单中输入具体的物业收费项信息

点击右下角的保存按钮后就可以看到添加的费用项数据了

8)添加发票抬头

开发票的时候需要有发票抬头,因此在没有发票抬头可选的情况下需要先添加发票抬头

进入房产->发票抬头菜单界面,点击右边的添加按钮进入添加发票抬头表单界面,填写发票抬头信息

点击保存后可以看到刚才添加的发票抬头数据

在此之前笔者已经为业主张三创建了一个企业为江苏银河物业管理公司的发票抬头

9)房屋业主账户预存

回到房产->房屋管理管理选中0301栋下面的1单元对应的房屋记录对应的操作列中的业务受理按钮

点击业务受理按钮跳转到业主业务受理界面

在业务受理界面点击账户预存按钮跳转到业主信息页面

点击右边操作列中的预存 按钮弹出添加预存表单对话框

输入预存金额并选择支付方式和账户类型后点击保存按钮

10)业主缴费

然后我们继续回到物业受理页面点击创建费用按钮下面的欠费缴费按钮

进入缴费确认页面

点击右边的的缴费按钮弹出收费确认对话框,选择支付方式,点击确认收费按钮即可

缴费成功后会弹出缴费成功的提示消对话框,点击打印收据即可看到收据单

继续点击右边的打印按钮可以打印出pdf格式的收据

11)提交发票

回到房产->发票菜单页

点击申请按钮跳转页面后选中发票抬头后带出业主刚才缴纳过的物业费用记录

点击下面的提交按钮后回到申请发票数据页面

选中待审核状态的发票记录,点击操作列中的审核按钮进行发票审核

审核完后发票记录就变为发票号待上传状态,接下来的上传发票之前的生成发票需求就是需要我们调用诺诺发票去完成的事情

由于本文篇幅有限,对于如何使用这个物业系统笔者就不多做介绍了。关于HC智慧物业系统的每个菜单页面该如何操作可以通过查看HC小区物业文档链接:http://bbs.homecommunity.cn/document.html?docId=102022031484710001 去进一步了解如何使用HC智慧物业系统

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2024-05-20,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 阿福谈Web编程 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 项目简介
  • 系统功能
  • 本地开发环境搭建
  • 物业小区房产、缴存费用及申请发票操作
相关产品与服务
数据库
云数据库为企业提供了完善的关系型数据库、非关系型数据库、分析型数据库和数据库生态工具。您可以通过产品选择和组合搭建,轻松实现高可靠、高可用性、高性能等数据库需求。云数据库服务也可大幅减少您的运维工作量,更专注于业务发展,让企业一站式享受数据上云及分布式架构的技术红利!
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档