|
@@ -155,6 +155,7 @@ namespace MySystem
|
|
|
MerchantAddInfo merchantAdd = db.MerchantAddInfo.FirstOrDefault(m => m.Id == suborder.MerchantId) ?? new MerchantAddInfo();
|
|
|
|
|
|
//聚合支付退款
|
|
|
+ bool BackStatus = false;
|
|
|
decimal RefundAmount = GetMoney * 100;
|
|
|
RefundAmount = Math.Round(RefundAmount, 2);
|
|
|
if(!orderids.Contains(suborder.Id))
|
|
@@ -162,7 +163,7 @@ namespace MySystem
|
|
|
function.WriteLog("请求退款接口", "返现逻辑日志");
|
|
|
string RefundNo = "HDTK" + DateTime.Now.ToString("yyyyMMddHHmmssfff") + function.get_Random(8);
|
|
|
var info = HaoDaHelper.Instance.AggregatedPayRefund(merchantAdd.OutMchtNo, merchantAdd.StoreNo, RefundNo, suborder.OrderNo, RefundAmount.ToString("f0"));
|
|
|
- if(info.Contains("\"resultCode\":\"1\""))
|
|
|
+ if(info.Contains("\"resultCode\":\"1\"") && info.Contains("\"tradeStatus\":\"2\""))
|
|
|
{
|
|
|
db.ConsumerProfit.Add(new ConsumerProfit()
|
|
|
{
|
|
@@ -178,33 +179,37 @@ namespace MySystem
|
|
|
SeoDescription = RefundNo,
|
|
|
});
|
|
|
db.SaveChanges();
|
|
|
+ BackStatus = true;
|
|
|
}
|
|
|
function.WriteLog("接口返回:" + info, "返现逻辑日志");
|
|
|
orderids.Add(suborder.Id);
|
|
|
}
|
|
|
|
|
|
- merchant.ActCurrentAmount += Math.Round(GetMoney, 2); //活动已返金额
|
|
|
- db.SaveChanges();
|
|
|
- function.WriteLog(suborder.CurDivi + ":" + suborder.MaxDivi, "返现逻辑日志");
|
|
|
- if (suborder.CurDivi < suborder.MaxDivi)
|
|
|
+ if(BackStatus)
|
|
|
{
|
|
|
- function.WriteLog("返现未达最大值继续", "返现逻辑日志");
|
|
|
- // RedisDbconn.Instance.AddList("ConsumerOrdersHd:Divi:" + PayMode + ":" + MerchantId, suborder);
|
|
|
- RedisDbconn.Instance.SetList("ConsumerOrdersHd:Divi:" + PayMode + ":" + MerchantId, 0, suborder);
|
|
|
- }
|
|
|
- else
|
|
|
- {
|
|
|
- suborder.CurDivi = TmpCurDivi;
|
|
|
- function.WriteLog("返现达最大值,出局", "返现逻辑日志");
|
|
|
- RedisDbconn.Instance.DelFromList("ConsumerOrdersHd:Divi:" + PayMode + ":" + MerchantId, suborder);
|
|
|
- ConsumerOrders editOrder = db.ConsumerOrders.FirstOrDefault(m => m.Id == suborder.Id);
|
|
|
- if (editOrder != null)
|
|
|
+ merchant.ActCurrentAmount += Math.Round(GetMoney, 2); //活动已返金额
|
|
|
+ db.SaveChanges();
|
|
|
+ function.WriteLog(suborder.CurDivi + ":" + suborder.MaxDivi, "返现逻辑日志");
|
|
|
+ if (suborder.CurDivi < suborder.MaxDivi)
|
|
|
{
|
|
|
- editOrder.ReturnFlag = 0;
|
|
|
- editOrder.CurDivi = editOrder.MaxDivi;
|
|
|
- db.SaveChanges();
|
|
|
+ function.WriteLog("返现未达最大值继续", "返现逻辑日志");
|
|
|
+ // RedisDbconn.Instance.AddList("ConsumerOrdersHd:Divi:" + PayMode + ":" + MerchantId, suborder);
|
|
|
+ RedisDbconn.Instance.SetList("ConsumerOrdersHd:Divi:" + PayMode + ":" + MerchantId, 0, suborder);
|
|
|
+ }
|
|
|
+ else
|
|
|
+ {
|
|
|
+ suborder.CurDivi = TmpCurDivi;
|
|
|
+ function.WriteLog("返现达最大值,出局", "返现逻辑日志");
|
|
|
+ RedisDbconn.Instance.DelFromList("ConsumerOrdersHd:Divi:" + PayMode + ":" + MerchantId, suborder);
|
|
|
+ ConsumerOrders editOrder = db.ConsumerOrders.FirstOrDefault(m => m.Id == suborder.Id);
|
|
|
+ if (editOrder != null)
|
|
|
+ {
|
|
|
+ editOrder.ReturnFlag = 0;
|
|
|
+ editOrder.CurDivi = editOrder.MaxDivi;
|
|
|
+ db.SaveChanges();
|
|
|
+ }
|
|
|
+ OutCount += 1;
|
|
|
}
|
|
|
- OutCount += 1;
|
|
|
}
|
|
|
Thread.Sleep(1000);
|
|
|
|