feat(crm): 添加销售异议管理新字段功能

- 在CrmSalesObjection实体类中新增产品类别、返回日期、投诉情况、客户诉求四个字段
- 在CrmSalesObjectionBo业务对象中同步添加对应字段定义
- 在CrmSalesObjectionVo视图对象中添加字段并配置Excel导出注解
- 更新MyBatis映射文件添加数据库字段映射关系
- 在查询条件构建中增加对新增字段的查询支持
This commit is contained in:
2026-05-09 17:06:27 +08:00
parent 43fb05291e
commit 476c403ab6
5 changed files with 73 additions and 0 deletions

View File

@@ -70,6 +70,27 @@ public class CrmSalesObjection extends BaseEntity {
* 备注 * 备注
*/ */
private String remark; private String remark;
/**
* 产品类别
*/
private String productCategory;
/**
* 返回日期
*/
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
private Date returnDate;
/**
* 投诉情况
*/
private String complaintContent;
/**
* 客户诉求
*/
private String customerDemand;
/** /**
* 删除标识 0正常 2删除 * 删除标识 0正常 2删除
*/ */

View File

@@ -79,5 +79,25 @@ public class CrmSalesObjectionBo extends BaseEntity {
*/ */
private String remark; private String remark;
/**
* 产品类别
*/
private String productCategory;
/**
* 返回日期
*/
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
private Date returnDate;
/**
* 投诉情况
*/
private String complaintContent;
/**
* 客户诉求
*/
private String customerDemand;
} }

View File

@@ -97,5 +97,29 @@ public class CrmSalesObjectionVo {
@ExcelProperty(value = "备注") @ExcelProperty(value = "备注")
private String remark; private String remark;
/**
* 产品类别
*/
@ExcelProperty(value = "产品类别")
private String productCategory;
/**
* 返回日期
*/
@ExcelProperty(value = "返回日期")
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
private Date returnDate;
/**
* 投诉情况
*/
@ExcelProperty(value = "投诉情况")
private String complaintContent;
/**
* 客户诉求
*/
@ExcelProperty(value = "客户诉求")
private String customerDemand;
} }

View File

@@ -71,6 +71,10 @@ public class CrmSalesObjectionServiceImpl implements ICrmSalesObjectionService {
lqw.eq(StringUtils.isNotBlank(bo.getHandleUser()), CrmSalesObjection::getHandleUser, bo.getHandleUser()); lqw.eq(StringUtils.isNotBlank(bo.getHandleUser()), CrmSalesObjection::getHandleUser, bo.getHandleUser());
lqw.eq(bo.getHandleTime() != null, CrmSalesObjection::getHandleTime, bo.getHandleTime()); lqw.eq(bo.getHandleTime() != null, CrmSalesObjection::getHandleTime, bo.getHandleTime());
lqw.eq(bo.getCloseTime() != null, CrmSalesObjection::getCloseTime, bo.getCloseTime()); lqw.eq(bo.getCloseTime() != null, CrmSalesObjection::getCloseTime, bo.getCloseTime());
lqw.eq(StringUtils.isNotBlank(bo.getProductCategory()), CrmSalesObjection::getProductCategory, bo.getProductCategory());
lqw.eq(bo.getReturnDate() != null, CrmSalesObjection::getReturnDate, bo.getReturnDate());
lqw.like(StringUtils.isNotBlank(bo.getComplaintContent()), CrmSalesObjection::getComplaintContent, bo.getComplaintContent());
lqw.like(StringUtils.isNotBlank(bo.getCustomerDemand()), CrmSalesObjection::getCustomerDemand, bo.getCustomerDemand());
return lqw; return lqw;
} }

View File

@@ -17,6 +17,10 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
<result property="handleTime" column="handle_time"/> <result property="handleTime" column="handle_time"/>
<result property="closeTime" column="close_time"/> <result property="closeTime" column="close_time"/>
<result property="remark" column="remark"/> <result property="remark" column="remark"/>
<result property="productCategory" column="product_category"/>
<result property="returnDate" column="return_date"/>
<result property="complaintContent" column="complaint_content"/>
<result property="customerDemand" column="customer_demand"/>
<result property="createBy" column="create_by"/> <result property="createBy" column="create_by"/>
<result property="createTime" column="create_time"/> <result property="createTime" column="create_time"/>
<result property="updateBy" column="update_by"/> <result property="updateBy" column="update_by"/>