咸陽師范學(xué)院計(jì)算機(jī)學(xué)院 鄒燕飛 劉淑英 黃旺
我國的精準(zhǔn)扶貧工作已由攻堅(jiān)階段轉(zhuǎn)變?yōu)殪柟屉A段,這就需要貧困戶、幫扶干部以及扶貧部門及時準(zhǔn)確地獲得相關(guān)信息。為使貧困戶方便地獲取政策信息,扶貧部門能夠及時了解扶貧動態(tài),利用信息化手段智慧扶貧,作者設(shè)計(jì)并實(shí)現(xiàn)了一個扶貧信息管理系統(tǒng)。系統(tǒng)使用Vue框架和Element UI構(gòu)建出友好簡潔的前端交互頁面,后端使用Spring Boot框架快速搭建,使用MyBatis-Plus進(jìn)行MySQL數(shù)據(jù)庫訪問,實(shí)現(xiàn)了扶貧信息管理系統(tǒng)的各項(xiàng)功能。系統(tǒng)采用前后端分離模式,具有良好的可擴(kuò)展性,操作方便快捷、功能實(shí)用,能夠切實(shí)解決扶貧工作中的實(shí)際問題。
自新中國成立以來,我國陸續(xù)出臺了一系列的扶貧政策,目的就是為了解決中國人民的貧困問題,讓人民真正過上幸福美滿的生活。國家出臺扶貧優(yōu)惠政策,增加扶貧投入,廣泛動員全社會力量參與精準(zhǔn)扶貧工作[1]。精準(zhǔn)扶貧工作開展至今已經(jīng)取得了顯著成果,隨著貴州省宣布所有貧困縣摘帽出列,我國832個國家級貧困縣全部脫貧摘帽,這標(biāo)志著我國脫貧工作取得了階段性的勝利,扶貧工作也將由攻堅(jiān)階段轉(zhuǎn)為鞏固階段。
本系統(tǒng)是一個扶貧信息管理系統(tǒng),涉及貧困戶及家庭成員的個人隱私,需要較高的安全性,因此設(shè)置了一定的權(quán)限,系統(tǒng)對貧困戶、幫扶干部和扶貧部門開放不同權(quán)限,用于保障系統(tǒng)穩(wěn)定運(yùn)行,具體權(quán)限功能如下:
(1)貧困戶。需要扶貧系統(tǒng)中存在他的個人信息,即他首先得是貧困戶身份才可以使用本系統(tǒng),然后可以了解扶貧相關(guān)政策。為保證他人隱私,貧困戶不能查看其他貧困戶信息;為保證數(shù)據(jù)準(zhǔn)確性,貧困戶只能對自己的信息進(jìn)行查看,如果信息有誤可聯(lián)系幫扶干部進(jìn)行修改。
(2)幫扶干部。其權(quán)限略大于貧困戶,但是他也僅能對扶貧部門為其分配的貧困戶的個人信息進(jìn)行查看和維護(hù),為了保障扶貧管理系統(tǒng)的數(shù)據(jù)安全性,幫扶干部不能刪除和添加貧困戶,僅能對已存在且屬于自己幫扶的貧困戶信息進(jìn)行修改維護(hù)。
(3)扶貧部門。本系統(tǒng)的超級管理員,對于系統(tǒng)中貧困戶的添加刪除、幫扶干部的添加刪除、幫扶政策的發(fā)布、維護(hù)、過期操作包括扶貧工作中的各項(xiàng)匯總數(shù)據(jù)都只能通過此賬號進(jìn)行維護(hù)。
(4)扶貧信息管理系統(tǒng)要保證系統(tǒng)數(shù)據(jù)具有完整性,數(shù)據(jù)庫中的數(shù)據(jù)不能隨意修改和刪除。
在開發(fā)扶貧信息管理系統(tǒng)的整體流程中,主要從操作可行性、經(jīng)濟(jì)可行性和技術(shù)可行性三個方面進(jìn)行分析。
(1)操作可行性。本系統(tǒng)采用Vue構(gòu)建前端頁面,Vue框架簡單易用,有HTML和CSS基礎(chǔ)即可快速上手;有著很好的第三方界面支持(如Element UI),可以非常方便的搭建出簡潔美觀的前端頁面;提供了各種樣式的表格、友好提示框等,可以提升用戶的使用體驗(yàn);本系統(tǒng)基于B/S架構(gòu),只需要瀏覽器就可以非常方便的訪問、使用系統(tǒng)各項(xiàng)功能。
(2)經(jīng)濟(jì)可行性。本系統(tǒng)使用的前端技術(shù)框架和后端技術(shù)框架都屬于開源框架,包括MySQL也是開源的,而開發(fā)工具IDEA可以獲取到免費(fèi)的正版軟件使用權(quán)限,且系統(tǒng)開發(fā)對電腦配置無過高要求,綜合來看本系統(tǒng)不需要高成本即可開發(fā)完成。
(3)技術(shù)可行性。硬件可行性分析,系統(tǒng)是一個小型的基于B/S架構(gòu)的系統(tǒng),僅需要一臺普通的電腦進(jìn)行簡單的環(huán)境配置和軟件安裝,就可以進(jìn)行系統(tǒng)的開發(fā)工作。軟件可行性分析,系統(tǒng)開發(fā)使用到的后端開發(fā)的IDEA軟件可以通過學(xué)生身份免費(fèi)獲取使用,前端開發(fā)軟件VS Code也是一款開源軟件,在官網(wǎng)下載即可使用,系統(tǒng)所使用到的各種技術(shù)框架均為開源框架,個人使用不存在版權(quán)問題,在技術(shù)編碼軟件上也是可行的。
綜上分析,本系統(tǒng)無論是在操作、經(jīng)濟(jì)還是技術(shù)可行性方面都是可行的。
本扶貧信息管理系統(tǒng)從邏輯層面上來分可以分為四層[2],分別是前端視圖層:負(fù)責(zé)扶貧管理系統(tǒng)頁面的展示;控制層:接收前端請求調(diào)用相關(guān)方法進(jìn)行處理;業(yè)務(wù)層:主要完成扶貧信息管理系統(tǒng)相關(guān)的業(yè)務(wù)邏輯;持久化層:使用MyBatis-Plus完成扶貧管理系統(tǒng)相關(guān)的貧困戶、幫扶干部等數(shù)據(jù)的持久化工作。這樣的分層結(jié)構(gòu)有利于系統(tǒng)各部分分工明確,使得系統(tǒng)代碼層次分明,有效降低各部分耦合度,便于后期進(jìn)行修改。扶貧信息管理系統(tǒng)總體框架如圖1所示。
圖1 系統(tǒng)總體框架圖Fig.1 System overall framework diagram
(1)數(shù)據(jù)庫數(shù)據(jù)命名規(guī)范:對于數(shù)據(jù)庫表以及字段的命名規(guī)范,有助于后期開發(fā)階段對各表進(jìn)行關(guān)聯(lián)操作時更加清晰明了。數(shù)據(jù)庫表中字段的名稱應(yīng)該見名知意,且應(yīng)該對數(shù)據(jù)庫各字段進(jìn)行解釋說明,使表間關(guān)系更加明確,確保數(shù)據(jù)庫規(guī)范使開發(fā)過程更加高效。
(2)數(shù)據(jù)可擴(kuò)展:進(jìn)行數(shù)據(jù)庫表設(shè)計(jì)時應(yīng)該盡可能的減少耦合,對數(shù)據(jù)字段增加不能影響原有數(shù)據(jù)以及系統(tǒng)的正常功能,為數(shù)據(jù)庫的擴(kuò)展維護(hù)預(yù)留充分空間。
(3)數(shù)據(jù)安全性與完整性:對于數(shù)據(jù)庫中存儲的貧困戶相關(guān)數(shù)據(jù)要確保準(zhǔn)確,對字段類型、長度、能否為空等作出合理的判斷和設(shè)計(jì),盡量避免表中臟數(shù)據(jù)的產(chǎn)生。
登錄功能是通過用戶訪問登錄頁面login,然后login會調(diào)用后臺/get-code接口,通過google提供的kaptcha工具類將隨機(jī)生產(chǎn)的位驗(yàn)證碼轉(zhuǎn)換為圖片輸出到login頁面,然后輸入賬號存入username屬性中,密碼存入password屬性中,驗(yàn)證碼存入code屬性封裝成一個AdminLogin對象。當(dāng)用戶點(diǎn)擊登錄按鈕后,前端頁面通過接口將Json格式的對象傳遞到后端,后臺會調(diào)用LoginController中的login()方法,接收用戶傳遞的AdminLogin對象,然后通過該對象的code屬性拿到驗(yàn)證碼,判斷驗(yàn)證碼是否和后端產(chǎn)生的一致;如果驗(yàn)證碼錯誤直接返回{code=500,message=“驗(yàn)證碼輸入錯誤”}的Json數(shù)據(jù);如果正確就調(diào)用AdminInfoMapper中由MyBatis-Plus提供的selectOne()方法,通過QueryWrapper構(gòu)造條件,查詢此賬號是否存在。如果不存在則返回500狀態(tài)碼并提示用戶賬號或者密碼輸入錯誤[3]。
貧困戶信息維護(hù)主要是對幫扶干部和扶貧部門用于對貧困戶信息進(jìn)行管理的功能的實(shí)現(xiàn)。該功能主要是通過前端請求后端/family/manage/update路徑對應(yīng)接口,該路徑會通過LowIncomeFamilyInfoController中的updateDetailHandler (LowIncomeFamily family)方法,接收前端傳遞的參數(shù),對請求參數(shù)對象進(jìn)行非空判斷;調(diào)用ILowIncomeFamilyInfoService中的updateDetail(LowIncomeFamilyInfo family)方法進(jìn)行信息的更新,信息更新主要是通過LowIncomeFamilyInfoMapper中的update(LowIncomeFamilyInfo family)方法,將前端傳遞信息封裝對象后通過此方法進(jìn)行動態(tài)更新操作[4]。
(1)幫扶干部信息管理。幫扶部門用戶通過前端相應(yīng)的頁面按鈕,根據(jù)提示對信息進(jìn)行維護(hù)后提交表單信息請求后端/dept/leader/manage/接口。HelpPeopleInfo Controller中的updateDetailHandler()方法,會接收前端填寫的信息封裝到HelpPeopleInfo對象中,該方法會通過調(diào)用IHelpPeopleInfoService中定義的updateDetail()方法,并將接收到的請求參數(shù)封裝為一個HelpPeopleInfo對象進(jìn)行傳遞。在HelpPeopleInfoServiceImpl中實(shí)現(xiàn)updateDetail()方法時,首先對HelpPeopleInfo對象進(jìn)行參數(shù)的校驗(yàn),校驗(yàn)無誤后通過HelpPeopleInfoMapper的update()方法將HelpPeopleInfo對象傳入進(jìn)行動態(tài)修改,完成修改后update()方法會返回執(zhí)行成功影響的數(shù)據(jù)庫行數(shù)結(jié)果,根據(jù)執(zhí)行結(jié)果判斷并響應(yīng)前端頁面此次的操作相關(guān)信息,完成幫扶干部信息維護(hù)的功能。
(2)幫扶干部分配。分配功能的實(shí)現(xiàn)主要是通過前端請求后端的HelpInfoController下的addHelpHandler()方法,該方法會通過IHelpInfoService的實(shí)現(xiàn)類HelpInfo ServiceImpl實(shí)現(xiàn)addHelp()方法。在該方法中會首先拿到請求參數(shù)中的幫扶干部的id,然后使用HelpInfoMapper的selectById方法查詢該幫扶干部名下已經(jīng)存在的貧困戶數(shù)量,如果超過5戶,建立關(guān)系失敗返回提示“幫扶關(guān)系建立過多,請選擇其他幫扶干部進(jìn)行分配”。如果該干部符合分配的標(biāo)準(zhǔn)那么通過HelpInfoMapper的select(Query Wrapper wrapper)方法,構(gòu)造條件查詢幫扶信息表help_info中是否已經(jīng)存在該貧困戶的幫扶關(guān)系,如果存在返回已綁定消息,不存在則通過使用insert方法,向help_info幫扶關(guān)系表中插入一條相關(guān)信息即可完成幫扶干部分配貧困戶的相關(guān)操作。
(3)幫扶計(jì)劃功能實(shí)現(xiàn)。本功能的實(shí)現(xiàn)流程是幫扶干部通過幫扶干部-扶貧計(jì)劃模塊選擇幫扶的貧困戶然后點(diǎn)擊計(jì)劃制定按鈕,通過/plan/add路徑請求后端控制層PlanInfoController的addPlanHandler()方法,將計(jì)劃內(nèi)容、計(jì)劃制定時間、幫扶人id、貧困戶id等信息進(jìn)行封裝成一個PlanInfo對象,此方法將判斷該對象是否為null,如果為null返回錯誤信息;若不為null通過IPlanInfoService調(diào)用addPlan()方法,該方法在PlanInfoServiceImpl中進(jìn)行實(shí)現(xiàn),實(shí)現(xiàn)步驟為先通過PlanInfo對象判斷各參數(shù)的合法性,校驗(yàn)通過后調(diào)用PlanInfoMapper的insert()方法將幫扶計(jì)劃存入數(shù)據(jù)庫表plan_info中進(jìn)行持久化,并返回添加幫扶計(jì)劃成功的信息進(jìn)行提示。
(4)扶貧政策功能實(shí)現(xiàn)。幫扶政策維護(hù)主要是對幫扶政策進(jìn)行添加、修改和刪除的操作,幫扶部門通過政策管理模塊對政策進(jìn)行維護(hù),前端提供相應(yīng)按鈕當(dāng)用戶點(diǎn)擊時會觸發(fā)onclick事件,通過點(diǎn)擊事件的回調(diào)函數(shù)請求后端/policy/manage/接口,PolicyInfoController會對請求作相應(yīng)的處理,調(diào)用IPolicyInfoService接口的實(shí)現(xiàn)類中的相應(yīng)的方法,通過PolicyInfoMapper完成扶貧政策的相關(guān)維護(hù)和查看功能。
本文主要介紹了扶貧信息管理系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn),對系統(tǒng)進(jìn)行了全面的分析,然后進(jìn)行總體結(jié)構(gòu)、功能模塊等方面的設(shè)計(jì),隨后對扶貧管理系統(tǒng)中各個具體模塊的詳細(xì)實(shí)現(xiàn)進(jìn)行了整體描述。經(jīng)過對系統(tǒng)各模塊功能進(jìn)行測試[5],該系統(tǒng)預(yù)期各項(xiàng)功能均已實(shí)現(xiàn)。
由于系統(tǒng)整個開發(fā)周期較短,雖然扶貧信息管理系統(tǒng)預(yù)期功能均已實(shí)現(xiàn),但是仍有需要改進(jìn)的地方,如開發(fā)手機(jī)端App更加方便使用,這將在后續(xù)的研究工作中進(jìn)行完善。
數(shù)字技術(shù)與應(yīng)用2021年11期