コード例 #1
0
        public async Task <JsonResult> MemberRecharge(Entity.RechargeNote note)
        {
            var m = _Repository.FirstOrDefault(c => c.Id == note.MemberId);

            if (m == null)
            {
                return(new JsonResult(new { succ = false, msg = L("NotExist{0}!", L("Member") + L("Records")) }));
            }

            var UserInfo = await _sessionAppService.GetCurrentLoginInformations();

            var store = await _storeServices.GetByIdAsync(UserInfo.User.ChainStoreId);

            // Logger.Warn("11111111111111111111111111111111111111111" + _comServices.GetBillNumber(OrderNumberType.OFQ));
            if (store.AvailableValue < note.Value)
            {
                return(new JsonResult(new { succ = false, msg = L("Store") + L("Usable") + L("Balance") + L("NEnough") + "!" }));
            }
            note.TenantId    = UserInfo.Tenant.Id;
            note.Balance     = m.Balance + note.Value;
            note.BusinessId  = store.BusinessId;
            note.BillNumber  = _comServices.GetBillNumber(OrderNumberType.OFMR);
            note.UserAccount = UserInfo.User.UserName;

            m.Balance += note.Value;
            await _Repository.UpdateAsync(m);

            await _reAppService.Create(note);

            return(new JsonResult(new { succ = true, msg = L("Recharge") + L("Success") + "!" }));
        }
コード例 #2
0
        //[Abp.Domain.Uow.UnitOfWork]
        public async Task <JsonResult> OffConsume(SubmitOrderDto dto)
        {
            var json = new JsonResult(new { succ = true, msg = L("Consume") + L("Success") + "!" });

            //Entity.CommonSpecObject obj = new Entity.CommonSpecObject();
            //if (ObjId > 0)
            //{
            //    obj = await _objService.GetEntityById(ObjId);
            //    if (obj == null)
            //    {
            //        json.Value = new { succ = false, msg = L("NotExist{0}", "SPU") + "!" };
            //        return json;
            //    }
            //}
            var UserInfo = await _sessionAppService.GetCurrentLoginInformations();

            //GoodsOrder order = new GoodsOrder();
            dto.Order.BillNumber   = _comService.GetBillNumber(Enum.OrderNumberType.OFGD);
            dto.Order.TenantId     = UserInfo.Tenant.Id;
            dto.Order.BusinessId   = (long)_sqlExecuter.ExecuteDataSet($"select businessid from tchainStore where id={UserInfo.User.ChainStoreId}").Tables[0].Rows[0][0];
            dto.Order.ChainStoreId = UserInfo.User.ChainStoreId;
            //order.MemberId = MemberId;
            //order.TotalMoney = obj.Price * count;
            //order.TotalPay = obj.Price * count;
            // if()
            return(json);
        }
コード例 #3
0
        public async Task <JsonResult> MemberRecharge(Entity.RechargeNote note)
        {
            var m = _memberRepository.FirstOrDefault(c => c.Id == note.MemberId);

            if (m == null)
            {
                return(new JsonResult(new { succ = false, msg = L("NotExist{0}!", L("Member") + L("Records")) }));
            }
            var UserInfo = await _sessionAppService.GetCurrentLoginInformations();

            var store = await _storeServices.GetByIdAsync(UserInfo.User.ChainStoreId);

            // Logger.Warn("11111111111111111111111111111111111111111" + _comServices.GetBillNumber(OrderNumberType.OFQ));
            //if (store.AvailableValue < note.Value)
            //{
            //    return new JsonResult(new { succ = false, msg = L("Store") + L("Usable") + L("Balance") + L("NEnough") + "!" });
            //}
            note.TenantId     = UserInfo.Tenant.Id;
            note.Balance      = m.Balance + note.Value;
            note.BusinessId   = store.BusinessId;
            note.BillNumber   = _comServices.GetBillNumber(OrderNumberType.OFMR);
            note.UserAccount  = UserInfo.User.UserName;
            note.ChainStoreId = store.Id;
            m.Balance        += note.Value;
            await _memberRepository.UpdateAsync(m);

            await _noteAppService.Create(note);

            //财务结算
            if (!store.IsSystem)
            {
                string business = $"select IsSystemBusiness from dbo.TBusiness where id=(select c.BusinessId from dbo.TChainStore c where id={store.Id})";
                string s        = _sqlExecuter.ExecuteDataSet(business).Tables[0].Rows[0][0].ToString();
                if (s != "True")
                {
                    store.SettlementMoney -= note.Value;
                    await _storeServices.CreateOrEditAsync(store);

                    UnionMall.Entity.ChainStoreCapitalNote capNote = new Entity.ChainStoreCapitalNote();

                    capNote.TenantId     = store.TenantId;
                    capNote.ChainStoreId = store.Id;
                    capNote.BillNumber   = note.BillNumber;
                    capNote.Type         = 1;
                    capNote.Way          = FinanceType.MemberRecharge;
                    capNote.Value        = note.Value;
                    capNote.Balance      = store.SettlementMoney;

                    capNote.UserAccount  = UserInfo.User.UserName;
                    capNote.CreationTime = DateTime.Now;
                    capNote.Status       = 0;
                    capNote.ApplyTime    = DateTime.Now;
                    _capRepository.Insert(capNote);
                }
            }
            return(new JsonResult(new { succ = true, msg = L("Recharge") + L("Success") + "!" }));
        }
コード例 #4
0
        public async Task <JsonResult> OffExchange(ExchangDto dto)
        {
            var json = new JsonResult(new { succ = true, msg = L("GiftExchange") + L("Success") + "!" });

            var member = _memberRepository.Get(dto.Order.MemberId);

            if (member.Integral < dto.Order.Point)
            {
                json.Value = new { succ = false, msg = L("Member") + L("Usable") + L("Integral") + L("NEnough") + "!" };
                return(json);
            }

            member.Integral -= dto.Order.Point;
            await _memberRepository.UpdateAsync(member);

            //_memAppService.

            var UserInfo = await _sessionAppService.GetCurrentLoginInformations();

            dto.Order.TenantId     = (int)_AbpSession.TenantId;
            dto.Order.Code         = "";
            dto.Order.ChainStoreId = UserInfo.User.ChainStoreId;
            dto.Order.BillNumber   = _comService.GetBillNumber(Enum.OrderNumberType.OFGT);
            dto.Order.ReceiveTime  = DateTime.Now;

            long id = await _Repository.InsertAndGetIdAsync(dto.Order);

            foreach (var item in dto.ItemList)
            {
                item.TenantId    = (int)_AbpSession.TenantId;
                item.GiftOrderId = id;
                await _itemService.CreateAsync(item);
            }

            Entity.IntegralNote note = new Entity.IntegralNote();
            note.Type         = 0;
            note.BillNumber   = dto.Order.BillNumber;
            note.ChainStoreId = dto.Order.ChainStoreId;
            note.MemberId     = dto.Order.MemberId;
            note.Way          = (int)ConsumeType.PointRecharge;
            note.Point        = dto.Order.Point;
            note.Balance      = member.Integral;// - dto.Order.Point;
            note.UserAccount  = UserInfo.User.UserName;
            note.Memo         = "礼品兑换";
            await _noteAppService.CreateAsync(note);

            return(json);
        }