|
@@ -93,9 +93,55 @@ namespace MySystem.Controllers
|
|
|
// string content = AlipayFunction.Instance.Settle("2023061615441556447868073", "2023061622001451251436120885", Parameters);
|
|
|
// string content = AlipayFunction.Instance.BindSettleRelation(DateTime.Now.ToString("yyyyMMddHHmmssfff") + function.get_Random(8), "2088141704579033");
|
|
|
// string content = AlipayFunction.Instance.Refund("2023061622001451251436120885", "0.01", "门店分红");
|
|
|
- // string content = AlipayFunction.Instance.QuerySettle("2023061517455619986938439", "2023061522001451251430528719", "");
|
|
|
+ // string content = AlipayFunction.Instance.QuerySettle("2023071214274372011988068", "2023071222001457121457238496", "202307BB6d61386d17104395831e3ea6309f0X57");
|
|
|
// MerchantConfirmService.Instance.StartDo(68, 2);
|
|
|
-
|
|
|
+ // string content = AlipayFunction.Instance.BindSettleRelation(DateTime.Now.ToString("yyyyMMddHHmmssfff") + function.get_Random(8), AlipayFunction.Instance.Pid, "202307BB6d61386d17104395831e3ea6309f0X57");
|
|
|
+ WebCMSEntities db = new WebCMSEntities();
|
|
|
+ List<ConsumerOrders> orders = db.ConsumerOrders.Where(m => m.MerchantId == 70 && m.PayMode == 1 && m.Status > 0).OrderBy(m => m.Id).ToList();
|
|
|
+ foreach(ConsumerOrders order in orders)
|
|
|
+ {
|
|
|
+ MerchantInfo merchant = db.MerchantInfo.FirstOrDefault(m => m.Id == order.MerchantId) ?? new MerchantInfo();
|
|
|
+ MerchantParamSet set = db.MerchantParamSet.FirstOrDefault(m => m.Id == order.MerchantId) ?? new MerchantParamSet();
|
|
|
+ if(order.IsAct == 1 && order.PayMoney >= set.MinPayMoney)
|
|
|
+ {
|
|
|
+ MerchantAddInfo merchantAdd = db.MerchantAddInfo.FirstOrDefault(m => m.Id == order.MerchantId) ?? new MerchantAddInfo();
|
|
|
+ //添加分账接收方
|
|
|
+ if(merchantAdd.Sort == 0)
|
|
|
+ {
|
|
|
+ string content = AlipayFunction.Instance.BindSettleRelation(DateTime.Now.ToString("yyyyMMddHHmmssfff") + function.get_Random(8), AlipayFunction.Instance.Pid, merchantAdd.AlipayAuthToken);
|
|
|
+ function.WriteLog(DateTime.Now.ToString() + "\n" + content, "支付宝添加分账方");
|
|
|
+ merchantAdd.Sort = 1;
|
|
|
+ db.SaveChanges();
|
|
|
+ }
|
|
|
+ //发起分账
|
|
|
+ decimal fee = order.PayMoney * 0.01M;
|
|
|
+ if(fee >= 0.01M)
|
|
|
+ {
|
|
|
+ string TradeNo = order.SeoTitle;
|
|
|
+ string OrderNo = order.OrderNo;
|
|
|
+ List<RoyaltyParameters> Parameters = new List<RoyaltyParameters>();
|
|
|
+ Parameters.Add(new RoyaltyParameters()
|
|
|
+ {
|
|
|
+ Account = AlipayFunction.Instance.Pid,
|
|
|
+ Amount = fee.ToString("f2"),
|
|
|
+ });
|
|
|
+ AlipayFunction.Instance.Settle(OrderNo, TradeNo, Parameters, merchantAdd.AlipayAuthToken);
|
|
|
+
|
|
|
+ //开始监听分账状态
|
|
|
+ // Dictionary<string, object> req = new Dictionary<string, object>();
|
|
|
+ // req.Add("TradeNo", TradeNo); //支付宝订单号
|
|
|
+ // req.Add("OrderNo", OrderNo); //商户订单号
|
|
|
+ // req.Add("AuthToken", merchantAdd.AlipayAuthToken);
|
|
|
+ // RedisDbconn.Instance.AddList("AlipayShareQueue", Newtonsoft.Json.JsonConvert.SerializeObject(req));
|
|
|
+ }
|
|
|
+ else
|
|
|
+ {
|
|
|
+ RedisDbconn.Instance.AddList("ConsumerOrders:Divi:1:List", order.Id.ToString());
|
|
|
+ // RedisDbconn.Instance.AddRightList("ConsumerOrders:Divi:1:" + order.MerchantId, order);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ db.Dispose();
|
|
|
return "ok";
|
|
|
}
|
|
|
|