|
@@ -33,29 +33,42 @@ namespace MySystem
|
|
|
string content = RedisDbconn.Instance.RPop<string>("PayCallBack");
|
|
|
if (!string.IsNullOrEmpty(content))
|
|
|
{
|
|
|
- JsonData jsonObj = JsonMapper.ToObject(content);
|
|
|
- string OrderNo = jsonObj["out_trade_no"].ToString();
|
|
|
- string TradeNo = jsonObj["transaction_id"].ToString();
|
|
|
- decimal TotalFee = decimal.Parse(function.CheckNum(jsonObj["total_fee"].ToString()));
|
|
|
- WebCMSEntities db = new WebCMSEntities();
|
|
|
- ConsumerOrderForNo forNo = db.ConsumerOrderForNo.FirstOrDefault(m => m.OrderNo == OrderNo);
|
|
|
- if (forNo != null)
|
|
|
+ bool pass = true;
|
|
|
+ string[] datalist = content.Split(new string[] { "#cut#" }, StringSplitOptions.None);
|
|
|
+ JsonData jsonObj = JsonMapper.ToObject(datalist[1]);
|
|
|
+ string OrderNo = "";
|
|
|
+ if(datalist[0] == "wechat")
|
|
|
{
|
|
|
- ConsumerOrders order = db.ConsumerOrders.FirstOrDefault(m => m.Id == forNo.OrderIds && m.Status == 0);
|
|
|
- if (order != null)
|
|
|
+ if(jsonObj["event_type"].ToString() != "TRANSACTION.SUCCESS")
|
|
|
{
|
|
|
- order.Status = 1;
|
|
|
- order.UpdateDate = DateTime.Now;
|
|
|
- order.PayMoney = order.PayMoney;
|
|
|
- order.MaxDivi = order.MaxDivi;
|
|
|
- db.SaveChanges();
|
|
|
- RedisDbconn.Instance.AddList("ConsumerOrdersStat", order.Id);
|
|
|
- RedisDbconn.Instance.AddList("ConsumerOrders:Divi:List", order.Id.ToString());
|
|
|
- RedisDbconn.Instance.AddRightList("ConsumerOrders:Divi:" + order.MerchantId, order);
|
|
|
-
|
|
|
+ pass = false;
|
|
|
}
|
|
|
+ string ciphertext = jsonObj["resource"]["ciphertext"].ToString();
|
|
|
+
|
|
|
+ OrderNo = "";
|
|
|
+ }
|
|
|
+ if(pass)
|
|
|
+ {
|
|
|
+ WebCMSEntities db = new WebCMSEntities();
|
|
|
+ ConsumerOrderForNo forNo = db.ConsumerOrderForNo.FirstOrDefault(m => m.OrderNo == OrderNo);
|
|
|
+ if (forNo != null)
|
|
|
+ {
|
|
|
+ ConsumerOrders order = db.ConsumerOrders.FirstOrDefault(m => m.Id == forNo.OrderIds && m.Status == 0);
|
|
|
+ if (order != null)
|
|
|
+ {
|
|
|
+ order.Status = 1;
|
|
|
+ order.UpdateDate = DateTime.Now;
|
|
|
+ order.PayMoney = order.PayMoney;
|
|
|
+ order.MaxDivi = order.MaxDivi;
|
|
|
+ db.SaveChanges();
|
|
|
+ RedisDbconn.Instance.AddList("ConsumerOrdersStat", order.Id);
|
|
|
+ RedisDbconn.Instance.AddList("ConsumerOrders:Divi:List", order.Id.ToString());
|
|
|
+ RedisDbconn.Instance.AddRightList("ConsumerOrders:Divi:" + order.MerchantId, order);
|
|
|
+
|
|
|
+ }
|
|
|
+ }
|
|
|
+ db.Dispose();
|
|
|
}
|
|
|
- db.Dispose();
|
|
|
}
|
|
|
else
|
|
|
{
|