public RebateConfigModel SelectRebateConfigByPKID(int pkid) { RebateConfigModel result = null; try { dbScopeReadManager.Execute(conn => { result = DALRebateConfig.SelectRebateConfigByPKID(conn, pkid); result.ImgList = DALRebateConfig.GetRebateApplyImageConfig(conn, pkid, ImgSource.UserImg); }); } catch (Exception ex) { logger.Error(ex); } return(result); }
public bool UpdateStatusForComplete(int pkid, string user) { var result = false; try { dbScopeManager.CreateTransaction(conn => { var data = DALRebateConfig.SelectRebateConfigByPKID(conn, pkid); if (data.Status == Status.Approved || ((String.Equals(data.Source, "爱卡") || String.Equals(data.Source, "汽车之家")) && data.Status == Status.Applying)) { result = DALRebateConfig.UpdateStatusForComplete(conn, pkid) > 0; } }); } catch (Exception ex) { logger.Error(ex); } InsertLog(pkid.ToString(), "UpdateStatusForComplete", result ? "成功" : "失败", $"PKID:{pkid.ToString()},Status:Complete", string.Empty, string.Empty, user); return(result); }
public Tuple <bool, string> UpdateStatus(int pkid, Status status, string refusalReason, int pushBatchId, string user) { var result = false; var msg = string.Empty; try { if (status == Status.Approved || status == Status.Unapprove) { dbScopeManager.CreateTransaction(conn => { var data = DALRebateConfig.SelectRebateConfigByPKID(conn, pkid); if (status == Status.Approved) { var existedData = DALRebateConfig.SelectRebateApplyConfigByParam(conn, data); if (String.Equals(data.Source, "Rebate25")) { existedData = existedData.Where(_ => String.Equals(_.Source, "Rebate25")).ToList(); } else { existedData = existedData.Where(_ => String.Equals(_.Source, "爱卡") || String.Equals(_.Source, "汽车之家")).ToList(); } if (existedData?.Where(x => String.Equals(x.OrderId, data.OrderId)).Count() > 0 || existedData?.Where(x => String.Equals(x.UserPhone, data.UserPhone)).Count() > 0) { msg = "每个客户只能参与一次(包含手机号、订单号、微信号)均视为同一客户"; } else { if (!string.IsNullOrEmpty(data.OpenId)) { if (data.Status == Status.Applying) { if (String.Equals(data.Source, "爱卡") || String.Equals(data.Source, "汽车之家")) { result = DALRebateConfig.UpdateStatusForCompleteV2(conn, pkid) > 0; } else { var getResult = SendRedBag(new WxSendRedBagRequest() { OrderNo = data.OrderId.ToString(), OpenId = data.OpenId, PayWay = "WX_QIYEFUKUAN", Money = 2500M, //返现25元 单位:分 Channel = "途虎朋友圈点赞返现", Remark = "途虎25元集赞已返到零钱;参加58元发帖返现请添加微信号:tuhu24咨询。" }); if (getResult.Item1) { var pushResult = PushService.PushWechatInfoByBatchId(3383, new PushTemplateLog() { Target = data.OpenId }); InsertLog(pkid.ToString(), "PushWechatInfo", pushResult ? "消息推送成功" : "消息推送失败", $"BatchId:{3383}", string.Empty, string.Empty, user); result = DALRebateConfig.UpdateStatusForCompleteV2(conn, pkid) > 0; } msg = getResult.Item2 ?? "返现失败"; InsertLog(pkid.ToString(), "SendRedBag", getResult.Item1 ? "返现成功" : msg, $"OpenId:{data.OpenId},Money:{decimal.Parse("25.00")}", string.Empty, string.Empty, user); } } else { msg = $"审核状态异常,BeforeValue:{data.Status.ToString()},AfterValue:{status.ToString()}"; } } else { result = DALRebateConfig.UpdateStatus(conn, pkid, Status.Approved) > 0; } } } else { result = DALRebateConfig.UpdateStatus(conn, pkid, Status.Unapprove, refusalReason) > 0; if (!string.IsNullOrEmpty(data.OpenId) && result && pushBatchId > 0 && data.Status == Status.Applying) { var pushResult = PushService.PushWechatInfoByBatchId(pushBatchId, new PushTemplateLog() { Target = data.OpenId }); InsertLog(pkid.ToString(), "PushWechatInfo", pushResult ? "消息推送成功" : "消息推送失败", $"BatchId:{pushBatchId}", string.Empty, string.Empty, user); } else { msg = $"审核状态异常,BeforeValue:{data.Status.ToString()},AfterValue:{status.ToString()}"; } } }); } } catch (Exception ex) { msg = "服务异常"; logger.Error(ex); } InsertLog(pkid.ToString(), "UpdateStatus", result ? "审核成功" : msg, $"PKID:{pkid.ToString()},Status:{status.ToString()}", string.Empty, string.Empty, user); return(Tuple.Create(result, msg)); }