crm项目 客户管理 > 添加客户
背景:添加客户时有一些值是固定的选项,比如:客户信息来源(电话营销、网络营销),客户级别(VIP客户、普通客户)。
在添加客户时,这些可以通过下拉框的形式来选择,防止自行填写时出现不应有的数据,如:客户级别只有vip、普通两种,自行填写时有可能会填一个“至尊”,这就有悖初衷。下拉框中的选项如果直接在显示层(jsp)写死,不便于更改,不够灵活,所以采用ajax技术动态的从数据库中获取,然后动态的添加下拉框选项。
1. 数据库实现
cst_customer表中的cust_level、cust_source、cust_industry字段均引用base_dict表的dict_id字段做外键。
表名:base_dict 描述:数据字典表
表名:cst_customer 描述:客户信息表
2. 实体类
/**
*
* @author Aha
* 客户实体类
*
*/
public class Customer {
private Long cust_id; // ID
private String cust_name; // 客户名称
private String cust_linkman; // 联系人
private String cust_phone; // 固定电话
private String cust_mobile; // 移动电话
/**
* 数据字典类型
*/
private BaseDict cust_source; // 信息来源
private BaseDict cust_level; // 客户级别
private BaseDict cust_industry; // 所属行业
public Long getCust_id() {
return cust_id;
}
public void setCust_id(Long cust_id) {
this.cust_id = cust_id;
}
public String getCust_name() {
return cust_name;
}
@Required
public void setCust_name(String cust_name) {
this.cust_name = cust_name;
}
public String getCust_linkman() {
return cust_linkman;
}
public void setCust_linkman(String cust_linkman) {
this.cust_linkman = cust_linkman;
}
public String getCust_phone() {
return cust_phone;
}
public void setCust_phone(String cust_phone) {
this.cust_phone = cust_phone;
}
public String getCust_mobile() {
return cust_mobile;
}
public void setCust_mobile(String cust_mobile) {
this.cust_mobile = cust_mobile;
}
public BaseDict getCust_source() {
return cust_source;
}
public void setCust_source(BaseDict cust_source) {
this.cust_source = cust_source;
}
public BaseDict getCu