




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
基于SpringBoot框架的愛心捐助平臺系統(tǒng)的設計與實現(xiàn)摘要本文設計并實現(xiàn)基于SpringBoot框架的愛心捐助平臺系統(tǒng)。該網(wǎng)站應用于地方級的愛心捐助平臺,是用戶提供物品捐助的平臺,達到能幫助需要物品的人且舊物品能重新利用的目的。主要功能上來說,用戶可瀏覽捐助項目、參與項目捐助、查看個人捐助項目,用戶也可申請捐助、簽收物品、查看個人申請捐助、查看個人捐助項目等操作,平臺可設立線下項目,用戶可在平臺上瀏覽線下捐助點并前往進行物品捐助,線下設立點可為用戶錄入物品數(shù)據(jù),無論用戶是線上、線下中參與捐助,都可為用戶給予積分獎勵,用戶可對積分物品進行兌換。網(wǎng)站主要使用SpringBoot+Vue+Mysql來開發(fā)系統(tǒng),系統(tǒng)還外接短信驗證碼、物流查看的接口來提升用戶的使用體驗感。愛心捐助平臺系統(tǒng)運營秉著公開透明的原則,為用戶公開物品流向,使其達到慈善平臺該有的基本要求。關鍵字:愛心捐助;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課題背景隨著人口的急劇增長,居民的生活水平和消費能力不斷提高,物品更新?lián)Q代的頻率更加頻繁,生活垃圾的產(chǎn)量呈現(xiàn)出逐年增加的趨勢[1],這些現(xiàn)象大多出現(xiàn)在發(fā)展迅速的城鎮(zhèn)地帶。隨著我國城鎮(zhèn)化的加速推進,城市居住和生活的人口直線上升,《2011年中國城市發(fā)展報告》調查結果顯示,我國城鎮(zhèn)化率達到51.27%,預計2030年中國城鎮(zhèn)化水平將達到70%。[2]迅速的發(fā)展導致近幾年來,環(huán)境污染成為了當前社會的重點問題,影響生存環(huán)境,同時還抑制著國家經(jīng)濟和社會的發(fā)展,在造成環(huán)境污染的諸多因素中,廢棄物品的處理不當是其中主要原因之一。[3]迅速發(fā)展帶來的“舊去新來”問題,與其部分鄉(xiāng)鎮(zhèn)地區(qū)等物資短缺的問題對比,層級尤為強烈,一邊過著過度浪費“舊物品”,一邊卻用不上物品,真正需要的人用不到,最后“舊物品”只能淪為垃圾回收。有些人可能因為自然災害、疾病等突發(fā)事件,對其生活情況造成影響[4],或是說因為家庭的經(jīng)濟問題存在著生活困難,有時候對于他們來說,一些這些“舊物品”的給予,會給生活帶來一定的幫助。因此,舊物回收利用,捐助與他人,對于節(jié)約資源和慈善有著重要意義。然而現(xiàn)有的物品捐助存在諸多問題,例如舊衣物的捐助,我國13億多人口年產(chǎn)舊衣物達到約50億件,雖然在多地都設立了舊衣物的回收箱,但并未普及,投放的人較為稀少,而且沒有對舊衣物的去向做后續(xù)說明[5],對于現(xiàn)有物品捐助存在的問題,因給予相應的解決方案,為人民提供一個家喻戶曉的透明化捐助平臺。公益慈善的發(fā)展空間依舊很大,這需要全社會的共同努力推進[6],關于舊物捐助的慈善在促進社會發(fā)展的各個方面都起著非常重要的作用[7],它有利于舊物的回收利用,減少垃圾排放,同時可以幫助到真正需要的人。1.2課題概述在如今我們已經(jīng)達到衣食無憂的年代,從原來吃的飽不飽的問題轉變到了吃的好不好,隨著生活質量的提高,對衣物、生活用品等需求不斷提高,閑置下來的物品不是回收就是直接丟棄,而如今仍有很多山區(qū)農村等地區(qū)存在物質短缺的狀態(tài),過著為吃穿憂慮的生活。為了幫助這些物質短缺地區(qū)等需要幫助的人們解決生活上物資等問題,同時解決生活條件良好的人們頻繁更新物品導致舊物品的浪費,可以向人們發(fā)起捐助,人們可以將自己的閑置物品捐助給需要幫助的人,提高他們的生活質量。隨著計算機技術的飛速發(fā)展,信息網(wǎng)絡化應用的不斷增多,傳統(tǒng)的愛心捐贈方式已不能滿足社會的需求。[8]因此基于SpringBoot設計一款B/S模式的愛心捐助平臺系統(tǒng),幫助大家將自己閑置的物品或衣物進行回收或是捐贈。該平臺可選擇線上或是線下進行捐助[9]。在平臺線上捐助物品,填寫相關的運輸物流信息即可完成捐助,也可通過平臺得知線下的捐助設立點,就近將舊物攜帶到設立點,已節(jié)省運輸成本,通過線下捐助點捐助的物品會帶回倉庫,用于線上捐助或是二次回收,回收物品而獲得的資金也將用于對其他貧困、災區(qū)的資金援助,這些援助最后都會將在平臺公告上為大家公示呈現(xiàn)。無論是線上捐助還是線下捐助,捐助者管理員都將為其登記積分獎勵,這將根據(jù)捐助物品的情況及其數(shù)量適當主觀調整,積分將用于在平臺上積分禮品兌換,給予愛心紀念品等,促進人們的愛心和捐助熱情。綜上所述,愛心捐助平臺系統(tǒng)不僅將改善物質短缺地區(qū)的生活質量,同時有利于舊物的二次利用,減少垃圾排放,是具有發(fā)展前景和實用性的系統(tǒng)。1.3系統(tǒng)開發(fā)工具和關鍵技術1.3.1HBuilderHBuilder是款支持Html5的Web開發(fā)環(huán)境,其快速、完整的語法提示、代碼塊等優(yōu)勢,在前端開發(fā)上的效率有著極大的優(yōu)勢。[10]HBuilder在本系統(tǒng)中主擔前端開發(fā)的工具。1.3.2IntelliJIDEAIntelliJIDEA是款集成開發(fā)環(huán)境的工具。IntelliJIDEA開發(fā)工具同Eclipse一樣,主要用于Java開發(fā)的集成環(huán)境中,其在代碼審查、重構、提示、支持等方便擁有著超常的又是的能力[11],從而獲得眾多Java開發(fā)者的青睞。IntelliJIDEA在本系統(tǒng)中主擔后端開發(fā)的工具。1.3.3NavicatPremiumNavicatPremium是款數(shù)據(jù)庫管理工具,可對世面上的主流數(shù)據(jù)庫進行可視化的管理和操作,其可視化的界面對于數(shù)據(jù)庫開發(fā)起到極大的便捷作用。NavicatPremium在本系統(tǒng)中主擔數(shù)據(jù)庫開發(fā)的工具。1.3.4BootstrapBootstrap是基于HTML、CSS、JavaScript開發(fā)的簡潔、直觀、強大的前端開發(fā)框架,使得Web開發(fā)更加快捷、美觀。在本系統(tǒng)中擔任前端的美化工具。1.3.5Vue.jsVue是一款用于構建用戶界面的漸進式JavaScript框架,與其它大型框架不同的是,Vue被設計為可以自底向上逐層應用[12]。Vue的核心庫只關注視圖層,易于上手,本系統(tǒng)使用Vue代替Javascript對頁面數(shù)據(jù)進行渲染,極大提高了前端的開發(fā)效率。在本系統(tǒng)中擔任前端的渲染工具。1.3.6SpringBootSpringBoot其設計目的是用來簡化新Spring應用的初始搭建及開發(fā)過程[13]。該框架簡化了Spring搭建的人工配置,使開發(fā)人員不再需要對配置花費過多時間,極大提升開發(fā)效率。
2需求分析該章節(jié)將對愛心捐助平臺系統(tǒng)進行初步的需求分析。2.1需求概述該系統(tǒng)主要是建立一個可接受線上、線下的愛心捐助平臺,是為用戶提供一個可選擇的便捷捐助平臺。根據(jù)系統(tǒng)的需求,將系統(tǒng)角色分為三個:用戶、線上管理員、線下管理員。以下將對主要業(yè)務流程進行分析,其后將根據(jù)業(yè)務流程分析進一步進行功能需求進行分析。2.2主要功能業(yè)務流程分析2.2.1用戶捐助申請業(yè)務流程分析用戶捐助申請業(yè)務流程如圖2-1所示。圖2-1用戶捐助申請業(yè)務流程圖2.2.1用戶捐助業(yè)務流程分析用戶捐助業(yè)務流程如圖2-2所示。圖2-2用戶捐助業(yè)務流程圖2.2.2捐助項目管理業(yè)務流程分析捐助項目管理業(yè)務流程如圖2-3所示。圖2-3捐助項目管理業(yè)務流程圖2.2.3線下捐助總體業(yè)務流程分析線下捐助總體業(yè)務流程如圖2-4所示。圖2-4線下捐助總體業(yè)務流程圖2.3功能需求分析本小節(jié)將根據(jù)上小節(jié)對主要功能的業(yè)務流程,進一步對功能需求分析,將采用用例圖和用例描述進行表述。2.3.1用戶功能需求分析對用戶功能進行需求分析,得出用例如圖2-5所示。圖2-5用戶用例圖用戶功能用例描述如表2-1所示。表2-1用戶功能用例描述用例名稱用例描述注冊:用戶可以通過該用例注冊,成為愛心捐助平臺系統(tǒng)的用戶。登錄:用戶可以通過該用例登錄,來使用登錄后才可使用的功能。資料修改:用戶可以通過該用例進行個人資料進行修改。密碼修改:用戶可以通過該用例對密碼進行修改。身份認證申請:用戶可以通過該用例進行身份認證申請,由線上管理員進行審核。捐助申請:用戶可以通過該用例進行捐助申請,前提是用戶已經(jīng)通過身份認證的審核,用戶進行捐助申請將由線上管理員進行審核。捐助項目查看:用戶可以通過該用例對線上捐助項目進行查看。捐助:用戶可以通過該用例對線上的捐助項目進行捐助。物品簽收:用戶可以通過該用例,對自己的捐助項目中的捐助物品進行簽收。積分兌換:用戶可以通過該用例對平臺的積分物品進行兌換。線下捐助點查看:用戶可以通過該用例對線下捐助點進行查看,可前往線下捐助點進行捐助。公告查看:用戶可以通過該用例對公告進行查看。通知查看:用戶可以通過該用例對通知進行查看。2.3.2線上管理員功能需求分析對線上管理員功能進行需求分析,得出用例如圖2-6所示。圖2-6線上管理員用例圖線上管理員功能用例描述如表2-2所示。表2-2線上管理員功能用例描述用例名稱用例描述登錄:線上管理員可以通過該用例進行登錄,從而使用線上管理員所具有的管理權限。個人信息修改:線上管理員可以通過該用例修改個人信息。密碼修改:線上管理員可以通過該用例進行密碼修改。用戶查詢:線上管理員可以通過該用例對用戶進行查詢。用戶凍結、解凍:線上管理員可以通過該用例對用戶進行凍結、解凍,凍結的用戶無法登錄平臺系統(tǒng)。身份認證審核:線上管理員可以通過該用例對用戶的身份認證申請進行審核。捐助申請查詢:線上管理員可以通過該用例對用戶的捐助申請進行查詢捐助申請審核:線上管理員可以通過該用例對用戶的捐助申請進行審核捐助項目發(fā)布:線上管理員可以通過該用例對通過審核的捐助申請進行捐助項目發(fā)布。捐助項目查、改:線上管理員可以通過該用例對捐助項目進行查詢、修改。續(xù)表2-2用例名稱用例描述派送人員安排:線上管理員可以通過該用例對已經(jīng)完成捐助的捐助項目派送人員安排。捐助查詢:線上管理員可以通過該用例對用戶的捐助進行查詢。簽收捐助物品:線上管理員可以通過該用例對用戶的捐助寄送往平臺統(tǒng)一派送的物品進行簽收。積分發(fā)放:線上管理員可以通過該用例根據(jù)用戶在平臺捐助項目所捐助的物品對用戶進行積分發(fā)放。捐助物品種類查、增、改:線上管理員可以通過該用例對捐助物品種類進行查詢、添加、修改。派送人員查、增、改:線上管理員可以通過該用例對派送人員進行查詢、添加、修改。線下管理員凍結、解凍:線上管理員可以通過該用例對線下管理員進行凍結、解凍,凍結的線下管理員無法登錄線下管理系統(tǒng)。線下捐助點查、增、改、取消:線上管理員可以通過該用例對線下捐助點進行查詢、添加、修改,對還未開始的線下捐助點進行取消。線下捐助點結束:線上管理員可以通過該用例結束已經(jīng)開始的線下捐助點。線下捐助物品查詢:線上管理員可以通過該用例對線下捐助物品進行查詢。物品回收處理:線上管理員可以通過該用例對線下捐助的物品進行回收處理。物品代捐助處理:線上管理員可以通過該用例對線下捐助物品進行代捐助至平臺項目。公告查、增、改:線上管理員可以通過該用例對公告進行查詢、添加、修改。積分規(guī)則查、增、改:線上管理員可以通過該用例對積分規(guī)則進行查詢、添加、修改。積分物品查、增、改:線上管理員可以通過該用例對積分物品進行查詢、添加、修改。積分兌換查詢:線上管理員可以通過該用例對用戶兌換的積分物品進行查詢。積分兌換發(fā)貨:線上管理員可以通過該用例對用戶兌換的積分物品進行發(fā)貨。2.3.3線下管理員功能需求分析對線下管理員功能進行需求分析,得出用例如圖2-6所示。圖2-7線下管理員用例圖線下管理員功能用例描述如表2-3所示。表2-3用戶功能用例描述用例名稱用例描述登錄:線下管理員可以通過該用例進行登錄,從而使用線下管理員所具有的管理權限。個人信息修改:線下管理員可以通過該用例修改個人信息。修改密碼:用戶可以通過該用例進行個人資料進行修改。線下捐助點查詢:線下管理員可以通過該用例對線下捐助點進行查詢。線下捐助點修改:線下管理員可以通過該用例對線下捐助點進行修改。線下捐助物品查詢:線下管理員可以通過該用例對用戶在線下捐助點捐助的物品進行查詢。捐助物品錄入:線下管理員可以通過該用例對用戶在線下捐助點捐助的物品信息進行錄入。積分發(fā)放:線下管理員可以通過該用例根據(jù)用戶在線下捐助點捐助的物品對用戶進行積分發(fā)放。
3系統(tǒng)設計通過第2章中對愛心捐助平臺系統(tǒng)的主要功能業(yè)務以及的各個角色功能進行需求分析后,在此需求分析的基礎之上繼續(xù)對系統(tǒng)總體功能結構、功能程序流程、數(shù)據(jù)庫結構進行設計,該章節(jié)將對以上各個設計內容進行詳細描述。3.1系統(tǒng)總體功能結構設計3.1.1用戶總體功能結構設計根據(jù)需求分析得出,愛心捐助平臺系統(tǒng)的用戶應有用戶個人模塊、申請捐助模塊、捐助項目模塊、積分模塊、線下捐助點模塊、公告模塊、通知模塊。用戶總體功能結構圖如圖3-1所示。圖3-1用戶總體功能結構圖1)用戶個人模塊:用戶可注冊并登錄平臺,可查看、修改個人信息,可修改密碼,同時還可以申請身份認證,身份認證需要姓名、身份證、手持身份證圖片等信息作為身份認證的證明信息。2)申請捐助模塊:在通過身份認證的情況下,用戶可以申請捐助,用戶可以在“個人捐助申請”頁面中查看到個人捐助申請。用戶申請捐助將由管理員來進行審核,最終發(fā)布捐助項目至平臺進行捐助活動。3)捐助項目模塊:用戶可對平臺上的項目進行查詢,可對指定項目進行捐助,捐助需要提供相應的物品信息和快遞信息等,同時用戶也可以在“個人捐助”頁面中查看到個人捐助的信息。用戶可以在“個人捐助項目”頁面中查看到個人的捐助項目,可對個人捐助項目里的捐助物品進行簽收。4)積分模塊:用戶可以查看個人的積分數(shù)量,可在平臺查看瀏覽積分物品,對自己心儀的積分物品進行兌換,在“個人兌換”頁面中可以查看到兌換信息,兌換信息包括兌換物品信息、快遞信息、發(fā)貨狀態(tài)等。5)線下捐助點模塊:為了用戶線下的便捷,平臺為其提供線下捐助點,用戶可在平臺上查詢線下捐助點,并前往線下捐助點進行捐助,捐助將由線下管理員為其當面錄入物品數(shù)據(jù),用戶可在“個人線下捐助”頁面中查看到自己在線下捐助的物品信息。6)公告模塊:用戶可在平臺上查詢平臺公告,公告的內容會有平臺運營的一些基本公告內容,還包括了捐助項目完成后的公開信息,有利于實現(xiàn)透明化捐助過程。7)通知模塊:用戶可在“個人通知”頁面中查看到個人的通知信息。用戶在平臺上對項目的捐助物品,平臺簽收、被捐助人簽收都會對用戶發(fā)送公告信息,不僅如此,用戶線下的捐助物品由管理員處理去向時,也會為用戶發(fā)送捐助物品的去向通知,實現(xiàn)公開透明的原則。對于申請捐助的用戶來說,會為其發(fā)送申請結果的通知,如若通過后管理員為其創(chuàng)建了捐助項目,也會對用戶發(fā)送一個捐助項目發(fā)布的通知。用戶兌換積分物品,當積分物品發(fā)貨時,也會對用戶發(fā)送通知信息。3.1.2線上管理員總體功能結構設計根據(jù)需求分析得出,愛心捐助平臺系統(tǒng)的線上管理員應有管理員個人模塊、用戶管理模塊、捐助申請管理模塊、捐助項目管理模塊、捐助管理模塊、捐助物品種類管理模塊、派送人員管理模塊、線下管理員管理模塊、線下捐助點管理模塊、線下捐助物品管理模塊、公告管理模塊、積分規(guī)則管理模塊、積分物品管理模塊、積分兌換管理模塊。線上管理員總體功能結構圖如圖3-2所示。圖3-2線上管理員總體功能結構圖1)管理員個人模塊:線上管理員可以登錄系統(tǒng),可以修改個人信息,包括姓名、手機號、頭像,同時管理員還可以修改自己的密碼。2)用戶管理模塊:線上管理員可以查詢用戶,可對用戶進行凍結、解凍操作,還可對用戶提交的身份認證申請進行審核。3)捐助申請管理模塊:線上管理員可以查詢用戶的捐助申請,可對捐助申請進行審核,結果為通過審核或不通過審核。4)捐助項目管理模塊:線上管理員可以查詢捐助項目,可對已經(jīng)通過審核的捐助申請進行進一步的項目發(fā)布,同時還可以對捐助項目信息進行修改、結束操作,對已經(jīng)完成捐助的項目可安排派送人員進行派送。5)捐助管理模塊:線上管理員可查詢捐助,可簽收捐助類型為“平臺統(tǒng)一派送”的捐助項目的捐助物品,可對所有類型的捐助物品根據(jù)平臺設立的積分規(guī)則進行積分發(fā)放。6)捐助物品種類管理模塊:線上管理員可查詢、添加、修改捐助物品種類。捐助物品種類是對平臺捐助物品的分類,便于對平臺捐助物品的歸納整理。7)派送人員模塊:線上管理員可查詢派送人員,可對派送人員進行添加、修改操作。派送人員充當捐助項目為“平臺統(tǒng)一派送”類型時的派送角色。8)線下管理員管理模塊:線上管理員可查詢線下管理員,可對線下管理員進行添加、修改操作,還可對線下管理員進行凍結、解凍的操作。9)線下捐助點管理模塊:線上管理員可查詢線下捐助點,還可設立、修改線下捐助點,也可取消線下捐助點。10)線下捐助物品管理模塊:線上管理員可查詢線下捐助物品,可對線下捐助物品進行處理。該線下捐助物品為線下管理員在線下捐助點錄入的物品,物品將由線上管理員進行后續(xù)的處理,處理有兩種方式,分為回收處理、代捐助處理,選擇回收處理平臺將會替用戶將該物品回收,回收的資金會用于在其他現(xiàn)金捐助的平臺上進行捐助,選擇代捐助處理則會將用戶的物品代替用戶捐助至本平臺上的捐助項目,來達到“線下物資線上用”的作用。無論是回收處理還是代捐助處理,系統(tǒng)都會對其發(fā)送相應的處理通知,確保做到透明化的流程。10)公告管理模塊:線上管理員可查詢公告,可添加修改公告,還可自動根據(jù)已完成簽收的捐助項目生成公告內容,線上管理員只需調整部分需要調整的信息即可發(fā)布該公告。11)積分規(guī)則管理模塊:線上管理員可對積分規(guī)則進行查詢,也可對積分規(guī)則進行添加、修改。積分規(guī)則是用于對平臺積分發(fā)放的約束,積分規(guī)則中對應著相應的物品類型、規(guī)則名稱、積分范圍,當管理員需要對其某種類的物品,會對管理員呈現(xiàn)相應種類的積分規(guī)則,例如用戶捐助的“棉服”在管理員處理時,會對管理員呈現(xiàn)所有“衣物”種類的規(guī)則,管理員可參考其中“棉服”的規(guī)則,對其主觀判斷該物品應發(fā)放的積分數(shù)量。12)積分物品管理模塊:線上管理員可查詢積分物品,也可添加、修改積分物品。積分物品是平臺對用戶的“愛心”獎勵,用于經(jīng)歷為平臺捐助的愛心人士們,用戶可以通過自己的積分,對平臺心儀的積分物品進行兌換。13)積分兌換管理模塊:線上管理員可查詢用戶的積分兌換,可對用戶積分兌換的物品進行發(fā)貨操作。3.1.3線下管理員總體功能結構設計根據(jù)需求分析得出,愛心捐助平臺系統(tǒng)的線下管理員應有管理員個人模塊、線下捐助點管理模塊、線下捐助物品管理模塊。線下管理員總體功能結構圖如圖3-3所示。圖3-3線上管理員總體功能結構圖1)管理員個人模塊:線下管理員可以登錄系統(tǒng),可以修改個人信息,包括姓名、手機號、頭像,同時還可以修改自己的密碼。2)線下捐助點管理模塊:線下管理員可對自己所管理的線下捐助點進行查詢,也可對所管理的線下捐助點的信息進行修改。3)線下捐助物品管理模塊:線下管理員可查詢線下捐助點的線下捐助物品,可對線下捐助的物品進行錄入,填寫對應的物品信息和捐助人信息即可完成,錄入后還可根據(jù)平臺設立的積分規(guī)則對其發(fā)放相應的積分。3.2用戶功能設計通過上小節(jié)的功能結構設計,本小節(jié)將結合上小節(jié)中的功能結構圖,對其中的主要功能進行程序流程設計,以下主要以程序流程圖和程序流程描述來呈現(xiàn)。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)積分物品查詢用戶進入積分物品頁面,點擊兌換填寫收貨地址并提交,如果數(shù)據(jù)合法則分別依次判斷積分、庫存是否足夠,如果數(shù)據(jù)不合法則提示數(shù)據(jù)不合法,積分不足、庫存不足則提示積分不足、庫存不足,都滿足的情況下則兌換成功。積分兌換物品的流程如圖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)發(fā)布捐助項目發(fā)布捐助項目的程序流程如圖3-23所示。圖3-23發(fā)布捐助項目程序流程圖(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)捐助積分發(fā)放積分發(fā)放的程序流程如圖3-29所示。圖3-29積分發(fā)放程序流程圖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)發(fā)布公告發(fā)布公告的程序流程如圖3-47所示。圖3-47發(fā)布公告程序流程圖(3)生成捐助項目公告生成捐助項目公告的程序流程如圖3-48所示。圖3-48生成捐助項目公告程序流程圖(4)修改公告修改公告的程序流程如圖3-49所示。圖3-49修改公告程序流程圖3.3.12積分規(guī)則管理模塊(1)查詢積分規(guī)則查詢積分規(guī)則的程序流程如圖3-50所示。圖3-50查詢積分規(guī)則程序流程圖(2)添加積分規(guī)則添加積分規(guī)則的程序流程如圖3-51所示。圖3-51添加積分規(guī)則程序流程圖(3)修改積分規(guī)則修改積分規(guī)則的程序流程如圖3-52所示。圖3-52修改積分規(guī)則程序流程圖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)兌換發(fā)貨兌換發(fā)貨的程序流程如圖3-57所示。圖3-57兌換發(fā)貨程序流程圖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)發(fā)放積分發(fā)放積分的程序流程如圖3-64所示。圖3-64發(fā)放積分程序流程圖3.5數(shù)據(jù)庫設計3.5.1數(shù)據(jù)庫邏輯結構設計根據(jù)愛心捐助平臺系統(tǒng)的功能結構設計進行進一步的數(shù)據(jù)庫設計,得出數(shù)據(jù)庫實體關系如圖3-65所示。圖3-65數(shù)據(jù)庫實體關系圖(1)用戶實體用戶(用戶編號、用戶名、密碼、昵稱、個性簽名、電話號碼、頭像、積分、注冊時間、狀態(tài))用戶實體屬性如圖3-66所示。圖3-66用戶實體屬性圖(2)身份認證實體身份認證(身份認證編號,身份證號碼,姓名,出生日期,性別,手持身份證照片,身份認證狀態(tài),用戶編號)身份認證實體屬性如圖3-67所示。圖3-67身份認證實體屬性圖(3)申請捐助實體申請捐助(申請捐助編號,簡要說明,申請事由,申請捐助類型,收貨姓名,收獲電話,收貨地址,證明圖片,蓋章機構,機構電話,期望捐助的天數(shù),申請時間,申請狀態(tài),用戶編號)申請捐助實體屬性如圖3-68所示。圖3-68申請捐助實體屬性圖(4)捐助物品種類實體捐助物品種類(捐助物品種類編號,捐助物品種類名稱,捐助物品種類簡介)捐助物品種類實體屬性如圖3-69所示。圖3-69捐助物品種類實體屬性圖(5)申請捐助物品實體申請捐助物品(捐助物品編號,捐助物品名稱,捐助物品描述,捐助物品數(shù)量,計量單位,捐助物品種類編號,申請捐助編號)申請捐助物品實體屬性如圖3-70所示。圖3-70申請捐助物品實體屬性圖(6)捐助項目實體捐助項目(捐助項目編號,標題,簡述,內容,捐助期限日期,寄送類型,捐助項目狀態(tài),項目開始時間,捐助結束時間,項目結束時間,申請捐助編號)捐助項目實體屬性如圖3-71所示。圖3-71捐助項目信息實體屬性圖(7)捐助項目進度實體捐助項目進度(捐助項目編號,總需捐助數(shù)量,已捐助數(shù)量,已捐助人數(shù),進度百分比)捐助項目進度實體屬性如圖3-72所示。圖3-72捐助項目進度實體屬性圖(8)統(tǒng)一派送實體統(tǒng)一派送(統(tǒng)一派送編號,項目編號,平臺收貨地址編號,派送員編號,派送安排時間)統(tǒng)一派送實體屬性如圖3-73所示。圖3-73統(tǒng)一派送實體屬性圖(9)統(tǒng)一寄送地址實體統(tǒng)一寄送地址(統(tǒng)一寄送地址編號,姓名,電話,地址)統(tǒng)一寄送地址實體屬性如圖3-74所示。圖3-74統(tǒng)一寄送地址實體屬性圖(10)用戶捐助實體用戶捐助信息(用戶捐助編號,捐助項目編號,用戶編號,申請捐助物品編號,捐助數(shù)量,祝福語,捐助時間,快遞單號,積分,捐助狀態(tài))用戶捐助實體屬性如圖3-75所示。圖3-75用戶捐助實體屬性圖(11)派送人員實體派送人員(派送人員編號,姓名,性別,出生日期,電話)派送人員實體屬性如圖3-76所示。圖3-76派送人員實體屬性圖(12)線下捐助點實體線下捐助點(線下捐助點編號,地址,開始日期,結束日期,開設時間段,備注信息,創(chuàng)建時間,狀態(tài),管理員編號)線下捐助點實體屬性如圖3-77所示。圖3-77線下捐助點實體屬性圖(13)線下捐助物品實體線下捐助物品(線下捐助物品編號,捐助點編號,物品類型編號,物品名稱,物品備注,手機號,姓名,狀態(tài),物品去向,積分,捐助時間,處理時間)線下捐助物品實體屬性如圖3-78所示。圖3-78線下捐助物品實體屬性圖(14)積分規(guī)則實體積分規(guī)則(積分規(guī)則編號,規(guī)則名稱,規(guī)則內容,物品類型編號,最小積分,最大積分,創(chuàng)建時間)積分規(guī)則實體屬性如圖3-79所示。圖3-79積分規(guī)則實體屬性圖(15)積分物品實體積分物品(積分物品編號,物品名稱,物品描述,積分,圖片,數(shù)量,狀態(tài),創(chuàng)建時間)積分物品實體屬性如圖3-80所示。圖3-80積分物品實體屬性圖(16)積分兌換實體積分兌換(積分兌換編號,積分物品編號,用戶編號,花費積分,收貨姓名,收貨電話,收貨地址,兌換時間,快遞單號,發(fā)貨時間,狀態(tài))積分兌換實體屬性如圖3-81所示。圖3-81積分兌換實體屬性圖(17)管理員實體管理員(管理員編號,賬號,密碼,姓名,手機號,頭像,狀態(tài),權限)管理員實體屬性如圖3-82所示。圖3-82管理員實體屬性圖(18)公告實體公告(公告編號,標題,內容,發(fā)布時間,修改時間)公告實體屬性如圖3-83所示。圖3-83公告實體屬性圖(19)通知實體通知(通知編號,標題,內容,發(fā)送時間,狀態(tài),用戶編號)通知實體屬性如圖3-84所示。圖3-84通知實體屬性圖3.5.2數(shù)據(jù)庫物理結構設計由數(shù)據(jù)庫邏輯結構設計進行數(shù)據(jù)庫物理結構設計,將創(chuàng)建:用戶表、身份認證表、申請捐助表、物品種類表、申請捐助物品表、捐助項目表、捐助項目進度表、統(tǒng)一派送表、平臺收貨地址表、用戶捐助表、派送人員表、線下捐助點表、線下捐助物品表、積分規(guī)則表、積分物品表、積分兌換表、管理員表、公告實體表、通知實體表。(1)用戶表用戶表(user):用戶表存儲的是用戶賬號的相關信息。用戶表結構如表3-1所示。表3-1用戶表字段名數(shù)據(jù)類型長度約束描述uidint11主鍵用戶編號usernamevarchar20notnull用戶名稱passwordchar32notnull用戶密碼nicknamevarchar20null昵稱mottoVarchar100nullphonechar11notnull頭像photovarchar40null個性簽名pointint11notnull綁定電話號碼regtimedatetime0notnull注冊時間statusint1notnull狀態(tài)(2)身份認證表身份認證表(identity):身份認證表存儲用戶的身份認證信息。身份認證表結構如表3-2所示。表3-2身份認證表字段名數(shù)據(jù)類型長度約束描述iidint11主鍵身份認證編號card_numberchar20notnull身份證號碼namevarchar32notnull姓名birthdate0notnull出生日期sexchar2notnull性別identity_photovarchar40notnull手持身份證照片statusint1notnull身份認證狀態(tài)uidint11notnull用戶id(外鍵)(3)申請捐助表申請捐助表(cds_apply_donation):申請捐助表存儲的是用戶申請捐助的信息。申請捐助表結構如表3-3所示。表3-3申請捐助表字段名數(shù)據(jù)類型長度約束描述adidint11主鍵申請捐助編號briefvarchar200notnull簡要說明reasonvarchar2000notnull申請事由apply_typeint1notnull申請捐助類型namevarchar20notnull收貨姓名phonechar11notnull聯(lián)系電話addressvarchar100notnull收貨地址prove_photovarchar400notnull證明圖片文件名approve_governmentvarchar100notnull蓋章機構government_contactvarchar20notnull機構電話expected_daysint1notnull期望捐助的天數(shù)apply_timedatetime0notnull申請時間Statusint1notnull申請狀態(tài)uidint11外鍵用戶編號(4)捐助物品種類表捐助物品種類表(cds_goods_type):捐助物品種類表存儲的捐助物品的種類信息。捐助物品種類表結構如表3-4所示。表3-4捐助物品種類表字段名數(shù)據(jù)類型長度約束描述gtidint11主鍵物品種類編號type_namevarchar20notnull物品種類名稱type_briefvarchar100notnull物品種類簡介(5)申請捐助物品表申請捐助物品表(cds_apply_goods):申請捐助捐助物品表存儲用戶申請的捐助物品,是申請捐助中的申請捐助物品信息。申請捐助物品表結構如表3-5所示。表3-5申請捐助物品表字段名數(shù)據(jù)類型長度約束描述agidint11主鍵申請捐助物品編號goods_namevarchar20notnull物品名稱goods_remarkvarchar100null物品描述quantityfloat10,2notnull物品數(shù)量unitvarchar10notnull計量單位gtidint11外鍵物品種類編號adidint11外鍵申請捐助編號(6)捐助項目表捐助項目表(cds_donation_item):捐助項目表存儲著捐助項目的信息。捐助項目表結構如表3-6所示。表3-6捐助項目表字段名數(shù)據(jù)類型長度約束描述diidint11主鍵捐助項目編號titlevarchar50notnull標題briefvarchar200notnull簡述contentvarchar10000notnull內容donated_deadlinedate0notnull捐助最大結束日期send_typeint1notnull寄送類型statusint1notnull捐助項目狀態(tài)start_timedatetime0notnull項目開始時間donated_timedatetime0null捐助結束時間end_timedatetime0null項目結束時間adidint11外鍵申請捐助編號(7)捐助項目進度表捐助項目進度表(cds_dontation_progress):捐助項目進度表存儲捐助項目的捐助進度,供用戶和管理員進行查看。捐助項目進度表結構如表3-7所示。表3-7捐助項目進度表字段名數(shù)據(jù)類型長度約束描述diidint11主鍵、外鍵捐助項目編號goods_sumint11notnull總需捐助數(shù)量goods_numberfloat5,2notnull已捐助數(shù)量people_numberint11notnull已捐助人數(shù)progressfloat5,2notnull進度百分比(8)統(tǒng)一派送表統(tǒng)一派送表(cds_unify_send):統(tǒng)一派送表存儲寄送類型為統(tǒng)一派送的捐助項目的寄送信息和派送信息。統(tǒng)一派送表結構如表3-8所示。表3-8統(tǒng)一派送表字段名數(shù)據(jù)類型長度約束描述usidint11主鍵、外鍵統(tǒng)一派送編號diidint11外鍵捐助項目編號uaidint11外鍵統(tǒng)一寄送地址編號didint11外鍵notnull派送人員編號delivery_timedatetime0null派送安排時間(9)統(tǒng)一寄送地址表統(tǒng)一寄送地址表(cds_unify_address):統(tǒng)一寄送地址表存儲平臺統(tǒng)一收貨的地址,用于用戶對項目類型為平臺統(tǒng)一派送的捐助項目進行捐助寄送的地址。統(tǒng)一寄送地址表結構如表3-9所示。表3-9統(tǒng)一寄送地址表字段名數(shù)據(jù)類型長度約束描述uaidint11主鍵統(tǒng)一寄送地址編號namevarchar20notnull姓名phonechar11notnull電話addressvarchar100notnull地址(10)用戶捐助表用戶捐助表(cds_user_donate):用戶捐助表存儲用戶對捐助項目的捐助信息。用戶捐助表結構如表3-10所示。表3-10用戶捐助表字段名數(shù)據(jù)類型長度約束描述udidint11主鍵用戶捐助編號diidint11外鍵notnull捐助項目編號uidint11外鍵notnull用戶編號agidint11外鍵notnull申請捐助物品編號quantityfloat5,2notnull捐助數(shù)量blessingvarchar100null祝福語donation_timedatetime0notnull捐助時間express_numbervarchar30notnull快遞單號pointint11null積分statusint1notnull捐助狀態(tài)(11)派送人員表派送人員表(cds_deliverer):派送人員表存儲派送人員的信息。派送人員表結構如表3-11所示。表3-11派送人員表字段名數(shù)據(jù)類型長度約束描述didint11主鍵派送人員編號namevarchar20notnull名字sexchar2notnull性別birthdate0notnull出生日期phonechar11notnull電話(12)線下捐助點表線下捐助點表(cds_offline_donation):線下捐助點表存儲線下捐助點的信息。線下捐助點表結構如表3-12所示。表3-12線下捐助點表字段名數(shù)據(jù)類型長度約束描述odidint11主鍵線下捐助點編號addressvarchar100notnull地址start_datedate0notnull開始日期end_datedate0notnull結束日期time_quantumvarchar200notnull開設時間段remarkvarchar500null備注create_timedatetime255notnull創(chuàng)建時間statusint1notnull狀態(tài)admin_idint11外鍵notnull管理員編號(13)線下捐助物品表線下捐助物品表(cds_offline_goods):線下捐助物品表存儲線下捐助點的信息。線下捐助物品表結構如表3-13所示。表3-13線下捐助物品表字段名數(shù)據(jù)類型長度約束描述ogidint11主鍵線下捐助物品編號odidint11外鍵notnull線下捐助點編號gtidint11外鍵notnull物品類型編號goods_namevarchar20notnull物品名稱goods_remarkvarchar100notnull物品描述phonechar11notnull手機號namevarchar20notnull姓名statusint1notnull捐助物品狀態(tài)whereboutsint11null物品去向pointint11null積分donate_timedatetime0notnull捐助時間process_timedatetime0null處理時間(14)積分規(guī)則表積分規(guī)則表(cds_point_rule):積分規(guī)則表存儲積分規(guī)則信息,用于管理員對積分發(fā)放的參考。積分規(guī)則表結構如表3-14所示。表3-14積分規(guī)則表字段名數(shù)據(jù)類型長度約束描述pridint11主鍵積分規(guī)則編號rule_namevarchar50notnull規(guī)則名稱rule_contentvarchar100notnull規(guī)則內容gtidint11外鍵notnull物品種類編號min_pointint11notnull最小積分max_pointint11notnull最大積分create_timedatetime0notnull創(chuàng)建時間(15)積分物品表積分物品表(cds_point_goods):積分物品表存儲積分物品信息。積分物品表結構如表3-15所示。表3-15積分物品表字段名數(shù)據(jù)類型長度約束描述pgidint11主鍵積分物品編號goods_namevarchar50notnull物品名稱goods_remarkvarchar100notnull物品描述pointint11notnull積分photovarchar40null圖片quantityint11notnull數(shù)量statusint1notnull狀態(tài)create_timedatetime0notnull創(chuàng)建時間(16)積分兌換表積分兌換表(cds_point_exchange):積分兌換表存儲用戶兌換積分物品的信息。積分兌換表結構如表3-16所示。表3-16積分兌換表字段名數(shù)據(jù)類型長度約束描述peidint11主鍵積分兌換編號pgidint11外鍵notnull積分物品編號uidint11外鍵notnull用戶編號spendint11notnull花費積分namevarchar20notnull收貨姓名phonechar11notnull收貨電話addressvarchar100notnull收貨地址exchange_timedatetime0notnull兌換時間express_numbervarchar30null快遞單號send_timedatetime0null發(fā)貨時間statusint1notnull狀態(tài)(17)管理員表管理員表(cds_admins):管理員表存儲管理員賬號信息。管理員表結構如表3-17所示。表3-17管理員表字段名數(shù)據(jù)類型長度約束描述admin_idint11主鍵管理員編號admin_namevarchar20notnull管理員賬號passwordvarchar32notnull密碼namevarchar20notnull姓名phonechar11notnull電話photovarchar40null頭像statusint1notnull狀態(tài)levelint1notnull權限(18)公告表公告表(cds_announcement):公告表存儲平臺公示的公告信息。公告表結構如表3-18所示。表3-18公告表字段名數(shù)據(jù)類型長度約束描述anidint11主鍵公告編號titlevarchar100notnull標題contentvarchar10000notnull內容create_timedatetime0notnull發(fā)布時間update_timedatetime0null修改時間(19)通知表通知表(cds_announcement):通知表存儲對用戶進行通知的通知信息。通知表結構如表3-19所示。表3-19通知表字段名數(shù)據(jù)類型長度約束描述nidint11主鍵通知編號titlevarchar100notnull標題contentvarchar1000notnull內容send_timedatetime0notnull發(fā)送時間statusint1notnull狀態(tài)uidint11外鍵notnull用戶編號
4系統(tǒng)實現(xiàn)本章節(jié)將介紹對系統(tǒng)實現(xiàn)的界面進行展示,在主要功能下方附帶核心代碼。該平臺的用戶首頁界面圖如圖4-1所示。圖4-1用戶首頁界面圖4.1用戶功能實現(xiàn)4.1.1用戶個人模塊功能實現(xiàn)(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)用戶登錄用戶登錄可登錄平臺系統(tǒng),進行申請、捐助等平臺操作。用戶登錄功能界面如圖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)個人中心個人中心功能中可查看個人的基本信息,可查看個人的個性數(shù)據(jù)。個人中心功能界面如圖4-4所示。圖4-4個人中心功能界面圖(4)修改個人信息修改個人信息功能可修改個人的信息、頭像。修改個人信息功能界面如圖4-5所示。圖4-5修改個人信息功能界面圖(5)申請身份認證用戶可通過申請身份認證功填寫相關身份信息提交進行身份認證申請。申請身份認證功能界面如圖4-6所示。圖4-6申請身份認證程序流程圖4.1.2申請捐助模塊(1)申請捐助用戶可通過申請捐助功能根據(jù)步驟填寫相關捐助申請、捐助物品等信息進行捐助申請。申請捐助功能界面如圖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);
//插入申請數(shù)據(jù)
applyDonationMapper.insertApplyDonation(applyDonationInsertDto);
//獲取插入申請數(shù)據(jù)的自增長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);
}
//插入申請的物品數(shù)據(jù)
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){
//修改項目狀態(tài)
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)物品簽收用戶可查看自己項目的捐助信息,其中包括待簽收信息,根據(jù)不同的項目類型,顯示不同的待簽收信息,分別為個人寄送待簽收和群體派送待簽收。物品簽收功能界面如圖4-17、4-18所示。圖4-17用戶簽收個人寄送物品功能界面圖4-18用戶簽收平臺統(tǒng)一派送功能界面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)線上管理員登錄線上管理員可通過該功能進行登錄系統(tǒng)。線上管理員登錄功能界面如圖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. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 小學生讀書分享課件
- 場景深度記錄與分析聘用合同
- 餐飲業(yè)員工培訓與晉升管理合同
- 生態(tài)園區(qū)彩鋼房建設與環(huán)境保護合同
- 月份教學 課件
- 非金屬礦在塑料改性中的應用與市場分析考核試卷
- 慢性病自我監(jiān)測技巧教育考核試卷
- 食品安全檢測與農村食品安全科普教育推廣考核試卷
- 危險品分類儲存方法考核試卷
- 二維設計基礎面試題及答案
- 2024年上海高中學業(yè)水平合格性考試歷史試卷真題(含答案)
- 2025年人教版七年級數(shù)學下冊期末測試卷
- 洪恩識字配套字庫完整版識字啟蒙200字-生字組詞句子完整版可打印-點讀指讀
- 2016河南省通用安裝工程預算定額-章節(jié)說明
- 浙江省專業(yè)技術人員年度考核表
- 中央在京單位職工住房情況登記表
- 航空煤油 MSDS 安全技術說明書
- serviceinvoicewithhoursandrate服務發(fā)票模板
- 《普通高中課程方案》解讀.ppt
- 工業(yè)內窺鏡使用詳細說明書
評論
0/150
提交評論