示例#1
0
        /// <summary>
        /// 客户拜访分析
        /// </summary>
        /// <param name="args"></param>
        /// <returns></returns>
        public async Task <CustomerVistAnalysis> GetCustomerVistAnalysisAsync(int?businessUserId = null, bool force = false, CancellationToken calToken = default)
        {
            try
            {
                int storeId = Settings.StoreId;
                int userId  = Settings.UserId;

                var api     = RefitServiceBuilder.Build <IReportingApi>(URL);
                var results = await _makeRequest.Start(api.GetCustomerVistAnalysisAsync(storeId, businessUserId, calToken), calToken);

                if (results != null && results?.Code >= 0)
                {
                    return(results?.Data);
                }
                else
                {
                    return(null);
                }
            }
            catch (Exception e)
            {
                e.HandleException();
                return(null);
            }
        }
示例#2
0
        /// <summary>
        /// 获取所有可用活动的赠送商品
        /// </summary>
        /// <returns></returns>
        public async Task <IList <CampaignBuyGiveProductModel> > GetAllCampaigns(string name, int terminalId = 0, int channelId = 0, int wareHouseId = 0, int pagenumber = 0, int pageSize = 50, bool force = false, CancellationToken calToken = default)
        {
            try
            {
                int storeId = Settings.StoreId;
                int userId  = Settings.UserId;

                var api = RefitServiceBuilder.Build <ICampaignApi>(URL);

                var results = await _makeRequest.Start(api.GetAllCampaigns(storeId,
                                                                           name,        //360
                                                                           terminalId,  //185528
                                                                           channelId,
                                                                           wareHouseId, //259
                                                                           pagenumber,
                                                                           pageSize,
                                                                           calToken));

                if (results != null && results?.Code >= 0)
                {
                    return(results?.Data.ToList());
                }
                else
                {
                    return(null);
                }
            }
            catch (Exception e)
            {
                e.HandleException();
                return(null);
            }
        }
示例#3
0
        public async Task <UpdateInfo> GetCurrentVersionAsync(CancellationToken calToken = default)
        {
            try
            {
                if (!Settings.IsAuthenticated)
                {
                    return(null);
                }

                var api    = RefitServiceBuilder.Build <IUpdateApi>(URL, false);
                var result = await _makeRequest.Start(api.GetCurrentVersionAsync(calToken), calToken);

                if (result != null)
                {
                    return(result);
                }
                else
                {
                    return(null);
                }
            }
            catch (Exception e)
            {
                e.HandleException();
                return(null);
            }
        }
示例#4
0
        /// <summary>
        /// 提交单据
        /// </summary>
        /// <param name="data"></param>
        /// <param name="billId"></param>
        /// <returns></returns>
        public async Task <APIResult <ReturnBillUpdateModel> > CreateOrUpdateAsync(ReturnBillUpdateModel data, int billId = 0, CancellationToken calToken = default)
        {
            try
            {
                int storeId = Settings.StoreId;
                int userId  = Settings.UserId;
                var api     = RefitServiceBuilder.Build <IReturnBillApi>(URL);
                var results = await _makeRequest.Start(api.CreateOrUpdateAsync(data, storeId, userId, billId, calToken), calToken);

                return(results);
            }
            catch (Exception e)
            {
                e.HandleException();
                return(null);
            }
        }
示例#5
0
        public async Task <ProductModel> GetProductByIdAsync(int productId, CancellationToken calToken = default)
        {
            try
            {
                int storeId = Settings.StoreId;
                int userId  = Settings.UserId;
                var api     = RefitServiceBuilder.Build <IProductApi>(URL);
                var results = await _makeRequest.Start(api.GetProductByIdAsync(storeId, productId, calToken));

                return(results?.Data);
            }
            catch (Exception e)
            {
                e.HandleException();
                return(null);
            }
        }
示例#6
0
        /// <summary>
        /// 获取盘点单
        /// </summary>
        /// <param name="billId"></param>
        /// <returns></returns>
        public async Task <InventoryPartTaskBillModel> GetInventoryPartTaskBillAsync(int billId, bool force = false, CancellationToken calToken = default)
        {
            try
            {
                int storeId = Settings.StoreId;
                int userId  = Settings.UserId;

                var api     = RefitServiceBuilder.Build <IInventoryApi>(URL);
                var results = await _makeRequest.Start(api.GetInventoryPartTaskBillAsync(storeId, userId, billId, calToken));

                return(results?.Data);
            }
            catch (Exception e)
            {
                e.HandleException();
                return(null);
            }
        }
示例#7
0
        /// <summary>
        /// 清除历史记录
        /// </summary>
        /// <param name="billType"></param>
        /// <param name="billId"></param>
        /// <returns></returns>
        public async Task <bool> UpdateHistoryBillStatusAsync(int?billType, int?billId = 0, CancellationToken calToken = default)
        {
            try
            {
                int storeId = Settings.StoreId;
                int userId  = Settings.UserId;
                var api     = RefitServiceBuilder.Build <IGlobalApi>(URL);
                var results = await _makeRequest.Start(api.UpdateHistoryBillStatusAsync(storeId,
                                                                                        userId,
                                                                                        billType,
                                                                                        billId, calToken), calToken);

                if (results != null && results?.Code >= 0)
                {
                    return(true);
                }
                return(false);
            }
            catch (Exception e)
            {
                e.HandleException();
                return(false);
            }
        }
示例#8
0
        /// <summary>
        /// 获取收款列表
        /// </summary>
        /// <returns></returns>
        public async Task <IList <CashReceiptBillModel> > GetReceiptCashsAsync(int?makeuserId, int?customerId, string customerName, int?payeer, string billNumber, string remark, bool?auditedStatus = null, DateTime?startTime = null, DateTime?endTime = null, bool?showReverse = null, bool?sortByAuditedTime = null, bool?handleStatus = null, int pagenumber = 0, int pageSize = 20, bool force = false, CancellationToken calToken = default)
        {
            try
            {
                int storeId = Settings.StoreId;
                int userId  = Settings.UserId;
                var api     = RefitServiceBuilder.Build <IReceiptCashApi>(URL);

                //var cacheKey = RefitServiceBuilder.Cacher("GetReceiptCashsAsync", storeId,
                //    makeuserId,
                //    customerId,
                //    customerName,
                //    payeer,
                //    billNumber,
                //    remark,
                //    auditedStatus,
                //    startTime,
                //    endTime,
                //    showReverse,
                //    sortByAuditedTime,
                //    handleStatus,
                //    pagenumber,
                //    pageSize);

                var results = await _makeRequest.Start(api.GetReceiptCashsAsync(storeId,
                                                                                makeuserId,
                                                                                customerId,
                                                                                customerName,
                                                                                payeer,
                                                                                billNumber,
                                                                                remark,
                                                                                auditedStatus,
                                                                                startTime,
                                                                                endTime,
                                                                                showReverse,
                                                                                sortByAuditedTime,
                                                                                handleStatus,
                                                                                pagenumber,
                                                                                pageSize, calToken), calToken);

                if (results != null && results?.Code >= 0)
                {
                    return(results?.Data.ToList());
                }
                else
                {
                    return(null);
                }
            }
            catch (Exception e)
            {
                e.HandleException();
                return(null);
            }
        }
示例#9
0
        /// <summary>
        /// 上传头像
        /// </summary>
        /// <param name="face"></param>
        /// <returns></returns>
        public async Task <APIResult <string> > UpLoadFaceImageAsync(string face, CancellationToken calToken = default)
        {
            try
            {
                int storeId = Settings.StoreId;
                int userId  = Settings.UserId;
                var api     = RefitServiceBuilder.Build <IUserApi>(URL);
                var result  = await _makeRequest.Start(api.UpLoadFaceImageAsync(storeId, userId, face, calToken), calToken);

                return(result);
            }
            catch (Exception e)
            {
                e.HandleException();
                return(null);
            }
        }
示例#10
0
        /// <summary>
        /// 获取调拨单
        /// </summary>
        /// <param name="forceRefresh"></param>
        /// <param name="makeuserId"></param>
        /// <param name="businessUserId"></param>
        /// <param name="shipmentWareHouseId"></param>
        /// <param name="incomeWareHouseId"></param>
        /// <param name="billNumber"></param>
        /// <param name="remark"></param>
        /// <param name="auditedStatus"></param>
        /// <param name="startTime"></param>
        /// <param name="endTime"></param>
        /// <param name="showReverse"></param>
        /// <param name="sortByAuditedTime"></param>
        /// <param name="pagenumber"></param>
        /// <param name="pageSize"></param>
        /// <returns></returns>
        public async Task <IList <AllocationBillModel> > GetAllocationsAsync(int?makeuserId, int businessUserId, int?shipmentWareHouseId, int?incomeWareHouseId, string billNumber, string remark, bool?auditedStatus = null, DateTime?startTime = null, DateTime?endTime = null, bool?showReverse = null, bool?sortByAuditedTime = null, int pagenumber = 0, int pageSize = 20, bool force = false, CancellationToken calToken = default)
        {
            try
            {
                int storeId = Settings.StoreId;
                int userId  = Settings.UserId;

                var api = RefitServiceBuilder.Build <IAllocationApi>(URL);

                var results = await _makeRequest.Start(api.GetAllocationsAsync(storeId,
                                                                               makeuserId,
                                                                               businessUserId,
                                                                               shipmentWareHouseId,
                                                                               incomeWareHouseId,
                                                                               billNumber,
                                                                               remark,
                                                                               auditedStatus,
                                                                               startTime,
                                                                               endTime,
                                                                               showReverse,
                                                                               sortByAuditedTime,
                                                                               pagenumber,
                                                                               pageSize,
                                                                               calToken), calToken);

                if (results != null && results?.Code >= 0)
                {
                    return(results?.Data.ToList());
                }
                else
                {
                    return(null);
                }
            }
            catch (Exception e)
            {
                e.HandleException();
                return(null);
            }
        }
示例#11
0
        /// <summary>
        /// 获取备注
        /// </summary>
        /// <param name="cts"></param>
        /// <returns></returns>
        public async Task <Dictionary <int, string> > GetRemarkConfigListSetting(CancellationToken calToken = default)
        {
            //{"Success":true,"Data":{"98":"赠品","99":"费用","100":"付款未到货","101":"搭赠","102":"兑奖","103":"捆绑","104":"满立减","105":"1元换购","106":"空瓶兑换","107":"费用货补","108":"代垫","109":"古井","110":"商品抵费用","111":"有成本兑奖赠酒"}}
            Dictionary <int, string> dic = new Dictionary <int, string>();

            try
            {
                int storeId = Settings.StoreId;
                int userId  = Settings.UserId;
                var api     = RefitServiceBuilder.Build <ISettingApi>(URL);
                var results = await _makeRequest.Start(api.GetRemarkConfigListSetting(storeId, calToken), calToken);

                if (results != null && results?.Code >= 0)
                {
                    dic = results?.Data;
                }
                return(dic);
            }
            catch (Exception e)
            {
                e.HandleException();
                return(null);
            }
        }
示例#12
0
        /// <summary>
        /// 登录
        /// </summary>
        /// <param name="userName"></param>
        /// <param name="password"></param>
        /// <returns></returns>
        public async Task <int> LoginAsync(string userName, string password, CancellationToken calToken = default)
        {
            var model = new LoginModel
            {
                UserName = userName,
                Password = password,
                //AppId = _operatingSystemVersionProvider.GetDeviceId()
            };

            var result = new APIResult <UserAuthenticationModel>();

            try
            {
                var api = RefitServiceBuilder.Build <IAuthenticationApi>(URL, false);
                result = await _makeRequest.Start(api.LoginAsync(model, calToken), calToken);

                if (result != null)
                {
                    if (result != null && result.Code == 1)
                    {
                        var data = result?.Data;
                        Settings.Password     = password;
                        Settings.UserName     = userName;
                        Settings.AccessToken  = data?.AccessToken;
                        Settings.UUID         = data?.AppId;
                        Settings.UserId       = data?.Id ?? 0;
                        Settings.StoreId      = data?.StoreId ?? 0;
                        Settings.UserMobile   = data?.MobileNumber;
                        Settings.StoreName    = data?.StoreName;
                        Settings.UserRealName = data?.UserRealName;
                        Settings.FaceImage    = data?.FaceImage;
                        Settings.UserEmall    = data?.Email;

                        Settings.DealerNumber           = data?.DealerNumber;
                        Settings.MarketingCenter        = data?.MarketingCenter;
                        Settings.MarketingCenterCode    = data?.MarketingCenterCode;
                        Settings.SalesArea              = data?.SalesArea;
                        Settings.SalesAreaCode          = data?.SalesAreaCode;
                        Settings.BusinessDepartment     = data?.BusinessDepartment;
                        Settings.BusinessDepartmentCode = data?.BusinessDepartmentCode;

                        //Roles
                        if (result.Data.Roles != null && result.Data.Roles.Count > 0)
                        {
                            try
                            {
                                var roles = result.Data.Roles;
                                //用户角色
                                Settings.DefaultRole        = roles.FirstOrDefault()?.Name;
                                Settings.AvailableUserRoles = JsonConvert.SerializeObject(roles);
                                //用户权限
                                Settings.AvailablePermissionRecords = JsonConvert.SerializeObject(result.Data.PermissionRecords);
                            }
                            catch (Exception ex)
                            {
                                result.Message = $"{ex.Message}";
                            }
                        }
                    }
                }
            }
            catch (Exception e)
            {
                e.HandleException();
            }

            return(result.Code);
        }