lcl 1 tahun lalu
induk
melakukan
df194e5beb

+ 5 - 5
AppStart/Helper/AlipayPayBackService.cs

@@ -142,15 +142,15 @@ namespace MySystem
                                 {
                                     string TradeNo = order.SeoTitle;
                                     string OrderNo = order.OrderNo;
-                                    decimal hdfee = 0.0038M * order.PayMoney * (1 - set.GetPercent - 0.01M);
-                                    hdfee = decimal.Parse(hdfee.ToString("f2"));
-                                    decimal servicefee = 0.01M * order.PayMoney - hdfee;
-                                    servicefee = decimal.Parse(servicefee.ToString("f2"));
+                                    // decimal hdfee = 0.0038M * order.PayMoney * (1 - set.GetPercent - 0.01M);
+                                    // hdfee = decimal.Parse(hdfee.ToString("f2"));
+                                    // decimal servicefee = 0.01M * order.PayMoney - hdfee;
+                                    // servicefee = decimal.Parse(servicefee.ToString("f2"));
                                     List<RoyaltyParameters> Parameters = new List<RoyaltyParameters>();
                                     Parameters.Add(new RoyaltyParameters()
                                     {
                                         Account = AlipayFunction.Instance.Pid,
-                                        Amount = servicefee.ToString("f2"),
+                                        Amount = fee.ToString("f2"),
                                     });
                                     string ProfitShareResult = AlipayFunction.Instance.Settle(OrderNo, TradeNo, Parameters, merchantAdd.AlipayAuthToken);
                                     order.DivideLog = "请求分账日志:" + ProfitShareResult;

+ 6 - 6
AppStart/Helper/WeChatPayBackService.cs

@@ -180,17 +180,17 @@ namespace MySystem
                                 {
                                     string TradeNo = order.SeoTitle;
                                     string OrderNo = order.OrderNo;
-                                    decimal hdfee = 0.0038M * order.PayMoney * (1 - set.GetPercent - 0.01M);
-                                    hdfee = decimal.Parse(hdfee.ToString("f2"));
-                                    decimal servicefee = 0.01M * order.PayMoney - hdfee;
-                                    servicefee = servicefee * 100;
-                                    int servicefeeNum = int.Parse(servicefee.ToString("f0"));
+                                    // decimal hdfee = 0.0038M * order.PayMoney * (1 - set.GetPercent - 0.01M);
+                                    // hdfee = decimal.Parse(hdfee.ToString("f2"));
+                                    // decimal servicefee = 0.01M * order.PayMoney - hdfee;
+                                    // servicefee = servicefee * 100;
+                                    // int servicefeeNum = int.Parse(servicefee.ToString("f0"));
                                     List<ReceiverList> Receivers = new List<ReceiverList>();
                                     Receivers.Add(new ReceiverList()
                                     {
                                         type = "MERCHANT_ID",  //分账接收方类型
                                         account = WeChatFunction.Instance.MchId,  //分账接收方账号
-                                        amount = servicefeeNum,  //分账金额
+                                        amount = int.Parse(fee.ToString("f0")),  //分账金额
                                         description = "服务费",  //分账描述
                                     });
                                     LogHelper.Instance.WriteLog("TradeNo:" + TradeNo, "微信分账队列监听");

+ 4 - 72
Controllers/HomeController.cs

@@ -97,80 +97,12 @@ namespace MySystem.Controllers
             // MerchantConfirmService.Instance.StartDo(68, 2);
             // string content = AlipayFunction.Instance.BindSettleRelation(DateTime.Now.ToString("yyyyMMddHHmmssfff") + function.get_Random(8), AlipayFunction.Instance.Pid, "202307BB6d61386d17104395831e3ea6309f0X57");
 
-            List<string> ordernos = new List<string>();
-            ordernos.Add("2023100319505443423678128");
-            WebCMSEntities db = new WebCMSEntities();
-            List<ConsumerOrders> orders = db.ConsumerOrders.Where(m => ordernos.Contains(m.OrderNo)).OrderBy(m => m.Id).ToList();
-            foreach(ConsumerOrders order in orders)
+            List<string> oids = new List<string>();
+            oids.Add("157404");
+            foreach(string oid in oids)
             {
-                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);
-                    //     LogHelper.Instance.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));
-                    // }
-
-                    //添加分账接收方
-                    if(merchant.Version == 0)
-                    {
-                        WeChatFunction.Instance.AddReceive(merchantAdd.SubMchid, "MERCHANT_ID", WeChatFunction.Instance.MchId, WeChatFunction.Instance.MchName, "PARTNER");
-                        merchant.Version = 1;
-                        db.SaveChanges();
-                    }
-                    //发起分账
-                    decimal fee = order.PayMoney; //单位:分
-                    if(fee >= 1)
-                    {
-                        string TradeNo = order.SeoTitle;
-                        string OrderNo = order.OrderNo;
-                        List<ReceiverList> Receivers = new List<ReceiverList>();
-                        Receivers.Add(new ReceiverList()
-                        {
-                            type = "MERCHANT_ID",  //分账接收方类型
-                            account = WeChatFunction.Instance.MchId,  //分账接收方账号
-                            amount = int.Parse(fee.ToString("f0")),  //分账金额
-                            description = "服务费",  //分账描述
-                        });
-                        WeChatFunction.Instance.ProfitShare(merchantAdd.SubMchid, TradeNo, OrderNo, Receivers);
-
-                        //开始监听分账状态
-                        Dictionary<string, object> req = new Dictionary<string, object>();
-                        req.Add("SubMchid", merchantAdd.SubMchid); //子商户号
-                        req.Add("TradeNo", TradeNo); //微信订单号
-                        req.Add("OrderNo", OrderNo); //商户订单号
-                        RedisDbconn.Instance.AddList("ProfitShareQueue", Newtonsoft.Json.JsonConvert.SerializeObject(req));
-                    }
-                }
+                RedisDbconn.Instance.AddList("AddWeChatDiviQueue", oid);
             }
-            db.Dispose();
             return "ok";
         }