Jelajahi Sumber

调整消费者-支付接口
创客-首页-我的商户-商户详情-码牌,增加绑定时间
调整商户-绑定收款码接口
商户-已绑音箱增加音响码

lcl 1 tahun lalu
induk
melakukan
e869299ebb

+ 15 - 5
Areas/Api/Controllers/Main/ConsumerOrdersController.cs

@@ -63,10 +63,20 @@ namespace MySystem.Areas.Api.Controllers.v1
                 SnNo = SnNo.TrimEnd('\0');
                 SnNo = SnNo.Substring(0, SnNo.Length - 8);
             }
-            var qrcode = MerchantQrCodeService.Query(" SnNo='" + SnNo + "'");
-            var merchant = MerchantInfoService.Query(qrcode.MerchantId);
-            var merchantAdd = MerchantAddInfoService.Query(qrcode.MerchantId);
-            var merchantset = MerchantParamSetService.Query(qrcode.MerchantId);
+            int MerchantId = 0;
+            if(Machine == SnNo)
+            {
+                var qrcode = MerchantQrCodeService.Query(" SnNo='" + SnNo + "'");
+                MerchantId = qrcode.MerchantId;
+            }
+            else
+            {
+                var machine = PosMachinesService.Query(" PosSn='" + SnNo + "'");
+                MerchantId = machine.BindMerchantId;
+            }
+            var merchant = MerchantInfoService.Query(MerchantId);
+            var merchantAdd = MerchantAddInfoService.Query(MerchantId);
+            var merchantset = MerchantParamSetService.Query(MerchantId);
             var ledgerModel = merchantset.IsAll == 1 ? "1" : "5";
             string openid = "";
             if (PayMode == 1)
@@ -104,7 +114,7 @@ namespace MySystem.Areas.Api.Controllers.v1
             {
                 ActFlag = false;
             }
-            var infos = ConsumerOrdersUtil.AddConsumerOrders(qrcode.MerchantId, ConsumerId, merchant.UserId, PayMode, PayMoney, SnNo, OrderNo, ActFlag ? PayMoney * merchantset.DiviPercent / 100 : 0, ActFlag ? 1u : 0u, ActFlag ? PayMoney * merchantset.GetPercent / 100 : PayMoney, Newtonsoft.Json.JsonConvert.SerializeObject(merchantset));
+            var infos = ConsumerOrdersUtil.AddConsumerOrders(MerchantId, ConsumerId, merchant.UserId, PayMode, PayMoney, SnNo, OrderNo, ActFlag ? PayMoney * merchantset.DiviPercent / 100 : 0, ActFlag ? 1u : 0u, ActFlag ? PayMoney * merchantset.GetPercent / 100 : PayMoney, Newtonsoft.Json.JsonConvert.SerializeObject(merchantset));
             ConsumerOrderForNoUtil.AddConsumerOrderForNo(OrderNo, int.Parse(infos.Data.ToString()));
             if (PayMode == 1)
             {

+ 3 - 1
Areas/Api/Controllers/Main/MerchantInfoController.cs

@@ -445,6 +445,7 @@ namespace MySystem.Areas.Api.Controllers.v1
                 Dictionary<string, object> curData = new Dictionary<string, object>();
                 curData.Add("SnNo", item.SnNo); //sn
                 curData.Add("TradeAmount", QrCodeTradeStat.Instance.Amount(item.SnNo).ToString("f2"));
+                curData.Add("BindTime", item.CreateDate == null ? "" : item.CreateDate.Value.ToString("yyyy-MM-dd HH:mm:ss"));
                 dataList.Add(curData);
             }
             return dataList;
@@ -470,7 +471,7 @@ namespace MySystem.Areas.Api.Controllers.v1
             int PageSize = int.Parse(function.CheckInt(data["PageSize"].ToString()));
             int PageNum = int.Parse(function.CheckInt(data["PageNum"].ToString()));
             List<Dictionary<string, object>> dataList = new List<Dictionary<string, object>>();
-            IQueryable<Models.Main1.MachineForQrCode> query = main1db.MachineForQrCode.Where(m => m.MerchantId == MerchantId && m.MachineSnNo == m.SnNo).OrderByDescending(m => m.MerchantId);
+            IQueryable<Models.Main1.MachineForQrCode> query = main1db.MachineForQrCode.Where(m => m.MerchantId == MerchantId && m.MachineSnNo != m.SnNo).OrderByDescending(m => m.MerchantId);
             TotalCount = query.Count();
             if (PageNum == 1)
             {
@@ -486,6 +487,7 @@ namespace MySystem.Areas.Api.Controllers.v1
                 Dictionary<string, object> curData = new Dictionary<string, object>();
                 curData.Add("SnNo", item.SnNo); //sn
                 curData.Add("TradeAmount", QrCodeTradeStat.Instance.Amount(item.SnNo).ToString("f2"));  
+                curData.Add("BindTime", item.BindDate == null ? "" : item.BindDate.Value.ToString("yyyy-MM-dd HH:mm:ss"));
                 dataList.Add(curData);
             }
             return dataList;

+ 47 - 27
Areas/Api/Controllers/Main/MerchantQrCodeController.cs

@@ -101,21 +101,33 @@ namespace MySystem.Areas.Api.Controllers.v1
             Models.Main1.PosMachinesTwo pos = PosMachinesTwoService.Query(" PosSn='" + SnNo + "'");
             Models.Main1.PosMachines machines = PosMachinesService.Query(" PosSn='" + SnNo + "'");
             Models.Main.MerchantInfo merchant = MerchantInfoService.Query(MerchantId);
-            if (pos.Id == 0 && SnNo == MachineNo)
+            int PosId = 0;
+            int Kind = 0;
+            if(SnNo == MachineNo)
             {
-                return new AppResultJson() { Status = "-1", Info = "绑定失败" };
-            }
-            if (machines.Id == 0 && SnNo != MachineNo)
-            {
-                return new AppResultJson() { Status = "-1", Info = "绑定失败" };
-            }
-            if (pos.BuyUserId == 0 && SnNo == MachineNo)
-            {
-                return new AppResultJson() { Status = "-1", Info = "码牌未授权" };
+                if (pos.Id == 0)
+                {
+                    return new AppResultJson() { Status = "-1", Info = "绑定失败" };
+                }
+                if (pos.BuyUserId == 0)
+                {
+                    return new AppResultJson() { Status = "-1", Info = "码牌未授权" };
+                }
+                PosId = pos.Id;
+                Kind = 1;
             }
-            if (machines.BuyUserId == 0 && SnNo != MachineNo)
+            else if(SnNo != MachineNo)
             {
-                return new AppResultJson() { Status = "-1", Info = "音响未授权" };
+                if (machines.Id == 0)
+                {
+                    return new AppResultJson() { Status = "-1", Info = "绑定失败" };
+                }
+                if (machines.BuyUserId == 0)
+                {
+                    return new AppResultJson() { Status = "-1", Info = "音响未授权" };
+                }
+                PosId = machines.Id;
+                Kind = 2;
             }
             if (query.Id > 0)
             {
@@ -133,7 +145,7 @@ namespace MySystem.Areas.Api.Controllers.v1
                 MerchantQrCodeService.Add(fields);
             }
 
-            string DataId = query.Id + "_0";
+            string DataId = PosId + "_" + Kind;
             Models.Main1.MachineForQrCode forQrCode = main1db.MachineForQrCode.FirstOrDefault(m => m.DataId == DataId);
             if (forQrCode == null)
             {
@@ -154,17 +166,19 @@ namespace MySystem.Areas.Api.Controllers.v1
                 forQrCode.MerchantId = MerchantId;
             }
             main1db.SaveChanges();
-            fields = new Dictionary<string, object>();
-            fields.Add("BuyUserId", merchant.UserId);
-            fields.Add("UserId", merchant.UserId);
-            fields.Add("BindingTime", DateTime.Now);
-            fields.Add("BindingState", 1);
-            fields.Add("BindMerchantId", MerchantId);
-            fields.Add("OpId", 2);
-            fields.Add("QueryCount", 2);
-            PosMachinesTwoService.Edit(fields, pos.Id, false);
-
-            if (SnNo != MachineNo && !string.IsNullOrEmpty(MachineNo))
+            if (SnNo == MachineNo)
+            {
+                fields = new Dictionary<string, object>();
+                fields.Add("BuyUserId", merchant.UserId);
+                fields.Add("UserId", merchant.UserId);
+                fields.Add("BindingTime", DateTime.Now);
+                fields.Add("BindingState", 1);
+                fields.Add("BindMerchantId", MerchantId);
+                fields.Add("OpId", 2);
+                fields.Add("QueryCount", 2);
+                PosMachinesTwoService.Edit(fields, pos.Id, false);
+            }
+            else if (SnNo != MachineNo && !string.IsNullOrEmpty(MachineNo))
             {
                 //通过sn获取设备号
                 // string result = AliIotFunction.Instance.IotDeviceQuery(MachineNo);
@@ -178,7 +192,7 @@ namespace MySystem.Areas.Api.Controllers.v1
                 JsonData jsonObj = JsonMapper.ToObject(result);
                 if (jsonObj["alipay_merchant_indirect_iot_bind_response"]["code"].ToString() == "10000")
                 {
-                    Models.Main1.PosMachines machine = PosMachinesService.Query(" PosSn='" + MachineNo + "'");
+                    Models.Main1.PosMachines machine = PosMachinesService.Query(" PosSn='" + SnNo + "'");
                     fields = new Dictionary<string, object>();
                     fields.Add("BindingTime", DateTime.Now);
                     fields.Add("BindingState", 1);
@@ -188,8 +202,14 @@ namespace MySystem.Areas.Api.Controllers.v1
                 }
                 // }
             }
-
-            PublicFunction.BindUserMachineData(main1db, merchant.UserId, 0, 1, SnNo);
+            if (SnNo == MachineNo)
+            {
+                PublicFunction.BindUserMachineData(main1db, merchant.UserId, 0, 1, SnNo);
+            }
+            else
+            {
+                PublicFunction.BindUserMachineData(main1db, merchant.UserId, 1, 1, SnNo);
+            }
 
             return new AppResultJson() { Status = "1", Info = "绑定成功" };
         }

+ 1 - 0
Areas/Api/Controllers/Main/PosMachinesController.cs

@@ -101,6 +101,7 @@ namespace MySystem.Areas.Api.Controllers.v1
                     item.Add("Type", 1);
                     item.Add("BindDate", QrCode.BindDate == null ? "" : QrCode.BindDate.Value.ToString("yyyy-MM-dd"));
                     item.Add("Sn", QrCode.SnNo);
+                    item.Add("MachineNo", QrCode.MachineSnNo);
                     QrCodeList.Add(item);
                 }
                 curData.Add("QrCodeList", QrCodeList); //二维码列表

+ 2 - 2
Controllers/HomeController.cs

@@ -29,9 +29,9 @@ namespace MySystem.Controllers
 
         public string test(string a)
         {
-            // return AliIotFunction.Instance.IotUnBind("2088720723136476", "LKBYM2023090700098");
+            return AliIotFunction.Instance.IotUnBind("2088720723136476", "LKBYM2023090700098");
             // return AliIotFunction.Instance.IotTradeVoice("LKBYM2023090700098", "2088720723136476", DateTime.Now.ToString("yyyyMMddHHmmssfff"), a, "OTHER");
-            return AliIotFunction.Instance.IotTradeVoice("01010VO0cD5XkzVNlEVW61HRVe5Jd2sf9u6h4ndoZyS4Gg1rJAeRYJc", "2088720723136476", DateTime.Now.ToString("yyyyMMddHHmmssfff"), a, "OTHER");
+            // return AliIotFunction.Instance.IotTradeVoice("01010VO0cD5XkzVNlEVW61HRVe5Jd2sf9u6h4ndoZyS4Gg1rJAeRYJc", "2088720723136476", DateTime.Now.ToString("yyyyMMddHHmmssfff"), a, "OTHER");
         }
     }
 }

+ 12 - 3
Util/PublicFunction.cs

@@ -222,9 +222,18 @@ namespace MySystem
 
         public static void BindUserMachineData(Models.Main1.WebCMSEntities db, int UserId, int BrandId, int Count, string PosSn)
         {
-            Models.Main1.PosMachinesTwo pos = db.PosMachinesTwo.FirstOrDefault(m => m.PosSn == PosSn) ?? new Models.Main1.PosMachinesTwo();
-            pos.BindingState = 1;
-            pos.BindingTime = DateTime.Now;
+            if(BrandId == 1)
+            {
+                Models.Main1.PosMachines pos = db.PosMachines.FirstOrDefault(m => m.PosSn == PosSn) ?? new Models.Main1.PosMachines();
+                pos.BindingState = 1;
+                pos.BindingTime = DateTime.Now;
+            }
+            else
+            {
+                Models.Main1.PosMachinesTwo pos = db.PosMachinesTwo.FirstOrDefault(m => m.PosSn == PosSn) ?? new Models.Main1.PosMachinesTwo();
+                pos.BindingState = 1;
+                pos.BindingTime = DateTime.Now;
+            }
             string IdBrand = UserId + "_" + BrandId;
             Models.Main1.UserMachineData MachineData = db.UserMachineData.FirstOrDefault(m => m.IdBrand == IdBrand);
             if (MachineData == null)