feat(crm): 初始化客户与订单模块基础代码
- 新增客户信息实体类及对应业务对象、控制器、服务实现 - 新增正式订单主表与明细表相关实体类和业务逻辑 - 新增订单操作追溯表结构定义 - 配置MyBatis映射文件及基础CRUD接口 - 实现客户与订单的分页查询、导出、新增、修改、删除功能 - 添加Excel导入导出支持及相关VO转换配置
This commit is contained in:
69
klp-crm/src/main/java/com/klp/crm/domain/CrmCustomer.java
Normal file
69
klp-crm/src/main/java/com/klp/crm/domain/CrmCustomer.java
Normal file
@@ -0,0 +1,69 @@
|
||||
package com.klp.crm.domain;
|
||||
|
||||
import com.baomidou.mybatisplus.annotation.*;
|
||||
import com.klp.common.core.domain.BaseEntity;
|
||||
import lombok.Data;
|
||||
import lombok.EqualsAndHashCode;
|
||||
|
||||
|
||||
/**
|
||||
* 客户信息对象 crm_customer
|
||||
*
|
||||
* @author klp
|
||||
* @date 2025-12-15
|
||||
*/
|
||||
@Data
|
||||
@EqualsAndHashCode(callSuper = true)
|
||||
@TableName("crm_customer")
|
||||
public class CrmCustomer extends BaseEntity {
|
||||
|
||||
private static final long serialVersionUID=1L;
|
||||
|
||||
/**
|
||||
* 客户ID(主键)
|
||||
*/
|
||||
@TableId(value = "customer_id")
|
||||
private String customerId;
|
||||
/**
|
||||
* 客户统一编码
|
||||
*/
|
||||
private String customerCode;
|
||||
/**
|
||||
* 公司名称
|
||||
*/
|
||||
private String companyName;
|
||||
/**
|
||||
* 联系人
|
||||
*/
|
||||
private String contactPerson;
|
||||
/**
|
||||
* 联系方式(电话/微信等)
|
||||
*/
|
||||
private String contactWay;
|
||||
/**
|
||||
* 所属行业
|
||||
*/
|
||||
private String industry;
|
||||
/**
|
||||
* 客户等级(如:VIP/普通)
|
||||
*/
|
||||
private String customerLevel;
|
||||
/**
|
||||
* 客户地址(需权限查看)
|
||||
*/
|
||||
private String address;
|
||||
/**
|
||||
* 银行信息(多条,需权限查看,JSON格式存储)
|
||||
*/
|
||||
private String bankInfo;
|
||||
/**
|
||||
* 备注
|
||||
*/
|
||||
private String remark;
|
||||
/**
|
||||
* 删除标识 0正常 2删除
|
||||
*/
|
||||
@TableLogic
|
||||
private Long delFlag;
|
||||
|
||||
}
|
||||
87
klp-crm/src/main/java/com/klp/crm/domain/CrmOrder.java
Normal file
87
klp-crm/src/main/java/com/klp/crm/domain/CrmOrder.java
Normal file
@@ -0,0 +1,87 @@
|
||||
package com.klp.crm.domain;
|
||||
|
||||
import com.baomidou.mybatisplus.annotation.*;
|
||||
import lombok.Data;
|
||||
import lombok.EqualsAndHashCode;
|
||||
|
||||
import java.math.BigDecimal;
|
||||
import java.util.Date;
|
||||
import com.fasterxml.jackson.annotation.JsonFormat;
|
||||
|
||||
/**
|
||||
* 正式订单主对象 crm_order
|
||||
*
|
||||
* @author klp
|
||||
* @date 2025-12-15
|
||||
*/
|
||||
@Data
|
||||
@EqualsAndHashCode(callSuper = true)
|
||||
@TableName("crm_order")
|
||||
public class CrmOrder extends BaseEntity {
|
||||
|
||||
private static final long serialVersionUID=1L;
|
||||
|
||||
/**
|
||||
* 订单ID(主键)
|
||||
*/
|
||||
@TableId(value = "order_id")
|
||||
private String orderId;
|
||||
/**
|
||||
* 订单编号
|
||||
*/
|
||||
private String orderCode;
|
||||
/**
|
||||
* 订单类型:pre-预订单,formal-正式订单
|
||||
*/
|
||||
private Long orderType;
|
||||
/**
|
||||
* 关联客户ID
|
||||
*/
|
||||
private String customerId;
|
||||
/**
|
||||
* 订单总金额
|
||||
*/
|
||||
private BigDecimal orderAmount;
|
||||
/**
|
||||
* 销售员
|
||||
*/
|
||||
private String salesman;
|
||||
/**
|
||||
* 交货日期
|
||||
*/
|
||||
private Date deliveryDate;
|
||||
/**
|
||||
* 预订单状态
|
||||
*/
|
||||
private Long preOrderStatus;
|
||||
/**
|
||||
* 审核人
|
||||
*/
|
||||
private String auditUser;
|
||||
/**
|
||||
* 审核时间
|
||||
*/
|
||||
private Date auditTime;
|
||||
/**
|
||||
* 订单状态
|
||||
*/
|
||||
private Long orderStatus;
|
||||
/**
|
||||
* 财务状态
|
||||
*/
|
||||
private Long financeStatus;
|
||||
/**
|
||||
* 未结款数额
|
||||
*/
|
||||
private BigDecimal unpaidAmount;
|
||||
/**
|
||||
* 备注
|
||||
*/
|
||||
private String remark;
|
||||
/**
|
||||
* 删除标识 0正常 2删除
|
||||
*/
|
||||
@TableLogic
|
||||
private Long delFlag;
|
||||
|
||||
}
|
||||
61
klp-crm/src/main/java/com/klp/crm/domain/CrmOrderItem.java
Normal file
61
klp-crm/src/main/java/com/klp/crm/domain/CrmOrderItem.java
Normal file
@@ -0,0 +1,61 @@
|
||||
package com.klp.crm.domain;
|
||||
|
||||
import com.baomidou.mybatisplus.annotation.*;
|
||||
import lombok.Data;
|
||||
import lombok.EqualsAndHashCode;
|
||||
|
||||
import java.math.BigDecimal;
|
||||
|
||||
/**
|
||||
* 正式订单明细对象 crm_order_item
|
||||
*
|
||||
* @author klp
|
||||
* @date 2025-12-15
|
||||
*/
|
||||
@Data
|
||||
@EqualsAndHashCode(callSuper = true)
|
||||
@TableName("crm_order_item")
|
||||
public class CrmOrderItem extends BaseEntity {
|
||||
|
||||
private static final long serialVersionUID=1L;
|
||||
|
||||
/**
|
||||
* 正式订单明细ID(主键)
|
||||
*/
|
||||
@TableId(value = "item_id")
|
||||
private String itemId;
|
||||
/**
|
||||
* 关联正式订单ID(外键)
|
||||
*/
|
||||
private String orderId;
|
||||
/**
|
||||
* 产品类型
|
||||
*/
|
||||
private String productType;
|
||||
/**
|
||||
* 规格要求
|
||||
*/
|
||||
private String specRequire;
|
||||
/**
|
||||
* 产品数量
|
||||
*/
|
||||
private Long productNum;
|
||||
/**
|
||||
* 特殊要求
|
||||
*/
|
||||
private String specialRequire;
|
||||
/**
|
||||
* 明细金额(单商品金额)
|
||||
*/
|
||||
private BigDecimal itemAmount;
|
||||
/**
|
||||
* 备注
|
||||
*/
|
||||
private String remark;
|
||||
/**
|
||||
* 删除标识 0正常 2删除
|
||||
*/
|
||||
@TableLogic
|
||||
private Long delFlag;
|
||||
|
||||
}
|
||||
@@ -0,0 +1,66 @@
|
||||
package com.klp.crm.domain;
|
||||
|
||||
import com.baomidou.mybatisplus.annotation.*;
|
||||
import lombok.Data;
|
||||
import lombok.EqualsAndHashCode;
|
||||
|
||||
import java.util.Date;
|
||||
import com.fasterxml.jackson.annotation.JsonFormat;
|
||||
|
||||
/**
|
||||
* 订单操作追溯对象 crm_order_operation_trace
|
||||
*
|
||||
* @author klp
|
||||
* @date 2025-12-15
|
||||
*/
|
||||
@Data
|
||||
@EqualsAndHashCode(callSuper = true)
|
||||
@TableName("crm_order_operation_trace")
|
||||
public class CrmOrderOperationTrace extends BaseEntity {
|
||||
|
||||
private static final long serialVersionUID=1L;
|
||||
|
||||
/**
|
||||
* 追溯ID(主键)
|
||||
*/
|
||||
@TableId(value = "trace_id")
|
||||
private String traceId;
|
||||
/**
|
||||
* 关联订单ID(外键)
|
||||
*/
|
||||
private String orderId;
|
||||
/**
|
||||
* 操作类型(如:创建/修改/审核/取消/发货等)
|
||||
*/
|
||||
private String operationType;
|
||||
/**
|
||||
* 操作前状态
|
||||
*/
|
||||
private String oldStatus;
|
||||
/**
|
||||
* 操作后状态
|
||||
*/
|
||||
private String newStatus;
|
||||
/**
|
||||
* 操作内容(如:修改了交货日期)
|
||||
*/
|
||||
private String operationContent;
|
||||
/**
|
||||
* 操作人
|
||||
*/
|
||||
private String operator;
|
||||
/**
|
||||
* 操作时间
|
||||
*/
|
||||
private Date operationTime;
|
||||
/**
|
||||
* 备注
|
||||
*/
|
||||
private String remark;
|
||||
/**
|
||||
* 删除标识 0正常 2删除
|
||||
*/
|
||||
@TableLogic
|
||||
private Long delFlag;
|
||||
|
||||
}
|
||||
@@ -0,0 +1,91 @@
|
||||
package com.klp.crm.domain;
|
||||
|
||||
import com.baomidou.mybatisplus.annotation.*;
|
||||
import lombok.Data;
|
||||
import lombok.EqualsAndHashCode;
|
||||
|
||||
import java.math.BigDecimal;
|
||||
import java.util.Date;
|
||||
import com.fasterxml.jackson.annotation.JsonFormat;
|
||||
|
||||
/**
|
||||
* 销售合同对象 crm_sales_contract
|
||||
*
|
||||
* @author klp
|
||||
* @date 2025-12-15
|
||||
*/
|
||||
@Data
|
||||
@EqualsAndHashCode(callSuper = true)
|
||||
@TableName("crm_sales_contract")
|
||||
public class CrmSalesContract extends BaseEntity {
|
||||
|
||||
private static final long serialVersionUID=1L;
|
||||
|
||||
/**
|
||||
* 合同ID(主键)
|
||||
*/
|
||||
@TableId(value = "contract_id")
|
||||
private String contractId;
|
||||
/**
|
||||
* 合同编号
|
||||
*/
|
||||
private String contractCode;
|
||||
/**
|
||||
* 合同类型
|
||||
*/
|
||||
private Long contractType;
|
||||
/**
|
||||
* 关联客户ID(外键)
|
||||
*/
|
||||
private String customerId;
|
||||
/**
|
||||
* 合同总金额
|
||||
*/
|
||||
private BigDecimal totalAmount;
|
||||
/**
|
||||
* 交货日期
|
||||
*/
|
||||
private Date deliveryDate;
|
||||
/**
|
||||
* 合同状态
|
||||
*/
|
||||
private Long contractStatus;
|
||||
/**
|
||||
* 录入人
|
||||
*/
|
||||
private String createUser;
|
||||
/**
|
||||
* 评审人
|
||||
*/
|
||||
private String reviewUser;
|
||||
/**
|
||||
* 评审时间
|
||||
*/
|
||||
private Date reviewTime;
|
||||
/**
|
||||
* 审核人
|
||||
*/
|
||||
private String auditUser;
|
||||
/**
|
||||
* 审核时间
|
||||
*/
|
||||
private Date auditTime;
|
||||
/**
|
||||
* 下发人
|
||||
*/
|
||||
private String issueUser;
|
||||
/**
|
||||
* 下发时间
|
||||
*/
|
||||
private Date issueTime;
|
||||
/**
|
||||
* 备注
|
||||
*/
|
||||
private String remark;
|
||||
/**
|
||||
* 删除标识 0正常 2删除
|
||||
*/
|
||||
@TableLogic
|
||||
private Long delFlag;
|
||||
|
||||
}
|
||||
@@ -0,0 +1,78 @@
|
||||
package com.klp.crm.domain;
|
||||
|
||||
import com.baomidou.mybatisplus.annotation.*;
|
||||
import lombok.Data;
|
||||
import lombok.EqualsAndHashCode;
|
||||
|
||||
import java.util.Date;
|
||||
import com.fasterxml.jackson.annotation.JsonFormat;
|
||||
|
||||
/**
|
||||
* 销售异议管理对象 crm_sales_objection
|
||||
*
|
||||
* @author klp
|
||||
* @date 2025-12-15
|
||||
*/
|
||||
@Data
|
||||
@EqualsAndHashCode(callSuper = true)
|
||||
@TableName("crm_sales_objection")
|
||||
public class CrmSalesObjection extends BaseEntity {
|
||||
|
||||
private static final long serialVersionUID=1L;
|
||||
|
||||
/**
|
||||
* 异议ID(主键)
|
||||
*/
|
||||
@TableId(value = "objection_id")
|
||||
private String objectionId;
|
||||
/**
|
||||
* 异议编号
|
||||
*/
|
||||
private String objectionCode;
|
||||
/**
|
||||
* 关联订单ID(外键)
|
||||
*/
|
||||
private String orderId;
|
||||
/**
|
||||
* 关联客户ID(外键)
|
||||
*/
|
||||
private String customerId;
|
||||
/**
|
||||
* 异议类型(如:质量异议)
|
||||
*/
|
||||
private String objectionType;
|
||||
/**
|
||||
* 异议内容
|
||||
*/
|
||||
private String objectionContent;
|
||||
/**
|
||||
* 异议状态
|
||||
*/
|
||||
private Long objectionStatus;
|
||||
/**
|
||||
* 处理内容
|
||||
*/
|
||||
private String handleContent;
|
||||
/**
|
||||
* 处理人
|
||||
*/
|
||||
private String handleUser;
|
||||
/**
|
||||
* 处理时间
|
||||
*/
|
||||
private Date handleTime;
|
||||
/**
|
||||
* 结案时间
|
||||
*/
|
||||
private Date closeTime;
|
||||
/**
|
||||
* 备注
|
||||
*/
|
||||
private String remark;
|
||||
/**
|
||||
* 删除标识 0正常 2删除
|
||||
*/
|
||||
@TableLogic
|
||||
private Long delFlag;
|
||||
|
||||
}
|
||||
@@ -0,0 +1,71 @@
|
||||
package com.klp.crm.domain.bo;
|
||||
|
||||
import com.klp.common.core.domain.BaseEntity;
|
||||
import lombok.Data;
|
||||
import lombok.EqualsAndHashCode;
|
||||
import javax.validation.constraints.*;
|
||||
|
||||
|
||||
/**
|
||||
* 客户信息业务对象 crm_customer
|
||||
*
|
||||
* @author klp
|
||||
* @date 2025-12-15
|
||||
*/
|
||||
|
||||
@Data
|
||||
@EqualsAndHashCode(callSuper = true)
|
||||
public class CrmCustomerBo extends BaseEntity {
|
||||
|
||||
/**
|
||||
* 客户ID(主键)
|
||||
*/
|
||||
private String customerId;
|
||||
|
||||
/**
|
||||
* 客户统一编码
|
||||
*/
|
||||
private String customerCode;
|
||||
|
||||
/**
|
||||
* 公司名称
|
||||
*/
|
||||
private String companyName;
|
||||
|
||||
/**
|
||||
* 联系人
|
||||
*/
|
||||
private String contactPerson;
|
||||
|
||||
/**
|
||||
* 联系方式(电话/微信等)
|
||||
*/
|
||||
private String contactWay;
|
||||
|
||||
/**
|
||||
* 所属行业
|
||||
*/
|
||||
private String industry;
|
||||
|
||||
/**
|
||||
* 客户等级(如:VIP/普通)
|
||||
*/
|
||||
private String customerLevel;
|
||||
|
||||
/**
|
||||
* 客户地址(需权限查看)
|
||||
*/
|
||||
private String address;
|
||||
|
||||
/**
|
||||
* 银行信息(多条,需权限查看,JSON格式存储)
|
||||
*/
|
||||
private String bankInfo;
|
||||
|
||||
/**
|
||||
* 备注
|
||||
*/
|
||||
private String remark;
|
||||
|
||||
|
||||
}
|
||||
94
klp-crm/src/main/java/com/klp/crm/domain/bo/CrmOrderBo.java
Normal file
94
klp-crm/src/main/java/com/klp/crm/domain/bo/CrmOrderBo.java
Normal file
@@ -0,0 +1,94 @@
|
||||
package com.klp.crm.domain.bo;
|
||||
|
||||
import com.klp.common.core.domain.BaseEntity;
|
||||
import lombok.Data;
|
||||
import lombok.EqualsAndHashCode;
|
||||
import javax.validation.constraints.*;
|
||||
|
||||
import java.math.BigDecimal;
|
||||
import java.util.Date;
|
||||
import com.fasterxml.jackson.annotation.JsonFormat;
|
||||
|
||||
/**
|
||||
* 正式订单主业务对象 crm_order
|
||||
*
|
||||
* @author klp
|
||||
* @date 2025-12-15
|
||||
*/
|
||||
|
||||
@Data
|
||||
@EqualsAndHashCode(callSuper = true)
|
||||
public class CrmOrderBo extends BaseEntity {
|
||||
|
||||
/**
|
||||
* 订单ID(主键)
|
||||
*/
|
||||
private String orderId;
|
||||
|
||||
/**
|
||||
* 订单编号
|
||||
*/
|
||||
private String orderCode;
|
||||
|
||||
/**
|
||||
* 订单类型:pre-预订单,formal-正式订单
|
||||
*/
|
||||
private Long orderType;
|
||||
|
||||
/**
|
||||
* 关联客户ID
|
||||
*/
|
||||
private String customerId;
|
||||
|
||||
/**
|
||||
* 订单总金额
|
||||
*/
|
||||
private BigDecimal orderAmount;
|
||||
|
||||
/**
|
||||
* 销售员
|
||||
*/
|
||||
private String salesman;
|
||||
|
||||
/**
|
||||
* 交货日期
|
||||
*/
|
||||
private Date deliveryDate;
|
||||
|
||||
/**
|
||||
* 预订单状态
|
||||
*/
|
||||
private Long preOrderStatus;
|
||||
|
||||
/**
|
||||
* 审核人
|
||||
*/
|
||||
private String auditUser;
|
||||
|
||||
/**
|
||||
* 审核时间
|
||||
*/
|
||||
private Date auditTime;
|
||||
|
||||
/**
|
||||
* 订单状态
|
||||
*/
|
||||
private Long orderStatus;
|
||||
|
||||
/**
|
||||
* 财务状态
|
||||
*/
|
||||
private Long financeStatus;
|
||||
|
||||
/**
|
||||
* 未结款数额
|
||||
*/
|
||||
private BigDecimal unpaidAmount;
|
||||
|
||||
/**
|
||||
* 备注
|
||||
*/
|
||||
private String remark;
|
||||
|
||||
|
||||
}
|
||||
@@ -0,0 +1,62 @@
|
||||
package com.klp.crm.domain.bo;
|
||||
|
||||
import com.klp.common.core.domain.BaseEntity;
|
||||
import lombok.Data;
|
||||
import lombok.EqualsAndHashCode;
|
||||
import javax.validation.constraints.*;
|
||||
|
||||
import java.math.BigDecimal;
|
||||
|
||||
/**
|
||||
* 正式订单明细业务对象 crm_order_item
|
||||
*
|
||||
* @author klp
|
||||
* @date 2025-12-15
|
||||
*/
|
||||
|
||||
@Data
|
||||
@EqualsAndHashCode(callSuper = true)
|
||||
public class CrmOrderItemBo extends BaseEntity {
|
||||
|
||||
/**
|
||||
* 正式订单明细ID(主键)
|
||||
*/
|
||||
private String itemId;
|
||||
|
||||
/**
|
||||
* 关联正式订单ID(外键)
|
||||
*/
|
||||
private String orderId;
|
||||
|
||||
/**
|
||||
* 产品类型
|
||||
*/
|
||||
private String productType;
|
||||
|
||||
/**
|
||||
* 规格要求
|
||||
*/
|
||||
private String specRequire;
|
||||
|
||||
/**
|
||||
* 产品数量
|
||||
*/
|
||||
private Long productNum;
|
||||
|
||||
/**
|
||||
* 特殊要求
|
||||
*/
|
||||
private String specialRequire;
|
||||
|
||||
/**
|
||||
* 明细金额(单商品金额)
|
||||
*/
|
||||
private BigDecimal itemAmount;
|
||||
|
||||
/**
|
||||
* 备注
|
||||
*/
|
||||
private String remark;
|
||||
|
||||
|
||||
}
|
||||
@@ -0,0 +1,68 @@
|
||||
package com.klp.crm.domain.bo;
|
||||
|
||||
import com.klp.common.core.domain.BaseEntity;
|
||||
import lombok.Data;
|
||||
import lombok.EqualsAndHashCode;
|
||||
import javax.validation.constraints.*;
|
||||
|
||||
import java.util.Date;
|
||||
import com.fasterxml.jackson.annotation.JsonFormat;
|
||||
|
||||
/**
|
||||
* 订单操作追溯业务对象 crm_order_operation_trace
|
||||
*
|
||||
* @author klp
|
||||
* @date 2025-12-15
|
||||
*/
|
||||
|
||||
@Data
|
||||
@EqualsAndHashCode(callSuper = true)
|
||||
public class CrmOrderOperationTraceBo extends BaseEntity {
|
||||
|
||||
/**
|
||||
* 追溯ID(主键)
|
||||
*/
|
||||
private String traceId;
|
||||
|
||||
/**
|
||||
* 关联订单ID(外键)
|
||||
*/
|
||||
private String orderId;
|
||||
|
||||
/**
|
||||
* 操作类型(如:创建/修改/审核/取消/发货等)
|
||||
*/
|
||||
private String operationType;
|
||||
|
||||
/**
|
||||
* 操作前状态
|
||||
*/
|
||||
private String oldStatus;
|
||||
|
||||
/**
|
||||
* 操作后状态
|
||||
*/
|
||||
private String newStatus;
|
||||
|
||||
/**
|
||||
* 操作内容(如:修改了交货日期)
|
||||
*/
|
||||
private String operationContent;
|
||||
|
||||
/**
|
||||
* 操作人
|
||||
*/
|
||||
private String operator;
|
||||
|
||||
/**
|
||||
* 操作时间
|
||||
*/
|
||||
private Date operationTime;
|
||||
|
||||
/**
|
||||
* 备注
|
||||
*/
|
||||
private String remark;
|
||||
|
||||
|
||||
}
|
||||
@@ -0,0 +1,99 @@
|
||||
package com.klp.crm.domain.bo;
|
||||
|
||||
import com.klp.common.core.domain.BaseEntity;
|
||||
import lombok.Data;
|
||||
import lombok.EqualsAndHashCode;
|
||||
import javax.validation.constraints.*;
|
||||
|
||||
import java.math.BigDecimal;
|
||||
import java.util.Date;
|
||||
import com.fasterxml.jackson.annotation.JsonFormat;
|
||||
|
||||
/**
|
||||
* 销售合同业务对象 crm_sales_contract
|
||||
*
|
||||
* @author klp
|
||||
* @date 2025-12-15
|
||||
*/
|
||||
|
||||
@Data
|
||||
@EqualsAndHashCode(callSuper = true)
|
||||
public class CrmSalesContractBo extends BaseEntity {
|
||||
|
||||
/**
|
||||
* 合同ID(主键)
|
||||
*/
|
||||
private String contractId;
|
||||
|
||||
/**
|
||||
* 合同编号
|
||||
*/
|
||||
private String contractCode;
|
||||
|
||||
/**
|
||||
* 合同类型
|
||||
*/
|
||||
private Long contractType;
|
||||
|
||||
/**
|
||||
* 关联客户ID(外键)
|
||||
*/
|
||||
private String customerId;
|
||||
|
||||
/**
|
||||
* 合同总金额
|
||||
*/
|
||||
private BigDecimal totalAmount;
|
||||
|
||||
/**
|
||||
* 交货日期
|
||||
*/
|
||||
private Date deliveryDate;
|
||||
|
||||
/**
|
||||
* 合同状态
|
||||
*/
|
||||
private Long contractStatus;
|
||||
|
||||
/**
|
||||
* 录入人
|
||||
*/
|
||||
private String createUser;
|
||||
|
||||
/**
|
||||
* 评审人
|
||||
*/
|
||||
private String reviewUser;
|
||||
|
||||
/**
|
||||
* 评审时间
|
||||
*/
|
||||
private Date reviewTime;
|
||||
|
||||
/**
|
||||
* 审核人
|
||||
*/
|
||||
private String auditUser;
|
||||
|
||||
/**
|
||||
* 审核时间
|
||||
*/
|
||||
private Date auditTime;
|
||||
|
||||
/**
|
||||
* 下发人
|
||||
*/
|
||||
private String issueUser;
|
||||
|
||||
/**
|
||||
* 下发时间
|
||||
*/
|
||||
private Date issueTime;
|
||||
|
||||
/**
|
||||
* 备注
|
||||
*/
|
||||
private String remark;
|
||||
|
||||
|
||||
}
|
||||
@@ -0,0 +1,83 @@
|
||||
package com.klp.crm.domain.bo;
|
||||
|
||||
import com.klp.common.core.domain.BaseEntity;
|
||||
import lombok.Data;
|
||||
import lombok.EqualsAndHashCode;
|
||||
import javax.validation.constraints.*;
|
||||
|
||||
import java.util.Date;
|
||||
import com.fasterxml.jackson.annotation.JsonFormat;
|
||||
|
||||
/**
|
||||
* 销售异议管理业务对象 crm_sales_objection
|
||||
*
|
||||
* @author klp
|
||||
* @date 2025-12-15
|
||||
*/
|
||||
|
||||
@Data
|
||||
@EqualsAndHashCode(callSuper = true)
|
||||
public class CrmSalesObjectionBo extends BaseEntity {
|
||||
|
||||
/**
|
||||
* 异议ID(主键)
|
||||
*/
|
||||
private String objectionId;
|
||||
|
||||
/**
|
||||
* 异议编号
|
||||
*/
|
||||
private String objectionCode;
|
||||
|
||||
/**
|
||||
* 关联订单ID(外键)
|
||||
*/
|
||||
private String orderId;
|
||||
|
||||
/**
|
||||
* 关联客户ID(外键)
|
||||
*/
|
||||
private String customerId;
|
||||
|
||||
/**
|
||||
* 异议类型(如:质量异议)
|
||||
*/
|
||||
private String objectionType;
|
||||
|
||||
/**
|
||||
* 异议内容
|
||||
*/
|
||||
private String objectionContent;
|
||||
|
||||
/**
|
||||
* 异议状态
|
||||
*/
|
||||
private Long objectionStatus;
|
||||
|
||||
/**
|
||||
* 处理内容
|
||||
*/
|
||||
private String handleContent;
|
||||
|
||||
/**
|
||||
* 处理人
|
||||
*/
|
||||
private String handleUser;
|
||||
|
||||
/**
|
||||
* 处理时间
|
||||
*/
|
||||
private Date handleTime;
|
||||
|
||||
/**
|
||||
* 结案时间
|
||||
*/
|
||||
private Date closeTime;
|
||||
|
||||
/**
|
||||
* 备注
|
||||
*/
|
||||
private String remark;
|
||||
|
||||
|
||||
}
|
||||
@@ -0,0 +1,88 @@
|
||||
package com.klp.crm.domain.vo;
|
||||
|
||||
import com.alibaba.excel.annotation.ExcelIgnoreUnannotated;
|
||||
import com.alibaba.excel.annotation.ExcelProperty;
|
||||
import com.klp.common.annotation.ExcelDictFormat;
|
||||
import com.klp.common.convert.ExcelDictConvert;
|
||||
import lombok.Data;
|
||||
|
||||
|
||||
/**
|
||||
* 客户信息视图对象 crm_customer
|
||||
*
|
||||
* @author klp
|
||||
* @date 2025-12-15
|
||||
*/
|
||||
@Data
|
||||
@ExcelIgnoreUnannotated
|
||||
public class CrmCustomerVo {
|
||||
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
/**
|
||||
* 客户ID(主键)
|
||||
*/
|
||||
@ExcelProperty(value = "客户ID", converter = ExcelDictConvert.class)
|
||||
@ExcelDictFormat(readConverterExp = "主=键")
|
||||
private String customerId;
|
||||
|
||||
/**
|
||||
* 客户统一编码
|
||||
*/
|
||||
@ExcelProperty(value = "客户统一编码")
|
||||
private String customerCode;
|
||||
|
||||
/**
|
||||
* 公司名称
|
||||
*/
|
||||
@ExcelProperty(value = "公司名称")
|
||||
private String companyName;
|
||||
|
||||
/**
|
||||
* 联系人
|
||||
*/
|
||||
@ExcelProperty(value = "联系人")
|
||||
private String contactPerson;
|
||||
|
||||
/**
|
||||
* 联系方式(电话/微信等)
|
||||
*/
|
||||
@ExcelProperty(value = "联系方式", converter = ExcelDictConvert.class)
|
||||
@ExcelDictFormat(readConverterExp = "电=话/微信等")
|
||||
private String contactWay;
|
||||
|
||||
/**
|
||||
* 所属行业
|
||||
*/
|
||||
@ExcelProperty(value = "所属行业")
|
||||
private String industry;
|
||||
|
||||
/**
|
||||
* 客户等级(如:VIP/普通)
|
||||
*/
|
||||
@ExcelProperty(value = "客户等级", converter = ExcelDictConvert.class)
|
||||
@ExcelDictFormat(readConverterExp = "如=:VIP/普通")
|
||||
private String customerLevel;
|
||||
|
||||
/**
|
||||
* 客户地址(需权限查看)
|
||||
*/
|
||||
@ExcelProperty(value = "客户地址", converter = ExcelDictConvert.class)
|
||||
@ExcelDictFormat(readConverterExp = "需=权限查看")
|
||||
private String address;
|
||||
|
||||
/**
|
||||
* 银行信息(多条,需权限查看,JSON格式存储)
|
||||
*/
|
||||
@ExcelProperty(value = "银行信息", converter = ExcelDictConvert.class)
|
||||
@ExcelDictFormat(readConverterExp = "多=条,需权限查看,JSON格式存储")
|
||||
private String bankInfo;
|
||||
|
||||
/**
|
||||
* 备注
|
||||
*/
|
||||
@ExcelProperty(value = "备注")
|
||||
private String remark;
|
||||
|
||||
|
||||
}
|
||||
@@ -0,0 +1,75 @@
|
||||
package com.klp.crm.domain.vo;
|
||||
|
||||
import java.math.BigDecimal;
|
||||
import com.alibaba.excel.annotation.ExcelIgnoreUnannotated;
|
||||
import com.alibaba.excel.annotation.ExcelProperty;
|
||||
import com.klp.common.annotation.ExcelDictFormat;
|
||||
import com.klp.common.convert.ExcelDictConvert;
|
||||
import lombok.Data;
|
||||
|
||||
|
||||
/**
|
||||
* 正式订单明细视图对象 crm_order_item
|
||||
*
|
||||
* @author klp
|
||||
* @date 2025-12-15
|
||||
*/
|
||||
@Data
|
||||
@ExcelIgnoreUnannotated
|
||||
public class CrmOrderItemVo {
|
||||
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
/**
|
||||
* 正式订单明细ID(主键)
|
||||
*/
|
||||
@ExcelProperty(value = "正式订单明细ID", converter = ExcelDictConvert.class)
|
||||
@ExcelDictFormat(readConverterExp = "主=键")
|
||||
private String itemId;
|
||||
|
||||
/**
|
||||
* 关联正式订单ID(外键)
|
||||
*/
|
||||
@ExcelProperty(value = "关联正式订单ID", converter = ExcelDictConvert.class)
|
||||
@ExcelDictFormat(readConverterExp = "外=键")
|
||||
private String orderId;
|
||||
|
||||
/**
|
||||
* 产品类型
|
||||
*/
|
||||
@ExcelProperty(value = "产品类型")
|
||||
private String productType;
|
||||
|
||||
/**
|
||||
* 规格要求
|
||||
*/
|
||||
@ExcelProperty(value = "规格要求")
|
||||
private String specRequire;
|
||||
|
||||
/**
|
||||
* 产品数量
|
||||
*/
|
||||
@ExcelProperty(value = "产品数量")
|
||||
private Long productNum;
|
||||
|
||||
/**
|
||||
* 特殊要求
|
||||
*/
|
||||
@ExcelProperty(value = "特殊要求")
|
||||
private String specialRequire;
|
||||
|
||||
/**
|
||||
* 明细金额(单商品金额)
|
||||
*/
|
||||
@ExcelProperty(value = "明细金额", converter = ExcelDictConvert.class)
|
||||
@ExcelDictFormat(readConverterExp = "单=商品金额")
|
||||
private BigDecimal itemAmount;
|
||||
|
||||
/**
|
||||
* 备注
|
||||
*/
|
||||
@ExcelProperty(value = "备注")
|
||||
private String remark;
|
||||
|
||||
|
||||
}
|
||||
@@ -0,0 +1,83 @@
|
||||
package com.klp.crm.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.klp.common.annotation.ExcelDictFormat;
|
||||
import com.klp.common.convert.ExcelDictConvert;
|
||||
import lombok.Data;
|
||||
|
||||
|
||||
/**
|
||||
* 订单操作追溯视图对象 crm_order_operation_trace
|
||||
*
|
||||
* @author klp
|
||||
* @date 2025-12-15
|
||||
*/
|
||||
@Data
|
||||
@ExcelIgnoreUnannotated
|
||||
public class CrmOrderOperationTraceVo {
|
||||
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
/**
|
||||
* 追溯ID(主键)
|
||||
*/
|
||||
@ExcelProperty(value = "追溯ID", converter = ExcelDictConvert.class)
|
||||
@ExcelDictFormat(readConverterExp = "主=键")
|
||||
private String traceId;
|
||||
|
||||
/**
|
||||
* 关联订单ID(外键)
|
||||
*/
|
||||
@ExcelProperty(value = "关联订单ID", converter = ExcelDictConvert.class)
|
||||
@ExcelDictFormat(readConverterExp = "外=键")
|
||||
private String orderId;
|
||||
|
||||
/**
|
||||
* 操作类型(如:创建/修改/审核/取消/发货等)
|
||||
*/
|
||||
@ExcelProperty(value = "操作类型", converter = ExcelDictConvert.class)
|
||||
@ExcelDictFormat(readConverterExp = "如=:创建/修改/审核/取消/发货等")
|
||||
private String operationType;
|
||||
|
||||
/**
|
||||
* 操作前状态
|
||||
*/
|
||||
@ExcelProperty(value = "操作前状态")
|
||||
private String oldStatus;
|
||||
|
||||
/**
|
||||
* 操作后状态
|
||||
*/
|
||||
@ExcelProperty(value = "操作后状态")
|
||||
private String newStatus;
|
||||
|
||||
/**
|
||||
* 操作内容(如:修改了交货日期)
|
||||
*/
|
||||
@ExcelProperty(value = "操作内容", converter = ExcelDictConvert.class)
|
||||
@ExcelDictFormat(readConverterExp = "如=:修改了交货日期")
|
||||
private String operationContent;
|
||||
|
||||
/**
|
||||
* 操作人
|
||||
*/
|
||||
@ExcelProperty(value = "操作人")
|
||||
private String operator;
|
||||
|
||||
/**
|
||||
* 操作时间
|
||||
*/
|
||||
@ExcelProperty(value = "操作时间")
|
||||
private Date operationTime;
|
||||
|
||||
/**
|
||||
* 备注
|
||||
*/
|
||||
@ExcelProperty(value = "备注")
|
||||
private String remark;
|
||||
|
||||
|
||||
}
|
||||
111
klp-crm/src/main/java/com/klp/crm/domain/vo/CrmOrderVo.java
Normal file
111
klp-crm/src/main/java/com/klp/crm/domain/vo/CrmOrderVo.java
Normal file
@@ -0,0 +1,111 @@
|
||||
package com.klp.crm.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.klp.common.annotation.ExcelDictFormat;
|
||||
import com.klp.common.convert.ExcelDictConvert;
|
||||
import lombok.Data;
|
||||
|
||||
|
||||
/**
|
||||
* 正式订单主视图对象 crm_order
|
||||
*
|
||||
* @author klp
|
||||
* @date 2025-12-15
|
||||
*/
|
||||
@Data
|
||||
@ExcelIgnoreUnannotated
|
||||
public class CrmOrderVo {
|
||||
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
/**
|
||||
* 订单ID(主键)
|
||||
*/
|
||||
@ExcelProperty(value = "订单ID", converter = ExcelDictConvert.class)
|
||||
@ExcelDictFormat(readConverterExp = "主=键")
|
||||
private String orderId;
|
||||
|
||||
/**
|
||||
* 订单编号
|
||||
*/
|
||||
@ExcelProperty(value = "订单编号")
|
||||
private String orderCode;
|
||||
|
||||
/**
|
||||
* 订单类型:pre-预订单,formal-正式订单
|
||||
*/
|
||||
@ExcelProperty(value = "订单类型:pre-预订单,formal-正式订单")
|
||||
private Long orderType;
|
||||
|
||||
/**
|
||||
* 关联客户ID
|
||||
*/
|
||||
@ExcelProperty(value = "关联客户ID")
|
||||
private String customerId;
|
||||
|
||||
/**
|
||||
* 订单总金额
|
||||
*/
|
||||
@ExcelProperty(value = "订单总金额")
|
||||
private BigDecimal orderAmount;
|
||||
|
||||
/**
|
||||
* 销售员
|
||||
*/
|
||||
@ExcelProperty(value = "销售员")
|
||||
private String salesman;
|
||||
|
||||
/**
|
||||
* 交货日期
|
||||
*/
|
||||
@ExcelProperty(value = "交货日期")
|
||||
private Date deliveryDate;
|
||||
|
||||
/**
|
||||
* 预订单状态
|
||||
*/
|
||||
@ExcelProperty(value = "预订单状态")
|
||||
private Long preOrderStatus;
|
||||
|
||||
/**
|
||||
* 审核人
|
||||
*/
|
||||
@ExcelProperty(value = "审核人")
|
||||
private String auditUser;
|
||||
|
||||
/**
|
||||
* 审核时间
|
||||
*/
|
||||
@ExcelProperty(value = "审核时间")
|
||||
private Date auditTime;
|
||||
|
||||
/**
|
||||
* 订单状态
|
||||
*/
|
||||
@ExcelProperty(value = "订单状态")
|
||||
private Long orderStatus;
|
||||
|
||||
/**
|
||||
* 财务状态
|
||||
*/
|
||||
@ExcelProperty(value = "财务状态")
|
||||
private Long financeStatus;
|
||||
|
||||
/**
|
||||
* 未结款数额
|
||||
*/
|
||||
@ExcelProperty(value = "未结款数额")
|
||||
private BigDecimal unpaidAmount;
|
||||
|
||||
/**
|
||||
* 备注
|
||||
*/
|
||||
@ExcelProperty(value = "备注")
|
||||
private String remark;
|
||||
|
||||
|
||||
}
|
||||
@@ -0,0 +1,118 @@
|
||||
package com.klp.crm.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.klp.common.annotation.ExcelDictFormat;
|
||||
import com.klp.common.convert.ExcelDictConvert;
|
||||
import lombok.Data;
|
||||
|
||||
|
||||
/**
|
||||
* 销售合同视图对象 crm_sales_contract
|
||||
*
|
||||
* @author klp
|
||||
* @date 2025-12-15
|
||||
*/
|
||||
@Data
|
||||
@ExcelIgnoreUnannotated
|
||||
public class CrmSalesContractVo {
|
||||
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
/**
|
||||
* 合同ID(主键)
|
||||
*/
|
||||
@ExcelProperty(value = "合同ID", converter = ExcelDictConvert.class)
|
||||
@ExcelDictFormat(readConverterExp = "主=键")
|
||||
private String contractId;
|
||||
|
||||
/**
|
||||
* 合同编号
|
||||
*/
|
||||
@ExcelProperty(value = "合同编号")
|
||||
private String contractCode;
|
||||
|
||||
/**
|
||||
* 合同类型
|
||||
*/
|
||||
@ExcelProperty(value = "合同类型")
|
||||
private Long contractType;
|
||||
|
||||
/**
|
||||
* 关联客户ID(外键)
|
||||
*/
|
||||
@ExcelProperty(value = "关联客户ID", converter = ExcelDictConvert.class)
|
||||
@ExcelDictFormat(readConverterExp = "外=键")
|
||||
private String customerId;
|
||||
|
||||
/**
|
||||
* 合同总金额
|
||||
*/
|
||||
@ExcelProperty(value = "合同总金额")
|
||||
private BigDecimal totalAmount;
|
||||
|
||||
/**
|
||||
* 交货日期
|
||||
*/
|
||||
@ExcelProperty(value = "交货日期")
|
||||
private Date deliveryDate;
|
||||
|
||||
/**
|
||||
* 合同状态
|
||||
*/
|
||||
@ExcelProperty(value = "合同状态")
|
||||
private Long contractStatus;
|
||||
|
||||
/**
|
||||
* 录入人
|
||||
*/
|
||||
@ExcelProperty(value = "录入人")
|
||||
private String createUser;
|
||||
|
||||
/**
|
||||
* 评审人
|
||||
*/
|
||||
@ExcelProperty(value = "评审人")
|
||||
private String reviewUser;
|
||||
|
||||
/**
|
||||
* 评审时间
|
||||
*/
|
||||
@ExcelProperty(value = "评审时间")
|
||||
private Date reviewTime;
|
||||
|
||||
/**
|
||||
* 审核人
|
||||
*/
|
||||
@ExcelProperty(value = "审核人")
|
||||
private String auditUser;
|
||||
|
||||
/**
|
||||
* 审核时间
|
||||
*/
|
||||
@ExcelProperty(value = "审核时间")
|
||||
private Date auditTime;
|
||||
|
||||
/**
|
||||
* 下发人
|
||||
*/
|
||||
@ExcelProperty(value = "下发人")
|
||||
private String issueUser;
|
||||
|
||||
/**
|
||||
* 下发时间
|
||||
*/
|
||||
@ExcelProperty(value = "下发时间")
|
||||
private Date issueTime;
|
||||
|
||||
/**
|
||||
* 备注
|
||||
*/
|
||||
@ExcelProperty(value = "备注")
|
||||
private String remark;
|
||||
|
||||
|
||||
}
|
||||
@@ -0,0 +1,101 @@
|
||||
package com.klp.crm.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.klp.common.annotation.ExcelDictFormat;
|
||||
import com.klp.common.convert.ExcelDictConvert;
|
||||
import lombok.Data;
|
||||
|
||||
|
||||
/**
|
||||
* 销售异议管理视图对象 crm_sales_objection
|
||||
*
|
||||
* @author klp
|
||||
* @date 2025-12-15
|
||||
*/
|
||||
@Data
|
||||
@ExcelIgnoreUnannotated
|
||||
public class CrmSalesObjectionVo {
|
||||
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
/**
|
||||
* 异议ID(主键)
|
||||
*/
|
||||
@ExcelProperty(value = "异议ID", converter = ExcelDictConvert.class)
|
||||
@ExcelDictFormat(readConverterExp = "主=键")
|
||||
private String objectionId;
|
||||
|
||||
/**
|
||||
* 异议编号
|
||||
*/
|
||||
@ExcelProperty(value = "异议编号")
|
||||
private String objectionCode;
|
||||
|
||||
/**
|
||||
* 关联订单ID(外键)
|
||||
*/
|
||||
@ExcelProperty(value = "关联订单ID", converter = ExcelDictConvert.class)
|
||||
@ExcelDictFormat(readConverterExp = "外=键")
|
||||
private String orderId;
|
||||
|
||||
/**
|
||||
* 关联客户ID(外键)
|
||||
*/
|
||||
@ExcelProperty(value = "关联客户ID", converter = ExcelDictConvert.class)
|
||||
@ExcelDictFormat(readConverterExp = "外=键")
|
||||
private String customerId;
|
||||
|
||||
/**
|
||||
* 异议类型(如:质量异议)
|
||||
*/
|
||||
@ExcelProperty(value = "异议类型", converter = ExcelDictConvert.class)
|
||||
@ExcelDictFormat(readConverterExp = "如=:质量异议")
|
||||
private String objectionType;
|
||||
|
||||
/**
|
||||
* 异议内容
|
||||
*/
|
||||
@ExcelProperty(value = "异议内容")
|
||||
private String objectionContent;
|
||||
|
||||
/**
|
||||
* 异议状态
|
||||
*/
|
||||
@ExcelProperty(value = "异议状态")
|
||||
private Long objectionStatus;
|
||||
|
||||
/**
|
||||
* 处理内容
|
||||
*/
|
||||
@ExcelProperty(value = "处理内容")
|
||||
private String handleContent;
|
||||
|
||||
/**
|
||||
* 处理人
|
||||
*/
|
||||
@ExcelProperty(value = "处理人")
|
||||
private String handleUser;
|
||||
|
||||
/**
|
||||
* 处理时间
|
||||
*/
|
||||
@ExcelProperty(value = "处理时间")
|
||||
private Date handleTime;
|
||||
|
||||
/**
|
||||
* 结案时间
|
||||
*/
|
||||
@ExcelProperty(value = "结案时间")
|
||||
private Date closeTime;
|
||||
|
||||
/**
|
||||
* 备注
|
||||
*/
|
||||
@ExcelProperty(value = "备注")
|
||||
private String remark;
|
||||
|
||||
|
||||
}
|
||||
Reference in New Issue
Block a user