一:预览截图:
用户登录
角色管理
主界面
二:前言介绍:
CRM客户关系管理系统的逐步被关注是随着现代信息技术的提升而出现的一个新世界,它的主要目的就是是利用现代信息技术,例如:Intranet,数据库技术。使客户、产品、服务管理的信息能快速、有序地在企业和客户之间流动,提高客户对企业的满意度,与客户建立长期互相友好的关系,使客户资源能长期有效被企业所运用。CRM的核心思想是以提高客户价值为中心,满足客户的动态需求,改善客户与企业的关系,从而提高企业的市场竞争能力。所以从长久的角度考虑客户信息运用对于企业的效益是关键的,为了不使因为企业人员的流动而导致客户的重要信息资料的流失,CRM管理系统就被摆到一个重要的地位。
三:系统设计
根据上文的功能分析和数据库的分析,在系统的实现阶段上采用当今开源的Spring整合框架实现。其目的是降低个模块间的耦合度,使各个模块之间的功能相互独立、模块内部结构清晰。
系统架构如图所示。整个系统是有多个层次的,数据流动的顺序是从浏览器到数据库,再从数据库到浏览器,中间经过service层,action层和dao层。
如图展示的是层次之间的走向是自左到右,每一个层次都是相互依赖的关系。
用户登录这个客户关系管理系统需要在自己的浏览器上访问特定的网址,然后点击某些功能键后系统在段时间内回复用户访问请求,调用逻辑业务层代码接收请求和妆发请求,在执行访问数据库底层代码,请求经过dao层查询数据库并取出数据一步一步返回给上一层,最终把结论呈现在原来的jsp网页给使用者看。
四: 功能介绍
登录管理时序图
客户管理时序图
系统主页
五:关键代码示例
@Scope("prototype")
@Controller("crmContactAction")
public class CrmContactAction extends ActionSupport {
private CrmContactBiz crmContactBiz;
private int id;
private CrmContact contact;
public CrmContact getContact() {
return contact;
}
private CrmContactVobj contactvobj;
public CrmContactVobj getContactvobj() {
return contactvobj;
}
public void setContactvobj(CrmContactVobj contactvobj) {
this.contactvobj = contactvobj;
}
public void setContact(CrmContact contact) {
this.contact = contact;
}
public void setId(int id) {
this.id = id;
}
public void setCrmContactBiz(CrmContactBiz crmContactBiz) {
this.crmContactBiz = crmContactBiz;
}
public String execute() {
List<CrmContact> list = crmContactBiz.findAllByWhere(contactvobj);
Scopes.getRequestMap().put("listx", list);
return SUCCESS;
}
public String getList() {
//CrmContactByWhere byWe=new CrmContactByWhere(crmCustomerName, cname, cqq, createdateStart, createdateEnd, cmob);
//if (byWe.getcCreatedateEnd()==null&&byWe.getcCreatedateStart()==null&&byWe.getcMob()==null&&byWe.getCname()==null&&byWe.getCqq()==null&&byWe.getCrmCustomerName()==null) {
//byWe=null;
//}
return SUCCESS;
}
public String update(){
crmContactBiz.update(contact);
return "update";
}
//删除
public String del(){
crmContactBiz.deleteFalse(id);
return "delete";
}
public String findOne(){
CrmContact crmContact=crmContactBiz.findOne(id);
Scopes.getRequestMap().put("one",crmContact);
return "findone";
}
public String add(){
crmContactBiz.add(contact);
return "add";
}
public String trashAll(){
Scopes.getRequestMap().put("listx", crmContactBiz.findTrashAll());
return "trash";
}
public String trashAdd(){
crmContactBiz.doTrashAdd(id);
return trashAll();
}
public String trashDel(){
crmContactBiz.deleteById(id);
return trashAll();
}
}
六:论文参考