Browse Source

Merge branch 'feature-dgy-放开腾讯地址解析' into feature-dgy-功能测试

# Conflicts:
#	Util/HaoDa/TestHaoDaService.cs
DuGuYang 11 months ago
parent
commit
10d3ea79c1

+ 1 - 1
Startup.cs

@@ -142,7 +142,7 @@ namespace MySystem
             }
             if(Library.ConfigurationManager.EnvironmentFlag == 2)
             {
-                // GetTencentAddressInfoService.Instance.Start(); // 获取腾讯地图地址
+                GetTencentAddressInfoService.Instance.Start(); // 获取腾讯地图地址
                 GetStoreNoHelper.Instance.Start(); //获取商户门店号、微信支付宝商户号
                 MerchantConfirmService.Instance.Start(); //提交商户进件
                 CheckWeChatSignService.Instance.Start(); //查询商户审核状态

+ 10 - 10
Util/HaoDa/HaoDaExtQueryAuthHelper.cs

@@ -68,11 +68,11 @@ public class HaoDaExtQueryAuthHelper
                     MerchantInfo merchant = db.MerchantInfo.FirstOrDefault(m => m.Id == Id) ?? new MerchantInfo();
                     info.Status = 2;
                     merchant.Status = 2;
-                    // if (merchant.Latitude == 0)
-                    // {
-                    //     //签约成功调用腾讯地图接口获取地址
-                    //     RedisDbconn.Instance.AddList("GetTencentAddressInfoQueue", "{\"Address\":\"" + merchant.Areas + merchant.Address + "\"}");
-                    // }
+                    if (merchant.Latitude == 0)
+                    {
+                        //签约成功调用腾讯地图接口获取地址
+                        RedisDbconn.Instance.AddList("GetTencentAddressInfoQueue", "{\"MerChantId\":\"" + merchant.Id + "\",\"Address\":\"" + merchant.Areas + merchant.Address + "\"}");
+                    }
                     db.SaveChanges();
                     LogHelper.Instance.WriteLog("startsend", "获取微信商户开户意愿确认状态");
                 }
@@ -148,11 +148,11 @@ public class HaoDaExtQueryAuthHelper
                     merchant.QueryCount = 2;
                     db.SaveChanges();
                     LogHelper.Instance.WriteLog("start1end", "获取支付宝商家认证状态");
-                    // if (merchant.Latitude == 0)
-                    // {
-                    //     //签约成功调用腾讯地图接口获取地址
-                    //     RedisDbconn.Instance.AddList("GetTencentAddressInfoQueue", "{\"Address\":\"" + merchant.Areas + merchant.Address + "\"}");
-                    // }
+                    if (merchant.Latitude == 0)
+                    {
+                        //签约成功调用腾讯地图接口获取地址
+                        RedisDbconn.Instance.AddList("GetTencentAddressInfoQueue", "{\"MerChantId\":\"" + merchant.Id + "\",\"Address\":\"" + merchant.Areas + merchant.Address + "\"}");
+                    }
                 }
                 // else
                 // {

+ 10 - 10
Util/HaoDa/HaoDaExtQueryHelper.cs

@@ -89,11 +89,11 @@ public class HaoDaExtQueryHelper
                 merchant.Status = 2;
                 info.WeChatRemark = "";
                 LogHelper.Instance.WriteLog("start1end", "查询微信商户意愿申请状态");
-                // if (merchant.Latitude == 0)
-                // {
-                //     //签约成功调用腾讯地图接口获取地址
-                //     RedisDbconn.Instance.AddList("GetTencentAddressInfoQueue", "{\"Address\":\"" + merchant.Areas + merchant.Address + "\"}");
-                // }
+                if (merchant.Latitude == 0)
+                {
+                    //签约成功调用腾讯地图接口获取地址
+                    RedisDbconn.Instance.AddList("GetTencentAddressInfoQueue", "{\"MerChantId\":\"" + merchant.Id + "\",\"Address\":\"" + merchant.Areas + merchant.Address + "\"}");
+                }
                 db.SaveChanges();
             }
             // else
@@ -208,11 +208,11 @@ public class HaoDaExtQueryHelper
                     merchant.QueryCount = 2;
                     info.AlipayRemark = "";
                     LogHelper.Instance.WriteLog("start2end", "查询支付宝商户意愿申请状态");
-                    // if (merchant.Latitude == 0)
-                    // {
-                    //     //签约成功调用腾讯地图接口获取地址
-                    //     RedisDbconn.Instance.AddList("GetTencentAddressInfoQueue", "{\"Address\":\"" + merchant.Areas + merchant.Address + "\"}");
-                    // }
+                    if (merchant.Latitude == 0)
+                    {
+                        //签约成功调用腾讯地图接口获取地址
+                        RedisDbconn.Instance.AddList("GetTencentAddressInfoQueue", "{\"MerChantId\":\"" + merchant.Id + "\",\"Address\":\"" + merchant.Areas + merchant.Address + "\"}");
+                    }
                     db.SaveChanges();
                 }
                 // else

+ 31 - 9
Util/HaoDa/Tencent/GetTencentAddressInfoService.cs

@@ -6,6 +6,7 @@ using System.Threading;
 using MySystem.Models;
 using Library;
 using LitJson;
+using MySystem.Models.Main;
 
 namespace MySystem
 {
@@ -29,19 +30,40 @@ namespace MySystem
         {
             while (true)
             {
-                try
+                string data = RedisDbconn.Instance.RPop<string>("GetTencentAddressInfoQueue");
+                if (!string.IsNullOrEmpty(data))
                 {
-                    string data = RedisDbconn.Instance.RPop<string>("GetTencentAddressInfoQueue");
-                    JsonData jsonObj = JsonMapper.ToObject(data);
-                    string Address = jsonObj["Data"]["Address"].ToString();
-                    string Key = Library.ConfigurationManager.AppSettings["TencentKey"].ToString();
-                    var info = function.GetWebRequest("https://apis.map.qq.com/ws/geocoder/v1/?address=" + Address + "&key=" + Key);
+                    try
+                    {
+                        JsonData jsonObj = JsonMapper.ToObject(data);
+                        int Id = int.Parse(jsonObj["Data"]["MerchantId"].ToString());
+                        string Address = jsonObj["Data"]["Address"].ToString();
+                        string Key = Library.ConfigurationManager.AppSettings["TencentKey"].ToString();
+                        var info = function.GetWebRequest("https://apis.map.qq.com/ws/geocoder/v1/?address=" + Address + "&key=" + Key);
+                        JsonData result = JsonMapper.ToObject(info);
+                        //创建成功
+                        if (result["status"].ToString() == "0")
+                        {
+                            WebCMSEntities db = new WebCMSEntities();
+                            var merInfo = db.MerchantInfo.FirstOrDefault(m => m.Id == Id) ?? new MerchantInfo();
+                            if (merInfo.Id > 0)
+                            {
+                                merInfo.Longitude = decimal.Parse(result["result"]["location"]["lng"].ToString());
+                                merInfo.Latitude = decimal.Parse(result["result"]["location"]["lat"].ToString());
+                                db.SaveChanges();
+                                db.Dispose();
+                            }
+                        }
+                    }
+                    catch (Exception ex)
+                    {
+                        function.WriteLog(DateTime.Now.ToString() + ":" + ex.ToString(), "获取腾讯地图地址线程异常");
+                    }
                 }
-                catch (Exception ex)
+                else
                 {
-                    function.WriteLog(DateTime.Now.ToString() + ":" + ex.ToString(), "获取腾讯地图地址线程异常");
+                    Thread.Sleep(60000);
                 }
-                Thread.Sleep(100000);
             }
         }
     }

+ 21 - 9
Util/HaoDa/TestHaoDaService.cs

@@ -314,11 +314,11 @@ namespace MySystem
                         merchant.QueryCount = 2;
                         info.AlipayRemark = "";
                         LogHelper.Instance.WriteLog("start2end", "查询支付宝商户意愿申请状态");
-                        // if (merchant.Latitude == 0)
-                        // {
-                        //     //签约成功调用腾讯地图接口获取地址
-                        //     RedisDbconn.Instance.AddList("GetTencentAddressInfoQueue", "{\"Address\":\"" + merchant.Areas + merchant.Address + "\"}");
-                        // }
+                        if (merchant.Latitude == 0)
+                        {
+                            //签约成功调用腾讯地图接口获取地址
+                            RedisDbconn.Instance.AddList("GetTencentAddressInfoQueue", "{\"MerChantId\":\"" + merchant.Id + "\",\"Address\":\"" + merchant.Areas + merchant.Address + "\"}");
+                        }
                         db.SaveChanges();
                     }
                     // else
@@ -596,15 +596,28 @@ namespace MySystem
         }
 
         //获取商户经纬坐标
-        public void GetTencentAddressInfo(int MerchantId)
+        public void GetTencentAddressInfo(int Id)
         {
             WebCMSEntities db = new WebCMSEntities();
-            MerchantInfo merchant = db.MerchantInfo.FirstOrDefault(m => m.Id == MerchantId);
+            MerchantInfo merchant = db.MerchantInfo.FirstOrDefault(m => m.Id == Id);
             string Address = merchant.Areas + merchant.Address;
             string Key = Library.ConfigurationManager.AppSettings["TencentKey"].ToString();
-            LogHelper.Instance.WriteLog("商户Id\n" + MerchantId + "\n\n", "获取商户经纬坐标");
+            LogHelper.Instance.WriteLog("商户Id\n" + Id + "\n\n", "获取商户经纬坐标");
             LogHelper.Instance.WriteLog("请求参数\n" + Address + "\n\n", "获取商户经纬坐标");
             var info = function.GetWebRequest("https://apis.map.qq.com/ws/geocoder/v1/?address=" + Address + "&key=" + Key);
+            JsonData result = JsonMapper.ToObject(info);
+            //创建成功
+            if (result["status"].ToString() == "0")
+            {
+                var merInfo = db.MerchantInfo.FirstOrDefault(m => m.Id == Id) ?? new MerchantInfo();
+                if (merInfo.Id > 0)
+                {
+                    merInfo.Longitude = decimal.Parse(result["result"]["location"]["lng"].ToString());
+                    merInfo.Latitude = decimal.Parse(result["result"]["location"]["lat"].ToString());
+                    db.SaveChanges();
+                    db.Dispose();
+                }
+            }
             LogHelper.Instance.WriteLog("返回\n" + info + "\n\n", "获取商户经纬坐标");
             db.Dispose();
         }
@@ -615,7 +628,6 @@ namespace MySystem
 
 
 
-
         public void refund()
         {
             Thread th = new Thread(refunddo);

+ 10 - 10
Util/HaoDa/WeChatPayBackService.cs

@@ -85,22 +85,22 @@ namespace MySystem
                         addinfo.Status = 2;
                         merchant.Status = 2;
                         addinfo.WeChatRemark = "";
-                        // if (merchant.Latitude == 0)
-                        // {
-                        //     //签约成功调用腾讯地图接口获取地址
-                        //     RedisDbconn.Instance.AddList("GetTencentAddressInfoQueue", "{\"Address\":\"" + merchant.Areas + merchant.Address + "\"}");
-                        // }
+                        if (merchant.Latitude == 0)
+                        {
+                            //签约成功调用腾讯地图接口获取地址
+                            RedisDbconn.Instance.AddList("GetTencentAddressInfoQueue", "{\"MerChantId\":\"" + merchant.Id + "\",\"Address\":\"" + merchant.Areas + merchant.Address + "\"}");
+                        }
                     }
                     else if (addinfo.QueryCount == 1 && order.PayMode == 1)
                     {
                         addinfo.QueryCount = 2;
                         merchant.QueryCount = 2;
                         addinfo.AlipayRemark = "";
-                        // if (merchant.Latitude == 0)
-                        // {
-                        //     //签约成功调用腾讯地图接口获取地址
-                        //     RedisDbconn.Instance.AddList("GetTencentAddressInfoQueue", "{\"Address\":\"" + merchant.Areas + merchant.Address + "\"}");
-                        // }
+                        if (merchant.Latitude == 0)
+                        {
+                            //签约成功调用腾讯地图接口获取地址
+                            RedisDbconn.Instance.AddList("GetTencentAddressInfoQueue", "{\"MerChantId\":\"" + merchant.Id + "\",\"Address\":\"" + merchant.Areas + merchant.Address + "\"}");
+                        }
                     }
                     order.UserId = merchant.UserId;
                     LogHelper.Instance.WriteLog("创客:" + merchant.UserId, "微信支付回调监控");