xin
2025-05-30 347909bae241fff128b628ea6d12992d7e5b4b10
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
package com.oying.modules.pc.store.domain;
 
import cn.hutool.core.bean.BeanUtil;
import cn.hutool.core.bean.copier.CopyOptions;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import org.springframework.data.geo.Point;
 
import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;
import java.io.Serializable;
import java.math.BigDecimal;
import java.time.LocalTime;
import java.time.ZonedDateTime;
 
/**
 * @author lzp
 * @date 2025-04-21
 **/
@Data
@TableName("pc_store")
public class Store implements Serializable {
 
    @TableId(value = "store_id", type = IdType.AUTO)
    @ApiModelProperty(value = "唯一标识")
    private Long storeId;
 
    @NotNull
    @ApiModelProperty(value = "商户ID")
    private Long merchantId;
 
    @NotNull
    @ApiModelProperty(value = "平台类目")
    private Long platformCategoryId;
 
    @NotNull
    @ApiModelProperty(value = "店铺类型:1-自营 2-加盟 3-第三方")
    private Integer storeType;
 
    @ApiModelProperty(value = "店铺编码")
    private String storeCode;
 
    @NotBlank
    @ApiModelProperty(value = "店铺名称")
    private String storeName;
 
    @ApiModelProperty(value = "经营范围")
    private String businessScope;
 
    @NotNull
    @ApiModelProperty(value = "状态:1000-草稿  1002-正常  1003-暂停营业 1004-关闭")
    private Integer status;
 
    @NotBlank
    @ApiModelProperty(value = "店铺logo图片")
    private Long logoImageId;
 
    @NotBlank
    @ApiModelProperty(value = "店铺封面图")
    private Long coverImageId;
 
    @ApiModelProperty(value = "店铺描述")
    private String description;
 
    @ApiModelProperty(value = "店铺标签,逗号分隔")
    private String tags;
 
    @ApiModelProperty(value = "配送费用")
    private BigDecimal deliveryFee;
 
    @ApiModelProperty(value = "起送金额")
    private BigDecimal deliveryMinimum;
 
    @ApiModelProperty(value = "联系电话")
    private String contactPhone;
 
    @ApiModelProperty(value = "营业开始时间")
    private LocalTime openTime;
 
    @ApiModelProperty(value = "营业结束时间")
    private LocalTime closeTime;
 
    @ApiModelProperty(value = "省级代码")
    private String provinceCode;
 
    @ApiModelProperty(value = "市级代码")
    private String cityCode;
 
    @ApiModelProperty(value = "区/县级代码")
    private String districtCode;
 
    @ApiModelProperty(value = "详细地址")
    private String address;
 
    @ApiModelProperty(value = "经度")
    private Double longitude;
 
    @ApiModelProperty(value = "纬度")
    private Double latitude;
 
    @ApiModelProperty(value = "GeoHash编码")
    private String geoHash;
 
    @ApiModelProperty(value = "空间坐标")
    private Point geoPoint;
 
    @ApiModelProperty(value = "坐标系:WGS84/GCJ02/BD09/CGCS2000")
    private String coordinateSystem;
 
    @ApiModelProperty(value = "营业半径(米)")
    private Integer radius;
 
    @NotNull
    @ApiModelProperty(value = "创建人")
    private Long createBy;
 
    @NotNull
    @ApiModelProperty(value = "创建日期")
    private ZonedDateTime createTime;
 
    @NotNull
    @ApiModelProperty(value = "修改人")
    private Long updateBy;
 
    @NotNull
    @ApiModelProperty(value = "修改时间")
    private ZonedDateTime updateTime;
 
    public void copy(Store source) {
        BeanUtil.copyProperties(source, this, CopyOptions.create().setIgnoreNullValue(true));
    }
}