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 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; } }