/// <summary> /// 更新美容大客户服务码 /// </summary> /// <param name="model"></param> /// <param name="pkids"></param> /// <returns></returns> public async Task <ActionResult> UpdateBeautyServicePackageDetailCodes(ServiceCodeDetail model) { if (model == null || string.IsNullOrWhiteSpace(model.ServiceCode)) { return(Json(new { Status = false, Msg = "未知的编辑对象" }, JsonRequestBehavior.AllowGet)); } if (model.StartTime == null || model.EndTime == null) { return(Json(new { Status = false, Msg = "请选择有效期" }, JsonRequestBehavior.AllowGet)); } ServiceCodeDetail codeDetail = null; if (model.PackageDetailCodeId > 0) { codeDetail = (await SearchCodeManager.GetServiceCodeDetail(new List <string>() { model.ServiceCode }))?.FirstOrDefault(); } else { var bankRecords = BankMRManager.GetBankMRActivityCodeRecordByServiceCode(new List <string>() { model.ServiceCode }); codeDetail = (await BankMRManager.SearchBankMRActivityCodeDetailByRecords(bankRecords))?.FirstOrDefault(); if (codeDetail.StartTime.Date != model.StartTime.Date) { return(Json(new { Status = false, Msg = $"银行服务码开始时间不能修改" }, JsonRequestBehavior.AllowGet)); } } if (codeDetail == null || string.IsNullOrWhiteSpace(codeDetail.Status)) { return(Json(new { Status = false, Msg = "无法获取服务码详情" }, JsonRequestBehavior.AllowGet)); } if (!(codeDetail.Status == "Created" || codeDetail.Status == "SmsSent")) { return(Json(new { Status = false, Msg = $"服务码:{model.ServiceCode}信息无法更改,请确认服务码状态" }, JsonRequestBehavior.AllowGet)); } var userName = User.Identity.Name; var result = SearchCodeManager.UpdateBeautyServicePackageDetailCodes(model, userName, codeDetail); return(Json(new { Status = result, Msg = "修改" + (result ? "成功" : "失败") }, JsonRequestBehavior.AllowGet)); }
/// <summary> /// 修改大客户美容服务码 /// </summary> /// <param name="model"></param> /// <param name="pkids"></param> /// <returns></returns> public static bool UpdateBeautyServicePackageDetailCodes(ServiceCodeDetail model, string user, ServiceCodeDetail oldCode) { var result = false; try { if (model.StartTime != null && model.EndTime != null) { using (var dbhelper = new Tuhu.Component.Common.SqlDbHelper(writeConnStr)) { dbhelper.BeginTransaction(); var upResult = true; if (model.PackageDetailCodeId > 0) { var oldValue = BeautyServicePackageDal.GetBeautyServicePackageDetailCodeByPKID(model.PackageDetailCodeId); if (oldValue != null) { #region 只更新服务码起止时间 其余数据保持不变 var newValue = new BeautyServicePackageDetailCode { PKID = model.PackageDetailCodeId, UserId = oldValue.UserId, PackageDetailId = oldValue.PackageDetailId, ServiceCode = oldValue.ServiceCode, IsActive = oldValue.IsActive, StartTime = model.StartTime, EndTime = model.EndTime, PackageCode = oldValue.PackageCode, VipUserId = oldValue.VipUserId }; #endregion upResult = BeautyServicePackageDal.UpdateBeautyServicePackageDetailCodes(dbhelper, newValue); } else { upResult = false; } } if (upResult) { using (var client = new ServiceCodeClient()) { var kxChangeCodeTimeModel = new ChangeCodeTimeRequest { ServiceCodes = new List <string>() { model.ServiceCode }, OverdueTime = model.EndTime }; var kxChangeResult = client.ChangeOverdueTime(kxChangeCodeTimeModel); kxChangeResult.ThrowIfException(true); if (kxChangeResult.Success && kxChangeResult.Result != null && kxChangeResult.Result.SuccessServiceCode.Count() > 0 && string.Equals(kxChangeResult.Result.SuccessServiceCode.FirstOrDefault(), model.ServiceCode)) { result = true; dbhelper.Commit(); var log = new BaoYangOprLog { LogType = "修改大客户美容服务码", IdentityID = oldCode.ServiceCode, OldValue = JsonConvert.SerializeObject(oldCode), NewValue = JsonConvert.SerializeObject(model), Remarks = $"修改服务码有效期:服务码开始时间从{oldCode.StartTime}变更为{model.StartTime},结束时间从{oldCode.EndTime}变更为{model.EndTime}", OperateUser = user, }; LoggerManager.InsertLog("BeautyOprLog", log); } else { throw new Exception($"快修服务修改服务码有效期失败,请求信息:{JsonConvert.SerializeObject(kxChangeCodeTimeModel)},返回信息:{JsonConvert.SerializeObject(kxChangeResult)}"); } } } } } } catch (Exception ex) { Logger.Error(ex.Message, ex); } return(result); }