puhanshu
2021-09-18 987d3d6f0a4212c553b610882ebc6e22a225c6e7
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
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: AddConvenientMerchantDTO
 * @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("咨询电话")
    @Pattern(groups = {AddGroup.class}, message = "咨询电话格式错误", regexp = "(1[3|4|5|7|8][0-9]\\d{8})|(\\d{3}-\\d{8}|\\d{4}-\\d{7})")
    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("管理账号")
    @Pattern(groups = {AddGroup.class}, message = "请输入6-10位管理账号,由英文或数字组成", regexp = "^[0-9A-Za-z]{6,10}$")
    private String account;
 
    @ApiModelProperty("登陆密码")
//    @Pattern(groups = {AddGroup.class}, message = "请输入8-12位登陆密码,由英文,数字和特殊符号组成",
//            regexp = "^(?=.*[A-Za-z])(?=.*\\d)(?=.*[$@$!%*#?&])[A-Za-z\\d$@$!%*#?&]{8,12}$")
    @Pattern(groups = {AddGroup.class}, message = "请输入8-12位登陆密码,由英文,数字和特殊符号组成",
            regexp = "^(?=.*[A-Za-z])(?=(.*[\\d]){1,})(?=(.*[\\W]){1,})(?!.*\\s).{8,}$")
    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;
 
    public String getPeriod() {
        return period.name();
    }
 
    public void setPeriod(MerchantBusinessPeriod period) {
        this.period = period;
    }
}