package com.cyksj.model.views;

import com.cyksj.model.entity.GroupsRelation;
import com.ejlchina.searcher.bean.DbField;
import com.ejlchina.searcher.bean.DbIgnore;
import com.ejlchina.searcher.bean.SearchBean;
import com.fasterxml.jackson.annotation.JsonIgnore;
import lombok.Getter;
import lombok.Setter;

import java.math.BigDecimal;
import java.util.Date;

/**
 * 项目名: yhlxj11111111
 * 文件名: GalaxyCoinRenewTicketsView
 * 创建者: JavaZou
 * 创建时间:2025/7/14 11:26
 */
@Getter
@Setter
@SearchBean(tables = "groups_relation gr left join groups_trips gt on gt.id = gr.groups_id " +
		"left join goods_don_sku sku on gt.sku_id = sku.id " +
		"left join goods_don g on g.id = sku.goods_id ",
		where = ":condition:")
public class GalaxyCoinRenewTicketsView {

	@DbField("g.id")
	private Long goodsId;

	@DbField("sku.id")
	private Long skuId;

	@DbField("g.status")
	private Boolean goodsStatus;

	@DbField("sku.status")
	private Boolean skuStatus;

	@DbField("sku.months")
	private Integer months;

	@DbField("sku.days")
	private Integer days;

	@DbField("sku.num")
	private Integer skuNum;

	/**
	 * 二级分类
	 * 虚物品 1邀请制 2非邀请制
	 */
	@DbField("g.second_type")
	private Integer secondType;

	/**
	 * 是否是多人规格
	 */
	@DbIgnore
	private Boolean isMulti;

	@DbField("sku.is_mirror")
	private Boolean isMirror;

	@DbField("sku.price")
	private BigDecimal price;

	@DbField("sku.spec_val")
	private String specVal;

	@DbField("gr.id")
	private Long relationId;

	@DbField("gr.num")
	private Integer num;

	@DbField("gr.groups_id")
	private Long groupId;

	@DbField("g.title")
	private String title;

	@DbField("g.logo")
	private String logo;

	@DbField("g.img")
	private String img;

	@DbField("g.type")
	@JsonIgnore
	private Integer goodsType;

	@DbField("gr.user_id")
	@JsonIgnore
	private Long userId;

	@DbField("gr.start_time")
	private Date startTime;

	@DbField("gr.expiry_time")
	private Date expiryTime;

	@DbField("gr.status")
	private String status;

	/**
	 * 店铺id
	 */
	@DbField("gr.yhs_id")
	private Long yhsId;

	/**
	 * 店铺类型
	 * 0无 1.普通店铺 2.镜像店铺
	 */
	@DbField("gr.cmt")
	private Integer cmt;

	/**
	 * 车票获取类型 默认1购买,2.体验 3.镜像裂变
	 */
	@DbField("gr.aq_type")
	private Integer aqType;

	/**
	 * 是否是VIP
	 */
	@DbField("gr.is_vip")
	private Boolean isVip;

	/**
	 * 代充类型
	 */
	@DbField("gr.recharge_status")
	private GroupsRelation.RechargeStatus rechargeStatus;

	@DbIgnore
	private String remainDays;

	@DbField("gt.status")
	private String groupsStatus;

	/**
	 * 最高抵扣可用银河币
	 */
	@DbIgnore
	private BigDecimal maxGalaxyCoinDeduct = BigDecimal.ZERO;
}
