package com.ruoyi.system.domain;

import java.time.LocalDate;
import java.time.LocalDateTime;
import java.util.Date;
import java.util.List;
import java.util.Map;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.ruoyi.system.domain.dto.SetSourcePriceDto;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.core.domain.BaseEntity;

/**
 * 资源位对象 sys_source
 * 
 * @author ruoyi
 * @date 2024-11-08
 */
public class SysSource extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 资源位id, */
    private Long sourceId;

    /** 城市id */
    @Excel(name = "城市id")
    private Long cityId;

    /** 城市名 */
    @Excel(name = "城市名")
    private String city;

    /** 景区id */
    @Excel(name = "景区id")
    private Long scenicId;

    /** 景区名 */
    @Excel(name = "景区名")
    private String scenic;

    /** 分区 */
    @Excel(name = "分区")
    private String part;

    /** 规模 */
    @Excel(name = "规模")
    private String scale;

    /** 坐标 */
    @Excel(name = "坐标")
    private String coordinate;

    /** 价格json */
    @Excel(name = "价格json")
    private String price;

    /** 状态 */
    @Excel(name = "状态")
    private String sourceStatus;

    /** 展示作品 */
    @Excel(name = "展示作品")
    private String workAddress;

    /** 订单开始时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "订单开始时间", width = 30, dateFormat = "yyyy-MM-dd")
    private LocalDateTime startTime;

    /** 订单结束时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "订单结束时间", width = 30, dateFormat = "yyyy-MM-dd")
    private LocalDateTime endTime;

    /** 被购买总数 */
    @Excel(name = "被购买总数")
    private Long bBought;

    /** 订单编号 */
    @Excel(name = "订单编号")
    private Long orderId;

    /**作品id**/
    private Long workId;

    private int cX=-1;

    private int cY=-1;

    // 价格列表
    private List<Map<String, SetSourcePriceDto>> priceList;

    public void setSourceId(Long sourceId) 
    {
        this.sourceId = sourceId;
    }

    public Long getSourceId() 
    {
        return sourceId;
    }
    public void setCityId(Long cityId) 
    {
        this.cityId = cityId;
    }

    public Long getCityId() 
    {
        return cityId;
    }
    public void setCity(String city) 
    {
        this.city = city;
    }

    public String getCity() 
    {
        return city;
    }
    public void setScenicId(Long scenicId) 
    {
        this.scenicId = scenicId;
    }

    public Long getScenicId() 
    {
        return scenicId;
    }
    public void setScenic(String scenic) 
    {
        this.scenic = scenic;
    }

    public String getScenic() 
    {
        return scenic;
    }
    public void setPart(String part) 
    {
        this.part = part;
    }

    public String getPart() 
    {
        return part;
    }
    public void setScale(String scale) 
    {
        this.scale = scale;
    }

    public String getScale() 
    {
        return scale;
    }
    public void setCoordinate(String coordinate) 
    {
        this.coordinate = coordinate;
    }

    public String getCoordinate() 
    {
        return coordinate;
    }
    public void setPrice(String price) 
    {
        this.price = price;
    }

    public String getPrice() 
    {
        return price;
    }
    public void setSourceStatus(String sourceStatus) 
    {
        this.sourceStatus = sourceStatus;
    }

    public String getSourceStatus() 
    {
        return sourceStatus;
    }
    public void setWorkAddress(String workAddress) 
    {
        this.workAddress = workAddress;
    }

    public String getWorkAddress() 
    {
        return workAddress;
    }


    public LocalDateTime getStartTime()
    {
        return startTime;
    }

    public void setStartTime(LocalDateTime startTime)
    {
        this.startTime = startTime;
    }

    public LocalDateTime getEndTime()
    {
        return endTime;
    }

    public void setEndTime(LocalDateTime endTime)
    {
        this.endTime = endTime;
    }
    public void setbBought(Long bBought) 
    {
        this.bBought = bBought;
    }

    public Long getbBought() 
    {
        return bBought;
    }
    public void setOrderId(Long orderId) 
    {
        this.orderId = orderId;
    }

    public Long getOrderId() 
    {
        return orderId;
    }

    public List<Map<String, SetSourcePriceDto>> getPriceList() {
        return priceList;
    }

    public void setPriceList(List<Map<String, SetSourcePriceDto>> priceList) {
        this.priceList = priceList;
    }

    public Long getWorkId() {
        return workId;
    }

    public void setWorkId(Long workId) {
        this.workId = workId;
    }

    public int getcX() {
        return cX;
    }

    public void setcX(int cX) {
        this.cX = cX;
    }

    public int getcY() {
        return cY;
    }

    public void setcY(int cY) {
        this.cY = cY;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("sourceId", getSourceId())
            .append("cityId", getCityId())
            .append("city", getCity())
            .append("scenicId", getScenicId())
            .append("scenic", getScenic())
            .append("part", getPart())
            .append("scale", getScale())
            .append("coordinate", getCoordinate())
            .append("price", getPrice())
            .append("sourceStatus", getSourceStatus())
            .append("workAddress", getWorkAddress())
            .append("startTime", getStartTime())
            .append("endTime", getEndTime())
            .append("bBought", getbBought())
            .append("orderId", getOrderId())
                .append("createBy", getCreateBy())
                .append("createTime", getCreateTime())
                .append("updateBy", getUpdateBy())
                .append("updateTime", getUpdateTime())
                .append("remark", getRemark())
                .append("params", getParams())
                .append("workId", getWorkId())
                .append("cX", getcX())
                .append("cY", getcY())
            .toString();
    }
}
