DuGuYang hai 1 ano
pai
achega
6b38b03d92

+ 30 - 10
Areas/Api/Controllers/Main/ConsumerOrdersController.cs

@@ -113,17 +113,20 @@ namespace MySystem.Areas.Api.Controllers.v1
                 openid = jsonObj["openid"].ToString();
             }
             int ConsumerId = 0;
-            var check = ConsumerOpenIdsService.Exist(openid);
+            // var check = ConsumerOpenIdsService.Exist(openid);
+            var check = ConsumersService.Exist(openid);
             if (check == false)
             {
                 var info = ConsumersUtil.AddConsumers(ConsumerId, openid);
                 ConsumerId = int.Parse(info.Data.ToString());
-                ConsumerOpenIdsUtil.AddConsumerOpenIds(ConsumerId, openid);
+                // ConsumerOpenIdsUtil.AddConsumerOpenIds(ConsumerId, openid);
             }
             else
             {
-                var info = ConsumerOpenIdsService.Query(" OpenId='" + openid + "'");
-                ConsumerId = info.ConsumerId;
+                // var info = ConsumerOpenIdsService.Query(" OpenId='" + openid + "'");
+                // ConsumerId = info.ConsumerId;
+                var info = ConsumersService.Query(" WechatOpenId='" + openid + "'");
+                ConsumerId = info.Id;
             }
             Dictionary<string, object> Obj = new Dictionary<string, object>();
             string OrderNo = DateTime.Now.ToString("yyyyMMddHHmmssfff") + function.get_Random(8);
@@ -146,6 +149,10 @@ namespace MySystem.Areas.Api.Controllers.v1
                     Obj.Add("respCode", obj["resultCode"].ToString());
                     Obj.Add("tradeNo", tradeNo);
                 }
+                else if (obj["resultCode"].ToString() == "0" && obj["errorCode"].ToString().Contains("OL-6"))
+                {
+                    return Json(new AppResultJson() { Status = "-1", Info = "错误码:FK011", Data = Obj });
+                }
                 else
                 {
                     Obj.Add("respCode", obj["resultCode"].ToString());
@@ -156,12 +163,25 @@ namespace MySystem.Areas.Api.Controllers.v1
             else if (PayMode == 2)
             {
                 var dic = JsonMapper.ToObject(HaoDaHelper.Instance.WeChatPay(merchantAdd.OutMchtNo, merchantAdd.StoreNo, OrderNo, PayMoney, SpHost + "/api/wechat/hdnotice", openid, function.get_Random(4), AppConfig.WeChat.AppId, "MINI_PROGRAM", ledgerModel));
-                Obj.Add("appId", dic["payInfo"]["appId"].ToString()); //微信小程序appid
-                Obj.Add("timeStamp", dic["payInfo"]["timeStamp"].ToString()); //时间戳
-                Obj.Add("nonceStr", dic["payInfo"]["nonceStr"].ToString()); //随机字符串
-                Obj.Add("package", dic["payInfo"]["wxPackage"].ToString()); //统一支付接口返回的prepayid参数值
-                Obj.Add("paySign", dic["payInfo"]["paySign"].ToString()); //支付签名
-                Obj.Add("ConsumerId", ConsumerId);
+                if (dic["resultCode"].ToString() == "1")
+                {
+                    Obj.Add("appId", dic["payInfo"]["appId"].ToString()); //微信小程序appid
+                    Obj.Add("timeStamp", dic["payInfo"]["timeStamp"].ToString()); //时间戳
+                    Obj.Add("nonceStr", dic["payInfo"]["nonceStr"].ToString()); //随机字符串
+                    Obj.Add("package", dic["payInfo"]["wxPackage"].ToString()); //统一支付接口返回的prepayid参数值
+                    Obj.Add("paySign", dic["payInfo"]["paySign"].ToString()); //支付签名
+                    Obj.Add("ConsumerId", ConsumerId);
+                }
+                else if (dic["resultCode"].ToString() == "0" && dic["errorCode"].ToString().Contains("OL-6"))
+                {
+                    return Json(new AppResultJson() { Status = "-1", Info = "错误码:FK011", Data = Obj });
+                }
+                else
+                {
+                    Obj.Add("respCode", dic["resultCode"].ToString());
+                    Obj.Add("tradeNo", "");
+                    return Json(new AppResultJson() { Status = "-1", Info = dic["errorDesc"].ToString(), Data = Obj });
+                }
             }
             return Json(new AppResultJson() { Status = "1", Info = "", Data = Obj });
         }

+ 3 - 3
Service/Main/ConsumersService.cs

@@ -125,12 +125,12 @@ namespace MySystem.Service.Main
         /// <summary>
         /// 查询是否存在
         /// </summary>
-        /// <param name="Id">主键Id</param>
+        /// <param name="WechatOpenId">WechatOpenId</param>
         /// <returns></returns>
-        public static bool Exist(int Id)
+        public static bool Exist(string WechatOpenId)
         {
             WebCMSEntities db = new WebCMSEntities();
-            bool check = db.Consumers.Any(m => m.Id == Id);
+            bool check = db.Consumers.Any(m => m.WechatOpenId == WechatOpenId);
             db.Dispose();
             return check;
         }