/// <summary>
        /// 分页获取导入用户服务码统计信息
        /// </summary>
        /// <param name="pageIndex"></param>
        /// <param name="pageSize"></param>
        /// <param name="cooperateId"></param>
        /// <param name="packageDetailId"></param>
        /// <param name="settleMentMethod"></param>
        /// <returns></returns>
        public JsonResult GetBeautyCodeStatistics(int pageIndex, int pageSize, int cooperateId = 0, int packageDetailId = 0, string settleMentMethod = "")
        {
            var packageDetailIds = new List <int>();

            if (packageDetailId <= 0)
            {
                var packageDetails = BeautyServicePackageManager.GetBeautyServicePackageDetails(1, 10000, true, settleMentMethod, cooperateId, string.Empty);
                packageDetailIds = packageDetails.Item1.Select(t => t.PKID).Distinct().ToList();
            }
            else
            {
                packageDetailIds.Add(packageDetailId);
            }
            var manager = new BeautyCodeManager();
            var result  = manager.GetBeautyCodeStatistics(pageIndex, pageSize, packageDetailIds);
            List <BeautyCodeStatistics> data = null;
            var totalCount = 0;

            data       = result.Item1;
            totalCount = result.Item2;
            if (result != null && !string.IsNullOrEmpty(settleMentMethod))
            {
                data = data.Where(s => string.Equals(s.SettlementMethod, settleMentMethod)).ToList();
            }
            return(Json(new { Status = data != null, Data = data, TotalCount = totalCount }, JsonRequestBehavior.AllowGet));
        }
        public ActionResult GetBeautyServicePackageDetail(int packageId)
        {
            var result = BeautyServicePackageManager.GetBeautyServicePackageDetails(packageId);
            var status = result != null && result.Any() ? "Success" : "fail";

            return(Json(new { Status = status, Data = result }, JsonRequestBehavior.AllowGet));
        }
        public async Task <ActionResult> GeneratePackageCode(int packageId)
        {
            var isSuccess     = false;
            var msg           = string.Empty;
            var packageDetail = BeautyServicePackageManager.GetBeautyServicePackageDetails(packageId);

            if (packageDetail != null && packageDetail.Any())
            {
                var packageCodes = BeautyServicePackageManager.GetBeautyServicePackageCodesByPackageId(packageId);
                if (packageCodes != null && packageCodes.Any())
                {
                    msg = "之前已经生成兑换码了";
                }
                else
                {
                    isSuccess = await BeautyServicePackageManager.GeneratePackageCodes(packageId);

                    if (!isSuccess)
                    {
                        msg = "生成兑换码失败";
                    }
                    else
                    {
                        isSuccess = true;
                        msg       = "兑换码生成成功";
                    }
                }
            }
            else
            {
                msg = "礼包下没有产品";
            }

            return(Json(new { IsSuccess = isSuccess, Msg = msg }, JsonRequestBehavior.AllowGet));
        }
        public ActionResult GetBeautyServicePackageDetails(int pageIndex, int pageSize,
                                                           bool isImportUser, string settlementMethod, int cooperateId, string serviceId)
        {
            var result = BeautyServicePackageManager.GetBeautyServicePackageDetails(pageIndex, pageSize, isImportUser, settlementMethod,
                                                                                    cooperateId, serviceId);

            if (result != null && result.Item1.Any())
            {
                var allCooperateUsers = new BankMRManager().GetAllMrCooperateUserConfigs();
                if (allCooperateUsers != null && allCooperateUsers.Any())
                {
                    result.Item1.ForEach(u =>
                    {
                        u.CooperateName = allCooperateUsers.FirstOrDefault(t => t.PKID == u.CooperateId)?.CooperateName;
                    });
                }
            }

            return(Json(result, JsonRequestBehavior.AllowGet));
        }
        /// <summary>
        /// 获取导入用户的合作用户
        /// </summary>
        /// <returns></returns>
        public ActionResult GetCooperateUserConfigsForImportUser()
        {
            IEnumerable <MrCooperateUserConfig> result = null;
            var packageDetails = BeautyServicePackageManager.GetBeautyServicePackageDetails(1, 10000, true, string.Empty, 0, string.Empty);

            if (packageDetails != null)
            {
                var cooperateIds        = packageDetails.Item1?.Select(s => s.CooperateId)?.Distinct() ?? new List <int>();
                var cooperateUserConfig = manager.GetAllMrCooperateUserConfigs();
                result = cooperateUserConfig?.Where(s => cooperateIds.Contains(s.PKID));
                if (result != null)
                {
                    var userIds     = result.Select(t => t.VipUserId).Distinct();
                    var usersDetail = new List <SYS_CompanyUser>();
                    using (var client = new UserAccountClient())
                    {
                        foreach (var item in userIds)
                        {
                            var userResult = client.SelectCompanyUserInfo(item);
                            if (userResult.Success && userResult.Result != null)
                            {
                                usersDetail.Add(userResult.Result);
                            }
                        }
                    }
                    foreach (var item in result)
                    {
                        var userDetail = usersDetail.FirstOrDefault(t => t.UserId == item.VipUserId);
                        if (userDetail != null)
                        {
                            item.VipUserName    = userDetail.UserName;
                            item.VipCompanyName = userDetail.CompanyInfo?.Name;
                            item.VipCompanyId   = userDetail.CompanyInfo?.Id ?? 0;
                        }
                    }
                }
            }

            return(Json(result, JsonRequestBehavior.AllowGet));
        }
示例#6
0
        /// <summary>
        /// 根据服务码配置ids获取导入用户服务码统计信息
        /// </summary>
        /// <param name="pageIndex"></param>
        /// <param name="pageSize"></param>
        /// <param name="mappingIds"></param>
        /// <returns></returns>
        public Tuple <List <BeautyCodeStatistics>, int> GetBeautyCodeStatistics(int pageIndex, int pageSize, IEnumerable <int> mappingIds)
        {
            List <BeautyCodeStatistics> result = null;
            int totalCount = 0;

            try
            {
                var batchCodesPageResult = TuhuGrouponDbScopeManagerReadOnly.Execute(conn => handler.SelectBatchCodesByMappingIds(conn, pageIndex, pageSize, mappingIds));
                if (batchCodesPageResult != null)
                {
                    var batchCodes = batchCodesPageResult.Item1;
                    totalCount = batchCodesPageResult.Item2;
                    result     = TuhuGrouponDbScopeManagerReadOnly.Execute(conn => handler.GetBeautyCodeStatistics(conn, batchCodes));
                    var packageDetails = BeautyServicePackageManager.GetBeautyServicePackageDetails(mappingIds);
                    if (packageDetails != null && result != null)
                    {
                        var cooperateUsers = TuhuGrouponDbScopeManagerReadOnly.Execute(conn => BankMRActivityDal.SelectMrCooperateUserConfigs(conn, 1, 10000));
                        result.ForEach(s =>
                        {
                            var packageDetail = packageDetails.FirstOrDefault(t => t.PKID == s.MappingId);
                            if (packageDetail != null)
                            {
                                var currentCooperateUser = cooperateUsers?.Item1?.FirstOrDefault(u => u.PKID == packageDetail.CooperateId);
                                s.CooperateName          = currentCooperateUser?.CooperateName;
                                s.ServiceName            = packageDetail.Name;
                                s.SettlementMethod       = packageDetail.SettlementMethod;
                                s.VipSettlementPrice     = packageDetail.VipSettlementPrice;
                            }
                        });
                    }
                }
            }
            catch (Exception ex)
            {
                Logger.Error(ex.Message, ex);
            }

            return(new Tuple <List <BeautyCodeStatistics>, int>(result, totalCount));
        }
        public ActionResult DeleteBeautyServicePackage(int pkid)
        {
            var isSuccess      = false;
            var msg            = string.Empty;
            var package        = BeautyServicePackageManager.GetBeautyServicePackage(pkid);
            var packageDetails = BeautyServicePackageManager.GetBeautyServicePackageDetails(pkid);

            if (package != null && packageDetails != null && !package.IsPackageCodeGenerated && !packageDetails.Any(t => t.IsServiceCodeGenerated))
            {
                var user = HttpContext.User.Identity.Name;
                isSuccess = BeautyServicePackageManager.DeleteBeautyServicePackage(pkid, package, user);
            }
            else if (package == null)
            {
                msg = "不存在";
            }
            else
            {
                msg = "已经生成兑换码或服务码的不允许删除";
            }

            return(Json(new { IsSuccess = isSuccess, Msg = msg }, JsonRequestBehavior.AllowGet));
        }
        /// <summary>
        /// 根据合作用户Id获取服务码配置
        /// </summary>
        /// <param name="cooperateId"></param>
        /// <returns></returns>
        public JsonResult GetBeautyServicePackageDetails(int cooperateId)
        {
            var result = BeautyServicePackageManager.GetBeautyServicePackageDetails(1, 1000, true, string.Empty, cooperateId, string.Empty);

            return(Json(new { Data = result, Status = result != null }, JsonRequestBehavior.AllowGet));
        }
        public ActionResult UpsertBeautyServicePackageDetail(BeautyServicePackageDetail packageDetail)
        {
            var isSuccess  = false;
            var msg        = string.Empty;
            var rawPackage = BeautyServicePackageManager.GetBeautyServicePackage(packageDetail.PackageId);

            if (rawPackage != null && rawPackage.IsPackageCodeGenerated)
            {
                if (packageDetail.PKID <= 0)
                {
                    msg = "已生成兑换码不允许添加产品!";
                    return(Json(new { IsSuccess = false, Msg = msg }, JsonRequestBehavior.AllowGet));
                }
                var rawPackageDetail = BeautyServicePackageManager.GetBeautyServicePackageDetails(packageDetail.PackageId).FirstOrDefault();
                if (rawPackageDetail != null &&
                    (rawPackageDetail.ShopCommission != packageDetail.ShopCommission ||
                     rawPackageDetail.VipSettlementPrice != packageDetail.VipSettlementPrice ||
                     rawPackageDetail.ServiceCodeNum != packageDetail.ServiceCodeNum ||
                     rawPackageDetail.ServiceCodeStartTime != packageDetail.ServiceCodeStartTime ||
                     rawPackageDetail.ServiceCodeEndTime != packageDetail.ServiceCodeEndTime ||
                     rawPackageDetail.EffectiveDayAfterExchange != packageDetail.EffectiveDayAfterExchange ||
                     rawPackageDetail.Num != packageDetail.Num))
                {
                    msg = "已生成兑换码只允许修改名称!";
                    return(Json(new { IsSuccess = false, Msg = msg }, JsonRequestBehavior.AllowGet));
                }
            }

            var user = HttpContext.User.Identity.Name;

            if (packageDetail != null && !string.IsNullOrEmpty(packageDetail.Name) && !string.IsNullOrEmpty(packageDetail.PID))
            {
                if (packageDetail.Num > 20 || packageDetail.Num < 0)
                {
                    msg = "兑换码包含的服务数量介于0~20之间";
                    return(Json(new { IsSuccess = false, Msg = msg }, JsonRequestBehavior.AllowGet));
                }
                if (packageDetail.CooperateId <= 0)//兑换码的合作用户配置在外层
                {
                    var package = BeautyServicePackageManager.GetBeautyServicePackage(packageDetail.PackageId);
                    packageDetail.CooperateId = package?.CooperateId ?? 0;
                }
                if (packageDetail.PKID > 0)
                {
                    packageDetail.UpdateUser = user;
                    var updateResult = BeautyServicePackageManager.UpdateBeautyServicePackageDetail(packageDetail);
                    isSuccess = updateResult.Item1;
                    msg       = updateResult.Item2;
                }
                else
                {
                    packageDetail.CreateUser = user;
                    isSuccess = BeautyServicePackageManager.InsertBeautyServicePackageDetail(packageDetail);
                    if (!isSuccess)
                    {
                        msg = "更新失败";
                    }
                }
            }
            else
            {
                msg = "信息不完善";
            }

            return(Json(new { IsSuccess = isSuccess, Msg = msg }, JsonRequestBehavior.AllowGet));
        }