Beispiel #1
0
 public PanelEntity(int x, int y, int state)
 {
     X          = x;
     Y          = y;
     DiceType   = EnumCommon.Random <DiceType>();
     PanelState = (PanelState)state;
 }
        /// <summary>
        /// 生成随机枚举
        /// </summary>
        /// <typeparam name="TEnum">枚举类型</typeparam>
        public TEnum GenerateEnum <TEnum>()
        {
            var list  = EnumCommon.ToDescriptionDictionary <TEnum>().Select(x => x.Key).ToList();
            int index = _random.Generate(0, list.Count);

            return((TEnum)Enum.Parse(typeof(TEnum), list[index].ToString(), true));
        }
Beispiel #3
0
        protected string PromptToJson(int error)
        {
            var prompt = new Prompt
            {
                Number = error,
                Msg    = EnumCommon.GetPrompt()[error]
            };

            return(JsonMapper.ToJson(prompt));
        }
Beispiel #4
0
        /// <summary>
        /// 添加积分
        /// </summary>
        /// <param name="userId"></param>
        /// <param name="scoreType"></param>
        /// <param name="keyId"></param>
        /// <returns></returns>
        public InvokeResult <int> AddScore(string userId, ScoreType scoreType, string keyId)
        {
            //默认赠送积分多少
            var sysitem = _SysItemsDetailService.GetItem("ScoreType", ((int)scoreType).ToString());

            if (sysitem == null)
            {
                _Logger.LogError($"获取积分失败:memberId:{userId};scoreType:{(int)scoreType}");
                return(RequestResult.Failed <int>("获取积分失败"));
            }
            var amount = sysitem.Description.ToInt();

            if (!_Respository.Any(w => w.MemberId == userId && w.OperatType == 0 && w.ScoreType == (int)scoreType && w.KeyId == keyId))
            {
                var desc = EnumCommon.GetDescription(scoreType);

                if (userId.IsEmpty())
                {
                    return(RequestResult.Failed <int>("原会员编号不存在,操作失败!"));
                }
                var memScore = _MemRespository.GetMemScore(userId);
                var buyScore = new MemberScore
                {
                    MemberId    = userId,
                    Score       = amount,
                    ScoreType   = (int)scoreType,
                    OperatType  = 0,
                    KeyId       = keyId,
                    Description = $"用户{desc}赠送{amount}积分"
                };

                var b = false;
                //奖积分
                b = _MemRespository.UpdateFields(new Member {
                    Id = userId, UserScore = memScore + amount
                }, "UserScore");
                if (!b)
                {
                    return(RequestResult.Failed <int>("奖励积分失败,请重试"));
                }
                //奖积分记录
                b = _Respository.CreateOrUpdate(buyScore);
                if (!b)
                {
                    return(RequestResult.Failed <int>("奖励积分失败,请重试"));
                }
            }
            return(RequestResult.Success(amount));
        }
Beispiel #5
0
        public void ToEnumAndAttributes()
        {
            var res = EnumCommon.ToEnumAndAttributes <ENameAttribute>(typeof(GenderEnum))
                      .Where(x => x.Value.Name.Contains("男"))
                      .Select(x => x.Key).FirstOrDefault();

            Check.True(res != null && (GenderEnum)res == GenderEnum.Boy, "参数错误");

            var str2 = GenderEnum.Boy.GetDescription();
            var str  = CustomAttributeCommon <DescriptionAttribute> .GetCustomAttribute(typeof(GenderEnum),
                                                                                        GenderEnum.Boy.ToString());

            var result  = typeof(GenderEnum).ToEnumAndAttributes <ENameAttribute>();
            var result2 = typeof(User).ToEnumAndAttributes <ENameAttribute>();
        }
        /// <summary>
        /// 审核状态统计
        /// </summary>
        /// <param name="userId"></param>
        /// <returns></returns>
        public List <ListItem> GetAuditStatics(string userId)
        {
            var auditStatics = EnumCommon.GetEnumList <BookStatus>().Select(u => new ListItem {
                Text = u.Value, Type = u.Key
            }).ToList();
            var expression = GetFilterEnabled();

            expression = expression.And(w => w.MemberId == userId);
            var articleCateStatics = _Respository.GetFeilds(u => new
                                                            { u.BookStatus, ArticleId = u.Id },
                                                            expression, o => o.OrderBy(b => b.SortCode), "")
                                     .GroupBy(g => g.BookStatus).Select(h => new { h.Key, Count = h.Count() }).ToList();

            auditStatics.ForEach(art => {
                art.Code = articleCateStatics.Where(u => u.Key + "" == art.Type).Select(u => u.Count).FirstOrDefault() + "";
            });

            return(auditStatics);
        }
Beispiel #7
0
 protected string PromptToJson <T>(int prompt, List <T> dataList)
 {
     return(Prompt.ToJson(prompt, EnumCommon.GetPrompt()[prompt], dataList));
 }
Beispiel #8
0
 public void GetValue(object member)
 {
     var gender = EnumCommon.GetValue <GenderEnum>(member);
 }
 public void GetDescriptionDictionary()
 {
     var result = EnumCommon.ToDescriptionDictionary <GenderEnum>();
 }
Beispiel #10
0
        /// <summary>
        /// 购买,积分等于0已处理
        /// </summary>
        /// <param name="buyUserId"></param>
        /// <param name="buyType"></param>
        /// <param name="keyId"></param>
        /// <param name="buyAmount"></param>
        /// <param name="creatorUserId"></param>
        /// <returns></returns>
        public InvokeResult <bool> MarketBuy(string buyUserId, ScoreType scoreType, string keyId, int buyAmount, string creatorUserId)
        {
            if (creatorUserId.IsEmpty())
            {
                return(RequestResult.Failed <bool>("原会员编号不存在,操作失败!"));
            }
            //已购买则返回,直接买
            if (_Respository.Any(w => w.MemberId == buyUserId && w.OperatType == 1 && w.ScoreType == (int)scoreType && w.KeyId == keyId))
            {
                return(RequestResult.Success(true));
            }
            var memScore = _MemRespository.GetMemScore(buyUserId);

            if (memScore < buyAmount)
            {
                return(RequestResult.Failed <bool>("积分不足,操作失败!"));
            }

            var desc = EnumCommon.GetDescription(scoreType);

            var buyScore = new MemberScore
            {
                MemberId    = buyUserId,
                Score       = buyAmount,
                ScoreType   = (int)scoreType,
                OperatType  = 1,
                KeyId       = keyId,
                Description = $"用户{desc}扣除{buyAmount}积分"
            };


            using (var tran = _Respository.BeginTransaction())
            {
                try
                {
                    var b = false;
                    if (buyAmount > 0)
                    {
                        //扣积分
                        b = _MemRespository.UpdateFields(new Member {
                            Id = buyUserId, UserScore = memScore - buyAmount
                        }, "UserScore");
                        if (!b)
                        {
                            tran.Rollback();
                            return(RequestResult.Failed <bool>("扣除积分失败,请重试"));
                        }
                    }
                    //扣积分记录
                    b = _Respository.CreateOrUpdate(buyScore);
                    if (!b)
                    {
                        tran.Rollback();
                        return(RequestResult.Failed <bool>("扣除积分失败,请重试"));
                    }
                    //奖积分
                    if (buyAmount > 0)
                    {
                        memScore = _MemRespository.GetMemScore(creatorUserId);
                        b        = _MemRespository.UpdateFields(new Member {
                            Id = creatorUserId, UserScore = memScore + buyAmount
                        }, "UserScore");
                        if (!b)
                        {
                            tran.Rollback();
                            return(RequestResult.Failed <bool>("奖励积分失败,请重试"));
                        }


                        if (scoreType == ScoreType.buytopic)
                        {
                            scoreType = ScoreType.ubuytopic;
                        }
                        else if (scoreType == ScoreType.buybook)
                        {
                            scoreType = ScoreType.ubuybook;
                        }
                        else if (scoreType == ScoreType.downloadbook)
                        {
                            scoreType = ScoreType.udownloadbook;
                        }
                        else if (scoreType == ScoreType.downloadtopic)
                        {
                            scoreType = ScoreType.udownloadtopic;
                        }

                        desc = EnumCommon.GetDescription(scoreType);

                        var getScore = new MemberScore();
                        getScore.MemberId    = creatorUserId;
                        getScore.ScoreType   = (int)scoreType;
                        getScore.OperatType  = 0;
                        getScore.Description = $"用户购买{desc}奖励{buyAmount}积分";
                        b = _Respository.CreateOrUpdate(getScore);
                        if (!b)
                        {
                            tran.Rollback();
                            return(RequestResult.Failed <bool>("奖励积分失败,请重试"));
                        }
                    }

                    tran.Commit();
                }
                catch (Exception ex)
                {
                    tran.Rollback();
                    _Logger.LogError("[MarketBuy]" + ex.Message);
                    return(RequestResult.Failed <bool>("更新积分失败,请重试"));
                }
            }

            return(RequestResult.Success(true));
        }
Beispiel #11
0
 public void GetValues()
 {
     var result = EnumCommon.GetValues <GenderEnum>();
 }
Beispiel #12
0
 protected string PromptToJson(int prompt)
 {
     return(Prompt.ToJson(prompt, EnumCommon.GetPrompt()[prompt]));
 }
Beispiel #13
0
 public void GetKeys()
 {
     var result = EnumCommon.GetKeys <GenderEnum>();
 }
Beispiel #14
0
 public void GetDescriptionDictionary2(object member)
 {
     var str = EnumCommon.GetDescription <GenderEnum>(member);
 }
Beispiel #15
0
 /// <summary>
 /// 配置异常
 /// </summary>
 /// <param name="config">配置信息</param>
 /// <param name="configName">配置名称</param>
 public ConfigException(ConfigEnum config = ConfigEnum.AppSetting, string configName = "") : base(string.Format(EnumCommon.GetDescription(config), string.IsNullOrEmpty(configName) ? "" : ",名称:" + configName))
 {
 }
Beispiel #16
0
 public void GetKey(object member)
 {
     var gender = EnumCommon.GetKey <GenderEnum>(member);
 }
Beispiel #17
0
 public void Parse(string member)
 {
     var gender = EnumCommon.Parse <GenderEnum>(member);
 }