




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
基于SpringBoot框架的爱心捐助平台系统的设计与实现摘要本文设计并实现基于SpringBoot框架的爱心捐助平台系统。该网站应用于地方级的爱心捐助平台,是用户提供物品捐助的平台,达到能帮助需要物品的人且旧物品能重新利用的目的。主要功能上来说,用户可浏览捐助项目、参与项目捐助、查看个人捐助项目,用户也可申请捐助、签收物品、查看个人申请捐助、查看个人捐助项目等操作,平台可设立线下项目,用户可在平台上浏览线下捐助点并前往进行物品捐助,线下设立点可为用户录入物品数据,无论用户是线上、线下中参与捐助,都可为用户给予积分奖励,用户可对积分物品进行兑换。网站主要使用SpringBoot+Vue+Mysql来开发系统,系统还外接短信验证码、物流查看的接口来提升用户的使用体验感。爱心捐助平台系统运营秉着公开透明的原则,为用户公开物品流向,使其达到慈善平台该有的基本要求。关键字:爱心捐助;SpringBoot;平台
DesignandimplementationofcharitydonationplatformsystembasedonSpringBootframeworkAbstractThispaperdesignsandimplementsacharitydonationplatformsystembasedonSpringBootframework.Thewebsiteisappliedtothelocallevelcharitydonationplatform,whichisaplatformforuserstoprovidegoodsanddonations,soastohelppeopleinneedofgoodsandreuseoldgoods.Mainfunctions,userscanbrowsethedonationprojects,participateinprojectdonations,viewindividualdonations,usersalsocanapplyfordonations,tosignforitems,checkingapplicantsfordonations,viewindividualdonationprojectoperation,suchasofflineprojectshouldbesetupinplatform,userscanbrowseofflineJuanZhuDianonplatformanditemstodonations,offlinedatafortheusertoinputitemsetpoint,Whetherusersparticipateinonlineorofflinedonations,userscanberewardedwithpoints,anduserscanexchangepointsforitems.ThewebsitemainlyusesSpringBoot+Vue+Mysqltodevelopthesystem,andthesystemalsoconnectstotheinterfaceofSMSverificationcodeandlogisticsviewtoimprovetheuserexperience.Theoperationofthecharitydonationplatformsystemadherestotheprincipleofopennessandtransparency,anddisclosestheflowofgoodsforuserstomeetthebasicrequirementsofthecharityplatform.Keywords:charitydonation,SpringBoot,Platform1概述1.1课题背景随着人口的急剧增长,居民的生活水平和消费能力不断提高,物品更新换代的频率更加频繁,生活垃圾的产量呈现出逐年增加的趋势[1],这些现象大多出现在发展迅速的城镇地带。随着我国城镇化的加速推进,城市居住和生活的人口直线上升,《2011年中国城市发展报告》调查结果显示,我国城镇化率达到51.27%,预计2030年中国城镇化水平将达到70%。[2]迅速的发展导致近几年来,环境污染成为了当前社会的重点问题,影响生存环境,同时还抑制着国家经济和社会的发展,在造成环境污染的诸多因素中,废弃物品的处理不当是其中主要原因之一。[3]迅速发展带来的“旧去新来”问题,与其部分乡镇地区等物资短缺的问题对比,层级尤为强烈,一边过着过度浪费“旧物品”,一边却用不上物品,真正需要的人用不到,最后“旧物品”只能沦为垃圾回收。有些人可能因为自然灾害、疾病等突发事件,对其生活情况造成影响[4],或是说因为家庭的经济问题存在着生活困难,有时候对于他们来说,一些这些“旧物品”的给予,会给生活带来一定的帮助。因此,旧物回收利用,捐助与他人,对于节约资源和慈善有着重要意义。然而现有的物品捐助存在诸多问题,例如旧衣物的捐助,我国13亿多人口年产旧衣物达到约50亿件,虽然在多地都设立了旧衣物的回收箱,但并未普及,投放的人较为稀少,而且没有对旧衣物的去向做后续说明[5],对于现有物品捐助存在的问题,因给予相应的解决方案,为人民提供一个家喻户晓的透明化捐助平台。公益慈善的发展空间依旧很大,这需要全社会的共同努力推进[6],关于旧物捐助的慈善在促进社会发展的各个方面都起着非常重要的作用[7],它有利于旧物的回收利用,减少垃圾排放,同时可以帮助到真正需要的人。1.2课题概述在如今我们已经达到衣食无忧的年代,从原来吃的饱不饱的问题转变到了吃的好不好,随着生活质量的提高,对衣物、生活用品等需求不断提高,闲置下来的物品不是回收就是直接丢弃,而如今仍有很多山区农村等地区存在物质短缺的状态,过着为吃穿忧虑的生活。为了帮助这些物质短缺地区等需要帮助的人们解决生活上物资等问题,同时解决生活条件良好的人们频繁更新物品导致旧物品的浪费,可以向人们发起捐助,人们可以将自己的闲置物品捐助给需要帮助的人,提高他们的生活质量。随着计算机技术的飞速发展,信息网络化应用的不断增多,传统的爱心捐赠方式已不能满足社会的需求。[8]因此基于SpringBoot设计一款B/S模式的爱心捐助平台系统,帮助大家将自己闲置的物品或衣物进行回收或是捐赠。该平台可选择线上或是线下进行捐助[9]。在平台线上捐助物品,填写相关的运输物流信息即可完成捐助,也可通过平台得知线下的捐助设立点,就近将旧物携带到设立点,已节省运输成本,通过线下捐助点捐助的物品会带回仓库,用于线上捐助或是二次回收,回收物品而获得的资金也将用于对其他贫困、灾区的资金援助,这些援助最后都会将在平台公告上为大家公示呈现。无论是线上捐助还是线下捐助,捐助者管理员都将为其登记积分奖励,这将根据捐助物品的情况及其数量适当主观调整,积分将用于在平台上积分礼品兑换,给予爱心纪念品等,促进人们的爱心和捐助热情。综上所述,爱心捐助平台系统不仅将改善物质短缺地区的生活质量,同时有利于旧物的二次利用,减少垃圾排放,是具有发展前景和实用性的系统。1.3系统开发工具和关键技术1.3.1HBuilderHBuilder是款支持Html5的Web开发环境,其快速、完整的语法提示、代码块等优势,在前端开发上的效率有着极大的优势。[10]HBuilder在本系统中主担前端开发的工具。1.3.2IntelliJIDEAIntelliJIDEA是款集成开发环境的工具。IntelliJIDEA开发工具同Eclipse一样,主要用于Java开发的集成环境中,其在代码审查、重构、提示、支持等方便拥有着超常的又是的能力[11],从而获得众多Java开发者的青睐。IntelliJIDEA在本系统中主担后端开发的工具。1.3.3NavicatPremiumNavicatPremium是款数据库管理工具,可对世面上的主流数据库进行可视化的管理和操作,其可视化的界面对于数据库开发起到极大的便捷作用。NavicatPremium在本系统中主担数据库开发的工具。1.3.4BootstrapBootstrap是基于HTML、CSS、JavaScript开发的简洁、直观、强大的前端开发框架,使得Web开发更加快捷、美观。在本系统中担任前端的美化工具。1.3.5Vue.jsVue是一款用于构建用户界面的渐进式JavaScript框架,与其它大型框架不同的是,Vue被设计为可以自底向上逐层应用[12]。Vue的核心库只关注视图层,易于上手,本系统使用Vue代替Javascript对页面数据进行渲染,极大提高了前端的开发效率。在本系统中担任前端的渲染工具。1.3.6SpringBootSpringBoot其设计目的是用来简化新Spring应用的初始搭建及开发过程[13]。该框架简化了Spring搭建的人工配置,使开发人员不再需要对配置花费过多时间,极大提升开发效率。
2需求分析该章节将对爱心捐助平台系统进行初步的需求分析。2.1需求概述该系统主要是建立一个可接受线上、线下的爱心捐助平台,是为用户提供一个可选择的便捷捐助平台。根据系统的需求,将系统角色分为三个:用户、线上管理员、线下管理员。以下将对主要业务流程进行分析,其后将根据业务流程分析进一步进行功能需求进行分析。2.2主要功能业务流程分析2.2.1用户捐助申请业务流程分析用户捐助申请业务流程如图2-1所示。图2-1用户捐助申请业务流程图2.2.1用户捐助业务流程分析用户捐助业务流程如图2-2所示。图2-2用户捐助业务流程图2.2.2捐助项目管理业务流程分析捐助项目管理业务流程如图2-3所示。图2-3捐助项目管理业务流程图2.2.3线下捐助总体业务流程分析线下捐助总体业务流程如图2-4所示。图2-4线下捐助总体业务流程图2.3功能需求分析本小节将根据上小节对主要功能的业务流程,进一步对功能需求分析,将采用用例图和用例描述进行表述。2.3.1用户功能需求分析对用户功能进行需求分析,得出用例如图2-5所示。图2-5用户用例图用户功能用例描述如表2-1所示。表2-1用户功能用例描述用例名称用例描述注册:用户可以通过该用例注册,成为爱心捐助平台系统的用户。登录:用户可以通过该用例登录,来使用登录后才可使用的功能。资料修改:用户可以通过该用例进行个人资料进行修改。密码修改:用户可以通过该用例对密码进行修改。身份认证申请:用户可以通过该用例进行身份认证申请,由线上管理员进行审核。捐助申请:用户可以通过该用例进行捐助申请,前提是用户已经通过身份认证的审核,用户进行捐助申请将由线上管理员进行审核。捐助项目查看:用户可以通过该用例对线上捐助项目进行查看。捐助:用户可以通过该用例对线上的捐助项目进行捐助。物品签收:用户可以通过该用例,对自己的捐助项目中的捐助物品进行签收。积分兑换:用户可以通过该用例对平台的积分物品进行兑换。线下捐助点查看:用户可以通过该用例对线下捐助点进行查看,可前往线下捐助点进行捐助。公告查看:用户可以通过该用例对公告进行查看。通知查看:用户可以通过该用例对通知进行查看。2.3.2线上管理员功能需求分析对线上管理员功能进行需求分析,得出用例如图2-6所示。图2-6线上管理员用例图线上管理员功能用例描述如表2-2所示。表2-2线上管理员功能用例描述用例名称用例描述登录:线上管理员可以通过该用例进行登录,从而使用线上管理员所具有的管理权限。个人信息修改:线上管理员可以通过该用例修改个人信息。密码修改:线上管理员可以通过该用例进行密码修改。用户查询:线上管理员可以通过该用例对用户进行查询。用户冻结、解冻:线上管理员可以通过该用例对用户进行冻结、解冻,冻结的用户无法登录平台系统。身份认证审核:线上管理员可以通过该用例对用户的身份认证申请进行审核。捐助申请查询:线上管理员可以通过该用例对用户的捐助申请进行查询捐助申请审核:线上管理员可以通过该用例对用户的捐助申请进行审核捐助项目发布:线上管理员可以通过该用例对通过审核的捐助申请进行捐助项目发布。捐助项目查、改:线上管理员可以通过该用例对捐助项目进行查询、修改。续表2-2用例名称用例描述派送人员安排:线上管理员可以通过该用例对已经完成捐助的捐助项目派送人员安排。捐助查询:线上管理员可以通过该用例对用户的捐助进行查询。签收捐助物品:线上管理员可以通过该用例对用户的捐助寄送往平台统一派送的物品进行签收。积分发放:线上管理员可以通过该用例根据用户在平台捐助项目所捐助的物品对用户进行积分发放。捐助物品种类查、增、改:线上管理员可以通过该用例对捐助物品种类进行查询、添加、修改。派送人员查、增、改:线上管理员可以通过该用例对派送人员进行查询、添加、修改。线下管理员冻结、解冻:线上管理员可以通过该用例对线下管理员进行冻结、解冻,冻结的线下管理员无法登录线下管理系统。线下捐助点查、增、改、取消:线上管理员可以通过该用例对线下捐助点进行查询、添加、修改,对还未开始的线下捐助点进行取消。线下捐助点结束:线上管理员可以通过该用例结束已经开始的线下捐助点。线下捐助物品查询:线上管理员可以通过该用例对线下捐助物品进行查询。物品回收处理:线上管理员可以通过该用例对线下捐助的物品进行回收处理。物品代捐助处理:线上管理员可以通过该用例对线下捐助物品进行代捐助至平台项目。公告查、增、改:线上管理员可以通过该用例对公告进行查询、添加、修改。积分规则查、增、改:线上管理员可以通过该用例对积分规则进行查询、添加、修改。积分物品查、增、改:线上管理员可以通过该用例对积分物品进行查询、添加、修改。积分兑换查询:线上管理员可以通过该用例对用户兑换的积分物品进行查询。积分兑换发货:线上管理员可以通过该用例对用户兑换的积分物品进行发货。2.3.3线下管理员功能需求分析对线下管理员功能进行需求分析,得出用例如图2-6所示。图2-7线下管理员用例图线下管理员功能用例描述如表2-3所示。表2-3用户功能用例描述用例名称用例描述登录:线下管理员可以通过该用例进行登录,从而使用线下管理员所具有的管理权限。个人信息修改:线下管理员可以通过该用例修改个人信息。修改密码:用户可以通过该用例进行个人资料进行修改。线下捐助点查询:线下管理员可以通过该用例对线下捐助点进行查询。线下捐助点修改:线下管理员可以通过该用例对线下捐助点进行修改。线下捐助物品查询:线下管理员可以通过该用例对用户在线下捐助点捐助的物品进行查询。捐助物品录入:线下管理员可以通过该用例对用户在线下捐助点捐助的物品信息进行录入。积分发放:线下管理员可以通过该用例根据用户在线下捐助点捐助的物品对用户进行积分发放。
3系统设计通过第2章中对爱心捐助平台系统的主要功能业务以及的各个角色功能进行需求分析后,在此需求分析的基础之上继续对系统总体功能结构、功能程序流程、数据库结构进行设计,该章节将对以上各个设计内容进行详细描述。3.1系统总体功能结构设计3.1.1用户总体功能结构设计根据需求分析得出,爱心捐助平台系统的用户应有用户个人模块、申请捐助模块、捐助项目模块、积分模块、线下捐助点模块、公告模块、通知模块。用户总体功能结构图如图3-1所示。图3-1用户总体功能结构图1)用户个人模块:用户可注册并登录平台,可查看、修改个人信息,可修改密码,同时还可以申请身份认证,身份认证需要姓名、身份证、手持身份证图片等信息作为身份认证的证明信息。2)申请捐助模块:在通过身份认证的情况下,用户可以申请捐助,用户可以在“个人捐助申请”页面中查看到个人捐助申请。用户申请捐助将由管理员来进行审核,最终发布捐助项目至平台进行捐助活动。3)捐助项目模块:用户可对平台上的项目进行查询,可对指定项目进行捐助,捐助需要提供相应的物品信息和快递信息等,同时用户也可以在“个人捐助”页面中查看到个人捐助的信息。用户可以在“个人捐助项目”页面中查看到个人的捐助项目,可对个人捐助项目里的捐助物品进行签收。4)积分模块:用户可以查看个人的积分数量,可在平台查看浏览积分物品,对自己心仪的积分物品进行兑换,在“个人兑换”页面中可以查看到兑换信息,兑换信息包括兑换物品信息、快递信息、发货状态等。5)线下捐助点模块:为了用户线下的便捷,平台为其提供线下捐助点,用户可在平台上查询线下捐助点,并前往线下捐助点进行捐助,捐助将由线下管理员为其当面录入物品数据,用户可在“个人线下捐助”页面中查看到自己在线下捐助的物品信息。6)公告模块:用户可在平台上查询平台公告,公告的内容会有平台运营的一些基本公告内容,还包括了捐助项目完成后的公开信息,有利于实现透明化捐助过程。7)通知模块:用户可在“个人通知”页面中查看到个人的通知信息。用户在平台上对项目的捐助物品,平台签收、被捐助人签收都会对用户发送公告信息,不仅如此,用户线下的捐助物品由管理员处理去向时,也会为用户发送捐助物品的去向通知,实现公开透明的原则。对于申请捐助的用户来说,会为其发送申请结果的通知,如若通过后管理员为其创建了捐助项目,也会对用户发送一个捐助项目发布的通知。用户兑换积分物品,当积分物品发货时,也会对用户发送通知信息。3.1.2线上管理员总体功能结构设计根据需求分析得出,爱心捐助平台系统的线上管理员应有管理员个人模块、用户管理模块、捐助申请管理模块、捐助项目管理模块、捐助管理模块、捐助物品种类管理模块、派送人员管理模块、线下管理员管理模块、线下捐助点管理模块、线下捐助物品管理模块、公告管理模块、积分规则管理模块、积分物品管理模块、积分兑换管理模块。线上管理员总体功能结构图如图3-2所示。图3-2线上管理员总体功能结构图1)管理员个人模块:线上管理员可以登录系统,可以修改个人信息,包括姓名、手机号、头像,同时管理员还可以修改自己的密码。2)用户管理模块:线上管理员可以查询用户,可对用户进行冻结、解冻操作,还可对用户提交的身份认证申请进行审核。3)捐助申请管理模块:线上管理员可以查询用户的捐助申请,可对捐助申请进行审核,结果为通过审核或不通过审核。4)捐助项目管理模块:线上管理员可以查询捐助项目,可对已经通过审核的捐助申请进行进一步的项目发布,同时还可以对捐助项目信息进行修改、结束操作,对已经完成捐助的项目可安排派送人员进行派送。5)捐助管理模块:线上管理员可查询捐助,可签收捐助类型为“平台统一派送”的捐助项目的捐助物品,可对所有类型的捐助物品根据平台设立的积分规则进行积分发放。6)捐助物品种类管理模块:线上管理员可查询、添加、修改捐助物品种类。捐助物品种类是对平台捐助物品的分类,便于对平台捐助物品的归纳整理。7)派送人员模块:线上管理员可查询派送人员,可对派送人员进行添加、修改操作。派送人员充当捐助项目为“平台统一派送”类型时的派送角色。8)线下管理员管理模块:线上管理员可查询线下管理员,可对线下管理员进行添加、修改操作,还可对线下管理员进行冻结、解冻的操作。9)线下捐助点管理模块:线上管理员可查询线下捐助点,还可设立、修改线下捐助点,也可取消线下捐助点。10)线下捐助物品管理模块:线上管理员可查询线下捐助物品,可对线下捐助物品进行处理。该线下捐助物品为线下管理员在线下捐助点录入的物品,物品将由线上管理员进行后续的处理,处理有两种方式,分为回收处理、代捐助处理,选择回收处理平台将会替用户将该物品回收,回收的资金会用于在其他现金捐助的平台上进行捐助,选择代捐助处理则会将用户的物品代替用户捐助至本平台上的捐助项目,来达到“线下物资线上用”的作用。无论是回收处理还是代捐助处理,系统都会对其发送相应的处理通知,确保做到透明化的流程。10)公告管理模块:线上管理员可查询公告,可添加修改公告,还可自动根据已完成签收的捐助项目生成公告内容,线上管理员只需调整部分需要调整的信息即可发布该公告。11)积分规则管理模块:线上管理员可对积分规则进行查询,也可对积分规则进行添加、修改。积分规则是用于对平台积分发放的约束,积分规则中对应着相应的物品类型、规则名称、积分范围,当管理员需要对其某种类的物品,会对管理员呈现相应种类的积分规则,例如用户捐助的“棉服”在管理员处理时,会对管理员呈现所有“衣物”种类的规则,管理员可参考其中“棉服”的规则,对其主观判断该物品应发放的积分数量。12)积分物品管理模块:线上管理员可查询积分物品,也可添加、修改积分物品。积分物品是平台对用户的“爱心”奖励,用于经历为平台捐助的爱心人士们,用户可以通过自己的积分,对平台心仪的积分物品进行兑换。13)积分兑换管理模块:线上管理员可查询用户的积分兑换,可对用户积分兑换的物品进行发货操作。3.1.3线下管理员总体功能结构设计根据需求分析得出,爱心捐助平台系统的线下管理员应有管理员个人模块、线下捐助点管理模块、线下捐助物品管理模块。线下管理员总体功能结构图如图3-3所示。图3-3线上管理员总体功能结构图1)管理员个人模块:线下管理员可以登录系统,可以修改个人信息,包括姓名、手机号、头像,同时还可以修改自己的密码。2)线下捐助点管理模块:线下管理员可对自己所管理的线下捐助点进行查询,也可对所管理的线下捐助点的信息进行修改。3)线下捐助物品管理模块:线下管理员可查询线下捐助点的线下捐助物品,可对线下捐助的物品进行录入,填写对应的物品信息和捐助人信息即可完成,录入后还可根据平台设立的积分规则对其发放相应的积分。3.2用户功能设计通过上小节的功能结构设计,本小节将结合上小节中的功能结构图,对其中的主要功能进行程序流程设计,以下主要以程序流程图和程序流程描述来呈现。3.2.1用户个人模块(1)用户注册功能用户注册程序流程如图3-4所示。图3-4用户注册程序流程图(2)用户登录的程序流程如图3-5所示。图3-5用户登录程序流程图(3)修改个人信息修改个人信息的程序流程如图3-6所示。图3-6修改个人信息程序流程图(4)申请身份认证申请身份认证的程序流程如图3-7所示。图3-7申请身份认证程序流程图3.2.2申请捐助模块(1)申请捐助申请捐助的程序流程如图3-8所示。图3-8申请捐助程序流程图3.2.3捐助项目模块(1)用户捐助用户捐助的程序流程如图3-9所示。图3-9用户捐助程序流程图(2)用户签收用户签收的程序流程如图3-10所示。图3-10用户签收程序流程图3.2.4积分模块(1)积分物品查询用户进入积分物品页面,点击兑换填写收货地址并提交,如果数据合法则分别依次判断积分、库存是否足够,如果数据不合法则提示数据不合法,积分不足、库存不足则提示积分不足、库存不足,都满足的情况下则兑换成功。积分兑换物品的流程如图3-11所示。图3-11积分物品查询程序流程图(1)兑换积分物品积分兑换物品的程序流程如图3-12所示。图3-12兑换积分物品程序流程图3.2.5线下捐助模块(1)查询线下捐助点查询线下捐助点的程序流程如图3-13所示。图3-13查询线下捐助点程序流程图3.2.6公告模块(1)查询公告查询公告的程序流程如图3-14所示。图3-14查询公告程序流程图3.3线上管理员功能模块设计3.3.1管理员个人模块(1)线上管理员登录线上管理员登录的程序流程如图3-15所示。图3-15线上管理员登录程序流程图(2)修改个人信息修改个人信息的程序流程如图3-16所示。图3-16修改个人资料程序流程图3.3.2用户管理模块(1)查询用户查询用户的程序流程如图3-17所示。图3-17查询用户程序流程图(2)冻结、解冻用户冻结、解冻用户的程序流程如图3-18所示。图3-18冻结、解冻用户程序流程图(3)身份认证审核身份认证审核的程序流程如图3-19所示。图3-19身份认证审核程序流程图3.3.3捐助申请管理模块(1)查询捐助申请查询捐助申请的程序流程如图3-20所示。图3-20查询捐助申请程序流程图(2)捐助申请审核捐助申请审核的程序流程如图3-21所示。图3-21捐助申请审核程序流程图3.3.4捐助项目管理模块(1)查询捐助项目查询捐助项目的程序流程如图3-22所示。图3-22查询捐助项目程序流程图(2)发布捐助项目发布捐助项目的程序流程如图3-23所示。图3-23发布捐助项目程序流程图(3)修改捐助项目修改捐助项目的程序流程如图3-24所示。图3-24修改捐助项目程序流程图(4)结束捐助项目结束捐助项目的程序流程如图3-25所示。图3-25结束捐助项目程序流程图(5)安排派送人员安排派送人员的程序流程如图3-26所示。图3-26安排派送人员程序流程图3.3.5捐助管理模块(1)查询捐助物品程序捐助物品的程序流程如图3-27所示。图3-27查询捐助物品程序流程图(2)签收捐助物品签收捐助物品的程序流程如图3-28所示。图3-28签收捐助物品程序流程图(3)捐助积分发放积分发放的程序流程如图3-29所示。图3-29积分发放程序流程图3.3.6捐助物品种类管理模块(1)查询捐助物品种类查询捐助物品种类的程序流程如图3-30所示。图3-30查询捐助物品种类程序流程图(2)添加物品种类添加物品种类的程序流程如图3-31所示。图3-31添加物品种类程序流程图(2)修改物品种类修改物品种类的程序流程如图3-32所示。图3-32修改物品种类程序流程图3.3.7派送人员管理模块(1)查询派送人员查询派送人员的程序流程如图3-33所示。图3-33查询派送人员程序流程图(2)添加派送人员添加派送人员的程序流程如图3-34所示。图3-34添加派送人员程序流程图(2)修改派送人员修改派送人员的程序流程如图3-35所示。图3-35修改派送人员程序流程图3.3.8线下管理员管理模块(1)查询线下管理员查询线下管理员的程序流程如图3-36所示。图3-36查询线下管理员程序流程图(2)添加线下管理员添加线下管理员的程序流程如图3-37所示。图3-37添加线下管理员程序流程图(3)修改线下管理员修改线下管理员的程序流程如图3-38所示。图3-38修改线下管理员程序流程图(3)冻结、解冻线下管理员冻结、解冻线下管理员的程序流程如图3-39所示。图3-39冻结、解冻线下管理员程序流程图3.3.9线下捐助点管理模块(1)查询线下捐助点查询线下捐助点的程序流程如图3-40所示。图3-40查询线下捐助点程序流程图(2)设立线下捐助点设立线下捐助点的程序流程如图3-41所示。图3-41设立线下捐助点程序流程图(3)修改线下捐助点修改线下捐助点的程序流程如图3-42所示。图3-42修改线下捐助点程序流程图3.3.10线下捐助物品管理模块(1)查询线下捐助物品查询线下捐助物品的程序流程如图3-43所示。图3-43查询线下捐助物品程序流程图(2)物品回收处理物品回收处理的程序流程如图3-44所示。图3-44物品回收处理程序流程图(3)物品代捐助处理物品代捐助处理的程序流程如图3-45所示。图3-45物品代捐助处理程序流程图3.3.11公告管理模块(1)查询公告查询公告的程序流程如图3-46所示。图3-46查询公告流程图(2)发布公告发布公告的程序流程如图3-47所示。图3-47发布公告程序流程图(3)生成捐助项目公告生成捐助项目公告的程序流程如图3-48所示。图3-48生成捐助项目公告程序流程图(4)修改公告修改公告的程序流程如图3-49所示。图3-49修改公告程序流程图3.3.12积分规则管理模块(1)查询积分规则查询积分规则的程序流程如图3-50所示。图3-50查询积分规则程序流程图(2)添加积分规则添加积分规则的程序流程如图3-51所示。图3-51添加积分规则程序流程图(3)修改积分规则修改积分规则的程序流程如图3-52所示。图3-52修改积分规则程序流程图3.3.13积分物品管理模块(1)查询积分物品查询积分物品的流程如图3-53所示。图3-53查询积分物品程序流程图(2)添加积分物品添加积分物品程序流程如图3-54所示。图3-54添加积分物品程序流程图(3)修改积分物品修改积分物品程序流程如图3-55所示。图3-55修改积分物品程序流程图3.3.14积分兑换管理模块(1)查询积分兑换查询积分兑换程序流程如图3-56所示。图3-56查询积分兑换程序流程图(2)兑换发货兑换发货的程序流程如图3-57所示。图3-57兑换发货程序流程图3.4线下管理员功能结构设计3.4.1管理员个人模块(1)线下管理员登录线下管理员登录的程序流程如图3-58所示。图3-58线下管理员登录程序流程图(2)修改个人信息修改个人信息的程序流程如图3-59所示。图3-59修改个人资料程序流程图3.4.2线下捐助点管理模块(1)查询所管理的线下捐助点查询所管理的线下捐助点的程序流程如图3-60所示。图3-60查询所管理的线下捐助点程序流程图(2)修改所管理的线下捐助点修改所管理的线下捐助点的程序流程如图3-61所示。图3-61修改所管理的线下捐助点程序流程图3.4.3线下捐助物品管理模块(1)查询线下捐助物品查询线下捐助物品的程序流程如图3-62所示。图3-62查询线下捐助物品程序流程图(2)录入捐助录入捐助的程序流程如图3-63所示。图3-63录入捐助程序流程图(2)发放积分发放积分的程序流程如图3-64所示。图3-64发放积分程序流程图3.5数据库设计3.5.1数据库逻辑结构设计根据爱心捐助平台系统的功能结构设计进行进一步的数据库设计,得出数据库实体关系如图3-65所示。图3-65数据库实体关系图(1)用户实体用户(用户编号、用户名、密码、昵称、个性签名、电话号码、头像、积分、注册时间、状态)用户实体属性如图3-66所示。图3-66用户实体属性图(2)身份认证实体身份认证(身份认证编号,身份证号码,姓名,出生日期,性别,手持身份证照片,身份认证状态,用户编号)身份认证实体属性如图3-67所示。图3-67身份认证实体属性图(3)申请捐助实体申请捐助(申请捐助编号,简要说明,申请事由,申请捐助类型,收货姓名,收获电话,收货地址,证明图片,盖章机构,机构电话,期望捐助的天数,申请时间,申请状态,用户编号)申请捐助实体属性如图3-68所示。图3-68申请捐助实体属性图(4)捐助物品种类实体捐助物品种类(捐助物品种类编号,捐助物品种类名称,捐助物品种类简介)捐助物品种类实体属性如图3-69所示。图3-69捐助物品种类实体属性图(5)申请捐助物品实体申请捐助物品(捐助物品编号,捐助物品名称,捐助物品描述,捐助物品数量,计量单位,捐助物品种类编号,申请捐助编号)申请捐助物品实体属性如图3-70所示。图3-70申请捐助物品实体属性图(6)捐助项目实体捐助项目(捐助项目编号,标题,简述,内容,捐助期限日期,寄送类型,捐助项目状态,项目开始时间,捐助结束时间,项目结束时间,申请捐助编号)捐助项目实体属性如图3-71所示。图3-71捐助项目信息实体属性图(7)捐助项目进度实体捐助项目进度(捐助项目编号,总需捐助数量,已捐助数量,已捐助人数,进度百分比)捐助项目进度实体属性如图3-72所示。图3-72捐助项目进度实体属性图(8)统一派送实体统一派送(统一派送编号,项目编号,平台收货地址编号,派送员编号,派送安排时间)统一派送实体属性如图3-73所示。图3-73统一派送实体属性图(9)统一寄送地址实体统一寄送地址(统一寄送地址编号,姓名,电话,地址)统一寄送地址实体属性如图3-74所示。图3-74统一寄送地址实体属性图(10)用户捐助实体用户捐助信息(用户捐助编号,捐助项目编号,用户编号,申请捐助物品编号,捐助数量,祝福语,捐助时间,快递单号,积分,捐助状态)用户捐助实体属性如图3-75所示。图3-75用户捐助实体属性图(11)派送人员实体派送人员(派送人员编号,姓名,性别,出生日期,电话)派送人员实体属性如图3-76所示。图3-76派送人员实体属性图(12)线下捐助点实体线下捐助点(线下捐助点编号,地址,开始日期,结束日期,开设时间段,备注信息,创建时间,状态,管理员编号)线下捐助点实体属性如图3-77所示。图3-77线下捐助点实体属性图(13)线下捐助物品实体线下捐助物品(线下捐助物品编号,捐助点编号,物品类型编号,物品名称,物品备注,手机号,姓名,状态,物品去向,积分,捐助时间,处理时间)线下捐助物品实体属性如图3-78所示。图3-78线下捐助物品实体属性图(14)积分规则实体积分规则(积分规则编号,规则名称,规则内容,物品类型编号,最小积分,最大积分,创建时间)积分规则实体属性如图3-79所示。图3-79积分规则实体属性图(15)积分物品实体积分物品(积分物品编号,物品名称,物品描述,积分,图片,数量,状态,创建时间)积分物品实体属性如图3-80所示。图3-80积分物品实体属性图(16)积分兑换实体积分兑换(积分兑换编号,积分物品编号,用户编号,花费积分,收货姓名,收货电话,收货地址,兑换时间,快递单号,发货时间,状态)积分兑换实体属性如图3-81所示。图3-81积分兑换实体属性图(17)管理员实体管理员(管理员编号,账号,密码,姓名,手机号,头像,状态,权限)管理员实体属性如图3-82所示。图3-82管理员实体属性图(18)公告实体公告(公告编号,标题,内容,发布时间,修改时间)公告实体属性如图3-83所示。图3-83公告实体属性图(19)通知实体通知(通知编号,标题,内容,发送时间,状态,用户编号)通知实体属性如图3-84所示。图3-84通知实体属性图3.5.2数据库物理结构设计由数据库逻辑结构设计进行数据库物理结构设计,将创建:用户表、身份认证表、申请捐助表、物品种类表、申请捐助物品表、捐助项目表、捐助项目进度表、统一派送表、平台收货地址表、用户捐助表、派送人员表、线下捐助点表、线下捐助物品表、积分规则表、积分物品表、积分兑换表、管理员表、公告实体表、通知实体表。(1)用户表用户表(user):用户表存储的是用户账号的相关信息。用户表结构如表3-1所示。表3-1用户表字段名数据类型长度约束描述uidint11主键用户编号usernamevarchar20notnull用户名称passwordchar32notnull用户密码nicknamevarchar20null昵称mottoVarchar100nullphonechar11notnull头像photovarchar40null个性签名pointint11notnull绑定电话号码regtimedatetime0notnull注册时间statusint1notnull状态(2)身份认证表身份认证表(identity):身份认证表存储用户的身份认证信息。身份认证表结构如表3-2所示。表3-2身份认证表字段名数据类型长度约束描述iidint11主键身份认证编号card_numberchar20notnull身份证号码namevarchar32notnull姓名birthdate0notnull出生日期sexchar2notnull性别identity_photovarchar40notnull手持身份证照片statusint1notnull身份认证状态uidint11notnull用户id(外键)(3)申请捐助表申请捐助表(cds_apply_donation):申请捐助表存储的是用户申请捐助的信息。申请捐助表结构如表3-3所示。表3-3申请捐助表字段名数据类型长度约束描述adidint11主键申请捐助编号briefvarchar200notnull简要说明reasonvarchar2000notnull申请事由apply_typeint1notnull申请捐助类型namevarchar20notnull收货姓名phonechar11notnull联系电话addressvarchar100notnull收货地址prove_photovarchar400notnull证明图片文件名approve_governmentvarchar100notnull盖章机构government_contactvarchar20notnull机构电话expected_daysint1notnull期望捐助的天数apply_timedatetime0notnull申请时间Statusint1notnull申请状态uidint11外键用户编号(4)捐助物品种类表捐助物品种类表(cds_goods_type):捐助物品种类表存储的捐助物品的种类信息。捐助物品种类表结构如表3-4所示。表3-4捐助物品种类表字段名数据类型长度约束描述gtidint11主键物品种类编号type_namevarchar20notnull物品种类名称type_briefvarchar100notnull物品种类简介(5)申请捐助物品表申请捐助物品表(cds_apply_goods):申请捐助捐助物品表存储用户申请的捐助物品,是申请捐助中的申请捐助物品信息。申请捐助物品表结构如表3-5所示。表3-5申请捐助物品表字段名数据类型长度约束描述agidint11主键申请捐助物品编号goods_namevarchar20notnull物品名称goods_remarkvarchar100null物品描述quantityfloat10,2notnull物品数量unitvarchar10notnull计量单位gtidint11外键物品种类编号adidint11外键申请捐助编号(6)捐助项目表捐助项目表(cds_donation_item):捐助项目表存储着捐助项目的信息。捐助项目表结构如表3-6所示。表3-6捐助项目表字段名数据类型长度约束描述diidint11主键捐助项目编号titlevarchar50notnull标题briefvarchar200notnull简述contentvarchar10000notnull内容donated_deadlinedate0notnull捐助最大结束日期send_typeint1notnull寄送类型statusint1notnull捐助项目状态start_timedatetime0notnull项目开始时间donated_timedatetime0null捐助结束时间end_timedatetime0null项目结束时间adidint11外键申请捐助编号(7)捐助项目进度表捐助项目进度表(cds_dontation_progress):捐助项目进度表存储捐助项目的捐助进度,供用户和管理员进行查看。捐助项目进度表结构如表3-7所示。表3-7捐助项目进度表字段名数据类型长度约束描述diidint11主键、外键捐助项目编号goods_sumint11notnull总需捐助数量goods_numberfloat5,2notnull已捐助数量people_numberint11notnull已捐助人数progressfloat5,2notnull进度百分比(8)统一派送表统一派送表(cds_unify_send):统一派送表存储寄送类型为统一派送的捐助项目的寄送信息和派送信息。统一派送表结构如表3-8所示。表3-8统一派送表字段名数据类型长度约束描述usidint11主键、外键统一派送编号diidint11外键捐助项目编号uaidint11外键统一寄送地址编号didint11外键notnull派送人员编号delivery_timedatetime0null派送安排时间(9)统一寄送地址表统一寄送地址表(cds_unify_address):统一寄送地址表存储平台统一收货的地址,用于用户对项目类型为平台统一派送的捐助项目进行捐助寄送的地址。统一寄送地址表结构如表3-9所示。表3-9统一寄送地址表字段名数据类型长度约束描述uaidint11主键统一寄送地址编号namevarchar20notnull姓名phonechar11notnull电话addressvarchar100notnull地址(10)用户捐助表用户捐助表(cds_user_donate):用户捐助表存储用户对捐助项目的捐助信息。用户捐助表结构如表3-10所示。表3-10用户捐助表字段名数据类型长度约束描述udidint11主键用户捐助编号diidint11外键notnull捐助项目编号uidint11外键notnull用户编号agidint11外键notnull申请捐助物品编号quantityfloat5,2notnull捐助数量blessingvarchar100null祝福语donation_timedatetime0notnull捐助时间express_numbervarchar30notnull快递单号pointint11null积分statusint1notnull捐助状态(11)派送人员表派送人员表(cds_deliverer):派送人员表存储派送人员的信息。派送人员表结构如表3-11所示。表3-11派送人员表字段名数据类型长度约束描述didint11主键派送人员编号namevarchar20notnull名字sexchar2notnull性别birthdate0notnull出生日期phonechar11notnull电话(12)线下捐助点表线下捐助点表(cds_offline_donation):线下捐助点表存储线下捐助点的信息。线下捐助点表结构如表3-12所示。表3-12线下捐助点表字段名数据类型长度约束描述odidint11主键线下捐助点编号addressvarchar100notnull地址start_datedate0notnull开始日期end_datedate0notnull结束日期time_quantumvarchar200notnull开设时间段remarkvarchar500null备注create_timedatetime255notnull创建时间statusint1notnull状态admin_idint11外键notnull管理员编号(13)线下捐助物品表线下捐助物品表(cds_offline_goods):线下捐助物品表存储线下捐助点的信息。线下捐助物品表结构如表3-13所示。表3-13线下捐助物品表字段名数据类型长度约束描述ogidint11主键线下捐助物品编号odidint11外键notnull线下捐助点编号gtidint11外键notnull物品类型编号goods_namevarchar20notnull物品名称goods_remarkvarchar100notnull物品描述phonechar11notnull手机号namevarchar20notnull姓名statusint1notnull捐助物品状态whereboutsint11null物品去向pointint11null积分donate_timedatetime0notnull捐助时间process_timedatetime0null处理时间(14)积分规则表积分规则表(cds_point_rule):积分规则表存储积分规则信息,用于管理员对积分发放的参考。积分规则表结构如表3-14所示。表3-14积分规则表字段名数据类型长度约束描述pridint11主键积分规则编号rule_namevarchar50notnull规则名称rule_contentvarchar100notnull规则内容gtidint11外键notnull物品种类编号min_pointint11notnull最小积分max_pointint11notnull最大积分create_timedatetime0notnull创建时间(15)积分物品表积分物品表(cds_point_goods):积分物品表存储积分物品信息。积分物品表结构如表3-15所示。表3-15积分物品表字段名数据类型长度约束描述pgidint11主键积分物品编号goods_namevarchar50notnull物品名称goods_remarkvarchar100notnull物品描述pointint11notnull积分photovarchar40null图片quantityint11notnull数量statusint1notnull状态create_timedatetime0notnull创建时间(16)积分兑换表积分兑换表(cds_point_exchange):积分兑换表存储用户兑换积分物品的信息。积分兑换表结构如表3-16所示。表3-16积分兑换表字段名数据类型长度约束描述peidint11主键积分兑换编号pgidint11外键notnull积分物品编号uidint11外键notnull用户编号spendint11notnull花费积分namevarchar20notnull收货姓名phonechar11notnull收货电话addressvarchar100notnull收货地址exchange_timedatetime0notnull兑换时间express_numbervarchar30null快递单号send_timedatetime0null发货时间statusint1notnull状态(17)管理员表管理员表(cds_admins):管理员表存储管理员账号信息。管理员表结构如表3-17所示。表3-17管理员表字段名数据类型长度约束描述admin_idint11主键管理员编号admin_namevarchar20notnull管理员账号passwordvarchar32notnull密码namevarchar20notnull姓名phonechar11notnull电话photovarchar40null头像statusint1notnull状态levelint1notnull权限(18)公告表公告表(cds_announcement):公告表存储平台公示的公告信息。公告表结构如表3-18所示。表3-18公告表字段名数据类型长度约束描述anidint11主键公告编号titlevarchar100notnull标题contentvarchar10000notnull内容create_timedatetime0notnull发布时间update_timedatetime0null修改时间(19)通知表通知表(cds_announcement):通知表存储对用户进行通知的通知信息。通知表结构如表3-19所示。表3-19通知表字段名数据类型长度约束描述nidint11主键通知编号titlevarchar100notnull标题contentvarchar1000notnull内容send_timedatetime0notnull发送时间statusint1notnull状态uidint11外键notnull用户编号
4系统实现本章节将介绍对系统实现的界面进行展示,在主要功能下方附带核心代码。该平台的用户首页界面图如图4-1所示。图4-1用户首页界面图4.1用户功能实现4.1.1用户个人模块功能实现(1)用户注册用户注册功能可以注册成为平台的注册用户。用户注册功能界面如图4-2所示。图4-2用户注册功能界面图用户注册功能核心代码如下所示。@PostMapping("/userRegister")
publicResultuserRegister(@RequestBodyUserRegisterReqVouserRegisterReqVo,HttpSessionsession)throwsIOException{
Stringphone=userRegisterReqVo.getPhone();
StringsmsCode=userRegisterReqVo.getSmsCode();
//md5判断验证码是否正确
Map<String,Object>map=(Map<String,Object>)session.getAttribute("regCode");
if(!phone.equals(map.get("phone"))||!smsCode.equals(map.get("code"))){
returnResult.success(SmsCodeResultEnum.CODE_ERROR);
}
//md5加密
userRegisterReqVo.setPassword(MD5Util.toMd5(userRegisterReqVo.getPassword()));
booleanresult=userService.userRegister(userRegisterReqVo);
//结果正确则注册成功
if(result==false){
returnResult.success(ResultStatus.FAIL);
}
returnResult.success(ResultStatus.SUCCESS);
}(2)用户登录用户登录可登录平台系统,进行申请、捐助等平台操作。用户登录功能界面如图4-3所示。图4-3用户登录功能界面图用户登录功能核心代码如下所示。@PostMapping("/userLogin")
publicResultuserLogin(@RequestBodyUserLoginReqVouserLoginReqVo,HttpServletRequestrequest){
//判断账号密码是否正确
booleanresult=userService.checkUserAccount(userLoginReqVo);
if(result){
//
HttpSessionsession=request.getSession();
UserSessionInfoDtouserSessionInfoDto=userService.getUserSessionInfoByPhone(userLoginReqVo.getPhone());
//判断账号是否冻结
if(userSessionInfoDto.getStatus()==2){
returnResult.success(LoginResultEnum.FREEZE);
}
//session添加账号信息
session.setAttribute("userInfo",userSessionInfoDto);
//登录成功
returnResult.success(LoginResultEnum.SUCCESS,userSessionInfoDto);
}
//登录失败
returnResult.success(LoginResultEnum.ACCOUNT_ERROR);
}(3)个人中心个人中心功能中可查看个人的基本信息,可查看个人的个性数据。个人中心功能界面如图4-4所示。图4-4个人中心功能界面图(4)修改个人信息修改个人信息功能可修改个人的信息、头像。修改个人信息功能界面如图4-5所示。图4-5修改个人信息功能界面图(5)申请身份认证用户可通过申请身份认证功填写相关身份信息提交进行身份认证申请。申请身份认证功能界面如图4-6所示。图4-6申请身份认证程序流程图4.1.2申请捐助模块(1)申请捐助用户可通过申请捐助功能根据步骤填写相关捐助申请、捐助物品等信息进行捐助申请。申请捐助功能界面如图4-7、4-8、4-9、4-10、4-11所示。图4-7申请捐助功能界面图(1)图4-8申请捐助功能界面图(2)图4-9申请捐助功能界面图(3)图4-10申请捐助功能界面图(4)图4-11申请捐助功能界面图(5)申请捐助功能核心代码如下所示。publicvoidinsertApplyDonation(ApplyDonationReqVoapplyDonationReqVo,Integeruid){
//转化为dto
ApplyDonationInsertDtoapplyDonationInsertDto=newApplyDonationInsertDto(applyDonationReqVo,uid);
//插入申请数据
applyDonationMapper.insertApplyDonation(applyDonationInsertDto);
//获取插入申请数据的自增长id值
Integeradid=applyDonationInsertDto.getAdid();
//goodsListvo和dto的转化
List<ApplyGoodsReqVo>goodsList=applyDonationReqVo.getApplyGoodsList();
List<ApplyGoodsInsertDto>goodsInsertDtoList=newArrayList<>();
for(ApplyGoodsReqVoapplyGoodsReqVo:goodsList){
ApplyGoodsInsertDtoapplyGoodsInsertDto=newApplyGoodsInsertDto(applyGoodsReqVo,adid);
goodsInsertDtoList.add(applyGoodsInsertDto);
}
//插入申请的物品数据
applyGoodsMapper.insertApplyGoodsList(goodsInsertDtoList);
}(2)个人捐助申请用户可通过个人中心中的捐助申请查看个人的捐助申请,个人捐助申请功能界面如图4-12所示。图4-12个人捐助申请功能界面图4.1.3捐助项目模块(1)捐助项目用户可在捐助项目功能界面如图4-13、4-14所示。图4-13捐助项目浏览功能界面图4-14捐助项目详细内容功能界面(2)捐助物品捐助物品功能界面如图4-15所示。图4-15捐助物品功能界面捐助物品核心代码如下所示。publicbooleanuserDonate(UserDonateReqVouserDonateReqVo,Integeruid){
UserDonateDtouserDonateDto=newUserDonateDto(userDonateReqVo,uid);
//插入用户捐助
if(userDonateMapper.insertUserDonate(userDonateDto)>0){
//获取项目id
Integerdiid=applyGoodsMapper.selectDiidByAgid(userDonateDto.getAgid());
//更新项目进度
donationProgressMapper.updateProgressByDiid(diid);
//判断项目进度是否完成
Floatprogress=donationProgressMapper.selectProgressByDiid(diid);
if(progress>=100){
//修改项目状态
DonationItemStatusDtostatusDto=newDonationItemStatusDto(diid,DonationItemStatusEnum.WAIT_ARRIVE.getStatus());
donationItemMapper.updateStatus(statusDto);
//更新项目捐助结束时间
DonationItemdonationItem=newDonationItem();
donationItem.setDiid(diid);
donationItem.setDonatedDeadline(newDate());
donationItemMapper.updateByPrimaryKeySelective(donationItem);
}
returntrue;
}
returnfalse;
}(3)个人捐助项目用户可通过个人中心中的捐助项目查看个人的捐助项目。个人捐助项目功能界面如图4-16所示。图4-16个人捐助项目功能界面(4)物品签收用户可查看自己项目的捐助信息,其中包括待签收信息,根据不同的项目类型,显示不同的待签收信息,分别为个人寄送待签收和群体派送待签收。物品签收功能界面如图4-17、4-18所示。图4-17用户签收个人寄送物品功能界面图4-18用户签收平台统一派送功能界面4.1.4积分模块(1)积分物品用户可浏览积分物品,以及查看积分物品的详细信息。积分物品功能界面如图4-19、4-20所示。图4-19积分物品浏览功能界面图图4-20积分物品详细信息浏览功能界面图(2)兑换积分物品用户可填写收货地址来兑换积分物品。兑换积分物品功能界面如图4-21所示。图4-21兑换积分物品功能界面图兑换积分物品核心代码如下所示。publicbooleanpointExchange(PointExchangeInsertReqVopointExchangeInsertReqVo){
//获取用户id
Integeruid=pointExchangeInsertReqVo.getUid();
//获取积分物品信息
PointGoodsInfoRespVopointGoodsInfo=pointGoodsService.getPointGoodsInfoByPgid(pointExchangeInsertReqVo.getPgid());
//判断积分物品库存是否为0
if(pointGoodsInfo.getQuantity()==0){
returnfalse;
}
//判断用户积分是否足够
if(userService.spendPoint(uid,pointGoodsInfo.getPoint())){
//添加兑换
pointExchangeInsertReqVo.setSpend(pointGoodsInfo.getPoint());
pointExchangeMapper.insertPointExchange(pointExchangeInsertReqVo);
pointGoodsService.pointGoodsExchangeOne(pointGoodsInfo.getPgid());
returntrue;
}
returnfalse;
}(3)个人积分兑换用户可在个人中心中的积分兑换查看个人积分兑换,可查看积分兑换的物流信息。个人积分兑换功能界面如图4-22、4-23所示。图4-22个人积分兑换功能界面图图4-23个人积分兑换物流功能界面图4.1.5线下捐助模块(1)线下捐助点用户可浏览线下捐助点,以及查看线下捐助点的详细信息。线下捐助点功能界面如图4-24、4-25所示。图4-24线下捐助点浏览功能界面图图4-25线下捐助点详细信息功能界面图(2)个人线下捐助用户可通过个人中心的线下捐助查看个人线下捐助信息。个人线下捐助功能界面如图4-26所示。图4-26个人线下捐助功能界面图4.1.6公告模块(1)公告浏览用户可浏览公告信息。公告浏览功能界面如图4-27所示。图4-27公告浏览功能界面图(2)公告详情信息用户可查看公告的详情信息。公告详情信息功能界面如图4-28所示。图4-28公告详情信息功能界面图4.1.7通知模块模块(1)个人通知用户可通过个人中心中的个人通知查看个人通知信息。个人通知功能界面如图4-29所示。图4-29个人通知功能界面图(2)通知详细信息用户可查看通知信息的详细内容。通知详细信息功能界面如图4-30所示。图4-30通知详细信息功能界面图4.2线上管理员功能模块设计4.2.1管理员个人模块(1)线上管理员登录线上管理员可通过该功能进行登录系统。线上管理员登录功能界面如图4-31所示。图4-31线上管理员登录功能界面图线上管理员登录核心代码如下所示。@PostMapping("/login")
publicResultadminLogin(@RequestBodyAdminadmin,HttpSessionsession){
//判断账号密码是否正确
booleanresult=adminService.checkAdminAccount(admin);
if(result){
//获取账号信息
AdminSessionInfoDtoadminSessionInfo=adminService.getAdminInfoByAdminname(admin.getAdminName());
//判断权限是否满足条件
if(adminSessionInfo.getLevel()!=1&&adminSessionInfo.getLevel()!=2){
returnResult.success(LoginResultEnum.NO_LEVEL);
}
//判断账号是否冻结
if(adminSessionInfo.getStatus()==2){
returnResult.success(LoginResultEnum.FREEZE);
}
//登录成功,session添加账号信息
session.setAttribute("adminInfo",adminSessionInfo);
returnResult.success(LoginResultEnum.SUCCESS,adminSessionInfo);
}
returnResult.success(LoginResultEnum.ACCOUNT_ERROR);
}(2)个人信息线上管理员可查看、修改个人信息,以及修改密码。个人信息功能界面如图4-32、4-33、4-34所示。图4-32查看个人资料功能界面图图4-33修改个人资料功能界面图图4-34修改密码功能界面图4.2.2用户管理模块(1)用户管理线上管理员可通过用户管理对用户查询、冻结、解冻等操作。用户管理功能界面如图4-35所示。图4-35查询用户程序流程图(2)身份认证审核线上管理员可对用户的身份认证申请进行查找、审核。身份认证审
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 年产5000台智能检测设备项目可行性研究报告
- 防泄漏知识培训课件
- 防汛抢险知识培训报道课件
- 绿色供应链管理的行业适用性研究
- 婚前协议的法律效力分析
- 社会支持与心理flourishing关联-洞察及研究
- 收购散玉米合作协议8篇
- 2025年高三物理第二轮专题冲刺讲义共十二讲
- 2025年新合作勘查合同2篇
- 2025年机动车辆抵押货款合同2篇
- 保密观考试题及答案2025保密观知识竞赛试题及答案
- 老年综合征与护理试题及答案
- 3.2《参与民主生活》教案 2025-2026学年度道德与法治九年级上册 统编版
- 社团招新课件
- 老年髋部骨折围手术期衰弱护理管理专家共识解读
- 2025版农业合作社成员个人借款合同范本
- 高职院校科研能力建设的区域性差异分析及精准提升路径研究
- 2025北京京剧院招聘工作人员10人考试备考试题及答案解析
- 四链融合:新质生产力的深度路径
- 酒店房卡管理制度与操作流程
- 2025一建《水利水电工程管理实务》思维导图
评论
0/150
提交评论