/*
 * Copyright (c) 2018-2999 广州亚米信息科技有限公司 All rights reserved.
 *
 * https://www.gz-yami.com/
 *
 * 未经允许，不可做商业用途！
 *
 * 版权所有，侵权必究！
 */

package com.yami.shop.groupbuy.comment.dto;

import com.baomidou.mybatisplus.annotation.TableField;
import com.yami.shop.groupbuy.comment.enums.ActivityStatusEnum;
import com.yami.shop.groupbuy.comment.utils.GroupActivityUtil;
import lombok.Data;

import java.util.Date;
import java.util.Objects;

/**
 * 拼团活动状态类型
 *
 * @author 小懒虫
 * @date 2019/8/30 9:02
 */
@Data
public class GroupActivityDto {

    /**
     * 拼团活动id
     */
    private Long groupActivityId;

    /**
     * 店铺id
     */
    private Long shopId;

    /**
     * 活动名称
     */
    private String activityName;
    /**
     * 拼团状态(1:正常、0:已失效、-1:删除)
     */
    private Integer status;
    /**
     * 活动开始时间(活动状态：未开始、进行中、已结束)
     */
    private Date startTime;
    /**
     * 活动结束时间(活动状态：未开始、进行中、已结束)
     */
    private Date endTime;
    /**
     * 成团人数
     */
    private Integer groupNumber;
    /**
     * 已成团订单数（统计）
     */
    private Long groupOrderCount;
    /**
     * 活动状态（根据活动时间生成）
     */
    @TableField(exist = false)
    private Integer activityStatus;

    /**
     * 店铺名称
     */
    @TableField(exist = false)
    private String shopName;

    /**
     * 获取统计数量
     */
    public Long getGroupOrderCount() {
        if (groupOrderCount == null) {
            return 0L;
        } else {
            return groupOrderCount;
        }
    }

    /**
     * 获取活动状态（活动状态：1:未开始、2:进行中、3:已结束、4:已失效）
     */
    public Integer getActivityStatus() {
        return GroupActivityUtil.getActivityStatus(startTime, endTime, status);
    }
}
