Пример #1
0
    /// <summary>
    /// 转换合买方案状态名称
    /// </summary>
    /// <param name="togetherStatus">合买方案状态</param>
    /// <param name="togetherStatus">合买方案出票状态</param>
    /// <returns>合买方案状态名称</returns>
    public static string TogetherProgressName(TogetherSchemeProgress togetherStatus, TicketStatus ticketStatus = TicketStatus.Ticketed, BonusStatus bonusStatus = BonusStatus.Waitting, bool isPrizeMoney = false)
    {
        //合买方案进度
        string status = string.Empty;

        switch (togetherStatus)
        {
        case TogetherSchemeProgress.SalesIn:
            status = "销售中";
            break;

        case TogetherSchemeProgress.Standard:
            status = "达标";
            switch (ticketStatus)
            {
            case TicketStatus.Waitting:
                status = "待出票";
                break;

            case TicketStatus.Ticketing:
                status = "出票中";
                break;

            case TicketStatus.PrintTicket:
                status = "已打票";
                break;

            case TicketStatus.Abort:
                status = "被终止";
                break;

            case TicketStatus.Skipped:
                status = "被跳过";
                break;

            case TicketStatus.Ticketed:
                status = "已出票";
                break;

            case TicketStatus.Error:
                status = "出票失败";
                break;
            }
            break;

        case TogetherSchemeProgress.Finish:
            status = "满员";
            switch (ticketStatus)
            {
            case TicketStatus.Waitting:
                status = "待出票";
                break;

            case TicketStatus.Ticketing:
                status = "出票中";
                break;

            case TicketStatus.PrintTicket:
                status = "已打票";
                break;

            case TicketStatus.Abort:
                status = "被终止";
                break;

            case TicketStatus.Skipped:
                status = "被跳过";
                break;

            case TicketStatus.Ticketed:
                status = "已出票";
                break;

            case TicketStatus.Error:
                status = "出票失败";
                break;
            }
            break;

        case TogetherSchemeProgress.Completed:
            status = "已完成";
            switch (ticketStatus)
            {
            case TicketStatus.Waitting:
                status = "待出票";
                break;

            case TicketStatus.Ticketing:
                status = "出票中";
                break;

            case TicketStatus.PrintTicket:
                status = "已打票";
                break;

            case TicketStatus.Abort:
                status = "被终止";
                break;

            case TicketStatus.Skipped:
                status = "被跳过";
                break;

            case TicketStatus.Ticketed:
                switch (bonusStatus)
                {
                case BonusStatus.Waitting: status = "未开奖"; break;

                case BonusStatus.Awarding: status = "开奖中"; break;

                case BonusStatus.Error: status = "开奖错误"; break;

                case BonusStatus.Lose: status = "未中奖"; break;

                case BonusStatus.Win: status = isPrizeMoney ? "已派奖" : "已中奖";; break;

                default: status = "已完成"; break;
                }
                break;

            case TicketStatus.Error:
                status = "出票失败";
                break;
            }
            break;

        case TogetherSchemeProgress.AutoStop:
            status = "撤单";
            break;

        case TogetherSchemeProgress.Cancel:
            status = "撤单";
            break;

        default: status = togetherStatus.ToString(); break;
        }
        return(status);
    }
Пример #2
0
    /// <summary>
    /// 计算合买订单当前进度所在, 0:刚发起  1:投注中  2:已出票  3:已开奖  4:已派奖
    /// </summary>
    /// <param name="togetherStatus">合买方案状态</param>
    /// <param name="ticketstatus">出票状态</param>
    /// <param name="BonusStatus">是否开奖</param>
    /// <returns>所在位置</returns>
    public static int Progress_StatusIndex(TogetherSchemeProgress togetherStatus, TicketStatus ticketStatus, BonusStatus bonusStatus, bool isPrizeMoney = false)
    {
        var at = 0;

        try
        {
            switch (togetherStatus)
            {
            case TogetherSchemeProgress.Finish:
                at = 2;
                break;

            case TogetherSchemeProgress.Cancel:
            case TogetherSchemeProgress.AutoStop:
                at = 0;
                break;

            case TogetherSchemeProgress.Standard:
                at = 2;
                break;

            case TogetherSchemeProgress.SalesIn:
                at = 1;
                break;

            case TogetherSchemeProgress.Completed:
                switch (ticketStatus)
                {
                case TicketStatus.Skipped:
                case TicketStatus.Error:
                case TicketStatus.Abort:
                    at = 0;
                    break;

                case TicketStatus.Ticketing:
                case TicketStatus.Waitting:
                    at = 1;
                    break;

                case TicketStatus.Ticketed:
                    if ((bonusStatus == BonusStatus.Win || bonusStatus == BonusStatus.Lose))
                    {
                        at = 3;
                        if (bonusStatus == BonusStatus.Win && isPrizeMoney)
                        {
                            at = 4;
                        }
                    }
                    else
                    {
                        at = 2;
                    }
                    break;
                }
                break;
            }
        }
        catch
        {
        }

        return(at);
    }
Пример #3
0
        public void JoinTogether_AfterTranCommit(string userId, string schemeId, int buyCount, string gameCode, string gameType, string issuseNumber, decimal totalMoney, TogetherSchemeProgress progress)
        {
            // 更新最新动态,忽略异常,异常只记录日志
            var desc = string.Format("参与了 {0}第{1}期¥{2:N0}的合买方案 参与{3}元", GetGameName(gameCode, gameType), issuseNumber, totalMoney, buyCount);

            UsefullHelper.TryDoAction(() => UpdateProfileDynamic(userId, schemeId, gameCode, issuseNumber, buyCount, "参与合买"));
            // 更新统计数据
            UsefullHelper.TryDoAction(() => UpdateProfileDataReport(userId, null, 1, null, null));
            //普通用户推广
            UsefullHelper.TryDoAction(() => UpdateSporeadUserData(userId, gameCode, totalMoney));
            //分享推广活动 用户购彩了 送红包 只送一次
            //UsefullHelper.TryDoAction(() => FirstLotteryGiveRedBag(userId));
        }