package com.panzhihua.common.model.dtos.community.convenient;
|
|
import java.util.Date;
|
import java.util.List;
|
|
import javax.validation.constraints.NotBlank;
|
import javax.validation.constraints.NotEmpty;
|
import javax.validation.constraints.NotNull;
|
import javax.validation.constraints.Pattern;
|
import javax.validation.constraints.Size;
|
|
import org.hibernate.validator.constraints.Length;
|
|
import com.fasterxml.jackson.annotation.JsonFormat;
|
import com.panzhihua.common.enums.MerchantBusinessPeriod;
|
import com.panzhihua.common.validated.AddGroup;
|
import com.panzhihua.common.validated.PutGroup;
|
|
import io.swagger.annotations.ApiModel;
|
import io.swagger.annotations.ApiModelProperty;
|
import lombok.Data;
|
|
/**
|
* @title: ConvenientMerchantDTO
|
* @projectName: 成都呐喊信息技术有限公司-智慧社区项目
|
* @description: 新增/编辑便民服务商家
|
* @author: hans
|
* @date: 2021/09/15 17:18
|
*/
|
@Data
|
@ApiModel("新增/编辑便民服务商家")
|
public class ConvenientMerchantDTO {
|
|
@ApiModelProperty("便民服务商家ID")
|
@NotNull(groups = {PutGroup.class}, message = "便民服务商家ID不能为空")
|
private Long id;
|
|
@ApiModelProperty("商家名称")
|
@NotBlank(groups = {AddGroup.class}, message = "商家名称不能为空")
|
@Length(groups = {AddGroup.class}, max = 25, message = "商家名称最多支持25个字符")
|
private String name;
|
|
@ApiModelProperty("商家logo")
|
private String logo;
|
|
@ApiModelProperty("联系人")
|
@NotBlank(groups = {AddGroup.class}, message = "联系人不能为空")
|
private String contacts;
|
|
@ApiModelProperty("负责人身份证号")
|
@Pattern(groups = {AddGroup.class}, message = "请输入18位有效身份证号码", regexp = "(^\\d{18}$)|(^\\d{17}(\\d|X|x)$)")
|
private String idCard;
|
|
@ApiModelProperty("咨询电话")
|
private String phone;
|
|
@ApiModelProperty("商家地址")
|
@NotBlank(groups = {AddGroup.class}, message = "商家地址不能为空")
|
private String address;
|
|
@ApiModelProperty("纬度")
|
@NotBlank(groups = {AddGroup.class}, message = "纬度不能为空")
|
private String lat;
|
|
@ApiModelProperty("经度")
|
@NotBlank(groups = {AddGroup.class}, message = "经度不能为空")
|
private String lon;
|
|
@ApiModelProperty("营业开始时间")
|
@JsonFormat(pattern = "HH:mm:ss", timezone = "GMT+8")
|
@NotNull(groups = {AddGroup.class}, message = "营业开始时间不能为空")
|
private Date beginAt;
|
|
@ApiModelProperty("营业截至时间")
|
@JsonFormat(pattern = "HH:mm:ss", timezone = "GMT+8")
|
@NotNull(groups = {AddGroup.class}, message = "营业截至时间不能为空")
|
private Date endAt;
|
|
@ApiModelProperty(value = "营业周期", allowableValues = "EVERY_DAY,WEEKDAY,WEEKEND")
|
@NotNull(groups = {AddGroup.class}, message = "营业周期不能为空")
|
private MerchantBusinessPeriod period;
|
|
@ApiModelProperty("商家介绍")
|
@Size(max = 100)
|
private String introduction;
|
|
@ApiModelProperty("服务范围")
|
@NotEmpty(groups = {AddGroup.class}, message = "服务范围不能为空")
|
private List<Long> serviceIds;
|
|
@ApiModelProperty("是否营业中,1.在营 0.已关闭")
|
@NotNull(groups = {AddGroup.class}, message = "是否营业不能为空")
|
private Integer businessStatus;
|
|
@ApiModelProperty("管理账号")
|
@NotBlank(groups = {AddGroup.class}, message = "管理账号不能为空")
|
private String account;
|
|
@ApiModelProperty("登陆密码")
|
@Pattern(groups = {AddGroup.class}, message = "请输入8-12位登陆密码,由英文,数字和特殊符号组成",
|
regexp = "^(?=.*[A-Za-z])(?=(.*[\\d]){1,})(?=(.*[\\W]){1,})(?!.*\\s).{8,12}$")
|
private String password;
|
|
@ApiModelProperty(value = "所属社区id")
|
@NotNull(groups = {AddGroup.class}, message = "所属社区id不能为空")
|
private Long communityId;
|
|
@ApiModelProperty(value = "创建人", hidden = true)
|
private Long createdBy;
|
|
@ApiModelProperty(value = "更新人", hidden = true)
|
private Long updatedBy;
|
|
private String areaCode;
|
|
@ApiModelProperty("服务范围")
|
private Integer serviceRange;
|
|
@ApiModelProperty("微信手机号")
|
private String mobilePhone;
|
|
@ApiModelProperty("详细地址")
|
private String detailedAddress;
|
|
public String getPeriod() {
|
return period.name();
|
}
|
|
public void setPeriod(MerchantBusinessPeriod period) {
|
this.period = period;
|
}
|
|
public Boolean getBusinessStatus() {
|
return businessStatus.intValue() == 1;
|
}
|
|
public void setBusinessStatus(Boolean businessStatus) {
|
this.businessStatus = businessStatus ? 1 : 0;
|
}
|
}
|