CRM-线索:完善线索转客户
parent
f7d41186e4
commit
8675d13548
@ -0,0 +1,125 @@
|
|||||||
|
package cn.iocoder.yudao.module.crm.service.customer.bo;
|
||||||
|
|
||||||
|
import cn.iocoder.yudao.framework.common.validation.Mobile;
|
||||||
|
import cn.iocoder.yudao.framework.common.validation.Telephone;
|
||||||
|
import cn.iocoder.yudao.module.crm.enums.DictTypeConstants;
|
||||||
|
import jakarta.validation.constraints.Email;
|
||||||
|
import jakarta.validation.constraints.NotEmpty;
|
||||||
|
import jakarta.validation.constraints.Size;
|
||||||
|
import lombok.Data;
|
||||||
|
|
||||||
|
import java.time.LocalDateTime;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 客户创建 Create Req BO
|
||||||
|
*
|
||||||
|
* @author HUIHUI
|
||||||
|
*/
|
||||||
|
@Data
|
||||||
|
public class CrmCustomerCreateReqBO {
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 客户名称
|
||||||
|
*/
|
||||||
|
@NotEmpty(message = "客户名称不能为空")
|
||||||
|
private String name;
|
||||||
|
/**
|
||||||
|
* 跟进状态
|
||||||
|
*/
|
||||||
|
private Boolean followUpStatus;
|
||||||
|
/**
|
||||||
|
* 锁定状态
|
||||||
|
*/
|
||||||
|
private Boolean lockStatus;
|
||||||
|
/**
|
||||||
|
* 成交状态
|
||||||
|
*/
|
||||||
|
private Boolean dealStatus;
|
||||||
|
/**
|
||||||
|
* 所属行业
|
||||||
|
*
|
||||||
|
* 对应字典 {@link DictTypeConstants#CRM_CUSTOMER_INDUSTRY}
|
||||||
|
*/
|
||||||
|
private Integer industryId;
|
||||||
|
/**
|
||||||
|
* 客户等级
|
||||||
|
*
|
||||||
|
* 对应字典 {@link DictTypeConstants#CRM_CUSTOMER_LEVEL}
|
||||||
|
*/
|
||||||
|
private Integer level;
|
||||||
|
/**
|
||||||
|
* 客户来源
|
||||||
|
*
|
||||||
|
* 对应字典 {@link DictTypeConstants#CRM_CUSTOMER_SOURCE}
|
||||||
|
*/
|
||||||
|
private Integer source;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 手机
|
||||||
|
*/
|
||||||
|
@Mobile
|
||||||
|
private String mobile;
|
||||||
|
/**
|
||||||
|
* 电话
|
||||||
|
*/
|
||||||
|
@Telephone
|
||||||
|
private String telephone;
|
||||||
|
/**
|
||||||
|
* 网址
|
||||||
|
*/
|
||||||
|
private String website;
|
||||||
|
/**
|
||||||
|
* QQ
|
||||||
|
*/
|
||||||
|
private String qq;
|
||||||
|
/**
|
||||||
|
* wechat
|
||||||
|
*/
|
||||||
|
private String wechat;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 邮箱
|
||||||
|
*/
|
||||||
|
@Email(message = "邮箱格式不正确")
|
||||||
|
private String email;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 客户描述
|
||||||
|
*/
|
||||||
|
@Size(max = 4096, message = "客户描述长度不能超过 4096 个字符")
|
||||||
|
private String description;
|
||||||
|
/**
|
||||||
|
* 备注
|
||||||
|
*/
|
||||||
|
private String remark;
|
||||||
|
/**
|
||||||
|
* 负责人的用户编号
|
||||||
|
*
|
||||||
|
* 关联 AdminUserDO 的 id 字段
|
||||||
|
*/
|
||||||
|
private Long ownerUserId;
|
||||||
|
/**
|
||||||
|
* 所在地
|
||||||
|
*
|
||||||
|
* 关联 {@link cn.iocoder.yudao.framework.ip.core.Area#getId()} 字段
|
||||||
|
*/
|
||||||
|
private Integer areaId;
|
||||||
|
/**
|
||||||
|
* 详细地址
|
||||||
|
*/
|
||||||
|
private String detailAddress;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 最后跟进时间
|
||||||
|
*/
|
||||||
|
private LocalDateTime contactLastTime;
|
||||||
|
/**
|
||||||
|
* 最后跟进内容
|
||||||
|
*/
|
||||||
|
private String contactLastContent;
|
||||||
|
/**
|
||||||
|
* 下次联系时间
|
||||||
|
*/
|
||||||
|
private LocalDateTime contactNextTime;
|
||||||
|
|
||||||
|
}
|
||||||
@ -0,0 +1,78 @@
|
|||||||
|
package cn.iocoder.yudao.module.crm.service.followup.bo;
|
||||||
|
|
||||||
|
import cn.iocoder.yudao.module.crm.dal.dataobject.business.CrmBusinessDO;
|
||||||
|
import cn.iocoder.yudao.module.crm.dal.dataobject.contact.CrmContactDO;
|
||||||
|
import cn.iocoder.yudao.module.crm.enums.DictTypeConstants;
|
||||||
|
import cn.iocoder.yudao.module.crm.enums.common.CrmBizTypeEnum;
|
||||||
|
import jakarta.validation.constraints.NotEmpty;
|
||||||
|
import jakarta.validation.constraints.NotNull;
|
||||||
|
import lombok.Data;
|
||||||
|
|
||||||
|
import java.time.LocalDateTime;
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 跟进信息 Create Req BO
|
||||||
|
*
|
||||||
|
* @author HUIHUI
|
||||||
|
*/
|
||||||
|
@Data
|
||||||
|
public class CrmFollowUpCreateReqBO {
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 数据类型
|
||||||
|
*
|
||||||
|
* 枚举 {@link CrmBizTypeEnum}
|
||||||
|
*/
|
||||||
|
@NotNull(message = "数据类型不能为空")
|
||||||
|
private Integer bizType;
|
||||||
|
/**
|
||||||
|
* 数据编号
|
||||||
|
*
|
||||||
|
* 关联 {@link CrmBizTypeEnum} 对应模块 DO 的 id 字段
|
||||||
|
*/
|
||||||
|
@NotNull(message = "数据编号不能为空")
|
||||||
|
private Long bizId;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 跟进类型
|
||||||
|
*
|
||||||
|
* 关联 {@link DictTypeConstants#CRM_FOLLOW_UP_TYPE} 字典
|
||||||
|
*/
|
||||||
|
@NotNull(message = "跟进类型不能为空")
|
||||||
|
private Integer type;
|
||||||
|
/**
|
||||||
|
* 跟进内容
|
||||||
|
*/
|
||||||
|
@NotEmpty(message = "跟进内容不能为空")
|
||||||
|
private String content;
|
||||||
|
/**
|
||||||
|
* 下次联系时间
|
||||||
|
*/
|
||||||
|
@NotNull(message = "下次联系时间不能为空")
|
||||||
|
private LocalDateTime nextTime;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 图片
|
||||||
|
*/
|
||||||
|
private List<String> picUrls;
|
||||||
|
/**
|
||||||
|
* 附件
|
||||||
|
*/
|
||||||
|
private List<String> fileUrls;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 关联的商机编号数组
|
||||||
|
*
|
||||||
|
* 关联 {@link CrmBusinessDO#getId()}
|
||||||
|
*/
|
||||||
|
private List<Long> businessIds;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 关联的联系人编号数组
|
||||||
|
*
|
||||||
|
* 关联 {@link CrmContactDO#getId()}
|
||||||
|
*/
|
||||||
|
private List<Long> contactIds;
|
||||||
|
|
||||||
|
}
|
||||||
Loading…
Reference in New Issue