/// <summary> /// 更新优惠券审核记录 /// </summary> /// <param name="request"></param> /// <param name="cancellationToken"></param> /// <returns></returns> public async Task <int> UpdateCouponGetRuleAuditAsync(GetCouponRuleAuditModel request, CancellationToken cancellationToken) { GetCouponRuleAuditEntity entity = ObjectMapper.ConvertTo <GetCouponRuleAuditModel, GetCouponRuleAuditEntity>(request); int pkid = await _ICouponGetRuleAuditRepository.UpdateAsync(entity, cancellationToken).ConfigureAwait(false) ? entity.PKID : 0; return(pkid); }
/// <summary> /// 批量作废优惠券 - 根据优惠券渠道 /// </summary> /// <param name="request"></param> /// <returns></returns> public async override ValueTask <OperationResult <ObsoleteCouponListReponse> > ObsoleteCouponListByChannelAsync([FromBody] ObsoleteCouponsByChannelRequest request) { if (!request.IsPassed) { return(OperationResult.FromError <ObsoleteCouponListReponse>("-1", request.ErrorMsg)); } //根据渠道和pkid筛选优惠券 var couponList = await promotionCodeRepository.GetPKIDByCodeChannelANDPKIDAsync(request, HttpContext.RequestAborted).ConfigureAwait(false); couponList = couponList.Where(p => p.Status == 0).ToList(); ObsoleteCouponListReponse response = new ObsoleteCouponListReponse(); ObsoleteCouponRequest ObsoleteCouponRequest = ObjectMapper.ConvertTo <ObsoleteCouponsByChannelRequest, ObsoleteCouponRequest>(request); foreach (var item in couponList) { ObsoleteCouponRequest.PromotionPKID = item.PKID; ObsoleteCouponRequest.UserID = item.UserId; var flag = await _CouponManager.ObsoleteCouponAsync(ObsoleteCouponRequest, HttpContext.RequestAborted).ConfigureAwait(false); if (flag.Result) { response.SuccessedIDs += ObsoleteCouponRequest.PromotionPKID + ","; } else { response.FaidedIDs += ObsoleteCouponRequest.PromotionPKID + ","; } } return(OperationResult.FromResult(response)); }
/// <summary> /// 人员信息查询 /// </summary> /// <param name="request">查询条件</param> /// <param name="cancellationToken"></param> /// <returns></returns> public async ValueTask <PagedModel <GetUserListResponse> > GetUserListAsync(GetUserListRequest request, CancellationToken cancellationToken) { PagedModel <GetUserListResponse> result = new PagedModel <GetUserListResponse>() { Pager = new PagerModel() { CurrentPage = request.CurrentPage, PageSize = request.PageSize } }; try { int count = await _IUserRepository.GetUserListCountAsync(request, cancellationToken).ConfigureAwait(false); result.Pager.Total = count; if (count > 0) { var entities = await _IUserRepository.GetUserListAsync(request, cancellationToken).ConfigureAwait(false); List <GetUserListResponse> source = ObjectMapper.ConvertTo <UserEntity, GetUserListResponse>(entities).ToList(); result.Source = source; } } catch (Exception ex) { _logger.Error($"UserManager GetUserListAsync Exception", ex); throw; } return(result); }
/// <summary> /// 作废优惠券 /// </summary> /// <param name="request"></param> /// <param name="cancellationToken"></param> /// <returns></returns> public async ValueTask <OperationResult <bool> > ObsoleteCouponAsync(ObsoleteCouponRequest request, CancellationToken cancellationToken) { var coupon = await _PromotionCodeRepository.GetCouponByIDAsync(request.PromotionPKID, cancellationToken).ConfigureAwait(false); if (coupon == null) { return(OperationResult.FromError <bool>("-1", "优惠券不存在")); } if (coupon.UserId != request.UserID) { return(OperationResult.FromError <bool>("-2", "优惠券所属人不匹配 请检查入参userid")); } if (coupon.Status != 0) { return(OperationResult.FromError <bool>("-2", "优惠券已使用或者已作废")); } var result = await _PromotionCodeRepository.ObsoleteCouponAsync(request, cancellationToken).ConfigureAwait(false); if (result) { PromotionOprLogEntity entity = ObjectMapper.ConvertTo <ObsoleteCouponRequest, PromotionOprLogEntity>(request); entity.Referer = request.Message; entity.UserID = coupon.UserId; entity.Operation = CouponOperateEnum.作废.ToString(); entity.OperationDetail = string.Format("OldStatus={0};NewStatus={1}", coupon.Status, (int)CouponOperateEnum.作废); await _IPromotionOprLogRepository.CreateAsync(entity, cancellationToken).ConfigureAwait(false); } return(OperationResult.FromResult(result)); }
/// <summary> /// 查询用户的优惠券 /// </summary> /// <param name="request"></param> /// <param name="cancellationToken"></param> /// <returns></returns> public async ValueTask <List <CouponModel> > GetCouponByUserIDAsync(GetCouponByUserIDRequest request, CancellationToken cancellationToken) { List <CouponModel> result = new List <CouponModel>(); List <CouponModel> resultHistorysList = new List <CouponModel>(); //归档用户优惠券 List <CouponModel> resultNowList = new List <CouponModel>(); //正在使用的用户优惠券 try { if (request.IsHistory == 1 || request.IsHistory == 0) { var entities = await _PromotionCodeRepository.GetHistoryCouponByUserIDAsync(request.UserID, cancellationToken).ConfigureAwait(false); resultHistorysList = ObjectMapper.ConvertTo <PromotionCodeEntity, CouponModel>(entities).ToList(); foreach (var item in resultHistorysList) { item.IsHistory = 1; } result.AddRange(resultHistorysList); } if (request.IsHistory == 2 || request.IsHistory == 0) { var entities = await _PromotionCodeRepository.GetCouponByUserIDAsync(request.UserID, cancellationToken).ConfigureAwait(false); resultNowList = ObjectMapper.ConvertTo <PromotionCodeEntity, CouponModel>(entities).ToList(); result.AddRange(resultNowList); } } catch (Exception ex) { _logger.Info($"CouponManager GetCouponByUserIDAsync Exception", ex); throw; } return(result); }
/// <summary> /// 获取模块和模块内容列表 /// </summary> /// <returns></returns> public List <MemberPageModuleListModel> GetMemberPageModuleList() { MemberPageModuleListModel model = null; List <MemberPageModuleListModel> list = new List <MemberPageModuleListModel>(); using (var conn = ProcessConnection.OpenConfigurationReadOnly) { var moduleList = moduleDAL.GetMemberPageModuleList(conn); if (moduleList.Any()) { var contentList = contentDAL.GetMemberPageModuleContentList(conn, moduleList.First().MemberPageID); foreach (var item in moduleList) { //添加模块数据 model = new MemberPageModuleListModel(); model = ObjectMapper.ConvertTo <MemberPageModuleModel, MemberPageModuleListModel>(item); model.MemberPageModuleID = item.PKID; model.ModuleDisplayIndex = item.DisplayIndex; list.Add(model); //添加模块内容数据 list.AddRange(ObjectMapper.ConvertTo <MemberPageModuleContentModel, MemberPageModuleListModel>(contentList.Where(t => t.MemberPageModuleID == item.PKID))); } } } return(list); }
/// <summary> /// 根据pkid获取用户优惠券接口 /// </summary> /// <param name="request"></param> /// <param name="cancellationToken"></param> /// <returns></returns> public async ValueTask <OperationResult <GetCouponByIDResponse> > GetCouponByIDAsync(GetCouponByIDRequest request, CancellationToken cancellationToken) { PromotionCodeEntity entity = await _PromotionCodeRepository.GetCouponByIDAsync(request.pkid, cancellationToken).ConfigureAwait(false); if (entity == null) { return(OperationResult.FromError <GetCouponByIDResponse>("-1", "未获取到信息")); } GetCouponByIDResponse result = ObjectMapper.ConvertTo <PromotionCodeEntity, GetCouponByIDResponse>(entity); result.ReduceCost = (Math.Abs(result.Discount - result.ReduceCost) < 1) ? result.ReduceCost : result.Discount; result.LeastCost = (Math.Abs(result.MinMoney ?? 0 - result.LeastCost) < 1) ? result.LeastCost : (result.MinMoney ?? 0); if (result.GetRuleID > 0) { var getRuleModel = await _CouponGetRuleRepository.GetByPKIDAsync(result.GetRuleID, cancellationToken).ConfigureAwait(false); result.GetRuleGUID = getRuleModel.GetRuleGUID; result.Quantity = getRuleModel.Quantity ?? 0; result.GetQuantity = getRuleModel.GetQuantity; result.GetRuleName = getRuleModel.PromtionName; } if (result.RuleId > 0) { var useRuleModel = await _CouponUseRuleRepository.GetByPKIDAsync(result.RuleId, cancellationToken).ConfigureAwait(false); result.PromotionType = useRuleModel.PromotionType; result.RuleName = useRuleModel.Name; result.RuleDescription = useRuleModel.RuleDescription; result.OrderPayMethod = useRuleModel.OrderPayMethod; result.EnabledGroupBuy = useRuleModel.EnabledGroupBuy ? 1 : 0; result.InstallType = useRuleModel.InstallType.ToString(); } return(OperationResult.FromResult(result)); }
/// <summary> /// 分页查询 领取规则审核 list /// </summary> /// <param name="request"></param> /// <param name="cancellationToken"></param> /// <returns></returns> public async ValueTask <List <GetCouponRuleAuditModel> > GetCouponGetRuleAuditListAsync(GetCouponGetRuleAuditListRequest request, CancellationToken cancellationToken) { List <GetCouponRuleAuditEntity> entity = await _ICouponGetRuleAuditRepository.GetCouponGetRuleAuditListAsync(request, cancellationToken).ConfigureAwait(false); List <GetCouponRuleAuditModel> models = ObjectMapper.ConvertTo <GetCouponRuleAuditEntity, GetCouponRuleAuditModel>(entity).ToList(); return(models); }
public async ValueTask <List <GetCouponRuleAuditModel> > GetListByGetCouponRulePKIDAsync(int GetCouponRulePKID, CancellationToken cancellationToken) { List <GetCouponRuleAuditModel> models = new List <GetCouponRuleAuditModel>(); var entities = await _ICouponGetRuleAuditRepository.GetListByGetCouponRulePKIDAsync(GetCouponRulePKID, cancellationToken).ConfigureAwait(false); models = ObjectMapper.ConvertTo <GetCouponRuleAuditEntity, GetCouponRuleAuditModel>(entities).ToList(); return(models); }
/// <summary> /// 根据工单获取 领取规则的审核信息 /// </summary> /// <param name="WorkOrderId"></param> /// <param name="cancellationToken"></param> /// <returns></returns> public async ValueTask <List <GetCouponRuleAuditModel> > GetCouponGetRuleAuditByWorkOrderIdAsync(int WorkOrderId, CancellationToken cancellationToken) { var entity = await _ICouponGetRuleAuditRepository.GetEntityByWorkOrderIdAsync(WorkOrderId, cancellationToken).ConfigureAwait(false); List <GetCouponRuleAuditModel> models = ObjectMapper.ConvertTo <GetCouponRuleAuditEntity, GetCouponRuleAuditModel>(entity).ToList(); return(models); }
/// <summary> /// 根据任务id获取 发券规则 /// </summary> /// <param name="request"></param> /// <param name="cancellationToken"></param> /// <returns></returns> public async ValueTask <List <PromotionTaskPromotionListModel> > GetCouponRuleByTaskIDAsync(GetCouponRuleByTaskIDRequest request, CancellationToken cancellationToken) { var entity = await promotionTaskPromotionListRepository.GetPromotionTaskPromotionListByPromotionTaskIdAsync(request.PromotionTaskId, cancellationToken).ConfigureAwait(false); var result = ObjectMapper.ConvertTo <PromotionTaskPromotionListEntity, PromotionTaskPromotionListModel>(entity); return(result.ToList()); }
public async ValueTask <CouponGetRuleModel> GetByPKIDAsync(int PKID, CancellationToken cancellationToken) { CouponGetRuleEntity entity = await _ICouponGetRuleRepository.GetByPKIDAsync(PKID, cancellationToken).ConfigureAwait(false); CouponGetRuleModel model = ObjectMapper.ConvertTo <CouponGetRuleEntity, CouponGetRuleModel>(entity); return(model); }
/// <summary> /// 获取所有业务线 [不包括已删除] /// </summary> /// <param name="cancellationToken"></param> /// <returns></returns> public async ValueTask <List <PromotionBusinessLineConfigResponse> > GetPromotionBusinessLineConfigListAsync(CancellationToken cancellationToken) { var result = await _ICouponGetRuleRepository.GetPromotionBusinessLineConfigListAsync(cancellationToken).ConfigureAwait(false); List <PromotionBusinessLineConfigResponse> models = ObjectMapper.ConvertTo <PromotionBusinessLineConfigEntity, PromotionBusinessLineConfigResponse>(result).ToList(); return(models); }
/// <summary> /// 获取优惠券 任务列表 /// </summary> /// <param name="request"></param> /// <param name="cancellationToken"></param> /// <returns></returns> public async ValueTask <List <PromotionTaskModel> > GetPromotionTaskListAsync(GetPromotionTaskListRequest request, CancellationToken cancellationToken) { var entities = await promotionTaskRepository.GetPromotionTaskListAsync(request, cancellationToken).ConfigureAwait(false); var result = ObjectMapper.ConvertTo <PromotionTaskEntity, PromotionTaskModel>(entities).ToList(); return(result); }
public async Task <bool> CalculateUserGrade() { using (var client = new Tuhu.Service.Member.MembershipsGradeClient()) { var pageSize = 50; long minPKID = 0; var maxDate = DateTime.Now.AddYears(-1); var request = new QueryUserObjectInfoRequest() { PageIndex = 1, MinPkId = minPKID, PageSize = pageSize, StartDate = maxDate }; var totalCount = await client.GetNeedCalculateUserGradeCountAsync(request); var pageIndex = 1; var PageCount = (totalCount.Result - 1) / pageSize + 1; while (pageIndex <= PageCount) { pageIndex++; request = new QueryUserObjectInfoRequest { MinPkId = minPKID, PageIndex = pageIndex, PageSize = pageSize, }; try { var dataList = await client.GetNeedCalculateUserGradeDataAsync(request); if (dataList.Result == null || !dataList.Result.Any()) { continue; } minPKID = dataList.Result.Max(t => t.PKID); var calculateRequst = ObjectMapper.ConvertTo <UserObjectInfoResponse, CalculateUserGradeRequest>(dataList.Result); await client.CaculateUserGradeListAsync(calculateRequst.ToList()); } catch (Exception e) { Logger.Info($"获取或计算会员任务时出现异常"); Logger.Info($"获取或计算会员任务时出现异常:" + e.ToString()); continue; } } return(true); } }
/// <summary> /// 创建优惠券领取规则记录 /// </summary> /// <param name="request"></param> /// <param name="cancellationToken"></param> /// <returns></returns> public async Task <int> CreateCouponGetRuleAsync(CreateCouponGetRuleAuditRequest request, CancellationToken cancellationToken) { try { GetCouponRuleAuditEntity entity = ObjectMapper.ConvertTo <CreateCouponGetRuleAuditRequest, GetCouponRuleAuditEntity>(request); var pkid = await _ICouponGetRuleAuditRepository.CreateAsync(entity, cancellationToken).ConfigureAwait(false); return(pkid); } catch (Exception ex) { _logger.Error($"CreateCouponGetRuleAuditAsync Exception {JsonConvert.SerializeObject(request)}", ex); return(0); } }
/// <summary> /// 根据userid获取 一分钱洗车优惠券领取记录 /// </summary> /// <param name="request"></param> /// <returns></returns> public static async Task <OperationResult <List <WashCarCouponRecordModel> > > GetWashCarCouponListByUseridsAsync(GetWashCarCouponListByUseridsRequest request) { List <WashCarCouponRecordModel> models = new List <WashCarCouponRecordModel>(); try { var result = await DalWashCarCouponRecord.GetWashCarCouponListByUseridsAsync(request.UserID); models = ObjectMapper.ConvertTo <WashCarCouponRecordEntity, WashCarCouponRecordModel>(result).ToList(); return(OperationResult.FromResult(models)); } catch (Exception ex) { return(OperationResult.FromError <List <WashCarCouponRecordModel> >("500", ex.Message)); } }
/// <summary> /// 根据优惠券id获取 一分钱洗车优惠券领取记录 /// </summary> /// <param name="request"></param> /// <returns></returns> public static async Task <OperationResult <WashCarCouponRecordModel> > GetWashCarCouponInfoByPromotionCodeIDAsync(GetWashCarCouponInfoByPromotionCodeIDRequest request) { WashCarCouponRecordModel models = new WashCarCouponRecordModel(); try { var result = await DalWashCarCouponRecord.GetWashCarCouponListByPromotionCodeIDAsync(request.PromotionCodeID); models = ObjectMapper.ConvertTo <WashCarCouponRecordEntity, WashCarCouponRecordModel>(result).FirstOrDefault(); return(OperationResult.FromResult(models)); } catch (Exception ex) { return(OperationResult.FromError <WashCarCouponRecordModel>("500", ex.Message)); } }
/// <summary> /// 获取区域列表 /// </summary> /// <param name="cancellationToken"></param> /// <param name="IsALL">是否全部(默认否)</param> /// <returns></returns> public async ValueTask <List <GetRegionListResponse> > GetRegionListAsync(CancellationToken cancellationToken, bool IsALL = false) { List <GetRegionListResponse> result = new List <GetRegionListResponse>(); try { var entities = await _RegionRepository.GetRegionListAsync(cancellationToken, IsALL).ConfigureAwait(false); result = ObjectMapper.ConvertTo <RegionEntity, GetRegionListResponse>(entities).ToList(); } catch (Exception ex) { _logger.Error($"RegionManager GetRegionListAsync Exception", ex); throw; } return(result); }
/// <summary> /// 获取活动信息 /// </summary> /// <param name="ActivityID">活动ID</param> /// <param name="cancellationToken"></param> /// <returns></returns> public async ValueTask <GetActivityResponse> GetActivityInfoAsync(int ActivityID, CancellationToken cancellationToken) { GetActivityResponse result = new GetActivityResponse(); try { var entities = await _IActivityRepository.GetActivityInfoAsync(ActivityID, cancellationToken).ConfigureAwait(false); result = ObjectMapper.ConvertTo <ActivityEntity, GetActivityResponse>(entities); } catch (Exception ex) { _logger.Error($"ActivityManager GetActivityAsync Exception", ex); throw; } return(result); }
public async Task <JsonResult> GetUserPermissionByPage(UserPermissionRequest request) { var returnValue = new List <UserPermissionViewModel>(); if (request == null) { return(Json(new { code = -1, msg = "无参数信息", count = 0, data = returnValue }, JsonRequestBehavior.AllowGet)); } if (request.Page <= 0) { request.Page = 1; } if (request.Limit <= 0) { request.Limit = 50; } var memberBll = new MemberService(); var requestModel = new UserPermissionModel { Name = request.PermissionName, MembershipsGradeId = request.MembershipsGradeId }; var count = DALUserPermission.QueryPageCount(requestModel); var dataResult = DALUserPermission.QueryPageList(requestModel, request.Page, request.Limit); var memberGradeList = await memberBll.GetMembershipsGradeListAsync(); if (memberGradeList != null && memberGradeList.Count > 0 && dataResult != null && dataResult.Count > 0) { foreach (var userPermission in dataResult) { var viewModel = ObjectMapper.ConvertTo <UserPermissionModel, UserPermissionViewModel>(userPermission); var gradeModel = memberGradeList.Find(t => t.PKID == userPermission.MembershipsGradeId); viewModel.LastUpdateDateTime = userPermission.LastUpdateDateTime.ToString("yyyy-MM-dd HH:mm:ss"); viewModel.CreateDatetime = userPermission.CreateDatetime.ToString("yyyy-MM-dd HH:mm:ss"); if (gradeModel != null) { viewModel.MembershipsGradeName = gradeModel.GradeName; } returnValue.Add(viewModel); } } return(Json(new { code = 0, msg = "加载成功", count = count, data = returnValue.OrderByDescending(t => t.Id) }, JsonRequestBehavior.AllowGet)); }
/// <summary> /// 提交领取规则审核到工单系统 /// </summary> /// <param name="request"></param> /// <param name="cancellationToken"></param> /// <returns></returns> public async Task <int> CommitWorkOrderForCouponGetRuleAuditAsync(CreateCouponGetRuleAuditRequest request, CancellationToken cancellationToken) { CommitWorkOrderForCouponGetRuleAuditRequest apiRequest = ObjectMapper.ConvertTo <CreateCouponGetRuleAuditRequest, CommitWorkOrderForCouponGetRuleAuditRequest>(request); apiRequest.WorkOrderTypeId = Convert.ToInt32(_AppSettingOptions.WorkOrderTypeIdForCouponGetRuleAudit); apiRequest.TaskOwner = request.Auditor; apiRequest.UserEmail = request.Applicant; apiRequest.Quantity = request.Quantity?.ToString("N0"); apiRequest.SumDiscount = string.Format("{0:N2}", (request.Quantity * request.Discount)); //获取使用规则信息 var useRule = await _ICouponUseRuleRepository.GetByPKIDAsync(request.RuleID, cancellationToken).ConfigureAwait(false); apiRequest.PromotionType = useRule.PromotionType; apiRequest.EnabledGroupBuy = useRule.EnabledGroupBuy; apiRequest.RuleDescription = string.IsNullOrWhiteSpace(useRule.RuleDescription) ? "无" : useRule.RuleDescription; apiRequest.CouponUseRuleDetailURL = _AppSettingOptions.SettingHost + "/Promotion/PromotionDetailNew?id=" + request.RuleID; try { _logger.Info($"CommitWorkOrderForCouponGetRuleAuditAsync result postData= {JsonConvert.SerializeObject(apiRequest)}"); var httpClient = _clientFactory.CreateClient("HttpTimeoutForCommitWorkOrder");//设置超时时间 var responseMessage = await httpClient.PostAsJsonAsync(_AppSettingOptions.CommitWorkOrderApiURL, apiRequest).ConfigureAwait(false); string response = await responseMessage.Content.ReadAsStringAsync().ConfigureAwait(false); _logger.Info($"CommitWorkOrderForCouponGetRuleAuditAsync result response ={response}"); var responseModel = JsonConvert.DeserializeObject <CommitWorkOrderForCouponGetRuleAuditResponse>(response); if (responseModel.Code == 1) { return(Convert.ToInt32(responseModel.ResponseContent)); } _logger.Error($"CommitWorkOrderForCouponGetRuleAuditAsync fail Message ={responseModel?.Message}"); return(0); } catch (Exception ex) { _logger.Error($"CommitWorkOrderForCouponGetRuleAuditAsync Exception apiRequest ={JsonConvert.SerializeObject(apiRequest)}", ex); return(0); } }
/// <summary> /// 根据guid获取优惠券领取规则 【加缓存】 /// </summary> /// <param name="GetRuleGUID"></param> /// <param name="cancellationToken"></param> /// <returns></returns> public async Task <CouponGetRuleModel> GetCouponGetRuleCahceByGuidAsync(Guid GetRuleGUID, CancellationToken cancellationToken) { CouponGetRuleEntity entity = new CouponGetRuleEntity(); using (var client = _ICacheHelper.CreateCacheClient(GlobalConstant.RedisClient)) { var result = await client.GetOrSetAsync(string.Format(GlobalConstant.RedisKeyForGetRule, GetRuleGUID), async() => await _ICouponGetRuleRepository.GetCouponGetRuleByGuidAsync(GetRuleGUID, cancellationToken).ConfigureAwait(false), GlobalConstant.RedisTTLForGetRule).ConfigureAwait(false); if (result.Success) { entity = result.Value; } else { entity = await _ICouponGetRuleRepository.GetCouponGetRuleByGuidAsync(GetRuleGUID, cancellationToken).ConfigureAwait(false); } } CouponGetRuleModel model = ObjectMapper.ConvertTo <CouponGetRuleEntity, CouponGetRuleModel>(entity); return(model); }
/// <summary> /// 新增 一分钱洗车优惠券领取记录 /// </summary> /// <param name="request"></param> /// <returns></returns> public static async Task <OperationResult <bool> > CreateWashCarCouponAsync(WashCarCouponRecordModel request) { try { #region 新增时 数据验证 string validMSG = ""; if (request == null) { validMSG = "请求参数不能为空"; } else if (string.IsNullOrWhiteSpace(request.CarNo)) { validMSG = "车牌号不能为空"; } else if (Guid.Empty == request.UserID) { validMSG = "用户不能为空"; } else if (request.PromotionCodeID <= 0) { validMSG = "优惠券不能为空"; } if (!string.IsNullOrWhiteSpace(validMSG)) { return(OperationResult.FromError <bool>("-1", validMSG)); } #endregion WashCarCouponRecordEntity entity = ObjectMapper.ConvertTo <WashCarCouponRecordModel, WashCarCouponRecordEntity>(request); var result = await DalWashCarCouponRecord.CreateWashCarCouponAsync(entity); return(OperationResult.FromResult(result > 0)); } catch (Exception ex) { return(OperationResult.FromError <bool>("500", ex.Message)); } }
/// <summary> /// 作废优惠券 - 批量 /// </summary> /// <param name="request"></param> /// <returns></returns> public async override ValueTask <OperationResult <ObsoleteCouponListReponse> > ObsoleteCouponListAsync([FromBody] ObsoleteCouponListRequest request) { if (!request.IsPassed) { return(OperationResult.FromError <ObsoleteCouponListReponse>("-1", request.ErrorMsg)); } if (request.IsObsoleteAll) { GetCouponByUserIDRequest getCouponByUserIDRequest = new GetCouponByUserIDRequest() { UserID = request.UserID, IsHistory = 2 }; var couponList = await _CouponManager.GetCouponByUserIDAsync(getCouponByUserIDRequest, HttpContext.RequestAborted).ConfigureAwait(false); request.PromotionPKIDList = couponList.Where(p => p.Status == 0).Select(p => p.PKID).ToList(); } ObsoleteCouponListReponse response = new ObsoleteCouponListReponse(); ObsoleteCouponRequest ObsoleteCouponRequest = ObjectMapper.ConvertTo <ObsoleteCouponListRequest, ObsoleteCouponRequest>(request); foreach (var item in request.PromotionPKIDList) { ObsoleteCouponRequest.PromotionPKID = item; var flag = await _CouponManager.ObsoleteCouponAsync(ObsoleteCouponRequest, HttpContext.RequestAborted).ConfigureAwait(false); if (flag.Result) { response.SuccessedIDs += ObsoleteCouponRequest.PromotionPKID + ","; } else { response.FaidedIDs += ObsoleteCouponRequest.PromotionPKID + ","; } } return(OperationResult.FromResult(response)); }
/// <summary> /// 审核成功 同步到领取规则 /// </summary> /// <param name="request"></param> /// <param name="cancellationToken"></param> /// <returns></returns> public async ValueTask <int> SaveAuditToGetRuleAsync(GetCouponRuleAuditModel request, CancellationToken cancellationToken) { int pkid = 0; try { CouponGetRuleEntity entity = ObjectMapper.ConvertTo <GetCouponRuleAuditModel, CouponGetRuleEntity>(request); entity.PKID = request.GetCouponRulePKID; if (entity.PKID > 0) { pkid = await _ICouponGetRuleRepository.UpdateAsync(entity, cancellationToken).ConfigureAwait(false) ? entity.PKID : 0; } else { pkid = await _ICouponGetRuleRepository.CreateAsync(entity, cancellationToken).ConfigureAwait(false); } return(pkid); } catch (Exception ex) { _logger.Error($"UpdateCouponGetRuleAuditAsync Exception {JsonConvert.SerializeObject(request)}", ex); return(0); } }
/// <summary> /// 更新优惠券审核状态 【工单审核成功通知MQ中调用】 /// </summary> /// <param name="request"></param> /// <returns></returns> public async override ValueTask <OperationResult <bool> > UpdateCouponGetRuleAuditAsync([FromBody] UpdateCouponGetRuleAuditRequest request) { #region 1.更新审核记录的状态 并 添加日志 //1.获取优惠券审核的信息 var couponGetRuleAuditList = await _ICouponGetRuleAuditManager.GetCouponGetRuleAuditByWorkOrderIdAsync(request.WorkOrderId, HttpContext.RequestAborted).ConfigureAwait(false); GetCouponRuleAuditModel couponGetRuleAuditModelBefore = couponGetRuleAuditList.Where(p => p.AuditStatus == (int)WorkOrderAuditStatusEnum.审批中).FirstOrDefault(); if (couponGetRuleAuditModelBefore == null) { return(OperationResult.FromError <bool>("-1", $@"未查询到WorkOrderId ={request.WorkOrderId}审核记录")); } GetCouponRuleAuditModel couponGetRuleAuditModelAfter = ObjectMapper.ConvertTo <GetCouponRuleAuditModel, GetCouponRuleAuditModel>(couponGetRuleAuditModelBefore); couponGetRuleAuditModelAfter.Auditor = request.Auditor; WorkOrderAuditStatusEnum status; Enum.TryParse(request.AuditStatus, out status); couponGetRuleAuditModelAfter.AuditStatus = (int)(status); couponGetRuleAuditModelAfter.AuditDateTime = request.AuditDateTime == new DateTime() ? DateTime.Now : request.AuditDateTime; couponGetRuleAuditModelAfter.AuditMessage = request.AuditMessage; couponGetRuleAuditModelAfter.Auditor = request.Auditor; //更新审核记录的审核信息 var UpdateAudit = await _ICouponGetRuleAuditManager.UpdateCouponGetRuleAuditAsync(couponGetRuleAuditModelAfter, HttpContext.RequestAborted).ConfigureAwait(false); if (UpdateAudit == 0) { return(OperationResult.FromError <bool>("-1", $@"更新审核记录异常")); } //2.添加日志 GetCouponGetRuleAuditorResponse response = new GetCouponGetRuleAuditorResponse(); var ConfigResult = await _IConfigLogService.InsertDefaultLogQueue(GlobalConstant.LogTypeCouponGetRuleAudit, JsonConvert.SerializeObject(new { ObjectId = couponGetRuleAuditModelBefore.PKID, ObjectType = GlobalConstant.LogObjectTypeCouponGetRuleAudit, BeforeValue = JsonConvert.SerializeObject(couponGetRuleAuditModelBefore), AfterValue = JsonConvert.SerializeObject(couponGetRuleAuditModelAfter), Operate = "修改审核记录", Author = couponGetRuleAuditModelAfter.Auditor })).ConfigureAwait(false); #endregion #region 2.将审核通过的内容更新到领取规则表 & 推送给申请人 & 添加日志 if (couponGetRuleAuditModelAfter.AuditStatus == (int)WorkOrderAuditStatusEnum.审批通过) //审核通过 { //审核成功 同步到领取规则 var pkid = await _ICouponGetRuleManager.SaveAuditToGetRuleAsync(couponGetRuleAuditModelAfter, HttpContext.RequestAborted).ConfigureAwait(false); if (pkid == 0) { return(OperationResult.FromError <bool>("-1", "审核成功,更新优惠券领取规则失败")); } else//更新优惠券领取规则 成功 { ConfigResult = await _IConfigLogService.InsertDefaultLogQueue(GlobalConstant.LogTypeCouponGetRuleAudit, JsonConvert.SerializeObject(new { ObjectId = pkid, ObjectType = GlobalConstant.LogObjectTypeCouponGetRule, BeforeValue = "", AfterValue = JsonConvert.SerializeObject(couponGetRuleAuditModelAfter), Operate = "审核成功同步优惠券领取规则", Author = couponGetRuleAuditModelAfter.Auditor })).ConfigureAwait(false); //3.更新优惠券领取规则的缓存 var refreshResult = await _ICreatePromotionService.RefreshGetCouponRulesCache(couponGetRuleAuditModelAfter.GetRuleGUID).ConfigureAwait(false); } } #endregion return(OperationResult.FromResult(UpdateAudit > 0)); }