private void AddSign(string uid, Sign30DataContent dataContent, JObject responseData)
        {
            int dataContentDay = dataContent.day;
            int nowYear        = DateTime.Now.Year;
            int nowMonth       = DateTime.Now.Month;
            int nowDay         = DateTime.Now.Day;

            string signYearMonth = $"{nowYear}-{nowMonth}";

            if (dataContentDay >= nowDay)
            {
                OperatorFail(responseData, $"当天不能补签:{dataContentDay}");
                return;
            }
            List <UserMonthSign> userMonthSigns = GetSign30RecordHandler.GetSign30RecordSql(uid);
            List <UserMonthSign> userAddSigns   = new List <UserMonthSign>();

            foreach (var userSigns in userMonthSigns)
            {
                if (userSigns.Type == 2)
                {
                    userAddSigns.Add(userSigns);
                }
            }

            int cost = (userAddSigns.Count / 3 + 1) * 5000;
//            int cost = 2000;
            UserInfo userInfo = MySqlManager <UserInfo> .Instance.GetByUid(uid);

            if (userInfo.Gold >= cost)
            {
                userInfo.Gold -= cost;
                MySqlManager <UserInfo> .Instance.Update(userInfo);
            }
            else
            {
                OperatorFail(responseData, $"补签金币不足");
                return;
            }
            UserMonthSign userMonthSign = MySqlManager <UserMonthSign> .Instance.GetUserMonthSign(uid, signYearMonth, dataContentDay + "");

            if (userMonthSign == null)
            {
                userMonthSign = new UserMonthSign()
                {
                    Uid           = uid,
                    SignDate      = dataContentDay + "",
                    SignYearMonth = signYearMonth,
                    Type          = 2
                };

                if (MySqlManager <UserMonthSign> .Instance.Add(userMonthSign))
                {
                    responseData.Add(MyCommon.CODE, (int)Consts.Code.Code_OK);
                    responseData.Add("reward_prop", dataContent.reward_prop);
                    responseData.Add("msg", "补签成功");
                    AddSignReward(uid, dataContent.reward_prop);
                }
                else
                {
                    responseData.Add(MyCommon.CODE, (int)Consts.Code.Code_CommonFail);
                    responseData.Add("msg", "已补签");
                }
            }
            else
            {
                responseData.Add(MyCommon.CODE, (int)Consts.Code.Code_CommonFail);
                responseData.Add("msg", "已补签");
            }
        }
        private void TotalSign(string uid, Sign30DataContent dataContent, JObject responseData)
        {
            List <UserMonthSign> userMonthSigns = GetSign30RecordHandler.GetSign30RecordSql(uid);
            int        dataContentDay           = dataContent.day;
            List <int> list = new List <int>();

            for (int i = userMonthSigns.Count - 1; i >= 0; i--)
            {
                if (userMonthSigns[i].Type == 3)
                {
                    userMonthSigns.RemoveAt(i);
                }
            }

            foreach (var userSign in userMonthSigns)
            {
                list.Add(int.Parse(userSign.SignDate));
            }

            int lianXuSignDays = CommonUtil.GetLianXuSignDays(list);

            //全勤奖
            if (dataContent.id == 35)
            {
                if (lianXuSignDays == DateTime.DaysInMonth(DateTime.Now.Year, DateTime.Now.Month))
                {
                    UserInfo userInfo = MySqlManager <UserInfo> .Instance.GetByUid(uid);

                    List <Log_Game> gameCountByMonth = MySqlManager <UserGame> .Instance.GetGameCountByMonth(uid);


                    int vipLevel = VipUtil.GetVipLevel(userInfo.RechargeVip);

                    if (vipLevel < 1 || gameCountByMonth.Count < 30)
                    {
                        responseData.Add(MyCommon.CODE, (int)Consts.Code.Code_CommonFail);
                        responseData.Add("msg", $"每月游戏对局数满30局且贵族等级为V1方可领取");
                        return;
                    }

                    UserMonthSign userMonthSign = new UserMonthSign()
                    {
                        Uid           = uid,
                        SignYearMonth = GetSign30RecordHandler.GetYearMonth(),
                        SignDate      = DateTime.Now.Day + ":" + dataContent.id + "",
                        Type          = 3
                    };

                    MySqlService.log.Info($"```````````{JsonConvert.SerializeObject(userMonthSign)}");

                    if (MySqlManager <UserMonthSign> .Instance.Add(userMonthSign))
                    {
                        responseData.Add(MyCommon.CODE, (int)Consts.Code.Code_OK);
                        responseData.Add("msg", $"{dataContent.reward_name}领取成功");
                        responseData.Add("reward_prop", dataContent.reward_prop);
                        AddSignReward(uid, dataContent.reward_prop);
                    }
                    else
                    {
                        responseData.Add(MyCommon.CODE, (int)Consts.Code.Code_CommonFail);
                        responseData.Add("msg", $"{dataContent.reward_name}的奖励已领取,不可重复领取");
                    }
                    return;
                }
            }


            //连续签到大于需要的天数
//            if (lianXuSignDays >= dataContent.day)
//            {
//                UserMonthSign userMonthSign = new UserMonthSign()
//                {
//                    Uid = uid,
//                    SignYearMonth = GetSign30RecordHandler.GetYearMonth(),
//                    SignDate = DateTime.Now.Day +":"+ dataContent.id + "",
//                    Type = 3
//                };
//
//                MySqlService.log.Info($"```````````{JsonConvert.SerializeObject(userMonthSign)}");
//
//                if (MySqlManager<UserMonthSign>.Instance.Add(userMonthSign))
//                {
//                    responseData.Add(MyCommon.CODE, (int)Consts.Code.Code_OK);
//                    responseData.Add("msg", $"{dataContent.reward_name}领取成功");
//                    responseData.Add("reward_prop", dataContent.reward_prop);
//                    AddSignReward(uid, dataContent.reward_prop);
//                }
//                else
//                {
//                    responseData.Add(MyCommon.CODE, (int)Consts.Code.Code_CommonFail);
//                    responseData.Add("msg", $"{dataContent.reward_name}的奖励已领取,不可重复领取");
//                }
//            }
//            else
//            {
//                responseData.Add(MyCommon.CODE, (int)Consts.Code.Code_CommonFail);
//                responseData.Add("msg", $"未满足{dataContent.reward_name},当前签到累计{userMonthSigns.Count}");
//            }


            //不可重复领取
            if (userMonthSigns.Count >= dataContentDay)
            {
                UserMonthSign userMonthSign = new UserMonthSign()
                {
                    Uid           = uid,
                    SignYearMonth = GetSign30RecordHandler.GetYearMonth(),
                    SignDate      = dataContent.id + "",
                    Type          = 3
                };

                if (MySqlManager <UserMonthSign> .Instance.Add(userMonthSign))
                {
                    responseData.Add(MyCommon.CODE, (int)Consts.Code.Code_OK);
                    responseData.Add("msg", $"{dataContent.reward_name}领取成功");
                    responseData.Add("reward_prop", dataContent.reward_prop);
                    AddSignReward(uid, dataContent.reward_prop);
                }
                else
                {
                    responseData.Add(MyCommon.CODE, (int)Consts.Code.Code_CommonFail);
                    responseData.Add("msg", $"{dataContent.reward_name}的奖励已领取,不可重复领取");
                }
            }
            else
            {
                responseData.Add(MyCommon.CODE, (int)Consts.Code.Code_CommonFail);
                responseData.Add("msg", $"未满足{dataContent.reward_name},当前签到累计{userMonthSigns.Count}");
            }
        }