Browse Source

调整数据读取,分开读取银联直连数据

DuGuYang 1 year ago
parent
commit
95dcc3e202

+ 34 - 14
Areas/Api/Controllers/v1/MainServer/ConsumerProfitController.cs

@@ -35,7 +35,6 @@ namespace MySystem.Areas.Api.Controllers.v1
             return Json(new AppResultJson() { Status = "1", Info = "", Data = dataList, Other = Other });
         }
         private List<Dictionary<string, object>> ListDo(string value, out Dictionary<string, object> Other)
-        // public List<Dictionary<string, object>> ListDo(string value)
         {
             JsonData data = JsonMapper.ToObject(value);
             int ConsumerId = int.Parse(function.CheckInt(data["ConsumerId"].ToString())); //用户Id
@@ -52,22 +51,43 @@ namespace MySystem.Areas.Api.Controllers.v1
             condition += limitString;
             List<RelationData> relationData = new List<RelationData>();
             List<Dictionary<string, object>> dataList = new List<Dictionary<string, object>>();
-            var aa = "SELECT * FROM(SELECT  a.*,b.CertMerchantName FROM (SELECT Id,1 Kind,CreateDate,SeoTitle,GetMoney,MerchantId FROM QrCodePlateMainServer.ConsumerProfit WHERE OrderId IN(SELECT Id FROM QrCodePlateMainServer.ConsumerOrders WHERE ConsumerId IN(SELECT Id FROM QrCodePlateMainServer.Consumers WHERE Id='"+ConsumerId+"') AND Status>0 AND PayMode=" + Kind + "))a LEFT JOIN (SELECT Id,CertMerchantName FROM QrCodePlateMainServer.MerchantAddInfo WHERE Status=2 OR QueryCount=2)b ON a.MerchantId=b.Id UNION ALL SELECT  a.*,b.CertMerchantName FROM (SELECT Id,2 Kind,CreateDate,SeoTitle,GetMoney,MerchantId FROM QrCodePlateMainServer2.ConsumerProfit WHERE OrderId IN(SELECT Id FROM QrCodePlateMainServer2.ConsumerOrders WHERE ConsumerId IN(SELECT Id FROM QrCodePlateMainServer.Consumers WHERE Id='"+ConsumerId+"') AND Status>0 AND PayMode=" + Kind + "))a LEFT JOIN (SELECT Id,CertMerchantName FROM QrCodePlateMainServer2.MerchantAddInfo WHERE Status=2 OR QueryCount=2)b ON a.MerchantId=b.Id)aa" + condition;
+            Other = new Dictionary<string, object>();
+            var WechatOpenId = "";
 
-            DataTable dt = CustomerSqlConn.dtable("SELECT * FROM(SELECT  a.*,b.CertMerchantName FROM (SELECT Id,1 Kind,CreateDate,SeoTitle,GetMoney,MerchantId FROM QrCodePlateMainServer.ConsumerProfit WHERE OrderId IN(SELECT Id FROM QrCodePlateMainServer.ConsumerOrders WHERE ConsumerId IN(SELECT Id FROM QrCodePlateMainServer.Consumers WHERE Id='"+ConsumerId+"') AND Status>0 AND PayMode=" + Kind + "))a LEFT JOIN (SELECT Id,CertMerchantName FROM QrCodePlateMainServer.MerchantAddInfo WHERE Status=2 OR QueryCount=2)b ON a.MerchantId=b.Id UNION ALL SELECT  a.*,b.CertMerchantName FROM (SELECT Id,2 Kind,CreateDate,SeoTitle,GetMoney,MerchantId FROM QrCodePlateMainServer2.ConsumerProfit WHERE OrderId IN(SELECT Id FROM QrCodePlateMainServer2.ConsumerOrders WHERE ConsumerId IN(SELECT Id FROM QrCodePlateMainServer.Consumers WHERE Id='"+ConsumerId+"') AND Status>0 AND PayMode=" + Kind + "))a LEFT JOIN (SELECT Id,CertMerchantName FROM QrCodePlateMainServer2.MerchantAddInfo WHERE Status=2 OR QueryCount=2)b ON a.MerchantId=b.Id)aa" + condition, AppConfig.Base.SqlConnStr);
-            foreach (DataRow dr in dt.Rows)
+            var consumer = Services.Main.ConsumersService.Query(ConsumerId);
+            var consumer2 = Services.Main2.ConsumersService.Query(ConsumerId);
+            if (consumer.Id > 0 && ConsumerId > 0)
             {
-                Dictionary<string, object> curData = new Dictionary<string, object>();
-                curData.Add("Id", int.Parse(dr["Id"].ToString())); //Id
-                curData.Add("Kind", int.Parse(dr["Kind"].ToString())); //商户类型(1 直连 2 银联)
-                curData.Add("OrderNo", dr["SeoTitle"].ToString()); //订单号
-                curData.Add("CreateDate", dr["CreateDate"].ToString()); //创建时间
-                curData.Add("MerchantName", dr["CertMerchantName"].ToString()); //商户名称
-                curData.Add("GetMoney", decimal.Parse(dr["GetMoney"].ToString())); //分红金额
-                dataList.Add(curData);
+                WechatOpenId = consumer.WechatOpenId;
+            }
+            else
+            {
+                if (consumer2.Id > 0 && ConsumerId > 0)
+                {
+                    WechatOpenId = consumer2.WechatOpenId;
+                }
+            }
+
+            if (ConsumerId > 0 && !string.IsNullOrEmpty(WechatOpenId))
+            {
+                DataTable dt = CustomerSqlConn.dtable("SELECT * FROM(SELECT  a.*,b.CertMerchantName FROM (SELECT Id,1 Kind,CreateDate,SeoTitle,GetMoney,MerchantId FROM QrCodePlateMainServer.ConsumerProfit WHERE OrderId IN(SELECT Id FROM QrCodePlateMainServer.ConsumerOrders WHERE ConsumerId IN(SELECT Id FROM QrCodePlateMainServer.Consumers WHERE WechatOpenId='" + WechatOpenId + "') AND Status>0 AND PayMode=" + Kind + "))a LEFT JOIN (SELECT Id,CertMerchantName FROM QrCodePlateMainServer.MerchantAddInfo WHERE Status=2 OR QueryCount=2)b ON a.MerchantId=b.Id UNION ALL SELECT  a.*,b.CertMerchantName FROM (SELECT Id,2 Kind,CreateDate,SeoTitle,GetMoney,MerchantId FROM QrCodePlateMainServer2.ConsumerProfit WHERE OrderId IN(SELECT Id FROM QrCodePlateMainServer2.ConsumerOrders WHERE ConsumerId IN(SELECT Id FROM QrCodePlateMainServer2.Consumers WHERE WechatOpenId='" + WechatOpenId + "') AND Status>0 AND PayMode=" + Kind + "))a LEFT JOIN (SELECT Id,CertMerchantName FROM QrCodePlateMainServer2.MerchantAddInfo WHERE Status=2 OR QueryCount=2)b ON a.MerchantId=b.Id)aa" + condition, AppConfig.Base.SqlConnStr);
+                foreach (DataRow dr in dt.Rows)
+                {
+                    Dictionary<string, object> curData = new Dictionary<string, object>();
+                    curData.Add("Id", int.Parse(dr["Id"].ToString())); //Id
+                    curData.Add("Kind", int.Parse(dr["Kind"].ToString())); //商户类型(1 直连 2 银联)
+                    curData.Add("OrderNo", dr["SeoTitle"].ToString()); //订单号
+                    curData.Add("CreateDate", dr["CreateDate"].ToString()); //创建时间
+                    curData.Add("MerchantName", dr["CertMerchantName"].ToString()); //商户名称
+                    curData.Add("GetMoney", decimal.Parse(dr["GetMoney"].ToString())); //分红金额
+                    dataList.Add(curData);
+                }
+                Other.Add("count", dt.Rows.Count);
+            }
+            else
+            {
+                Other.Add("count", 0);
             }
-            Other = new Dictionary<string, object>();
-            Other.Add("count", dt.Rows.Count);
             return dataList;
         }
         #endregion

+ 31 - 5
Areas/Api/Controllers/v1/MainServer/ConsumersController.cs

@@ -48,27 +48,40 @@ namespace MySystem.Areas.Api.Controllers.v1
                 OpenId = WeChatMiniOpenIdDo(OpenId);
             }
             Dictionary<string, object> Obj = new Dictionary<string, object>();
+            var ConsumerId = 0;
             var HeadPhoto = "";
             var NickName = "";
             var TotalAmount = 0.00M;
             var Amount = 0.00M;
             var Amount2 = 0.00M;
             var consumer = Services.Main.ConsumersService.Query(" and WechatOpenId='" + OpenId + "'");
-            // Amount = Services.Main.ConsumerProfitService.Sum(" and ConsumerId=" + consumer.Id + "", "GetMoney");
-            // Amount2 = Services.Main2.ConsumerProfitService.Sum(" and ConsumerId=" + consumer.Id + "", "GetMoney");
+            var consumer2 = Services.Main2.ConsumersService.Query(" and WechatOpenId='" + OpenId + "'");
+            if (consumer.Id > 0 && !string.IsNullOrEmpty(consumer.WechatOpenId)) Amount = Services.Main.ConsumerProfitService.Sum(" and ConsumerId=" + consumer.Id + "", "GetMoney");
+            if (consumer2.Id > 0 && !string.IsNullOrEmpty(consumer2.WechatOpenId)) Amount2 = Services.Main2.ConsumerProfitService.Sum(" and ConsumerId=" + consumer2.Id + "", "GetMoney");
             TotalAmount = Amount + Amount2;
             if (consumer.Id > 0)
             {
+                ConsumerId = consumer.Id;
                 HeadPhoto = consumer.HeadPhoto;
                 NickName = consumer.NickName;
             }
-            var token = PublicFunction.AppToken(consumer.Id, JwtSecret, JwtIss);
-            Obj.Add("Amount", 0.00); //累计返现金额
+            else
+            {
+                if (consumer2.Id > 0)
+                {
+                    ConsumerId = consumer2.Id;
+                    HeadPhoto = consumer2.HeadPhoto;
+                    NickName = consumer2.NickName;
+                }
+            }
+            var token = PublicFunction.AppToken(ConsumerId, JwtSecret, JwtIss);
+            // Obj.Add("Amount", 0.00); //累计返现金额
+            Obj.Add("Amount", TotalAmount); //累计返现金额
             Obj.Add("HeadPhoto", HeadPhoto); //头像
             Obj.Add("NickName", NickName); //昵称
             Obj.Add("Token", token); //token
             Obj.Add("OpenId", OpenId);
-            Obj.Add("ConsumerId", consumer.Id); //用户Id
+            Obj.Add("ConsumerId", ConsumerId); //用户Id
 
             return Obj;
         }
@@ -130,6 +143,7 @@ namespace MySystem.Areas.Api.Controllers.v1
             string NickName = data["NickName"].ToString(); //昵称
             Dictionary<string, object> Obj = new Dictionary<string, object>();
             var consumer = maindb.Consumers.FirstOrDefault(m => m.Id == ConsumerId) ?? new Consumers();
+            var consumer2 = maindb2.Consumers.FirstOrDefault(m => m.Id == ConsumerId) ?? new MainModels2.Consumers();
             if (consumer.Id > 0)
             {
                 if (!string.IsNullOrEmpty(HeadPhoto))
@@ -141,7 +155,19 @@ namespace MySystem.Areas.Api.Controllers.v1
                     consumer.NickName = NickName;
                 }
             }
+            if (consumer2.Id > 0)
+            {
+                if (!string.IsNullOrEmpty(HeadPhoto))
+                {
+                    consumer2.HeadPhoto = HeadPhoto;
+                }
+                if (!string.IsNullOrEmpty(NickName))
+                {
+                    consumer2.NickName = NickName;
+                }
+            }
             maindb.SaveChanges();
+            maindb2.SaveChanges();
             return new AppResultJson() { Status = "1", Info = "", Data = Obj };
         }
         #endregion