Example #1
0
        public async Task <APIResult> AddMemberLevel([FromBody] AddMemberLevelModel input)
        {
            var shopMemberLevel = db.ShopMemberLevel.Where(m => !m.IsDel && m.ShopId.Equals(input.ShopId));

            if (shopMemberLevel.Count() != 0)
            {
                var maxlevel = await shopMemberLevel.OrderByDescending(m => m.Sort).FirstOrDefaultAsync();

                if (input.MinIntegral - maxlevel.MaxIntegral != 1)
                {
                    return(await Task.FromResult(Error($"最低积分必须比上一个会员等级的最高积分加一,最低积分必须为 { maxlevel.MaxIntegral + 1}")));
                }

                input.Sort = maxlevel.Sort + 1;
                var addShopMemberLevel = _mapper.Map <ShopMemberLevel>(input);
                await db.ShopMemberLevel.AddAsync(addShopMemberLevel);
            }
            else
            {
                input.Sort = 1;
                var addShopMemberLevel = _mapper.Map <ShopMemberLevel>(input);
                await db.ShopMemberLevel.AddAsync(addShopMemberLevel);
            }
            await db.SaveChangesAsync();

            await ShopMemberLevelServer.UpdateAllMemberLevel(db, db.ShopMemberSet.FirstOrDefault(m => !m.IsDel && m.ShopId.Equals(input.ShopId)), input.ShopId, _logger);

            SetSort(input.ShopId);
            return(await Task.FromResult(Success()));
        }
Example #2
0
        public APIResult Register([FromBody] RegisterArgsModel args)
        {
            if (!CheckVerificationCode(args.Phone, args.Code))
            {
                return(Error("验证码错误"));
            }
            int memberId = GetMemberId();
            var model    = db.Query <ShopMember>()
                           .FirstOrDefault(m => !m.IsDel && m.MemberId == memberId && m.ShopId == args.ShopId.Value);

            if (model != null)
            {
                throw new Exception("该会员已注册过");
            }
            var members    = memberDb.Members.Find(memberId);
            var shopMember = new ShopMember()
            {
                ShopId   = args.ShopId.Value,
                AddIp    = GetIp(),
                AddTime  = DateTime.Now,
                MemberId = memberId,
                Sex      = args.Sex,
                Phone    = args.Phone,
                Credits  = 0,
                Balance  = 0,
                BirthDay = args.BirthDay.Value,
                Name     = members.NickName
            };

            db.Add(shopMember);
            var shopMemberServer = new ShopMemberServer(db, shopMember);

            if (!shopMemberServer.CheckPhoneNumCanUse(args.Phone, args.ShopId.Value))
            {
                return(Error("该手机号码已注册"));
            }
            //shopMemberServer.SetPassword(args.Password);
            db.SaveChanges();
            //更新会员等级
            ShopMemberLevelServer.UpdateMemberLevel(db, db.ShopMemberSet.FirstOrDefault(m => m.ShopId.Equals(args.ShopId) && !m.IsDel), memberId, args.ShopId.Value, _logger);

            return(Success(new
            {
                shopMember.Id
            }));
        }
Example #3
0
        public async Task <APIResult> DelMemberLevel([FromBody] AddMemberLevelModel input)
        {
            var shopMemberLevels = db.ShopMemberLevel.Find(input.Id);

            if (shopMemberLevels == null || shopMemberLevels.IsDel)
            {
                return(await Task.FromResult(Error("记录不存在")));
            }

            var minLevel = await db.ShopMemberLevel.Where(m => m.Shop.Equals(input.ShopId) && !m.IsDel).OrderByDescending(m => m.Sort).FirstOrDefaultAsync();

            if (minLevel.Id != input.Id)
            {
                return(await Task.FromResult(Error("需要从等级最低的开始删除")));
            }
            minLevel.IsDel = true;
            await db.SaveChangesAsync();

            await ShopMemberLevelServer.UpdateAllMemberLevel(db, db.ShopMemberSet.FirstOrDefault(m => !m.IsDel && m.ShopId.Equals(input.ShopId)), input.ShopId, _logger);

            return(await Task.FromResult(Success("删除成功")));
        }