CRM后端六模块代码生成完毕
This commit is contained in:
99
ruoyi-oa/src/main/java/com/ruoyi/oa/domain/OaBusiness.java
Normal file
99
ruoyi-oa/src/main/java/com/ruoyi/oa/domain/OaBusiness.java
Normal file
@@ -0,0 +1,99 @@
|
||||
package com.ruoyi.oa.domain;
|
||||
|
||||
import com.baomidou.mybatisplus.annotation.*;
|
||||
import lombok.Data;
|
||||
import lombok.EqualsAndHashCode;
|
||||
import java.io.Serializable;
|
||||
import java.util.Date;
|
||||
import java.math.BigDecimal;
|
||||
|
||||
import java.math.BigDecimal;
|
||||
import java.util.Date;
|
||||
import com.fasterxml.jackson.annotation.JsonFormat;
|
||||
import com.ruoyi.common.core.domain.BaseEntity;
|
||||
|
||||
/**
|
||||
* CRM 商机对象 oa_business
|
||||
*
|
||||
* @author ruoyi
|
||||
* @date 2025-03-12
|
||||
*/
|
||||
@Data
|
||||
@EqualsAndHashCode(callSuper = true)
|
||||
@TableName("oa_business")
|
||||
public class OaBusiness extends BaseEntity {
|
||||
|
||||
private static final long serialVersionUID=1L;
|
||||
|
||||
/**
|
||||
* 编号
|
||||
*/
|
||||
@TableId(value = "business_id")
|
||||
private Long businessId;
|
||||
/**
|
||||
* 商机名称
|
||||
*/
|
||||
private String name;
|
||||
/**
|
||||
* 客户编号
|
||||
*/
|
||||
private Long customerId;
|
||||
/**
|
||||
* 跟进状态
|
||||
*/
|
||||
private Integer followUpStatus;
|
||||
/**
|
||||
* 最后跟进时间
|
||||
*/
|
||||
private Date contactLastTime;
|
||||
/**
|
||||
* 下次联系时间
|
||||
*/
|
||||
private Date contactNextTime;
|
||||
/**
|
||||
* 负责人的用户编号
|
||||
*/
|
||||
private Long ownerUserId;
|
||||
/**
|
||||
* 商机状态类型编号
|
||||
*/
|
||||
private Long statusTypeId;
|
||||
/**
|
||||
* 商机状态编号
|
||||
*/
|
||||
private Long statusId;
|
||||
/**
|
||||
* 结束状态:1-赢单 2-输单3-无效
|
||||
*/
|
||||
private Long endStatus;
|
||||
/**
|
||||
* 预计成交日期
|
||||
*/
|
||||
private Date dealTime;
|
||||
/**
|
||||
* 产品总金额,单位:元
|
||||
*/
|
||||
private BigDecimal totalProductPrice;
|
||||
/**
|
||||
* 整单折扣,百分比
|
||||
*/
|
||||
private BigDecimal discountPercent;
|
||||
/**
|
||||
* 商机总金额,单位:元
|
||||
*/
|
||||
private BigDecimal totalPrice;
|
||||
/**
|
||||
* 备注
|
||||
*/
|
||||
private String remark;
|
||||
/**
|
||||
* 结束时的备注
|
||||
*/
|
||||
private String endRemark;
|
||||
/**
|
||||
* 逻辑删除
|
||||
*/
|
||||
@TableLogic
|
||||
private Long delFlag;
|
||||
|
||||
}
|
||||
@@ -0,0 +1,61 @@
|
||||
package com.ruoyi.oa.domain;
|
||||
|
||||
import com.baomidou.mybatisplus.annotation.*;
|
||||
import lombok.Data;
|
||||
import lombok.EqualsAndHashCode;
|
||||
import java.io.Serializable;
|
||||
import java.util.Date;
|
||||
import java.math.BigDecimal;
|
||||
|
||||
import java.math.BigDecimal;
|
||||
import com.ruoyi.common.core.domain.BaseEntity;
|
||||
|
||||
/**
|
||||
* CRM 商机产品关联对象 oa_business_product
|
||||
*
|
||||
* @author ruoyi
|
||||
* @date 2025-03-12
|
||||
*/
|
||||
@Data
|
||||
@EqualsAndHashCode(callSuper = true)
|
||||
@TableName("oa_business_product")
|
||||
public class OaBusinessProduct extends BaseEntity {
|
||||
|
||||
private static final long serialVersionUID=1L;
|
||||
|
||||
/**
|
||||
* 主键
|
||||
*/
|
||||
@TableId(value = "business_product_id")
|
||||
private Long businessProductId;
|
||||
/**
|
||||
* 商机编号
|
||||
*/
|
||||
private Long businessId;
|
||||
/**
|
||||
* 产品编号
|
||||
*/
|
||||
private Long productId;
|
||||
/**
|
||||
* 产品单价
|
||||
*/
|
||||
private BigDecimal productPrice;
|
||||
/**
|
||||
* 商机价格
|
||||
*/
|
||||
private BigDecimal businessPrice;
|
||||
/**
|
||||
* 数量
|
||||
*/
|
||||
private BigDecimal count;
|
||||
/**
|
||||
* 总计价格
|
||||
*/
|
||||
private BigDecimal totalPrice;
|
||||
/**
|
||||
* 是否删除
|
||||
*/
|
||||
@TableLogic
|
||||
private Long delFlag;
|
||||
|
||||
}
|
||||
114
ruoyi-oa/src/main/java/com/ruoyi/oa/domain/OaClue.java
Normal file
114
ruoyi-oa/src/main/java/com/ruoyi/oa/domain/OaClue.java
Normal file
@@ -0,0 +1,114 @@
|
||||
package com.ruoyi.oa.domain;
|
||||
|
||||
import com.baomidou.mybatisplus.annotation.*;
|
||||
import lombok.Data;
|
||||
import lombok.EqualsAndHashCode;
|
||||
import java.io.Serializable;
|
||||
import java.util.Date;
|
||||
import java.math.BigDecimal;
|
||||
|
||||
import java.util.Date;
|
||||
import com.fasterxml.jackson.annotation.JsonFormat;
|
||||
import com.ruoyi.common.core.domain.BaseEntity;
|
||||
|
||||
/**
|
||||
* CRM 线索对象 oa_clue
|
||||
*
|
||||
* @author ruoyi
|
||||
* @date 2025-03-12
|
||||
*/
|
||||
@Data
|
||||
@EqualsAndHashCode(callSuper = true)
|
||||
@TableName("oa_clue")
|
||||
public class OaClue extends BaseEntity {
|
||||
|
||||
private static final long serialVersionUID=1L;
|
||||
|
||||
/**
|
||||
* 编号,主键自增
|
||||
*/
|
||||
@TableId(value = "clue_id")
|
||||
private Long clueId;
|
||||
/**
|
||||
* 线索名称
|
||||
*/
|
||||
private String clueName;
|
||||
/**
|
||||
* 跟进状态
|
||||
*/
|
||||
private Integer followUpStatus;
|
||||
/**
|
||||
* 最后跟进时间
|
||||
*/
|
||||
private Date contactLastTime;
|
||||
/**
|
||||
* 最后跟进内容
|
||||
*/
|
||||
private String contactLastContent;
|
||||
/**
|
||||
* 下次联系时间
|
||||
*/
|
||||
private Date contactNextTime;
|
||||
/**
|
||||
* 负责人的用户编号
|
||||
*/
|
||||
private Long ownerUserId;
|
||||
/**
|
||||
* 转化状态
|
||||
*/
|
||||
private Integer transformStatus;
|
||||
/**
|
||||
* 客户编号
|
||||
*/
|
||||
private Long customerId;
|
||||
/**
|
||||
* 手机号
|
||||
*/
|
||||
private String mobile;
|
||||
/**
|
||||
* 电话
|
||||
*/
|
||||
private String telephone;
|
||||
/**
|
||||
* QQ
|
||||
*/
|
||||
private String qq;
|
||||
/**
|
||||
* 微信
|
||||
*/
|
||||
private String wechat;
|
||||
/**
|
||||
* 邮箱
|
||||
*/
|
||||
private String email;
|
||||
/**
|
||||
* 地区编号
|
||||
*/
|
||||
private Long areaId;
|
||||
/**
|
||||
* 详细地址
|
||||
*/
|
||||
private String detailAddress;
|
||||
/**
|
||||
* 所属行业
|
||||
*/
|
||||
private Long industryId;
|
||||
/**
|
||||
* 客户等级
|
||||
*/
|
||||
private Long level;
|
||||
/**
|
||||
* 客户来源
|
||||
*/
|
||||
private Long source;
|
||||
/**
|
||||
* 备注
|
||||
*/
|
||||
private String remark;
|
||||
/**
|
||||
* 是否删除
|
||||
*/
|
||||
@TableLogic
|
||||
private Long delFlag;
|
||||
|
||||
}
|
||||
114
ruoyi-oa/src/main/java/com/ruoyi/oa/domain/OaCustomer.java
Normal file
114
ruoyi-oa/src/main/java/com/ruoyi/oa/domain/OaCustomer.java
Normal file
@@ -0,0 +1,114 @@
|
||||
package com.ruoyi.oa.domain;
|
||||
|
||||
import com.baomidou.mybatisplus.annotation.*;
|
||||
import lombok.Data;
|
||||
import lombok.EqualsAndHashCode;
|
||||
import java.io.Serializable;
|
||||
import java.util.Date;
|
||||
import java.math.BigDecimal;
|
||||
|
||||
import java.util.Date;
|
||||
import com.fasterxml.jackson.annotation.JsonFormat;
|
||||
import com.ruoyi.common.core.domain.BaseEntity;
|
||||
|
||||
/**
|
||||
* CRM 客户对象 oa_customer
|
||||
*
|
||||
* @author ruoyi
|
||||
* @date 2025-03-12
|
||||
*/
|
||||
@Data
|
||||
@EqualsAndHashCode(callSuper = true)
|
||||
@TableName("oa_customer")
|
||||
public class OaCustomer extends BaseEntity {
|
||||
|
||||
private static final long serialVersionUID=1L;
|
||||
|
||||
/**
|
||||
* 编号,主键自增
|
||||
*/
|
||||
@TableId(value = "customer_id")
|
||||
private Long customerId;
|
||||
/**
|
||||
* 客户名称
|
||||
*/
|
||||
private String name;
|
||||
/**
|
||||
* 跟进状态
|
||||
*/
|
||||
private Integer followUpStatus;
|
||||
/**
|
||||
* 最后跟进时间
|
||||
*/
|
||||
private Date contactLastTime;
|
||||
/**
|
||||
* 最后跟进内容
|
||||
*/
|
||||
private String contactLastContent;
|
||||
/**
|
||||
* 下次联系时间
|
||||
*/
|
||||
private Date contactNextTime;
|
||||
/**
|
||||
* 负责人的用户编号
|
||||
*/
|
||||
private Long ownerUserId;
|
||||
/**
|
||||
* 成为负责人的时间
|
||||
*/
|
||||
private Date ownerTime;
|
||||
/**
|
||||
* 成交状态
|
||||
*/
|
||||
private Long dealStatus;
|
||||
/**
|
||||
* 手机
|
||||
*/
|
||||
private String mobile;
|
||||
/**
|
||||
* 电话
|
||||
*/
|
||||
private String telephone;
|
||||
/**
|
||||
* QQ
|
||||
*/
|
||||
private String qq;
|
||||
/**
|
||||
* 微信
|
||||
*/
|
||||
private String wechat;
|
||||
/**
|
||||
* 邮箱
|
||||
*/
|
||||
private String email;
|
||||
/**
|
||||
* 地区编号
|
||||
*/
|
||||
private Long areaId;
|
||||
/**
|
||||
* 详细地址
|
||||
*/
|
||||
private String detailAddress;
|
||||
/**
|
||||
* 所属行业
|
||||
*/
|
||||
private Long industryId;
|
||||
/**
|
||||
* 客户等级
|
||||
*/
|
||||
private Long level;
|
||||
/**
|
||||
* 客户来源
|
||||
*/
|
||||
private Long source;
|
||||
/**
|
||||
* 备注
|
||||
*/
|
||||
private String remark;
|
||||
/**
|
||||
* 是否删除
|
||||
*/
|
||||
@TableLogic
|
||||
private Long delFlag;
|
||||
|
||||
}
|
||||
@@ -0,0 +1,70 @@
|
||||
package com.ruoyi.oa.domain;
|
||||
|
||||
import com.baomidou.mybatisplus.annotation.*;
|
||||
import lombok.Data;
|
||||
import lombok.EqualsAndHashCode;
|
||||
import java.io.Serializable;
|
||||
import java.util.Date;
|
||||
import java.math.BigDecimal;
|
||||
|
||||
import java.util.Date;
|
||||
import com.fasterxml.jackson.annotation.JsonFormat;
|
||||
import com.ruoyi.common.core.domain.BaseEntity;
|
||||
|
||||
/**
|
||||
* CRM 跟进记录对象 oa_follow_up_record
|
||||
*
|
||||
* @author ruoyi
|
||||
* @date 2025-03-12
|
||||
*/
|
||||
@Data
|
||||
@EqualsAndHashCode(callSuper = true)
|
||||
@TableName("oa_follow_up_record")
|
||||
public class OaFollowUpRecord extends BaseEntity {
|
||||
|
||||
private static final long serialVersionUID=1L;
|
||||
|
||||
/**
|
||||
* 编号
|
||||
*/
|
||||
@TableId(value = "follow_id")
|
||||
private Long followId;
|
||||
/**
|
||||
* 跟进类型
|
||||
*/
|
||||
private Long type;
|
||||
/**
|
||||
* 跟进内容
|
||||
*/
|
||||
private String content;
|
||||
/**
|
||||
* 下次联系时间
|
||||
*/
|
||||
private Date nextTime;
|
||||
/**
|
||||
* 图片
|
||||
*/
|
||||
private String picUrls;
|
||||
/**
|
||||
* 附件
|
||||
*/
|
||||
private String fileUrls;
|
||||
/**
|
||||
* 关联的商机编号数组
|
||||
*/
|
||||
private String businessIds;
|
||||
/**
|
||||
* 暂用此代替商机记录
|
||||
*/
|
||||
private Long businessId;
|
||||
/**
|
||||
* 关联的联系人编号数组
|
||||
*/
|
||||
private String contactIds;
|
||||
/**
|
||||
* 是否删除
|
||||
*/
|
||||
@TableLogic
|
||||
private Long delFlag;
|
||||
|
||||
}
|
||||
68
ruoyi-oa/src/main/java/com/ruoyi/oa/domain/OaProduct.java
Normal file
68
ruoyi-oa/src/main/java/com/ruoyi/oa/domain/OaProduct.java
Normal file
@@ -0,0 +1,68 @@
|
||||
package com.ruoyi.oa.domain;
|
||||
|
||||
import com.baomidou.mybatisplus.annotation.*;
|
||||
import lombok.Data;
|
||||
import lombok.EqualsAndHashCode;
|
||||
import java.io.Serializable;
|
||||
import java.util.Date;
|
||||
import java.math.BigDecimal;
|
||||
|
||||
import java.math.BigDecimal;
|
||||
import com.ruoyi.common.core.domain.BaseEntity;
|
||||
|
||||
/**
|
||||
* CRM 产品对象 oa_product
|
||||
*
|
||||
* @author ruoyi
|
||||
* @date 2025-03-12
|
||||
*/
|
||||
@Data
|
||||
@EqualsAndHashCode(callSuper = true)
|
||||
@TableName("oa_product")
|
||||
public class OaProduct extends BaseEntity {
|
||||
|
||||
private static final long serialVersionUID=1L;
|
||||
|
||||
/**
|
||||
* 产品编号
|
||||
*/
|
||||
@TableId(value = "product_id")
|
||||
private Long productId;
|
||||
/**
|
||||
* 产品名称
|
||||
*/
|
||||
private String productName;
|
||||
/**
|
||||
* 产品编码
|
||||
*/
|
||||
private String productNumber;
|
||||
/**
|
||||
* 单位
|
||||
*/
|
||||
private Long unit;
|
||||
/**
|
||||
* 价格,单位:元
|
||||
*/
|
||||
private BigDecimal price;
|
||||
/**
|
||||
* 状态
|
||||
*/
|
||||
private Long status;
|
||||
/**
|
||||
* 产品分类编号
|
||||
*/
|
||||
private Long categoryId;
|
||||
/**
|
||||
* 产品描述
|
||||
*/
|
||||
private String description;
|
||||
/**
|
||||
* 负责人的用户编号
|
||||
*/
|
||||
private Long ownerUserId;
|
||||
/**
|
||||
* 是否删除
|
||||
*/
|
||||
private Long deleted;
|
||||
|
||||
}
|
||||
124
ruoyi-oa/src/main/java/com/ruoyi/oa/domain/bo/OaBusinessBo.java
Normal file
124
ruoyi-oa/src/main/java/com/ruoyi/oa/domain/bo/OaBusinessBo.java
Normal file
@@ -0,0 +1,124 @@
|
||||
package com.ruoyi.oa.domain.bo;
|
||||
|
||||
import com.ruoyi.common.core.validate.AddGroup;
|
||||
import com.ruoyi.common.core.validate.EditGroup;
|
||||
import lombok.Data;
|
||||
import lombok.EqualsAndHashCode;
|
||||
import javax.validation.constraints.*;
|
||||
|
||||
import java.util.Date;
|
||||
|
||||
import java.math.BigDecimal;
|
||||
import java.util.Date;
|
||||
import com.fasterxml.jackson.annotation.JsonFormat;
|
||||
import com.ruoyi.common.core.domain.BaseEntity;
|
||||
|
||||
/**
|
||||
* CRM 商机业务对象 oa_business
|
||||
*
|
||||
* @author ruoyi
|
||||
* @date 2025-03-12
|
||||
*/
|
||||
|
||||
@Data
|
||||
@EqualsAndHashCode(callSuper = true)
|
||||
public class OaBusinessBo extends BaseEntity {
|
||||
|
||||
/**
|
||||
* 编号
|
||||
*/
|
||||
@NotNull(message = "编号不能为空", groups = { EditGroup.class })
|
||||
private Long businessId;
|
||||
|
||||
/**
|
||||
* 商机名称
|
||||
*/
|
||||
@NotBlank(message = "商机名称不能为空", groups = { AddGroup.class, EditGroup.class })
|
||||
private String name;
|
||||
|
||||
/**
|
||||
* 客户编号
|
||||
*/
|
||||
@NotNull(message = "客户编号不能为空", groups = { AddGroup.class, EditGroup.class })
|
||||
private Long customerId;
|
||||
|
||||
/**
|
||||
* 跟进状态
|
||||
*/
|
||||
@NotNull(message = "跟进状态不能为空", groups = { AddGroup.class, EditGroup.class })
|
||||
private Integer followUpStatus;
|
||||
|
||||
/**
|
||||
* 最后跟进时间
|
||||
*/
|
||||
@NotNull(message = "最后跟进时间不能为空", groups = { AddGroup.class, EditGroup.class })
|
||||
private Date contactLastTime;
|
||||
|
||||
/**
|
||||
* 下次联系时间
|
||||
*/
|
||||
@NotNull(message = "下次联系时间不能为空", groups = { AddGroup.class, EditGroup.class })
|
||||
private Date contactNextTime;
|
||||
|
||||
/**
|
||||
* 负责人的用户编号
|
||||
*/
|
||||
@NotNull(message = "负责人的用户编号不能为空", groups = { AddGroup.class, EditGroup.class })
|
||||
private Long ownerUserId;
|
||||
|
||||
/**
|
||||
* 商机状态类型编号
|
||||
*/
|
||||
@NotNull(message = "商机状态类型编号不能为空", groups = { AddGroup.class, EditGroup.class })
|
||||
private Long statusTypeId;
|
||||
|
||||
/**
|
||||
* 商机状态编号
|
||||
*/
|
||||
@NotNull(message = "商机状态编号不能为空", groups = { AddGroup.class, EditGroup.class })
|
||||
private Long statusId;
|
||||
|
||||
/**
|
||||
* 结束状态:1-赢单 2-输单3-无效
|
||||
*/
|
||||
@NotNull(message = "结束状态:1-赢单 2-输单3-无效不能为空", groups = { AddGroup.class, EditGroup.class })
|
||||
private Long endStatus;
|
||||
|
||||
/**
|
||||
* 预计成交日期
|
||||
*/
|
||||
@NotNull(message = "预计成交日期不能为空", groups = { AddGroup.class, EditGroup.class })
|
||||
private Date dealTime;
|
||||
|
||||
/**
|
||||
* 产品总金额,单位:元
|
||||
*/
|
||||
@NotNull(message = "产品总金额,单位:元不能为空", groups = { AddGroup.class, EditGroup.class })
|
||||
private BigDecimal totalProductPrice;
|
||||
|
||||
/**
|
||||
* 整单折扣,百分比
|
||||
*/
|
||||
@NotNull(message = "整单折扣,百分比不能为空", groups = { AddGroup.class, EditGroup.class })
|
||||
private BigDecimal discountPercent;
|
||||
|
||||
/**
|
||||
* 商机总金额,单位:元
|
||||
*/
|
||||
@NotNull(message = "商机总金额,单位:元不能为空", groups = { AddGroup.class, EditGroup.class })
|
||||
private BigDecimal totalPrice;
|
||||
|
||||
/**
|
||||
* 备注
|
||||
*/
|
||||
@NotBlank(message = "备注不能为空", groups = { AddGroup.class, EditGroup.class })
|
||||
private String remark;
|
||||
|
||||
/**
|
||||
* 结束时的备注
|
||||
*/
|
||||
@NotBlank(message = "结束时的备注不能为空", groups = { AddGroup.class, EditGroup.class })
|
||||
private String endRemark;
|
||||
|
||||
|
||||
}
|
||||
@@ -0,0 +1,68 @@
|
||||
package com.ruoyi.oa.domain.bo;
|
||||
|
||||
import com.ruoyi.common.core.validate.AddGroup;
|
||||
import com.ruoyi.common.core.validate.EditGroup;
|
||||
import lombok.Data;
|
||||
import lombok.EqualsAndHashCode;
|
||||
import javax.validation.constraints.*;
|
||||
|
||||
import java.util.Date;
|
||||
|
||||
import java.math.BigDecimal;
|
||||
import com.ruoyi.common.core.domain.BaseEntity;
|
||||
|
||||
/**
|
||||
* CRM 商机产品关联业务对象 oa_business_product
|
||||
*
|
||||
* @author ruoyi
|
||||
* @date 2025-03-12
|
||||
*/
|
||||
|
||||
@Data
|
||||
@EqualsAndHashCode(callSuper = true)
|
||||
public class OaBusinessProductBo extends BaseEntity {
|
||||
|
||||
/**
|
||||
* 主键
|
||||
*/
|
||||
@NotNull(message = "主键不能为空", groups = { EditGroup.class })
|
||||
private Long businessProductId;
|
||||
|
||||
/**
|
||||
* 商机编号
|
||||
*/
|
||||
@NotNull(message = "商机编号不能为空", groups = { AddGroup.class, EditGroup.class })
|
||||
private Long businessId;
|
||||
|
||||
/**
|
||||
* 产品编号
|
||||
*/
|
||||
@NotNull(message = "产品编号不能为空", groups = { AddGroup.class, EditGroup.class })
|
||||
private Long productId;
|
||||
|
||||
/**
|
||||
* 产品单价
|
||||
*/
|
||||
@NotNull(message = "产品单价不能为空", groups = { AddGroup.class, EditGroup.class })
|
||||
private BigDecimal productPrice;
|
||||
|
||||
/**
|
||||
* 商机价格
|
||||
*/
|
||||
@NotNull(message = "商机价格不能为空", groups = { AddGroup.class, EditGroup.class })
|
||||
private BigDecimal businessPrice;
|
||||
|
||||
/**
|
||||
* 数量
|
||||
*/
|
||||
@NotNull(message = "数量不能为空", groups = { AddGroup.class, EditGroup.class })
|
||||
private BigDecimal count;
|
||||
|
||||
/**
|
||||
* 总计价格
|
||||
*/
|
||||
@NotNull(message = "总计价格不能为空", groups = { AddGroup.class, EditGroup.class })
|
||||
private BigDecimal totalPrice;
|
||||
|
||||
|
||||
}
|
||||
147
ruoyi-oa/src/main/java/com/ruoyi/oa/domain/bo/OaClueBo.java
Normal file
147
ruoyi-oa/src/main/java/com/ruoyi/oa/domain/bo/OaClueBo.java
Normal file
@@ -0,0 +1,147 @@
|
||||
package com.ruoyi.oa.domain.bo;
|
||||
|
||||
import com.ruoyi.common.core.validate.AddGroup;
|
||||
import com.ruoyi.common.core.validate.EditGroup;
|
||||
import lombok.Data;
|
||||
import lombok.EqualsAndHashCode;
|
||||
import javax.validation.constraints.*;
|
||||
|
||||
import java.util.Date;
|
||||
|
||||
import java.util.Date;
|
||||
import com.fasterxml.jackson.annotation.JsonFormat;
|
||||
import com.ruoyi.common.core.domain.BaseEntity;
|
||||
|
||||
/**
|
||||
* CRM 线索业务对象 oa_clue
|
||||
*
|
||||
* @author ruoyi
|
||||
* @date 2025-03-12
|
||||
*/
|
||||
|
||||
@Data
|
||||
@EqualsAndHashCode(callSuper = true)
|
||||
public class OaClueBo extends BaseEntity {
|
||||
|
||||
/**
|
||||
* 编号,主键自增
|
||||
*/
|
||||
@NotNull(message = "编号,主键自增不能为空", groups = { EditGroup.class })
|
||||
private Long clueId;
|
||||
|
||||
/**
|
||||
* 线索名称
|
||||
*/
|
||||
@NotBlank(message = "线索名称不能为空", groups = { AddGroup.class, EditGroup.class })
|
||||
private String clueName;
|
||||
|
||||
/**
|
||||
* 跟进状态
|
||||
*/
|
||||
@NotNull(message = "跟进状态不能为空", groups = { AddGroup.class, EditGroup.class })
|
||||
private Integer followUpStatus;
|
||||
|
||||
/**
|
||||
* 最后跟进时间
|
||||
*/
|
||||
@NotNull(message = "最后跟进时间不能为空", groups = { AddGroup.class, EditGroup.class })
|
||||
private Date contactLastTime;
|
||||
|
||||
/**
|
||||
* 最后跟进内容
|
||||
*/
|
||||
@NotBlank(message = "最后跟进内容不能为空", groups = { AddGroup.class, EditGroup.class })
|
||||
private String contactLastContent;
|
||||
|
||||
/**
|
||||
* 下次联系时间
|
||||
*/
|
||||
@NotNull(message = "下次联系时间不能为空", groups = { AddGroup.class, EditGroup.class })
|
||||
private Date contactNextTime;
|
||||
|
||||
/**
|
||||
* 负责人的用户编号
|
||||
*/
|
||||
@NotNull(message = "负责人的用户编号不能为空", groups = { AddGroup.class, EditGroup.class })
|
||||
private Long ownerUserId;
|
||||
|
||||
/**
|
||||
* 转化状态
|
||||
*/
|
||||
@NotNull(message = "转化状态不能为空", groups = { AddGroup.class, EditGroup.class })
|
||||
private Integer transformStatus;
|
||||
|
||||
/**
|
||||
* 客户编号
|
||||
*/
|
||||
@NotNull(message = "客户编号不能为空", groups = { AddGroup.class, EditGroup.class })
|
||||
private Long customerId;
|
||||
|
||||
/**
|
||||
* 手机号
|
||||
*/
|
||||
@NotBlank(message = "手机号不能为空", groups = { AddGroup.class, EditGroup.class })
|
||||
private String mobile;
|
||||
|
||||
/**
|
||||
* 电话
|
||||
*/
|
||||
@NotBlank(message = "电话不能为空", groups = { AddGroup.class, EditGroup.class })
|
||||
private String telephone;
|
||||
|
||||
/**
|
||||
* QQ
|
||||
*/
|
||||
@NotBlank(message = "QQ不能为空", groups = { AddGroup.class, EditGroup.class })
|
||||
private String qq;
|
||||
|
||||
/**
|
||||
* 微信
|
||||
*/
|
||||
@NotBlank(message = "微信不能为空", groups = { AddGroup.class, EditGroup.class })
|
||||
private String wechat;
|
||||
|
||||
/**
|
||||
* 邮箱
|
||||
*/
|
||||
@NotBlank(message = "邮箱不能为空", groups = { AddGroup.class, EditGroup.class })
|
||||
private String email;
|
||||
|
||||
/**
|
||||
* 地区编号
|
||||
*/
|
||||
@NotNull(message = "地区编号不能为空", groups = { AddGroup.class, EditGroup.class })
|
||||
private Long areaId;
|
||||
|
||||
/**
|
||||
* 详细地址
|
||||
*/
|
||||
@NotBlank(message = "详细地址不能为空", groups = { AddGroup.class, EditGroup.class })
|
||||
private String detailAddress;
|
||||
|
||||
/**
|
||||
* 所属行业
|
||||
*/
|
||||
@NotNull(message = "所属行业不能为空", groups = { AddGroup.class, EditGroup.class })
|
||||
private Long industryId;
|
||||
|
||||
/**
|
||||
* 客户等级
|
||||
*/
|
||||
@NotNull(message = "客户等级不能为空", groups = { AddGroup.class, EditGroup.class })
|
||||
private Long level;
|
||||
|
||||
/**
|
||||
* 客户来源
|
||||
*/
|
||||
@NotNull(message = "客户来源不能为空", groups = { AddGroup.class, EditGroup.class })
|
||||
private Long source;
|
||||
|
||||
/**
|
||||
* 备注
|
||||
*/
|
||||
@NotBlank(message = "备注不能为空", groups = { AddGroup.class, EditGroup.class })
|
||||
private String remark;
|
||||
|
||||
|
||||
}
|
||||
147
ruoyi-oa/src/main/java/com/ruoyi/oa/domain/bo/OaCustomerBo.java
Normal file
147
ruoyi-oa/src/main/java/com/ruoyi/oa/domain/bo/OaCustomerBo.java
Normal file
@@ -0,0 +1,147 @@
|
||||
package com.ruoyi.oa.domain.bo;
|
||||
|
||||
import com.ruoyi.common.core.validate.AddGroup;
|
||||
import com.ruoyi.common.core.validate.EditGroup;
|
||||
import lombok.Data;
|
||||
import lombok.EqualsAndHashCode;
|
||||
import javax.validation.constraints.*;
|
||||
|
||||
import java.util.Date;
|
||||
|
||||
import java.util.Date;
|
||||
import com.fasterxml.jackson.annotation.JsonFormat;
|
||||
import com.ruoyi.common.core.domain.BaseEntity;
|
||||
|
||||
/**
|
||||
* CRM 客户业务对象 oa_customer
|
||||
*
|
||||
* @author ruoyi
|
||||
* @date 2025-03-12
|
||||
*/
|
||||
|
||||
@Data
|
||||
@EqualsAndHashCode(callSuper = true)
|
||||
public class OaCustomerBo extends BaseEntity {
|
||||
|
||||
/**
|
||||
* 编号,主键自增
|
||||
*/
|
||||
@NotNull(message = "编号,主键自增不能为空", groups = { EditGroup.class })
|
||||
private Long customerId;
|
||||
|
||||
/**
|
||||
* 客户名称
|
||||
*/
|
||||
@NotBlank(message = "客户名称不能为空", groups = { AddGroup.class, EditGroup.class })
|
||||
private String name;
|
||||
|
||||
/**
|
||||
* 跟进状态
|
||||
*/
|
||||
@NotNull(message = "跟进状态不能为空", groups = { AddGroup.class, EditGroup.class })
|
||||
private Integer followUpStatus;
|
||||
|
||||
/**
|
||||
* 最后跟进时间
|
||||
*/
|
||||
@NotNull(message = "最后跟进时间不能为空", groups = { AddGroup.class, EditGroup.class })
|
||||
private Date contactLastTime;
|
||||
|
||||
/**
|
||||
* 最后跟进内容
|
||||
*/
|
||||
@NotBlank(message = "最后跟进内容不能为空", groups = { AddGroup.class, EditGroup.class })
|
||||
private String contactLastContent;
|
||||
|
||||
/**
|
||||
* 下次联系时间
|
||||
*/
|
||||
@NotNull(message = "下次联系时间不能为空", groups = { AddGroup.class, EditGroup.class })
|
||||
private Date contactNextTime;
|
||||
|
||||
/**
|
||||
* 负责人的用户编号
|
||||
*/
|
||||
@NotNull(message = "负责人的用户编号不能为空", groups = { AddGroup.class, EditGroup.class })
|
||||
private Long ownerUserId;
|
||||
|
||||
/**
|
||||
* 成为负责人的时间
|
||||
*/
|
||||
@NotNull(message = "成为负责人的时间不能为空", groups = { AddGroup.class, EditGroup.class })
|
||||
private Date ownerTime;
|
||||
|
||||
/**
|
||||
* 成交状态
|
||||
*/
|
||||
@NotNull(message = "成交状态不能为空", groups = { AddGroup.class, EditGroup.class })
|
||||
private Long dealStatus;
|
||||
|
||||
/**
|
||||
* 手机
|
||||
*/
|
||||
@NotBlank(message = "手机不能为空", groups = { AddGroup.class, EditGroup.class })
|
||||
private String mobile;
|
||||
|
||||
/**
|
||||
* 电话
|
||||
*/
|
||||
@NotBlank(message = "电话不能为空", groups = { AddGroup.class, EditGroup.class })
|
||||
private String telephone;
|
||||
|
||||
/**
|
||||
* QQ
|
||||
*/
|
||||
@NotBlank(message = "QQ不能为空", groups = { AddGroup.class, EditGroup.class })
|
||||
private String qq;
|
||||
|
||||
/**
|
||||
* 微信
|
||||
*/
|
||||
@NotBlank(message = "微信不能为空", groups = { AddGroup.class, EditGroup.class })
|
||||
private String wechat;
|
||||
|
||||
/**
|
||||
* 邮箱
|
||||
*/
|
||||
@NotBlank(message = "邮箱不能为空", groups = { AddGroup.class, EditGroup.class })
|
||||
private String email;
|
||||
|
||||
/**
|
||||
* 地区编号
|
||||
*/
|
||||
@NotNull(message = "地区编号不能为空", groups = { AddGroup.class, EditGroup.class })
|
||||
private Long areaId;
|
||||
|
||||
/**
|
||||
* 详细地址
|
||||
*/
|
||||
@NotBlank(message = "详细地址不能为空", groups = { AddGroup.class, EditGroup.class })
|
||||
private String detailAddress;
|
||||
|
||||
/**
|
||||
* 所属行业
|
||||
*/
|
||||
@NotNull(message = "所属行业不能为空", groups = { AddGroup.class, EditGroup.class })
|
||||
private Long industryId;
|
||||
|
||||
/**
|
||||
* 客户等级
|
||||
*/
|
||||
@NotNull(message = "客户等级不能为空", groups = { AddGroup.class, EditGroup.class })
|
||||
private Long level;
|
||||
|
||||
/**
|
||||
* 客户来源
|
||||
*/
|
||||
@NotNull(message = "客户来源不能为空", groups = { AddGroup.class, EditGroup.class })
|
||||
private Long source;
|
||||
|
||||
/**
|
||||
* 备注
|
||||
*/
|
||||
@NotBlank(message = "备注不能为空", groups = { AddGroup.class, EditGroup.class })
|
||||
private String remark;
|
||||
|
||||
|
||||
}
|
||||
@@ -0,0 +1,81 @@
|
||||
package com.ruoyi.oa.domain.bo;
|
||||
|
||||
import com.ruoyi.common.core.validate.AddGroup;
|
||||
import com.ruoyi.common.core.validate.EditGroup;
|
||||
import lombok.Data;
|
||||
import lombok.EqualsAndHashCode;
|
||||
import javax.validation.constraints.*;
|
||||
|
||||
import java.util.Date;
|
||||
|
||||
import java.util.Date;
|
||||
import com.fasterxml.jackson.annotation.JsonFormat;
|
||||
import com.ruoyi.common.core.domain.BaseEntity;
|
||||
|
||||
/**
|
||||
* CRM 跟进记录业务对象 oa_follow_up_record
|
||||
*
|
||||
* @author ruoyi
|
||||
* @date 2025-03-12
|
||||
*/
|
||||
|
||||
@Data
|
||||
@EqualsAndHashCode(callSuper = true)
|
||||
public class OaFollowUpRecordBo extends BaseEntity {
|
||||
|
||||
/**
|
||||
* 编号
|
||||
*/
|
||||
@NotNull(message = "编号不能为空", groups = { EditGroup.class })
|
||||
private Long followId;
|
||||
|
||||
/**
|
||||
* 跟进类型
|
||||
*/
|
||||
@NotNull(message = "跟进类型不能为空", groups = { AddGroup.class, EditGroup.class })
|
||||
private Long type;
|
||||
|
||||
/**
|
||||
* 跟进内容
|
||||
*/
|
||||
@NotBlank(message = "跟进内容不能为空", groups = { AddGroup.class, EditGroup.class })
|
||||
private String content;
|
||||
|
||||
/**
|
||||
* 下次联系时间
|
||||
*/
|
||||
@NotNull(message = "下次联系时间不能为空", groups = { AddGroup.class, EditGroup.class })
|
||||
private Date nextTime;
|
||||
|
||||
/**
|
||||
* 图片
|
||||
*/
|
||||
@NotBlank(message = "图片不能为空", groups = { AddGroup.class, EditGroup.class })
|
||||
private String picUrls;
|
||||
|
||||
/**
|
||||
* 附件
|
||||
*/
|
||||
@NotBlank(message = "附件不能为空", groups = { AddGroup.class, EditGroup.class })
|
||||
private String fileUrls;
|
||||
|
||||
/**
|
||||
* 关联的商机编号数组
|
||||
*/
|
||||
@NotBlank(message = "关联的商机编号数组不能为空", groups = { AddGroup.class, EditGroup.class })
|
||||
private String businessIds;
|
||||
|
||||
/**
|
||||
* 暂用此代替商机记录
|
||||
*/
|
||||
@NotNull(message = "暂用此代替商机记录不能为空", groups = { AddGroup.class, EditGroup.class })
|
||||
private Long businessId;
|
||||
|
||||
/**
|
||||
* 关联的联系人编号数组
|
||||
*/
|
||||
@NotBlank(message = "关联的联系人编号数组不能为空", groups = { AddGroup.class, EditGroup.class })
|
||||
private String contactIds;
|
||||
|
||||
|
||||
}
|
||||
@@ -0,0 +1,86 @@
|
||||
package com.ruoyi.oa.domain.bo;
|
||||
|
||||
import com.ruoyi.common.core.validate.AddGroup;
|
||||
import com.ruoyi.common.core.validate.EditGroup;
|
||||
import lombok.Data;
|
||||
import lombok.EqualsAndHashCode;
|
||||
import javax.validation.constraints.*;
|
||||
|
||||
import java.util.Date;
|
||||
|
||||
import java.math.BigDecimal;
|
||||
import com.ruoyi.common.core.domain.BaseEntity;
|
||||
|
||||
/**
|
||||
* CRM 产品业务对象 oa_product
|
||||
*
|
||||
* @author ruoyi
|
||||
* @date 2025-03-12
|
||||
*/
|
||||
|
||||
@Data
|
||||
@EqualsAndHashCode(callSuper = true)
|
||||
public class OaProductBo extends BaseEntity {
|
||||
|
||||
/**
|
||||
* 产品编号
|
||||
*/
|
||||
@NotNull(message = "产品编号不能为空", groups = { EditGroup.class })
|
||||
private Long productId;
|
||||
|
||||
/**
|
||||
* 产品名称
|
||||
*/
|
||||
@NotBlank(message = "产品名称不能为空", groups = { AddGroup.class, EditGroup.class })
|
||||
private String productName;
|
||||
|
||||
/**
|
||||
* 产品编码
|
||||
*/
|
||||
@NotBlank(message = "产品编码不能为空", groups = { AddGroup.class, EditGroup.class })
|
||||
private String productNumber;
|
||||
|
||||
/**
|
||||
* 单位
|
||||
*/
|
||||
@NotNull(message = "单位不能为空", groups = { AddGroup.class, EditGroup.class })
|
||||
private Long unit;
|
||||
|
||||
/**
|
||||
* 价格,单位:元
|
||||
*/
|
||||
@NotNull(message = "价格,单位:元不能为空", groups = { AddGroup.class, EditGroup.class })
|
||||
private BigDecimal price;
|
||||
|
||||
/**
|
||||
* 状态
|
||||
*/
|
||||
@NotNull(message = "状态不能为空", groups = { AddGroup.class, EditGroup.class })
|
||||
private Long status;
|
||||
|
||||
/**
|
||||
* 产品分类编号
|
||||
*/
|
||||
@NotNull(message = "产品分类编号不能为空", groups = { AddGroup.class, EditGroup.class })
|
||||
private Long categoryId;
|
||||
|
||||
/**
|
||||
* 产品描述
|
||||
*/
|
||||
@NotBlank(message = "产品描述不能为空", groups = { AddGroup.class, EditGroup.class })
|
||||
private String description;
|
||||
|
||||
/**
|
||||
* 负责人的用户编号
|
||||
*/
|
||||
@NotNull(message = "负责人的用户编号不能为空", groups = { AddGroup.class, EditGroup.class })
|
||||
private Long ownerUserId;
|
||||
|
||||
/**
|
||||
* 是否删除
|
||||
*/
|
||||
@NotNull(message = "是否删除不能为空", groups = { AddGroup.class, EditGroup.class })
|
||||
private Long deleted;
|
||||
|
||||
|
||||
}
|
||||
@@ -0,0 +1,68 @@
|
||||
package com.ruoyi.oa.domain.vo;
|
||||
|
||||
import java.math.BigDecimal;
|
||||
import com.alibaba.excel.annotation.ExcelIgnoreUnannotated;
|
||||
import com.alibaba.excel.annotation.ExcelProperty;
|
||||
import com.ruoyi.common.annotation.ExcelDictFormat;
|
||||
import com.ruoyi.common.convert.ExcelDictConvert;
|
||||
import lombok.Data;
|
||||
import java.util.Date;
|
||||
|
||||
|
||||
|
||||
/**
|
||||
* CRM 商机产品关联视图对象 oa_business_product
|
||||
*
|
||||
* @author ruoyi
|
||||
* @date 2025-03-12
|
||||
*/
|
||||
@Data
|
||||
@ExcelIgnoreUnannotated
|
||||
public class OaBusinessProductVo {
|
||||
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
/**
|
||||
* 主键
|
||||
*/
|
||||
@ExcelProperty(value = "主键")
|
||||
private Long businessProductId;
|
||||
|
||||
/**
|
||||
* 商机编号
|
||||
*/
|
||||
@ExcelProperty(value = "商机编号")
|
||||
private Long businessId;
|
||||
|
||||
/**
|
||||
* 产品编号
|
||||
*/
|
||||
@ExcelProperty(value = "产品编号")
|
||||
private Long productId;
|
||||
|
||||
/**
|
||||
* 产品单价
|
||||
*/
|
||||
@ExcelProperty(value = "产品单价")
|
||||
private BigDecimal productPrice;
|
||||
|
||||
/**
|
||||
* 商机价格
|
||||
*/
|
||||
@ExcelProperty(value = "商机价格")
|
||||
private BigDecimal businessPrice;
|
||||
|
||||
/**
|
||||
* 数量
|
||||
*/
|
||||
@ExcelProperty(value = "数量")
|
||||
private BigDecimal count;
|
||||
|
||||
/**
|
||||
* 总计价格
|
||||
*/
|
||||
@ExcelProperty(value = "总计价格")
|
||||
private BigDecimal totalPrice;
|
||||
|
||||
|
||||
}
|
||||
124
ruoyi-oa/src/main/java/com/ruoyi/oa/domain/vo/OaBusinessVo.java
Normal file
124
ruoyi-oa/src/main/java/com/ruoyi/oa/domain/vo/OaBusinessVo.java
Normal file
@@ -0,0 +1,124 @@
|
||||
package com.ruoyi.oa.domain.vo;
|
||||
|
||||
import java.math.BigDecimal;
|
||||
import java.util.Date;
|
||||
import com.fasterxml.jackson.annotation.JsonFormat;
|
||||
import com.alibaba.excel.annotation.ExcelIgnoreUnannotated;
|
||||
import com.alibaba.excel.annotation.ExcelProperty;
|
||||
import com.ruoyi.common.annotation.ExcelDictFormat;
|
||||
import com.ruoyi.common.convert.ExcelDictConvert;
|
||||
import lombok.Data;
|
||||
import java.util.Date;
|
||||
|
||||
|
||||
|
||||
/**
|
||||
* CRM 商机视图对象 oa_business
|
||||
*
|
||||
* @author ruoyi
|
||||
* @date 2025-03-12
|
||||
*/
|
||||
@Data
|
||||
@ExcelIgnoreUnannotated
|
||||
public class OaBusinessVo {
|
||||
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
/**
|
||||
* 编号
|
||||
*/
|
||||
@ExcelProperty(value = "编号")
|
||||
private Long businessId;
|
||||
|
||||
/**
|
||||
* 商机名称
|
||||
*/
|
||||
@ExcelProperty(value = "商机名称")
|
||||
private String name;
|
||||
|
||||
/**
|
||||
* 客户编号
|
||||
*/
|
||||
@ExcelProperty(value = "客户编号")
|
||||
private Long customerId;
|
||||
|
||||
/**
|
||||
* 跟进状态
|
||||
*/
|
||||
@ExcelProperty(value = "跟进状态")
|
||||
private Integer followUpStatus;
|
||||
|
||||
/**
|
||||
* 最后跟进时间
|
||||
*/
|
||||
@ExcelProperty(value = "最后跟进时间")
|
||||
private Date contactLastTime;
|
||||
|
||||
/**
|
||||
* 下次联系时间
|
||||
*/
|
||||
@ExcelProperty(value = "下次联系时间")
|
||||
private Date contactNextTime;
|
||||
|
||||
/**
|
||||
* 负责人的用户编号
|
||||
*/
|
||||
@ExcelProperty(value = "负责人的用户编号")
|
||||
private Long ownerUserId;
|
||||
|
||||
/**
|
||||
* 商机状态类型编号
|
||||
*/
|
||||
@ExcelProperty(value = "商机状态类型编号")
|
||||
private Long statusTypeId;
|
||||
|
||||
/**
|
||||
* 商机状态编号
|
||||
*/
|
||||
@ExcelProperty(value = "商机状态编号")
|
||||
private Long statusId;
|
||||
|
||||
/**
|
||||
* 结束状态:1-赢单 2-输单3-无效
|
||||
*/
|
||||
@ExcelProperty(value = "结束状态:1-赢单 2-输单3-无效")
|
||||
private Long endStatus;
|
||||
|
||||
/**
|
||||
* 预计成交日期
|
||||
*/
|
||||
@ExcelProperty(value = "预计成交日期")
|
||||
private Date dealTime;
|
||||
|
||||
/**
|
||||
* 产品总金额,单位:元
|
||||
*/
|
||||
@ExcelProperty(value = "产品总金额,单位:元")
|
||||
private BigDecimal totalProductPrice;
|
||||
|
||||
/**
|
||||
* 整单折扣,百分比
|
||||
*/
|
||||
@ExcelProperty(value = "整单折扣,百分比")
|
||||
private BigDecimal discountPercent;
|
||||
|
||||
/**
|
||||
* 商机总金额,单位:元
|
||||
*/
|
||||
@ExcelProperty(value = "商机总金额,单位:元")
|
||||
private BigDecimal totalPrice;
|
||||
|
||||
/**
|
||||
* 备注
|
||||
*/
|
||||
@ExcelProperty(value = "备注")
|
||||
private String remark;
|
||||
|
||||
/**
|
||||
* 结束时的备注
|
||||
*/
|
||||
@ExcelProperty(value = "结束时的备注")
|
||||
private String endRemark;
|
||||
|
||||
|
||||
}
|
||||
147
ruoyi-oa/src/main/java/com/ruoyi/oa/domain/vo/OaClueVo.java
Normal file
147
ruoyi-oa/src/main/java/com/ruoyi/oa/domain/vo/OaClueVo.java
Normal file
@@ -0,0 +1,147 @@
|
||||
package com.ruoyi.oa.domain.vo;
|
||||
|
||||
import java.util.Date;
|
||||
import com.fasterxml.jackson.annotation.JsonFormat;
|
||||
import com.alibaba.excel.annotation.ExcelIgnoreUnannotated;
|
||||
import com.alibaba.excel.annotation.ExcelProperty;
|
||||
import com.ruoyi.common.annotation.ExcelDictFormat;
|
||||
import com.ruoyi.common.convert.ExcelDictConvert;
|
||||
import lombok.Data;
|
||||
import java.util.Date;
|
||||
|
||||
|
||||
|
||||
/**
|
||||
* CRM 线索视图对象 oa_clue
|
||||
*
|
||||
* @author ruoyi
|
||||
* @date 2025-03-12
|
||||
*/
|
||||
@Data
|
||||
@ExcelIgnoreUnannotated
|
||||
public class OaClueVo {
|
||||
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
/**
|
||||
* 编号,主键自增
|
||||
*/
|
||||
@ExcelProperty(value = "编号,主键自增")
|
||||
private Long clueId;
|
||||
|
||||
/**
|
||||
* 线索名称
|
||||
*/
|
||||
@ExcelProperty(value = "线索名称")
|
||||
private String clueName;
|
||||
|
||||
/**
|
||||
* 跟进状态
|
||||
*/
|
||||
@ExcelProperty(value = "跟进状态")
|
||||
private Integer followUpStatus;
|
||||
|
||||
/**
|
||||
* 最后跟进时间
|
||||
*/
|
||||
@ExcelProperty(value = "最后跟进时间")
|
||||
private Date contactLastTime;
|
||||
|
||||
/**
|
||||
* 最后跟进内容
|
||||
*/
|
||||
@ExcelProperty(value = "最后跟进内容")
|
||||
private String contactLastContent;
|
||||
|
||||
/**
|
||||
* 下次联系时间
|
||||
*/
|
||||
@ExcelProperty(value = "下次联系时间")
|
||||
private Date contactNextTime;
|
||||
|
||||
/**
|
||||
* 负责人的用户编号
|
||||
*/
|
||||
@ExcelProperty(value = "负责人的用户编号")
|
||||
private Long ownerUserId;
|
||||
|
||||
/**
|
||||
* 转化状态
|
||||
*/
|
||||
@ExcelProperty(value = "转化状态")
|
||||
private Integer transformStatus;
|
||||
|
||||
/**
|
||||
* 客户编号
|
||||
*/
|
||||
@ExcelProperty(value = "客户编号")
|
||||
private Long customerId;
|
||||
|
||||
/**
|
||||
* 手机号
|
||||
*/
|
||||
@ExcelProperty(value = "手机号")
|
||||
private String mobile;
|
||||
|
||||
/**
|
||||
* 电话
|
||||
*/
|
||||
@ExcelProperty(value = "电话")
|
||||
private String telephone;
|
||||
|
||||
/**
|
||||
* QQ
|
||||
*/
|
||||
@ExcelProperty(value = "QQ")
|
||||
private String qq;
|
||||
|
||||
/**
|
||||
* 微信
|
||||
*/
|
||||
@ExcelProperty(value = "微信")
|
||||
private String wechat;
|
||||
|
||||
/**
|
||||
* 邮箱
|
||||
*/
|
||||
@ExcelProperty(value = "邮箱")
|
||||
private String email;
|
||||
|
||||
/**
|
||||
* 地区编号
|
||||
*/
|
||||
@ExcelProperty(value = "地区编号")
|
||||
private Long areaId;
|
||||
|
||||
/**
|
||||
* 详细地址
|
||||
*/
|
||||
@ExcelProperty(value = "详细地址")
|
||||
private String detailAddress;
|
||||
|
||||
/**
|
||||
* 所属行业
|
||||
*/
|
||||
@ExcelProperty(value = "所属行业")
|
||||
private Long industryId;
|
||||
|
||||
/**
|
||||
* 客户等级
|
||||
*/
|
||||
@ExcelProperty(value = "客户等级")
|
||||
private Long level;
|
||||
|
||||
/**
|
||||
* 客户来源
|
||||
*/
|
||||
@ExcelProperty(value = "客户来源")
|
||||
private Long source;
|
||||
|
||||
/**
|
||||
* 备注
|
||||
*/
|
||||
@ExcelProperty(value = "备注")
|
||||
private String remark;
|
||||
|
||||
|
||||
}
|
||||
147
ruoyi-oa/src/main/java/com/ruoyi/oa/domain/vo/OaCustomerVo.java
Normal file
147
ruoyi-oa/src/main/java/com/ruoyi/oa/domain/vo/OaCustomerVo.java
Normal file
@@ -0,0 +1,147 @@
|
||||
package com.ruoyi.oa.domain.vo;
|
||||
|
||||
import java.util.Date;
|
||||
import com.fasterxml.jackson.annotation.JsonFormat;
|
||||
import com.alibaba.excel.annotation.ExcelIgnoreUnannotated;
|
||||
import com.alibaba.excel.annotation.ExcelProperty;
|
||||
import com.ruoyi.common.annotation.ExcelDictFormat;
|
||||
import com.ruoyi.common.convert.ExcelDictConvert;
|
||||
import lombok.Data;
|
||||
import java.util.Date;
|
||||
|
||||
|
||||
|
||||
/**
|
||||
* CRM 客户视图对象 oa_customer
|
||||
*
|
||||
* @author ruoyi
|
||||
* @date 2025-03-12
|
||||
*/
|
||||
@Data
|
||||
@ExcelIgnoreUnannotated
|
||||
public class OaCustomerVo {
|
||||
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
/**
|
||||
* 编号,主键自增
|
||||
*/
|
||||
@ExcelProperty(value = "编号,主键自增")
|
||||
private Long customerId;
|
||||
|
||||
/**
|
||||
* 客户名称
|
||||
*/
|
||||
@ExcelProperty(value = "客户名称")
|
||||
private String name;
|
||||
|
||||
/**
|
||||
* 跟进状态
|
||||
*/
|
||||
@ExcelProperty(value = "跟进状态")
|
||||
private Integer followUpStatus;
|
||||
|
||||
/**
|
||||
* 最后跟进时间
|
||||
*/
|
||||
@ExcelProperty(value = "最后跟进时间")
|
||||
private Date contactLastTime;
|
||||
|
||||
/**
|
||||
* 最后跟进内容
|
||||
*/
|
||||
@ExcelProperty(value = "最后跟进内容")
|
||||
private String contactLastContent;
|
||||
|
||||
/**
|
||||
* 下次联系时间
|
||||
*/
|
||||
@ExcelProperty(value = "下次联系时间")
|
||||
private Date contactNextTime;
|
||||
|
||||
/**
|
||||
* 负责人的用户编号
|
||||
*/
|
||||
@ExcelProperty(value = "负责人的用户编号")
|
||||
private Long ownerUserId;
|
||||
|
||||
/**
|
||||
* 成为负责人的时间
|
||||
*/
|
||||
@ExcelProperty(value = "成为负责人的时间")
|
||||
private Date ownerTime;
|
||||
|
||||
/**
|
||||
* 成交状态
|
||||
*/
|
||||
@ExcelProperty(value = "成交状态")
|
||||
private Long dealStatus;
|
||||
|
||||
/**
|
||||
* 手机
|
||||
*/
|
||||
@ExcelProperty(value = "手机")
|
||||
private String mobile;
|
||||
|
||||
/**
|
||||
* 电话
|
||||
*/
|
||||
@ExcelProperty(value = "电话")
|
||||
private String telephone;
|
||||
|
||||
/**
|
||||
* QQ
|
||||
*/
|
||||
@ExcelProperty(value = "QQ")
|
||||
private String qq;
|
||||
|
||||
/**
|
||||
* 微信
|
||||
*/
|
||||
@ExcelProperty(value = "微信")
|
||||
private String wechat;
|
||||
|
||||
/**
|
||||
* 邮箱
|
||||
*/
|
||||
@ExcelProperty(value = "邮箱")
|
||||
private String email;
|
||||
|
||||
/**
|
||||
* 地区编号
|
||||
*/
|
||||
@ExcelProperty(value = "地区编号")
|
||||
private Long areaId;
|
||||
|
||||
/**
|
||||
* 详细地址
|
||||
*/
|
||||
@ExcelProperty(value = "详细地址")
|
||||
private String detailAddress;
|
||||
|
||||
/**
|
||||
* 所属行业
|
||||
*/
|
||||
@ExcelProperty(value = "所属行业")
|
||||
private Long industryId;
|
||||
|
||||
/**
|
||||
* 客户等级
|
||||
*/
|
||||
@ExcelProperty(value = "客户等级")
|
||||
private Long level;
|
||||
|
||||
/**
|
||||
* 客户来源
|
||||
*/
|
||||
@ExcelProperty(value = "客户来源")
|
||||
private Long source;
|
||||
|
||||
/**
|
||||
* 备注
|
||||
*/
|
||||
@ExcelProperty(value = "备注")
|
||||
private String remark;
|
||||
|
||||
|
||||
}
|
||||
@@ -0,0 +1,81 @@
|
||||
package com.ruoyi.oa.domain.vo;
|
||||
|
||||
import java.util.Date;
|
||||
import com.fasterxml.jackson.annotation.JsonFormat;
|
||||
import com.alibaba.excel.annotation.ExcelIgnoreUnannotated;
|
||||
import com.alibaba.excel.annotation.ExcelProperty;
|
||||
import com.ruoyi.common.annotation.ExcelDictFormat;
|
||||
import com.ruoyi.common.convert.ExcelDictConvert;
|
||||
import lombok.Data;
|
||||
import java.util.Date;
|
||||
|
||||
|
||||
|
||||
/**
|
||||
* CRM 跟进记录视图对象 oa_follow_up_record
|
||||
*
|
||||
* @author ruoyi
|
||||
* @date 2025-03-12
|
||||
*/
|
||||
@Data
|
||||
@ExcelIgnoreUnannotated
|
||||
public class OaFollowUpRecordVo {
|
||||
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
/**
|
||||
* 编号
|
||||
*/
|
||||
@ExcelProperty(value = "编号")
|
||||
private Long followId;
|
||||
|
||||
/**
|
||||
* 跟进类型
|
||||
*/
|
||||
@ExcelProperty(value = "跟进类型")
|
||||
private Long type;
|
||||
|
||||
/**
|
||||
* 跟进内容
|
||||
*/
|
||||
@ExcelProperty(value = "跟进内容")
|
||||
private String content;
|
||||
|
||||
/**
|
||||
* 下次联系时间
|
||||
*/
|
||||
@ExcelProperty(value = "下次联系时间")
|
||||
private Date nextTime;
|
||||
|
||||
/**
|
||||
* 图片
|
||||
*/
|
||||
@ExcelProperty(value = "图片")
|
||||
private String picUrls;
|
||||
|
||||
/**
|
||||
* 附件
|
||||
*/
|
||||
@ExcelProperty(value = "附件")
|
||||
private String fileUrls;
|
||||
|
||||
/**
|
||||
* 关联的商机编号数组
|
||||
*/
|
||||
@ExcelProperty(value = "关联的商机编号数组")
|
||||
private String businessIds;
|
||||
|
||||
/**
|
||||
* 暂用此代替商机记录
|
||||
*/
|
||||
@ExcelProperty(value = "暂用此代替商机记录")
|
||||
private Long businessId;
|
||||
|
||||
/**
|
||||
* 关联的联系人编号数组
|
||||
*/
|
||||
@ExcelProperty(value = "关联的联系人编号数组")
|
||||
private String contactIds;
|
||||
|
||||
|
||||
}
|
||||
@@ -0,0 +1,86 @@
|
||||
package com.ruoyi.oa.domain.vo;
|
||||
|
||||
import java.math.BigDecimal;
|
||||
import com.alibaba.excel.annotation.ExcelIgnoreUnannotated;
|
||||
import com.alibaba.excel.annotation.ExcelProperty;
|
||||
import com.ruoyi.common.annotation.ExcelDictFormat;
|
||||
import com.ruoyi.common.convert.ExcelDictConvert;
|
||||
import lombok.Data;
|
||||
import java.util.Date;
|
||||
|
||||
|
||||
|
||||
/**
|
||||
* CRM 产品视图对象 oa_product
|
||||
*
|
||||
* @author ruoyi
|
||||
* @date 2025-03-12
|
||||
*/
|
||||
@Data
|
||||
@ExcelIgnoreUnannotated
|
||||
public class OaProductVo {
|
||||
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
/**
|
||||
* 产品编号
|
||||
*/
|
||||
@ExcelProperty(value = "产品编号")
|
||||
private Long productId;
|
||||
|
||||
/**
|
||||
* 产品名称
|
||||
*/
|
||||
@ExcelProperty(value = "产品名称")
|
||||
private String productName;
|
||||
|
||||
/**
|
||||
* 产品编码
|
||||
*/
|
||||
@ExcelProperty(value = "产品编码")
|
||||
private String productNumber;
|
||||
|
||||
/**
|
||||
* 单位
|
||||
*/
|
||||
@ExcelProperty(value = "单位")
|
||||
private Long unit;
|
||||
|
||||
/**
|
||||
* 价格,单位:元
|
||||
*/
|
||||
@ExcelProperty(value = "价格,单位:元")
|
||||
private BigDecimal price;
|
||||
|
||||
/**
|
||||
* 状态
|
||||
*/
|
||||
@ExcelProperty(value = "状态")
|
||||
private Long status;
|
||||
|
||||
/**
|
||||
* 产品分类编号
|
||||
*/
|
||||
@ExcelProperty(value = "产品分类编号")
|
||||
private Long categoryId;
|
||||
|
||||
/**
|
||||
* 产品描述
|
||||
*/
|
||||
@ExcelProperty(value = "产品描述")
|
||||
private String description;
|
||||
|
||||
/**
|
||||
* 负责人的用户编号
|
||||
*/
|
||||
@ExcelProperty(value = "负责人的用户编号")
|
||||
private Long ownerUserId;
|
||||
|
||||
/**
|
||||
* 是否删除
|
||||
*/
|
||||
@ExcelProperty(value = "是否删除")
|
||||
private Long deleted;
|
||||
|
||||
|
||||
}
|
||||
Reference in New Issue
Block a user