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.TableField;
|
import com.baomidou.mybatisplus.annotation.TableId;
|
import com.baomidou.mybatisplus.annotation.TableName;
|
import com.oying.base.BaseEntity;
|
import com.oying.modules.pc.product.domain.Product;
|
import io.swagger.annotations.ApiModelProperty;
|
import lombok.Getter;
|
import lombok.Setter;
|
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.util.List;
|
|
/**
|
* @author lzp
|
* @date 2025-04-21
|
**/
|
@Getter
|
@Setter
|
@TableName("pc_store")
|
public class Store extends BaseEntity implements Serializable {
|
|
@TableId(value = "store_id", type = IdType.AUTO)
|
@ApiModelProperty(value = "店铺ID")
|
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 = "状态")
|
private Integer status;
|
|
@ApiModelProperty(value = "店铺logo图片")
|
private Long logoImageId;
|
|
@ApiModelProperty(value = "店铺logo图片Url")
|
private String logoImageUrl;
|
|
@ApiModelProperty(value = "店铺封面图")
|
private Long coverImageId;
|
|
@ApiModelProperty(value = "店铺封面图Url")
|
private String coverImageUrl;
|
|
@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;
|
|
@ApiModelProperty(value = "是否支持退货")
|
private Integer returns;
|
|
@ApiModelProperty(value = "是否支持自提")
|
private Integer selfPickup;
|
|
@NotNull
|
@ApiModelProperty(value = "版本号")
|
private Long version;
|
|
@TableField(exist = false)
|
@ApiModelProperty(value = "评分")
|
private Double score = 0d;
|
|
@TableField(exist = false)
|
@ApiModelProperty(value = "配送距离")
|
private Integer deliveryDuration = 0;
|
|
@TableField(exist = false)
|
@ApiModelProperty(value = "配送时长")
|
private Integer deliveryTime = 0;
|
|
@TableField(exist = false)
|
@ApiModelProperty(value = "销量")
|
private Integer totalUnitsSold = 0;
|
|
@TableField(exist = false)
|
@ApiModelProperty(value = "月销售量")
|
private Integer monthlyUnitsSold = 0;
|
|
@TableField(exist = false)
|
@ApiModelProperty(value = "资质")
|
private List<StoreQualification> qualifications;
|
|
@TableField(exist = false)
|
@ApiModelProperty(value = "商品")
|
private List<Product> products;
|
|
public void copy(Store source) {
|
BeanUtil.copyProperties(source, this, CopyOptions.create().setIgnoreNullValue(true));
|
}
|
}
|