潘愷曄
(閩江學(xué)院 福建 福州 350108)
伴隨著互聯(lián)網(wǎng)的快速發(fā)展和信息化時(shí)代的快速降臨,數(shù)據(jù)對(duì)企業(yè)的發(fā)展占據(jù)著越來(lái)越重要的地位。通過數(shù)據(jù)可以分析出客戶更多的信息,發(fā)掘客戶潛在的需求,滿足客戶需要。有利于拉近企業(yè)和客戶之間的關(guān)系,營(yíng)造企業(yè)發(fā)展越來(lái)越好,客戶滿意度越來(lái)越高的良好氛圍。企業(yè)掌握的客戶信息的信息量決定著企業(yè)未來(lái)的發(fā)展前景,但是隨著信息量的增大,信息的管理也越來(lái)越困難,并且還存在著信息丟失的隱患。如果企業(yè)對(duì)信息的管理不夠完善、合理,企業(yè)的發(fā)展將來(lái)就會(huì)受限制,還可能由于信息管理混亂而出現(xiàn)大量的漏洞,需要后期來(lái)整改與維護(hù)。由此可見客戶關(guān)系管理系統(tǒng)對(duì)于企業(yè)管理客戶信息來(lái)說真的是十分必要的。本次的CRM 系統(tǒng)意在幫助企業(yè)解決對(duì)信息管理麻煩的難題。
(1)SSM 框架 jar 包整合:SSM 框架的搭建需要各種 jar 包的支撐。其中包括 Spring jar 包、SpringMVC jar 包、MyBatis jar 包、MySQL 驅(qū)動(dòng)包、jstl jar 包、Junit jar 包。
(2)掌握SSM 框架的開發(fā)流程:jar 包導(dǎo)入、系統(tǒng)層次架構(gòu)搭建、配置文件引入。其中配置文件在SSM 框架項(xiàng)目中發(fā)揮了很大作用。SpringMVC的配置文件中配置了Spring 過濾器以及各個(gè)模塊接受請(qǐng)求、 返回頁(yè)面的路徑配置。
(3)掌握 Spring、SpringMVC、MyBatis 的整合步驟和整合流程。以及各個(gè)框架的作用。
CRM 系統(tǒng)主要是保存和管理客戶信息。該系統(tǒng)分為用戶操作部分和客戶操作部分。用戶操作部分主要是用戶自身信息的保存,如用戶個(gè)人信息的錄入、對(duì)用戶的賦權(quán)操作??蛻舨僮鞑糠种饕遣榭纯蛻舭菰L記錄。該系統(tǒng)有管理員權(quán)限組、銷售部權(quán)限組等不同的權(quán)限組[1]。創(chuàng)建權(quán)限組的同時(shí)會(huì)給不同的權(quán)限組賦予不同的操作權(quán)限。用戶登錄需要進(jìn)行登錄校驗(yàn)、登錄后每進(jìn)行一個(gè)操作都需要先鑒定該用戶所屬的權(quán)限組是否具備相應(yīng)的權(quán)限,有相應(yīng)的權(quán)限則允許進(jìn)入到對(duì)應(yīng)的操作界面,沒有該權(quán)限進(jìn)入到對(duì)應(yīng)的提示頁(yè)面。
根據(jù)上述的問題分析,該系統(tǒng)具有如下功能模塊:用戶登錄、客戶拜訪、部門設(shè)置、人事管理、操作權(quán)限組管理模塊、省份資料管理模塊等模塊。
(1)用戶登錄。用戶登錄時(shí)需要對(duì)用戶姓名、登錄密碼以及驗(yàn)證碼進(jìn)行校驗(yàn)。登錄時(shí)有記住密碼功能,使用cookie 的方法將用戶名和密碼保存到本地電腦上,再設(shè)置一個(gè)cookie 的有效時(shí)間為7 天[2]。
(2)客戶拜訪。該功能主要是用戶用于記錄客戶拜訪記錄,如改登陸用戶將于XX 時(shí)候應(yīng)該拜訪XX 客戶。
(3)部門設(shè)置。該模塊主要是設(shè)置部門的基礎(chǔ)信息。其中部門刪除時(shí)需要級(jí)聯(lián)刪除該部門下的所有用戶。
(4)人事管理。人事管理包括設(shè)置系統(tǒng)用戶的個(gè)人信息以及更改用戶的狀態(tài)。用戶的狀態(tài)為停用時(shí)無(wú)法登陸該系統(tǒng)。當(dāng)用戶狀態(tài)變成停用時(shí)該用戶將無(wú)法登陸到本系統(tǒng)中,但是用戶的信息仍然保留。
(5)操作權(quán)限組管理。該功能模塊主要是為不同的用戶角色分配不同的操作權(quán)限。具體細(xì)化到為每個(gè)權(quán)限組分配可以操作哪些功能模塊下的哪些操作。具體實(shí)現(xiàn)是通過自定義過濾器實(shí)現(xiàn)的。
(6)省份資料。該模塊主要是設(shè)置省份的基本信息。定義客戶信息時(shí)客戶的省份信息即是來(lái)自于該模塊定義好的省份。
該系統(tǒng)共有五大功能模塊,分別有:客戶拜訪、部門設(shè)置、人事管理、 操作權(quán)限組管理、 省份資料五大模塊。每個(gè)功能模塊都是通過JaveBean 對(duì)象來(lái)傳輸數(shù)據(jù)的。
該CRM 系統(tǒng)共有客戶拜訪、部門設(shè)置、人事管理、操作權(quán)限組管理、省份資料五大模塊,系統(tǒng)模塊結(jié)構(gòu)如圖1 所示。
圖1 系統(tǒng)模塊結(jié)構(gòu)圖
2.1.1 客戶拜訪
系統(tǒng)用戶保存客戶的所需信息,并且記錄下次拜訪客戶的時(shí)間。該模塊除了對(duì)客戶信息增刪改查外,還可以修改客戶下次的聯(lián)系時(shí)間、也可以將客戶資料共享給其他用戶。
2.1.2 部門設(shè)置
部門信息包括部門名稱、部門負(fù)責(zé)人、部門職能和部門備注信息。該功能主要是實(shí)現(xiàn)部門的增刪改查功能。
2.1.3 人事管理
該功能模塊主要是設(shè)置系統(tǒng)用戶的個(gè)人信息,包括所屬部門和所屬的權(quán)限操作組。并且該模塊可以設(shè)置用戶的狀態(tài)(停用或者啟用)。設(shè)置用戶為停用狀態(tài)后,用戶存在但是無(wú)法登錄。
2.1.4 操作權(quán)限組管理
常用的限制不同用戶的權(quán)限操作的方式有兩種。其一,可以通過判斷不同用戶所屬權(quán)限組來(lái)顯示功能頁(yè)面,不具備的權(quán)限菜單不會(huì)顯示出來(lái)。其二,不同權(quán)限組的用戶登錄后的界面一樣,只是每次訪問一個(gè)功能界面時(shí)會(huì)進(jìn)行權(quán)限判斷。本系統(tǒng)選擇后者,通過自定義過濾器為不同用戶賦權(quán)。
2.1.5 省份資料
該功能模塊是管理省份信息的,該省份級(jí)聯(lián)到客戶拜訪功能。在客戶拜訪模塊中設(shè)置省份時(shí)省份選擇和該模塊有關(guān)。
該系統(tǒng)使用的是B/S 架構(gòu)。前臺(tái)頁(yè)面通過JSP 來(lái)完成顯示的,頁(yè)面樣式的調(diào)節(jié)則是使用 HTML5、CSS3、JQuery 等相關(guān)技術(shù)[3]。前臺(tái)顯示頁(yè)面的設(shè)計(jì)是:瀏覽器頁(yè)面分為三個(gè)部分。頁(yè)面的上半部分單獨(dú)用來(lái)顯示系統(tǒng)名稱,左邊是一個(gè)樹狀結(jié)構(gòu)的導(dǎo)航菜單欄,右邊是用來(lái)顯示點(diǎn)擊菜單欄后的對(duì)應(yīng)頁(yè)面。左邊的導(dǎo)航欄是Z-Tree 框架來(lái)搭建的。在該導(dǎo)航欄側(cè)實(shí)現(xiàn)了客戶管理下面有一個(gè)客戶拜訪的分支,系統(tǒng)設(shè)置模塊下面有部門設(shè)置模塊,人事管理模塊,操作權(quán)限組模塊,省份資料這幾個(gè)分支模塊。每一個(gè)模塊被賦予了一個(gè)點(diǎn)擊事件,當(dāng)點(diǎn)擊某個(gè)模塊觸發(fā)點(diǎn)擊事件后右邊的窗格就會(huì)顯示點(diǎn)擊模塊的名稱和對(duì)應(yīng)模塊的內(nèi)容。
在系統(tǒng)架構(gòu)層中,表示層是通過JSP頁(yè)面來(lái)進(jìn)行交互的,用戶發(fā)起請(qǐng)求后由Action 類接收請(qǐng)求并處理請(qǐng)求[4]。并跳轉(zhuǎn)到對(duì)應(yīng)的響應(yīng)頁(yè)面。在業(yè)務(wù)邏輯層是在用戶發(fā)起請(qǐng)求后,Action 類接收請(qǐng)求調(diào)用邏輯層的方法,接收業(yè)務(wù)邏輯層的返回結(jié)果。在數(shù)據(jù)訪問層中是和數(shù)據(jù)庫(kù)進(jìn)行交互處理請(qǐng)求發(fā)送過來(lái)的數(shù)據(jù),將處理的結(jié)果返回給業(yè)務(wù)層[5]。該系統(tǒng)的SSM 框架也實(shí)現(xiàn)了系統(tǒng)的層次劃分。
在登錄該系統(tǒng)時(shí)需要對(duì)用戶姓名、登錄密碼和登錄時(shí)的驗(yàn)證碼進(jìn)行驗(yàn)證,并且可以選擇”記住密碼”按鈕。記住密碼的有效期是7 天。因此記住密碼后七天內(nèi)都可以無(wú)須輸入密碼即可登錄。
用戶點(diǎn)擊“客戶拜訪”是就會(huì)顯示到客戶拜訪頁(yè)面,進(jìn)入到該頁(yè)面就可以點(diǎn)擊進(jìn)行相應(yīng)的操作,如修改下次拜訪時(shí)間、更改客戶信息、查詢客戶、客戶共享、經(jīng)手人變更等操作。
用戶進(jìn)入部門設(shè)置頁(yè)面后,可以管理部門的相關(guān)信息。其中該模塊中主要的一個(gè)操作是刪除操作,刪除部門時(shí)涉及到級(jí)聯(lián)操作。是該模塊的主要操作。部門設(shè)置界面如圖2 所示。
圖2 部門設(shè)置界面
部門查詢關(guān)鍵代碼如下:
String whereHql="";
if(sysUserGroupSearch! =null){
if(StringUtils.isNotBlank(sysUserGroupSearch.getName())){
whereHql=whereHql+"and o.name like?";
paramList.add("%"+sysUserGroupSearch.getName().trim()+"%");
}
}
Object[]params=paramList.toArray();
LinkedHashMap<String,String>orderby=newLinkedHashMap<String,String>();
returniSysUserGroupDao.getObjectsByConditionWithNoPage(whereHql,params,orderby);
部門刪除時(shí)不僅刪除部門的信息,同時(shí)也會(huì)級(jí)聯(lián)刪除該部門下的所有用戶[5]。關(guān)鍵代碼如下:
for(int i=0;i<groupIds.length;i++){
if(i==0){
whereHql=whereHql+"and o.sysUserGroup.id in(?";
paramList.add(groupIds[i])[6];
}else if(i! =(groupIds.length-1)){
whereHql=whereHql+",?";
paramList.add(groupIds[i]);
}else{
whereHql=whereHql+",?)";
paramList.add(groupIds[i]);
}
}
人事管理模塊根據(jù)條件搜索用戶、添加用戶信息、修改用戶狀態(tài)、設(shè)置用戶權(quán)限。如果想阻止某一用戶但是又不想刪除該用戶的狀態(tài)下可以將該用戶設(shè)置為停用狀態(tài)。
該模塊是本系統(tǒng)的一個(gè)重要模塊之一,主要是設(shè)置各個(gè)模塊組的權(quán)限。其中該模塊的功能細(xì)化至對(duì)每個(gè)模塊的增刪改查以及其他功能操作權(quán)限的分配。實(shí)現(xiàn)步驟是先從數(shù)據(jù)庫(kù)中查詢出所有模塊組,然后依次查詢出每個(gè)模塊組下面的具體操作。對(duì)某一操作組賦權(quán)之后,也是按照模塊將對(duì)應(yīng)操作功能保存在數(shù)據(jù)庫(kù)中。
該模塊功能簡(jiǎn)單,主要是定義一些省份信息。但是該模塊也不能省略,增添客戶信息時(shí),省份的選擇的數(shù)據(jù)即來(lái)自于該處。
客戶關(guān)系管理系統(tǒng)主要是面向企業(yè)的,為方便企業(yè)管理客戶信息而設(shè)計(jì)的。該系統(tǒng)有客戶拜訪、部門設(shè)置、人事管理、操作權(quán)限組管理、省份資料等功能模塊為系統(tǒng)為企業(yè)管理客戶資料節(jié)約成本的同時(shí)也提高了企業(yè)的執(zhí)行效率。
該系統(tǒng)解決了可以跨時(shí)間、跨地域的收集、保存、分析和管理客戶數(shù)據(jù)的難題。該系統(tǒng)根據(jù)不同的用戶角色為每個(gè)用戶分配不同的操作權(quán)限。用戶不僅可以管理自己客戶的信息資料,還可以實(shí)現(xiàn)客戶資料共享。該系統(tǒng)為企業(yè)節(jié)約了大量的人力物力。幫助企業(yè)解決客戶資料容易丟失和資料丟失無(wú)據(jù)可查的問題,解決客戶資料管理麻煩的難題。為企業(yè)創(chuàng)造最大利益的同時(shí),提高客戶的滿意程度。
山東農(nóng)業(yè)工程學(xué)院學(xué)報(bào)2019年8期