瀏覽代碼

修复已绑定码牌

DuGuYang 1 年之前
父節點
當前提交
b07cbdd191
共有 2 個文件被更改,包括 45 次插入42 次删除
  1. 19 19
      AppStart/Redis/MySql/MachineForQrCodeDbconn.cs
  2. 26 23
      Areas/Api/Controllers/Main/MerchantQrCodeController.cs

+ 19 - 19
AppStart/Redis/MySql/MachineForQrCodeDbconn.cs

@@ -24,34 +24,34 @@ namespace MySystem
         #region 获取列表
         public List<MachineForQrCode> GetList(int MerchantId, int pageNum = 1, int pageSize = 10)
         {
-            string key = "MachineForQrCodeList:" + MerchantId;
-            List<MachineForQrCode> list = new List<MachineForQrCode>();
-            if (RedisDbconn.Instance.Exists(key))
-            {
-                list = RedisDbconn.Instance.GetList<MachineForQrCode>(key, pageNum, pageSize);
-                if (list.Count > 0)
-                {
-                    return list;
-                }
-            }
+            // string key = "MachineForQrCodeList:" + MerchantId;
+            // List<MachineForQrCode> list = new List<MachineForQrCode>();
+            // if (RedisDbconn.Instance.Exists(key))
+            // {
+            //     list = RedisDbconn.Instance.GetList<MachineForQrCode>(key, pageNum, pageSize);
+            //     if (list.Count > 0)
+            //     {
+            //         return list;
+            //     }
+            // }
             WebCMSEntities db = new WebCMSEntities();
-            var mysqllist = db.MachineForQrCode.Where(m => m.MerchantId == MerchantId).ToList();
+            List<MachineForQrCode> newlist = new List<MachineForQrCode>();
+            var mysqllist = db.MachineForQrCode.Where(m => m.MerchantId == MerchantId && m.SnNo != m.MachineSnNo).ToList();
             if (mysqllist.Count > 0)
             {
-                List<MachineForQrCode> newlist = new List<MachineForQrCode>();
                 foreach (MachineForQrCode sub in mysqllist)
                 {
                     newlist.Add(sub);
                 }
-                RedisDbconn.Instance.Clear(key);
-                foreach (MachineForQrCode sub in newlist)
-                {
-                    RedisDbconn.Instance.AddRightList(key, sub);
-                }
-                RedisDbconn.Instance.SetExpire(key, Library.function.get_Random(1800, 5400));
+                // RedisDbconn.Instance.Clear(key);
+                // foreach (MachineForQrCode sub in newlist)
+                // {
+                //     RedisDbconn.Instance.AddRightList(key, sub);
+                // }
+                // RedisDbconn.Instance.SetExpire(key, Library.function.get_Random(1800, 5400));
             }
             db.Dispose();
-            return list;
+            return newlist;
         }
         #endregion
     }

+ 26 - 23
Areas/Api/Controllers/Main/MerchantQrCodeController.cs

@@ -125,10 +125,13 @@ namespace MySystem.Areas.Api.Controllers.v1
                 }
             }
             Dictionary<string, object> fields = new Dictionary<string, object>();
-            fields.Add("MerchantId", MerchantId);
-            fields.Add("SnNo", SnNo);
-            fields.Add("QueryCount", 2);
-            MerchantQrCodeService.Add(fields);
+            if (SnNo == MachineNo)
+            {
+                fields.Add("MerchantId", MerchantId);
+                fields.Add("SnNo", SnNo);
+                fields.Add("QueryCount", 2);
+                MerchantQrCodeService.Add(fields);
+            }
 
             string DataId = query.Id + "_0";
             Models.Main1.MachineForQrCode forQrCode = main1db.MachineForQrCode.FirstOrDefault(m => m.DataId == DataId);
@@ -161,28 +164,28 @@ namespace MySystem.Areas.Api.Controllers.v1
             fields.Add("QueryCount", 2);
             PosMachinesTwoService.Edit(fields, pos.Id, false);
 
-            if(SnNo != MachineNo && !string.IsNullOrEmpty(MachineNo))
-            {                
+            if (SnNo != MachineNo && !string.IsNullOrEmpty(MachineNo))
+            {
                 //通过sn获取设备号
                 // string result = AliIotFunction.Instance.IotDeviceQuery(MachineNo);
                 // JsonData jsonObj = JsonMapper.ToObject(result);
                 // if(jsonObj["alipay_commerce_iot_device_baseinfo_query_response"]["code"].ToString() == "10000")
                 // {
-                    // string deviceId = jsonObj["alipay_commerce_iot_device_baseinfo_query_response"]["device_id"].ToString();                    
-                    Models.Main.MerchantAddInfo addinfo = MerchantAddInfoService.Query(MerchantId);
-                    //通过商户smid(好哒认证成功后台提供)绑定支付宝设备
-                    var result = AliIotFunction.Instance.IotBind(addinfo.AliMerchantId, MachineNo);
-                    JsonData jsonObj = JsonMapper.ToObject(result);
-                    if(jsonObj["alipay_merchant_indirect_iot_bind_response"]["code"].ToString() == "10000")
-                    {                        
-                        Models.Main1.PosMachines machine = PosMachinesService.Query(" PosSn='" + MachineNo + "'");
-                        fields = new Dictionary<string, object>();
-                        fields.Add("BindingTime", DateTime.Now);
-                        fields.Add("BindingState", 1);
-                        fields.Add("BindMerchantId", MerchantId);
-                        // fields.Add("DeviceName", deviceId);
-                        PosMachinesService.Edit(fields, machine.Id, false);
-                    }
+                // string deviceId = jsonObj["alipay_commerce_iot_device_baseinfo_query_response"]["device_id"].ToString();                    
+                Models.Main.MerchantAddInfo addinfo = MerchantAddInfoService.Query(MerchantId);
+                //通过商户smid(好哒认证成功后台提供)绑定支付宝设备
+                var result = AliIotFunction.Instance.IotBind(addinfo.AliMerchantId, MachineNo);
+                JsonData jsonObj = JsonMapper.ToObject(result);
+                if (jsonObj["alipay_merchant_indirect_iot_bind_response"]["code"].ToString() == "10000")
+                {
+                    Models.Main1.PosMachines machine = PosMachinesService.Query(" PosSn='" + MachineNo + "'");
+                    fields = new Dictionary<string, object>();
+                    fields.Add("BindingTime", DateTime.Now);
+                    fields.Add("BindingState", 1);
+                    fields.Add("BindMerchantId", MerchantId);
+                    // fields.Add("DeviceName", deviceId);
+                    PosMachinesService.Edit(fields, machine.Id, false);
+                }
                 // }
             }
 
@@ -248,13 +251,13 @@ namespace MySystem.Areas.Api.Controllers.v1
                 Models.Main1.MachineForQrCode edit = main1db.MachineForQrCode.FirstOrDefault(m => m.DataId == sub.DataId);
                 if (edit != null)
                 {
-                    if(edit.SnNo != edit.MachineSnNo)
+                    if (edit.SnNo != edit.MachineSnNo)
                     {
                         Models.Main.MerchantAddInfo addinfo = MerchantAddInfoService.Query(edit.MerchantId);
                         Models.Main1.PosMachines machine = PosMachinesService.Query(" PosSn='" + edit.MachineSnNo + "'");
                         string result = AliIotFunction.Instance.IotUnBind(addinfo.AliMerchantId, machine.PosSn);
                         JsonData jsonObj = JsonMapper.ToObject(result);
-                        if(jsonObj["alipay_merchant_indirect_iot_unbind_response"]["code"].ToString() == "10000")
+                        if (jsonObj["alipay_merchant_indirect_iot_unbind_response"]["code"].ToString() == "10000")
                         {
                             Dictionary<string, object> fields = new Dictionary<string, object>();
                             fields.Add("BuyUserId", 0);