目 录
--------[点击这里看完整版]-------
[if !supportLists]1 [endif]绪 论
[if !supportLists]1.1[endif]研究的背景及意义
[if !supportLists]1.1.1[endif]选题的背景
身处于互联网的时代,科技的变革改变我们生活,生活方式发生了巨大的改变。也促使着我们不断学习获取最新有效的技术。微信作为社交区使用人数是最多的,其中的微信公众号是人们阅读获取最新的信息和学习的胜地。比如,人民日报的公众号发文最新国家时事和感动中国人物的事迹以及每晚深情的夜读,深受人们的称赞。以及个人公众号订阅号类型的,也促使作者去学习、总结、认真编辑文档,创造出更多搞质量的优质文章。微信公众号也在不断的进行更新,适应用户的体验度。在个人的微信公众号下,官方为公众号的管理员(粉丝数大于500人)开通广告流量主。激励管理员创作更优质的文章。微信官方发表微信开发者文档,这样鼓励更多的企业和个人媒体的加入。按照微信官方文档支持开发者的对公众号的编码创作。公众号为人们提供更便捷的“信息获取”、“技能学习”和“拓展思考”的取水源。
微信公众号设计主题为《城口县互联网+固定资产投资服务监管平台建设项目微信公众平台的设计与实现》。本项目的概要描述。分为四个用户角色:系统管理员进行系统配置项的设置和发改部门与行业主管部门的增删改查操作、发改部门针对法人提交的项目进行审核、行业主管部门对法人的提交的项目进行分类整理和报送和调度提醒发改部门、项目法人对自己情况进行填写和申请。依照微信公众号中的导航菜单的个人中心和官网上资料说明。在每个具体业务模块的操作说明中,后给信息通知的模块接收系统通知消息模块,接收与登录用户相关的个人待办事项通知
项目申请资源的合理分配、有效挖掘出更有利的项目投资,从项目的可行性、回报周期和社会项目的需求,借以实现组织目标的管理活动。
[if !supportLists]1.1.2[endif]国内外研究现状
微信公众号在2012年问世,用户使用量持续的新增,不少商家和企业就看到微信公众化的发展空间,就利用线上微信公众号和线下实体店相结合的经营模式,吸引大批用户,激发了商业的活力。同时,结合公众号分析平台的数据分析,用户关注量排名前均属于新闻媒体的企业公众化。反映了用户对社会新闻信息的密切关注。在微信后台的数据反映,微信平台在文章质量检测中也是很灵敏。处理很多不妥、违规、存在社会舆论的低质量文章的打击程度。微信公众号为了用户更方便在线上营销的战略,开发了每日群发、小程序接口、卡卷等接口的实现极度的方便促进用户和商户的交易的流程。作者Institut für Germanistik, Germanistik/Linguistik,Universität Duisburg-Essen在2019年发表的《WeChat– Funktionsweise, technische
Möglichkeiten and Emoji-Kommunikation》中介绍微信平台开发的技术要求和应用可能性和交流发送表情的处理研究。
[if !supportLists]1.1.3[endif]研究的意义
本项目微信公众号业务研究中:需要支持通过微信平台进行一些基本的项目申报审批流程。使项目投资能够扩大社会再生产,从而促进项目投资的客户持续发展。支持项目(法人)对项目申请批报和项目创新力的构建,去提高社会需求的满意度。从而给社会提供更高效便捷的生活质量。拉动社会消费的增长。在微观的角度上看,项目投资监管平台能增强技术经济的实力和项目投资创新能力提升给人们正向的指引作用。提供用户使用的便利和开拓能力,使用户有舒适的体验感。
从“实践”的角度上来看,项目申报入口设置在微信公众号里面,迎合了社交应用最广的微信APP里面。因此,我们不用去下载别的应用软件,也不用花时间去学习别的软件的操作,减少用户操作的时间。降低用户的手机使用的复杂度,压缩了在手机上操作的时间。从而可以促进用户使用的频率和满意度。本项目作为一个政务类型的平台,设置在微信公众号里面可以有助于拓展服务聚到,让政务建设的成果真正惠及全民,体现出政府服务部门便民便利的服务理念。有助于抢占舆论的征地和强化政民互动。
[if !supportLists]1.2[endif]系统目标
建设一个统一、完整、规范的重大重点项目信息库及服务监管平台,且在微信移动端进行操作。
图1-1 系统目标
“1311”应用系统
“1库”——微信平台实现项目库管理。
“3核”——微信平台移动端实现前期工作管理、项目调度管理和问题督察管理。
“1端”——微信平台移动端,“1屏”——在手机端展示可视化数据系统。
实现“3全”管理
[if !supportLists](1)[endif]全覆盖管理
能够覆盖项目投资监管管理相关职能部门,能够实现多个部门之间的数据共享、业务协同。加快推进重大重点项目的前期工作办理。
[if !supportLists](2)[endif]全流程管理
在项目调度过程中,用发牌预警的手段,实现对项目投资监管平台已经通过初步审核的进入重点项目中去选址、确定项目、项目实施、项目完成的整个项目开发申请的流程的监管,这样就能实时监控和遇到问题的及时解决的一个效率。项目建设实施过程中的困难和问题,从而保障重大重点项目按时按质科学有序推进,顺利建设实施。
[if !supportLists](3)[endif]全可视管理
采用多种可视化的技术手段对重大重点项目的调度情况及项目建设具体情况,用可视化图表或者是3D动态图进行展示,包括基于各地区项目投标情况展现示,各地区项目申报通过审核的数据展示,年度各时期对项目申报情况的展示。利用项目图片或视频信息实现项目进度可视化。全可视化的项目申请到项目调度的整个流程中,使投资项目监管更客观有据、更生动形象、更一日了然,投资决策更科学高效。
“固定资产投资服务监管微信平台系统”目标如下:
[if !supportLists]1.[endif]高效集成,协同办公
用互联网技术替换传统的手工操作,实现项目在线的申报和对项目信息的实时监控。把控每一个项目申请的过程。使其好的项目能得到该有的处理和审批。实现多个发改部门同时批改审核。
[if !supportLists]2.[endif]提速审批,监控过程
项目法人填报项目申请后,会接受到项目申请的信息通知。同时给行业主管部门一个项目申请的信息单,来通知行业主管部门。行业主管部门针对申请的项目进行初步的查阅。如果项目逻辑清晰标准符合。立即通过验证推送给相应发改部门快速的审核。将审核结果第一时间通知项目法人,并存储在数据库中。
[if !supportLists]3.[endif]共享数据,辅助决策
微信平台上对项目申请的数据保存数据库中,用数据图表的形式形象的展示出来。让用户更直接了解项目申请的情况。
[if !supportLists]2 [endif]需求分析
[if !supportLists]2.1[endif]业务需求
[if !supportLists](1) [endif]支持在微信平台能查询到申请项目信息,查看项目的基本信息、投资情况、前期工作
进项目调度进展、项目问题。
[if !supportLists](2) [endif]提供项目单位在线问题、业务、操作等咨询,县级发改人员、技术支撑人员在线问题回
复。支持项目(法人)单位和发改部门通过微信平台发起项目问题,相关部门(行业主管部门和发改部门)通过微信公众号后台进行问题的回复、反馈和督办。
[if !supportLists](3) [endif]支持项目(法人)人员通过微信填报调度任务,支持上传项目实景图片或视频。
[if !supportLists](4) [endif]提供多维度的统计分析报表查询,方便随时随地了解重大重点项目的总体进展情况。
提供用户较完善的信息,让用户有比较好的体验感。
2.1.1主要业务
[if !supportLists](1) [endif]项目法人登录注册管理业务流程设计
该业务流程是项目法人登录页面无账号可以进行注册,注册成功进入登录页面。通过账号验证。会跳转到项目法人首页,进行个人信息更改。
项目法人登录注册管理业务流程如图2-1所示
图2-1 项目法人登录注册管理业务流程图
[if !supportLists](2) [endif]行业部门登录管理业务流程设计
各行业主管部门使用预设的账号和密码登录系统及时填报各自责任范围内的前期事项办理进展情况。行业部门人员管理各自行业的项目并整理报送给发改部门。
行业部门登录管理业务流程如图2-2所示
图2-2 行业部门管理业务流程图
[if !supportLists](3) [endif]发改部门管理业务流程设计
发改部门进行身份验证,通过验证后跳转到发改部门的首页,发改部门可以对项目进行批审、可查看项目的进展信息、对全部问题及待办事项进行监督。如图2-3所示
图2-3 发改部门管理业务流程图
[if !supportLists](4) [endif]系统管理员管理业务流程设计
系统管理员进行身份的验证,后面根据微信服务器传过来的OPENID去查询数据库。根据数据库的用户管理员类型字段,登录相应的首页。系统管理员能对行业部门人员和发改部门进行增、删、查、改的操作。
系统管理员管理业务流程如图2-4所示:
图2-4 系统管理员管理业务流程图
[if !supportLists](5) [endif]微信公众号信息通知管理业务流程设计
根据用户的操作,有需要用户确认和信息提醒的操作,应该用微信后台信息通知模块
给用户通知。针对用户的项目申报的进度更新并以微信公众号信息通知给用户。根据用户的反馈信息和项目问题督办处理结果给用户相应的消息提醒。
微信公众号信息通知管理业务流程如图2-5所示
图2-5 微信公众号信息通知管理业务流程图
[if !supportLists](6) [endif]微信公众号可视化展示管理业务流程设计
结合不用用户申请的项目类型和数量形成一张项目清单,并且用图表的方式展示用户申请项目的不同类型的数量。图表方式展示出用户项目申报的情况。
微信公众号可视化展示管理业务流程如图2-6所示
图2-6 微信公众号可视化展示管理业务流程图
[if !supportLists](7) [endif]微信公众号业务办理管理业务流程设计
微信公众号业务办理包含五个方面:
[if !supportLists]1) [endif]信息查询:支持通过微信平台查询项目,查看项目申请的基本信息、项目申请的投 资情况、项目申请的前期工作进展情况、项目调度进展、项目问题等。
[if !supportLists]2) [endif]业务咨询:提供项目单位在线问题、业务、操作等咨询,县级发改人员、技术支 撑人员在线问题回复。
[if !supportLists]3) [endif]协调推进:支持项目(法人)单位和发改部门通过微信平台发起项目问题,发改 部门和系统管理员通过微信方式进行问题的回复、反馈和督办。
[if !supportLists]4) [endif]调度反馈:支持项目(法人)单位工作人员通过微信填报调度任务,支持上传项 目实景图片或视频。
[if !supportLists]5) [endif]报表报告:提供多维度的统计分析报表查询,方便随时随地了解重大重点项目的 总体进展情况。
图2-7 微信公众号可视化管理业务流程图
[if !supportLists]2.2[endif]功能需求
本项目微信平台能够支持项目(法人)单位工作人员通过微信填报调度任务,支持上传项目实景图片或视频。提供多维度的统计分析报表查询,方便随时随地了解重大重点项目的总体进展情况。
[if !supportLists]2.2.1[endif]角色分析
根据对互联网+固定资产投资服务监管微信平台的设计与实现的需求分析,本系统主要涉及到的角色如下表2-1所示:
表2-1 系统角色表
角色职责或功能
项目法人申请项目填报、查看项目进度、接受项目调度信息通知、在线填报调度反馈、确定项目结算、反馈调度问题、联系客服、加入官方群聊、项目可视化展示。
行业部门前期工作预警、前期事项配置、前期工作反馈、行业主管发起问题、行业主管部门接受问题、反馈进度结果、打印项目清单列表、项目可视化展示。
发改部门项目审核管理、审核待办事宜管理、重点项目库管理、项目可视化展示。
系统管理员对行业部门人员和发改部门人员的添、删、改、查。项目调度反馈调整。
[if !supportLists]2.2.2[endif]业务功能
微信公众平台:基于微信服务号建设移动端的功能,提供信息通知、业务办理、统计分析、操作指引等实用性功能。实现项目法人在移动端的设计了本系统的功能需求总体用例图如下图2-8所示。
图2-8 系统总体用例图
[if !supportLists](1)[endif]项目法人需求分析
项目(法人)单位和发改部门通过微信平台发起项目问题,系统管理员部门和发改部
门通过微信公众号的方式进行问题的回复解答。项目(法人)单位工作人员通过微信填报调度任务,支持上传项目实景图片或视频。
该模块的用例图如图2-9所示。
图2-9 项目法人管理模块用例图
项目法人的项目申请管理模块案例分析表如下表2-2所示:
表2-2 项目法人项目申请管理模块案例分析表
描述项说明
用例名称项目法人申报项目管理案例
标识符*CF01
用例描述描述项目法人对项目申请的过程
参与者表项目法人
优先级1
状态*进行中
前置条件项目法人通过验证登录
续表2-2
后置条件跳转到项目法人的首页
基本操作流[if !supportLists]1.[endif]项目法人通过账号的登录,转到项目法人首页界面。
[if !supportLists]2.[endif]项目法人填写项目的基本信息进行申请。
[if !supportLists]3.[endif]项目申请提交成功,微信后台发送信息通知。
可选操作流当操作权限不够时系统弹出错误提示,并记录操作日志信息
被泛化用例表该用例的特化用例列表
项目法人的项目信息管理案例分析表如下表2-3所示
表2-3 项目法人的项目信息管理案例分析表
描述项说明
用例名称项目法人申请的项目信息管理案例
标识符*CF02
用例描述描述项目法人对自己项目申请的信息查看
参与者表项目法人
优先级1
状态*进行中
前置条件项目法人在项目法人首页点击项目信查看
后置条件项目法人申请过项目
基本操作流[if !supportLists]1.[endif]项目法人登录进入到项目法人的首页。
[if !supportLists]2.[endif]点击项目信息查看按钮。
[if !supportLists]3.[endif]查看申请过的项目信息。
可选操作流当注册信息不符合提示要求时,系统弹出错误提示,并记录操作日志信息。
[if !supportLists](2) [endif]行业主管部门管理模块需求设计
各行业主管部门使用预设的账号和密码登录系统及时填报各自责任范围内的前期事项办理进展情况。行业主管部门可发起问题、项目资金拨款申请等。行业主管部门接收与自己相关的待处理问题,并可在线反馈处理进度和处理结果。
该模块的用例图如图2-10所示
图2-10 行业主管部门人员管理模块用例图
行业主管部门人员对项目问题督办管理案例分析表如下表2-4所示:
表2-4 行业主管部门人员项目问题督办管理案例分析表
描述项说明
用例名称行业主管部门人员项目问题督办管理案例
标识符*CF03
用例描述描述行业主管部门人员对项目整理、监督、反馈提醒的过程
参与者表行业主管部门
优先级1
前置条件行业主管部门人员已经通过登录验证
后置条件行业主管部门点击相对应的操作,进入行业主管部门的操作界面。
基本操作流[if !supportLists]1.[endif]行业部门人员账号验证,进入行业部门的首页
[if !supportLists]2.[endif]点击监督的按钮,进入相对应的项目调整的页面。
[if !supportLists]3.[endif]查看项目可视化的图表,了解最近项目类型问题反馈的情况和项目问题督办的情况。做出对问题处理的及时的响应。
[if !supportLists]4.[endif]操作结束,数据同步到数据库,同时对发布的问题相应对应的用户提醒。
行业主管部门人员项目可视化展示案例分析表如下表2-5所示:
表2-5 行业主管部门项目可视化展示案例分析表
描述项说明
用例名称行业主管部门项目可视化展示案例
标识符*CF04
用例描述描述行业主管部门人员查看项目可视化展示的过程
参与者表行业主管部门人员、项目法人、发改部门
优先级1
状态*进行中
前置条件用户通过行业主管的登录验证
后置条件用户点击 “项目可视化”按钮
基本操作流[if !supportLists]1.[endif]行业主管部门点击可视化按钮,进入项目大数据的页面。
[if !supportLists]2.[endif]点击项目的数据类型的按钮,数据从数据库呈现前端页面。
可选操作流查看本系统的总体项目数据图表展示
被泛化用例表该用例的信息查阅用例
[if !supportLists](3) [endif]发改部门人员管理模块需求设计
发改部门人员管理模块主要有下面六点功能:
[if !supportLists](1) [endif]发改部门使用预设的账号和密码登录系统录入单个项目或EXCEL文件批量导入项
目。对接重庆市固定资产投资项目网上服务监管,获取系统中已经的项目信息,自动关联到对应的项目单位及管理部门。
[if !supportLists](2) [endif]发改部门进行审核,审核分为审核通过和退回。审核待办事宜将通过系统消息和
移动端进行推送和提醒。
[if !supportLists](3) [endif]发改部门可按项目查看本期的进展信息。
[if !supportLists](4) [endif]发改部门都可发起问题、项目资金拨款申请等。
[if !supportLists](5)[endif]发改部门通过微信平台发起项目问题,相关部门和发改部门通过微信进行问题的
回复、反馈和督办。
[if !supportLists](6)[endif]发改部门可对全部问题及待办事项进行监控、督促。
发改部门人员管理模块的用例图如图2-11所示
图2-11 发改部门人员管理模块用例图
发改部门人员对申请项目审批管理案例分析表如下表2-6所示:
表2-6 发改部门人员项目管理案例分析表
描述项说明
用例名称发改部门人员项目管理案例
标识符*CF05
用例描述描述发改部门对项目审批、导入、问题处理、申报的项目进度查看操作的过程
参与者表发改部门人员
优先级1
状态*进行中
前置条件发改部门人员已经通过登录验证
后置条件操作完成后,并进入到发改部门的首页
基本操作流[if !supportLists]1.[endif]发改部门人员登录成功,进入发改部门人员首页界面。
[if !supportLists]2.[endif]发改部门点击项目进行审批、导入、问题处理、项目进度查看操作功能。
[if !supportLists]3.[endif]发改部门点击操作后,进入相应的操作界面进行操作。
发改部门人员项目调度案例分析表如下表2-7所示:
表2-7 发改部门人员项目调度案例分析表
描述项说明
用例名称发改部门人员项目调度案例
标识符*CF06
用例描述描述发改部门人员对通过项目审核的项目进行项目调度审核过程
参与者表发改部门人员
优先级1
状态*进行中
前置条件已经通过项目申请的审核项目
后置条件对重点项目库中项目调度的信息进行审核,审核结果通知项目法人
基本操作流[if !supportLists]1.[endif]点击“项目调度”的按钮,进入项目调度审核页面
[if !supportLists]2.[endif]项目调度审核结果存储在数据库中,审核结果通知用户
[if !supportLists](4)[endif]系统管理员管理模块需求设计
系统管理员可以对发改部门人员、行业部门人员进行增、删、改、查的操作和项目问题处理总揽。该模块用例图2-12所示。
图2-12 系统管理员管理模块用例图
系统管理员处理项目问题管理模块案例分析表如下表2-8所示:
表2-8 系统管理员处理项目问题案例分析表
描述项说明
用例名称系统管理员处理项目问题管理案例
标识符*CF07
用例描述描述系统管理员处理项目中的问题
参与者表系统管理员
优先级2
状态*进行中
前置条件系统管理员登录验证成功
后置条件微信公众号发送项目问题被解决的信息通知
基本操作流[if !supportLists]1.[endif]系统管理员拿到自己的账号登录验证通过或者微信之前登录成功后直接在微信中免登录操作。操作对应的问题处理功能
[if !supportLists]2.[endif]系统管理员对选择的用户提出的项目问题进行处理。
[if !supportLists]3.[endif]系统管理员对项目问题处理结果用微信公众号信息通知的形
式发送给用户。
可选操作流管理员查看项目问题处理的情况
被泛化用例表用户提出的项目问题进行处理过程表
系统管理员可视化设置案例的分析表如下表2-9所示:
表2-9 系统管理员可视化案例分析表
描述项说明
用例名称系统管理员大数据可视化页面的案例分析
标识符*CF08
用例描述管理员布局可视化页面的展示
参与者表系统管理员
优先级2
状态*进行中
前置条件系统管理员人员账号验证成功,进入首页点击可视化按钮
后置条件按照用户的需求更改可视化页面展示的字段和图表的展示意义。更改可视化页面展示的结构。
基本操作流[if !supportLists]1.[endif]点击需要换一个图形展示的图表。
[if !supportLists]2.[endif]将项目图表的列名和数据类型修改,并保存到数据库。
可选操作流系统管理员信息修改案例
[if !supportLists](5)[endif]微信公众号业务办理模块需求设计
业务办理:项目申请信息查询、项目业务流程咨询、项目调度反馈。
信息查询:支持通过微信平台查询项目,查看项目信息、项目申请进展情况、项目调度进展、项目问题等。
业务咨询:提供项目单位在线问题、业务、操作等咨询,县级发改人员、技术支撑人员在线问题回复。
协调推进:支持项目(法人)单位和发改部门通过微信平台发起项目问题,相关部门和发改部门通过微信进行问题的回复、反馈和督办。
调度反馈:支持项目(法人)单位工作人员通过微信填报调度任务,支持上传项目实景图片或视频。
报表报告:提供多维度的统计分析报表查询,方便随时随地了解重大重点项目的总体进展情况。
微信公众号业务办理模块的用例图如图2-13所示
图2-13 微信公众号业务办理模块用例图
微信公众号业务办理模块案例分析表如下表2-10所示:
表2-10 微信公众号业务办理模块案例分析表
描述项说明
用例名称微信公众号业务办理模块案例
标识符*CF09
用例描述描述用户对项目申报问题、处理、监测的过程
参与者表系统管理员、项目法人、行业部门人员、发改部门人员
优先级1
状态*进行中
前置条件用户通过身份验证
后置条件系统弹出“登记成功”提示框,外来人员进行访问
基本操作流[if !supportLists]1. [endif]用户员通过登录验证
[if !supportLists]2. [endif]用户进入相应的首页进行相应的操作
可选操作流问题重名或者问题内容超长导致操作出错,系统弹出错误提示,并记录操作日志信息
被泛化用例表该用例的特化用例列表
[if !supportLists](6)[endif]微信公众号信息通知管理模块需求设计
信息通知:接收系统通知消息,接收与登录用户相关的个人待办事项通知,如项目待办事项提醒、监测预警提示等。
该模块的用例图如图2-14所示
图2-14 信息通知管理模块用例图
微信公众号信息通知管理案例分析表如下表2-11所示:
表2-11 微信公众号信息通知管理案例分析表
描述项说明
用例名称微信公众号信息通知管理案例
标识符*CF10
用例描述[if !supportLists]1.[endif]系统管理员:微信等方式对项目责任单位和相关部门进行调度
填报提醒
[if !supportLists]2.[endif]项目法人:接受有关个人申报的项目进度问题提醒和项目申报
结果处理的提醒
[if !supportLists]3.[endif]行业部门人员:审核待办事宜将通过系统消息和移动端进行推
送和提醒,前期工作进展进行监测预警,如有超时未办理等情况,系统自动发牌预警,预警提醒同时通过移动端推送给相关人员
[if !supportLists]4.[endif]发改部门人员:接收系统通知消息,接收与登录用户相关的个人
待办事项通知,如项目待办事项提醒、监测预警提示。
参与者表系统管理员、项目法人、行业部门人员、发改部门人员
优先级1
状态*进行中
前置条件系统管理员、项目法人、行业部门人员、发改部门人员能通过登录验证
后置条件操作完成后,系统弹出“操作成功”提示框,并进入到对应用户的首页界面
可选操作流[if !supportLists]1.[endif]系统管理员登陆首位界面,接受项目调度问题的反馈提醒
[if !supportLists]2.[endif]发改部门人员登陆首页界面,接受项目审核待办提醒
[if !supportLists]3.[endif]行业部门人员登录首页界面,接受项目监督整合提醒
[if !supportLists]4.[endif]项目法人登录首页界面,接受该用户提交项目的进度提醒
被泛化用例表该用例的特化用例列表
[if !supportLists](7)[endif]微信公众号可视化管理需求设计
微信公众号可视化管理模块的用例图如图2-15所示
图2-15 微信公众号可视化管理模块用例图
微信公众号可视化管理案例分析表如下表2-12所示:
表2-12 微信公众号可视化管理案例分析表
描述项说明
用例名称微信公众号可视化管理案例
标识符*CF11
用例描述[if !supportLists]1.[endif]可视化的技术手段对重大重点项目的推进及建设情况进行立
体呈现。
[if !supportLists]2.[endif]基于地理信息技术展现示项目建设地点分布和项目开竣工情
况,采集项目图片或视频信息实现项目进度可视化,采用红黄牌预警实现项目问题的可视化。
[if !supportLists]3.[endif]对重大重点项目的各阶段进展数据进行汇总、比对、分析,为
相关领导及时、准确、全面地提供多维度的统计分析报表和可视化的数据展示
参与者表系统管理员、项目法人、行业部门人员、发改部门人员
优先级1
状态*进行中
前置条件用户通过登入验证
后置条件操作完成后,进入到需要查看项目情况的类型描述页面
基本操作流[if !supportLists]1. [endif]成功进入页面后,选择以什么方式查看项目情况
[if !supportLists]2. [endif]点击提交按钮进入项目总揽情况页面
[if !supportLists]2.3[endif]非功能需求
2.3.1环境需求
服务器端的环境如表2-13所示
系统的数据库MYSQL
移动端系统Linux
服务器类型腾讯云
公网域名域名已备案
服务器端口80端口未占用,企业号的支持443端口
服务器所处温度温度范围为20-25℃(68-75℉)
客户端的环境如表2-14所示:
操作系统Android、IOS
微信版本4.0V以上
分辨率最佳效果为1024×768像素
公众号申请类型服务号/企业号(可在测试号进行测试)
微信账号数量微信账号数量在4个以上
2.3.2 性能需求
[if !supportLists](1)[endif]可维护性
维护方法:微信服务器对于在公众号操作时候出现数据异常,会将这个异常数据记录保存在我的数据库中,并且对这个异常进行处理,及时将出现这个异常通知给用户并告诉针对这个异常用户应该做些什么让这个异常更小概率发生和处理,及时处理后也将处理的结果通知用户。让用户在使用过程中做好应对处理和准备。
[if !supportLists](2)[endif]易操作性
界面设计:系统向美观实用方面设计,方便和简约的图形界面,考虑用户体验感,页面元素轻巧,需求功能明显,极易上手操作。
[if !supportLists](3)[endif]可扩展性
功能扩展:公众号服务器菜单结构可以链接到固定资产项目投资的官网上去便于查找自己需求的数据。可接通多个接口和菜单方式。满足用户的申报项目基本需求。
非公能拓展:非公能的接口设置均不封闭。及时关注用户对这个系统的反馈和提议,针对非公能可以及时处理问题。
[if !supportLists](4)[endif]软件维护:
对用户进行深度分析,定期微信公众号页面内容进行更新,如产品,活动等。对用户进行深度分析,包括用户的来源,比如用户是来自公众号还是小程序等。理性客观的对数据进行总结,让用户体验舒适。在页面内容进行更新方面,一定要有自己的规律,具体问题具体分析。
[if !supportLists](5)[endif]响应性
操作平均响应时间不超过2.0秒,页面的响应时间不大于500毫秒,事务处理时间低于0.5秒,查询等待时间小于2.0秒。
2.3.3 安全需求
[if !supportLists](1)[endif]容错性
当用户输入错误时,系统有针对错误处理并提示用户让用户正确输入。用户操作不在微信平台时也会提示出请在微信端操作的页面友情提示。
[if !supportLists](2)[endif]系统的外在环境安全
用户输入的数据全部保存在腾讯云数据库当中,有着强大的腾讯云管理团队技术维护。并且防止服务器的DDOS攻击。定期查看流量剧增的IP地址,将其加入服务器访问的黑名单。同时将服务器的公网IP设置为弹性IP.设置复杂密码防止黑客暴力破解。
[if !supportLists](3)[endif]系统内部安全
系统源代码放到腾讯云的服务器上比较安全。对于数据非法访问自动跳转异常页面。数据提交采用安全POST提交方法。
[if !supportLists](4)[endif]系统运行安全
腾讯云安全在云服务生命周期的每个阶段都采用安全审计流程、从需求设计、到系统上线、再到运营都在腾讯云的安全风险可控和保护当中。
[if !supportLists](5) [endif]防火墙技术安全
采用腾讯服务器的弹性域名和设置安全组。更改常用端口8080、22、80、3306等端口。使其黑客采用DDos攻击增加难度。使用动态MFA口令加密。
[if !supportLists](6) [endif]边界防护安全
设置本系统只能在移动端且微信平台下面进行操作,离开微信平台,一切操作失败且温馨提示。防止在PC端对本系统的端口扫描造成危害。
[if !supportLists]3 [endif]总体设计
[if !supportLists]3.1[endif]系统设计的原则
经过充分考虑本项目监管的总体规划目标,以及微信平台的应用环境下,本系统的设计将严格遵循以下的设计原则:
[if !supportLists](1)[endif]可靠性原则
利用腾讯云数据库,具有很强的稳定性,可以同时并发访问用户在登录的时候都是讲用户信息进行BASE64进行加密,然后读取数据进行反解密。这样避免了用户信息存在图片和表情信息存储不到数据库,从而导致丢失的情况产生。同时也为用户节约手机端的流量。
[if !supportLists](2) [endif]先进性原则
微信公众平台的开发,在用户访问时候,能够同时处理并发达到10000个用户同时访问,并发性处理。访问高峰期一般在周末和晚上,用户会通过搜索检索相关的信息。一直以来。而我们的微信公众平台在信息的处理和服务的方法方面都站在用户的角度去考虑。比如,用户对审核进度的反馈得到有效回复和处理。
[if !supportLists](3) [endif]安全性原则
数据库重要数据会进行HASH+MD5加密算法进行加密。这个算法是不可逆算法,即使黑客截取数据包,黑客也是获取加密后的数据,难以从加密后的算法进行反推出用户的密码。
[if !supportLists](4) [endif]规范性原则
统一遵守官方微信公众号平台开发文档原则。投资项目统一编码标准原则、投资项目信息数据处理统一标准、信息联网数据接口统一标准。
[if !supportLists](5) [endif]可扩展性原则
微信公众平台会定时更新和修复BUG和某个应用的功能的开放,所以本项目中的所有功能模块的设计都预留了扩展接口。针对应接微信官方版本更新的接受和项目功能扩展的需求。
[if !supportLists]3.2[endif]系统体系结构设计
微信公众平台以微信用户的OPENID为依据,主要解决的是微信认证情况,不允许别人微信平台登录微信号进行登录操作。增加了用户信息的安全与保密。
用户端:界面主要是微信公众号,用户在公众号里发送信息到微信服务器,微信服务器根据开发者配置域名验证记得服务器中。自己服务器处理后将数据返回给微信服务器从而送达给用户聊天界面。微信公众号数据交互具体。
如图3-1所示
图3-1 微信公众号数据交互
微信服务器与我们的服务器项目的URL地址。在IDEA里面新建一个WEB项目,并创建一个Servlet。用创建的doGet()方法将在WEB.XML中设置的浏览器访问地Weixin-
Servlet,将http://外网服务器地址/Weixin/WeixinServlet设置在微信公众号里面。建立连接。如图3-2所示。
图3-2 微信服务器建立连接
用户在微信公众号发送信息,这时信息发送到微信服务器中(携带者发送者的OPENID和在那个微信公众号里面的OPNEID和项目信息的ID及用户发送消息的类型和内容打包成XML)。微信服务器根据用户在那个微信公众号的OPENID发送给前一步设置的服务器的地址(http://外网服务器地址/Weixin/WeixinServlet)然后根据用户的消息类型进行相应的回复,也打包成XML的形式发送给微信服务器。
[if !supportLists]3.3[endif]系统功能技术架构设计
图3-3 资产投资项目监管微信平台功能架构设计图
[if !supportLists](1)[endif]用户管理:用户(项目法人、行业主管部门人员、发改部门人员)进行登录首页,对个人
信息查看、部门信息修改功能。
[if !supportLists](2) [endif]项目库管理:项目法人填报项目申请,行业主管部门进行整理检查,发改部门对项目
进行审批,审批结果以微信平台信息通知用户并入重点项目库。
[if !supportLists](3) [endif]问题督办反馈:在用公众号情况下发生的一些项目逻辑不合理和数据返回异常情况,
问题反馈给系统客服人员,客服人员将问题上报给系统管理员。项目法人可以上报自己项目审批结果的给客服。系统将会对项目审批时间采用类型优先的电梯算法进行依次审批。对即将超时的项目以公众号信息的方式送给发改部门和行业主管部门将其通知到位。
[if !supportLists](4) [endif]统计分析:用户可以通过公众号的方式查看全国各地所有项目申报情况,项目审批情
况,项目的审批通过率的展示。项目月报、前期工作进展一览表、项目建设推进一览表、项目开情况统计、项目问题督办统计、项目投资进度排名、自定义报表等,提供同比、环比、趋势分析等比对分析功能,支持报表在线打印及导出。
[if !supportLists]3.3.1[endif]用户管理功能构建设计
图3-4 用户管理功能构建设计图
[if !supportLists](1) [endif]项目法人登录或注册:项目法人可以通过邮箱注册获取账号,登录项目法人的主页了
解自己相应的功能操作,查看自己个人信息和修改个人密码的操作。
[if !supportLists](2) [endif]系统管理员:可以接受用户发过来的反馈问题,及时维护微信公众号存在的一些问题
与不合理的地方。可以对发改部门人员和行业主管部门人员进行添加、删除、修改、查找和项目处理进度和项目申报总览情况等一些基本操作。
[if !supportLists](3) [endif]发改部门人员:通过自己账号登录查看自己个人信息和修改个人信息。并可以通过邮
箱验证码和微信扫一扫登录自己管理的页面。
[if !supportLists](4) [endif]行业主管部门:通过自己账号登录查看自己个人信息和修改个人信息。并可以通过邮
箱验证码和微信扫一扫登录自己管理的页面。
[if !supportLists]3.3.2[endif]项目库管理功能构建设计
图3-5 项目库管理功能构建设计图
[if !supportLists](1) [endif]项目填报:项目法人通过登录到首页,填写项目法人上报项目投资的一些文件。
[if !supportLists](2) [endif]项目审核:项目审核有发改部门对项目法人上报的项目进行审核,是否符合国家定义
的项目标准。审核结果分为审核通过和审核退回。审核通过会将项目法人上报的项目选入重点项目库。
[if !supportLists](3) [endif]项目待办事宜:对于项目的审核时间过长会以消息推送的方式到公众号提醒负责该项
目的发改部门人员。
[if !supportLists](4) [endif]重点项目库:对于审核通过的项目会入重点项目库形成清单档案。
[if !supportLists](5) [endif]项目录入:分为单个项目录入和批量项目录入。
[if !supportLists]3.3.3[endif]问题督办管理功能构建设计
图3-6 问题督办管理功能构建设计图
[if !supportLists](1) [endif]项目问题填报:项目法人单位可以发起问题、行业主管部门可以发起在整体的过程中的问题。发改部门的可以对审核项目的问题和项目中存在歧义的事情进行上报。
[if !supportLists](2) [endif]项目问题清单:行业主管部门接受项目问题反馈进度结果,项目法人能对项目的结算
确定(类似淘宝购买东西后的评价),发改部门对全部问题的监控督促,系统管理员对上报的项目进行调整,这一段流程产生的项目问题清单。
[if !supportLists](3) [endif]项目问题总揽:项目总揽是对项目的问题解决和处理进度总的情况查看。这个权限是
公开的可以让所有人能看见。清晰明了的看到项目问题的负责人和审批项目的发改部门的功能效率问题的查看。以全国的2D地图进行地区方式的查看。
[if !supportLists]3.3.4[endif]统计分析管理功能构建设计
图3-7 问题督办管理功能构建设计图
[if !supportLists](1) [endif]统计总揽:当前年度项目总个数及总投资额、项目开竣工情况、前期工作预警情况、项
目问题及待办事项情况、项目投资到位及投资完成情况。
[if !supportLists](2) [endif]多维度统计报表:项目月报、前期工作进展一览表、项目建设推进一览表、项目开情况
统计、项目问题督办统计、项目投资进度排名、自定义报表等,提供同比、环比、趋势分析等比对分析功能,支持报表在线打印及导出。
[if !supportLists](3) [endif]可视化分析:分为两部分项目监测预警和项目全景视图。项目检测预警是采用电子地
图、数据可视化等技术对重大重点项目的总体情况、开竣工情况、投资情况、监测预警情况进行全方位展现。项目全景视图是图形化展现每个项目关键节点进展情况,实现对每个项目的全景展示。
[if !supportLists]4 [endif]数据库设计
[if !supportLists]4.1 [endif]概念结构设计
概念结构设计目的是系统需求分析后,对系统的需求之间关联,用图形化简单明了勾画出整个系统的需求。让项目开发人员。本项目是采用E-R图来进行概念结构设计。
4.1.1设计思路
项目的数据库设计是最基本最重要的一步,数据库设计好坏与系统的安全性和易读性直接相关联。严格遵循数据库设计的一对一设计原则、独特命名原则、双向使用原则。
本项目的用户共有三个角色,项目法人可以进行项目申报,项目反馈,项目问题督办,项目法人理论上支持一人申报多个项目和多次项目反馈。若申报的项目进入重点项目库,那么项目法人也会进行项目调度申请填报。也是支持有项目法人有多个重点项目,一个重点项目针对一个项目调度填报。项目调度通过则启动项目。行业主管部门实体支持针对多个申报项目监督和处理。发改部门实体按照审批类型进行批阅多个项目。
4.1.2总体E-R图
项目投资监管微信平台的总体E-R图如下图4-1所示:
图4-1 项目投资监管平台总体E-R图
4.1.3实体属性设计
根据微信平台的设计实际需求,在数据库设计当中主要涉及9个实体,分别是统计分析、项目法人、项目库、发改部门、行业主管部门、项目档案、前期事项清单、重点项目库、系统管理员。
[if !supportLists](1) [endif]项目法人实体属性图
项目法人的实体的属性包括用户OPENID、用户名、邮箱、爱好、电话、性别、年龄,其中项目法人OPENID为主键,
如下图4-2所示:
图4-2 项目法人实体图
[if !supportLists](2) [endif]发给部门的实体属性图
发改部门的实体的属性包括用户OPENID、用户名、邮箱、爱好、电话、性别、年龄,发改部门审批类型、审批项目数、登记评估分。其中发给部门OPENID为主键,
如下图4-3所示:
图4-3 项目库实体图
[if !supportLists](3) [endif]行业主管部门的实体属性图
行业主管部门人员的属性有OPENID、用户名、邮箱、爱好、电话、性
别、年龄,项目问题督察数、处理能力评估分。其中行业主管OPENID为主键,
如下图4-4所示
图4-4 行业主管部门实体图
[if !supportLists](4) [endif]项目库的实体属性图
项目库实体属性含有项目编号、项目名称、项目类型、项目申请的时间、项目选址、项目申请人、项目申请人的联系方式,项目申请金额、其中项目编号为主键。
如图4-5所示。
图4-5 系统管理员实体图
[if !supportLists](5) [endif]统计分析的实体属性图
统计分析的实体的属性包括用户项目编号、申请项目名称、申请项目类型、申请项目的时间、项目的选址、项目申请人、项目申请人的联系方式、项目警告、项目清单、项目申请金额、其中项目编号为主键。如图4-6所示。
图4-6 统计分析实体图
[if !supportLists](6) [endif]项目档案的实体属性图
项目档案实体属性有用户申请项目编号、申请项目名称、申请项目类型、申请项目时间、项目选址、项目负责人、重点项目库、项目历史年度、项目负责人的联系方式,项目申请金额、其中项目ID为主键。
如图4-7所示。
图4-7 项目档案实体图
[if !supportLists](7) [endif]项目前期事项清单的实体属性图
项目前期事项清单的实体属性有项目编号、项目红牌、项目黄牌、项目警告、项目
审批情况、项目审批单位其中项目编号为主键。如图4-8所示。
图4-8 项目前期事项清单实体图
[if !supportLists](8) [endif]重点项目库的实体属性图
重点项目库的实体的属性包括重点项目id、项目当前年份、项目信息对象、项目历史
年度、项目报告打印、预备项目、其中项目id为主键。Project为外键
如图4-9所示。
图4-9 重点项目库实体类图
[if !supportLists]4.2 [endif]逻辑结构设计
数据库的逻辑结构设计的内容是对概念设计阶段中系统的功能结构分类、优化项目投资审核管理的数据模型。为建立数据库和书写数据库文档做好准备工作。
[if !supportLists]4.2.1 [endif]设计思路
[if !supportLists](1) [endif]对项目法人与项目库的关系是1:N的关系,项目法人建立一张表格,以微信服务器中
唯一识别OPENID作为主键,用项目库信息作为项目法人的外键进行关联。项目法人可以申请多个不同类型的项目。
[if !supportLists](2) [endif]对“项目调度申请”关系,项目法人和发改部门是1:N的关系,在上面建立的项目法
人信息表格后,另外的外键设置的是项目调度申请外键,用来存储通过项目申请后填写的项目调度的详细信息。
[if !supportLists](3) [endif]对“问题通知提醒”关系,项目法人实体和行业主管部门实体的关系是M:N的关系,
需要再建一个关系表-行业主管部门,用来项目法人申请项目的通知信息和问题反馈信息。
[if !supportLists](4) [endif]对“归集”关系,实体行业主管部门和实体前期事项清单是M:N的关系,行业主管
部门针对用户反馈的信息形成事项清单,并存储在前期事项清单表单上。
[if !supportLists](5) [endif]对“提交事务”关系,实体发改部门和实体前期事项清单是M:N的关系,将前期事
项清单数据保存,并用大数据可视化的角度展示给发改部门。
[if !supportLists](6) [endif]对“通过申请”关系,发改部门通过项目的申请关系是M:N的关系。通过项目申请并
且以微信后台信息通知的形式发给用户。
[if !supportLists]4.2.2[endif]逻辑模型
[if !supportLists]1. [endif]E-R图转换为关系模式
[if !supportLists](1) [endif]项目法人表(项目法人微信OPENID,项目法人昵称,项目法人邮箱,项目法人账号
密码,项目法人性别,项目法人年龄,项目法人手机号,项目法人爱好,申请状态,项目法人头像,个人说明)
[if !supportLists](2) [endif]发改部门人员表(发改部门微信OPENID,发改部门人员的昵称,发改部门人员的邮
箱,发改部门的账号密码,发改部门人员的性别,发改部门人员的年龄,发改部门人员的手机号,发改部门人员的爱好,项目审批评价得分,项目审批数量)
[if !supportLists](3) [endif]行业主管人员(行业主管部门微信OPENID,行业主管人员的昵称,行业主管人员邮
箱,行业主管账号密码,行业主管人员的性别,行业主管人员的年龄,行业主管人员的手机号,行业主管部门人员的爱好,项目问题督办,项目问题督办评价得分)
[if !supportLists](4) [endif]项目库表(项目编号,项目名称,项目地址,建设性质,行业编码,建设时间,行政区
划代码,建设单位项目编号,项目申请单位名称,项目申请组织机构代码,项目申请单位联系电话,项目联系人,项目联系人电话,项目联系人邮箱,单位地址,文件地址,备注信息)
[if !supportLists](5) [endif]统计分析表(统计编号,项目编号,项目警告,项目类型,项目列表清单)
[if !supportLists](6) [endif]项目档案表(项目档案编号,项目编号,项目金额,项目负责人,项目地址)
[if !supportLists](7) [endif]前期事项清单表(事项清单编号,项目警告,黄牌警告,红牌警告,项目批审情况,项
目审批单位)
[if !supportLists](8) [endif]重点项目库表(重点项目库编号,项目编号,当前年份,历史年份)
[if !supportLists]2. [endif]逻辑模型优化
[if !supportLists](1) [endif]对用户表,在微信上三个角色登录的邮箱、用户名和密码具有很强相似。避免建立
多表,所以在用户登录的信息建立在一个表格,用type字段来区分用户登录的类型。
[if !supportLists](2) [endif]前期事项清单,在前期事项清单中含有项目的基本信息,所以在项目清单中增加一个
项目实体字段,它关联项目表的主键。在统计分析表格加了项目库外键。关联所有项目的审核情况和项目类型的情况。
[if !supportLists]4.3 [endif]物理结构设计
[if !supportLists]4.3.1 [endif]存取方式
依照本项目的业务,项目主要对数据的操作是查询和插入,所以采用B+树索引存取方法,提高数据库的查找效率。
[if !supportLists]4.3.2 [endif]存储结构
数据库采用mysql作为存储数据库,并且采用了索引顺序存储、数据分离和缓存优化技术。系统的数据库表存储采取顺序存储并对行字段建立对应索引,对经常查询的表进行数据分离,加快系统的查询速度,并且对于系统中的一些不经常更新的查询结果,将其存放在数据库视图中,节省了重复查询的时间开销。
根据逻辑结构设计得到的结果,将逻辑模型转为mysql数据库表,并根据字段含义设计对应的物理类型,如下所示:
项目法人的数据库表设计如表4-1所示:
表4-1项目法人的数据库表
序号字段名数据类型字段长度是否主键说明
1agevarchar255否项目法人年纪
2phonevarchar255否项目法人联系电话
3openidvarchar255是项目法人在微信服务器的id
4emailvarchar255否项目法人的邮箱
5usernamevarchar255否项目法人的名字
6sexvarchar255否项目法人的性别
7lovevarchar255否项目法人的爱好
发改部门数据库设计表如表4-2所示:
表4-2 发改部门数据库表
序号字段名数据类型字段长度是否主键说明
1evaluatevarchar255否对发改部门的评价
2typevarchar255否发改部门审批的类型
3agevarchar255否发改部门年纪
4phonevarchar255否发改部门联系电话
5openidvarchar255是发改部门在微信服务器的id
6emailvarchar255否发改部门的邮箱
7usernamevarchar255否发改部门的名字
8sexvarchar255否发改部门的性别
续表4-2
9lovevarchar255否发改部门的爱好
10projectNumbervarchar255否发改部门管理项目的名称
行业主管部门数据库表设计如表4-3所示:
表4-3 行业主管部门人员数据库表
序号字段名数据类型字段长度是否主键说明
1agevarchar255否行业主管部门年纪
2phonevarchar255否行业主管部门联系电话
3openidvarchar255是行业主管部门在微信服务器的id
4emailvarchar255否行业主管部门的邮箱
5usernamevarchar255否行业主管部门的名字
6sexvarchar255否行业主管部门的性别
7lovevarchar255否行业主管部门的爱好
8projectProblemvarchar255否行业主管部门提交项目问题
9evaluatevarchar255否行业主管部门的评价
项目库数据库表设计如表4-4所示:
表4-4 项目库管理员数据库表
序号字段名数据类型字段长度是否主键说明
1projectidint10是项目的编号
2projectnamevarchar255否项目名称的名字
3projectTypevarchar255否项目类型
4projectTimevarchar255否项目创建的时间
5projectLocationvarchar255否项目投资的地方
6ProjectPhonevarchar255否项目负责人的电话
7projectMoneyvarchar255否项目金额
8projectleadervarchar255否项目负责人
项目档案数据库表设计如表4-5所示:
表4-5 项目档案数据库表
序号字段名数据类型字段长度是否主键说明
续表4-5
1projectidint10是项目的编号
2projectnamevarchar255否项目名称的名字
3projectTypevarchar255否项目类型
4projectTimevarchar255否项目创建的时间
5projectLocationvarchar255否项目投资的地方
6projectPhonevarchar255否项目负责人的电话
7projectMoneyvarchar255否项目金额
8projectleadervarchar255否项目负责人
9historicalyearvarchar255否历史年度
统计分析数据库表设计如表4-6所示:
表4-6 统计分析数据库表
序号字段名数据类型字段长度是否主键说明
1projectidint10是项目的编号
2projectnamevarchar255否项目名称的名字
3projectTypevarchar255否项目类型
4projectTimevarchar255否项目创建的时间
5projectLocationvarchar255否项目投资的地方
6projectPhonevarchar255否项目负责人的电话
7projectMoneyvarchar255否项目金额
8projectleadervarchar255否项目负责人
9projectwarnningvarchar255否项目预警
前期事项清单数据库表设计如表4-7示:
表4-7 前期事项清单数据库表
序号字段名数据类型字段长度是否主键说明
1idint10是登记人id
2approvalitemsvarchar20否审批事项
3approvalunitvarchar20否审批单位
4warnningvarchar20否是否预警
5yellowcardvarchar20否黄牌警告
[if !supportLists]5 [endif]界面设计
5.1 界面关系图或工作流图
用户管理模块的具体功能主要包括用户(项目法人、行业主管部门人员、发改部门人员)信息的查询、修改、删除功能。其中项目法人可以注册自己的账号、项目申请、项目调度和个人信息反馈查询。行业主管部门进行整理提交项目法人提交项目信息。发改部门可以对项目法人申请的项目进行审批和项目调度的审批。并且可以查看自己的项目审批评分和整合项目数据的可视化分析。项目数据保存在数据库,可以动态展示项目的信息情况。
微信公众号关系如图5-1所示
图5-1 固定资产投资监管微信平台系统页面关系图
5.2 界面设计成果
5.2.1主界面
固定资产投资监管微信平台系统首页,项目法人通过登录进入首页,展示出来首页相关的功能如图5-2所示。
图5-2 固定资产投资监管微信平台系统首页
5.2.2子界面
[if !supportLists](1)[endif]用户个人信息展示界面,在允许的微信公众号获取用户信息的条例的前提下。根据OPENID获取数据库存储的用户个人信息中心页面如图5-3所示。
图5-3 用户个人信息页面
[if !supportLists](2)[endif]项目法人首页,项目法人拥有的功能有项目申请、项目申请情况和统计展示。在项目
法人的首页有进行客服咨询的接口。项目法人的功能操作的界面如图5-4所示。
图5-4 项目法人首页
[if !supportLists](3)[endif]项目法人的项目申请页面,项目法人需要填写申请的项目信息,项目申请的信息字
段经过正则表达式的校验。项目法人的填写项目基本信息页面如图5-5所示。
图5-5 项目法人项目申请页面
[if !supportLists](4)[endif]项目法人申请后的项目信息和项目审核的结果将在这个项目信息查看页面展示
项目申请信息页面,如图5-6所示。
图5-6 项目申请信息页面
[if !supportLists](5)[endif]用户通过登录后,系统将信息通知模块展示给用户,未读的信息将用红色标记给用
户展示出来通知页面。用户的信息通知模块展示如图5-7所示。
图5-7 信息通知页面
[if !supportLists](6)[endif]用户在微信平台进行相关的操作后,将以微信平台信息通知对方,项目法人申请项
目成功后,将这个消息用微信公众号的信息通知方式给用户展示和提示。项目申请通过审核也用微信的后台通知对方。微信公众号信息通知如图5-8所示。
图5-8 微信平台信息通知
[if !supportLists](7)[endif]用户可以对总体项目信息查看。项目可视化展示,如图5-9所示;
图5-9 项目可视化展示
[if !supportLists](8)[endif]用户可以对在使用微信平台上出现的问题进行反馈。项目法人对项目申请结果出现
的不满意项目问题反馈页面,反馈页面如图5-10所示。
图5-10 在线项目问题反馈页面
[if !supportLists](9)[endif]在公众号里面出现业务不熟悉或者操作上的问题,需要寻求帮助的可以在线联系客
服页面,也是符合政府类型的媒体便民惠民的一个政策。公众号里联系客服的功能页面截图如图5-11所示。
图5-11 联系客服页面
[if !supportLists](10)[endif]发改部门人员对项目类型进行审核,发改部门人员审核的项目类型单一。不同项目
类型分发给不同的发改部门进行审核。发改部门人员项目审核页面,如图5-12所示。
图5-12 项目审核页面
[if !supportLists](11)[endif]发改部门人员进入了首页,发改部门的首页主要有查看项目信息、重点项目库和统
计展示的功能页面,发改部门功能页面如图5-13所示。
图5-13 发改部门功能页面
[if !supportLists]6 [endif]详细设计
[if !supportLists]6.1 [endif]系统主要功能模块介绍
用户管理模块的具体功能主要包括用户(项目法人、行业主管部门人员、发改部门人员)信息的查询、修改、删除功能。其中项目法人可以注册自己的账号。行业主管和发改部门人员部门进行管理员新增,只能是自己进行登录和系统管理员进行新增。新增和修改主要体现在用户点击注册和修改按钮时当相应的操作(登录,修改,新增,删除)操作的情况下,数据库中的用户表信息能同步更新。
[if !supportLists]6.2 [endif]用户功能管理
[if !supportLists]6.2.1 [endif]功能结构设计
用户管理的功能结构设计如图6-1所示:
图6-1 用户管理功能结构图
[if !supportLists]6.2.2 [endif]类图设计
项目法人的注册新增。个人信息的修改、删除以及查询功能。项目法人涉及的类有UserInfo,CompetentInfo,CorrectionInfo,用户处理类UserServlet,CompetentServlet,CorrectionServlet,用户数据库访问类UserDao,CompetentDao,CorrectionDao,以及连接数据库的类DataBaseConnection。实体类功能的关系如图5-4所示:
图6-2 用户管理功能类图
用户控制器类的描述信息如表6-1所示:
表6-1 用户控制器类的描述信息表
用户控制器类
类的描述:负责响应用户发出的请求信息增加(仅项目法人)、删除、查询和修改的请求
操作描述doGet(Request req,
Response res)
当用户发送get请求的操作时候,响应用户的发出的请求(登录、查询、修改、注册),并进行相应的逻辑处理。将输出流响应给用户。并返回响应的页面给用户。
doPost(Request
req,
Response res)
当用户发送表单/Post请求的操作时候,响应用户的发出的请求(登录、查询、修改、注册),并进行相应的逻辑处理。将输出流响应给用户。并返回响应的页面给用户。
用户实体类的描述信息如表6-2所示:
表6-2 用户实体类的描述信息表
用户实体类
类的描述:主要描述用户的具体属性和对应的方法
属性描述sex用户性别
age用户年龄
love用户兴趣爱好
用户父类超类描述信息如表6-3所示:
表6-3 用户超类实体类的描述信息表
用户超类实体类
类的描述:对三种类型用户相同属性的超类
属性描述UserName描述系统用户的名字
UserPassword描述系统用户的密码
Email用户注册的邮箱(忘记密码的凭证)
OpenId微信平台自动给用户生成的一个openId
Phone描述联系用户的电话号码
[if !supportLists]6.2.3 [endif]顺序图设计
用户基本信息操作的程序流程如时序图6-3所示:
图6-3 用户基本信息操作的时序图
按照上图类似,用户在页面发送一个请求到相应的Servlet类进行一些必要的逻辑性处理应用userInfo实体类将类属性变量存在实体类当中调用相应的Dao包进行数据库的操作返回数据给Servlet,Servlet将会对返回的数据进行逻辑处理将结果响应给用户。
[if !supportLists]6.3 [endif]项目库管理功能
[if !supportLists]6.3.1 [endif]功能结构设计
项目库管理的功能结构设计如图6-4所示:
图6-4 项目库管理功能结构图
[if !supportLists]6.3.2 [endif]类图设计
项目法人进入自己相应的页面进行项目填报,项目法人将项目一些基本信息填写并提交上报给项目法人的Servlet,在Servlet响应对应的用户doGet()/doPost()相关的请求后判断用户提交上来的数据类型自动生成该项目的调度时间和当前的时间戳,如果在时间在他们两之和还未处理,需要给用户和发改部门进行信息通知对方做相应的处理。发改部门对申请项目进行审核,审核通过将项目列入重点项目库当中。审核的结果也将以信息发送的方式给用户和发改部门。并调用相应的Dao包更新数据库。
项目库管理类中的关系如图6-5所示:
图6-5 项目库管理功能类图
项目库类的描述信息如表6-4所示:
表6-4 发改部门类的描述信息表
发改部门控制器类
续表6-4
类的描述:负责项目法人填报项目的审核
queryProject(Map map)查询项目处理的进展
updateCorrectionInfo
(Map map)
更新项目审批的结果和项目问题更新
dealProject(Map map)对项目法人提交的项目进行审批过程
AddProject(Map map)发改部门可以批量添加项目
[if !supportLists]6.3.3 [endif]顺序图设计
项目库管理基本信息修改的程序流程如时序图6-6所示:
图6-6 项目库管理的时序图
如上图所示,由项目法人填报的项目类型,系统自动生成电镀时间和分配给项目对应的发改部门的人员进行审批,发改部门对项目处理调用Dao包数据库的方法,更新数据库的数据,并处理数据库的数据,将数据呈现的微信公众号的信息通知模块给项目法人。
[if !supportLists]6.4 [endif]项目问题督办管理功能
[if !supportLists]6.4.1 [endif]功能结构设计
项目问题督办管理的功能结构设计如图6-7所示
图6-7 项目问题督办功能结构图
[if !supportLists]6.4.2 [endif]类图设计
问题督办管理,基于他们的类有很多相同属性,建立了一个基类。BaseProjectProblem。
项目问题是由项目法人、行业主管部门、发改部门人员提出项目中的问题和反馈。对于用户提出的项目形成一个项目问题id,根据Id可以知道项目处理的进度和结果。如果项目被处理或超时未处理的情况。会返回一个结果给用户,当然这跟个结果不需要吧所有情况都弄出来,所以建立一个返回消息的数据包ProjectProblemList给用户,用户知道自己的项目问题申报的处理的情况。对于用户可以查看现阶段全国申报项目数量和对项目的处理完成度。和多少超时未处理的数量和多少不合格项目申请的数量。
项目问题监督类图如图6-8所示:
图6-8 项目问题督办管理功能类图
项目问题督办类的描述信息如表6-5所示:
表6-5项目问题督办信息表
项目问题控制器类
类的描述:负责保存用户提出项目问题和反馈,并将项目处理结果送给用户查看
addProjectProblem添加项目申报的问题,并同步到数据库
dealProjectProblem(int projectId)对项目问题提出记录保存在数据库中
LookProjectProblem()总揽全国地区项目问题申报情况。
[if !supportLists]6.4.3 [endif]顺序图设计
项目问题督办时序图6-9所示:
图6-9 项目问题督办信息的时序图
如上图所示,用户上报项目问题,形成一个项目ProjectProblem的对象,将用户上传项问题的情况存储到对象当中去。新建一个ProjectProblemList用于系统管理员对用户提交的项目问题处理结果以公众号的信息通知用户,ProjectProblemOverview查看项目总揽。
[if !supportLists]6.5 [endif]统计分析管理功能
用户可以查看当前年度项目总个数及总投资额、项目开竣工情况、前期工作预警情况、项目问题及待办事项情况、项目投资到位及投资完成情况。形成多维度统计报表。可以对项目的可视化分析查看。
[if !supportLists]6.5.1 [endif]功能结构设计
统计分析管理的功能结构设计如图6-10所示:
图6-10 统计分析管理功能结构图
该模块的功能方便用户查看项目的统计总揽情况,以全国地图的方式展示出来。对项目的申报投资监管的情况可以进行多维度报表打印。也能用大数据的方式对各地区的数据的可视化分析和预测。
[if !supportLists]6.5.2 [endif]类图设计
建立一个统计总揽的对象类,该类包括:当前年度项目总个数及总投资额、项目开竣工情况、前期工作预警情况、项目投资到位及投资完成情况。查看详细的项目情况。对项目的多维度报表建立一个面向对象方式包含属性:项目月报、前期工作进展一览表、项目建设推进一览表、项目问题督办统计、项目投资进度排名、自定义报表等,支持报表在线打印及导出。和对项目的可视化分析。统计分析管理类图如图6-11:
图6-11 统计分析管理功能类图
统计分析管理类的描述信息如表6-6所示:
表6-6 统计分析类的描述项目信息表
类功能描述:用户对项目了解的方式统计总揽、多维度分析、可视化分析
操作描述Statisticsshow(Project project)对所有项目的统计分析
dimensionReport()对所有的项目多维度分析
VisualAnalysis()对所有项目的可视化分析
[if !supportLists]6.5.3 [endif]顺序图设计
项目统计分析流程如时序图6-12所示:
图6-12 项目统计的时序图
如上图所示,用户查看项目统计分析:当前年度项目总个数及总投资额、项目开竣工情况、前期工作预警情况、项目问题。多维度报表:提供同比、环比、趋势分析等比对分析功能,支持报表在线打印及导出。和可视化分析结果返回给用户。
7 编码
[if !supportLists]7.1 [endif]代码实现与核心算法
[if !supportLists]7.1.1 [endif]用户登录管理代码实现
[if !supportLists](1) [endif]用微信服务器返回的code来确定是否在微信平台登录:
if (code==""||code==null||request.getParameter("code").equals(null)||request.getParameter("code").equals(""))
[if !supportLists](2) [endif]用微信服务器给的code换取OPENID:
String url ="https://api.weixin.qq.com/sns/oauth2/access_token?appid=wxcea26c733963d889&secret=e0d4867f02ecff50780971ec9698f5d4&code="+code+"&grant_type=authorization_code";
try {
weiwei=get(url);
} catch (Exception e) {
e.printStackTrace();
}
[if !supportLists](3) [endif]根据OPENID查询用户是否之前已登录,并实现不同页面跳转:
if (UserLoginDao.LoginQuery(openid)==1)
{
request.getRequestDispatcher("User/PersonalCenter.jsp").forward(request,response);
}
else {out.print("
您还未注册,快来注册吧!");
request.getRequestDispatcher("UserLogin/UserLogin.jsp").forward(request,response);
}
[if !supportLists](4) [endif]用户未在公众号登录。页面跳转到注册登录页面,下面是实现邮箱验证码注册功能。
邮箱验证码生成及发送:
for (int i = 0; i < 6; i++) {//验证码随机生成
int r = rd.nextInt(10); //
每次随机出一个数字(0-9)
code = code + r; //
把每次随机出的数字拼在一起
}
public static String getEmailCode(){
if(emailCode==null||emailCode.IsExpired()){
random1();
}
return emailCode.getCode();
}
//邮箱验证码发送
send.setAuthentication("chenqiwei1@foxmail.com", "eymwdiwinzuabbaf"); //
第一个参数是发送者的QQEamil邮箱 第二个参数是刚刚获取的授权码
邮箱十分钟内填写有效的限制:
if(emailCode==null||emailCode.IsExpired()){
random1();
}
Date now = new Date();
Date afterDate = new Date(now.getTime() + 600000);//
设置十分钟有效
[if !supportLists]6.1.1[endif]
用户登录算法流程如图7-1所示:
图7-1 登录算法流程图
[if !supportLists]7.1.2 [endif]项目库管理实现
[if !supportLists](1) [endif]获取项目申请的信息
String p1_name=request.getParameter("p1_name");
String p1_address=request.getParameter("p1_address");
String p1_code=request.getParameter("p1_code");
String p1_time=request.getParameter("p1_time");
String p1_code2=request.getParameter("p1_code2");
String p1_number=request.getParameter("p1_number");
String p2_name=request.getParameter("p2_name");
String p2_code=request.getParameter("p2_code");
String p2_tel=request.getParameter("p2_tel");
String p2_person=request.getParameter("p2_person");
String p2_phone=request.getParameter("p2_phone");
String p2_email=request.getParameter("p2_email");
String p2_adress=request.getParameter("p2_adress");
// String p3_file=request.getParameter("p3_file");
String p3_info=request.getParameter("p3_info");
String value=request.getParameter("value");
String openid=userInfo.getOpenid();
response.setContentType("text/html");
//
上传文件
//
获得文件名称
fileName = fileItem.getName();
fileName = fileName.substring(fileName.lastIndexOf("\\")+1);
String houzhui = fileName.substring(fileName.lastIndexOf("."));
rename = UUID.randomUUID()+houzhui;
[if !supportLists](2)[endif]微信发送项目申报成功信息模板:
//发送模板
public static void sendTemplateMessage(String opneid){
String url="https://api.weixin.qq.com/cgi-bin/message/template/send?access_token=ACCESS_TOKEN";
url=url.replace("ACCESS_TOKEN",ConnectWeChatServlet.getAccessToken());
System.out.println(url);
Calendar cal = Calendar.getInstance();
String data="…
项目申请成功…";
String result=Joke.post(url,data);
System.out.println(result);
}