|
@@ -3,17 +3,20 @@ package cn.iocoder.yudao.module.crm.controller.admin.customer.vo;
|
|
|
import cn.iocoder.yudao.framework.common.validation.InEnum;
|
|
|
import cn.iocoder.yudao.framework.common.validation.Mobile;
|
|
|
import cn.iocoder.yudao.framework.common.validation.Telephone;
|
|
|
+import cn.iocoder.yudao.framework.excel.core.annotations.DictFormat;
|
|
|
import cn.iocoder.yudao.module.crm.enums.customer.CrmCustomerLevelEnum;
|
|
|
+import com.mzt.logapi.starter.annotation.DiffLogField;
|
|
|
import io.swagger.v3.oas.annotations.media.Schema;
|
|
|
-import lombok.Data;
|
|
|
-import org.springframework.format.annotation.DateTimeFormat;
|
|
|
-
|
|
|
import jakarta.validation.constraints.Email;
|
|
|
import jakarta.validation.constraints.NotEmpty;
|
|
|
import jakarta.validation.constraints.Size;
|
|
|
+import lombok.Data;
|
|
|
+import org.springframework.format.annotation.DateTimeFormat;
|
|
|
+
|
|
|
import java.time.LocalDateTime;
|
|
|
|
|
|
import static cn.iocoder.yudao.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND;
|
|
|
+import static cn.iocoder.yudao.module.crm.enums.DictTypeConstants.CRM_CUSTOMER_INDUSTRY;
|
|
|
|
|
|
/**
|
|
|
* 客户 Base VO,提供给添加、修改、详细的子 VO 使用
|
|
@@ -23,57 +26,73 @@ import static cn.iocoder.yudao.framework.common.util.date.DateUtils.FORMAT_YEAR_
|
|
|
public class CrmCustomerBaseVO {
|
|
|
|
|
|
@Schema(description = "客户名称", requiredMode = Schema.RequiredMode.REQUIRED, example = "赵六")
|
|
|
+ @DiffLogField(name = "客户名称")
|
|
|
@NotEmpty(message = "客户名称不能为空")
|
|
|
private String name;
|
|
|
|
|
|
@Schema(description = "所属行业", example = "1")
|
|
|
+ @DiffLogField(name = "所属行业", function = "getIndustryById")
|
|
|
+ @DictFormat(CRM_CUSTOMER_INDUSTRY)
|
|
|
private Integer industryId;
|
|
|
|
|
|
@Schema(description = "客户等级", example = "2")
|
|
|
+ @DiffLogField(name = "客户等级", function = "getLevel")
|
|
|
@InEnum(CrmCustomerLevelEnum.class)
|
|
|
private Integer level;
|
|
|
|
|
|
@Schema(description = "客户来源", example = "3")
|
|
|
+ @DiffLogField(name = "客户来源", function = "getSource")
|
|
|
private Integer source;
|
|
|
|
|
|
@Schema(description = "手机", example = "18000000000")
|
|
|
+ @DiffLogField(name = "手机")
|
|
|
@Mobile
|
|
|
private String mobile;
|
|
|
|
|
|
@Schema(description = "电话", example = "18000000000")
|
|
|
+ @DiffLogField(name = "电话")
|
|
|
@Telephone
|
|
|
private String telephone;
|
|
|
|
|
|
@Schema(description = "网址", example = "https://www.baidu.com")
|
|
|
+ @DiffLogField(name = "网址")
|
|
|
private String website;
|
|
|
|
|
|
@Schema(description = "QQ", example = "123456789")
|
|
|
+ @DiffLogField(name = "QQ")
|
|
|
@Size(max = 20, message = "QQ长度不能超过 20 个字符")
|
|
|
private String qq;
|
|
|
|
|
|
- @Schema(description = "wechat", example = "123456789")
|
|
|
+ @Schema(description = "微信", example = "123456789")
|
|
|
+ @DiffLogField(name = "微信")
|
|
|
@Size(max = 255, message = "微信长度不能超过 255 个字符")
|
|
|
private String wechat;
|
|
|
|
|
|
- @Schema(description = "email", example = "123456789@qq.com")
|
|
|
+ @Schema(description = "邮箱", example = "123456789@qq.com")
|
|
|
+ @DiffLogField(name = "邮箱")
|
|
|
@Email(message = "邮箱格式不正确")
|
|
|
@Size(max = 255, message = "邮箱长度不能超过 255 个字符")
|
|
|
private String email;
|
|
|
|
|
|
@Schema(description = "客户描述", example = "任意文字")
|
|
|
+ @DiffLogField(name = "客户描述")
|
|
|
@Size(max = 4096, message = "客户描述长度不能超过 4096 个字符")
|
|
|
private String description;
|
|
|
|
|
|
@Schema(description = "备注", example = "随便")
|
|
|
+ @DiffLogField(name = "备注")
|
|
|
private String remark;
|
|
|
|
|
|
@Schema(description = "地区编号", example = "20158")
|
|
|
+ @DiffLogField(name = "地区编号", function = "getAreaById")
|
|
|
private Integer areaId;
|
|
|
|
|
|
@Schema(description = "详细地址", example = "北京市海淀区")
|
|
|
+ @DiffLogField(name = "详细地址")
|
|
|
private String detailAddress;
|
|
|
|
|
|
@Schema(description = "下次联系时间")
|
|
|
+ @DiffLogField(name = "下次联系时间")
|
|
|
@DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
|
|
|
private LocalDateTime contactNextTime;
|
|
|
|