Exemplo n.º 1
0
        public static bool DeleteBeautyServicePackageDetail(int pkid, BeautyServicePackageDetail oldValue, string operateUser)
        {
            bool result = false;

            try
            {
                result = BeautyServicePackageDal.DeleteBeautyServicePackageDetail(pkid);
                var log = new BeautyOprLog
                {
                    LogType     = "DeleteBeautyServicePackageDetail",
                    IdentityID  = $"{pkid}",
                    OldValue    = JsonConvert.SerializeObject(oldValue),
                    NewValue    = null,
                    Remarks     = $"删除集团客户礼包详情,详情ID:{pkid}",
                    OperateUser = operateUser,
                };
                LoggerManager.InsertLog("BeautyOprLog", log);
            }
            catch (Exception ex)
            {
                Logger.Error(ex.Message, ex);
            };

            return(result);
        }
Exemplo n.º 2
0
        public static bool InsertBeautyServicePackageDetail(BeautyServicePackageDetail packageDetail)
        {
            bool result = false;

            try
            {
                var insertResult = BeautyServicePackageDal.InsertBeautyServicePackageDetail(packageDetail);
                result = insertResult.Item1;
                var log = new BeautyOprLog
                {
                    LogType     = "InsertBeautyServicePackageDetail",
                    IdentityID  = $"{insertResult.Item2}",
                    OldValue    = null,
                    NewValue    = JsonConvert.SerializeObject(packageDetail),
                    Remarks     = $"插入礼包详情,礼包ID:{packageDetail.PackageId}",
                    OperateUser = packageDetail.CreateUser,
                };
                LoggerManager.InsertLog("BeautyOprLog", log);
            }
            catch (Exception ex)
            {
                Logger.Error(ex.Message, ex);
            };

            return(result);
        }
Exemplo n.º 3
0
        public static BeautyServicePackageDetail GetBeautyServicePackageDetail(int packageDetailId)
        {
            BeautyServicePackageDetail result = null;

            try
            {
                result = BeautyServicePackageDal.SelectBeautyServicePackageDetail(packageDetailId);
            }
            catch (Exception ex)
            {
                Logger.Error(ex.Message, ex);
            };

            return(result);
        }
Exemplo n.º 4
0
        public static async Task <CreateOrderResult> CreateServiceCodeOrderForVip(MrCooperateUserConfig cooperateUser, BeautyServicePackageDetail packageDetail)
        {
            var vipuserInfo = await GetCompanyUserInfo(cooperateUser.VipUserId);

            var sumMoney           = packageDetail.VipSettlementPrice * packageDetail.ServiceCodeNum;
            var createOrderRequest = new CreateOrderRequest
            {
                OrderChannel = orderChannel,
                OrderType    = orderType,
                Status       = OrderEnum.OrderStatus.New,
                Customer     = new OrderCustomer()
                {
                    UserId   = cooperateUser.VipUserId,
                    UserName = vipuserInfo.UserName,// wesureUser.Profile?.UserName,
                    UserTel  = vipuserInfo.UserMobile
                },
                Delivery = new OrderDelivery
                {
                    DeliveryStatus = OrderEnum.DeliveryStatus.NotStarted,
                    DeliveryType   = OrderEnum.DeliveryType.NoDelivery,
                    InstallType    = OrderEnum.InstallType.NoInstall,
                },
                Payment = new OrderPayment
                {
                    PayStatus   = OrderEnum.PayStatus.Waiting,
                    PayMothed   = OrderEnum.PayMethod.MonthPay,
                    PaymentType = "5Special",
                },
                Money = new OrderMoney()
                {
                    SumMoney       = sumMoney,
                    SumMarkedMoney = sumMoney
                },
                Items = new List <OrderItem>()
                {
                    new OrderItem()
                    {
                        Price    = packageDetail.VipSettlementPrice,
                        Pid      = packageDetail.PID,
                        Num      = packageDetail.ServiceCodeNum,
                        Name     = packageDetail.Name,
                        Category = (GetProduct(packageDetail.PID))?.Category
                    }
                },
                BigCustomerCompanyId   = vipuserInfo.CompanyInfo?.Id,
                BigCustomerCompanyName = vipuserInfo.CompanyInfo?.Name,
                SumNum = packageDetail.ServiceCodeNum
            };
            var result = await CreateOrder(createOrderRequest);

            if (result.OrderId > 0)
            {
                ExecuteOrderProcess(new ExecuteOrderProcessRequest()
                {
                    CreateBy         = vipuserInfo.UserName,
                    OrderId          = result.OrderId,
                    OrderProcessEnum = OrderProcessEnum.GeneralCompleteToHome,
                    PayMethod        = OrderEnum.PayMethod.MonthPay
                });
            }

            return(result);
        }
        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));
        }
Exemplo n.º 6
0
        public static Tuple <bool, string> UpdateBeautyServicePackageDetail(BeautyServicePackageDetail packageDetail)
        {
            bool result   = false;
            var  msg      = string.Empty;
            var  writeStr = BeautyServicePackageDal.GetTuhuGrouponWriteConnstr();

            using (var dbhelper = new SqlDbHelper(writeStr))
            {
                try
                {
                    var oldValue = GetBeautyServicePackageDetail(packageDetail.PKID);
                    dbhelper.BeginTransaction();
                    var updatePackageDetailResult = BeautyServicePackageDal.UpdateBeautyServicePackageDetail(dbhelper, packageDetail);
                    if (!updatePackageDetailResult)
                    {
                        throw new Exception("更新服务码配置失败");
                    }
                    if (packageDetail.IsServiceCodeGenerated && (oldValue.ServiceCodeStartTime != packageDetail.ServiceCodeStartTime || oldValue.ServiceCodeEndTime != packageDetail.ServiceCodeEndTime))
                    {
                        if (oldValue.ServiceCodeNum > 10000)
                        {
                            throw new Exception("大于10000暂时不支持修改");
                        }
                        var updateServiceCodeTimeResult = BeautyServicePackageDal.UpdateServiceCodeTime(dbhelper, packageDetail.PKID,
                                                                                                        packageDetail.ServiceCodeStartTime, packageDetail.ServiceCodeEndTime);
                        if (!updateServiceCodeTimeResult)
                        {
                            throw new Exception("更新服务码时间失败");
                        }
                        if (oldValue.ServiceCodeEndTime != packageDetail.ServiceCodeEndTime && packageDetail.ServiceCodeEndTime != null)
                        {
                            var serviceCodes = (GetBeautyServicePackageDetailCodesByPackageDetailId(packageDetail.PKID))?.Select(t => t.ServiceCode)?.ToList();
                            if (serviceCodes != null && serviceCodes.Any())
                            {
                                using (var client = new ServiceCodeClient())
                                {
                                    var batchSize = 1000;
                                    var index     = 0;
                                    while (index < serviceCodes.Count)
                                    {
                                        var batchCodes            = serviceCodes.Skip(index).Take(batchSize).ToList();
                                        var kxChangeCodeTimeModel = new ChangeCodeTimeRequest
                                        {
                                            ServiceCodes = batchCodes,
                                            OverdueTime  = Convert.ToDateTime(packageDetail.ServiceCodeEndTime)
                                        };
                                        var kxChangeResult = client.ChangeOverdueTime(kxChangeCodeTimeModel);
                                        if (!kxChangeResult.Success)
                                        {
                                            throw kxChangeResult.Exception;
                                        }
                                        if (kxChangeResult.Result != null && kxChangeResult.Result.FailServiceCode != null && kxChangeResult.Result.FailServiceCode.Any())
                                        {
                                            var serviceCodeFailedLog = new BeautyOprLog
                                            {
                                                LogType     = "ChangeOverdueTimeFailedCodes",
                                                IdentityID  = $"{packageDetail.PKID}",
                                                OldValue    = null,
                                                NewValue    = JsonConvert.SerializeObject(kxChangeResult.Result.FailServiceCode),
                                                Remarks     = $"修改服务码过期时间失败",
                                                OperateUser = packageDetail.UpdateUser,
                                            };
                                            LoggerManager.InsertLog("BeautyOprLog", serviceCodeFailedLog);
                                        }
                                        index += batchSize;
                                    }
                                }
                            }
                        }
                    }
                    dbhelper.Commit();
                    result = true;
                    var log = new BeautyOprLog
                    {
                        LogType     = "UpdateBeautyServicePackageDetail",
                        IdentityID  = $"{packageDetail.PKID}",
                        OldValue    = JsonConvert.SerializeObject(oldValue),
                        NewValue    = JsonConvert.SerializeObject(packageDetail),
                        Remarks     = $"修改集团客户礼包详情,详情ID为{packageDetail.PKID}",
                        OperateUser = packageDetail.UpdateUser,
                    };
                    LoggerManager.InsertLog("BeautyOprLog", log);
                }
                catch (Exception ex)
                {
                    msg = ex.Message;
                    dbhelper.Rollback();
                    Logger.Error(ex.Message, ex);
                };
            }
            return(new Tuple <bool, string>(result, msg));
        }