基于Java公司事務(wù)投票小程序的設(shè)計(jì)與實(shí)現(xiàn)_第1頁(yè)
基于Java公司事務(wù)投票小程序的設(shè)計(jì)與實(shí)現(xiàn)_第2頁(yè)
基于Java公司事務(wù)投票小程序的設(shè)計(jì)與實(shí)現(xiàn)_第3頁(yè)
基于Java公司事務(wù)投票小程序的設(shè)計(jì)與實(shí)現(xiàn)_第4頁(yè)
基于Java公司事務(wù)投票小程序的設(shè)計(jì)與實(shí)現(xiàn)_第5頁(yè)
已閱讀5頁(yè),還剩47頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

摘要現(xiàn)如今互聯(lián)網(wǎng)已??經(jīng)成為??人們生??活中不可或缺的一??部分,??通過(guò)互??聯(lián)網(wǎng)人??們可以??進(jìn)行互??動(dòng)交流??。在線(xiàn)??投票功??能是網(wǎng)??站應(yīng)用??程序中最??常用的??功能之??一,也??是網(wǎng)站??應(yīng)用程??序開(kāi)發(fā)??常用的??功能模??塊。???在??線(xiàn)投票??系統(tǒng)可??以解決??工作事務(wù)中統(tǒng)計(jì)費(fèi)時(shí)費(fèi)力的難??題,不??受地區(qū)??限制,??不受人??手壓力??的限制??,隨時(shí)??隨地地了解產(chǎn)??品的市??場(chǎng)效應(yīng)??,增強(qiáng)??自己的??競(jìng)爭(zhēng)力??。本系統(tǒng)采用面對(duì)對(duì)象的開(kāi)發(fā)模式進(jìn)行軟件開(kāi)發(fā)和硬體架設(shè),MySQL做后臺(tái)數(shù)據(jù)的主要存儲(chǔ)單元,Java語(yǔ)言進(jìn)行業(yè)務(wù)系統(tǒng)編碼,實(shí)現(xiàn)全部功能。在線(xiàn)??投票系??統(tǒng)設(shè)計(jì)實(shí)現(xiàn)了投票類(lèi)型管理、投票項(xiàng)目管理、投票信息管理、投票結(jié)果管理、留言反饋及交流論壇管理等功能。在線(xiàn)??投票系??統(tǒng)主要??是用來(lái)統(tǒng)??計(jì)網(wǎng)站??用戶(hù)對(duì)??某個(gè)主??題或者熱??門(mén)話(huà)題??的意見(jiàn)??。決策??者也可??通過(guò)這??些統(tǒng)計(jì)數(shù)據(jù)做出相應(yīng)的決策。系統(tǒng)完成后,通過(guò)系統(tǒng)的功能進(jìn)行測(cè)試,試驗(yàn)結(jié)果證實(shí)系統(tǒng)用戶(hù)界面良好、功能齊全、具有應(yīng)用價(jià)值,擁有潛在用戶(hù)群以及廣泛的使用前景。關(guān)鍵詞:Java語(yǔ)言;投票功能;MySQL數(shù)據(jù)庫(kù)

ABSTRACTNowadays,theInternethasbecomeanindispensablepartofpeople'slives,throughwhichpeoplecaninteractandcommunicate.Theonlinevotingfunctionisoneofthemostcommonlyusedfunctionsinwebsiteapplicationsandisalsoacommonfunctionalmoduleusedinwebsiteapplicationdevelopment.Theonlinevotingsystemcansolvetheproblemoftime-consumingandlaboriousstatisticsinworkaffairs,notlimitedbyregion,notlimitedbymanualpressure,andunderstandthemarketeffectofproductsanytimeandanywhere,andenhancetheircompetitiveness.Thesystemadoptstheobject-orienteddevelopmentmodeforsoftwaredevelopmentandhardwareerection,MySQLasthemainstorageunitofbackgrounddata,andJavalanguageforbusinesssystemcodingtoachieveallfunctions.Theonlinevotingsystemdesignrealizesthefunctionsofvotingtypemanagement,votingprojectmanagement,votinginformationmanagement,votingresultmanagement,messagefeedbackandcommunicationforummanagement.Theonlinevotingsystemismainlyusedtocounttheopinionsofwebsiteusersonacertaintopicorhottopic.Decision-makerscanalsousethesestatisticstomakedecisionsaccordingly.Afterthecompletionofthesystem,throughthefunctionofthesystemtest,thetestresultsconfirmthatthesystemhasgooduserinterface,completefunctions,applicationvalue,potentialusergroupsandwideuseprospects.Keywords:Javalanguage;Votingfunction;MySQLdatabase

目錄TOC\o"1-3"\h\u第1章緒論第1章緒論1.1研究目的和意義公司事務(wù)投票??小程序??除了能??夠完成??傳統(tǒng)的??功能之??外,還??具有時(shí)??效高??和范圍??廣的優(yōu)??點(diǎn),所以更?加?符合現(xiàn)??代社會(huì)??的需要??。從國(guó)??際互聯(lián)??網(wǎng)到校??園網(wǎng)甚至到企業(yè)局??域網(wǎng),??各種??網(wǎng)上投??票系統(tǒng)??隨處可??見(jiàn),比如:意??見(jiàn)調(diào)查??,用戶(hù)??信息統(tǒng)??計(jì),經(jīng)??營(yíng)情況??調(diào)查等都??可以作??為投票??的內(nèi)容??。網(wǎng)??上投票??系統(tǒng)憑??借著它的方??便快捷??等特點(diǎn)??,已經(jīng)??成為了互??聯(lián)網(wǎng)資??源中不??可缺少??的一??部分。??并且,??隨著網(wǎng)??絡(luò)技術(shù)??的不斷發(fā)展??,網(wǎng)上??投票系??統(tǒng)的作??用也將會(huì)??越來(lái)越??大。然??而,在??計(jì)算機(jī)??網(wǎng)絡(luò)中??,任何??方便實(shí)??用的技??術(shù)都必??須要建立??在信息??安全這??塊基石之??上。一??項(xiàng)網(wǎng)絡(luò)??技術(shù)的??安全性??,必然也是??決定著??這項(xiàng)技??術(shù)成敗??的關(guān)鍵??性。而??具有動(dòng)??態(tài)驗(yàn)證??的網(wǎng)上??投票系??統(tǒng)既?可以使信息??的保密??性得到??保證,??又可以確??認(rèn)投票??者身份??具有有效??性與唯??一性,??這樣??才能保??證統(tǒng)計(jì)??結(jié)果的??真實(shí)有??效。編??寫(xiě)網(wǎng)上??投票系??統(tǒng),最??重要的??一點(diǎn)就??是如何??從繁瑣??的投票??結(jié)果中??,導(dǎo)??出自己需要的全部??投票項(xiàng)??目的票??數(shù),然??后根據(jù)??投票項(xiàng)??目的各個(gè)?票數(shù)??,進(jìn)行??票數(shù)的百??分比計(jì)??算,最??后再編輯??出??投票結(jié)??果。通??過(guò)做網(wǎng)??上投票??系統(tǒng)的??設(shè)計(jì)既可以??更好的??培養(yǎng)我??的實(shí)踐??能力和??創(chuàng)新能??力,又可以刺激??我提??高自己??的動(dòng)手??能力?,并且提高自??己發(fā)現(xiàn)??問(wèn)題、??分析問(wèn)??題、解??決問(wèn)題??的能力??。設(shè)計(jì)??與檢驗(yàn)??過(guò)程中??應(yīng)充分??分析所??出現(xiàn)的所有??問(wèn)題的??原因,??深刻思??考其改進(jìn)??的方法??。使我們可以靈活的運(yùn)用和掌握專(zhuān)業(yè)知識(shí)。1.2國(guó)內(nèi)外研究現(xiàn)狀現(xiàn)有的多功能??投票系??統(tǒng)大多數(shù)是基??于局域??網(wǎng)的小??型投票??系統(tǒng),??一般是適用于??一個(gè)單??位或者??系統(tǒng)內(nèi)??部的小型投??票系統(tǒng)??,具有??網(wǎng)絡(luò)的??作用范??圍小、??用戶(hù)數(shù)??量少且??分布相??對(duì)集中??、安全??防范措??施相對(duì)??完備、??管理相??對(duì)規(guī)范??等特點(diǎn)。但是??,基于??局域網(wǎng)??的投票??規(guī)模不??大并且??適合的??活動(dòng)范圍比??較有限???;??Mo??ngo??DB的??多功能??投票系??統(tǒng),M??ong??DB是??一款性??能優(yōu)良??的N??oSQ??L數(shù)??據(jù)庫(kù),??它的使??用十分??的方便??,不需??要安裝??,只需??要在網(wǎng)??上下載??解壓,??就可以在命??令中??直接啟??動(dòng),幾??乎是零??配置?;在使用??時(shí),也??可以適應(yīng)??各種需??求,投??票系統(tǒng)??登錄后??,才可??以進(jìn)行??投票,??每個(gè)賬??戶(hù)對(duì)一??個(gè)投票??活動(dòng)只??能進(jìn)行??一次投??票。2??014??年,??郭文峰??在《基??于A??SP.??NET??的在??線(xiàn)投票??系統(tǒng)的??設(shè)計(jì)與??實(shí)現(xiàn)》??中提出??了系統(tǒng)采??用了瀏??覽器/??服務(wù)器??模式,選擇ASP??.NE??T與??SQ??LS??erv??er200??6作??為開(kāi)發(fā)??環(huán)境,通過(guò)??ASP技術(shù)??和S??QL??數(shù)據(jù)庫(kù)??相結(jié)合??的方式??實(shí)現(xiàn)。??202??0年時(shí)??王雪瑩??在《基??于W??eb的安全??電子投??票系統(tǒng)??》提出??了一種??基于??mix??-ne??t方??案的電??子投票??協(xié)議,??與原??Hel??ios??協(xié)議??相比,??使用分??布式密??鑰和混??淆網(wǎng)共??同保護(hù)??選民隱??私。國(guó)??外的??Pol??lDa??ddy??投票??系統(tǒng)其??對(duì)簡(jiǎn)體??中文支??持較好??,Bl??ogp??oll??投票??系統(tǒng)博??客專(zhuān)門(mén)??定制的??在線(xiàn)投??票系統(tǒng)??,使用??時(shí)無(wú)須??注冊(cè);??Neo??myz??投票??系統(tǒng)投??票界面??十分酷??炫,是??一款基??于F??las??h的??在線(xiàn)投??票系統(tǒng)??。2??021??年,H??ann??uN??urm??i在??《M.??Di??ss??&V??.M??erl??in,??(E??d.)??,E??val??uat??ing??vo??tin??gs??yst??ems??wi??th??pro??bab??ili??ty??mod??els??:e??ssa??ys??by??and??in??Ho??nor??of??Wi??lli??am??Geh??rle??in??and??Do??min??iqu??eL??epe??lle??y》提??出了基于??區(qū)塊鏈??技術(shù)實(shí)??現(xiàn)電子??投票系??統(tǒng)的邏輯功能包括??身份驗(yàn)??證、隱??私、數(shù)??據(jù)完整??性、透??明度和??可驗(yàn)證??性等。2??018??年,L??IZh??ong??Shu??ai在《R??ese??arc??ha??nd??dev??elo??pme??nt??of??pro??fes??sio??nal??ti??tle??ev??alu??ati??on??and??em??plo??yme??nt??vot??ing??sy??ste??mb??ase??do??nW??eb》??中提出??了投票系??統(tǒng)通過(guò)??Ja??va??語(yǔ)言與??MyS??QL??數(shù)據(jù)庫(kù)??實(shí)現(xiàn)了??基于B??/S架??構(gòu)的職??稱(chēng)投票??管理,??在實(shí)際??應(yīng)用中??該系統(tǒng)??表現(xiàn)出了??更加方便、??高效、??安全和公正等優(yōu)點(diǎn)。1.3論文組織架構(gòu)本文將分為六個(gè)章節(jié)介紹本??系統(tǒng)的??開(kāi)發(fā)設(shè)??計(jì)過(guò)程??,全面??的向讀??者介紹??從建立本?課題到??理論分??析最后再到??完成實(shí)??現(xiàn)的開(kāi)??發(fā)工具??、創(chuàng)建??的搭建??環(huán)境和制作的??編程代??碼。第一章,緒論。介紹背景、意義、國(guó)內(nèi)外研究現(xiàn)狀和論文框架結(jié)構(gòu)。第二章,相關(guān)理論和技術(shù)。介紹涉及到的相關(guān)理論與技術(shù)。第三章,系統(tǒng)分析。從社會(huì)可行性、經(jīng)濟(jì)可行性、技術(shù)可行性三方面進(jìn)行分析。第四章,系統(tǒng)設(shè)計(jì)。描述對(duì)功能模塊的設(shè)計(jì)和數(shù)據(jù)庫(kù)的設(shè)計(jì)。第五章,系統(tǒng)實(shí)現(xiàn)。系統(tǒng)的核心功能進(jìn)行截圖展示并介紹。第六章,系統(tǒng)測(cè)試。介紹系統(tǒng)的測(cè)試方式和結(jié)果??偨Y(jié),對(duì)系統(tǒng)開(kāi)發(fā)過(guò)程中的感受進(jìn)行敘述。第2章相關(guān)理論和技術(shù)2.1Java簡(jiǎn)介Java是一種可以撰寫(xiě)跨平臺(tái)??應(yīng)用程??序的面??向?qū)ο??的程序??設(shè)計(jì)語(yǔ)??言。J??ava??技術(shù)具??有卓越??的通用??性、高??效性、??平臺(tái)移??植性和??安全性??,廣泛??應(yīng)用于移動(dòng)電話(huà)與互聯(lián)網(wǎng),??PC,??數(shù)據(jù)中??心,游??戲控制??臺(tái),且有全球最大的開(kāi)發(fā)者專(zhuān)業(yè)社群。Java是SJava面??向?qū)ο??程序設(shè)??計(jì)語(yǔ)言??和Java平臺(tái)的總??稱(chēng)。Java由??Jam??es???Gos??lin??g和同?事們共??同研發(fā)??,并在?199??5年正?式推出?,最?初被稱(chēng)之??為Oa??k,是?在19??91年??為消費(fèi)??電子產(chǎn)??品的嵌??入式芯??片而設(shè)?計(jì)的。??199??5年更名為J??ava??,并重??新設(shè)計(jì)并??用于開(kāi)??發(fā)Inter??net???應(yīng)用程??序。通過(guò)Java實(shí)現(xiàn)??的Ho??tJa??va瀏??覽器(??支持J??ava??Ap??plet)顯??示出了Java??的魅力??:跨平臺(tái)與動(dòng)?態(tài)We??b、Interne??t計(jì)算??。從此,Java被??用戶(hù)廣泛接受并推??動(dòng)了Web產(chǎn)業(yè)的??迅速發(fā)展,大部分瀏??覽器均支持J??ava???Ap??ple?t。并且Ja??va技??術(shù)一直在不??斷更新????。Ja??va自?面世之后??發(fā)展極為迅?速,對(duì)??C++?語(yǔ)言有很大的沖擊??。在云計(jì)算和移動(dòng)互聯(lián)??網(wǎng)的產(chǎn)業(yè)環(huán)境?下,Java具備了更加顯著的優(yōu)勢(shì)和更加廣闊的前景。2010年,由Oracle公司收購(gòu)了SumMicroSystems。2.2MySQL特點(diǎn) MySQL目前屬于Oracle?甲骨文公司,?MySQL也可稱(chēng)為關(guān)??系型數(shù)據(jù)庫(kù)、微軟的?SQL??Se???rver。M??ySQL數(shù)據(jù)庫(kù)能夠??支持在多種操??作系統(tǒng)上運(yùn)行,包括??Sol??ari??s、M??acOS、Fre???eBS???D和W??ind??ows?,Li??nux等。其核??心功能??是處??理數(shù)據(jù)?,數(shù)據(jù)庫(kù)??不直接?面向數(shù)??據(jù)存儲(chǔ)??,存儲(chǔ)??交給??表/索??引完??成。??MyS??QL數(shù)??據(jù)庫(kù)是??一種C/S模??型,客??戶(hù)端通??過(guò)賬號(hào)?、密碼??連接??服務(wù)器??,連接??后進(jìn)行??數(shù)據(jù)庫(kù)?操作??。My??SQL??的服務(wù)??端采用??IO復(fù)??用+??可伸?縮的連??接池,??實(shí)現(xiàn)了??網(wǎng)絡(luò)高并發(fā)的經(jīng)典模型。2.3B/S模式客戶(hù)端應(yīng)用程序是我們?cè)??系統(tǒng)中??定義的??模塊,??允許??用戶(hù)直??接與操??作系統(tǒng)??數(shù)據(jù)交??互。例??如,服??務(wù)器管??理人員??主要負(fù)??責(zé)快速??有效地??管理多??資源系??統(tǒng)與S??ERV??ER??MAN??AGE??RS管??理一個(gè)??用戶(hù)信??息系統(tǒng)??數(shù)據(jù)庫(kù)??,而服??務(wù)器級(jí)??的操作??系統(tǒng)管??理器也??有一個(gè)??重要的??特點(diǎn):??當(dāng)多個(gè)??客戶(hù)端??同時(shí)訪(fǎng)??問(wèn)服務(wù)??器上的??一個(gè)資??源時(shí),??我們稱(chēng)??之為死??鎖或饑??餓,我??們的服??務(wù)器管??理器能夠最??大限度??地管理??用戶(hù)訪(fǎng)??問(wèn)的公??共資源??。中間??組織者??在應(yīng)??用程序??和數(shù)據(jù)??庫(kù)之間??交互時(shí)??,可以??連接到??客戶(hù)端??應(yīng)用程序和服務(wù)器管理器。B/S模型是一??個(gè)新的??MIS??系統(tǒng)平??臺(tái),它??是作為??一個(gè)依??靠網(wǎng)絡(luò)??關(guān)系并??與用戶(hù)??層重疊??的管理??平臺(tái)而??形成的??。從理??論上講??,B/??S模型??是一個(gè)??三層系??統(tǒng)管理??平臺(tái),??其中,??我們剛??才描述??的B/??S模型??是一個(gè)??單一的??服務(wù)器??管理層??,分為??一個(gè)或??多個(gè)服??務(wù)器,??或者服??務(wù)器和??應(yīng)用程??序的組??合,建??立一個(gè)??三層系??統(tǒng)管理??平臺(tái),??在用戶(hù)??和服務(wù)??器之間傳遞信息。三層系統(tǒng)管理平臺(tái)的第一??層是用??戶(hù)連接??到網(wǎng)絡(luò)??的界面??的一部??分,我??們每天??運(yùn)行的??應(yīng)用程??序?qū)⒓??成到瀏??覽器中??,在瀏??覽器中??,HT??ML文??件將單??調(diào)的程??序變成??我們每??天看到??的豐富??多彩的??網(wǎng)頁(yè)。??同時(shí),我??們?nèi)粘??生活中??互動(dòng)的??網(wǎng)頁(yè)不??僅是為??了顯示??信息,??也是為??了通過(guò)??網(wǎng)頁(yè)與??許多重??要信息??進(jìn)行互??動(dòng),如??填寫(xiě)在??線(xiàn)表格??、發(fā)送??在線(xiàn)文??本等。第3章系統(tǒng)分析3.1可行性分析3.1.1技術(shù)可行性技術(shù)上的可行性指的是我們?cè)??本次系??統(tǒng)開(kāi)發(fā)??中將使用的技術(shù)、基于的平臺(tái)?、??套用??的框架??和采用??的設(shè)??計(jì)模式??。在前面????已經(jīng)說(shuō)明??,本次??開(kāi)發(fā)是??基于Java公司事務(wù)投票小程序設(shè)計(jì)與開(kāi)??發(fā),所??使用的??語(yǔ)言是??Ja??va,在開(kāi)發(fā)??過(guò)程中??主要基??于S??SM框??架,并??且整個(gè)??開(kāi)發(fā)思??路采用??MVC??設(shè)計(jì)模??式,彈??性管理??代碼。??開(kāi)發(fā)環(huán)境使用的是Ide??a是一款多??語(yǔ)言集??成開(kāi)發(fā)??環(huán)境。??3.1.2經(jīng)濟(jì)可行性經(jīng)濟(jì)可行性是指我們的發(fā)??展過(guò)程??符合我????的發(fā)展??預(yù)算。而本次?開(kāi)發(fā)過(guò)程?的開(kāi)支都有明??確??記載??,符合??發(fā)展過(guò)??程要??求。系統(tǒng)完成后,??開(kāi)發(fā)的公司事務(wù)投票小程序前景??廣闊,??經(jīng)濟(jì)價(jià)??值較高????之,我??認(rèn)為??設(shè)計(jì)開(kāi)??發(fā)這公司事務(wù)投票小程序在經(jīng)濟(jì)上是有可行性的。3.1.3操作可行性當(dāng)系統(tǒng)交付給用戶(hù)時(shí),它很容易使??用,大??多數(shù)功??能都是??通過(guò)投??影的圖??形界面??實(shí)現(xiàn)的??,數(shù)據(jù)??輸入輸出靈??活完整??,沒(méi)有??歧義,??管理員??和用戶(hù)可以更加方便快捷的檢查他們的信息。整??個(gè)系統(tǒng)??簡(jiǎn)??單、高??效,并??對(duì)用戶(hù)??有不同??級(jí)別的??使用權(quán)??限管理??。基于??這些考??慮,我??們可以確定這個(gè)開(kāi)發(fā)是有操作可行性的。3.1.4法律可行性從法律上講,整個(gè)開(kāi)發(fā)工作有以下幾個(gè)特性:1、使用的技術(shù)資料都是合法所得;2、不存在知識(shí)產(chǎn)權(quán)問(wèn)題;3、未抄襲任何網(wǎng)站,不存在侵犯版權(quán)問(wèn)題;4、由自己原始勞動(dòng),不涉及承擔(dān)法律責(zé)任。3.2需求分析對(duì)系統(tǒng)功能進(jìn)行需求分??析可以??提供有關(guān)實(shí)施軟件的??功能要??求的?信息。分析活??動(dòng)可避免錯(cuò)誤?、提??高效??率、降??低成本并可以顯著??提高軟件的質(zhì)量。3.2.1功能需求分析本系統(tǒng)主要研究的??是基于Java的公司事務(wù)的投票小程序,??其角色主要??是分??為用戶(hù)??、管理??員兩個(gè)??角色。??管理員??擁有本??系統(tǒng)的??全部權(quán)??限,對(duì)??用戶(hù)、投票類(lèi)型、投票項(xiàng)目、投票信息、投票結(jié)果等功??能都可以進(jìn)行??增刪改??查。用??戶(hù)??登錄后可以??查看自??己所進(jìn)行的??投票??信息和??投票類(lèi)型與投票內(nèi)容??,該公司事務(wù)投票小程序預(yù)期有如下幾項(xiàng)功能:(1)用戶(hù)登錄后顯示投票的信息,并且可以查看投票類(lèi)型。(2)進(jìn)入投票類(lèi)型中可以查看投票項(xiàng)目、投票信息。(3)實(shí)現(xiàn)智能的顯示公司事務(wù)最新的投票信息。用戶(hù)、管理員用例圖如圖3.1、3.2所示。圖3.1用戶(hù)用例圖

圖3.2管理員用例圖3.2.2非功能需求分析本文設(shè)計(jì)了一個(gè)公司事務(wù)投票小程序,??該系統(tǒng)??為用戶(hù)??存儲(chǔ)大??量投票商品信息和??基本操??作系統(tǒng)??信息,??以確保??系統(tǒng)數(shù)??據(jù)的安??全,用??戶(hù)識(shí)別??模塊和??權(quán)限管??理模塊??在系統(tǒng)??設(shè)計(jì)開(kāi)??發(fā)期間??進(jìn)行了??專(zhuān)門(mén)的配??置,以??便于識(shí)別訪(fǎng)??問(wèn)系統(tǒng)??的用戶(hù)??。在基??于Ja??va的??Web??管理系??統(tǒng)中,??所有用??戶(hù)標(biāo)識(shí)??都經(jīng)過(guò)??系統(tǒng)驗(yàn)??證之后,??將根據(jù)??用戶(hù)的??標(biāo)識(shí)為??其配置??相應(yīng)的??權(quán)限,??并確保??操作系??統(tǒng)用戶(hù)??僅在權(quán)??限范圍??內(nèi)進(jìn)行工作和訪(fǎng)問(wèn)??操作系??統(tǒng)數(shù)據(jù)??。用戶(hù)??權(quán)限控??制機(jī)制??能夠確保系??統(tǒng)數(shù)據(jù)??的安全??,并在??發(fā)生異???;顒?dòng)時(shí)停止用戶(hù)訪(fǎng)問(wèn)。第4章系統(tǒng)設(shè)計(jì)4.1功能模塊設(shè)計(jì)根據(jù)對(duì)系統(tǒng)的功能進(jìn)行分析公司事務(wù)投票小程序的具體功能模塊包括下面的幾個(gè)主要的功能模塊:首頁(yè)、投票項(xiàng)目、投票結(jié)構(gòu)、交流論壇等功能模塊。系統(tǒng)結(jié)構(gòu)框圖功能模塊如圖4.1所示:公司事務(wù)投票小程序公司事務(wù)投票小程序投票統(tǒng)計(jì)可視化管理投票項(xiàng)目管理投票分享管理投票結(jié)果管理投票選擇管理用戶(hù)管理投票管理投票統(tǒng)計(jì)可視化管理投票項(xiàng)目管理投票分享管理投票結(jié)果管理投票選擇管理用戶(hù)管理投票管理圖4.1系統(tǒng)結(jié)構(gòu)框圖4.2數(shù)據(jù)庫(kù)設(shè)計(jì)數(shù)據(jù)庫(kù)的物理設(shè)計(jì)有四個(gè)階段:第一階段選擇數(shù)據(jù)在數(shù)據(jù)庫(kù)中的存儲(chǔ)結(jié)構(gòu);第二階段確定數(shù)據(jù)庫(kù)中的數(shù)據(jù)存取方法;第三階段要對(duì)選擇數(shù)據(jù)在數(shù)據(jù)庫(kù)中存放位置;第四階段確定在數(shù)據(jù)庫(kù)中的位置。4.2.1數(shù)據(jù)庫(kù)概念實(shí)體屬性圖圖4.2用戶(hù)管理實(shí)體屬體圖圖4.3公告資訊實(shí)體屬性圖圖4.4交流論壇實(shí)體屬性圖圖4.5用戶(hù)實(shí)體屬性圖圖4.6投票信息實(shí)體屬性圖4.2.2數(shù)據(jù)庫(kù)概念設(shè)計(jì)ER圖用戶(hù)登錄后可進(jìn)行發(fā)表帖子、查看公告、使用留言板、參與投票等功能。實(shí)體屬性分為帖子、公告、留言板、用戶(hù)、投票。帖子下屬性分為帖子編號(hào)、作者、發(fā)表時(shí)間、瀏覽量。公告下屬性分為公告編號(hào)、公告類(lèi)型、發(fā)布時(shí)間、發(fā)布人。留言板下屬性分為留言編號(hào)、留言人、留言時(shí)間、留言對(duì)象。用戶(hù)下屬性分為昵稱(chēng)、密碼、賬號(hào)、頭像、手機(jī)號(hào)。投票下屬性分為發(fā)起時(shí)間、類(lèi)型、名稱(chēng)、票數(shù)、結(jié)束時(shí)間、參與人數(shù)。數(shù)據(jù)庫(kù)概念設(shè)計(jì)ER圖如圖4.7所示。圖4.7數(shù)據(jù)庫(kù)概念設(shè)計(jì)ER圖4.2.3數(shù)據(jù)表數(shù)據(jù)庫(kù)在物理上是針對(duì)數(shù)據(jù)如何存儲(chǔ)和取用,以及系統(tǒng)數(shù)據(jù)?如何存儲(chǔ)在數(shù)據(jù)庫(kù)中。數(shù)據(jù)表的字段名稱(chēng)的主要任務(wù)是為數(shù)據(jù)?庫(kù)編制?索引,?以訪(fǎng)問(wèn)?操作系統(tǒng)數(shù)據(jù)?。根據(jù)訪(fǎng)問(wèn)類(lèi)?型,存儲(chǔ)結(jié)構(gòu)可以分為索引表和順序表,每個(gè)表包含不同的查詢(xún)結(jié)果。抽象數(shù)據(jù)實(shí)體和每個(gè)數(shù)據(jù)實(shí)?體之間的關(guān)系模板,?即基于?E-R圖,為每個(gè)實(shí)體設(shè)置相應(yīng)的數(shù)據(jù)庫(kù)和相應(yīng)的表。系統(tǒng)的具體表設(shè)計(jì)如下:(1)用戶(hù)表users用戶(hù)表users用于登記用戶(hù)信息。結(jié)構(gòu)如表4.1所示。表4.1用戶(hù)表字段名稱(chēng)類(lèi)型長(zhǎng)度字段說(shuō)明主鍵默認(rèn)值idbigint20主鍵主鍵usernamevarchar100用戶(hù)名passwordvarchar100密碼rolevarchar100角色管理員addtimetimestamp新增時(shí)間CURRENT_TIMESTAMP(2)關(guān)于我們systemintro關(guān)于我們systemintroy。結(jié)構(gòu)如表4.2所示。表4.2關(guān)于我們systemintro表字段名稱(chēng)類(lèi)型長(zhǎng)度字段說(shuō)明主鍵默認(rèn)值idbigint20主鍵主鍵addtimetimestamp創(chuàng)建時(shí)間CURRENT_TIMESTAMPtitlevarchar200標(biāo)題subtitlevarchar200副標(biāo)題contentlongtext4294967295內(nèi)容picture1longtext4294967295圖片1picture2longtext4294967295圖片2picture3longtext4294967295圖片3(3)公告資訊news公告資訊news用來(lái)記錄公告信息。結(jié)構(gòu)如表4.3所示。表4.3公告資訊表字段名稱(chēng)類(lèi)型長(zhǎng)度字段說(shuō)明主鍵默認(rèn)值idbigint20主鍵主鍵addtimetimestamp創(chuàng)建時(shí)間CURRENT_TIMESTAMPtitlevarchar200標(biāo)題introductionlongtext4294967295簡(jiǎn)介picturelongtext4294967295圖片contentlongtext4294967295內(nèi)容(4)交流討論forum交流討論forum用來(lái)記錄員工交流信息。結(jié)構(gòu)如表4.4所示。表4.4交流討論表字段名稱(chēng)類(lèi)型長(zhǎng)度字段說(shuō)明主鍵idbigint20主鍵主鍵addtimetimestamp創(chuàng)建時(shí)間titlevarchar200帖子標(biāo)題contentlongtext4294967295帖子內(nèi)容parentidbigint20父節(jié)點(diǎn)iduseridbigint20用戶(hù)idusernamevarchar200用戶(hù)名avatarurllongtext4294967295頭像isdonevarchar200狀態(tài)(5)配置文件表config配置文件表config用來(lái)記錄配置文件信息。結(jié)構(gòu)如表4.5所示。表4.5配置文件表字段名稱(chēng)類(lèi)型長(zhǎng)度字段說(shuō)明主鍵默認(rèn)值idbigint20主鍵主鍵namevarchar100配置參數(shù)名稱(chēng)valuevarchar100配置參數(shù)值(6)投票信息toupiaoxinxi投票信息toupiaoxinxi用來(lái)記錄投票的信息。結(jié)構(gòu)如表4.6所示。表4.6投票信息表字段名稱(chēng)類(lèi)型長(zhǎng)度字段說(shuō)明主鍵默認(rèn)值idbigint20主鍵主鍵addtimetimestamp創(chuàng)建時(shí)間CURRENT_TIMESTAMPtoupiaomingchengvarchar200投票名稱(chēng)toupiaoleixingvarchar200投票類(lèi)型tupianlongtext4294967295圖片dangqianpiaoshuint11票數(shù)caozuoshijiandate操作時(shí)間crossuseridbigint20跨表用戶(hù)idcrossrefidbigint20跨表主鍵iduseridbigint20用戶(hù)id(7)用戶(hù)yonghu用戶(hù)yonghu用來(lái)記錄系統(tǒng)登錄用戶(hù)信息。結(jié)構(gòu)如表4.7所示。表4.7用戶(hù)表字段名稱(chēng)類(lèi)型長(zhǎng)度字段說(shuō)明主鍵默認(rèn)值idbigint20主鍵主鍵addtimetimestamp創(chuàng)建時(shí)間CURRENT_TIMESTAMPyonghumingvarchar200用戶(hù)名mimavarchar200密碼xingmingvarchar200姓名xingbievarchar200性別touxianglongtext4294967295頭像shenfenzhengvarchar200身份證shoujivarchar200手機(jī)(8)投票項(xiàng)目toupiaoxiangmu投票項(xiàng)目toupiaoxiangmu用來(lái)記錄投票項(xiàng)目和投票項(xiàng)目的信息。如表4.8所示。表4.8投票項(xiàng)目表字段名稱(chēng)類(lèi)型長(zhǎng)度字段說(shuō)明主鍵默認(rèn)值idbigint20主鍵主鍵addtimetimestamp創(chuàng)建時(shí)間CURRENT_TIMESTAMPtoupiaomingchengvarchar200投票名稱(chēng)toupiaoleixingvarchar200投票類(lèi)型tupianlongtext4294967295圖片toupiaoshijianvarchar200投票時(shí)間dangqianpiaoshuint11當(dāng)前票數(shù)toupiaoneironglongtext4294967295投票內(nèi)容fabushijiandatetime發(fā)布時(shí)間reversetimedatetime倒計(jì)結(jié)束時(shí)間(9)token表token表用來(lái)記錄用戶(hù)的信息。結(jié)構(gòu)如表4.9所示。表4.9token表字段名稱(chēng)類(lèi)型長(zhǎng)度字段說(shuō)明主鍵默認(rèn)值idbigint20主鍵主鍵useridbigint用戶(hù)idusernamevarchar100用戶(hù)名tablenamevarchar100表名rolevarchar100角色tokenvarchar200密碼addtimetimestamp新增時(shí)間CURRENT_TIMESTAMPexpiratedtimetimestamp過(guò)期時(shí)間CURRENT_TIMESTAMP(10)投票類(lèi)型toupiaoleixing投票類(lèi)型toupiaoleixing用來(lái)記錄用戶(hù)收藏商品的信息和創(chuàng)建時(shí)間。結(jié)構(gòu)如表4.10所示。表4.10投票類(lèi)型表字段名稱(chēng)類(lèi)型長(zhǎng)度字段說(shuō)明主鍵默認(rèn)值idbigint20主鍵主鍵addtimetimestamp創(chuàng)建時(shí)間CURRENT_TIMESTAMPtoupiaoleixingvarchar200投票類(lèi)型(11)投票結(jié)果toupiaojieguo投票結(jié)果toupiaojieguo用來(lái)記錄投票結(jié)果的信息。結(jié)構(gòu)如表4.11所示。表4.11投票結(jié)果表字段名稱(chēng)類(lèi)型長(zhǎng)度字段說(shuō)明主鍵默認(rèn)值idbigint20主鍵主鍵addtimetimestamp創(chuàng)建時(shí)間CURRENT_TIMESTAMPtoupiaomingchengvarchar200投票名稱(chēng)toupiaoleixingvarchar200投票類(lèi)型tupianlongtext4294967295圖片dangqianpiaoshuint11最終票數(shù)toupiaojieguolongtext4294967295投票結(jié)果fabushijiandatetime發(fā)布時(shí)間(12)留言反饋messages留言反饋messages用來(lái)記錄留言反饋的信息。結(jié)構(gòu)如表4.12所示。表4.12留言反饋表字段名稱(chēng)類(lèi)型長(zhǎng)度字段說(shuō)明主鍵默認(rèn)值idbigint20主鍵主鍵addtimetimestamp創(chuàng)建時(shí)間CURRENT_TIMESTAMPuseridbigint20留言人idusernamevarchar200用戶(hù)名avatarurllongtext4294967295頭像contentlongtext4294967295留言?xún)?nèi)容cpicturelongtext4294967295留言圖片replylongtext4294967295回復(fù)內(nèi)容rpicturelongtext4294967295回復(fù)圖片第5章系統(tǒng)實(shí)現(xiàn)5.1用戶(hù)登錄注冊(cè)當(dāng)用戶(hù)首次進(jìn)入系統(tǒng)時(shí),用戶(hù)點(diǎn)擊個(gè)人中心,自動(dòng)跳轉(zhuǎn)到用戶(hù)登錄與注冊(cè)界面,用戶(hù)注冊(cè)需輸入用戶(hù)信息,用戶(hù)注冊(cè)界面如圖5.1所示;用戶(hù)進(jìn)行登錄操作時(shí),需輸入賬號(hào)和密碼,后單擊“登錄”按鈕。若未輸入用戶(hù)名或密碼,系統(tǒng)會(huì)提示用戶(hù)輸入用戶(hù)名和密碼。用戶(hù)登錄界面如圖5.2所示;圖5.1用戶(hù)注冊(cè)界面圖圖5.2用戶(hù)登錄界面圖實(shí)現(xiàn)該功能的關(guān)鍵代碼如下:/** *登錄 */ @IgnoreAuth @RequestMapping(value="/login") publicRlogin(Stringusername,Stringpassword,Stringcaptcha,HttpServletRequestrequest){ YonghuEntityu=yonghuService.selectOne(newEntityWrapper<YonghuEntity>().eq("yonghuming",username)); if(u==null||!u.getMima().equals(password)){ returnR.error("賬號(hào)或密碼不正確"); } Stringtoken=tokenService.generateToken(u.getId(),username,"yonghu","用戶(hù)"); returnR.ok().put("token",token); } /***注冊(cè)*/ @IgnoreAuth@RequestMapping("/register")publicRregister(@RequestBodyYonghuEntityyonghu){ //ValidatorUtils.validateEntity(yonghu); YonghuEntityu=yonghuService.selectOne(newEntityWrapper<YonghuEntity>().eq("yonghuming",yonghu.getYonghuming())); if(u!=null){ returnR.error("注冊(cè)用戶(hù)已存在"); } LonguId=newDate().getTime(); yonghu.setId(uId);yonghuService.insert(yonghu);returnR.ok();} /** *退出 */ @RequestMapping("/logout") publicRlogout(HttpServletRequestrequest){ request.getSession().invalidate(); returnR.ok("退出成功"); }5.2用戶(hù)個(gè)人中心用戶(hù)成功進(jìn)入系統(tǒng)后,再次點(diǎn)擊“個(gè)人中心”,進(jìn)入個(gè)人中心界面,可更改個(gè)人信息,更改后選擇更新信息,即可完成個(gè)人信息的更改。個(gè)人信息界面如圖5.3所示:圖5.3用戶(hù)個(gè)人中心管理界面圖實(shí)現(xiàn)該功能的關(guān)鍵代碼如下:*獲取用戶(hù)的session用戶(hù)信息*/@RequestMapping("/session")publicRgetCurrUser(HttpServletRequestrequest){ Longid=(Long)request.getSession().getAttribute("userId");YonghuEntityu=yonghuService.selectById(id);returnR.ok().put("data",u);}/***密碼重置*/@IgnoreAuth @RequestMapping(value="/resetPass")publicRresetPass(Stringusername,HttpServletRequestrequest){ YonghuEntityu=yonghuService.selectOne(newEntityWrapper<YonghuEntity>().eq("yonghuming",username)); if(u==null){ returnR.error("賬號(hào)不存在"); }u.setMima("123456");yonghuService.updateById(u);returnR.ok("密碼已重置為:123456");}5.3用戶(hù)管理以管理員身份登錄到后臺(tái)系統(tǒng),選擇用戶(hù)管理下的“用戶(hù)”,進(jìn)入用戶(hù)列表界面,輸入用戶(hù)賬號(hào),查詢(xún)?cè)撚脩?hù),可對(duì)用戶(hù)進(jìn)行修改、刪除、查看詳情等操作。用戶(hù)管理界面如圖5.4所示:圖5.4用戶(hù)管理界面圖實(shí)現(xiàn)該功能的關(guān)鍵代碼如下:/***保存*/@PostMapping("/save")publicRsave(@RequestBodyUsersEntityuser){// ValidatorUtils.validateEntity(user); if(userService.selectOne(newEntityWrapper<UsersEntity>().eq("username",user.getUsername()))!=null){ returnR.error("用戶(hù)已存在"); }userService.insert(user);returnR.ok();}/***修改*/@RequestMapping("/update")publicRupdate(@RequestBodyUsersEntityuser){//ValidatorUtils.validateEntity(user); UsersEntityu=userService.selectOne(newEntityWrapper<UsersEntity>().eq("username",user.getUsername())); if(u!=null&&u.getId()!=user.getId()&&u.getUsername().equals(user.getUsername())){ returnR.error("用戶(hù)名已存在。"); }userService.updateById(user);//全部更新returnR.ok();}/***刪除*/@RequestMapping("/delete")publicRdelete(@RequestBodyLong[]ids){userService.deleteBatchIds(Arrays.asList(ids));returnR.ok();}5.4投票類(lèi)型以管理員身份登錄到后臺(tái)系統(tǒng)中,選擇投票類(lèi)型管理下的“投票類(lèi)型”按鈕,進(jìn)入投票類(lèi)型列表界面,輸入投票類(lèi)型,查詢(xún)找到投票類(lèi)型,可對(duì)投票類(lèi)型進(jìn)行添加、修改、刪除、批量刪除等操作。投票類(lèi)型管理界面如圖5.5所示。以用戶(hù)身份進(jìn)入前臺(tái)系統(tǒng)進(jìn)入投票項(xiàng)目界面,可查看投票類(lèi)型,如圖5.6所示。圖5.5投票類(lèi)型管理界面圖圖5.6用戶(hù)投票類(lèi)型界面圖實(shí)現(xiàn)該功能的關(guān)鍵代碼如下:/***后端列表*/@RequestMapping("/page")publicRpage(@RequestParamMap<String,Object>params,ToupiaoleixingEntitytoupiaoleixing, HttpServletRequestrequest){EntityWrapper<ToupiaoleixingEntity>ew=newEntityWrapper<ToupiaoleixingEntity>(); PageUtilspage=toupiaoleixingService.queryPage(params,MPUtil.sort(MPUtil.between(MPUtil.likeOrEq(ew,toupiaoleixing),params),params));returnR.ok().put("data",page);}/***前端列表*/ @IgnoreAuth@RequestMapping("/list")publicRlist(@RequestParamMap<String,Object>params,ToupiaoleixingEntitytoupiaoleixing, HttpServletRequestrequest){EntityWrapper<ToupiaoleixingEntity>ew=newEntityWrapper<ToupiaoleixingEntity>(); PageUtilspage=toupiaoleixingService.queryPage(params,MPUtil.sort(MPUtil.between(MPUtil.likeOrEq(ew,toupiaoleixing),params),params));returnR.ok().put("data",page);} /***列表*/@RequestMapping("/lists")publicRlist(ToupiaoleixingEntitytoupiaoleixing){ EntityWrapper<ToupiaoleixingEntity>ew=newEntityWrapper<ToupiaoleixingEntity>(); ew.allEq(MPUtil.allEQMapPre(toupiaoleixing,"toupiaoleixing"));returnR.ok().put("data",toupiaoleixingService.selectListView(ew));}5.5投票項(xiàng)目以管理員身份登錄到后臺(tái)系統(tǒng)中,選擇投票項(xiàng)目管理下的“投票項(xiàng)目”按鈕,進(jìn)入投票項(xiàng)目列表界面,輸入投票名稱(chēng),查詢(xún)投票項(xiàng)目,可對(duì)投票項(xiàng)目進(jìn)行添加、修改、刪除等操作。投票項(xiàng)目管理界面如圖5.7所示。以用戶(hù)身份進(jìn)入前臺(tái)系統(tǒng)的投票項(xiàng)目界面,可查看投票類(lèi)型,如圖5.8所示。圖5.7投票項(xiàng)目管理界面圖圖5.8用戶(hù)投票項(xiàng)目界面圖實(shí)現(xiàn)該功能的關(guān)鍵代碼如下:/***(按值統(tǒng)計(jì))*/@RequestMapping("/value/{xColumnName}/{yColumnName}")publicRvalue(@PathVariable("yColumnName")StringyColumnName,@PathVariable("xColumnName")StringxColumnName,HttpServletRequestrequest){Map<String,Object>params=newHashMap<String,Object>();params.put("xColumn",xColumnName);params.put("yColumn",yColumnName);EntityWrapper<ToupiaoxiangmuEntity>ew=newEntityWrapper<ToupiaoxiangmuEntity>();List<Map<String,Object>>result=toupiaoxiangmuService.selectValue(params,ew);SimpleDateFormatsdf=newSimpleDateFormat("yyyy-MM-dd");for(Map<String,Object>m:result){for(Stringk:m.keySet()){if(m.get(k)instanceofDate){m.put(k,sdf.format((Date)m.get(k)));}}}returnR.ok().put("data",result);}/***(按值統(tǒng)計(jì))時(shí)間統(tǒng)計(jì)類(lèi)型*/@RequestMapping("/value/{xColumnName}/{yColumnName}/{timeStatType}")publicRvalueDay(@PathVariable("yColumnName")StringyColumnName,@PathVariable("xColumnName")StringxColumnName,@PathVariable("timeStatType")StringtimeStatType,HttpServletRequestrequest){Map<String,Object>params=newHashMap<String,Object>();params.put("xColumn",xColumnName);params.put("yColumn",yColumnName);params.put("timeStatType",timeStatType);EntityWrapper<ToupiaoxiangmuEntity>ew=newEntityWrapper<ToupiaoxiangmuEntity>();List<Map<String,Object>>result=toupiaoxiangmuService.selectTimeStatValue(params,ew);SimpleDateFormatsdf=newSimpleDateFormat("yyyy-MM-dd");for(Map<String,Object>m:result){for(Stringk:m.keySet()){if(m.get(k)instanceofDate){m.put(k,sdf.format((Date)m.get(k)));}}}returnR.ok().put("data",result);}/***分組統(tǒng)計(jì)*/@RequestMapping("/group/{columnName}")publicRgroup(@PathVariable("columnName")StringcolumnName,HttpServletRequestrequest){Map<String,Object>params=newHashMap<String,Object>();params.put("column",columnName);EntityWrapper<ToupiaoxiangmuEntity>ew=newEntityWrapper<ToupiaoxiangmuEntity>();List<Map<String,Object>>result=toupiaoxiangmuService.selectGroup(params,ew);m.put(k,sdf.format((Date)m.get(k)));returnR.ok().put("data",result);}/***總數(shù)量*/@RequestMapping("/count")publicRcount(@RequestParamMap<String,Object>params,ToupiaoxiangmuEntitytoupiaoxiangmu,HttpServletRequestrequest){EntityWrapper<ToupiaoxiangmuEntity>ew=newEntityWrapper<ToupiaoxiangmuEntity>();intcount=toupiaoxiangmuService.selectCount(MPUtil.sort(MPUtil.between(MPUtil.likeOrEq(ew,toupiaoxiangmu),params),params));returnR.ok().put("data",count);}5.6投票信息管理以管理員身份登錄到后臺(tái)系統(tǒng)中,選擇投票信息管理下的“投票信息”,進(jìn)入投票信息界面,輸入投票名稱(chēng),查詢(xún)投票信息,可對(duì)投票信息進(jìn)行修改、刪除等操作。投票信息管理界面如圖5.9所示。以用戶(hù)身份進(jìn)入前臺(tái)系統(tǒng)的投票項(xiàng)目界面,可查看投票信息并選擇投票,如圖5.10與5.11所示。圖5.9投票信息管理界面圖圖5.10用戶(hù)投票信息界面圖圖5.11用戶(hù)投票信息界面圖實(shí)現(xiàn)該功能的關(guān)鍵代碼如下:@RequestMapping("/page")publicRpage(@RequestParamMap<String,Object>params,ToupiaoxinxiEntitytoupiaoxinxi, HttpServletRequestrequest){ if(!request.getSession().getAttribute("role").toString().equals("管理員")){ toupiaoxinxi.setUserid((Long)request.getSession().getAttribute("userId")); }EntityWrapper<ToupiaoxinxiEntity>ew=newEntityWrapper<ToupiaoxinxiEntity>(); PageUtilspage=toupiaoxinxiService.queryPage(params,MPUtil.sort(MPUtil.between(MPUtil.likeOrEq(ew,toupiaoxinxi),params),params));returnR.ok().put("data",page);}/***前端列表*/@RequestMapping("/list")publicRlist(@RequestParamMap<String,Object>params,ToupiaoxinxiEntitytoupiaoxinxi, HttpServletRequestrequest){ if(!request.getSession().getAttribute("role").toString().equals("管理員")){ toupiaoxinxi.setUserid((Long)request.getSession().getAttribute("userId")); }EntityWrapper<ToupiaoxinxiEntity>ew=newEntityWrapper<ToupiaoxinxiEntity>(); PageUtilspage=toupiaoxinxiService.queryPage(params,MPUtil.sort(MPUtil.between(MPUtil.likeOrEq(ew,toupiaoxinxi),params),params));returnR.ok().put("data",page);} /***列表*/@RequestMapping("/lists")publicRlist(ToupiaoxinxiEntitytoupiaoxinxi){ EntityWrapper<ToupiaoxinxiEntity>ew=newEntityWrapper<ToupiaoxinxiEntity>(); ew.allEq(MPUtil.allEQMapPre(toupiaoxinxi,"toupiaoxinxi"));returnR.ok().put("data",toupiaoxinxiService.selectListView(ew));}5.7投票結(jié)果管理以管理員身份登錄到后臺(tái)系統(tǒng)中,選擇投票結(jié)果管理下“投票結(jié)果”按鈕,進(jìn)入投票結(jié)果界面,輸入投票名稱(chēng),查詢(xún)投票結(jié)果,可對(duì)投票結(jié)果進(jìn)行修改、刪除等操作。投票結(jié)果界面如圖5.12所示。以用戶(hù)身份進(jìn)入前臺(tái)系統(tǒng)的投票結(jié)果界面,可查看投票信息并選擇投票,如圖5.13所示圖5.12投票結(jié)果管理界面圖圖5.13用戶(hù)投票結(jié)果界面圖實(shí)現(xiàn)該功能的關(guān)鍵代碼如下: /***列表*/@RequestMapping("/lists")publicRlist(ToupiaojieguoEntitytoupiaojieguo){ EntityWrapper<ToupiaojieguoEntity>ew=newEntityWrapper<ToupiaojieguoEntity>(); ew.allEq(MPUtil.allEQMapPre(toupiaojieguo,"toupiaojieguo"));returnR.ok().put("data",toupiaojieguoService.selectListView(ew));} /***查詢(xún)*/@RequestMapping("/query")publicRquery(ToupiaojieguoEntitytoupiaojieguo){EntityWrapper<ToupiaojieguoEntity>ew=newEntityWrapper<ToupiaojieguoEntity>(); ew.allEq(MPUtil.allEQMapPre(toupiaojieguo,"toupiaojieguo")); ToupiaojieguoViewtoupiaojieguoView=toupiaojieguoService.selectView(ew); returnR.ok("查詢(xún)投票結(jié)果成功").put("data",toupiaojieguoView);}/***后端保存*/@RequestMapping("/save")publicRsave(@RequestBodyToupiaojieguoEntitytoupiaojieguo,HttpServletRequestrequest){ toupiaojieguo.setId(newDate().getTime()+newDouble(Math.floor(Math.random()*1000)).longValue()); //ValidatorUtils.validateEntity(toupiaojieguo);toupiaojieguoService.insert(toupiaojieguo);returnR.ok();}/***前端保存*/@RequestMapping("/add")publicRadd(@RequestBodyToupiaojieguoEntitytoupiaojieguo,HttpServletRequestrequest){ toupiaojieguo.setId(newDate().getTime()+newDouble(Math.floor(Math.random()*1000)).longValue()); //ValidatorUtils.validateEntity(toupiaojieguo);toupiaojieguoService.insert(toupiaojieguo);returnR.ok();}/***修改*/@RequestMapping("/update")@TransactionalpublicRupdate(@RequestBodyToupiaojieguoEntitytoupiaojieguo,HttpServletRequestrequest){//ValidatorUtils.validateEntity(toupiaojieguo);toupiaojieguoService.updateById(toupiaojieguo);//全部更新returnR.ok();}/***刪除*/@RequestMapping("/delete")publicRdelete(@RequestBodyLong[]ids){toupiaojieguoService.deleteBatchIds(Arrays.asList(ids));returnR.ok();}5.8留言反饋以管理員身份登錄到后臺(tái)系統(tǒng)中,選擇留言反饋下的“留言反饋”按鈕,并進(jìn)入留言反饋列表界面,查詢(xún)留言反饋,可對(duì)留言反饋進(jìn)行回復(fù)、刪除等操作。留言反饋管理界面如圖5.14所示。以用戶(hù)身份進(jìn)入前臺(tái)系統(tǒng)的投票結(jié)果界面,可進(jìn)行留言反饋,如圖5.15所示。圖5.14留言反饋管理界面圖圖5.15用戶(hù)留言反饋界面圖實(shí)現(xiàn)該功能的關(guān)鍵代碼如下:/** *分組統(tǒng)計(jì) */ @IgnoreAuth @RequestMapping("/group/{tableName}/{columnName}") publicRgroup(@PathVariable("tableName")StringtableName,@PathVariable("columnName")StringcolumnName){ Map<String,Object>params=newHashMap<String,Object>(); params.put("table",tableName); params.put("column",columnName); List<Map<String,Object>>result=commonService.selectGroup(params); SimpleDateFormatsdf=newSimpleDateFormat("yyyy-MM-dd"); for(Map<String,Object>m:result){ for(Stringk:m.keySet()){ if(m.get(k)instanceofDate){ m.put(k,sdf.format((Date)m.get(k))); } } } returnR.ok().put("data",result); } /** *(按值統(tǒng)計(jì)) */ @IgnoreAuth @RequestMapping("/value/{tableName}/{xColumnName}/{yColumnName}") publicRvalue(@PathVariable("tableName")StringtableName,@PathVariable("yColumnName")StringyColumnName,@PathVariable("xColumnName")StringxColumnName){ Map<String,Object>params=newHashMap<String,Object>(); params.put("table",tableName); params.put("xColumn",xColumnName); params.put("yColumn",yColumnName); List<Map<String,Object>>result=commonService.selectValue(params); SimpleDateFormatsdf=newSimpleDateFormat("yyyy-MM-dd"); for(Map<String,Object>m:result){ for(Stringk:m.keySet()){ if(m.get(k)instanceofDate){ m.put(k,sdf.format((Date)m.get(k))); } } } returnR.ok().put("data",result); } /** *(按值統(tǒng)計(jì))時(shí)間統(tǒng)計(jì)類(lèi)型 */ @IgnoreAuth @RequestMapping("/value/{tableName}/{xColumnName}/{yColumnName}/{timeStatType}") publicRvalueDay(@PathVariable("tableName")StringtableName,@PathVariable("yColumnName")StringyColumnName,@PathVariable("xColumnName")StringxColumnName,@PathVariable("timeStatType")StringtimeStatType){ Map<String,Object>params=newHashMap<String,Object>(); params.put("table",tableName); params.put("xColumn",xColumnName); params.put("yColumn",yColumnName); params.put("timeStatType",timeStatType); List<Map<String,Object>>result=commonService.selectTimeStatValue(params); for(Map<String,Object>m:result){ for(Stringk:m.keySet()){ if(m.get(k)instanceofDate){ m.put(k,sdf.format((Date)m.get(k))); } } } returnR.ok().put("data",result); }5.9交流論壇以管理員身份登錄到后臺(tái)系統(tǒng)中,選擇“交流論壇”按鈕,進(jìn)入交流論壇界面,輸入標(biāo)題,查詢(xún)交流論壇,可以對(duì)論壇進(jìn)行查看評(píng)論、刪除等操作。交流論壇管理界面如圖5.16所示。以用戶(hù)身份進(jìn)入前臺(tái)系統(tǒng)的交流論壇界面,可與同事進(jìn)行交流,如圖5.17所示。圖5.16交流論壇管理界面圖圖5.17用戶(hù)交流論壇界面圖實(shí)現(xiàn)該功能的關(guān)鍵代碼如下:info(id){this.$http({url:`forum/info/${id}`,method:"get"}).then(({data})=>{if(data&&data.code===0){this.ruleForm=data.data;//解決前臺(tái)上傳圖片后臺(tái)不顯示的問(wèn)題letreg=newRegExp('../../../upload','g')//g代表全部=this.ruleForm.content.replace(reg,'../../../springboot773yp/upload');}else{this.$message.error(data.msg);}});},onSubmit(){ if(this.ruleForm.avatarurl!=null){ this.ruleForm.avatarurl=this.ruleForm.avatarurl.replace(newRegExp(this.$base.url,"g"),""); }5.10公告資訊以管理員身份登錄到后臺(tái)中,選擇系統(tǒng)管理下“公告資訊”,進(jìn)入公告資訊界面,輸入標(biāo)題,選擇查詢(xún)后找到公告資訊,可以對(duì)公告資訊進(jìn)行修改、刪除等操作。

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論