![畢業(yè)設(shè)計(jì)(論文)-Springboot黨員信息管理系統(tǒng)設(shè)計(jì)_第1頁](http://file4.renrendoc.com/view14/M00/1D/18/wKhkGWeO8gCAEufRAAQXOJZE0Uo617.jpg)
![畢業(yè)設(shè)計(jì)(論文)-Springboot黨員信息管理系統(tǒng)設(shè)計(jì)_第2頁](http://file4.renrendoc.com/view14/M00/1D/18/wKhkGWeO8gCAEufRAAQXOJZE0Uo6172.jpg)
![畢業(yè)設(shè)計(jì)(論文)-Springboot黨員信息管理系統(tǒng)設(shè)計(jì)_第3頁](http://file4.renrendoc.com/view14/M00/1D/18/wKhkGWeO8gCAEufRAAQXOJZE0Uo6173.jpg)
![畢業(yè)設(shè)計(jì)(論文)-Springboot黨員信息管理系統(tǒng)設(shè)計(jì)_第4頁](http://file4.renrendoc.com/view14/M00/1D/18/wKhkGWeO8gCAEufRAAQXOJZE0Uo6174.jpg)
![畢業(yè)設(shè)計(jì)(論文)-Springboot黨員信息管理系統(tǒng)設(shè)計(jì)_第5頁](http://file4.renrendoc.com/view14/M00/1D/18/wKhkGWeO8gCAEufRAAQXOJZE0Uo6175.jpg)
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
Java黨建信息管理平臺(tái)緒論研究背景意義隨著信息技術(shù)的蓬勃發(fā)展,現(xiàn)代社會(huì)進(jìn)入了以計(jì)算機(jī)為中心的信息時(shí)代,以計(jì)算機(jī)技術(shù)為核心的新技術(shù)革命正在以一種前所未有的持久方式改變著世界的面貌,全面推動(dòng)了社會(huì)的發(fā)展,改變了社會(huì)經(jīng)濟(jì)結(jié)構(gòu)。人們對(duì)工作的觀念也發(fā)生了變化,生活節(jié)奏越來越快,生活方式出現(xiàn)了多樣化。社會(huì)環(huán)境發(fā)生的這種深刻的變化導(dǎo)致工作改革跟不上,大量的流動(dòng)人員使隊(duì)伍管理產(chǎn)生許多新的情況新的問題無法及時(shí)解決,使得傳統(tǒng)手工信息管理模式面臨著嚴(yán)峻的挑戰(zhàn),所以開發(fā)新的管理系統(tǒng)減輕信息管理人員工作壓力是社會(huì)發(fā)展的必然形勢(shì)。與此同時(shí),的人數(shù)越來越多,黨員也越來越多,傳統(tǒng)的黨建黨建黨員信息管理系統(tǒng)出現(xiàn)了很多新問題,急需開發(fā)新的黨建信息員管理系統(tǒng)。黨建黨員信息管理是對(duì)黨內(nèi)各項(xiàng)業(yè)務(wù)和事務(wù)的一項(xiàng)工作,是貫徹黨的基本路線的重要保證所以計(jì)算機(jī)為中心的信息時(shí)代的到來,黨的建設(shè)工作也要與時(shí)俱進(jìn),實(shí)現(xiàn)現(xiàn)代化,而采用計(jì)算機(jī)信息科學(xué)技術(shù)實(shí)現(xiàn)黨務(wù)工作信息化,正是實(shí)現(xiàn)黨的建設(shè)現(xiàn)代化的有益嘗試和積極探索。通過分析黨建黨建黨員信息管理業(yè)務(wù),結(jié)合黨建黨員信息管理自身特點(diǎn),有效的把黨務(wù)內(nèi)部活動(dòng)有機(jī)組織起來,搭建一個(gè)行之有效的黨建黨員信息管理系統(tǒng)應(yīng)用于基層黨組織。黨建黨員信息管理系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)是結(jié)合基層黨組織和黨員隊(duì)伍管理的實(shí)際情況,詳細(xì)而深入黨務(wù)系統(tǒng)的需求進(jìn)行分析,借鑒各地推進(jìn)黨務(wù)信息化的做法和經(jīng)驗(yàn),對(duì)系統(tǒng)的建設(shè)進(jìn)行初步的設(shè)計(jì)和探討。系統(tǒng)涵蓋了基層黨組織和黨員等日常管理的主要工作,為基層黨組織和黨員提供直觀形象便捷的信息服務(wù),滿足管理部門目常需要,對(duì)黨務(wù)以及與黨務(wù)相關(guān)的各項(xiàng)服務(wù)和信息進(jìn)行管理。1.2國(guó)內(nèi)外有關(guān)本選題的研究現(xiàn)狀信息管理系統(tǒng)(InformationManagementSystem)是由人、計(jì)算機(jī)以及其他外韋設(shè)備組成的能夠進(jìn)行信息收集、傳遞、存儲(chǔ)、加工、維護(hù)和使用的系統(tǒng)。它是上世紀(jì)60年代開始在美國(guó)興起的新科學(xué),是利用了計(jì)算機(jī)和網(wǎng)絡(luò)通訊技術(shù),通過加強(qiáng)對(duì)信息的管理,以及擁有的資源做調(diào)查,并建立準(zhǔn)確的數(shù)據(jù)。然后經(jīng)過加工處理提供給管理者,使其能夠做出正確的決策,達(dá)到提高管理水平和工作效率的效果。黨建黨員信息管理是各個(gè)部門,公司,學(xué)校等黨建工作中重要的日常性工作,把黨務(wù)工作納入信息化管理的軌道,是網(wǎng)絡(luò)時(shí)代推動(dòng)黨建工作的新要求,也是執(zhí)政黨建設(shè)面臨的新課題。為了加強(qiáng)黨建黨員信息管理,及時(shí)準(zhǔn)確了解黨建黨員情況,提升黨員管理信息化的水平,筆者結(jié)合自身工作實(shí)際,經(jīng)過詳細(xì)需求分析和論證,提出開發(fā)人才交流中心黨員管理系統(tǒng)、以電子信息化手段替代傳統(tǒng)處理手段,建立一種集黨員信息查詢、發(fā)展審批、統(tǒng)計(jì)、分類、匯總干一體,貫穿黨員培養(yǎng)發(fā)展全過程,結(jié)合黨員考核、黨費(fèi)收繳、組織關(guān)系轉(zhuǎn)入轉(zhuǎn)出等相關(guān)功能使黨建黨建黨員信息管理更為規(guī)范化、制度化。1.3研究的內(nèi)容黨建黨員信息管理系統(tǒng)是黨委組織工作不可缺少的一部分,一個(gè)功能齊全、簡(jiǎn)單易用的黨建黨員信息管理系統(tǒng)能有效地減輕黨員管理工作人員的工作負(fù)擔(dān),提高工作效率。隨著經(jīng)濟(jì)的發(fā)展,人員交流來往的頻繁,黨員管理更加需要一套信息系統(tǒng)以提高信息管理的快捷及準(zhǔn)確性。本設(shè)計(jì)主要是基于B/S模式下黨建黨員信息管理系統(tǒng)的設(shè)計(jì)來進(jìn)行分析,建立一套適應(yīng)黨建黨員信息管理工作需要的及充分利用計(jì)算機(jī)技術(shù)、網(wǎng)絡(luò)技術(shù)、數(shù)據(jù)庫技術(shù)的黨建黨員信息管理信息系統(tǒng)。為此,建立一個(gè)黨建黨員管理的信息庫,把所有黨建新聞、黨員的信息,包括流動(dòng)黨員的信息全部保存在信息庫存中,以便于管理、查詢、統(tǒng)計(jì)等。主要是為了對(duì)所有黨建黨員信息實(shí)行計(jì)算機(jī)化自動(dòng)化管理,以提高工作效率,方便管理。二、相關(guān)技術(shù)介紹2.1spring
Spring框架是Java技術(shù)平臺(tái)上的一種常見開源應(yīng)用框架,提具有控制反轉(zhuǎn)IOC的容器。盡管長(zhǎng)時(shí)間以來Spring框架自身對(duì)編程沒有限制,但是其在Java應(yīng)用中的頻繁使用讓它很受青睞,所有后來讓它作為EJB(EnterpriseJavaBeans)模型信息補(bǔ)充,javaSpring框架為開發(fā)提供了一系列技術(shù)解決方案,比如:利用控制反轉(zhuǎn)IOC的特性,通過實(shí)現(xiàn)依賴注入來實(shí)現(xiàn)管理整個(gè)對(duì)象生命周期容器化,利用java面向切面編程技術(shù)進(jìn)行聲明式事務(wù)管理,整合各種持久化技術(shù)管理數(shù)據(jù)的訪問,提供了很多優(yōu)秀的Web框架方便開發(fā)、JAVASpring框架具有控制反轉(zhuǎn)IOC特性,IOC主要在方便項(xiàng)目維護(hù)和測(cè)試時(shí)期,它提供了一種通過Java反射機(jī)制對(duì)Java對(duì)象進(jìn)行統(tǒng)一配置與各種管理的方法。
2.2SpringMVCSpringMVC框架是一個(gè)經(jīng)典的MVC流程框架,通過實(shí)現(xiàn)ModelView以及Controller處理器來很好地將數(shù)據(jù)和業(yè)務(wù)以及展現(xiàn)層進(jìn)行完全分離。從這樣的一個(gè)角度來說的話,SpringMVC、Struts以及Struts2非常的類似。SpringMVC總體設(shè)計(jì)是圍繞DispatcherServlet前端控制器來展開的,DispatcherServlet負(fù)責(zé)將前端請(qǐng)求發(fā)送到特定的handler映射。通過配置的handlermappingsviewresolutionlocale以及themeresolution來處理收到的請(qǐng)求并且轉(zhuǎn)到對(duì)應(yīng)的視圖處理器。SpringMVC請(qǐng)求業(yè)務(wù)處理的整體流程如下展示:
2.3mybatisMyBatis框架是底層JDBC訪問數(shù)據(jù)庫的封裝,它使得底層訪問數(shù)據(jù)庫的操作是透明的。MyBatis的操作是基于一個(gè)SQLSessionFactory實(shí)例。MyBatis框架通過各種配置文件與特定對(duì)象實(shí)體類的映射Mapper文件相關(guān)聯(lián),并且Mapper文件配置了每個(gè)對(duì)象到數(shù)據(jù)庫的SQL映射。當(dāng)與數(shù)據(jù)庫交互時(shí),通過SQLSessionFactory實(shí)例獲取SQLSession對(duì)象并執(zhí)行SQL命令。訪問數(shù)據(jù)庫。2.4jQueryJQuery框架是一個(gè)快速、經(jīng)典和簡(jiǎn)單的JavaScript前端框架計(jì)劃。它是繼Prototype之后的又一個(gè)優(yōu)秀的JavaScript代碼基礎(chǔ)框架。jQuery設(shè)計(jì)的目的是寫的少,做的多,也就是說寫的代碼少。它做的事情越多,就封裝了常見的JavaScript功能和代碼,并提供了一個(gè)簡(jiǎn)單的JavaScript設(shè)計(jì)相關(guān)的模式,用于優(yōu)化HTML文檔操作、事件處理、CSS樣式化、動(dòng)畫設(shè)計(jì)和Ajax請(qǐng)求交互。2.5MysqlMySQL數(shù)據(jù)庫是與PHP、Java、c++/c#等主流編程語言技術(shù)緊密結(jié)合的安全、跨平臺(tái)、高效的輕量級(jí)數(shù)據(jù)庫系統(tǒng)。MySQL數(shù)據(jù)庫系統(tǒng)是由瑞典公司MySQLAB開發(fā)、發(fā)布和支持的。它于1995年由MySQL的最初開發(fā)者DavidAxmark和MichaelMontyWdenius創(chuàng)建。目前,MySQL數(shù)據(jù)庫在互聯(lián)網(wǎng)網(wǎng)站上被廣泛使用。由于MySQL數(shù)據(jù)庫體積小、速度快、整體擁有成本很低,尤其是在開源的特點(diǎn)上,很多互聯(lián)網(wǎng)公司都采用了MySQL數(shù)據(jù)庫來降低開發(fā)系統(tǒng)的成本。MySQL數(shù)據(jù)庫是世界上最快的SQL數(shù)據(jù)庫之一。因?yàn)樗性S多其他數(shù)據(jù)庫沒有的特性,MySQL數(shù)據(jù)庫也是免費(fèi)和開源的。用戶可以通過網(wǎng)絡(luò)直接從網(wǎng)站上下載MySQL數(shù)據(jù)庫并使用,無需支付任何費(fèi)用。2.6SpringBootSpringBoot是一個(gè)新的開源輕量級(jí)框架,由Pivotal團(tuán)隊(duì)于2013年開始開發(fā),第一個(gè)版本于2014年4月發(fā)布。它是基于Spring4.0設(shè)計(jì)的,不僅繼承了Spring框架的優(yōu)秀特性,而且通過簡(jiǎn)化配置簡(jiǎn)化了Spring應(yīng)用程序的整個(gè)設(shè)置和開發(fā)過程。此外,SpringBoot集成了大量框架來解決版本沖突和依賴包引用不穩(wěn)定的問題。SpringBoot功能包括:(1)你可以創(chuàng)建獨(dú)立的Spring應(yīng)用程序,并基于它們的Maven或Gradle插件創(chuàng)建可執(zhí)行的jar和Wars;(2)嵌入Tomcat或Jetty等Servlet容器;(3)提供“starter”項(xiàng)目對(duì)象模型(POMS)的自動(dòng)配置,簡(jiǎn)化Maven的配置;(4)只要可能,自動(dòng)配置Spring容器;(5)提供現(xiàn)成的功能,如度量、健康檢查和外部化配置;(6)絕對(duì)不需要代碼生成,不需要XML配置。[1][2]在SpringBoot框架中還有兩個(gè)非常重要的策略:開箱即用和約定優(yōu)于配置。OutOfBox是一種開箱即用的方法,通過向Maven項(xiàng)目的POM文件添加依賴包,然后使用相應(yīng)的注釋,而不是冗長(zhǎng)的XML配置文件,可以在開發(fā)期間管理對(duì)象的生命周期。該特性將開發(fā)人員從復(fù)雜的配置和依賴管理中解放出來,并允許他們更多地關(guān)注業(yè)務(wù)邏輯。約定優(yōu)于配置是一種軟件設(shè)計(jì)范式,其中目標(biāo)結(jié)構(gòu)由SpringBoot本身配置,開發(fā)人員將信息添加到結(jié)構(gòu)中。這降低了一些靈活性并增加了BUG定位的復(fù)雜性,但它減少了開發(fā)人員需要做出的決策數(shù)量,減少了大量XML配置,并實(shí)現(xiàn)了代碼編譯、測(cè)試和打包的自動(dòng)化。從前端到后臺(tái)描述了SpringBoot應(yīng)用系統(tǒng)開發(fā)模板的基本架構(gòu)設(shè)計(jì):前端經(jīng)常使用模板引擎,主要是Freemarker和Thymeleaf,它們是用Java語言編寫的,用來呈現(xiàn)模板并輸出相應(yīng)的文本,這樣接口設(shè)計(jì)就與應(yīng)用程序的邏輯分離了。同時(shí),前端開發(fā)也使用了Bootstrap、AngularJS、jQuery等。瀏覽器的數(shù)據(jù)傳輸格式包括JSON、non-XML和RESTfulAPI。對(duì)于數(shù)據(jù)訪問層,主要有Hibernate、MyBatis、JPA等持久性層框架;數(shù)據(jù)庫常用MySQL;推薦開發(fā)工具IntelliJidea。三、需求分析和可行性3.1系統(tǒng)功能概述3.1主要模塊設(shè)計(jì)如下:3.2系統(tǒng)運(yùn)行環(huán)境開發(fā)系統(tǒng):Windows7。JDK版本:JavaJDK1.8開發(fā)工具:IDEA數(shù)據(jù)庫版本:mysql5數(shù)據(jù)庫可視化工具:navicatformysql服務(wù)器:apachetomcat7其他工具:谷歌瀏覽器控制臺(tái)調(diào)整網(wǎng)頁布局Postman接口工具進(jìn)行接口測(cè)試3.3技術(shù)設(shè)計(jì)此系統(tǒng)需要java面向?qū)ο缶幊袒A(chǔ),數(shù)據(jù)庫知識(shí)和功能分析。根據(jù)目前階段所掌握的相關(guān)專業(yè)知識(shí),以及這學(xué)期和之前學(xué)習(xí)掌握的java編程知識(shí)和數(shù)據(jù)庫應(yīng)用知識(shí)以及前端知識(shí)做出一個(gè)這樣的基于springboot+vue前后端分離的輕量級(jí)框架網(wǎng)頁版的黨建信息管理管理平臺(tái)。3.4社會(huì)可行性在互聯(lián)網(wǎng)技術(shù)高速發(fā)展的今天,通過互聯(lián)網(wǎng)的傳播會(huì)讓企業(yè)更容易的創(chuàng)造更多的經(jīng)濟(jì)效益,利用互聯(lián)網(wǎng)的傳播黨建信息管理、通過網(wǎng)頁版黨建信息管理平臺(tái)的實(shí)現(xiàn),讓更多人了解到黨建新聞、組織風(fēng)采等相關(guān)信息、得到了更大的宣傳,在這樣一個(gè)大環(huán)境下把資源統(tǒng)籌規(guī)化起來,就會(huì)獲得高效的黨建黨員信息和推廣。3.5安全性可行性人們?cè)谑褂镁W(wǎng)絡(luò)的時(shí)候越來越重視信息的安全性,這也促進(jìn)了加密技術(shù)的發(fā)展,同時(shí)應(yīng)用加密技術(shù)能夠有效提升網(wǎng)絡(luò)信息的安全性。本黨建信息管理平臺(tái)系統(tǒng)采用了幾種加密保護(hù)、對(duì)本地用戶密碼采用MD5加密方式、頁面發(fā)送請(qǐng)求獲取數(shù)據(jù)采用關(guān)鍵部分采用post請(qǐng)求對(duì)數(shù)據(jù)傳輸?shù)谋Wo(hù)機(jī)制、避免請(qǐng)求數(shù)據(jù)暴露在瀏覽器上面、以及不同用戶具有不同權(quán)限操作通過這些安全性操作,保證系統(tǒng)的穩(wěn)定性以及可靠性。3.6經(jīng)濟(jì)可行性服務(wù)器端的安裝簡(jiǎn)潔明了,客戶機(jī)無需再裝任何軟件,通過瀏覽器就可以直接訪問,可以直接接入Internet,無論您身在何處只要您可以訪問Internet都可以使用本系統(tǒng)。本系統(tǒng)對(duì)計(jì)算機(jī)配置的要求不高,企業(yè)機(jī)房更換下來的低配置電腦都可以完全滿足需要、所以在經(jīng)濟(jì)上具有完全的可行性。3.7法律可行性本系統(tǒng)是自行開發(fā)的黨建信息管理平臺(tái)系統(tǒng),是很有實(shí)際意義的系統(tǒng),開發(fā)環(huán)境軟件和使用的數(shù)據(jù)庫都是開源代碼,開發(fā)這個(gè)系統(tǒng)不同于開發(fā)普通的系統(tǒng)軟件,不存在侵權(quán)等問題,即法律上是可行的。四、系統(tǒng)設(shè)計(jì)4.1系統(tǒng)模式架構(gòu)本系統(tǒng)經(jīng)典的采用B/S架構(gòu)(瀏覽器、服務(wù)器),是采用瀏覽器和服務(wù)器架構(gòu)模式設(shè)計(jì)的架構(gòu),隨著Internet技術(shù)的興起,對(duì)C/S架構(gòu)模式的一種改變升級(jí)或改進(jìn)。目前,在該架構(gòu)的應(yīng)用下,用戶通過WWW.瀏覽器實(shí)現(xiàn)數(shù)據(jù)訪問和操作。一小部分事務(wù)邏輯在前端頁面實(shí)現(xiàn),主要業(yè)務(wù)事務(wù)邏輯在服務(wù)器端實(shí)現(xiàn),形成三層結(jié)構(gòu)MVC。B/S架構(gòu)是Web興起后主流的網(wǎng)絡(luò)架構(gòu)設(shè)計(jì)模式。Web瀏覽器是目前最重要的客戶端應(yīng)用軟件之一。該模式形成了一個(gè)統(tǒng)一的客戶端,將系統(tǒng)功能的所有核心部分集中在服務(wù)器上實(shí)現(xiàn)。簡(jiǎn)化系統(tǒng)開發(fā)和維護(hù)。只要客戶端安裝了瀏覽器就可以操作,服務(wù)器端安裝了Oracle、MySQL、Sybase等數(shù)據(jù)庫。瀏覽器通過WebServer和數(shù)據(jù)庫獲取數(shù)據(jù)。簡(jiǎn)化客戶端計(jì)算機(jī)的負(fù)載,降低系統(tǒng)維護(hù)和升級(jí)的成本和工作量,降低用戶的成本。4.2系統(tǒng)層次架構(gòu)系統(tǒng)根據(jù)以上的邏輯結(jié)構(gòu),分為3層結(jié)構(gòu)。系統(tǒng)按照處理層次從上至下依次劃分為(1)展現(xiàn)層:它處理與用戶的交互界面、數(shù)據(jù)傳輸,信息收集等。(2)應(yīng)用層:它是系統(tǒng)功能邏輯處理層,主要處理展現(xiàn)層發(fā)出的請(qǐng)求,并將處理結(jié)果返回展現(xiàn)層。(3)核心層:它是系統(tǒng)運(yùn)行核心及應(yīng)用層的基礎(chǔ),提供應(yīng)用層權(quán)限控制、數(shù)據(jù)讀取等。4.3系統(tǒng)功能詳情設(shè)計(jì)系統(tǒng)主要設(shè)計(jì)采用Java語言開發(fā)、采用springboot和vue前后端分離的模式、java為后臺(tái)框架、數(shù)據(jù)庫框架采用mybatis、前端采用vue、elemeentui、jquery、layui框架等主要模塊設(shè)計(jì)如下:1.用戶模塊管理:用戶登錄、用戶注冊(cè)、用戶的查詢、刪除操作、用戶分為不同權(quán)限、可以通過角色來靈活控制。2.首頁介紹:登錄后進(jìn)入首頁查看系統(tǒng)設(shè)計(jì)的基本宣傳信息。3.黨建數(shù)據(jù)分析展示:查看黨建數(shù)據(jù)的樹狀圖信息4.黨建用戶管理:用戶添加、修改、刪除、和權(quán)限修改。5.黨建職位管理:黨建職位的添加、修改、刪除和查看以及權(quán)限分配。6.黨建菜單管理:黨建菜單的添加、修改、刪除和查看以及權(quán)限分配。7.系統(tǒng)SQL監(jiān)控:查看系統(tǒng)的運(yùn)行情況以及SQL數(shù)據(jù)的情況、運(yùn)行狀態(tài)、時(shí)間8.系統(tǒng)組織架構(gòu):添加黨建組織架構(gòu)、修改、查看以及刪除和分配權(quán)限等。9.通知公告管理:添加黨建通知公告信息、修改、查看以及刪除等。10.黨建要聞管理:添加黨建要聞信息、修改、查看以及刪除等。11.組織風(fēng)采管理:添加組織風(fēng)采信息、修改、查看以及刪除等。12.黨建資料管理:添加上傳黨建資料信息、修改、查看以及刪除等。13.組織發(fā)展學(xué)習(xí):添加組織發(fā)展信息、修改、查看以及刪除等14.組織發(fā)展考試:添加組織發(fā)展考試信息、修改、查看以及刪除等15.修改密碼和退出等:4.4主流程描述5項(xiàng)目架構(gòu)方案圖五、系統(tǒng)實(shí)現(xiàn)5.1系統(tǒng)主要功能主要設(shè)計(jì)5.1.1用戶登錄用戶輸入登錄地址:http://localhost:8001/#/login進(jìn)入到登錄頁面、輸入賬號(hào)密碼進(jìn)行登錄驗(yàn)證、<h3class="login-title">黨建系統(tǒng)登錄</h3><el-form:model="dataForm":rules="dataRule"ref="dataForm"@keyup.enter.native="dataFormSubmit()"status-icon><el-form-itemprop="userName"><el-inputv-model="dataForm.userName"placeholder="帳號(hào)"></el-input></el-form-item><el-form-itemprop="password"><el-inputv-model="dataForm.password"type="password"placeholder="密碼"></el-input></el-form-item><el-form-itemprop="captcha"><el-row:gutter="20"><el-col:span="14"><el-inputv-model="dataForm.captcha"placeholder="驗(yàn)證碼"></el-input></el-col><el-col:span="10"class="login-captcha"><img:src="captchaPath"@click="getCaptcha()"alt=""></el-col></el-row></el-form-item><el-form-item><el-buttonclass="login-btn-submit"type="danger"@click="dataFormSubmit()">登錄</el-button></el-form-item></el-form>后臺(tái)登錄代碼實(shí)現(xiàn):驗(yàn)證登錄信息是否正確、獲取賬號(hào)密碼校驗(yàn)、返回前端對(duì)應(yīng)信息。/** *登錄 */ @PostMapping("/sys/login") publicMap<String,Object>login(@RequestBodySysLoginFormform)throwsIOException{ booleancaptcha=sysCaptchaService.validate(form.getUuid(),form.getCaptcha());// if(!captcha){// returnR.error("驗(yàn)證碼不正確");// } //用戶信息 SysUserEntityuser=sysUserService.queryByUserName(form.getUsername()); //賬號(hào)不存在、密碼錯(cuò)誤 if(user==null||!user.getPassword().equals(newSha256Hash(form.getPassword(),user.getSalt()).toHex())){ returnR.error("賬號(hào)或密碼不正確"); } //賬號(hào)鎖定 if(user.getStatus()==0){ returnR.error("賬號(hào)已被鎖定,請(qǐng)聯(lián)系管理員"); } //生成token,并保存到數(shù)據(jù)庫 Rr=sysUserTokenService.createToken(user.getUserId()); returnr; }5.1.2黨建信息管理首頁黨建黨員信息管理后臺(tái)代碼實(shí)現(xiàn):/***前臺(tái)分頁查詢文章**@paramarticle*@parampublishDates*@parampage*@parampageSize*@return*/@RequestMapping("/list")publicMap<String,Object>list(Articlearticle,@RequestParam(value="publishDates",required=false)StringpublishDates,@RequestParam(value="p",required=false)Integerp,@RequestParam(value="page",required=false)Integerpage,@RequestParam(value="pageSize",required=false)IntegerpageSize,HttpServletRequestrequest){Map<String,Object>resultMap=newHashMap<String,Object>();Useruser=(User)request.getSession().getAttribute("user");List<Article>retArt=newArrayList<>();Strings_bPublishDate=null;//開始時(shí)間Strings_ePublishDate=null;//結(jié)束時(shí)間if(StringUtil.isNotEmpty(publishDates)){String[]strs=publishDates.split("-");//拆分時(shí)間段s_bPublishDate=strs[0];s_ePublishDate=strs[1];}if(p!=null&&p==1){Useru=userService.findById(user.getUserId());article.setUserId(u.getUserId());}elseif(p!=null&&p==2){Useru=userService.findById(user.getUserId());StringartIds=u.getArticleIds();List<String>result=newArrayList<>();if(StringUtils.isNotBlank(artIds)){result=Arrays.asList(StringUtils.split(artIds,","));}List<Integer>retIds=newArrayList<>();for(Stringtemp:result){retIds.add(Integer.valueOf(temp).intValue());}retArt=articleService.findByListId(retIds);}Longtotal=articleService.getCount(article,s_bPublishDate,s_ePublishDate);if(p!=null&&p==2){total=(long)retArt.size();}inttotalPage=(int)(total%pageSize==0?total/pageSize:total/pageSize+1);//總頁數(shù)resultMap.put("totalPage",totalPage);resultMap.put("errorNo",0);if(p!=null&&p==2){resultMap.put("data",retArt);}else{resultMap.put("data",articleService.list(article,s_bPublishDate,s_ePublishDate,1,pageSize));}resultMap.put("total",total);returnresultMap;}5.1.3黨建信息用戶列表用戶添加:后臺(tái)主要代碼實(shí)現(xiàn):/** *保存用戶 */ @SysLog("保存用戶") @PostMapping("/save") @RequiresPermissions("sys:user:save") publicRsave(@RequestBodySysUserEntityuser){ ValidatorUtils.validateEntity(user,AddGroup.class); user.setCreateUserId(getUserId()); sysUserService.saveUser(user); returnR.ok(); }}5.2.4黨建信息管理發(fā)布點(diǎn)擊添加黨建新聞?shì)斎胂嚓P(guān)信息完成添加。前端主要代碼樣式:<el-table-columntype="selection"header-align="center"align="center"width="50"></el-table-column><el-table-columnprop="id"header-align="center"align="center"width="60"label="ID"></el-table-column><el-table-columnprop="ty"header-align="center"align="center"label="要聞分類"width="120"></el-table-column><el-table-columnprop="unit"header-align="center"align="center"label="發(fā)布單位"width="140"></el-table-column><el-table-columnprop="title"header-align="center"align="center"label="黨建要聞標(biāo)題"width="400"></el-table-column><el-table-columnprop="num"header-align="center"align="center"label="發(fā)布編號(hào)"width="120"></el-table-column><el-table-columnprop="createBy"header-align="center"align="center"label="發(fā)布人"></el-table-column><el-table-columnprop="createTime"header-align="center"align="center"label="發(fā)布時(shí)間"></el-table-column><el-table-columnfixed="right"header-align="center"align="center"label="操作">后臺(tái)代碼實(shí)現(xiàn):/***添加黨建新聞信息*/@PostMapping("/save")@RequiresPermissions("sys:news:save")publicRsave(@RequestBodyNewsnews){news.setCreateBy(getUser().getUsername());news.setCreateTime(newDate());newsService.saveOrUpdate(news);returnR.ok();}}5.2.5黨建信息組織架構(gòu)后臺(tái)代碼實(shí)現(xiàn):/** *導(dǎo)航黨建菜單 */ @GetMapping("/nav") publicRnav(){ List<SysMenuEntity>menuList=sysMenuService.getUserMenuList(getUserId()); Set<String>permissions=shiroService.getUserPermissions(getUserId()); returnR.ok().put("menuList",menuList).put("permissions",permissions); } /** *所有黨建組織菜單列表 */ @GetMapping("/list") @RequiresPermissions("sys:menu:list") publicList<SysMenuEntity>list(){ List<SysMenuEntity>menuList=sysMenuService.list(); HashMap<Long,SysMenuEntity>menuMap=newHashMap<>(12); for(SysMenuEntitys:menuList){ menuMap.put(s.getMenuId(),s); } for(SysMenuEntitys:menuList){ SysMenuEntityparent=menuMap.get(s.getParentId()); if(Objects.nonNull(parent)){ s.setParentName(parent.getName()); } } returnmenuList; }5.2.6添加黨建組織架構(gòu)添加/***/** *選擇菜單(添加、修改菜單) */ @GetMapping("/select") @RequiresPermissions("sys:menu:select") publicRselect(){ //查詢黨建列表數(shù)據(jù) List<SysMenuEntity>menuList=sysMenuService.queryNotButtonList(); //添加黨建頂級(jí)菜單 SysMenuEntityroot=newSysMenuEntity(); root.setMenuId(0L); root.setName("一級(jí)菜單"); root.setParentId(-1L); root.setOpen(true); menuList.add(root); returnR.ok().put("menuList",menuList); }}5.2.7黨建組織風(fēng)采列表/***前端列表數(shù)據(jù)渲染*@Title:add*/<el-table-columntype="selection"header-align="center"align="center"width="50"></el-table-column><el-table-columnprop="id"header-align="center"align="center"width="60"label="ID"></el-table-column><el-table-columnprop="ty"header-align="center"align="center"label="風(fēng)采分類"width="120"></el-table-column><el-table-columnprop="unit"header-align="center"align="center"label="發(fā)布單位"width="140"></el-table-column><el-table-columnalign="center"prop="img"label="圖片"><templateslot-scope="scope"><el-popoverplacement="right"title=""trigger="hover"><img:src="scope.row.img"style="width:800px;height:600px"/><imgslot="reference":src="scope.row.img":alt="scope.row.img"style="max-height:50px;max-width:60px"></el-popover></template></el-table-column><el-table-columnprop="title"header-align="center"align="center"label="組織風(fēng)采標(biāo)題"width="360"></el-table-column><el-table-columnprop="num"header-align="center"align="center"label="發(fā)布編號(hào)"width="120"></el-table-column><el-table-columnprop="createBy"header-align="center"align="center"label="發(fā)布人"></el-table-column><el-table-columnprop="createTime"header-align="center"align="center"label="發(fā)布時(shí)間"></el-table-column><el-table-columnfixed="right"header-align="center"align="center"label="操作">}5.2.8修改組織風(fēng)采信息 *修改 */ @SysLog("修改組織風(fēng)采菜單") @PostMapping("/update") @RequiresPermissions("sys:menu:update") publicRupdate(@RequestBodySysMenuEntitymenu){ //數(shù)據(jù)校驗(yàn) verifyForm(menu); sysMenuService.updateById(menu); returnR.ok(); }5.2.9上傳黨建資料文檔前端代碼樣式:<el-form-itemlabel="資料類型"prop="classify"><el-inputv-model="dataForm.classify"placeholder="資料類型"></el-input></el-form-item><el-form-itemlabel="上傳文件"style="margin-left:7%;"prop="File"><el-uploadclass="avatar-uploader"ref="upload":action="url":on-preview="handlePreview":auto-upload="false":before-upload="onBeforeUpload":on-change="handleChange":data="dataForm"><el-buttonsize="small"type="primary">點(diǎn)擊上傳</el-button> <imgsrc="{{d.headPortrait}}"class="layui-nav-img"/>{{d.nickname}} </script>5.2.10查看黨建資料文檔后臺(tái)代碼:/**//查看附件信息//@RequiresPermissions("sys:file:info")@RequestMapping("file/getFileDetail")publicRgetFileDetail(HttpServletRequestrequest){Filefile=fileServiceImpl.getById(request.getParameter("id"));returnR.ok().put("url",file.getPath());}5.2.11修改密碼后臺(tái)代碼:/** *修改登錄用戶密碼 */ @SysLog("修改密碼") @PostMapping("/password") publicRpassword(@RequestBodyPasswordFormform){ Assert.isBlank(form.getNewPassword(),"新密碼不為能空"); //sha256加密 Stringpassword=newSha256Hash(form.getPassword(),getUser().getSalt()).toHex(); //sha256加密 StringnewPassword=newSha256Hash(form.getNewPassword(),getUser().getSalt()).toHex(); //更新密碼 booleanflag=sysUserService.updatePassword(getUserId(),password,newPassword); if(!flag){ returnR.error("原密碼不正確"); } returnR.ok(); }}數(shù)據(jù)庫主表設(shè)計(jì)6.1數(shù)據(jù)庫表設(shè)計(jì)數(shù)據(jù)庫采用mysql5版本、滿足數(shù)據(jù)庫設(shè)計(jì)三范式。編碼采用utf8--UTF-8Unicode排序規(guī)則采用utf8_general_ci
6.2數(shù)據(jù)庫三范式要求:一、第一范式1NF是對(duì)屬性的原子性,要求屬性具有原子性,不可再分解;二、第二范式2NF是對(duì)記錄的唯一性,要求記錄有唯一標(biāo)識(shí),即實(shí)體的唯一性,即不存在部分依賴;三、第三范式3NF是對(duì)字段的冗余性,要求任何字段不能由其他字段派生出來,它要求字段沒有冗余,即不存在傳遞依賴;
6.3數(shù)據(jù)庫表ER圖
6.4用戶表設(shè)計(jì)數(shù)據(jù)庫名:renren-dangyuan文檔版本:V1.0.0文檔描述:數(shù)據(jù)庫表設(shè)計(jì)描述表dj_news(黨建新聞表)編號(hào)名稱數(shù)據(jù)類型長(zhǎng)度小數(shù)位允許空值主鍵默認(rèn)值說明1idint100NY2titlevarchar2550YN標(biāo)題3tyvarchar2550YN類型4create_timedatetime190YN發(fā)布時(shí)間5unitvarchar2550YN發(fā)布單位6numvarchar2550YN發(fā)布編號(hào)7contentmediumtext167772150YN主要內(nèi)容8create_byvarchar2550YN發(fā)布人9bzvarchar2550YN備注信息10kindvarchar2550YN種類(黨建要聞組織風(fēng)采)11imgvarchar2550YN圖片地址表exam(黨建組織發(fā)展考試表)編號(hào)名稱數(shù)據(jù)類型長(zhǎng)度小數(shù)位允許空值主鍵默認(rèn)值說明1idint100NYId2titlevarchar2550YN標(biāo)題3answvarchar2550YN答案4user_namevarchar2550YN用戶姓名5exam_timedatetime190YN考試時(shí)間6user_scorevarchar2550YN用戶分?jǐn)?shù)7is_qualifiedvarchar2550YN是否合格8tyvarchar2550YN類型9p_namevarchar2550YN父級(jí)菜單10mobilevarchar2550YN手機(jī)號(hào)表file(黨建文件資料表)編號(hào)名稱數(shù)據(jù)類型長(zhǎng)度小數(shù)位允許空值主鍵默認(rèn)值說明1idint100NYId2pathvarchar2550YN路徑3file_namevarchar2550YN附件名稱4file_typevarchar2550YN類型5classifyvarchar2550YN分類6create_timedatetime190YN創(chuàng)建時(shí)間7create_byvarchar2550YN創(chuàng)建人表inform(黨建通知公告表)編號(hào)名稱數(shù)據(jù)類型長(zhǎng)度小數(shù)位允許空值主鍵默認(rèn)值說明1idint100NYId2titlevarchar2550YN標(biāo)題3contenttext655350YN內(nèi)容4create_timetimestamp190YNCURRENT_TIMESTAMP創(chuàng)建時(shí)間5create_byvarchar2550YN創(chuàng)建人6bzvarchar2550YN備注信息表sys_captcha(系統(tǒng)驗(yàn)證碼)編號(hào)名稱數(shù)據(jù)類型長(zhǎng)度小數(shù)位允許空值主鍵默認(rèn)值說明1uuidchar360NYuuid2codevarchar60NN驗(yàn)證碼3expire_timedatetime190YN過期時(shí)間表sys_config(系統(tǒng)配置信息表)編號(hào)名稱數(shù)據(jù)類型長(zhǎng)度小數(shù)位允許空值主鍵默認(rèn)值說明1idbigint200NY2param_keyvarchar500YNkey3param_valuevarchar20000YNvalue4statustinyint40YN1狀態(tài)0:隱藏1:顯示5remarkvarchar5000YN備注表sys_dept(部門管理)編號(hào)名稱數(shù)據(jù)類型長(zhǎng)度小數(shù)位允許空值主鍵默認(rèn)值說明1dept_idbigint200NY2parent_idbigint200YN上級(jí)部門ID,一級(jí)部門為03namevarchar500YN部門名稱4order_numint100YN排序5del_flagtinyint40YN0是否刪除-1:已刪除0:正常6remarkvarchar2550YN表sys_log(系統(tǒng)日志)編號(hào)名稱數(shù)據(jù)類型長(zhǎng)度小數(shù)位允許空值主鍵默認(rèn)值說明1idbigint200NY2usernamevarchar500YN用戶名3operationvarchar500YN用戶操作4methodvarchar2000YN請(qǐng)求方法5paramsvarchar50000YN請(qǐng)求參數(shù)6timebigint200NN執(zhí)行時(shí)長(zhǎng)(毫秒)7ipvarchar640YNIP地址8create_datedatetime190YN創(chuàng)建時(shí)間表sys_menu(菜單管理)編號(hào)名稱數(shù)據(jù)類型長(zhǎng)度小數(shù)位允許空值主鍵默認(rèn)值說明1menu_idbigint200NY2parent_idbigint200YN父菜單ID,一級(jí)菜單為03namevarchar500YN菜單名稱4urlvarchar2000YN菜單URL5permsvarchar5000YN授權(quán)(多個(gè)用逗號(hào)分隔,如:user:list,user:create)6typeint100YN類型0:目錄1:菜單2:按鈕7iconvarchar500YN菜單圖標(biāo)8order_numint100YN排序表sys_oss(文件上傳)編號(hào)名稱數(shù)據(jù)類型長(zhǎng)度小數(shù)位允許空值主鍵默認(rèn)值說明1idbigint200NY2urlvarchar2000YNURL地址3create_datedatetime190YN創(chuàng)建時(shí)間表sys_role(角色)編號(hào)名稱數(shù)據(jù)類型長(zhǎng)度小數(shù)位允許空值主鍵默認(rèn)值說明1role_idbigint200NY2role_namevarchar1000YN角色名稱3remarkvarchar1000YN備注4create_user_idbigint200YN創(chuàng)建者ID5create_timedatetime190YN創(chuàng)建時(shí)間6dept_idint100YN表sys_role_dept(角色與部門對(duì)應(yīng)關(guān)系)編號(hào)名稱數(shù)據(jù)類型長(zhǎng)度小數(shù)位允許空值主鍵默認(rèn)值說明1idbigint200NY2role_idbigint200YN角色I(xiàn)D3dept_idbigint200YN
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 小學(xué)語文人教一年級(jí)上冊(cè)識(shí)字2《日月明》教學(xué)設(shè)計(jì)
- DB4415T 52-2025竹薯種植技術(shù)規(guī)程
- 臨時(shí)舞臺(tái)搭建合同范本
- 個(gè)人向個(gè)人貸款合作協(xié)議合同
- 臨時(shí)用工合同格式參考
- OEM合作合同模板:oem合作詳細(xì)條款
- 個(gè)人租房合同法律文本
- 中小學(xué)學(xué)生接送服務(wù)合同協(xié)議書范本
- 為何買賣合同被視為典范
- 二手工業(yè)設(shè)備買賣合同范本詳解
- 充電樁知識(shí)培訓(xùn)課件
- 2025年七年級(jí)下冊(cè)道德與法治主要知識(shí)點(diǎn)
- 2025年交通運(yùn)輸部長(zhǎng)江口航道管理局招聘4人歷年高頻重點(diǎn)提升(共500題)附帶答案詳解
- 老年髖部骨折患者圍術(shù)期下肢深靜脈血栓基礎(chǔ)預(yù)防專家共識(shí)(2024版)解讀
- 廣東省廣州市2025屆高三上學(xué)期12月調(diào)研測(cè)試(零模)英語 含解析
- 偏癱足內(nèi)翻的治療
- 藥企質(zhì)量主管競(jìng)聘
- 信息對(duì)抗與認(rèn)知戰(zhàn)研究-洞察分析
- 心腦血管疾病預(yù)防課件
- 手術(shù)室??谱o(hù)士工作總結(jié)匯報(bào)
- 2025屆高三聽力技巧指導(dǎo)-預(yù)讀、預(yù)測(cè)
評(píng)論
0/150
提交評(píng)論