mitao
2025-02-21 31573d6180d15ef65ed0df9c2732495f40b12663
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
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
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;
    }
}